Files
gstack/lib/diagram-render/dist/diagram-render.html
T
+8 702a1a9b69 v1.78.0.0 fix: the two-red-lanes wave — AUQ collapse rooted, OSV green from 105, 18 community PRs absorbed, upgrade path can't eat installs (#2752)
* fix(auq): spawned trigger is objective — explicit declaration or STATUS echo, never inference (periodic-lane AUQ collapse)

The v1.76 spawned rule's parenthetical '(or your dispatch prompt marks this
session as spawned)' let the model INFER spawned status from a scripted-looking
prompt in a CI-looking session and silently auto-choose every review-phase
question: reviewCount=0 across the plan-review periodic E2Es (weekly run
33363624506, 9 of 14 failed shards; reproduced locally, zero AUQ fingerprints).
Env and hook paths were excluded by inspection: hermetic children echo
SESSION_KIND: interactive (CLAUDE_CODE_ENTRYPOINT=cli beats CI markers) and the
question-preference hook isn't installed there.

The trigger is now objective: the echoed SESSION_KIND: spawned STATUS line, or
an EXPLICIT dispatch-prompt declaration ("you are a SPAWNED subagent") —
declared, never inferred — with an absence-safe interactive fence: CI env vars,
scripted-looking or pasted prompts, and write-to-this-exact-file instructions
are NOT spawned markers. The prose channel stays because Task-tool subagents
inherit the parent env (no spawned prefix) — their dispatch prompt is the only
signal; #2733's env-prefix channel is untouched.

19 carve skeleton ceilings re-pinned with measured values (+~440 bytes/skill);
ship goldens refreshed for all three hosts; resolver pins extended with the
no-inference regression tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: mktemp failure aborts loudly at all three skill-content sites; failed upgrade swap restores the backup (#2679)

An empty $(mktemp) result silently disabled the redaction pass (redact-doc
resolver, ship pr-body) and made /gstack-upgrade's vendored path destructive:
clone lands at "/gstack", the swap mv fails, and rm -rf then deletes BOTH the
live install's backup and "". All three sites now guard the assignment with a
loud exit; the vendored block additionally restores the backup when the swap
fails (same failure class — backup deletion after a failed mv) and the GitLab
MR path sends the SCANNED file's bytes instead of re-rendering an unscanned
heredoc. bin/gstack-redact rejects an explicit empty --from-file path instead
of silently falling through to stdin.

Receipts: 6 of 8 new regression checks fail on a v1.77.0.0 scratch worktree.

Fixes #2679

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(auq): the interactive fence classifies the session — it never nudges ask-count

Burn-in run 1 of the periodic repro overshot the review band (reviewCount=8 >
CEILING=7) with the fence's 'when unsure, ask' tail: that phrasing is a quota
nudge, not a classification default. The fence now states it only classifies
the session and never changes how many questions the skill asks. Pin added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(ci): OSV suppression config actually loads — explicit global --config + expiring, reasoned ignores

The ignore file was inert from v1.65.0.0: OSV-Scanner only auto-discovers
configs named osv-scanner.toml (no leading dot) and applies them
per-directory, so the root config never covered lib/diagram-render/bun.lock
either way. The workflow now passes --config=.osv-scanner.toml globally.
Every IgnoredVulns entry carries a reason with an upgrade trigger and an
ignoreUntil expiry (~90 days) so suppressions must be re-justified. A wiring
test pins flag ↔ filename ↔ entry hygiene so the file can never silently go
inert again.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(deps): dependency wave — 105 OSV advisories → 3 reasoned suppressions, all lanes verified on the pinned scanner

Root: overrides pin ip-address 10.3.1 (defeats BOTH nested nodes — socks'
range pull and express-rate-limit's exact 10.1.0 pin, which a top-level bump
provably cannot reach) and sharp 0.35.0 (GHSA-f88m, HIGH; transformers still
pins ^0.34 upstream — smoke-tested round-trip); marked ^18.0.11; full in-range
lockfile refresh clears hono, fast-uri, protobufjs, qs, body-parser, nanoid,
uuid, immutable and friends.

lib/diagram-render (via its own build-script contract: exact pins edited,
fresh lock, dist rebuilt): mermaid 11.16.1, @excalidraw/excalidraw 0.18.1,
@excalidraw/mermaid-to-excalidraw 1.1.2 → 2.2.2 — the 1.x line exact-pinned
mermaid 10.9.x and dragged the entire duplicate mermaid-10 advisory chain
(dompurify 3.1.6, nanoid 3.3.3, lodash-es); the bundle shrinks 9.96 → 7.59 MB
with the duplicate mermaid gone. Nested exact pins that survived get scoped
overrides (nanoid 5.1.16, lodash-es 4.18.1).

Verification: clean-worktree frozen-lockfile installs (root + nested) + the
SAME osv-scanner release the action pins (v2.3.8) with the workflow's exact
scan-args → exit 0, 'No issues found'. Smoke tests cover the override
surfaces (sharp round-trip, ip-address lockfile assertion, marked parse);
socks + diagram-drift suites already pin the rest.

Supersedes #2695 (its own lockfile kept socks/ip-address@10.2.0; @anupamme's
report credited for the parallel diagnosis).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(gbrain-sync): stub pgrep so the pin case is hermetic

The only non-dry-run --code-only child hits #1734's PATH-resolved
autopilot probe. A live host daemon is a correct refuse; the test
cannot inject processRunning. Neutralize pgrep in the fixture bindir
instead of adding a production env hatch.

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(gbrain-sync): blank inherited GBRAIN_HOME in the pin child

Lock paths are checked before pgrep. Spreading process.env let a runner
GBRAIN_HOME with a live lock refuse the case before the stub ran.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: point ship design-checklist at installed gstack/review path

The /ship Design Review step skipped the checklist because the generated path omitted the gstack/ install segment. Sync the generated skill doc and pin a regression assertion.

Co-authored-by: Cursor <cursoragent@cursor.com>
Wave-amended: goldens regenerated against the wave tree (author's golden commit 8e7a03ca superseded)

* fix(codex): a CLI that cannot execute no longer reports CODEX_MODE: ready

Follow-up to #2477. The model probe it added does a real round trip, but its
final branch is the `else` of a "model 400" grep, so it swallowed spawn ENOENT,
non-executable binaries and missing vendor payloads alongside genuine network
timeouts. All three are deterministic — retrying never helps — yet they landed
in the fail-open bucket and resolved to `ready`, so every Codex pass was
skipped in silence and the review reported itself complete.

Observed live: @openai/codex was on PATH with an empty
vendor/aarch64-apple-darwin/codex/ directory. gstack said `ready` for two
months while no Codex pass ran.

Three changes:

- `_gstack_codex_model_probe` classifies deterministic install failures (exit
  126/127, or stderr matching ENOENT/ENOEXEC/EACCES/"cannot execute binary
  file") as MODEL_UNUSABLE_INSTALL, exit 2, never cached — a reinstall is
  picked up on the next probe. Exit 124 and genuine transients still fail open,
  which is what #2477 intended.

- The preflight chain captures the probe's code instead of testing it for
  truthiness, so exit 2 routes to a new `broken_install` mode whose remedy is
  `npm install -g @openai/codex` rather than "check your model pin". A missing
  binary and an unusable model are different problems with different fixes.

- `_gstack_codex_version_check` no longer reads a broken CLI as healthy. It ran
  `codex --version 2>/dev/null | head -1`, which captures head's status, not
  codex's — and 2>/dev/null discarded the one diagnostic available. It now
  captures the real exit code and warns on non-zero. Empty-but-successful
  output stays silent, per the existing "empty output → OK" case.

Tests: 6 added to test/codex-hardening.test.ts covering both broken-install
shapes, the exit-2 contract, no caching, the transient still failing open, the
model 400 still classifying as MODEL_UNUSABLE, and the version-check warning.
845 pass / 0 fail across all 8 suites touching the changed files.

Closes #2742

Wave-amended: autoplan hand-maintained preflight chain completed (tmpl+render); install-signature grep gated on failed spawn only; goldens regenerated against the wave tree (author's golden commit 5797d326 superseded); +2 tests

* feat(redact): add Groq, Tavily and Notion API key patterns

* fix(redact): stop reporting .env.local as an internal hostname

`internal.hostname` ends in `.local|.prod|.staging|…`, so `.env.local`
matches on `env.local` and a dotenv FILENAME is reported as a leaked
internal host.

The collision is not exotic. It fires on `--env-file=.env.local` in an npm
script, `.env.staging` in a README, `.env.prod` in a .gitignore — ordinary
lines on branches that leak nothing. Measured on one private repo, three of
four MEDIUM findings in a routine push were this, and the fourth was a
deleted localhost URL. That ratio is the real cost: a scanner that reports
package.json is one people learn to skim, and skimming is how the HIGH
finding it exists for gets missed.

The guard follows the `insideUuid` precedent and stays deliberately narrow —
it exempts only a span beginning `env.` immediately preceded by a dot, i.e.
the literal `.env.<suffix>` form. `api.corp.local`, `build-7.internal` and
`myenv.local` all still report.

The test pins both directions, and the negative controls are the point: an
exemption written as "any span ending .local" would pass the dotenv half
while quietly gutting the pattern for every real host. Verified red/green —
with the validate hook removed, exactly the 6 dotenv cases fail and all 9
real-host controls still pass.

* fix: don't flag git SSH remotes as pii.email

`pii.email` matches the `git@github.com` inside
`git@github.com:acme/widgets.git`. That is a transport user@host, not a
person's address, so any diff touching a clone URL -- a deploy config's
repo URL, a submodule entry, a README clone line -- draws a spurious
MEDIUM from the pre-push hook.

Suppressed by URL shape rather than by adding `git` to
EMAIL_ALLOW_LOCALPARTS. A bare `git@` allowlist entry would also
suppress a genuine address at a domain that merely begins with "git"
(git@gitmail.com), converting a false positive into a false negative --
the worse failure for a guardrail. Two shapes are accepted:

  - `<user>@<host>:<path>.git` for ANY host, covering self-hosted
    remotes, plus the equivalent ssh:// URL form.
  - `git@<known-host>` for github.com, gitlab.com, bitbucket.org and
    ssh.dev.azure.com, whose bare form appears in docs and in
    `ssh -T git@github.com` connectivity checks with no path at all.
    Matched exactly, so gitmail.com is unaffected.

emailAllowed now receives the normalized text and the span offset so it
can see that surrounding shape; it had only ever been passed the matched
span.

Tests pin both directions: the SSH remotes go quiet, and a real address
still fires -- including at a git host (alex@github.com) and at a
git-prefixed domain (git@gitmail.com).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(redact): install-prepush-hook refreshes a stale managed hook

The marker check returned before the only writer, so once a repo had the
hook, no later change to the wrapper could ever reach it. The `printf x`
fail-open fix (v1.64.0.0) has still not landed in any repo that received
the hook before it, and a wrapper naming a gstack that has since moved
stays pointed at a dead path for the same reason.

Compare the body against what this version generates: rewrite on drift,
stay a no-op when identical. The chained pre-push.local is untouched on
both paths.

The existing trailing-newline regression test cannot catch this — it
installs into a repo with no prior managed hook, the one case that was
never broken.

* fix(redact): install-prepush-hook refreshes a stale managed hook

The marker check returned before the only writer, so once a repo had the
hook, no later change to the wrapper could ever reach it. The `printf x`
fail-open fix (v1.64.0.0) has still not landed in any repo that received
the hook before it, and a wrapper naming a gstack that has since moved
stays pointed at a dead path for the same reason.

Compare the body against what this version generates: rewrite on drift,
stay a no-op when identical. The chained pre-push.local is untouched on
both paths.

The existing trailing-newline regression test cannot catch this — it
installs into a repo with no prior managed hook, the one case that was
never broken.

Wave-amended: spawnSync timeouts added to the new tests (v1.77 sync-spawn tripwire)

* refactor(redact): name the SSH-remote path lookahead constant

Wave polish on the #2734 absorption: the 512-char scp-path lookahead window
follows the UUID_CONTEXT_CHARS named-constant convention instead of a magic
number at the slice site.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(config): reject malformed cross_project_learnings at set

A typo was stored with exit 0, so the feature stayed off and the first-run prompt never returned. Reject like codex_reviews; do not coerce.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(gbrain-detect): classify gbrain >= 0.43 held-lock refusal as engine-locked

gbrain 0.43+ refuses a held PGLite lock with exit 1 and the message
"GBrain's local database is already open through `gbrain serve` (MCP,
PID N)" instead of the pre-0.43 exit 124 + "connect timed out" that
the #2194 branch matches. The message matches no known pattern, so the
classifier falls through to the defensive broken-config default — and
Step 1.5 of /setup-gbrain and /sync-gbrain then tell the user to move a
perfectly healthy config.json aside and re-init the engine.

Reproduced live on gbrain 0.43.0.0, 0.44.0.0 and 0.46.30.0: with a
serve holding the lock, gstack-gbrain-detect reports
gbrain_local_status=broken-config; after stopping the serve it reports
ok with the same untouched config.

Match on the stable substring "already open through", mirroring the
existing #2194 branch semantics: engine-locked for pglite, broken-db
otherwise. Adds a fake-gbrain behavior for the 0.43+ refusal plus two
cases (pglite -> engine-locked, postgres -> broken-db).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(memory-helpers): a slow gitleaks probe no longer disables secret scanning

`gitleaksAvailable()` cached every failure the same way, so a 2s timeout on
`gitleaks version` was recorded as "the binary is absent" for the rest of the
process. One busy moment and the whole ingest ran unscanned behind a single
stderr line — a fail-open outcome decided by machine load rather than by
anything about the machine's setup. The caller only acts on
`scanner === "gitleaks"`, so every later file was written with no scan and no
second warning.

The probe now classifies three outcomes. ENOENT (and a present-but-unusable
binary: bad exit, EACCES) stays cached — that is a fact about the box, and
re-probing it per file would be waste. A timeout gets one retry on a 10s
budget, and if that also expires nothing is cached: the file is reported
unscanned, the warning says so in those words, and the next file probes again.

Observed under the 7-way sharded free-test runner, where spawning a shell
script inside a temp bin dir took longer than the 2s budget.

Tests: the retry path, the no-cache-on-timeout path (the second call must
re-probe), and the cached-absent path. The fake gitleaks hangs for 30s rather
than racing a short sleep against a short budget, and the budgets are chosen so
load cannot flip an outcome: 30s where the retry MUST answer, 800ms where the
probe MUST expire. An earlier draft used 1s/5s and flaked under the same shard
runner this commit is about. The existing probe test pinned `detect` to
calls[1], which a retry breaks; it now asserts the order instead of the index.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0111Mq3JGwZDcstn5wYcbhSw

* fix(make-pdf): pdftotext version and flavor probe returns unknown on poppler

describeBinary reports version="unknown" flavor="unknown" for every poppler
install, so logDiagnostics prints nothing useful on the most common
implementation. Two independent causes:

1. poppler writes the -v banner to stderr and exits 0. execFileSync returns
   stdout (empty) and does not throw on a zero exit, so the stderr fallback in
   the catch block is unreachable. The in-code comment already notes poppler
   exits 0, but only the throwing path reads stderr.

2. flavor is matched against the version line alone. poppler prints
   "pdftotext version 26.06.0" on line 1 and names itself on line 2,
   "Copyright ... The Poppler Developers", so even a working stderr read
   yields "unknown".

Switch the probe to spawnSync, which returns both streams regardless of exit
status, match the version banner rather than assuming line 0, and derive the
flavor from the full output.

Measured on poppler 26.06.0 (Homebrew, macOS), same machine and binary:

  before: { version: "unknown",                  flavor: "unknown" }
  after:  { version: "pdftotext version 26.06.0", flavor: "poppler" }

xpdf is unaffected: it exits non-zero and names itself on line 1, so it
resolved correctly before and still does.

Tests use shell shims reproducing each vendor's banner, stream and exit status,
since a real pdftotext cannot be assumed present in CI. Two of the four fail on
this commit's parent; the xpdf and no-banner cases pass there and are included
as regression guards rather than red-proofs.

* fix(open-gstack-browser): pre-flight cleanup never killed the stale daemon

Step 0 read the old pid with `grep -o '"pid":[0-9]*'` and Step 2 read the port
the same way. Neither can match. Every writer of that file in
browse/src/server.ts serializes with `JSON.stringify(state, null, 2)`, so the
bytes on disk are `"pid": 12060` — colon, space, digits.

The failure was silent in the worst way. `_OLD_PID` came back empty, the kill
never ran, browse.json was deleted anyway, and the next `connect` died with
"existing daemon has different config (proxy/headed mismatch)" — an error
pointing at proxy/headed flags rather than at the cleanup that no-opped. Caught
against a daemon left over from a reboot: the operator was told to check flags
they had never passed.

Both patterns now accept optional whitespace. The new tripwire does not match
strings — it RUNS the snippets the skill hands the agent, against a state file
written exactly the way the server writes one, and asserts pid and port come
back out. A third case pins the coupling to `JSON.stringify(state, null, 2)`,
so a switch to compact JSON surfaces as a failing expectation rather than as
silence.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0111Mq3JGwZDcstn5wYcbhSw

* test(make-pdf): clean up the pdftotext shim tmpdir after the suite

Wave polish on the #2690 absorption: the describe-scope mkdtemp left one
directory per run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(browse): honour CHROMIUM_PROFILE in cli profile-lock cleanup

cli.ts resolved the Chromium profile dir with a hardcoded
$HOME/.gstack/chromium-profile, while browser-manager launches the profile
returned by config.resolveChromiumProfile(), which honours CHROMIUM_PROFILE
and GSTACK_HOME.

killOrphanChromium() and cleanChromiumProfileLocks() are called with no
argument, so whenever CHROMIUM_PROFILE was set they cleaned locks for, and
killed Chromium on, the DEFAULT profile rather than the one being launched.
Starting a browser with a custom profile therefore evicted an unrelated
browser running on the default profile.

Delegating to resolveChromiumProfile() also picks up GSTACK_HOME and
os.homedir(), so the cleanup path now matches the launch path on Windows
where HOME is frequently unset.

* fix(auq): the interactive fence is quota-silent — it defers to the skill's own decision points

Burn-in calibration: run 1 (fence tail 'when unsure, ask') overshot the
plan-ceo review band at reviewCount=8; run 2 (tail mentioning 'HOW MANY
questions') undershot at 1. Any ask-count language in the fence anchors the
model in one direction or the other. The tail now says only: classify as
interactive, then follow the skill's own decision-point instructions exactly
as written. Pins updated to forbid count language in either direction.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(browse): pin cli.ts profile-dir wiring to the canonical resolver

Wave-added coverage for the #2732 absorption: a 6-line fix with zero tests is
how the hardcoded path shipped in the first place. resolveChromiumProfile's
env behavior is already pinned in config.test.ts; this pins cli.ts's
delegation and forbids the hardcoded path from returning.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(browse): preserve return value for async IIFE expressions in js/eval (#2727)

Wave-amended: test moved to browse/test/ (browse unit-test convention); trailing-semicolon normalization kept — it is load-bearing for the expression wrapper

* fix: bin writers drop data on Windows paths with an apostrophe

Two independent Windows git-bash bugs in the bin writers, both silent
because callers invoke these scripts with 2>/dev/null and do not check
the exit status — a hard failure was indistinguishable from success.

Bug 1 — apostrophe in the checkout path breaks the bun -e program.
gstack-learnings-log, gstack-question-log and gstack-telemetry-log build
a bun -e program as a double-quoted shell string and interpolate
SCRIPT_DIR into a single-quoted JS import specifier. A path such as
C:/Users/Someone's PC/... closes the JS string literal early and Bun
fails to parse ("Expected ; but found s"). Every learning write and every
plan-tune question event no-oped; telemetry error redaction fell to its
fail-closed null path. The #1950 cygpath -m guard did not cover this —
cygpath normalises the drive form but does not remove the apostrophe.

Fixed by not interpolating the path at all: cd into the module root and
use a relative import specifier, which is immune to apostrophes, spaces,
backslashes and MSYS paths alike. The one remaining interpolated data
path in gstack-developer-profile (readFileSync of PROFILE_FILE) is passed
via the environment instead, matching do_log_session in the same file.

Bug 2 — gstack-developer-profile --derive fails on an MSYS-form
GSTACK_HOME. GSTACK_HOME defaults to $HOME/.gstack, which under git-bash
is /c/Users/..., and Bun on Windows cannot open that form (ENOENT). This
script carried no cygpath guard at all. Fixed by normalising GSTACK_HOME
once, before PROFILE_FILE / LEGACY_FILE / the events path are derived
from it, so all three pick up the normalised value.

Adds test/hostile-path-writers.test.ts, which runs the bins from a
directory whose name contains an apostrophe and asserts that rows are
ACTUALLY WRITTEN (not merely that the exit code is 0 — exit-code-only
checks are what masked bug 1). The apostrophe repro is OS-independent:
SCRIPT_DIR derives from the script's own location, so a copied checkout
under a hostile directory name reproduces bug 1 on Linux/macOS CI too.

Wave-amended: all four writers unified on the env-var import pattern the PR already used in gstack-developer-profile (no CWD-dependent module resolution)
Wave-amended: all four writers unified on the env-var import pattern the PR already used in gstack-developer-profile (apostrophe-safe without CWD-dependent module resolution); import-shape pin updated

* fix(memory-ingest): stop two silent transcript-ingest failures

Two independent bugs made transcript pages silently fail to reach the brain.

1. Frontmatter fence gluing. buildTranscriptPage() built the closing "---"
   with no trailing newline, and session bodies always start with "## ", so
   the rendered page ended "...---## User". gbrain's frontmatter matcher
   (/^---\r?\n([\s\S]*?)\r?\n---(\r?\n|$)/ in src/core/markdown.ts) requires
   the closing "---" to end its own line, so it skipped the glued fence,
   latched onto the next standalone "---" in the transcript body, parsed the
   prose between as YAML, and dropped the page with "Invalid YAML frontmatter".
   Transcripts with no later "---" fell back to body-only, silently losing
   their frontmatter. Fix: emit the fence on its own line with a blank
   separator, matching renderPageBody()'s artifact branch.

2. Slug collisions. Two source files can map to one path-derived slug (a
   session resumed under the same id on one day, or two ids sharing a 12-char
   prefix). writeStaged() names each file "${slug}.md", so the second
   overwrote the first; gbrain collected N-1 of N staged files and the
   reconciliation guard failed the whole batch every run. Fix:
   disambiguateSlugs() keeps the first occurrence and gives each later collider
   a stable "-<sha8(source_path)>" suffix (deterministic, and slug + page_slug
   move together so writeStaged, the failure mapping, and state recording agree).

Exports buildTranscriptPage, renderPageBody, and disambiguateSlugs for tests.
Adds regression tests for both failures.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Wave-amended: contributor's local-workaround docblock note removed; issue refs retargeted #2653 (closed by its author) -> #2724 (the live 887-staged-to-0-ingested report)

* fix: keep feature markers in GStack state

* fix: align feature marker seeding with GStack state

Wave-amended: seeding relocation re-applied to the composite action (v1.77 moved CI seeding out of the inline workflow steps the original commit edited); wiring tripwire re-pointed accordingly; stale marker comment updated

* chore(upgrade): migrate feature-discovery markers to GSTACK_HOME

Follow-through on the #2748 absorption: existing installs answered the
continuous-checkpoint and model-overlay prompts with markers beside the
install; v1.78 reads them from GSTACK_HOME. Copy them once so nobody gets
re-prompted. Idempotent, non-fatal.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(land-and-deploy): check fork branch in head repo

Wave-amended: gh leaves .headRepository.nameWithOwner empty (verified live against gh 2.83) — owner/name now composed from headRepositoryOwner.login + headRepository.name so reconciliation is not a permanent no-op; fork branches get report-not-delete (maintainers lack fork push rights); pins updated

* test: spawn timeouts on the #2748 marker tests (v1.77 sync-spawn tripwire)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test: spawn timeouts on absorbed-PR tests (v1.77 sync-spawn tripwire)

The absorbed community tests (#2748, #2676, #2714, #2720) were authored
before the v1.77 tripwire required a timeout on every sync spawn in the test
trees.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(gbrain): a slow --version probe classifies as timeout, never no-cli (#2716)

resolveGbrainBin's bare catch collapsed 'gbrain missing' and 'gbrain present
but the 2s --version budget expired' into the same null — freshClassify then
said no-cli, which the --is-ok whitelist from #1964 does NOT forgive, so a
bun-shim install on a loaded POSIX box silently lost every brain-aware block.
The probe now returns a discriminated result (cached per-process, same
lifetime the old null had) using the same killed/SIGTERM/ETIMEDOUT
discrimination the sources-list probe below already uses; timeout routes to
the forgiven 'timeout' status. GSTACK_GBRAIN_VERSION_PROBE_TIMEOUT_MS test
override added (same precedent as the sources-probe override).

Receipt: the slow-but-present sibling test fails on a v1.77.0.0 scratch
worktree (classifies no-cli there).

Fixes #2716

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(codex): close the consult-mode fence, report turn.failed as a failure, capture exit codes portably (#2671, #2669)

Three defects in the codex skill sections:

- The resumed-session bash block never closed its fence; every fenced region
  after it inverted (prose rendered as code, the synthesis-recommendation tail
  rendered inert). A repo-wide fence-pairing test now scans every generated
  SKILL.md and sections/*.md with a CommonMark-faithful state machine (an
  info-string opener inside a fence is literal content — nested template
  examples in document-generate/make-pdf stay legal; a file ending inside a
  fence fails).

- The JSONL parsers had no turn.failed branch: a turn that STATED its failure
  was reported as 'possible mid-stream disconnect'. Challenge and consult now
  print the event's error and run a three-way completeness check (failed-with-
  reason / silent-disconnect / ok); consult previously had no completeness
  check at all.

- ${PIPESTATUS[0]} is empty under zsh, so hang detection never fired and
  every clean run printed a spurious '[codex exit ]'. All three capture sites
  use ${PIPESTATUS[0]:-${pipestatus[1]}}, pinned statically and EXECUTED
  under real bash and zsh in the new test. Expect a step-change in
  codex_timeout telemetry — the counter starts firing for zsh users.

Receipt: the portability pin fails on a v1.77.0.0 scratch worktree; the fence
fix is structural (17 → 18 fence lines, tail no longer inside a block).

Fixes #2671
Fixes #2669

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: outside-voice fallback is labeled honestly — same model family, not cross-model (#2735)

When Codex is unavailable, the plan-review outside voice falls back to a
Claude subagent and the copy sold it as 'cross-model coverage' with 'genuine
independence'. Fresh context is real; cross-model validation is not — a user
weighing 'both reviewers agree' deserves to know both reviewers share a model
family. Six canonical strings fixed at the resolver source (constants.ts
not_installed/not_authed, review.ts outside-voice bullet + three dispatch
paragraphs); ~10 generated docs and the ship goldens regenerated. Printing
the resolved fallback model at dispatch time is descoped as a functional
change (follow-up in the wave dispositions).

Fixes #2735

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(relink): skill_prefix patches the gbrain render too — the file the host actually serves (#2738)

gstack-relink linked SKILL.md from RENDER_DIR when a gbrain render was active
but ran gstack-patch-names only on INSTALL_DIR, so the served frontmatter kept
the unprefixed name and skill_prefix=true silently no-oped for every
brain-aware skill. The render tree (user-owned, untracked) is now patched too;
gstack-patch-names is idempotent so repeat relinks never double-prefix. The
gen-skill-docs note that pointed users at relink now describes what relink
actually covers.

Receipt: the new test fails on a v1.77.0.0 scratch worktree (served render
keeps 'name: qa').

Fixes #2738

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(render): section refs point at the FINAL render dir, never the tmp swap dir (#2692)

gen-skill-docs bakes its --out-dir into rendered CONTENT (rewriteSectionBase),
and both swap-in callers (setup, gstack-config gbrain-refresh) render into
claude.tmp.<pid> before the #2569 atomic rename — so every rendered skill
carried ~9 dead section Read paths that pointed at a directory the swap had
just deleted. New --link-root flag names the final serving dir (defaults to
--out-dir for direct-render callers: bin/dev-setup, dev-skill.ts, mkdtemp
tests — full caller audit in the wave notes); the rewrite now uses a
replacement callback so a $-bearing configured path can't expand as $& in a
replacement string. The swap logic itself stays byte-identical. Tests pin the
generator contract (tmp out-dir files reference the final dir, $-bearing
path included) and both callers' wiring.

Fixes #2692

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat(setup): persistent timeline Stop hook opt-out — timeline_stop_hook config gate (#2677)

--no-team is a one-shot teardown, so every later bare ./setup (including the
ones /gstack-upgrade runs) re-registered the timeline Stop hook with no way
to say 'never'. New gate mirrors the plan_tune_hooks pattern: flag
(--timeline-stop-hook/--no-timeline-stop-hook) > env
(GSTACK_TIMELINE_STOP_HOOK) > saved config (timeline_stop_hook) > default
yes. An explicit flag persists to config so the decision survives upgrades;
an explicit 'no' also removes a live registration (reconciliation), so the
opt-out works against installs registered by an older setup. --no-team
semantics unchanged (NO_TEAM_MODE is never initialized from config). Full
gstack-config surface: DEFAULTS entry, header docs, list/defaults
enumeration, warn-and-default validation.

Fixes #2677

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(browse): tame the macOS headless GPU spin + reap the lock-less headless Chromium on stop (#2709)

Two defects in one report. On macOS 26 / Apple Silicon the headless-shell GPU
process pegs ~800% CPU indefinitely after real page work and --disable-gpu
alone is not enough; the reporter validated that adding
--disable-software-rasterizer/--disable-gpu-compositing/--disable-gpu-watchdog
drops it to 0.0% with screenshots still working. The flag block is a pure
platform-parameterized function (unit-tested on any host), darwin-gated,
headless-only (buildGStackLaunchArgs feeds the headed/GBrowser paths where
GPU-off is wrong), with a GSTACK_DISABLE_GPU=off escape.

Separately: the headless launch has no userDataDir, so it never writes the
SingletonLock that killOrphanChromium walks — 'browse stop' reported success
while the orphan kept spinning. The daemon now records the launched child's
pid + wall-clock start time in the state file (the xvfbPid/xvfbStartTime
contract), and stop paths reap a survivor only after verifying BOTH the
recorded start time and a Chromium-looking cmdline — a recycled PID, even one
running a different legitimate Chromium, is never killed (identity tests
include the coreutils-shebang trap that defeats argv0 renames).

macOS efficacy is per the reporter's validation; live re-verification on
Apple silicon is tracked in TODOS.md.

Refs #2709

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(wtree): a failed touch falls through to the HEAD seed instead of reopening the racy window (#2687)

The v1.74 racy-git fix carries the real index's mtime onto the temp copy —
but its 'touch -r … || true' meant a FAILED touch silently kept the copy's
fresh stamp, marking every entry non-racy and reopening the exact same-size-
rewrite hole. A failed touch now discards the copy and seeds from read-tree
HEAD (slower; every entry re-hashed; fingerprint stays honest).

Verification for #2687 itself: the reporter's same-size-rewrite repro run 20
iterations against this tree — 0 misses (the underlying race was fixed by
v1.74's b1485d88 with its own regression test; this wave verifies and closes,
it does not claim that fix). Receipt: the stubbed-touch test fails on a
v1.77.0.0 scratch worktree.

Fixes #2687

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test: rewrite gate pin follows the LINK_ROOT rename (#2692)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: v1.78 fix-wave deferrals filed in TODOS.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* v1.78.0.0 release metadata: VERSION, package.json translation, CHANGELOG wave entry, agents digest

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(osv): ignore ledger names its filed tracking issues (#2753, #2754)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(redact): large reports survive the pipe — exitCode instead of process.exit; inert test payload

The wave's PR quality gate failed closed: gate-secret-scan.mjs pipes the
diff's added lines into gstack-redact and parses the JSON report, but
process.exit() discards stdout still buffered in the pipe — this wave's
646-finding report (202 KB) is the first big enough to arrive truncated
(~145 KB) at node's collector, so JSON.parse failed and the gate read
'no report' as HIGH. The report and auto-redact body paths now set
process.exitCode and let the runtime drain stdout; exit-code contract
unchanged (verified 0/2/3 end-to-end). Also: the C1 test's stdin payload no
longer uses a provider-prefix credential shape (the gate correctly flagged
it; the content was never read on the error path under test).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(memory-ingest): fence regression test survives Windows tmpdirs

Wave polish on the #2699 absorption: the hand-built JSONL interpolated the
raw tmpdir into a JSON string — on Windows (D:\a\...) that's an invalid
escape, the user line was silently dropped, and the body started at
'## Assistant' (Windows Free Tests red). JSON.stringify the path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(auq): the interactive fence ends at classification — all behavioral tails removed

The pinned-container periodic lane proved the collapse dead (reviewCount 0 →
7/8/5 across the AUQ suite) but flagged the fence's remaining behavioral
clause: 'never adds, removes, or batches the skill's decision points' broke
the paired-finding control (5 > 4 — it suppressed the batching that fixture
expects), and the band overshot its ceiling (8 > 7). Every behavioral tail
tried so far skewed counts somewhere ('when unsure, ask' → 8; 'HOW MANY
questions' → 1; 'never batches' → paired control red). The fence now ends at
'When unsure, default to interactive.' — classification only, zero behavior
words. Pins forbid every tried-and-failed phrasing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(auq): the spawned trigger is the STATUS echo, nothing else — prose channel removed from the eager path

Two pinned-container periodic rounds showed that ANY dispatch-prompt
declaration channel in rule 1 keeps question counts unstable (round 1, fence
with behavioral clause: paired control 5>4, band 8>7; round 2, bare fence:
intermittent 0s return, paired control breaks both directions). The stable
regime CI was calibrated against had no spawned prose in the eager path at
all. Rule 1 now keys on exactly one machine-verifiable thing: the preamble's
own SESSION_KIND: spawned STATUS echo. No text from a dispatch prompt, file,
or page can flip a session to auto-choose (the strongest anti-injection
form). Subagents that missed the env marker are caught at FAILURE time by
the AUQ hooks' spawned escape (explicit declaration, never inference) — a
channel that never enters an interactive session's eager reasoning.

This reverses the wave's earlier explicit-declaration middle ground (and
adopts the outside voice's twice-made echo-only argument) on the new
evidence. #2733 protected: skill-e2e-docsync-spawned (gate) passes 1/1 on
this prose — the ship Step-18 dispatch forces the env prefix, so the echo
fires there.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: periodic-lane stabilization residual filed (#2756)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(browse): chromium reap works off-Linux and on every stale-state path

readPidCmdline fell back to '' on darwin (no /proc), so the identity gate
never matched and reapRecordedChromium was inert on the platform #2709's
GPU-spin reap actually targets — it now falls back to ps -o command=.
readPidStartTime no longer throws when ps is missing (Windows): a launch
must never die to a reap-bookkeeping probe. Three stale-state cleanup
paths (dead-daemon stop, startServer stale cleanup, headed-connect) now
reap the recorded chromium BEFORE unlinking the state file instead of
orphaning it, and the stop-path wait polls (100ms steps, 1s cap) instead
of sleeping a fixed 500ms. Wiring pinned: server-state pid/start-time
write, all five cli.ts reap call sites, headless-only GPU-flag push.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(browse): chained IIFE + second statement no longer misclassified as one expression

isSingleParenOrIifeExpression accepted any tail after the initial group's
close as long as trailing chars looked chain-ish, so
`(async()=>{await 1})().then(x=>x); console.log('done')` classified as a
single expression and the expression wrapper emitted a SyntaxError. The
tail is now consumed as a strict member/call/index/optional-chain walk to
END of input via a shared string/escape-aware findBalancedClose scanner;
anything else (';', operators) demotes to the block wrapper. Negative +
positive tests added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(browse): move headlessGpuArgs below the import block

The #2709 helper landed between two import statements; imports now stay
contiguous. No behavior change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(codex-probe): timed-out probe (124) keeps its fail-open contract

Exit 124 reached the string-signature branch before the timeout fail-open,
so a slow probe whose partial output happened to quote 'permission denied'
classified as MODEL_UNUSABLE_INSTALL — a deterministic-broken verdict from
a transient condition. 124 is now excluded from the signature branch, and
the detect/display greps share one hoisted _BROKEN_SIG regex (they had
already drifted: display dropped 'not executable').

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(codex): JSONL parser initializes its state vars in both modes

challenge-mode initialized turn_completed_count but tested turn_failed via
'in dir()'; consult-mode initialized neither and rebuilt the counter with
a dir() conditional per event. Both parsers now init turn_completed_count
and turn_failed up front and use plain checks — same semantics, no
module-globals introspection.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(ship): PR/MR create aborts on a missing or empty scanned body file

Both the gh and glab send blocks now guard [ -s "$PR_BODY_FILE" ] and the
prose restates that the variable comes from the scan block — bash blocks
run in separate shells, and an unset/empty path would previously send an
empty body (gh) or cat's error output (glab) instead of the scanned bytes.
Codex/factory ship goldens regenerated.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(upgrade): abort when a stale .bak already exists at the install path

A leftover $INSTALL_DIR.bak from a crashed upgrade would make the mv nest
the live install inside it, and the failure-restore arm would 'restore'
the stale backup — possibly deleting the only good copy. The upgrade now
refuses to start and tells the user to inspect/salvage the backup.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(redact-doc): mktemp-failure message names what it refuses to send

'refusing to send unscanned <noun>' read as if 'unscanned' modified a
missing word for sink nouns like 'the spec body'; now 'refusing to send
<noun> unscanned'. Generated spec section refreshed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(setup): typo'd timeline-stop-hook value warns instead of persisting

--timeline-stop-hook=noo silently normalized to yes AND wrote yes to
config — a persisted decision the user never made. Unrecognized values now
warn (naming the source), apply the default for this run only, and skip
the config write. The opt-out log line names the actual decision source
(flag/env/config) and no longer claims a removal that may not have
happened.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(memory-helpers): slow-probe warning no longer suppresses the absent warning

One shared _gitleaksWarned flag served two different messages: a 'machine
under load, retrying next file' warning early in a run permanently
silenced the later 'gitleaks not in PATH; secret scanning disabled'
warning — the user never learned scanning was off for good. Split into
per-message flags.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(lib): shared isExecTimeout helper; export GbrainBinProbe

The killed/SIGTERM/ETIMEDOUT discrimination was hand-rolled at three sites
(gbrain version probe, engine classifier, gitleaks probe) and free to
drift; it now lives once in lib/gbrain-exec.ts. GbrainBinProbe is exported
(it's the return type of exported probeGbrainBin) and the cache carries a
rationale comment: caching a timeout for process lifetime is deliberate —
the memo dedupes the ~3 probes of one short-lived preamble process.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(gen-skill-docs): extract parsePathFlag; fix rewriteSectionBase docstring

--out-dir and --link-root shared near-identical inline parsing; one helper
now owns it. The rewriteSectionBase docstring said 'no-op when --out-dir
is unset' but the gate is the link root (which --link-root can set
independently) — it now describes the real behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(memory-ingest): reunite preparePages with its docblock; pin disambiguateSlugs wiring

The #2724 disambiguateSlugs block was inserted between preparePages'
docblock and the function, orphaning the secret-scanning policy doc onto
the wrong symbol. Reordered. A call-site pin now asserts the prepare→stage
flow actually invokes disambiguateSlugs, so a refactor can't drop the call
while every unit test stays green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(hostile-path): per-run mkdtemp root; telemetry-log redaction coverage

The suite used a FIXED tmpdir name, so concurrent runs (sharded runner,
sibling worktrees) tore down each other's trees mid-flight — now a
per-run mkdtemp root with the apostrophe dir inside. gstack-telemetry-log
was the one bin named in the suite header with no test: it now must append
a real row under the hostile path with the credential span redacted
(<REDACTED-github.pat>) and the rest of the message preserved.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(config): signal-killed spawns map to -1, not exit 0

Both cfg() helpers defaulted a null spawn status to 0 — a child killed by
signal would read as success and mask real failures.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(upgrade): v1.78.0.0 feature-marker migration suite

The only migration without a dedicated test. Covers copy-when-absent
(script must mkdir GSTACK_HOME itself), destination-wins (never
overwrites), clean no-op, and two-run idempotence — asserting file
existence and contents, not just exit codes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(auq): pin the explicit-declaration-only spawned escape sentence

SPAWNED_ESCAPE_SENTENCE's tightened wording had no pin: positive pins on
the explicit-declaration clause, negative pins on the retired v1.76 loose
parentheticals ('e.g. your dispatch prompt says', 'marks this session as
spawned'), and a drift guard that both hook directives embed the constant
verbatim.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(gbrain): invalid version-probe timeout env falls back to the default

GSTACK_GBRAIN_VERSION_PROBE_TIMEOUT_MS set to 'abc', '-1', or '0' must use
the default budget — exercised behaviorally through probeGbrainBin with a
fresh PATH per case (the memo keys on PATH).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(codex): execute the JSONL parser under real python3; fence scanner tracks opener length

The parser's turn.completed/turn.failed/disconnect semantics were pinned
by shape only — now the python block is extracted from both RENDERED
sections and run against synthetic event streams (tokens line, FAILED +
not-a-disconnect, silence -> disconnect warning, SESSION_ID echo), with
byte-equivalence safety pins on the bash double-quote extraction. The
fence scanner also gains CommonMark opener-length tracking: a 4-backtick
fence wrapping a 3-backtick example no longer false-positives, with a
self-test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(redact): large report survives a slow piped consumer

Pins the >145KB truncation regression (process.exit before the pipe
drained): 900 MEDIUM findings -> 259KB JSON report through a sleep-first
POSIX consumer that holds the 64KiB kernel buffer full at child exit;
asserts complete parseable JSON with matching counts and exit 2, plus an
--auto-redact mirror (700 redactions, final sentinel byte arrives).
Harness proven red against a copy of the bin with process.exit restored.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(dev-setup): update LINK_ROOT source pin to the parsePathFlag shape

Companion to the gen-skill-docs parsePathFlag extraction: the pin still
asserts the same invariant (LINK_ROOT defaults to OUT_DIR, so an in-place
render stays a byte-exact no-op) against the new expression.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(changelog): fix-batch properties folded into the v1.78.0.0 entry

Stale-backup refusal + empty-scanned-body guard on the mktemp bullet, the
redact pipe-truncation fix as its own item (a v1.77 bug), and test counts
refreshed to the post-fix-batch suite (8,660).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(upgrade): migration test resolves bash through the parent PATH

A hardcoded /usr/bin:/bin child PATH breaks spawn('bash') on the Windows
curated lane (spawn resolves against the CHILD env's PATH; no bash.exe
lives there). Hermeticity is carried by HOME/GSTACK_* overrides, not PATH.
Found by the cycle-2 review pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(memory-helpers): per-run cooldown bounds the slow-gitleaks probe cost

Retrying a slow probe per FILE (#2715's slow!=absent split) re-paid up to
probe+retry (12s default) per file — an 887-file ingest on a loaded box
spent hours re-asking the same slow question. After 3 consecutive slow
answers the run stops probing and warns once that remaining files go
unscanned; the availability cache is still never written, so the next
process probes fresh. Slow/absent discrimination is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(memory-ingest): slug assignments persist across runs via the state consult

First-occurrence-keeps-bare was walk-order-dependent ACROSS runs: a source
that got the suffixed slug once could take the bare slug the next run (its
collider aged out or was skipped as unchanged), leaving gbrain holding the
same transcript under two slugs — and a NEW collider could claim a bare
slug that state shows belongs to an unchanged source, silently overwriting
that page. disambiguateSlugs now consults state.sessions: a recorded slug
stays owned by its source_path, re-ingested sources keep their slug
verbatim, fresh assignments never take another source's slug, and legacy
duplicate records (pre-#2724 overwrites) resolve first-owner-wins and
self-heal on the next state write. Stateless behavior is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(changelog): D2/D3 properties folded into the absorbed-PR bullets

Gitleaks per-run probe cooldown on the #2715 credit; cross-run slug
persistence on the #2699/#2724 credit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: update project documentation for v1.78.0.0

README.md: the persistent timeline Stop hook opt-out (#2677) — flag,
env var, and config key with resolution order. BROWSER.md: browse stop
against a dead daemon now reaps the recorded headless Chromium child,
identity-verified (#2709). CLAUDE.md + CONTRIBUTING.md: free-suite test
count ~7,000 → ~8,700 (8,660 as of this wave).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs: cross-model doc review fixes for v1.78.0.0

CONTRIBUTING.md: the day-to-day example now edits the .tmpl (SKILL.md
is generated); the OSV row states the explicit --config load and the
reasoned, expiring ignore contract. BROWSER.md: stop row mentions the
identity-checked Chromium reap; env table gains CHROMIUM_PROFILE and
GSTACK_DISABLE_GPU rows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(changelog): headline claims what the receipts show

"Both red weekly lanes are green again" overclaimed: OSV is verifiably
green (pinned scanner, frozen install, branch dispatch), but the periodic
lane keeps its pre-wave churn (#2756) — what this wave proves is that the
v1.76 regression that silenced plan reviews is dead. Flagged by the
cross-model doc review; headline now leads with the user-visible outcome.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: y$un_ <forrest.sun527@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Lockyer <135391289+Lockyer228@users.noreply.github.com>
Co-authored-by: Udhdhav kheni <udhavkheni12@gmail.com>
Co-authored-by: schienbiz <274676847+schienbiz@users.noreply.github.com>
Co-authored-by: David Park <show@davidani.com>
Co-authored-by: alopes50 <alex@alexlopes.com>
Co-authored-by: Peter van Leeuwen <petervanleeuwen@SB-petervanleeuwen.local>
Co-authored-by: Denis Zjukow <denis.zjukow@gmail.com>
Co-authored-by: Paul Snyman <5826275+snymanpaul@users.noreply.github.com>
Co-authored-by: Adam Badar <badaradam10@gmail.com>
Co-authored-by: loulanyue <260355617@qq.com>
Co-authored-by: Shreshth Kapoor <shreshth@osiflow.com>
Co-authored-by: Ryan Ayers <rayers@dividia.net>
Co-authored-by: Simon Altit <simon.altit@gmail.com>
Co-authored-by: ptt <1928627998@qq.com>
2026-09-01 11:15:11 -07:00

4191 lines
7.6 MiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<base href="https://gstack-render.localhost/">
<title>gstack diagram-render</title>
<style>
body { font-family: Helvetica, "Liberation Sans", Arial, sans-serif; margin: 0; }
</style>
<script>
window.__errors = [];
window.onerror = function (msg, src, line, col, err) {
window.__errors.push(String(msg) + " @" + line + ":" + col);
};
window.addEventListener("unhandledrejection", function (e) {
window.__errors.push("unhandledrejection: " + String(e.reason).slice(0, 500));
});
</script>
</head>
<body>
<div id="status">loading</div>
<script type="module">
var j44=Object.create;var{getPrototypeOf:N44,defineProperty:ut,getOwnPropertyNames:V44}=Object;var h44=Object.prototype.hasOwnProperty;function i44(u){return this[u]}var a44,m44,Eu=(u,B,E)=>{var A=u!=null&&typeof u==="object";if(A){var C=B?a44??=new WeakMap:m44??=new WeakMap,D=C.get(u);if(D)return D}E=u!=null?j44(N44(u)):{};let F=B||!u||!u.__esModule?ut(E,"default",{value:u,enumerable:!0}):E;for(let U of V44(u))if(!h44.call(F,U))ut(F,U,{get:i44.bind(u,U),enumerable:!0});if(A)C.set(u,F);return F};var N1=(u,B)=>()=>(B||u((B={exports:{}}).exports,B),B.exports);var $44=(u)=>u;function y44(u,B){this[u]=$44.bind(null,B)}var ju=(u,B)=>{for(var E in B)ut(u,E,{get:B[E],enumerable:!0,configurable:!0,set:y44.bind(B,E)})};var g=(u,B)=>()=>(u&&(B=u(u=0)),B);var rG=((u)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(u,{get:(B,E)=>(typeof require<"u"?require:B)[E]}):u)(function(u){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+u+'" is not supported')});var eG0,X=(u,B)=>eG0(u,"name",{value:B,configurable:!0}),jf=(u,B)=>{for(var E in B)eG0(u,E,{get:B[E],enumerable:!0})};var Y4=g(()=>{eG0=Object.defineProperty});var kj=N1((Bt,Et)=>{(function(u,B){typeof Bt=="object"&&typeof Et<"u"?Et.exports=B():typeof define=="function"&&define.amd?define(B):(u=typeof globalThis<"u"?globalThis:u||self).dayjs=B()})(Bt,function(){var u=1000,B=60000,E=3600000,A="millisecond",C="second",D="minute",F="hour",U="day",z="week",k="month",f="quarter",M="year",b="date",Z="Invalid Date",J=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,K=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,w={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(R){var Y=["th","st","nd","rd"],h=R%100;return"["+R+(Y[(h-20)%10]||Y[h]||Y[0])+"]"}},Q=function(R,Y,h){var I=String(R);return!I||I.length>=Y?R:""+Array(Y+1-I.length).join(h)+R},G={s:Q,z:function(R){var Y=-R.utcOffset(),h=Math.abs(Y),I=Math.floor(h/60),O=h%60;return(Y<=0?"+":"-")+Q(I,2,"0")+":"+Q(O,2,"0")},m:function R(Y,h){if(Y.date()<h.date())return-R(h,Y);var I=12*(h.year()-Y.year())+(h.month()-Y.month()),O=Y.clone().add(I,k),V=h-O<0,j=Y.clone().add(I+(V?-1:1),k);return+(-(I+(h-O)/(V?O-j:j-O))||0)},a:function(R){return R<0?Math.ceil(R)||0:Math.floor(R)},p:function(R){return{M:k,y:M,w:z,d:U,D:b,h:F,m:D,s:C,ms:A,Q:f}[R]||String(R||"").toLowerCase().replace(/s$/,"")},u:function(R){return R===void 0}},H="en",l={};l[H]=w;var q="$isDayjsObject",L=function(R){return R instanceof W||!(!R||!R[q])},v=function R(Y,h,I){var O;if(!Y)return H;if(typeof Y=="string"){var V=Y.toLowerCase();l[V]&&(O=V),h&&(l[V]=h,O=V);var j=Y.split("-");if(!O&&j.length>1)return R(j[0])}else{var i=Y.name;l[i]=Y,O=i}return!I&&O&&(H=O),O||!I&&H},x=function(R,Y){if(L(R))return R.clone();var h=typeof Y=="object"?Y:{};return h.date=R,h.args=arguments,new W(h)},S=G;S.l=v,S.i=L,S.w=function(R,Y){return x(R,{locale:Y.$L,utc:Y.$u,x:Y.$x,$offset:Y.$offset})};var W=function(){function R(h){this.$L=v(h.locale,null,!0),this.parse(h),this.$x=this.$x||h.x||{},this[q]=!0}var Y=R.prototype;return Y.parse=function(h){this.$d=function(I){var{date:O,utc:V}=I;if(O===null)return new Date(NaN);if(S.u(O))return new Date;if(O instanceof Date)return new Date(O);if(typeof O=="string"&&!/Z$/i.test(O)){var j=O.match(J);if(j){var i=j[2]-1||0,a=(j[7]||"0").substring(0,3);return V?new Date(Date.UTC(j[1],i,j[3]||1,j[4]||0,j[5]||0,j[6]||0,a)):new Date(j[1],i,j[3]||1,j[4]||0,j[5]||0,j[6]||0,a)}}return new Date(O)}(h),this.init()},Y.init=function(){var h=this.$d;this.$y=h.getFullYear(),this.$M=h.getMonth(),this.$D=h.getDate(),this.$W=h.getDay(),this.$H=h.getHours(),this.$m=h.getMinutes(),this.$s=h.getSeconds(),this.$ms=h.getMilliseconds()},Y.$utils=function(){return S},Y.isValid=function(){return this.$d.toString()!==Z},Y.isSame=function(h,I){var O=x(h);return this.startOf(I)<=O&&O<=this.endOf(I)},Y.isAfter=function(h,I){return x(h)<this.startOf(I)},Y.isBefore=function(h,I){return this.endOf(I)<x(h)},Y.$g=function(h,I,O){return S.u(h)?this[I]:this.set(O,h)},Y.unix=function(){return Math.floor(this.valueOf()/1000)},Y.valueOf=function(){return this.$d.getTime()},Y.startOf=function(h,I){var O=this,V=!!S.u(I)||I,j=S.p(h),i=function(p,b0){var B0=S.w(O.$u?Date.UTC(O.$y,b0,p):new Date(O.$y,b0,p),O);return V?B0:B0.endOf(U)},a=function(p,b0){return S.w(O.toDate()[p].apply(O.toDate("s"),(V?[0,0,0,0]:[23,59,59,999]).slice(b0)),O)},$=this.$W,m=this.$M,y=this.$D,r="set"+(this.$u?"UTC":"");switch(j){case M:return V?i(1,0):i(31,11);case k:return V?i(1,m):i(0,m+1);case z:var _=this.$locale().weekStart||0,e=($<_?$+7:$)-_;return i(V?y-e:y+(6-e),m);case U:case b:return a(r+"Hours",0);case F:return a(r+"Minutes",1);case D:return a(r+"Seconds",2);case C:return a(r+"Milliseconds",3);default:return this.clone()}},Y.endOf=function(h){return this.startOf(h,!1)},Y.$set=function(h,I){var O,V=S.p(h),j="set"+(this.$u?"UTC":""),i=(O={},O[U]=j+"Date",O[b]=j+"Date",O[k]=j+"Month",O[M]=j+"FullYear",O[F]=j+"Hours",O[D]=j+"Minutes",O[C]=j+"Seconds",O[A]=j+"Milliseconds",O)[V],a=V===U?this.$D+(I-this.$W):I;if(V===k||V===M){var $=this.clone().set(b,1);$.$d[i](a),$.init(),this.$d=$.set(b,Math.min(this.$D,$.daysInMonth())).$d}else i&&this.$d[i](a);return this.init(),this},Y.set=function(h,I){return this.clone().$set(h,I)},Y.get=function(h){return this[S.p(h)]()},Y.add=function(h,I){var O,V=this;h=Number(h);var j=S.p(I),i=function(m){var y=x(V);return S.w(y.date(y.date()+Math.round(m*h)),V)};if(j===k)return this.set(k,this.$M+h);if(j===M)return this.set(M,this.$y+h);if(j===U)return i(1);if(j===z)return i(7);var a=(O={},O[D]=B,O[F]=E,O[C]=u,O)[j]||1,$=this.$d.getTime()+h*a;return S.w($,this)},Y.subtract=function(h,I){return this.add(-1*h,I)},Y.format=function(h){var I=this,O=this.$locale();if(!this.isValid())return O.invalidDate||Z;var V=h||"YYYY-MM-DDTHH:mm:ssZ",j=S.z(this),i=this.$H,a=this.$m,$=this.$M,m=O.weekdays,y=O.months,r=O.meridiem,_=function(b0,B0,k0,f0){return b0&&(b0[B0]||b0(I,V))||k0[B0].slice(0,f0)},e=function(b0){return S.s(i%12||12,b0,"0")},p=r||function(b0,B0,k0){var f0=b0<12?"AM":"PM";return k0?f0.toLowerCase():f0};return V.replace(K,function(b0,B0){return B0||function(k0){switch(k0){case"YY":return String(I.$y).slice(-2);case"YYYY":return S.s(I.$y,4,"0");case"M":return $+1;case"MM":return S.s($+1,2,"0");case"MMM":return _(O.monthsShort,$,y,3);case"MMMM":return _(y,$);case"D":return I.$D;case"DD":return S.s(I.$D,2,"0");case"d":return String(I.$W);case"dd":return _(O.weekdaysMin,I.$W,m,2);case"ddd":return _(O.weekdaysShort,I.$W,m,3);case"dddd":return m[I.$W];case"H":return String(i);case"HH":return S.s(i,2,"0");case"h":return e(1);case"hh":return e(2);case"a":return p(i,a,!0);case"A":return p(i,a,!1);case"m":return String(a);case"mm":return S.s(a,2,"0");case"s":return String(I.$s);case"ss":return S.s(I.$s,2,"0");case"SSS":return S.s(I.$ms,3,"0");case"Z":return j}return null}(b0)||j.replace(":","")})},Y.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},Y.diff=function(h,I,O){var V,j=this,i=S.p(I),a=x(h),$=(a.utcOffset()-this.utcOffset())*B,m=this-a,y=function(){return S.m(j,a)};switch(i){case M:V=y()/12;break;case k:V=y();break;case f:V=y()/3;break;case z:V=(m-$)/604800000;break;case U:V=(m-$)/86400000;break;case F:V=m/E;break;case D:V=m/B;break;case C:V=m/u;break;default:V=m}return O?V:S.a(V)},Y.daysInMonth=function(){return this.endOf(k).$D},Y.$locale=function(){return l[this.$L]},Y.locale=function(h,I){if(!h)return this.$L;var O=this.clone(),V=v(h,I,!0);return V&&(O.$L=V),O},Y.clone=function(){return S.w(this.$d,this)},Y.toDate=function(){return new Date(this.valueOf())},Y.toJSON=function(){return this.isValid()?this.toISOString():null},Y.toISOString=function(){return this.$d.toISOString()},Y.toString=function(){return this.$d.toUTCString()},R}(),T=W.prototype;return x.prototype=T,[["$ms",A],["$s",C],["$m",D],["$H",F],["$W",U],["$M",k],["$y",M],["$D",b]].forEach(function(R){T[R[1]]=function(Y){return this.$g(Y,R[0],R[1])}}),x.extend=function(R,Y){return R.$i||(R(Y,W,x),R.$i=!0),x},x.locale=v,x.isDayjs=L,x.unix=function(R){return x(1000*R)},x.en=l[H],x.Ls=l,x.p={},x})});var uH0,Hz,z0,Ax,oE;var o4=g(()=>{Y4();uH0=Eu(kj(),1),Hz={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},z0={trace:X((...u)=>{},"trace"),debug:X((...u)=>{},"debug"),info:X((...u)=>{},"info"),warn:X((...u)=>{},"warn"),error:X((...u)=>{},"error"),fatal:X((...u)=>{},"fatal")},Ax=X(function(u="fatal"){let B=Hz.fatal;if(typeof u==="string"){if(u.toLowerCase()in Hz)B=Hz[u]}else if(typeof u==="number")B=u;if(z0.trace=()=>{},z0.debug=()=>{},z0.info=()=>{},z0.warn=()=>{},z0.error=()=>{},z0.fatal=()=>{},B<=Hz.fatal)z0.fatal=console.error?console.error.bind(console,oE("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",oE("FATAL"));if(B<=Hz.error)z0.error=console.error?console.error.bind(console,oE("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",oE("ERROR"));if(B<=Hz.warn)z0.warn=console.warn?console.warn.bind(console,oE("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",oE("WARN"));if(B<=Hz.info)z0.info=console.info?console.info.bind(console,oE("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",oE("INFO"));if(B<=Hz.debug)z0.debug=console.debug?console.debug.bind(console,oE("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",oE("DEBUG"));if(B<=Hz.trace)z0.trace=console.debug?console.debug.bind(console,oE("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",oE("TRACE"))},"setLogLevel"),oE=X((u)=>{return`%c${uH0.default().format("ss.SSS")} : ${u} : `},"format")});var fj,BH0;var EH0=g(()=>{fj={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:(u)=>u>=255?255:u<0?0:u,g:(u)=>u>=255?255:u<0?0:u,b:(u)=>u>=255?255:u<0?0:u,h:(u)=>u%360,s:(u)=>u>=100?100:u<0?0:u,l:(u)=>u>=100?100:u<0?0:u,a:(u)=>u>=1?1:u<0?0:u},toLinear:(u)=>{let B=u/255;return u>0.03928?Math.pow((B+0.055)/1.055,2.4):B/12.92},hue2rgb:(u,B,E)=>{if(E<0)E+=1;if(E>1)E-=1;if(E<0.16666666666666666)return u+(B-u)*6*E;if(E<0.5)return B;if(E<0.6666666666666666)return u+(B-u)*(0.6666666666666666-E)*6;return u},hsl2rgb:({h:u,s:B,l:E},A)=>{if(!B)return E*2.55;u/=360,B/=100,E/=100;let C=E<0.5?E*(1+B):E+B-E*B,D=2*E-C;switch(A){case"r":return fj.hue2rgb(D,C,u+0.3333333333333333)*255;case"g":return fj.hue2rgb(D,C,u)*255;case"b":return fj.hue2rgb(D,C,u-0.3333333333333333)*255}},rgb2hsl:({r:u,g:B,b:E},A)=>{u/=255,B/=255,E/=255;let C=Math.max(u,B,E),D=Math.min(u,B,E),F=(C+D)/2;if(A==="l")return F*100;if(C===D)return 0;let U=C-D,z=F>0.5?U/(2-C-D):U/(C+D);if(A==="s")return z*100;switch(C){case u:return((B-E)/U+(B<E?6:0))*60;case B:return((E-u)/U+2)*60;case E:return((u-B)/U+4)*60;default:return-1}}},BH0=fj});var r44,AH0;var CH0=g(()=>{r44={clamp:(u,B,E)=>{if(B>E)return Math.min(B,Math.max(E,u));return Math.min(E,Math.max(B,u))},round:(u)=>{return Math.round(u*10000000000)/10000000000}},AH0=r44});var g44,DH0;var FH0=g(()=>{g44={dec2hex:(u)=>{let B=Math.round(u).toString(16);return B.length>1?B:`0${B}`}},DH0=g44});var c44,c4;var UF=g(()=>{EH0();CH0();FH0();c44={channel:BH0,lang:AH0,unit:DH0},c4=c44});var qz,r2;var Cx=g(()=>{UF();qz={};for(let u=0;u<=255;u++)qz[u]=c4.unit.dec2hex(u);r2={ALL:0,RGB:1,HSL:2}});class UH0{constructor(){this.type=r2.ALL}get(){return this.type}set(u){if(this.type&&this.type!==u)throw Error("Cannot change both RGB and HSL channels at the same time");this.type=u}reset(){this.type=r2.ALL}is(u){return this.type===u}}var zH0;var kH0=g(()=>{Cx();zH0=UH0});class fH0{constructor(u,B){this.color=B,this.changed=!1,this.data=u,this.type=new zH0}set(u,B){return this.color=B,this.changed=!1,this.data=u,this.type.type=r2.ALL,this}_ensureHSL(){let u=this.data,{h:B,s:E,l:A}=u;if(B===void 0)u.h=c4.channel.rgb2hsl(u,"h");if(E===void 0)u.s=c4.channel.rgb2hsl(u,"s");if(A===void 0)u.l=c4.channel.rgb2hsl(u,"l")}_ensureRGB(){let u=this.data,{r:B,g:E,b:A}=u;if(B===void 0)u.r=c4.channel.hsl2rgb(u,"r");if(E===void 0)u.g=c4.channel.hsl2rgb(u,"g");if(A===void 0)u.b=c4.channel.hsl2rgb(u,"b")}get r(){let u=this.data,B=u.r;if(!this.type.is(r2.HSL)&&B!==void 0)return B;return this._ensureHSL(),c4.channel.hsl2rgb(u,"r")}get g(){let u=this.data,B=u.g;if(!this.type.is(r2.HSL)&&B!==void 0)return B;return this._ensureHSL(),c4.channel.hsl2rgb(u,"g")}get b(){let u=this.data,B=u.b;if(!this.type.is(r2.HSL)&&B!==void 0)return B;return this._ensureHSL(),c4.channel.hsl2rgb(u,"b")}get h(){let u=this.data,B=u.h;if(!this.type.is(r2.RGB)&&B!==void 0)return B;return this._ensureRGB(),c4.channel.rgb2hsl(u,"h")}get s(){let u=this.data,B=u.s;if(!this.type.is(r2.RGB)&&B!==void 0)return B;return this._ensureRGB(),c4.channel.rgb2hsl(u,"s")}get l(){let u=this.data,B=u.l;if(!this.type.is(r2.RGB)&&B!==void 0)return B;return this._ensureRGB(),c4.channel.rgb2hsl(u,"l")}get a(){return this.data.a}set r(u){this.type.set(r2.RGB),this.changed=!0,this.data.r=u}set g(u){this.type.set(r2.RGB),this.changed=!0,this.data.g=u}set b(u){this.type.set(r2.RGB),this.changed=!0,this.data.b=u}set h(u){this.type.set(r2.HSL),this.changed=!0,this.data.h=u}set s(u){this.type.set(r2.HSL),this.changed=!0,this.data.s=u}set l(u){this.type.set(r2.HSL),this.changed=!0,this.data.l=u}set a(u){this.changed=!0,this.data.a=u}}var MH0;var bH0=g(()=>{UF();kH0();Cx();MH0=fH0});var _44,Nf;var Dx=g(()=>{bH0();_44=new MH0({r:0,g:0,b:0,a:0},"transparent"),Nf=_44});var ZH0,xJ;var At=g(()=>{Dx();Cx();ZH0={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:(u)=>{if(u.charCodeAt(0)!==35)return;let B=u.match(ZH0.re);if(!B)return;let E=B[1],A=parseInt(E,16),C=E.length,D=C%4===0,F=C>4,U=F?1:17,z=F?8:4,k=D?0:-1,f=F?255:15;return Nf.set({r:(A>>z*(k+3)&f)*U,g:(A>>z*(k+2)&f)*U,b:(A>>z*(k+1)&f)*U,a:D?(A&f)*U/255:1},u)},stringify:(u)=>{let{r:B,g:E,b:A,a:C}=u;if(C<1)return`#${qz[Math.round(B)]}${qz[Math.round(E)]}${qz[Math.round(A)]}${qz[Math.round(C*255)]}`;else return`#${qz[Math.round(B)]}${qz[Math.round(E)]}${qz[Math.round(A)]}`}},xJ=ZH0});var Mj,Fx;var JH0=g(()=>{UF();Dx();Mj={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:(u)=>{let B=u.match(Mj.hueRe);if(B){let[,E,A]=B;switch(A){case"grad":return c4.channel.clamp.h(parseFloat(E)*0.9);case"rad":return c4.channel.clamp.h(parseFloat(E)*180/Math.PI);case"turn":return c4.channel.clamp.h(parseFloat(E)*360)}}return c4.channel.clamp.h(parseFloat(u))},parse:(u)=>{let B=u.charCodeAt(0);if(B!==104&&B!==72)return;let E=u.match(Mj.re);if(!E)return;let[,A,C,D,F,U]=E;return Nf.set({h:Mj._hue2deg(A),s:c4.channel.clamp.s(parseFloat(C)),l:c4.channel.clamp.l(parseFloat(D)),a:F?c4.channel.clamp.a(U?parseFloat(F)/100:parseFloat(F)):1},u)},stringify:(u)=>{let{h:B,s:E,l:A,a:C}=u;if(C<1)return`hsla(${c4.lang.round(B)}, ${c4.lang.round(E)}%, ${c4.lang.round(A)}%, ${C})`;else return`hsl(${c4.lang.round(B)}, ${c4.lang.round(E)}%, ${c4.lang.round(A)}%)`}},Fx=Mj});var bj,Ct;var KH0=g(()=>{At();bj={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:(u)=>{u=u.toLowerCase();let B=bj.colors[u];if(!B)return;return xJ.parse(B)},stringify:(u)=>{let B=xJ.stringify(u);for(let E in bj.colors)if(bj.colors[E]===B)return E;return}},Ct=bj});var wH0,Ux;var QH0=g(()=>{UF();Dx();wH0={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:(u)=>{let B=u.charCodeAt(0);if(B!==114&&B!==82)return;let E=u.match(wH0.re);if(!E)return;let[,A,C,D,F,U,z,k,f]=E;return Nf.set({r:c4.channel.clamp.r(C?parseFloat(A)*2.55:parseFloat(A)),g:c4.channel.clamp.g(F?parseFloat(D)*2.55:parseFloat(D)),b:c4.channel.clamp.b(z?parseFloat(U)*2.55:parseFloat(U)),a:k?c4.channel.clamp.a(f?parseFloat(k)/100:parseFloat(k)):1},u)},stringify:(u)=>{let{r:B,g:E,b:A,a:C}=u;if(C<1)return`rgba(${c4.lang.round(B)}, ${c4.lang.round(E)}, ${c4.lang.round(A)}, ${c4.lang.round(C)})`;else return`rgb(${c4.lang.round(B)}, ${c4.lang.round(E)}, ${c4.lang.round(A)})`}},Ux=wH0});var p44,g2;var lz=g(()=>{At();JH0();KH0();QH0();Cx();p44={format:{keyword:Ct,hex:xJ,rgb:Ux,rgba:Ux,hsl:Fx,hsla:Fx},parse:(u)=>{if(typeof u!=="string")return u;let B=xJ.parse(u)||Ux.parse(u)||Fx.parse(u)||Ct.parse(u);if(B)return B;throw Error(`Unsupported color format: "${u}"`)},stringify:(u)=>{if(!u.changed&&u.color)return u.color;if(u.type.is(r2.HSL)||u.data.r===void 0)return Fx.stringify(u);else if(u.a<1||!Number.isInteger(u.r)||!Number.isInteger(u.g)||!Number.isInteger(u.b))return Ux.stringify(u);else return xJ.stringify(u)}},g2=p44});var n44=(u,B)=>{let E=g2.parse(u);for(let A in B)E[A]=c4.channel.clamp[A](B[A]);return g2.stringify(E)},Zj;var Dt=g(()=>{UF();lz();Zj=n44});var d44=(u,B,E=0,A=1)=>{if(typeof u!=="number")return Zj(u,{a:B});let C=Nf.set({r:c4.channel.clamp.r(u),g:c4.channel.clamp.g(B),b:c4.channel.clamp.b(E),a:c4.channel.clamp.a(A)});return g2.stringify(C)},B2;var Ft=g(()=>{UF();Dx();lz();Dt();B2=d44});var s44=(u,B)=>{return c4.lang.round(g2.parse(u)[B])},WJ;var GH0=g(()=>{UF();lz();WJ=s44});var o44=(u)=>{let{r:B,g:E,b:A}=g2.parse(u),C=0.2126*c4.channel.toLinear(B)+0.7152*c4.channel.toLinear(E)+0.0722*c4.channel.toLinear(A);return c4.lang.round(C)},HH0;var qH0=g(()=>{UF();lz();HH0=o44});var t44=(u)=>{return HH0(u)>=0.5},lH0;var LH0=g(()=>{qH0();lH0=t44});var e44=(u)=>{return!lH0(u)},n1;var XH0=g(()=>{LH0();n1=e44});var u34=(u,B,E)=>{let A=g2.parse(u),C=A[B],D=c4.channel.clamp[B](C+E);if(C!==D)A[B]=D;return g2.stringify(A)},gG;var Jj=g(()=>{UF();lz();gG=u34});var B34=(u,B)=>{return gG(u,"l",B)},Ku;var vH0=g(()=>{Jj();Ku=B34});var E34=(u,B)=>{return gG(u,"l",-B)},wu;var xH0=g(()=>{Jj();wu=E34});var A34=(u,B)=>{return gG(u,"a",-B)},Kj;var WH0=g(()=>{Jj();Kj=A34});var C34=(u,B)=>{let E=g2.parse(u),A={};for(let C in B){if(!B[C])continue;A[C]=E[C]+B[C]}return Zj(u,A)},G0;var SH0=g(()=>{lz();Dt();G0=C34});var D34=(u,B,E=50)=>{let{r:A,g:C,b:D,a:F}=g2.parse(u),{r:U,g:z,b:k,a:f}=g2.parse(B),M=E/100,b=M*2-1,Z=F-f,K=((b*Z===-1?b:(b+Z)/(1+b*Z))+1)/2,w=1-K,Q=A*K+U*w,G=C*K+z*w,H=D*K+k*w,l=F*M+f*(1-M);return B2(Q,G,H,l)},YH0;var RH0=g(()=>{lz();Ft();YH0=D34});var F34=(u,B=100)=>{let E=g2.parse(u);return E.r=255-E.r,E.g=255-E.g,E.b=255-E.b,YH0(E,u,B)},Cu;var TH0=g(()=>{lz();RH0();Cu=F34});var OH0=g(()=>{Ft();GH0();XH0();vH0();xH0();WH0();SH0();TH0()});var G2=g(()=>{OH0()});function IH0(u,B){(B==null||B>u.length)&&(B=u.length);for(var E=0,A=Array(B);E<B;E++)A[E]=u[E];return A}function U34(u){if(Array.isArray(u))return u}function z34(u,B){var E=u==null?null:typeof Symbol<"u"&&u[Symbol.iterator]||u["@@iterator"];if(E!=null){var A,C,D,F,U=[],z=!0,k=!1;try{if(D=(E=E.call(u)).next,B===0);else for(;!(z=(A=D.call(E)).done)&&(U.push(A.value),U.length!==B);z=!0);}catch(f){k=!0,C=f}finally{try{if(!z&&E.return!=null&&(F=E.return(),Object(F)!==F))return}finally{if(k)throw C}}return U}}function k34(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function f34(u,B){return U34(u)||z34(u,B)||M34(u,B)||k34()}function M34(u,B){if(u){if(typeof u=="string")return IH0(u,B);var E={}.toString.call(u).slice(8,-1);return E==="Object"&&u.constructor&&(E=u.constructor.name),E==="Map"||E==="Set"?Array.from(u):E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E)?IH0(u,B):void 0}}function H2(u){return function(B){if(B instanceof RegExp)B.lastIndex=0;for(var E=arguments.length,A=Array(E>1?E-1:0),C=1;C<E;C++)A[C-1]=arguments[C];return Jt(u,B,A)}}function q34(u){return function(){for(var B=arguments.length,E=Array(B),A=0;A<B;A++)E[A]=arguments[A];return Kt(u,E)}}function x1(u,B){let E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Mx;if(PH0)PH0(u,null);if(!_G(B))return u;let A=B.length;while(A--){let C=B[A];if(typeof C==="string"){let D=E(C);if(D!==C){if(!b34(B))B[A]=D;C=D}}u[C]=!0}return u}function l34(u){for(let B=0;B<u.length;B++)if(!A8(u,B))u[B]=null;return u}function EE(u){let B=cG(null);for(let A of pH0(u)){var E=f34(A,2);let C=E[0],D=E[1];if(A8(u,C))if(_G(D))B[C]=l34(D);else if(D&&typeof D==="object"&&D.constructor===Object)B[C]=EE(D);else B[C]=D}return B}function L34(u){switch(typeof u){case"string":return u;case"number":return G34(u);case"boolean":return H34(u);case"bigint":return hH0?hH0(u):"0";case"symbol":return iH0?iH0(u):"Symbol()";case"undefined":return fx(u);case"function":case"object":{if(u===null)return fx(u);let B=u,E=ZC(B,"toString");if(typeof E==="function"){let A=E(B);return typeof A==="string"?A:fx(A)}return fx(u)}default:return fx(u)}}function ZC(u,B){while(u!==null){let A=J34(u,B);if(A){if(A.get)return H2(A.get);if(typeof A.value==="function")return H2(A.value)}u=Z34(u)}function E(){return null}return E}function X34(u){try{return R7(u,""),!0}catch(B){return!1}}function sH0(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a34(),B=(su)=>sH0(su);if(B.version="3.4.14",B.removed=[],!u||!u.document||u.document.nodeType!==BE.document||!u.Element)return B.isSupported=!1,B;let E=u.document,A=E,C=A.currentScript;u.DocumentFragment;let{HTMLTemplateElement:D,Node:F,Element:U,NodeFilter:z,NamedNodeMap:k}=u;k===void 0&&(u.NamedNodeMap||u.MozNamedAttrMap),u.HTMLFormElement;let{DOMParser:f,trustedTypes:M}=u,b=U.prototype,Z=ZC(b,"cloneNode"),J=ZC(b,"remove"),K=ZC(b,"nextSibling"),w=ZC(b,"childNodes"),Q=ZC(b,"parentNode"),G=ZC(b,"shadowRoot"),H=ZC(b,"attributes"),l=F&&F.prototype?ZC(F.prototype,"nodeType"):null,q=F&&F.prototype?ZC(F.prototype,"nodeName"):null,L=F&&F.prototype?ZC(F.prototype,"ownerDocument"):null,v=function(N0){return l?l(N0):N0.nodeType},x=function(N0){return q?q(N0):N0.nodeName};if(typeof D==="function"){let su=E.createElement("template");if(su.content&&su.content.ownerDocument)E=su.content.ownerDocument}let S,W="",T,R=!1,Y=0,h=function(){if(Y>0)throw SJ('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},I=function(N0){h(),Y++;try{return S.createHTML(N0)}finally{Y--}},O=function(N0){h(),Y++;try{return S.createScriptURL(N0)}finally{Y--}},V=function(){if(!R)T=m34(M,C),R=!0;return T},j=E,i=j.implementation,a=j.createNodeIterator,$=j.createDocumentFragment,m=j.getElementsByTagName,y=A.importNode,r=_H0();B.isSupported=typeof pH0==="function"&&typeof Q==="function"&&i&&i.createHTMLDocument!==void 0;let _=W34,e=S34,p=Y34,b0=R34,B0=T34,k0=O34,f0=I34,D0=j34,P0=rH0,L0=null,m0=x1({},[...aH0,...kt,...ft,...Mt,...mH0]),h0=null,_0=x1({},[...$H0,...bt,...yH0,...wj]),w0=Object.seal(cG(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}})),x0=null,T0=null,J0=Object.seal(cG(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),F0=!0,u0=!0,Z0=!1,X0=!0,W0=!1,Y0=!0,a0=!1,K0=!1,n=null,d=null,q0=!1,o=!1,l0=!1,E0=!1,$0=!0,g0=!1,n0="user-content-",c0=!0,Bu=!1,p0={},e0=null,t0=x1({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),zu=null,S0=x1({},["audio","video","img","source","image","track"]),yu=null,V0=x1({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),xu="http://www.w3.org/1998/Math/MathML",gu="http://www.w3.org/2000/svg",Du="http://www.w3.org/1999/xhtml",Nu=Du,du=!1,Iu=null,v0=x1({},[xu,gu,Du],zt),Tu=c2(["mi","mo","mn","ms","mtext"]),iu=x1({},Tu),Ju=c2(["annotation-xml"]),I0=x1({},Ju),Mu=x1({},["title","style","font","a","script"]),qu=null,Ru=["application/xhtml+xml","text/html"],S4="text/html",$u=null,L4=null,F3=E.createElement("form"),V4=function(N0){return N0 instanceof RegExp||N0 instanceof Function},b4=function(){let N0=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(L4&&L4===N0)return;if(!N0||typeof N0!=="object")N0={};N0=EE(N0),qu=Ru.indexOf(N0.PARSER_MEDIA_TYPE)===-1?S4:N0.PARSER_MEDIA_TYPE,$u=qu==="application/xhtml+xml"?zt:Mx,L0=Vf(N0,"ALLOWED_TAGS",m0,{transform:$u}),h0=Vf(N0,"ALLOWED_ATTR",_0,{transform:$u}),Iu=Vf(N0,"ALLOWED_NAMESPACES",v0,{transform:zt}),yu=Vf(N0,"ADD_URI_SAFE_ATTR",V0,{transform:$u,base:V0}),zu=Vf(N0,"ADD_DATA_URI_TAGS",S0,{transform:$u,base:S0}),e0=Vf(N0,"FORBID_CONTENTS",t0,{transform:$u}),x0=Vf(N0,"FORBID_TAGS",EE({}),{transform:$u}),T0=Vf(N0,"FORBID_ATTR",EE({}),{transform:$u}),p0=A8(N0,"USE_PROFILES")?N0.USE_PROFILES&&typeof N0.USE_PROFILES==="object"?EE(N0.USE_PROFILES):N0.USE_PROFILES:!1,F0=N0.ALLOW_ARIA_ATTR!==!1,u0=N0.ALLOW_DATA_ATTR!==!1,Z0=N0.ALLOW_UNKNOWN_PROTOCOLS||!1,X0=N0.ALLOW_SELF_CLOSE_IN_ATTR!==!1,W0=N0.SAFE_FOR_TEMPLATES||!1,Y0=N0.SAFE_FOR_XML!==!1,a0=N0.WHOLE_DOCUMENT||!1,o=N0.RETURN_DOM||!1,l0=N0.RETURN_DOM_FRAGMENT||!1,E0=N0.RETURN_TRUSTED_TYPE||!1,q0=N0.FORCE_BODY||!1,$0=N0.SANITIZE_DOM!==!1,g0=N0.SANITIZE_NAMED_PROPS||!1,c0=N0.KEEP_CONTENT!==!1,Bu=N0.IN_PLACE||!1,P0=X34(N0.ALLOWED_URI_REGEXP)?N0.ALLOWED_URI_REGEXP:rH0,Nu=typeof N0.NAMESPACE==="string"?N0.NAMESPACE:Du,iu=Zt(N0,"MATHML_TEXT_INTEGRATION_POINTS",()=>x1({},Tu)),I0=Zt(N0,"HTML_INTEGRATION_POINTS",()=>x1({},Ju));let fu=Zt(N0,"CUSTOM_ELEMENT_HANDLING",()=>cG(null));if(w0=cG(null),A8(fu,"tagNameCheck")&&V4(fu.tagNameCheck))w0.tagNameCheck=fu.tagNameCheck;if(A8(fu,"attributeNameCheck")&&V4(fu.attributeNameCheck))w0.attributeNameCheck=fu.attributeNameCheck;if(A8(fu,"allowCustomizedBuiltInElements")&&typeof fu.allowCustomizedBuiltInElements==="boolean")w0.allowCustomizedBuiltInElements=fu.allowCustomizedBuiltInElements;if(L5(w0),W0)u0=!1;if(l0)o=!0;if(p0){if(L0=x1({},mH0),h0=cG(null),p0.html===!0)x1(L0,aH0),x1(h0,$H0);if(p0.svg===!0)x1(L0,kt),x1(h0,bt),x1(h0,wj);if(p0.svgFilters===!0)x1(L0,ft),x1(h0,bt),x1(h0,wj);if(p0.mathMl===!0)x1(L0,Mt),x1(h0,yH0),x1(h0,wj)}if(J0.tagCheck=null,J0.attributeCheck=null,A8(N0,"ADD_TAGS")){if(typeof N0.ADD_TAGS==="function")J0.tagCheck=N0.ADD_TAGS;else if(_G(N0.ADD_TAGS)){if(L0===m0)L0=EE(L0);x1(L0,N0.ADD_TAGS,$u)}}if(A8(N0,"ADD_ATTR")){if(typeof N0.ADD_ATTR==="function")J0.attributeCheck=N0.ADD_ATTR;else if(_G(N0.ADD_ATTR)){if(h0===_0)h0=EE(h0);x1(h0,N0.ADD_ATTR,$u)}}if(A8(N0,"ADD_FORBID_CONTENTS")&&_G(N0.ADD_FORBID_CONTENTS)){if(e0===t0)e0=EE(e0);x1(e0,N0.ADD_FORBID_CONTENTS,$u)}if(c0)L0["#text"]=!0;if(a0)x1(L0,["html","head","body"]);if(L0.table)x1(L0,["tbody"]),delete x0.tbody;if(N0.TRUSTED_TYPES_POLICY){if(typeof N0.TRUSTED_TYPES_POLICY.createHTML!=="function")throw SJ('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof N0.TRUSTED_TYPES_POLICY.createScriptURL!=="function")throw SJ('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let au=S;S=N0.TRUSTED_TYPES_POLICY;try{W=I("")}catch(J4){throw S=au,J4}}else if(N0.TRUSTED_TYPES_POLICY===null)S=void 0,W="";else{if(S===void 0)S=V();if(S&&typeof W==="string")W=I("")}if(c2)c2(N0);L4=N0},P4=x1({},[...kt,...ft,...v34]),bu=x1({},[...Mt,...x34]),Lu=function(N0,fu,au){if(fu.namespaceURI===Du)return N0==="svg";if(fu.namespaceURI===xu)return N0==="svg"&&(au==="annotation-xml"||iu[au]);return Boolean(P4[N0])},pu=function(N0,fu,au){if(fu.namespaceURI===Du)return N0==="math";if(fu.namespaceURI===gu)return N0==="math"&&I0[au];return Boolean(bu[N0])},g4=function(N0,fu,au){if(fu.namespaceURI===gu&&!I0[au])return!1;if(fu.namespaceURI===xu&&!iu[au])return!1;return!bu[N0]&&(Mu[N0]||!P4[N0])},y4=function(N0){let fu=Q(N0);if(!fu||!fu.tagName)fu={namespaceURI:Nu,tagName:"template"};let au=Mx(N0.tagName),J4=Mx(fu.tagName);if(!Iu[N0.namespaceURI])return!1;if(N0.namespaceURI===gu)return Lu(au,fu,J4);if(N0.namespaceURI===xu)return pu(au,fu,J4);if(N0.namespaceURI===Du)return g4(au,fu,J4);if(qu==="application/xhtml+xml"&&Iu[N0.namespaceURI])return!0;return!1},B3=function(N0){zx(B.removed,{element:N0});try{Q(N0).removeChild(N0)}catch(fu){if(J(N0),!Q(N0))throw SJ("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},k1=function(N0,fu,au){try{N0.removeAttributeNode(fu)}catch(J4){try{N0.removeAttribute(au)}catch(v4){}}},E3=function(N0){f4(N0);let fu=w(N0);if(fu){let J4=[];YJ(fu,(v4)=>{zx(J4,v4)}),YJ(J4,(v4)=>{try{J(v4)}catch(d4){}})}let au=H(N0);if(au)for(let J4=au.length-1;J4>=0;--J4){let v4=au[J4],d4=v4&&v4.name;if(typeof d4==="string")k1(N0,v4,d4)}},eu=function(N0,fu,au){if(!au)try{au=fu.getAttributeNode(N0)}catch(J4){au=null}zx(B.removed,{attribute:au||null,from:fu});try{if(au)fu.removeAttributeNode(au);else fu.removeAttribute(N0)}catch(J4){try{fu.removeAttribute(N0)}catch(v4){}}if(N0==="is")if(o||l0)try{B3(fu)}catch(J4){}else try{fu.setAttribute(N0,"")}catch(J4){}},hu=function(N0){let fu=H(N0);if(!fu)return;for(let au=fu.length-1;au>=0;--au){let J4=fu[au],v4=J4&&J4.name;if(typeof v4!=="string"||h0[$u(v4)])continue;k1(N0,J4,v4)}},f4=function(N0){let fu=[N0];while(fu.length>0){let au=fu.pop();if(v(au)===BE.element)hu(au);let v4=w(au);if(v4)for(let d4=v4.length-1;d4>=0;--d4)fu.push(v4[d4])}},U4=function(N0,fu){if(!Y0)return!1;if(N0==="patchsrc")return!0;return N0==="for"&&fu!=="label"&&fu!=="output"},Vu=function(N0){if(!Y0)return;let fu=[N0];while(fu.length>0){let au=fu.pop(),J4=v(au);if(J4===BE.processingInstruction||J4===BE.comment&&R7(cH0,au.data)){try{J(au)}catch(d4){}continue}if(J4===BE.element){let d4=au,n3=$u(x(au));try{if(d4.hasAttribute&&d4.hasAttribute("patchsrc"))d4.removeAttribute("patchsrc");if(d4.hasAttribute&&d4.hasAttribute("for")&&U4("for",n3))d4.removeAttribute("for")}catch($6){}}let v4=w(au);if(v4)for(let d4=v4.length-1;d4>=0;--d4)fu.push(v4[d4])}},X4=function(N0){let fu=null,au=null;if(q0)N0="<remove></remove>"+N0;else{let d4=NH0(N0,/^[\r\n\t ]+/);au=d4&&d4[0]}if(qu==="application/xhtml+xml"&&Nu===Du)N0='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+N0+"</body></html>";let J4=S?I(N0):N0;if(Nu===Du)try{fu=new f().parseFromString(J4,qu)}catch(d4){}if(!fu||!fu.documentElement){fu=i.createDocument(Nu,"template",null);try{fu.documentElement.innerHTML=du?W:J4}catch(d4){}}let v4=fu.body||fu.documentElement;if(N0&&au)v4.insertBefore(E.createTextNode(au),v4.childNodes[0]||null);if(Nu===Du)return m.call(fu,a0?"html":"body")[0];return a0?fu.documentElement:v4},O0=function(N0){let fu=L?L(N0):N0.ownerDocument;return a.call(fu||N0,N0,z.SHOW_ELEMENT|z.SHOW_COMMENT|z.SHOW_TEXT|z.SHOW_PROCESSING_INSTRUCTION|z.SHOW_CDATA_SECTION,null)},Q1=function(N0){return N0=kx(N0,_," "),N0=kx(N0,e," "),N0=kx(N0,p," "),N0},i0=function(N0){var fu;N0.normalize();let au=L?L(N0):N0.ownerDocument,J4=a.call(au||N0,N0,z.SHOW_TEXT|z.SHOW_COMMENT|z.SHOW_CDATA_SECTION|z.SHOW_PROCESSING_INSTRUCTION,null),v4=J4.nextNode();while(v4)v4.data=Q1(v4.data),v4=J4.nextNode();let d4=(fu=N0.querySelectorAll)===null||fu===void 0?void 0:fu.call(N0,"template");if(d4)YJ(d4,(n3)=>{if(b6(n3.content))i0(n3.content)})},A3=function(N0){let fu=q?q(N0):null;if(typeof fu!=="string")return!1;if($u(fu)!=="form")return!1;return typeof N0.nodeName!=="string"||typeof N0.textContent!=="string"||typeof N0.removeChild!=="function"||N0.attributes!==H(N0)||typeof N0.removeAttribute!=="function"||typeof N0.setAttribute!=="function"||typeof N0.namespaceURI!=="string"||typeof N0.insertBefore!=="function"||typeof N0.hasChildNodes!=="function"||N0.nodeType!==l(N0)||N0.childNodes!==w(N0)},b6=function(N0){if(!l||typeof N0!=="object"||N0===null)return!1;try{return l(N0)===BE.documentFragment}catch(fu){return!1}},m2=function(N0){if(!l||typeof N0!=="object"||N0===null)return!1;try{return typeof l(N0)==="number"}catch(fu){return!1}};function t9(su,N0,fu){if(su.length===0)return;YJ(su,(au)=>{au.call(B,N0,fu,L4)})}let MB=function(N0,fu){if(Y0&&N0.hasChildNodes()&&!m2(N0.firstElementChild)&&R7(gH0,N0.textContent)&&R7(gH0,N0.innerHTML))return!0;if(Y0&&N0.namespaceURI===Du&&h34[fu]&&(m2(N0.firstElementChild)||typeof N0.textContent==="string"&&R7(i34[fu],N0.textContent)))return!0;if(N0.nodeType===BE.processingInstruction)return!0;if(Y0&&N0.nodeType===BE.comment&&R7(cH0,N0.data))return!0;return!1},_3=function(N0,fu){if(N0 instanceof RegExp)return R7(N0,fu);if(N0 instanceof Function){for(var au=arguments.length,J4=Array(au>2?au-2:0),v4=2;v4<au;v4++)J4[v4-2]=arguments[v4];return Boolean(N0(fu,...J4))}return!1},Y6=function(N0,fu,au){if(!x0[fu]&&wz(fu)&&_3(w0.tagNameCheck,fu))return!1;if(c0&&!e0[fu]){let J4=Q(N0),v4=w(N0);if(v4&&J4){let d4=v4.length;for(let n3=d4-1;n3>=0;--n3){let $6=N0===au?Z(v4[n3],!0):v4[n3];J4.insertBefore($6,K(N0))}}}return B3(N0),!0},q5=function(N0,fu,au,J4){if(N0.length===0)return fu;return fu===au||fu===J4?EE(fu):fu},bB=function(N0,fu){if(N0===fu||Q(N0)!==null)return!1;if(Bu)f4(N0);return!0},e9=function(N0,fu){if(t9(r.beforeSanitizeElements,N0,null),bB(N0,fu))return!0;if(A3(N0))return B3(N0),!0;let au=$u(x(N0));if(L0=q5(r.uponSanitizeElement,L0,m0,n),t9(r.uponSanitizeElement,N0,{tagName:au,allowedTags:L0}),bB(N0,fu))return!0;if(MB(N0,au))return B3(N0),!0;if(x0[au]||!(J0.tagCheck instanceof Function&&J0.tagCheck(au))&&!L0[au]){let v4=Y6(N0,au,fu);if(v4===!1)t9(r.afterSanitizeElements,N0,null);return v4}if(v(N0)===BE.element&&!y4(N0))return B3(N0),!0;if((au==="noscript"||au==="noembed"||au==="noframes")&&R7(N34,N0.innerHTML))return B3(N0),!0;if(W0&&N0.nodeType===BE.text){let v4=Q1(N0.textContent);if(N0.textContent!==v4)zx(B.removed,{element:N0.cloneNode()}),N0.textContent=v4}return t9(r.afterSanitizeElements,N0,null),!1},Kz=function(N0,fu,au){if(T0[fu])return!1;if(U4(fu,N0))return!1;if($0&&(fu==="id"||fu==="name")&&((au in E)||(au in F3)))return!1;let J4=h0[fu]||J0.attributeCheck instanceof Function&&J0.attributeCheck(fu,N0);if(u0&&R7(b0,fu))return!0;if(F0&&R7(B0,fu))return!0;if(!J4)return wz(N0)&&_3(w0.tagNameCheck,N0)&&_3(w0.attributeNameCheck,fu,N0)||fu==="is"&&w0.allowCustomizedBuiltInElements&&_3(w0.tagNameCheck,au);if(yu[fu])return!0;if(R7(P0,kx(au,f0,"")))return!0;if((fu==="src"||fu==="xlink:href"||fu==="href")&&N0!=="script"&&VH0(au,"data:")===0&&zu[N0])return!0;if(Z0&&!R7(k0,kx(au,f0,"")))return!0;return!au},$2=x1({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),wz=function(N0){return!$2[Mx(N0)]&&R7(D0,N0)},u2=function(N0,fu,au,J4){if(S&&typeof M==="object"&&typeof M.getAttributeType==="function"&&!au)switch(M.getAttributeType(N0,fu)){case"TrustedHTML":return I(J4);case"TrustedScriptURL":return O(J4)}return J4},Qz=function(N0,fu,au,J4){try{if(au)N0.setAttributeNS(au,fu,J4);else N0.setAttribute(fu,J4);if(A3(N0))B3(N0);else jH0(B.removed)}catch(v4){eu(fu,N0)}},uE=function(N0){t9(r.beforeSanitizeAttributes,N0,null);let fu=N0.attributes;if(!fu||A3(N0))return;h0=q5(r.uponSanitizeAttribute,h0,_0,d);let au={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:h0,forceKeepAttr:void 0},J4=fu.length,v4=$u(N0.nodeName);while(J4--){let d4=fu[J4],n3=d4.name,$6=d4.namespaceURI,G9=d4.value,s5=$u(n3),mG=G9,l5=n3==="value"?mG:Q34(mG);if(au.attrName=s5,au.attrValue=l5,au.keepAttr=!0,au.forceKeepAttr=void 0,t9(r.uponSanitizeAttribute,N0,au),l5=au.attrValue,g0&&(s5==="id"||s5==="name")&&VH0(l5,n0)!==0)eu(n3,N0,d4),l5=n0+l5;if(Y0&&R7(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,l5)){eu(n3,N0,d4);continue}if(s5==="attributename"&&NH0(l5,"href")){eu(n3,N0,d4);continue}if(au.forceKeepAttr)continue;if(!au.keepAttr){eu(n3,N0,d4);continue}if(!X0&&R7(V34,l5)){eu(n3,N0,d4);continue}if(W0)l5=Q1(l5);if(!Kz(v4,s5,l5)){eu(n3,N0,d4);continue}if(l5=u2(v4,s5,$6,l5),l5!==mG)Qz(N0,n3,$6,l5)}t9(r.afterSanitizeAttributes,N0,null)},y2=function(N0){let fu=null,au=O0(N0);t9(r.beforeSanitizeShadowDOM,N0,null);while(fu=au.nextNode()){if(t9(r.uponSanitizeShadowNode,fu,null),e9(fu,N0),uE(fu),b6(fu.content))y2(fu.content);if(v(fu)===BE.element){let J4=G(fu);if(b6(J4))XJ(J4),y2(J4)}}t9(r.afterSanitizeShadowDOM,N0,null)},XJ=function(N0){let fu=[{node:N0,shadow:null}];while(fu.length>0){let au=fu.pop();if(au.shadow){y2(au.shadow);continue}let J4=au.node,d4=v(J4)===BE.element,n3=w(J4);if(n3)for(let $6=n3.length-1;$6>=0;--$6)fu.push({node:n3[$6],shadow:null});if(d4){let $6=q?q(J4):null;if(typeof $6==="string"&&$u($6)==="template"){let G9=J4.content;if(b6(G9))fu.push({node:G9,shadow:null})}}if(d4){let $6=G(J4);if(b6($6))fu.push({node:null,shadow:$6},{node:$6,shadow:null})}}};return B.sanitize=function(su){let N0=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},fu=null,au=null,J4=null,v4=null;if(du=!su,du)su="<!-->";if(typeof su!=="string"&&!m2(su)){if(su=L34(su),typeof su!=="string")throw SJ("dirty is not a string, aborting")}if(!B.isSupported)return su;if(K0)L0=n,h0=d;else b4(N0);if(r.uponSanitizeElement.length>0||r.uponSanitizeAttribute.length>0)L0=EE(L0);if(r.uponSanitizeAttribute.length>0)h0=EE(h0);B.removed=[];let d4=Bu&&typeof su!=="string"&&m2(su);if(d4){Vu(su);let G9=x(su);if(typeof G9==="string"){let s5=$u(G9);if(!L0[s5]||x0[s5])throw E3(su),SJ("root node is forbidden and cannot be sanitized in-place")}if(A3(su))throw E3(su),SJ("root node is clobbered and cannot be sanitized in-place");try{XJ(su)}catch(s5){throw E3(su),s5}}else if(m2(su)){if(fu=X4("<!---->"),au=fu.ownerDocument.importNode(su,!0),au.nodeType===BE.element&&au.nodeName==="BODY")fu=au;else if(au.nodeName==="HTML")fu=au;else fu.appendChild(au);XJ(au)}else{if(!o&&!W0&&!a0&&su.indexOf("<")===-1)return S&&E0?I(su):su;if(fu=X4(su),!fu)return o?null:E0?W:""}if(fu&&q0)B3(fu.firstChild);let n3=d4?su:fu;try{let G9=O0(n3);while(J4=G9.nextNode())if(e9(J4,n3),uE(J4),b6(J4.content))y2(J4.content)}catch(G9){if(d4)E3(su),YJ(B.removed,(s5)=>{if(s5.element)f4(s5.element)});throw G9}if(d4){if(YJ(B.removed,(G9)=>{if(G9.element)f4(G9.element)}),W0)i0(su);return su}if(o){if(W0)i0(fu);if(l0){v4=$.call(fu.ownerDocument);while(fu.firstChild)v4.appendChild(fu.firstChild)}else v4=fu;if(h0.shadowroot||h0.shadowrootmode)v4=y.call(A,v4,!0);return v4}let $6=a0?fu.outerHTML:fu.innerHTML;if(a0&&L0["!doctype"]&&fu.ownerDocument&&fu.ownerDocument.doctype&&fu.ownerDocument.doctype.name&&R7(P34,fu.ownerDocument.doctype.name))$6="<!DOCTYPE "+fu.ownerDocument.doctype.name+`>
`+$6;if(W0)$6=Q1($6);return S&&E0?I($6):$6},B.setConfig=function(){let su=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};b4(su),K0=!0,n=L0,d=h0},B.clearConfig=function(){L4=null,K0=!1,n=null,d=null,S=T,W=""},B.isValidAttribute=function(su,N0,fu){if(!L4)b4({});let au=$u(su),J4=$u(N0);return Kz(au,J4,fu)},B.addHook=function(su,N0){if(typeof N0!=="function")return;if(!A8(r,su))return;zx(r[su],N0)},B.removeHook=function(su,N0){if(!A8(r,su))return;if(N0!==void 0){let fu=K34(r[su],N0);return fu===-1?void 0:w34(r[su],fu,1)[0]}return jH0(r[su])},B.removeHooks=function(su){if(!A8(r,su))return;r[su]=[]},B.removeAllHooks=function(){r=_H0()},B}var pH0,PH0,b34,Z34,J34,c2,L5,cG,nH0,Jt,Kt,YJ,K34,jH0,zx,w34,_G,Mx,zt,NH0,kx,VH0,Q34,G34,H34,hH0,iH0,A8,fx,R7,SJ,aH0,kt,ft,v34,Mt,x34,mH0,$H0,bt,yH0,wj,W34,S34,Y34,R34,T34,rH0,O34,I34,P34,j34,gH0,cH0,N34,V34,BE,dH0,h34,i34,a34=function(){return typeof window>"u"?null:window},m34=function(B,E){if(typeof B!=="object"||typeof B.createPolicy!=="function")return null;let A=null,C="data-tt-policy-suffix";if(E&&E.hasAttribute(C))A=E.getAttribute(C);let D="dompurify"+(A?"#"+A:"");try{return B.createPolicy(D,{createHTML(F){return F},createScriptURL(F){return F}})}catch(F){return console.warn("TrustedTypes policy "+D+" could not be created."),null}},_H0=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Vf=function(B,E,A,C){return A8(B,E)&&_G(B[E])?x1(C.base?EE(C.base):{},B[E],C.transform):A},Zt=function(B,E,A){let C=A8(B,E)?B[E]:void 0;return C&&typeof C==="object"?EE(C):A()},C8;var pG=g(()=>{/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */pH0=Object.entries,PH0=Object.setPrototypeOf,b34=Object.isFrozen,Z34=Object.getPrototypeOf,J34=Object.getOwnPropertyDescriptor,c2=Object.freeze,L5=Object.seal,cG=Object.create,nH0=typeof Reflect<"u"&&Reflect,Jt=nH0.apply,Kt=nH0.construct;if(!c2)c2=function(B){return B};if(!L5)L5=function(B){return B};if(!Jt)Jt=function(B,E){for(var A=arguments.length,C=Array(A>2?A-2:0),D=2;D<A;D++)C[D-2]=arguments[D];return B.apply(E,C)};if(!Kt)Kt=function(B){for(var E=arguments.length,A=Array(E>1?E-1:0),C=1;C<E;C++)A[C-1]=arguments[C];return new B(...A)};YJ=H2(Array.prototype.forEach),K34=H2(Array.prototype.lastIndexOf),jH0=H2(Array.prototype.pop),zx=H2(Array.prototype.push),w34=H2(Array.prototype.splice),_G=Array.isArray,Mx=H2(String.prototype.toLowerCase),zt=H2(String.prototype.toString),NH0=H2(String.prototype.match),kx=H2(String.prototype.replace),VH0=H2(String.prototype.indexOf),Q34=H2(String.prototype.trim),G34=H2(Number.prototype.toString),H34=H2(Boolean.prototype.toString),hH0=typeof BigInt>"u"?null:H2(BigInt.prototype.toString),iH0=typeof Symbol>"u"?null:H2(Symbol.prototype.toString),A8=H2(Object.prototype.hasOwnProperty),fx=H2(Object.prototype.toString),R7=H2(RegExp.prototype.test),SJ=q34(TypeError);aH0=c2(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),kt=c2(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ft=c2(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),v34=c2(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Mt=c2(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),x34=c2(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),mH0=c2(["#text"]),$H0=c2(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),bt=c2(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),yH0=c2(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),wj=c2(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),W34=L5(/{{[\w\W]*|^[\w\W]*}}/g),S34=L5(/<%[\w\W]*|^[\w\W]*%>/g),Y34=L5(/\${[\w\W]*/g),R34=L5(/^data-[\-\w.\u00B7-\uFFFF]+$/),T34=L5(/^aria-[\-\w]+$/),rH0=L5(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),O34=L5(/^(?:\w+script|data):/i),I34=L5(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),P34=L5(/^html$/i),j34=L5(/^[a-z][.\w]*(-[.\w]+)+$/i),gH0=L5(/<[/\w!]/g),cH0=L5(/<[/\w]/g),N34=L5(/<\/no(script|embed|frames)/i),V34=L5(/\/>/i),BE={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},dH0=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],h34=c2(x1({},dH0)),i34=function(){let u={};return YJ(dH0,(B)=>{u[B]=L5(new RegExp("</"+B+"(?=[\\t\\n\\f\\r />])","i"))}),c2(u)}();C8=sH0()});var Nl0={};ju(Nl0,{version:()=>Pl0,renderToString:()=>Rl0,render:()=>Ue,default:()=>R64,__setFontMetrics:()=>iq0,__renderToHTMLTree:()=>Il0,__renderToDomTree:()=>pj,__parse:()=>Tl0,__domTree:()=>jl0,__defineSymbol:()=>s,__defineMacro:()=>R0,__defineFunction:()=>H4,SETTINGS_SCHEMA:()=>Sj,ParseError:()=>B4});function p34(u){if(typeof u!=="string")return u.enum[0];switch(u){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw Error("Unexpected schema type; settings must declare an explicit default.")}}function n34(u){if(u.default!==void 0)return u.default;var B=Array.isArray(u.type)?u.type[0]:u.type;return p34(B)}function d34(u,B,E,A){var C=E[B];u[B]=C!==void 0?A.processor?A.processor(C):C:n34(A)}class jj{constructor(u){if(u===void 0)u={};this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,u=u||{};for(var B of Object.keys(Sj)){var E=Sj[B];if(E)d34(this,B,u,E)}}reportNonstrict(u,B,E){var A=this.strict;if(typeof A==="function")A=A(u,B,E);if(!A||A==="ignore")return;else if(A===!0||A==="error")throw new B4("LaTeX-incompatible input and strict mode is set to 'error': "+(B+" ["+u+"]"),E);else if(A==="warn")typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(B+" ["+u+"]"));else typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+A+"': "+B+" ["+u+"]"))}useStrictBehavior(u,B,E){var A=this.strict;if(typeof A==="function")try{A=A(u,B,E)}catch(C){A="error"}if(!A||A==="ignore")return!1;else if(A===!0||A==="error")return!0;else if(A==="warn")return typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(B+" ["+u+"]")),!1;else return typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+A+"': "+B+" ["+u+"]")),!1}isTrusted(u){if("url"in u&&u.url&&!u.protocol){var B=_34(u.url);if(B==null)return!1;u.protocol=B}var E=typeof this.trust==="function"?this.trust(u):this.trust;return Boolean(E)}}class Xz{constructor(u,B,E){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=u,this.size=B,this.cramped=E}sup(){return kF[s34[this.id]]}sub(){return kF[o34[this.id]]}fracNum(){return kF[t34[this.id]]}fracDen(){return kF[e34[this.id]]}cramp(){return kF[u14[this.id]]}text(){return kF[B14[this.id]]}isTight(){return this.size>=2}}function E14(u){for(var B=0;B<Yt.length;B++){var E=Yt[B];for(var A=0;A<E.blocks.length;A++){var C=E.blocks[A];if(u>=C[0]&&u<=C[1])return E.name}}return null}function Iq0(u){for(var B=0;B<vj.length;B+=2)if(u>=vj[B]&&u<=vj[B+1])return!0;return!1}function Z14(u){return"toText"in u}class OJ{constructor(u){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=u,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(u){return this.classes.includes(u)}toNode(){var u=document.createDocumentFragment();for(var B=0;B<this.children.length;B++)u.appendChild(this.children[B].toNode());return u}toMarkup(){var u="";for(var B=0;B<this.children.length;B++)u+=this.children[B].toMarkup();return u}toText(){return this.children.map((u)=>{if(Z14(u))return u.toText();throw Error("Expected MathDomNode with toText, got "+u.constructor.name)}).join("")}}class IJ{constructor(u,B,E,A){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,this.italic=void 0,jq0.call(this,u,E,A),this.children=B||[]}setAttribute(u,B){this.attributes[u]=B}hasClass(u){return this.classes.includes(u)}toNode(){return Nq0.call(this,"span")}toMarkup(){return Vq0.call(this,"span")}}class qx{constructor(u,B,E,A){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,jq0.call(this,B,A),this.children=E||[],this.setAttribute("href",u)}setAttribute(u,B){this.attributes[u]=B}hasClass(u){return this.classes.includes(u)}toNode(){return Nq0.call(this,"a")}toMarkup(){return Vq0.call(this,"a")}}class hq0{constructor(u,B,E){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=B,this.src=u,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=E}hasClass(u){return this.classes.includes(u)}toNode(){var u=document.createElement("img");return u.src=this.src,u.alt=this.alt,u.className="mord",Object.assign(u.style,this.style),u}toMarkup(){var u='<img src="'+T7(this.src)+'"'+(' alt="'+T7(this.alt)+'"'),B=pt(this.style);if(B)u+=' style="'+T7(B)+'"';return u+="'/>",u}}class F8{constructor(u,B,E,A,C,D,F,U){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=u,this.height=B||0,this.depth=E||0,this.italic=A||0,this.skew=C||0,this.width=D||0,this.classes=F||[],this.style=U||{},this.maxFontSize=0;var z=E14(this.text.charCodeAt(0));if(z)this.classes.push(z+"_fallback");if(/[îïíì]/.test(this.text))this.text=w14[this.text]}hasClass(u){return this.classes.includes(u)}toNode(){var u=document.createTextNode(this.text),B=null;if(this.italic>0)B=document.createElement("span"),B.style.marginRight=z4(this.italic);if(this.classes.length>0)B=B||document.createElement("span"),B.className=af(this.classes);if(Object.keys(this.style).length>0)B=B||document.createElement("span"),Object.assign(B.style,this.style);if(B)return B.appendChild(u),B;else return u}toMarkup(){var u=!1,B="<span";if(this.classes.length)u=!0,B+=' class="',B+=T7(af(this.classes)),B+='"';var E="";if(this.italic>0)E+="margin-right:"+z4(this.italic)+";";if(E+=pt(this.style),E)u=!0,B+=' style="'+T7(E)+'"';var A=T7(this.text);if(u)return B+=">",B+=A,B+="</span>",B;else return A}}class MF{constructor(u,B){this.children=void 0,this.attributes=void 0,this.children=u||[],this.attributes=B||{}}toNode(){var u="http://www.w3.org/2000/svg",B=document.createElementNS(u,"svg");for(var E of Object.keys(this.attributes))B.setAttribute(E,this.attributes[E]);for(var A=0;A<this.children.length;A++)B.appendChild(this.children[A].toNode());return B}toMarkup(){var u='<svg xmlns="http://www.w3.org/2000/svg"';for(var B of Object.keys(this.attributes))u+=" "+B+'="'+T7(this.attributes[B])+'"';u+=">";for(var E=0;E<this.children.length;E++)u+=this.children[E].toMarkup();return u+="</svg>",u}}class Sz{constructor(u,B){this.pathName=void 0,this.alternate=void 0,this.pathName=u,this.alternate=B}toNode(){var u="http://www.w3.org/2000/svg",B=document.createElementNS(u,"path");if(this.alternate)B.setAttribute("d",this.alternate);else B.setAttribute("d",oH0[this.pathName]);return B}toMarkup(){if(this.alternate)return'<path d="'+T7(this.alternate)+'"/>';else return'<path d="'+T7(oH0[this.pathName])+'"/>'}}class Rj{constructor(u){this.attributes=void 0,this.attributes=u||{}}toNode(){var u="http://www.w3.org/2000/svg",B=document.createElementNS(u,"line");for(var E of Object.keys(this.attributes))B.setAttribute(E,this.attributes[E]);return B}toMarkup(){var u="<line";for(var B of Object.keys(this.attributes))u+=" "+B+'="'+T7(this.attributes[B])+'"';return u+="/>",u}}function Q14(u){if(u instanceof F8)return u;else throw Error("Expected symbolNode but got "+String(u)+".")}function G14(u){if(u instanceof IJ)return u;else throw Error("Expected span<HtmlDomNode> but got "+String(u)+".")}function iq0(u,B){fF[u]=B}function nt(u,B,E){if(!fF[B])throw Error("Font metrics not found for font: "+B+".");var A=u.charCodeAt(0),C=fF[B][A];if(!C&&u[0]in tH0)A=tH0[u[0]].charCodeAt(0),C=fF[B][A];if(!C&&E==="text"){if(Iq0(A))C=fF[B][77]}if(C)return{depth:C[0],height:C[1],italic:C[2],skew:C[3],width:C[4]}}function q14(u){var B;if(u>=5)B=0;else if(u>=3)B=1;else B=2;if(!wt[B]){var E=wt[B]={cssEmPerMu:Qj.quad[B]/18};for(var A in Qj)if(Qj.hasOwnProperty(A))E[A]=Qj[A][B]}return wt[B]}function s(u,B,E,A,C,D){if(E9[u][C]={font:B,group:E,replace:A},D&&A)E9[u][A]=E9[u][C]}function H4(u){var{type:B,names:E,props:A,handler:C,htmlBuilder:D,mathmlBuilder:F}=u,U={type:B,numArgs:A.numArgs,argTypes:A.argTypes,allowedInArgument:!!A.allowedInArgument,allowedInText:!!A.allowedInText,allowedInMath:A.allowedInMath===void 0?!0:A.allowedInMath,numOptionalArgs:A.numOptionalArgs||0,infix:!!A.infix,primitive:!!A.primitive,handler:C};for(var z=0;z<E.length;++z)gq0[E[z]]=U;if(B){if(D)Oj[B]=D;if(F)Ij[B]=F}}function PJ(u){var{type:B,htmlBuilder:E,mathmlBuilder:A}=u;H4({type:B,names:[],props:{numArgs:0},handler(){throw Error("Should never be called.")},htmlBuilder:E,mathmlBuilder:A})}function Hj(u,B){var E=u4(["base"],u,B),A=u4(["strut"]);if(A.style.height=z4(E.height+E.depth),E.depth)A.style.verticalAlign=z4(-E.depth);return E.children.unshift(A),E}function at(u,B){var E=null;if(u.length===1&&u[0].type==="tag")E=u[0].tag,u=u[0].body;var A=p2(u,B,"root"),C;if(A.length===2&&A[1].hasClass("tag"))C=A.pop();var D=[],F=[];for(var U=0;U<A.length;U++)if(F.push(A[U]),A[U].hasClass("mbin")||A[U].hasClass("mrel")||A[U].hasClass("allowbreak")){var z=!1;while(U<A.length-1&&A[U+1].hasClass("mspace")&&!A[U+1].hasClass("newline"))if(U++,F.push(A[U]),A[U].hasClass("nobreak"))z=!0;if(!z)D.push(Hj(F,B)),F=[]}else if(A[U].hasClass("newline")){if(F.pop(),F.length>0)D.push(Hj(F,B)),F=[];D.push(A[U])}if(F.length>0)D.push(Hj(F,B));var k;if(E)k=Hj(p2(E,B,!0),B),k.classes=["tag"],D.push(k);else if(C)D.push(C);var f=u4(["katex-html"],D);if(f.setAttribute("aria-hidden","true"),k){var M=k.children[0];if(M.style.height=z4(f.height+f.depth),f.depth)M.style.verticalAlign=z4(-f.depth)}return f}function _q0(u){return new OJ(u)}class E4{constructor(u,B,E){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=u,this.attributes={},this.children=B||[],this.classes=E||[]}setAttribute(u,B){this.attributes[u]=B}getAttribute(u){return this.attributes[u]}toNode(){var u=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var B in this.attributes)if(Object.prototype.hasOwnProperty.call(this.attributes,B))u.setAttribute(B,this.attributes[B]);if(this.classes.length>0)u.className=af(this.classes);for(var E=0;E<this.children.length;E++)if(this.children[E]instanceof E2&&this.children[E+1]instanceof E2){var A=this.children[E].toText()+this.children[++E].toText();while(this.children[E+1]instanceof E2)A+=this.children[++E].toText();u.appendChild(new E2(A).toNode())}else u.appendChild(this.children[E].toNode());return u}toMarkup(){var u="<"+this.type;for(var B in this.attributes)if(Object.prototype.hasOwnProperty.call(this.attributes,B))u+=" "+B+'="',u+=T7(this.attributes[B]),u+='"';if(this.classes.length>0)u+=' class ="'+T7(af(this.classes))+'"';u+=">";for(var E=0;E<this.children.length;E++)u+=this.children[E].toMarkup();return u+="</"+this.type+">",u}toText(){return this.children.map((u)=>u.toText()).join("")}}class E2{constructor(u){this.text=void 0,this.text=u}toNode(){return document.createTextNode(this.text)}toMarkup(){return T7(this.toText())}toText(){return this.text}}class ot{constructor(u){if(this.width=void 0,this.character=void 0,this.width=u,u>=0.05555&&u<=0.05556)this.character="";else if(u>=0.1666&&u<=0.1667)this.character="";else if(u>=0.2222&&u<=0.2223)this.character="";else if(u>=0.2777&&u<=0.2778)this.character="";else if(u>=-0.05556&&u<=-0.05555)this.character="";else if(u>=-0.1667&&u<=-0.1666)this.character="";else if(u>=-0.2223&&u<=-0.2222)this.character="";else if(u>=-0.2778&&u<=-0.2777)this.character="";else this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);else{var u=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return u.setAttribute("width",z4(this.width)),u}}toMarkup(){if(this.character)return"<mtext>"+this.character+"</mtext>";else return'<mspace width="'+z4(this.width)+'"/>'}toText(){if(this.character)return this.character;else return" "}}function Qt(u){if(!u)return!1;if(u.type==="mi"&&u.children.length===1){var B=u.children[0];return B instanceof E2&&B.text==="."}else if(u.type==="mo"&&u.children.length===1&&u.getAttribute("separator")==="true"&&u.getAttribute("lspace")==="0em"&&u.getAttribute("rspace")==="0em"){var E=u.children[0];return E instanceof E2&&E.text===","}else return!1}function zq0(u,B,E,A,C){var D=DE(u,E),F;if(D.length===1&&D[0]instanceof E4&&N14.has(D[0].type))F=D[0];else F=new E4("mrow",D);var U=new E4("annotation",[new E2(B)]);U.setAttribute("encoding","application/x-tex");var z=new E4("semantics",[F,U]),k=new E4("math",[z]);if(k.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),A)k.setAttribute("display","block");var f=C?"katex":"katex-mathml";return u4([f],[k])}class xz{constructor(u){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=u.style,this.color=u.color,this.size=u.size||xz.BASESIZE,this.textSize=u.textSize||this.size,this.phantom=!!u.phantom,this.font=u.font||"",this.fontFamily=u.fontFamily||"",this.fontWeight=u.fontWeight||"",this.fontShape=u.fontShape||"",this.sizeMultiplier=kq0[this.size-1],this.maxSize=u.maxSize,this.minRuleThickness=u.minRuleThickness,this._fontMetrics=void 0}extend(u){var B={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(B,u),new xz(B)}havingStyle(u){if(this.style===u)return this;else return this.extend({style:u,size:fq0(this.textSize,u)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(u){if(this.size===u&&this.textSize===u)return this;else return this.extend({style:this.style.text(),size:u,textSize:u,sizeMultiplier:kq0[u-1]})}havingBaseStyle(u){u=u||this.style.text();var B=fq0(xz.BASESIZE,u);if(this.size===B&&this.textSize===xz.BASESIZE&&this.style===u)return this;else return this.extend({style:u,size:B})}havingBaseSizing(){var u;switch(this.style.id){case 4:case 5:u=3;break;case 6:case 7:u=1;break;default:u=6}return this.extend({style:this.style.text(),size:u})}withColor(u){return this.extend({color:u})}withPhantom(){return this.extend({phantom:!0})}withFont(u){return this.extend({font:u})}withTextFontFamily(u){return this.extend({fontFamily:u,font:""})}withTextFontWeight(u){return this.extend({fontWeight:u,font:""})}withTextFontShape(u){return this.extend({fontShape:u,font:""})}sizingClasses(u){if(u.size!==this.size)return["sizing","reset-size"+u.size,"size"+this.size];else return[]}baseSizingClasses(){if(this.size!==xz.BASESIZE)return["sizing","reset-size"+this.size,"size"+xz.BASESIZE];else return[]}fontMetrics(){if(!this._fontMetrics)this._fontMetrics=q14(this.size);return this._fontMetrics}getColor(){if(this.phantom)return"transparent";else return this.color}}function _14(u){return u in g14}function d3(u,B){if(!u||u.type!==B)throw Error("Expected node of type "+B+", but got "+(u?"node of type "+u.type:String(u)));return u}function aj(u){var B=mj(u);if(!B)throw Error("Expected node of symbol group type, but got "+(u?"node of type "+u.type:String(u)));return B}function mj(u){if(u&&(u.type==="atom"||c14.hasOwnProperty(u.type)))return u;return null}function oq0(u,B){var E=p2(u.body,B,!0);return u4([u.mclass],E,B)}function tq0(u,B){var E,A=DE(u.body,B);if(u.mclass==="minner")E=new E4("mpadded",A);else if(u.mclass==="mord")if(u.isCharacterBox)E=A[0],E.type="mi";else E=new E4("mi",A);else{if(u.isCharacterBox)E=A[0],E.type="mo";else E=new E4("mo",A);if(u.mclass==="mbin")E.attributes.lspace="0.22em",E.attributes.rspace="0.22em";else if(u.mclass==="mpunct")E.attributes.lspace="0em",E.attributes.rspace="0.17em";else if(u.mclass==="mopen"||u.mclass==="mclose")E.attributes.lspace="0em",E.attributes.rspace="0em";else if(u.mclass==="minner")E.attributes.lspace="0.0556em",E.attributes.width="+0.1111em"}return E}function s14(u,B,E){var A=n14[u];switch(A){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return E.callFunction(A,[B[0]],[B[1]]);case"\\uparrow":case"\\downarrow":{var C=E.callFunction("\\\\cdleft",[B[0]],[]),D={type:"atom",text:A,mode:"math",family:"rel"},F=E.callFunction("\\Big",[D],[]),U=E.callFunction("\\\\cdright",[B[1]],[]),z={type:"ordgroup",mode:"math",body:[C,F,U]};return E.callFunction("\\\\cdparent",[z],[])}case"\\\\cdlongequal":return E.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var k={type:"textord",text:"\\Vert",mode:"math"};return E.callFunction("\\Big",[k],[])}default:return{type:"textord",text:" ",mode:"math"}}}function o14(u){var B=[];u.gullet.beginGroup(),u.gullet.macros.set("\\cr","\\\\\\relax"),u.gullet.beginGroup();while(!0){B.push(u.parseExpression(!1,"\\\\")),u.gullet.endGroup(),u.gullet.beginGroup();var E=u.fetch().text;if(E==="&"||E==="\\\\")u.consume();else if(E==="\\end"){if(B[B.length-1].length===0)B.pop();break}else throw new B4("Expected \\\\ or \\cr or \\end",u.nextToken)}var A=[],C=[A];for(var D=0;D<B.length;D++){var F=B[D],U=Mq0();for(var z=0;z<F.length;z++)if(!bq0(F[z]))U.body.push(F[z]);else{A.push(U),z+=1;var k=aj(F[z]).text,f=[,,];if(f[0]={type:"ordgroup",mode:"math",body:[]},f[1]={type:"ordgroup",mode:"math",body:[]},"=|.".includes(k));else if("<>AV".includes(k))for(var M=0;M<2;M++){var b=!0;for(var Z=z+1;Z<F.length;Z++){if(d14(F[Z],k)){b=!1,z=Z;break}if(bq0(F[Z]))throw new B4("Missing a "+k+" character to complete a CD arrow.",F[Z]);f[M].body.push(F[Z])}if(b)throw new B4("Missing a "+k+" character to complete a CD arrow.",F[z])}else throw new B4('Expected one of "<>AV=|." after @',F[z]);var J=s14(k,f,u),K={type:"styling",body:[J],mode:"math",style:"display",resetFont:!0};A.push(K),U=Mq0()}if(D%2===0)A.push(U);else A.shift();A=[],C.push(A)}u.gullet.endGroup(),u.gullet.endGroup();var w=Array(C[0].length).fill({type:"align",align:"c",pregap:0.25,postgap:0.25});return{type:"array",mode:"math",body:C,arraystretch:1,addJot:!0,rowGaps:[null],cols:w,colSeparationType:"CD",hLinesBeforeRow:Array(C.length+1).fill([])}}function Jq0(u){return"isMiddle"in u}function yj(u,B){var E=mj(u);if(E&&z64.has(E.text))return E;else if(E)throw new B4("Invalid delimiter '"+E.text+"' after '"+B.funcName+"'",u);else throw new B4("Invalid delimiter type '"+u.type+"'",u)}function Kq0(u){if(!u.body)throw Error("Bug: The leftright ParseNode wasn't fully parsed.")}function bF(u){var{type:B,names:E,props:A,handler:C,htmlBuilder:D,mathmlBuilder:F}=u,U={type:B,numArgs:A.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:C};for(var z=0;z<E.length;++z)Ml0[E[z]]=U;if(D)Oj[B]=D;if(F)Ij[B]=F}function R0(u,B){bl0[u]=B}class D8{constructor(u,B,E){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=u,this.start=B,this.end=E}static range(u,B){if(!B)return u&&u.loc;else if(!u||!u.loc||!B.loc||u.loc.lexer!==B.loc.lexer)return null;else return new D8(u.loc.lexer,u.loc.start,B.loc.end)}}class AE{constructor(u,B){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=u,this.loc=B}range(u,B){return new AE(B,D8.range(this,u))}}function wq0(u){var B=[];u.consumeSpaces();var E=u.fetch().text;if(E==="\\relax")u.consume(),u.consumeSpaces(),E=u.fetch().text;while(E==="\\hline"||E==="\\hdashline")u.consume(),B.push(E==="\\hdashline"),u.consumeSpaces(),E=u.fetch().text;return B}function Ee(u){if(!u.includes("ed"))return!u.includes("*")}function yf(u,B,E){var{hskipBeforeAndAfter:A,addJot:C,cols:D,arraystretch:F,colSeparationType:U,autoTag:z,singleRow:k,emptySingleRow:f,maxNumCols:M,leqno:b}=B;if(u.gullet.beginGroup(),!k)u.gullet.macros.set("\\cr","\\\\\\relax");if(!F){var Z=u.gullet.expandMacroAsText("\\arraystretch");if(Z==null)F=1;else if(F=parseFloat(Z),!F||F<0)throw new B4("Invalid \\arraystretch: "+Z)}u.gullet.beginGroup();var J=[],K=[J],w=[],Q=[],G=z!=null?[]:void 0;function H(){if(z)u.gullet.macros.set("\\@eqnsw","1",!0)}function l(){if(G)if(u.gullet.macros.get("\\df@tag"))G.push(u.subparse([new AE("\\df@tag")])),u.gullet.macros.set("\\df@tag",void 0,!0);else G.push(Boolean(z)&&u.gullet.macros.get("\\@eqnsw")==="1")}H(),Q.push(wq0(u));while(!0){var q=u.parseExpression(!1,k?"\\end":"\\\\");u.gullet.endGroup(),u.gullet.beginGroup();var L={type:"ordgroup",mode:u.mode,body:q};if(E)L={type:"styling",mode:u.mode,style:E,resetFont:!0,body:[L]};J.push(L);var v=u.fetch().text;if(v==="&"){if(M&&J.length===M)if(k||U)throw new B4("Too many tab characters: &",u.nextToken);else u.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.");u.consume()}else if(v==="\\end"){if(l(),J.length===1&&L.type==="styling"&&L.body.length===1&&L.body[0].type==="ordgroup"&&L.body[0].body.length===0&&(K.length>1||!f))K.pop();if(Q.length<K.length+1)Q.push([]);break}else if(v==="\\\\"){u.consume();var x=void 0;if(u.gullet.future().text!==" ")x=u.parseSizeGroup(!0);w.push(x?x.value:null),l(),Q.push(wq0(u)),J=[],K.push(J),H()}else throw new B4("Expected & or \\\\ or \\cr or \\end",u.nextToken)}return u.gullet.endGroup(),u.gullet.endGroup(),{type:"array",mode:u.mode,addJot:C,arraystretch:F,body:K,cols:D,rowGaps:w,hskipBeforeAndAfter:A,hLinesBeforeRow:Q,colSeparationType:U,tags:G,leqno:b}}function Ae(u){if(u.slice(0,1)==="d")return"display";else return"text"}function ll0(u,B,E){var A=p2(u,B,!1),C=B.sizeMultiplier/E.sizeMultiplier;for(var D=0;D<A.length;D++){var F=A[D].classes.indexOf("sizing");if(F<0)Array.prototype.push.apply(A[D].classes,B.sizingClasses(E));else if(A[D].classes[F+1]==="reset-size"+B.size)A[D].classes[F+1]="reset-size"+E.size;A[D].height*=C,A[D].depth*=C}return Tz(A)}function G64(u){return u in rt}class ct{constructor(u,B){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=u,this.settings=B,this.tokenRegex=new RegExp(W64,"g"),this.catcodes={"%":14,"~":13}}setCatcode(u,B){this.catcodes[u]=B}lex(){var u=this.input,B=this.tokenRegex.lastIndex;if(B===u.length)return new AE("EOF",new D8(this,B,B));var E=this.tokenRegex.exec(u);if(E===null||E.index!==B)throw new B4("Unexpected character: '"+u[B]+"'",new AE(u[B],new D8(this,B,B+1)));var A=E[6]||E[3]||(E[2]?"\\ ":" ");if(this.catcodes[A]===14){var C=u.indexOf(`
`,this.tokenRegex.lastIndex);if(C===-1)this.tokenRegex.lastIndex=u.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)");else this.tokenRegex.lastIndex=C+1;return this.lex()}return new AE(A,new D8(this,B,this.tokenRegex.lastIndex))}}class vl0{constructor(u,B){if(u===void 0)u={};if(B===void 0)B={};this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=B,this.builtins=u,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new B4("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var u=this.undefStack.pop();for(var B in u)if(u.hasOwnProperty(B))if(u[B]==null)delete this.current[B];else this.current[B]=u[B]}endGroups(){while(this.undefStack.length>0)this.endGroup()}has(u){return this.current.hasOwnProperty(u)||this.builtins.hasOwnProperty(u)}get(u){if(this.current.hasOwnProperty(u))return this.current[u];else return this.builtins[u]}set(u,B,E){if(E===void 0)E=!1;if(E){for(var A=0;A<this.undefStack.length;A++)delete this.undefStack[A][u];if(this.undefStack.length>0)this.undefStack[this.undefStack.length-1][u]=B}else{var C=this.undefStack[this.undefStack.length-1];if(C&&!C.hasOwnProperty(u))C[u]=this.current[u]}if(B==null)delete this.current[u];else this.current[u]=B}}class Yl0{constructor(u,B,E){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=B,this.expansionCount=0,this.feed(u),this.macros=new vl0(S64,B.macros),this.mode=E,this.stack=[]}feed(u){this.lexer=new ct(u,this.settings)}switchMode(u){this.mode=u}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){if(this.stack.length===0)this.pushToken(this.lexer.lex());return this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(u){this.stack.push(u)}pushTokens(u){this.stack.push(...u)}scanArgument(u){var B,E,A;if(u){if(this.consumeSpaces(),this.future().text!=="[")return null;B=this.popToken(),{tokens:A,end:E}=this.consumeArg(["]"])}else({tokens:A,start:B,end:E}=this.consumeArg());return this.pushToken(new AE("EOF",E.loc)),this.pushTokens(A),new AE("",D8.range(B,E))}consumeSpaces(){for(;;){var u=this.future();if(u.text===" ")this.stack.pop();else break}}consumeArg(u){var B=[],E=u&&u.length>0;if(!E)this.consumeSpaces();var A=this.future(),C,D=0,F=0;do{if(C=this.popToken(),B.push(C),C.text==="{")++D;else if(C.text==="}"){if(--D,D===-1)throw new B4("Extra }",C)}else if(C.text==="EOF")throw new B4("Unexpected end of input in a macro argument, expected '"+(u&&E?u[F]:"}")+"'",C);if(u&&E)if((D===0||D===1&&u[F]==="{")&&C.text===u[F]){if(++F,F===u.length){B.splice(-F,F);break}}else F=0}while(D!==0||E);if(A.text==="{"&&B[B.length-1].text==="}")B.pop(),B.shift();return B.reverse(),{tokens:B,start:A,end:C}}consumeArgs(u,B){if(B){if(B.length!==u+1)throw new B4("The length of delimiters doesn't match the number of args!");var E=B[0];for(var A=0;A<E.length;A++){var C=this.popToken();if(E[A]!==C.text)throw new B4("Use of the macro doesn't match its definition",C)}}var D=[];for(var F=0;F<u;F++)D.push(this.consumeArg(B&&B[F+1]).tokens);return D}countExpansion(u){if(this.expansionCount+=u,this.expansionCount>this.settings.maxExpand)throw new B4("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(u){var B=this.popToken(),E=B.text,A=!B.noexpand?this._getExpansion(E):null;if(A==null||u&&A.unexpandable){if(u&&A==null&&E[0]==="\\"&&!this.isDefined(E))throw new B4("Undefined control sequence: "+E);return this.pushToken(B),!1}this.countExpansion(1);var C=A.tokens,D=this.consumeArgs(A.numArgs,A.delimiters);if(A.numArgs){C=C.slice();for(var F=C.length-1;F>=0;--F){var U=C[F];if(U.text==="#"){if(F===0)throw new B4("Incomplete placeholder at end of macro body",U);if(U=C[--F],U.text==="#")C.splice(F+1,1);else if(/^[1-9]$/.test(U.text))C.splice(F,2,...D[+U.text-1]);else throw new B4("Not a valid argument number",U)}}}return this.pushTokens(C),C.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var u=this.stack.pop();if(u.treatAsRelax)u.text="\\relax";return u}}expandMacro(u){return this.macros.has(u)?this.expandTokens([new AE(u)]):void 0}expandTokens(u){var B=[],E=this.stack.length;this.pushTokens(u);while(this.stack.length>E)if(this.expandOnce(!0)===!1){var A=this.stack.pop();if(A.treatAsRelax)A.noexpand=!1,A.treatAsRelax=!1;B.push(A)}return this.countExpansion(B.length),B}expandMacroAsText(u){var B=this.expandMacro(u);if(B)return B.map((E)=>E.text).join("");else return B}_getExpansion(u){var B=this.macros.get(u);if(B==null)return B;if(u.length===1){var E=this.lexer.catcodes[u];if(E!=null&&E!==13)return}var A=typeof B==="function"?B(this):B;if(typeof A==="string"){var C=0;if(A.includes("#")){var D=A.replace(/##/g,"");while(D.includes("#"+(C+1)))++C}var F=new ct(A,this.settings),U=[],z=F.lex();while(z.text!=="EOF")U.push(z),z=F.lex();U.reverse();var k={tokens:U,numArgs:C};return k}return A}isDefined(u){return this.macros.has(u)||hf.hasOwnProperty(u)||E9.math.hasOwnProperty(u)||E9.text.hasOwnProperty(u)||Sl0.hasOwnProperty(u)}isExpandable(u){var B=this.macros.get(u);return B!=null?typeof B==="string"||typeof B==="function"||!B.unexpandable:hf.hasOwnProperty(u)&&!hf[u].primitive}}class _j{constructor(u,B){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Yl0(u,B,this.mode),this.settings=B,this.leftrightDepth=0,this.nextToken=null}expect(u,B){if(B===void 0)B=!0;if(this.fetch().text!==u)throw new B4("Expected '"+u+"', got '"+this.fetch().text+"'",this.fetch());if(B)this.consume()}consume(){this.nextToken=null}fetch(){if(this.nextToken==null)this.nextToken=this.gullet.expandNextToken();return this.nextToken}switchMode(u){this.mode=u,this.gullet.switchMode(u)}parse(){if(!this.settings.globalGroup)this.gullet.beginGroup();if(this.settings.colorIsTextColor)this.gullet.macros.set("\\color","\\textcolor");try{var u=this.parseExpression(!1);if(this.expect("EOF"),!this.settings.globalGroup)this.gullet.endGroup();return u}finally{this.gullet.endGroups()}}subparse(u){var B=this.nextToken;this.consume(),this.gullet.pushToken(new AE("}")),this.gullet.pushTokens(u);var E=this.parseExpression(!1);return this.expect("}"),this.nextToken=B,E}parseExpression(u,B){var E=[];while(!0){if(this.mode==="math")this.consumeSpaces();var A=this.fetch();if(_j.endOfExpression.has(A.text))break;if(B&&A.text===B)break;if(u&&hf[A.text]&&hf[A.text].infix)break;var C=this.parseAtom(B);if(!C)break;else if(C.type==="internal")continue;E.push(C)}if(this.mode==="text")this.formLigatures(E);return this.handleInfixNodes(E)}handleInfixNodes(u){var B=-1,E;for(var A=0;A<u.length;A++){var C=u[A];if(C.type==="infix"){if(B!==-1)throw new B4("only one infix operator per group",C.token);B=A,E=C.replaceWith}}if(B!==-1&&E){var D,F,U=u.slice(0,B),z=u.slice(B+1);if(U.length===1&&U[0].type==="ordgroup")D=U[0];else D={type:"ordgroup",mode:this.mode,body:U};if(z.length===1&&z[0].type==="ordgroup")F=z[0];else F={type:"ordgroup",mode:this.mode,body:z};var k;if(E==="\\\\abovefrac")k=this.callFunction(E,[D,u[B],F],[]);else k=this.callFunction(E,[D,F],[]);return[k]}else return u}handleSupSubscript(u){var B=this.fetch(),E=B.text;this.consume(),this.consumeSpaces();var A;do{var C;A=this.parseGroup(u)}while(((C=A)==null?void 0:C.type)==="internal");if(!A)throw new B4("Expected group after '"+E+"'",B);return A}formatUnsupportedCmd(u){var B=[];for(var E=0;E<u.length;E++)B.push({type:"textord",mode:"text",text:u[E]});var A={type:"text",mode:this.mode,body:B},C={type:"color",mode:this.mode,color:this.settings.errorColor,body:[A]};return C}parseAtom(u){var B=this.parseGroup("atom",u);if((B==null?void 0:B.type)==="internal")return B;if(this.mode==="text")return B;var E,A;while(!0){this.consumeSpaces();var C=this.fetch();if(C.text==="\\limits"||C.text==="\\nolimits"){if(B&&B.type==="op"){var D=C.text==="\\limits";B.limits=D,B.alwaysHandleSupSub=!0}else if(B&&B.type==="operatorname"){if(B.alwaysHandleSupSub)B.limits=C.text==="\\limits"}else throw new B4("Limit controls must follow a math operator",C);this.consume()}else if(C.text==="^"){if(E)throw new B4("Double superscript",C);E=this.handleSupSubscript("superscript")}else if(C.text==="_"){if(A)throw new B4("Double subscript",C);A=this.handleSupSubscript("subscript")}else if(C.text==="'"){if(E)throw new B4("Double superscript",C);var F={type:"textord",mode:this.mode,text:"\\prime"},U=[F];this.consume();while(this.fetch().text==="'")U.push(F),this.consume();if(this.fetch().text==="^")U.push(this.handleSupSubscript("superscript"));E={type:"ordgroup",mode:this.mode,body:U}}else if(Lj[C.text]){var z=Tq0.test(C.text),k=[];k.push(new AE(Lj[C.text])),this.consume();while(!0){var f=this.fetch().text;if(!Lj[f])break;if(Tq0.test(f)!==z)break;k.unshift(new AE(Lj[f])),this.consume()}var M=this.subparse(k);if(z)A={type:"ordgroup",mode:"math",body:M};else E={type:"ordgroup",mode:"math",body:M}}else break}if(E||A)return{type:"supsub",mode:this.mode,base:B,sup:E,sub:A};else return B}parseFunction(u,B){var E=this.fetch(),A=E.text,C=hf[A];if(!C)return null;if(this.consume(),B&&B!=="atom"&&!C.allowedInArgument)throw new B4("Got function '"+A+"' with no arguments"+(B?" as "+B:""),E);else if(this.mode==="text"&&!C.allowedInText)throw new B4("Can't use function '"+A+"' in text mode",E);else if(this.mode==="math"&&C.allowedInMath===!1)throw new B4("Can't use function '"+A+"' in math mode",E);var{args:D,optArgs:F}=this.parseArguments(A,C);return this.callFunction(A,D,F,E,u)}callFunction(u,B,E,A,C){var D={funcName:u,parser:this,token:A,breakOnTokenText:C},F=hf[u];if(F&&F.handler)return F.handler(D,B,E);else throw new B4("No function handler for "+u)}parseArguments(u,B){var E=B.numArgs+B.numOptionalArgs;if(E===0)return{args:[],optArgs:[]};var A=[],C=[];for(var D=0;D<E;D++){var F=B.argTypes&&B.argTypes[D],U=D<B.numOptionalArgs;if("primitive"in B&&B.primitive&&F==null||B.type==="sqrt"&&D===1&&C[0]==null)F="primitive";var z=this.parseGroupOfType("argument to '"+u+"'",F,U);if(U)C.push(z);else if(z!=null)A.push(z);else throw new B4("Null argument, please report this as a bug")}return{args:A,optArgs:C}}parseGroupOfType(u,B,E){switch(B){case"color":return this.parseColorGroup(E);case"size":return this.parseSizeGroup(E);case"url":return this.parseUrlGroup(E);case"math":case"text":return this.parseArgumentGroup(E,B);case"hbox":{var A=this.parseArgumentGroup(E,"text");return A!=null?{type:"styling",mode:A.mode,body:[A],style:"text",resetFont:!0}:null}case"raw":{var C=this.parseStringGroup("raw",E);return C!=null?{type:"raw",mode:"text",string:C.text}:null}case"primitive":{if(E)throw new B4("A primitive argument cannot be optional");var D=this.parseGroup(u);if(D==null)throw new B4("Expected group as "+u,this.fetch());return D}case"original":case null:case void 0:return this.parseArgumentGroup(E);default:throw new B4("Unknown group type as "+u,this.fetch())}}consumeSpaces(){while(this.fetch().text===" ")this.consume()}parseStringGroup(u,B){var E=this.gullet.scanArgument(B);if(E==null)return null;var A="",C;while((C=this.fetch()).text!=="EOF")A+=C.text,this.consume();return this.consume(),E.text=A,E}parseRegexGroup(u,B){var E=this.fetch(),A=E,C="",D;while((D=this.fetch()).text!=="EOF"&&u.test(C+D.text))A=D,C+=A.text,this.consume();if(C==="")throw new B4("Invalid "+B+": '"+E.text+"'",E);return E.range(A,C)}parseColorGroup(u){var B=this.parseStringGroup("color",u);if(B==null)return null;var E=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(B.text);if(!E)throw new B4("Invalid color: '"+B.text+"'",B);var A=E[0];if(/^[0-9a-f]{6}$/i.test(A))A="#"+A;return{type:"color-token",mode:this.mode,color:A}}parseSizeGroup(u){var B,E=!1;if(this.gullet.consumeSpaces(),!u&&this.gullet.future().text!=="{")B=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size");else B=this.parseStringGroup("size",u);if(!B)return null;if(!u&&B.text.length===0)B.text="0pt",E=!0;var A=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(B.text);if(!A)throw new B4("Invalid size: '"+B.text+"'",B);var C={number:+(A[1]+A[2]),unit:A[3]};if(!Pq0(C))throw new B4("Invalid unit: '"+C.unit+"'",B);return{type:"size",mode:this.mode,value:C,isBlank:E}}parseUrlGroup(u){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var B=this.parseStringGroup("url",u);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),B==null)return null;var E=B.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:E}}parseArgumentGroup(u,B){var E=this.gullet.scanArgument(u);if(E==null)return null;var A=this.mode;if(B)this.switchMode(B);this.gullet.beginGroup();var C=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var D={type:"ordgroup",mode:this.mode,loc:E.loc,body:C};if(B)this.switchMode(A);return D}parseGroup(u,B){var E=this.fetch(),A=E.text,C;if(A==="{"||A==="\\begingroup"){this.consume();var D=A==="{"?"}":"\\endgroup";this.gullet.beginGroup();var F=this.parseExpression(!1,D),U=this.fetch();this.expect(D),this.gullet.endGroup(),C={type:"ordgroup",mode:this.mode,loc:D8.range(E,U),body:F,semisimple:A==="\\begingroup"||void 0}}else if(C=this.parseFunction(B,u)||this.parseSymbol(),C==null&&A[0]==="\\"&&!Sl0.hasOwnProperty(A)){if(this.settings.throwOnError)throw new B4("Undefined control sequence: "+A,E);C=this.formatUnsupportedCmd(A),this.consume()}return C}formLigatures(u){var B=u.length-1;for(var E=0;E<B;++E){var A=u[E];if(A.type!=="textord")continue;var C=A.text,D=u[E+1];if(!D||D.type!=="textord")continue;if(C==="-"&&D.text==="-"){var F=u[E+2];if(E+1<B&&F&&F.type==="textord"&&F.text==="-")u.splice(E,3,{type:"textord",mode:"text",loc:D8.range(A,F),text:"---"}),B-=2;else u.splice(E,2,{type:"textord",mode:"text",loc:D8.range(A,D),text:"--"}),B-=1}if((C==="'"||C==="`")&&D.text===C)u.splice(E,2,{type:"textord",mode:"text",loc:D8.range(A,D),text:C+C}),B-=1}}parseSymbol(){var u=this.fetch(),B=u.text;if(/^\\verb[^a-zA-Z]/.test(B)){this.consume();var E=B.slice(5),A=E.charAt(0)==="*";if(A)E=E.slice(1);if(E.length<2||E.charAt(0)!==E.slice(-1))throw new B4(`\\verb assertion failed --
please report what input caused this bug`);return E=E.slice(1,-1),{type:"verb",mode:"text",body:E,star:A}}if(Oq0.hasOwnProperty(B[0])&&!E9[this.mode][B[0]]){if(this.settings.strict&&this.mode==="math")this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+B[0]+'" used in math mode',u);B=Oq0[B[0]]+B.slice(1)}var C=x64.exec(B);if(C){if(B=B.substring(0,C.index),B==="i")B="ı";else if(B==="j")B="ȷ"}var D;if(E9[this.mode][B]){if(this.settings.strict&&this.mode==="math"&&Tt.includes(B))this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+B[0]+'" used in math mode',u);var F=E9[this.mode][B].group,U=D8.range(u),z;if(_14(F))z={type:"atom",mode:this.mode,family:F,loc:U,text:B};else z={type:F,mode:this.mode,loc:U,text:B};D=z}else if(B.charCodeAt(0)>=128){if(this.settings.strict){if(!Iq0(B.charCodeAt(0)))this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+B[0]+'"'+(" ("+B.charCodeAt(0)+")"),u);else if(this.mode==="math")this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+B[0]+'" used in math mode',u)}D={type:"textord",mode:"text",loc:D8.range(u),text:B}}else return null;if(this.consume(),C)for(var k=0;k<C[0].length;k++){var f=C[0][k];if(!St[f])throw new B4("Unknown accent ' "+f+"'",u);var M=St[f][this.mode]||St[f].text;if(!M)throw new B4("Accent "+f+" unsupported in "+this.mode+" mode",u);D={type:"accent",mode:this.mode,loc:D8.range(u),label:M,isStretchy:!1,isShifty:!0,base:D}}return D}}var B4,$34,y34=(u)=>u.replace($34,"-$1").toLowerCase(),r34,g34,T7=(u)=>String(u).replace(g34,(B)=>r34[B]),Xj=(u)=>{if(u.type==="ordgroup")if(u.body.length===1)return Xj(u.body[0]);else return u;else if(u.type==="color")if(u.body.length===1)return Xj(u.body[0]);else return u;else if(u.type==="font")return Xj(u.body);else return u},c34,Yz=(u)=>c34.has(Xj(u).type),_34=(u)=>{var B=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(u);if(!B)return"_relative";if(B[2]!==":")return null;if(!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(B[1]))return null;return B[1].toLowerCase()},Sj,_t=0,Yj=1,oG=2,Wz=3,Gx=4,tE=5,tG=6,JB=7,kF,s34,o34,t34,e34,u14,B14,i3,Yt,vj,_2=(u)=>u+" "+u,nG=80,A14=function(B,E){return"M95,"+(622+B+E)+`
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l`+B/2.075+" -"+B+`
c5.3,-9.3,12,-14,20,-14
H400000v`+(40+B)+`H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M`+(834+B)+" "+E+"h400000v"+(40+B)+"h-400000z"},C14=function(B,E){return"M263,"+(601+B+E)+`c0.7,0,18,39.7,52,119
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
c340,-704.7,510.7,-1060.3,512,-1067
l`+B/2.084+" -"+B+`
c4.7,-7.3,11,-11,19,-11
H40000v`+(40+B)+`H1012.3
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
M`+(1001+B)+" "+E+"h400000v"+(40+B)+"h-400000z"},D14=function(B,E){return"M983 "+(10+B+E)+`
l`+B/3.13+" -"+B+`
c4,-6.7,10,-10,18,-10 H400000v`+(40+B)+`
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
M`+(1001+B)+" "+E+"h400000v"+(40+B)+"h-400000z"},F14=function(B,E){return"M424,"+(2398+B+E)+`
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
l`+B/4.223+" -"+B+`c4,-6.7,10,-10,18,-10 H400000
v`+(40+B)+`H1014.6
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
c-2,6,-10,9,-24,9
c-8,0,-12,-0.7,-12,-2z M`+(1001+B)+" "+E+`
h400000v`+(40+B)+"h-400000z"},U14=function(B,E){return"M473,"+(2713+B+E)+`
c339.3,-1799.3,509.3,-2700,510,-2702 l`+B/5.298+" -"+B+`
c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+B)+`H1017.7
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
606zM`+(1001+B)+" "+E+"h400000v"+(40+B)+"H1017.7z"},z14=function(B){var E=B/2;return"M400000 "+B+" H0 L"+E+" 0 l65 45 L145 "+(B-80)+" H400000z"},k14=function(B,E,A){var C=A-54-E-B;return"M702 "+(B+E)+"H400000"+(40+B)+`
H742v`+C+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
219 661 l218 661zM702 `+E+"H400000v"+(40+B)+"H742z"},f14=function(B,E,A){E=1000*E;var C="";switch(B){case"sqrtMain":C=A14(E,nG);break;case"sqrtSize1":C=C14(E,nG);break;case"sqrtSize2":C=D14(E,nG);break;case"sqrtSize3":C=F14(E,nG);break;case"sqrtSize4":C=U14(E,nG);break;case"sqrtTall":C=k14(E,nG,A)}return C},M14=function(B,E){switch(B){case"⎜":return _2("M291 0 H417 V"+E+" H291z");case"":return _2("M145 0 H188 V"+E+" H145z");case"∥":return _2("M145 0 H188 V"+E+" H145z")+_2("M367 0 H410 V"+E+" H367z");case"⎟":return _2("M457 0 H583 V"+E+" H457z");case"⎢":return _2("M319 0 H403 V"+E+" H319z");case"⎥":return _2("M263 0 H347 V"+E+" H263z");case"⎪":return _2("M384 0 H504 V"+E+" H384z");case"⏐":return _2("M312 0 H355 V"+E+" H312z");case"‖":return _2("M257 0 H300 V"+E+" H257z")+_2("M478 0 H521 V"+E+" H478z");default:return""}},oH0,b14=function(B,E){switch(B){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+E+` v1759 v84 h347 v-84
H403z M403 1759 V0 H319 V1759 v`+E+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+E+` v1759 H0 v84 H347z
M347 1759 V0 H263 V1759 v`+E+" v1759 h84z";case"vert":return"M145 15 v585 v"+E+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-E+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+E+" v585 h43z";case"doublevert":return"M145 15 v585 v"+E+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-E+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+E+` v585 h43z
M367 15 v585 v`+E+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-E+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+E+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+E+` v1715 h263 v84 H319z
MM319 602 V0 H403 V602 v`+E+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+E+` v1799 H0 v-84 H319z
MM319 602 V0 H403 V602 v`+E+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+E+` v602 h84z
M403 1759 V0 H319 V1759 v`+E+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+E+` v602 h84z
M347 1759 V0 h-84 V1759 v`+E+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
-36,557 l0,`+(E+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
l0,-`+(E+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(E+9)+`
c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
l0,-`+(E+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw Error("Unknown stretchy delimiter.")}},Rt,J14,Pq0=function(B){if(typeof B!=="string")B=B.unit;return B in Rt||B in J14||B==="ex"},q9=function(B,E){var A;if(B.unit in Rt)A=Rt[B.unit]/E.fontMetrics().ptPerEm/E.sizeMultiplier;else if(B.unit==="mu")A=E.fontMetrics().cssEmPerMu;else{var C;if(E.style.isTight())C=E.havingStyle(E.style.text());else C=E;if(B.unit==="ex")A=C.fontMetrics().xHeight;else if(B.unit==="em")A=C.fontMetrics().quad;else throw new B4("Invalid unit: '"+B.unit+"'");if(C!==E)A*=C.sizeMultiplier/E.sizeMultiplier}return Math.min(B.number*A,E.maxSize)},z4=function(B){return+B.toFixed(4)+"em"},af=function(B){return B.filter((E)=>E).join(" ")},pt=function(B){var E="";for(var A of Object.keys(B)){var C=B[A];if(C!==void 0)E+=y34(A)+":"+C+";"}return E},jq0=function(B,E,A){if(this.classes=B||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=A||{},E){if(E.style.isTight())this.classes.push("mtight");var C=E.getColor();if(C)this.style.color=C}},Nq0=function(B){var E=document.createElement(B);E.className=af(this.classes),Object.assign(E.style,this.style);for(var A of Object.keys(this.attributes))E.setAttribute(A,this.attributes[A]);for(var C=0;C<this.children.length;C++)E.appendChild(this.children[C].toNode());return E},K14,Vq0=function(B){var E="<"+B;if(this.classes.length)E+=' class="'+T7(af(this.classes))+'"';var A=pt(this.style);if(A)E+=' style="'+T7(A)+'"';for(var C of Object.keys(this.attributes)){if(K14.test(C))throw new B4("Invalid attribute name '"+C+"'");E+=" "+C+'="'+T7(this.attributes[C])+'"'}E+=">";for(var D=0;D<this.children.length;D++)E+=this.children[D].toMarkup();return E+="</"+B+">",E},w14,H14=(u)=>u instanceof IJ||u instanceof qx||u instanceof OJ,fF,Qj,tH0,wt,E9,A0="math",nu="text",H0="main",d0="ams",A9="accent-token",x4="bin",KB="close",BH="inner",U3="mathord",l2="op-token",CE="open",lx="punct",o0="rel",Rz="spacing",Au="textord",aq0,eH0='0123456789/@."',xj,bx,uq0='0123456789!@*()-=+";:?/.,',Wj,Zx,Tj="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",dG,Jx,R3,B9,o5,zF,vz,Tt="ÐÞþ",sG,Kx,Ot,Bq0,Eq0,l14,TJ,Aq0,Cq0,Dq0,It,Pt,Fq0,jt,Uq0,L14,X14=(u)=>{var B=u.charCodeAt(0),E=u.charCodeAt(1),A=(B-55296)*1024+(E-56320)+65536;if(119808<=A&&A<120484){var C=Math.floor((A-119808)/26);return Uq0[C]}else if(120782<=A&&A<=120831){var D=Math.floor((A-120782)/10);return L14[D]}else if(A===120485||A===120486)return Uq0[0];else if(120486<A&&A<120782)return TJ;else throw new B4("Unsupported character: "+u)},Nj=function(B,E,A){if(E9[A][B]){var C=E9[A][B].replace;if(C)B=C}return{value:B,metrics:nt(B,E,A)}},ZB=function(B,E,A,C,D){var F=Nj(B,E,A),U=F.metrics;B=F.value;var z;if(U){var k=U.italic;if(A==="text"||C&&C.font==="mathit")k=0;z=new F8(B,U.height,U.depth,k,U.skew,U.width,D)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+B+"' in style '"+E+"' and mode '"+A+"'")),z=new F8(B,0,0,0,0,0,D);if(C){if(z.maxFontSize=C.sizeMultiplier,C.style.isTight())z.classes.push("mtight");var f=C.getColor();if(f)z.style.color=f}return z},dt=function(B,E,A,C){if(C===void 0)C=[];if(A.font==="boldsymbol"&&Nj(B,"Main-Bold",E).metrics)return ZB(B,"Main-Bold",E,A,C.concat(["mathbf"]));else if(B==="\\"||E9[E][B].font==="main")return ZB(B,"Main-Regular",E,A,C);else return ZB(B,"AMS-Regular",E,A,C.concat(["amsrm"]))},v14=function(B,E,A){if(A!=="textord"&&Nj(B,"Math-BoldItalic",E).metrics)return{fontName:"Math-BoldItalic",fontClass:"boldsymbol"};else return{fontName:"Main-Bold",fontClass:"mathbf"}},Vj=function(B,E,A){var{mode:C,text:D}=B,F=["mord"],{font:U,fontFamily:z,fontWeight:k,fontShape:f}=E,M=C==="math"||C==="text"&&!!U,b=M?U:z,Z="",J="";if(D.charCodeAt(0)===55349){var K=X14(D);Z=K.font,J=K[C+"Class"]}if(Z)return ZB(D,Z,C,E,F.concat(J));else if(b){var w,Q;if(b==="boldsymbol"){var G=v14(D,C,A);w=G.fontName,Q=[G.fontClass]}else if(M)w=Nt[U].fontName,Q=[U];else w=Gj(z,k,f),Q=[z,k,f];if(Nj(D,w,C).metrics)return ZB(D,w,C,E,F.concat(Q));else if(aq0.hasOwnProperty(D)&&w.slice(0,10)==="Typewriter"){var H=[];for(var l=0;l<D.length;l++)H.push(ZB(D[l],w,C,E,F.concat(Q)));return Tz(H)}}if(A==="mathord")return ZB(D,"Math-Italic",C,E,F.concat(["mathnormal"]));else if(A==="textord"){var q=E9[C][D]&&E9[C][D].font;if(q==="ams"){var L=Gj("amsrm",k,f);return ZB(D,L,C,E,F.concat("amsrm",k,f))}else if(q==="main"||!q){var v=Gj("textrm",k,f);return ZB(D,v,C,E,F.concat(k,f))}else{var x=Gj(q,k,f);return ZB(D,x,C,E,F.concat(x,k,f))}}else throw Error("unexpected type: "+A+" in makeOrd")},x14=(u,B)=>{if(af(u.classes)!==af(B.classes)||u.skew!==B.skew||u.maxFontSize!==B.maxFontSize||u.italic!==0&&u.hasClass("mathnormal"))return!1;if(u.classes.length===1){var E=u.classes[0];if(E==="mbin"||E==="mord")return!1}for(var A of Object.keys(u.style))if(u.style[A]!==B.style[A])return!1;for(var C of Object.keys(B.style))if(u.style[C]!==B.style[C])return!1;return!0},mq0=(u)=>{for(var B=0;B<u.length-1;B++){var E=u[B],A=u[B+1];if(E instanceof F8&&A instanceof F8&&x14(E,A))E.text+=A.text,E.height=Math.max(E.height,A.height),E.depth=Math.max(E.depth,A.depth),E.italic=A.italic,u.splice(B+1,1),B--}return u},st=function(B){var E=0,A=0,C=0;for(var D=0;D<B.children.length;D++){var F=B.children[D];if(F.height>E)E=F.height;if(F.depth>A)A=F.depth;if(F.maxFontSize>C)C=F.maxFontSize}B.height=E,B.depth=A,B.maxFontSize=C},u4=function(B,E,A,C){var D=new IJ(B,E,A,C);return st(D),D},mf=(u,B,E,A)=>new IJ(u,B,E,A),eG=function(B,E,A){var C=u4([B],[],E);return C.height=Math.max(A||E.fontMetrics().defaultRuleThickness,E.minRuleThickness),C.style.borderBottomWidth=z4(C.height),C.maxFontSize=1,C},W14=function(B,E,A,C){var D=new qx(B,E,A,C);return st(D),D},Tz=function(B){var E=new OJ(B);return st(E),E},uH=function(B,E){if(B instanceof OJ)return u4([],[B],E);return B},S14=function(B){if(B.positionType==="individualShift"){var E=B.children,A=[E[0]],C=-E[0].shift-E[0].elem.depth,D=C;for(var F=1;F<E.length;F++){var U=-E[F].shift-D-E[F].elem.depth,z=U-(E[F-1].elem.height+E[F-1].elem.depth);D=D+U,A.push({type:"kern",size:z}),A.push(E[F])}return{children:A,depth:C}}var k;if(B.positionType==="top"){var f=B.positionData;for(var M=0;M<B.children.length;M++){var b=B.children[M];f-=b.type==="kern"?b.size:b.elem.height+b.elem.depth}k=f}else if(B.positionType==="bottom")k=-B.positionData;else{var Z=B.children[0];if(Z.type!=="elem")throw Error('First child must have type "elem".');if(B.positionType==="shift")k=-Z.elem.depth-B.positionData;else if(B.positionType==="firstBaseline")k=-Z.elem.depth;else throw Error("Invalid positionType "+B.positionType+".")}return{children:B.children,depth:k}},d1=function(B,E){var{children:A,depth:C}=S14(B),D=0;for(var F=0;F<A.length;F++){var U=A[F];if(U.type==="elem"){var z=U.elem;D=Math.max(D,z.maxFontSize,z.height)}}D+=2;var k=u4(["pstrut"],[]);k.style.height=z4(D);var f=[],M=C,b=C,Z=C;for(var J=0;J<A.length;J++){var K=A[J];if(K.type==="kern")Z+=K.size;else{var w=K.elem,Q=K.wrapperClasses||[],G=K.wrapperStyle||{},H=u4(Q,[k,w],void 0,G);if(H.style.top=z4(-D-Z-w.depth),K.marginLeft)H.style.marginLeft=K.marginLeft;if(K.marginRight)H.style.marginRight=K.marginRight;f.push(H),Z+=w.height+w.depth}M=Math.min(M,Z),b=Math.max(b,Z)}var l=u4(["vlist"],f);l.style.height=z4(b);var q;if(M<0){var L=u4([],[]),v=u4(["vlist"],[L]);v.style.height=z4(-M);var x=u4(["vlist-s"],[new F8("")]);q=[u4(["vlist-r"],[l,x]),u4(["vlist-r"],[v])]}else q=[u4(["vlist-r"],[l])];var S=u4(["vlist-t"],q);if(q.length===2)S.classes.push("vlist-t2");return S.height=b,S.depth=-M,S},$q0=(u,B)=>{var E=u4(["mspace"],[],B),A=q9(u,B);return E.style.marginRight=z4(A),E},Gj=(u,B,E)=>{var A,C;switch(u){case"amsrm":A="AMS";break;case"textrm":A="Main";break;case"textsf":A="SansSerif";break;case"texttt":A="Typewriter";break;default:A=u}if(B==="textbf"&&E==="textit")C="BoldItalic";else if(B==="textbf")C="Bold";else if(E==="textit")C="Italic";else C="Regular";return A+"-"+C},Nt,yq0,rq0=function(B,E){var[A,C,D]=yq0[B],F=new Sz(A),U=new MF([F],{width:z4(C),height:z4(D),style:"width:"+z4(C),viewBox:"0 0 "+1000*C+" "+1000*D,preserveAspectRatio:"xMinYMin"}),z=mf(["overlay"],[U],E);return z.height=D,z.style.height=z4(D),z.style.width=z4(C),z},H9,RJ,Lz,Y14,R14,gq0,Oj,Ij,Pj=function(B){return B.type==="ordgroup"&&B.body.length===1?B.body[0]:B},q2=function(B){return B.type==="ordgroup"?B.body:[B]},T14,O14,I14,P14,p2=function(B,E,A,C){if(C===void 0)C=[null,null];var D=[];for(var F=0;F<B.length;F++){var U=s1(B[F],E);if(U instanceof OJ){var z=U.children;D.push(...z)}else D.push(U)}if(mq0(D),!A)return D;var k=E;if(B.length===1){var f=B[0];if(f.type==="sizing")k=E.havingSize(f.size);else if(f.type==="styling")k=E.havingStyle(I14[f.style])}var M=u4([C[0]||"leftmost"],[],E),b=u4([C[1]||"rightmost"],[],E),Z=A==="root";return Vt(D,(J,K)=>{var w=K.classes[0],Q=J.classes[0];if(w==="mbin"&&O14.has(Q))K.classes[0]="mord";else if(Q==="mbin"&&T14.has(w))J.classes[0]="mord"},{node:M},b,Z),Vt(D,(J,K)=>{var w,Q,G=it(K),H=it(J),l=G&&H?J.hasClass("mtight")?(w=R14[G])==null?void 0:w[H]:(Q=Y14[G])==null?void 0:Q[H]:null;if(l)return $q0(l,k)},{node:M},b,Z),D},Vt=function(B,E,A,C,D){if(C)B.push(C);var F=0;for(;F<B.length;F++){var U=B[F],z=cq0(U);if(z){Vt(z.children,E,A,null,D);continue}var k=!U.hasClass("mspace");if(k){var f=E(U,A.node);if(f)if(A.insertAfter)A.insertAfter(f);else B.unshift(f),F++}if(k)A.node=U;else if(D&&U.hasClass("newline"))A.node=u4(["leftmost"]);A.insertAfter=((M)=>(b)=>{B.splice(M+1,0,b),F++})(F)}if(C)B.pop()},cq0=function(B){if(B instanceof OJ||B instanceof qx||B instanceof IJ&&B.hasClass("enclosing"))return B;return null},ht=function(B,E){var A=cq0(B);if(A){var C=A.children;if(C.length){if(E==="right")return ht(C[C.length-1],"right");else if(E==="left")return ht(C[0],"left")}}return B},it=function(B,E){if(!B)return null;if(E)B=ht(B,E);var A=B.classes[0];return P14[A]||null},Hx=function(B,E){var A=["nulldelimiter"].concat(B.baseSizingClasses());return u4(E.concat(A))},s1=function(B,E,A){if(!B)return u4();if(Oj[B.type]){var C=Oj[B.type](B,E);if(A&&E.size!==A.size){C=u4(E.sizingClasses(A),[C],E);var D=E.sizeMultiplier/A.sizeMultiplier;C.height*=D,C.depth*=D}return C}else throw new B4("Got group of unknown type: '"+B.type+"'")},j14,N14,eE=function(B,E,A){if(E9[E][B]&&E9[E][B].replace&&B.charCodeAt(0)!==55349&&!(aq0.hasOwnProperty(B)&&A&&(A.fontFamily&&A.fontFamily.slice(4,6)==="tt"||A.font&&A.font.slice(4,6)==="tt")))B=E9[E][B].replace;return new E2(B)},tt=function(B){if(B.length===1)return B[0];else return new E4("mrow",B)},V14,et=(u,B)=>{if(u.mode==="text"){if(B.fontFamily==="texttt")return"monospace";else if(B.fontFamily==="textsf")if(B.fontShape==="textit"&&B.fontWeight==="textbf")return"sans-serif-bold-italic";else if(B.fontShape==="textit")return"sans-serif-italic";else if(B.fontWeight==="textbf")return"bold-sans-serif";else return"sans-serif";else if(B.fontShape==="textit"&&B.fontWeight==="textbf")return"bold-italic";else if(B.fontShape==="textit")return"italic";else if(B.fontWeight==="textbf")return"bold"}var E=B.font;if(!E||E==="mathnormal")return null;var A=u.mode,C=V14[E];if(C)return typeof C==="function"?C(u):C;var D=u.text;if(j14.has(D))return null;if(E9[A][D]){var F=E9[A][D].replace;if(F)D=F}var U=Nt[E].fontName;if(nt(D,U,A))return Nt[E].variant;return null},DE=function(B,E,A){if(B.length===1){var C=L6(B[0],E);if(A&&C instanceof E4&&C.type==="mo")C.setAttribute("lspace","0em"),C.setAttribute("rspace","0em");return[C]}var D=[],F;for(var U=0;U<B.length;U++){var z=L6(B[U],E);if(z instanceof E4&&F instanceof E4){if(z.type==="mtext"&&F.type==="mtext"&&z.getAttribute("mathvariant")===F.getAttribute("mathvariant")){F.children.push(...z.children);continue}else if(z.type==="mn"&&F.type==="mn"){F.children.push(...z.children);continue}else if(Qt(z)&&F.type==="mn"){F.children.push(...z.children);continue}else if(z.type==="mn"&&Qt(F))z.children=[...F.children,...z.children],D.pop();else if((z.type==="msup"||z.type==="msub")&&z.children.length>=1&&(F.type==="mn"||Qt(F))){var k=z.children[0];if(k instanceof E4&&k.type==="mn")k.children=[...F.children,...k.children],D.pop()}else if(F.type==="mi"&&F.children.length===1){var f=F.children[0];if(f instanceof E2&&f.text==="̸"&&(z.type==="mo"||z.type==="mi"||z.type==="mn")){var M=z.children[0];if(M instanceof E2&&M.text.length>0)M.text=M.text.slice(0,1)+"̸"+M.text.slice(1),D.pop()}}}D.push(z),F=z}return D},$f=function(B,E,A){return tt(DE(B,E,A))},L6=function(B,E){if(!B)return new E4("mrow");if(Ij[B.type])return Ij[B.type](B,E);else throw new B4("Got group of unknown type: '"+B.type+"'")},h14,kq0,fq0=function(B,E){return E.size<2?B:h14[B-1][E.size-1]},pq0=function(B){return new xz({style:B.displayMode?i3.DISPLAY:i3.TEXT,maxSize:B.maxSize,minRuleThickness:B.minRuleThickness})},nq0=function(B,E){if(E.displayMode){var A=["katex-display"];if(E.leqno)A.push("leqno");if(E.fleqn)A.push("fleqn");B=u4(A,[B])}return B},i14=function(B,E,A){var C=pq0(A),D;if(A.output==="mathml")return zq0(B,E,C,A.displayMode,!0);else if(A.output==="html"){var F=at(B,C);D=u4(["katex"],[F])}else{var U=zq0(B,E,C,A.displayMode,!1),z=at(B,C);D=u4(["katex"],[U,z])}return nq0(D,A)},a14=function(B,E,A){var C=pq0(A),D=at(B,C),F=u4(["katex"],[D]);return nq0(F,A)},m14,hj=function(B){var E=new E4("mo",[new E2(m14[B.replace(/^\\/,"")])]);return E.setAttribute("stretchy","true"),E},$14,y14,ij=function(B,E){function A(){var U=400000,z=B.label.slice(1);if(y14.has(z)&&"base"in B){var k=B.base.type==="ordgroup"?B.base.body.length:1,f,M,b;if(k>5)if(z==="widehat"||z==="widecheck")f=420,U=2364,b=0.42,M=z+"4";else f=312,U=2340,b=0.34,M="tilde4";else{var Z=[1,1,2,2,3,3][k];if(z==="widehat"||z==="widecheck")U=[0,1062,2364,2364,2364][Z],f=[0,239,300,360,420][Z],b=[0,0.24,0.3,0.3,0.36,0.42][Z],M=z+Z;else U=[0,600,1033,2339,2340][Z],f=[0,260,286,306,312][Z],b=[0,0.26,0.286,0.3,0.306,0.34][Z],M="tilde"+Z}var J=new Sz(M),K=new MF([J],{width:"100%",height:z4(b),viewBox:"0 0 "+U+" "+f,preserveAspectRatio:"none"});return{span:mf([],[K],E),minWidth:0,height:b}}else{var w=[],Q=$14[z];if(!Q)throw Error('No SVG data for "'+z+'".');var[G,H,l]=Q,q=l/1000,L=G.length,v,x;if(L===1){if(Q.length!==4)throw Error('Expected 4-tuple for single-path SVG data "'+z+'".');v=["hide-tail"],x=[Q[3]]}else if(L===2)v=["halfarrow-left","halfarrow-right"],x=["xMinYMin","xMaxYMin"];else if(L===3)v=["brace-left","brace-center","brace-right"],x=["xMinYMin","xMidYMin","xMaxYMin"];else throw Error(`Correct katexImagesData or update code here to support
`+L+" children.");for(var S=0;S<L;S++){var W=new Sz(G[S]),T=new MF([W],{width:"400em",height:z4(q),viewBox:"0 0 "+U+" "+l,preserveAspectRatio:x[S]+" slice"}),R=mf([v[S]],[T],E);if(L===1)return{span:R,minWidth:H,height:q};else R.style.height=z4(q),w.push(R)}return{span:u4(["stretchy"],w,E),minWidth:H,height:q}}}var{span:C,minWidth:D,height:F}=A();if(C.height=F,C.style.height=z4(F),D>0)C.style.minWidth=z4(D);return C},r14=function(B,E,A,C,D){var F,U=B.height+B.depth+A+C;if(/fbox|color|angl/.test(E)){if(F=u4(["stretchy",E],[],D),E==="fbox"){var z=D.color&&D.getColor();if(z)F.style.borderColor=z}}else{var k=[];if(/^[bx]cancel$/.test(E))k.push(new Rj({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"}));if(/^x?cancel$/.test(E))k.push(new Rj({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new MF(k,{width:"100%",height:z4(U)});F=mf([],[f],D)}return F.height=U,F.style.height=z4(U),F},g14,c14,dq0=(u)=>{if(u instanceof F8)return u;if(H14(u)&&u.children.length===1)return dq0(u.children[0])},ue=(u,B)=>{var E,A,C;if(u&&u.type==="supsub")A=d3(u.base,"accent"),E=A.base,u.base=E,C=G14(s1(u,B)),u.base=A;else A=d3(u,"accent"),E=A.base;var D=s1(E,B.havingCrampedStyle()),F=A.isShifty&&Yz(E),U=0;if(F){var z,k;U=(z=(k=dq0(D))==null?void 0:k.skew)!=null?z:0}var f=A.label==="\\c",M=f?D.height+D.depth:Math.min(D.height,B.fontMetrics().xHeight),b;if(!A.isStretchy){var Z,J;if(A.label==="\\vec")Z=rq0("vec",B),J=yq0.vec[1];else if(Z=Vj({type:"textord",mode:A.mode,text:A.label},B,"textord"),Z=Q14(Z),Z.italic=0,J=Z.width,f)M+=Z.depth;b=u4(["accent-body"],[Z]);var K=A.label==="\\textcircled";if(K)b.classes.push("accent-full"),M=D.height;var w=U;if(!K)w-=J/2;if(b.style.left=z4(w),A.label==="\\textcircled")b.style.top=".2em";b=d1({positionType:"firstBaseline",children:[{type:"elem",elem:D},{type:"kern",size:-M},{type:"elem",elem:b}]})}else b=ij(A,B),b=d1({positionType:"firstBaseline",children:[{type:"elem",elem:D},{type:"elem",elem:b,wrapperClasses:["svg-align"],wrapperStyle:U>0?{width:"calc(100% - "+z4(2*U)+")",marginLeft:z4(2*U)}:void 0}]});var Q=u4(["mord","accent"],[b],B);if(C)return C.children[0]=Q,C.height=Math.max(Q.height,C.height),C.classes[0]="mord",C;else return Q},sq0=(u,B)=>{var E=u.isStretchy?hj(u.label):new E4("mo",[eE(u.label,u.mode)]),A=new E4("mover",[L6(u.base,B),E]);return A.setAttribute("accent","true"),A},p14,qj=(u)=>{var B=new E4("mpadded",u?[u]:[]);return B.setAttribute("width","+0.6em"),B.setAttribute("lspace","0.3em"),B},$j=(u)=>{var B=u.type==="ordgroup"&&u.body.length?u.body[0]:u;if(B.type==="atom"&&(B.family==="bin"||B.family==="rel"))return"m"+B.family;else return"mord"},n14,Mq0=()=>{return{type:"styling",body:[],mode:"math",style:"display",resetFont:!0}},bq0=(u)=>{return u.type==="textord"&&u.text==="@"},d14=(u,B)=>{return(u.type==="mathord"||u.type==="atom")&&u.text===B},eq0=(u,B)=>{var E=p2(u.body,B.withColor(u.color),!1);return Tz(E)},ul0=(u,B)=>{var E=DE(u.body,B.withColor(u.color)),A=new E4("mstyle",E);return A.setAttribute("mathcolor",u.color),A},mt,Bl0=(u)=>{var B=u.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(B))throw new B4("Expected a control sequence",u);return B},t14=(u)=>{var B=u.gullet.popToken();if(B.text==="="){if(B=u.gullet.popToken(),B.text===" ")B=u.gullet.popToken()}return B},El0=(u,B,E,A)=>{var C=u.gullet.macros.get(E.text);if(C==null)E.noexpand=!0,C={tokens:[E],numArgs:0,unexpandable:!u.gullet.isExpandable(E.text)};u.gullet.macros.set(B,C,A)},wx=function(B,E,A){var C=E9.math[B]&&E9.math[B].replace,D=nt(C||B,E,A);if(!D)throw Error("Unsupported symbol "+B+" and font size "+E+".");return D},Be=function(B,E,A,C){var D=A.havingBaseStyle(E),F=u4(C.concat(D.sizingClasses(A)),[B],A),U=D.sizeMultiplier/A.sizeMultiplier;return F.height*=U,F.depth*=U,F.maxFontSize=D.sizeMultiplier,F},Al0=function(B,E,A){var C=E.havingBaseStyle(A),D=(1-E.sizeMultiplier/C.sizeMultiplier)*E.fontMetrics().axisHeight;B.classes.push("delimcenter"),B.style.top=z4(D),B.height-=D,B.depth+=D},e14=function(B,E,A,C,D,F){var U=ZB(B,"Main-Regular",D,C),z=Be(U,E,C,F);if(A)Al0(z,C,E);return z},u64=function(B,E,A,C){return ZB(B,"Size"+E+"-Regular",A,C)},Cl0=function(B,E,A,C,D,F){var U=u64(B,E,D,C),z=Be(u4(["delimsizing","size"+E],[U],C),i3.TEXT,C,F);if(A)Al0(z,C,i3.TEXT);return z},Gt=function(B,E,A){var C;if(E==="Size1-Regular")C="delim-size1";else C="delim-size4";var D=u4(["delimsizinginner",C],[u4([],[ZB(B,E,A)])]);return{type:"elem",elem:D}},Ht=function(B,E,A){var C=fF["Size4-Regular"][B.charCodeAt(0)]?fF["Size4-Regular"][B.charCodeAt(0)][4]:fF["Size1-Regular"][B.charCodeAt(0)][4],D=new Sz("inner",M14(B,Math.round(1000*E))),F=new MF([D],{width:z4(C),height:z4(E),style:"width:"+z4(C),viewBox:"0 0 "+1000*C+" "+Math.round(1000*E),preserveAspectRatio:"xMinYMin"}),U=mf([],[F],A);return U.height=E,U.style.height=z4(E),U.style.width=z4(C),{type:"elem",elem:U}},$t=0.008,lj,B64,E64,Dl0=function(B,E,A,C,D,F){var U,z,k,f,M="",b=0;U=k=f=B,z=null;var Z="Size1-Regular";if(B==="\\uparrow")k=f="⏐";else if(B==="\\Uparrow")k=f="‖";else if(B==="\\downarrow")U=k="⏐";else if(B==="\\Downarrow")U=k="‖";else if(B==="\\updownarrow")U="\\uparrow",k="⏐",f="\\downarrow";else if(B==="\\Updownarrow")U="\\Uparrow",k="‖",f="\\Downarrow";else if(B64.has(B))k="",M="vert",b=333;else if(E64.has(B))k="∥",M="doublevert",b=556;else if(B==="["||B==="\\lbrack")U="⎡",k="⎢",f="⎣",Z="Size4-Regular",M="lbrack",b=667;else if(B==="]"||B==="\\rbrack")U="⎤",k="⎥",f="⎦",Z="Size4-Regular",M="rbrack",b=667;else if(B==="\\lfloor"||B==="⌊")k=U="⎢",f="⎣",Z="Size4-Regular",M="lfloor",b=667;else if(B==="\\lceil"||B==="⌈")U="⎡",k=f="⎢",Z="Size4-Regular",M="lceil",b=667;else if(B==="\\rfloor"||B==="⌋")k=U="⎥",f="⎦",Z="Size4-Regular",M="rfloor",b=667;else if(B==="\\rceil"||B==="⌉")U="⎤",k=f="⎥",Z="Size4-Regular",M="rceil",b=667;else if(B==="("||B==="\\lparen")U="⎛",k="⎜",f="⎝",Z="Size4-Regular",M="lparen",b=875;else if(B===")"||B==="\\rparen")U="⎞",k="⎟",f="⎠",Z="Size4-Regular",M="rparen",b=875;else if(B==="\\{"||B==="\\lbrace")U="⎧",z="⎨",f="⎩",k="⎪",Z="Size4-Regular";else if(B==="\\}"||B==="\\rbrace")U="⎫",z="⎬",f="⎭",k="⎪",Z="Size4-Regular";else if(B==="\\lgroup"||B==="⟮")U="⎧",f="⎩",k="⎪",Z="Size4-Regular";else if(B==="\\rgroup"||B==="⟯")U="⎫",f="⎭",k="⎪",Z="Size4-Regular";else if(B==="\\lmoustache"||B==="⎰")U="⎧",f="⎭",k="⎪",Z="Size4-Regular";else if(B==="\\rmoustache"||B==="⎱")U="⎫",f="⎩",k="⎪",Z="Size4-Regular";var J=wx(U,Z,D),K=J.height+J.depth,w=wx(k,Z,D),Q=w.height+w.depth,G=wx(f,Z,D),H=G.height+G.depth,l=0,q=1;if(z!==null){var L=wx(z,Z,D);l=L.height+L.depth,q=2}var v=K+H+l,x=Math.max(0,Math.ceil((E-v)/(q*Q))),S=v+x*q*Q,W=C.fontMetrics().axisHeight;if(A)W*=C.sizeMultiplier;var T=S/2-W,R=[];if(M.length>0){var Y=S-K-H,h=Math.round(S*1000),I=b14(M,Math.round(Y*1000)),O=new Sz(M,I),V=z4(b/1000),j=z4(h/1000),i=new MF([O],{width:V,height:j,viewBox:"0 0 "+b+" "+h}),a=mf([],[i],C);a.height=h/1000,a.style.width=V,a.style.height=j,R.push({type:"elem",elem:a})}else{if(R.push(Gt(f,Z,D)),R.push(lj),z===null){var $=S-K-H+2*$t;R.push(Ht(k,$,C))}else{var m=(S-K-H-l)/2+2*$t;R.push(Ht(k,m,C)),R.push(lj),R.push(Gt(z,Z,D)),R.push(lj),R.push(Ht(k,m,C))}R.push(lj),R.push(Gt(U,Z,D))}var y=C.havingBaseStyle(i3.TEXT),r=d1({positionType:"bottom",positionData:T,children:R});return Be(u4(["delimsizing","mult"],[r],y),i3.TEXT,C,F)},qt=80,lt=0.08,Lt=function(B,E,A,C,D){var F=f14(B,C,A),U=new Sz(B,F),z=new MF([U],{width:"400em",height:z4(E),viewBox:"0 0 400000 "+A,preserveAspectRatio:"xMinYMin slice"});return mf(["hide-tail"],[z],D)},A64=function(B,E){var A=E.havingBaseSizing(),C=fl0("\\surd",B*A.sizeMultiplier,kl0,A),D=A.sizeMultiplier,F=Math.max(0,E.minRuleThickness-E.fontMetrics().sqrtRuleThickness),U,z,k,f,M;if(C.type==="small"){if(f=1000+1000*F+qt,B<1)D=1;else if(B<1.4)D=0.7;z=(1+F+lt)/D,k=(1+F)/D,U=Lt("sqrtMain",z,f,F,E),U.style.minWidth="0.853em",M=0.833/D}else if(C.type==="large")f=(1000+qt)*Qx[C.size],k=(Qx[C.size]+F)/D,z=(Qx[C.size]+F+lt)/D,U=Lt("sqrtSize"+C.size,z,f,F,E),U.style.minWidth="1.02em",M=1/D;else z=B+F+lt,k=B+F,f=Math.floor(1000*B+F)+qt,U=Lt("sqrtTall",z,f,F,E),U.style.minWidth="0.742em",M=1.056;return U.height=k,U.style.height=z4(z),{span:U,advanceWidth:M,ruleWidth:(E.fontMetrics().sqrtRuleThickness+F)*D}},Fl0,C64,Ul0,Qx,zl0=function(B,E,A,C,D){if(B==="<"||B==="\\lt"||B==="⟨")B="\\langle";else if(B===">"||B==="\\gt"||B==="⟩")B="\\rangle";if(Fl0.has(B)||Ul0.has(B))return Cl0(B,E,!1,A,C,D);else if(C64.has(B))return Dl0(B,Qx[E],!1,A,C,D);else throw new B4("Illegal delimiter: '"+B+"'")},D64,F64,kl0,U64=function(B){if(B.type==="small")return"Main-Regular";else if(B.type==="large")return"Size"+B.size+"-Regular";else if(B.type==="stack")return"Size4-Regular";else{var E=B.type;throw Error("Add support for delim type '"+E+"' here.")}},fl0=function(B,E,A,C){var D=Math.min(2,3-C.style.size);for(var F=D;F<A.length;F++){var U=A[F];if(U.type==="stack")break;var z=wx(B,U64(U),"math"),k=z.height+z.depth;if(U.type==="small"){var f=C.havingBaseStyle(U.style);k*=f.sizeMultiplier}if(k>E)return U}return A[A.length-1]},yt=function(B,E,A,C,D,F){if(B==="<"||B==="\\lt"||B==="⟨")B="\\langle";else if(B===">"||B==="\\gt"||B==="⟩")B="\\rangle";var U;if(Ul0.has(B))U=D64;else if(Fl0.has(B))U=kl0;else U=F64;var z=fl0(B,E,U,C);if(z.type==="small")return e14(B,z.style,A,C,D,F);else if(z.type==="large")return Cl0(B,z.size,A,C,D,F);else return Dl0(B,E,A,C,D,F)},Xt=function(B,E,A,C,D,F){var U=C.fontMetrics().axisHeight*C.sizeMultiplier,z=901,k=5/C.fontMetrics().ptPerEm,f=Math.max(E-U,A+U),M=Math.max(f/500*z,2*f-k);return yt(B,M,!0,C,D,F)},Zq0,z64,rj=(u,B)=>{var E=uH(s1(u.body,B),B),A=u.label.slice(1),C=B.sizeMultiplier,D,F,U=Yz(u.body);if(A==="sout")D=u4(["stretchy","sout"]),D.height=B.fontMetrics().defaultRuleThickness/C,F=-0.5*B.fontMetrics().xHeight;else if(A==="phase"){var z=q9({number:0.6,unit:"pt"},B),k=q9({number:0.35,unit:"ex"},B),f=B.havingBaseSizing();C=C/f.sizeMultiplier;var M=E.height+E.depth+z+k;E.style.paddingLeft=z4(M/2+z);var b=Math.floor(1000*M*C),Z=z14(b),J=new MF([new Sz("phase",Z)],{width:"400em",height:z4(b/1000),viewBox:"0 0 400000 "+b,preserveAspectRatio:"xMinYMin slice"});D=mf(["hide-tail"],[J],B),D.style.height=z4(M),F=E.depth+z+k}else{if(/cancel/.test(A)){if(!U)E.classes.push("cancel-pad")}else if(A==="angl")E.classes.push("anglpad");else E.classes.push("boxpad");var K,w,Q=0;if(/box/.test(A))Q=Math.max(B.fontMetrics().fboxrule,B.minRuleThickness),K=B.fontMetrics().fboxsep+(A==="colorbox"?0:Q),w=K;else if(A==="angl")Q=Math.max(B.fontMetrics().defaultRuleThickness,B.minRuleThickness),K=4*Q,w=Math.max(0,0.25-E.depth);else K=U?0.2:0,w=K;if(D=r14(E,A,K,w,B),/fbox|boxed|fcolorbox/.test(A))D.style.borderStyle="solid",D.style.borderWidth=z4(Q);else if(A==="angl"&&Q!==0.049)D.style.borderTopWidth=z4(Q),D.style.borderRightWidth=z4(Q);if(F=E.depth+w,u.backgroundColor){if(D.style.backgroundColor=u.backgroundColor,u.borderColor)D.style.borderColor=u.borderColor}}var G;if(u.backgroundColor)G=d1({positionType:"individualShift",children:[{type:"elem",elem:D,shift:F},{type:"elem",elem:E,shift:0}]});else{var H=/cancel|phase/.test(A)?["svg-align"]:[];G=d1({positionType:"individualShift",children:[{type:"elem",elem:E,shift:0},{type:"elem",elem:D,shift:F,wrapperClasses:H}]})}if(/cancel/.test(A))G.height=E.height,G.depth=E.depth;if(/cancel/.test(A)&&!U)return u4(["mord","cancel-lap"],[G],B);else return u4(["mord"],[G],B)},gj=(u,B)=>{var E,A=new E4(u.label.includes("colorbox")?"mpadded":"menclose",[L6(u.body,B)]);switch(u.label){case"\\cancel":A.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":A.setAttribute("notation","downdiagonalstrike");break;case"\\phase":A.setAttribute("notation","phasorangle");break;case"\\sout":A.setAttribute("notation","horizontalstrike");break;case"\\fbox":A.setAttribute("notation","box");break;case"\\angl":A.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(E=B.fontMetrics().fboxsep*B.fontMetrics().ptPerEm,A.setAttribute("width","+"+2*E+"pt"),A.setAttribute("height","+"+2*E+"pt"),A.setAttribute("lspace",E+"pt"),A.setAttribute("voffset",E+"pt"),u.label==="\\fcolorbox"){var C=Math.max(B.fontMetrics().fboxrule,B.minRuleThickness);A.setAttribute("style","border: "+z4(C)+" solid "+u.borderColor)}break;case"\\xcancel":A.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}if(u.backgroundColor)A.setAttribute("mathbackground",u.backgroundColor);return A},Ml0,bl0,cj=(u)=>{var B=u.parser.settings;if(!B.displayMode)throw new B4("{"+u.envName+"} can be used only in display mode.")},k64,ZF=function(B,E){var A,C,D=B.body.length,F=B.hLinesBeforeRow,U=0,z=Array(D),k=[],f=Math.max(E.fontMetrics().arrayRuleWidth,E.minRuleThickness),M=1/E.fontMetrics().ptPerEm,b=5*M;if(B.colSeparationType&&B.colSeparationType==="small"){var Z=E.havingStyle(i3.SCRIPT).sizeMultiplier;b=0.2778*(Z/E.sizeMultiplier)}var J=B.colSeparationType==="CD"?q9({number:3,unit:"ex"},E):12*M,K=3*M,w=B.arraystretch*J,Q=0.7*w,G=0.3*w,H=0;function l(a0){for(var K0=0;K0<a0.length;++K0){if(K0>0)H+=0.25;k.push({pos:H,isDashed:a0[K0]})}}l(F[0]);for(A=0;A<B.body.length;++A){var q=B.body[A],L=Q,v=G;if(U<q.length)U=q.length;var x={cells:Array(q.length),height:0,depth:0,pos:0};for(C=0;C<q.length;++C){var S=s1(q[C],E);if(v<S.depth)v=S.depth;if(L<S.height)L=S.height;x.cells[C]=S}var W=B.rowGaps[A],T=0;if(W){if(T=q9(W,E),T>0){if(T+=G,v<T)v=T;T=0}}if(B.addJot&&A<B.body.length-1)v+=K;x.height=L,x.depth=v,H+=L,x.pos=H,H+=v+T,z[A]=x,l(F[A+1])}var R=H/2+E.fontMetrics().axisHeight,Y=B.cols||[],h=[],I,O,V=[];if(B.tags&&B.tags.some((a0)=>a0))for(A=0;A<D;++A){var j=z[A],i=j.pos-R,a=B.tags[A],$=void 0;if(a===!0)$=u4(["eqn-num"],[],E);else if(a===!1)$=u4([],[],E);else $=u4([],p2(a,E,!0),E);$.depth=j.depth,$.height=j.height,V.push({type:"elem",elem:$,shift:i})}for(C=0,O=0;C<U||O<Y.length;++C,++O){var m,y=Y[O],r=!0;while(((_=y)==null?void 0:_.type)==="separator"){var _;if(!r)I=u4(["arraycolsep"],[]),I.style.width=z4(E.fontMetrics().doubleRuleSep),h.push(I);if(y.separator==="|"||y.separator===":"){var e=y.separator==="|"?"solid":"dashed",p=u4(["vertical-separator"],[],E);p.style.height=z4(H),p.style.borderRightWidth=z4(f),p.style.borderRightStyle=e,p.style.margin="0 "+z4(-f/2);var b0=H-R;if(b0)p.style.verticalAlign=z4(-b0);h.push(p)}else throw new B4("Invalid separator type: "+y.separator);O++,y=Y[O],r=!1}if(C>=U)continue;var B0=void 0;if(C>0||B.hskipBeforeAndAfter){var k0,f0;if(B0=(k0=(f0=y)==null?void 0:f0.pregap)!=null?k0:b,B0!==0)I=u4(["arraycolsep"],[]),I.style.width=z4(B0),h.push(I)}var D0=[];for(A=0;A<D;++A){var P0=z[A],L0=P0.cells[C];if(!L0)continue;var m0=P0.pos-R;L0.depth=P0.depth,L0.height=P0.height,D0.push({type:"elem",elem:L0,shift:m0})}var h0=d1({positionType:"individualShift",children:D0}),_0=u4(["col-align-"+(((m=y)==null?void 0:m.align)||"c")],[h0]);if(h.push(_0),C<U-1||B.hskipBeforeAndAfter){var w0,x0;if(B0=(w0=(x0=y)==null?void 0:x0.postgap)!=null?w0:b,B0!==0)I=u4(["arraycolsep"],[]),I.style.width=z4(B0),h.push(I)}}var T0=u4(["mtable"],h);if(k.length>0){var J0=eG("hline",E,f),F0=eG("hdashline",E,f),u0=[{type:"elem",elem:T0,shift:0}];while(k.length>0){var Z0=k.pop(),X0=Z0.pos-R;if(Z0.isDashed)u0.push({type:"elem",elem:F0,shift:X0});else u0.push({type:"elem",elem:J0,shift:X0})}T0=d1({positionType:"individualShift",children:u0})}if(V.length===0)return u4(["mord"],[T0],E);else{var W0=d1({positionType:"individualShift",children:V}),Y0=u4(["tag"],[W0],E);return Tz([T0,Y0])}},f64,JF=function(B,E){var A=[],C=new E4("mtd",[],["mtr-glue"]),D=new E4("mtd",[],["mml-eqn-num"]);for(var F=0;F<B.body.length;F++){var U=B.body[F],z=[];for(var k=0;k<U.length;k++)z.push(new E4("mtd",[L6(U[k],E)]));if(B.tags&&B.tags[F])if(z.unshift(C),z.push(C),B.leqno)z.unshift(D);else z.push(D);A.push(new E4("mtr",z))}var f=new E4("mtable",A),M=B.arraystretch===0.5?0.1:0.16+B.arraystretch-1+(B.addJot?0.09:0);f.setAttribute("rowspacing",z4(M));var b="",Z="";if(B.cols&&B.cols.length>0){var J=B.cols,K="",w=!1,Q=0,G=J.length;if(J[0].type==="separator")b+="top ",Q=1;if(J[J.length-1].type==="separator")b+="bottom ",G-=1;for(var H=Q;H<G;H++){var l=J[H];if(l.type==="align"){if(Z+=f64[l.align],w)K+="none ";w=!0}else if(l.type==="separator"){if(w)K+=l.separator==="|"?"solid ":"dashed ",w=!1}}if(f.setAttribute("columnalign",Z.trim()),/[sd]/.test(K))f.setAttribute("columnlines",K.trim())}if(B.colSeparationType==="align"){var q=B.cols||[],L="";for(var v=1;v<q.length;v++)L+=v%2?"0em ":"1em ";f.setAttribute("columnspacing",L.trim())}else if(B.colSeparationType==="alignat"||B.colSeparationType==="gather")f.setAttribute("columnspacing","0em");else if(B.colSeparationType==="small")f.setAttribute("columnspacing","0.2778em");else if(B.colSeparationType==="CD")f.setAttribute("columnspacing","0.5em");else f.setAttribute("columnspacing","1em");var x="",S=B.hLinesBeforeRow;b+=S[0].length>0?"left ":"",b+=S[S.length-1].length>0?"right ":"";for(var W=1;W<S.length-1;W++)x+=S[W].length===0?"none ":S[W][0]?"dashed ":"solid ";if(/[sd]/.test(x))f.setAttribute("rowlines",x.trim());if(b!=="")f=new E4("menclose",[f]),f.setAttribute("notation",b.trim());if(B.arraystretch&&B.arraystretch<1)f=new E4("mstyle",[f]),f.setAttribute("scriptlevel","1");return f},Zl0=function(B,E){if(!B.envName.includes("ed"))cj(B);var A=[],C=B.envName.includes("at")?"alignat":"align",D=B.envName==="split",F=yf(B.parser,{cols:A,addJot:!0,autoTag:D?void 0:Ee(B.envName),emptySingleRow:!0,colSeparationType:C,maxNumCols:D?2:void 0,leqno:B.parser.settings.leqno},"display"),U=0,z=0,k={type:"ordgroup",mode:B.mode,body:[]};if(E[0]&&E[0].type==="ordgroup"){var f="";for(var M=0;M<E[0].body.length;M++){var b=d3(E[0].body[M],"textord");f+=b.text}U=Number(f),z=U*2}var Z=!z;F.body.forEach(function(Q){for(var G=1;G<Q.length;G+=2){var H=d3(Q[G],"styling"),l=d3(H.body[0],"ordgroup");l.body.unshift(k)}if(!Z){var q=Q.length/2;if(U<q)throw new B4("Too many math in a row: "+("expected "+U+", but got "+q),Q[0])}else if(z<Q.length)z=Q.length});for(var J=0;J<z;++J){var K="r",w=0;if(J%2===1)K="l";else if(J>0&&Z)w=1;A[J]={type:"align",align:K,pregap:w,postgap:0}}return F.colSeparationType=Z?"align":"alignat",F},Qq0,Jl0=(u,B)=>{var E=u.font,A=B.withFont(E);return s1(u.body,A)},Kl0=(u,B)=>{var E=u.font,A=B.withFont(E);return L6(u.body,A)},Gq0,M64=(u,B)=>{var E=B.style,A=E.fracNum(),C=E.fracDen(),D;D=B.havingStyle(A);var F=s1(u.numer,D,B);if(u.continued){var U=8.5/B.fontMetrics().ptPerEm,z=3.5/B.fontMetrics().ptPerEm;F.height=F.height<U?U:F.height,F.depth=F.depth<z?z:F.depth}D=B.havingStyle(C);var k=s1(u.denom,D,B),f,M,b;if(u.hasBarLine){if(u.barSize)M=q9(u.barSize,B),f=eG("frac-line",B,M);else f=eG("frac-line",B);M=f.height,b=f.height}else f=null,M=0,b=B.fontMetrics().defaultRuleThickness;var Z,J,K;if(E.size===i3.DISPLAY.size){if(Z=B.fontMetrics().num1,M>0)J=3*b;else J=7*b;K=B.fontMetrics().denom1}else{if(M>0)Z=B.fontMetrics().num2,J=b;else Z=B.fontMetrics().num3,J=3*b;K=B.fontMetrics().denom2}var w;if(!f){var Q=Z-F.depth-(k.height-K);if(Q<J)Z+=0.5*(J-Q),K+=0.5*(J-Q);w=d1({positionType:"individualShift",children:[{type:"elem",elem:k,shift:K},{type:"elem",elem:F,shift:-Z}]})}else{var G=B.fontMetrics().axisHeight;if(Z-F.depth-(G+0.5*M)<J)Z+=J-(Z-F.depth-(G+0.5*M));if(G-0.5*M-(k.height-K)<J)K+=J-(G-0.5*M-(k.height-K));var H=-(G-0.5*M);w=d1({positionType:"individualShift",children:[{type:"elem",elem:k,shift:K},{type:"elem",elem:f,shift:H},{type:"elem",elem:F,shift:-Z}]})}D=B.havingStyle(E),w.height*=D.sizeMultiplier/B.sizeMultiplier,w.depth*=D.sizeMultiplier/B.sizeMultiplier;var l;if(E.size===i3.DISPLAY.size)l=B.fontMetrics().delim1;else if(E.size===i3.SCRIPTSCRIPT.size)l=B.havingStyle(i3.SCRIPT).fontMetrics().delim2;else l=B.fontMetrics().delim2;var q,L;if(u.leftDelim==null)q=Hx(B,["mopen"]);else q=yt(u.leftDelim,l,!0,B.havingStyle(E),u.mode,["mopen"]);if(u.continued)L=u4([]);else if(u.rightDelim==null)L=Hx(B,["mclose"]);else L=yt(u.rightDelim,l,!0,B.havingStyle(E),u.mode,["mclose"]);return u4(["mord"].concat(D.sizingClasses(B)),[q,u4(["mfrac"],[w]),L],B)},b64=(u,B)=>{var E=new E4("mfrac",[L6(u.numer,B),L6(u.denom,B)]);if(!u.hasBarLine)E.setAttribute("linethickness","0px");else if(u.barSize){var A=q9(u.barSize,B);E.setAttribute("linethickness",z4(A))}if(u.leftDelim!=null||u.rightDelim!=null){var C=[];if(u.leftDelim!=null){var D=new E4("mo",[new E2(u.leftDelim.replace("\\",""))]);D.setAttribute("fence","true"),C.push(D)}if(C.push(E),u.rightDelim!=null){var F=new E4("mo",[new E2(u.rightDelim.replace("\\",""))]);F.setAttribute("fence","true"),C.push(F)}return tt(C)}return E},wl0=(u,B)=>{if(!B)return u;var E={type:"styling",mode:u.mode,style:B,body:[u]};return E},Hq0,qq0=function(B){var E=null;if(B.length>0)E=B,E=E==="."?null:E;return E},Ql0=(u,B)=>{var E=B.style,A,C;if(u.type==="supsub")A=u.sup?s1(u.sup,B.havingStyle(E.sup()),B):s1(u.sub,B.havingStyle(E.sub()),B),C=d3(u.base,"horizBrace");else C=d3(u,"horizBrace");var D=s1(C.base,B.havingBaseStyle(i3.DISPLAY)),F=ij(C,B),U;if(C.isOver)U=d1({positionType:"firstBaseline",children:[{type:"elem",elem:D},{type:"kern",size:0.1},{type:"elem",elem:F,wrapperClasses:["svg-align"]}]});else U=d1({positionType:"bottom",positionData:D.depth+0.1+F.height,children:[{type:"elem",elem:F,wrapperClasses:["svg-align"]},{type:"kern",size:0.1},{type:"elem",elem:D}]});if(A){var z=u4(["minner",C.isOver?"mover":"munder"],[U],B);if(C.isOver)U=d1({positionType:"firstBaseline",children:[{type:"elem",elem:z},{type:"kern",size:0.2},{type:"elem",elem:A}]});else U=d1({positionType:"bottom",positionData:z.depth+0.2+A.height+A.depth,children:[{type:"elem",elem:A},{type:"kern",size:0.2},{type:"elem",elem:z}]})}return u4(["minner",C.isOver?"mover":"munder"],[U],B)},Z64=(u,B)=>{var E=hj(u.label);return new E4(u.isOver?"mover":"munder",[L6(u.base,B),E])},vt=function(B){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(B))return{number:+B,unit:"bp"};else{var E=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(B);if(!E)throw new B4("Invalid size: '"+B+"' in \\includegraphics");var A={number:+(E[1]+E[2]),unit:E[3]};if(!Pq0(A))throw new B4("Invalid unit: '"+A.unit+"' in \\includegraphics.");return A}},lq0=(u,B)=>{switch(B.style.size){case i3.DISPLAY.size:return u.display;case i3.TEXT.size:return u.text;case i3.SCRIPT.size:return u.script;case i3.SCRIPTSCRIPT.size:return u.scriptscript;default:return u.text}},Gl0=(u,B,E,A,C,D,F)=>{u=u4([],[u]);var U=E&&Yz(E),z,k;if(B){var f=s1(B,A.havingStyle(C.sup()),A);k={elem:f,kern:Math.max(A.fontMetrics().bigOpSpacing1,A.fontMetrics().bigOpSpacing3-f.depth)}}if(E){var M=s1(E,A.havingStyle(C.sub()),A);z={elem:M,kern:Math.max(A.fontMetrics().bigOpSpacing2,A.fontMetrics().bigOpSpacing4-M.height)}}var b;if(k&&z){var Z=A.fontMetrics().bigOpSpacing5+z.elem.height+z.elem.depth+z.kern+u.depth+F;b=d1({positionType:"bottom",positionData:Z,children:[{type:"kern",size:A.fontMetrics().bigOpSpacing5},{type:"elem",elem:z.elem,marginLeft:z4(-D)},{type:"kern",size:z.kern},{type:"elem",elem:u},{type:"kern",size:k.kern},{type:"elem",elem:k.elem,marginLeft:z4(D)},{type:"kern",size:A.fontMetrics().bigOpSpacing5}]})}else if(z){var J=u.height-F;b=d1({positionType:"top",positionData:J,children:[{type:"kern",size:A.fontMetrics().bigOpSpacing5},{type:"elem",elem:z.elem,marginLeft:z4(-D)},{type:"kern",size:z.kern},{type:"elem",elem:u}]})}else if(k){var K=u.depth+F;b=d1({positionType:"bottom",positionData:K,children:[{type:"elem",elem:u},{type:"kern",size:k.kern},{type:"elem",elem:k.elem,marginLeft:z4(D)},{type:"kern",size:A.fontMetrics().bigOpSpacing5}]})}else return u;var w=[b];if(z&&D!==0&&!U){var Q=u4(["mspace"],[],A);Q.style.marginRight=z4(D),w.unshift(Q)}return u4(["mop","op-limits"],w,A)},Hl0,EH=(u,B)=>{var E,A,C=!1,D;if(u.type==="supsub")E=u.sup,A=u.sub,D=d3(u.base,"op"),C=!0;else D=d3(u,"op");var F=B.style,U=!1;if(F.size===i3.DISPLAY.size&&D.symbol&&!Hl0.has(D.name))U=!0;var z,k;if(D.symbol){var f=U?"Size2-Regular":"Size1-Regular",M="";if(D.name==="\\oiint"||D.name==="\\oiiint")M=D.name.slice(1),D.name=M==="oiint"?"\\iint":"\\iiint";if(z=ZB(D.name,f,"math",B,["mop","op-symbol",U?"large-op":"small-op"]),k=z.italic,M.length>0){var b=rq0(M+"Size"+(U?"2":"1"),B);z=d1({positionType:"individualShift",children:[{type:"elem",elem:z,shift:0},{type:"elem",elem:b,shift:U?0.08:0}]}),D.name="\\"+M,z.classes.unshift("mop"),z.italic=k}}else if(D.body){var Z=p2(D.body,B,!0);if(Z.length===1&&Z[0]instanceof F8)z=Z[0],z.classes[0]="mop";else z=u4(["mop"],Z,B)}else{var J=[];for(var K=1;K<D.name.length;K++)J.push(dt(D.name[K],D.mode,B));z=u4(["mop"],J,B)}var w=0,Q=0;if((z instanceof F8||D.name==="\\oiint"||D.name==="\\oiiint")&&!D.suppressBaseShift){var G;w=(z.height-z.depth)/2-B.fontMetrics().axisHeight,Q=(G=z.italic)!=null?G:0}if(C)return Gl0(z,E,A,B,F,Q,w);else{if(w)z.style.position="relative",z.style.top=z4(w);return z}},Lx=(u,B)=>{var E;if(u.symbol){if(E=new E4("mo",[eE(u.name,u.mode)]),Hl0.has(u.name))E.setAttribute("largeop","false")}else if(u.body)E=new E4("mo",DE(u.body,B));else{E=new E4("mi",[new E2(u.name.slice(1))]);var A=new E4("mo",[eE("","text")]);if(u.parentIsSupSub)E=new E4("mrow",[E,A]);else E=_q0([E,A])}return E},J64,K64,ql0=(u,B)=>{var E,A,C=!1,D;if(u.type==="supsub")E=u.sup,A=u.sub,D=d3(u.base,"operatorname"),C=!0;else D=d3(u,"operatorname");var F;if(D.body.length>0){var U=D.body.map((M)=>{var b="text"in M?M.text:void 0;if(typeof b==="string")return{type:"textord",mode:M.mode,text:b};else return M}),z=p2(U,B.withFont("mathrm"),!0);for(var k=0;k<z.length;k++){var f=z[k];if(f instanceof F8)f.text=f.text.replace(/\u2212/,"-").replace(/\u2217/,"*")}F=u4(["mop"],z,B)}else F=u4(["mop"],[],B);if(C)return Gl0(F,E,A,B,B.style,0,0);else return F},w64=(u,B)=>{var E=DE(u.body,B.withFont("mathrm")),A=!0;for(var C=0;C<E.length;C++){var D=E[C];if(D instanceof ot);else if(D instanceof E4)switch(D.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var F=D.children[0];if(D.children.length===1&&F instanceof E2)F.text=F.text.replace(/\u2212/,"-").replace(/\u2217/,"*");else A=!1;break}default:A=!1}else A=!1}if(A){var U=E.map((f)=>f.toText()).join("");E=[new E2(U)]}var z=new E4("mi",E);z.setAttribute("mathvariant","normal");var k=new E4("mo",[eE("","text")]);if(u.parentIsSupSub)return new E4("mrow",[z,k]);else return _q0([z,k])},Lq0,Q64=(u,B)=>{var E=B.havingSize(u.size);return ll0(u.body,E,B)},rt,H64=function(B,E){var A=B.base;if(!A)return null;else if(A.type==="op"){var C=A.limits&&(E.style.size===i3.DISPLAY.size||A.alwaysHandleSupSub);return C?EH:null}else if(A.type==="operatorname"){var D=A.alwaysHandleSupSub&&(E.style.size===i3.DISPLAY.size||A.limits);return D?ql0:null}else if(A.type==="accent")return Yz(A.base)?ue:null;else if(A.type==="horizBrace"){var F=!B.sub;return F===A.isOver?Ql0:null}else return null},Ll0,xt,Wt,Xq0=()=>{var u=new E4("mtd",[]);return u.setAttribute("width","50%"),u},vq0,xq0,q64,Wq0=(u,B)=>{var E=u.font;if(!E)return B;else if(vq0[E])return B.withTextFontFamily(vq0[E]);else if(xq0[E])return B.withTextFontWeight(xq0[E]);else if(E==="\\emph")return B.fontShape==="textit"?B.withTextFontShape("textup"):B.withTextFontShape("textit");return B.withTextFontShape(q64[E])},Sq0=(u)=>u.body.replace(/ /g,u.star?"␣":" "),hf,Xl0=`[ \r
]`,l64="\\\\[a-zA-Z@]+",L64="\\\\[^\uD800-\uDFFF]",X64,v64=`\\\\(
|[ \r ]+
?)[ \r ]*`,gt="[̀-ͯ]",x64,W64,S64,Yq0,Ce=(u,B,E,A)=>{var C=u.consumeArg().tokens;if(C.length!==1)throw new B4("\\newcommand's first argument must be a macro name");var D=C[0].text,F=u.isDefined(D);if(F&&!B)throw new B4("\\newcommand{"+D+"} attempting to redefine "+(D+"; use \\renewcommand"));if(!F&&!E)throw new B4("\\renewcommand{"+D+"} when command "+D+" does not yet exist; use \\newcommand");var U=0;if(C=u.consumeArg().tokens,C.length===1&&C[0].text==="["){var z="",k=u.expandNextToken();while(k.text!=="]"&&k.text!=="EOF")z+=k.text,k=u.expandNextToken();if(!z.match(/^\s*[0-9]+\s*$/))throw new B4("Invalid number of arguments: "+z);U=parseInt(z),C=u.consumeArg().tokens}if(!(F&&A))u.macros.set(D,{tokens:C,numArgs:U});return""},Rq0,Y64,De,xl0,Wl0=(u)=>(B)=>{var E=B.consumeArg().tokens,A=B.consumeArg().tokens,C=B.consumeArg().tokens,D=B.consumeArg().tokens,F=B.macros.get("|"),U=B.macros.get("\\|");B.macros.beginGroup();var z=(M)=>(b)=>{if(u){if(b.macros.set("|",F),C.length)b.macros.set("\\|",U)}var Z=M;if(!M&&C.length){var J=b.future();if(J.text==="|")b.popToken(),Z=!0}return{tokens:Z?C:A,numArgs:0}};if(B.macros.set("|",z(!1)),C.length)B.macros.set("\\|",z(!0));var k=B.consumeArg().tokens,f=B.expandTokens([...D,...k,...E]);return B.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},Sl0,Tq0,Lj,St,Oq0,Fe=function(B,E){if(!(typeof B==="string"||B instanceof String))throw TypeError("KaTeX can only parse string typed expression");var A=new _j(B,E);delete A.gullet.macros.current["\\df@tag"];var C=A.parse();if(delete A.gullet.macros.current["\\current@color"],delete A.gullet.macros.current["\\color"],A.gullet.macros.get("\\df@tag")){if(!E.displayMode)throw new B4("\\tag works only in display equations");C=[{type:"tag",mode:"text",body:C,tag:A.subparse([new AE("\\df@tag")])}]}return C},Ue=function(B,E,A){E.textContent="";var C=pj(B,A).toNode();E.appendChild(C)},Rl0=function(B,E){var A=pj(B,E).toMarkup();return A},Tl0=function(B,E){var A=new jj(E);return Fe(B,A)},Ol0=function(B,E,A){if(A.throwOnError||!(B instanceof B4))throw B;var C=u4(["katex-error"],[new F8(E)]);return C.setAttribute("title",B.toString()),C.setAttribute("style","color:"+A.errorColor),C},pj=function(B,E){var A=new jj(E);try{var C=Fe(B,A);return i14(C,B,A)}catch(D){return Ol0(D,B,A)}},Il0=function(B,E){var A=new jj(E);try{var C=Fe(B,A);return a14(C,B,A)}catch(D){return Ol0(D,B,A)}},Pl0="0.16.47",jl0,R64;var Vl0=g(()=>{B4=class B4 extends Error{constructor(u,B){var E="KaTeX parse error: "+u,A,C,D=B&&B.loc;if(D&&D.start<=D.end){var F=D.lexer.input;if(A=D.start,C=D.end,A===F.length)E+=" at end of input: ";else E+=" at position "+(A+1)+": ";var U=F.slice(A,C).replace(/[^]/g,"$&̲"),z;if(A>15)z="…"+F.slice(A-15,A);else z=F.slice(0,A);var k;if(C+15<F.length)k=F.slice(C,C+15)+"…";else k=F.slice(C);E+=z+U+k}super(E);if(this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,B4.prototype),this.position=A,A!=null&&C!=null)this.length=C-A;this.rawMessage=u}};$34=/([A-Z])/g,r34={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},g34=/[&><"']/g,c34=new Set(["mathord","textord","atom"]),Sj={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:(u)=>"#"+u},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(u,B)=>{return B.push(u),B}},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:(u)=>Math.max(0,u),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:(u)=>Math.max(0,u),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1000,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:(u)=>Math.max(0,u),cli:"-e, --max-expand <n>",cliProcessor:(u)=>u==="Infinity"?1/0:parseInt(u)},globalGroup:{type:"boolean",cli:!1}};kF=[new Xz(_t,0,!1),new Xz(Yj,0,!0),new Xz(oG,1,!1),new Xz(Wz,1,!0),new Xz(Gx,2,!1),new Xz(tE,2,!0),new Xz(tG,3,!1),new Xz(JB,3,!0)],s34=[Gx,tE,Gx,tE,tG,JB,tG,JB],o34=[tE,tE,tE,tE,JB,JB,JB,JB],t34=[oG,Wz,Gx,tE,tG,JB,tG,JB],e34=[Wz,Wz,tE,tE,JB,JB,JB,JB],u14=[Yj,Yj,Wz,Wz,tE,tE,JB,JB],B14=[_t,Yj,oG,Wz,oG,Wz,oG,Wz],i3={DISPLAY:kF[_t],TEXT:kF[oG],SCRIPT:kF[Gx],SCRIPTSCRIPT:kF[tG]},Yt=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];vj=[];Yt.forEach((u)=>u.blocks.forEach((B)=>vj.push(...B)));oH0={doubleleftarrow:`M262 157
l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
435 0h399565z`,leftgroupunder:`M400000 262
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:_2("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:_2("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:_2("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:_2("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:_2("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334
c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:_2("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:_2("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:_2("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
-338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
-175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`};Rt={pt:1,mm:2.8452755905511813,cm:28.45275590551181,in:72.27,bp:1.00375,pc:12,dd:1.070008643042351,cc:12.84010371650821,nd:1.0669781931464175,nc:12.80373831775701,sp:0.0000152587890625,px:1.00375},J14={ex:!0,em:!0,mu:!0},K14=/[\s"'>/=\x00-\x1f]/;w14={"î":"ı̂","ï":"ı̈","í":"ı́","ì":"ı̀"};fF={"AMS-Regular":{"32":[0,0,0,0,0.25],"65":[0,0.68889,0,0,0.72222],"66":[0,0.68889,0,0,0.66667],"67":[0,0.68889,0,0,0.72222],"68":[0,0.68889,0,0,0.72222],"69":[0,0.68889,0,0,0.66667],"70":[0,0.68889,0,0,0.61111],"71":[0,0.68889,0,0,0.77778],"72":[0,0.68889,0,0,0.77778],"73":[0,0.68889,0,0,0.38889],"74":[0.16667,0.68889,0,0,0.5],"75":[0,0.68889,0,0,0.77778],"76":[0,0.68889,0,0,0.66667],"77":[0,0.68889,0,0,0.94445],"78":[0,0.68889,0,0,0.72222],"79":[0.16667,0.68889,0,0,0.77778],"80":[0,0.68889,0,0,0.61111],"81":[0.16667,0.68889,0,0,0.77778],"82":[0,0.68889,0,0,0.72222],"83":[0,0.68889,0,0,0.55556],"84":[0,0.68889,0,0,0.66667],"85":[0,0.68889,0,0,0.72222],"86":[0,0.68889,0,0,0.72222],"87":[0,0.68889,0,0,1],"88":[0,0.68889,0,0,0.72222],"89":[0,0.68889,0,0,0.72222],"90":[0,0.68889,0,0,0.66667],"107":[0,0.68889,0,0,0.55556],"160":[0,0,0,0,0.25],"165":[0,0.675,0.025,0,0.75],"174":[0.15559,0.69224,0,0,0.94666],"240":[0,0.68889,0,0,0.55556],"295":[0,0.68889,0,0,0.54028],"710":[0,0.825,0,0,2.33334],"732":[0,0.9,0,0,2.33334],"770":[0,0.825,0,0,2.33334],"771":[0,0.9,0,0,2.33334],"989":[0.08167,0.58167,0,0,0.77778],"1008":[0,0.43056,0.04028,0,0.66667],"8245":[0,0.54986,0,0,0.275],"8463":[0,0.68889,0,0,0.54028],"8487":[0,0.68889,0,0,0.72222],"8498":[0,0.68889,0,0,0.55556],"8502":[0,0.68889,0,0,0.66667],"8503":[0,0.68889,0,0,0.44445],"8504":[0,0.68889,0,0,0.66667],"8513":[0,0.68889,0,0,0.63889],"8592":[-0.03598,0.46402,0,0,0.5],"8594":[-0.03598,0.46402,0,0,0.5],"8602":[-0.13313,0.36687,0,0,1],"8603":[-0.13313,0.36687,0,0,1],"8606":[0.01354,0.52239,0,0,1],"8608":[0.01354,0.52239,0,0,1],"8610":[0.01354,0.52239,0,0,1.11111],"8611":[0.01354,0.52239,0,0,1.11111],"8619":[0,0.54986,0,0,1],"8620":[0,0.54986,0,0,1],"8621":[-0.13313,0.37788,0,0,1.38889],"8622":[-0.13313,0.36687,0,0,1],"8624":[0,0.69224,0,0,0.5],"8625":[0,0.69224,0,0,0.5],"8630":[0,0.43056,0,0,1],"8631":[0,0.43056,0,0,1],"8634":[0.08198,0.58198,0,0,0.77778],"8635":[0.08198,0.58198,0,0,0.77778],"8638":[0.19444,0.69224,0,0,0.41667],"8639":[0.19444,0.69224,0,0,0.41667],"8642":[0.19444,0.69224,0,0,0.41667],"8643":[0.19444,0.69224,0,0,0.41667],"8644":[0.1808,0.675,0,0,1],"8646":[0.1808,0.675,0,0,1],"8647":[0.1808,0.675,0,0,1],"8648":[0.19444,0.69224,0,0,0.83334],"8649":[0.1808,0.675,0,0,1],"8650":[0.19444,0.69224,0,0,0.83334],"8651":[0.01354,0.52239,0,0,1],"8652":[0.01354,0.52239,0,0,1],"8653":[-0.13313,0.36687,0,0,1],"8654":[-0.13313,0.36687,0,0,1],"8655":[-0.13313,0.36687,0,0,1],"8666":[0.13667,0.63667,0,0,1],"8667":[0.13667,0.63667,0,0,1],"8669":[-0.13313,0.37788,0,0,1],"8672":[-0.064,0.437,0,0,1.334],"8674":[-0.064,0.437,0,0,1.334],"8705":[0,0.825,0,0,0.5],"8708":[0,0.68889,0,0,0.55556],"8709":[0.08167,0.58167,0,0,0.77778],"8717":[0,0.43056,0,0,0.42917],"8722":[-0.03598,0.46402,0,0,0.5],"8724":[0.08198,0.69224,0,0,0.77778],"8726":[0.08167,0.58167,0,0,0.77778],"8733":[0,0.69224,0,0,0.77778],"8736":[0,0.69224,0,0,0.72222],"8737":[0,0.69224,0,0,0.72222],"8738":[0.03517,0.52239,0,0,0.72222],"8739":[0.08167,0.58167,0,0,0.22222],"8740":[0.25142,0.74111,0,0,0.27778],"8741":[0.08167,0.58167,0,0,0.38889],"8742":[0.25142,0.74111,0,0,0.5],"8756":[0,0.69224,0,0,0.66667],"8757":[0,0.69224,0,0,0.66667],"8764":[-0.13313,0.36687,0,0,0.77778],"8765":[-0.13313,0.37788,0,0,0.77778],"8769":[-0.13313,0.36687,0,0,0.77778],"8770":[-0.03625,0.46375,0,0,0.77778],"8774":[0.30274,0.79383,0,0,0.77778],"8776":[-0.01688,0.48312,0,0,0.77778],"8778":[0.08167,0.58167,0,0,0.77778],"8782":[0.06062,0.54986,0,0,0.77778],"8783":[0.06062,0.54986,0,0,0.77778],"8785":[0.08198,0.58198,0,0,0.77778],"8786":[0.08198,0.58198,0,0,0.77778],"8787":[0.08198,0.58198,0,0,0.77778],"8790":[0,0.69224,0,0,0.77778],"8791":[0.22958,0.72958,0,0,0.77778],"8796":[0.08198,0.91667,0,0,0.77778],"8806":[0.25583,0.75583,0,0,0.77778],"8807":[0.25583,0.75583,0,0,0.77778],"8808":[0.25142,0.75726,0,0,0.77778],"8809":[0.25142,0.75726,0,0,0.77778],"8812":[0.25583,0.75583,0,0,0.5],"8814":[0.20576,0.70576,0,0,0.77778],"8815":[0.20576,0.70576,0,0,0.77778],"8816":[0.30274,0.79383,0,0,0.77778],"8817":[0.30274,0.79383,0,0,0.77778],"8818":[0.22958,0.72958,0,0,0.77778],"8819":[0.22958,0.72958,0,0,0.77778],"8822":[0.1808,0.675,0,0,0.77778],"8823":[0.1808,0.675,0,0,0.77778],"8828":[0.13667,0.63667,0,0,0.77778],"8829":[0.13667,0.63667,0,0,0.77778],"8830":[0.22958,0.72958,0,0,0.77778],"8831":[0.22958,0.72958,0,0,0.77778],"8832":[0.20576,0.70576,0,0,0.77778],"8833":[0.20576,0.70576,0,0,0.77778],"8840":[0.30274,0.79383,0,0,0.77778],"8841":[0.30274,0.79383,0,0,0.77778],"8842":[0.13597,0.63597,0,0,0.77778],"8843":[0.13597,0.63597,0,0,0.77778],"8847":[0.03517,0.54986,0,0,0.77778],"8848":[0.03517,0.54986,0,0,0.77778],"8858":[0.08198,0.58198,0,0,0.77778],"8859":[0.08198,0.58198,0,0,0.77778],"8861":[0.08198,0.58198,0,0,0.77778],"8862":[0,0.675,0,0,0.77778],"8863":[0,0.675,0,0,0.77778],"8864":[0,0.675,0,0,0.77778],"8865":[0,0.675,0,0,0.77778],"8872":[0,0.69224,0,0,0.61111],"8873":[0,0.69224,0,0,0.72222],"8874":[0,0.69224,0,0,0.88889],"8876":[0,0.68889,0,0,0.61111],"8877":[0,0.68889,0,0,0.61111],"8878":[0,0.68889,0,0,0.72222],"8879":[0,0.68889,0,0,0.72222],"8882":[0.03517,0.54986,0,0,0.77778],"8883":[0.03517,0.54986,0,0,0.77778],"8884":[0.13667,0.63667,0,0,0.77778],"8885":[0.13667,0.63667,0,0,0.77778],"8888":[0,0.54986,0,0,1.11111],"8890":[0.19444,0.43056,0,0,0.55556],"8891":[0.19444,0.69224,0,0,0.61111],"8892":[0.19444,0.69224,0,0,0.61111],"8901":[0,0.54986,0,0,0.27778],"8903":[0.08167,0.58167,0,0,0.77778],"8905":[0.08167,0.58167,0,0,0.77778],"8906":[0.08167,0.58167,0,0,0.77778],"8907":[0,0.69224,0,0,0.77778],"8908":[0,0.69224,0,0,0.77778],"8909":[-0.03598,0.46402,0,0,0.77778],"8910":[0,0.54986,0,0,0.76042],"8911":[0,0.54986,0,0,0.76042],"8912":[0.03517,0.54986,0,0,0.77778],"8913":[0.03517,0.54986,0,0,0.77778],"8914":[0,0.54986,0,0,0.66667],"8915":[0,0.54986,0,0,0.66667],"8916":[0,0.69224,0,0,0.66667],"8918":[0.0391,0.5391,0,0,0.77778],"8919":[0.0391,0.5391,0,0,0.77778],"8920":[0.03517,0.54986,0,0,1.33334],"8921":[0.03517,0.54986,0,0,1.33334],"8922":[0.38569,0.88569,0,0,0.77778],"8923":[0.38569,0.88569,0,0,0.77778],"8926":[0.13667,0.63667,0,0,0.77778],"8927":[0.13667,0.63667,0,0,0.77778],"8928":[0.30274,0.79383,0,0,0.77778],"8929":[0.30274,0.79383,0,0,0.77778],"8934":[0.23222,0.74111,0,0,0.77778],"8935":[0.23222,0.74111,0,0,0.77778],"8936":[0.23222,0.74111,0,0,0.77778],"8937":[0.23222,0.74111,0,0,0.77778],"8938":[0.20576,0.70576,0,0,0.77778],"8939":[0.20576,0.70576,0,0,0.77778],"8940":[0.30274,0.79383,0,0,0.77778],"8941":[0.30274,0.79383,0,0,0.77778],"8994":[0.19444,0.69224,0,0,0.77778],"8995":[0.19444,0.69224,0,0,0.77778],"9416":[0.15559,0.69224,0,0,0.90222],"9484":[0,0.69224,0,0,0.5],"9488":[0,0.69224,0,0,0.5],"9492":[0,0.37788,0,0,0.5],"9496":[0,0.37788,0,0,0.5],"9585":[0.19444,0.68889,0,0,0.88889],"9586":[0.19444,0.74111,0,0,0.88889],"9632":[0,0.675,0,0,0.77778],"9633":[0,0.675,0,0,0.77778],"9650":[0,0.54986,0,0,0.72222],"9651":[0,0.54986,0,0,0.72222],"9654":[0.03517,0.54986,0,0,0.77778],"9660":[0,0.54986,0,0,0.72222],"9661":[0,0.54986,0,0,0.72222],"9664":[0.03517,0.54986,0,0,0.77778],"9674":[0.11111,0.69224,0,0,0.66667],"9733":[0.19444,0.69224,0,0,0.94445],"10003":[0,0.69224,0,0,0.83334],"10016":[0,0.69224,0,0,0.83334],"10731":[0.11111,0.69224,0,0,0.66667],"10846":[0.19444,0.75583,0,0,0.61111],"10877":[0.13667,0.63667,0,0,0.77778],"10878":[0.13667,0.63667,0,0,0.77778],"10885":[0.25583,0.75583,0,0,0.77778],"10886":[0.25583,0.75583,0,0,0.77778],"10887":[0.13597,0.63597,0,0,0.77778],"10888":[0.13597,0.63597,0,0,0.77778],"10889":[0.26167,0.75726,0,0,0.77778],"10890":[0.26167,0.75726,0,0,0.77778],"10891":[0.48256,0.98256,0,0,0.77778],"10892":[0.48256,0.98256,0,0,0.77778],"10901":[0.13667,0.63667,0,0,0.77778],"10902":[0.13667,0.63667,0,0,0.77778],"10933":[0.25142,0.75726,0,0,0.77778],"10934":[0.25142,0.75726,0,0,0.77778],"10935":[0.26167,0.75726,0,0,0.77778],"10936":[0.26167,0.75726,0,0,0.77778],"10937":[0.26167,0.75726,0,0,0.77778],"10938":[0.26167,0.75726,0,0,0.77778],"10949":[0.25583,0.75583,0,0,0.77778],"10950":[0.25583,0.75583,0,0,0.77778],"10955":[0.28481,0.79383,0,0,0.77778],"10956":[0.28481,0.79383,0,0,0.77778],"57350":[0.08167,0.58167,0,0,0.22222],"57351":[0.08167,0.58167,0,0,0.38889],"57352":[0.08167,0.58167,0,0,0.77778],"57353":[0,0.43056,0.04028,0,0.66667],"57356":[0.25142,0.75726,0,0,0.77778],"57357":[0.25142,0.75726,0,0,0.77778],"57358":[0.41951,0.91951,0,0,0.77778],"57359":[0.30274,0.79383,0,0,0.77778],"57360":[0.30274,0.79383,0,0,0.77778],"57361":[0.41951,0.91951,0,0,0.77778],"57366":[0.25142,0.75726,0,0,0.77778],"57367":[0.25142,0.75726,0,0,0.77778],"57368":[0.25142,0.75726,0,0,0.77778],"57369":[0.25142,0.75726,0,0,0.77778],"57370":[0.13597,0.63597,0,0,0.77778],"57371":[0.13597,0.63597,0,0,0.77778]},"Caligraphic-Regular":{"32":[0,0,0,0,0.25],"65":[0,0.68333,0,0.19445,0.79847],"66":[0,0.68333,0.03041,0.13889,0.65681],"67":[0,0.68333,0.05834,0.13889,0.52653],"68":[0,0.68333,0.02778,0.08334,0.77139],"69":[0,0.68333,0.08944,0.11111,0.52778],"70":[0,0.68333,0.09931,0.11111,0.71875],"71":[0.09722,0.68333,0.0593,0.11111,0.59487],"72":[0,0.68333,0.00965,0.11111,0.84452],"73":[0,0.68333,0.07382,0,0.54452],"74":[0.09722,0.68333,0.18472,0.16667,0.67778],"75":[0,0.68333,0.01445,0.05556,0.76195],"76":[0,0.68333,0,0.13889,0.68972],"77":[0,0.68333,0,0.13889,1.2009],"78":[0,0.68333,0.14736,0.08334,0.82049],"79":[0,0.68333,0.02778,0.11111,0.79611],"80":[0,0.68333,0.08222,0.08334,0.69556],"81":[0.09722,0.68333,0,0.11111,0.81667],"82":[0,0.68333,0,0.08334,0.8475],"83":[0,0.68333,0.075,0.13889,0.60556],"84":[0,0.68333,0.25417,0,0.54464],"85":[0,0.68333,0.09931,0.08334,0.62583],"86":[0,0.68333,0.08222,0,0.61278],"87":[0,0.68333,0.08222,0.08334,0.98778],"88":[0,0.68333,0.14643,0.13889,0.7133],"89":[0.09722,0.68333,0.08222,0.08334,0.66834],"90":[0,0.68333,0.07944,0.13889,0.72473],"160":[0,0,0,0,0.25]},"Fraktur-Regular":{"32":[0,0,0,0,0.25],"33":[0,0.69141,0,0,0.29574],"34":[0,0.69141,0,0,0.21471],"38":[0,0.69141,0,0,0.73786],"39":[0,0.69141,0,0,0.21201],"40":[0.24982,0.74947,0,0,0.38865],"41":[0.24982,0.74947,0,0,0.38865],"42":[0,0.62119,0,0,0.27764],"43":[0.08319,0.58283,0,0,0.75623],"44":[0,0.10803,0,0,0.27764],"45":[0.08319,0.58283,0,0,0.75623],"46":[0,0.10803,0,0,0.27764],"47":[0.24982,0.74947,0,0,0.50181],"48":[0,0.47534,0,0,0.50181],"49":[0,0.47534,0,0,0.50181],"50":[0,0.47534,0,0,0.50181],"51":[0.18906,0.47534,0,0,0.50181],"52":[0.18906,0.47534,0,0,0.50181],"53":[0.18906,0.47534,0,0,0.50181],"54":[0,0.69141,0,0,0.50181],"55":[0.18906,0.47534,0,0,0.50181],"56":[0,0.69141,0,0,0.50181],"57":[0.18906,0.47534,0,0,0.50181],"58":[0,0.47534,0,0,0.21606],"59":[0.12604,0.47534,0,0,0.21606],"61":[-0.13099,0.36866,0,0,0.75623],"63":[0,0.69141,0,0,0.36245],"65":[0,0.69141,0,0,0.7176],"66":[0,0.69141,0,0,0.88397],"67":[0,0.69141,0,0,0.61254],"68":[0,0.69141,0,0,0.83158],"69":[0,0.69141,0,0,0.66278],"70":[0.12604,0.69141,0,0,0.61119],"71":[0,0.69141,0,0,0.78539],"72":[0.06302,0.69141,0,0,0.7203],"73":[0,0.69141,0,0,0.55448],"74":[0.12604,0.69141,0,0,0.55231],"75":[0,0.69141,0,0,0.66845],"76":[0,0.69141,0,0,0.66602],"77":[0,0.69141,0,0,1.04953],"78":[0,0.69141,0,0,0.83212],"79":[0,0.69141,0,0,0.82699],"80":[0.18906,0.69141,0,0,0.82753],"81":[0.03781,0.69141,0,0,0.82699],"82":[0,0.69141,0,0,0.82807],"83":[0,0.69141,0,0,0.82861],"84":[0,0.69141,0,0,0.66899],"85":[0,0.69141,0,0,0.64576],"86":[0,0.69141,0,0,0.83131],"87":[0,0.69141,0,0,1.04602],"88":[0,0.69141,0,0,0.71922],"89":[0.18906,0.69141,0,0,0.83293],"90":[0.12604,0.69141,0,0,0.60201],"91":[0.24982,0.74947,0,0,0.27764],"93":[0.24982,0.74947,0,0,0.27764],"94":[0,0.69141,0,0,0.49965],"97":[0,0.47534,0,0,0.50046],"98":[0,0.69141,0,0,0.51315],"99":[0,0.47534,0,0,0.38946],"100":[0,0.62119,0,0,0.49857],"101":[0,0.47534,0,0,0.40053],"102":[0.18906,0.69141,0,0,0.32626],"103":[0.18906,0.47534,0,0,0.5037],"104":[0.18906,0.69141,0,0,0.52126],"105":[0,0.69141,0,0,0.27899],"106":[0,0.69141,0,0,0.28088],"107":[0,0.69141,0,0,0.38946],"108":[0,0.69141,0,0,0.27953],"109":[0,0.47534,0,0,0.76676],"110":[0,0.47534,0,0,0.52666],"111":[0,0.47534,0,0,0.48885],"112":[0.18906,0.52396,0,0,0.50046],"113":[0.18906,0.47534,0,0,0.48912],"114":[0,0.47534,0,0,0.38919],"115":[0,0.47534,0,0,0.44266],"116":[0,0.62119,0,0,0.33301],"117":[0,0.47534,0,0,0.5172],"118":[0,0.52396,0,0,0.5118],"119":[0,0.52396,0,0,0.77351],"120":[0.18906,0.47534,0,0,0.38865],"121":[0.18906,0.47534,0,0,0.49884],"122":[0.18906,0.47534,0,0,0.39054],"160":[0,0,0,0,0.25],"8216":[0,0.69141,0,0,0.21471],"8217":[0,0.69141,0,0,0.21471],"58112":[0,0.62119,0,0,0.49749],"58113":[0,0.62119,0,0,0.4983],"58114":[0.18906,0.69141,0,0,0.33328],"58115":[0.18906,0.69141,0,0,0.32923],"58116":[0.18906,0.47534,0,0,0.50343],"58117":[0,0.69141,0,0,0.33301],"58118":[0,0.62119,0,0,0.33409],"58119":[0,0.47534,0,0,0.50073]},"Main-Bold":{"32":[0,0,0,0,0.25],"33":[0,0.69444,0,0,0.35],"34":[0,0.69444,0,0,0.60278],"35":[0.19444,0.69444,0,0,0.95833],"36":[0.05556,0.75,0,0,0.575],"37":[0.05556,0.75,0,0,0.95833],"38":[0,0.69444,0,0,0.89444],"39":[0,0.69444,0,0,0.31944],"40":[0.25,0.75,0,0,0.44722],"41":[0.25,0.75,0,0,0.44722],"42":[0,0.75,0,0,0.575],"43":[0.13333,0.63333,0,0,0.89444],"44":[0.19444,0.15556,0,0,0.31944],"45":[0,0.44444,0,0,0.38333],"46":[0,0.15556,0,0,0.31944],"47":[0.25,0.75,0,0,0.575],"48":[0,0.64444,0,0,0.575],"49":[0,0.64444,0,0,0.575],"50":[0,0.64444,0,0,0.575],"51":[0,0.64444,0,0,0.575],"52":[0,0.64444,0,0,0.575],"53":[0,0.64444,0,0,0.575],"54":[0,0.64444,0,0,0.575],"55":[0,0.64444,0,0,0.575],"56":[0,0.64444,0,0,0.575],"57":[0,0.64444,0,0,0.575],"58":[0,0.44444,0,0,0.31944],"59":[0.19444,0.44444,0,0,0.31944],"60":[0.08556,0.58556,0,0,0.89444],"61":[-0.10889,0.39111,0,0,0.89444],"62":[0.08556,0.58556,0,0,0.89444],"63":[0,0.69444,0,0,0.54305],"64":[0,0.69444,0,0,0.89444],"65":[0,0.68611,0,0,0.86944],"66":[0,0.68611,0,0,0.81805],"67":[0,0.68611,0,0,0.83055],"68":[0,0.68611,0,0,0.88194],"69":[0,0.68611,0,0,0.75555],"70":[0,0.68611,0,0,0.72361],"71":[0,0.68611,0,0,0.90416],"72":[0,0.68611,0,0,0.9],"73":[0,0.68611,0,0,0.43611],"74":[0,0.68611,0,0,0.59444],"75":[0,0.68611,0,0,0.90138],"76":[0,0.68611,0,0,0.69166],"77":[0,0.68611,0,0,1.09166],"78":[0,0.68611,0,0,0.9],"79":[0,0.68611,0,0,0.86388],"80":[0,0.68611,0,0,0.78611],"81":[0.19444,0.68611,0,0,0.86388],"82":[0,0.68611,0,0,0.8625],"83":[0,0.68611,0,0,0.63889],"84":[0,0.68611,0,0,0.8],"85":[0,0.68611,0,0,0.88472],"86":[0,0.68611,0.01597,0,0.86944],"87":[0,0.68611,0.01597,0,1.18888],"88":[0,0.68611,0,0,0.86944],"89":[0,0.68611,0.02875,0,0.86944],"90":[0,0.68611,0,0,0.70277],"91":[0.25,0.75,0,0,0.31944],"92":[0.25,0.75,0,0,0.575],"93":[0.25,0.75,0,0,0.31944],"94":[0,0.69444,0,0,0.575],"95":[0.31,0.13444,0.03194,0,0.575],"97":[0,0.44444,0,0,0.55902],"98":[0,0.69444,0,0,0.63889],"99":[0,0.44444,0,0,0.51111],"100":[0,0.69444,0,0,0.63889],"101":[0,0.44444,0,0,0.52708],"102":[0,0.69444,0.10903,0,0.35139],"103":[0.19444,0.44444,0.01597,0,0.575],"104":[0,0.69444,0,0,0.63889],"105":[0,0.69444,0,0,0.31944],"106":[0.19444,0.69444,0,0,0.35139],"107":[0,0.69444,0,0,0.60694],"108":[0,0.69444,0,0,0.31944],"109":[0,0.44444,0,0,0.95833],"110":[0,0.44444,0,0,0.63889],"111":[0,0.44444,0,0,0.575],"112":[0.19444,0.44444,0,0,0.63889],"113":[0.19444,0.44444,0,0,0.60694],"114":[0,0.44444,0,0,0.47361],"115":[0,0.44444,0,0,0.45361],"116":[0,0.63492,0,0,0.44722],"117":[0,0.44444,0,0,0.63889],"118":[0,0.44444,0.01597,0,0.60694],"119":[0,0.44444,0.01597,0,0.83055],"120":[0,0.44444,0,0,0.60694],"121":[0.19444,0.44444,0.01597,0,0.60694],"122":[0,0.44444,0,0,0.51111],"123":[0.25,0.75,0,0,0.575],"124":[0.25,0.75,0,0,0.31944],"125":[0.25,0.75,0,0,0.575],"126":[0.35,0.34444,0,0,0.575],"160":[0,0,0,0,0.25],"163":[0,0.69444,0,0,0.86853],"168":[0,0.69444,0,0,0.575],"172":[0,0.44444,0,0,0.76666],"176":[0,0.69444,0,0,0.86944],"177":[0.13333,0.63333,0,0,0.89444],"184":[0.17014,0,0,0,0.51111],"198":[0,0.68611,0,0,1.04166],"215":[0.13333,0.63333,0,0,0.89444],"216":[0.04861,0.73472,0,0,0.89444],"223":[0,0.69444,0,0,0.59722],"230":[0,0.44444,0,0,0.83055],"247":[0.13333,0.63333,0,0,0.89444],"248":[0.09722,0.54167,0,0,0.575],"305":[0,0.44444,0,0,0.31944],"338":[0,0.68611,0,0,1.16944],"339":[0,0.44444,0,0,0.89444],"567":[0.19444,0.44444,0,0,0.35139],"710":[0,0.69444,0,0,0.575],"711":[0,0.63194,0,0,0.575],"713":[0,0.59611,0,0,0.575],"714":[0,0.69444,0,0,0.575],"715":[0,0.69444,0,0,0.575],"728":[0,0.69444,0,0,0.575],"729":[0,0.69444,0,0,0.31944],"730":[0,0.69444,0,0,0.86944],"732":[0,0.69444,0,0,0.575],"733":[0,0.69444,0,0,0.575],"915":[0,0.68611,0,0,0.69166],"916":[0,0.68611,0,0,0.95833],"920":[0,0.68611,0,0,0.89444],"923":[0,0.68611,0,0,0.80555],"926":[0,0.68611,0,0,0.76666],"928":[0,0.68611,0,0,0.9],"931":[0,0.68611,0,0,0.83055],"933":[0,0.68611,0,0,0.89444],"934":[0,0.68611,0,0,0.83055],"936":[0,0.68611,0,0,0.89444],"937":[0,0.68611,0,0,0.83055],"8211":[0,0.44444,0.03194,0,0.575],"8212":[0,0.44444,0.03194,0,1.14999],"8216":[0,0.69444,0,0,0.31944],"8217":[0,0.69444,0,0,0.31944],"8220":[0,0.69444,0,0,0.60278],"8221":[0,0.69444,0,0,0.60278],"8224":[0.19444,0.69444,0,0,0.51111],"8225":[0.19444,0.69444,0,0,0.51111],"8242":[0,0.55556,0,0,0.34444],"8407":[0,0.72444,0.15486,0,0.575],"8463":[0,0.69444,0,0,0.66759],"8465":[0,0.69444,0,0,0.83055],"8467":[0,0.69444,0,0,0.47361],"8472":[0.19444,0.44444,0,0,0.74027],"8476":[0,0.69444,0,0,0.83055],"8501":[0,0.69444,0,0,0.70277],"8592":[-0.10889,0.39111,0,0,1.14999],"8593":[0.19444,0.69444,0,0,0.575],"8594":[-0.10889,0.39111,0,0,1.14999],"8595":[0.19444,0.69444,0,0,0.575],"8596":[-0.10889,0.39111,0,0,1.14999],"8597":[0.25,0.75,0,0,0.575],"8598":[0.19444,0.69444,0,0,1.14999],"8599":[0.19444,0.69444,0,0,1.14999],"8600":[0.19444,0.69444,0,0,1.14999],"8601":[0.19444,0.69444,0,0,1.14999],"8636":[-0.10889,0.39111,0,0,1.14999],"8637":[-0.10889,0.39111,0,0,1.14999],"8640":[-0.10889,0.39111,0,0,1.14999],"8641":[-0.10889,0.39111,0,0,1.14999],"8656":[-0.10889,0.39111,0,0,1.14999],"8657":[0.19444,0.69444,0,0,0.70277],"8658":[-0.10889,0.39111,0,0,1.14999],"8659":[0.19444,0.69444,0,0,0.70277],"8660":[-0.10889,0.39111,0,0,1.14999],"8661":[0.25,0.75,0,0,0.70277],"8704":[0,0.69444,0,0,0.63889],"8706":[0,0.69444,0.06389,0,0.62847],"8707":[0,0.69444,0,0,0.63889],"8709":[0.05556,0.75,0,0,0.575],"8711":[0,0.68611,0,0,0.95833],"8712":[0.08556,0.58556,0,0,0.76666],"8715":[0.08556,0.58556,0,0,0.76666],"8722":[0.13333,0.63333,0,0,0.89444],"8723":[0.13333,0.63333,0,0,0.89444],"8725":[0.25,0.75,0,0,0.575],"8726":[0.25,0.75,0,0,0.575],"8727":[-0.02778,0.47222,0,0,0.575],"8728":[-0.02639,0.47361,0,0,0.575],"8729":[-0.02639,0.47361,0,0,0.575],"8730":[0.18,0.82,0,0,0.95833],"8733":[0,0.44444,0,0,0.89444],"8734":[0,0.44444,0,0,1.14999],"8736":[0,0.69224,0,0,0.72222],"8739":[0.25,0.75,0,0,0.31944],"8741":[0.25,0.75,0,0,0.575],"8743":[0,0.55556,0,0,0.76666],"8744":[0,0.55556,0,0,0.76666],"8745":[0,0.55556,0,0,0.76666],"8746":[0,0.55556,0,0,0.76666],"8747":[0.19444,0.69444,0.12778,0,0.56875],"8764":[-0.10889,0.39111,0,0,0.89444],"8768":[0.19444,0.69444,0,0,0.31944],"8771":[0.00222,0.50222,0,0,0.89444],"8773":[0.027,0.638,0,0,0.894],"8776":[0.02444,0.52444,0,0,0.89444],"8781":[0.00222,0.50222,0,0,0.89444],"8801":[0.00222,0.50222,0,0,0.89444],"8804":[0.19667,0.69667,0,0,0.89444],"8805":[0.19667,0.69667,0,0,0.89444],"8810":[0.08556,0.58556,0,0,1.14999],"8811":[0.08556,0.58556,0,0,1.14999],"8826":[0.08556,0.58556,0,0,0.89444],"8827":[0.08556,0.58556,0,0,0.89444],"8834":[0.08556,0.58556,0,0,0.89444],"8835":[0.08556,0.58556,0,0,0.89444],"8838":[0.19667,0.69667,0,0,0.89444],"8839":[0.19667,0.69667,0,0,0.89444],"8846":[0,0.55556,0,0,0.76666],"8849":[0.19667,0.69667,0,0,0.89444],"8850":[0.19667,0.69667,0,0,0.89444],"8851":[0,0.55556,0,0,0.76666],"8852":[0,0.55556,0,0,0.76666],"8853":[0.13333,0.63333,0,0,0.89444],"8854":[0.13333,0.63333,0,0,0.89444],"8855":[0.13333,0.63333,0,0,0.89444],"8856":[0.13333,0.63333,0,0,0.89444],"8857":[0.13333,0.63333,0,0,0.89444],"8866":[0,0.69444,0,0,0.70277],"8867":[0,0.69444,0,0,0.70277],"8868":[0,0.69444,0,0,0.89444],"8869":[0,0.69444,0,0,0.89444],"8900":[-0.02639,0.47361,0,0,0.575],"8901":[-0.02639,0.47361,0,0,0.31944],"8902":[-0.02778,0.47222,0,0,0.575],"8968":[0.25,0.75,0,0,0.51111],"8969":[0.25,0.75,0,0,0.51111],"8970":[0.25,0.75,0,0,0.51111],"8971":[0.25,0.75,0,0,0.51111],"8994":[-0.13889,0.36111,0,0,1.14999],"8995":[-0.13889,0.36111,0,0,1.14999],"9651":[0.19444,0.69444,0,0,1.02222],"9657":[-0.02778,0.47222,0,0,0.575],"9661":[0.19444,0.69444,0,0,1.02222],"9667":[-0.02778,0.47222,0,0,0.575],"9711":[0.19444,0.69444,0,0,1.14999],"9824":[0.12963,0.69444,0,0,0.89444],"9825":[0.12963,0.69444,0,0,0.89444],"9826":[0.12963,0.69444,0,0,0.89444],"9827":[0.12963,0.69444,0,0,0.89444],"9837":[0,0.75,0,0,0.44722],"9838":[0.19444,0.69444,0,0,0.44722],"9839":[0.19444,0.69444,0,0,0.44722],"10216":[0.25,0.75,0,0,0.44722],"10217":[0.25,0.75,0,0,0.44722],"10815":[0,0.68611,0,0,0.9],"10927":[0.19667,0.69667,0,0,0.89444],"10928":[0.19667,0.69667,0,0,0.89444],"57376":[0.19444,0.69444,0,0,0]},"Main-BoldItalic":{"32":[0,0,0,0,0.25],"33":[0,0.69444,0.11417,0,0.38611],"34":[0,0.69444,0.07939,0,0.62055],"35":[0.19444,0.69444,0.06833,0,0.94444],"37":[0.05556,0.75,0.12861,0,0.94444],"38":[0,0.69444,0.08528,0,0.88555],"39":[0,0.69444,0.12945,0,0.35555],"40":[0.25,0.75,0.15806,0,0.47333],"41":[0.25,0.75,0.03306,0,0.47333],"42":[0,0.75,0.14333,0,0.59111],"43":[0.10333,0.60333,0.03306,0,0.88555],"44":[0.19444,0.14722,0,0,0.35555],"45":[0,0.44444,0.02611,0,0.41444],"46":[0,0.14722,0,0,0.35555],"47":[0.25,0.75,0.15806,0,0.59111],"48":[0,0.64444,0.13167,0,0.59111],"49":[0,0.64444,0.13167,0,0.59111],"50":[0,0.64444,0.13167,0,0.59111],"51":[0,0.64444,0.13167,0,0.59111],"52":[0.19444,0.64444,0.13167,0,0.59111],"53":[0,0.64444,0.13167,0,0.59111],"54":[0,0.64444,0.13167,0,0.59111],"55":[0.19444,0.64444,0.13167,0,0.59111],"56":[0,0.64444,0.13167,0,0.59111],"57":[0,0.64444,0.13167,0,0.59111],"58":[0,0.44444,0.06695,0,0.35555],"59":[0.19444,0.44444,0.06695,0,0.35555],"61":[-0.10889,0.39111,0.06833,0,0.88555],"63":[0,0.69444,0.11472,0,0.59111],"64":[0,0.69444,0.09208,0,0.88555],"65":[0,0.68611,0,0,0.86555],"66":[0,0.68611,0.0992,0,0.81666],"67":[0,0.68611,0.14208,0,0.82666],"68":[0,0.68611,0.09062,0,0.87555],"69":[0,0.68611,0.11431,0,0.75666],"70":[0,0.68611,0.12903,0,0.72722],"71":[0,0.68611,0.07347,0,0.89527],"72":[0,0.68611,0.17208,0,0.8961],"73":[0,0.68611,0.15681,0,0.47166],"74":[0,0.68611,0.145,0,0.61055],"75":[0,0.68611,0.14208,0,0.89499],"76":[0,0.68611,0,0,0.69777],"77":[0,0.68611,0.17208,0,1.07277],"78":[0,0.68611,0.17208,0,0.8961],"79":[0,0.68611,0.09062,0,0.85499],"80":[0,0.68611,0.0992,0,0.78721],"81":[0.19444,0.68611,0.09062,0,0.85499],"82":[0,0.68611,0.02559,0,0.85944],"83":[0,0.68611,0.11264,0,0.64999],"84":[0,0.68611,0.12903,0,0.7961],"85":[0,0.68611,0.17208,0,0.88083],"86":[0,0.68611,0.18625,0,0.86555],"87":[0,0.68611,0.18625,0,1.15999],"88":[0,0.68611,0.15681,0,0.86555],"89":[0,0.68611,0.19803,0,0.86555],"90":[0,0.68611,0.14208,0,0.70888],"91":[0.25,0.75,0.1875,0,0.35611],"93":[0.25,0.75,0.09972,0,0.35611],"94":[0,0.69444,0.06709,0,0.59111],"95":[0.31,0.13444,0.09811,0,0.59111],"97":[0,0.44444,0.09426,0,0.59111],"98":[0,0.69444,0.07861,0,0.53222],"99":[0,0.44444,0.05222,0,0.53222],"100":[0,0.69444,0.10861,0,0.59111],"101":[0,0.44444,0.085,0,0.53222],"102":[0.19444,0.69444,0.21778,0,0.4],"103":[0.19444,0.44444,0.105,0,0.53222],"104":[0,0.69444,0.09426,0,0.59111],"105":[0,0.69326,0.11387,0,0.35555],"106":[0.19444,0.69326,0.1672,0,0.35555],"107":[0,0.69444,0.11111,0,0.53222],"108":[0,0.69444,0.10861,0,0.29666],"109":[0,0.44444,0.09426,0,0.94444],"110":[0,0.44444,0.09426,0,0.64999],"111":[0,0.44444,0.07861,0,0.59111],"112":[0.19444,0.44444,0.07861,0,0.59111],"113":[0.19444,0.44444,0.105,0,0.53222],"114":[0,0.44444,0.11111,0,0.50167],"115":[0,0.44444,0.08167,0,0.48694],"116":[0,0.63492,0.09639,0,0.385],"117":[0,0.44444,0.09426,0,0.62055],"118":[0,0.44444,0.11111,0,0.53222],"119":[0,0.44444,0.11111,0,0.76777],"120":[0,0.44444,0.12583,0,0.56055],"121":[0.19444,0.44444,0.105,0,0.56166],"122":[0,0.44444,0.13889,0,0.49055],"126":[0.35,0.34444,0.11472,0,0.59111],"160":[0,0,0,0,0.25],"168":[0,0.69444,0.11473,0,0.59111],"176":[0,0.69444,0,0,0.94888],"184":[0.17014,0,0,0,0.53222],"198":[0,0.68611,0.11431,0,1.02277],"216":[0.04861,0.73472,0.09062,0,0.88555],"223":[0.19444,0.69444,0.09736,0,0.665],"230":[0,0.44444,0.085,0,0.82666],"248":[0.09722,0.54167,0.09458,0,0.59111],"305":[0,0.44444,0.09426,0,0.35555],"338":[0,0.68611,0.11431,0,1.14054],"339":[0,0.44444,0.085,0,0.82666],"567":[0.19444,0.44444,0.04611,0,0.385],"710":[0,0.69444,0.06709,0,0.59111],"711":[0,0.63194,0.08271,0,0.59111],"713":[0,0.59444,0.10444,0,0.59111],"714":[0,0.69444,0.08528,0,0.59111],"715":[0,0.69444,0,0,0.59111],"728":[0,0.69444,0.10333,0,0.59111],"729":[0,0.69444,0.12945,0,0.35555],"730":[0,0.69444,0,0,0.94888],"732":[0,0.69444,0.11472,0,0.59111],"733":[0,0.69444,0.11472,0,0.59111],"915":[0,0.68611,0.12903,0,0.69777],"916":[0,0.68611,0,0,0.94444],"920":[0,0.68611,0.09062,0,0.88555],"923":[0,0.68611,0,0,0.80666],"926":[0,0.68611,0.15092,0,0.76777],"928":[0,0.68611,0.17208,0,0.8961],"931":[0,0.68611,0.11431,0,0.82666],"933":[0,0.68611,0.10778,0,0.88555],"934":[0,0.68611,0.05632,0,0.82666],"936":[0,0.68611,0.10778,0,0.88555],"937":[0,0.68611,0.0992,0,0.82666],"8211":[0,0.44444,0.09811,0,0.59111],"8212":[0,0.44444,0.09811,0,1.18221],"8216":[0,0.69444,0.12945,0,0.35555],"8217":[0,0.69444,0.12945,0,0.35555],"8220":[0,0.69444,0.16772,0,0.62055],"8221":[0,0.69444,0.07939,0,0.62055]},"Main-Italic":{"32":[0,0,0,0,0.25],"33":[0,0.69444,0.12417,0,0.30667],"34":[0,0.69444,0.06961,0,0.51444],"35":[0.19444,0.69444,0.06616,0,0.81777],"37":[0.05556,0.75,0.13639,0,0.81777],"38":[0,0.69444,0.09694,0,0.76666],"39":[0,0.69444,0.12417,0,0.30667],"40":[0.25,0.75,0.16194,0,0.40889],"41":[0.25,0.75,0.03694,0,0.40889],"42":[0,0.75,0.14917,0,0.51111],"43":[0.05667,0.56167,0.03694,0,0.76666],"44":[0.19444,0.10556,0,0,0.30667],"45":[0,0.43056,0.02826,0,0.35778],"46":[0,0.10556,0,0,0.30667],"47":[0.25,0.75,0.16194,0,0.51111],"48":[0,0.64444,0.13556,0,0.51111],"49":[0,0.64444,0.13556,0,0.51111],"50":[0,0.64444,0.13556,0,0.51111],"51":[0,0.64444,0.13556,0,0.51111],"52":[0.19444,0.64444,0.13556,0,0.51111],"53":[0,0.64444,0.13556,0,0.51111],"54":[0,0.64444,0.13556,0,0.51111],"55":[0.19444,0.64444,0.13556,0,0.51111],"56":[0,0.64444,0.13556,0,0.51111],"57":[0,0.64444,0.13556,0,0.51111],"58":[0,0.43056,0.0582,0,0.30667],"59":[0.19444,0.43056,0.0582,0,0.30667],"61":[-0.13313,0.36687,0.06616,0,0.76666],"63":[0,0.69444,0.1225,0,0.51111],"64":[0,0.69444,0.09597,0,0.76666],"65":[0,0.68333,0,0,0.74333],"66":[0,0.68333,0.10257,0,0.70389],"67":[0,0.68333,0.14528,0,0.71555],"68":[0,0.68333,0.09403,0,0.755],"69":[0,0.68333,0.12028,0,0.67833],"70":[0,0.68333,0.13305,0,0.65277],"71":[0,0.68333,0.08722,0,0.77361],"72":[0,0.68333,0.16389,0,0.74333],"73":[0,0.68333,0.15806,0,0.38555],"74":[0,0.68333,0.14028,0,0.525],"75":[0,0.68333,0.14528,0,0.76888],"76":[0,0.68333,0,0,0.62722],"77":[0,0.68333,0.16389,0,0.89666],"78":[0,0.68333,0.16389,0,0.74333],"79":[0,0.68333,0.09403,0,0.76666],"80":[0,0.68333,0.10257,0,0.67833],"81":[0.19444,0.68333,0.09403,0,0.76666],"82":[0,0.68333,0.03868,0,0.72944],"83":[0,0.68333,0.11972,0,0.56222],"84":[0,0.68333,0.13305,0,0.71555],"85":[0,0.68333,0.16389,0,0.74333],"86":[0,0.68333,0.18361,0,0.74333],"87":[0,0.68333,0.18361,0,0.99888],"88":[0,0.68333,0.15806,0,0.74333],"89":[0,0.68333,0.19383,0,0.74333],"90":[0,0.68333,0.14528,0,0.61333],"91":[0.25,0.75,0.1875,0,0.30667],"93":[0.25,0.75,0.10528,0,0.30667],"94":[0,0.69444,0.06646,0,0.51111],"95":[0.31,0.12056,0.09208,0,0.51111],"97":[0,0.43056,0.07671,0,0.51111],"98":[0,0.69444,0.06312,0,0.46],"99":[0,0.43056,0.05653,0,0.46],"100":[0,0.69444,0.10333,0,0.51111],"101":[0,0.43056,0.07514,0,0.46],"102":[0.19444,0.69444,0.21194,0,0.30667],"103":[0.19444,0.43056,0.08847,0,0.46],"104":[0,0.69444,0.07671,0,0.51111],"105":[0,0.65536,0.1019,0,0.30667],"106":[0.19444,0.65536,0.14467,0,0.30667],"107":[0,0.69444,0.10764,0,0.46],"108":[0,0.69444,0.10333,0,0.25555],"109":[0,0.43056,0.07671,0,0.81777],"110":[0,0.43056,0.07671,0,0.56222],"111":[0,0.43056,0.06312,0,0.51111],"112":[0.19444,0.43056,0.06312,0,0.51111],"113":[0.19444,0.43056,0.08847,0,0.46],"114":[0,0.43056,0.10764,0,0.42166],"115":[0,0.43056,0.08208,0,0.40889],"116":[0,0.61508,0.09486,0,0.33222],"117":[0,0.43056,0.07671,0,0.53666],"118":[0,0.43056,0.10764,0,0.46],"119":[0,0.43056,0.10764,0,0.66444],"120":[0,0.43056,0.12042,0,0.46389],"121":[0.19444,0.43056,0.08847,0,0.48555],"122":[0,0.43056,0.12292,0,0.40889],"126":[0.35,0.31786,0.11585,0,0.51111],"160":[0,0,0,0,0.25],"168":[0,0.66786,0.10474,0,0.51111],"176":[0,0.69444,0,0,0.83129],"184":[0.17014,0,0,0,0.46],"198":[0,0.68333,0.12028,0,0.88277],"216":[0.04861,0.73194,0.09403,0,0.76666],"223":[0.19444,0.69444,0.10514,0,0.53666],"230":[0,0.43056,0.07514,0,0.71555],"248":[0.09722,0.52778,0.09194,0,0.51111],"338":[0,0.68333,0.12028,0,0.98499],"339":[0,0.43056,0.07514,0,0.71555],"710":[0,0.69444,0.06646,0,0.51111],"711":[0,0.62847,0.08295,0,0.51111],"713":[0,0.56167,0.10333,0,0.51111],"714":[0,0.69444,0.09694,0,0.51111],"715":[0,0.69444,0,0,0.51111],"728":[0,0.69444,0.10806,0,0.51111],"729":[0,0.66786,0.11752,0,0.30667],"730":[0,0.69444,0,0,0.83129],"732":[0,0.66786,0.11585,0,0.51111],"733":[0,0.69444,0.1225,0,0.51111],"915":[0,0.68333,0.13305,0,0.62722],"916":[0,0.68333,0,0,0.81777],"920":[0,0.68333,0.09403,0,0.76666],"923":[0,0.68333,0,0,0.69222],"926":[0,0.68333,0.15294,0,0.66444],"928":[0,0.68333,0.16389,0,0.74333],"931":[0,0.68333,0.12028,0,0.71555],"933":[0,0.68333,0.11111,0,0.76666],"934":[0,0.68333,0.05986,0,0.71555],"936":[0,0.68333,0.11111,0,0.76666],"937":[0,0.68333,0.10257,0,0.71555],"8211":[0,0.43056,0.09208,0,0.51111],"8212":[0,0.43056,0.09208,0,1.02222],"8216":[0,0.69444,0.12417,0,0.30667],"8217":[0,0.69444,0.12417,0,0.30667],"8220":[0,0.69444,0.1685,0,0.51444],"8221":[0,0.69444,0.06961,0,0.51444],"8463":[0,0.68889,0,0,0.54028]},"Main-Regular":{"32":[0,0,0,0,0.25],"33":[0,0.69444,0,0,0.27778],"34":[0,0.69444,0,0,0.5],"35":[0.19444,0.69444,0,0,0.83334],"36":[0.05556,0.75,0,0,0.5],"37":[0.05556,0.75,0,0,0.83334],"38":[0,0.69444,0,0,0.77778],"39":[0,0.69444,0,0,0.27778],"40":[0.25,0.75,0,0,0.38889],"41":[0.25,0.75,0,0,0.38889],"42":[0,0.75,0,0,0.5],"43":[0.08333,0.58333,0,0,0.77778],"44":[0.19444,0.10556,0,0,0.27778],"45":[0,0.43056,0,0,0.33333],"46":[0,0.10556,0,0,0.27778],"47":[0.25,0.75,0,0,0.5],"48":[0,0.64444,0,0,0.5],"49":[0,0.64444,0,0,0.5],"50":[0,0.64444,0,0,0.5],"51":[0,0.64444,0,0,0.5],"52":[0,0.64444,0,0,0.5],"53":[0,0.64444,0,0,0.5],"54":[0,0.64444,0,0,0.5],"55":[0,0.64444,0,0,0.5],"56":[0,0.64444,0,0,0.5],"57":[0,0.64444,0,0,0.5],"58":[0,0.43056,0,0,0.27778],"59":[0.19444,0.43056,0,0,0.27778],"60":[0.0391,0.5391,0,0,0.77778],"61":[-0.13313,0.36687,0,0,0.77778],"62":[0.0391,0.5391,0,0,0.77778],"63":[0,0.69444,0,0,0.47222],"64":[0,0.69444,0,0,0.77778],"65":[0,0.68333,0,0,0.75],"66":[0,0.68333,0,0,0.70834],"67":[0,0.68333,0,0,0.72222],"68":[0,0.68333,0,0,0.76389],"69":[0,0.68333,0,0,0.68056],"70":[0,0.68333,0,0,0.65278],"71":[0,0.68333,0,0,0.78472],"72":[0,0.68333,0,0,0.75],"73":[0,0.68333,0,0,0.36111],"74":[0,0.68333,0,0,0.51389],"75":[0,0.68333,0,0,0.77778],"76":[0,0.68333,0,0,0.625],"77":[0,0.68333,0,0,0.91667],"78":[0,0.68333,0,0,0.75],"79":[0,0.68333,0,0,0.77778],"80":[0,0.68333,0,0,0.68056],"81":[0.19444,0.68333,0,0,0.77778],"82":[0,0.68333,0,0,0.73611],"83":[0,0.68333,0,0,0.55556],"84":[0,0.68333,0,0,0.72222],"85":[0,0.68333,0,0,0.75],"86":[0,0.68333,0.01389,0,0.75],"87":[0,0.68333,0.01389,0,1.02778],"88":[0,0.68333,0,0,0.75],"89":[0,0.68333,0.025,0,0.75],"90":[0,0.68333,0,0,0.61111],"91":[0.25,0.75,0,0,0.27778],"92":[0.25,0.75,0,0,0.5],"93":[0.25,0.75,0,0,0.27778],"94":[0,0.69444,0,0,0.5],"95":[0.31,0.12056,0.02778,0,0.5],"97":[0,0.43056,0,0,0.5],"98":[0,0.69444,0,0,0.55556],"99":[0,0.43056,0,0,0.44445],"100":[0,0.69444,0,0,0.55556],"101":[0,0.43056,0,0,0.44445],"102":[0,0.69444,0.07778,0,0.30556],"103":[0.19444,0.43056,0.01389,0,0.5],"104":[0,0.69444,0,0,0.55556],"105":[0,0.66786,0,0,0.27778],"106":[0.19444,0.66786,0,0,0.30556],"107":[0,0.69444,0,0,0.52778],"108":[0,0.69444,0,0,0.27778],"109":[0,0.43056,0,0,0.83334],"110":[0,0.43056,0,0,0.55556],"111":[0,0.43056,0,0,0.5],"112":[0.19444,0.43056,0,0,0.55556],"113":[0.19444,0.43056,0,0,0.52778],"114":[0,0.43056,0,0,0.39167],"115":[0,0.43056,0,0,0.39445],"116":[0,0.61508,0,0,0.38889],"117":[0,0.43056,0,0,0.55556],"118":[0,0.43056,0.01389,0,0.52778],"119":[0,0.43056,0.01389,0,0.72222],"120":[0,0.43056,0,0,0.52778],"121":[0.19444,0.43056,0.01389,0,0.52778],"122":[0,0.43056,0,0,0.44445],"123":[0.25,0.75,0,0,0.5],"124":[0.25,0.75,0,0,0.27778],"125":[0.25,0.75,0,0,0.5],"126":[0.35,0.31786,0,0,0.5],"160":[0,0,0,0,0.25],"163":[0,0.69444,0,0,0.76909],"167":[0.19444,0.69444,0,0,0.44445],"168":[0,0.66786,0,0,0.5],"172":[0,0.43056,0,0,0.66667],"176":[0,0.69444,0,0,0.75],"177":[0.08333,0.58333,0,0,0.77778],"182":[0.19444,0.69444,0,0,0.61111],"184":[0.17014,0,0,0,0.44445],"198":[0,0.68333,0,0,0.90278],"215":[0.08333,0.58333,0,0,0.77778],"216":[0.04861,0.73194,0,0,0.77778],"223":[0,0.69444,0,0,0.5],"230":[0,0.43056,0,0,0.72222],"247":[0.08333,0.58333,0,0,0.77778],"248":[0.09722,0.52778,0,0,0.5],"305":[0,0.43056,0,0,0.27778],"338":[0,0.68333,0,0,1.01389],"339":[0,0.43056,0,0,0.77778],"567":[0.19444,0.43056,0,0,0.30556],"710":[0,0.69444,0,0,0.5],"711":[0,0.62847,0,0,0.5],"713":[0,0.56778,0,0,0.5],"714":[0,0.69444,0,0,0.5],"715":[0,0.69444,0,0,0.5],"728":[0,0.69444,0,0,0.5],"729":[0,0.66786,0,0,0.27778],"730":[0,0.69444,0,0,0.75],"732":[0,0.66786,0,0,0.5],"733":[0,0.69444,0,0,0.5],"915":[0,0.68333,0,0,0.625],"916":[0,0.68333,0,0,0.83334],"920":[0,0.68333,0,0,0.77778],"923":[0,0.68333,0,0,0.69445],"926":[0,0.68333,0,0,0.66667],"928":[0,0.68333,0,0,0.75],"931":[0,0.68333,0,0,0.72222],"933":[0,0.68333,0,0,0.77778],"934":[0,0.68333,0,0,0.72222],"936":[0,0.68333,0,0,0.77778],"937":[0,0.68333,0,0,0.72222],"8211":[0,0.43056,0.02778,0,0.5],"8212":[0,0.43056,0.02778,0,1],"8216":[0,0.69444,0,0,0.27778],"8217":[0,0.69444,0,0,0.27778],"8220":[0,0.69444,0,0,0.5],"8221":[0,0.69444,0,0,0.5],"8224":[0.19444,0.69444,0,0,0.44445],"8225":[0.19444,0.69444,0,0,0.44445],"8230":[0,0.123,0,0,1.172],"8242":[0,0.55556,0,0,0.275],"8407":[0,0.71444,0.15382,0,0.5],"8463":[0,0.68889,0,0,0.54028],"8465":[0,0.69444,0,0,0.72222],"8467":[0,0.69444,0,0.11111,0.41667],"8472":[0.19444,0.43056,0,0.11111,0.63646],"8476":[0,0.69444,0,0,0.72222],"8501":[0,0.69444,0,0,0.61111],"8592":[-0.13313,0.36687,0,0,1],"8593":[0.19444,0.69444,0,0,0.5],"8594":[-0.13313,0.36687,0,0,1],"8595":[0.19444,0.69444,0,0,0.5],"8596":[-0.13313,0.36687,0,0,1],"8597":[0.25,0.75,0,0,0.5],"8598":[0.19444,0.69444,0,0,1],"8599":[0.19444,0.69444,0,0,1],"8600":[0.19444,0.69444,0,0,1],"8601":[0.19444,0.69444,0,0,1],"8614":[0.011,0.511,0,0,1],"8617":[0.011,0.511,0,0,1.126],"8618":[0.011,0.511,0,0,1.126],"8636":[-0.13313,0.36687,0,0,1],"8637":[-0.13313,0.36687,0,0,1],"8640":[-0.13313,0.36687,0,0,1],"8641":[-0.13313,0.36687,0,0,1],"8652":[0.011,0.671,0,0,1],"8656":[-0.13313,0.36687,0,0,1],"8657":[0.19444,0.69444,0,0,0.61111],"8658":[-0.13313,0.36687,0,0,1],"8659":[0.19444,0.69444,0,0,0.61111],"8660":[-0.13313,0.36687,0,0,1],"8661":[0.25,0.75,0,0,0.61111],"8704":[0,0.69444,0,0,0.55556],"8706":[0,0.69444,0.05556,0.08334,0.5309],"8707":[0,0.69444,0,0,0.55556],"8709":[0.05556,0.75,0,0,0.5],"8711":[0,0.68333,0,0,0.83334],"8712":[0.0391,0.5391,0,0,0.66667],"8715":[0.0391,0.5391,0,0,0.66667],"8722":[0.08333,0.58333,0,0,0.77778],"8723":[0.08333,0.58333,0,0,0.77778],"8725":[0.25,0.75,0,0,0.5],"8726":[0.25,0.75,0,0,0.5],"8727":[-0.03472,0.46528,0,0,0.5],"8728":[-0.05555,0.44445,0,0,0.5],"8729":[-0.05555,0.44445,0,0,0.5],"8730":[0.2,0.8,0,0,0.83334],"8733":[0,0.43056,0,0,0.77778],"8734":[0,0.43056,0,0,1],"8736":[0,0.69224,0,0,0.72222],"8739":[0.25,0.75,0,0,0.27778],"8741":[0.25,0.75,0,0,0.5],"8743":[0,0.55556,0,0,0.66667],"8744":[0,0.55556,0,0,0.66667],"8745":[0,0.55556,0,0,0.66667],"8746":[0,0.55556,0,0,0.66667],"8747":[0.19444,0.69444,0.11111,0,0.41667],"8764":[-0.13313,0.36687,0,0,0.77778],"8768":[0.19444,0.69444,0,0,0.27778],"8771":[-0.03625,0.46375,0,0,0.77778],"8773":[-0.022,0.589,0,0,0.778],"8776":[-0.01688,0.48312,0,0,0.77778],"8781":[-0.03625,0.46375,0,0,0.77778],"8784":[-0.133,0.673,0,0,0.778],"8801":[-0.03625,0.46375,0,0,0.77778],"8804":[0.13597,0.63597,0,0,0.77778],"8805":[0.13597,0.63597,0,0,0.77778],"8810":[0.0391,0.5391,0,0,1],"8811":[0.0391,0.5391,0,0,1],"8826":[0.0391,0.5391,0,0,0.77778],"8827":[0.0391,0.5391,0,0,0.77778],"8834":[0.0391,0.5391,0,0,0.77778],"8835":[0.0391,0.5391,0,0,0.77778],"8838":[0.13597,0.63597,0,0,0.77778],"8839":[0.13597,0.63597,0,0,0.77778],"8846":[0,0.55556,0,0,0.66667],"8849":[0.13597,0.63597,0,0,0.77778],"8850":[0.13597,0.63597,0,0,0.77778],"8851":[0,0.55556,0,0,0.66667],"8852":[0,0.55556,0,0,0.66667],"8853":[0.08333,0.58333,0,0,0.77778],"8854":[0.08333,0.58333,0,0,0.77778],"8855":[0.08333,0.58333,0,0,0.77778],"8856":[0.08333,0.58333,0,0,0.77778],"8857":[0.08333,0.58333,0,0,0.77778],"8866":[0,0.69444,0,0,0.61111],"8867":[0,0.69444,0,0,0.61111],"8868":[0,0.69444,0,0,0.77778],"8869":[0,0.69444,0,0,0.77778],"8872":[0.249,0.75,0,0,0.867],"8900":[-0.05555,0.44445,0,0,0.5],"8901":[-0.05555,0.44445,0,0,0.27778],"8902":[-0.03472,0.46528,0,0,0.5],"8904":[0.005,0.505,0,0,0.9],"8942":[0.03,0.903,0,0,0.278],"8943":[-0.19,0.313,0,0,1.172],"8945":[-0.1,0.823,0,0,1.282],"8968":[0.25,0.75,0,0,0.44445],"8969":[0.25,0.75,0,0,0.44445],"8970":[0.25,0.75,0,0,0.44445],"8971":[0.25,0.75,0,0,0.44445],"8994":[-0.14236,0.35764,0,0,1],"8995":[-0.14236,0.35764,0,0,1],"9136":[0.244,0.744,0,0,0.412],"9137":[0.244,0.745,0,0,0.412],"9651":[0.19444,0.69444,0,0,0.88889],"9657":[-0.03472,0.46528,0,0,0.5],"9661":[0.19444,0.69444,0,0,0.88889],"9667":[-0.03472,0.46528,0,0,0.5],"9711":[0.19444,0.69444,0,0,1],"9824":[0.12963,0.69444,0,0,0.77778],"9825":[0.12963,0.69444,0,0,0.77778],"9826":[0.12963,0.69444,0,0,0.77778],"9827":[0.12963,0.69444,0,0,0.77778],"9837":[0,0.75,0,0,0.38889],"9838":[0.19444,0.69444,0,0,0.38889],"9839":[0.19444,0.69444,0,0,0.38889],"10216":[0.25,0.75,0,0,0.38889],"10217":[0.25,0.75,0,0,0.38889],"10222":[0.244,0.744,0,0,0.412],"10223":[0.244,0.745,0,0,0.412],"10229":[0.011,0.511,0,0,1.609],"10230":[0.011,0.511,0,0,1.638],"10231":[0.011,0.511,0,0,1.859],"10232":[0.024,0.525,0,0,1.609],"10233":[0.024,0.525,0,0,1.638],"10234":[0.024,0.525,0,0,1.858],"10236":[0.011,0.511,0,0,1.638],"10815":[0,0.68333,0,0,0.75],"10927":[0.13597,0.63597,0,0,0.77778],"10928":[0.13597,0.63597,0,0,0.77778],"57376":[0.19444,0.69444,0,0,0]},"Math-BoldItalic":{"32":[0,0,0,0,0.25],"48":[0,0.44444,0,0,0.575],"49":[0,0.44444,0,0,0.575],"50":[0,0.44444,0,0,0.575],"51":[0.19444,0.44444,0,0,0.575],"52":[0.19444,0.44444,0,0,0.575],"53":[0.19444,0.44444,0,0,0.575],"54":[0,0.64444,0,0,0.575],"55":[0.19444,0.44444,0,0,0.575],"56":[0,0.64444,0,0,0.575],"57":[0.19444,0.44444,0,0,0.575],"65":[0,0.68611,0,0,0.86944],"66":[0,0.68611,0.04835,0,0.8664],"67":[0,0.68611,0.06979,0,0.81694],"68":[0,0.68611,0.03194,0,0.93812],"69":[0,0.68611,0.05451,0,0.81007],"70":[0,0.68611,0.15972,0,0.68889],"71":[0,0.68611,0,0,0.88673],"72":[0,0.68611,0.08229,0,0.98229],"73":[0,0.68611,0.07778,0,0.51111],"74":[0,0.68611,0.10069,0,0.63125],"75":[0,0.68611,0.06979,0,0.97118],"76":[0,0.68611,0,0,0.75555],"77":[0,0.68611,0.11424,0,1.14201],"78":[0,0.68611,0.11424,0,0.95034],"79":[0,0.68611,0.03194,0,0.83666],"80":[0,0.68611,0.15972,0,0.72309],"81":[0.19444,0.68611,0,0,0.86861],"82":[0,0.68611,0.00421,0,0.87235],"83":[0,0.68611,0.05382,0,0.69271],"84":[0,0.68611,0.15972,0,0.63663],"85":[0,0.68611,0.11424,0,0.80027],"86":[0,0.68611,0.25555,0,0.67778],"87":[0,0.68611,0.15972,0,1.09305],"88":[0,0.68611,0.07778,0,0.94722],"89":[0,0.68611,0.25555,0,0.67458],"90":[0,0.68611,0.06979,0,0.77257],"97":[0,0.44444,0,0,0.63287],"98":[0,0.69444,0,0,0.52083],"99":[0,0.44444,0,0,0.51342],"100":[0,0.69444,0,0,0.60972],"101":[0,0.44444,0,0,0.55361],"102":[0.19444,0.69444,0.11042,0,0.56806],"103":[0.19444,0.44444,0.03704,0,0.5449],"104":[0,0.69444,0,0,0.66759],"105":[0,0.69326,0,0,0.4048],"106":[0.19444,0.69326,0.0622,0,0.47083],"107":[0,0.69444,0.01852,0,0.6037],"108":[0,0.69444,0.0088,0,0.34815],"109":[0,0.44444,0,0,1.0324],"110":[0,0.44444,0,0,0.71296],"111":[0,0.44444,0,0,0.58472],"112":[0.19444,0.44444,0,0,0.60092],"113":[0.19444,0.44444,0.03704,0,0.54213],"114":[0,0.44444,0.03194,0,0.5287],"115":[0,0.44444,0,0,0.53125],"116":[0,0.63492,0,0,0.41528],"117":[0,0.44444,0,0,0.68102],"118":[0,0.44444,0.03704,0,0.56666],"119":[0,0.44444,0.02778,0,0.83148],"120":[0,0.44444,0,0,0.65903],"121":[0.19444,0.44444,0.03704,0,0.59028],"122":[0,0.44444,0.04213,0,0.55509],"160":[0,0,0,0,0.25],"915":[0,0.68611,0.15972,0,0.65694],"916":[0,0.68611,0,0,0.95833],"920":[0,0.68611,0.03194,0,0.86722],"923":[0,0.68611,0,0,0.80555],"926":[0,0.68611,0.07458,0,0.84125],"928":[0,0.68611,0.08229,0,0.98229],"931":[0,0.68611,0.05451,0,0.88507],"933":[0,0.68611,0.15972,0,0.67083],"934":[0,0.68611,0,0,0.76666],"936":[0,0.68611,0.11653,0,0.71402],"937":[0,0.68611,0.04835,0,0.8789],"945":[0,0.44444,0,0,0.76064],"946":[0.19444,0.69444,0.03403,0,0.65972],"947":[0.19444,0.44444,0.06389,0,0.59003],"948":[0,0.69444,0.03819,0,0.52222],"949":[0,0.44444,0,0,0.52882],"950":[0.19444,0.69444,0.06215,0,0.50833],"951":[0.19444,0.44444,0.03704,0,0.6],"952":[0,0.69444,0.03194,0,0.5618],"953":[0,0.44444,0,0,0.41204],"954":[0,0.44444,0,0,0.66759],"955":[0,0.69444,0,0,0.67083],"956":[0.19444,0.44444,0,0,0.70787],"957":[0,0.44444,0.06898,0,0.57685],"958":[0.19444,0.69444,0.03021,0,0.50833],"959":[0,0.44444,0,0,0.58472],"960":[0,0.44444,0.03704,0,0.68241],"961":[0.19444,0.44444,0,0,0.6118],"962":[0.09722,0.44444,0.07917,0,0.42361],"963":[0,0.44444,0.03704,0,0.68588],"964":[0,0.44444,0.13472,0,0.52083],"965":[0,0.44444,0.03704,0,0.63055],"966":[0.19444,0.44444,0,0,0.74722],"967":[0.19444,0.44444,0,0,0.71805],"968":[0.19444,0.69444,0.03704,0,0.75833],"969":[0,0.44444,0.03704,0,0.71782],"977":[0,0.69444,0,0,0.69155],"981":[0.19444,0.69444,0,0,0.7125],"982":[0,0.44444,0.03194,0,0.975],"1009":[0.19444,0.44444,0,0,0.6118],"1013":[0,0.44444,0,0,0.48333],"57649":[0,0.44444,0,0,0.39352],"57911":[0.19444,0.44444,0,0,0.43889]},"Math-Italic":{"32":[0,0,0,0,0.25],"48":[0,0.43056,0,0,0.5],"49":[0,0.43056,0,0,0.5],"50":[0,0.43056,0,0,0.5],"51":[0.19444,0.43056,0,0,0.5],"52":[0.19444,0.43056,0,0,0.5],"53":[0.19444,0.43056,0,0,0.5],"54":[0,0.64444,0,0,0.5],"55":[0.19444,0.43056,0,0,0.5],"56":[0,0.64444,0,0,0.5],"57":[0.19444,0.43056,0,0,0.5],"65":[0,0.68333,0,0.13889,0.75],"66":[0,0.68333,0.05017,0.08334,0.75851],"67":[0,0.68333,0.07153,0.08334,0.71472],"68":[0,0.68333,0.02778,0.05556,0.82792],"69":[0,0.68333,0.05764,0.08334,0.7382],"70":[0,0.68333,0.13889,0.08334,0.64306],"71":[0,0.68333,0,0.08334,0.78625],"72":[0,0.68333,0.08125,0.05556,0.83125],"73":[0,0.68333,0.07847,0.11111,0.43958],"74":[0,0.68333,0.09618,0.16667,0.55451],"75":[0,0.68333,0.07153,0.05556,0.84931],"76":[0,0.68333,0,0.02778,0.68056],"77":[0,0.68333,0.10903,0.08334,0.97014],"78":[0,0.68333,0.10903,0.08334,0.80347],"79":[0,0.68333,0.02778,0.08334,0.76278],"80":[0,0.68333,0.13889,0.08334,0.64201],"81":[0.19444,0.68333,0,0.08334,0.79056],"82":[0,0.68333,0.00773,0.08334,0.75929],"83":[0,0.68333,0.05764,0.08334,0.6132],"84":[0,0.68333,0.13889,0.08334,0.58438],"85":[0,0.68333,0.10903,0.02778,0.68278],"86":[0,0.68333,0.22222,0,0.58333],"87":[0,0.68333,0.13889,0,0.94445],"88":[0,0.68333,0.07847,0.08334,0.82847],"89":[0,0.68333,0.22222,0,0.58056],"90":[0,0.68333,0.07153,0.08334,0.68264],"97":[0,0.43056,0,0,0.52859],"98":[0,0.69444,0,0,0.42917],"99":[0,0.43056,0,0.05556,0.43276],"100":[0,0.69444,0,0.16667,0.52049],"101":[0,0.43056,0,0.05556,0.46563],"102":[0.19444,0.69444,0.10764,0.16667,0.48959],"103":[0.19444,0.43056,0.03588,0.02778,0.47697],"104":[0,0.69444,0,0,0.57616],"105":[0,0.65952,0,0,0.34451],"106":[0.19444,0.65952,0.05724,0,0.41181],"107":[0,0.69444,0.03148,0,0.5206],"108":[0,0.69444,0.01968,0.08334,0.29838],"109":[0,0.43056,0,0,0.87801],"110":[0,0.43056,0,0,0.60023],"111":[0,0.43056,0,0.05556,0.48472],"112":[0.19444,0.43056,0,0.08334,0.50313],"113":[0.19444,0.43056,0.03588,0.08334,0.44641],"114":[0,0.43056,0.02778,0.05556,0.45116],"115":[0,0.43056,0,0.05556,0.46875],"116":[0,0.61508,0,0.08334,0.36111],"117":[0,0.43056,0,0.02778,0.57246],"118":[0,0.43056,0.03588,0.02778,0.48472],"119":[0,0.43056,0.02691,0.08334,0.71592],"120":[0,0.43056,0,0.02778,0.57153],"121":[0.19444,0.43056,0.03588,0.05556,0.49028],"122":[0,0.43056,0.04398,0.05556,0.46505],"160":[0,0,0,0,0.25],"915":[0,0.68333,0.13889,0.08334,0.61528],"916":[0,0.68333,0,0.16667,0.83334],"920":[0,0.68333,0.02778,0.08334,0.76278],"923":[0,0.68333,0,0.16667,0.69445],"926":[0,0.68333,0.07569,0.08334,0.74236],"928":[0,0.68333,0.08125,0.05556,0.83125],"931":[0,0.68333,0.05764,0.08334,0.77986],"933":[0,0.68333,0.13889,0.05556,0.58333],"934":[0,0.68333,0,0.08334,0.66667],"936":[0,0.68333,0.11,0.05556,0.61222],"937":[0,0.68333,0.05017,0.08334,0.7724],"945":[0,0.43056,0.0037,0.02778,0.6397],"946":[0.19444,0.69444,0.05278,0.08334,0.56563],"947":[0.19444,0.43056,0.05556,0,0.51773],"948":[0,0.69444,0.03785,0.05556,0.44444],"949":[0,0.43056,0,0.08334,0.46632],"950":[0.19444,0.69444,0.07378,0.08334,0.4375],"951":[0.19444,0.43056,0.03588,0.05556,0.49653],"952":[0,0.69444,0.02778,0.08334,0.46944],"953":[0,0.43056,0,0.05556,0.35394],"954":[0,0.43056,0,0,0.57616],"955":[0,0.69444,0,0,0.58334],"956":[0.19444,0.43056,0,0.02778,0.60255],"957":[0,0.43056,0.06366,0.02778,0.49398],"958":[0.19444,0.69444,0.04601,0.11111,0.4375],"959":[0,0.43056,0,0.05556,0.48472],"960":[0,0.43056,0.03588,0,0.57003],"961":[0.19444,0.43056,0,0.08334,0.51702],"962":[0.09722,0.43056,0.07986,0.08334,0.36285],"963":[0,0.43056,0.03588,0,0.57141],"964":[0,0.43056,0.1132,0.02778,0.43715],"965":[0,0.43056,0.03588,0.02778,0.54028],"966":[0.19444,0.43056,0,0.08334,0.65417],"967":[0.19444,0.43056,0,0.05556,0.62569],"968":[0.19444,0.69444,0.03588,0.11111,0.65139],"969":[0,0.43056,0.03588,0,0.62245],"977":[0,0.69444,0,0.08334,0.59144],"981":[0.19444,0.69444,0,0.08334,0.59583],"982":[0,0.43056,0.02778,0,0.82813],"1009":[0.19444,0.43056,0,0.08334,0.51702],"1013":[0,0.43056,0,0.05556,0.4059],"57649":[0,0.43056,0,0.02778,0.32246],"57911":[0.19444,0.43056,0,0.08334,0.38403]},"SansSerif-Bold":{"32":[0,0,0,0,0.25],"33":[0,0.69444,0,0,0.36667],"34":[0,0.69444,0,0,0.55834],"35":[0.19444,0.69444,0,0,0.91667],"36":[0.05556,0.75,0,0,0.55],"37":[0.05556,0.75,0,0,1.02912],"38":[0,0.69444,0,0,0.83056],"39":[0,0.69444,0,0,0.30556],"40":[0.25,0.75,0,0,0.42778],"41":[0.25,0.75,0,0,0.42778],"42":[0,0.75,0,0,0.55],"43":[0.11667,0.61667,0,0,0.85556],"44":[0.10556,0.13056,0,0,0.30556],"45":[0,0.45833,0,0,0.36667],"46":[0,0.13056,0,0,0.30556],"47":[0.25,0.75,0,0,0.55],"48":[0,0.69444,0,0,0.55],"49":[0,0.69444,0,0,0.55],"50":[0,0.69444,0,0,0.55],"51":[0,0.69444,0,0,0.55],"52":[0,0.69444,0,0,0.55],"53":[0,0.69444,0,0,0.55],"54":[0,0.69444,0,0,0.55],"55":[0,0.69444,0,0,0.55],"56":[0,0.69444,0,0,0.55],"57":[0,0.69444,0,0,0.55],"58":[0,0.45833,0,0,0.30556],"59":[0.10556,0.45833,0,0,0.30556],"61":[-0.09375,0.40625,0,0,0.85556],"63":[0,0.69444,0,0,0.51945],"64":[0,0.69444,0,0,0.73334],"65":[0,0.69444,0,0,0.73334],"66":[0,0.69444,0,0,0.73334],"67":[0,0.69444,0,0,0.70278],"68":[0,0.69444,0,0,0.79445],"69":[0,0.69444,0,0,0.64167],"70":[0,0.69444,0,0,0.61111],"71":[0,0.69444,0,0,0.73334],"72":[0,0.69444,0,0,0.79445],"73":[0,0.69444,0,0,0.33056],"74":[0,0.69444,0,0,0.51945],"75":[0,0.69444,0,0,0.76389],"76":[0,0.69444,0,0,0.58056],"77":[0,0.69444,0,0,0.97778],"78":[0,0.69444,0,0,0.79445],"79":[0,0.69444,0,0,0.79445],"80":[0,0.69444,0,0,0.70278],"81":[0.10556,0.69444,0,0,0.79445],"82":[0,0.69444,0,0,0.70278],"83":[0,0.69444,0,0,0.61111],"84":[0,0.69444,0,0,0.73334],"85":[0,0.69444,0,0,0.76389],"86":[0,0.69444,0.01528,0,0.73334],"87":[0,0.69444,0.01528,0,1.03889],"88":[0,0.69444,0,0,0.73334],"89":[0,0.69444,0.0275,0,0.73334],"90":[0,0.69444,0,0,0.67223],"91":[0.25,0.75,0,0,0.34306],"93":[0.25,0.75,0,0,0.34306],"94":[0,0.69444,0,0,0.55],"95":[0.35,0.10833,0.03056,0,0.55],"97":[0,0.45833,0,0,0.525],"98":[0,0.69444,0,0,0.56111],"99":[0,0.45833,0,0,0.48889],"100":[0,0.69444,0,0,0.56111],"101":[0,0.45833,0,0,0.51111],"102":[0,0.69444,0.07639,0,0.33611],"103":[0.19444,0.45833,0.01528,0,0.55],"104":[0,0.69444,0,0,0.56111],"105":[0,0.69444,0,0,0.25556],"106":[0.19444,0.69444,0,0,0.28611],"107":[0,0.69444,0,0,0.53056],"108":[0,0.69444,0,0,0.25556],"109":[0,0.45833,0,0,0.86667],"110":[0,0.45833,0,0,0.56111],"111":[0,0.45833,0,0,0.55],"112":[0.19444,0.45833,0,0,0.56111],"113":[0.19444,0.45833,0,0,0.56111],"114":[0,0.45833,0.01528,0,0.37222],"115":[0,0.45833,0,0,0.42167],"116":[0,0.58929,0,0,0.40417],"117":[0,0.45833,0,0,0.56111],"118":[0,0.45833,0.01528,0,0.5],"119":[0,0.45833,0.01528,0,0.74445],"120":[0,0.45833,0,0,0.5],"121":[0.19444,0.45833,0.01528,0,0.5],"122":[0,0.45833,0,0,0.47639],"126":[0.35,0.34444,0,0,0.55],"160":[0,0,0,0,0.25],"168":[0,0.69444,0,0,0.55],"176":[0,0.69444,0,0,0.73334],"180":[0,0.69444,0,0,0.55],"184":[0.17014,0,0,0,0.48889],"305":[0,0.45833,0,0,0.25556],"567":[0.19444,0.45833,0,0,0.28611],"710":[0,0.69444,0,0,0.55],"711":[0,0.63542,0,0,0.55],"713":[0,0.63778,0,0,0.55],"728":[0,0.69444,0,0,0.55],"729":[0,0.69444,0,0,0.30556],"730":[0,0.69444,0,0,0.73334],"732":[0,0.69444,0,0,0.55],"733":[0,0.69444,0,0,0.55],"915":[0,0.69444,0,0,0.58056],"916":[0,0.69444,0,0,0.91667],"920":[0,0.69444,0,0,0.85556],"923":[0,0.69444,0,0,0.67223],"926":[0,0.69444,0,0,0.73334],"928":[0,0.69444,0,0,0.79445],"931":[0,0.69444,0,0,0.79445],"933":[0,0.69444,0,0,0.85556],"934":[0,0.69444,0,0,0.79445],"936":[0,0.69444,0,0,0.85556],"937":[0,0.69444,0,0,0.79445],"8211":[0,0.45833,0.03056,0,0.55],"8212":[0,0.45833,0.03056,0,1.10001],"8216":[0,0.69444,0,0,0.30556],"8217":[0,0.69444,0,0,0.30556],"8220":[0,0.69444,0,0,0.55834],"8221":[0,0.69444,0,0,0.55834]},"SansSerif-Italic":{"32":[0,0,0,0,0.25],"33":[0,0.69444,0.05733,0,0.31945],"34":[0,0.69444,0.00316,0,0.5],"35":[0.19444,0.69444,0.05087,0,0.83334],"36":[0.05556,0.75,0.11156,0,0.5],"37":[0.05556,0.75,0.03126,0,0.83334],"38":[0,0.69444,0.03058,0,0.75834],"39":[0,0.69444,0.07816,0,0.27778],"40":[0.25,0.75,0.13164,0,0.38889],"41":[0.25,0.75,0.02536,0,0.38889],"42":[0,0.75,0.11775,0,0.5],"43":[0.08333,0.58333,0.02536,0,0.77778],"44":[0.125,0.08333,0,0,0.27778],"45":[0,0.44444,0.01946,0,0.33333],"46":[0,0.08333,0,0,0.27778],"47":[0.25,0.75,0.13164,0,0.5],"48":[0,0.65556,0.11156,0,0.5],"49":[0,0.65556,0.11156,0,0.5],"50":[0,0.65556,0.11156,0,0.5],"51":[0,0.65556,0.11156,0,0.5],"52":[0,0.65556,0.11156,0,0.5],"53":[0,0.65556,0.11156,0,0.5],"54":[0,0.65556,0.11156,0,0.5],"55":[0,0.65556,0.11156,0,0.5],"56":[0,0.65556,0.11156,0,0.5],"57":[0,0.65556,0.11156,0,0.5],"58":[0,0.44444,0.02502,0,0.27778],"59":[0.125,0.44444,0.02502,0,0.27778],"61":[-0.13,0.37,0.05087,0,0.77778],"63":[0,0.69444,0.11809,0,0.47222],"64":[0,0.69444,0.07555,0,0.66667],"65":[0,0.69444,0,0,0.66667],"66":[0,0.69444,0.08293,0,0.66667],"67":[0,0.69444,0.11983,0,0.63889],"68":[0,0.69444,0.07555,0,0.72223],"69":[0,0.69444,0.11983,0,0.59722],"70":[0,0.69444,0.13372,0,0.56945],"71":[0,0.69444,0.11983,0,0.66667],"72":[0,0.69444,0.08094,0,0.70834],"73":[0,0.69444,0.13372,0,0.27778],"74":[0,0.69444,0.08094,0,0.47222],"75":[0,0.69444,0.11983,0,0.69445],"76":[0,0.69444,0,0,0.54167],"77":[0,0.69444,0.08094,0,0.875],"78":[0,0.69444,0.08094,0,0.70834],"79":[0,0.69444,0.07555,0,0.73611],"80":[0,0.69444,0.08293,0,0.63889],"81":[0.125,0.69444,0.07555,0,0.73611],"82":[0,0.69444,0.08293,0,0.64584],"83":[0,0.69444,0.09205,0,0.55556],"84":[0,0.69444,0.13372,0,0.68056],"85":[0,0.69444,0.08094,0,0.6875],"86":[0,0.69444,0.1615,0,0.66667],"87":[0,0.69444,0.1615,0,0.94445],"88":[0,0.69444,0.13372,0,0.66667],"89":[0,0.69444,0.17261,0,0.66667],"90":[0,0.69444,0.11983,0,0.61111],"91":[0.25,0.75,0.15942,0,0.28889],"93":[0.25,0.75,0.08719,0,0.28889],"94":[0,0.69444,0.0799,0,0.5],"95":[0.35,0.09444,0.08616,0,0.5],"97":[0,0.44444,0.00981,0,0.48056],"98":[0,0.69444,0.03057,0,0.51667],"99":[0,0.44444,0.08336,0,0.44445],"100":[0,0.69444,0.09483,0,0.51667],"101":[0,0.44444,0.06778,0,0.44445],"102":[0,0.69444,0.21705,0,0.30556],"103":[0.19444,0.44444,0.10836,0,0.5],"104":[0,0.69444,0.01778,0,0.51667],"105":[0,0.67937,0.09718,0,0.23889],"106":[0.19444,0.67937,0.09162,0,0.26667],"107":[0,0.69444,0.08336,0,0.48889],"108":[0,0.69444,0.09483,0,0.23889],"109":[0,0.44444,0.01778,0,0.79445],"110":[0,0.44444,0.01778,0,0.51667],"111":[0,0.44444,0.06613,0,0.5],"112":[0.19444,0.44444,0.0389,0,0.51667],"113":[0.19444,0.44444,0.04169,0,0.51667],"114":[0,0.44444,0.10836,0,0.34167],"115":[0,0.44444,0.0778,0,0.38333],"116":[0,0.57143,0.07225,0,0.36111],"117":[0,0.44444,0.04169,0,0.51667],"118":[0,0.44444,0.10836,0,0.46111],"119":[0,0.44444,0.10836,0,0.68334],"120":[0,0.44444,0.09169,0,0.46111],"121":[0.19444,0.44444,0.10836,0,0.46111],"122":[0,0.44444,0.08752,0,0.43472],"126":[0.35,0.32659,0.08826,0,0.5],"160":[0,0,0,0,0.25],"168":[0,0.67937,0.06385,0,0.5],"176":[0,0.69444,0,0,0.73752],"184":[0.17014,0,0,0,0.44445],"305":[0,0.44444,0.04169,0,0.23889],"567":[0.19444,0.44444,0.04169,0,0.26667],"710":[0,0.69444,0.0799,0,0.5],"711":[0,0.63194,0.08432,0,0.5],"713":[0,0.60889,0.08776,0,0.5],"714":[0,0.69444,0.09205,0,0.5],"715":[0,0.69444,0,0,0.5],"728":[0,0.69444,0.09483,0,0.5],"729":[0,0.67937,0.07774,0,0.27778],"730":[0,0.69444,0,0,0.73752],"732":[0,0.67659,0.08826,0,0.5],"733":[0,0.69444,0.09205,0,0.5],"915":[0,0.69444,0.13372,0,0.54167],"916":[0,0.69444,0,0,0.83334],"920":[0,0.69444,0.07555,0,0.77778],"923":[0,0.69444,0,0,0.61111],"926":[0,0.69444,0.12816,0,0.66667],"928":[0,0.69444,0.08094,0,0.70834],"931":[0,0.69444,0.11983,0,0.72222],"933":[0,0.69444,0.09031,0,0.77778],"934":[0,0.69444,0.04603,0,0.72222],"936":[0,0.69444,0.09031,0,0.77778],"937":[0,0.69444,0.08293,0,0.72222],"8211":[0,0.44444,0.08616,0,0.5],"8212":[0,0.44444,0.08616,0,1],"8216":[0,0.69444,0.07816,0,0.27778],"8217":[0,0.69444,0.07816,0,0.27778],"8220":[0,0.69444,0.14205,0,0.5],"8221":[0,0.69444,0.00316,0,0.5]},"SansSerif-Regular":{"32":[0,0,0,0,0.25],"33":[0,0.69444,0,0,0.31945],"34":[0,0.69444,0,0,0.5],"35":[0.19444,0.69444,0,0,0.83334],"36":[0.05556,0.75,0,0,0.5],"37":[0.05556,0.75,0,0,0.83334],"38":[0,0.69444,0,0,0.75834],"39":[0,0.69444,0,0,0.27778],"40":[0.25,0.75,0,0,0.38889],"41":[0.25,0.75,0,0,0.38889],"42":[0,0.75,0,0,0.5],"43":[0.08333,0.58333,0,0,0.77778],"44":[0.125,0.08333,0,0,0.27778],"45":[0,0.44444,0,0,0.33333],"46":[0,0.08333,0,0,0.27778],"47":[0.25,0.75,0,0,0.5],"48":[0,0.65556,0,0,0.5],"49":[0,0.65556,0,0,0.5],"50":[0,0.65556,0,0,0.5],"51":[0,0.65556,0,0,0.5],"52":[0,0.65556,0,0,0.5],"53":[0,0.65556,0,0,0.5],"54":[0,0.65556,0,0,0.5],"55":[0,0.65556,0,0,0.5],"56":[0,0.65556,0,0,0.5],"57":[0,0.65556,0,0,0.5],"58":[0,0.44444,0,0,0.27778],"59":[0.125,0.44444,0,0,0.27778],"61":[-0.13,0.37,0,0,0.77778],"63":[0,0.69444,0,0,0.47222],"64":[0,0.69444,0,0,0.66667],"65":[0,0.69444,0,0,0.66667],"66":[0,0.69444,0,0,0.66667],"67":[0,0.69444,0,0,0.63889],"68":[0,0.69444,0,0,0.72223],"69":[0,0.69444,0,0,0.59722],"70":[0,0.69444,0,0,0.56945],"71":[0,0.69444,0,0,0.66667],"72":[0,0.69444,0,0,0.70834],"73":[0,0.69444,0,0,0.27778],"74":[0,0.69444,0,0,0.47222],"75":[0,0.69444,0,0,0.69445],"76":[0,0.69444,0,0,0.54167],"77":[0,0.69444,0,0,0.875],"78":[0,0.69444,0,0,0.70834],"79":[0,0.69444,0,0,0.73611],"80":[0,0.69444,0,0,0.63889],"81":[0.125,0.69444,0,0,0.73611],"82":[0,0.69444,0,0,0.64584],"83":[0,0.69444,0,0,0.55556],"84":[0,0.69444,0,0,0.68056],"85":[0,0.69444,0,0,0.6875],"86":[0,0.69444,0.01389,0,0.66667],"87":[0,0.69444,0.01389,0,0.94445],"88":[0,0.69444,0,0,0.66667],"89":[0,0.69444,0.025,0,0.66667],"90":[0,0.69444,0,0,0.61111],"91":[0.25,0.75,0,0,0.28889],"93":[0.25,0.75,0,0,0.28889],"94":[0,0.69444,0,0,0.5],"95":[0.35,0.09444,0.02778,0,0.5],"97":[0,0.44444,0,0,0.48056],"98":[0,0.69444,0,0,0.51667],"99":[0,0.44444,0,0,0.44445],"100":[0,0.69444,0,0,0.51667],"101":[0,0.44444,0,0,0.44445],"102":[0,0.69444,0.06944,0,0.30556],"103":[0.19444,0.44444,0.01389,0,0.5],"104":[0,0.69444,0,0,0.51667],"105":[0,0.67937,0,0,0.23889],"106":[0.19444,0.67937,0,0,0.26667],"107":[0,0.69444,0,0,0.48889],"108":[0,0.69444,0,0,0.23889],"109":[0,0.44444,0,0,0.79445],"110":[0,0.44444,0,0,0.51667],"111":[0,0.44444,0,0,0.5],"112":[0.19444,0.44444,0,0,0.51667],"113":[0.19444,0.44444,0,0,0.51667],"114":[0,0.44444,0.01389,0,0.34167],"115":[0,0.44444,0,0,0.38333],"116":[0,0.57143,0,0,0.36111],"117":[0,0.44444,0,0,0.51667],"118":[0,0.44444,0.01389,0,0.46111],"119":[0,0.44444,0.01389,0,0.68334],"120":[0,0.44444,0,0,0.46111],"121":[0.19444,0.44444,0.01389,0,0.46111],"122":[0,0.44444,0,0,0.43472],"126":[0.35,0.32659,0,0,0.5],"160":[0,0,0,0,0.25],"168":[0,0.67937,0,0,0.5],"176":[0,0.69444,0,0,0.66667],"184":[0.17014,0,0,0,0.44445],"305":[0,0.44444,0,0,0.23889],"567":[0.19444,0.44444,0,0,0.26667],"710":[0,0.69444,0,0,0.5],"711":[0,0.63194,0,0,0.5],"713":[0,0.60889,0,0,0.5],"714":[0,0.69444,0,0,0.5],"715":[0,0.69444,0,0,0.5],"728":[0,0.69444,0,0,0.5],"729":[0,0.67937,0,0,0.27778],"730":[0,0.69444,0,0,0.66667],"732":[0,0.67659,0,0,0.5],"733":[0,0.69444,0,0,0.5],"915":[0,0.69444,0,0,0.54167],"916":[0,0.69444,0,0,0.83334],"920":[0,0.69444,0,0,0.77778],"923":[0,0.69444,0,0,0.61111],"926":[0,0.69444,0,0,0.66667],"928":[0,0.69444,0,0,0.70834],"931":[0,0.69444,0,0,0.72222],"933":[0,0.69444,0,0,0.77778],"934":[0,0.69444,0,0,0.72222],"936":[0,0.69444,0,0,0.77778],"937":[0,0.69444,0,0,0.72222],"8211":[0,0.44444,0.02778,0,0.5],"8212":[0,0.44444,0.02778,0,1],"8216":[0,0.69444,0,0,0.27778],"8217":[0,0.69444,0,0,0.27778],"8220":[0,0.69444,0,0,0.5],"8221":[0,0.69444,0,0,0.5]},"Script-Regular":{"32":[0,0,0,0,0.25],"65":[0,0.7,0.22925,0,0.80253],"66":[0,0.7,0.04087,0,0.90757],"67":[0,0.7,0.1689,0,0.66619],"68":[0,0.7,0.09371,0,0.77443],"69":[0,0.7,0.18583,0,0.56162],"70":[0,0.7,0.13634,0,0.89544],"71":[0,0.7,0.17322,0,0.60961],"72":[0,0.7,0.29694,0,0.96919],"73":[0,0.7,0.19189,0,0.80907],"74":[0.27778,0.7,0.19189,0,1.05159],"75":[0,0.7,0.31259,0,0.91364],"76":[0,0.7,0.19189,0,0.87373],"77":[0,0.7,0.15981,0,1.08031],"78":[0,0.7,0.3525,0,0.9015],"79":[0,0.7,0.08078,0,0.73787],"80":[0,0.7,0.08078,0,1.01262],"81":[0,0.7,0.03305,0,0.88282],"82":[0,0.7,0.06259,0,0.85],"83":[0,0.7,0.19189,0,0.86767],"84":[0,0.7,0.29087,0,0.74697],"85":[0,0.7,0.25815,0,0.79996],"86":[0,0.7,0.27523,0,0.62204],"87":[0,0.7,0.27523,0,0.80532],"88":[0,0.7,0.26006,0,0.94445],"89":[0,0.7,0.2939,0,0.70961],"90":[0,0.7,0.24037,0,0.8212],"160":[0,0,0,0,0.25]},"Size1-Regular":{"32":[0,0,0,0,0.25],"40":[0.35001,0.85,0,0,0.45834],"41":[0.35001,0.85,0,0,0.45834],"47":[0.35001,0.85,0,0,0.57778],"91":[0.35001,0.85,0,0,0.41667],"92":[0.35001,0.85,0,0,0.57778],"93":[0.35001,0.85,0,0,0.41667],"123":[0.35001,0.85,0,0,0.58334],"125":[0.35001,0.85,0,0,0.58334],"160":[0,0,0,0,0.25],"710":[0,0.72222,0,0,0.55556],"732":[0,0.72222,0,0,0.55556],"770":[0,0.72222,0,0,0.55556],"771":[0,0.72222,0,0,0.55556],"8214":[-0.00099,0.601,0,0,0.77778],"8593":[0.00001,0.6,0,0,0.66667],"8595":[0.00001,0.6,0,0,0.66667],"8657":[0.00001,0.6,0,0,0.77778],"8659":[0.00001,0.6,0,0,0.77778],"8719":[0.25001,0.75,0,0,0.94445],"8720":[0.25001,0.75,0,0,0.94445],"8721":[0.25001,0.75,0,0,1.05556],"8730":[0.35001,0.85,0,0,1],"8739":[-0.00599,0.606,0,0,0.33333],"8741":[-0.00599,0.606,0,0,0.55556],"8747":[0.30612,0.805,0.19445,0,0.47222],"8748":[0.306,0.805,0.19445,0,0.47222],"8749":[0.306,0.805,0.19445,0,0.47222],"8750":[0.30612,0.805,0.19445,0,0.47222],"8896":[0.25001,0.75,0,0,0.83334],"8897":[0.25001,0.75,0,0,0.83334],"8898":[0.25001,0.75,0,0,0.83334],"8899":[0.25001,0.75,0,0,0.83334],"8968":[0.35001,0.85,0,0,0.47222],"8969":[0.35001,0.85,0,0,0.47222],"8970":[0.35001,0.85,0,0,0.47222],"8971":[0.35001,0.85,0,0,0.47222],"9168":[-0.00099,0.601,0,0,0.66667],"10216":[0.35001,0.85,0,0,0.47222],"10217":[0.35001,0.85,0,0,0.47222],"10752":[0.25001,0.75,0,0,1.11111],"10753":[0.25001,0.75,0,0,1.11111],"10754":[0.25001,0.75,0,0,1.11111],"10756":[0.25001,0.75,0,0,0.83334],"10758":[0.25001,0.75,0,0,0.83334]},"Size2-Regular":{"32":[0,0,0,0,0.25],"40":[0.65002,1.15,0,0,0.59722],"41":[0.65002,1.15,0,0,0.59722],"47":[0.65002,1.15,0,0,0.81111],"91":[0.65002,1.15,0,0,0.47222],"92":[0.65002,1.15,0,0,0.81111],"93":[0.65002,1.15,0,0,0.47222],"123":[0.65002,1.15,0,0,0.66667],"125":[0.65002,1.15,0,0,0.66667],"160":[0,0,0,0,0.25],"710":[0,0.75,0,0,1],"732":[0,0.75,0,0,1],"770":[0,0.75,0,0,1],"771":[0,0.75,0,0,1],"8719":[0.55001,1.05,0,0,1.27778],"8720":[0.55001,1.05,0,0,1.27778],"8721":[0.55001,1.05,0,0,1.44445],"8730":[0.65002,1.15,0,0,1],"8747":[0.86225,1.36,0.44445,0,0.55556],"8748":[0.862,1.36,0.44445,0,0.55556],"8749":[0.862,1.36,0.44445,0,0.55556],"8750":[0.86225,1.36,0.44445,0,0.55556],"8896":[0.55001,1.05,0,0,1.11111],"8897":[0.55001,1.05,0,0,1.11111],"8898":[0.55001,1.05,0,0,1.11111],"8899":[0.55001,1.05,0,0,1.11111],"8968":[0.65002,1.15,0,0,0.52778],"8969":[0.65002,1.15,0,0,0.52778],"8970":[0.65002,1.15,0,0,0.52778],"8971":[0.65002,1.15,0,0,0.52778],"10216":[0.65002,1.15,0,0,0.61111],"10217":[0.65002,1.15,0,0,0.61111],"10752":[0.55001,1.05,0,0,1.51112],"10753":[0.55001,1.05,0,0,1.51112],"10754":[0.55001,1.05,0,0,1.51112],"10756":[0.55001,1.05,0,0,1.11111],"10758":[0.55001,1.05,0,0,1.11111]},"Size3-Regular":{"32":[0,0,0,0,0.25],"40":[0.95003,1.45,0,0,0.73611],"41":[0.95003,1.45,0,0,0.73611],"47":[0.95003,1.45,0,0,1.04445],"91":[0.95003,1.45,0,0,0.52778],"92":[0.95003,1.45,0,0,1.04445],"93":[0.95003,1.45,0,0,0.52778],"123":[0.95003,1.45,0,0,0.75],"125":[0.95003,1.45,0,0,0.75],"160":[0,0,0,0,0.25],"710":[0,0.75,0,0,1.44445],"732":[0,0.75,0,0,1.44445],"770":[0,0.75,0,0,1.44445],"771":[0,0.75,0,0,1.44445],"8730":[0.95003,1.45,0,0,1],"8968":[0.95003,1.45,0,0,0.58334],"8969":[0.95003,1.45,0,0,0.58334],"8970":[0.95003,1.45,0,0,0.58334],"8971":[0.95003,1.45,0,0,0.58334],"10216":[0.95003,1.45,0,0,0.75],"10217":[0.95003,1.45,0,0,0.75]},"Size4-Regular":{"32":[0,0,0,0,0.25],"40":[1.25003,1.75,0,0,0.79167],"41":[1.25003,1.75,0,0,0.79167],"47":[1.25003,1.75,0,0,1.27778],"91":[1.25003,1.75,0,0,0.58334],"92":[1.25003,1.75,0,0,1.27778],"93":[1.25003,1.75,0,0,0.58334],"123":[1.25003,1.75,0,0,0.80556],"125":[1.25003,1.75,0,0,0.80556],"160":[0,0,0,0,0.25],"710":[0,0.825,0,0,1.8889],"732":[0,0.825,0,0,1.8889],"770":[0,0.825,0,0,1.8889],"771":[0,0.825,0,0,1.8889],"8730":[1.25003,1.75,0,0,1],"8968":[1.25003,1.75,0,0,0.63889],"8969":[1.25003,1.75,0,0,0.63889],"8970":[1.25003,1.75,0,0,0.63889],"8971":[1.25003,1.75,0,0,0.63889],"9115":[0.64502,1.155,0,0,0.875],"9116":[0.00001,0.6,0,0,0.875],"9117":[0.64502,1.155,0,0,0.875],"9118":[0.64502,1.155,0,0,0.875],"9119":[0.00001,0.6,0,0,0.875],"9120":[0.64502,1.155,0,0,0.875],"9121":[0.64502,1.155,0,0,0.66667],"9122":[-0.00099,0.601,0,0,0.66667],"9123":[0.64502,1.155,0,0,0.66667],"9124":[0.64502,1.155,0,0,0.66667],"9125":[-0.00099,0.601,0,0,0.66667],"9126":[0.64502,1.155,0,0,0.66667],"9127":[0.00001,0.9,0,0,0.88889],"9128":[0.65002,1.15,0,0,0.88889],"9129":[0.90001,0,0,0,0.88889],"9130":[0,0.3,0,0,0.88889],"9131":[0.00001,0.9,0,0,0.88889],"9132":[0.65002,1.15,0,0,0.88889],"9133":[0.90001,0,0,0,0.88889],"9143":[0.88502,0.915,0,0,1.05556],"10216":[1.25003,1.75,0,0,0.80556],"10217":[1.25003,1.75,0,0,0.80556],"57344":[-0.00499,0.605,0,0,1.05556],"57345":[-0.00499,0.605,0,0,1.05556],"57680":[0,0.12,0,0,0.45],"57681":[0,0.12,0,0,0.45],"57682":[0,0.12,0,0,0.45],"57683":[0,0.12,0,0,0.45]},"Typewriter-Regular":{"32":[0,0,0,0,0.525],"33":[0,0.61111,0,0,0.525],"34":[0,0.61111,0,0,0.525],"35":[0,0.61111,0,0,0.525],"36":[0.08333,0.69444,0,0,0.525],"37":[0.08333,0.69444,0,0,0.525],"38":[0,0.61111,0,0,0.525],"39":[0,0.61111,0,0,0.525],"40":[0.08333,0.69444,0,0,0.525],"41":[0.08333,0.69444,0,0,0.525],"42":[0,0.52083,0,0,0.525],"43":[-0.08056,0.53055,0,0,0.525],"44":[0.13889,0.125,0,0,0.525],"45":[-0.08056,0.53055,0,0,0.525],"46":[0,0.125,0,0,0.525],"47":[0.08333,0.69444,0,0,0.525],"48":[0,0.61111,0,0,0.525],"49":[0,0.61111,0,0,0.525],"50":[0,0.61111,0,0,0.525],"51":[0,0.61111,0,0,0.525],"52":[0,0.61111,0,0,0.525],"53":[0,0.61111,0,0,0.525],"54":[0,0.61111,0,0,0.525],"55":[0,0.61111,0,0,0.525],"56":[0,0.61111,0,0,0.525],"57":[0,0.61111,0,0,0.525],"58":[0,0.43056,0,0,0.525],"59":[0.13889,0.43056,0,0,0.525],"60":[-0.05556,0.55556,0,0,0.525],"61":[-0.19549,0.41562,0,0,0.525],"62":[-0.05556,0.55556,0,0,0.525],"63":[0,0.61111,0,0,0.525],"64":[0,0.61111,0,0,0.525],"65":[0,0.61111,0,0,0.525],"66":[0,0.61111,0,0,0.525],"67":[0,0.61111,0,0,0.525],"68":[0,0.61111,0,0,0.525],"69":[0,0.61111,0,0,0.525],"70":[0,0.61111,0,0,0.525],"71":[0,0.61111,0,0,0.525],"72":[0,0.61111,0,0,0.525],"73":[0,0.61111,0,0,0.525],"74":[0,0.61111,0,0,0.525],"75":[0,0.61111,0,0,0.525],"76":[0,0.61111,0,0,0.525],"77":[0,0.61111,0,0,0.525],"78":[0,0.61111,0,0,0.525],"79":[0,0.61111,0,0,0.525],"80":[0,0.61111,0,0,0.525],"81":[0.13889,0.61111,0,0,0.525],"82":[0,0.61111,0,0,0.525],"83":[0,0.61111,0,0,0.525],"84":[0,0.61111,0,0,0.525],"85":[0,0.61111,0,0,0.525],"86":[0,0.61111,0,0,0.525],"87":[0,0.61111,0,0,0.525],"88":[0,0.61111,0,0,0.525],"89":[0,0.61111,0,0,0.525],"90":[0,0.61111,0,0,0.525],"91":[0.08333,0.69444,0,0,0.525],"92":[0.08333,0.69444,0,0,0.525],"93":[0.08333,0.69444,0,0,0.525],"94":[0,0.61111,0,0,0.525],"95":[0.09514,0,0,0,0.525],"96":[0,0.61111,0,0,0.525],"97":[0,0.43056,0,0,0.525],"98":[0,0.61111,0,0,0.525],"99":[0,0.43056,0,0,0.525],"100":[0,0.61111,0,0,0.525],"101":[0,0.43056,0,0,0.525],"102":[0,0.61111,0,0,0.525],"103":[0.22222,0.43056,0,0,0.525],"104":[0,0.61111,0,0,0.525],"105":[0,0.61111,0,0,0.525],"106":[0.22222,0.61111,0,0,0.525],"107":[0,0.61111,0,0,0.525],"108":[0,0.61111,0,0,0.525],"109":[0,0.43056,0,0,0.525],"110":[0,0.43056,0,0,0.525],"111":[0,0.43056,0,0,0.525],"112":[0.22222,0.43056,0,0,0.525],"113":[0.22222,0.43056,0,0,0.525],"114":[0,0.43056,0,0,0.525],"115":[0,0.43056,0,0,0.525],"116":[0,0.55358,0,0,0.525],"117":[0,0.43056,0,0,0.525],"118":[0,0.43056,0,0,0.525],"119":[0,0.43056,0,0,0.525],"120":[0,0.43056,0,0,0.525],"121":[0.22222,0.43056,0,0,0.525],"122":[0,0.43056,0,0,0.525],"123":[0.08333,0.69444,0,0,0.525],"124":[0.08333,0.69444,0,0,0.525],"125":[0.08333,0.69444,0,0,0.525],"126":[0,0.61111,0,0,0.525],"127":[0,0.61111,0,0,0.525],"160":[0,0,0,0,0.525],"176":[0,0.61111,0,0,0.525],"184":[0.19445,0,0,0,0.525],"305":[0,0.43056,0,0,0.525],"567":[0.22222,0.43056,0,0,0.525],"711":[0,0.56597,0,0,0.525],"713":[0,0.56555,0,0,0.525],"714":[0,0.61111,0,0,0.525],"715":[0,0.61111,0,0,0.525],"728":[0,0.61111,0,0,0.525],"730":[0,0.61111,0,0,0.525],"770":[0,0.61111,0,0,0.525],"771":[0,0.61111,0,0,0.525],"776":[0,0.61111,0,0,0.525],"915":[0,0.61111,0,0,0.525],"916":[0,0.61111,0,0,0.525],"920":[0,0.61111,0,0,0.525],"923":[0,0.61111,0,0,0.525],"926":[0,0.61111,0,0,0.525],"928":[0,0.61111,0,0,0.525],"931":[0,0.61111,0,0,0.525],"933":[0,0.61111,0,0,0.525],"934":[0,0.61111,0,0,0.525],"936":[0,0.61111,0,0,0.525],"937":[0,0.61111,0,0,0.525],"8216":[0,0.61111,0,0,0.525],"8217":[0,0.61111,0,0,0.525],"8242":[0,0.61111,0,0,0.525],"9251":[0.11111,0.21944,0,0,0.525]}},Qj={slant:[0.25,0.25,0.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[0.431,0.431,0.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[0.677,0.732,0.925],num2:[0.394,0.384,0.387],num3:[0.444,0.471,0.504],denom1:[0.686,0.752,1.025],denom2:[0.345,0.344,0.532],sup1:[0.413,0.503,0.504],sup2:[0.363,0.431,0.404],sup3:[0.289,0.286,0.294],sub1:[0.15,0.143,0.2],sub2:[0.247,0.286,0.4],supDrop:[0.386,0.353,0.494],subDrop:[0.05,0.071,0.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[0.25,0.25,0.25],defaultRuleThickness:[0.04,0.049,0.049],bigOpSpacing1:[0.111,0.111,0.111],bigOpSpacing2:[0.166,0.166,0.166],bigOpSpacing3:[0.2,0.2,0.2],bigOpSpacing4:[0.6,0.611,0.611],bigOpSpacing5:[0.1,0.143,0.143],sqrtRuleThickness:[0.04,0.04,0.04],ptPerEm:[10,10,10],doubleRuleSep:[0.2,0.2,0.2],arrayRuleWidth:[0.04,0.04,0.04],fboxsep:[0.3,0.3,0.3],fboxrule:[0.04,0.04,0.04]},tH0={"Å":"A","Ð":"D","Þ":"o","å":"a","ð":"d","þ":"o","А":"A","Б":"B","В":"B","Г":"F","Д":"A","Е":"E","Ж":"K","З":"3","И":"N","Й":"N","К":"K","Л":"N","М":"M","Н":"H","О":"O","П":"N","Р":"P","С":"C","Т":"T","У":"y","Ф":"O","Х":"X","Ц":"U","Ч":"h","Ш":"W","Щ":"W","Ъ":"B","Ы":"X","Ь":"B","Э":"3","Ю":"X","Я":"R","а":"a","б":"b","в":"a","г":"r","д":"y","е":"e","ж":"m","з":"e","и":"n","й":"n","к":"n","л":"n","м":"m","н":"n","о":"o","п":"n","р":"p","с":"c","т":"o","у":"y","ф":"b","х":"x","ц":"n","ч":"n","ш":"w","щ":"w","ъ":"a","ы":"m","ь":"a","э":"e","ю":"m","я":"r"};wt={};E9={math:{},text:{}};s(A0,H0,o0,"≡","\\equiv",!0);s(A0,H0,o0,"≺","\\prec",!0);s(A0,H0,o0,"≻","\\succ",!0);s(A0,H0,o0,"","\\sim",!0);s(A0,H0,o0,"⊥","\\perp");s(A0,H0,o0,"⪯","\\preceq",!0);s(A0,H0,o0,"⪰","\\succeq",!0);s(A0,H0,o0,"≃","\\simeq",!0);s(A0,H0,o0,"","\\mid",!0);s(A0,H0,o0,"≪","\\ll",!0);s(A0,H0,o0,"≫","\\gg",!0);s(A0,H0,o0,"≍","\\asymp",!0);s(A0,H0,o0,"∥","\\parallel");s(A0,H0,o0,"⋈","\\bowtie",!0);s(A0,H0,o0,"⌣","\\smile",!0);s(A0,H0,o0,"⊑","\\sqsubseteq",!0);s(A0,H0,o0,"⊒","\\sqsupseteq",!0);s(A0,H0,o0,"≐","\\doteq",!0);s(A0,H0,o0,"⌢","\\frown",!0);s(A0,H0,o0,"∋","\\ni",!0);s(A0,H0,o0,"∝","\\propto",!0);s(A0,H0,o0,"⊢","\\vdash",!0);s(A0,H0,o0,"⊣","\\dashv",!0);s(A0,H0,o0,"∋","\\owns");s(A0,H0,lx,".","\\ldotp");s(A0,H0,lx,"⋅","\\cdotp");s(A0,H0,lx,"⋅","·");s(nu,H0,Au,"⋅","·");s(A0,H0,Au,"#","\\#");s(nu,H0,Au,"#","\\#");s(A0,H0,Au,"&","\\&");s(nu,H0,Au,"&","\\&");s(A0,H0,Au,"ℵ","\\aleph",!0);s(A0,H0,Au,"∀","\\forall",!0);s(A0,H0,Au,"ℏ","\\hbar",!0);s(A0,H0,Au,"∃","\\exists",!0);s(A0,H0,Au,"∇","\\nabla",!0);s(A0,H0,Au,"♭","\\flat",!0);s(A0,H0,Au,"","\\ell",!0);s(A0,H0,Au,"♮","\\natural",!0);s(A0,H0,Au,"♣","\\clubsuit",!0);s(A0,H0,Au,"℘","\\wp",!0);s(A0,H0,Au,"♯","\\sharp",!0);s(A0,H0,Au,"♢","\\diamondsuit",!0);s(A0,H0,Au,"","\\Re",!0);s(A0,H0,Au,"♡","\\heartsuit",!0);s(A0,H0,Au,"","\\Im",!0);s(A0,H0,Au,"♠","\\spadesuit",!0);s(A0,H0,Au,"§","\\S",!0);s(nu,H0,Au,"§","\\S");s(A0,H0,Au,"¶","\\P",!0);s(nu,H0,Au,"¶","\\P");s(A0,H0,Au,"†","\\dag");s(nu,H0,Au,"†","\\dag");s(nu,H0,Au,"†","\\textdagger");s(A0,H0,Au,"‡","\\ddag");s(nu,H0,Au,"‡","\\ddag");s(nu,H0,Au,"‡","\\textdaggerdbl");s(A0,H0,KB,"⎱","\\rmoustache",!0);s(A0,H0,CE,"⎰","\\lmoustache",!0);s(A0,H0,KB,"⟯","\\rgroup",!0);s(A0,H0,CE,"⟮","\\lgroup",!0);s(A0,H0,x4,"∓","\\mp",!0);s(A0,H0,x4,"⊖","\\ominus",!0);s(A0,H0,x4,"⊎","\\uplus",!0);s(A0,H0,x4,"⊓","\\sqcap",!0);s(A0,H0,x4,"","\\ast");s(A0,H0,x4,"⊔","\\sqcup",!0);s(A0,H0,x4,"◯","\\bigcirc",!0);s(A0,H0,x4,"∙","\\bullet",!0);s(A0,H0,x4,"‡","\\ddagger");s(A0,H0,x4,"≀","\\wr",!0);s(A0,H0,x4,"⨿","\\amalg");s(A0,H0,x4,"&","\\And");s(A0,H0,o0,"⟵","\\longleftarrow",!0);s(A0,H0,o0,"⇐","\\Leftarrow",!0);s(A0,H0,o0,"⟸","\\Longleftarrow",!0);s(A0,H0,o0,"⟶","\\longrightarrow",!0);s(A0,H0,o0,"⇒","\\Rightarrow",!0);s(A0,H0,o0,"⟹","\\Longrightarrow",!0);s(A0,H0,o0,"↔","\\leftrightarrow",!0);s(A0,H0,o0,"⟷","\\longleftrightarrow",!0);s(A0,H0,o0,"⇔","\\Leftrightarrow",!0);s(A0,H0,o0,"⟺","\\Longleftrightarrow",!0);s(A0,H0,o0,"↦","\\mapsto",!0);s(A0,H0,o0,"⟼","\\longmapsto",!0);s(A0,H0,o0,"↗","\\nearrow",!0);s(A0,H0,o0,"↩","\\hookleftarrow",!0);s(A0,H0,o0,"↪","\\hookrightarrow",!0);s(A0,H0,o0,"↘","\\searrow",!0);s(A0,H0,o0,"↼","\\leftharpoonup",!0);s(A0,H0,o0,"⇀","\\rightharpoonup",!0);s(A0,H0,o0,"↙","\\swarrow",!0);s(A0,H0,o0,"↽","\\leftharpoondown",!0);s(A0,H0,o0,"⇁","\\rightharpoondown",!0);s(A0,H0,o0,"↖","\\nwarrow",!0);s(A0,H0,o0,"⇌","\\rightleftharpoons",!0);s(A0,d0,o0,"≮","\\nless",!0);s(A0,d0,o0,"","\\@nleqslant");s(A0,d0,o0,"","\\@nleqq");s(A0,d0,o0,"⪇","\\lneq",!0);s(A0,d0,o0,"≨","\\lneqq",!0);s(A0,d0,o0,"","\\@lvertneqq");s(A0,d0,o0,"⋦","\\lnsim",!0);s(A0,d0,o0,"⪉","\\lnapprox",!0);s(A0,d0,o0,"⊀","\\nprec",!0);s(A0,d0,o0,"⋠","\\npreceq",!0);s(A0,d0,o0,"⋨","\\precnsim",!0);s(A0,d0,o0,"⪹","\\precnapprox",!0);s(A0,d0,o0,"≁","\\nsim",!0);s(A0,d0,o0,"","\\@nshortmid");s(A0,d0,o0,"∤","\\nmid",!0);s(A0,d0,o0,"⊬","\\nvdash",!0);s(A0,d0,o0,"⊭","\\nvDash",!0);s(A0,d0,o0,"⋪","\\ntriangleleft");s(A0,d0,o0,"⋬","\\ntrianglelefteq",!0);s(A0,d0,o0,"⊊","\\subsetneq",!0);s(A0,d0,o0,"","\\@varsubsetneq");s(A0,d0,o0,"⫋","\\subsetneqq",!0);s(A0,d0,o0,"","\\@varsubsetneqq");s(A0,d0,o0,"≯","\\ngtr",!0);s(A0,d0,o0,"","\\@ngeqslant");s(A0,d0,o0,"","\\@ngeqq");s(A0,d0,o0,"⪈","\\gneq",!0);s(A0,d0,o0,"≩","\\gneqq",!0);s(A0,d0,o0,"","\\@gvertneqq");s(A0,d0,o0,"⋧","\\gnsim",!0);s(A0,d0,o0,"⪊","\\gnapprox",!0);s(A0,d0,o0,"⊁","\\nsucc",!0);s(A0,d0,o0,"⋡","\\nsucceq",!0);s(A0,d0,o0,"⋩","\\succnsim",!0);s(A0,d0,o0,"⪺","\\succnapprox",!0);s(A0,d0,o0,"≆","\\ncong",!0);s(A0,d0,o0,"","\\@nshortparallel");s(A0,d0,o0,"∦","\\nparallel",!0);s(A0,d0,o0,"⊯","\\nVDash",!0);s(A0,d0,o0,"⋫","\\ntriangleright");s(A0,d0,o0,"⋭","\\ntrianglerighteq",!0);s(A0,d0,o0,"","\\@nsupseteqq");s(A0,d0,o0,"⊋","\\supsetneq",!0);s(A0,d0,o0,"","\\@varsupsetneq");s(A0,d0,o0,"⫌","\\supsetneqq",!0);s(A0,d0,o0,"","\\@varsupsetneqq");s(A0,d0,o0,"⊮","\\nVdash",!0);s(A0,d0,o0,"⪵","\\precneqq",!0);s(A0,d0,o0,"⪶","\\succneqq",!0);s(A0,d0,o0,"","\\@nsubseteqq");s(A0,d0,x4,"⊴","\\unlhd");s(A0,d0,x4,"⊵","\\unrhd");s(A0,d0,o0,"↚","\\nleftarrow",!0);s(A0,d0,o0,"↛","\\nrightarrow",!0);s(A0,d0,o0,"⇍","\\nLeftarrow",!0);s(A0,d0,o0,"⇏","\\nRightarrow",!0);s(A0,d0,o0,"↮","\\nleftrightarrow",!0);s(A0,d0,o0,"⇎","\\nLeftrightarrow",!0);s(A0,d0,o0,"△","\\vartriangle");s(A0,d0,Au,"ℏ","\\hslash");s(A0,d0,Au,"▽","\\triangledown");s(A0,d0,Au,"◊","\\lozenge");s(A0,d0,Au,"Ⓢ","\\circledS");s(A0,d0,Au,"®","\\circledR");s(nu,d0,Au,"®","\\circledR");s(A0,d0,Au,"∡","\\measuredangle",!0);s(A0,d0,Au,"∄","\\nexists");s(A0,d0,Au,"℧","\\mho");s(A0,d0,Au,"Ⅎ","\\Finv",!0);s(A0,d0,Au,"⅁","\\Game",!0);s(A0,d0,Au,"","\\backprime");s(A0,d0,Au,"▲","\\blacktriangle");s(A0,d0,Au,"▼","\\blacktriangledown");s(A0,d0,Au,"■","\\blacksquare");s(A0,d0,Au,"⧫","\\blacklozenge");s(A0,d0,Au,"★","\\bigstar");s(A0,d0,Au,"∢","\\sphericalangle",!0);s(A0,d0,Au,"∁","\\complement",!0);s(A0,d0,Au,"ð","\\eth",!0);s(nu,H0,Au,"ð","ð");s(A0,d0,Au,"","\\diagup");s(A0,d0,Au,"╲","\\diagdown");s(A0,d0,Au,"□","\\square");s(A0,d0,Au,"□","\\Box");s(A0,d0,Au,"◊","\\Diamond");s(A0,d0,Au,"¥","\\yen",!0);s(nu,d0,Au,"¥","\\yen",!0);s(A0,d0,Au,"✓","\\checkmark",!0);s(nu,d0,Au,"✓","\\checkmark");s(A0,d0,Au,"ℶ","\\beth",!0);s(A0,d0,Au,"ℸ","\\daleth",!0);s(A0,d0,Au,"ℷ","\\gimel",!0);s(A0,d0,Au,"ϝ","\\digamma",!0);s(A0,d0,Au,"ϰ","\\varkappa");s(A0,d0,CE,"┌","\\@ulcorner",!0);s(A0,d0,KB,"┐","\\@urcorner",!0);s(A0,d0,CE,"└","\\@llcorner",!0);s(A0,d0,KB,"┘","\\@lrcorner",!0);s(A0,d0,o0,"≦","\\leqq",!0);s(A0,d0,o0,"⩽","\\leqslant",!0);s(A0,d0,o0,"⪕","\\eqslantless",!0);s(A0,d0,o0,"≲","\\lesssim",!0);s(A0,d0,o0,"⪅","\\lessapprox",!0);s(A0,d0,o0,"≊","\\approxeq",!0);s(A0,d0,x4,"⋖","\\lessdot");s(A0,d0,o0,"⋘","\\lll",!0);s(A0,d0,o0,"≶","\\lessgtr",!0);s(A0,d0,o0,"⋚","\\lesseqgtr",!0);s(A0,d0,o0,"⪋","\\lesseqqgtr",!0);s(A0,d0,o0,"≑","\\doteqdot");s(A0,d0,o0,"≓","\\risingdotseq",!0);s(A0,d0,o0,"≒","\\fallingdotseq",!0);s(A0,d0,o0,"∽","\\backsim",!0);s(A0,d0,o0,"⋍","\\backsimeq",!0);s(A0,d0,o0,"⫅","\\subseteqq",!0);s(A0,d0,o0,"⋐","\\Subset",!0);s(A0,d0,o0,"⊏","\\sqsubset",!0);s(A0,d0,o0,"≼","\\preccurlyeq",!0);s(A0,d0,o0,"⋞","\\curlyeqprec",!0);s(A0,d0,o0,"≾","\\precsim",!0);s(A0,d0,o0,"⪷","\\precapprox",!0);s(A0,d0,o0,"⊲","\\vartriangleleft");s(A0,d0,o0,"⊴","\\trianglelefteq");s(A0,d0,o0,"⊨","\\vDash",!0);s(A0,d0,o0,"⊪","\\Vvdash",!0);s(A0,d0,o0,"⌣","\\smallsmile");s(A0,d0,o0,"⌢","\\smallfrown");s(A0,d0,o0,"≏","\\bumpeq",!0);s(A0,d0,o0,"≎","\\Bumpeq",!0);s(A0,d0,o0,"≧","\\geqq",!0);s(A0,d0,o0,"⩾","\\geqslant",!0);s(A0,d0,o0,"⪖","\\eqslantgtr",!0);s(A0,d0,o0,"≳","\\gtrsim",!0);s(A0,d0,o0,"⪆","\\gtrapprox",!0);s(A0,d0,x4,"⋗","\\gtrdot");s(A0,d0,o0,"⋙","\\ggg",!0);s(A0,d0,o0,"≷","\\gtrless",!0);s(A0,d0,o0,"⋛","\\gtreqless",!0);s(A0,d0,o0,"⪌","\\gtreqqless",!0);s(A0,d0,o0,"≖","\\eqcirc",!0);s(A0,d0,o0,"≗","\\circeq",!0);s(A0,d0,o0,"≜","\\triangleq",!0);s(A0,d0,o0,"","\\thicksim");s(A0,d0,o0,"≈","\\thickapprox");s(A0,d0,o0,"⫆","\\supseteqq",!0);s(A0,d0,o0,"⋑","\\Supset",!0);s(A0,d0,o0,"⊐","\\sqsupset",!0);s(A0,d0,o0,"≽","\\succcurlyeq",!0);s(A0,d0,o0,"⋟","\\curlyeqsucc",!0);s(A0,d0,o0,"≿","\\succsim",!0);s(A0,d0,o0,"⪸","\\succapprox",!0);s(A0,d0,o0,"⊳","\\vartriangleright");s(A0,d0,o0,"⊵","\\trianglerighteq");s(A0,d0,o0,"⊩","\\Vdash",!0);s(A0,d0,o0,"","\\shortmid");s(A0,d0,o0,"∥","\\shortparallel");s(A0,d0,o0,"≬","\\between",!0);s(A0,d0,o0,"⋔","\\pitchfork",!0);s(A0,d0,o0,"∝","\\varpropto");s(A0,d0,o0,"◀","\\blacktriangleleft");s(A0,d0,o0,"∴","\\therefore",!0);s(A0,d0,o0,"∍","\\backepsilon");s(A0,d0,o0,"▶","\\blacktriangleright");s(A0,d0,o0,"∵","\\because",!0);s(A0,d0,o0,"⋘","\\llless");s(A0,d0,o0,"⋙","\\gggtr");s(A0,d0,x4,"⊲","\\lhd");s(A0,d0,x4,"⊳","\\rhd");s(A0,d0,o0,"≂","\\eqsim",!0);s(A0,H0,o0,"⋈","\\Join");s(A0,d0,o0,"≑","\\Doteq",!0);s(A0,d0,x4,"∔","\\dotplus",!0);s(A0,d0,x4,"","\\smallsetminus");s(A0,d0,x4,"⋒","\\Cap",!0);s(A0,d0,x4,"⋓","\\Cup",!0);s(A0,d0,x4,"⩞","\\doublebarwedge",!0);s(A0,d0,x4,"⊟","\\boxminus",!0);s(A0,d0,x4,"⊞","\\boxplus",!0);s(A0,d0,x4,"⋇","\\divideontimes",!0);s(A0,d0,x4,"⋉","\\ltimes",!0);s(A0,d0,x4,"⋊","\\rtimes",!0);s(A0,d0,x4,"⋋","\\leftthreetimes",!0);s(A0,d0,x4,"⋌","\\rightthreetimes",!0);s(A0,d0,x4,"⋏","\\curlywedge",!0);s(A0,d0,x4,"⋎","\\curlyvee",!0);s(A0,d0,x4,"⊝","\\circleddash",!0);s(A0,d0,x4,"⊛","\\circledast",!0);s(A0,d0,x4,"⋅","\\centerdot");s(A0,d0,x4,"⊺","\\intercal",!0);s(A0,d0,x4,"⋒","\\doublecap");s(A0,d0,x4,"⋓","\\doublecup");s(A0,d0,x4,"⊠","\\boxtimes",!0);s(A0,d0,o0,"⇢","\\dashrightarrow",!0);s(A0,d0,o0,"⇠","\\dashleftarrow",!0);s(A0,d0,o0,"⇇","\\leftleftarrows",!0);s(A0,d0,o0,"⇆","\\leftrightarrows",!0);s(A0,d0,o0,"⇚","\\Lleftarrow",!0);s(A0,d0,o0,"↞","\\twoheadleftarrow",!0);s(A0,d0,o0,"↢","\\leftarrowtail",!0);s(A0,d0,o0,"↫","\\looparrowleft",!0);s(A0,d0,o0,"⇋","\\leftrightharpoons",!0);s(A0,d0,o0,"↶","\\curvearrowleft",!0);s(A0,d0,o0,"↺","\\circlearrowleft",!0);s(A0,d0,o0,"↰","\\Lsh",!0);s(A0,d0,o0,"⇈","\\upuparrows",!0);s(A0,d0,o0,"↿","\\upharpoonleft",!0);s(A0,d0,o0,"⇃","\\downharpoonleft",!0);s(A0,H0,o0,"⊶","\\origof",!0);s(A0,H0,o0,"⊷","\\imageof",!0);s(A0,d0,o0,"⊸","\\multimap",!0);s(A0,d0,o0,"↭","\\leftrightsquigarrow",!0);s(A0,d0,o0,"⇉","\\rightrightarrows",!0);s(A0,d0,o0,"⇄","\\rightleftarrows",!0);s(A0,d0,o0,"↠","\\twoheadrightarrow",!0);s(A0,d0,o0,"↣","\\rightarrowtail",!0);s(A0,d0,o0,"↬","\\looparrowright",!0);s(A0,d0,o0,"↷","\\curvearrowright",!0);s(A0,d0,o0,"↻","\\circlearrowright",!0);s(A0,d0,o0,"↱","\\Rsh",!0);s(A0,d0,o0,"⇊","\\downdownarrows",!0);s(A0,d0,o0,"↾","\\upharpoonright",!0);s(A0,d0,o0,"⇂","\\downharpoonright",!0);s(A0,d0,o0,"⇝","\\rightsquigarrow",!0);s(A0,d0,o0,"⇝","\\leadsto");s(A0,d0,o0,"⇛","\\Rrightarrow",!0);s(A0,d0,o0,"↾","\\restriction");s(A0,H0,Au,"","`");s(A0,H0,Au,"$","\\$");s(nu,H0,Au,"$","\\$");s(nu,H0,Au,"$","\\textdollar");s(A0,H0,Au,"%","\\%");s(nu,H0,Au,"%","\\%");s(A0,H0,Au,"_","\\_");s(nu,H0,Au,"_","\\_");s(nu,H0,Au,"_","\\textunderscore");s(A0,H0,Au,"∠","\\angle",!0);s(A0,H0,Au,"∞","\\infty",!0);s(A0,H0,Au,"","\\prime");s(A0,H0,Au,"△","\\triangle");s(A0,H0,Au,"Γ","\\Gamma",!0);s(A0,H0,Au,"Δ","\\Delta",!0);s(A0,H0,Au,"Θ","\\Theta",!0);s(A0,H0,Au,"Λ","\\Lambda",!0);s(A0,H0,Au,"Ξ","\\Xi",!0);s(A0,H0,Au,"Π","\\Pi",!0);s(A0,H0,Au,"Σ","\\Sigma",!0);s(A0,H0,Au,"Υ","\\Upsilon",!0);s(A0,H0,Au,"Φ","\\Phi",!0);s(A0,H0,Au,"Ψ","\\Psi",!0);s(A0,H0,Au,"Ω","\\Omega",!0);s(A0,H0,Au,"A","Α");s(A0,H0,Au,"B","Β");s(A0,H0,Au,"E","Ε");s(A0,H0,Au,"Z","Ζ");s(A0,H0,Au,"H","Η");s(A0,H0,Au,"I","Ι");s(A0,H0,Au,"K","Κ");s(A0,H0,Au,"M","Μ");s(A0,H0,Au,"N","Ν");s(A0,H0,Au,"O","Ο");s(A0,H0,Au,"P","Ρ");s(A0,H0,Au,"T","Τ");s(A0,H0,Au,"X","Χ");s(A0,H0,Au,"¬","\\neg",!0);s(A0,H0,Au,"¬","\\lnot");s(A0,H0,Au,"","\\top");s(A0,H0,Au,"⊥","\\bot");s(A0,H0,Au,"∅","\\emptyset");s(A0,d0,Au,"∅","\\varnothing");s(A0,H0,U3,"α","\\alpha",!0);s(A0,H0,U3,"β","\\beta",!0);s(A0,H0,U3,"γ","\\gamma",!0);s(A0,H0,U3,"δ","\\delta",!0);s(A0,H0,U3,"ϵ","\\epsilon",!0);s(A0,H0,U3,"ζ","\\zeta",!0);s(A0,H0,U3,"η","\\eta",!0);s(A0,H0,U3,"θ","\\theta",!0);s(A0,H0,U3,"ι","\\iota",!0);s(A0,H0,U3,"κ","\\kappa",!0);s(A0,H0,U3,"λ","\\lambda",!0);s(A0,H0,U3,"μ","\\mu",!0);s(A0,H0,U3,"ν","\\nu",!0);s(A0,H0,U3,"ξ","\\xi",!0);s(A0,H0,U3,"ο","\\omicron",!0);s(A0,H0,U3,"π","\\pi",!0);s(A0,H0,U3,"ρ","\\rho",!0);s(A0,H0,U3,"σ","\\sigma",!0);s(A0,H0,U3,"τ","\\tau",!0);s(A0,H0,U3,"υ","\\upsilon",!0);s(A0,H0,U3,"ϕ","\\phi",!0);s(A0,H0,U3,"χ","\\chi",!0);s(A0,H0,U3,"ψ","\\psi",!0);s(A0,H0,U3,"ω","\\omega",!0);s(A0,H0,U3,"ε","\\varepsilon",!0);s(A0,H0,U3,"ϑ","\\vartheta",!0);s(A0,H0,U3,"ϖ","\\varpi",!0);s(A0,H0,U3,"ϱ","\\varrho",!0);s(A0,H0,U3,"ς","\\varsigma",!0);s(A0,H0,U3,"φ","\\varphi",!0);s(A0,H0,x4,"","*",!0);s(A0,H0,x4,"+","+");s(A0,H0,x4,"","-",!0);s(A0,H0,x4,"⋅","\\cdot",!0);s(A0,H0,x4,"∘","\\circ",!0);s(A0,H0,x4,"÷","\\div",!0);s(A0,H0,x4,"±","\\pm",!0);s(A0,H0,x4,"×","\\times",!0);s(A0,H0,x4,"∩","\\cap",!0);s(A0,H0,x4,"","\\cup",!0);s(A0,H0,x4,"","\\setminus",!0);s(A0,H0,x4,"∧","\\land");s(A0,H0,x4,"","\\lor");s(A0,H0,x4,"∧","\\wedge",!0);s(A0,H0,x4,"","\\vee",!0);s(A0,H0,Au,"√","\\surd");s(A0,H0,CE,"⟨","\\langle",!0);s(A0,H0,CE,"","\\lvert");s(A0,H0,CE,"∥","\\lVert");s(A0,H0,KB,"?","?");s(A0,H0,KB,"!","!");s(A0,H0,KB,"⟩","\\rangle",!0);s(A0,H0,KB,"","\\rvert");s(A0,H0,KB,"∥","\\rVert");s(A0,H0,o0,"=","=");s(A0,H0,o0,":",":");s(A0,H0,o0,"≈","\\approx",!0);s(A0,H0,o0,"≅","\\cong",!0);s(A0,H0,o0,"≥","\\ge");s(A0,H0,o0,"≥","\\geq",!0);s(A0,H0,o0,"←","\\gets");s(A0,H0,o0,">","\\gt",!0);s(A0,H0,o0,"∈","\\in",!0);s(A0,H0,o0,"","\\@not");s(A0,H0,o0,"⊂","\\subset",!0);s(A0,H0,o0,"⊃","\\supset",!0);s(A0,H0,o0,"⊆","\\subseteq",!0);s(A0,H0,o0,"⊇","\\supseteq",!0);s(A0,d0,o0,"⊈","\\nsubseteq",!0);s(A0,d0,o0,"⊉","\\nsupseteq",!0);s(A0,H0,o0,"⊨","\\models");s(A0,H0,o0,"←","\\leftarrow",!0);s(A0,H0,o0,"≤","\\le");s(A0,H0,o0,"≤","\\leq",!0);s(A0,H0,o0,"<","\\lt",!0);s(A0,H0,o0,"→","\\rightarrow",!0);s(A0,H0,o0,"→","\\to");s(A0,d0,o0,"≱","\\ngeq",!0);s(A0,d0,o0,"≰","\\nleq",!0);s(A0,H0,Rz," ","\\ ");s(A0,H0,Rz," ","\\space");s(A0,H0,Rz," ","\\nobreakspace");s(nu,H0,Rz," ","\\ ");s(nu,H0,Rz," "," ");s(nu,H0,Rz," ","\\space");s(nu,H0,Rz," ","\\nobreakspace");s(A0,H0,Rz,"","\\nobreak");s(A0,H0,Rz,"","\\allowbreak");s(A0,H0,lx,",",",");s(A0,H0,lx,";",";");s(A0,d0,x4,"⊼","\\barwedge",!0);s(A0,d0,x4,"⊻","\\veebar",!0);s(A0,H0,x4,"⊙","\\odot",!0);s(A0,H0,x4,"⊕","\\oplus",!0);s(A0,H0,x4,"⊗","\\otimes",!0);s(A0,H0,Au,"∂","\\partial",!0);s(A0,H0,x4,"⊘","\\oslash",!0);s(A0,d0,x4,"⊚","\\circledcirc",!0);s(A0,d0,x4,"⊡","\\boxdot",!0);s(A0,H0,x4,"△","\\bigtriangleup");s(A0,H0,x4,"▽","\\bigtriangledown");s(A0,H0,x4,"†","\\dagger");s(A0,H0,x4,"⋄","\\diamond");s(A0,H0,x4,"⋆","\\star");s(A0,H0,x4,"◃","\\triangleleft");s(A0,H0,x4,"▹","\\triangleright");s(A0,H0,CE,"{","\\{");s(nu,H0,Au,"{","\\{");s(nu,H0,Au,"{","\\textbraceleft");s(A0,H0,KB,"}","\\}");s(nu,H0,Au,"}","\\}");s(nu,H0,Au,"}","\\textbraceright");s(A0,H0,CE,"{","\\lbrace");s(A0,H0,KB,"}","\\rbrace");s(A0,H0,CE,"[","\\lbrack",!0);s(nu,H0,Au,"[","\\lbrack",!0);s(A0,H0,KB,"]","\\rbrack",!0);s(nu,H0,Au,"]","\\rbrack",!0);s(A0,H0,CE,"(","\\lparen",!0);s(A0,H0,KB,")","\\rparen",!0);s(nu,H0,Au,"<","\\textless",!0);s(nu,H0,Au,">","\\textgreater",!0);s(A0,H0,CE,"⌊","\\lfloor",!0);s(A0,H0,KB,"⌋","\\rfloor",!0);s(A0,H0,CE,"⌈","\\lceil",!0);s(A0,H0,KB,"⌉","\\rceil",!0);s(A0,H0,Au,"\\","\\backslash");s(A0,H0,Au,"","|");s(A0,H0,Au,"","\\vert");s(nu,H0,Au,"|","\\textbar",!0);s(A0,H0,Au,"∥","\\|");s(A0,H0,Au,"∥","\\Vert");s(nu,H0,Au,"∥","\\textbardbl");s(nu,H0,Au,"~","\\textasciitilde");s(nu,H0,Au,"\\","\\textbackslash");s(nu,H0,Au,"^","\\textasciicircum");s(A0,H0,o0,"↑","\\uparrow",!0);s(A0,H0,o0,"⇑","\\Uparrow",!0);s(A0,H0,o0,"↓","\\downarrow",!0);s(A0,H0,o0,"⇓","\\Downarrow",!0);s(A0,H0,o0,"↕","\\updownarrow",!0);s(A0,H0,o0,"⇕","\\Updownarrow",!0);s(A0,H0,l2,"∐","\\coprod");s(A0,H0,l2,"","\\bigvee");s(A0,H0,l2,"⋀","\\bigwedge");s(A0,H0,l2,"⨄","\\biguplus");s(A0,H0,l2,"⋂","\\bigcap");s(A0,H0,l2,"","\\bigcup");s(A0,H0,l2,"∫","\\int");s(A0,H0,l2,"∫","\\intop");s(A0,H0,l2,"∬","\\iint");s(A0,H0,l2,"∭","\\iiint");s(A0,H0,l2,"∏","\\prod");s(A0,H0,l2,"∑","\\sum");s(A0,H0,l2,"⨂","\\bigotimes");s(A0,H0,l2,"⨁","\\bigoplus");s(A0,H0,l2,"⨀","\\bigodot");s(A0,H0,l2,"∮","\\oint");s(A0,H0,l2,"∯","\\oiint");s(A0,H0,l2,"∰","\\oiiint");s(A0,H0,l2,"⨆","\\bigsqcup");s(A0,H0,l2,"∫","\\smallint");s(nu,H0,BH,"…","\\textellipsis");s(A0,H0,BH,"…","\\mathellipsis");s(nu,H0,BH,"…","\\ldots",!0);s(A0,H0,BH,"…","\\ldots",!0);s(A0,H0,BH,"⋯","\\@cdots",!0);s(A0,H0,BH,"⋱","\\ddots",!0);s(A0,H0,Au,"⋮","\\varvdots");s(nu,H0,Au,"⋮","\\varvdots");s(A0,H0,A9,"ˊ","\\acute");s(A0,H0,A9,"ˋ","\\grave");s(A0,H0,A9,"¨","\\ddot");s(A0,H0,A9,"~","\\tilde");s(A0,H0,A9,"ˉ","\\bar");s(A0,H0,A9,"˘","\\breve");s(A0,H0,A9,"ˇ","\\check");s(A0,H0,A9,"^","\\hat");s(A0,H0,A9,"⃗","\\vec");s(A0,H0,A9,"˙","\\dot");s(A0,H0,A9,"˚","\\mathring");s(A0,H0,U3,"","\\@imath");s(A0,H0,U3,"","\\@jmath");s(A0,H0,Au,"ı","ı");s(A0,H0,Au,"ȷ","ȷ");s(nu,H0,Au,"ı","\\i",!0);s(nu,H0,Au,"ȷ","\\j",!0);s(nu,H0,Au,"ß","\\ss",!0);s(nu,H0,Au,"æ","\\ae",!0);s(nu,H0,Au,"œ","\\oe",!0);s(nu,H0,Au,"ø","\\o",!0);s(nu,H0,Au,"Æ","\\AE",!0);s(nu,H0,Au,"Œ","\\OE",!0);s(nu,H0,Au,"Ø","\\O",!0);s(nu,H0,A9,"ˊ","\\'");s(nu,H0,A9,"ˋ","\\`");s(nu,H0,A9,"ˆ","\\^");s(nu,H0,A9,"˜","\\~");s(nu,H0,A9,"ˉ","\\=");s(nu,H0,A9,"˘","\\u");s(nu,H0,A9,"˙","\\.");s(nu,H0,A9,"¸","\\c");s(nu,H0,A9,"˚","\\r");s(nu,H0,A9,"ˇ","\\v");s(nu,H0,A9,"¨","\\\"");s(nu,H0,A9,"˝","\\H");s(nu,H0,A9,"◯","\\textcircled");aq0={"--":!0,"---":!0,"``":!0,"''":!0};s(nu,H0,Au,"","--",!0);s(nu,H0,Au,"","\\textendash");s(nu,H0,Au,"—","---",!0);s(nu,H0,Au,"—","\\textemdash");s(nu,H0,Au,"","`",!0);s(nu,H0,Au,"","\\textquoteleft");s(nu,H0,Au,"","'",!0);s(nu,H0,Au,"","\\textquoteright");s(nu,H0,Au,"“","``",!0);s(nu,H0,Au,"“","\\textquotedblleft");s(nu,H0,Au,"”","''",!0);s(nu,H0,Au,"”","\\textquotedblright");s(A0,H0,Au,"°","\\degree",!0);s(nu,H0,Au,"°","\\degree");s(nu,H0,Au,"°","\\textdegree",!0);s(A0,H0,Au,"£","\\pounds");s(A0,H0,Au,"£","\\mathsterling",!0);s(nu,H0,Au,"£","\\pounds");s(nu,H0,Au,"£","\\textsterling",!0);s(A0,d0,Au,"✠","\\maltese");s(nu,d0,Au,"✠","\\maltese");for(bx=0;bx<eH0.length;bx++)xj=eH0.charAt(bx),s(A0,H0,Au,xj,xj);for(Zx=0;Zx<uq0.length;Zx++)Wj=uq0.charAt(Zx),s(nu,H0,Au,Wj,Wj);for(Jx=0;Jx<Tj.length;Jx++)dG=Tj.charAt(Jx),s(A0,H0,U3,dG,dG),s(nu,H0,Au,dG,dG);s(A0,d0,Au,"C","");s(nu,d0,Au,"C","");s(A0,d0,Au,"H","");s(nu,d0,Au,"H","");s(A0,d0,Au,"N","");s(nu,d0,Au,"N","");s(A0,d0,Au,"P","");s(nu,d0,Au,"P","");s(A0,d0,Au,"Q","");s(nu,d0,Au,"Q","");s(A0,d0,Au,"R","");s(nu,d0,Au,"R","");s(A0,d0,Au,"Z","");s(nu,d0,Au,"Z","");s(A0,H0,U3,"h","");s(nu,H0,U3,"h","");for(o5=0;o5<Tj.length;o5++)if(B9=Tj.charAt(o5),R3=String.fromCharCode(55349,56320+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56372+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56424+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56580+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56684+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56736+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56788+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56840+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56944+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),o5<26)R3=String.fromCharCode(55349,56632+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3),R3=String.fromCharCode(55349,56476+o5),s(A0,H0,U3,B9,R3),s(nu,H0,Au,B9,R3);R3=String.fromCharCode(55349,56668);s(A0,H0,U3,"k",R3);s(nu,H0,Au,"k",R3);for(vz=0;vz<10;vz++)zF=vz.toString(),R3=String.fromCharCode(55349,57294+vz),s(A0,H0,U3,zF,R3),s(nu,H0,Au,zF,R3),R3=String.fromCharCode(55349,57314+vz),s(A0,H0,U3,zF,R3),s(nu,H0,Au,zF,R3),R3=String.fromCharCode(55349,57324+vz),s(A0,H0,U3,zF,R3),s(nu,H0,Au,zF,R3),R3=String.fromCharCode(55349,57334+vz),s(A0,H0,U3,zF,R3),s(nu,H0,Au,zF,R3);for(Kx=0;Kx<Tt.length;Kx++)sG=Tt.charAt(Kx),s(A0,H0,U3,sG,sG),s(nu,H0,Au,sG,sG);Ot={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},Bq0={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},Eq0={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},l14={mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},TJ={mathClass:"",textClass:"",font:""},Aq0={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},Cq0={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},Dq0={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},It={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},Pt={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},Fq0={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},jt={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},Uq0=[Ot,Ot,Bq0,Bq0,Eq0,Eq0,l14,TJ,TJ,TJ,Aq0,Aq0,Cq0,Cq0,Dq0,Dq0,It,It,Pt,Pt,Fq0,Fq0,TJ,TJ,jt,jt],L14=[Ot,TJ,It,Pt,jt],Nt={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},yq0={vec:["vec",0.471,0.714],oiintSize1:["oiintSize1",0.957,0.499],oiintSize2:["oiintSize2",1.472,0.659],oiiintSize1:["oiiintSize1",1.304,0.499],oiiintSize2:["oiiintSize2",1.98,0.659]},H9={number:3,unit:"mu"},RJ={number:4,unit:"mu"},Lz={number:5,unit:"mu"},Y14={mord:{mop:H9,mbin:RJ,mrel:Lz,minner:H9},mop:{mord:H9,mop:H9,mrel:Lz,minner:H9},mbin:{mord:RJ,mop:RJ,mopen:RJ,minner:RJ},mrel:{mord:Lz,mop:Lz,mopen:Lz,minner:Lz},mopen:{},mclose:{mop:H9,mbin:RJ,mrel:Lz,minner:H9},mpunct:{mord:H9,mop:H9,mrel:Lz,mopen:H9,mclose:H9,mpunct:H9,minner:H9},minner:{mord:H9,mop:H9,mbin:RJ,mrel:Lz,mopen:H9,mpunct:H9,minner:H9}},R14={mord:{mop:H9},mop:{mord:H9,mop:H9},mbin:{},mrel:{},mopen:{},mclose:{mop:H9},mpunct:{},minner:{mop:H9}},gq0={},Oj={},Ij={};T14=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),O14=new Set(["rightmost","mrel","mclose","mpunct"]),I14={display:i3.DISPLAY,text:i3.TEXT,script:i3.SCRIPT,scriptscript:i3.SCRIPTSCRIPT},P14={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"};j14=new Set(["\\imath","\\jmath"]),N14=new Set(["mrow","mtable"]),V14={mathit:"italic",boldsymbol:(u)=>u.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"};h14=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],kq0=[0.5,0.6,0.7,0.8,0.9,1,1.2,1.44,1.728,2.074,2.488];xz.BASESIZE=6;m14={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},$14={overrightarrow:[["rightarrow"],0.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],0.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],0.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],0.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],0.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],0.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],0.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],0.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],0.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],0.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],0.888,522,"xMaxYMin"],xlongequal:[["longequal"],0.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],0.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],0.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],0.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],0.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],0.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],0.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],0.888,342],undergroup:[["leftgroupunder","rightgroupunder"],0.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},y14=new Set(["widehat","widecheck","widetilde","utilde"]),g14={bin:1,close:1,inner:1,open:1,punct:1,rel:1},c14={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};p14=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((u)=>"\\"+u).join("|"));H4({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(u,B)=>{var E=Pj(B[0]),A=!p14.test(u.funcName),C=!A||u.funcName==="\\widehat"||u.funcName==="\\widetilde"||u.funcName==="\\widecheck";return{type:"accent",mode:u.parser.mode,label:u.funcName,isStretchy:A,isShifty:C,base:E}},htmlBuilder:ue,mathmlBuilder:sq0});H4({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.","\\\"","\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(u,B)=>{var E=B[0],A=u.parser.mode;if(A==="math")u.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+u.funcName+" works only in text mode"),A="text";return{type:"accent",mode:A,label:u.funcName,isStretchy:!1,isShifty:!0,base:E}},htmlBuilder:ue,mathmlBuilder:sq0});H4({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(u,B)=>{var{parser:E,funcName:A}=u,C=B[0];return{type:"accentUnder",mode:E.mode,label:A,base:C}},htmlBuilder:(u,B)=>{var E=s1(u.base,B),A=ij(u,B),C=u.label==="\\utilde"?0.12:0,D=d1({positionType:"top",positionData:E.height,children:[{type:"elem",elem:A,wrapperClasses:["svg-align"]},{type:"kern",size:C},{type:"elem",elem:E}]});return u4(["mord","accentunder"],[D],B)},mathmlBuilder:(u,B)=>{var E=hj(u.label),A=new E4("munder",[L6(u.base,B),E]);return A.setAttribute("accentunder","true"),A}});H4({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(u,B,E){var{parser:A,funcName:C}=u;return{type:"xArrow",mode:A.mode,label:C,body:B[0],below:E[0]}},htmlBuilder(u,B){var E=B.style,A=B.havingStyle(E.sup()),C=uH(s1(u.body,A,B),B),D=u.label.slice(0,2)==="\\x"?"x":"cd";C.classes.push(D+"-arrow-pad");var F;if(u.below)A=B.havingStyle(E.sub()),F=uH(s1(u.below,A,B),B),F.classes.push(D+"-arrow-pad");var U=ij(u,B),z=-B.fontMetrics().axisHeight+0.5*U.height,k=-B.fontMetrics().axisHeight-0.5*U.height-0.111;if(C.depth>0.25||u.label==="\\xleftequilibrium")k-=C.depth;var f;if(F){var M=-B.fontMetrics().axisHeight+F.height+0.5*U.height+0.111;f=d1({positionType:"individualShift",children:[{type:"elem",elem:C,shift:k},{type:"elem",elem:U,shift:z,wrapperClasses:["svg-align"]},{type:"elem",elem:F,shift:M}]})}else f=d1({positionType:"individualShift",children:[{type:"elem",elem:C,shift:k},{type:"elem",elem:U,shift:z,wrapperClasses:["svg-align"]}]});return u4(["mrel","x-arrow"],[f],B)},mathmlBuilder(u,B){var E=hj(u.label);E.setAttribute("minsize",u.label.charAt(0)==="x"?"1.75em":"3.0em");var A;if(u.body){var C=qj(L6(u.body,B));if(u.below){var D=qj(L6(u.below,B));A=new E4("munderover",[E,D,C])}else A=new E4("mover",[E,C])}else if(u.below){var F=qj(L6(u.below,B));A=new E4("munder",[E,F])}else A=qj(),A=new E4("mover",[E,A]);return A}});H4({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(u,B){var{parser:E,funcName:A}=u,C=B[0];return{type:"mclass",mode:E.mode,mclass:"m"+A.slice(5),body:q2(C),isCharacterBox:Yz(C)}},htmlBuilder:oq0,mathmlBuilder:tq0});H4({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(u,B){var{parser:E}=u;return{type:"mclass",mode:E.mode,mclass:$j(B[0]),body:q2(B[1]),isCharacterBox:Yz(B[1])}}});H4({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(u,B){var{parser:E,funcName:A}=u,C=B[1],D=B[0],F;if(A!=="\\stackrel")F=$j(C);else F="mrel";var U={type:"op",mode:C.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:A!=="\\stackrel",body:q2(C)},z={type:"supsub",mode:D.mode,base:U,sup:A==="\\underset"?null:D,sub:A==="\\underset"?D:null};return{type:"mclass",mode:E.mode,mclass:F,body:[z],isCharacterBox:Yz(z)}},htmlBuilder:oq0,mathmlBuilder:tq0});H4({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(u,B){var{parser:E}=u;return{type:"pmb",mode:E.mode,mclass:$j(B[0]),body:q2(B[0])}},htmlBuilder(u,B){var E=p2(u.body,B,!0),A=u4([u.mclass],E,B);return A.style.textShadow="0.02em 0.01em 0.04px",A},mathmlBuilder(u,B){var E=DE(u.body,B),A=new E4("mstyle",E);return A.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),A}});n14={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"};H4({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(u,B){var{parser:E,funcName:A}=u;return{type:"cdlabel",mode:E.mode,side:A.slice(4),label:B[0]}},htmlBuilder(u,B){var E=B.havingStyle(B.style.sup()),A=uH(s1(u.label,E,B),B);return A.classes.push("cd-label-"+u.side),A.style.bottom=z4(0.8-A.depth),A.height=0,A.depth=0,A},mathmlBuilder(u,B){var E=new E4("mrow",[L6(u.label,B)]);if(E=new E4("mpadded",[E]),E.setAttribute("width","0"),u.side==="left")E.setAttribute("lspace","-1width");return E.setAttribute("voffset","0.7em"),E=new E4("mstyle",[E]),E.setAttribute("displaystyle","false"),E.setAttribute("scriptlevel","1"),E}});H4({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(u,B){var{parser:E}=u;return{type:"cdlabelparent",mode:E.mode,fragment:B[0]}},htmlBuilder(u,B){var E=uH(s1(u.fragment,B),B);return E.classes.push("cd-vert-arrow"),E},mathmlBuilder(u,B){return new E4("mrow",[L6(u.fragment,B)])}});H4({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(u,B){var{parser:E}=u,A=d3(B[0],"ordgroup"),C=A.body,D="";for(var F=0;F<C.length;F++){var U=d3(C[F],"textord");D+=U.text}var z=parseInt(D),k;if(isNaN(z))throw new B4("\\@char has non-numeric argument "+D);else if(z<0||z>=1114111)throw new B4("\\@char with invalid code point "+D);else if(z<=65535)k=String.fromCharCode(z);else z-=65536,k=String.fromCharCode((z>>10)+55296,(z&1023)+56320);return{type:"textord",mode:E.mode,text:k}}});H4({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(u,B){var{parser:E}=u,A=d3(B[0],"color-token").color,C=B[1];return{type:"color",mode:E.mode,color:A,body:q2(C)}},htmlBuilder:eq0,mathmlBuilder:ul0});H4({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(u,B){var{parser:E,breakOnTokenText:A}=u,C=d3(B[0],"color-token").color;E.gullet.macros.set("\\current@color",C);var D=E.parseExpression(!0,A);return{type:"color",mode:E.mode,color:C,body:D}},htmlBuilder:eq0,mathmlBuilder:ul0});H4({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(u,B,E){var{parser:A}=u,C=A.gullet.future().text==="["?A.parseSizeGroup(!0):null,D=!A.settings.displayMode||!A.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:A.mode,newLine:D,size:C&&d3(C,"size").value}},htmlBuilder(u,B){var E=u4(["mspace"],[],B);if(u.newLine){if(E.classes.push("newline"),u.size)E.style.marginTop=z4(q9(u.size,B))}return E},mathmlBuilder(u,B){var E=new E4("mspace");if(u.newLine){if(E.setAttribute("linebreak","newline"),u.size)E.setAttribute("height",z4(q9(u.size,B)))}return E}});mt={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"};H4({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(u){var{parser:B,funcName:E}=u;B.consumeSpaces();var A=B.fetch();if(mt[A.text]){if(E==="\\global"||E==="\\\\globallong")A.text=mt[A.text];return d3(B.parseFunction(),"internal")}throw new B4("Invalid token after macro prefix",A)}});H4({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(u){var{parser:B,funcName:E}=u,A=B.gullet.popToken(),C=A.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(C))throw new B4("Expected a control sequence",A);var D=0,F,U=[[]];while(B.gullet.future().text!=="{")if(A=B.gullet.popToken(),A.text==="#"){if(B.gullet.future().text==="{"){F=B.gullet.future(),U[D].push("{");break}if(A=B.gullet.popToken(),!/^[1-9]$/.test(A.text))throw new B4('Invalid argument number "'+A.text+'"');if(parseInt(A.text)!==D+1)throw new B4('Argument number "'+A.text+'" out of order');D++,U.push([])}else if(A.text==="EOF")throw new B4("Expected a macro definition");else U[D].push(A.text);var{tokens:z}=B.gullet.consumeArg();if(F)z.unshift(F);if(E==="\\edef"||E==="\\xdef")z=B.gullet.expandTokens(z),z.reverse();return B.gullet.macros.set(C,{tokens:z,numArgs:D,delimiters:U},E===mt[E]),{type:"internal",mode:B.mode}}});H4({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(u){var{parser:B,funcName:E}=u,A=Bl0(B.gullet.popToken());B.gullet.consumeSpaces();var C=t14(B);return El0(B,A,C,E==="\\\\globallet"),{type:"internal",mode:B.mode}}});H4({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(u){var{parser:B,funcName:E}=u,A=Bl0(B.gullet.popToken()),C=B.gullet.popToken(),D=B.gullet.popToken();return El0(B,A,D,E==="\\\\globalfuture"),B.gullet.pushToken(D),B.gullet.pushToken(C),{type:"internal",mode:B.mode}}});lj={type:"kern",size:-1*$t},B64=new Set(["|","\\lvert","\\rvert","\\vert"]),E64=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Fl0=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),C64=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Ul0=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),Qx=[0,1.2,1.8,2.4,3],D64=[{type:"small",style:i3.SCRIPTSCRIPT},{type:"small",style:i3.SCRIPT},{type:"small",style:i3.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],F64=[{type:"small",style:i3.SCRIPTSCRIPT},{type:"small",style:i3.SCRIPT},{type:"small",style:i3.TEXT},{type:"stack"}],kl0=[{type:"small",style:i3.SCRIPTSCRIPT},{type:"small",style:i3.SCRIPT},{type:"small",style:i3.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Zq0={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},z64=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);H4({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(u,B)=>{var E=yj(B[0],u);return{type:"delimsizing",mode:u.parser.mode,size:Zq0[u.funcName].size,mclass:Zq0[u.funcName].mclass,delim:E.text}},htmlBuilder:(u,B)=>{if(u.delim===".")return u4([u.mclass]);return zl0(u.delim,u.size,B,u.mode,[u.mclass])},mathmlBuilder:(u)=>{var B=[];if(u.delim!==".")B.push(eE(u.delim,u.mode));var E=new E4("mo",B);if(u.mclass==="mopen"||u.mclass==="mclose")E.setAttribute("fence","true");else E.setAttribute("fence","false");E.setAttribute("stretchy","true");var A=z4(Qx[u.size]);return E.setAttribute("minsize",A),E.setAttribute("maxsize",A),E}});H4({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(u,B)=>{var E=u.parser.gullet.macros.get("\\current@color");if(E&&typeof E!=="string")throw new B4("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:u.parser.mode,delim:yj(B[0],u).text,color:E}}});H4({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(u,B)=>{var E=yj(B[0],u),A=u.parser;++A.leftrightDepth;var C=A.parseExpression(!1);--A.leftrightDepth,A.expect("\\right",!1);var D=d3(A.parseFunction(),"leftright-right");return{type:"leftright",mode:A.mode,body:C,left:E.text,right:D.delim,rightColor:D.color}},htmlBuilder:(u,B)=>{Kq0(u);var E=p2(u.body,B,!0,["mopen","mclose"]),A=0,C=0,D=!1;for(var F=0;F<E.length;F++){var U=E[F];if(Jq0(U))D=!0;else A=Math.max(E[F].height,A),C=Math.max(E[F].depth,C)}A*=B.sizeMultiplier,C*=B.sizeMultiplier;var z;if(u.left===".")z=Hx(B,["mopen"]);else z=Xt(u.left,A,C,B,u.mode,["mopen"]);if(E.unshift(z),D)for(var k=1;k<E.length;k++){var f=E[k];if(Jq0(f)){var M=f.isMiddle;E[k]=Xt(M.delim,A,C,M.options,u.mode,[])}}var b;if(u.right===".")b=Hx(B,["mclose"]);else{var Z=u.rightColor?B.withColor(u.rightColor):B;b=Xt(u.right,A,C,Z,u.mode,["mclose"])}return E.push(b),u4(["minner"],E,B)},mathmlBuilder:(u,B)=>{Kq0(u);var E=DE(u.body,B);if(u.left!=="."){var A=new E4("mo",[eE(u.left,u.mode)]);A.setAttribute("fence","true"),E.unshift(A)}if(u.right!=="."){var C=new E4("mo",[eE(u.right,u.mode)]);if(C.setAttribute("fence","true"),u.rightColor)C.setAttribute("mathcolor",u.rightColor);E.push(C)}return tt(E)}});H4({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(u,B)=>{var E=yj(B[0],u);if(!u.parser.leftrightDepth)throw new B4("\\middle without preceding \\left",E);return{type:"middle",mode:u.parser.mode,delim:E.text}},htmlBuilder:(u,B)=>{var E;if(u.delim===".")E=Hx(B,[]);else E=zl0(u.delim,1,B,u.mode,[]),E.isMiddle={delim:u.delim,options:B};return E},mathmlBuilder:(u,B)=>{var E=u.delim==="\\vert"||u.delim==="|"?eE("|","text"):eE(u.delim,u.mode),A=new E4("mo",[E]);return A.setAttribute("fence","true"),A.setAttribute("lspace","0.05em"),A.setAttribute("rspace","0.05em"),A}});H4({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(u,B,E){var{parser:A,funcName:C}=u,D=d3(B[0],"color-token").color,F=B[1];return{type:"enclose",mode:A.mode,label:C,backgroundColor:D,body:F}},htmlBuilder:rj,mathmlBuilder:gj});H4({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(u,B,E){var{parser:A,funcName:C}=u,D=d3(B[0],"color-token").color,F=d3(B[1],"color-token").color,U=B[2];return{type:"enclose",mode:A.mode,label:C,backgroundColor:F,borderColor:D,body:U}},htmlBuilder:rj,mathmlBuilder:gj});H4({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(u,B){var{parser:E}=u;return{type:"enclose",mode:E.mode,label:"\\fbox",body:B[0]}}});H4({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(u,B){var{parser:E,funcName:A}=u,C=B[0];return{type:"enclose",mode:E.mode,label:A,body:C}},htmlBuilder:rj,mathmlBuilder:gj});H4({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(u,B){var{parser:E,funcName:A}=u;if(E.mode==="math")E.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var C=B[0];return{type:"enclose",mode:E.mode,label:A,body:C}},htmlBuilder:rj,mathmlBuilder:gj});H4({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(u,B){var{parser:E}=u;return{type:"enclose",mode:E.mode,label:"\\angl",body:B[0]}}});Ml0={};bl0={};k64=new Set(["gather","gather*"]);f64={c:"center ",l:"left ",r:"right "};bF({type:"array",names:["array","darray"],props:{numArgs:1},handler(u,B){var E=mj(B[0]),A=E?[B[0]]:d3(B[0],"ordgroup").body,C=A.map(function(F){var U=aj(F),z=U.text;if("lcr".includes(z))return{type:"align",align:z};else if(z==="|")return{type:"separator",separator:"|"};else if(z===":")return{type:"separator",separator:":"};throw new B4("Unknown column alignment: "+z,F)}),D={cols:C,hskipBeforeAndAfter:!0,maxNumCols:C.length};return yf(u.parser,D,Ae(u.envName))},htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(u){var B={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[u.envName.replace("*","")],E="c",A={hskipBeforeAndAfter:!1,cols:[{type:"align",align:E}]};if(u.envName.charAt(u.envName.length-1)==="*"){var C=u.parser;if(C.consumeSpaces(),C.fetch().text==="["){if(C.consume(),C.consumeSpaces(),E=C.fetch().text,!"lcr".includes(E))throw new B4("Expected l or c or r",C.nextToken);C.consume(),C.consumeSpaces(),C.expect("]"),C.consume(),A.cols=[{type:"align",align:E}]}}var D=yf(u.parser,A,Ae(u.envName)),F=Math.max(0,...D.body.map((U)=>U.length));return D.cols=Array(F).fill({type:"align",align:E}),B?{type:"leftright",mode:u.mode,body:[D],left:B[0],right:B[1],rightColor:void 0}:D},htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(u){var B={arraystretch:0.5},E=yf(u.parser,B,"script");return E.colSeparationType="small",E},htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["subarray"],props:{numArgs:1},handler(u,B){var E=mj(B[0]),A=E?[B[0]]:d3(B[0],"ordgroup").body,C=A.map(function(U){var z=aj(U),k=z.text;if("lc".includes(k))return{type:"align",align:k};throw new B4("Unknown column alignment: "+k,U)});if(C.length>1)throw new B4("{subarray} can contain only one column");var D={cols:C,hskipBeforeAndAfter:!1,arraystretch:0.5},F=yf(u.parser,D,"script");if(F.body.length>0&&F.body[0].length>1)throw new B4("{subarray} can contain only one column");return F},htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(u){var B={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},E=yf(u.parser,B,Ae(u.envName));return{type:"leftright",mode:u.mode,body:[E],left:u.envName.includes("r")?".":"\\{",right:u.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Zl0,htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(u){if(k64.has(u.envName))cj(u);var B={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Ee(u.envName),emptySingleRow:!0,leqno:u.parser.settings.leqno};return yf(u.parser,B,"display")},htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Zl0,htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(u){cj(u);var B={autoTag:Ee(u.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:u.parser.settings.leqno};return yf(u.parser,B,"display")},htmlBuilder:ZF,mathmlBuilder:JF});bF({type:"array",names:["CD"],props:{numArgs:0},handler(u){return cj(u),o14(u.parser)},htmlBuilder:ZF,mathmlBuilder:JF});R0("\\nonumber","\\gdef\\@eqnsw{0}");R0("\\notag","\\nonumber");H4({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(u,B){throw new B4(u.funcName+" valid only within array environment")}});Qq0=Ml0;H4({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(u,B){var{parser:E,funcName:A}=u,C=B[0];if(C.type!=="ordgroup")throw new B4("Invalid environment name",C);var D="";for(var F=0;F<C.body.length;++F)D+=d3(C.body[F],"textord").text;if(A==="\\begin"){if(!Qq0.hasOwnProperty(D))throw new B4("No such environment: "+D,C);var U=Qq0[D],{args:z,optArgs:k}=E.parseArguments("\\begin{"+D+"}",U),f={mode:E.mode,envName:D,parser:E},M=U.handler(f,z,k);E.expect("\\end",!1);var b=E.nextToken,Z=d3(E.parseFunction(),"environment");if(Z.name!==D)throw new B4("Mismatch: \\begin{"+D+"} matched by \\end{"+Z.name+"}",b);return M}return{type:"environment",mode:E.mode,name:D,nameGroup:C}}});Gq0={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};H4({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(u,B)=>{var{parser:E,funcName:A}=u,C=Pj(B[0]),D=A;if(D in Gq0)D=Gq0[D];return{type:"font",mode:E.mode,font:D.slice(1),body:C}},htmlBuilder:Jl0,mathmlBuilder:Kl0});H4({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(u,B)=>{var{parser:E}=u,A=B[0];return{type:"mclass",mode:E.mode,mclass:$j(A),body:[{type:"font",mode:E.mode,font:"boldsymbol",body:A}],isCharacterBox:Yz(A)}}});H4({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(u,B)=>{var{parser:E,funcName:A,breakOnTokenText:C}=u,{mode:D}=E,F=E.parseExpression(!0,C);return{type:"font",mode:D,font:"math"+A.slice(1),body:{type:"ordgroup",mode:E.mode,body:F}}},htmlBuilder:Jl0,mathmlBuilder:Kl0});H4({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(u,B)=>{var{parser:E,funcName:A}=u,C=B[0],D=B[1],F,U=null,z=null;switch(A){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":F=!0;break;case"\\\\atopfrac":F=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":F=!1,U="(",z=")";break;case"\\\\bracefrac":F=!1,U="\\{",z="\\}";break;case"\\\\brackfrac":F=!1,U="[",z="]";break;default:throw Error("Unrecognized genfrac command")}var k=A==="\\cfrac",f=null;if(k||A.startsWith("\\d"))f="display";else if(A.startsWith("\\t"))f="text";return wl0({type:"genfrac",mode:E.mode,numer:C,denom:D,continued:k,hasBarLine:F,leftDelim:U,rightDelim:z,barSize:null},f)},htmlBuilder:M64,mathmlBuilder:b64});H4({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(u){var{parser:B,funcName:E,token:A}=u,C;switch(E){case"\\over":C="\\frac";break;case"\\choose":C="\\binom";break;case"\\atop":C="\\\\atopfrac";break;case"\\brace":C="\\\\bracefrac";break;case"\\brack":C="\\\\brackfrac";break;default:throw Error("Unrecognized infix genfrac command")}return{type:"infix",mode:B.mode,replaceWith:C,token:A}}});Hq0=["display","text","script","scriptscript"];H4({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(u,B){var{parser:E}=u,A=B[4],C=B[5],D=Pj(B[0]),F=D.type==="atom"&&D.family==="open"?qq0(D.text):null,U=Pj(B[1]),z=U.type==="atom"&&U.family==="close"?qq0(U.text):null,k=d3(B[2],"size"),f,M=null;if(k.isBlank)f=!0;else M=k.value,f=M.number>0;var b=null,Z=B[3];if(Z.type==="ordgroup"){if(Z.body.length>0){var J=d3(Z.body[0],"textord");b=Hq0[Number(J.text)]}}else Z=d3(Z,"textord"),b=Hq0[Number(Z.text)];return wl0({type:"genfrac",mode:E.mode,numer:A,denom:C,continued:!1,hasBarLine:f,barSize:M,leftDelim:F,rightDelim:z},b)}});H4({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(u,B){var{parser:E,funcName:A,token:C}=u;return{type:"infix",mode:E.mode,replaceWith:"\\\\abovefrac",size:d3(B[0],"size").value,token:C}}});H4({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(u,B)=>{var{parser:E,funcName:A}=u,C=B[0],D=d3(B[1],"infix").size;if(!D)throw Error("\\\\abovefrac expected size, but got "+String(D));var F=B[2],U=D.number>0;return{type:"genfrac",mode:E.mode,numer:C,denom:F,continued:!1,hasBarLine:U,barSize:D,leftDelim:null,rightDelim:null}}});H4({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(u,B){var{parser:E,funcName:A}=u;return{type:"horizBrace",mode:E.mode,label:A,isOver:A.includes("\\over"),base:B[0]}},htmlBuilder:Ql0,mathmlBuilder:Z64});H4({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(u,B)=>{var{parser:E}=u,A=B[1],C=d3(B[0],"url").url;if(!E.settings.isTrusted({command:"\\href",url:C}))return E.formatUnsupportedCmd("\\href");return{type:"href",mode:E.mode,href:C,body:q2(A)}},htmlBuilder:(u,B)=>{var E=p2(u.body,B,!1);return W14(u.href,[],E,B)},mathmlBuilder:(u,B)=>{var E=$f(u.body,B);if(!(E instanceof E4))E=new E4("mrow",[E]);return E.setAttribute("href",u.href),E}});H4({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(u,B)=>{var{parser:E}=u,A=d3(B[0],"url").url;if(!E.settings.isTrusted({command:"\\url",url:A}))return E.formatUnsupportedCmd("\\url");var C=[];for(var D=0;D<A.length;D++){var F=A[D];if(F==="~")F="\\textasciitilde";C.push({type:"textord",mode:"text",text:F})}var U={type:"text",mode:E.mode,font:"\\texttt",body:C};return{type:"href",mode:E.mode,href:A,body:q2(U)}}});H4({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(u,B){var{parser:E}=u;return{type:"hbox",mode:E.mode,body:q2(B[0])}},htmlBuilder(u,B){var E=p2(u.body,B.withFont(""),!1);return Tz(E)},mathmlBuilder(u,B){return new E4("mrow",DE(u.body,B.withFont("")))}});H4({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(u,B)=>{var{parser:E,funcName:A,token:C}=u,D=d3(B[0],"raw").string,F=B[1];if(E.settings.strict)E.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var U,z={};switch(A){case"\\htmlClass":z.class=D,U={command:"\\htmlClass",class:D};break;case"\\htmlId":z.id=D,U={command:"\\htmlId",id:D};break;case"\\htmlStyle":z.style=D,U={command:"\\htmlStyle",style:D};break;case"\\htmlData":{var k=D.split(",");for(var f=0;f<k.length;f++){var M=k[f],b=M.indexOf("=");if(b<0)throw new B4("\\htmlData key/value '"+M+"' missing equals sign");var Z=M.slice(0,b),J=M.slice(b+1);z["data-"+Z.trim()]=J}U={command:"\\htmlData",attributes:z};break}default:throw Error("Unrecognized html command")}if(!E.settings.isTrusted(U))return E.formatUnsupportedCmd(A);return{type:"html",mode:E.mode,attributes:z,body:q2(F)}},htmlBuilder:(u,B)=>{var E=p2(u.body,B,!1),A=["enclosing"];if(u.attributes.class)A.push(...u.attributes.class.trim().split(/\s+/));var C=u4(A,E,B);for(var D in u.attributes)if(D!=="class"&&u.attributes.hasOwnProperty(D))C.setAttribute(D,u.attributes[D]);return C},mathmlBuilder:(u,B)=>{return $f(u.body,B)}});H4({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(u,B)=>{var{parser:E}=u;return{type:"htmlmathml",mode:E.mode,html:q2(B[0]),mathml:q2(B[1])}},htmlBuilder:(u,B)=>{var E=p2(u.html,B,!1);return Tz(E)},mathmlBuilder:(u,B)=>{return $f(u.mathml,B)}});H4({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(u,B,E)=>{var{parser:A}=u,C={number:0,unit:"em"},D={number:0.9,unit:"em"},F={number:0,unit:"em"},U="";if(E[0]){var z=d3(E[0],"raw").string,k=z.split(",");for(var f=0;f<k.length;f++){var M=k[f].split("=");if(M.length===2){var b=M[1].trim();switch(M[0].trim()){case"alt":U=b;break;case"width":C=vt(b);break;case"height":D=vt(b);break;case"totalheight":F=vt(b);break;default:throw new B4("Invalid key: '"+M[0]+"' in \\includegraphics.")}}}}var Z=d3(B[0],"url").url;if(U==="")U=Z,U=U.replace(/^.*[\\/]/,""),U=U.substring(0,U.lastIndexOf("."));if(!A.settings.isTrusted({command:"\\includegraphics",url:Z}))return A.formatUnsupportedCmd("\\includegraphics");return{type:"includegraphics",mode:A.mode,alt:U,width:C,height:D,totalheight:F,src:Z}},htmlBuilder:(u,B)=>{var E=q9(u.height,B),A=0;if(u.totalheight.number>0)A=q9(u.totalheight,B)-E;var C=0;if(u.width.number>0)C=q9(u.width,B);var D={height:z4(E+A)};if(C>0)D.width=z4(C);if(A>0)D.verticalAlign=z4(-A);var F=new hq0(u.src,u.alt,D);return F.height=E,F.depth=A,F},mathmlBuilder:(u,B)=>{var E=new E4("mglyph",[]);E.setAttribute("alt",u.alt);var A=q9(u.height,B),C=0;if(u.totalheight.number>0)C=q9(u.totalheight,B)-A,E.setAttribute("valign",z4(-C));if(E.setAttribute("height",z4(A+C)),u.width.number>0){var D=q9(u.width,B);E.setAttribute("width",z4(D))}return E.setAttribute("src",u.src),E}});H4({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(u,B){var{parser:E,funcName:A}=u,C=d3(B[0],"size");if(E.settings.strict){var D=A[1]==="m",F=C.value.unit==="mu";if(D){if(!F)E.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+A+" supports only mu units, "+("not "+C.value.unit+" units"));if(E.mode!=="math")E.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+A+" works only in math mode")}else if(F)E.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+A+" doesn't support mu units")}return{type:"kern",mode:E.mode,dimension:C.value}},htmlBuilder(u,B){return $q0(u.dimension,B)},mathmlBuilder(u,B){var E=q9(u.dimension,B);return new ot(E)}});H4({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(u,B)=>{var{parser:E,funcName:A}=u,C=B[0];return{type:"lap",mode:E.mode,alignment:A.slice(5),body:C}},htmlBuilder:(u,B)=>{var E;if(u.alignment==="clap")E=u4([],[s1(u.body,B)]),E=u4(["inner"],[E],B);else E=u4(["inner"],[s1(u.body,B)]);var A=u4(["fix"],[]),C=u4([u.alignment],[E,A],B),D=u4(["strut"]);if(D.style.height=z4(C.height+C.depth),C.depth)D.style.verticalAlign=z4(-C.depth);return C.children.unshift(D),C=u4(["thinbox"],[C],B),u4(["mord","vbox"],[C],B)},mathmlBuilder:(u,B)=>{var E=new E4("mpadded",[L6(u.body,B)]);if(u.alignment!=="rlap"){var A=u.alignment==="llap"?"-1":"-0.5";E.setAttribute("lspace",A+"width")}return E.setAttribute("width","0px"),E}});H4({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(u,B){var{funcName:E,parser:A}=u,C=A.mode;A.switchMode("math");var D=E==="\\("?"\\)":"$",F=A.parseExpression(!1,D);return A.expect(D),A.switchMode(C),{type:"styling",mode:A.mode,style:"text",resetFont:!0,body:F}}});H4({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(u,B){throw new B4("Mismatched "+u.funcName)}});H4({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(u,B)=>{var{parser:E}=u;return{type:"mathchoice",mode:E.mode,display:q2(B[0]),text:q2(B[1]),script:q2(B[2]),scriptscript:q2(B[3])}},htmlBuilder:(u,B)=>{var E=lq0(u,B),A=p2(E,B,!1);return Tz(A)},mathmlBuilder:(u,B)=>{var E=lq0(u,B);return $f(E,B)}});Hl0=new Set(["\\smallint"]),J64={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","":"\\bigvee","⋂":"\\bigcap","":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};H4({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","","⋂","","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(u,B)=>{var{parser:E,funcName:A}=u,C=A;if(C.length===1)C=J64[C];return{type:"op",mode:E.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:C}},htmlBuilder:EH,mathmlBuilder:Lx});H4({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(u,B)=>{var{parser:E}=u,A=B[0];return{type:"op",mode:E.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:q2(A)}},htmlBuilder:EH,mathmlBuilder:Lx});K64={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};H4({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(u){var{parser:B,funcName:E}=u;return{type:"op",mode:B.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:E}},htmlBuilder:EH,mathmlBuilder:Lx});H4({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(u){var{parser:B,funcName:E}=u;return{type:"op",mode:B.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:E}},htmlBuilder:EH,mathmlBuilder:Lx});H4({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(u){var{parser:B,funcName:E}=u,A=E;if(A.length===1)A=K64[A];return{type:"op",mode:B.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:A}},htmlBuilder:EH,mathmlBuilder:Lx});H4({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(u,B)=>{var{parser:E,funcName:A}=u,C=B[0];return{type:"operatorname",mode:E.mode,body:q2(C),alwaysHandleSupSub:A==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:ql0,mathmlBuilder:w64});R0("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");PJ({type:"ordgroup",htmlBuilder(u,B){if(u.semisimple)return Tz(p2(u.body,B,!1));return u4(["mord"],p2(u.body,B,!0),B)},mathmlBuilder(u,B){return $f(u.body,B,!0)}});H4({type:"overline",names:["\\overline"],props:{numArgs:1},handler(u,B){var{parser:E}=u,A=B[0];return{type:"overline",mode:E.mode,body:A}},htmlBuilder(u,B){var E=s1(u.body,B.havingCrampedStyle()),A=eG("overline-line",B),C=B.fontMetrics().defaultRuleThickness,D=d1({positionType:"firstBaseline",children:[{type:"elem",elem:E},{type:"kern",size:3*C},{type:"elem",elem:A},{type:"kern",size:C}]});return u4(["mord","overline"],[D],B)},mathmlBuilder(u,B){var E=new E4("mo",[new E2("‾")]);E.setAttribute("stretchy","true");var A=new E4("mover",[L6(u.body,B),E]);return A.setAttribute("accent","true"),A}});H4({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(u,B)=>{var{parser:E}=u,A=B[0];return{type:"phantom",mode:E.mode,body:q2(A)}},htmlBuilder:(u,B)=>{var E=p2(u.body,B.withPhantom(),!1);return Tz(E)},mathmlBuilder:(u,B)=>{var E=DE(u.body,B);return new E4("mphantom",E)}});R0("\\hphantom","\\smash{\\phantom{#1}}");H4({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(u,B)=>{var{parser:E}=u,A=B[0];return{type:"vphantom",mode:E.mode,body:A}},htmlBuilder:(u,B)=>{var E=u4(["inner"],[s1(u.body,B.withPhantom())]),A=u4(["fix"],[]);return u4(["mord","rlap"],[E,A],B)},mathmlBuilder:(u,B)=>{var E=DE(q2(u.body),B),A=new E4("mphantom",E),C=new E4("mpadded",[A]);return C.setAttribute("width","0px"),C}});H4({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(u,B){var{parser:E}=u,A=d3(B[0],"size").value,C=B[1];return{type:"raisebox",mode:E.mode,dy:A,body:C}},htmlBuilder(u,B){var E=s1(u.body,B),A=q9(u.dy,B);return d1({positionType:"shift",positionData:-A,children:[{type:"elem",elem:E}]})},mathmlBuilder(u,B){var E=new E4("mpadded",[L6(u.body,B)]),A=u.dy.number+u.dy.unit;return E.setAttribute("voffset",A),E}});H4({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(u){var{parser:B}=u;return{type:"internal",mode:B.mode}}});H4({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(u,B,E){var{parser:A}=u,C=E[0],D=d3(B[0],"size"),F=d3(B[1],"size");return{type:"rule",mode:A.mode,shift:C&&d3(C,"size").value,width:D.value,height:F.value}},htmlBuilder(u,B){var E=u4(["mord","rule"],[],B),A=q9(u.width,B),C=q9(u.height,B),D=u.shift?q9(u.shift,B):0;return E.style.borderRightWidth=z4(A),E.style.borderTopWidth=z4(C),E.style.bottom=z4(D),E.width=A,E.height=C+D,E.depth=-D,E.maxFontSize=C*1.125*B.sizeMultiplier,E},mathmlBuilder(u,B){var E=q9(u.width,B),A=q9(u.height,B),C=u.shift?q9(u.shift,B):0,D=B.color&&B.getColor()||"black",F=new E4("mspace");F.setAttribute("mathbackground",D),F.setAttribute("width",z4(E)),F.setAttribute("height",z4(A));var U=new E4("mpadded",[F]);if(C>=0)U.setAttribute("height",z4(C));else U.setAttribute("height",z4(C)),U.setAttribute("depth",z4(-C));return U.setAttribute("voffset",z4(C)),U}});Lq0=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];H4({type:"sizing",names:Lq0,props:{numArgs:0,allowedInText:!0},handler:(u,B)=>{var{breakOnTokenText:E,funcName:A,parser:C}=u,D=C.parseExpression(!1,E);return{type:"sizing",mode:C.mode,size:Lq0.indexOf(A)+1,body:D}},htmlBuilder:Q64,mathmlBuilder:(u,B)=>{var E=B.havingSize(u.size),A=DE(u.body,E),C=new E4("mstyle",A);return C.setAttribute("mathsize",z4(E.sizeMultiplier)),C}});H4({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(u,B,E)=>{var{parser:A}=u,C=!1,D=!1,F=E[0]&&d3(E[0],"ordgroup");if(F){var U;for(var z=0;z<F.body.length;++z){var k=F.body[z];if(U=aj(k).text,U==="t")C=!0;else if(U==="b")D=!0;else{C=!1,D=!1;break}}}else C=!0,D=!0;var f=B[0];return{type:"smash",mode:A.mode,body:f,smashHeight:C,smashDepth:D}},htmlBuilder:(u,B)=>{var E=u4([],[s1(u.body,B)]);if(!u.smashHeight&&!u.smashDepth)return E;if(u.smashHeight)E.height=0;if(u.smashDepth)E.depth=0;if(u.smashHeight&&u.smashDepth)return u4(["mord","smash"],[E],B);if(E.children)for(var A=0;A<E.children.length;A++){if(u.smashHeight)E.children[A].height=0;if(u.smashDepth)E.children[A].depth=0}var C=d1({positionType:"firstBaseline",children:[{type:"elem",elem:E}]});return u4(["mord"],[C],B)},mathmlBuilder:(u,B)=>{var E=new E4("mpadded",[L6(u.body,B)]);if(u.smashHeight)E.setAttribute("height","0px");if(u.smashDepth)E.setAttribute("depth","0px");return E}});H4({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(u,B,E){var{parser:A}=u,C=E[0],D=B[0];return{type:"sqrt",mode:A.mode,body:D,index:C}},htmlBuilder(u,B){var E=s1(u.body,B.havingCrampedStyle());if(E.height===0)E.height=B.fontMetrics().xHeight;E=uH(E,B);var A=B.fontMetrics(),C=A.defaultRuleThickness,D=C;if(B.style.id<i3.TEXT.id)D=B.fontMetrics().xHeight;var F=C+D/4,U=E.height+E.depth+F+C,{span:z,ruleWidth:k,advanceWidth:f}=A64(U,B),M=z.height-k;if(M>E.height+E.depth+F)F=(F+M-E.height-E.depth)/2;var b=z.height-E.height-F-k;E.style.paddingLeft=z4(f);var Z=d1({positionType:"firstBaseline",children:[{type:"elem",elem:E,wrapperClasses:["svg-align"]},{type:"kern",size:-(E.height+b)},{type:"elem",elem:z},{type:"kern",size:k}]});if(!u.index)return u4(["mord","sqrt"],[Z],B);else{var J=B.havingStyle(i3.SCRIPTSCRIPT),K=s1(u.index,J,B),w=0.6*(Z.height-Z.depth),Q=d1({positionType:"shift",positionData:-w,children:[{type:"elem",elem:K}]}),G=u4(["root"],[Q]);return u4(["mord","sqrt"],[G,Z],B)}},mathmlBuilder(u,B){var{body:E,index:A}=u;return A?new E4("mroot",[L6(E,B),L6(A,B)]):new E4("msqrt",[L6(E,B)])}});rt={display:i3.DISPLAY,text:i3.TEXT,script:i3.SCRIPT,scriptscript:i3.SCRIPTSCRIPT};H4({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(u,B){var{breakOnTokenText:E,funcName:A,parser:C}=u,D=C.parseExpression(!0,E),F=A.slice(1,A.length-5);if(!G64(F))throw Error("Unknown style: "+F);return{type:"styling",mode:C.mode,style:F,body:D}},htmlBuilder(u,B){var E=rt[u.style],A=B.havingStyle(E);if(u.resetFont)A=A.withFont("");return ll0(u.body,A,B)},mathmlBuilder(u,B){var E=rt[u.style],A=B.havingStyle(E);if(u.resetFont)A=A.withFont("");var C=DE(u.body,A),D=new E4("mstyle",C),F={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},U=F[u.style];return D.setAttribute("scriptlevel",U[0]),D.setAttribute("displaystyle",U[1]),D}});PJ({type:"supsub",htmlBuilder(u,B){var E=H64(u,B);if(E)return E(u,B);var{base:A,sup:C,sub:D}=u,F=s1(A,B),U,z,k=B.fontMetrics(),f=0,M=0,b=A&&Yz(A);if(C){var Z=B.havingStyle(B.style.sup());if(U=s1(C,Z,B),!b)f=F.height-Z.fontMetrics().supDrop*Z.sizeMultiplier/B.sizeMultiplier}if(D){var J=B.havingStyle(B.style.sub());if(z=s1(D,J,B),!b)M=F.depth+J.fontMetrics().subDrop*J.sizeMultiplier/B.sizeMultiplier}var K;if(B.style===i3.DISPLAY)K=k.sup1;else if(B.style.cramped)K=k.sup3;else K=k.sup2;var w=B.sizeMultiplier,Q=z4(0.5/k.ptPerEm/w),G=null;if(z){var H=u.base&&u.base.type==="op"&&u.base.name&&(u.base.name==="\\oiint"||u.base.name==="\\oiiint");if(F instanceof F8||H){var l;G=z4(-((l=F.italic)!=null?l:0))}}var q;if(U&&z){f=Math.max(f,K,U.depth+0.25*k.xHeight),M=Math.max(M,k.sub2);var L=k.defaultRuleThickness,v=4*L;if(f-U.depth-(z.height-M)<v){M=v-(f-U.depth)+z.height;var x=0.8*k.xHeight-(f-U.depth);if(x>0)f+=x,M-=x}var S=[{type:"elem",elem:z,shift:M,marginRight:Q,marginLeft:G},{type:"elem",elem:U,shift:-f,marginRight:Q}];q=d1({positionType:"individualShift",children:S})}else if(z){M=Math.max(M,k.sub1,z.height-0.8*k.xHeight);var W=[{type:"elem",elem:z,marginLeft:G,marginRight:Q}];q=d1({positionType:"shift",positionData:M,children:W})}else if(U)f=Math.max(f,K,U.depth+0.25*k.xHeight),q=d1({positionType:"shift",positionData:-f,children:[{type:"elem",elem:U,marginRight:Q}]});else throw Error("supsub must have either sup or sub.");var T=it(F,"right")||"mord";return u4([T],[F,u4(["msupsub"],[q])],B)},mathmlBuilder(u,B){var E=!1,A,C;if(u.base&&u.base.type==="horizBrace"){if(C=!!u.sup,C===u.base.isOver)E=!0,A=u.base.isOver}if(u.base&&(u.base.type==="op"||u.base.type==="operatorname"))u.base.parentIsSupSub=!0;var D=[L6(u.base,B)];if(u.sub)D.push(L6(u.sub,B));if(u.sup)D.push(L6(u.sup,B));var F;if(E)F=A?"mover":"munder";else if(!u.sub){var U=u.base;if(U&&U.type==="op"&&U.limits&&(B.style===i3.DISPLAY||U.alwaysHandleSupSub))F="mover";else if(U&&U.type==="operatorname"&&U.alwaysHandleSupSub&&(U.limits||B.style===i3.DISPLAY))F="mover";else F="msup"}else if(!u.sup){var z=u.base;if(z&&z.type==="op"&&z.limits&&(B.style===i3.DISPLAY||z.alwaysHandleSupSub))F="munder";else if(z&&z.type==="operatorname"&&z.alwaysHandleSupSub&&(z.limits||B.style===i3.DISPLAY))F="munder";else F="msub"}else{var k=u.base;if(k&&k.type==="op"&&k.limits&&B.style===i3.DISPLAY)F="munderover";else if(k&&k.type==="operatorname"&&k.alwaysHandleSupSub&&(B.style===i3.DISPLAY||k.limits))F="munderover";else F="msubsup"}return new E4(F,D)}});PJ({type:"atom",htmlBuilder(u,B){return dt(u.text,u.mode,B,["m"+u.family])},mathmlBuilder(u,B){var E=new E4("mo",[eE(u.text,u.mode)]);if(u.family==="bin"){var A=et(u,B);if(A==="bold-italic")E.setAttribute("mathvariant",A)}else if(u.family==="punct")E.setAttribute("separator","true");else if(u.family==="open"||u.family==="close")E.setAttribute("stretchy","false");return E}});Ll0={mi:"italic",mn:"normal",mtext:"normal"};PJ({type:"mathord",htmlBuilder(u,B){return Vj(u,B,"mathord")},mathmlBuilder(u,B){var E=new E4("mi",[eE(u.text,u.mode,B)]),A=et(u,B)||"italic";if(A!==Ll0[E.type])E.setAttribute("mathvariant",A);return E}});PJ({type:"textord",htmlBuilder(u,B){return Vj(u,B,"textord")},mathmlBuilder(u,B){var E=eE(u.text,u.mode,B),A=et(u,B)||"normal",C;if(u.mode==="text")C=new E4("mtext",[E]);else if(/[0-9]/.test(u.text))C=new E4("mn",[E]);else if(u.text==="\\prime")C=new E4("mo",[E]);else C=new E4("mi",[E]);if(A!==Ll0[C.type])C.setAttribute("mathvariant",A);return C}});xt={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Wt={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};PJ({type:"spacing",htmlBuilder(u,B){if(Wt.hasOwnProperty(u.text)){var E=Wt[u.text].className||"";if(u.mode==="text"){var A=Vj(u,B,"textord");return A.classes.push(E),A}else return u4(["mspace",E],[dt(u.text,u.mode,B)],B)}else if(xt.hasOwnProperty(u.text))return u4(["mspace",xt[u.text]],[],B);else throw new B4('Unknown type of space "'+u.text+'"')},mathmlBuilder(u,B){var E;if(Wt.hasOwnProperty(u.text))E=new E4("mtext",[new E2(" ")]);else if(xt.hasOwnProperty(u.text))return new E4("mspace");else throw new B4('Unknown type of space "'+u.text+'"');return E}});PJ({type:"tag",mathmlBuilder(u,B){var E=new E4("mtable",[new E4("mtr",[Xq0(),new E4("mtd",[$f(u.body,B)]),Xq0(),new E4("mtd",[$f(u.tag,B)])])]);return E.setAttribute("width","100%"),E}});vq0={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},xq0={"\\textbf":"textbf","\\textmd":"textmd"},q64={"\\textit":"textit","\\textup":"textup"};H4({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(u,B){var{parser:E,funcName:A}=u,C=B[0];return{type:"text",mode:E.mode,body:q2(C),font:A}},htmlBuilder(u,B){var E=Wq0(u,B),A=p2(u.body,E,!0);return u4(["mord","text"],A,E)},mathmlBuilder(u,B){var E=Wq0(u,B);return $f(u.body,E)}});H4({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(u,B){var{parser:E}=u;return{type:"underline",mode:E.mode,body:B[0]}},htmlBuilder(u,B){var E=s1(u.body,B),A=eG("underline-line",B),C=B.fontMetrics().defaultRuleThickness,D=d1({positionType:"top",positionData:E.height,children:[{type:"kern",size:C},{type:"elem",elem:A},{type:"kern",size:3*C},{type:"elem",elem:E}]});return u4(["mord","underline"],[D],B)},mathmlBuilder(u,B){var E=new E4("mo",[new E2("‾")]);E.setAttribute("stretchy","true");var A=new E4("munder",[L6(u.body,B),E]);return A.setAttribute("accentunder","true"),A}});H4({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(u,B){var{parser:E}=u;return{type:"vcenter",mode:E.mode,body:B[0]}},htmlBuilder(u,B){var E=s1(u.body,B),A=B.fontMetrics().axisHeight,C=0.5*(E.height-A-(E.depth+A));return d1({positionType:"shift",positionData:C,children:[{type:"elem",elem:E}]})},mathmlBuilder(u,B){var E=new E4("mpadded",[L6(u.body,B)],["vcenter"]);return new E4("mrow",[E])}});H4({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(u,B,E){throw new B4("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(u,B){var E=Sq0(u),A=[],C=B.havingStyle(B.style.text());for(var D=0;D<E.length;D++){var F=E[D];if(F==="~")F="\\textasciitilde";A.push(ZB(F,"Typewriter-Regular",u.mode,C,["mord","texttt"]))}return u4(["mord","text"].concat(C.sizingClasses(B)),mq0(A),C)},mathmlBuilder(u,B){var E=new E2(Sq0(u)),A=new E4("mtext",[E]);return A.setAttribute("mathvariant","monospace"),A}});hf=gq0,X64="("+l64+")"+Xl0+"*",x64=new RegExp(gt+"+$"),W64="("+Xl0+"+)|"+(v64+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(gt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(gt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+X64)+("|"+L64+")");S64=bl0;R0("\\noexpand",function(u){var B=u.popToken();if(u.isExpandable(B.text))B.noexpand=!0,B.treatAsRelax=!0;return{tokens:[B],numArgs:0}});R0("\\expandafter",function(u){var B=u.popToken();return u.expandOnce(!0),{tokens:[B],numArgs:0}});R0("\\@firstoftwo",function(u){var B=u.consumeArgs(2);return{tokens:B[0],numArgs:0}});R0("\\@secondoftwo",function(u){var B=u.consumeArgs(2);return{tokens:B[1],numArgs:0}});R0("\\@ifnextchar",function(u){var B=u.consumeArgs(3);u.consumeSpaces();var E=u.future();if(B[0].length===1&&B[0][0].text===E.text)return{tokens:B[1],numArgs:0};else return{tokens:B[2],numArgs:0}});R0("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");R0("\\TextOrMath",function(u){var B=u.consumeArgs(2);if(u.mode==="text")return{tokens:B[0],numArgs:0};else return{tokens:B[1],numArgs:0}});Yq0={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};R0("\\char",function(u){var B=u.popToken(),E,A=0;if(B.text==="'")E=8,B=u.popToken();else if(B.text==='"')E=16,B=u.popToken();else if(B.text==="`")if(B=u.popToken(),B.text[0]==="\\")A=B.text.charCodeAt(1);else if(B.text==="EOF")throw new B4("\\char` missing argument");else A=B.text.charCodeAt(0);else E=10;if(E){if(A=Yq0[B.text],A==null||A>=E)throw new B4("Invalid base-"+E+" digit "+B.text);var C;while((C=Yq0[u.future().text])!=null&&C<E)A*=E,A+=C,u.popToken()}return"\\@char{"+A+"}"});R0("\\newcommand",(u)=>Ce(u,!1,!0,!1));R0("\\renewcommand",(u)=>Ce(u,!0,!1,!1));R0("\\providecommand",(u)=>Ce(u,!0,!0,!0));R0("\\message",(u)=>{var B=u.consumeArgs(1)[0];return console.log(B.reverse().map((E)=>E.text).join("")),""});R0("\\errmessage",(u)=>{var B=u.consumeArgs(1)[0];return console.error(B.reverse().map((E)=>E.text).join("")),""});R0("\\show",(u)=>{var B=u.popToken(),E=B.text;return console.log(B,u.macros.get(E),hf[E],E9.math[E],E9.text[E]),""});R0("\\bgroup","{");R0("\\egroup","}");R0("~","\\nobreakspace");R0("\\lq","`");R0("\\rq","'");R0("\\aa","\\r a");R0("\\AA","\\r A");R0("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");R0("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");R0("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");R0("","\\mathscr{B}");R0("","\\mathscr{E}");R0("","\\mathscr{F}");R0("","\\mathscr{H}");R0("","\\mathscr{I}");R0("","\\mathscr{L}");R0("","\\mathscr{M}");R0("","\\mathscr{R}");R0("","\\mathfrak{C}");R0("","\\mathfrak{H}");R0("","\\mathfrak{Z}");R0("\\Bbbk","\\Bbb{k}");R0("\\llap","\\mathllap{\\textrm{#1}}");R0("\\rlap","\\mathrlap{\\textrm{#1}}");R0("\\clap","\\mathclap{\\textrm{#1}}");R0("\\mathstrut","\\vphantom{(}");R0("\\underbar","\\underline{\\text{#1}}");R0("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');R0("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");R0("\\ne","\\neq");R0("≠","\\neq");R0("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}"+"{\\mathrel{\\char`∉}}");R0("∉","\\notin");R0("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}"+"}{\\mathrel{\\char`≘}}");R0("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");R0("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");R0("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}"+"{\\mathrel{\\char`≛}}");R0("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}"+"{\\mathrel{\\char`≝}}");R0("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}"+"{\\mathrel{\\char`≞}}");R0("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");R0("⟂","\\perp");R0("‼","\\mathclose{!\\mkern-0.8mu!}");R0("∌","\\notni");R0("⌜","\\ulcorner");R0("⌝","\\urcorner");R0("⌞","\\llcorner");R0("⌟","\\lrcorner");R0("©","\\copyright");R0("®","\\textregistered");R0("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');R0("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');R0("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');R0("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');R0("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");R0("⋮","\\vdots");R0("\\varGamma","\\mathit{\\Gamma}");R0("\\varDelta","\\mathit{\\Delta}");R0("\\varTheta","\\mathit{\\Theta}");R0("\\varLambda","\\mathit{\\Lambda}");R0("\\varXi","\\mathit{\\Xi}");R0("\\varPi","\\mathit{\\Pi}");R0("\\varSigma","\\mathit{\\Sigma}");R0("\\varUpsilon","\\mathit{\\Upsilon}");R0("\\varPhi","\\mathit{\\Phi}");R0("\\varPsi","\\mathit{\\Psi}");R0("\\varOmega","\\mathit{\\Omega}");R0("\\substack","\\begin{subarray}{c}#1\\end{subarray}");R0("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");R0("\\boxed","\\fbox{$\\displaystyle{#1}$}");R0("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");R0("\\implies","\\DOTSB\\;\\Longrightarrow\\;");R0("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");R0("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");R0("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");Rq0={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},Y64=new Set(["bin","rel"]);R0("\\dots",function(u){var B="\\dotso",E=u.expandAfterFuture().text;if(E in Rq0)B=Rq0[E];else if(E.slice(0,4)==="\\not")B="\\dotsb";else if(E in E9.math){if(Y64.has(E9.math[E].group))B="\\dotsb"}return B});De={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};R0("\\dotso",function(u){var B=u.future().text;if(B in De)return"\\ldots\\,";else return"\\ldots"});R0("\\dotsc",function(u){var B=u.future().text;if(B in De&&B!==",")return"\\ldots\\,";else return"\\ldots"});R0("\\cdots",function(u){var B=u.future().text;if(B in De)return"\\@cdots\\,";else return"\\@cdots"});R0("\\dotsb","\\cdots");R0("\\dotsm","\\cdots");R0("\\dotsi","\\!\\cdots");R0("\\dotsx","\\ldots\\,");R0("\\DOTSI","\\relax");R0("\\DOTSB","\\relax");R0("\\DOTSX","\\relax");R0("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");R0("\\,","\\tmspace+{3mu}{.1667em}");R0("\\thinspace","\\,");R0("\\>","\\mskip{4mu}");R0("\\:","\\tmspace+{4mu}{.2222em}");R0("\\medspace","\\:");R0("\\;","\\tmspace+{5mu}{.2777em}");R0("\\thickspace","\\;");R0("\\!","\\tmspace-{3mu}{.1667em}");R0("\\negthinspace","\\!");R0("\\negmedspace","\\tmspace-{4mu}{.2222em}");R0("\\negthickspace","\\tmspace-{5mu}{.277em}");R0("\\enspace","\\kern.5em ");R0("\\enskip","\\hskip.5em\\relax");R0("\\quad","\\hskip1em\\relax");R0("\\qquad","\\hskip2em\\relax");R0("\\tag","\\@ifstar\\tag@literal\\tag@paren");R0("\\tag@paren","\\tag@literal{({#1})}");R0("\\tag@literal",(u)=>{if(u.macros.get("\\df@tag"))throw new B4("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});R0("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");R0("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");R0("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");R0("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");R0("\\newline","\\\\\\relax");R0("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");xl0=z4(fF["Main-Regular"][84][1]-0.7*fF["Main-Regular"][65][1]);R0("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+xl0+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");R0("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+xl0+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");R0("\\hspace","\\@ifstar\\@hspacer\\@hspace");R0("\\@hspace","\\hskip #1\\relax");R0("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");R0("\\ordinarycolon",":");R0("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");R0("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');R0("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');R0("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');R0("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');R0("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');R0("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');R0("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');R0("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');R0("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');R0("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');R0("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');R0("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');R0("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');R0("∷","\\dblcolon");R0("∹","\\eqcolon");R0("≔","\\coloneqq");R0("≕","\\eqqcolon");R0("⩴","\\Coloneqq");R0("\\ratio","\\vcentcolon");R0("\\coloncolon","\\dblcolon");R0("\\colonequals","\\coloneqq");R0("\\coloncolonequals","\\Coloneqq");R0("\\equalscolon","\\eqqcolon");R0("\\equalscoloncolon","\\Eqqcolon");R0("\\colonminus","\\coloneq");R0("\\coloncolonminus","\\Coloneq");R0("\\minuscolon","\\eqcolon");R0("\\minuscoloncolon","\\Eqcolon");R0("\\coloncolonapprox","\\Colonapprox");R0("\\coloncolonsim","\\Colonsim");R0("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");R0("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");R0("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");R0("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");R0("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");R0("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");R0("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");R0("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");R0("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");R0("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");R0("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");R0("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");R0("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");R0("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");R0("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");R0("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");R0("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");R0("\\nleqq","\\html@mathml{\\@nleqq}{≰}");R0("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");R0("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");R0("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");R0("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");R0("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");R0("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");R0("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");R0("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");R0("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");R0("\\imath","\\html@mathml{\\@imath}{ı}");R0("\\jmath","\\html@mathml{\\@jmath}{ȷ}");R0("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}"+"{\\mathopen{\\char`⟦}}");R0("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}"+"{\\mathclose{\\char`⟧}}");R0("⟦","\\llbracket");R0("⟧","\\rrbracket");R0("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}"+"{\\mathopen{\\char`⦃}}");R0("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}"+"{\\mathclose{\\char`⦄}}");R0("⦃","\\lBrace");R0("⦄","\\rBrace");R0("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}"+"{\\char`⦵}}");R0("⦵","\\minuso");R0("\\darr","\\downarrow");R0("\\dArr","\\Downarrow");R0("\\Darr","\\Downarrow");R0("\\lang","\\langle");R0("\\rang","\\rangle");R0("\\uarr","\\uparrow");R0("\\uArr","\\Uparrow");R0("\\Uarr","\\Uparrow");R0("\\N","\\mathbb{N}");R0("\\R","\\mathbb{R}");R0("\\Z","\\mathbb{Z}");R0("\\alef","\\aleph");R0("\\alefsym","\\aleph");R0("\\Alpha","\\mathrm{A}");R0("\\Beta","\\mathrm{B}");R0("\\bull","\\bullet");R0("\\Chi","\\mathrm{X}");R0("\\clubs","\\clubsuit");R0("\\cnums","\\mathbb{C}");R0("\\Complex","\\mathbb{C}");R0("\\Dagger","\\ddagger");R0("\\diamonds","\\diamondsuit");R0("\\empty","\\emptyset");R0("\\Epsilon","\\mathrm{E}");R0("\\Eta","\\mathrm{H}");R0("\\exist","\\exists");R0("\\harr","\\leftrightarrow");R0("\\hArr","\\Leftrightarrow");R0("\\Harr","\\Leftrightarrow");R0("\\hearts","\\heartsuit");R0("\\image","\\Im");R0("\\infin","\\infty");R0("\\Iota","\\mathrm{I}");R0("\\isin","\\in");R0("\\Kappa","\\mathrm{K}");R0("\\larr","\\leftarrow");R0("\\lArr","\\Leftarrow");R0("\\Larr","\\Leftarrow");R0("\\lrarr","\\leftrightarrow");R0("\\lrArr","\\Leftrightarrow");R0("\\Lrarr","\\Leftrightarrow");R0("\\Mu","\\mathrm{M}");R0("\\natnums","\\mathbb{N}");R0("\\Nu","\\mathrm{N}");R0("\\Omicron","\\mathrm{O}");R0("\\plusmn","\\pm");R0("\\rarr","\\rightarrow");R0("\\rArr","\\Rightarrow");R0("\\Rarr","\\Rightarrow");R0("\\real","\\Re");R0("\\reals","\\mathbb{R}");R0("\\Reals","\\mathbb{R}");R0("\\Rho","\\mathrm{P}");R0("\\sdot","\\cdot");R0("\\sect","\\S");R0("\\spades","\\spadesuit");R0("\\sub","\\subset");R0("\\sube","\\subseteq");R0("\\supe","\\supseteq");R0("\\Tau","\\mathrm{T}");R0("\\thetasym","\\vartheta");R0("\\weierp","\\wp");R0("\\Zeta","\\mathrm{Z}");R0("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");R0("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");R0("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");R0("\\bra","\\mathinner{\\langle{#1}|}");R0("\\ket","\\mathinner{|{#1}\\rangle}");R0("\\braket","\\mathinner{\\langle{#1}\\rangle}");R0("\\Bra","\\left\\langle#1\\right|");R0("\\Ket","\\left|#1\\right\\rangle");R0("\\bra@ket",Wl0(!1));R0("\\bra@set",Wl0(!0));R0("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");R0("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");R0("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");R0("\\angln","{\\angl n}");R0("\\blue","\\textcolor{##6495ed}{#1}");R0("\\orange","\\textcolor{##ffa500}{#1}");R0("\\pink","\\textcolor{##ff00af}{#1}");R0("\\red","\\textcolor{##df0030}{#1}");R0("\\green","\\textcolor{##28ae7b}{#1}");R0("\\gray","\\textcolor{gray}{#1}");R0("\\purple","\\textcolor{##9d38bd}{#1}");R0("\\blueA","\\textcolor{##ccfaff}{#1}");R0("\\blueB","\\textcolor{##80f6ff}{#1}");R0("\\blueC","\\textcolor{##63d9ea}{#1}");R0("\\blueD","\\textcolor{##11accd}{#1}");R0("\\blueE","\\textcolor{##0c7f99}{#1}");R0("\\tealA","\\textcolor{##94fff5}{#1}");R0("\\tealB","\\textcolor{##26edd5}{#1}");R0("\\tealC","\\textcolor{##01d1c1}{#1}");R0("\\tealD","\\textcolor{##01a995}{#1}");R0("\\tealE","\\textcolor{##208170}{#1}");R0("\\greenA","\\textcolor{##b6ffb0}{#1}");R0("\\greenB","\\textcolor{##8af281}{#1}");R0("\\greenC","\\textcolor{##74cf70}{#1}");R0("\\greenD","\\textcolor{##1fab54}{#1}");R0("\\greenE","\\textcolor{##0d923f}{#1}");R0("\\goldA","\\textcolor{##ffd0a9}{#1}");R0("\\goldB","\\textcolor{##ffbb71}{#1}");R0("\\goldC","\\textcolor{##ff9c39}{#1}");R0("\\goldD","\\textcolor{##e07d10}{#1}");R0("\\goldE","\\textcolor{##a75a05}{#1}");R0("\\redA","\\textcolor{##fca9a9}{#1}");R0("\\redB","\\textcolor{##ff8482}{#1}");R0("\\redC","\\textcolor{##f9685d}{#1}");R0("\\redD","\\textcolor{##e84d39}{#1}");R0("\\redE","\\textcolor{##bc2612}{#1}");R0("\\maroonA","\\textcolor{##ffbde0}{#1}");R0("\\maroonB","\\textcolor{##ff92c6}{#1}");R0("\\maroonC","\\textcolor{##ed5fa6}{#1}");R0("\\maroonD","\\textcolor{##ca337c}{#1}");R0("\\maroonE","\\textcolor{##9e034e}{#1}");R0("\\purpleA","\\textcolor{##ddd7ff}{#1}");R0("\\purpleB","\\textcolor{##c6b9fc}{#1}");R0("\\purpleC","\\textcolor{##aa87ff}{#1}");R0("\\purpleD","\\textcolor{##7854ab}{#1}");R0("\\purpleE","\\textcolor{##543b78}{#1}");R0("\\mintA","\\textcolor{##f5f9e8}{#1}");R0("\\mintB","\\textcolor{##edf2df}{#1}");R0("\\mintC","\\textcolor{##e0e5cc}{#1}");R0("\\grayA","\\textcolor{##f6f7f7}{#1}");R0("\\grayB","\\textcolor{##f0f1f2}{#1}");R0("\\grayC","\\textcolor{##e3e5e6}{#1}");R0("\\grayD","\\textcolor{##d6d8da}{#1}");R0("\\grayE","\\textcolor{##babec2}{#1}");R0("\\grayF","\\textcolor{##888d93}{#1}");R0("\\grayG","\\textcolor{##626569}{#1}");R0("\\grayH","\\textcolor{##3b3e40}{#1}");R0("\\grayI","\\textcolor{##21242c}{#1}");R0("\\kaBlue","\\textcolor{##314453}{#1}");R0("\\kaGreen","\\textcolor{##71B307}{#1}");Sl0={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};Tq0=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Lj=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g","ʰ":"h","ⁱ":"i","ʲ":"j","ᵏ":"k","ˡ":"l","ᵐ":"m","ⁿ":"n","ᵒ":"o","ᵖ":"p","ʳ":"r","ˢ":"s","ᵗ":"t","ᵘ":"u","ᵛ":"v","ʷ":"w","ˣ":"x","ʸ":"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),St={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:"\\\"",math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Oq0={"á":"á","à":"à","ä":"ä","ǟ":"ǟ","ã":"ã","ā":"ā","ă":"ă","ắ":"ắ","ằ":"ằ","ẵ":"ẵ","ǎ":"ǎ","â":"â","ấ":"ấ","ầ":"ầ","ẫ":"ẫ","ȧ":"ȧ","ǡ":"ǡ","å":"å","ǻ":"ǻ","ḃ":"ḃ","ć":"ć","ḉ":"ḉ","č":"č","ĉ":"ĉ","ċ":"ċ","ç":"ç","ď":"ď","ḋ":"ḋ","ḑ":"ḑ","é":"é","è":"è","ë":"ë","ẽ":"ẽ","ē":"ē","ḗ":"ḗ","ḕ":"ḕ","ĕ":"ĕ","ḝ":"ḝ","ě":"ě","ê":"ê","ế":"ế","ề":"ề","ễ":"ễ","ė":"ė","ȩ":"ȩ","ḟ":"ḟ","ǵ":"ǵ","ḡ":"ḡ","ğ":"ğ","ǧ":"ǧ","ĝ":"ĝ","ġ":"ġ","ģ":"ģ","ḧ":"ḧ","ȟ":"ȟ","ĥ":"ĥ","ḣ":"ḣ","ḩ":"ḩ","í":"í","ì":"ì","ï":"ï","ḯ":"ḯ","ĩ":"ĩ","ī":"ī","ĭ":"ĭ","ǐ":"ǐ","î":"î","ǰ":"ǰ","ĵ":"ĵ","ḱ":"ḱ","ǩ":"ǩ","ķ":"ķ","ĺ":"ĺ","ľ":"ľ","ļ":"ļ","ḿ":"ḿ","ṁ":"ṁ","ń":"ń","ǹ":"ǹ","ñ":"ñ","ň":"ň","ṅ":"ṅ","ņ":"ņ","ó":"ó","ò":"ò","ö":"ö","ȫ":"ȫ","õ":"õ","ṍ":"ṍ","ṏ":"ṏ","ȭ":"ȭ","ō":"ō","ṓ":"ṓ","ṑ":"ṑ","ŏ":"ŏ","ǒ":"ǒ","ô":"ô","ố":"ố","ồ":"ồ","ỗ":"ỗ","ȯ":"ȯ","ȱ":"ȱ","ő":"ő","ṕ":"ṕ","ṗ":"ṗ","ŕ":"ŕ","ř":"ř","ṙ":"ṙ","ŗ":"ŗ","ś":"ś","ṥ":"ṥ","š":"š","ṧ":"ṧ","ŝ":"ŝ","ṡ":"ṡ","ş":"ş","ẗ":"ẗ","ť":"ť","ṫ":"ṫ","ţ":"ţ","ú":"ú","ù":"ù","ü":"ü","ǘ":"ǘ","ǜ":"ǜ","ǖ":"ǖ","ǚ":"ǚ","ũ":"ũ","ṹ":"ṹ","ū":"ū","ṻ":"ṻ","ŭ":"ŭ","ǔ":"ǔ","û":"û","ů":"ů","ű":"ű","ṽ":"ṽ","ẃ":"ẃ","ẁ":"ẁ","ẅ":"ẅ","ŵ":"ŵ","ẇ":"ẇ","ẘ":"ẘ","ẍ":"ẍ","ẋ":"ẋ","ý":"ý","ỳ":"ỳ","ÿ":"ÿ","ỹ":"ỹ","ȳ":"ȳ","ŷ":"ŷ","ẏ":"ẏ","ẙ":"ẙ","ź":"ź","ž":"ž","ẑ":"ẑ","ż":"ż","Á":"Á","À":"À","Ä":"Ä","Ǟ":"Ǟ","Ã":"Ã","Ā":"Ā","Ă":"Ă","Ắ":"Ắ","Ằ":"Ằ","Ẵ":"Ẵ","Ǎ":"Ǎ","Â":"Â","Ấ":"Ấ","Ầ":"Ầ","Ẫ":"Ẫ","Ȧ":"Ȧ","Ǡ":"Ǡ","Å":"Å","Ǻ":"Ǻ","Ḃ":"Ḃ","Ć":"Ć","Ḉ":"Ḉ","Č":"Č","Ĉ":"Ĉ","Ċ":"Ċ","Ç":"Ç","Ď":"Ď","Ḋ":"Ḋ","Ḑ":"Ḑ","É":"É","È":"È","Ë":"Ë","Ẽ":"Ẽ","Ē":"Ē","Ḗ":"Ḗ","Ḕ":"Ḕ","Ĕ":"Ĕ","Ḝ":"Ḝ","Ě":"Ě","Ê":"Ê","Ế":"Ế","Ề":"Ề","Ễ":"Ễ","Ė":"Ė","Ȩ":"Ȩ","Ḟ":"Ḟ","Ǵ":"Ǵ","Ḡ":"Ḡ","Ğ":"Ğ","Ǧ":"Ǧ","Ĝ":"Ĝ","Ġ":"Ġ","Ģ":"Ģ","Ḧ":"Ḧ","Ȟ":"Ȟ","Ĥ":"Ĥ","Ḣ":"Ḣ","Ḩ":"Ḩ","Í":"Í","Ì":"Ì","Ï":"Ï","Ḯ":"Ḯ","Ĩ":"Ĩ","Ī":"Ī","Ĭ":"Ĭ","Ǐ":"Ǐ","Î":"Î","İ":"İ","Ĵ":"Ĵ","Ḱ":"Ḱ","Ǩ":"Ǩ","Ķ":"Ķ","Ĺ":"Ĺ","Ľ":"Ľ","Ļ":"Ļ","Ḿ":"Ḿ","Ṁ":"Ṁ","Ń":"Ń","Ǹ":"Ǹ","Ñ":"Ñ","Ň":"Ň","Ṅ":"Ṅ","Ņ":"Ņ","Ó":"Ó","Ò":"Ò","Ö":"Ö","Ȫ":"Ȫ","Õ":"Õ","Ṍ":"Ṍ","Ṏ":"Ṏ","Ȭ":"Ȭ","Ō":"Ō","Ṓ":"Ṓ","Ṑ":"Ṑ","Ŏ":"Ŏ","Ǒ":"Ǒ","Ô":"Ô","Ố":"Ố","Ồ":"Ồ","Ỗ":"Ỗ","Ȯ":"Ȯ","Ȱ":"Ȱ","Ő":"Ő","Ṕ":"Ṕ","Ṗ":"Ṗ","Ŕ":"Ŕ","Ř":"Ř","Ṙ":"Ṙ","Ŗ":"Ŗ","Ś":"Ś","Ṥ":"Ṥ","Š":"Š","Ṧ":"Ṧ","Ŝ":"Ŝ","Ṡ":"Ṡ","Ş":"Ş","Ť":"Ť","Ṫ":"Ṫ","Ţ":"Ţ","Ú":"Ú","Ù":"Ù","Ü":"Ü","Ǘ":"Ǘ","Ǜ":"Ǜ","Ǖ":"Ǖ","Ǚ":"Ǚ","Ũ":"Ũ","Ṹ":"Ṹ","Ū":"Ū","Ṻ":"Ṻ","Ŭ":"Ŭ","Ǔ":"Ǔ","Û":"Û","Ů":"Ů","Ű":"Ű","Ṽ":"Ṽ","Ẃ":"Ẃ","Ẁ":"Ẁ","Ẅ":"Ẅ","Ŵ":"Ŵ","Ẇ":"Ẇ","Ẍ":"Ẍ","Ẋ":"Ẋ","Ý":"Ý","Ỳ":"Ỳ","Ÿ":"Ÿ","Ỹ":"Ỹ","Ȳ":"Ȳ","Ŷ":"Ŷ","Ẏ":"Ẏ","Ź":"Ź","Ž":"Ž","Ẑ":"Ẑ","Ż":"Ż","ά":"ά","ὰ":"ὰ","ᾱ":"ᾱ","ᾰ":"ᾰ","έ":"έ","ὲ":"ὲ","ή":"ή","ὴ":"ὴ","ί":"ί","ὶ":"ὶ","ϊ":"ϊ","ΐ":"ΐ","ῒ":"ῒ","ῑ":"ῑ","ῐ":"ῐ","ό":"ό","ὸ":"ὸ","ύ":"ύ","ὺ":"ὺ","ϋ":"ϋ","ΰ":"ΰ","ῢ":"ῢ","ῡ":"ῡ","ῠ":"ῠ","ώ":"ώ","ὼ":"ὼ","Ύ":"Ύ","Ὺ":"Ὺ","Ϋ":"Ϋ","Ῡ":"Ῡ","Ῠ":"Ῠ","Ώ":"Ώ","Ὼ":"Ὼ"};_j.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);if(typeof document<"u"){if(document.compatMode!=="CSS1Compat")typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Ue=function(){throw new B4("KaTeX doesn't work in quirks mode.")}}jl0={Span:IJ,Anchor:qx,SymbolNode:F8,SvgNode:MF,PathNode:Sz,LineNode:Rj},R64={version:Pl0,render:Ue,renderToString:Rl0,ParseError:B4,SETTINGS_SCHEMA:Sj,__parse:Tl0,__renderToDomTree:pj,__renderToHTMLTree:Il0,__setFontMetrics:iq0,__defineSymbol:s,__defineFunction:H4,__defineMacro:R0,__domTree:jl0}});function ol0(){C8.addHook("beforeSanitizeAttributes",(B)=>{if(B.tagName==="A"&&B.hasAttribute("target"))B.setAttribute("data-temp-href-target",B.getAttribute("target")??"")}),C8.addHook("afterSanitizeAttributes",(B)=>{if(B.tagName==="A"&&B.hasAttribute("data-temp-href-target")){if(B.setAttribute("target",B.getAttribute("data-temp-href-target")??""),B.removeAttribute("data-temp-href-target"),B.getAttribute("target")==="_blank")B.setAttribute("rel","noopener")}})}function uN(u){return[...u.cssRules].map((B)=>B.cssText).join(`
`)}var ze,C9,wF="#ffffff",QF="#f2f2f2",H3,T64,O64,I64,P64,j64,O7,N64,V64,h64,i64,a64,m64,$64,y64,r64,g64,c64,_64,p64,n64,d64,s64,KF,t5,$l0,yl0,o64,t4,t64,e64,vx,fe,NJ,uA,U8,sj,jJ,Xx,xx,rl0,gl0,cl0,Me,be,F4,_l0,pl0,Wx,u94,hl0,nl0,B94,tj,G1,Ze,AH,E94,Je,rf,Sx,ej,dl0,sl0,VJ,A94,C94,tl0,il0,C3,D94,F94,U94,z94,el0,hJ,k94,f94,GF,ke,M94,b94,al0,nj,D9,CH,Z94,DH,ru,J94,K94,g3,HF,dj,w94,Q94,uL0,BN,Ke="",we="",Qe="",Ge,D3,w3,q3,l3,L3,T3,X3,ml0,G94,y0,Yx,EN,AN,Rx,H94,oj,Tx,CN,q94;var s4=g(()=>{o4();Y4();G2();G2();G2();G2();G2();G2();G2();G2();G2();G2();G2();G2();pG();ze=X((u,B,{depth:E=2}={})=>{let A={depth:E};if(Array.isArray(B)&&!Array.isArray(u))return B.forEach((C)=>ze(u,C,A)),u;else if(Array.isArray(B)&&Array.isArray(u))return B.forEach((C)=>{if(!u.includes(C))u.push(C)}),u;if(u===void 0||u===null||E<=0)if(u!==void 0&&u!==null&&typeof u==="object"&&typeof B==="object")return Object.assign(u,B);else return B;if(B!==void 0&&B!==null&&typeof u==="object"&&typeof B==="object"){let C=u;Object.entries(B).forEach(([D,F])=>{if(typeof F==="object"){if(F===null)return;if(!Object.hasOwn(u,D))Object.defineProperty(u,D,{value:void 0,writable:!0,enumerable:!0,configurable:!0});if(C[D]===void 0)C[D]=Array.isArray(F)?[]:{};if(typeof C[D]==="object")C[D]=ze(C[D],F,{depth:E-1})}else if(typeof C[D]!=="object")if(Object.hasOwn(u,D))C[D]=F;else Object.defineProperty(u,D,{value:F,writable:!0,enumerable:!0,configurable:!0})})}return u},"assignWithDepth"),C9=ze,H3=X((u,B)=>B?G0(u,{s:-40,l:10}):G0(u,{s:-40,l:-10}),"mkBorder"),T64=class{static{X(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||G0(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||G0(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||H3(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||H3(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Cu(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Cu(this.tertiaryColor),this.lineColor=this.lineColor||Cu(this.background),this.arrowheadColor=this.arrowheadColor||Cu(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||wu(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Cu(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ku(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode)this.rowOdd=this.rowOdd||wu(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||wu(this.mainBkg,10);else this.rowOdd=this.rowOdd||Ku(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||Ku(this.mainBkg,5);if(this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||G0(this.primaryColor,{h:30}),this.cScale4=this.cScale4||G0(this.primaryColor,{h:60}),this.cScale5=this.cScale5||G0(this.primaryColor,{h:90}),this.cScale6=this.cScale6||G0(this.primaryColor,{h:120}),this.cScale7=this.cScale7||G0(this.primaryColor,{h:150}),this.cScale8=this.cScale8||G0(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||G0(this.primaryColor,{h:270}),this.cScale10=this.cScale10||G0(this.primaryColor,{h:300}),this.cScale11=this.cScale11||G0(this.primaryColor,{h:330}),this.darkMode)for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=wu(this["cScale"+B],75);else for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=wu(this["cScale"+B],25);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleInv"+B]=this["cScaleInv"+B]||Cu(this["cScale"+B]);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)if(this.darkMode)this["cScalePeer"+B]=this["cScalePeer"+B]||Ku(this["cScale"+B],10);else this["cScalePeer"+B]=this["cScalePeer"+B]||wu(this["cScale"+B],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleLabel"+B]=this["cScaleLabel"+B]||this.scaleLabelColor;let u=this.darkMode?-4:-1;for(let B=0;B<5;B++)this["surface"+B]=this["surface"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(5+B*3)}),this["surfacePeer"+B]=this["surfacePeer"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(8+B*3)});if(this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||G0(this.primaryColor,{h:64}),this.fillType3=this.fillType3||G0(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||G0(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||G0(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||G0(this.primaryColor,{h:128}),this.fillType7=this.fillType7||G0(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||G0(this.primaryColor,{l:-10}),this.pie5=this.pie5||G0(this.secondaryColor,{l:-10}),this.pie6=this.pie6||G0(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||G0(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||G0(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||G0(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||G0(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||G0(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||G0(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??G0(this.primaryColor,{l:-30}),this.venn2=this.venn2??G0(this.secondaryColor,{l:-30}),this.venn3=this.venn3??G0(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??G0(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??G0(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??G0(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??G0(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??G0(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||0.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||0.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||G0(this.primaryColor,{h:-30}),this.git4=this.git4||G0(this.primaryColor,{h:-60}),this.git5=this.git5||G0(this.primaryColor,{h:-90}),this.git6=this.git6||G0(this.primaryColor,{h:60}),this.git7=this.git7||G0(this.primaryColor,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},O64=X((u)=>{let B=new T64;return B.calculate(u),B},"getThemeVariables"),I64=class{static{X(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ku(this.primaryColor,16),this.tertiaryColor=G0(this.primaryColor,{h:-160}),this.primaryBorderColor=Cu(this.background),this.secondaryBorderColor=H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=H3(this.tertiaryColor,this.darkMode),this.primaryTextColor=Cu(this.primaryColor),this.secondaryTextColor=Cu(this.secondaryColor),this.tertiaryTextColor=Cu(this.tertiaryColor),this.lineColor=Cu(this.background),this.textColor=Cu(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ku(Cu("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=B2(255,255,255,0.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=wu("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=wu(this.sectionBkgColor,10),this.taskBorderColor=B2(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=B2(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Ku(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||wu(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){this.secondBkg=Ku(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Ku(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=Ku(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=Cu(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=G0(this.primaryColor,{h:64}),this.fillType3=G0(this.secondaryColor,{h:64}),this.fillType4=G0(this.primaryColor,{h:-64}),this.fillType5=G0(this.secondaryColor,{h:-64}),this.fillType6=G0(this.primaryColor,{h:128}),this.fillType7=G0(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||G0(this.primaryColor,{h:30}),this.cScale4=this.cScale4||G0(this.primaryColor,{h:60}),this.cScale5=this.cScale5||G0(this.primaryColor,{h:90}),this.cScale6=this.cScale6||G0(this.primaryColor,{h:120}),this.cScale7=this.cScale7||G0(this.primaryColor,{h:150}),this.cScale8=this.cScale8||G0(this.primaryColor,{h:210}),this.cScale9=this.cScale9||G0(this.primaryColor,{h:270}),this.cScale10=this.cScale10||G0(this.primaryColor,{h:300}),this.cScale11=this.cScale11||G0(this.primaryColor,{h:330});for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleInv"+u]=this["cScaleInv"+u]||Cu(this["cScale"+u]);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScalePeer"+u]=this["cScalePeer"+u]||Ku(this["cScale"+u],10);for(let u=0;u<5;u++)this["surface"+u]=this["surface"+u]||G0(this.mainBkg,{h:30,s:-30,l:-(-10+u*4)}),this["surfacePeer"+u]=this["surfacePeer"+u]||G0(this.mainBkg,{h:30,s:-30,l:-(-7+u*4)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleLabel"+u]=this["cScaleLabel"+u]||this.scaleLabelColor;for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["pie"+u]=this["cScale"+u];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.mainContrastColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.mainContrastColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let u=0;u<8;u++)this["venn"+(u+1)]=this["venn"+(u+1)]??Ku(this["cScale"+u],30);this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#FF6B6B",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#1B5E20",complicatedBg:this.cynefin?.complicatedBg||"#0D47A1",chaoticBg:this.cynefin?.chaoticBg||"#BF360C",clearBg:this.cynefin?.clearBg||"#F57F17",confusionBg:this.cynefin?.confusionBg||"#4A148C",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||0.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||0.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#ff6b6b",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.mainBkg,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.mainBkg},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=Ku(this.secondaryColor,20),this.git1=Ku(this.pie2||this.secondaryColor,20),this.git2=Ku(this.pie3||this.tertiaryColor,20),this.git3=Ku(this.pie4||G0(this.primaryColor,{h:-30}),20),this.git4=Ku(this.pie5||G0(this.primaryColor,{h:-60}),20),this.git5=Ku(this.pie6||G0(this.primaryColor,{h:-90}),10),this.git6=Ku(this.pie7||G0(this.primaryColor,{h:60}),10),this.git7=Ku(this.pie8||G0(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Cu(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Cu(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"#2d2d2d",this.emUiStroke=this.emUiStroke||"#555",this.emProcessorFill=this.emProcessorFill||Ku("#5a3d5c",10),this.emProcessorStroke=this.emProcessorStroke||"#8a6d8c",this.emReadModelFill=this.emReadModelFill||Ku("#3d5a2d",10),this.emReadModelStroke=this.emReadModelStroke||"#6d8c5c",this.emCommandFill=this.emCommandFill||Ku("#2d3d5a",10),this.emCommandStroke=this.emCommandStroke||"#5c6d8c",this.emEventFill=this.emEventFill||Ku("#5a452d",10),this.emEventStroke=this.emEventStroke||"#8c755c",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||Ku(this.background,5),this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||Ku(this.background,12),this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Ku(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Ku(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},P64=X((u)=>{let B=new I64;return B.calculate(u),B},"getThemeVariables"),j64=class{static{X(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=G0(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=G0(this.primaryColor,{h:-160}),this.primaryBorderColor=H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=H3(this.tertiaryColor,this.darkMode),this.primaryTextColor=Cu(this.primaryColor),this.secondaryTextColor=Cu(this.secondaryColor),this.tertiaryTextColor=Cu(this.tertiaryColor),this.lineColor=Cu(this.background),this.textColor=Cu(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=H3(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=B2(102,102,255,0.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||G0(this.primaryColor,{h:30}),this.cScale4=this.cScale4||G0(this.primaryColor,{h:60}),this.cScale5=this.cScale5||G0(this.primaryColor,{h:90}),this.cScale6=this.cScale6||G0(this.primaryColor,{h:120}),this.cScale7=this.cScale7||G0(this.primaryColor,{h:150}),this.cScale8=this.cScale8||G0(this.primaryColor,{h:210}),this.cScale9=this.cScale9||G0(this.primaryColor,{h:270}),this.cScale10=this.cScale10||G0(this.primaryColor,{h:300}),this.cScale11=this.cScale11||G0(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||wu(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||wu(this.tertiaryColor,40);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScale"+u]=wu(this["cScale"+u],10),this["cScalePeer"+u]=this["cScalePeer"+u]||wu(this["cScale"+u],25);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleInv"+u]=this["cScaleInv"+u]||G0(this["cScale"+u],{h:180});for(let u=0;u<5;u++)this["surface"+u]=this["surface"+u]||G0(this.mainBkg,{h:30,l:-(5+u*5)}),this["surfacePeer"+u]=this["surfacePeer"+u]||G0(this.mainBkg,{h:30,l:-(7+u*5)});if(this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,this.labelTextColor!=="calculated"){this.cScaleLabel0=this.cScaleLabel0||Cu(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||Cu(this.labelTextColor);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleLabel"+u]=this["cScaleLabel"+u]||this.labelTextColor}if(this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||Ku(this.primaryColor,75)||"#ffffff",this.rowEven=this.rowEven||Ku(this.primaryColor,1),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=G0(this.primaryColor,{h:64}),this.fillType3=G0(this.secondaryColor,{h:64}),this.fillType4=G0(this.primaryColor,{h:-64}),this.fillType5=G0(this.secondaryColor,{h:-64}),this.fillType6=G0(this.primaryColor,{h:128}),this.fillType7=G0(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||G0(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||G0(this.primaryColor,{l:-10}),this.pie5=this.pie5||G0(this.secondaryColor,{l:-30}),this.pie6=this.pie6||G0(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||G0(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||G0(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||G0(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||G0(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||G0(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||G0(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??G0(this.primaryColor,{l:-30}),this.venn2=this.venn2??G0(this.secondaryColor,{l:-30}),this.venn3=this.venn3??G0(this.tertiaryColor,{l:-40}),this.venn4=this.venn4??G0(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??G0(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??G0(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??G0(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??G0(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||0.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||0.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||G0(this.primaryColor,{h:-30}),this.git4=this.git4||G0(this.primaryColor,{h:-60}),this.git5=this.git5||G0(this.primaryColor,{h:-90}),this.git6=this.git6||G0(this.primaryColor,{h:60}),this.git7=this.git7||G0(this.primaryColor,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||wu(Cu(this.git0),25),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Cu(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Cu(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(Object.keys(this).forEach((E)=>{if(this[E]==="calculated")this[E]=void 0}),typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},O7=X((u)=>{let B=new j64;return B.calculate(u),B},"getThemeVariables"),N64=class{static{X(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Ku("#cde498",10),this.primaryBorderColor=H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=H3(this.tertiaryColor,this.darkMode),this.primaryTextColor=Cu(this.primaryColor),this.secondaryTextColor=Cu(this.secondaryColor),this.tertiaryTextColor=Cu(this.primaryColor),this.lineColor=Cu(this.background),this.textColor=Cu(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){this.actorBorder=wu(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||G0(this.primaryColor,{h:30}),this.cScale4=this.cScale4||G0(this.primaryColor,{h:60}),this.cScale5=this.cScale5||G0(this.primaryColor,{h:90}),this.cScale6=this.cScale6||G0(this.primaryColor,{h:120}),this.cScale7=this.cScale7||G0(this.primaryColor,{h:150}),this.cScale8=this.cScale8||G0(this.primaryColor,{h:210}),this.cScale9=this.cScale9||G0(this.primaryColor,{h:270}),this.cScale10=this.cScale10||G0(this.primaryColor,{h:300}),this.cScale11=this.cScale11||G0(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||wu(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||wu(this.tertiaryColor,40);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScale"+u]=wu(this["cScale"+u],10),this["cScalePeer"+u]=this["cScalePeer"+u]||wu(this["cScale"+u],25);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleInv"+u]=this["cScaleInv"+u]||G0(this["cScale"+u],{h:180});this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleLabel"+u]=this["cScaleLabel"+u]||this.scaleLabelColor;for(let u=0;u<5;u++)this["surface"+u]=this["surface"+u]||G0(this.mainBkg,{h:30,s:-30,l:-(5+u*5)}),this["surfacePeer"+u]=this["surfacePeer"+u]||G0(this.mainBkg,{h:30,s:-30,l:-(8+u*5)});if(this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||Ku(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||Ku(this.mainBkg,20),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=G0(this.primaryColor,{h:64}),this.fillType3=G0(this.secondaryColor,{h:64}),this.fillType4=G0(this.primaryColor,{h:-64}),this.fillType5=G0(this.secondaryColor,{h:-64}),this.fillType6=G0(this.primaryColor,{h:128}),this.fillType7=G0(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||G0(this.primaryColor,{l:-30}),this.pie5=this.pie5||G0(this.secondaryColor,{l:-30}),this.pie6=this.pie6||G0(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||G0(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||G0(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||G0(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||G0(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||G0(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||G0(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??G0(this.primaryColor,{l:-30}),this.venn2=this.venn2??G0(this.secondaryColor,{l:-30}),this.venn3=this.venn3??G0(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??G0(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??G0(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??G0(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??G0(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??G0(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B4513",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#C8E6C9",complicatedBg:this.cynefin?.complicatedBg||"#DCEDC8",chaoticBg:this.cynefin?.chaoticBg||"#FFE0B2",clearBg:this.cynefin?.clearBg||"#FFF9C4",confusionBg:this.cynefin?.confusionBg||"#D7CCC8",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||0.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||0.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||G0(this.primaryColor,{h:-30}),this.git4=this.git4||G0(this.primaryColor,{h:-60}),this.git5=this.git5||G0(this.primaryColor,{h:-90}),this.git6=this.git6||G0(this.primaryColor,{h:60}),this.git7=this.git7||G0(this.primaryColor,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Cu(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Cu(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},V64=X((u)=>{let B=new N64;return B.calculate(u),B},"getThemeVariables"),h64=class{static{X(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Ku(this.contrast,55),this.background="#ffffff",this.tertiaryColor=G0(this.primaryColor,{h:-160}),this.primaryBorderColor=H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=H3(this.tertiaryColor,this.darkMode),this.primaryTextColor=Cu(this.primaryColor),this.secondaryTextColor=Cu(this.secondaryColor),this.tertiaryTextColor=Cu(this.tertiaryColor),this.lineColor=Cu(this.background),this.textColor=Cu(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||Ku(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){this.secondBkg=Ku(this.contrast,55),this.border2=this.contrast,this.actorBorder=Ku(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleInv"+u]=this["cScaleInv"+u]||Cu(this["cScale"+u]);for(let u=0;u<this.THEME_COLOR_LIMIT;u++)if(this.darkMode)this["cScalePeer"+u]=this["cScalePeer"+u]||Ku(this["cScale"+u],10);else this["cScalePeer"+u]=this["cScalePeer"+u]||wu(this["cScale"+u],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["cScaleLabel"+u]=this["cScaleLabel"+u]||this.scaleLabelColor;for(let u=0;u<5;u++)this["surface"+u]=this["surface"+u]||G0(this.mainBkg,{l:-(5+u*5)}),this["surfacePeer"+u]=this["surfacePeer"+u]||G0(this.mainBkg,{l:-(8+u*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=Ku(this.contrast,30),this.sectionBkgColor2=Ku(this.contrast,30),this.taskBorderColor=wu(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=Ku(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=wu(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.vertLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=G0(this.primaryColor,{h:64}),this.fillType3=G0(this.secondaryColor,{h:64}),this.fillType4=G0(this.primaryColor,{h:-64}),this.fillType5=G0(this.secondaryColor,{h:-64}),this.fillType6=G0(this.primaryColor,{h:128}),this.fillType7=G0(this.secondaryColor,{h:128});for(let u=0;u<this.THEME_COLOR_LIMIT;u++)this["pie"+u]=this["cScale"+u];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let u=0;u<8;u++)this["venn"+(u+1)]=this["venn"+(u+1)]??this["cScale"+u];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:this.cynefin?.domainFontSize||16,itemFontSize:this.cynefin?.itemFontSize||12,boundaryColor:this.cynefin?.boundaryColor||this.lineColor,boundaryWidth:this.cynefin?.boundaryWidth||2,cliffColor:this.cynefin?.cliffColor||"#8B0000",cliffWidth:this.cynefin?.cliffWidth||4,arrowColor:this.cynefin?.arrowColor||this.lineColor,arrowWidth:this.cynefin?.arrowWidth||2,complexBg:this.cynefin?.complexBg||"#E8F5E9",complicatedBg:this.cynefin?.complicatedBg||"#E3F2FD",chaoticBg:this.cynefin?.chaoticBg||"#FBE9E7",clearBg:this.cynefin?.clearBg||"#FFF8E1",confusionBg:this.cynefin?.confusionBg||"#F3E5F5",textColor:this.cynefin?.textColor||this.textColor,labelColor:this.cynefin?.labelColor||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,dataLabelColor:this.xyChart?.dataLabelColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.radar={axisColor:this.radar?.axisColor||this.lineColor,axisStrokeWidth:this.radar?.axisStrokeWidth||2,axisLabelFontSize:this.radar?.axisLabelFontSize||12,curveOpacity:this.radar?.curveOpacity||0.5,curveStrokeWidth:this.radar?.curveStrokeWidth||2,graticuleColor:this.radar?.graticuleColor||"#DEDEDE",graticuleStrokeWidth:this.radar?.graticuleStrokeWidth||1,graticuleOpacity:this.radar?.graticuleOpacity||0.3,legendBoxSize:this.radar?.legendBoxSize||12,legendFontSize:this.radar?.legendFontSize||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:this.wardley?.backgroundColor||this.background,axisColor:this.wardley?.axisColor||this.lineColor,axisTextColor:this.wardley?.axisTextColor||this.primaryTextColor,gridColor:this.wardley?.gridColor||this.gridColor,componentFill:this.wardley?.componentFill||this.background,componentStroke:this.wardley?.componentStroke||this.lineColor,componentLabelColor:this.wardley?.componentLabelColor||this.primaryTextColor,linkStroke:this.wardley?.linkStroke||this.lineColor,evolutionStroke:this.wardley?.evolutionStroke||this.wardleyEvolutionColor,annotationStroke:this.wardley?.annotationStroke||this.lineColor,annotationTextColor:this.wardley?.annotationTextColor||this.primaryTextColor,annotationFill:this.wardley?.annotationFill||this.background},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=wu(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||G0(this.primaryColor,{h:-30}),this.git4=this.pie5||G0(this.primaryColor,{h:-60}),this.git5=this.pie6||G0(this.primaryColor,{h:-90}),this.git6=this.pie7||G0(this.primaryColor,{h:60}),this.git7=this.pie8||G0(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},i64=X((u)=>{let B=new h64;return B.calculate(u),B},"getThemeVariables"),a64=class{static{X(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=H3(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||G0(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||G0(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||H3(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||H3(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Cu(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Cu(this.tertiaryColor),this.lineColor=this.lineColor||Cu(this.background),this.arrowheadColor=this.arrowheadColor||Cu(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||wu(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Cu(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;let u="#ECECFE",B="#E9E9F1",E=G0(u,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||E,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||B,this.sectionBkgColor2=this.sectionBkgColor2||u,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||u,this.activeTaskBorderColor=this.activeTaskBorderColor||u,this.activeTaskBkgColor=this.activeTaskBkgColor||Ku(u,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||u,this.cScale1=this.cScale1||B,this.cScale2=this.cScale2||E,this.cScale3=this.cScale3||G0(u,{h:30}),this.cScale4=this.cScale4||G0(u,{h:60}),this.cScale5=this.cScale5||G0(u,{h:90}),this.cScale6=this.cScale6||G0(u,{h:120}),this.cScale7=this.cScale7||G0(u,{h:150}),this.cScale8=this.cScale8||G0(u,{h:210,l:150}),this.cScale9=this.cScale9||G0(u,{h:270}),this.cScale10=this.cScale10||G0(u,{h:300}),this.cScale11=this.cScale11||G0(u,{h:330}),this.darkMode)for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScale"+C]=wu(this["cScale"+C],75);else for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScale"+C]=wu(this["cScale"+C],25);for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScaleInv"+C]=this["cScaleInv"+C]||Cu(this["cScale"+C]);for(let C=0;C<this.THEME_COLOR_LIMIT;C++)if(this.darkMode)this["cScalePeer"+C]=this["cScalePeer"+C]||Ku(this["cScale"+C],10);else this["cScalePeer"+C]=this["cScalePeer"+C]||wu(this["cScale"+C],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScaleLabel"+C]=this["cScaleLabel"+C]||this.scaleLabelColor;let A=this.darkMode?-4:-1;for(let C=0;C<5;C++)this["surface"+C]=this["surface"+C]||G0(this.mainBkg,{h:180,s:-15,l:A*(5+C*3)}),this["surfacePeer"+C]=this["surfacePeer"+C]||G0(this.mainBkg,{h:180,s:-15,l:A*(8+C*3)});if(this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||u,this.fillType1=this.fillType1||B,this.fillType2=this.fillType2||G0(u,{h:64}),this.fillType3=this.fillType3||G0(B,{h:64}),this.fillType4=this.fillType4||G0(u,{h:-64}),this.fillType5=this.fillType5||G0(B,{h:-64}),this.fillType6=this.fillType6||G0(u,{h:128}),this.fillType7=this.fillType7||G0(B,{h:128}),this.pie1=this.pie1||u,this.pie2=this.pie2||B,this.pie3=this.pie3||E,this.pie4=this.pie4||G0(u,{l:-10}),this.pie5=this.pie5||G0(B,{l:-10}),this.pie6=this.pie6||G0(E,{l:-10}),this.pie7=this.pie7||G0(u,{h:60,l:-10}),this.pie8=this.pie8||G0(u,{h:-60,l:-10}),this.pie9=this.pie9||G0(u,{h:120,l:0}),this.pie10=this.pie10||G0(u,{h:60,l:-20}),this.pie11=this.pie11||G0(u,{h:-60,l:-20}),this.pie12=this.pie12||G0(u,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||u,this.quadrant2Fill=this.quadrant2Fill||G0(u,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(u,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(u,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||u,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||u,this.git1=this.git1||B,this.git2=this.git2||E,this.git3=this.git3||G0(u,{h:-30}),this.git4=this.git4||G0(u,{h:-60}),this.git5=this.git5||G0(u,{h:-90}),this.git6=this.git6||G0(u,{h:60}),this.git7=this.git7||G0(u,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},m64=X((u)=>{let B=new a64;return B.calculate(u),B},"getThemeVariables"),$64=class{static{X(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ku(this.primaryColor,16),this.tertiaryColor=G0(this.primaryColor,{h:-160}),this.primaryBorderColor=Cu(this.background),this.secondaryBorderColor=H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=H3(this.tertiaryColor,this.darkMode),this.primaryTextColor=Cu(this.primaryColor),this.secondaryTextColor=Cu(this.secondaryColor),this.tertiaryTextColor=Cu(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ku(Cu("#323D47"),10),this.border1="#ccc",this.border2=B2(255,255,255,0.25),this.arrowheadColor=Cu(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||G0(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||G0(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||H3(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||H3(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Cu(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Cu(this.tertiaryColor),this.lineColor=this.lineColor||Cu(this.background),this.arrowheadColor=this.arrowheadColor||Cu(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||wu(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Cu(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ku(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||G0(this.primaryColor,{h:30}),this.cScale4=this.cScale4||G0(this.primaryColor,{h:60}),this.cScale5=this.cScale5||G0(this.primaryColor,{h:90}),this.cScale6=this.cScale6||G0(this.primaryColor,{h:120}),this.cScale7=this.cScale7||G0(this.primaryColor,{h:150}),this.cScale8=this.cScale8||G0(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||G0(this.primaryColor,{h:270}),this.cScale10=this.cScale10||G0(this.primaryColor,{h:300}),this.cScale11=this.cScale11||G0(this.primaryColor,{h:330}),this.darkMode)for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=wu(this["cScale"+B],75);else for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=wu(this["cScale"+B],25);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleInv"+B]=this["cScaleInv"+B]||Cu(this["cScale"+B]);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)if(this.darkMode)this["cScalePeer"+B]=this["cScalePeer"+B]||Ku(this["cScale"+B],10);else this["cScalePeer"+B]=this["cScalePeer"+B]||wu(this["cScale"+B],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleLabel"+B]=this["cScaleLabel"+B]||this.scaleLabelColor;let u=this.darkMode?-4:-1;for(let B=0;B<5;B++)this["surface"+B]=this["surface"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(5+B*3)}),this["surfacePeer"+B]=this["surfacePeer"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(8+B*3)});if(this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||G0(this.primaryColor,{h:64}),this.fillType3=this.fillType3||G0(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||G0(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||G0(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||G0(this.primaryColor,{h:128}),this.fillType7=this.fillType7||G0(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||G0(this.primaryColor,{l:-10}),this.pie5=this.pie5||G0(this.secondaryColor,{l:-10}),this.pie6=this.pie6||G0(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||G0(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||G0(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||G0(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||G0(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||G0(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||G0(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#0b0000",this.git1=this.git1||"#4d1037",this.git2=this.git2||"#3f5258",this.git3=this.git3||"#4f2f1b",this.git4=this.git4||"#6e0a0a",this.git5=this.git5||"#3b0048",this.git6=this.git6||"#995a01",this.git7=this.git7||"#154706",this.gitDarkMode=!0,this.gitDarkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},y64=X((u)=>{let B=new $64;return B.calculate(u),B},"getThemeVariables"),r64=class{static{X(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=H3("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||G0(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||G0(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||H3(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||H3(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||Cu(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Cu(this.tertiaryColor),this.lineColor=this.lineColor||Cu(this.background),this.arrowheadColor=this.arrowheadColor||Cu(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||wu(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Cu(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;let u="#ECECFE",B="#E9E9F1",E=G0(u,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||E,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||B,this.sectionBkgColor2=this.sectionBkgColor2||u,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||u,this.activeTaskBorderColor=this.activeTaskBorderColor||u,this.activeTaskBkgColor=this.activeTaskBkgColor||Ku(u,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScale"+C]=this.mainBkg;if(this.darkMode)for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScale"+C]=wu(this["cScale"+C],75);else for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScale"+C]=wu(this["cScale"+C],25);for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScaleInv"+C]=this["cScaleInv"+C]||Cu(this["cScale"+C]);for(let C=0;C<this.THEME_COLOR_LIMIT;C++)if(this.darkMode)this["cScalePeer"+C]=this["cScalePeer"+C]||Ku(this["cScale"+C],10);else this["cScalePeer"+C]=this["cScalePeer"+C]||wu(this["cScale"+C],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScaleLabel"+C]=this["cScaleLabel"+C]||this.scaleLabelColor;let A=this.darkMode?-4:-1;for(let C=0;C<5;C++)this["surface"+C]=this["surface"+C]||G0(this.mainBkg,{h:180,s:-15,l:A*(5+C*3)}),this["surfacePeer"+C]=this["surfacePeer"+C]||G0(this.mainBkg,{h:180,s:-15,l:A*(8+C*3)});if(this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||u,this.fillType1=this.fillType1||B,this.fillType2=this.fillType2||G0(u,{h:64}),this.fillType3=this.fillType3||G0(B,{h:64}),this.fillType4=this.fillType4||G0(u,{h:-64}),this.fillType5=this.fillType5||G0(B,{h:-64}),this.fillType6=this.fillType6||G0(u,{h:128}),this.fillType7=this.fillType7||G0(B,{h:128}),this.pie1=this.pie1||u,this.pie2=this.pie2||B,this.pie3=this.pie3||E,this.pie4=this.pie4||G0(u,{l:-10}),this.pie5=this.pie5||G0(B,{l:-10}),this.pie6=this.pie6||G0(E,{l:-10}),this.pie7=this.pie7||G0(u,{h:60,l:-10}),this.pie8=this.pie8||G0(u,{h:-60,l:-10}),this.pie9=this.pie9||G0(u,{h:120,l:0}),this.pie10=this.pie10||G0(u,{h:60,l:-20}),this.pie11=this.pie11||G0(u,{h:-60,l:-20}),this.pie12=this.pie12||G0(u,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||u,this.quadrant2Fill=this.quadrant2Fill||G0(u,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(u,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(u,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||u,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||u,this.git1=this.git1||B,this.git2=this.git2||E,this.git3=this.git3||G0(u,{h:-30}),this.git4=this.git4||G0(u,{h:-60}),this.git5=this.git5||G0(u,{h:-90}),this.git6=this.git6||G0(u,{h:60}),this.git7=this.git7||G0(u,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},g64=X((u)=>{let B=new r64;return B.calculate(u),B},"getThemeVariables"),c64=class{static{X(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ku(this.primaryColor,16),this.tertiaryColor=G0(this.primaryColor,{h:-160}),this.primaryBorderColor=Cu(this.background),this.secondaryBorderColor=H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=H3(this.tertiaryColor,this.darkMode),this.primaryTextColor=Cu(this.primaryColor),this.secondaryTextColor=Cu(this.secondaryColor),this.tertiaryTextColor=Cu(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ku(Cu("#323D47"),10),this.border1="#ccc",this.border2=B2(255,255,255,0.25),this.arrowheadColor=Cu(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||G0(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||G0(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||H3(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||H3(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||Cu(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Cu(this.tertiaryColor),this.lineColor=this.lineColor||Cu(this.background),this.arrowheadColor=this.arrowheadColor||Cu(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||wu(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Cu(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ku(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||G0(this.primaryColor,{h:30}),this.cScale4=this.cScale4||G0(this.primaryColor,{h:60}),this.cScale5=this.cScale5||G0(this.primaryColor,{h:90}),this.cScale6=this.cScale6||G0(this.primaryColor,{h:120}),this.cScale7=this.cScale7||G0(this.primaryColor,{h:150}),this.cScale8=this.cScale8||G0(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||G0(this.primaryColor,{h:270}),this.cScale10=this.cScale10||G0(this.primaryColor,{h:300}),this.cScale11=this.cScale11||G0(this.primaryColor,{h:330}),this.darkMode)for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=wu(this["cScale"+B],75);else for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=wu(this["cScale"+B],25);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleInv"+B]=this["cScaleInv"+B]||Cu(this["cScale"+B]);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)if(this.darkMode)this["cScalePeer"+B]=this["cScalePeer"+B]||Ku(this["cScale"+B],10);else this["cScalePeer"+B]=this["cScalePeer"+B]||wu(this["cScale"+B],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleLabel"+B]=this["cScaleLabel"+B]||this.scaleLabelColor;let u=this.darkMode?-4:-1;for(let B=0;B<5;B++)this["surface"+B]=this["surface"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(5+B*3)}),this["surfacePeer"+B]=this["surfacePeer"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(8+B*3)});if(this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||G0(this.primaryColor,{h:64}),this.fillType3=this.fillType3||G0(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||G0(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||G0(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||G0(this.primaryColor,{h:128}),this.fillType7=this.fillType7||G0(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||G0(this.primaryColor,{l:-10}),this.pie5=this.pie5||G0(this.secondaryColor,{l:-10}),this.pie6=this.pie6||G0(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||G0(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||G0(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||G0(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||G0(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||G0(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||G0(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||G0(this.primaryColor,{h:-30}),this.git4=this.git4||G0(this.primaryColor,{h:-60}),this.git5=this.git5||G0(this.primaryColor,{h:-90}),this.git6=this.git6||G0(this.primaryColor,{h:60}),this.git7=this.git7||G0(this.primaryColor,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},_64=X((u)=>{let B=new c64;return B.calculate(u),B},"getThemeVariables"),p64=class{static{X(this,"Theme")}constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=H3(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||G0(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||G0(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||H3(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||H3(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||Cu(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Cu(this.tertiaryColor),this.lineColor=this.lineColor||Cu(this.background),this.arrowheadColor=this.arrowheadColor||Cu(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||wu(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Cu(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;let u="#ECECFE",B="#E9E9F1",E=G0(u,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||E,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||B,this.sectionBkgColor2=this.sectionBkgColor2||u,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||u,this.activeTaskBorderColor=this.activeTaskBorderColor||u,this.activeTaskBkgColor=this.activeTaskBkgColor||Ku(u,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScaleInv"+C]=this["cScaleInv"+C]||Cu(this["cScale"+C]);for(let C=0;C<this.THEME_COLOR_LIMIT;C++)if(this.darkMode)this["cScalePeer"+C]=this["cScalePeer"+C]||Ku(this["cScale"+C],10);else this["cScalePeer"+C]=this["cScalePeer"+C]||wu(this["cScale"+C],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let C=0;C<this.THEME_COLOR_LIMIT;C++)this["cScaleLabel"+C]=this["cScaleLabel"+C]||this.scaleLabelColor;let A=this.darkMode?-4:-1;for(let C=0;C<5;C++)this["surface"+C]=this["surface"+C]||G0(this.mainBkg,{h:180,s:-15,l:A*(5+C*3)}),this["surfacePeer"+C]=this["surfacePeer"+C]||G0(this.mainBkg,{h:180,s:-15,l:A*(8+C*3)});if(this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||u,this.fillType1=this.fillType1||B,this.fillType2=this.fillType2||G0(u,{h:64}),this.fillType3=this.fillType3||G0(B,{h:64}),this.fillType4=this.fillType4||G0(u,{h:-64}),this.fillType5=this.fillType5||G0(B,{h:-64}),this.fillType6=this.fillType6||G0(u,{h:128}),this.fillType7=this.fillType7||G0(B,{h:128}),this.pie1=this.pie1||u,this.pie2=this.pie2||B,this.pie3=this.pie3||E,this.pie4=this.pie4||G0(u,{l:-10}),this.pie5=this.pie5||G0(B,{l:-10}),this.pie6=this.pie6||G0(E,{l:-10}),this.pie7=this.pie7||G0(u,{h:60,l:-10}),this.pie8=this.pie8||G0(u,{h:-60,l:-10}),this.pie9=this.pie9||G0(u,{h:120,l:0}),this.pie10=this.pie10||G0(u,{h:60,l:-20}),this.pie11=this.pie11||G0(u,{h:-60,l:-20}),this.pie12=this.pie12||G0(u,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||u,this.quadrant2Fill=this.quadrant2Fill||G0(u,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(u,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(u,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||u,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||u,this.git1=this.git1||B,this.git2=this.git2||E,this.git3=this.git3||G0(u,{h:-30}),this.git4=this.git4||G0(u,{h:-60}),this.git5=this.git5||G0(u,{h:-90}),this.git6=this.git6||G0(u,{h:60}),this.git7=this.git7||G0(u,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLineColor=this.commitLineColor??"#BDBCCC",this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.fontWeight=600,this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},n64=X((u)=>{let B=new p64;return B.calculate(u),B},"getThemeVariables"),d64=class{static{X(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ku(this.primaryColor,16),this.tertiaryColor=G0(this.primaryColor,{h:-160}),this.primaryBorderColor=Cu(this.background),this.secondaryBorderColor=H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=H3(this.tertiaryColor,this.darkMode),this.primaryTextColor=Cu(this.primaryColor),this.secondaryTextColor=Cu(this.secondaryColor),this.tertiaryTextColor=Cu(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ku(Cu("#323D47"),10),this.border1="#ccc",this.border2=B2(255,255,255,0.25),this.arrowheadColor=Cu(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||G0(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||G0(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||H3(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||H3(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||H3(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||H3(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||Cu(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Cu(this.tertiaryColor),this.lineColor=this.lineColor||Cu(this.background),this.arrowheadColor=this.arrowheadColor||Cu(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||wu(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Cu(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Ku(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleInv"+B]=this["cScaleInv"+B]||Cu(this["cScale"+B]);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)if(this.darkMode)this["cScalePeer"+B]=this["cScalePeer"+B]||Ku(this["cScale"+B],10);else this["cScalePeer"+B]=this["cScalePeer"+B]||wu(this["cScale"+B],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleLabel"+B]=wu(this["cScale"+B],75);let u=this.darkMode?-4:-1;for(let B=0;B<5;B++)this["surface"+B]=this["surface"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(5+B*3)}),this["surfacePeer"+B]=this["surfacePeer"+B]||G0(this.mainBkg,{h:180,s:-15,l:u*(8+B*3)});if(this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||G0(this.primaryColor,{h:64}),this.fillType3=this.fillType3||G0(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||G0(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||G0(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||G0(this.primaryColor,{h:128}),this.fillType7=this.fillType7||G0(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||G0(this.primaryColor,{l:-10}),this.pie5=this.pie5||G0(this.secondaryColor,{l:-10}),this.pie6=this.pie6||G0(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||G0(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||G0(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||G0(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||G0(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||G0(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||G0(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||G0(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||G0(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||G0(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||G0(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||G0(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||G0(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||n1(this.quadrant1Fill)?Ku(this.quadrant1Fill):wu(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:this.xyChart?.backgroundColor||this.background,titleColor:this.xyChart?.titleColor||this.primaryTextColor,xAxisTitleColor:this.xyChart?.xAxisTitleColor||this.primaryTextColor,xAxisLabelColor:this.xyChart?.xAxisLabelColor||this.primaryTextColor,xAxisTickColor:this.xyChart?.xAxisTickColor||this.primaryTextColor,xAxisLineColor:this.xyChart?.xAxisLineColor||this.primaryTextColor,yAxisTitleColor:this.xyChart?.yAxisTitleColor||this.primaryTextColor,yAxisLabelColor:this.xyChart?.yAxisLabelColor||this.primaryTextColor,yAxisTickColor:this.xyChart?.yAxisTickColor||this.primaryTextColor,yAxisLineColor:this.xyChart?.yAxisLineColor||this.primaryTextColor,plotColorPalette:this.xyChart?.plotColorPalette||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?wu(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||G0(this.primaryColor,{h:-30}),this.git4=this.git4||G0(this.primaryColor,{h:-60}),this.git5=this.git5||G0(this.primaryColor,{h:-90}),this.git6=this.git6||G0(this.primaryColor,{h:60}),this.git7=this.git7||G0(this.primaryColor,{h:120}),this.darkMode)this.git0=Ku(this.git0,25),this.git1=Ku(this.git1,25),this.git2=Ku(this.git2,25),this.git3=Ku(this.git3,25),this.git4=Ku(this.git4,25),this.git5=Ku(this.git5,25),this.git6=Ku(this.git6,25),this.git7=Ku(this.git7,25);else this.git0=wu(this.git0,25),this.git1=wu(this.git1,25),this.git2=wu(this.git2,25),this.git3=wu(this.git3,25),this.git4=wu(this.git4,25),this.git5=wu(this.git5,25),this.git6=wu(this.git6,25),this.git7=wu(this.git7,25);this.gitInv0=this.gitInv0||Cu(this.git0),this.gitInv1=this.gitInv1||Cu(this.git1),this.gitInv2=this.gitInv2||Cu(this.git2),this.gitInv3=this.gitInv3||Cu(this.git3),this.gitInv4=this.gitInv4||Cu(this.git4),this.gitInv5=this.gitInv5||Cu(this.git5),this.gitInv6=this.gitInv6||Cu(this.git6),this.gitInv7=this.gitInv7||Cu(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.fontWeight=600,this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||wF,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||QF}calculate(u){if(typeof u!=="object"){this.updateColors();return}let B=Object.keys(u);B.forEach((E)=>{this[E]=u[E]}),this.updateColors(),B.forEach((E)=>{this[E]=u[E]})}},s64=X((u)=>{let B=new d64;return B.calculate(u),B},"getThemeVariables"),KF={base:{getThemeVariables:O64},dark:{getThemeVariables:P64},default:{getThemeVariables:O7},forest:{getThemeVariables:V64},neutral:{getThemeVariables:i64},neo:{getThemeVariables:m64},"neo-dark":{getThemeVariables:y64},redux:{getThemeVariables:g64},"redux-dark":{getThemeVariables:_64},"redux-color":{getThemeVariables:n64},"redux-dark-color":{getThemeVariables:s64}},t5={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},swimlane:{useMaxWidth:!0,lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:0.75,donutHole:0,legendPosition:"right",highlightSlice:""},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2,labelRotation:0},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:0.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:0.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:50000,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},$l0={...t5,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:KF.default.getThemeVariables(),sequence:{...t5.sequence,messageFont:X(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:X(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:X(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...t5.gantt,tickInterval:void 0,useWidth:void 0},c4:{...t5.c4,useWidth:void 0,personFont:X(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...t5.flowchart,inheritDir:!1},external_personFont:X(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:X(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:X(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:X(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:X(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:X(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:X(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:X(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:X(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:X(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:X(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:X(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:X(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:X(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:X(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:X(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:X(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:X(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:X(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:X(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:X(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...t5.pie,useWidth:984},xyChart:{...t5.xyChart,useWidth:void 0},requirement:{...t5.requirement,useWidth:void 0},packet:{...t5.packet},eventmodeling:{...t5.eventmodeling},treeView:{...t5.treeView,useWidth:void 0},radar:{...t5.radar},railroad:{...t5.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...t5.ishikawa},sankey:{...t5.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...t5.venn},cynefin:{...t5.cynefin}},yl0=X((u,B="")=>Object.keys(u).reduce((E,A)=>{if(Array.isArray(u[A]))return E;else if(typeof u[A]==="object"&&u[A]!==null)return[...E,B+A,...yl0(u[A],"")];return[...E,B+A]},[]),"keyify"),o64=new Set(yl0($l0,"")),t4=$l0,t64={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},e64=X((u,B)=>{for(let E of Object.keys(u)){let A=u[E];if(E.startsWith("__")||E.includes("proto")||E.includes("constr")||typeof A!=="string"||!B.test(A))z0.debug("sanitize deleting dictionary entry:",E,A),delete u[E]}},"sanitizeDictionaryConfig"),vx=X((u)=>{if(z0.debug("sanitizeDirective called with",u),typeof u!=="object"||u==null)return;if(Array.isArray(u)){u.forEach((B)=>vx(B));return}for(let B of Object.keys(u)){if(z0.debug("Checking key",B),B.startsWith("__")||B.includes("proto")||B.includes("constr")||!o64.has(B)||u[B]==null){z0.debug("sanitize deleting key: ",B),delete u[B];continue}if(typeof u[B]==="object"){let A=t64[B];if(A)e64(u[B],A);else z0.debug("sanitizing object",B),vx(u[B]);continue}let E=["themeCSS","fontFamily","altFontFamily"];for(let A of E)if(B.includes(A))z0.debug("sanitizing css option",B),u[B]=fe(u[B])}if(u.themeVariables)for(let B of Object.keys(u.themeVariables)){let E=u.themeVariables[B];if(E?.match&&!E.match(/^[\d "#%(),.;A-Za-z]+$/))u.themeVariables[B]=""}z0.debug("After sanitization",u)},"sanitizeDirective"),fe=X((u)=>{let B=0,E=0;for(let A of u){if(B<E)return"{ /* ERROR: Unbalanced CSS */ }";if(A==="{")B++;else if(A==="}")E++}if(B!==E)return"{ /* ERROR: Unbalanced CSS */ }";return u},"sanitizeCss"),NJ=Object.freeze(t4),uA=X((u)=>u===!1||["false","null","0"].includes(String(u).trim().toLowerCase())?!1:!0,"evaluate"),U8=C9({},NJ),jJ=[],Xx=C9({},NJ),xx=X((u,B)=>{let E=C9({},u),A={};for(let C of B)_l0(C),A=C9(A,C);if(E=C9(E,A),A.theme&&A.theme in KF){let C=C9({},sj),D=C9(C.themeVariables||{},A.themeVariables);if(E.theme&&E.theme in KF)E.themeVariables=KF[E.theme].getThemeVariables(D)}return Xx=E,B94(Xx),Xx},"updateCurrentConfig"),rl0=X((u)=>{if(U8=C9({},NJ),U8=C9(U8,u),u.theme&&KF[u.theme])U8.themeVariables=KF[u.theme].getThemeVariables(u.themeVariables);return xx(U8,jJ),U8},"setSiteConfig"),gl0=X((u)=>{sj=C9({},u)},"saveConfigFromInitialize"),cl0=X((u)=>{return U8=C9(U8,u),xx(U8,jJ),U8},"updateSiteConfig"),Me=X(()=>{return C9({},U8)},"getSiteConfig"),be=X((u)=>{return xx(Xx,[u]),F4()},"setConfig"),F4=X(()=>{return C9({},Xx)},"getConfig"),_l0=X((u)=>{if(!u)return;["secure",...U8.secure??[]].forEach((B)=>{if(Object.hasOwn(u,B))z0.debug(`Denied attempt to modify a secure key ${B}`,u[B]),delete u[B]}),Object.keys(u).forEach((B)=>{if(B.startsWith("__"))delete u[B]}),Object.keys(u).forEach((B)=>{if(typeof u[B]==="string"&&(u[B].includes("<")||u[B].includes(">")||u[B].includes("url(data:")))delete u[B];if(typeof u[B]==="object")_l0(u[B])})},"sanitize"),pl0=X((u)=>{if(vx(u),u.fontFamily&&!u.themeVariables?.fontFamily)u.themeVariables={...u.themeVariables,fontFamily:u.fontFamily};jJ.push(u),xx(U8,jJ)},"addDirective"),Wx=X((u=U8)=>{jJ=[],xx(u,jJ)},"reset"),u94={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},hl0={},nl0=X((u)=>{if(hl0[u])return;z0.warn(u94[u]),hl0[u]=!0},"issueWarning"),B94=X((u)=>{if(!u)return;if(u.lazyLoadedDiagrams||u.loadExternalDiagramsAtStartup)nl0("LAZY_LOAD_DEPRECATED")},"checkConfig"),tj=X(()=>{let u={};if(sj)u=C9(u,sj);for(let B of jJ)u=C9(u,B);return u},"getUserDefinedConfig"),G1=X((u)=>{if(u.flowchart?.htmlLabels!=null)nl0("FLOWCHART_HTML_LABELS_DEPRECATED");return uA(u.htmlLabels??u.flowchart?.htmlLabels??!0)},"getEffectiveHtmlLabels"),Ze=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,AH=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,E94=/\s*%%.*\n/gm,Je=class extends Error{static{X(this,"UnknownDiagramError")}constructor(u){super(u);this.name="UnknownDiagramError"}},rf={},Sx=X(function(u,B){u=u.replace(Ze,"").replace(AH,"").replace(E94,`
`);for(let[E,{detector:A}]of Object.entries(rf))if(A(u,B))return E;throw new Je(`No diagram type detected matching given configuration for text: ${u}`)},"detectType"),ej=X((...u)=>{for(let{id:B,detector:E,loader:A}of u)dl0(B,E,A)},"registerLazyLoadedDiagrams"),dl0=X((u,B,E)=>{if(rf[u])z0.warn(`Detector with key ${u} already exists. Overwriting.`);rf[u]={detector:B,loader:E},z0.debug(`Detector with key ${u} added${E?" with loader":""}`)},"addDetector"),sl0=X((u)=>{return rf[u].loader},"getDiagramLoader"),VJ=/<br\s*\/?>/gi,A94=X((u)=>{if(!u)return[""];return el0(u).replace(/\\n/g,"#br#").split("#br#")},"getRows"),C94=(()=>{let u=!1;return()=>{if(!u)ol0(),u=!0}})();X(ol0,"setupDompurifyHooks");tl0=X((u)=>{return C94(),C8.sanitize(u)},"removeScript"),il0=X((u,B)=>{if(G1(B)){let E=B.securityLevel;if(E==="antiscript"||E==="strict"||E==="sandbox")u=tl0(u);else if(E!=="loose")u=el0(u),u=u.replace(/</g,"&lt;").replace(/>/g,"&gt;"),u=u.replace(/=/g,"&equals;"),u=z94(u)}return u},"sanitizeMore"),C3=X((u,B)=>{if(!u)return u;if(B.dompurifyConfig)u=C8.sanitize(il0(u,B),B.dompurifyConfig).toString();else u=C8.sanitize(il0(u,B),{FORBID_TAGS:["style"]}).toString();return u},"sanitizeText"),D94=X((u,B)=>{if(typeof u==="string")return C3(u,B);return u.flat().map((E)=>C3(E,B))},"sanitizeTextOrArray"),F94=X((u)=>{return VJ.test(u)},"hasBreaks"),U94=X((u)=>{return u.split(VJ)},"splitBreaks"),z94=X((u)=>{return u.replace(/#br#/g,"<br/>")},"placeholderToBreak"),el0=X((u)=>{return u.replace(VJ,"#br#")},"breakToPlaceholder"),hJ=X((u)=>{let B="";if(u)B=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,B=CSS.escape(B);return B},"getUrl"),k94=X(function(...u){let B=u.filter((E)=>{return!isNaN(E)});return Math.max(...B)},"getMax"),f94=X(function(...u){let B=u.filter((E)=>{return!isNaN(E)});return Math.min(...B)},"getMin"),GF=X(function(u){let B=u.split(/(,)/),E=[];for(let A=0;A<B.length;A++){let C=B[A];if(C===","&&A>0&&A+1<B.length){let D=B[A-1],F=B[A+1];if(M94(D,F))C=D+","+F,A++,E.pop()}E.push(b94(C))}return E.join("")},"parseGenericTypes"),ke=X((u,B)=>{return Math.max(0,u.split(B).length-1)},"countOccurrence"),M94=X((u,B)=>{let E=ke(u,"~"),A=ke(B,"~");return E===1&&A===1},"shouldCombineSets"),b94=X((u)=>{let B=ke(u,"~"),E=!1;if(B<=1)return u;if(B%2!==0&&u.startsWith("~"))u=u.substring(1),E=!0;let A=[...u],C=A.indexOf("~"),D=A.lastIndexOf("~");while(C!==-1&&D!==-1&&C!==D)A[C]="<",A[D]=">",C=A.indexOf("~"),D=A.lastIndexOf("~");if(E)A.unshift("~");return A.join("")},"processSet"),al0=X(()=>window.MathMLElement!==void 0,"isMathMLSupported"),nj=/\$\$(.*?)\$\$/g,D9=X((u)=>(u.match(nj)?.length??0)>0,"hasKatex"),CH=X(async(u,B)=>{let E=document.createElement("div");E.innerHTML=await DH(u,B),E.id="katex-temp",E.style.visibility="hidden",E.style.position="absolute",E.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",E);let C={width:E.clientWidth,height:E.clientHeight};return E.remove(),C},"calculateMathMLDimensions"),Z94=X(async(u,B)=>{if(!D9(u))return u;if(!(al0()||B.legacyMathML||B.forceLegacyMathML))return u.replace(nj,"MathML is unsupported in this environment.");{let{default:E}=await Promise.resolve().then(() => (Vl0(),Nl0)),A=B.forceLegacyMathML||!al0()&&B.legacyMathML?"htmlAndMathml":"mathml";return u.split(VJ).map((C)=>D9(C)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${C}</div>`:`<div>${C}</div>`).join("").replace(nj,(C,D)=>E.renderToString(D,{throwOnError:!0,displayMode:!0,output:A}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))}return u.replace(nj,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),DH=X(async(u,B)=>{return C3(await Z94(u,B),B)},"renderKatexSanitized"),ru={getRows:A94,sanitizeText:C3,sanitizeTextOrArray:D94,hasBreaks:F94,splitBreaks:U94,lineBreakRegex:VJ,removeScript:tl0,getUrl:hJ,evaluate:uA,getMax:k94,getMin:f94},J94=X(function(u,B){for(let E of B)u.attr(E[0],E[1])},"d3Attrs"),K94=X(function(u,B,E){let A=new Map;if(E)A.set("width","100%"),A.set("style",`max-width: ${B}px;`);else A.set("height",u),A.set("width",B);return A},"calculateSvgSizeAttrs"),g3=X(function(u,B,E,A){let C=K94(B,E,A);J94(u,C)},"configureSvgSize"),HF=X(function(u,B,E,A){let C=B.node().getBBox(),D=C.width,F=C.height;z0.info(`SVG bounds: ${D}x${F}`,C);let U=0,z=0;z0.info(`Graph bounds: ${U}x${z}`,u),U=D+E*2,z=F+E*2,z0.info(`Calculated bounds: ${U}x${z}`),g3(B,z,U,A);let k=`${C.x-E} ${C.y-E} ${C.width+2*E} ${C.height+2*E}`;B.attr("viewBox",k)},"setupGraphViewbox"),dj={};X(uN,"cssStyleSheetToString");w94=X((u,B,E,A)=>{let C="";if(u in dj&&dj[u])C=dj[u]({...E,svgId:A});else z0.warn(`No theme found for ${u}`);return`& {
font-family: ${E.fontFamily};
font-size: ${E.fontSize};
fill: ${E.textColor}
}
@keyframes edge-animation-frame {
from {
stroke-dashoffset: 0;
}
}
@keyframes dash {
to {
stroke-dashoffset: 0;
}
}
& .edge-animation-slow {
stroke-dasharray: 9,5 !important;
stroke-dashoffset: 900;
animation: dash 50s linear infinite;
stroke-linecap: round;
}
& .edge-animation-fast {
stroke-dasharray: 9,5 !important;
stroke-dashoffset: 900;
animation: dash 20s linear infinite;
stroke-linecap: round;
}
/* Classes common for multiple diagrams */
& .error-icon {
fill: ${E.errorBkgColor};
}
& .error-text {
fill: ${E.errorTextColor};
stroke: ${E.errorTextColor};
}
& .edge-thickness-normal {
stroke-width: ${E.strokeWidth??1}px;
}
& .edge-thickness-thick {
stroke-width: 3.5px
}
& .edge-pattern-solid {
stroke-dasharray: 0;
}
& .edge-thickness-invisible {
stroke-width: 0;
fill: none;
}
& .edge-pattern-dashed{
stroke-dasharray: 3;
}
.edge-pattern-dotted {
stroke-dasharray: 2;
}
& .marker {
fill: ${E.lineColor};
stroke: ${E.lineColor};
}
& .marker.cross {
stroke: ${E.lineColor};
}
& svg {
font-family: ${E.fontFamily};
font-size: ${E.fontSize};
}
& p {
margin: 0
}
${C}
.node .neo-node {
stroke: ${E.nodeBorder};
}
[data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon {
stroke: ${E.useGradient?"url("+A+"-gradient)":E.nodeBorder};
filter: ${E.dropShadow?E.dropShadow.replace("url(#drop-shadow)",`url(${A}-drop-shadow)`):"none"};
}
[data-look="neo"].swimlane.cluster rect {
filter: none;
}
[data-look="neo"].node path {
stroke: ${E.useGradient?"url("+A+"-gradient)":E.nodeBorder};
stroke-width: ${E.strokeWidth??1}px;
}
[data-look="neo"].node .outer-path {
filter: ${E.dropShadow?E.dropShadow.replace("url(#drop-shadow)",`url(${A}-drop-shadow)`):"none"};
}
[data-look="neo"].node .neo-line path {
stroke: ${E.nodeBorder};
filter: none;
}
[data-look="neo"].node circle{
stroke: ${E.useGradient?"url("+A+"-gradient)":E.nodeBorder};
filter: ${E.dropShadow?E.dropShadow.replace("url(#drop-shadow)",`url(${A}-drop-shadow)`):"none"};
}
[data-look="neo"].node circle .state-start{
fill: #000000;
}
[data-look="neo"].icon-shape .icon {
fill: ${E.useGradient?"url("+A+"-gradient)":E.nodeBorder};
filter: ${E.dropShadow?E.dropShadow.replace("url(#drop-shadow)",`url(${A}-drop-shadow)`):"none"};
}
[data-look="neo"].icon-shape .icon-neo path {
stroke: ${E.useGradient?"url("+A+"-gradient)":E.nodeBorder};
filter: ${E.dropShadow?E.dropShadow.replace("url(#drop-shadow)",`url(${A}-drop-shadow)`):"none"};
}
${B}
`},"getStyles"),Q94=X((u,B)=>{if(B!==void 0)dj[u]=B},"addStylesForDiagram"),uL0=w94,BN={};jf(BN,{clear:()=>D3,getAccDescription:()=>L3,getAccTitle:()=>q3,getDiagramTitle:()=>X3,setAccDescription:()=>l3,setAccTitle:()=>w3,setDiagramTitle:()=>T3});Ge=X((u)=>C3(u,F4()),"sanitizeText"),D3=X(()=>{Ke="",Qe="",we=""},"clear"),w3=X((u)=>{Ke=Ge(u).replace(/^\s+/g,"")},"setAccTitle"),q3=X(()=>Ke,"getAccTitle"),l3=X((u)=>{Qe=Ge(u).replace(/\n\s+/g,`
`)},"setAccDescription"),L3=X(()=>Qe,"getAccDescription"),T3=X((u)=>{we=Ge(u)},"setDiagramTitle"),X3=X(()=>we,"getDiagramTitle"),ml0=z0,G94=Ax,y0=F4,Yx=be,EN=NJ,AN=X((u)=>C3(u,y0()),"sanitizeText"),Rx=HF,H94=X(()=>{return BN},"getCommonDb"),oj={},Tx=X((u,B,E)=>{if(oj[u])ml0.warn(`Diagram with id ${u} already registered. Overwriting.`);if(oj[u]=B,E)dl0(u,E);Q94(u,B.styles),B.injectUtils?.(ml0,G94,y0,AN,Rx,H94(),()=>{})},"registerDiagram"),CN=X((u)=>{if(u in oj)return oj[u];throw new q94(u)},"getDiagram"),q94=class extends Error{static{X(this,"DiagramNotFoundError")}constructor(u){super(`Diagram ${u} not found.`)}}});function iJ(u,B){return u==null||B==null?NaN:u<B?-1:u>B?1:u>=B?0:NaN}function He(u,B){return u==null||B==null?NaN:B<u?-1:B>u?1:B>=u?0:NaN}function aJ(u){let B,E,A;if(u.length!==2)B=iJ,E=(U,z)=>iJ(u(U),z),A=(U,z)=>u(U)-z;else B=u===iJ||u===He?u:l94,E=u,A=u;function C(U,z,k=0,f=U.length){if(k<f){if(B(z,z)!==0)return f;do{let M=k+f>>>1;if(E(U[M],z)<0)k=M+1;else f=M}while(k<f)}return k}function D(U,z,k=0,f=U.length){if(k<f){if(B(z,z)!==0)return f;do{let M=k+f>>>1;if(E(U[M],z)<=0)k=M+1;else f=M}while(k<f)}return k}function F(U,z,k=0,f=U.length){let M=C(U,z,k,f-1);return M>k&&A(U[M-1],z)>-A(U[M],z)?M-1:M}return{left:C,center:F,right:D}}function l94(){return 0}var qe=()=>{};function le(u){return u===null?NaN:+u}var BL0,EL0,L94,X94,Le;var AL0=g(()=>{qe();BL0=aJ(iJ),EL0=BL0.right,L94=BL0.left,X94=aJ(le).center,Le=EL0});function CL0({_intern:u,_key:B},E){let A=B(E);return u.has(A)?u.get(A):E}function v94({_intern:u,_key:B},E){let A=B(E);if(u.has(A))return u.get(A);return u.set(A,E),E}function x94({_intern:u,_key:B},E){let A=B(E);if(u.has(A))E=u.get(A),u.delete(A);return E}function W94(u){return u!==null&&typeof u==="object"?u.valueOf():u}var Ox;var DL0=g(()=>{Ox=class Ox extends Map{constructor(u,B=W94){super();if(Object.defineProperties(this,{_intern:{value:new Map},_key:{value:B}}),u!=null)for(let[E,A]of u)this.set(E,A)}get(u){return super.get(CL0(this,u))}has(u){return super.has(CL0(this,u))}set(u,B){return super.set(v94(this,u),B)}delete(u){return super.delete(x94(this,u))}}});function DN(u,B,E){let A=(B-u)/Math.max(0,E),C=Math.floor(Math.log10(A)),D=A/Math.pow(10,C),F=D>=S94?10:D>=Y94?5:D>=R94?2:1,U,z,k;if(C<0){if(k=Math.pow(10,-C)/F,U=Math.round(u*k),z=Math.round(B*k),U/k<u)++U;if(z/k>B)--z;k=-k}else{if(k=Math.pow(10,C)*F,U=Math.round(u/k),z=Math.round(B/k),U*k<u)++U;if(z*k>B)--z}if(z<U&&0.5<=E&&E<2)return DN(u,B,E*2);return[U,z,k]}function FN(u,B,E){if(B=+B,u=+u,E=+E,!(E>0))return[];if(u===B)return[u];let A=B<u,[C,D,F]=A?DN(B,u,E):DN(u,B,E);if(!(D>=C))return[];let U=D-C+1,z=Array(U);if(A)if(F<0)for(let k=0;k<U;++k)z[k]=(D-k)/-F;else for(let k=0;k<U;++k)z[k]=(D-k)*F;else if(F<0)for(let k=0;k<U;++k)z[k]=(C+k)/-F;else for(let k=0;k<U;++k)z[k]=(C+k)*F;return z}function Ix(u,B,E){return B=+B,u=+u,E=+E,DN(u,B,E)[2]}function FH(u,B,E){B=+B,u=+u,E=+E;let A=B<u,C=A?Ix(B,u,E):Ix(u,B,E);return(A?-1:1)*(C<0?1/-C:C)}var S94,Y94,R94;var FL0=g(()=>{S94=Math.sqrt(50),Y94=Math.sqrt(10),R94=Math.sqrt(2)});function UN(u,B){let E;if(B===void 0){for(let A of u)if(A!=null&&(E<A||E===void 0&&A>=A))E=A}else{let A=-1;for(let C of u)if((C=B(C,++A,u))!=null&&(E<C||E===void 0&&C>=C))E=C}return E}function zN(u,B){let E;if(B===void 0){for(let A of u)if(A!=null&&(E>A||E===void 0&&A>=A))E=A}else{let A=-1;for(let C of u)if((C=B(C,++A,u))!=null&&(E>C||E===void 0&&C>=C))E=C}return E}function kN(u,B,E){u=+u,B=+B,E=(C=arguments.length)<2?(B=u,u=0,1):C<3?1:+E;var A=-1,C=Math.max(0,Math.ceil((B-u)/E))|0,D=Array(C);while(++A<C)D[A]=u+A*E;return D}var gf=g(()=>{AL0();qe();FL0();DL0()});function Xe(u){return u}function T94(u){return"translate("+u+",0)"}function O94(u){return"translate(0,"+u+")"}function I94(u){return(B)=>+u(B)}function P94(u,B){if(B=Math.max(0,u.bandwidth()-B*2)/2,u.round())B=Math.round(B);return(E)=>+u(E)+B}function j94(){return!this.__axis}function zL0(u,B){var E=[],A=null,C=null,D=6,F=6,U=3,z=typeof window<"u"&&window.devicePixelRatio>1?0:0.5,k=u===MN||u===fN?-1:1,f=u===fN||u===ve?"x":"y",M=u===MN||u===xe?T94:O94;function b(Z){var J=A==null?B.ticks?B.ticks.apply(B,E):B.domain():A,K=C==null?B.tickFormat?B.tickFormat.apply(B,E):Xe:C,w=Math.max(D,0)+U,Q=B.range(),G=+Q[0]+z,H=+Q[Q.length-1]+z,l=(B.bandwidth?P94:I94)(B.copy(),z),q=Z.selection?Z.selection():Z,L=q.selectAll(".domain").data([null]),v=q.selectAll(".tick").data(J,B).order(),x=v.exit(),S=v.enter().append("g").attr("class","tick"),W=v.select("line"),T=v.select("text");if(L=L.merge(L.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),v=v.merge(S),W=W.merge(S.append("line").attr("stroke","currentColor").attr(f+"2",k*D)),T=T.merge(S.append("text").attr("fill","currentColor").attr(f,k*w).attr("dy",u===MN?"0em":u===xe?"0.71em":"0.32em")),Z!==q)L=L.transition(Z),v=v.transition(Z),W=W.transition(Z),T=T.transition(Z),x=x.transition(Z).attr("opacity",UL0).attr("transform",function(R){return isFinite(R=l(R))?M(R+z):this.getAttribute("transform")}),S.attr("opacity",UL0).attr("transform",function(R){var Y=this.parentNode.__axis;return M((Y&&isFinite(Y=Y(R))?Y:l(R))+z)});x.remove(),L.attr("d",u===fN||u===ve?F?"M"+k*F+","+G+"H"+z+"V"+H+"H"+k*F:"M"+z+","+G+"V"+H:F?"M"+G+","+k*F+"V"+z+"H"+H+"V"+k*F:"M"+G+","+z+"H"+H),v.attr("opacity",1).attr("transform",function(R){return M(l(R)+z)}),W.attr(f+"2",k*D),T.attr(f,k*w).text(K),q.filter(j94).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",u===ve?"start":u===fN?"end":"middle"),q.each(function(){this.__axis=l})}return b.scale=function(Z){return arguments.length?(B=Z,b):B},b.ticks=function(){return E=Array.from(arguments),b},b.tickArguments=function(Z){return arguments.length?(E=Z==null?[]:Array.from(Z),b):E.slice()},b.tickValues=function(Z){return arguments.length?(A=Z==null?null:Array.from(Z),b):A&&A.slice()},b.tickFormat=function(Z){return arguments.length?(C=Z,b):C},b.tickSize=function(Z){return arguments.length?(D=F=+Z,b):D},b.tickSizeInner=function(Z){return arguments.length?(D=+Z,b):D},b.tickSizeOuter=function(Z){return arguments.length?(F=+Z,b):F},b.tickPadding=function(Z){return arguments.length?(U=+Z,b):U},b.offset=function(Z){return arguments.length?(z=+Z,b):z},b}function We(u){return zL0(MN,u)}function Se(u){return zL0(xe,u)}var MN=1,ve=2,xe=3,fN=4,UL0=0.000001;var kL0=()=>{};var fL0=g(()=>{kL0()});function bL0(){for(var u=0,B=arguments.length,E={},A;u<B;++u){if(!(A=arguments[u]+"")||A in E||/[\s.]/.test(A))throw Error("illegal type: "+A);E[A]=[]}return new bN(E)}function bN(u){this._=u}function V94(u,B){return u.trim().split(/^|\s+/).map(function(E){var A="",C=E.indexOf(".");if(C>=0)A=E.slice(C+1),E=E.slice(0,C);if(E&&!B.hasOwnProperty(E))throw Error("unknown type: "+E);return{type:E,name:A}})}function h94(u,B){for(var E=0,A=u.length,C;E<A;++E)if((C=u[E]).name===B)return C.value}function ML0(u,B,E){for(var A=0,C=u.length;A<C;++A)if(u[A].name===B){u[A]=N94,u=u.slice(0,A).concat(u.slice(A+1));break}if(E!=null)u.push({name:B,value:E});return u}var N94,Ye;var ZL0=g(()=>{N94={value:()=>{}};bN.prototype=bL0.prototype={constructor:bN,on:function(u,B){var E=this._,A=V94(u+"",E),C,D=-1,F=A.length;if(arguments.length<2){while(++D<F)if((C=(u=A[D]).type)&&(C=h94(E[C],u.name)))return C;return}if(B!=null&&typeof B!=="function")throw Error("invalid callback: "+B);while(++D<F)if(C=(u=A[D]).type)E[C]=ML0(E[C],u.name,B);else if(B==null)for(C in E)E[C]=ML0(E[C],u.name,null);return this},copy:function(){var u={},B=this._;for(var E in B)u[E]=B[E].slice();return new bN(u)},call:function(u,B){if((C=arguments.length-2)>0)for(var E=Array(C),A=0,C,D;A<C;++A)E[A]=arguments[A+2];if(!this._.hasOwnProperty(u))throw Error("unknown type: "+u);for(D=this._[u],A=0,C=D.length;A<C;++A)D[A].value.apply(B,E)},apply:function(u,B,E){if(!this._.hasOwnProperty(u))throw Error("unknown type: "+u);for(var A=this._[u],C=0,D=A.length;C<D;++C)A[C].value.apply(B,E)}};Ye=bL0});var Re=g(()=>{ZL0()});var ZN="http://www.w3.org/1999/xhtml",Te;var Oe=g(()=>{Te={svg:"http://www.w3.org/2000/svg",xhtml:ZN,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function qF(u){var B=u+="",E=B.indexOf(":");if(E>=0&&(B=u.slice(0,E))!=="xmlns")u=u.slice(E+1);return Te.hasOwnProperty(B)?{space:Te[B],local:u}:u}var JN=g(()=>{Oe()});function i94(u){return function(){var B=this.ownerDocument,E=this.namespaceURI;return E===ZN&&B.documentElement.namespaceURI===ZN?B.createElement(u):B.createElementNS(E,u)}}function a94(u){return function(){return this.ownerDocument.createElementNS(u.space,u.local)}}function Px(u){var B=qF(u);return(B.local?a94:i94)(B)}var Ie=g(()=>{JN();Oe()});function m94(){}function cf(u){return u==null?m94:function(){return this.querySelector(u)}}function Pe(u){if(typeof u!=="function")u=cf(u);for(var B=this._groups,E=B.length,A=Array(E),C=0;C<E;++C)for(var D=B[C],F=D.length,U=A[C]=Array(F),z,k,f=0;f<F;++f)if((z=D[f])&&(k=u.call(z,z.__data__,f,D))){if("__data__"in z)k.__data__=z.__data__;U[f]=k}return new N9(A,this._parents)}var JL0=g(()=>{JC()});function je(u){return u==null?[]:Array.isArray(u)?u:Array.from(u)}function $94(){return[]}function UH(u){return u==null?$94:function(){return this.querySelectorAll(u)}}function y94(u){return function(){return je(u.apply(this,arguments))}}function Ne(u){if(typeof u==="function")u=y94(u);else u=UH(u);for(var B=this._groups,E=B.length,A=[],C=[],D=0;D<E;++D)for(var F=B[D],U=F.length,z,k=0;k<U;++k)if(z=F[k])A.push(u.call(z,z.__data__,k,F)),C.push(z);return new N9(A,C)}var KL0=g(()=>{JC()});function zH(u){return function(){return this.matches(u)}}function KN(u){return function(B){return B.matches(u)}}function g94(u){return function(){return r94.call(this.children,u)}}function c94(){return this.firstElementChild}function Ve(u){return this.select(u==null?c94:g94(typeof u==="function"?u:KN(u)))}var r94;var wL0=g(()=>{r94=Array.prototype.find});function p94(){return Array.from(this.children)}function n94(u){return function(){return _94.call(this.children,u)}}function he(u){return this.selectAll(u==null?p94:n94(typeof u==="function"?u:KN(u)))}var _94;var QL0=g(()=>{_94=Array.prototype.filter});function ie(u){if(typeof u!=="function")u=zH(u);for(var B=this._groups,E=B.length,A=Array(E),C=0;C<E;++C)for(var D=B[C],F=D.length,U=A[C]=[],z,k=0;k<F;++k)if((z=D[k])&&u.call(z,z.__data__,k,D))U.push(z);return new N9(A,this._parents)}var GL0=g(()=>{JC()});function jx(u){return Array(u.length)}function ae(){return new N9(this._enter||this._groups.map(jx),this._parents)}function Nx(u,B){this.ownerDocument=u.ownerDocument,this.namespaceURI=u.namespaceURI,this._next=null,this._parent=u,this.__data__=B}var me=g(()=>{JC();Nx.prototype={constructor:Nx,appendChild:function(u){return this._parent.insertBefore(u,this._next)},insertBefore:function(u,B){return this._parent.insertBefore(u,B)},querySelector:function(u){return this._parent.querySelector(u)},querySelectorAll:function(u){return this._parent.querySelectorAll(u)}}});function $e(u){return function(){return u}}function d94(u,B,E,A,C,D){var F=0,U,z=B.length,k=D.length;for(;F<k;++F)if(U=B[F])U.__data__=D[F],A[F]=U;else E[F]=new Nx(u,D[F]);for(;F<z;++F)if(U=B[F])C[F]=U}function s94(u,B,E,A,C,D,F){var U,z,k=new Map,f=B.length,M=D.length,b=Array(f),Z;for(U=0;U<f;++U)if(z=B[U])if(b[U]=Z=F.call(z,z.__data__,U,B)+"",k.has(Z))C[U]=z;else k.set(Z,z);for(U=0;U<M;++U)if(Z=F.call(u,D[U],U,D)+"",z=k.get(Z))A[U]=z,z.__data__=D[U],k.delete(Z);else E[U]=new Nx(u,D[U]);for(U=0;U<f;++U)if((z=B[U])&&k.get(b[U])===z)C[U]=z}function o94(u){return u.__data__}function ye(u,B){if(!arguments.length)return Array.from(this,o94);var E=B?s94:d94,A=this._parents,C=this._groups;if(typeof u!=="function")u=$e(u);for(var D=C.length,F=Array(D),U=Array(D),z=Array(D),k=0;k<D;++k){var f=A[k],M=C[k],b=M.length,Z=t94(u.call(f,f&&f.__data__,k,A)),J=Z.length,K=U[k]=Array(J),w=F[k]=Array(J),Q=z[k]=Array(b);E(f,M,K,w,Q,Z,B);for(var G=0,H=0,l,q;G<J;++G)if(l=K[G]){if(G>=H)H=G+1;while(!(q=w[H])&&++H<J);l._next=q||null}}return F=new N9(F,A),F._enter=U,F._exit=z,F}function t94(u){return typeof u==="object"&&"length"in u?u:Array.from(u)}var HL0=g(()=>{JC();me()});function re(){return new N9(this._exit||this._groups.map(jx),this._parents)}var qL0=g(()=>{JC()});function ge(u,B,E){var A=this.enter(),C=this,D=this.exit();if(typeof u==="function"){if(A=u(A),A)A=A.selection()}else A=A.append(u+"");if(B!=null){if(C=B(C),C)C=C.selection()}if(E==null)D.remove();else E(D);return A&&C?A.merge(C).order():C}function ce(u){var B=u.selection?u.selection():u;for(var E=this._groups,A=B._groups,C=E.length,D=A.length,F=Math.min(C,D),U=Array(C),z=0;z<F;++z)for(var k=E[z],f=A[z],M=k.length,b=U[z]=Array(M),Z,J=0;J<M;++J)if(Z=k[J]||f[J])b[J]=Z;for(;z<C;++z)U[z]=E[z];return new N9(U,this._parents)}var lL0=g(()=>{JC()});function _e(){for(var u=this._groups,B=-1,E=u.length;++B<E;)for(var A=u[B],C=A.length-1,D=A[C],F;--C>=0;)if(F=A[C]){if(D&&F.compareDocumentPosition(D)^4)D.parentNode.insertBefore(F,D);D=F}return this}function pe(u){if(!u)u=e94;function B(M,b){return M&&b?u(M.__data__,b.__data__):!M-!b}for(var E=this._groups,A=E.length,C=Array(A),D=0;D<A;++D){for(var F=E[D],U=F.length,z=C[D]=Array(U),k,f=0;f<U;++f)if(k=F[f])z[f]=k;z.sort(B)}return new N9(C,this._parents).order()}function e94(u,B){return u<B?-1:u>B?1:u>=B?0:NaN}var LL0=g(()=>{JC()});function ne(){var u=arguments[0];return arguments[0]=this,u.apply(null,arguments),this}function de(){return Array.from(this)}function se(){for(var u=this._groups,B=0,E=u.length;B<E;++B)for(var A=u[B],C=0,D=A.length;C<D;++C){var F=A[C];if(F)return F}return null}function oe(){let u=0;for(let B of this)++u;return u}function te(){return!this.node()}function ee(u){for(var B=this._groups,E=0,A=B.length;E<A;++E)for(var C=B[E],D=0,F=C.length,U;D<F;++D)if(U=C[D])u.call(U,U.__data__,D,C);return this}function u24(u){return function(){this.removeAttribute(u)}}function B24(u){return function(){this.removeAttributeNS(u.space,u.local)}}function E24(u,B){return function(){this.setAttribute(u,B)}}function A24(u,B){return function(){this.setAttributeNS(u.space,u.local,B)}}function C24(u,B){return function(){var E=B.apply(this,arguments);if(E==null)this.removeAttribute(u);else this.setAttribute(u,E)}}function D24(u,B){return function(){var E=B.apply(this,arguments);if(E==null)this.removeAttributeNS(u.space,u.local);else this.setAttributeNS(u.space,u.local,E)}}function u00(u,B){var E=qF(u);if(arguments.length<2){var A=this.node();return E.local?A.getAttributeNS(E.space,E.local):A.getAttribute(E)}return this.each((B==null?E.local?B24:u24:typeof B==="function"?E.local?D24:C24:E.local?A24:E24)(E,B))}var XL0=g(()=>{JN()});function Vx(u){return u.ownerDocument&&u.ownerDocument.defaultView||u.document&&u||u.defaultView}function F24(u){return function(){this.style.removeProperty(u)}}function U24(u,B,E){return function(){this.style.setProperty(u,B,E)}}function z24(u,B,E){return function(){var A=B.apply(this,arguments);if(A==null)this.style.removeProperty(u);else this.style.setProperty(u,A,E)}}function B00(u,B,E){return arguments.length>1?this.each((B==null?F24:typeof B==="function"?z24:U24)(u,B,E==null?"":E)):_f(this.node(),u)}function _f(u,B){return u.style.getPropertyValue(B)||Vx(u).getComputedStyle(u,null).getPropertyValue(B)}var E00=()=>{};function k24(u){return function(){delete this[u]}}function f24(u,B){return function(){this[u]=B}}function M24(u,B){return function(){var E=B.apply(this,arguments);if(E==null)delete this[u];else this[u]=E}}function A00(u,B){return arguments.length>1?this.each((B==null?k24:typeof B==="function"?M24:f24)(u,B)):this.node()[u]}function vL0(u){return u.trim().split(/^|\s+/)}function C00(u){return u.classList||new xL0(u)}function xL0(u){this._node=u,this._names=vL0(u.getAttribute("class")||"")}function WL0(u,B){var E=C00(u),A=-1,C=B.length;while(++A<C)E.add(B[A])}function SL0(u,B){var E=C00(u),A=-1,C=B.length;while(++A<C)E.remove(B[A])}function b24(u){return function(){WL0(this,u)}}function Z24(u){return function(){SL0(this,u)}}function J24(u,B){return function(){(B.apply(this,arguments)?WL0:SL0)(this,u)}}function D00(u,B){var E=vL0(u+"");if(arguments.length<2){var A=C00(this.node()),C=-1,D=E.length;while(++C<D)if(!A.contains(E[C]))return!1;return!0}return this.each((typeof B==="function"?J24:B?b24:Z24)(E,B))}var YL0=g(()=>{xL0.prototype={add:function(u){var B=this._names.indexOf(u);if(B<0)this._names.push(u),this._node.setAttribute("class",this._names.join(" "))},remove:function(u){var B=this._names.indexOf(u);if(B>=0)this._names.splice(B,1),this._node.setAttribute("class",this._names.join(" "))},contains:function(u){return this._names.indexOf(u)>=0}}});function K24(){this.textContent=""}function w24(u){return function(){this.textContent=u}}function Q24(u){return function(){var B=u.apply(this,arguments);this.textContent=B==null?"":B}}function F00(u){return arguments.length?this.each(u==null?K24:(typeof u==="function"?Q24:w24)(u)):this.node().textContent}function G24(){this.innerHTML=""}function H24(u){return function(){this.innerHTML=u}}function q24(u){return function(){var B=u.apply(this,arguments);this.innerHTML=B==null?"":B}}function U00(u){return arguments.length?this.each(u==null?G24:(typeof u==="function"?q24:H24)(u)):this.node().innerHTML}function l24(){if(this.nextSibling)this.parentNode.appendChild(this)}function z00(){return this.each(l24)}function L24(){if(this.previousSibling)this.parentNode.insertBefore(this,this.parentNode.firstChild)}function k00(){return this.each(L24)}function f00(u){var B=typeof u==="function"?u:Px(u);return this.select(function(){return this.appendChild(B.apply(this,arguments))})}var RL0=g(()=>{Ie()});function X24(){return null}function M00(u,B){var E=typeof u==="function"?u:Px(u),A=B==null?X24:typeof B==="function"?B:cf(B);return this.select(function(){return this.insertBefore(E.apply(this,arguments),A.apply(this,arguments)||null)})}var TL0=g(()=>{Ie()});function v24(){var u=this.parentNode;if(u)u.removeChild(this)}function b00(){return this.each(v24)}function x24(){var u=this.cloneNode(!1),B=this.parentNode;return B?B.insertBefore(u,this.nextSibling):u}function W24(){var u=this.cloneNode(!0),B=this.parentNode;return B?B.insertBefore(u,this.nextSibling):u}function Z00(u){return this.select(u?W24:x24)}function J00(u){return arguments.length?this.property("__data__",u):this.node().__data__}function S24(u){return function(B){u.call(this,B,this.__data__)}}function Y24(u){return u.trim().split(/^|\s+/).map(function(B){var E="",A=B.indexOf(".");if(A>=0)E=B.slice(A+1),B=B.slice(0,A);return{type:B,name:E}})}function R24(u){return function(){var B=this.__on;if(!B)return;for(var E=0,A=-1,C=B.length,D;E<C;++E)if(D=B[E],(!u.type||D.type===u.type)&&D.name===u.name)this.removeEventListener(D.type,D.listener,D.options);else B[++A]=D;if(++A)B.length=A;else delete this.__on}}function T24(u,B,E){return function(){var A=this.__on,C,D=S24(B);if(A){for(var F=0,U=A.length;F<U;++F)if((C=A[F]).type===u.type&&C.name===u.name){this.removeEventListener(C.type,C.listener,C.options),this.addEventListener(C.type,C.listener=D,C.options=E),C.value=B;return}}if(this.addEventListener(u.type,D,E),C={type:u.type,name:u.name,value:B,listener:D,options:E},!A)this.__on=[C];else A.push(C)}}function K00(u,B,E){var A=Y24(u+""),C,D=A.length,F;if(arguments.length<2){var U=this.node().__on;if(U){for(var z=0,k=U.length,f;z<k;++z)for(C=0,f=U[z];C<D;++C)if((F=A[C]).type===f.type&&F.name===f.name)return f.value}return}U=B?T24:R24;for(C=0;C<D;++C)this.each(U(A[C],B,E));return this}function OL0(u,B,E){var A=Vx(u),C=A.CustomEvent;if(typeof C==="function")C=new C(B,E);else if(C=A.document.createEvent("Event"),E)C.initEvent(B,E.bubbles,E.cancelable),C.detail=E.detail;else C.initEvent(B,!1,!1);u.dispatchEvent(C)}function O24(u,B){return function(){return OL0(this,u,B)}}function I24(u,B){return function(){return OL0(this,u,B.apply(this,arguments))}}function w00(u,B){return this.each((typeof B==="function"?I24:O24)(u,B))}var IL0=()=>{};function*Q00(){for(var u=this._groups,B=0,E=u.length;B<E;++B)for(var A=u[B],C=0,D=A.length,F;C<D;++C)if(F=A[C])yield F}function N9(u,B){this._groups=u,this._parents=B}function PL0(){return new N9([[document.documentElement]],G00)}function P24(){return this}var G00,Oz;var JC=g(()=>{JL0();KL0();wL0();QL0();GL0();HL0();me();qL0();lL0();LL0();XL0();E00();YL0();RL0();TL0();IL0();G00=[null];N9.prototype=PL0.prototype={constructor:N9,select:Pe,selectAll:Ne,selectChild:Ve,selectChildren:he,filter:ie,data:ye,enter:ae,exit:re,join:ge,merge:ce,selection:P24,order:_e,sort:pe,call:ne,nodes:de,node:se,size:oe,empty:te,each:ee,attr:u00,style:B00,property:A00,classed:D00,text:F00,html:U00,raise:z00,lower:k00,append:f00,insert:M00,remove:b00,clone:Z00,datum:J00,on:K00,dispatch:w00,[Symbol.iterator]:Q00};Oz=PL0});function Qu(u){return typeof u==="string"?new N9([[document.querySelector(u)]],[document.documentElement]):new N9([[u]],G00)}var jL0=g(()=>{JC()});var KC=g(()=>{JN();jL0();JC();E00()});var NL0=()=>{};function pf(u,B,E){u.prototype=B.prototype=E,E.constructor=u}function kH(u,B){var E=Object.create(u.prototype);for(var A in B)E[A]=B[A];return E}function nf(){}function hL0(){return this.rgb().formatHex()}function $24(){return this.rgb().formatHex8()}function y24(){return gL0(this).formatHsl()}function iL0(){return this.rgb().formatRgb()}function QC(u){var B,E;return u=(u+"").trim().toLowerCase(),(B=j24.exec(u))?(E=B[1].length,B=parseInt(B[1],16),E===6?aL0(B):E===3?new e5(B>>8&15|B>>4&240,B>>4&15|B&240,(B&15)<<4|B&15,1):E===8?wN(B>>24&255,B>>16&255,B>>8&255,(B&255)/255):E===4?wN(B>>12&15|B>>8&240,B>>8&15|B>>4&240,B>>4&15|B&240,((B&15)<<4|B&15)/255):null):(B=N24.exec(u))?new e5(B[1],B[2],B[3],1):(B=V24.exec(u))?new e5(B[1]*255/100,B[2]*255/100,B[3]*255/100,1):(B=h24.exec(u))?wN(B[1],B[2],B[3],B[4]):(B=i24.exec(u))?wN(B[1]*255/100,B[2]*255/100,B[3]*255/100,B[4]):(B=a24.exec(u))?yL0(B[1],B[2]/100,B[3]/100,1):(B=m24.exec(u))?yL0(B[1],B[2]/100,B[3]/100,B[4]):VL0.hasOwnProperty(u)?aL0(VL0[u]):u==="transparent"?new e5(NaN,NaN,NaN,0):null}function aL0(u){return new e5(u>>16&255,u>>8&255,u&255,1)}function wN(u,B,E,A){if(A<=0)u=B=E=NaN;return new e5(u,B,E,A)}function q00(u){if(!(u instanceof nf))u=QC(u);if(!u)return new e5;return u=u.rgb(),new e5(u.r,u.g,u.b,u.opacity)}function MH(u,B,E,A){return arguments.length===1?q00(u):new e5(u,B,E,A==null?1:A)}function e5(u,B,E,A){this.r=+u,this.g=+B,this.b=+E,this.opacity=+A}function mL0(){return`#${mJ(this.r)}${mJ(this.g)}${mJ(this.b)}`}function r24(){return`#${mJ(this.r)}${mJ(this.g)}${mJ(this.b)}${mJ((isNaN(this.opacity)?1:this.opacity)*255)}`}function $L0(){let u=HN(this.opacity);return`${u===1?"rgb(":"rgba("}${$J(this.r)}, ${$J(this.g)}, ${$J(this.b)}${u===1?")":`, ${u})`}`}function HN(u){return isNaN(u)?1:Math.max(0,Math.min(1,u))}function $J(u){return Math.max(0,Math.min(255,Math.round(u)||0))}function mJ(u){return u=$J(u),(u<16?"0":"")+u.toString(16)}function yL0(u,B,E,A){if(A<=0)u=B=E=NaN;else if(E<=0||E>=1)u=B=NaN;else if(B<=0)u=NaN;return new wC(u,B,E,A)}function gL0(u){if(u instanceof wC)return new wC(u.h,u.s,u.l,u.opacity);if(!(u instanceof nf))u=QC(u);if(!u)return new wC;if(u instanceof wC)return u;u=u.rgb();var B=u.r/255,E=u.g/255,A=u.b/255,C=Math.min(B,E,A),D=Math.max(B,E,A),F=NaN,U=D-C,z=(D+C)/2;if(U){if(B===D)F=(E-A)/U+(E<A)*6;else if(E===D)F=(A-B)/U+2;else F=(B-E)/U+4;U/=z<0.5?D+C:2-D-C,F*=60}else U=z>0&&z<1?0:F;return new wC(F,U,z,u.opacity)}function cL0(u,B,E,A){return arguments.length===1?gL0(u):new wC(u,B,E,A==null?1:A)}function wC(u,B,E,A){this.h=+u,this.s=+B,this.l=+E,this.opacity=+A}function rL0(u){return u=(u||0)%360,u<0?u+360:u}function QN(u){return Math.max(0,Math.min(1,u||0))}function H00(u,B,E){return(u<60?B+(E-B)*u/60:u<180?E:u<240?B+(E-B)*(240-u)/60:B)*255}var hx=0.7,GN,fH="\\s*([+-]?\\d+)\\s*",ix="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",lF="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",j24,N24,V24,h24,i24,a24,m24,VL0;var l00=g(()=>{GN=1/hx,j24=/^#([0-9a-f]{3,8})$/,N24=new RegExp(`^rgb\\(${fH},${fH},${fH}\\)$`),V24=new RegExp(`^rgb\\(${lF},${lF},${lF}\\)$`),h24=new RegExp(`^rgba\\(${fH},${fH},${fH},${ix}\\)$`),i24=new RegExp(`^rgba\\(${lF},${lF},${lF},${ix}\\)$`),a24=new RegExp(`^hsl\\(${ix},${lF},${lF}\\)$`),m24=new RegExp(`^hsla\\(${ix},${lF},${lF},${ix}\\)$`),VL0={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};pf(nf,QC,{copy(u){return Object.assign(new this.constructor,this,u)},displayable(){return this.rgb().displayable()},hex:hL0,formatHex:hL0,formatHex8:$24,formatHsl:y24,formatRgb:iL0,toString:iL0});pf(e5,MH,kH(nf,{brighter(u){return u=u==null?GN:Math.pow(GN,u),new e5(this.r*u,this.g*u,this.b*u,this.opacity)},darker(u){return u=u==null?hx:Math.pow(hx,u),new e5(this.r*u,this.g*u,this.b*u,this.opacity)},rgb(){return this},clamp(){return new e5($J(this.r),$J(this.g),$J(this.b),HN(this.opacity))},displayable(){return-0.5<=this.r&&this.r<255.5&&(-0.5<=this.g&&this.g<255.5)&&(-0.5<=this.b&&this.b<255.5)&&(0<=this.opacity&&this.opacity<=1)},hex:mL0,formatHex:mL0,formatHex8:r24,formatRgb:$L0,toString:$L0}));pf(wC,cL0,kH(nf,{brighter(u){return u=u==null?GN:Math.pow(GN,u),new wC(this.h,this.s,this.l*u,this.opacity)},darker(u){return u=u==null?hx:Math.pow(hx,u),new wC(this.h,this.s,this.l*u,this.opacity)},rgb(){var u=this.h%360+(this.h<0)*360,B=isNaN(u)||isNaN(this.s)?0:this.s,E=this.l,A=E+(E<0.5?E:1-E)*B,C=2*E-A;return new e5(H00(u>=240?u-240:u+120,C,A),H00(u,C,A),H00(u<120?u+240:u-120,C,A),this.opacity)},clamp(){return new wC(rL0(this.h),QN(this.s),QN(this.l),HN(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&(0<=this.l&&this.l<=1)&&(0<=this.opacity&&this.opacity<=1)},formatHsl(){let u=HN(this.opacity);return`${u===1?"hsl(":"hsla("}${rL0(this.h)}, ${QN(this.s)*100}%, ${QN(this.l)*100}%${u===1?")":`, ${u})`}`}}))});var _L0,pL0;var nL0=g(()=>{_L0=Math.PI/180,pL0=180/Math.PI});function uX0(u){if(u instanceof LF)return new LF(u.l,u.a,u.b,u.opacity);if(u instanceof Iz)return BX0(u);if(!(u instanceof e5))u=q00(u);var B=x00(u.r),E=x00(u.g),A=x00(u.b),C=L00((0.2225045*B+0.7168786*E+0.0606169*A)/sL0),D,F;if(B===E&&E===A)D=F=C;else D=L00((0.4360747*B+0.3850649*E+0.1430804*A)/dL0),F=L00((0.0139322*B+0.0971045*E+0.7141733*A)/oL0);return new LF(116*C-16,500*(D-C),200*(C-F),u.opacity)}function W00(u,B,E,A){return arguments.length===1?uX0(u):new LF(u,B,E,A==null?1:A)}function LF(u,B,E,A){this.l=+u,this.a=+B,this.b=+E,this.opacity=+A}function L00(u){return u>g24?Math.pow(u,0.3333333333333333):u/eL0+tL0}function X00(u){return u>bH?u*u*u:eL0*(u-tL0)}function v00(u){return 255*(u<=0.0031308?12.92*u:1.055*Math.pow(u,0.4166666666666667)-0.055)}function x00(u){return(u/=255)<=0.04045?u/12.92:Math.pow((u+0.055)/1.055,2.4)}function c24(u){if(u instanceof Iz)return new Iz(u.h,u.c,u.l,u.opacity);if(!(u instanceof LF))u=uX0(u);if(u.a===0&&u.b===0)return new Iz(NaN,0<u.l&&u.l<100?0:NaN,u.l,u.opacity);var B=Math.atan2(u.b,u.a)*pL0;return new Iz(B<0?B+360:B,Math.sqrt(u.a*u.a+u.b*u.b),u.l,u.opacity)}function ax(u,B,E,A){return arguments.length===1?c24(u):new Iz(u,B,E,A==null?1:A)}function Iz(u,B,E,A){this.h=+u,this.c=+B,this.l=+E,this.opacity=+A}function BX0(u){if(isNaN(u.h))return new LF(u.l,0,0,u.opacity);var B=u.h*_L0;return new LF(u.l,Math.cos(B)*u.c,Math.sin(B)*u.c,u.opacity)}var qN=18,dL0=0.96422,sL0=1,oL0=0.82521,tL0=0.13793103448275862,bH=0.20689655172413793,eL0,g24;var EX0=g(()=>{l00();nL0();eL0=3*bH*bH,g24=bH*bH*bH;pf(LF,W00,kH(nf,{brighter(u){return new LF(this.l+qN*(u==null?1:u),this.a,this.b,this.opacity)},darker(u){return new LF(this.l-qN*(u==null?1:u),this.a,this.b,this.opacity)},rgb(){var u=(this.l+16)/116,B=isNaN(this.a)?u:u+this.a/500,E=isNaN(this.b)?u:u-this.b/200;return B=dL0*X00(B),u=sL0*X00(u),E=oL0*X00(E),new e5(v00(3.1338561*B-1.6168667*u-0.4906146*E),v00(-0.9787684*B+1.9161415*u+0.033454*E),v00(0.0719453*B-0.2289914*u+1.4052427*E),this.opacity)}}));pf(Iz,ax,kH(nf,{brighter(u){return new Iz(this.h,this.c,this.l+qN*(u==null?1:u),this.opacity)},darker(u){return new Iz(this.h,this.c,this.l-qN*(u==null?1:u),this.opacity)},rgb(){return BX0(this).rgb()}}))});var ZH=g(()=>{l00();EX0()});function S00(u,B,E,A,C){var D=u*u,F=D*u;return((1-3*u+3*D-F)*B+(4-6*D+3*F)*E+(1+3*u+3*D-3*F)*A+F*C)/6}function Y00(u){var B=u.length-1;return function(E){var A=E<=0?E=0:E>=1?(E=1,B-1):Math.floor(E*B),C=u[A],D=u[A+1],F=A>0?u[A-1]:2*C-D,U=A<B-1?u[A+2]:2*D-C;return S00((E-A/B)*B,F,C,D,U)}}function R00(u){var B=u.length;return function(E){var A=Math.floor(((E%=1)<0?++E:E)*B),C=u[(A+B-1)%B],D=u[A%B],F=u[(A+1)%B],U=u[(A+2)%B];return S00((E-A/B)*B,C,D,F,U)}}var AX0=()=>{};var JH=(u)=>()=>u;function CX0(u,B){return function(E){return u+E*B}}function _24(u,B,E){return u=Math.pow(u,E),B=Math.pow(B,E)-u,E=1/E,function(A){return Math.pow(u+A*B,E)}}function DX0(u,B){var E=B-u;return E?CX0(u,E>180||E<-180?E-360*Math.round(E/360):E):JH(isNaN(u)?B:u)}function FX0(u){return(u=+u)===1?Pz:function(B,E){return E-B?_24(B,E,u):JH(isNaN(B)?E:B)}}function Pz(u,B){var E=B-u;return E?CX0(u,E):JH(isNaN(u)?B:u)}var T00=()=>{};function UX0(u){return function(B){var E=B.length,A=Array(E),C=Array(E),D=Array(E),F,U;for(F=0;F<E;++F)U=MH(B[F]),A[F]=U.r||0,C[F]=U.g||0,D[F]=U.b||0;return A=u(A),C=u(C),D=u(D),U.opacity=1,function(z){return U.r=A(z),U.g=C(z),U.b=D(z),U+""}}}var yJ,p24,n24;var O00=g(()=>{ZH();AX0();T00();yJ=function u(B){var E=FX0(B);function A(C,D){var F=E((C=MH(C)).r,(D=MH(D)).r),U=E(C.g,D.g),z=E(C.b,D.b),k=Pz(C.opacity,D.opacity);return function(f){return C.r=F(f),C.g=U(f),C.b=z(f),C.opacity=k(f),C+""}}return A.gamma=u,A}(1);p24=UX0(Y00),n24=UX0(R00)});function I00(u,B){if(!B)B=[];var E=u?Math.min(B.length,u.length):0,A=B.slice(),C;return function(D){for(C=0;C<E;++C)A[C]=u[C]*(1-D)+B[C]*D;return A}}function zX0(u){return ArrayBuffer.isView(u)&&!(u instanceof DataView)}function kX0(u,B){var E=B?B.length:0,A=u?Math.min(E,u.length):0,C=Array(A),D=Array(E),F;for(F=0;F<A;++F)C[F]=df(u[F],B[F]);for(;F<E;++F)D[F]=B[F];return function(U){for(F=0;F<A;++F)D[F]=C[F](U);return D}}var fX0=g(()=>{lN()});function P00(u,B){var E=new Date;return u=+u,B=+B,function(A){return E.setTime(u*(1-A)+B*A),E}}function X5(u,B){return u=+u,B=+B,function(E){return u*(1-E)+B*E}}function j00(u,B){var E={},A={},C;if(u===null||typeof u!=="object")u={};if(B===null||typeof B!=="object")B={};for(C in B)if(C in u)E[C]=df(u[C],B[C]);else A[C]=B[C];return function(D){for(C in E)A[C]=E[C](D);return A}}var MX0=g(()=>{lN()});function d24(u){return function(){return u}}function s24(u){return function(B){return u(B)+""}}function KH(u,B){var E=V00.lastIndex=N00.lastIndex=0,A,C,D,F=-1,U=[],z=[];u=u+"",B=B+"";while((A=V00.exec(u))&&(C=N00.exec(B))){if((D=C.index)>E)if(D=B.slice(E,D),U[F])U[F]+=D;else U[++F]=D;if((A=A[0])===(C=C[0]))if(U[F])U[F]+=C;else U[++F]=C;else U[++F]=null,z.push({i:F,x:X5(A,C)});E=N00.lastIndex}if(E<B.length)if(D=B.slice(E),U[F])U[F]+=D;else U[++F]=D;return U.length<2?z[0]?s24(z[0].x):d24(B):(B=z.length,function(k){for(var f=0,M;f<B;++f)U[(M=z[f]).i]=M.x(k);return U.join("")})}var V00,N00;var h00=g(()=>{V00=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,N00=new RegExp(V00.source,"g")});function df(u,B){var E=typeof B,A;return B==null||E==="boolean"?JH(B):(E==="number"?X5:E==="string"?(A=QC(B))?(B=A,yJ):KH:B instanceof QC?yJ:B instanceof Date?P00:zX0(B)?I00:Array.isArray(B)?kX0:typeof B.valueOf!=="function"&&typeof B.toString!=="function"||isNaN(B)?j00:X5)(u,B)}var lN=g(()=>{ZH();O00();fX0();MX0();h00()});function LN(u,B){return u=+u,B=+B,function(E){return Math.round(u*(1-E)+B*E)}}function vN(u,B,E,A,C,D){var F,U,z;if(F=Math.sqrt(u*u+B*B))u/=F,B/=F;if(z=u*E+B*A)E-=u*z,A-=B*z;if(U=Math.sqrt(E*E+A*A))E/=U,A/=U,z/=U;if(u*A<B*E)u=-u,B=-B,z=-z,F=-F;return{translateX:C,translateY:D,rotate:Math.atan2(B,u)*bX0,skewX:Math.atan(z)*bX0,scaleX:F,scaleY:U}}var bX0,XN;var ZX0=g(()=>{bX0=180/Math.PI,XN={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function JX0(u){let B=new(typeof DOMMatrix==="function"?DOMMatrix:WebKitCSSMatrix)(u+"");return B.isIdentity?XN:vN(B.a,B.b,B.c,B.d,B.e,B.f)}function KX0(u){if(u==null)return XN;if(!xN)xN=document.createElementNS("http://www.w3.org/2000/svg","g");if(xN.setAttribute("transform",u),!(u=xN.transform.baseVal.consolidate()))return XN;return u=u.matrix,vN(u.a,u.b,u.c,u.d,u.e,u.f)}var xN;var wX0=g(()=>{ZX0()});function QX0(u,B,E,A){function C(k){return k.length?k.pop()+" ":""}function D(k,f,M,b,Z,J){if(k!==M||f!==b){var K=Z.push("translate(",null,B,null,E);J.push({i:K-4,x:X5(k,M)},{i:K-2,x:X5(f,b)})}else if(M||b)Z.push("translate("+M+B+b+E)}function F(k,f,M,b){if(k!==f){if(k-f>180)f+=360;else if(f-k>180)k+=360;b.push({i:M.push(C(M)+"rotate(",null,A)-2,x:X5(k,f)})}else if(f)M.push(C(M)+"rotate("+f+A)}function U(k,f,M,b){if(k!==f)b.push({i:M.push(C(M)+"skewX(",null,A)-2,x:X5(k,f)});else if(f)M.push(C(M)+"skewX("+f+A)}function z(k,f,M,b,Z,J){if(k!==M||f!==b){var K=Z.push(C(Z)+"scale(",null,",",null,")");J.push({i:K-4,x:X5(k,M)},{i:K-2,x:X5(f,b)})}else if(M!==1||b!==1)Z.push(C(Z)+"scale("+M+","+b+")")}return function(k,f){var M=[],b=[];return k=u(k),f=u(f),D(k.translateX,k.translateY,f.translateX,f.translateY,M,b),F(k.rotate,f.rotate,M,b),U(k.skewX,f.skewX,M,b),z(k.scaleX,k.scaleY,f.scaleX,f.scaleY,M,b),k=f=null,function(Z){var J=-1,K=b.length,w;while(++J<K)M[(w=b[J]).i]=w.x(Z);return M.join("")}}}var i00,a00;var GX0=g(()=>{wX0();i00=QX0(JX0,"px, ","px)","deg)"),a00=QX0(KX0,", ",")",")")});function HX0(u){return function(B,E){var A=u((B=ax(B)).h,(E=ax(E)).h),C=Pz(B.c,E.c),D=Pz(B.l,E.l),F=Pz(B.opacity,E.opacity);return function(U){return B.h=A(U),B.c=C(U),B.l=D(U),B.opacity=F(U),B+""}}}var m00,o24;var qX0=g(()=>{ZH();T00();m00=HX0(DX0),o24=HX0(Pz)});var wH=g(()=>{lN();h00();GX0();O00();qX0()});function cx(){return rJ||(XX0(t24),rJ=rx.now()+YN)}function t24(){rJ=0}function gx(){this._call=this._time=this._next=null}function RN(u,B,E){var A=new gx;return A.restart(u,B,E),A}function vX0(){cx(),++QH;var u=WN,B;while(u){if((B=rJ-u._time)>=0)u._call.call(void 0,B);u=u._next}--QH}function lX0(){rJ=(SN=rx.now())+YN,QH=$x=0;try{vX0()}finally{QH=0,u54(),rJ=0}}function e24(){var u=rx.now(),B=u-SN;if(B>LX0)YN-=B,SN=u}function u54(){var u,B=WN,E,A=1/0;while(B)if(B._call){if(A>B._time)A=B._time;u=B,B=B._next}else E=B._next,B._next=null,B=u?u._next=E:WN=E;yx=u,$00(A)}function $00(u){if(QH)return;if($x)$x=clearTimeout($x);var B=u-rJ;if(B>24){if(u<1/0)$x=setTimeout(lX0,u-rx.now()-YN);if(mx)mx=clearInterval(mx)}else{if(!mx)SN=rx.now(),mx=setInterval(e24,LX0);QH=1,XX0(lX0)}}var QH=0,$x=0,mx=0,LX0=1000,WN,yx,SN=0,rJ=0,YN=0,rx,XX0;var y00=g(()=>{rx=typeof performance==="object"&&performance.now?performance:Date,XX0=typeof window==="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(u){setTimeout(u,17)};gx.prototype=RN.prototype={constructor:gx,restart:function(u,B,E){if(typeof u!=="function")throw TypeError("callback is not a function");if(E=(E==null?cx():+E)+(B==null?0:+B),!this._next&&yx!==this){if(yx)yx._next=this;else WN=this;yx=this}this._call=u,this._time=E,$00()},stop:function(){if(this._call)this._call=null,this._time=1/0,$00()}}});function _x(u,B,E){var A=new gx;return B=B==null?0:+B,A.restart((C)=>{A.stop(),u(C+B)},B,E),A}var xX0=g(()=>{y00()});var TN=g(()=>{y00();xX0()});function jz(u,B,E,A,C,D){var F=u.__transition;if(!F)u.__transition={};else if(E in F)return;A54(u,E,{name:B,index:A,group:C,on:B54,tween:E54,time:D.time,delay:D.delay,duration:D.duration,ease:D.ease,timer:null,state:YX0})}function nx(u,B){var E=n2(u,B);if(E.state>YX0)throw Error("too late; already scheduled");return E}function u7(u,B){var E=n2(u,B);if(E.state>ON)throw Error("too late; already running");return E}function n2(u,B){var E=u.__transition;if(!E||!(E=E[B]))throw Error("transition not found");return E}function A54(u,B,E){var A=u.__transition,C;A[B]=E,E.timer=RN(D,0,E.time);function D(k){if(E.state=WX0,E.timer.restart(F,E.delay,E.time),E.delay<=k)F(k-E.delay)}function F(k){var f,M,b,Z;if(E.state!==WX0)return z();for(f in A){if(Z=A[f],Z.name!==E.name)continue;if(Z.state===ON)return _x(F);if(Z.state===SX0)Z.state=px,Z.timer.stop(),Z.on.call("interrupt",u,u.__data__,Z.index,Z.group),delete A[f];else if(+f<B)Z.state=px,Z.timer.stop(),Z.on.call("cancel",u,u.__data__,Z.index,Z.group),delete A[f]}if(_x(function(){if(E.state===ON)E.state=SX0,E.timer.restart(U,E.delay,E.time),U(k)}),E.state=IN,E.on.call("start",u,u.__data__,E.index,E.group),E.state!==IN)return;E.state=ON,C=Array(b=E.tween.length);for(f=0,M=-1;f<b;++f)if(Z=E.tween[f].value.call(u,u.__data__,E.index,E.group))C[++M]=Z;C.length=M+1}function U(k){var f=k<E.duration?E.ease.call(null,k/E.duration):(E.timer.restart(z),E.state=PN,1),M=-1,b=C.length;while(++M<b)C[M].call(u,f);if(E.state===PN)E.on.call("end",u,u.__data__,E.index,E.group),z()}function z(){E.state=px,E.timer.stop(),delete A[B];for(var k in A)return;delete u.__transition}}var B54,E54,YX0=0,WX0=1,IN=2,ON=3,SX0=4,PN=5,px=6;var z8=g(()=>{Re();TN();B54=Ye("start","end","cancel","interrupt"),E54=[]});function dx(u,B){var E=u.__transition,A,C,D=!0,F;if(!E)return;B=B==null?null:B+"";for(F in E){if((A=E[F]).name!==B){D=!1;continue}C=A.state>IN&&A.state<PN,A.state=px,A.timer.stop(),A.on.call(C?"interrupt":"cancel",u,u.__data__,A.index,A.group),delete E[F]}if(D)delete u.__transition}var RX0=g(()=>{z8()});function r00(u){return this.each(function(){dx(this,u)})}var TX0=g(()=>{RX0()});function C54(u,B){var E,A;return function(){var C=u7(this,u),D=C.tween;if(D!==E){A=E=D;for(var F=0,U=A.length;F<U;++F)if(A[F].name===B){A=A.slice(),A.splice(F,1);break}}C.tween=A}}function D54(u,B,E){var A,C;if(typeof E!=="function")throw Error();return function(){var D=u7(this,u),F=D.tween;if(F!==A){C=(A=F).slice();for(var U={name:B,value:E},z=0,k=C.length;z<k;++z)if(C[z].name===B){C[z]=U;break}if(z===k)C.push(U)}D.tween=C}}function g00(u,B){var E=this._id;if(u+="",arguments.length<2){var A=n2(this.node(),E).tween;for(var C=0,D=A.length,F;C<D;++C)if((F=A[C]).name===u)return F.value;return null}return this.each((B==null?C54:D54)(E,u,B))}function GH(u,B,E){var A=u._id;return u.each(function(){var C=u7(this,A);(C.value||(C.value={}))[B]=E.apply(this,arguments)}),function(C){return n2(C,A).value[B]}}var sx=g(()=>{z8()});function ox(u,B){var E;return(typeof B==="number"?X5:B instanceof QC?yJ:(E=QC(B))?(B=E,yJ):KH)(u,B)}var c00=g(()=>{ZH();wH()});function F54(u){return function(){this.removeAttribute(u)}}function U54(u){return function(){this.removeAttributeNS(u.space,u.local)}}function z54(u,B,E){var A,C=E+"",D;return function(){var F=this.getAttribute(u);return F===C?null:F===A?D:D=B(A=F,E)}}function k54(u,B,E){var A,C=E+"",D;return function(){var F=this.getAttributeNS(u.space,u.local);return F===C?null:F===A?D:D=B(A=F,E)}}function f54(u,B,E){var A,C,D;return function(){var F,U=E(this),z;if(U==null)return void this.removeAttribute(u);return F=this.getAttribute(u),z=U+"",F===z?null:F===A&&z===C?D:(C=z,D=B(A=F,U))}}function M54(u,B,E){var A,C,D;return function(){var F,U=E(this),z;if(U==null)return void this.removeAttributeNS(u.space,u.local);return F=this.getAttributeNS(u.space,u.local),z=U+"",F===z?null:F===A&&z===C?D:(C=z,D=B(A=F,U))}}function _00(u,B){var E=qF(u),A=E==="transform"?a00:ox;return this.attrTween(u,typeof B==="function"?(E.local?M54:f54)(E,A,GH(this,"attr."+u,B)):B==null?(E.local?U54:F54)(E):(E.local?k54:z54)(E,A,B))}var OX0=g(()=>{wH();KC();sx();c00()});function b54(u,B){return function(E){this.setAttribute(u,B.call(this,E))}}function Z54(u,B){return function(E){this.setAttributeNS(u.space,u.local,B.call(this,E))}}function J54(u,B){var E,A;function C(){var D=B.apply(this,arguments);if(D!==A)E=(A=D)&&Z54(u,D);return E}return C._value=B,C}function K54(u,B){var E,A;function C(){var D=B.apply(this,arguments);if(D!==A)E=(A=D)&&b54(u,D);return E}return C._value=B,C}function p00(u,B){var E="attr."+u;if(arguments.length<2)return(E=this.tween(E))&&E._value;if(B==null)return this.tween(E,null);if(typeof B!=="function")throw Error();var A=qF(u);return this.tween(E,(A.local?J54:K54)(A,B))}var IX0=g(()=>{KC()});function w54(u,B){return function(){nx(this,u).delay=+B.apply(this,arguments)}}function Q54(u,B){return B=+B,function(){nx(this,u).delay=B}}function n00(u){var B=this._id;return arguments.length?this.each((typeof u==="function"?w54:Q54)(B,u)):n2(this.node(),B).delay}var PX0=g(()=>{z8()});function G54(u,B){return function(){u7(this,u).duration=+B.apply(this,arguments)}}function H54(u,B){return B=+B,function(){u7(this,u).duration=B}}function d00(u){var B=this._id;return arguments.length?this.each((typeof u==="function"?G54:H54)(B,u)):n2(this.node(),B).duration}var jX0=g(()=>{z8()});function q54(u,B){if(typeof B!=="function")throw Error();return function(){u7(this,u).ease=B}}function s00(u){var B=this._id;return arguments.length?this.each(q54(B,u)):n2(this.node(),B).ease}var NX0=g(()=>{z8()});function l54(u,B){return function(){var E=B.apply(this,arguments);if(typeof E!=="function")throw Error();u7(this,u).ease=E}}function o00(u){if(typeof u!=="function")throw Error();return this.each(l54(this._id,u))}var VX0=g(()=>{z8()});function t00(u){if(typeof u!=="function")u=zH(u);for(var B=this._groups,E=B.length,A=Array(E),C=0;C<E;++C)for(var D=B[C],F=D.length,U=A[C]=[],z,k=0;k<F;++k)if((z=D[k])&&u.call(z,z.__data__,k,D))U.push(z);return new wB(A,this._parents,this._name,this._id)}var hX0=g(()=>{KC();gJ()});function e00(u){if(u._id!==this._id)throw Error();for(var B=this._groups,E=u._groups,A=B.length,C=E.length,D=Math.min(A,C),F=Array(A),U=0;U<D;++U)for(var z=B[U],k=E[U],f=z.length,M=F[U]=Array(f),b,Z=0;Z<f;++Z)if(b=z[Z]||k[Z])M[Z]=b;for(;U<A;++U)F[U]=B[U];return new wB(F,this._parents,this._name,this._id)}var iX0=g(()=>{gJ()});function L54(u){return(u+"").trim().split(/^|\s+/).every(function(B){var E=B.indexOf(".");if(E>=0)B=B.slice(0,E);return!B||B==="start"})}function X54(u,B,E){var A,C,D=L54(B)?nx:u7;return function(){var F=D(this,u),U=F.on;if(U!==A)(C=(A=U).copy()).on(B,E);F.on=C}}function uu0(u,B){var E=this._id;return arguments.length<2?n2(this.node(),E).on.on(u):this.each(X54(E,u,B))}var aX0=g(()=>{z8()});function v54(u){return function(){var B=this.parentNode;for(var E in this.__transition)if(+E!==u)return;if(B)B.removeChild(this)}}function Bu0(){return this.on("end.remove",v54(this._id))}function Eu0(u){var B=this._name,E=this._id;if(typeof u!=="function")u=cf(u);for(var A=this._groups,C=A.length,D=Array(C),F=0;F<C;++F)for(var U=A[F],z=U.length,k=D[F]=Array(z),f,M,b=0;b<z;++b)if((f=U[b])&&(M=u.call(f,f.__data__,b,U))){if("__data__"in f)M.__data__=f.__data__;k[b]=M,jz(k[b],B,E,b,k,n2(f,E))}return new wB(D,this._parents,B,E)}var mX0=g(()=>{KC();gJ();z8()});function Au0(u){var B=this._name,E=this._id;if(typeof u!=="function")u=UH(u);for(var A=this._groups,C=A.length,D=[],F=[],U=0;U<C;++U)for(var z=A[U],k=z.length,f,M=0;M<k;++M)if(f=z[M]){for(var b=u.call(f,f.__data__,M,z),Z,J=n2(f,E),K=0,w=b.length;K<w;++K)if(Z=b[K])jz(Z,B,E,K,b,J);D.push(b),F.push(f)}return new wB(D,F,B,E)}var $X0=g(()=>{KC();gJ();z8()});function Cu0(){return new x54(this._groups,this._parents)}var x54;var yX0=g(()=>{KC();x54=Oz.prototype.constructor});function W54(u,B){var E,A,C;return function(){var D=_f(this,u),F=(this.style.removeProperty(u),_f(this,u));return D===F?null:D===E&&F===A?C:C=B(E=D,A=F)}}function rX0(u){return function(){this.style.removeProperty(u)}}function S54(u,B,E){var A,C=E+"",D;return function(){var F=_f(this,u);return F===C?null:F===A?D:D=B(A=F,E)}}function Y54(u,B,E){var A,C,D;return function(){var F=_f(this,u),U=E(this),z=U+"";if(U==null)z=U=(this.style.removeProperty(u),_f(this,u));return F===z?null:F===A&&z===C?D:(C=z,D=B(A=F,U))}}function R54(u,B){var E,A,C,D="style."+B,F="end."+D,U;return function(){var z=u7(this,u),k=z.on,f=z.value[D]==null?U||(U=rX0(B)):void 0;if(k!==E||C!==f)(A=(E=k).copy()).on(F,C=f);z.on=A}}function Du0(u,B,E){var A=(u+="")==="transform"?i00:ox;return B==null?this.styleTween(u,W54(u,A)).on("end.style."+u,rX0(u)):typeof B==="function"?this.styleTween(u,Y54(u,A,GH(this,"style."+u,B))).each(R54(this._id,u)):this.styleTween(u,S54(u,A,B),E).on("end.style."+u,null)}var gX0=g(()=>{wH();KC();z8();sx();c00()});function T54(u,B,E){return function(A){this.style.setProperty(u,B.call(this,A),E)}}function O54(u,B,E){var A,C;function D(){var F=B.apply(this,arguments);if(F!==C)A=(C=F)&&T54(u,F,E);return A}return D._value=B,D}function Fu0(u,B,E){var A="style."+(u+="");if(arguments.length<2)return(A=this.tween(A))&&A._value;if(B==null)return this.tween(A,null);if(typeof B!=="function")throw Error();return this.tween(A,O54(u,B,E==null?"":E))}function I54(u){return function(){this.textContent=u}}function P54(u){return function(){var B=u(this);this.textContent=B==null?"":B}}function Uu0(u){return this.tween("text",typeof u==="function"?P54(GH(this,"text",u)):I54(u==null?"":u+""))}var cX0=g(()=>{sx()});function j54(u){return function(B){this.textContent=u.call(this,B)}}function N54(u){var B,E;function A(){var C=u.apply(this,arguments);if(C!==E)B=(E=C)&&j54(C);return B}return A._value=u,A}function zu0(u){var B="text";if(arguments.length<1)return(B=this.tween(B))&&B._value;if(u==null)return this.tween(B,null);if(typeof u!=="function")throw Error();return this.tween(B,N54(u))}function ku0(){var u=this._name,B=this._id,E=jN();for(var A=this._groups,C=A.length,D=0;D<C;++D)for(var F=A[D],U=F.length,z,k=0;k<U;++k)if(z=F[k]){var f=n2(z,B);jz(z,u,E,k,F,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new wB(A,this._parents,u,E)}var _X0=g(()=>{gJ();z8()});function fu0(){var u,B,E=this,A=E._id,C=E.size();return new Promise(function(D,F){var U={value:F},z={value:function(){if(--C===0)D()}};if(E.each(function(){var k=u7(this,A),f=k.on;if(f!==u)B=(u=f).copy(),B._.cancel.push(U),B._.interrupt.push(U),B._.end.push(z);k.on=B}),C===0)D()})}var pX0=g(()=>{z8()});function wB(u,B,E,A){this._groups=u,this._parents=B,this._name=E,this._id=A}function nX0(u){return Oz().transition(u)}function jN(){return++V54}var V54=0,Nz;var gJ=g(()=>{KC();OX0();IX0();PX0();jX0();NX0();VX0();hX0();iX0();aX0();mX0();$X0();yX0();gX0();cX0();_X0();sx();pX0();Nz=Oz.prototype;wB.prototype=nX0.prototype={constructor:wB,select:Eu0,selectAll:Au0,selectChild:Nz.selectChild,selectChildren:Nz.selectChildren,filter:t00,merge:e00,selection:Cu0,transition:ku0,call:Nz.call,nodes:Nz.nodes,node:Nz.node,size:Nz.size,empty:Nz.empty,each:Nz.each,on:uu0,attr:_00,attrTween:p00,style:Du0,styleTween:Fu0,text:Uu0,textTween:zu0,remove:Bu0,tween:g00,delay:n00,duration:d00,ease:s00,easeVarying:o00,end:fu0,[Symbol.iterator]:Nz[Symbol.iterator]}});function NN(u){return((u*=2)<=1?u*u*u:(u-=2)*u*u+2)/2}var Mu0=()=>{};function i54(u,B){var E;while(!(E=u.__transition)||!(E=E[B]))if(!(u=u.parentNode))throw Error(`transition ${B} not found`);return E}function bu0(u){var B,E;if(u instanceof wB)B=u._id,u=u._name;else B=jN(),(E=h54).time=cx(),u=u==null?null:u+"";for(var A=this._groups,C=A.length,D=0;D<C;++D)for(var F=A[D],U=F.length,z,k=0;k<U;++k)if(z=F[k])jz(z,u,B,k,F,E||i54(z,B));return new wB(A,this._parents,u,B)}var h54;var dX0=g(()=>{gJ();z8();Mu0();TN();h54={time:null,delay:0,duration:250,ease:NN}});var sX0=g(()=>{KC();TX0();dX0();Oz.prototype.interrupt=r00;Oz.prototype.transition=bu0});var VN=g(()=>{sX0()});function oX0(u){return[+u[0],+u[1]]}function a54(u){return[oX0(u[0]),oX0(u[1])]}function Zu0(u){return{type:u}}var US3,zS3,kS3;var tX0=g(()=>{VN();US3={name:"x",handles:["w","e"].map(Zu0),input:function(u,B){return u==null?null:[[+u[0],B[0][1]],[+u[1],B[1][1]]]},output:function(u){return u&&[u[0][0],u[1][0]]}},zS3={name:"y",handles:["n","s"].map(Zu0),input:function(u,B){return u==null?null:[[B[0][0],+u[0]],[B[1][0],+u[1]]]},output:function(u){return u&&[u[0][1],u[1][1]]}},kS3={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Zu0),input:function(u){return u==null?null:a54(u)},output:function(u){return u}}});var eX0=g(()=>{tX0()});function uv0(u){this._+=u[0];for(let B=1,E=u.length;B<E;++B)this._+=arguments[B]+u[B]}function $54(u){let B=Math.floor(u);if(!(B>=0))throw Error(`invalid digits: ${u}`);if(B>15)return uv0;let E=10**B;return function(A){this._+=A[0];for(let C=1,D=A.length;C<D;++C)this._+=Math.round(arguments[C]*E)/E+A[C]}}class HH{constructor(u){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=u==null?uv0:$54(u)}moveTo(u,B){this._append`M${this._x0=this._x1=+u},${this._y0=this._y1=+B}`}closePath(){if(this._x1!==null)this._x1=this._x0,this._y1=this._y0,this._append`Z`}lineTo(u,B){this._append`L${this._x1=+u},${this._y1=+B}`}quadraticCurveTo(u,B,E,A){this._append`Q${+u},${+B},${this._x1=+E},${this._y1=+A}`}bezierCurveTo(u,B,E,A,C,D){this._append`C${+u},${+B},${+E},${+A},${this._x1=+C},${this._y1=+D}`}arcTo(u,B,E,A,C){if(u=+u,B=+B,E=+E,A=+A,C=+C,C<0)throw Error(`negative radius: ${C}`);let D=this._x1,F=this._y1,U=E-u,z=A-B,k=D-u,f=F-B,M=k*k+f*f;if(this._x1===null)this._append`M${this._x1=u},${this._y1=B}`;else if(!(M>0.000001));else if(!(Math.abs(f*U-z*k)>0.000001)||!C)this._append`L${this._x1=u},${this._y1=B}`;else{let b=E-D,Z=A-F,J=U*U+z*z,K=b*b+Z*Z,w=Math.sqrt(J),Q=Math.sqrt(M),G=C*Math.tan((Ju0-Math.acos((J+M-K)/(2*w*Q)))/2),H=G/Q,l=G/w;if(Math.abs(H-1)>0.000001)this._append`L${u+H*k},${B+H*f}`;this._append`A${C},${C},0,0,${+(f*b>k*Z)},${this._x1=u+l*U},${this._y1=B+l*z}`}}arc(u,B,E,A,C,D){if(u=+u,B=+B,E=+E,D=!!D,E<0)throw Error(`negative radius: ${E}`);let F=E*Math.cos(A),U=E*Math.sin(A),z=u+F,k=B+U,f=1^D,M=D?A-C:C-A;if(this._x1===null)this._append`M${z},${k}`;else if(Math.abs(this._x1-z)>0.000001||Math.abs(this._y1-k)>0.000001)this._append`L${z},${k}`;if(!E)return;if(M<0)M=M%Ku0+Ku0;if(M>m54)this._append`A${E},${E},0,1,${f},${u-F},${B-U}A${E},${E},0,1,${f},${this._x1=z},${this._y1=k}`;else if(M>0.000001)this._append`A${E},${E},0,${+(M>=Ju0)},${f},${this._x1=u+E*Math.cos(C)},${this._y1=B+E*Math.sin(C)}`}rect(u,B,E,A){this._append`M${this._x0=this._x1=+u},${this._y0=this._y1=+B}h${E=+E}v${+A}h${-E}Z`}toString(){return this._}}function Bv0(){return new HH}var Ju0,Ku0,m54;var Ev0=g(()=>{Ju0=Math.PI,Ku0=2*Ju0,m54=Ku0-0.000001;Bv0.prototype=HH.prototype});var wu0=g(()=>{Ev0()});var Av0=()=>{};var Cv0=()=>{};var Dv0=()=>{};var Fv0=()=>{};var Uv0=()=>{};var zv0=()=>{};var kv0=()=>{};function Qu0(u){return Math.abs(u=Math.round(u))>=1000000000000000000000?u.toLocaleString("en").replace(/,/g,""):u.toString(10)}function cJ(u,B){if(!isFinite(u)||u===0)return null;var E=(u=B?u.toExponential(B-1):u.toExponential()).indexOf("e"),A=u.slice(0,E);return[A.length>1?A[0]+A.slice(2):A,+u.slice(E+1)]}function GC(u){return u=cJ(Math.abs(u)),u?u[1]:NaN}var tx=()=>{};function Gu0(u,B){return function(E,A){var C=E.length,D=[],F=0,U=u[0],z=0;while(C>0&&U>0){if(z+U+1>A)U=Math.max(1,A-z);if(D.push(E.substring(C-=U,C+U)),(z+=U+1)>A)break;U=u[F=(F+1)%u.length]}return D.reverse().join(B)}}function Hu0(u){return function(B){return B.replace(/[0-9]/g,function(E){return u[+E]})}}function sf(u){if(!(B=y54.exec(u)))throw Error("invalid format: "+u);var B;return new hN({fill:B[1],align:B[2],sign:B[3],symbol:B[4],zero:B[5],width:B[6],comma:B[7],precision:B[8]&&B[8].slice(1),trim:B[9],type:B[10]})}function hN(u){this.fill=u.fill===void 0?" ":u.fill+"",this.align=u.align===void 0?">":u.align+"",this.sign=u.sign===void 0?"-":u.sign+"",this.symbol=u.symbol===void 0?"":u.symbol+"",this.zero=!!u.zero,this.width=u.width===void 0?void 0:+u.width,this.comma=!!u.comma,this.precision=u.precision===void 0?void 0:+u.precision,this.trim=!!u.trim,this.type=u.type===void 0?"":u.type+""}var y54;var qu0=g(()=>{y54=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;sf.prototype=hN.prototype;hN.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type}});function lu0(u){u:for(var B=u.length,E=1,A=-1,C;E<B;++E)switch(u[E]){case".":A=C=E;break;case"0":if(A===0)A=E;C=E;break;default:if(!+u[E])break u;if(A>0)A=0;break}return A>0?u.slice(0,A)+u.slice(C+1):u}function Lu0(u,B){var E=cJ(u,B);if(!E)return ex=void 0,u.toPrecision(B);var A=E[0],C=E[1],D=C-(ex=Math.max(-8,Math.min(8,Math.floor(C/3)))*3)+1,F=A.length;return D===F?A:D>F?A+Array(D-F+1).join("0"):D>0?A.slice(0,D)+"."+A.slice(D):"0."+Array(1-D).join("0")+cJ(u,Math.max(0,B+D-1))[0]}var ex;var Xu0=()=>{};function iN(u,B){var E=cJ(u,B);if(!E)return u+"";var A=E[0],C=E[1];return C<0?"0."+Array(-C).join("0")+A:A.length>C+1?A.slice(0,C+1)+"."+A.slice(C+1):A+Array(C-A.length+2).join("0")}var fv0=()=>{};var vu0;var Mv0=g(()=>{Xu0();fv0();vu0={"%":(u,B)=>(u*100).toFixed(B),b:(u)=>Math.round(u).toString(2),c:(u)=>u+"",d:Qu0,e:(u,B)=>u.toExponential(B),f:(u,B)=>u.toFixed(B),g:(u,B)=>u.toPrecision(B),o:(u)=>Math.round(u).toString(8),p:(u,B)=>iN(u*100,B),r:iN,s:Lu0,X:(u)=>Math.round(u).toString(16).toUpperCase(),x:(u)=>Math.round(u).toString(16)}});function aN(u){return u}function xu0(u){var B=u.grouping===void 0||u.thousands===void 0?aN:Gu0(bv0.call(u.grouping,Number),u.thousands+""),E=u.currency===void 0?"":u.currency[0]+"",A=u.currency===void 0?"":u.currency[1]+"",C=u.decimal===void 0?".":u.decimal+"",D=u.numerals===void 0?aN:Hu0(bv0.call(u.numerals,String)),F=u.percent===void 0?"%":u.percent+"",U=u.minus===void 0?"":u.minus+"",z=u.nan===void 0?"NaN":u.nan+"";function k(M,b){M=sf(M);var{fill:Z,align:J,sign:K,symbol:w,zero:Q,width:G,comma:H,precision:l,trim:q,type:L}=M;if(L==="n")H=!0,L="g";else if(!vu0[L])l===void 0&&(l=12),q=!0,L="g";if(Q||Z==="0"&&J==="=")Q=!0,Z="0",J="=";var v=(b&&b.prefix!==void 0?b.prefix:"")+(w==="$"?E:w==="#"&&/[boxX]/.test(L)?"0"+L.toLowerCase():""),x=(w==="$"?A:/[%p]/.test(L)?F:"")+(b&&b.suffix!==void 0?b.suffix:""),S=vu0[L],W=/[defgprs%]/.test(L);l=l===void 0?6:/[gprs]/.test(L)?Math.max(1,Math.min(21,l)):Math.max(0,Math.min(20,l));function T(R){var Y=v,h=x,I,O,V;if(L==="c")h=S(R)+h,R="";else{R=+R;var j=R<0||1/R<0;if(R=isNaN(R)?z:S(Math.abs(R),l),q)R=lu0(R);if(j&&+R===0&&K!=="+")j=!1;if(Y=(j?K==="("?K:U:K==="-"||K==="("?"":K)+Y,h=(L==="s"&&!isNaN(R)&&ex!==void 0?Zv0[8+ex/3]:"")+h+(j&&K==="("?")":""),W){I=-1,O=R.length;while(++I<O)if(V=R.charCodeAt(I),48>V||V>57){h=(V===46?C+R.slice(I+1):R.slice(I))+h,R=R.slice(0,I);break}}}if(H&&!Q)R=B(R,1/0);var i=Y.length+R.length+h.length,a=i<G?Array(G-i+1).join(Z):"";if(H&&Q)R=B(a+R,a.length?G-h.length:1/0),a="";switch(J){case"<":R=Y+R+h+a;break;case"=":R=Y+a+R+h;break;case"^":R=a.slice(0,i=a.length>>1)+Y+R+h+a.slice(i);break;default:R=a+Y+R+h;break}return D(R)}return T.toString=function(){return M+""},T}function f(M,b){var Z=Math.max(-8,Math.min(8,Math.floor(GC(b)/3)))*3,J=Math.pow(10,-Z),K=k((M=sf(M),M.type="f",M),{suffix:Zv0[8+Z/3]});return function(w){return K(J*w)}}return{format:k,formatPrefix:f}}var bv0,Zv0;var Jv0=g(()=>{tx();qu0();Mv0();Xu0();bv0=Array.prototype.map,Zv0=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"]});function Wu0(u){return mN=xu0(u),XF=mN.format,$N=mN.formatPrefix,mN}var mN,XF,$N;var Kv0=g(()=>{Jv0();Wu0({thousands:",",grouping:[3],currency:["$",""]})});function yN(u){return Math.max(0,-GC(Math.abs(u)))}var wv0=g(()=>{tx()});function rN(u,B){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(GC(B)/3)))*3-GC(Math.abs(u)))}var Qv0=g(()=>{tx()});function gN(u,B){return u=Math.abs(u),B=Math.abs(B)-u,Math.max(0,GC(B)-GC(u))+1}var Gv0=g(()=>{tx()});var Su0=g(()=>{Kv0();qu0();wv0();Qv0();Gv0()});var Hv0=()=>{};function r54(u){var B=0,E=u.children,A=E&&E.length;if(!A)B=1;else while(--A>=0)B+=E[A].value;u.value=B}function Yu0(){return this.eachAfter(r54)}function Ru0(u,B){let E=-1;for(let A of this)u.call(B,A,++E,this);return this}function Tu0(u,B){var E=this,A=[E],C,D,F=-1;while(E=A.pop())if(u.call(B,E,++F,this),C=E.children)for(D=C.length-1;D>=0;--D)A.push(C[D]);return this}function Ou0(u,B){var E=this,A=[E],C=[],D,F,U,z=-1;while(E=A.pop())if(C.push(E),D=E.children)for(F=0,U=D.length;F<U;++F)A.push(D[F]);while(E=C.pop())u.call(B,E,++z,this);return this}function Iu0(u,B){let E=-1;for(let A of this)if(u.call(B,A,++E,this))return A}function Pu0(u){return this.eachAfter(function(B){var E=+u(B.data)||0,A=B.children,C=A&&A.length;while(--C>=0)E+=A[C].value;B.value=E})}function ju0(u){return this.eachBefore(function(B){if(B.children)B.children.sort(u)})}function Nu0(u){var B=this,E=g54(B,u),A=[B];while(B!==E)B=B.parent,A.push(B);var C=A.length;while(u!==E)A.splice(C,0,u),u=u.parent;return A}function g54(u,B){if(u===B)return u;var E=u.ancestors(),A=B.ancestors(),C=null;u=E.pop(),B=A.pop();while(u===B)C=u,u=E.pop(),B=A.pop();return C}function Vu0(){var u=this,B=[u];while(u=u.parent)B.push(u);return B}function hu0(){return Array.from(this)}function iu0(){var u=[];return this.eachBefore(function(B){if(!B.children)u.push(B)}),u}function au0(){var u=this,B=[];return u.each(function(E){if(E!==u)B.push({source:E.parent,target:E})}),B}function*mu0(){var u=this,B,E=[u],A,C,D;do{B=E.reverse(),E=[];while(u=B.pop())if(yield u,A=u.children)for(C=0,D=A.length;C<D;++C)E.push(A[C])}while(E.length)}function qH(u,B){if(u instanceof Map){if(u=[void 0,u],B===void 0)B=p54}else if(B===void 0)B=_54;var E=new uW(u),A,C=[E],D,F,U,z;while(A=C.pop())if((F=B(A.data))&&(z=(F=Array.from(F)).length)){A.children=F;for(U=z-1;U>=0;--U)C.push(D=F[U]=new uW(F[U])),D.parent=A,D.depth=A.depth+1}return E.eachBefore(d54)}function c54(){return qH(this).eachBefore(n54)}function _54(u){return u.children}function p54(u){return Array.isArray(u)?u[1]:null}function n54(u){if(u.data.value!==void 0)u.value=u.data.value;u.data=u.data.data}function d54(u){var B=0;do u.height=B;while((u=u.parent)&&u.height<++B)}function uW(u){this.data=u,this.depth=this.height=0,this.parent=null}var qv0=g(()=>{uW.prototype=qH.prototype={constructor:uW,count:Yu0,each:Ru0,eachAfter:Ou0,eachBefore:Tu0,find:Iu0,sum:Pu0,sort:ju0,path:Nu0,ancestors:Vu0,descendants:hu0,leaves:iu0,links:au0,copy:c54,[Symbol.iterator]:mu0}});function lv0(u){if(typeof u!=="function")throw Error();return u}function lH(){return 0}function _J(u){return function(){return u}}function $u0(u){u.x0=Math.round(u.x0),u.y0=Math.round(u.y0),u.x1=Math.round(u.x1),u.y1=Math.round(u.y1)}function yu0(u,B,E,A,C){var D=u.children,F,U=-1,z=D.length,k=u.value&&(A-B)/u.value;while(++U<z)F=D[U],F.y0=E,F.y1=C,F.x0=B,F.x1=B+=F.value*k}function ru0(u,B,E,A,C){var D=u.children,F,U=-1,z=D.length,k=u.value&&(C-E)/u.value;while(++U<z)F=D[U],F.x0=B,F.x1=A,F.y0=E,F.y1=E+=F.value*k}function o54(u,B,E,A,C,D){var F=[],U=B.children,z,k,f=0,M=0,b=U.length,Z,J,K=B.value,w,Q,G,H,l,q,L;while(f<b){Z=C-E,J=D-A;do w=U[M++].value;while(!w&&M<b);Q=G=w,q=Math.max(J/Z,Z/J)/(K*u),L=w*w*q,l=Math.max(G/L,L/Q);for(;M<b;++M){if(w+=k=U[M].value,k<Q)Q=k;if(k>G)G=k;if(L=w*w*q,H=Math.max(G/L,L/Q),H>l){w-=k;break}l=H}if(F.push(z={value:w,dice:Z<J,children:U.slice(f,M)}),z.dice)yu0(z,E,A,C,K?A+=J*w/K:D);else ru0(z,E,A,K?E+=Z*w/K:C,D);K-=w,f=M}return F}var s54,Lv0;var Xv0=g(()=>{s54=(1+Math.sqrt(5))/2;Lv0=function u(B){function E(A,C,D,F,U){o54(B,A,C,D,F,U)}return E.ratio=function(A){return u((A=+A)>1?A:1)},E}(s54)});function cN(){var u=Lv0,B=!1,E=1,A=1,C=[0],D=lH,F=lH,U=lH,z=lH,k=lH;function f(b){if(b.x0=b.y0=0,b.x1=E,b.y1=A,b.eachBefore(M),C=[0],B)b.eachBefore($u0);return b}function M(b){var Z=C[b.depth],J=b.x0+Z,K=b.y0+Z,w=b.x1-Z,Q=b.y1-Z;if(w<J)J=w=(J+w)/2;if(Q<K)K=Q=(K+Q)/2;if(b.x0=J,b.y0=K,b.x1=w,b.y1=Q,b.children){if(Z=C[b.depth+1]=D(b)/2,J+=k(b)-Z,K+=F(b)-Z,w-=U(b)-Z,Q-=z(b)-Z,w<J)J=w=(J+w)/2;if(Q<K)K=Q=(K+Q)/2;u(b,J,K,w,Q)}}return f.round=function(b){return arguments.length?(B=!!b,f):B},f.size=function(b){return arguments.length?(E=+b[0],A=+b[1],f):[E,A]},f.tile=function(b){return arguments.length?(u=lv0(b),f):u},f.padding=function(b){return arguments.length?f.paddingInner(b).paddingOuter(b):f.paddingInner()},f.paddingInner=function(b){return arguments.length?(D=typeof b==="function"?b:_J(+b),f):D},f.paddingOuter=function(b){return arguments.length?f.paddingTop(b).paddingRight(b).paddingBottom(b).paddingLeft(b):f.paddingTop()},f.paddingTop=function(b){return arguments.length?(F=typeof b==="function"?b:_J(+b),f):F},f.paddingRight=function(b){return arguments.length?(U=typeof b==="function"?b:_J(+b),f):U},f.paddingBottom=function(b){return arguments.length?(z=typeof b==="function"?b:_J(+b),f):z},f.paddingLeft=function(b){return arguments.length?(k=typeof b==="function"?b:_J(+b),f):k},f}var vv0=g(()=>{Xv0()});var xv0=g(()=>{qv0();vv0()});var Wv0=()=>{};var Sv0=()=>{};function of(u,B){switch(arguments.length){case 0:break;case 1:this.range(u);break;default:this.range(B).domain(u);break}return this}function FE(){var u=new Ox,B=[],E=[],A=gu0;function C(D){let F=u.get(D);if(F===void 0){if(A!==gu0)return A;u.set(D,F=B.push(D)-1)}return E[F%E.length]}return C.domain=function(D){if(!arguments.length)return B.slice();B=[],u=new Ox;for(let F of D){if(u.has(F))continue;u.set(F,B.push(F)-1)}return C},C.range=function(D){return arguments.length?(E=Array.from(D),C):E.slice()},C.unknown=function(D){return arguments.length?(A=D,C):A},C.copy=function(){return FE(B,E).unknown(A)},of.apply(C,arguments),C}var gu0;var cu0=g(()=>{gf();gu0=Symbol("implicit")});function LH(){var u=FE().unknown(void 0),B=u.domain,E=u.range,A=0,C=1,D,F,U=!1,z=0,k=0,f=0.5;delete u.unknown;function M(){var b=B().length,Z=C<A,J=Z?C:A,K=Z?A:C;if(D=(K-J)/Math.max(1,b-z+k*2),U)D=Math.floor(D);if(J+=(K-J-D*(b-z))*f,F=D*(1-z),U)J=Math.round(J),F=Math.round(F);var w=kN(b).map(function(Q){return J+D*Q});return E(Z?w.reverse():w)}return u.domain=function(b){return arguments.length?(B(b),M()):B()},u.range=function(b){return arguments.length?([A,C]=b,A=+A,C=+C,M()):[A,C]},u.rangeRound=function(b){return[A,C]=b,A=+A,C=+C,U=!0,M()},u.bandwidth=function(){return F},u.step=function(){return D},u.round=function(b){return arguments.length?(U=!!b,M()):U},u.padding=function(b){return arguments.length?(z=Math.min(1,k=+b),M()):z},u.paddingInner=function(b){return arguments.length?(z=Math.min(1,b),M()):z},u.paddingOuter=function(b){return arguments.length?(k=+b,M()):k},u.align=function(b){return arguments.length?(f=Math.max(0,Math.min(1,b)),M()):f},u.copy=function(){return LH(B(),[A,C]).round(U).paddingInner(z).paddingOuter(k).align(f)},of.apply(M(),arguments)}var Yv0=g(()=>{gf();cu0()});function _u0(u){return function(){return u}}function pu0(u){return+u}function XH(u){return u}function nu0(u,B){return(B-=u=+u)?function(E){return(E-u)/B}:_u0(isNaN(B)?NaN:0.5)}function t54(u,B){var E;if(u>B)E=u,u=B,B=E;return function(A){return Math.max(u,Math.min(B,A))}}function e54(u,B,E){var A=u[0],C=u[1],D=B[0],F=B[1];if(C<A)A=nu0(C,A),D=E(F,D);else A=nu0(A,C),D=E(D,F);return function(U){return D(A(U))}}function u74(u,B,E){var A=Math.min(u.length,B.length)-1,C=Array(A),D=Array(A),F=-1;if(u[A]<u[0])u=u.slice().reverse(),B=B.slice().reverse();while(++F<A)C[F]=nu0(u[F],u[F+1]),D[F]=E(B[F],B[F+1]);return function(U){var z=Le(u,U,1,A)-1;return D[z](C[z](U))}}function _N(u,B){return B.domain(u.domain()).range(u.range()).interpolate(u.interpolate()).clamp(u.clamp()).unknown(u.unknown())}function B74(){var u=Rv0,B=Rv0,E=df,A,C,D,F=XH,U,z,k;function f(){var b=Math.min(u.length,B.length);if(F!==XH)F=t54(u[0],u[b-1]);return U=b>2?u74:e54,z=k=null,M}function M(b){return b==null||isNaN(b=+b)?D:(z||(z=U(u.map(A),B,E)))(A(F(b)))}return M.invert=function(b){return F(C((k||(k=U(B,u.map(A),X5)))(b)))},M.domain=function(b){return arguments.length?(u=Array.from(b,pu0),f()):u.slice()},M.range=function(b){return arguments.length?(B=Array.from(b),f()):B.slice()},M.rangeRound=function(b){return B=Array.from(b),E=LN,f()},M.clamp=function(b){return arguments.length?(F=b?!0:XH,f()):F!==XH},M.interpolate=function(b){return arguments.length?(E=b,f()):E},M.unknown=function(b){return arguments.length?(D=b,M):D},function(b,Z){return A=b,C=Z,f()}}function BW(){return B74()(XH,XH)}var Rv0;var du0=g(()=>{gf();wH();Rv0=[0,1]});function su0(u,B,E,A){var C=FH(u,B,E),D;switch(A=sf(A==null?",f":A),A.type){case"s":{var F=Math.max(Math.abs(u),Math.abs(B));if(A.precision==null&&!isNaN(D=rN(C,F)))A.precision=D;return $N(A,F)}case"":case"e":case"g":case"p":case"r":{if(A.precision==null&&!isNaN(D=gN(C,Math.max(Math.abs(u),Math.abs(B)))))A.precision=D-(A.type==="e");break}case"f":case"%":{if(A.precision==null&&!isNaN(D=yN(C)))A.precision=D-(A.type==="%")*2;break}}return XF(A)}var Tv0=g(()=>{gf();Su0()});function E74(u){var B=u.domain;return u.ticks=function(E){var A=B();return FN(A[0],A[A.length-1],E==null?10:E)},u.tickFormat=function(E,A){var C=B();return su0(C[0],C[C.length-1],E==null?10:E,A)},u.nice=function(E){if(E==null)E=10;var A=B(),C=0,D=A.length-1,F=A[C],U=A[D],z,k,f=10;if(U<F)k=F,F=U,U=k,k=C,C=D,D=k;while(f-- >0){if(k=Ix(F,U,E),k===z)return A[C]=F,A[D]=U,B(A);else if(k>0)F=Math.floor(F/k)*k,U=Math.ceil(U/k)*k;else if(k<0)F=Math.ceil(F*k)/k,U=Math.floor(U*k)/k;else break;z=k}return u},u}function HC(){var u=BW();return u.copy=function(){return _N(u,HC())},of.apply(u,arguments),E74(u)}var Ov0=g(()=>{gf();du0();Tv0()});function ou0(u,B){u=u.slice();var E=0,A=u.length-1,C=u[E],D=u[A],F;if(D<C)F=E,E=A,A=F,F=C,C=D,D=F;return u[E]=B.floor(C),u[A]=B.ceil(D),u}function X6(u,B,E,A){function C(D){return u(D=arguments.length===0?new Date:new Date(+D)),D}if(C.floor=(D)=>{return u(D=new Date(+D)),D},C.ceil=(D)=>{return u(D=new Date(D-1)),B(D,1),u(D),D},C.round=(D)=>{let F=C(D),U=C.ceil(D);return D-F<U-D?F:U},C.offset=(D,F)=>{return B(D=new Date(+D),F==null?1:Math.floor(F)),D},C.range=(D,F,U)=>{let z=[];if(D=C.ceil(D),U=U==null?1:Math.floor(U),!(D<F)||!(U>0))return z;let k;do z.push(k=new Date(+D)),B(D,U),u(D);while(k<D&&D<F);return z},C.filter=(D)=>{return X6((F)=>{if(F>=F)while(u(F),!D(F))F.setTime(F-1)},(F,U)=>{if(F>=F)if(U<0)while(++U<=0)while(B(F,-1),!D(F));else while(--U>=0)while(B(F,1),!D(F));})},E)C.count=(D,F)=>{return tu0.setTime(+D),eu0.setTime(+F),u(tu0),u(eu0),Math.floor(E(tu0,eu0))},C.every=(D)=>{return D=Math.floor(D),!isFinite(D)||!(D>0)?null:!(D>1)?C:C.filter(A?(F)=>A(F)%D===0:(F)=>C.count(0,F)%D===0)};return C}var tu0,eu0;var Vz=g(()=>{tu0=new Date,eu0=new Date});var vF,Iv0;var u40=g(()=>{Vz();vF=X6(()=>{},(u,B)=>{u.setTime(+u+B)},(u,B)=>{return B-u});vF.every=(u)=>{if(u=Math.floor(u),!isFinite(u)||!(u>0))return null;if(!(u>1))return vF;return X6((B)=>{B.setTime(Math.floor(B/u)*u)},(B,E)=>{B.setTime(+B+E*u)},(B,E)=>{return(E-B)/u})};Iv0=vF.range});var BA=1000,I7=60000,xF=3600000,tf=86400000,EW=604800000,B40=2592000000,pN=31536000000;var UE,Pv0;var E40=g(()=>{Vz();UE=X6((u)=>{u.setTime(u-u.getMilliseconds())},(u,B)=>{u.setTime(+u+B*BA)},(u,B)=>{return(B-u)/BA},(u)=>{return u.getUTCSeconds()}),Pv0=UE.range});var hz,A74,nN,C74;var A40=g(()=>{Vz();hz=X6((u)=>{u.setTime(u-u.getMilliseconds()-u.getSeconds()*BA)},(u,B)=>{u.setTime(+u+B*I7)},(u,B)=>{return(B-u)/I7},(u)=>{return u.getMinutes()}),A74=hz.range,nN=X6((u)=>{u.setUTCSeconds(0,0)},(u,B)=>{u.setTime(+u+B*I7)},(u,B)=>{return(B-u)/I7},(u)=>{return u.getUTCMinutes()}),C74=nN.range});var iz,D74,dN,F74;var C40=g(()=>{Vz();iz=X6((u)=>{u.setTime(u-u.getMilliseconds()-u.getSeconds()*BA-u.getMinutes()*I7)},(u,B)=>{u.setTime(+u+B*xF)},(u,B)=>{return(B-u)/xF},(u)=>{return u.getHours()}),D74=iz.range,dN=X6((u)=>{u.setUTCMinutes(0,0,0)},(u,B)=>{u.setTime(+u+B*xF)},(u,B)=>{return(B-u)/xF},(u)=>{return u.getUTCHours()}),F74=dN.range});var EA,U74,AW,z74,sN,k74;var D40=g(()=>{Vz();EA=X6((u)=>u.setHours(0,0,0,0),(u,B)=>u.setDate(u.getDate()+B),(u,B)=>(B-u-(B.getTimezoneOffset()-u.getTimezoneOffset())*I7)/tf,(u)=>u.getDate()-1),U74=EA.range,AW=X6((u)=>{u.setUTCHours(0,0,0,0)},(u,B)=>{u.setUTCDate(u.getUTCDate()+B)},(u,B)=>{return(B-u)/tf},(u)=>{return u.getUTCDate()-1}),z74=AW.range,sN=X6((u)=>{u.setUTCHours(0,0,0,0)},(u,B)=>{u.setUTCDate(u.getUTCDate()+B)},(u,B)=>{return(B-u)/tf},(u)=>{return Math.floor(u/tf)}),k74=sN.range});function pJ(u){return X6((B)=>{B.setDate(B.getDate()-(B.getDay()+7-u)%7),B.setHours(0,0,0,0)},(B,E)=>{B.setDate(B.getDate()+E*7)},(B,E)=>{return(E-B-(E.getTimezoneOffset()-B.getTimezoneOffset())*I7)/EW})}function nJ(u){return X6((B)=>{B.setUTCDate(B.getUTCDate()-(B.getUTCDay()+7-u)%7),B.setUTCHours(0,0,0,0)},(B,E)=>{B.setUTCDate(B.getUTCDate()+E*7)},(B,E)=>{return(E-B)/EW})}var qC,ef,oN,tN,WF,eN,uV,jv0,f74,M74,b74,Z74,J74,K74,dJ,vH,Nv0,Vv0,uM,hv0,iv0,av0,w74,Q74,G74,H74,q74,l74;var F40=g(()=>{Vz();qC=pJ(0),ef=pJ(1),oN=pJ(2),tN=pJ(3),WF=pJ(4),eN=pJ(5),uV=pJ(6),jv0=qC.range,f74=ef.range,M74=oN.range,b74=tN.range,Z74=WF.range,J74=eN.range,K74=uV.range;dJ=nJ(0),vH=nJ(1),Nv0=nJ(2),Vv0=nJ(3),uM=nJ(4),hv0=nJ(5),iv0=nJ(6),av0=dJ.range,w74=vH.range,Q74=Nv0.range,G74=Vv0.range,H74=uM.range,q74=hv0.range,l74=iv0.range});var az,L74,BV,X74;var U40=g(()=>{Vz();az=X6((u)=>{u.setDate(1),u.setHours(0,0,0,0)},(u,B)=>{u.setMonth(u.getMonth()+B)},(u,B)=>{return B.getMonth()-u.getMonth()+(B.getFullYear()-u.getFullYear())*12},(u)=>{return u.getMonth()}),L74=az.range,BV=X6((u)=>{u.setUTCDate(1),u.setUTCHours(0,0,0,0)},(u,B)=>{u.setUTCMonth(u.getUTCMonth()+B)},(u,B)=>{return B.getUTCMonth()-u.getUTCMonth()+(B.getUTCFullYear()-u.getUTCFullYear())*12},(u)=>{return u.getUTCMonth()}),X74=BV.range});var zE,v74,lC,x74;var z40=g(()=>{Vz();zE=X6((u)=>{u.setMonth(0,1),u.setHours(0,0,0,0)},(u,B)=>{u.setFullYear(u.getFullYear()+B)},(u,B)=>{return B.getFullYear()-u.getFullYear()},(u)=>{return u.getFullYear()});zE.every=(u)=>{return!isFinite(u=Math.floor(u))||!(u>0)?null:X6((B)=>{B.setFullYear(Math.floor(B.getFullYear()/u)*u),B.setMonth(0,1),B.setHours(0,0,0,0)},(B,E)=>{B.setFullYear(B.getFullYear()+E*u)})};v74=zE.range,lC=X6((u)=>{u.setUTCMonth(0,1),u.setUTCHours(0,0,0,0)},(u,B)=>{u.setUTCFullYear(u.getUTCFullYear()+B)},(u,B)=>{return B.getUTCFullYear()-u.getUTCFullYear()},(u)=>{return u.getUTCFullYear()});lC.every=(u)=>{return!isFinite(u=Math.floor(u))||!(u>0)?null:X6((B)=>{B.setUTCFullYear(Math.floor(B.getUTCFullYear()/u)*u),B.setUTCMonth(0,1),B.setUTCHours(0,0,0,0)},(B,E)=>{B.setUTCFullYear(B.getUTCFullYear()+E*u)})};x74=lC.range});function mv0(u,B,E,A,C,D){let F=[[UE,1,BA],[UE,5,5*BA],[UE,15,15*BA],[UE,30,30*BA],[D,1,I7],[D,5,5*I7],[D,15,15*I7],[D,30,30*I7],[C,1,xF],[C,3,3*xF],[C,6,6*xF],[C,12,12*xF],[A,1,tf],[A,2,2*tf],[E,1,EW],[B,1,B40],[B,3,3*B40],[u,1,pN]];function U(k,f,M){let b=f<k;if(b)[k,f]=[f,k];let Z=M&&typeof M.range==="function"?M:z(k,f,M),J=Z?Z.range(k,+f+1):[];return b?J.reverse():J}function z(k,f,M){let b=Math.abs(f-k)/M,Z=aJ(([,,w])=>w).right(F,b);if(Z===F.length)return u.every(FH(k/pN,f/pN,M));if(Z===0)return vF.every(Math.max(FH(k,f,M),1));let[J,K]=F[b/F[Z-1][2]<F[Z][2]/b?Z-1:Z];return J.every(K)}return[U,z]}var W74,S74,k40,f40;var $v0=g(()=>{gf();u40();E40();A40();C40();D40();F40();U40();z40();[W74,S74]=mv0(lC,BV,dJ,sN,dN,nN),[k40,f40]=mv0(zE,az,qC,EA,iz,hz)});var EV=g(()=>{u40();E40();A40();C40();D40();F40();U40();z40();$v0()});function M40(u){if(0<=u.y&&u.y<100){var B=new Date(-1,u.m,u.d,u.H,u.M,u.S,u.L);return B.setFullYear(u.y),B}return new Date(u.y,u.m,u.d,u.H,u.M,u.S,u.L)}function b40(u){if(0<=u.y&&u.y<100){var B=new Date(Date.UTC(-1,u.m,u.d,u.H,u.M,u.S,u.L));return B.setUTCFullYear(u.y),B}return new Date(Date.UTC(u.y,u.m,u.d,u.H,u.M,u.S,u.L))}function CW(u,B,E){return{y:u,m:B,d:E,H:0,M:0,S:0,L:0}}function Z40(u){var{dateTime:B,date:E,time:A,periods:C,days:D,shortDays:F,months:U,shortMonths:z}=u,k=DW(C),f=FW(C),M=DW(D),b=FW(D),Z=DW(F),J=FW(F),K=DW(U),w=FW(U),Q=DW(z),G=FW(z),H={a:V,A:j,b:i,B:a,c:null,d:pv0,e:pv0,f:s74,g:FB4,G:zB4,H:p74,I:n74,j:d74,L:tv0,m:o74,M:t74,p:$,q:m,Q:sv0,s:ov0,S:e74,u:uB4,U:BB4,V:EB4,w:AB4,W:CB4,x:null,X:null,y:DB4,Y:UB4,Z:kB4,"%":dv0},l={a:y,A:r,b:_,B:e,c:null,d:nv0,e:nv0,f:ZB4,g:XB4,G:xB4,H:fB4,I:MB4,j:bB4,L:ux0,m:JB4,M:KB4,p,q:b0,Q:sv0,s:ov0,S:wB4,u:QB4,U:GB4,V:HB4,w:qB4,W:lB4,x:null,X:null,y:LB4,Y:vB4,Z:WB4,"%":dv0},q={a:W,A:T,b:R,B:Y,c:h,d:cv0,e:cv0,f:r74,g:gv0,G:rv0,H:_v0,I:_v0,j:a74,L:y74,m:i74,M:m74,p:S,q:h74,Q:c74,s:_74,S:$74,u:I74,U:P74,V:j74,w:O74,W:N74,x:I,X:O,y:gv0,Y:rv0,Z:V74,"%":g74};H.x=L(E,H),H.X=L(A,H),H.c=L(B,H),l.x=L(E,l),l.X=L(A,l),l.c=L(B,l);function L(B0,k0){return function(f0){var D0=[],P0=-1,L0=0,m0=B0.length,h0,_0,w0;if(!(f0 instanceof Date))f0=new Date(+f0);while(++P0<m0)if(B0.charCodeAt(P0)===37){if(D0.push(B0.slice(L0,P0)),(_0=yv0[h0=B0.charAt(++P0)])!=null)h0=B0.charAt(++P0);else _0=h0==="e"?" ":"0";if(w0=k0[h0])h0=w0(f0,_0);D0.push(h0),L0=P0+1}return D0.push(B0.slice(L0,P0)),D0.join("")}}function v(B0,k0){return function(f0){var D0=CW(1900,void 0,1),P0=x(D0,B0,f0+="",0),L0,m0;if(P0!=f0.length)return null;if("Q"in D0)return new Date(D0.Q);if("s"in D0)return new Date(D0.s*1000+("L"in D0?D0.L:0));if(k0&&!("Z"in D0))D0.Z=0;if("p"in D0)D0.H=D0.H%12+D0.p*12;if(D0.m===void 0)D0.m="q"in D0?D0.q:0;if("V"in D0){if(D0.V<1||D0.V>53)return null;if(!("w"in D0))D0.w=1;if("Z"in D0)L0=b40(CW(D0.y,0,1)),m0=L0.getUTCDay(),L0=m0>4||m0===0?vH.ceil(L0):vH(L0),L0=AW.offset(L0,(D0.V-1)*7),D0.y=L0.getUTCFullYear(),D0.m=L0.getUTCMonth(),D0.d=L0.getUTCDate()+(D0.w+6)%7;else L0=M40(CW(D0.y,0,1)),m0=L0.getDay(),L0=m0>4||m0===0?ef.ceil(L0):ef(L0),L0=EA.offset(L0,(D0.V-1)*7),D0.y=L0.getFullYear(),D0.m=L0.getMonth(),D0.d=L0.getDate()+(D0.w+6)%7}else if("W"in D0||"U"in D0){if(!("w"in D0))D0.w="u"in D0?D0.u%7:("W"in D0)?1:0;m0="Z"in D0?b40(CW(D0.y,0,1)).getUTCDay():M40(CW(D0.y,0,1)).getDay(),D0.m=0,D0.d="W"in D0?(D0.w+6)%7+D0.W*7-(m0+5)%7:D0.w+D0.U*7-(m0+6)%7}if("Z"in D0)return D0.H+=D0.Z/100|0,D0.M+=D0.Z%100,b40(D0);return M40(D0)}}function x(B0,k0,f0,D0){var P0=0,L0=k0.length,m0=f0.length,h0,_0;while(P0<L0){if(D0>=m0)return-1;if(h0=k0.charCodeAt(P0++),h0===37){if(h0=k0.charAt(P0++),_0=q[h0 in yv0?k0.charAt(P0++):h0],!_0||(D0=_0(B0,f0,D0))<0)return-1}else if(h0!=f0.charCodeAt(D0++))return-1}return D0}function S(B0,k0,f0){var D0=k.exec(k0.slice(f0));return D0?(B0.p=f.get(D0[0].toLowerCase()),f0+D0[0].length):-1}function W(B0,k0,f0){var D0=Z.exec(k0.slice(f0));return D0?(B0.w=J.get(D0[0].toLowerCase()),f0+D0[0].length):-1}function T(B0,k0,f0){var D0=M.exec(k0.slice(f0));return D0?(B0.w=b.get(D0[0].toLowerCase()),f0+D0[0].length):-1}function R(B0,k0,f0){var D0=Q.exec(k0.slice(f0));return D0?(B0.m=G.get(D0[0].toLowerCase()),f0+D0[0].length):-1}function Y(B0,k0,f0){var D0=K.exec(k0.slice(f0));return D0?(B0.m=w.get(D0[0].toLowerCase()),f0+D0[0].length):-1}function h(B0,k0,f0){return x(B0,B,k0,f0)}function I(B0,k0,f0){return x(B0,E,k0,f0)}function O(B0,k0,f0){return x(B0,A,k0,f0)}function V(B0){return F[B0.getDay()]}function j(B0){return D[B0.getDay()]}function i(B0){return z[B0.getMonth()]}function a(B0){return U[B0.getMonth()]}function $(B0){return C[+(B0.getHours()>=12)]}function m(B0){return 1+~~(B0.getMonth()/3)}function y(B0){return F[B0.getUTCDay()]}function r(B0){return D[B0.getUTCDay()]}function _(B0){return z[B0.getUTCMonth()]}function e(B0){return U[B0.getUTCMonth()]}function p(B0){return C[+(B0.getUTCHours()>=12)]}function b0(B0){return 1+~~(B0.getUTCMonth()/3)}return{format:function(B0){var k0=L(B0+="",H);return k0.toString=function(){return B0},k0},parse:function(B0){var k0=v(B0+="",!1);return k0.toString=function(){return B0},k0},utcFormat:function(B0){var k0=L(B0+="",l);return k0.toString=function(){return B0},k0},utcParse:function(B0){var k0=v(B0+="",!0);return k0.toString=function(){return B0},k0}}}function V1(u,B,E){var A=u<0?"-":"",C=(A?-u:u)+"",D=C.length;return A+(D<E?Array(E-D+1).join(B)+C:C)}function T74(u){return u.replace(R74,"\\$&")}function DW(u){return new RegExp("^(?:"+u.map(T74).join("|")+")","i")}function FW(u){return new Map(u.map((B,E)=>[B.toLowerCase(),E]))}function O74(u,B,E){var A=v5.exec(B.slice(E,E+1));return A?(u.w=+A[0],E+A[0].length):-1}function I74(u,B,E){var A=v5.exec(B.slice(E,E+1));return A?(u.u=+A[0],E+A[0].length):-1}function P74(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.U=+A[0],E+A[0].length):-1}function j74(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.V=+A[0],E+A[0].length):-1}function N74(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.W=+A[0],E+A[0].length):-1}function rv0(u,B,E){var A=v5.exec(B.slice(E,E+4));return A?(u.y=+A[0],E+A[0].length):-1}function gv0(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.y=+A[0]+(+A[0]>68?1900:2000),E+A[0].length):-1}function V74(u,B,E){var A=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(B.slice(E,E+6));return A?(u.Z=A[1]?0:-(A[2]+(A[3]||"00")),E+A[0].length):-1}function h74(u,B,E){var A=v5.exec(B.slice(E,E+1));return A?(u.q=A[0]*3-3,E+A[0].length):-1}function i74(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.m=A[0]-1,E+A[0].length):-1}function cv0(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.d=+A[0],E+A[0].length):-1}function a74(u,B,E){var A=v5.exec(B.slice(E,E+3));return A?(u.m=0,u.d=+A[0],E+A[0].length):-1}function _v0(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.H=+A[0],E+A[0].length):-1}function m74(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.M=+A[0],E+A[0].length):-1}function $74(u,B,E){var A=v5.exec(B.slice(E,E+2));return A?(u.S=+A[0],E+A[0].length):-1}function y74(u,B,E){var A=v5.exec(B.slice(E,E+3));return A?(u.L=+A[0],E+A[0].length):-1}function r74(u,B,E){var A=v5.exec(B.slice(E,E+6));return A?(u.L=Math.floor(A[0]/1000),E+A[0].length):-1}function g74(u,B,E){var A=Y74.exec(B.slice(E,E+1));return A?E+A[0].length:-1}function c74(u,B,E){var A=v5.exec(B.slice(E));return A?(u.Q=+A[0],E+A[0].length):-1}function _74(u,B,E){var A=v5.exec(B.slice(E));return A?(u.s=+A[0],E+A[0].length):-1}function pv0(u,B){return V1(u.getDate(),B,2)}function p74(u,B){return V1(u.getHours(),B,2)}function n74(u,B){return V1(u.getHours()%12||12,B,2)}function d74(u,B){return V1(1+EA.count(zE(u),u),B,3)}function tv0(u,B){return V1(u.getMilliseconds(),B,3)}function s74(u,B){return tv0(u,B)+"000"}function o74(u,B){return V1(u.getMonth()+1,B,2)}function t74(u,B){return V1(u.getMinutes(),B,2)}function e74(u,B){return V1(u.getSeconds(),B,2)}function uB4(u){var B=u.getDay();return B===0?7:B}function BB4(u,B){return V1(qC.count(zE(u)-1,u),B,2)}function ev0(u){var B=u.getDay();return B>=4||B===0?WF(u):WF.ceil(u)}function EB4(u,B){return u=ev0(u),V1(WF.count(zE(u),u)+(zE(u).getDay()===4),B,2)}function AB4(u){return u.getDay()}function CB4(u,B){return V1(ef.count(zE(u)-1,u),B,2)}function DB4(u,B){return V1(u.getFullYear()%100,B,2)}function FB4(u,B){return u=ev0(u),V1(u.getFullYear()%100,B,2)}function UB4(u,B){return V1(u.getFullYear()%1e4,B,4)}function zB4(u,B){var E=u.getDay();return u=E>=4||E===0?WF(u):WF.ceil(u),V1(u.getFullYear()%1e4,B,4)}function kB4(u){var B=u.getTimezoneOffset();return(B>0?"-":(B*=-1,"+"))+V1(B/60|0,"0",2)+V1(B%60,"0",2)}function nv0(u,B){return V1(u.getUTCDate(),B,2)}function fB4(u,B){return V1(u.getUTCHours(),B,2)}function MB4(u,B){return V1(u.getUTCHours()%12||12,B,2)}function bB4(u,B){return V1(1+AW.count(lC(u),u),B,3)}function ux0(u,B){return V1(u.getUTCMilliseconds(),B,3)}function ZB4(u,B){return ux0(u,B)+"000"}function JB4(u,B){return V1(u.getUTCMonth()+1,B,2)}function KB4(u,B){return V1(u.getUTCMinutes(),B,2)}function wB4(u,B){return V1(u.getUTCSeconds(),B,2)}function QB4(u){var B=u.getUTCDay();return B===0?7:B}function GB4(u,B){return V1(dJ.count(lC(u)-1,u),B,2)}function Bx0(u){var B=u.getUTCDay();return B>=4||B===0?uM(u):uM.ceil(u)}function HB4(u,B){return u=Bx0(u),V1(uM.count(lC(u),u)+(lC(u).getUTCDay()===4),B,2)}function qB4(u){return u.getUTCDay()}function lB4(u,B){return V1(vH.count(lC(u)-1,u),B,2)}function LB4(u,B){return V1(u.getUTCFullYear()%100,B,2)}function XB4(u,B){return u=Bx0(u),V1(u.getUTCFullYear()%100,B,2)}function vB4(u,B){return V1(u.getUTCFullYear()%1e4,B,4)}function xB4(u,B){var E=u.getUTCDay();return u=E>=4||E===0?uM(u):uM.ceil(u),V1(u.getUTCFullYear()%1e4,B,4)}function WB4(){return"+0000"}function dv0(){return"%"}function sv0(u){return+u}function ov0(u){return Math.floor(+u/1000)}var yv0,v5,Y74,R74;var Ex0=g(()=>{EV();yv0={"-":"",_:" ","0":"0"},v5=/^\s*\d+/,Y74=/^%/,R74=/[\\^$*+?|[\]().{}]/g});function J40(u){return xH=Z40(u),sJ=xH.format,Ax0=xH.parse,Cx0=xH.utcFormat,Dx0=xH.utcParse,xH}var xH,sJ,Ax0,Cx0,Dx0;var Fx0=g(()=>{Ex0();J40({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})});var K40=g(()=>{Fx0()});function SB4(u){return new Date(u)}function YB4(u){return u instanceof Date?+u:+new Date(+u)}function Ux0(u,B,E,A,C,D,F,U,z,k){var f=BW(),M=f.invert,b=f.domain,Z=k(".%L"),J=k(":%S"),K=k("%I:%M"),w=k("%I %p"),Q=k("%a %d"),G=k("%b %d"),H=k("%B"),l=k("%Y");function q(L){return(z(L)<L?Z:U(L)<L?J:F(L)<L?K:D(L)<L?w:A(L)<L?C(L)<L?Q:G:E(L)<L?H:l)(L)}return f.invert=function(L){return new Date(M(L))},f.domain=function(L){return arguments.length?b(Array.from(L,YB4)):b().map(SB4)},f.ticks=function(L){var v=b();return u(v[0],v[v.length-1],L==null?10:L)},f.tickFormat=function(L,v){return v==null?q:k(v)},f.nice=function(L){var v=b();if(!L||typeof L.range!=="function")L=B(v[0],v[v.length-1],L==null?10:L);return L?b(ou0(v,L)):f},f.copy=function(){return _N(f,Ux0(u,B,E,A,C,D,F,U,z,k))},f}function AV(){return of.apply(Ux0(k40,f40,zE,az,qC,EA,iz,hz,UE,sJ).domain([new Date(2000,0,1),new Date(2000,0,2)]),arguments)}var zx0=g(()=>{EV();K40();du0()});var kx0=g(()=>{Yv0();Ov0();cu0();zx0()});function w40(u){var B=u.length/6|0,E=Array(B),A=0;while(A<B)E[A]="#"+u.slice(A*6,++A*6);return E}var Q40;var fx0=g(()=>{Q40=w40("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var Mx0=g(()=>{fx0()});function y6(u){return function(){return u}}function Zx0(u){return u>1?0:u<-1?WH:Math.acos(u)}function H40(u){return u>=1?UW:u<=-1?-UW:Math.asin(u)}var G40,B7,BM,bx0,CV,LC,oJ,x5=0.000000000001,WH,UW,SH;var DV=g(()=>{G40=Math.abs,B7=Math.atan2,BM=Math.cos,bx0=Math.max,CV=Math.min,LC=Math.sin,oJ=Math.sqrt,WH=Math.PI,UW=WH/2,SH=2*WH});function FV(u){let B=3;return u.digits=function(E){if(!arguments.length)return B;if(E==null)B=null;else{let A=Math.floor(E);if(!(A>=0))throw RangeError(`invalid digits: ${E}`);B=A}return u},()=>new HH(B)}var q40=g(()=>{wu0()});function RB4(u){return u.innerRadius}function TB4(u){return u.outerRadius}function OB4(u){return u.startAngle}function IB4(u){return u.endAngle}function PB4(u){return u&&u.padAngle}function jB4(u,B,E,A,C,D,F,U){var z=E-u,k=A-B,f=F-C,M=U-D,b=M*z-f*k;if(b*b<x5)return;return b=(f*(B-D)-M*(u-C))/b,[u+b*z,B+b*k]}function UV(u,B,E,A,C,D,F){var U=u-E,z=B-A,k=(F?D:-D)/oJ(U*U+z*z),f=k*z,M=-k*U,b=u+f,Z=B+M,J=E+f,K=A+M,w=(b+J)/2,Q=(Z+K)/2,G=J-b,H=K-Z,l=G*G+H*H,q=C-D,L=b*K-J*Z,v=(H<0?-1:1)*oJ(bx0(0,q*q*l-L*L)),x=(L*H-G*v)/l,S=(-L*G-H*v)/l,W=(L*H+G*v)/l,T=(-L*G+H*v)/l,R=x-w,Y=S-Q,h=W-w,I=T-Q;if(R*R+Y*Y>h*h+I*I)x=W,S=T;return{cx:x,cy:S,x01:-f,y01:-M,x11:x*(C/q-1),y11:S*(C/q-1)}}function XC(){var u=RB4,B=TB4,E=y6(0),A=null,C=OB4,D=IB4,F=PB4,U=null,z=FV(k);function k(){var f,M,b=+u.apply(this,arguments),Z=+B.apply(this,arguments),J=C.apply(this,arguments)-UW,K=D.apply(this,arguments)-UW,w=G40(K-J),Q=K>J;if(!U)U=f=z();if(Z<b)M=Z,Z=b,b=M;if(!(Z>x5))U.moveTo(0,0);else if(w>SH-x5){if(U.moveTo(Z*BM(J),Z*LC(J)),U.arc(0,0,Z,J,K,!Q),b>x5)U.moveTo(b*BM(K),b*LC(K)),U.arc(0,0,b,K,J,Q)}else{var G=J,H=K,l=J,q=K,L=w,v=w,x=F.apply(this,arguments)/2,S=x>x5&&(A?+A.apply(this,arguments):oJ(b*b+Z*Z)),W=CV(G40(Z-b)/2,+E.apply(this,arguments)),T=W,R=W,Y,h;if(S>x5){var I=H40(S/b*LC(x)),O=H40(S/Z*LC(x));if((L-=I*2)>x5)I*=Q?1:-1,l+=I,q-=I;else L=0,l=q=(J+K)/2;if((v-=O*2)>x5)O*=Q?1:-1,G+=O,H-=O;else v=0,G=H=(J+K)/2}var V=Z*BM(G),j=Z*LC(G),i=b*BM(q),a=b*LC(q);if(W>x5){var $=Z*BM(H),m=Z*LC(H),y=b*BM(l),r=b*LC(l),_;if(w<WH)if(_=jB4(V,j,y,r,$,m,i,a)){var e=V-_[0],p=j-_[1],b0=$-_[0],B0=m-_[1],k0=1/LC(Zx0((e*b0+p*B0)/(oJ(e*e+p*p)*oJ(b0*b0+B0*B0)))/2),f0=oJ(_[0]*_[0]+_[1]*_[1]);T=CV(W,(b-f0)/(k0-1)),R=CV(W,(Z-f0)/(k0+1))}else T=R=0}if(!(v>x5))U.moveTo(V,j);else if(R>x5)if(Y=UV(y,r,V,j,Z,R,Q),h=UV($,m,i,a,Z,R,Q),U.moveTo(Y.cx+Y.x01,Y.cy+Y.y01),R<W)U.arc(Y.cx,Y.cy,R,B7(Y.y01,Y.x01),B7(h.y01,h.x01),!Q);else U.arc(Y.cx,Y.cy,R,B7(Y.y01,Y.x01),B7(Y.y11,Y.x11),!Q),U.arc(0,0,Z,B7(Y.cy+Y.y11,Y.cx+Y.x11),B7(h.cy+h.y11,h.cx+h.x11),!Q),U.arc(h.cx,h.cy,R,B7(h.y11,h.x11),B7(h.y01,h.x01),!Q);else U.moveTo(V,j),U.arc(0,0,Z,G,H,!Q);if(!(b>x5)||!(L>x5))U.lineTo(i,a);else if(T>x5)if(Y=UV(i,a,$,m,b,-T,Q),h=UV(V,j,y,r,b,-T,Q),U.lineTo(Y.cx+Y.x01,Y.cy+Y.y01),T<W)U.arc(Y.cx,Y.cy,T,B7(Y.y01,Y.x01),B7(h.y01,h.x01),!Q);else U.arc(Y.cx,Y.cy,T,B7(Y.y01,Y.x01),B7(Y.y11,Y.x11),!Q),U.arc(0,0,b,B7(Y.cy+Y.y11,Y.cx+Y.x11),B7(h.cy+h.y11,h.cx+h.x11),Q),U.arc(h.cx,h.cy,T,B7(h.y11,h.x11),B7(h.y01,h.x01),!Q);else U.arc(0,0,b,q,l,Q)}if(U.closePath(),f)return U=null,f+""||null}return k.centroid=function(){var f=(+u.apply(this,arguments)+ +B.apply(this,arguments))/2,M=(+C.apply(this,arguments)+ +D.apply(this,arguments))/2-WH/2;return[BM(M)*f,LC(M)*f]},k.innerRadius=function(f){return arguments.length?(u=typeof f==="function"?f:y6(+f),k):u},k.outerRadius=function(f){return arguments.length?(B=typeof f==="function"?f:y6(+f),k):B},k.cornerRadius=function(f){return arguments.length?(E=typeof f==="function"?f:y6(+f),k):E},k.padRadius=function(f){return arguments.length?(A=f==null?null:typeof f==="function"?f:y6(+f),k):A},k.startAngle=function(f){return arguments.length?(C=typeof f==="function"?f:y6(+f),k):C},k.endAngle=function(f){return arguments.length?(D=typeof f==="function"?f:y6(+f),k):D},k.padAngle=function(f){return arguments.length?(F=typeof f==="function"?f:y6(+f),k):F},k.context=function(f){return arguments.length?(U=f==null?null:f,k):U},k}var Jx0=g(()=>{DV();q40()});function zW(u){return typeof u==="object"&&"length"in u?u:Array.from(u)}var sT3;var l40=g(()=>{sT3=Array.prototype.slice});function Kx0(u){this._context=u}function SF(u){return new Kx0(u)}var L40=g(()=>{Kx0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,B):this._context.moveTo(u,B);break;case 1:this._point=2;default:this._context.lineTo(u,B);break}}}});function wx0(u){return u[0]}function Qx0(u){return u[1]}function vC(u,B){var E=y6(!0),A=null,C=SF,D=null,F=FV(U);u=typeof u==="function"?u:u===void 0?wx0:y6(u),B=typeof B==="function"?B:B===void 0?Qx0:y6(B);function U(z){var k,f=(z=zW(z)).length,M,b=!1,Z;if(A==null)D=C(Z=F());for(k=0;k<=f;++k){if(!(k<f&&E(M=z[k],k,z))===b)if(b=!b)D.lineStart();else D.lineEnd();if(b)D.point(+u(M,k,z),+B(M,k,z))}if(Z)return D=null,Z+""||null}return U.x=function(z){return arguments.length?(u=typeof z==="function"?z:y6(+z),U):u},U.y=function(z){return arguments.length?(B=typeof z==="function"?z:y6(+z),U):B},U.defined=function(z){return arguments.length?(E=typeof z==="function"?z:y6(!!z),U):E},U.curve=function(z){return arguments.length?(C=z,A!=null&&(D=C(A)),U):C},U.context=function(z){return arguments.length?(z==null?A=D=null:D=C(A=z),U):A},U}var Gx0=g(()=>{l40();L40();q40()});function X40(u,B){return B<u?-1:B>u?1:B>=u?0:NaN}function v40(u){return u}function zV(){var u=v40,B=X40,E=null,A=y6(0),C=y6(SH),D=y6(0);function F(U){var z,k=(U=zW(U)).length,f,M,b=0,Z=Array(k),J=Array(k),K=+A.apply(this,arguments),w=Math.min(SH,Math.max(-SH,C.apply(this,arguments)-K)),Q,G=Math.min(Math.abs(w)/k,D.apply(this,arguments)),H=G*(w<0?-1:1),l;for(z=0;z<k;++z)if((l=J[Z[z]=z]=+u(U[z],z,U))>0)b+=l;if(B!=null)Z.sort(function(q,L){return B(J[q],J[L])});else if(E!=null)Z.sort(function(q,L){return E(U[q],U[L])});for(z=0,M=b?(w-k*H)/b:0;z<k;++z,K=Q)f=Z[z],l=J[f],Q=K+(l>0?l*M:0)+H,J[f]={data:U[f],index:z,value:l,startAngle:K,endAngle:Q,padAngle:G};return J}return F.value=function(U){return arguments.length?(u=typeof U==="function"?U:y6(+U),F):u},F.sortValues=function(U){return arguments.length?(B=U,E=null,F):B},F.sort=function(U){return arguments.length?(E=U,B=null,F):E},F.startAngle=function(U){return arguments.length?(A=typeof U==="function"?U:y6(+U),F):A},F.endAngle=function(U){return arguments.length?(C=typeof U==="function"?U:y6(+U),F):C},F.padAngle=function(U){return arguments.length?(D=typeof U==="function"?U:y6(+U),F):D},F}var Hx0=g(()=>{l40();DV()});class x40{constructor(u,B){this._context=u,this._x=B}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line}point(u,B){switch(u=+u,B=+B,this._point){case 0:{if(this._point=1,this._line)this._context.lineTo(u,B);else this._context.moveTo(u,B);break}case 1:this._point=2;default:{if(this._x)this._context.bezierCurveTo(this._x0=(this._x0+u)/2,this._y0,this._x0,B,u,B);else this._context.bezierCurveTo(this._x0,this._y0=(this._y0+B)/2,u,this._y0,u,B);break}}this._x0=u,this._y0=B}}function kW(u){return new x40(u,!0)}function fW(u){return new x40(u,!1)}var qx0=()=>{};function kE(){}function YH(u,B,E){u._context.bezierCurveTo((2*u._x0+u._x1)/3,(2*u._y0+u._y1)/3,(u._x0+2*u._x1)/3,(u._y0+2*u._y1)/3,(u._x0+4*u._x1+B)/6,(u._y0+4*u._y1+E)/6)}function MW(u){this._context=u}function xC(u){return new MW(u)}var bW=g(()=>{MW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:YH(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,B):this._context.moveTo(u,B);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:YH(this,u,B);break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=B}}});function lx0(u){this._context=u}function kV(u){return new lx0(u)}var Lx0=g(()=>{bW();lx0.prototype={areaStart:kE,areaEnd:kE,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1,this._x2=u,this._y2=B;break;case 1:this._point=2,this._x3=u,this._y3=B;break;case 2:this._point=3,this._x4=u,this._y4=B,this._context.moveTo((this._x0+4*this._x1+u)/6,(this._y0+4*this._y1+B)/6);break;default:YH(this,u,B);break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=B}}});function Xx0(u){this._context=u}function fV(u){return new Xx0(u)}var vx0=g(()=>{bW();Xx0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var E=(this._x0+4*this._x1+u)/6,A=(this._y0+4*this._y1+B)/6;this._line?this._context.lineTo(E,A):this._context.moveTo(E,A);break;case 3:this._point=4;default:YH(this,u,B);break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=B}}});function xx0(u,B){this._basis=new MW(u),this._beta=B}var W40;var Wx0=g(()=>{bW();xx0.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var u=this._x,B=this._y,E=u.length-1;if(E>0){var A=u[0],C=B[0],D=u[E]-A,F=B[E]-C,U=-1,z;while(++U<=E)z=U/E,this._basis.point(this._beta*u[U]+(1-this._beta)*(A+z*D),this._beta*B[U]+(1-this._beta)*(C+z*F))}this._x=this._y=null,this._basis.lineEnd()},point:function(u,B){this._x.push(+u),this._y.push(+B)}};W40=function u(B){function E(A){return B===1?new MW(A):new xx0(A,B)}return E.beta=function(A){return u(+A)},E}(0.85)});function RH(u,B,E){u._context.bezierCurveTo(u._x1+u._k*(u._x2-u._x0),u._y1+u._k*(u._y2-u._y0),u._x2+u._k*(u._x1-B),u._y2+u._k*(u._y1-E),u._x2,u._y2)}function MV(u,B){this._context=u,this._k=(1-B)/6}var ZW;var JW=g(()=>{MV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:RH(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,B):this._context.moveTo(u,B);break;case 1:this._point=2,this._x1=u,this._y1=B;break;case 2:this._point=3;default:RH(this,u,B);break}this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=B}};ZW=function u(B){function E(A){return new MV(A,B)}return E.tension=function(A){return u(+A)},E}(0)});function bV(u,B){this._context=u,this._k=(1-B)/6}var S40;var Y40=g(()=>{JW();bV.prototype={areaStart:kE,areaEnd:kE,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1,this._x3=u,this._y3=B;break;case 1:this._point=2,this._context.moveTo(this._x4=u,this._y4=B);break;case 2:this._point=3,this._x5=u,this._y5=B;break;default:RH(this,u,B);break}this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=B}};S40=function u(B){function E(A){return new bV(A,B)}return E.tension=function(A){return u(+A)},E}(0)});function ZV(u,B){this._context=u,this._k=(1-B)/6}var R40;var T40=g(()=>{JW();ZV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:RH(this,u,B);break}this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=B}};R40=function u(B){function E(A){return new ZV(A,B)}return E.tension=function(A){return u(+A)},E}(0)});function KW(u,B,E){var{_x1:A,_y1:C,_x2:D,_y2:F}=u;if(u._l01_a>x5){var U=2*u._l01_2a+3*u._l01_a*u._l12_a+u._l12_2a,z=3*u._l01_a*(u._l01_a+u._l12_a);A=(A*U-u._x0*u._l12_2a+u._x2*u._l01_2a)/z,C=(C*U-u._y0*u._l12_2a+u._y2*u._l01_2a)/z}if(u._l23_a>x5){var k=2*u._l23_2a+3*u._l23_a*u._l12_a+u._l12_2a,f=3*u._l23_a*(u._l23_a+u._l12_a);D=(D*k+u._x1*u._l23_2a-B*u._l12_2a)/f,F=(F*k+u._y1*u._l23_2a-E*u._l12_2a)/f}u._context.bezierCurveTo(A,C,D,F,u._x2,u._y2)}function Sx0(u,B){this._context=u,this._alpha=B}var wW;var JV=g(()=>{DV();JW();Sx0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(u,B){if(u=+u,B=+B,this._point){var E=this._x2-u,A=this._y2-B;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(E*E+A*A,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(u,B):this._context.moveTo(u,B);break;case 1:this._point=2;break;case 2:this._point=3;default:KW(this,u,B);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=B}};wW=function u(B){function E(A){return B?new Sx0(A,B):new MV(A,0)}return E.alpha=function(A){return u(+A)},E}(0.5)});function Yx0(u,B){this._context=u,this._alpha=B}var O40;var Rx0=g(()=>{Y40();JV();Yx0.prototype={areaStart:kE,areaEnd:kE,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(u,B){if(u=+u,B=+B,this._point){var E=this._x2-u,A=this._y2-B;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(E*E+A*A,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=u,this._y3=B;break;case 1:this._point=2,this._context.moveTo(this._x4=u,this._y4=B);break;case 2:this._point=3,this._x5=u,this._y5=B;break;default:KW(this,u,B);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=B}};O40=function u(B){function E(A){return B?new Yx0(A,B):new bV(A,0)}return E.alpha=function(A){return u(+A)},E}(0.5)});function Tx0(u,B){this._context=u,this._alpha=B}var I40;var Ox0=g(()=>{T40();JV();Tx0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(u,B){if(u=+u,B=+B,this._point){var E=this._x2-u,A=this._y2-B;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(E*E+A*A,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:KW(this,u,B);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=u,this._y0=this._y1,this._y1=this._y2,this._y2=B}};I40=function u(B){function E(A){return B?new Tx0(A,B):new ZV(A,0)}return E.alpha=function(A){return u(+A)},E}(0.5)});function Ix0(u){this._context=u}function KV(u){return new Ix0(u)}var Px0=g(()=>{Ix0.prototype={areaStart:kE,areaEnd:kE,lineStart:function(){this._point=0},lineEnd:function(){if(this._point)this._context.closePath()},point:function(u,B){if(u=+u,B=+B,this._point)this._context.lineTo(u,B);else this._point=1,this._context.moveTo(u,B)}}});function jx0(u){return u<0?-1:1}function Nx0(u,B,E){var A=u._x1-u._x0,C=B-u._x1,D=(u._y1-u._y0)/(A||C<0&&-0),F=(E-u._y1)/(C||A<0&&-0),U=(D*C+F*A)/(A+C);return(jx0(D)+jx0(F))*Math.min(Math.abs(D),Math.abs(F),0.5*Math.abs(U))||0}function Vx0(u,B){var E=u._x1-u._x0;return E?(3*(u._y1-u._y0)/E-B)/2:B}function P40(u,B,E){var{_x0:A,_y0:C,_x1:D,_y1:F}=u,U=(D-A)/3;u._context.bezierCurveTo(A+U,C+U*B,D-U,F-U*E,D,F)}function wV(u){this._context=u}function hx0(u){this._context=new ix0(u)}function ix0(u){this._context=u}function QW(u){return new wV(u)}function GW(u){return new hx0(u)}var ax0=g(()=>{wV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:P40(this,this._t0,Vx0(this,this._t0));break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(u,B){var E=NaN;if(u=+u,B=+B,u===this._x1&&B===this._y1)return;switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(u,B):this._context.moveTo(u,B);break;case 1:this._point=2;break;case 2:this._point=3,P40(this,Vx0(this,E=Nx0(this,u,B)),E);break;default:P40(this,this._t0,E=Nx0(this,u,B));break}this._x0=this._x1,this._x1=u,this._y0=this._y1,this._y1=B,this._t0=E}};(hx0.prototype=Object.create(wV.prototype)).point=function(u,B){wV.prototype.point.call(this,B,u)};ix0.prototype={moveTo:function(u,B){this._context.moveTo(B,u)},closePath:function(){this._context.closePath()},lineTo:function(u,B){this._context.lineTo(B,u)},bezierCurveTo:function(u,B,E,A,C,D){this._context.bezierCurveTo(B,u,A,E,D,C)}}});function $x0(u){this._context=u}function mx0(u){var B,E=u.length-1,A,C=Array(E),D=Array(E),F=Array(E);C[0]=0,D[0]=2,F[0]=u[0]+2*u[1];for(B=1;B<E-1;++B)C[B]=1,D[B]=4,F[B]=4*u[B]+2*u[B+1];C[E-1]=2,D[E-1]=7,F[E-1]=8*u[E-1]+u[E];for(B=1;B<E;++B)A=C[B]/D[B-1],D[B]-=A,F[B]-=A*F[B-1];C[E-1]=F[E-1]/D[E-1];for(B=E-2;B>=0;--B)C[B]=(F[B]-C[B+1])/D[B];D[E-1]=(u[E]+C[E-1])/2;for(B=0;B<E-1;++B)D[B]=2*u[B+1]-C[B+1];return[C,D]}function TH(u){return new $x0(u)}var yx0=g(()=>{$x0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var u=this._x,B=this._y,E=u.length;if(E)if(this._line?this._context.lineTo(u[0],B[0]):this._context.moveTo(u[0],B[0]),E===2)this._context.lineTo(u[1],B[1]);else{var A=mx0(u),C=mx0(B);for(var D=0,F=1;F<E;++D,++F)this._context.bezierCurveTo(A[0][D],C[0][D],A[1][D],C[1][D],u[F],B[F])}if(this._line||this._line!==0&&E===1)this._context.closePath();this._line=1-this._line,this._x=this._y=null},point:function(u,B){this._x.push(+u),this._y.push(+B)}}});function QV(u,B){this._context=u,this._t=B}function OH(u){return new QV(u,0.5)}function HW(u){return new QV(u,0)}function qW(u){return new QV(u,1)}var rx0=g(()=>{QV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){if(0<this._t&&this._t<1&&this._point===2)this._context.lineTo(this._x,this._y);if(this._line||this._line!==0&&this._point===1)this._context.closePath();if(this._line>=0)this._t=1-this._t,this._line=1-this._line},point:function(u,B){switch(u=+u,B=+B,this._point){case 0:this._point=1,this._line?this._context.lineTo(u,B):this._context.moveTo(u,B);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,B),this._context.lineTo(u,B);else{var E=this._x*(1-this._t)+u*this._t;this._context.lineTo(E,this._y),this._context.lineTo(E,B)}break}}this._x=u,this._y=B}}});var gx0=g(()=>{Jx0();Gx0();Hx0();Lx0();vx0();bW();qx0();Wx0();Y40();T40();JW();Rx0();Ox0();JV();Px0();L40();ax0();yx0();rx0()});function EM(u,B,E){this.k=u,this.x=B,this.y=E}function N40(u){while(!u.__zoom)if(!(u=u.parentNode))return j40;return u.__zoom}var j40;var V40=g(()=>{EM.prototype={constructor:EM,scale:function(u){return u===1?this:new EM(this.k*u,this.x,this.y)},translate:function(u,B){return u===0&B===0?this:new EM(this.k,this.x+this.k*u,this.y+this.k*B)},apply:function(u){return[u[0]*this.k+this.x,u[1]*this.k+this.y]},applyX:function(u){return u*this.k+this.x},applyY:function(u){return u*this.k+this.y},invert:function(u){return[(u[0]-this.x)/this.k,(u[1]-this.y)/this.k]},invertX:function(u){return(u-this.x)/this.k},invertY:function(u){return(u-this.y)/this.k},rescaleX:function(u){return u.copy().domain(u.range().map(this.invertX,this).map(u.invert,u))},rescaleY:function(u){return u.copy().domain(u.range().map(this.invertY,this).map(u.invert,u))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};j40=new EM(1,0,0);N40.prototype=EM.prototype});var cx0=g(()=>{VN();V40()});var _x0=g(()=>{cx0();V40()});var V3=g(()=>{gf();fL0();eX0();Av0();ZH();Cv0();Dv0();Re();NL0();Fv0();Mu0();Uv0();kv0();Su0();Hv0();xv0();wH();wu0();Wv0();zv0();Sv0();kx0();Mx0();KC();gx0();EV();K40();TN();VN();_x0()});var h1;var A2=g(()=>{s4();Y4();V3();h1=X((u)=>{let{securityLevel:B}=y0(),E=Qu("body");if(B==="sandbox"){let D=Qu(`#i${u}`).node()?.contentDocument??document;E=Qu(D.body)}return E.select(`#${u}`)},"selectSvgElement")});function e40(u){return typeof u>"u"||u===null}function dx0(u){return typeof u==="object"&&u!==null}function sx0(u){if(Array.isArray(u))return u;else if(e40(u))return[];return[u]}function ox0(u,B){var E,A,C,D;if(B){D=Object.keys(B);for(E=0,A=D.length;E<A;E+=1)C=D[E],u[C]=B[C]}return u}function tx0(u,B){var E="",A;for(A=0;A<B;A+=1)E+=u;return E}function ex0(u){return u===0&&Number.NEGATIVE_INFINITY===1/u}function u30(u,B){var E="",A=u.reason||"(unknown reason)";if(!u.mark)return A;if(u.mark.name)E+='in "'+u.mark.name+'" ';if(E+="("+(u.mark.line+1)+":"+(u.mark.column+1)+")",!B&&u.mark.snippet)E+=`
`+u.mark.snippet;return A+" "+E}function jH(u,B){if(Error.call(this),this.name="YAMLException",this.reason=u,this.mark=B,this.message=u30(this,!1),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=Error().stack||""}function GV(u,B,E,A,C){var D="",F="",U=Math.floor(C/2)-1;if(A-B>U)D=" ... ",B=A-U+D.length;if(E-A>U)F=" ...",E=A+U-F.length;return{str:D+u.slice(B,E).replace(/\t/g,"→")+F,pos:A-B+D.length}}function HV(u,B){return d2.repeat(" ",B-u.length)+u}function uW0(u,B){if(B=Object.create(B||null),!u.buffer)return null;if(!B.maxLength)B.maxLength=79;if(typeof B.indent!=="number")B.indent=1;if(typeof B.linesBefore!=="number")B.linesBefore=3;if(typeof B.linesAfter!=="number")B.linesAfter=2;var E=/\r?\n|\r|\0/g,A=[0],C=[],D,F=-1;while(D=E.exec(u.buffer))if(C.push(D.index),A.push(D.index+D[0].length),u.position<=D.index&&F<0)F=A.length-2;if(F<0)F=A.length-1;var U="",z,k,f=Math.min(u.line+B.linesAfter,C.length).toString().length,M=B.maxLength-(B.indent+f+3);for(z=1;z<=B.linesBefore;z++){if(F-z<0)break;k=GV(u.buffer,A[F-z],C[F-z],u.position-(A[F]-A[F-z]),M),U=d2.repeat(" ",B.indent)+HV((u.line-z+1).toString(),f)+" | "+k.str+`
`+U}k=GV(u.buffer,A[F],C[F],u.position,M),U+=d2.repeat(" ",B.indent)+HV((u.line+1).toString(),f)+" | "+k.str+`
`,U+=d2.repeat("-",B.indent+f+3+k.pos)+`^
`;for(z=1;z<=B.linesAfter;z++){if(F+z>=C.length)break;k=GV(u.buffer,A[F+z],C[F+z],u.position-(A[F]-A[F+z]),M),U+=d2.repeat(" ",B.indent)+HV((u.line+z+1).toString(),f)+" | "+k.str+`
`}return U.replace(/\n$/,"")}function BW0(u){var B={};if(u!==null)Object.keys(u).forEach(function(E){u[E].forEach(function(A){B[String(A)]=E})});return B}function EW0(u,B){if(B=B||{},Object.keys(B).forEach(function(E){if(yB4.indexOf(E)===-1)throw new k8('Unknown option "'+E+'" is met in definition of "'+u+'" YAML type.')}),this.options=B,this.tag=u,this.kind=B.kind||null,this.resolve=B.resolve||function(){return!0},this.construct=B.construct||function(E){return E},this.instanceOf=B.instanceOf||null,this.predicate=B.predicate||null,this.represent=B.represent||null,this.representName=B.representName||null,this.defaultStyle=B.defaultStyle||null,this.multi=B.multi||!1,this.styleAliases=BW0(B.styleAliases||null),rB4.indexOf(this.kind)===-1)throw new k8('Unknown kind "'+this.kind+'" is specified for "'+u+'" YAML type.')}function i40(u,B){var E=[];return u[B].forEach(function(A){var C=E.length;E.forEach(function(D,F){if(D.tag===A.tag&&D.kind===A.kind&&D.multi===A.multi)C=F}),E[C]=A}),E}function AW0(){var u={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},B,E;function A(C){if(C.multi)u.multi[C.kind].push(C),u.multi.fallback.push(C);else u[C.kind][C.tag]=u.fallback[C.tag]=C}X(A,"collectType");for(B=0,E=arguments.length;B<E;B+=1)arguments[B].forEach(A);return u}function qV(u){return this.extend(u)}function CW0(u){if(u===null)return!0;var B=u.length;return B===1&&u==="~"||B===4&&(u==="null"||u==="Null"||u==="NULL")}function DW0(){return null}function FW0(u){return u===null}function UW0(u){if(u===null)return!1;var B=u.length;return B===4&&(u==="true"||u==="True"||u==="TRUE")||B===5&&(u==="false"||u==="False"||u==="FALSE")}function zW0(u){return u==="true"||u==="True"||u==="TRUE"}function kW0(u){return Object.prototype.toString.call(u)==="[object Boolean]"}function fW0(u){return 48<=u&&u<=57||65<=u&&u<=70||97<=u&&u<=102}function MW0(u){return 48<=u&&u<=55}function bW0(u){return 48<=u&&u<=57}function ZW0(u){if(u===null)return!1;var B=u.length,E=0,A=!1,C;if(!B)return!1;if(C=u[E],C==="-"||C==="+")C=u[++E];if(C==="0"){if(E+1===B)return!0;if(C=u[++E],C==="b"){E++;for(;E<B;E++){if(C=u[E],C==="_")continue;if(C!=="0"&&C!=="1")return!1;A=!0}return A&&C!=="_"}if(C==="x"){E++;for(;E<B;E++){if(C=u[E],C==="_")continue;if(!fW0(u.charCodeAt(E)))return!1;A=!0}return A&&C!=="_"}if(C==="o"){E++;for(;E<B;E++){if(C=u[E],C==="_")continue;if(!MW0(u.charCodeAt(E)))return!1;A=!0}return A&&C!=="_"}}if(C==="_")return!1;for(;E<B;E++){if(C=u[E],C==="_")continue;if(!bW0(u.charCodeAt(E)))return!1;A=!0}if(!A||C==="_")return!1;return!0}function JW0(u){var B=u,E=1,A;if(B.indexOf("_")!==-1)B=B.replace(/_/g,"");if(A=B[0],A==="-"||A==="+"){if(A==="-")E=-1;B=B.slice(1),A=B[0]}if(B==="0")return 0;if(A==="0"){if(B[1]==="b")return E*parseInt(B.slice(2),2);if(B[1]==="x")return E*parseInt(B.slice(2),16);if(B[1]==="o")return E*parseInt(B.slice(2),8)}return E*parseInt(B,10)}function KW0(u){return Object.prototype.toString.call(u)==="[object Number]"&&(u%1===0&&!d2.isNegativeZero(u))}function wW0(u){if(u===null)return!1;if(!tB4.test(u)||u[u.length-1]==="_")return!1;return!0}function QW0(u){var B,E;if(B=u.replace(/_/g,"").toLowerCase(),E=B[0]==="-"?-1:1,"+-".indexOf(B[0])>=0)B=B.slice(1);if(B===".inf")return E===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;else if(B===".nan")return NaN;return E*parseFloat(B,10)}function GW0(u,B){var E;if(isNaN(u))switch(B){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===u)switch(B){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===u)switch(B){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(d2.isNegativeZero(u))return"-0.0";return E=u.toString(10),eB4.test(E)?E.replace("e",".e"):E}function HW0(u){return Object.prototype.toString.call(u)==="[object Number]"&&(u%1!==0||d2.isNegativeZero(u))}function XW0(u){if(u===null)return!1;if(lW0.exec(u)!==null)return!0;if(LW0.exec(u)!==null)return!0;return!1}function vW0(u){var B,E,A,C,D,F,U,z=0,k=null,f,M,b;if(B=lW0.exec(u),B===null)B=LW0.exec(u);if(B===null)throw Error("Date resolve error");if(E=+B[1],A=+B[2]-1,C=+B[3],!B[4])return new Date(Date.UTC(E,A,C));if(D=+B[4],F=+B[5],U=+B[6],B[7]){z=B[7].slice(0,3);while(z.length<3)z+="0";z=+z}if(B[9]){if(f=+B[10],M=+(B[11]||0),k=(f*60+M)*60000,B[9]==="-")k=-k}if(b=new Date(Date.UTC(E,A,C,D,F,U,z)),k)b.setTime(b.getTime()-k);return b}function xW0(u){return u.toISOString()}function WW0(u){return u==="<<"||u===null}function SW0(u){if(u===null)return!1;var B,E,A=0,C=u.length,D=B30;for(E=0;E<C;E++){if(B=D.indexOf(u.charAt(E)),B>64)continue;if(B<0)return!1;A+=6}return A%8===0}function YW0(u){var B,E,A=u.replace(/[\r\n=]/g,""),C=A.length,D=B30,F=0,U=[];for(B=0;B<C;B++){if(B%4===0&&B)U.push(F>>16&255),U.push(F>>8&255),U.push(F&255);F=F<<6|D.indexOf(A.charAt(B))}if(E=C%4*6,E===0)U.push(F>>16&255),U.push(F>>8&255),U.push(F&255);else if(E===18)U.push(F>>10&255),U.push(F>>2&255);else if(E===12)U.push(F>>4&255);return new Uint8Array(U)}function RW0(u){var B="",E=0,A,C,D=u.length,F=B30;for(A=0;A<D;A++){if(A%3===0&&A)B+=F[E>>18&63],B+=F[E>>12&63],B+=F[E>>6&63],B+=F[E&63];E=(E<<8)+u[A]}if(C=D%3,C===0)B+=F[E>>18&63],B+=F[E>>12&63],B+=F[E>>6&63],B+=F[E&63];else if(C===2)B+=F[E>>10&63],B+=F[E>>4&63],B+=F[E<<2&63],B+=F[64];else if(C===1)B+=F[E>>2&63],B+=F[E<<4&63],B+=F[64],B+=F[64];return B}function TW0(u){return Object.prototype.toString.call(u)==="[object Uint8Array]"}function OW0(u){if(u===null)return!0;var B=[],E,A,C,D,F,U=u;for(E=0,A=U.length;E<A;E+=1){if(C=U[E],F=!1,F84.call(C)!=="[object Object]")return!1;for(D in C)if(D84.call(C,D))if(!F)F=!0;else return!1;if(!F)return!1;if(B.indexOf(D)===-1)B.push(D);else return!1}return!0}function IW0(u){return u!==null?u:[]}function PW0(u){if(u===null)return!0;var B,E,A,C,D,F=u;D=Array(F.length);for(B=0,E=F.length;B<E;B+=1){if(A=F[B],z84.call(A)!=="[object Object]")return!1;if(C=Object.keys(A),C.length!==1)return!1;D[B]=[C[0],A[C[0]]]}return!0}function jW0(u){if(u===null)return[];var B,E,A,C,D,F=u;D=Array(F.length);for(B=0,E=F.length;B<E;B+=1)A=F[B],C=Object.keys(A),D[B]=[C[0],A[C[0]]];return D}function NW0(u){if(u===null)return!0;var B,E=u;for(B in E)if(f84.call(E,B)){if(E[B]!==null)return!1}return!0}function VW0(u){return u!==null?u:{}}function a40(u){return Object.prototype.toString.call(u)}function WC(u){return u===10||u===13}function AM(u){return u===9||u===32}function QB(u){return u===9||u===32||u===10||u===13}function eJ(u){return u===44||u===91||u===93||u===123||u===125}function yW0(u){var B;if(48<=u&&u<=57)return u-48;if(B=u|32,97<=B&&B<=102)return B-97+10;return-1}function rW0(u){if(u===120)return 2;if(u===117)return 4;if(u===85)return 8;return 0}function gW0(u){if(48<=u&&u<=57)return u-48;return-1}function m40(u){return u===48?"\x00":u===97?"\x07":u===98?"\b":u===116?"\t":u===9?"\t":u===110?`
`:u===118?"\v":u===102?"\f":u===114?"\r":u===101?"\x1B":u===32?" ":u===34?'"':u===47?"/":u===92?"\\":u===78?"…":u===95?" ":u===76?"\u2028":u===80?"\u2029":""}function cW0(u){if(u<=65535)return String.fromCharCode(u);return String.fromCharCode((u-65536>>10)+55296,(u-65536&1023)+56320)}function E30(u,B,E){if(B==="__proto__")Object.defineProperty(u,B,{configurable:!0,enumerable:!0,writable:!0,value:E});else u[B]=E}function nW0(u,B){this.input=u,this.filename=B.filename||null,this.schema=B.schema||hW0,this.onWarning=B.onWarning||null,this.legacy=B.legacy||!1,this.json=B.json||!1,this.listener=B.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=u.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function A30(u,B){var E={name:u.filename,buffer:u.input.slice(0,-1),position:u.position,line:u.line,column:u.position-u.lineStart};return E.snippet=$B4(E),new k8(B,E)}function _4(u,B){throw A30(u,B)}function lW(u,B){if(u.onWarning)u.onWarning.call(null,A30(u,B))}function mz(u,B,E,A){var C,D,F,U;if(B<E){if(U=u.input.slice(B,E),A){for(C=0,D=U.length;C<D;C+=1)if(F=U.charCodeAt(C),!(F===9||32<=F&&F<=1114111))_4(u,"expected valid JSON character")}else if(Z84.test(U))_4(u,"the stream contains non-printable characters");u.result+=U}}function $40(u,B,E,A){var C,D,F,U;if(!d2.isObject(E))_4(u,"cannot merge mappings; the provided source object is unacceptable");C=Object.keys(E);for(F=0,U=C.length;F<U;F+=1)if(D=C[F],!CM.call(B,D))E30(B,D,E[D]),A[D]=!0}function uK(u,B,E,A,C,D,F,U,z){var k,f;if(Array.isArray(C)){C=Array.prototype.slice.call(C);for(k=0,f=C.length;k<f;k+=1){if(Array.isArray(C[k]))_4(u,"nested arrays are not supported inside keys");if(typeof C==="object"&&a40(C[k])==="[object Object]")C[k]="[object Object]"}}if(typeof C==="object"&&a40(C)==="[object Object]")C="[object Object]";if(C=String(C),B===null)B={};if(A==="tag:yaml.org,2002:merge")if(Array.isArray(D))for(k=0,f=D.length;k<f;k+=1)$40(u,B,D[k],E);else $40(u,B,D,E);else{if(!u.json&&!CM.call(E,C)&&CM.call(B,C))u.line=F||u.line,u.lineStart=U||u.lineStart,u.position=z||u.position,_4(u,"duplicated mapping key");E30(B,C,D),delete E[C]}return B}function WV(u){var B=u.input.charCodeAt(u.position);if(B===10)u.position++;else if(B===13){if(u.position++,u.input.charCodeAt(u.position)===10)u.position++}else _4(u,"a line break is expected");u.line+=1,u.lineStart=u.position,u.firstTabInLine=-1}function C2(u,B,E){var A=0,C=u.input.charCodeAt(u.position);while(C!==0){while(AM(C)){if(C===9&&u.firstTabInLine===-1)u.firstTabInLine=u.position;C=u.input.charCodeAt(++u.position)}if(B&&C===35)do C=u.input.charCodeAt(++u.position);while(C!==10&&C!==13&&C!==0);if(WC(C)){WV(u),C=u.input.charCodeAt(u.position),A++,u.lineIndent=0;while(C===32)u.lineIndent++,C=u.input.charCodeAt(++u.position)}else break}if(E!==-1&&A!==0&&u.lineIndent<E)lW(u,"deficient indentation");return A}function xW(u){var B=u.position,E;if(E=u.input.charCodeAt(B),(E===45||E===46)&&E===u.input.charCodeAt(B+1)&&E===u.input.charCodeAt(B+2)){if(B+=3,E=u.input.charCodeAt(B),E===0||QB(E))return!0}return!1}function SV(u,B){if(B===1)u.result+=" ";else if(B>1)u.result+=d2.repeat(`
`,B-1)}function dW0(u,B,E){var A,C,D,F,U,z,k,f,M=u.kind,b=u.result,Z;if(Z=u.input.charCodeAt(u.position),QB(Z)||eJ(Z)||Z===35||Z===38||Z===42||Z===33||Z===124||Z===62||Z===39||Z===34||Z===37||Z===64||Z===96)return!1;if(Z===63||Z===45){if(C=u.input.charCodeAt(u.position+1),QB(C)||E&&eJ(C))return!1}u.kind="scalar",u.result="",D=F=u.position,U=!1;while(Z!==0){if(Z===58){if(C=u.input.charCodeAt(u.position+1),QB(C)||E&&eJ(C))break}else if(Z===35){if(A=u.input.charCodeAt(u.position-1),QB(A))break}else if(u.position===u.lineStart&&xW(u)||E&&eJ(Z))break;else if(WC(Z))if(z=u.line,k=u.lineStart,f=u.lineIndent,C2(u,!1,-1),u.lineIndent>=B){U=!0,Z=u.input.charCodeAt(u.position);continue}else{u.position=F,u.line=z,u.lineStart=k,u.lineIndent=f;break}if(U)mz(u,D,F,!1),SV(u,u.line-z),D=F=u.position,U=!1;if(!AM(Z))F=u.position+1;Z=u.input.charCodeAt(++u.position)}if(mz(u,D,F,!1),u.result)return!0;return u.kind=M,u.result=b,!1}function sW0(u,B){var E,A,C;if(E=u.input.charCodeAt(u.position),E!==39)return!1;u.kind="scalar",u.result="",u.position++,A=C=u.position;while((E=u.input.charCodeAt(u.position))!==0)if(E===39)if(mz(u,A,u.position,!0),E=u.input.charCodeAt(++u.position),E===39)A=u.position,u.position++,C=u.position;else return!0;else if(WC(E))mz(u,A,C,!0),SV(u,C2(u,!1,B)),A=C=u.position;else if(u.position===u.lineStart&&xW(u))_4(u,"unexpected end of the document within a single quoted scalar");else u.position++,C=u.position;_4(u,"unexpected end of the stream within a single quoted scalar")}function oW0(u,B){var E,A,C,D,F,U;if(U=u.input.charCodeAt(u.position),U!==34)return!1;u.kind="scalar",u.result="",u.position++,E=A=u.position;while((U=u.input.charCodeAt(u.position))!==0)if(U===34)return mz(u,E,u.position,!0),u.position++,!0;else if(U===92){if(mz(u,E,u.position,!0),U=u.input.charCodeAt(++u.position),WC(U))C2(u,!1,B);else if(U<256&&_W0[U])u.result+=pW0[U],u.position++;else if((F=rW0(U))>0){C=F,D=0;for(;C>0;C--)if(U=u.input.charCodeAt(++u.position),(F=yW0(U))>=0)D=(D<<4)+F;else _4(u,"expected hexadecimal character");u.result+=cW0(D),u.position++}else _4(u,"unknown escape sequence");E=A=u.position}else if(WC(U))mz(u,E,A,!0),SV(u,C2(u,!1,B)),E=A=u.position;else if(u.position===u.lineStart&&xW(u))_4(u,"unexpected end of the document within a double quoted scalar");else u.position++,A=u.position;_4(u,"unexpected end of the stream within a double quoted scalar")}function tW0(u,B){var E=!0,A,C,D,F=u.tag,U,z=u.anchor,k,f,M,b,Z,J=Object.create(null),K,w,Q,G;if(G=u.input.charCodeAt(u.position),G===91)f=93,Z=!1,U=[];else if(G===123)f=125,Z=!0,U={};else return!1;if(u.anchor!==null)u.anchorMap[u.anchor]=U;G=u.input.charCodeAt(++u.position);while(G!==0){if(C2(u,!0,B),G=u.input.charCodeAt(u.position),G===f)return u.position++,u.tag=F,u.anchor=z,u.kind=Z?"mapping":"sequence",u.result=U,!0;else if(!E)_4(u,"missed comma between flow collection entries");else if(G===44)_4(u,"expected the node content, but found ','");if(w=K=Q=null,M=b=!1,G===63){if(k=u.input.charCodeAt(u.position+1),QB(k))M=b=!0,u.position++,C2(u,!0,B)}if(A=u.line,C=u.lineStart,D=u.position,BK(u,B,lV,!1,!0),w=u.tag,K=u.result,C2(u,!0,B),G=u.input.charCodeAt(u.position),(b||u.line===A)&&G===58)M=!0,G=u.input.charCodeAt(++u.position),C2(u,!0,B),BK(u,B,lV,!1,!0),Q=u.result;if(Z)uK(u,U,J,w,K,Q,A,C,D);else if(M)U.push(uK(u,null,J,w,K,Q,A,C,D));else U.push(K);if(C2(u,!0,B),G=u.input.charCodeAt(u.position),G===44)E=!0,G=u.input.charCodeAt(++u.position);else E=!1}_4(u,"unexpected end of the stream within a flow collection")}function eW0(u,B){var E,A,C=h40,D=!1,F=!1,U=B,z=0,k=!1,f,M;if(M=u.input.charCodeAt(u.position),M===124)A=!1;else if(M===62)A=!0;else return!1;u.kind="scalar",u.result="";while(M!==0)if(M=u.input.charCodeAt(++u.position),M===43||M===45)if(h40===C)C=M===43?px0:b84;else _4(u,"repeat of a chomping mode identifier");else if((f=gW0(M))>=0)if(f===0)_4(u,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!F)U=B+f-1,F=!0;else _4(u,"repeat of an indentation width identifier");else break;if(AM(M)){do M=u.input.charCodeAt(++u.position);while(AM(M));if(M===35)do M=u.input.charCodeAt(++u.position);while(!WC(M)&&M!==0)}while(M!==0){WV(u),u.lineIndent=0,M=u.input.charCodeAt(u.position);while((!F||u.lineIndent<U)&&M===32)u.lineIndent++,M=u.input.charCodeAt(++u.position);if(!F&&u.lineIndent>U)U=u.lineIndent;if(WC(M)){z++;continue}if(u.lineIndent<U){if(C===px0)u.result+=d2.repeat(`
`,D?1+z:z);else if(C===h40){if(D)u.result+=`
`}break}if(A)if(AM(M))k=!0,u.result+=d2.repeat(`
`,D?1+z:z);else if(k)k=!1,u.result+=d2.repeat(`
`,z+1);else if(z===0){if(D)u.result+=" "}else u.result+=d2.repeat(`
`,z);else u.result+=d2.repeat(`
`,D?1+z:z);D=!0,F=!0,z=0,E=u.position;while(!WC(M)&&M!==0)M=u.input.charCodeAt(++u.position);mz(u,E,u.position,!1)}return!0}function y40(u,B){var E,A=u.tag,C=u.anchor,D=[],F,U=!1,z;if(u.firstTabInLine!==-1)return!1;if(u.anchor!==null)u.anchorMap[u.anchor]=D;z=u.input.charCodeAt(u.position);while(z!==0){if(u.firstTabInLine!==-1)u.position=u.firstTabInLine,_4(u,"tab characters must not be used in indentation");if(z!==45)break;if(F=u.input.charCodeAt(u.position+1),!QB(F))break;if(U=!0,u.position++,C2(u,!0,-1)){if(u.lineIndent<=B){D.push(null),z=u.input.charCodeAt(u.position);continue}}if(E=u.line,BK(u,B,aW0,!1,!0),D.push(u.result),C2(u,!0,-1),z=u.input.charCodeAt(u.position),(u.line===E||u.lineIndent>B)&&z!==0)_4(u,"bad indentation of a sequence entry");else if(u.lineIndent<B)break}if(U)return u.tag=A,u.anchor=C,u.kind="sequence",u.result=D,!0;return!1}function uS0(u,B,E){var A,C,D,F,U,z,k=u.tag,f=u.anchor,M={},b=Object.create(null),Z=null,J=null,K=null,w=!1,Q=!1,G;if(u.firstTabInLine!==-1)return!1;if(u.anchor!==null)u.anchorMap[u.anchor]=M;G=u.input.charCodeAt(u.position);while(G!==0){if(!w&&u.firstTabInLine!==-1)u.position=u.firstTabInLine,_4(u,"tab characters must not be used in indentation");if(A=u.input.charCodeAt(u.position+1),D=u.line,(G===63||G===58)&&QB(A)){if(G===63){if(w)uK(u,M,b,Z,J,null,F,U,z),Z=J=K=null;Q=!0,w=!0,C=!0}else if(w)w=!1,C=!0;else _4(u,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");u.position+=1,G=A}else{if(F=u.line,U=u.lineStart,z=u.position,!BK(u,E,iW0,!1,!0))break;if(u.line===D){G=u.input.charCodeAt(u.position);while(AM(G))G=u.input.charCodeAt(++u.position);if(G===58){if(G=u.input.charCodeAt(++u.position),!QB(G))_4(u,"a whitespace character is expected after the key-value separator within a block mapping");if(w)uK(u,M,b,Z,J,null,F,U,z),Z=J=K=null;Q=!0,w=!1,C=!1,Z=u.tag,J=u.result}else if(Q)_4(u,"can not read an implicit mapping pair; a colon is missed");else return u.tag=k,u.anchor=f,!0}else if(Q)_4(u,"can not read a block mapping entry; a multiline key may not be an implicit key");else return u.tag=k,u.anchor=f,!0}if(u.line===D||u.lineIndent>B){if(w)F=u.line,U=u.lineStart,z=u.position;if(BK(u,B,LV,!0,C))if(w)J=u.result;else K=u.result;if(!w)uK(u,M,b,Z,J,K,F,U,z),Z=J=K=null;C2(u,!0,-1),G=u.input.charCodeAt(u.position)}if((u.line===D||u.lineIndent>B)&&G!==0)_4(u,"bad indentation of a mapping entry");else if(u.lineIndent<B)break}if(w)uK(u,M,b,Z,J,null,F,U,z);if(Q)u.tag=k,u.anchor=f,u.kind="mapping",u.result=M;return Q}function BS0(u){var B,E=!1,A=!1,C,D,F;if(F=u.input.charCodeAt(u.position),F!==33)return!1;if(u.tag!==null)_4(u,"duplication of a tag property");if(F=u.input.charCodeAt(++u.position),F===60)E=!0,F=u.input.charCodeAt(++u.position);else if(F===33)A=!0,C="!!",F=u.input.charCodeAt(++u.position);else C="!";if(B=u.position,E){do F=u.input.charCodeAt(++u.position);while(F!==0&&F!==62);if(u.position<u.length)D=u.input.slice(B,u.position),F=u.input.charCodeAt(++u.position);else _4(u,"unexpected end of the stream within a verbatim tag")}else{while(F!==0&&!QB(F)){if(F===33)if(!A){if(C=u.input.slice(B-1,u.position+1),!mW0.test(C))_4(u,"named tag handle cannot contain such characters");A=!0,B=u.position+1}else _4(u,"tag suffix cannot contain exclamation marks");F=u.input.charCodeAt(++u.position)}if(D=u.input.slice(B,u.position),K84.test(D))_4(u,"tag suffix cannot contain flow indicator characters")}if(D&&!$W0.test(D))_4(u,"tag name cannot contain such characters: "+D);try{D=decodeURIComponent(D)}catch(U){_4(u,"tag name is malformed: "+D)}if(E)u.tag=D;else if(CM.call(u.tagMap,C))u.tag=u.tagMap[C]+D;else if(C==="!")u.tag="!"+D;else if(C==="!!")u.tag="tag:yaml.org,2002:"+D;else _4(u,'undeclared tag handle "'+C+'"');return!0}function ES0(u){var B,E;if(E=u.input.charCodeAt(u.position),E!==38)return!1;if(u.anchor!==null)_4(u,"duplication of an anchor property");E=u.input.charCodeAt(++u.position),B=u.position;while(E!==0&&!QB(E)&&!eJ(E))E=u.input.charCodeAt(++u.position);if(u.position===B)_4(u,"name of an anchor node must contain at least one character");return u.anchor=u.input.slice(B,u.position),!0}function AS0(u){var B,E,A;if(A=u.input.charCodeAt(u.position),A!==42)return!1;A=u.input.charCodeAt(++u.position),B=u.position;while(A!==0&&!QB(A)&&!eJ(A))A=u.input.charCodeAt(++u.position);if(u.position===B)_4(u,"name of an alias node must contain at least one character");if(E=u.input.slice(B,u.position),!CM.call(u.anchorMap,E))_4(u,'unidentified alias "'+E+'"');return u.result=u.anchorMap[E],C2(u,!0,-1),!0}function BK(u,B,E,A,C){var D,F,U,z=1,k=!1,f=!1,M,b,Z,J,K,w;if(u.listener!==null)u.listener("open",u);if(u.tag=null,u.anchor=null,u.kind=null,u.result=null,D=F=U=LV===E||aW0===E,A){if(C2(u,!0,-1)){if(k=!0,u.lineIndent>B)z=1;else if(u.lineIndent===B)z=0;else if(u.lineIndent<B)z=-1}}if(z===1)while(BS0(u)||ES0(u))if(C2(u,!0,-1)){if(k=!0,U=D,u.lineIndent>B)z=1;else if(u.lineIndent===B)z=0;else if(u.lineIndent<B)z=-1}else U=!1;if(U)U=k||C;if(z===1||LV===E){if(lV===E||iW0===E)K=B;else K=B+1;if(w=u.position-u.lineStart,z===1)if(U&&(y40(u,w)||uS0(u,w,K))||tW0(u,K))f=!0;else{if(F&&eW0(u,K)||sW0(u,K)||oW0(u,K))f=!0;else if(AS0(u)){if(f=!0,u.tag!==null||u.anchor!==null)_4(u,"alias node should not have any properties")}else if(dW0(u,K,lV===E)){if(f=!0,u.tag===null)u.tag="?"}if(u.anchor!==null)u.anchorMap[u.anchor]=u.result}else if(z===0)f=U&&y40(u,w)}if(u.tag===null){if(u.anchor!==null)u.anchorMap[u.anchor]=u.result}else if(u.tag==="?"){if(u.result!==null&&u.kind!=="scalar")_4(u,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+u.kind+'"');for(M=0,b=u.implicitTypes.length;M<b;M+=1)if(J=u.implicitTypes[M],J.resolve(u.result)){if(u.result=J.construct(u.result),u.tag=J.tag,u.anchor!==null)u.anchorMap[u.anchor]=u.result;break}}else if(u.tag!=="!"){if(CM.call(u.typeMap[u.kind||"fallback"],u.tag))J=u.typeMap[u.kind||"fallback"][u.tag];else{J=null,Z=u.typeMap.multi[u.kind||"fallback"];for(M=0,b=Z.length;M<b;M+=1)if(u.tag.slice(0,Z[M].tag.length)===Z[M].tag){J=Z[M];break}}if(!J)_4(u,"unknown tag !<"+u.tag+">");if(u.result!==null&&J.kind!==u.kind)_4(u,"unacceptable node kind for !<"+u.tag+'> tag; it should be "'+J.kind+'", not "'+u.kind+'"');if(!J.resolve(u.result,u.tag))_4(u,"cannot resolve a node with !<"+u.tag+"> explicit tag");else if(u.result=J.construct(u.result,u.tag),u.anchor!==null)u.anchorMap[u.anchor]=u.result}if(u.listener!==null)u.listener("close",u);return u.tag!==null||u.anchor!==null||f}function CS0(u){var B=u.position,E,A,C,D=!1,F;u.version=null,u.checkLineBreaks=u.legacy,u.tagMap=Object.create(null),u.anchorMap=Object.create(null);while((F=u.input.charCodeAt(u.position))!==0){if(C2(u,!0,-1),F=u.input.charCodeAt(u.position),u.lineIndent>0||F!==37)break;D=!0,F=u.input.charCodeAt(++u.position),E=u.position;while(F!==0&&!QB(F))F=u.input.charCodeAt(++u.position);if(A=u.input.slice(E,u.position),C=[],A.length<1)_4(u,"directive name must not be less than one character in length");while(F!==0){while(AM(F))F=u.input.charCodeAt(++u.position);if(F===35){do F=u.input.charCodeAt(++u.position);while(F!==0&&!WC(F));break}if(WC(F))break;E=u.position;while(F!==0&&!QB(F))F=u.input.charCodeAt(++u.position);C.push(u.input.slice(E,u.position))}if(F!==0)WV(u);if(CM.call(nx0,A))nx0[A](u,A,C);else lW(u,'unknown document directive "'+A+'"')}if(C2(u,!0,-1),u.lineIndent===0&&u.input.charCodeAt(u.position)===45&&u.input.charCodeAt(u.position+1)===45&&u.input.charCodeAt(u.position+2)===45)u.position+=3,C2(u,!0,-1);else if(D)_4(u,"directives end mark is expected");if(BK(u,u.lineIndent-1,LV,!1,!0),C2(u,!0,-1),u.checkLineBreaks&&J84.test(u.input.slice(B,u.position)))lW(u,"non-ASCII line breaks are interpreted as content");if(u.documents.push(u.result),u.position===u.lineStart&&xW(u)){if(u.input.charCodeAt(u.position)===46)u.position+=3,C2(u,!0,-1);return}if(u.position<u.length-1)_4(u,"end of the stream or a document separator is expected");else return}function C30(u,B){if(u=String(u),B=B||{},u.length!==0){if(u.charCodeAt(u.length-1)!==10&&u.charCodeAt(u.length-1)!==13)u+=`
`;if(u.charCodeAt(0)===65279)u=u.slice(1)}var E=new nW0(u,B),A=u.indexOf("\x00");if(A!==-1)E.position=A,_4(E,"null byte is not allowed in input");E.input+="\x00";while(E.input.charCodeAt(E.position)===32)E.lineIndent+=1,E.position+=1;while(E.position<E.length-1)CS0(E);return E.documents}function DS0(u,B,E){if(B!==null&&typeof B==="object"&&typeof E>"u")E=B,B=null;var A=C30(u,E);if(typeof B!=="function")return A;for(var C=0,D=A.length;C<D;C+=1)B(A[C])}function FS0(u,B){var E=C30(u,B);if(E.length===0)return;else if(E.length===1)return E[0];throw new k8("expected a single document in the stream, but found more")}function KS0(u,B){var E,A,C,D,F,U,z;if(B===null)return{};E={},A=Object.keys(B);for(C=0,D=A.length;C<D;C+=1){if(F=A[C],U=String(B[F]),F.slice(0,2)==="!!")F="tag:yaml.org,2002:"+F.slice(2);if(z=u.compiledTypeMap.fallback[F],z&&kS0.call(z.styleAliases,U))U=z.styleAliases[U];E[F]=U}return E}function wS0(u){var B,E,A;if(B=u.toString(16).toUpperCase(),u<=255)E="x",A=2;else if(u<=65535)E="u",A=4;else if(u<=4294967295)E="U",A=8;else throw new k8("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+E+d2.repeat("0",A-B.length)+B}function QS0(u){this.schema=u.schema||hW0,this.indent=Math.max(1,u.indent||2),this.noArrayIndent=u.noArrayIndent||!1,this.skipInvalid=u.skipInvalid||!1,this.flowLevel=d2.isNothing(u.flowLevel)?-1:u.flowLevel,this.styleMap=KS0(this.schema,u.styles||null),this.sortKeys=u.sortKeys||!1,this.lineWidth=u.lineWidth||80,this.noRefs=u.noRefs||!1,this.noCompatMode=u.noCompatMode||!1,this.condenseFlow=u.condenseFlow||!1,this.quotingType=u.quotingType==='"'?XW:V84,this.forceQuotes=u.forceQuotes||!1,this.replacer=typeof u.replacer==="function"?u.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function g40(u,B){var E=d2.repeat(" ",B),A=0,C=-1,D="",F,U=u.length;while(A<U){if(C=u.indexOf(`
`,A),C===-1)F=u.slice(A),A=U;else F=u.slice(A,C+1),A=C+1;if(F.length&&F!==`
`)D+=E;D+=F}return D}function vV(u,B){return`
`+d2.repeat(" ",u.indent*B)}function GS0(u,B){var E,A,C;for(E=0,A=u.implicitTypes.length;E<A;E+=1)if(C=u.implicitTypes[E],C.resolve(B))return!0;return!1}function vW(u){return u===q84||u===G84}function NH(u){return 32<=u&&u<=126||161<=u&&u<=55295&&u!==8232&&u!==8233||57344<=u&&u<=65533&&u!==D30||65536<=u&&u<=1114111}function c40(u){return NH(u)&&u!==D30&&u!==H84&&u!==LW}function _40(u,B,E){var A=c40(u),C=A&&!vW(u);return(E?A:A&&u!==fS0&&u!==MS0&&u!==bS0&&u!==ZS0&&u!==JS0)&&u!==r40&&!(B===XV&&!C)||c40(B)&&!vW(B)&&u===r40||B===XV&&C}function HS0(u){return NH(u)&&u!==D30&&!vW(u)&&u!==S84&&u!==T84&&u!==XV&&u!==fS0&&u!==MS0&&u!==bS0&&u!==ZS0&&u!==JS0&&u!==r40&&u!==v84&&u!==W84&&u!==l84&&u!==P84&&u!==Y84&&u!==R84&&u!==x84&&u!==L84&&u!==X84&&u!==O84&&u!==I84}function qS0(u){return!vW(u)&&u!==XV}function PH(u,B){var E=u.charCodeAt(B),A;if(E>=55296&&E<=56319&&B+1<u.length){if(A=u.charCodeAt(B+1),A>=56320&&A<=57343)return(E-55296)*1024+A-56320+65536}return E}function F30(u){var B=/^\n* /;return B.test(u)}function vS0(u,B,E,A,C,D,F,U){var z,k=0,f=null,M=!1,b=!1,Z=A!==-1,J=-1,K=HS0(PH(u,0))&&qS0(PH(u,u.length-1));if(B||F)for(z=0;z<u.length;k>=65536?z+=2:z++){if(k=PH(u,z),!NH(k))return IH;K=K&&_40(k,f,U),f=k}else{for(z=0;z<u.length;k>=65536?z+=2:z++){if(k=PH(u,z),k===LW){if(M=!0,Z)b=b||z-J-1>A&&u[J+1]!==" ",J=z}else if(!NH(k))return IH;K=K&&_40(k,f,U),f=k}b=b||Z&&(z-J-1>A&&u[J+1]!==" ")}if(!M&&!b){if(K&&!F&&!C(u))return lS0;return D===XW?IH:p40}if(E>9&&F30(u))return IH;if(!F)return b?XS0:LS0;return D===XW?IH:p40}function xS0(u,B,E,A,C){u.dump=function(){if(B.length===0)return u.quotingType===XW?'""':"''";if(!u.noCompatMode){if(j84.indexOf(B)!==-1||N84.test(B))return u.quotingType===XW?'"'+B+'"':"'"+B+"'"}var D=u.indent*Math.max(1,E),F=u.lineWidth===-1?-1:Math.max(Math.min(u.lineWidth,40),u.lineWidth-D),U=A||u.flowLevel>-1&&E>=u.flowLevel;function z(k){return GS0(u,k)}switch(X(z,"testAmbiguity"),vS0(B,U,u.indent,F,z,u.quotingType,u.forceQuotes&&!A,C)){case lS0:return B;case p40:return"'"+B.replace(/'/g,"''")+"'";case LS0:return"|"+n40(B,u.indent)+d40(g40(B,D));case XS0:return">"+n40(B,u.indent)+d40(g40(WS0(B,F),D));case IH:return'"'+SS0(B)+'"';default:throw new k8("impossible error: invalid scalar style")}}()}function n40(u,B){var E=F30(u)?String(B):"",A=u[u.length-1]===`
`,C=A&&(u[u.length-2]===`
`||u===`
`),D=C?"+":A?"":"-";return E+D+`
`}function d40(u){return u[u.length-1]===`
`?u.slice(0,-1):u}function WS0(u,B){var E=/(\n+)([^\n]*)/g,A=function(){var k=u.indexOf(`
`);return k=k!==-1?k:u.length,E.lastIndex=k,s40(u.slice(0,k),B)}(),C=u[0]===`
`||u[0]===" ",D,F;while(F=E.exec(u)){var U=F[1],z=F[2];D=z[0]===" ",A+=U+(!C&&!D&&z!==""?`
`:"")+s40(z,B),C=D}return A}function s40(u,B){if(u===""||u[0]===" ")return u;var E=/ [^ ]/g,A,C=0,D,F=0,U=0,z="";while(A=E.exec(u)){if(U=A.index,U-C>B)D=F>C?F:U,z+=`
`+u.slice(C,D),C=D+1;F=U}if(z+=`
`,u.length-C>B&&F>C)z+=u.slice(C,F)+`
`+u.slice(F+1);else z+=u.slice(C);return z.slice(1)}function SS0(u){var B="",E=0,A;for(var C=0;C<u.length;E>=65536?C+=2:C++)if(E=PH(u,C),A=j7[E],!A&&NH(E)){if(B+=u[C],E>=65536)B+=u[C+1]}else B+=A||wS0(E);return B}function YS0(u,B,E){var A="",C=u.tag,D,F,U;for(D=0,F=E.length;D<F;D+=1){if(U=E[D],u.replacer)U=u.replacer.call(E,String(D),U);if(YF(u,B,U,!1,!1)||typeof U>"u"&&YF(u,B,null,!1,!1)){if(A!=="")A+=","+(!u.condenseFlow?" ":"");A+=u.dump}}u.tag=C,u.dump="["+A+"]"}function o40(u,B,E,A){var C="",D=u.tag,F,U,z;for(F=0,U=E.length;F<U;F+=1){if(z=E[F],u.replacer)z=u.replacer.call(E,String(F),z);if(YF(u,B+1,z,!0,!0,!1,!0)||typeof z>"u"&&YF(u,B+1,null,!0,!0,!1,!0)){if(!A||C!=="")C+=vV(u,B);if(u.dump&&LW===u.dump.charCodeAt(0))C+="-";else C+="- ";C+=u.dump}}u.tag=D,u.dump=C||"[]"}function RS0(u,B,E){var A="",C=u.tag,D=Object.keys(E),F,U,z,k,f;for(F=0,U=D.length;F<U;F+=1){if(f="",A!=="")f+=", ";if(u.condenseFlow)f+='"';if(z=D[F],k=E[z],u.replacer)k=u.replacer.call(E,z,k);if(!YF(u,B,z,!1,!1))continue;if(u.dump.length>1024)f+="? ";if(f+=u.dump+(u.condenseFlow?'"':"")+":"+(u.condenseFlow?"":" "),!YF(u,B,k,!1,!1))continue;f+=u.dump,A+=f}u.tag=C,u.dump="{"+A+"}"}function TS0(u,B,E,A){var C="",D=u.tag,F=Object.keys(E),U,z,k,f,M,b;if(u.sortKeys===!0)F.sort();else if(typeof u.sortKeys==="function")F.sort(u.sortKeys);else if(u.sortKeys)throw new k8("sortKeys must be a boolean or a function");for(U=0,z=F.length;U<z;U+=1){if(b="",!A||C!=="")b+=vV(u,B);if(k=F[U],f=E[k],u.replacer)f=u.replacer.call(E,k,f);if(!YF(u,B+1,k,!0,!0,!0))continue;if(M=u.tag!==null&&u.tag!=="?"||u.dump&&u.dump.length>1024,M)if(u.dump&&LW===u.dump.charCodeAt(0))b+="?";else b+="? ";if(b+=u.dump,M)b+=vV(u,B);if(!YF(u,B+1,f,!0,M))continue;if(u.dump&&LW===u.dump.charCodeAt(0))b+=":";else b+=": ";b+=u.dump,C+=b}u.tag=D,u.dump=C||"{}"}function t40(u,B,E){var A,C,D,F,U,z;C=E?u.explicitTypes:u.implicitTypes;for(D=0,F=C.length;D<F;D+=1)if(U=C[D],(U.instanceOf||U.predicate)&&(!U.instanceOf||typeof B==="object"&&B instanceof U.instanceOf)&&(!U.predicate||U.predicate(B))){if(E)if(U.multi&&U.representName)u.tag=U.representName(B);else u.tag=U.tag;else u.tag="?";if(U.represent){if(z=u.styleMap[U.tag]||U.defaultStyle,zS0.call(U.represent)==="[object Function]")A=U.represent(B,z);else if(kS0.call(U.represent,z))A=U.represent[z](B,z);else throw new k8("!<"+U.tag+'> tag resolver accepts not "'+z+'" style');u.dump=A}return!0}return!1}function YF(u,B,E,A,C,D,F){if(u.tag=null,u.dump=E,!t40(u,E,!1))t40(u,E,!0);var U=zS0.call(u.dump),z=A,k;if(A)A=u.flowLevel<0||u.flowLevel>B;var f=U==="[object Object]"||U==="[object Array]",M,b;if(f)M=u.duplicates.indexOf(E),b=M!==-1;if(u.tag!==null&&u.tag!=="?"||b||u.indent!==2&&B>0)C=!1;if(b&&u.usedDuplicates[M])u.dump="*ref_"+M;else{if(f&&b&&!u.usedDuplicates[M])u.usedDuplicates[M]=!0;if(U==="[object Object]"){if(A&&Object.keys(u.dump).length!==0){if(TS0(u,B,u.dump,C),b)u.dump="&ref_"+M+u.dump}else if(RS0(u,B,u.dump),b)u.dump="&ref_"+M+" "+u.dump}else if(U==="[object Array]"){if(A&&u.dump.length!==0){if(u.noArrayIndent&&!F&&B>0)o40(u,B-1,u.dump,C);else o40(u,B,u.dump,C);if(b)u.dump="&ref_"+M+u.dump}else if(YS0(u,B,u.dump),b)u.dump="&ref_"+M+" "+u.dump}else if(U==="[object String]"){if(u.tag!=="?")xS0(u,u.dump,B,D,z)}else if(U==="[object Undefined]")return!1;else{if(u.skipInvalid)return!1;throw new k8("unacceptable kind of an object to dump "+U)}if(u.tag!==null&&u.tag!=="?"){if(k=encodeURI(u.tag[0]==="!"?u.tag.slice(1):u.tag).replace(/!/g,"%21"),u.tag[0]==="!")k="!"+k;else if(k.slice(0,18)==="tag:yaml.org,2002:")k="!!"+k.slice(18);else k="!<"+k+">";u.dump=k+" "+u.dump}}return!0}function OS0(u,B){var E=[],A=[],C,D;xV(u,E,A);for(C=0,D=A.length;C<D;C+=1)B.duplicates.push(E[A[C]]);B.usedDuplicates=Array(D)}function xV(u,B,E){var A,C,D;if(u!==null&&typeof u==="object")if(C=B.indexOf(u),C!==-1){if(E.indexOf(C)===-1)E.push(C)}else if(B.push(u),Array.isArray(u))for(C=0,D=u.length;C<D;C+=1)xV(u[C],B,E);else{A=Object.keys(u);for(C=0,D=A.length;C<D;C+=1)xV(u[A[C]],B,E)}}function IS0(u,B){B=B||{};var E=new QS0(B);if(!E.noRefs)OS0(u,E);var A=u;if(E.replacer)A=E.replacer.call({"":A},"",A);if(YF(E,0,A,!0,!0))return E.dump+`
`;return""}function YV(u,B){return function(){throw Error("Function yaml."+u+" is removed in js-yaml 4. Use yaml."+B+" instead, which is now safe by default.")}}var NB4,VB4,hB4,iB4,aB4,mB4,d2,k8,$B4,yB4,rB4,P7,gB4,cB4,_B4,pB4,nB4,dB4,sB4,oB4,tB4,eB4,u84,qW0,B84,lW0,LW0,E84,A84,B30=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
\r`,C84,D84,F84,U84,z84,k84,f84,M84,hW0,CM,lV=1,iW0=2,aW0=3,LV=4,h40=1,b84=2,px0=3,Z84,J84,K84,mW0,$W0,_W0,pW0,tJ,nx0,w84,Q84,US0,zS0,kS0,D30=65279,G84=9,LW=10,H84=13,q84=32,l84=33,L84=34,r40=35,X84=37,v84=38,x84=39,W84=42,fS0=44,S84=45,XV=58,Y84=61,R84=62,T84=63,O84=64,MS0=91,bS0=93,I84=96,ZS0=123,P84=124,JS0=125,j7,j84,N84,V84=1,XW=2,lS0=1,p40=2,LS0=3,XS0=4,IH=5,h84,i84,DM,FM,MP3,bP3,ZP3,JP3,KP3;var EK=g(()=>{Y4();X(e40,"isNothing");X(dx0,"isObject");X(sx0,"toArray");X(ox0,"extend");X(tx0,"repeat");X(ex0,"isNegativeZero");NB4=e40,VB4=dx0,hB4=sx0,iB4=tx0,aB4=ex0,mB4=ox0,d2={isNothing:NB4,isObject:VB4,toArray:hB4,repeat:iB4,isNegativeZero:aB4,extend:mB4};X(u30,"formatError");X(jH,"YAMLException$1");jH.prototype=Object.create(Error.prototype);jH.prototype.constructor=jH;jH.prototype.toString=X(function(B){return this.name+": "+u30(this,B)},"toString");k8=jH;X(GV,"getLine");X(HV,"padStart");X(uW0,"makeSnippet");$B4=uW0,yB4=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],rB4=["scalar","sequence","mapping"];X(BW0,"compileStyleAliases");X(EW0,"Type$1");P7=EW0;X(i40,"compileList");X(AW0,"compileMap");X(qV,"Schema$1");qV.prototype.extend=X(function(B){var E=[],A=[];if(B instanceof P7)A.push(B);else if(Array.isArray(B))A=A.concat(B);else if(B&&(Array.isArray(B.implicit)||Array.isArray(B.explicit))){if(B.implicit)E=E.concat(B.implicit);if(B.explicit)A=A.concat(B.explicit)}else throw new k8("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");E.forEach(function(D){if(!(D instanceof P7))throw new k8("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(D.loadKind&&D.loadKind!=="scalar")throw new k8("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(D.multi)throw new k8("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),A.forEach(function(D){if(!(D instanceof P7))throw new k8("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var C=Object.create(qV.prototype);return C.implicit=(this.implicit||[]).concat(E),C.explicit=(this.explicit||[]).concat(A),C.compiledImplicit=i40(C,"implicit"),C.compiledExplicit=i40(C,"explicit"),C.compiledTypeMap=AW0(C.compiledImplicit,C.compiledExplicit),C},"extend");gB4=qV,cB4=new P7("tag:yaml.org,2002:str",{kind:"scalar",construct:X(function(u){return u!==null?u:""},"construct")}),_B4=new P7("tag:yaml.org,2002:seq",{kind:"sequence",construct:X(function(u){return u!==null?u:[]},"construct")}),pB4=new P7("tag:yaml.org,2002:map",{kind:"mapping",construct:X(function(u){return u!==null?u:{}},"construct")}),nB4=new gB4({explicit:[cB4,_B4,pB4]});X(CW0,"resolveYamlNull");X(DW0,"constructYamlNull");X(FW0,"isNull");dB4=new P7("tag:yaml.org,2002:null",{kind:"scalar",resolve:CW0,construct:DW0,predicate:FW0,represent:{canonical:X(function(){return"~"},"canonical"),lowercase:X(function(){return"null"},"lowercase"),uppercase:X(function(){return"NULL"},"uppercase"),camelcase:X(function(){return"Null"},"camelcase"),empty:X(function(){return""},"empty")},defaultStyle:"lowercase"});X(UW0,"resolveYamlBoolean");X(zW0,"constructYamlBoolean");X(kW0,"isBoolean");sB4=new P7("tag:yaml.org,2002:bool",{kind:"scalar",resolve:UW0,construct:zW0,predicate:kW0,represent:{lowercase:X(function(u){return u?"true":"false"},"lowercase"),uppercase:X(function(u){return u?"TRUE":"FALSE"},"uppercase"),camelcase:X(function(u){return u?"True":"False"},"camelcase")},defaultStyle:"lowercase"});X(fW0,"isHexCode");X(MW0,"isOctCode");X(bW0,"isDecCode");X(ZW0,"resolveYamlInteger");X(JW0,"constructYamlInteger");X(KW0,"isInteger");oB4=new P7("tag:yaml.org,2002:int",{kind:"scalar",resolve:ZW0,construct:JW0,predicate:KW0,represent:{binary:X(function(u){return u>=0?"0b"+u.toString(2):"-0b"+u.toString(2).slice(1)},"binary"),octal:X(function(u){return u>=0?"0o"+u.toString(8):"-0o"+u.toString(8).slice(1)},"octal"),decimal:X(function(u){return u.toString(10)},"decimal"),hexadecimal:X(function(u){return u>=0?"0x"+u.toString(16).toUpperCase():"-0x"+u.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),tB4=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");X(wW0,"resolveYamlFloat");X(QW0,"constructYamlFloat");eB4=/^[-+]?[0-9]+e/;X(GW0,"representYamlFloat");X(HW0,"isFloat");u84=new P7("tag:yaml.org,2002:float",{kind:"scalar",resolve:wW0,construct:QW0,predicate:HW0,represent:GW0,defaultStyle:"lowercase"}),qW0=nB4.extend({implicit:[dB4,sB4,oB4,u84]}),B84=qW0,lW0=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),LW0=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");X(XW0,"resolveYamlTimestamp");X(vW0,"constructYamlTimestamp");X(xW0,"representYamlTimestamp");E84=new P7("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:XW0,construct:vW0,instanceOf:Date,represent:xW0});X(WW0,"resolveYamlMerge");A84=new P7("tag:yaml.org,2002:merge",{kind:"scalar",resolve:WW0});X(SW0,"resolveYamlBinary");X(YW0,"constructYamlBinary");X(RW0,"representYamlBinary");X(TW0,"isBinary");C84=new P7("tag:yaml.org,2002:binary",{kind:"scalar",resolve:SW0,construct:YW0,predicate:TW0,represent:RW0}),D84=Object.prototype.hasOwnProperty,F84=Object.prototype.toString;X(OW0,"resolveYamlOmap");X(IW0,"constructYamlOmap");U84=new P7("tag:yaml.org,2002:omap",{kind:"sequence",resolve:OW0,construct:IW0}),z84=Object.prototype.toString;X(PW0,"resolveYamlPairs");X(jW0,"constructYamlPairs");k84=new P7("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:PW0,construct:jW0}),f84=Object.prototype.hasOwnProperty;X(NW0,"resolveYamlSet");X(VW0,"constructYamlSet");M84=new P7("tag:yaml.org,2002:set",{kind:"mapping",resolve:NW0,construct:VW0}),hW0=B84.extend({implicit:[E84,A84],explicit:[C84,U84,k84,M84]}),CM=Object.prototype.hasOwnProperty,Z84=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,J84=/[\x85\u2028\u2029]/,K84=/[,\[\]\{\}]/,mW0=/^(?:!|!!|![a-z\-]+!)$/i,$W0=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;X(a40,"_class");X(WC,"is_EOL");X(AM,"is_WHITE_SPACE");X(QB,"is_WS_OR_EOL");X(eJ,"is_FLOW_INDICATOR");X(yW0,"fromHexCode");X(rW0,"escapedHexLen");X(gW0,"fromDecimalCode");X(m40,"simpleEscapeSequence");X(cW0,"charFromCodepoint");X(E30,"setProperty");_W0=Array(256),pW0=Array(256);for(tJ=0;tJ<256;tJ++)_W0[tJ]=m40(tJ)?1:0,pW0[tJ]=m40(tJ);X(nW0,"State$1");X(A30,"generateError");X(_4,"throwError");X(lW,"throwWarning");nx0={YAML:X(function(B,E,A){var C,D,F;if(B.version!==null)_4(B,"duplication of %YAML directive");if(A.length!==1)_4(B,"YAML directive accepts exactly one argument");if(C=/^([0-9]+)\.([0-9]+)$/.exec(A[0]),C===null)_4(B,"ill-formed argument of the YAML directive");if(D=parseInt(C[1],10),F=parseInt(C[2],10),D!==1)_4(B,"unacceptable YAML version of the document");if(B.version=A[0],B.checkLineBreaks=F<2,F!==1&&F!==2)lW(B,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:X(function(B,E,A){var C,D;if(A.length!==2)_4(B,"TAG directive accepts exactly two arguments");if(C=A[0],D=A[1],!mW0.test(C))_4(B,"ill-formed tag handle (first argument) of the TAG directive");if(CM.call(B.tagMap,C))_4(B,'there is a previously declared suffix for "'+C+'" tag handle');if(!$W0.test(D))_4(B,"ill-formed tag prefix (second argument) of the TAG directive");try{D=decodeURIComponent(D)}catch(F){_4(B,"tag prefix is malformed: "+D)}B.tagMap[C]=D},"handleTagDirective")};X(mz,"captureSegment");X($40,"mergeMappings");X(uK,"storeMappingPair");X(WV,"readLineBreak");X(C2,"skipSeparationSpace");X(xW,"testDocumentSeparator");X(SV,"writeFoldedLines");X(dW0,"readPlainScalar");X(sW0,"readSingleQuotedScalar");X(oW0,"readDoubleQuotedScalar");X(tW0,"readFlowCollection");X(eW0,"readBlockScalar");X(y40,"readBlockSequence");X(uS0,"readBlockMapping");X(BS0,"readTagProperty");X(ES0,"readAnchorProperty");X(AS0,"readAlias");X(BK,"composeNode");X(CS0,"readDocument");X(C30,"loadDocuments");X(DS0,"loadAll$1");X(FS0,"load$1");w84=DS0,Q84=FS0,US0={loadAll:w84,load:Q84},zS0=Object.prototype.toString,kS0=Object.prototype.hasOwnProperty,j7={};j7[0]="\\0";j7[7]="\\a";j7[8]="\\b";j7[9]="\\t";j7[10]="\\n";j7[11]="\\v";j7[12]="\\f";j7[13]="\\r";j7[27]="\\e";j7[34]="\\\"";j7[92]="\\\\";j7[133]="\\N";j7[160]="\\_";j7[8232]="\\L";j7[8233]="\\P";j84=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],N84=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;X(KS0,"compileStyleMap");X(wS0,"encodeHex");X(QS0,"State");X(g40,"indentString");X(vV,"generateNextLine");X(GS0,"testImplicitResolving");X(vW,"isWhitespace");X(NH,"isPrintable");X(c40,"isNsCharOrWhitespace");X(_40,"isPlainSafe");X(HS0,"isPlainSafeFirst");X(qS0,"isPlainSafeLast");X(PH,"codePointAt");X(F30,"needIndentIndicator");X(vS0,"chooseScalarStyle");X(xS0,"writeScalar");X(n40,"blockHeader");X(d40,"dropEndingNewline");X(WS0,"foldString");X(s40,"foldLine");X(SS0,"escapeString");X(YS0,"writeFlowSequence");X(o40,"writeBlockSequence");X(RS0,"writeFlowMapping");X(TS0,"writeBlockMapping");X(t40,"detectType");X(YF,"writeNode");X(OS0,"getDuplicateReferences");X(xV,"inspectNode");X(IS0,"dump$1");h84=IS0,i84={dump:h84};X(YV,"renamed");DM=qW0,FM=US0.load,MP3=US0.loadAll,bP3=i84.dump,ZP3=YV("safeLoad","load"),JP3=YV("safeLoadAll","loadAll"),KP3=YV("safeDump","dump");/*! Bundled license information:
js-yaml/dist/js-yaml.mjs:
(*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *)
*/});var PS0,AK,a84,WW,q4,W4,m84;var E7=g(()=>{s4();Y4();PS0=X((u)=>{let{handDrawnSeed:B}=y0();return{fill:u,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:0.7,stroke:u,seed:B}},"solidStateFill"),AK=X((u)=>{let B=a84([...u.cssCompiledStyles||[],...u.cssStyles||[],...u.labelStyle||[]]);return{stylesMap:B,stylesArray:[...B]}},"compileStyles"),a84=X((u)=>{let B=new Map;return u.forEach((E)=>{let[A,C]=E.split(":");B.set(A.trim(),C?.trim())}),B},"styles2Map"),WW=X((u)=>{return u==="color"||u==="font-size"||u==="font-family"||u==="font-weight"||u==="font-style"||u==="text-decoration"||u==="text-align"||u==="text-transform"||u==="line-height"||u==="letter-spacing"||u==="word-spacing"||u==="text-shadow"||u==="text-overflow"||u==="white-space"||u==="word-wrap"||u==="word-break"||u==="overflow-wrap"||u==="hyphens"},"isLabelStyle"),q4=X((u)=>{let{stylesArray:B}=AK(u),E=[],A=[],C=[],D=[];return B.forEach((F)=>{let U=F[0];if(WW(U))E.push(F.join(":")+" !important");else{if(A.push(F.join(":")+" !important"),U.includes("stroke"))C.push(F.join(":")+" !important");if(U==="fill")D.push(F.join(":")+" !important")}}),{labelStyles:E.join(";"),nodeStyles:A.join(";"),stylesArray:B,borderStyles:C,backgroundStyles:D}},"styles2String"),W4=X((u,B)=>{let{themeVariables:E,handDrawnSeed:A}=y0(),{nodeBorder:C,mainBkg:D}=E,{stylesMap:F}=AK(u);return Object.assign({roughness:0.7,fill:F.get("fill")||D,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:F.get("stroke")||C,seed:A,strokeWidth:F.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:m84(F.get("stroke-dasharray"))},B)},"userNodeOverrides"),m84=X((u)=>{if(!u)return[0,0];let B=u.trim().split(/\s+/).map(Number);if(B.length===1){let C=isNaN(B[0])?0:B[0];return[C,C]}let E=isNaN(B[0])?0:B[0],A=isNaN(B[1])?0:B[1];return[E,A]},"getStrokeDashArray")});var VS0=N1((jS0)=>{Object.defineProperty(jS0,"__esModule",{value:!0});jS0.BLANK_URL=jS0.relativeFirstCharacters=jS0.whitespaceEscapeCharsRegex=jS0.urlSchemeRegex=jS0.ctrlCharactersRegex=jS0.htmlCtrlEntityRegex=jS0.htmlEntitiesRegex=jS0.invalidProtocolRegex=void 0;jS0.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;jS0.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;jS0.htmlCtrlEntityRegex=/&(newline|tab);/gi;jS0.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;jS0.urlSchemeRegex=/^.+(:|&colon;)/gim;jS0.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;jS0.relativeFirstCharacters=[".","/"];jS0.BLANK_URL="about:blank"});var VH=N1((iS0)=>{Object.defineProperty(iS0,"__esModule",{value:!0});iS0.sanitizeUrl=o84;var N7=VS0();function n84(u){return N7.relativeFirstCharacters.indexOf(u[0])>-1}function d84(u){var B=u.replace(N7.ctrlCharactersRegex,"");return B.replace(N7.htmlEntitiesRegex,function(E,A){return String.fromCharCode(A)})}function s84(u){return URL.canParse(u)}function hS0(u){try{return decodeURIComponent(u)}catch(B){return u}}function o84(u){if(!u)return N7.BLANK_URL;var B,E=hS0(u.trim());do E=d84(E).replace(N7.htmlCtrlEntityRegex,"").replace(N7.ctrlCharactersRegex,"").replace(N7.whitespaceEscapeCharsRegex,"").trim(),E=hS0(E),B=E.match(N7.ctrlCharactersRegex)||E.match(N7.htmlEntitiesRegex)||E.match(N7.htmlCtrlEntityRegex)||E.match(N7.whitespaceEscapeCharsRegex);while(B&&B.length>0);var A=E;if(!A)return N7.BLANK_URL;if(n84(A))return A;var C=A.trimStart(),D=C.match(N7.urlSchemeRegex);if(!D)return A;var F=D[0].toLowerCase().trim();if(N7.invalidProtocolRegex.test(F))return N7.BLANK_URL;var U=C.replace(/\\/g,"/");if(F==="mailto:"||F.includes("://"))return U;if(F==="http:"||F==="https:"){if(!s84(U))return N7.BLANK_URL;var z=new URL(U);return z.protocol=z.protocol.toLowerCase(),z.hostname=z.hostname.toLowerCase(),z.toString()}return U}});function CK(u,B){if(typeof u!=="function"||B!=null&&typeof B!=="function")throw TypeError("Expected a function");let E=function(...A){let C=B?B.apply(this,A):A[0],D=E.cache;if(D.has(C))return D.get(C);let F=u.apply(this,A);return E.cache=D.set(C,F)||D,F};return E.cache=new(CK.Cache||Map),E}var aS0=g(()=>{CK.Cache=Map});function UM(u){return u==null||typeof u!=="object"&&typeof u!=="function"}var SW=()=>{};function $z(u){if(u==null)return u===void 0?"[object Undefined]":"[object Null]";return Object.prototype.toString.call(u)}var YW=()=>{};var RV="[object RegExp]",hH="[object String]",iH="[object Number]",aH="[object Boolean]",mH="[object Arguments]",TV="[object Symbol]",OV="[object Date]",IV="[object Map]",PV="[object Set]",jV="[object Array]",NV="[object ArrayBuffer]",VV="[object Object]",hV="[object DataView]",iV="[object Uint8Array]",aV="[object Uint8ClampedArray]",mV="[object Uint16Array]",$V="[object Uint32Array]",yV="[object Int8Array]",rV="[object Int16Array]",gV="[object Int32Array]",cV="[object Float32Array]",_V="[object Float64Array]";var pV=()=>{};function mS0(u){return Array.isArray(u)}var $S0=()=>{};function $H(u){return ArrayBuffer.isView(u)&&!(u instanceof DataView)}var nV=()=>{};function zM(u){return $H(u)}var dV=g(()=>{nV()});function z30(u){if(UM(u))return u;let B=$z(u);if(!e84(u))return{};if(mS0(u)){let A=Array.from(u);if(u.length>0&&typeof u[0]==="string"&&Object.hasOwn(u,"index"))A.index=u.index,A.input=u.input;return A}if(zM(u)){let A=u;return new A.constructor(A.buffer,A.byteOffset,A.length)}if(B==="[object ArrayBuffer]")return new ArrayBuffer(u.byteLength);if(B==="[object DataView]"){let A=u,C=A.buffer,D=A.byteOffset,F=A.byteLength,U=new ArrayBuffer(F),z=new Uint8Array(C,D,F);return new Uint8Array(U).set(z),new DataView(U)}if(B==="[object Boolean]"||B==="[object Number]"||B==="[object String]"){let C=new u.constructor(u.valueOf());if(B==="[object String]")BE4(C,u);else U30(C,u);return C}if(B==="[object Date]")return new Date(Number(u));if(B==="[object RegExp]"){let A=u,C=new RegExp(A.source,A.flags);return C.lastIndex=A.lastIndex,C}if(B==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(u));if(B==="[object Map]"){let A=u,C=new Map;return A.forEach((D,F)=>{C.set(F,D)}),C}if(B==="[object Set]"){let A=u,C=new Set;return A.forEach((D)=>{C.add(D)}),C}if(B==="[object Arguments]"){let A=u,C={};return U30(C,A),C.length=A.length,C[Symbol.iterator]=A[Symbol.iterator],C}let E={};return EE4(E,u),U30(E,u),uE4(E,u),E}function e84(u){switch($z(u)){case mH:case jV:case NV:case hV:case aH:case OV:case cV:case _V:case yV:case rV:case gV:case IV:case iH:case VV:case RV:case PV:case hH:case TV:case iV:case aV:case mV:case $V:return!0;default:return!1}}function U30(u,B){for(let E in B)if(Object.hasOwn(B,E))u[E]=B[E]}function uE4(u,B){let E=Object.getOwnPropertySymbols(B);for(let A=0;A<E.length;A++){let C=E[A];if(Object.prototype.propertyIsEnumerable.call(B,C))u[C]=B[C]}}function BE4(u,B){let E=B.valueOf().length;for(let A in B)if(Object.hasOwn(B,A)&&(Number.isNaN(Number(A))||Number(A)>=E))u[A]=B[A]}function EE4(u,B){let E=Object.getPrototypeOf(B);if(E!==null){if(typeof B.constructor==="function")Object.setPrototypeOf(u,E)}}var yS0=g(()=>{SW();YW();pV();$S0();dV()});function rS0(){}var gS0=()=>{};function cS0(u){if(UM(u))return u;if(Array.isArray(u)||$H(u)||u instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&u instanceof SharedArrayBuffer)return u.slice(0);let B=Object.getPrototypeOf(u);if(B==null)return Object.assign(Object.create(B),u);let E=B.constructor;if(u instanceof Date||u instanceof Map||u instanceof Set)return new E(u);if(u instanceof RegExp){let A=new E(u);return A.lastIndex=u.lastIndex,A}if(u instanceof DataView)return new E(u.buffer.slice(0));if(u instanceof Error){let A;if(u instanceof AggregateError)A=new E(u.errors,u.message,{cause:u.cause});else A=new E(u.message,{cause:u.cause});return A.stack=u.stack,Object.assign(A,u),A}if(typeof File<"u"&&u instanceof File)return new E([u],u.name,{type:u.type,lastModified:u.lastModified});if(typeof u==="object")return Object.assign(Object.create(B),u);return u}var _S0=g(()=>{SW();nV()});function sV(u){return Object.getOwnPropertySymbols(u).filter((B)=>Object.prototype.propertyIsEnumerable.call(u,B))}var k30=()=>{};var f30;var pS0=g(()=>{f30=typeof globalThis==="object"&&globalThis||typeof window==="object"&&window||typeof self==="object"&&self||typeof global==="object"&&global||function(){return this}()});function yH(u){return typeof f30.Buffer<"u"&&f30.Buffer.isBuffer(u)}var oV=g(()=>{pS0()});function nS0(u){return u==="__proto__"}var dS0=()=>{};function tV(u){if(typeof u!=="object")return!1;if(u==null)return!1;if(Object.getPrototypeOf(u)===null)return!0;if(Object.prototype.toString.call(u)!=="[object Object]"){let E=u[Symbol.toStringTag];if(E==null)return!1;if(!Object.getOwnPropertyDescriptor(u,Symbol.toStringTag)?.writable)return!1;return u.toString()===`[object ${E}]`}let B=u;while(Object.getPrototypeOf(B)!==null)B=Object.getPrototypeOf(B);return Object.getPrototypeOf(u)===B}var sS0=()=>{};function oS0(u,B){return rH(u,void 0,u,new Map,B)}function rH(u,B,E,A=new Map,C=void 0){let D=C?.(u,B,E,A);if(D!==void 0)return D;if(UM(u))return u;if(A.has(u))return A.get(u);if(Array.isArray(u)){let F=Array(u.length);A.set(u,F);for(let U=0;U<u.length;U++)F[U]=rH(u[U],U,E,A,C);if(Object.hasOwn(u,"index"))F.index=u.index;if(Object.hasOwn(u,"input"))F.input=u.input;return F}if(u instanceof Date)return new Date(u.getTime());if(u instanceof RegExp){let F=new RegExp(u.source,u.flags);return F.lastIndex=u.lastIndex,F}if(u instanceof Map){let F=new Map;A.set(u,F);for(let[U,z]of u)F.set(U,rH(z,U,E,A,C));return F}if(u instanceof Set){let F=new Set;A.set(u,F);for(let U of u)F.add(rH(U,void 0,E,A,C));return F}if(yH(u))return u.subarray();if($H(u)){let F=new(Object.getPrototypeOf(u)).constructor(u.length);A.set(u,F);for(let U=0;U<u.length;U++)F[U]=rH(u[U],U,E,A,C);return F}if(u instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&u instanceof SharedArrayBuffer)return u.slice(0);if(u instanceof DataView){let F=new DataView(u.buffer.slice(0),u.byteOffset,u.byteLength);return A.set(u,F),AA(F,u,E,A,C),F}if(typeof File<"u"&&u instanceof File){let F=new File([u],u.name,{type:u.type});return A.set(u,F),AA(F,u,E,A,C),F}if(typeof Blob<"u"&&u instanceof Blob){let F=new Blob([u],{type:u.type});return A.set(u,F),AA(F,u,E,A,C),F}if(u instanceof Error){let F=structuredClone(u);return A.set(u,F),F.message=u.message,F.name=u.name,F.stack=u.stack,F.cause=u.cause,F.constructor=u.constructor,AA(F,u,E,A,C),F}if(u instanceof Boolean){let F=new Boolean(u.valueOf());return A.set(u,F),AA(F,u,E,A,C),F}if(u instanceof Number){let F=new Number(u.valueOf());return A.set(u,F),AA(F,u,E,A,C),F}if(u instanceof String){let F=new String(u.valueOf());return A.set(u,F),AA(F,u,E,A,C),F}if(typeof u==="object"&&AE4(u)){let F=Object.create(Object.getPrototypeOf(u));return A.set(u,F),AA(F,u,E,A,C),F}return u}function AA(u,B,E=u,A,C){let D=[...Object.keys(B),...sV(B)];for(let F=0;F<D.length;F++){let U=D[F],z=Object.getOwnPropertyDescriptor(u,U);if(z==null||z.writable)u[U]=rH(B[U],U,E,A,C)}}function AE4(u){switch($z(u)){case mH:case jV:case NV:case hV:case aH:case OV:case cV:case _V:case yV:case rV:case gV:case IV:case iH:case VV:case RV:case PV:case hH:case TV:case iV:case aV:case mV:case $V:return!0;default:return!1}}var tS0=g(()=>{SW();nV();k30();YW();pV();oV()});function eS0(u,B){return oS0(u,(E,A,C,D)=>{let F=B?.(E,A,C,D);if(F!==void 0)return F;if(typeof u!=="object")return;if($z(u)==="[object Object]"&&typeof u.constructor!=="function"){let U={};return D.set(u,U),AA(U,u,C,D),U}switch(Object.prototype.toString.call(u)){case iH:case hH:case aH:{let U=new u.constructor(u?.valueOf());return AA(U,u),U}case mH:{let U={};return AA(U,u),U.length=u.length,U[Symbol.iterator]=u[Symbol.iterator],U}default:return}})}var uY0=g(()=>{YW();pV();tS0()});function M30(u){return eS0(u)}var BY0=g(()=>{uY0()});function RW(u){return u!==null&&typeof u==="object"&&$z(u)==="[object Arguments]"}var b30=g(()=>{YW()});function TW(u){return typeof u==="object"&&u!==null}var Z30=()=>{};function EY0(u){return Number.isSafeInteger(u)&&u>=0}var AY0=()=>{};function eV(u){return u!=null&&typeof u!=="function"&&EY0(u.length)}var J30=g(()=>{AY0()});function CY0(u){return TW(u)&&eV(u)}var DY0=g(()=>{J30();Z30()});function FY0(u,...B){let E=B.slice(0,-1),A=B[B.length-1],C=u;for(let D=0;D<E.length;D++){let F=E[D];C=uh(C,F,A,new Map)}return C}function uh(u,B,E,A){if(UM(u))u=Object(u);if(B==null||typeof B!=="object")return u;if(A.has(B))return cS0(A.get(B));if(A.set(B,u),Array.isArray(B)){B=B.slice();for(let D=0;D<B.length;D++)if(!(D in B))B[D]=void 0}let C=[...Object.keys(B),...sV(B)];for(let D=0;D<C.length;D++){let F=C[D];if(nS0(F))continue;let U=B[F],z=u[F];if(RW(U))U={...U};if(RW(z))z={...z};if(yH(U))U=M30(U);if(Array.isArray(U))if(Array.isArray(z)){let f=[],M=Reflect.ownKeys(z);for(let b=0;b<M.length;b++){let Z=M[b];f[Z]=z[Z]}z=f}else if(CY0(z)){let f=[];for(let M=0;M<z.length;M++)f[M]=z[M];z=f}else z=[];let k=E(z,U,F,u,B,A);if(k!==void 0)u[F]=k;else if(Array.isArray(U))u[F]=uh(z,U,E,A);else if(TW(z)&&TW(U)&&(tV(z)||tV(U)||zM(z)||zM(U)))u[F]=uh(z,U,E,A);else if(z==null&&tV(U))u[F]=uh({},U,E,A);else if(z==null&&zM(U))u[F]=M30(U);else if(z===void 0||U!==void 0)u[F]=U}return u}var UY0=g(()=>{SW();_S0();k30();oV();dS0();sS0();BY0();b30();Z30();DY0();dV()});function K30(u,...B){return FY0(u,...B,rS0)}var zY0=g(()=>{gS0();UY0()});function kY0(u){let B=u?.constructor;return u===(typeof B==="function"?B.prototype:Object.prototype)}var fY0=()=>{};function Bh(u){if(u==null)return!0;if(eV(u)){if(typeof u.splice!=="function"&&typeof u!=="string"&&!yH(u)&&!zM(u)&&!RW(u))return!1;return u.length===0}if(typeof u==="object"||typeof u==="function"){if(u instanceof Map||u instanceof Set)return u.size===0;let B=Object.keys(u);if(kY0(u))return B.filter((E)=>E!=="constructor").length===0;return B.length===0}return!0}var MY0=g(()=>{oV();J30();b30();fY0();dV()});var Eh=g(()=>{aS0();yS0();zY0();MY0()});function Ch(u,B){if(!u)return B;let E=`curve${u.charAt(0).toUpperCase()+u.slice(1)}`;return CE4[E]??B}function QY0(u,B){let E=u.trim();if(!E)return;if(B.securityLevel!=="loose")return JY0.sanitizeUrl(E);return E}function Q30(u,B){if(!u||!B)return 0;return Math.sqrt(Math.pow(B.x-u.x,2)+Math.pow(B.y-u.y,2))}function GY0(u){let B,E=0;u.forEach((C)=>{E+=Q30(C,B),B=C});let A=E/2;return G30(u,A)}function HY0(u){if(u.length===1)return u[0];return GY0(u)}function qY0(u,B,E){let A=structuredClone(E);if(z0.info("our points",A),B!=="start_left"&&B!=="start_right")A.reverse();let C=25+u,D=G30(A,C),F=10+u*0.5,U=Math.atan2(A[0].y-D.y,A[0].x-D.x),z={x:0,y:0};if(B==="start_left")z.x=Math.sin(U+Math.PI)*F+(A[0].x+D.x)/2,z.y=-Math.cos(U+Math.PI)*F+(A[0].y+D.y)/2;else if(B==="end_right")z.x=Math.sin(U-Math.PI)*F+(A[0].x+D.x)/2-5,z.y=-Math.cos(U-Math.PI)*F+(A[0].y+D.y)/2-5;else if(B==="end_left")z.x=Math.sin(U)*F+(A[0].x+D.x)/2-5,z.y=-Math.cos(U)*F+(A[0].y+D.y)/2-5;else z.x=Math.sin(U)*F+(A[0].x+D.x)/2,z.y=-Math.cos(U)*F+(A[0].y+D.y)/2;return z}function Dh(u){let B="",E="";for(let A of u)if(A!==void 0)if(A.startsWith("color:")||A.startsWith("text-align:"))E=E+A+";";else B=B+A+";";return{style:B,labelStyle:E}}function lY0(u){let B="",E="0123456789abcdef",A=E.length;for(let C=0;C<u;C++)B+=E.charAt(Math.floor(Math.random()*A));return B}function OW(u,B){return IW(u,B).height}function A7(u,B){return IW(u,B).width}function Fh(u){return"str"in u}function E1(u,B){return K30({},u,B)}function L2(u){return u??null}function XY0(u,B){let E=Math.round(u.x),A=Math.round(u.y),C=B.replace(/(\d+\.\d+)/g,(D)=>Math.round(parseFloat(D)).toString());return C.includes(E.toString())||C.includes(A.toString())}var JY0,w30="",CE4,DE4,FE4,KY0,wY0,UE4,zE4,bY0,G30,kE4,ZY0=0,H30,q30,fE4,ME4,DK,bE4,IW,ZE4,Ah,JE4,KE4,f8,R4,LY0,fE,RF;var e3=g(()=>{s4();o4();Y4();V3();Eh();JY0=Eu(VH(),1),CE4={curveBasis:xC,curveBasisClosed:kV,curveBasisOpen:fV,curveBumpX:kW,curveBumpY:fW,curveBundle:W40,curveCardinalClosed:S40,curveCardinalOpen:R40,curveCardinal:ZW,curveCatmullRomClosed:O40,curveCatmullRomOpen:I40,curveCatmullRom:wW,curveLinear:SF,curveLinearClosed:KV,curveMonotoneX:QW,curveMonotoneY:GW,curveNatural:TH,curveStep:OH,curveStepAfter:qW,curveStepBefore:HW},DE4=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,FE4=X(function(u,B){let E=KY0(u,/(?:init\b)|(?:initialize\b)/),A={};if(Array.isArray(E)){let F=E.map((U)=>U.args);vx(F),A=C9(A,[...F])}else A=E.args;if(!A)return;let C=Sx(u,B),D="config";if(A[D]!==void 0){if(C==="flowchart-v2")C="flowchart";A[C]=A[D],delete A[D]}return A},"detectInit"),KY0=X(function(u,B=null){try{let E=new RegExp(`[%]{2}(?![{]${DE4.source})(?=[}][%]{2}).*
`,"ig");u=u.trim().replace(E,"").replace(/'/gm,'"'),z0.debug(`Detecting diagram directive${B!==null?" type:"+B:""} based on the text:${u}`);let A,C=[];while((A=AH.exec(u))!==null){if(A.index===AH.lastIndex)AH.lastIndex++;if(A&&!B||B&&A[1]?.match(B)||B&&A[2]?.match(B)){let D=A[1]?A[1]:A[2],F=A[3]?A[3].trim():A[4]?JSON.parse(A[4].trim()):null;C.push({type:D,args:F})}}if(C.length===0)return{type:u,args:null};return C.length===1?C[0]:C}catch(E){return z0.error(`ERROR: ${E.message} - Unable to parse directive type: '${B}' based on the text: '${u}'`),{type:void 0,args:null}}},"detectDirective"),wY0=X(function(u){return u.replace(AH,"")},"removeDirectives"),UE4=X(function(u,B){for(let[E,A]of B.entries())if(A.match(u))return E;return-1},"isSubstringInArray");X(Ch,"interpolateToCurve");X(QY0,"formatUrl");zE4=X((u,...B)=>{let E=u.split("."),A=E.length-1,C=E[A],D=window;for(let F=0;F<A;F++)if(D=D[E[F]],!D){z0.error(`Function name: ${u} not found in window`);return}D[C](...B)},"runFunc");X(Q30,"distance");X(GY0,"traverseEdge");X(HY0,"calcLabelPosition");bY0=X((u,B=2)=>{let E=Math.pow(10,B);return Math.round(u*E)/E},"roundNumber"),G30=X((u,B)=>{let E=void 0,A=B;for(let C of u){if(E){let D=Q30(C,E);if(D===0)return E;if(D<A)A-=D;else{let F=A/D;if(F<=0)return E;if(F>=1)return{x:C.x,y:C.y};if(F>0&&F<1)return{x:bY0((1-F)*E.x+F*C.x,5),y:bY0((1-F)*E.y+F*C.y,5)}}}E=C}throw Error("Could not find a suitable point for the given distance")},"calculatePoint"),kE4=X((u,B,E)=>{if(z0.info(`our points ${JSON.stringify(B)}`),B[0]!==E)B=B.reverse();let C=G30(B,25),D=u?10:5,F=Math.atan2(B[0].y-C.y,B[0].x-C.x),U={x:0,y:0};return U.x=Math.sin(F)*D+(B[0].x+C.x)/2,U.y=-Math.cos(F)*D+(B[0].y+C.y)/2,U},"calcCardinalityPosition");X(qY0,"calcTerminalLabelPosition");X(Dh,"getStylesFromArray");H30=X(()=>{return ZY0++,"id-"+Math.random().toString(36).substr(2,12)+"-"+ZY0},"generateId");X(lY0,"makeRandomHex");q30=X((u)=>{return lY0(u.length)},"random"),fE4=X(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),ME4=X(function(u,B){let E=B.text.replace(ru.lineBreakRegex," "),[,A]=f8(B.fontSize),C=u.append("text");if(C.attr("x",B.x),C.attr("y",B.y),C.style("text-anchor",B.anchor),C.style("font-family",B.fontFamily),C.style("font-size",A),C.style("font-weight",B.fontWeight),C.attr("fill",B.fill),B.class!==void 0)C.attr("class",B.class);let D=C.append("tspan");return D.attr("x",B.x+B.textMargin*2),D.attr("fill",B.fill),D.text(E),C},"drawSimpleText"),DK=CK((u,B,E)=>{if(!u)return u;if(E=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},E),ru.lineBreakRegex.test(u))return u;let A=u.split(" ").filter(Boolean),C=[],D="";return A.forEach((F,U)=>{let z=A7(`${F} `,E),k=A7(D,E);if(z>B){let{hyphenatedStrings:b,remainingWord:Z}=bE4(F,B,"-",E);C.push(D,...b),D=Z}else if(k+z>=B)C.push(D),D=F;else D=[D,F].filter(Boolean).join(" ");if(U+1===A.length)C.push(D)}),C.filter((F)=>F!=="").join(E.joinWith)},(u,B,E)=>`${u}${B}${E.fontSize}${E.fontWeight}${E.fontFamily}${E.joinWith}`),bE4=CK((u,B,E="-",A)=>{A=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},A);let C=[...u],D=[],F="";return C.forEach((U,z)=>{let k=`${F}${U}`;if(A7(k,A)>=B){let M=z+1,b=C.length===M,Z=`${k}${E}`;D.push(b?k:Z),F=""}else F=k}),{hyphenatedStrings:D,remainingWord:F}},(u,B,E="-",A)=>`${u}${B}${E}${A.fontSize}${A.fontWeight}${A.fontFamily}`);X(OW,"calculateTextHeight");X(A7,"calculateTextWidth");IW=CK((u,B)=>{let{fontSize:E=12,fontFamily:A="Arial",fontWeight:C=400}=B;if(!u)return{width:0,height:0};let[,D]=f8(E),F=["sans-serif",A],U=u.split(ru.lineBreakRegex),z=[],k=Qu("body");if(!k.remove)return{width:0,height:0,lineHeight:0};let f=k.append("svg");for(let b of F){let Z=0,J={width:0,height:0,lineHeight:0};for(let K of U){let w=fE4();w.text=K||w30;let Q=ME4(f,w).style("font-size",D).style("font-weight",C).style("font-family",b),G=(Q._groups||Q)[0][0].getBBox();if(G.width===0&&G.height===0)throw Error("svg element not in render tree");J.width=Math.round(Math.max(J.width,G.width)),Z=Math.round(G.height),J.height+=Z,J.lineHeight=Math.round(Math.max(J.lineHeight,Z))}z.push(J)}f.remove();let M=isNaN(z[1].height)||isNaN(z[1].width)||isNaN(z[1].lineHeight)||z[0].height>z[1].height&&z[0].width>z[1].width&&z[0].lineHeight>z[1].lineHeight?0:1;return z[M]},(u,B)=>`${u}${B.fontSize}${B.fontWeight}${B.fontFamily}`),ZE4=class{constructor(u=!1,B){this.count=0,this.count=B?B.length:0,this.next=u?()=>this.count++:()=>Date.now()}static{X(this,"InitIDGenerator")}},JE4=X(function(u){return Ah=Ah||document.createElement("div"),u=escape(u).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Ah.innerHTML=u,unescape(Ah.textContent)},"entityDecode");X(Fh,"isDetailedError");KE4=X((u,B,E,A)=>{if(!A)return;let C=u.node()?.getBBox();if(!C)return;u.append("text").text(A).attr("text-anchor","middle").attr("x",C.x+C.width/2).attr("y",-E).attr("class",B)},"insertTitle"),f8=X((u)=>{if(typeof u==="number")return[u,u+"px"];let B=parseInt(u??"",10);if(Number.isNaN(B))return[void 0,void 0];else if(u===String(B))return[B,u+"px"];else return[B,u]},"parseFontSize");X(E1,"cleanAndMerge");R4={assignWithDepth:C9,wrapLabel:DK,calculateTextHeight:OW,calculateTextWidth:A7,calculateTextDimensions:IW,cleanAndMerge:E1,detectInit:FE4,detectDirective:KY0,isSubstringInArray:UE4,interpolateToCurve:Ch,calcLabelPosition:HY0,calcCardinalityPosition:kE4,calcTerminalLabelPosition:qY0,formatUrl:QY0,getStylesFromArray:Dh,generateId:H30,random:q30,runFunc:zE4,entityDecode:JE4,insertTitle:KE4,isLabelCoordinateInPath:XY0,parseFontSize:f8,InitIDGenerator:ZE4},LY0=X(function(u){let B=u;return B=B.replace(/style.*:\S*#.*;/g,function(E){return E.substring(0,E.length-1)}),B=B.replace(/classDef.*:\S*#.*;/g,function(E){return E.substring(0,E.length-1)}),B=B.replace(/#\w+;/g,function(E){let A=E.substring(1,E.length-1);if(/^\+?\d+$/.test(A))return"fl°°"+A+"¶ß";else return"fl°"+A+"¶ß"}),B},"encodeEntities"),fE=X(function(u){return u.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),RF=X((u,B,{counter:E=0,prefix:A,suffix:C},D)=>{if(D)return D;return`${A?`${A}_`:""}${u}_${B}_${E}${C?`_${C}`:""}`},"getEdgeId");X(L2,"handleUndefinedAttr");X(XY0,"isLabelCoordinateInPath")});async function PW(u,B){let E=u.getElementsByTagName("img");if(!E||E.length===0)return;let A=B.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...E].map((C)=>new Promise((D)=>{function F(){if(C.style.display="flex",C.style.flexDirection="column",A){let U=y0().fontSize?y0().fontSize:window.getComputedStyle(document.body).fontSize,z=5,[k=t4.fontSize]=f8(U),f=k*5+"px";C.style.minWidth=f,C.style.maxWidth=f}else C.style.width="100%";D(C)}X(F,"setupImage"),setTimeout(()=>{if(C.complete)F()}),C.addEventListener("error",F),C.addEventListener("load",F)})))}var SC;var C7=g(()=>{e3();s4();Y4();SC=X(({flowchart:u})=>{let B=u?.subGraphTitleMargin?.top??0,E=u?.subGraphTitleMargin?.bottom??0,A=B+E;return{subGraphTitleTopMargin:B,subGraphTitleBottomMargin:E,subGraphTitleTotalMargin:A}},"getSubGraphTitleMargins");X(PW,"configureLabelImages")});var l30=(u,B,E,A="")=>{let C=u.split(":");if(u.slice(0,1)==="@"){if(C.length<2||C.length>3)return null;A=C.shift().slice(1)}if(C.length>3||!C.length)return null;if(C.length>1){let U=C.pop(),z=C.pop(),k={provider:C.length>0?C[0]:A,prefix:z,name:U};return B&&!Uh(k)?null:k}let D=C[0],F=D.split("-");if(F.length>1){let U={provider:A,prefix:F.shift(),name:F.join("-")};return B&&!Uh(U)?null:U}if(E&&A===""){let U={provider:A,prefix:"",name:D};return B&&!Uh(U,E)?null:U}return null},Uh=(u,B)=>{if(!u)return!1;return!!((B&&u.prefix===""||!!u.prefix)&&!!u.name)};var vY0=()=>{};var wE4,gH,L30,xY0;var zh=g(()=>{wE4=Object.freeze({left:0,top:0,width:16,height:16}),gH=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),L30=Object.freeze({...wE4,...gH}),xY0=Object.freeze({...L30,body:"",hidden:!1})});function WY0(u,B){let E={};if(!u.hFlip!==!B.hFlip)E.hFlip=!0;if(!u.vFlip!==!B.vFlip)E.vFlip=!0;let A=((u.rotate||0)+(B.rotate||0))%4;if(A)E.rotate=A;return E}var SY0=()=>{};function X30(u,B){let E=WY0(u,B);for(let A in xY0)if(A in gH){if(A in u&&!(A in E))E[A]=gH[A]}else if(A in B)E[A]=B[A];else if(A in u)E[A]=u[A];return E}var YY0=g(()=>{zh();SY0()});function RY0(u,B){let E=u.icons,A=u.aliases||Object.create(null),C=Object.create(null);function D(F){if(E[F])return C[F]=[];if(!(F in C)){C[F]=null;let U=A[F]&&A[F].parent,z=U&&D(U);if(z)C[F]=[U].concat(z)}return C[F]}return(B||Object.keys(E).concat(Object.keys(A))).forEach(D),C}var TY0=()=>{};function OY0(u,B,E){let A=u.icons,C=u.aliases||Object.create(null),D={};function F(U){D=X30(A[U]||C[U],D)}return F(B),E.forEach(F),X30(u,D)}function v30(u,B){if(u.icons[B])return OY0(u,B,[]);let E=RY0(u,[B])[B];return E?OY0(u,B,E):null}var IY0=g(()=>{YY0();TY0()});var QE4,PY0;var jY0=g(()=>{zh();QE4=Object.freeze({width:null,height:null}),PY0=Object.freeze({...QE4,...gH})});function x30(u,B,E){if(B===1)return u;if(E=E||100,typeof u==="number")return Math.ceil(u*B*E)/E;if(typeof u!=="string")return u;let A=u.split(GE4);if(A===null||!A.length)return u;let C=[],D=A.shift(),F=HE4.test(D);while(!0){if(F){let U=parseFloat(D);if(isNaN(U))C.push(D);else C.push(Math.ceil(U*B*E)/E)}else C.push(D);if(D=A.shift(),D===void 0)return C.join("");F=!F}}var GE4,HE4;var NY0=g(()=>{GE4=/(-?[0-9.]*[0-9]+[0-9.]*)/g,HE4=/^-?[0-9.]*[0-9]+[0-9.]*$/g});function qE4(u,B="defs"){let E="",A=u.indexOf("<"+B);while(A>=0){let C=u.indexOf(">",A),D=u.indexOf("</"+B);if(C===-1||D===-1)break;let F=u.indexOf(">",D);if(F===-1)break;E+=u.slice(C+1,D).trim(),u=u.slice(0,A).trim()+u.slice(F+1)}return{defs:E,content:u}}function lE4(u,B){return u?"<defs>"+u+"</defs>"+B:B}function VY0(u,B,E){let A=qE4(u);return lE4(A.defs,B+A.content+E)}var hY0=()=>{};function W30(u,B){let E={...L30,...u},A={...PY0,...B},C={left:E.left,top:E.top,width:E.width,height:E.height},D=E.body;[E,A].forEach((K)=>{let w=[],Q=K.hFlip,G=K.vFlip,H=K.rotate;if(Q)if(G)H+=2;else w.push("translate("+(C.width+C.left).toString()+" "+(0-C.top).toString()+")"),w.push("scale(-1 1)"),C.top=C.left=0;else if(G)w.push("translate("+(0-C.left).toString()+" "+(C.height+C.top).toString()+")"),w.push("scale(1 -1)"),C.top=C.left=0;let l;if(H<0)H-=Math.floor(H/4)*4;switch(H=H%4,H){case 1:l=C.height/2+C.top,w.unshift("rotate(90 "+l.toString()+" "+l.toString()+")");break;case 2:w.unshift("rotate(180 "+(C.width/2+C.left).toString()+" "+(C.height/2+C.top).toString()+")");break;case 3:l=C.width/2+C.left,w.unshift("rotate(-90 "+l.toString()+" "+l.toString()+")");break}if(H%2===1){if(C.left!==C.top)l=C.left,C.left=C.top,C.top=l;if(C.width!==C.height)l=C.width,C.width=C.height,C.height=l}if(w.length)D=VY0(D,'<g transform="'+w.join(" ")+'">',"</g>")});let{width:F,height:U}=A,z=C.width,k=C.height,f,M;if(F===null)M=U===null?"1em":U==="auto"?k:U,f=x30(M,z/k);else f=F==="auto"?z:F,M=U===null?x30(f,k/z):U==="auto"?k:U;let b={},Z=(K,w)=>{if(!LE4(w))b[K]=w.toString()};Z("width",f),Z("height",M);let J=[C.left,C.top,z,k];return b.viewBox=J.join(" "),{attributes:b,viewBox:J,body:D}}var LE4=(u)=>u==="unset"||u==="undefined"||u==="none";var iY0=g(()=>{zh();jY0();NY0();hY0()});function vE4(u){u=u.replace(/[0-9]+$/,"")||"a";let B=aY0.get(u)||0;return aY0.set(u,B+1),B?`${u}${B}`:u}function S30(u){let B=[],E;while(E=XE4.exec(u))B.push(E[1]);if(!B.length)return u;let A="suffix"+(Math.random()*16777216|Date.now()).toString(16);return B.forEach((C)=>{let D=vE4(C),F=C.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");u=u.replace(new RegExp('([#;"])('+F+')([")]|\\.[a-z])',"g"),"$1"+D+A+"$3")}),u=u.replace(new RegExp(A,"g"),""),u}var XE4,aY0;var mY0=g(()=>{XE4=/\sid="(\S+)"/g,aY0=new Map});function Y30(u,B){let E=u.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let A in B)E+=" "+A+'="'+B[A]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+E+">"+u+"</svg>"}var $Y0=()=>{};var yY0=g(()=>{vY0();IY0();iY0();mY0();$Y0()});var T30,R30,rY0,cH,gY0,cY0,ME;var X2=g(()=>{s4();o4();Y4();yY0();T30={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},R30=new Map,rY0=new Map,cH=X((u)=>{for(let B of u){if(!B.name)throw Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(z0.debug("Registering icon pack:",B.name),"loader"in B)rY0.set(B.name,B.loader);else if("icons"in B)R30.set(B.name,B.icons);else throw z0.error("Invalid icon loader:",B),Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),gY0=X(async(u,B)=>{let E=l30(u,!0,B!==void 0);if(!E)throw Error(`Invalid icon name: ${u}`);let A=E.prefix||B;if(!A)throw Error(`Icon name must contain a prefix: ${u}`);let C=R30.get(A);if(!C){let F=rY0.get(A);if(!F)throw Error(`Icon set not found: ${E.prefix}`);try{C={...await F(),prefix:A},R30.set(A,C)}catch(U){throw z0.error(U),Error(`Failed to load icon set: ${E.prefix}`)}}let D=v30(C,E.name);if(!D)throw Error(`Icon not found: ${u}`);return D},"getRegisteredIconData"),cY0=X(async(u)=>{try{return await gY0(u),!0}catch{return!1}},"isIconAvailable"),ME=X(async(u,B,E)=>{let A;try{A=await gY0(u,B?.fallbackPrefix)}catch(F){z0.error(F),A=T30}let C=W30(A,B),D=Y30(S30(C.body),{...C.attributes,...E});return C3(D,F4())},"getIconSVG")});function I30(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function tY0(u){UK=u}function i1(u,B=""){let E=typeof u=="string"?u:u.source,A={replace:(C,D)=>{let F=typeof D=="string"?D:D.source;return F=F.replace(GB.caret,"$1"),E=E.replace(C,F),A},getRegex:()=>new RegExp(E,B)};return A}function TF(u,B){if(B){if(GB.escapeTest.test(u))return u.replace(GB.escapeReplace,nY0)}else if(GB.escapeTestNoEncode.test(u))return u.replace(GB.escapeReplaceNoEncode,nY0);return u}function dY0(u){try{u=encodeURI(u).replace(GB.percentDecode,"%")}catch{return null}return u}function sY0(u,B){let E=u.replace(GB.findPipe,(D,F,U)=>{let z=!1,k=F;for(;--k>=0&&U[k]==="\\";)z=!z;return z?"|":" |"}),A=E.split(GB.splitPipe),C=0;if(A[0].trim()||A.shift(),A.length>0&&!A.at(-1)?.trim()&&A.pop(),B)if(A.length>B)A.splice(B);else for(;A.length<B;)A.push("");for(;C<A.length;C++)A[C]=A[C].trim().replace(GB.slashPipe,"|");return A}function NW(u,B,E){let A=u.length;if(A===0)return"";let C=0;for(;C<A;){let D=u.charAt(A-C-1);if(D===B&&!E)C++;else if(D!==B&&E)C++;else break}return u.slice(0,A-C)}function DA4(u,B){if(u.indexOf(B[1])===-1)return-1;let E=0;for(let A=0;A<u.length;A++)if(u[A]==="\\")A++;else if(u[A]===B[0])E++;else if(u[A]===B[1]&&(E--,E<0))return A;return E>0?-2:-1}function oY0(u,B,E,A,C){let D=B.href,F=B.title||null,U=u[1].replace(C.other.outputLinkReplace,"$1");A.state.inLink=!0;let z={type:u[0].charAt(0)==="!"?"image":"link",raw:E,href:D,title:F,text:U,tokens:A.inlineTokens(U)};return A.state.inLink=!1,z}function FA4(u,B,E){let A=u.match(E.other.indentCodeCompensation);if(A===null)return B;let C=A[1];return B.split(`
`).map((D)=>{let F=D.match(E.other.beginningSpace);if(F===null)return D;let[U]=F;return U.length>=C.length?D.slice(C.length):D}).join(`
`)}function o1(u,B){return FK.parse(u,B)}var UK,hW,xE4,GB,WE4,SE4,YE4,iW,RE4,P30,eY0,uR0,TE4,j30,OE4,N30,IE4,PE4,Zh="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V30,jE4,BR0,NE4,h30,_Y0,VE4,hE4,iE4,aE4,ER0,mE4,Jh,i30,AR0,$E4,CR0,yE4,rE4,gE4,DR0,cE4,_E4,FR0="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",pE4,nE4,dE4,sE4,oE4,tE4,eE4,fh,uA4,UR0,zR0,BA4,pY0,a30,EA4,O30,AA4,kh,jW,CA4,nY0=(u)=>CA4[u],Mh=class{options;rules;lexer;constructor(u){this.options=u||UK}space(u){let B=this.rules.block.newline.exec(u);if(B&&B[0].length>0)return{type:"space",raw:B[0]}}code(u){let B=this.rules.block.code.exec(u);if(B){let E=B[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:B[0],codeBlockStyle:"indented",text:this.options.pedantic?E:NW(E,`
`)}}}fences(u){let B=this.rules.block.fences.exec(u);if(B){let E=B[0],A=FA4(E,B[3]||"",this.rules);return{type:"code",raw:E,lang:B[2]?B[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):B[2],text:A}}}heading(u){let B=this.rules.block.heading.exec(u);if(B){let E=B[2].trim();if(this.rules.other.endingHash.test(E)){let A=NW(E,"#");(this.options.pedantic||!A||this.rules.other.endingSpaceChar.test(A))&&(E=A.trim())}return{type:"heading",raw:B[0],depth:B[1].length,text:E,tokens:this.lexer.inline(E)}}}hr(u){let B=this.rules.block.hr.exec(u);if(B)return{type:"hr",raw:NW(B[0],`
`)}}blockquote(u){let B=this.rules.block.blockquote.exec(u);if(B){let E=NW(B[0],`
`).split(`
`),A="",C="",D=[];for(;E.length>0;){let F=!1,U=[],z;for(z=0;z<E.length;z++)if(this.rules.other.blockquoteStart.test(E[z]))U.push(E[z]),F=!0;else if(!F)U.push(E[z]);else break;E=E.slice(z);let k=U.join(`
`),f=k.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");A=A?`${A}
${k}`:k,C=C?`${C}
${f}`:f;let M=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,D,!0),this.lexer.state.top=M,E.length===0)break;let b=D.at(-1);if(b?.type==="code")break;if(b?.type==="blockquote"){let Z=b,J=Z.raw+`
`+E.join(`
`),K=this.blockquote(J);D[D.length-1]=K,A=A.substring(0,A.length-Z.raw.length)+K.raw,C=C.substring(0,C.length-Z.text.length)+K.text;break}else if(b?.type==="list"){let Z=b,J=Z.raw+`
`+E.join(`
`),K=this.list(J);D[D.length-1]=K,A=A.substring(0,A.length-b.raw.length)+K.raw,C=C.substring(0,C.length-Z.raw.length)+K.raw,E=J.substring(D.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:A,tokens:D,text:C}}}list(u){let B=this.rules.block.list.exec(u);if(B){let E=B[1].trim(),A=E.length>1,C={type:"list",raw:"",ordered:A,start:A?+E.slice(0,-1):"",loose:!1,items:[]};E=A?`\\d{1,9}\\${E.slice(-1)}`:`\\${E}`,this.options.pedantic&&(E=A?E:"[*+-]");let D=this.rules.other.listItemRegex(E),F=!1;for(;u;){let z=!1,k="",f="";if(!(B=D.exec(u))||this.rules.block.hr.test(u))break;k=B[0],u=u.substring(k.length);let M=B[2].split(`
`,1)[0].replace(this.rules.other.listReplaceTabs,(Q)=>" ".repeat(3*Q.length)),b=u.split(`
`,1)[0],Z=!M.trim(),J=0;if(this.options.pedantic?(J=2,f=M.trimStart()):Z?J=B[1].length+1:(J=B[2].search(this.rules.other.nonSpaceChar),J=J>4?1:J,f=M.slice(J),J+=B[1].length),Z&&this.rules.other.blankLine.test(b)&&(k+=b+`
`,u=u.substring(b.length+1),z=!0),!z){let Q=this.rules.other.nextBulletRegex(J),G=this.rules.other.hrRegex(J),H=this.rules.other.fencesBeginRegex(J),l=this.rules.other.headingBeginRegex(J),q=this.rules.other.htmlBeginRegex(J);for(;u;){let L=u.split(`
`,1)[0],v;if(b=L,this.options.pedantic?(b=b.replace(this.rules.other.listReplaceNesting," "),v=b):v=b.replace(this.rules.other.tabCharGlobal," "),H.test(b)||l.test(b)||q.test(b)||Q.test(b)||G.test(b))break;if(v.search(this.rules.other.nonSpaceChar)>=J||!b.trim())f+=`
`+v.slice(J);else{if(Z||M.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||H.test(M)||l.test(M)||G.test(M))break;f+=`
`+b}!Z&&!b.trim()&&(Z=!0),k+=L+`
`,u=u.substring(L.length+1),M=v.slice(J)}}C.loose||(F?C.loose=!0:this.rules.other.doubleBlankLine.test(k)&&(F=!0));let K=null,w;this.options.gfm&&(K=this.rules.other.listIsTask.exec(f),K&&(w=K[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),C.items.push({type:"list_item",raw:k,task:!!K,checked:w,loose:!1,text:f,tokens:[]}),C.raw+=k}let U=C.items.at(-1);if(U)U.raw=U.raw.trimEnd(),U.text=U.text.trimEnd();else return;C.raw=C.raw.trimEnd();for(let z=0;z<C.items.length;z++)if(this.lexer.state.top=!1,C.items[z].tokens=this.lexer.blockTokens(C.items[z].text,[]),!C.loose){let k=C.items[z].tokens.filter((M)=>M.type==="space"),f=k.length>0&&k.some((M)=>this.rules.other.anyLine.test(M.raw));C.loose=f}if(C.loose)for(let z=0;z<C.items.length;z++)C.items[z].loose=!0;return C}}html(u){let B=this.rules.block.html.exec(u);if(B)return{type:"html",block:!0,raw:B[0],pre:B[1]==="pre"||B[1]==="script"||B[1]==="style",text:B[0]}}def(u){let B=this.rules.block.def.exec(u);if(B){let E=B[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),A=B[2]?B[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",C=B[3]?B[3].substring(1,B[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):B[3];return{type:"def",tag:E,raw:B[0],href:A,title:C}}}table(u){let B=this.rules.block.table.exec(u);if(!B||!this.rules.other.tableDelimiter.test(B[2]))return;let E=sY0(B[1]),A=B[2].replace(this.rules.other.tableAlignChars,"").split("|"),C=B[3]?.trim()?B[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],D={type:"table",raw:B[0],header:[],align:[],rows:[]};if(E.length===A.length){for(let F of A)this.rules.other.tableAlignRight.test(F)?D.align.push("right"):this.rules.other.tableAlignCenter.test(F)?D.align.push("center"):this.rules.other.tableAlignLeft.test(F)?D.align.push("left"):D.align.push(null);for(let F=0;F<E.length;F++)D.header.push({text:E[F],tokens:this.lexer.inline(E[F]),header:!0,align:D.align[F]});for(let F of C)D.rows.push(sY0(F,D.header.length).map((U,z)=>({text:U,tokens:this.lexer.inline(U),header:!1,align:D.align[z]})));return D}}lheading(u){let B=this.rules.block.lheading.exec(u);if(B)return{type:"heading",raw:B[0],depth:B[2].charAt(0)==="="?1:2,text:B[1],tokens:this.lexer.inline(B[1])}}paragraph(u){let B=this.rules.block.paragraph.exec(u);if(B){let E=B[1].charAt(B[1].length-1)===`
`?B[1].slice(0,-1):B[1];return{type:"paragraph",raw:B[0],text:E,tokens:this.lexer.inline(E)}}}text(u){let B=this.rules.block.text.exec(u);if(B)return{type:"text",raw:B[0],text:B[0],tokens:this.lexer.inline(B[0])}}escape(u){let B=this.rules.inline.escape.exec(u);if(B)return{type:"escape",raw:B[0],text:B[1]}}tag(u){let B=this.rules.inline.tag.exec(u);if(B)return!this.lexer.state.inLink&&this.rules.other.startATag.test(B[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(B[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(B[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(B[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:B[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:B[0]}}link(u){let B=this.rules.inline.link.exec(u);if(B){let E=B[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(E)){if(!this.rules.other.endAngleBracket.test(E))return;let D=NW(E.slice(0,-1),"\\");if((E.length-D.length)%2===0)return}else{let D=DA4(B[2],"()");if(D===-2)return;if(D>-1){let F=(B[0].indexOf("!")===0?5:4)+B[1].length+D;B[2]=B[2].substring(0,D),B[0]=B[0].substring(0,F).trim(),B[3]=""}}let A=B[2],C="";if(this.options.pedantic){let D=this.rules.other.pedanticHrefTitle.exec(A);D&&(A=D[1],C=D[3])}else C=B[3]?B[3].slice(1,-1):"";return A=A.trim(),this.rules.other.startAngleBracket.test(A)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(E)?A=A.slice(1):A=A.slice(1,-1)),oY0(B,{href:A&&A.replace(this.rules.inline.anyPunctuation,"$1"),title:C&&C.replace(this.rules.inline.anyPunctuation,"$1")},B[0],this.lexer,this.rules)}}reflink(u,B){let E;if((E=this.rules.inline.reflink.exec(u))||(E=this.rules.inline.nolink.exec(u))){let A=(E[2]||E[1]).replace(this.rules.other.multipleSpaceGlobal," "),C=B[A.toLowerCase()];if(!C){let D=E[0].charAt(0);return{type:"text",raw:D,text:D}}return oY0(E,C,E[0],this.lexer,this.rules)}}emStrong(u,B,E=""){let A=this.rules.inline.emStrongLDelim.exec(u);if(!A||A[3]&&E.match(this.rules.other.unicodeAlphaNumeric))return;if(!(A[1]||A[2])||!E||this.rules.inline.punctuation.exec(E)){let C=[...A[0]].length-1,D,F,U=C,z=0,k=A[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(k.lastIndex=0,B=B.slice(-1*u.length+C);(A=k.exec(B))!=null;){if(D=A[1]||A[2]||A[3]||A[4]||A[5]||A[6],!D)continue;if(F=[...D].length,A[3]||A[4]){U+=F;continue}else if((A[5]||A[6])&&C%3&&!((C+F)%3)){z+=F;continue}if(U-=F,U>0)continue;F=Math.min(F,F+U+z);let f=[...A[0]][0].length,M=u.slice(0,C+A.index+f+F);if(Math.min(C,F)%2){let Z=M.slice(1,-1);return{type:"em",raw:M,text:Z,tokens:this.lexer.inlineTokens(Z)}}let b=M.slice(2,-2);return{type:"strong",raw:M,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(u){let B=this.rules.inline.code.exec(u);if(B){let E=B[2].replace(this.rules.other.newLineCharGlobal," "),A=this.rules.other.nonSpaceChar.test(E),C=this.rules.other.startingSpaceChar.test(E)&&this.rules.other.endingSpaceChar.test(E);return A&&C&&(E=E.substring(1,E.length-1)),{type:"codespan",raw:B[0],text:E}}}br(u){let B=this.rules.inline.br.exec(u);if(B)return{type:"br",raw:B[0]}}del(u){let B=this.rules.inline.del.exec(u);if(B)return{type:"del",raw:B[0],text:B[2],tokens:this.lexer.inlineTokens(B[2])}}autolink(u){let B=this.rules.inline.autolink.exec(u);if(B){let E,A;return B[2]==="@"?(E=B[1],A="mailto:"+E):(E=B[1],A=E),{type:"link",raw:B[0],text:E,href:A,tokens:[{type:"text",raw:E,text:E}]}}}url(u){let B;if(B=this.rules.inline.url.exec(u)){let E,A;if(B[2]==="@")E=B[0],A="mailto:"+E;else{let C;do C=B[0],B[0]=this.rules.inline._backpedal.exec(B[0])?.[0]??"";while(C!==B[0]);E=B[0],B[1]==="www."?A="http://"+B[0]:A=B[0]}return{type:"link",raw:B[0],text:E,href:A,tokens:[{type:"text",raw:E,text:E}]}}}inlineText(u){let B=this.rules.inline.text.exec(u);if(B){let E=this.lexer.state.inRawBlock;return{type:"text",raw:B[0],text:B[0],escaped:E}}}},YC=class u{tokens;options;state;tokenizer;inlineQueue;constructor(B){this.tokens=[],this.tokens.links=Object.create(null),this.options=B||UK,this.options.tokenizer=this.options.tokenizer||new Mh,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let E={other:GB,block:kh.normal,inline:jW.normal};this.options.pedantic?(E.block=kh.pedantic,E.inline=jW.pedantic):this.options.gfm&&(E.block=kh.gfm,this.options.breaks?E.inline=jW.breaks:E.inline=jW.gfm),this.tokenizer.rules=E}static get rules(){return{block:kh,inline:jW}}static lex(B,E){return new u(E).lex(B)}static lexInline(B,E){return new u(E).inlineTokens(B)}lex(B){B=B.replace(GB.carriageReturn,`
`),this.blockTokens(B,this.tokens);for(let E=0;E<this.inlineQueue.length;E++){let A=this.inlineQueue[E];this.inlineTokens(A.src,A.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(B,E=[],A=!1){for(this.options.pedantic&&(B=B.replace(GB.tabCharGlobal," ").replace(GB.spaceLine,""));B;){let C;if(this.options.extensions?.block?.some((F)=>(C=F.call({lexer:this},B,E))?(B=B.substring(C.raw.length),E.push(C),!0):!1))continue;if(C=this.tokenizer.space(B)){B=B.substring(C.raw.length);let F=E.at(-1);C.raw.length===1&&F!==void 0?F.raw+=`
`:E.push(C);continue}if(C=this.tokenizer.code(B)){B=B.substring(C.raw.length);let F=E.at(-1);F?.type==="paragraph"||F?.type==="text"?(F.raw+=(F.raw.endsWith(`
`)?"":`
`)+C.raw,F.text+=`
`+C.text,this.inlineQueue.at(-1).src=F.text):E.push(C);continue}if(C=this.tokenizer.fences(B)){B=B.substring(C.raw.length),E.push(C);continue}if(C=this.tokenizer.heading(B)){B=B.substring(C.raw.length),E.push(C);continue}if(C=this.tokenizer.hr(B)){B=B.substring(C.raw.length),E.push(C);continue}if(C=this.tokenizer.blockquote(B)){B=B.substring(C.raw.length),E.push(C);continue}if(C=this.tokenizer.list(B)){B=B.substring(C.raw.length),E.push(C);continue}if(C=this.tokenizer.html(B)){B=B.substring(C.raw.length),E.push(C);continue}if(C=this.tokenizer.def(B)){B=B.substring(C.raw.length);let F=E.at(-1);F?.type==="paragraph"||F?.type==="text"?(F.raw+=(F.raw.endsWith(`
`)?"":`
`)+C.raw,F.text+=`
`+C.raw,this.inlineQueue.at(-1).src=F.text):this.tokens.links[C.tag]||(this.tokens.links[C.tag]={href:C.href,title:C.title},E.push(C));continue}if(C=this.tokenizer.table(B)){B=B.substring(C.raw.length),E.push(C);continue}if(C=this.tokenizer.lheading(B)){B=B.substring(C.raw.length),E.push(C);continue}let D=B;if(this.options.extensions?.startBlock){let F=1/0,U=B.slice(1),z;this.options.extensions.startBlock.forEach((k)=>{z=k.call({lexer:this},U),typeof z=="number"&&z>=0&&(F=Math.min(F,z))}),F<1/0&&F>=0&&(D=B.substring(0,F+1))}if(this.state.top&&(C=this.tokenizer.paragraph(D))){let F=E.at(-1);A&&F?.type==="paragraph"?(F.raw+=(F.raw.endsWith(`
`)?"":`
`)+C.raw,F.text+=`
`+C.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=F.text):E.push(C),A=D.length!==B.length,B=B.substring(C.raw.length);continue}if(C=this.tokenizer.text(B)){B=B.substring(C.raw.length);let F=E.at(-1);F?.type==="text"?(F.raw+=(F.raw.endsWith(`
`)?"":`
`)+C.raw,F.text+=`
`+C.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=F.text):E.push(C);continue}if(B){let F="Infinite loop on byte: "+B.charCodeAt(0);if(this.options.silent){console.error(F);break}else throw Error(F)}}return this.state.top=!0,E}inline(B,E=[]){return this.inlineQueue.push({src:B,tokens:E}),E}inlineTokens(B,E=[]){let A=B,C=null;if(this.tokens.links){let z=Object.keys(this.tokens.links);if(z.length>0)for(;(C=this.tokenizer.rules.inline.reflinkSearch.exec(A))!=null;)z.includes(C[0].slice(C[0].lastIndexOf("[")+1,-1))&&(A=A.slice(0,C.index)+"["+"a".repeat(C[0].length-2)+"]"+A.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(C=this.tokenizer.rules.inline.anyPunctuation.exec(A))!=null;)A=A.slice(0,C.index)+"++"+A.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let D;for(;(C=this.tokenizer.rules.inline.blockSkip.exec(A))!=null;)D=C[2]?C[2].length:0,A=A.slice(0,C.index+D)+"["+"a".repeat(C[0].length-D-2)+"]"+A.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);A=this.options.hooks?.emStrongMask?.call({lexer:this},A)??A;let F=!1,U="";for(;B;){F||(U=""),F=!1;let z;if(this.options.extensions?.inline?.some((f)=>(z=f.call({lexer:this},B,E))?(B=B.substring(z.raw.length),E.push(z),!0):!1))continue;if(z=this.tokenizer.escape(B)){B=B.substring(z.raw.length),E.push(z);continue}if(z=this.tokenizer.tag(B)){B=B.substring(z.raw.length),E.push(z);continue}if(z=this.tokenizer.link(B)){B=B.substring(z.raw.length),E.push(z);continue}if(z=this.tokenizer.reflink(B,this.tokens.links)){B=B.substring(z.raw.length);let f=E.at(-1);z.type==="text"&&f?.type==="text"?(f.raw+=z.raw,f.text+=z.text):E.push(z);continue}if(z=this.tokenizer.emStrong(B,A,U)){B=B.substring(z.raw.length),E.push(z);continue}if(z=this.tokenizer.codespan(B)){B=B.substring(z.raw.length),E.push(z);continue}if(z=this.tokenizer.br(B)){B=B.substring(z.raw.length),E.push(z);continue}if(z=this.tokenizer.del(B)){B=B.substring(z.raw.length),E.push(z);continue}if(z=this.tokenizer.autolink(B)){B=B.substring(z.raw.length),E.push(z);continue}if(!this.state.inLink&&(z=this.tokenizer.url(B))){B=B.substring(z.raw.length),E.push(z);continue}let k=B;if(this.options.extensions?.startInline){let f=1/0,M=B.slice(1),b;this.options.extensions.startInline.forEach((Z)=>{b=Z.call({lexer:this},M),typeof b=="number"&&b>=0&&(f=Math.min(f,b))}),f<1/0&&f>=0&&(k=B.substring(0,f+1))}if(z=this.tokenizer.inlineText(k)){B=B.substring(z.raw.length),z.raw.slice(-1)!=="_"&&(U=z.raw.slice(-1)),F=!0;let f=E.at(-1);f?.type==="text"?(f.raw+=z.raw,f.text+=z.text):E.push(z);continue}if(B){let f="Infinite loop on byte: "+B.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw Error(f)}}return E}},bh=class{options;parser;constructor(u){this.options=u||UK}space(u){return""}code({text:u,lang:B,escaped:E}){let A=(B||"").match(GB.notSpaceStart)?.[0],C=u.replace(GB.endingNewline,"")+`
`;return A?'<pre><code class="language-'+TF(A)+'">'+(E?C:TF(C,!0))+`</code></pre>
`:"<pre><code>"+(E?C:TF(C,!0))+`</code></pre>
`}blockquote({tokens:u}){return`<blockquote>
${this.parser.parse(u)}</blockquote>
`}html({text:u}){return u}def(u){return""}heading({tokens:u,depth:B}){return`<h${B}>${this.parser.parseInline(u)}</h${B}>
`}hr(u){return`<hr>
`}list(u){let{ordered:B,start:E}=u,A="";for(let F=0;F<u.items.length;F++){let U=u.items[F];A+=this.listitem(U)}let C=B?"ol":"ul",D=B&&E!==1?' start="'+E+'"':"";return"<"+C+D+`>
`+A+"</"+C+`>
`}listitem(u){let B="";if(u.task){let E=this.checkbox({checked:!!u.checked});u.loose?u.tokens[0]?.type==="paragraph"?(u.tokens[0].text=E+" "+u.tokens[0].text,u.tokens[0].tokens&&u.tokens[0].tokens.length>0&&u.tokens[0].tokens[0].type==="text"&&(u.tokens[0].tokens[0].text=E+" "+TF(u.tokens[0].tokens[0].text),u.tokens[0].tokens[0].escaped=!0)):u.tokens.unshift({type:"text",raw:E+" ",text:E+" ",escaped:!0}):B+=E+" "}return B+=this.parser.parse(u.tokens,!!u.loose),`<li>${B}</li>
`}checkbox({checked:u}){return"<input "+(u?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:u}){return`<p>${this.parser.parseInline(u)}</p>
`}table(u){let B="",E="";for(let C=0;C<u.header.length;C++)E+=this.tablecell(u.header[C]);B+=this.tablerow({text:E});let A="";for(let C=0;C<u.rows.length;C++){let D=u.rows[C];E="";for(let F=0;F<D.length;F++)E+=this.tablecell(D[F]);A+=this.tablerow({text:E})}return A&&(A=`<tbody>${A}</tbody>`),`<table>
<thead>
`+B+`</thead>
`+A+`</table>
`}tablerow({text:u}){return`<tr>
${u}</tr>
`}tablecell(u){let B=this.parser.parseInline(u.tokens),E=u.header?"th":"td";return(u.align?`<${E} align="${u.align}">`:`<${E}>`)+B+`</${E}>
`}strong({tokens:u}){return`<strong>${this.parser.parseInline(u)}</strong>`}em({tokens:u}){return`<em>${this.parser.parseInline(u)}</em>`}codespan({text:u}){return`<code>${TF(u,!0)}</code>`}br(u){return"<br>"}del({tokens:u}){return`<del>${this.parser.parseInline(u)}</del>`}link({href:u,title:B,tokens:E}){let A=this.parser.parseInline(E),C=dY0(u);if(C===null)return A;u=C;let D='<a href="'+u+'"';return B&&(D+=' title="'+TF(B)+'"'),D+=">"+A+"</a>",D}image({href:u,title:B,text:E,tokens:A}){A&&(E=this.parser.parseInline(A,this.parser.textRenderer));let C=dY0(u);if(C===null)return TF(E);u=C;let D=`<img src="${u}" alt="${E}"`;return B&&(D+=` title="${TF(B)}"`),D+=">",D}text(u){return"tokens"in u&&u.tokens?this.parser.parseInline(u.tokens):("escaped"in u)&&u.escaped?u.text:TF(u.text)}},m30=class{strong({text:u}){return u}em({text:u}){return u}codespan({text:u}){return u}del({text:u}){return u}html({text:u}){return u}text({text:u}){return u}link({text:u}){return""+u}image({text:u}){return""+u}br(){return""}},RC=class u{options;renderer;textRenderer;constructor(B){this.options=B||UK,this.options.renderer=this.options.renderer||new bh,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new m30}static parse(B,E){return new u(E).parse(B)}static parseInline(B,E){return new u(E).parseInline(B)}parse(B,E=!0){let A="";for(let C=0;C<B.length;C++){let D=B[C];if(this.options.extensions?.renderers?.[D.type]){let U=D,z=this.options.extensions.renderers[U.type].call({parser:this},U);if(z!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(U.type)){A+=z||"";continue}}let F=D;switch(F.type){case"space":{A+=this.renderer.space(F);continue}case"hr":{A+=this.renderer.hr(F);continue}case"heading":{A+=this.renderer.heading(F);continue}case"code":{A+=this.renderer.code(F);continue}case"table":{A+=this.renderer.table(F);continue}case"blockquote":{A+=this.renderer.blockquote(F);continue}case"list":{A+=this.renderer.list(F);continue}case"html":{A+=this.renderer.html(F);continue}case"def":{A+=this.renderer.def(F);continue}case"paragraph":{A+=this.renderer.paragraph(F);continue}case"text":{let U=F,z=this.renderer.text(U);for(;C+1<B.length&&B[C+1].type==="text";)U=B[++C],z+=`
`+this.renderer.text(U);E?A+=this.renderer.paragraph({type:"paragraph",raw:z,text:z,tokens:[{type:"text",raw:z,text:z,escaped:!0}]}):A+=z;continue}default:{let U='Token with "'+F.type+'" type was not found.';if(this.options.silent)return console.error(U),"";throw Error(U)}}}return A}parseInline(B,E=this.renderer){let A="";for(let C=0;C<B.length;C++){let D=B[C];if(this.options.extensions?.renderers?.[D.type]){let U=this.options.extensions.renderers[D.type].call({parser:this},D);if(U!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(D.type)){A+=U||"";continue}}let F=D;switch(F.type){case"escape":{A+=E.text(F);break}case"html":{A+=E.html(F);break}case"link":{A+=E.link(F);break}case"image":{A+=E.image(F);break}case"strong":{A+=E.strong(F);break}case"em":{A+=E.em(F);break}case"codespan":{A+=E.codespan(F);break}case"br":{A+=E.br(F);break}case"del":{A+=E.del(F);break}case"text":{A+=E.text(F);break}default:{let U='Token with "'+F.type+'" type was not found.';if(this.options.silent)return console.error(U),"";throw Error(U)}}}return A}},VW,UA4=class{defaults=I30();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=RC;Renderer=bh;TextRenderer=m30;Lexer=YC;Tokenizer=Mh;Hooks=VW;constructor(...u){this.use(...u)}walkTokens(u,B){let E=[];for(let A of u)switch(E=E.concat(B.call(this,A)),A.type){case"table":{let C=A;for(let D of C.header)E=E.concat(this.walkTokens(D.tokens,B));for(let D of C.rows)for(let F of D)E=E.concat(this.walkTokens(F.tokens,B));break}case"list":{let C=A;E=E.concat(this.walkTokens(C.items,B));break}default:{let C=A;this.defaults.extensions?.childTokens?.[C.type]?this.defaults.extensions.childTokens[C.type].forEach((D)=>{let F=C[D].flat(1/0);E=E.concat(this.walkTokens(F,B))}):C.tokens&&(E=E.concat(this.walkTokens(C.tokens,B)))}}return E}use(...u){let B=this.defaults.extensions||{renderers:{},childTokens:{}};return u.forEach((E)=>{let A={...E};if(A.async=this.defaults.async||A.async||!1,E.extensions&&(E.extensions.forEach((C)=>{if(!C.name)throw Error("extension name required");if("renderer"in C){let D=B.renderers[C.name];D?B.renderers[C.name]=function(...F){let U=C.renderer.apply(this,F);return U===!1&&(U=D.apply(this,F)),U}:B.renderers[C.name]=C.renderer}if("tokenizer"in C){if(!C.level||C.level!=="block"&&C.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let D=B[C.level];D?D.unshift(C.tokenizer):B[C.level]=[C.tokenizer],C.start&&(C.level==="block"?B.startBlock?B.startBlock.push(C.start):B.startBlock=[C.start]:C.level==="inline"&&(B.startInline?B.startInline.push(C.start):B.startInline=[C.start]))}"childTokens"in C&&C.childTokens&&(B.childTokens[C.name]=C.childTokens)}),A.extensions=B),E.renderer){let C=this.defaults.renderer||new bh(this.defaults);for(let D in E.renderer){if(!(D in C))throw Error(`renderer '${D}' does not exist`);if(["options","parser"].includes(D))continue;let F=D,U=E.renderer[F],z=C[F];C[F]=(...k)=>{let f=U.apply(C,k);return f===!1&&(f=z.apply(C,k)),f||""}}A.renderer=C}if(E.tokenizer){let C=this.defaults.tokenizer||new Mh(this.defaults);for(let D in E.tokenizer){if(!(D in C))throw Error(`tokenizer '${D}' does not exist`);if(["options","rules","lexer"].includes(D))continue;let F=D,U=E.tokenizer[F],z=C[F];C[F]=(...k)=>{let f=U.apply(C,k);return f===!1&&(f=z.apply(C,k)),f}}A.tokenizer=C}if(E.hooks){let C=this.defaults.hooks||new VW;for(let D in E.hooks){if(!(D in C))throw Error(`hook '${D}' does not exist`);if(["options","block"].includes(D))continue;let F=D,U=E.hooks[F],z=C[F];VW.passThroughHooks.has(D)?C[F]=(k)=>{if(this.defaults.async&&VW.passThroughHooksRespectAsync.has(D))return(async()=>{let M=await U.call(C,k);return z.call(C,M)})();let f=U.call(C,k);return z.call(C,f)}:C[F]=(...k)=>{if(this.defaults.async)return(async()=>{let M=await U.apply(C,k);return M===!1&&(M=await z.apply(C,k)),M})();let f=U.apply(C,k);return f===!1&&(f=z.apply(C,k)),f}}A.hooks=C}if(E.walkTokens){let C=this.defaults.walkTokens,D=E.walkTokens;A.walkTokens=function(F){let U=[];return U.push(D.call(this,F)),C&&(U=U.concat(C.call(this,F))),U}}this.defaults={...this.defaults,...A}}),this}setOptions(u){return this.defaults={...this.defaults,...u},this}lexer(u,B){return YC.lex(u,B??this.defaults)}parser(u,B){return RC.parse(u,B??this.defaults)}parseMarkdown(u){return(B,E)=>{let A={...E},C={...this.defaults,...A},D=this.onError(!!C.silent,!!C.async);if(this.defaults.async===!0&&A.async===!1)return D(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof B>"u"||B===null)return D(Error("marked(): input parameter is undefined or null"));if(typeof B!="string")return D(Error("marked(): input parameter is of type "+Object.prototype.toString.call(B)+", string expected"));if(C.hooks&&(C.hooks.options=C,C.hooks.block=u),C.async)return(async()=>{let F=C.hooks?await C.hooks.preprocess(B):B,U=await(C.hooks?await C.hooks.provideLexer():u?YC.lex:YC.lexInline)(F,C),z=C.hooks?await C.hooks.processAllTokens(U):U;C.walkTokens&&await Promise.all(this.walkTokens(z,C.walkTokens));let k=await(C.hooks?await C.hooks.provideParser():u?RC.parse:RC.parseInline)(z,C);return C.hooks?await C.hooks.postprocess(k):k})().catch(D);try{C.hooks&&(B=C.hooks.preprocess(B));let F=(C.hooks?C.hooks.provideLexer():u?YC.lex:YC.lexInline)(B,C);C.hooks&&(F=C.hooks.processAllTokens(F)),C.walkTokens&&this.walkTokens(F,C.walkTokens);let U=(C.hooks?C.hooks.provideParser():u?RC.parse:RC.parseInline)(F,C);return C.hooks&&(U=C.hooks.postprocess(U)),U}catch(F){return D(F)}}}onError(u,B){return(E)=>{if(E.message+=`
Please report this to https://github.com/markedjs/marked.`,u){let A="<p>An error occurred:</p><pre>"+TF(E.message+"",!0)+"</pre>";return B?Promise.resolve(A):A}if(B)return Promise.reject(E);throw E}}},FK,Tn3,On3,In3,Pn3,jn3,Nn3,Vn3;var kR0=g(()=>{UK=I30();hW={exec:()=>null};xE4=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),GB={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:(u)=>new RegExp(`^( {0,3}${u})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:(u)=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:(u)=>new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:(u)=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:(u)=>new RegExp(`^ {0,${Math.min(3,u-1)}}#`),htmlBeginRegex:(u)=>new RegExp(`^ {0,${Math.min(3,u-1)}}<(?:[a-z].*>|!--)`,"i")},WE4=/^(?:[ \t]*(?:\n|$))+/,SE4=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,YE4=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,iW=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,RE4=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,P30=/(?:[*+-]|\d{1,9}[.)])/,eY0=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,uR0=i1(eY0).replace(/bull/g,P30).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),TE4=i1(eY0).replace(/bull/g,P30).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),j30=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,OE4=/^[^\n]+/,N30=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,IE4=i1(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",N30).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),PE4=i1(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,P30).getRegex(),V30=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,jE4=i1("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",V30).replace("tag",Zh).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),BR0=i1(j30).replace("hr",iW).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Zh).getRegex(),NE4=i1(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",BR0).getRegex(),h30={blockquote:NE4,code:SE4,def:IE4,fences:YE4,heading:RE4,hr:iW,html:jE4,lheading:uR0,list:PE4,newline:WE4,paragraph:BR0,table:hW,text:OE4},_Y0=i1("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",iW).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Zh).getRegex(),VE4={...h30,lheading:TE4,table:_Y0,paragraph:i1(j30).replace("hr",iW).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",_Y0).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Zh).getRegex()},hE4={...h30,html:i1(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",V30).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:hW,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:i1(j30).replace("hr",iW).replace("heading",` *#{1,6} *[^
]`).replace("lheading",uR0).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},iE4=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,aE4=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ER0=/^( {2,}|\\)\n(?!\s*$)/,mE4=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Jh=/[\p{P}\p{S}]/u,i30=/[\s\p{P}\p{S}]/u,AR0=/[^\s\p{P}\p{S}]/u,$E4=i1(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,i30).getRegex(),CR0=/(?!~)[\p{P}\p{S}]/u,yE4=/(?!~)[\s\p{P}\p{S}]/u,rE4=/(?:[^\s\p{P}\p{S}]|~)/u,gE4=i1(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",xE4?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),DR0=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,cE4=i1(DR0,"u").replace(/punct/g,Jh).getRegex(),_E4=i1(DR0,"u").replace(/punct/g,CR0).getRegex(),pE4=i1(FR0,"gu").replace(/notPunctSpace/g,AR0).replace(/punctSpace/g,i30).replace(/punct/g,Jh).getRegex(),nE4=i1(FR0,"gu").replace(/notPunctSpace/g,rE4).replace(/punctSpace/g,yE4).replace(/punct/g,CR0).getRegex(),dE4=i1("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,AR0).replace(/punctSpace/g,i30).replace(/punct/g,Jh).getRegex(),sE4=i1(/\\(punct)/,"gu").replace(/punct/g,Jh).getRegex(),oE4=i1(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),tE4=i1(V30).replace("(?:-->|$)","-->").getRegex(),eE4=i1("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",tE4).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),fh=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,uA4=i1(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",fh).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),UR0=i1(/^!?\[(label)\]\[(ref)\]/).replace("label",fh).replace("ref",N30).getRegex(),zR0=i1(/^!?\[(ref)\](?:\[\])?/).replace("ref",N30).getRegex(),BA4=i1("reflink|nolink(?!\\()","g").replace("reflink",UR0).replace("nolink",zR0).getRegex(),pY0=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,a30={_backpedal:hW,anyPunctuation:sE4,autolink:oE4,blockSkip:gE4,br:ER0,code:aE4,del:hW,emStrongLDelim:cE4,emStrongRDelimAst:pE4,emStrongRDelimUnd:dE4,escape:iE4,link:uA4,nolink:zR0,punctuation:$E4,reflink:UR0,reflinkSearch:BA4,tag:eE4,text:mE4,url:hW},EA4={...a30,link:i1(/^!?\[(label)\]\((.*?)\)/).replace("label",fh).getRegex(),reflink:i1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",fh).getRegex()},O30={...a30,emStrongRDelimAst:nE4,emStrongLDelim:_E4,url:i1(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",pY0).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:i1(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",pY0).getRegex()},AA4={...O30,br:i1(ER0).replace("{2,}","*").getRegex(),text:i1(O30.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},kh={normal:h30,gfm:VE4,pedantic:hE4},jW={normal:a30,gfm:O30,breaks:AA4,pedantic:EA4},CA4={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};VW=class{options;block;constructor(u){this.options=u||UK}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(u){return u}postprocess(u){return u}processAllTokens(u){return u}emStrongMask(u){return u}provideLexer(){return this.block?YC.lex:YC.lexInline}provideParser(){return this.block?RC.parse:RC.parseInline}},FK=new UA4;o1.options=o1.setOptions=function(u){return FK.setOptions(u),o1.defaults=FK.defaults,tY0(o1.defaults),o1};o1.getDefaults=I30;o1.defaults=UK;o1.use=function(...u){return FK.use(...u),o1.defaults=FK.defaults,tY0(o1.defaults),o1};o1.walkTokens=function(u,B){return FK.walkTokens(u,B)};o1.parseInline=FK.parseInline;o1.Parser=RC;o1.parser=RC.parse;o1.Renderer=bh;o1.TextRenderer=m30;o1.Lexer=YC;o1.lexer=YC.lex;o1.Tokenizer=Mh;o1.Hooks=VW;o1.parse=o1;Tn3=o1.options,On3=o1.setOptions,In3=o1.use,Pn3=o1.walkTokens,jn3=o1.parseInline,Nn3=RC.parse,Vn3=YC.lex});function Kh(u){var B=[];for(var E=1;E<arguments.length;E++)B[E-1]=arguments[E];var A=Array.from(typeof u==="string"?[u]:u);A[A.length-1]=A[A.length-1].replace(/\r?\n([\t ]*)$/,"");var C=A.reduce(function(U,z){var k=z.match(/\n([\t ]+|(?!\s).)/g);if(k)return U.concat(k.map(function(f){var M,b;return(b=(M=f.match(/[\t ]/g))===null||M===void 0?void 0:M.length)!==null&&b!==void 0?b:0}));return U},[]);if(C.length){var D=new RegExp(`
[ ]{`.concat(Math.min.apply(Math,C),"}"),"g");A=A.map(function(U){return U.replace(D,`
`)})}A[0]=A[0].replace(/^\r?\n/,"");var F=A[0];return B.forEach(function(U,z){var k=F.match(/(?:^|\n)( *)$/),f=k?k[1]:"",M=U;if(typeof U==="string"&&U.includes(`
`))M=String(U).split(`
`).map(function(b,Z){return Z===0?b:"".concat(f).concat(b)}).join(`
`);F+=M+A[z+1]}),F}var $30=()=>{};function MR0(u,{markdownAutoWrap:B}){let A=u.replace(/<br\/>/g,`
`).replace(/\n{2,}/g,`
`);return Kh(A)}function bR0(u){return u.split(/\\n|\n|<br\s*\/?>/gi).map((B)=>B.trim().match(/<[^>]+>|[^\s<>]+/g)?.map((E)=>({content:E,type:"normal"}))??[])}function ZR0(u,B={}){let E=MR0(u,B),A=o1.lexer(E),C=[[]],D=0;function F(U,z="normal"){if(U.type==="text")U.text.split(`
`).forEach((f,M)=>{if(M!==0)D++,C.push([]);f.split(" ").forEach((b)=>{if(b=b.replace(/&#39;/g,"'"),b)C[D].push({content:b,type:z})})});else if(U.type==="strong"||U.type==="em")U.tokens.forEach((k)=>{F(k,U.type)});else if(U.type==="html")C[D].push({content:U.text,type:"normal"})}return X(F,"processNode"),A.forEach((U)=>{if(U.type==="paragraph")U.tokens?.forEach((z)=>{F(z)});else if(U.type==="html")C[D].push({content:U.text,type:"normal"});else C[D].push({content:U.raw,type:"normal"})}),C}function JR0(u){if(!u)return"";return`<p>${u.replace(/\\n|\n/g,"<br />")}</p>`}function KR0(u,{markdownAutoWrap:B}={}){let E=o1.lexer(u);function A(C){if(C.type==="text"){if(B===!1)return C.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;");return C.text.replace(/\n */g,"<br/>")}else if(C.type==="strong")return`<strong>${C.tokens?.map(A).join("")}</strong>`;else if(C.type==="em")return`<em>${C.tokens?.map(A).join("")}</em>`;else if(C.type==="paragraph")return`<p>${C.tokens?.map(A).join("")}</p>`;else if(C.type==="space")return"";else if(C.type==="html")return`${C.text}`;else if(C.type==="escape")return C.text;return z0.warn(`Unsupported markdown: ${C.type}`),C.raw}return X(A,"output"),E.map(A).join("")}function wR0(u){if(Intl.Segmenter)return[...new Intl.Segmenter().segment(u)].map((B)=>B.segment);return[...u]}function QR0(u,B){let E=wR0(B.content);return g30(u,[],E,B.type)}function g30(u,B,E,A){if(E.length===0)return[{content:B.join(""),type:A},{content:"",type:A}];let[C,...D]=E,F=[...B,C];if(u([{content:F.join(""),type:A}]))return g30(u,F,D,A);if(B.length===0&&C)B.push(C),E.shift();return[{content:B.join(""),type:A},{content:E.join(""),type:A}]}function GR0(u,B){if(u.some(({content:E})=>E.includes(`
`)))throw Error("splitLineToFitWidth does not support newlines in the line");return wh(u,B)}function wh(u,B,E=[],A=[]){if(u.length===0){if(A.length>0)E.push(A);return E.length>0?E:[]}let C="";if(u[0].content===" ")C=" ",u.shift();let D=u.shift()??{content:" ",type:"normal"},F=[...A];if(C!=="")F.push({content:C,type:"normal"});if(F.push(D),B(F))return wh(u,B,E,F);if(A.length>0)E.push(A),u.unshift(D);else if(D.content){let[U,z]=QR0(B,D);if(E.push([U]),z.content)u.unshift(z)}return wh(u,B,E)}function y30(u,B){if(B)u.attr("style",B)}async function HR0(u,B,E,A,C=!1,D=F4()){let F=u.append("foreignObject");F.attr("width",`${Math.min(10*E,fR0)}px`),F.attr("height",`${Math.min(10*E,fR0)}px`);let U=F.append("xhtml:div"),z=D9(B.label)?await DH(B.label.replace(ru.lineBreakRegex,`
`),D):C3(B.label,D),k=B.isNode?"nodeLabel":"edgeLabel",f=U.append("span");if(f.html(z),y30(f,B.labelStyle),f.attr("class",`${k} ${A}`),y30(U,B.labelStyle),U.style("display","table-cell"),U.style("white-space","nowrap"),U.style("line-height","1.5"),E!==Number.POSITIVE_INFINITY)U.style("max-width",E+"px"),U.style("text-align","center");if(U.attr("xmlns","http://www.w3.org/1999/xhtml"),C)U.attr("class","labelBkg");let M=U.node().getBoundingClientRect();if(M.width===E)U.style("display","table"),U.style("white-space","break-spaces"),U.style("width",E+"px"),M=U.node().getBoundingClientRect();return F.node()}function Qh(u,B,E,A=!1){let C=u.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",B*E-0.1+"em").attr("dy",E+"em");if(A)C.attr("text-anchor","middle");return C}function qR0(u,B,E){let A=u.append("text"),C=Qh(A,1,B);Gh(C,E);let D=C.node().getComputedTextLength();return A.remove(),D}function c30(u,B,E){let A=u.append("text"),C=Qh(A,1,B);Gh(C,[{content:E,type:"normal"}]);let D=C.node()?.getBoundingClientRect();if(D)A.remove();return D}function lR0(u,B,E,A=!1,C=!1){let F=B.append("g"),U=F.insert("rect").attr("class","background").attr("style","stroke: none"),z=F.append("text").attr("y","-10.1");if(C)z.attr("text-anchor","middle");let k=0;for(let f of E){let M=X((Z)=>qR0(F,1.1,Z)<=u,"checkWidth"),b=M(f)?[f]:GR0(f,M);for(let Z of b){let J=Qh(z,k,1.1,C);Gh(J,Z),k++}}if(A){let f=z.node().getBBox(),M=2;return U.attr("x",f.x-2).attr("y",f.y-2).attr("width",f.width+4).attr("height",f.height+4),F.node()}else return z.node()}function r30(u){let B=/&(amp|lt|gt);/g;return u.replace(B,(E,A)=>{switch(A){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return E}})}function Gh(u,B){u.text(""),B.forEach((E,A)=>{let C=u.append("tspan").attr("font-style",E.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",E.type==="strong"?"bold":"normal");if(A===0)C.text(r30(E.content));else C.text(" "+r30(E.content))})}async function LR0(u,B={}){let E=[];u.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(C,D,F)=>{return E.push((async()=>{let U=`${D}:${F}`;if(await cY0(U))return await ME(U,void 0,{class:"label-icon"});else return`<i class='${C3(C,B).replace(":"," ")}'></i>`})()),C});let A=await Promise.all(E);return u.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>A.shift()??"")}var fR0=16384,v2;var s2=g(()=>{X2();e3();s4();o4();Y4();V3();kR0();$30();X(MR0,"preprocessMarkdown");X(bR0,"nonMarkdownToLines");X(ZR0,"markdownToLines");X(JR0,"nonMarkdownToHTML");X(KR0,"markdownToHTML");X(wR0,"splitTextToChars");X(QR0,"splitWordToFitWidth");X(g30,"splitWordToFitWidthRecursion");X(GR0,"splitLineToFitWidth");X(wh,"splitLineToFitWidthRecursion");X(y30,"applyStyle");X(HR0,"addHtmlSpan");X(Qh,"createTspan");X(qR0,"computeWidthOfText");X(c30,"computeDimensionOfText");X(lR0,"createFormattedText");X(r30,"decodeHTMLEntities");X(Gh,"updateTextContentAndStyles");X(LR0,"replaceIconSubstring");v2=X(async(u,B="",{style:E="",isTitle:A=!1,classes:C="",useHtmlLabels:D=!0,markdown:F=!0,isNode:U=!0,width:z=200,addSvgBackground:k=!1}={},f)=>{if(z0.debug("XYZ createText",B,E,A,C,D,U,"addSvgBackground: ",k),D){let M=F?KR0(B,f):JR0(B),b=await LR0(fE(M),f),Z=B.replace(/\\\\/g,"\\"),J={isNode:U,label:D9(B)?Z:b,labelStyle:E.replace("fill:","color:")};return await HR0(u,J,z,C,k,f)}else{let M=fE(B.replace(/<br\s*\/?>/g,"<br/>")),b=F?ZR0(M.replace("<br>","<br/>"),f):bR0(M),Z=lR0(z,u,b,B?k:!1,!U);if(U){if(/stroke:/.exec(E))E=E.replace("stroke:","lineColor:");let J=E.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Qu(Z).attr("style",J)}else{let J=E.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Qu(Z).select("rect").attr("style",J.replace(/background:/g,"fill:"));let K=E.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Qu(Z).select("text").attr("style",K)}if(A)Qu(Z).selectAll("tspan.text-outer-tspan").classed("title-row",!0);else Qu(Z).selectAll("tspan.text-outer-tspan").classed("row",!0);return Z}},"createText")});function _30(u,B,E){if(u&&u.length){let[A,C]=B,D=Math.PI/180*E,F=Math.cos(D),U=Math.sin(D);for(let z of u){let[k,f]=z;z[0]=(k-A)*F-(f-C)*U+A,z[1]=(k-A)*U+(f-C)*F+C}}}function zA4(u,B){return u[0]===B[0]&&u[1]===B[1]}function kA4(u,B,E,A=1){let C=E,D=Math.max(B,0.1),F=u[0]&&u[0][0]&&typeof u[0][0]=="number"?[u]:u,U=[0,0];if(C)for(let k of F)_30(k,U,C);let z=function(k,f,M){let b=[];for(let G of k){let H=[...G];zA4(H[0],H[H.length-1])||H.push([H[0][0],H[0][1]]),H.length>2&&b.push(H)}let Z=[];f=Math.max(f,0.1);let J=[];for(let G of b)for(let H=0;H<G.length-1;H++){let l=G[H],q=G[H+1];if(l[1]!==q[1]){let L=Math.min(l[1],q[1]);J.push({ymin:L,ymax:Math.max(l[1],q[1]),x:L===l[1]?l[0]:q[0],islope:(q[0]-l[0])/(q[1]-l[1])})}}if(J.sort((G,H)=>G.ymin<H.ymin?-1:G.ymin>H.ymin?1:G.x<H.x?-1:G.x>H.x?1:G.ymax===H.ymax?0:(G.ymax-H.ymax)/Math.abs(G.ymax-H.ymax)),!J.length)return Z;let K=[],w=J[0].ymin,Q=0;for(;K.length||J.length;){if(J.length){let G=-1;for(let H=0;H<J.length&&!(J[H].ymin>w);H++)G=H;J.splice(0,G+1).forEach((H)=>{K.push({s:w,edge:H})})}if(K=K.filter((G)=>!(G.edge.ymax<=w)),K.sort((G,H)=>G.edge.x===H.edge.x?0:(G.edge.x-H.edge.x)/Math.abs(G.edge.x-H.edge.x)),(M!==1||Q%f==0)&&K.length>1)for(let G=0;G<K.length;G+=2){let H=G+1;if(H>=K.length)break;let l=K[G].edge,q=K[H].edge;Z.push([[Math.round(l.x),w],[Math.round(q.x),w]])}w+=M,K.forEach((G)=>{G.edge.x=G.edge.x+M*G.edge.islope}),Q++}return Z}(F,D,A);if(C){for(let k of F)_30(k,U,-C);(function(k,f,M){let b=[];k.forEach((Z)=>b.push(...Z)),_30(b,f,M)})(z,U,-C)}return z}function yW(u,B){var E;let A=B.hachureAngle+90,C=B.hachureGap;C<0&&(C=4*B.strokeWidth),C=Math.round(Math.max(C,0.1));let D=1;return B.roughness>=1&&(((E=B.randomizer)===null||E===void 0?void 0:E.next())||Math.random())>0.7&&(D=C),kA4(u,C,A,D||1)}class Sh{constructor(u){this.helper=u}fillPolygons(u,B){return this._fillPolygons(u,B)}_fillPolygons(u,B){let E=yW(u,B);return{type:"fillSketch",ops:this.renderLines(E,B)}}renderLines(u,B){let E=[];for(let A of u)E.push(...this.helper.doubleLineOps(A[0][0],A[0][1],A[1][0],A[1][1],B));return E}}function Yh(u){let B=u[0],E=u[1];return Math.sqrt(Math.pow(B[0]-E[0],2)+Math.pow(B[1]-E[1],2))}class PR0{constructor(u){this.helper=u}fillPolygons(u,B){let E=yW(u,B=Object.assign({},B,{hachureAngle:0}));return this.dotsOnLines(E,B)}dotsOnLines(u,B){let E=[],A=B.hachureGap;A<0&&(A=4*B.strokeWidth),A=Math.max(A,0.1);let C=B.fillWeight;C<0&&(C=B.strokeWidth/2);let D=A/4;for(let F of u){let U=Yh(F),z=U/A,k=Math.ceil(z)-1,f=U-k*A,M=(F[0][0]+F[1][0])/2-A/4,b=Math.min(F[0][1],F[1][1]);for(let Z=0;Z<k;Z++){let J=b+f+Z*A,K=M-D+2*Math.random()*D,w=J-D+2*Math.random()*D,Q=this.helper.ellipse(K,w,C,C,B);E.push(...Q.ops)}}return{type:"fillSketch",ops:E}}}class jR0{constructor(u){this.helper=u}fillPolygons(u,B){let E=yW(u,B);return{type:"fillSketch",ops:this.dashedLine(E,B)}}dashedLine(u,B){let E=B.dashOffset<0?B.hachureGap<0?4*B.strokeWidth:B.hachureGap:B.dashOffset,A=B.dashGap<0?B.hachureGap<0?4*B.strokeWidth:B.hachureGap:B.dashGap,C=[];return u.forEach((D)=>{let F=Yh(D),U=Math.floor(F/(E+A)),z=(F+A-U*(E+A))/2,k=D[0],f=D[1];k[0]>f[0]&&(k=D[1],f=D[0]);let M=Math.atan((f[1]-k[1])/(f[0]-k[0]));for(let b=0;b<U;b++){let Z=b*(E+A),J=Z+E,K=[k[0]+Z*Math.cos(M)+z*Math.cos(M),k[1]+Z*Math.sin(M)+z*Math.sin(M)],w=[k[0]+J*Math.cos(M)+z*Math.cos(M),k[1]+J*Math.sin(M)+z*Math.sin(M)];C.push(...this.helper.doubleLineOps(K[0],K[1],w[0],w[1],B))}}),C}}class NR0{constructor(u){this.helper=u}fillPolygons(u,B){let E=B.hachureGap<0?4*B.strokeWidth:B.hachureGap,A=B.zigzagOffset<0?E:B.zigzagOffset,C=yW(u,B=Object.assign({},B,{hachureGap:E+A}));return{type:"fillSketch",ops:this.zigzagLines(C,A,B)}}zigzagLines(u,B,E){let A=[];return u.forEach((C)=>{let D=Yh(C),F=Math.round(D/(2*B)),U=C[0],z=C[1];U[0]>z[0]&&(U=C[1],z=C[0]);let k=Math.atan((z[1]-U[1])/(z[0]-U[0]));for(let f=0;f<F;f++){let M=2*f*B,b=2*(f+1)*B,Z=Math.sqrt(2*Math.pow(B,2)),J=[U[0]+M*Math.cos(k),U[1]+M*Math.sin(k)],K=[U[0]+b*Math.cos(k),U[1]+b*Math.sin(k)],w=[J[0]+Z*Math.cos(k+Math.PI/4),J[1]+Z*Math.sin(k+Math.PI/4)];A.push(...this.helper.doubleLineOps(J[0],J[1],w[0],w[1],E),...this.helper.doubleLineOps(w[0],w[1],K[0],K[1],E))}}),A}}class VR0{constructor(u){this.seed=u}next(){return this.seed?(2147483647&(this.seed=Math.imul(48271,this.seed)))/2147483648:Math.random()}}function n30(u,B){return u.type===B}function u10(u){let B=[],E=function(F){let U=[];for(;F!=="";)if(F.match(/^([ \t\r\n,]+)/))F=F.substr(RegExp.$1.length);else if(F.match(/^([aAcChHlLmMqQsStTvVzZ])/))U[U.length]={type:fA4,text:RegExp.$1},F=F.substr(RegExp.$1.length);else{if(!F.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];U[U.length]={type:p30,text:`${parseFloat(RegExp.$1)}`},F=F.substr(RegExp.$1.length)}return U[U.length]={type:XR0,text:""},U}(u),A="BOD",C=0,D=E[C];for(;!n30(D,XR0);){let F=0,U=[];if(A==="BOD"){if(D.text!=="M"&&D.text!=="m")return u10("M0,0"+u);C++,F=Hh[D.text],A=D.text}else n30(D,p30)?F=Hh[A]:(C++,F=Hh[D.text],A=D.text);if(!(C+F<E.length))throw Error("Path data ended short");for(let z=C;z<C+F;z++){let k=E[z];if(!n30(k,p30))throw Error("Param not a number: "+A+","+k.text);U[U.length]=+k.text}if(typeof Hh[A]!="number")throw Error("Bad segment: "+A);{let z={key:A,data:U};B.push(z),C+=F,D=E[C],A==="M"&&(A="L"),A==="m"&&(A="l")}}return B}function hR0(u){let B=0,E=0,A=0,C=0,D=[];for(let{key:F,data:U}of u)switch(F){case"M":D.push({key:"M",data:[...U]}),[B,E]=U,[A,C]=U;break;case"m":B+=U[0],E+=U[1],D.push({key:"M",data:[B,E]}),A=B,C=E;break;case"L":D.push({key:"L",data:[...U]}),[B,E]=U;break;case"l":B+=U[0],E+=U[1],D.push({key:"L",data:[B,E]});break;case"C":D.push({key:"C",data:[...U]}),B=U[4],E=U[5];break;case"c":{let z=U.map((k,f)=>f%2?k+E:k+B);D.push({key:"C",data:z}),B=z[4],E=z[5];break}case"Q":D.push({key:"Q",data:[...U]}),B=U[2],E=U[3];break;case"q":{let z=U.map((k,f)=>f%2?k+E:k+B);D.push({key:"Q",data:z}),B=z[2],E=z[3];break}case"A":D.push({key:"A",data:[...U]}),B=U[5],E=U[6];break;case"a":B+=U[5],E+=U[6],D.push({key:"A",data:[U[0],U[1],U[2],U[3],U[4],B,E]});break;case"H":D.push({key:"H",data:[...U]}),B=U[0];break;case"h":B+=U[0],D.push({key:"H",data:[B]});break;case"V":D.push({key:"V",data:[...U]}),E=U[0];break;case"v":E+=U[0],D.push({key:"V",data:[E]});break;case"S":D.push({key:"S",data:[...U]}),B=U[2],E=U[3];break;case"s":{let z=U.map((k,f)=>f%2?k+E:k+B);D.push({key:"S",data:z}),B=z[2],E=z[3];break}case"T":D.push({key:"T",data:[...U]}),B=U[0],E=U[1];break;case"t":B+=U[0],E+=U[1],D.push({key:"T",data:[B,E]});break;case"Z":case"z":D.push({key:"Z",data:[]}),B=A,E=C}return D}function iR0(u){let B=[],E="",A=0,C=0,D=0,F=0,U=0,z=0;for(let{key:k,data:f}of u){switch(k){case"M":B.push({key:"M",data:[...f]}),[A,C]=f,[D,F]=f;break;case"C":B.push({key:"C",data:[...f]}),A=f[4],C=f[5],U=f[2],z=f[3];break;case"L":B.push({key:"L",data:[...f]}),[A,C]=f;break;case"H":A=f[0],B.push({key:"L",data:[A,C]});break;case"V":C=f[0],B.push({key:"L",data:[A,C]});break;case"S":{let M=0,b=0;E==="C"||E==="S"?(M=A+(A-U),b=C+(C-z)):(M=A,b=C),B.push({key:"C",data:[M,b,...f]}),U=f[0],z=f[1],A=f[2],C=f[3];break}case"T":{let[M,b]=f,Z=0,J=0;E==="Q"||E==="T"?(Z=A+(A-U),J=C+(C-z)):(Z=A,J=C);let K=A+2*(Z-A)/3,w=C+2*(J-C)/3,Q=M+2*(Z-M)/3,G=b+2*(J-b)/3;B.push({key:"C",data:[K,w,Q,G,M,b]}),U=Z,z=J,A=M,C=b;break}case"Q":{let[M,b,Z,J]=f,K=A+2*(M-A)/3,w=C+2*(b-C)/3,Q=Z+2*(M-Z)/3,G=J+2*(b-J)/3;B.push({key:"C",data:[K,w,Q,G,Z,J]}),U=M,z=b,A=Z,C=J;break}case"A":{let M=Math.abs(f[0]),b=Math.abs(f[1]),Z=f[2],J=f[3],K=f[4],w=f[5],Q=f[6];if(M===0||b===0)B.push({key:"C",data:[A,C,w,Q,w,Q]}),A=w,C=Q;else if(A!==w||C!==Q)aR0(A,C,w,Q,M,b,Z,J,K).forEach(function(G){B.push({key:"C",data:G})}),A=w,C=Q;break}case"Z":B.push({key:"Z",data:[]}),A=D,C=F}E=k}return B}function aW(u,B,E){return[u*Math.cos(E)-B*Math.sin(E),u*Math.sin(E)+B*Math.cos(E)]}function aR0(u,B,E,A,C,D,F,U,z,k){let f=(M=F,Math.PI*M/180);var M;let b=[],Z=0,J=0,K=0,w=0;if(k)[Z,J,K,w]=k;else{[u,B]=aW(u,B,-f),[E,A]=aW(E,A,-f);let Y=(u-E)/2,h=(B-A)/2,I=Y*Y/(C*C)+h*h/(D*D);I>1&&(I=Math.sqrt(I),C*=I,D*=I);let O=C*C,V=D*D,j=O*V-O*h*h-V*Y*Y,i=O*h*h+V*Y*Y,a=(U===z?-1:1)*Math.sqrt(Math.abs(j/i));K=a*C*h/D+(u+E)/2,w=a*-D*Y/C+(B+A)/2,Z=Math.asin(parseFloat(((B-w)/D).toFixed(9))),J=Math.asin(parseFloat(((A-w)/D).toFixed(9))),u<K&&(Z=Math.PI-Z),E<K&&(J=Math.PI-J),Z<0&&(Z=2*Math.PI+Z),J<0&&(J=2*Math.PI+J),z&&Z>J&&(Z-=2*Math.PI),!z&&J>Z&&(J-=2*Math.PI)}let Q=J-Z;if(Math.abs(Q)>120*Math.PI/180){let Y=J,h=E,I=A;J=z&&J>Z?Z+120*Math.PI/180*1:Z+120*Math.PI/180*-1,b=aR0(E=K+C*Math.cos(J),A=w+D*Math.sin(J),h,I,C,D,F,0,z,[J,Y,K,w])}Q=J-Z;let G=Math.cos(Z),H=Math.sin(Z),l=Math.cos(J),q=Math.sin(J),L=Math.tan(Q/4),v=1.3333333333333333*C*L,x=1.3333333333333333*D*L,S=[u,B],W=[u+v*H,B-x*G],T=[E+v*q,A-x*l],R=[E,A];if(W[0]=2*S[0]-W[0],W[1]=2*S[1]-W[1],k)return[W,T,R].concat(b);{b=[W,T,R].concat(b);let Y=[];for(let h=0;h<b.length;h+=3){let I=aW(b[h][0],b[h][1],f),O=aW(b[h+1][0],b[h+1][1],f),V=aW(b[h+2][0],b[h+2][1],f);Y.push([I[0],I[1],O[0],O[1],V[0],V[1]])}return Y}}function mR0(u,B,E,A,C){return{type:"path",ops:kM(u,B,E,A,C)}}function Lh(u,B,E){let A=(u||[]).length;if(A>2){let C=[];for(let D=0;D<A-1;D++)C.push(...kM(u[D][0],u[D][1],u[D+1][0],u[D+1][1],E));return B&&C.push(...kM(u[A-1][0],u[A-1][1],u[0][0],u[0][1],E)),{type:"path",ops:C}}return A===2?mR0(u[0][0],u[0][1],u[1][0],u[1][1],E):{type:"path",ops:[]}}function bA4(u,B,E,A,C){return function(D,F){return Lh(D,!0,F)}([[u,B],[u+E,B],[u+E,B+A],[u,B+A]],C)}function vR0(u,B){if(u.length){let E=typeof u[0][0]=="number"?[u]:u,A=qh(E[0],1*(1+0.2*B.roughness),B),C=B.disableMultiStroke?[]:qh(E[0],1.5*(1+0.22*B.roughness),SR0(B));for(let D=1;D<E.length;D++){let F=E[D];if(F.length){let U=qh(F,1*(1+0.2*B.roughness),B),z=B.disableMultiStroke?[]:qh(F,1.5*(1+0.22*B.roughness),SR0(B));for(let k of U)k.op!=="move"&&A.push(k);for(let k of z)k.op!=="move"&&C.push(k)}}return{type:"path",ops:A.concat(C)}}return{type:"path",ops:[]}}function $R0(u,B,E){let A=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(u/2,2)+Math.pow(B/2,2))/2)),C=Math.ceil(Math.max(E.curveStepCount,E.curveStepCount/Math.sqrt(200)*A)),D=2*Math.PI/C,F=Math.abs(u/2),U=Math.abs(B/2),z=1-E.curveFitting;return F+=M3(F*z,E),U+=M3(U*z,E),{increment:D,rx:F,ry:U}}function o30(u,B,E,A){let[C,D]=YR0(A.increment,u,B,A.rx,A.ry,1,A.increment*vh(0.1,vh(0.4,1,E),E),E),F=xh(C,null,E);if(!E.disableMultiStroke&&E.roughness!==0){let[U]=YR0(A.increment,u,B,A.rx,A.ry,1.5,0,E),z=xh(U,null,E);F=F.concat(z)}return{estimatedPoints:D,opset:{type:"path",ops:F}}}function xR0(u,B,E,A,C,D,F,U,z){let k=u,f=B,M=Math.abs(E/2),b=Math.abs(A/2);M+=M3(0.01*M,z),b+=M3(0.01*b,z);let Z=C,J=D;for(;Z<0;)Z+=2*Math.PI,J+=2*Math.PI;J-Z>2*Math.PI&&(Z=0,J=2*Math.PI);let K=2*Math.PI/z.curveStepCount,w=Math.min(K/2,(J-Z)/2),Q=RR0(w,k,f,M,b,Z,J,1,z);if(!z.disableMultiStroke){let G=RR0(w,k,f,M,b,Z,J,1.5,z);Q.push(...G)}return F&&(U?Q.push(...kM(k,f,k+M*Math.cos(Z),f+b*Math.sin(Z),z),...kM(k,f,k+M*Math.cos(J),f+b*Math.sin(J),z)):Q.push({op:"lineTo",data:[k,f]},{op:"lineTo",data:[k+M*Math.cos(Z),f+b*Math.sin(Z)]})),{type:"path",ops:Q}}function WR0(u,B){let E=iR0(hR0(u10(u))),A=[],C=[0,0],D=[0,0];for(let{key:F,data:U}of E)switch(F){case"M":D=[U[0],U[1]],C=[U[0],U[1]];break;case"L":A.push(...kM(D[0],D[1],U[0],U[1],B)),D=[U[0],U[1]];break;case"C":{let[z,k,f,M,b,Z]=U;A.push(...ZA4(z,k,f,M,b,Z,D,B)),D=[b,Z];break}case"Z":A.push(...kM(D[0],D[1],C[0],C[1],B)),D=[C[0],C[1]]}return{type:"path",ops:A}}function d30(u,B){let E=[];for(let A of u)if(A.length){let C=B.maxRandomnessOffset||0,D=A.length;if(D>2){E.push({op:"move",data:[A[0][0]+M3(C,B),A[0][1]+M3(C,B)]});for(let F=1;F<D;F++)E.push({op:"lineTo",data:[A[F][0]+M3(C,B),A[F][1]+M3(C,B)]})}}return{type:"fillPath",ops:E}}function _H(u,B){return function(E,A){let C=E.fillStyle||"hachure";if(!M8[C])switch(C){case"zigzag":M8[C]||(M8[C]=new OR0(A));break;case"cross-hatch":M8[C]||(M8[C]=new IR0(A));break;case"dots":M8[C]||(M8[C]=new PR0(A));break;case"dashed":M8[C]||(M8[C]=new jR0(A));break;case"zigzag-line":M8[C]||(M8[C]=new NR0(A));break;default:C="hachure",M8[C]||(M8[C]=new Sh(A))}return M8[C]}(B,MA4).fillPolygons(u,B)}function SR0(u){let B=Object.assign({},u);return B.randomizer=void 0,u.seed&&(B.seed=u.seed+1),B}function yR0(u){return u.randomizer||(u.randomizer=new VR0(u.seed||0)),u.randomizer.next()}function vh(u,B,E,A=1){return E.roughness*A*(yR0(E)*(B-u)+u)}function M3(u,B,E=1){return vh(-u,u,B,E)}function kM(u,B,E,A,C,D=!1){let F=D?C.disableMultiStrokeFill:C.disableMultiStroke,U=t30(u,B,E,A,C,!0,!1);if(F)return U;let z=t30(u,B,E,A,C,!0,!0);return U.concat(z)}function t30(u,B,E,A,C,D,F){let U=Math.pow(u-E,2)+Math.pow(B-A,2),z=Math.sqrt(U),k=1;k=z<200?1:z>500?0.4:-0.0016668*z+1.233334;let f=C.maxRandomnessOffset||0;f*f*100>U&&(f=z/10);let M=f/2,b=0.2+0.2*yR0(C),Z=C.bowing*C.maxRandomnessOffset*(A-B)/200,J=C.bowing*C.maxRandomnessOffset*(u-E)/200;Z=M3(Z,C,k),J=M3(J,C,k);let K=[],w=()=>M3(M,C,k),Q=()=>M3(f,C,k),G=C.preserveVertices;return D&&(F?K.push({op:"move",data:[u+(G?0:w()),B+(G?0:w())]}):K.push({op:"move",data:[u+(G?0:M3(f,C,k)),B+(G?0:M3(f,C,k))]})),F?K.push({op:"bcurveTo",data:[Z+u+(E-u)*b+w(),J+B+(A-B)*b+w(),Z+u+2*(E-u)*b+w(),J+B+2*(A-B)*b+w(),E+(G?0:w()),A+(G?0:w())]}):K.push({op:"bcurveTo",data:[Z+u+(E-u)*b+Q(),J+B+(A-B)*b+Q(),Z+u+2*(E-u)*b+Q(),J+B+2*(A-B)*b+Q(),E+(G?0:Q()),A+(G?0:Q())]}),K}function qh(u,B,E){if(!u.length)return[];let A=[];A.push([u[0][0]+M3(B,E),u[0][1]+M3(B,E)]),A.push([u[0][0]+M3(B,E),u[0][1]+M3(B,E)]);for(let C=1;C<u.length;C++)A.push([u[C][0]+M3(B,E),u[C][1]+M3(B,E)]),C===u.length-1&&A.push([u[C][0]+M3(B,E),u[C][1]+M3(B,E)]);return xh(A,null,E)}function xh(u,B,E){let A=u.length,C=[];if(A>3){let D=[],F=1-E.curveTightness;C.push({op:"move",data:[u[1][0],u[1][1]]});for(let U=1;U+2<A;U++){let z=u[U];D[0]=[z[0],z[1]],D[1]=[z[0]+(F*u[U+1][0]-F*u[U-1][0])/6,z[1]+(F*u[U+1][1]-F*u[U-1][1])/6],D[2]=[u[U+1][0]+(F*u[U][0]-F*u[U+2][0])/6,u[U+1][1]+(F*u[U][1]-F*u[U+2][1])/6],D[3]=[u[U+1][0],u[U+1][1]],C.push({op:"bcurveTo",data:[D[1][0],D[1][1],D[2][0],D[2][1],D[3][0],D[3][1]]})}if(B&&B.length===2){let U=E.maxRandomnessOffset;C.push({op:"lineTo",data:[B[0]+M3(U,E),B[1]+M3(U,E)]})}}else A===3?(C.push({op:"move",data:[u[1][0],u[1][1]]}),C.push({op:"bcurveTo",data:[u[1][0],u[1][1],u[2][0],u[2][1],u[2][0],u[2][1]]})):A===2&&C.push(...t30(u[0][0],u[0][1],u[1][0],u[1][1],E,!0,!0));return C}function YR0(u,B,E,A,C,D,F,U){let z=[],k=[];if(U.roughness===0){u/=4,k.push([B+A*Math.cos(-u),E+C*Math.sin(-u)]);for(let f=0;f<=2*Math.PI;f+=u){let M=[B+A*Math.cos(f),E+C*Math.sin(f)];z.push(M),k.push(M)}k.push([B+A*Math.cos(0),E+C*Math.sin(0)]),k.push([B+A*Math.cos(u),E+C*Math.sin(u)])}else{let f=M3(0.5,U)-Math.PI/2;k.push([M3(D,U)+B+0.9*A*Math.cos(f-u),M3(D,U)+E+0.9*C*Math.sin(f-u)]);let M=2*Math.PI+f-0.01;for(let b=f;b<M;b+=u){let Z=[M3(D,U)+B+A*Math.cos(b),M3(D,U)+E+C*Math.sin(b)];z.push(Z),k.push(Z)}k.push([M3(D,U)+B+A*Math.cos(f+2*Math.PI+0.5*F),M3(D,U)+E+C*Math.sin(f+2*Math.PI+0.5*F)]),k.push([M3(D,U)+B+0.98*A*Math.cos(f+F),M3(D,U)+E+0.98*C*Math.sin(f+F)]),k.push([M3(D,U)+B+0.9*A*Math.cos(f+0.5*F),M3(D,U)+E+0.9*C*Math.sin(f+0.5*F)])}return[k,z]}function RR0(u,B,E,A,C,D,F,U,z){let k=D+M3(0.1,z),f=[];f.push([M3(U,z)+B+0.9*A*Math.cos(k-u),M3(U,z)+E+0.9*C*Math.sin(k-u)]);for(let M=k;M<=F;M+=u)f.push([M3(U,z)+B+A*Math.cos(M),M3(U,z)+E+C*Math.sin(M)]);return f.push([B+A*Math.cos(F),E+C*Math.sin(F)]),f.push([B+A*Math.cos(F),E+C*Math.sin(F)]),xh(f,null,z)}function ZA4(u,B,E,A,C,D,F,U){let z=[],k=[U.maxRandomnessOffset||1,(U.maxRandomnessOffset||1)+0.3],f=[0,0],M=U.disableMultiStroke?1:2,b=U.preserveVertices;for(let Z=0;Z<M;Z++)Z===0?z.push({op:"move",data:[F[0],F[1]]}):z.push({op:"move",data:[F[0]+(b?0:M3(k[0],U)),F[1]+(b?0:M3(k[0],U))]}),f=b?[C,D]:[C+M3(k[Z],U),D+M3(k[Z],U)],z.push({op:"bcurveTo",data:[u+M3(k[Z],U),B+M3(k[Z],U),E+M3(k[Z],U),A+M3(k[Z],U),f[0],f[1]]});return z}function mW(u){return[...u]}function TR0(u,B=0){let E=u.length;if(E<3)throw Error("A curve must have at least three points.");let A=[];if(E===3)A.push(mW(u[0]),mW(u[1]),mW(u[2]),mW(u[2]));else{let C=[];C.push(u[0],u[0]);for(let U=1;U<u.length;U++)C.push(u[U]),U===u.length-1&&C.push(u[U]);let D=[],F=1-B;A.push(mW(C[0]));for(let U=1;U+2<C.length;U++){let z=C[U];D[0]=[z[0],z[1]],D[1]=[z[0]+(F*C[U+1][0]-F*C[U-1][0])/6,z[1]+(F*C[U+1][1]-F*C[U-1][1])/6],D[2]=[C[U+1][0]+(F*C[U][0]-F*C[U+2][0])/6,C[U+1][1]+(F*C[U][1]-F*C[U+2][1])/6],D[3]=[C[U+1][0],C[U+1][1]],A.push(D[1],D[2],D[3])}}return A}function Xh(u,B){return Math.pow(u[0]-B[0],2)+Math.pow(u[1]-B[1],2)}function JA4(u,B,E){let A=Xh(B,E);if(A===0)return Xh(u,B);let C=((u[0]-B[0])*(E[0]-B[0])+(u[1]-B[1])*(E[1]-B[1]))/A;return C=Math.max(0,Math.min(1,C)),Xh(u,zK(B,E,C))}function zK(u,B,E){return[u[0]+(B[0]-u[0])*E,u[1]+(B[1]-u[1])*E]}function e30(u,B,E,A){let C=A||[];if(function(U,z){let k=U[z+0],f=U[z+1],M=U[z+2],b=U[z+3],Z=3*f[0]-2*k[0]-b[0];Z*=Z;let J=3*f[1]-2*k[1]-b[1];J*=J;let K=3*M[0]-2*b[0]-k[0];K*=K;let w=3*M[1]-2*b[1]-k[1];return w*=w,Z<K&&(Z=K),J<w&&(J=w),Z+J}(u,B)<E){let U=u[B+0];if(C.length)(D=C[C.length-1],F=U,Math.sqrt(Xh(D,F)))>1&&C.push(U);else C.push(U);C.push(u[B+3])}else{let z=u[B+0],k=u[B+1],f=u[B+2],M=u[B+3],b=zK(z,k,0.5),Z=zK(k,f,0.5),J=zK(f,M,0.5),K=zK(b,Z,0.5),w=zK(Z,J,0.5),Q=zK(K,w,0.5);e30([z,b,K,Q],0,E,C),e30([Q,w,J,M],0,E,C)}var D,F;return C}function KA4(u,B){return Wh(u,0,u.length,B)}function Wh(u,B,E,A,C){let D=C||[],F=u[B],U=u[E-1],z=0,k=1;for(let f=B+1;f<E-1;++f){let M=JA4(u[f],F,U);M>z&&(z=M,k=f)}return Math.sqrt(z)>A?(Wh(u,B,k+1,A,D),Wh(u,k,E,A,D)):(D.length||D.push(F),D.push(U)),D}function s30(u,B=0.15,E){let A=[],C=(u.length-1)/3;for(let D=0;D<C;D++)e30(u,3*D,B,A);return E&&E>0?Wh(A,0,A.length,E):A}class $W{constructor(u){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:0.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:0.8},this.config=u||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2147483648)}_o(u){return u?Object.assign({},this.defaultOptions,u):this.defaultOptions}_d(u,B,E){return{shape:u,sets:B||[],options:E||this.defaultOptions}}line(u,B,E,A,C){let D=this._o(C);return this._d("line",[mR0(u,B,E,A,D)],D)}rectangle(u,B,E,A,C){let D=this._o(C),F=[],U=bA4(u,B,E,A,D);if(D.fill){let z=[[u,B],[u+E,B],[u+E,B+A],[u,B+A]];D.fillStyle==="solid"?F.push(d30([z],D)):F.push(_H([z],D))}return D.stroke!==bE&&F.push(U),this._d("rectangle",F,D)}ellipse(u,B,E,A,C){let D=this._o(C),F=[],U=$R0(E,A,D),z=o30(u,B,D,U);if(D.fill)if(D.fillStyle==="solid"){let k=o30(u,B,D,U).opset;k.type="fillPath",F.push(k)}else F.push(_H([z.estimatedPoints],D));return D.stroke!==bE&&F.push(z.opset),this._d("ellipse",F,D)}circle(u,B,E,A){let C=this.ellipse(u,B,E,E,A);return C.shape="circle",C}linearPath(u,B){let E=this._o(B);return this._d("linearPath",[Lh(u,!1,E)],E)}arc(u,B,E,A,C,D,F=!1,U){let z=this._o(U),k=[],f=xR0(u,B,E,A,C,D,F,!0,z);if(F&&z.fill)if(z.fillStyle==="solid"){let M=Object.assign({},z);M.disableMultiStroke=!0;let b=xR0(u,B,E,A,C,D,!0,!1,M);b.type="fillPath",k.push(b)}else k.push(function(M,b,Z,J,K,w,Q){let G=M,H=b,l=Math.abs(Z/2),q=Math.abs(J/2);l+=M3(0.01*l,Q),q+=M3(0.01*q,Q);let L=K,v=w;for(;L<0;)L+=2*Math.PI,v+=2*Math.PI;v-L>2*Math.PI&&(L=0,v=2*Math.PI);let x=(v-L)/Q.curveStepCount,S=[];for(let W=L;W<=v;W+=x)S.push([G+l*Math.cos(W),H+q*Math.sin(W)]);return S.push([G+l*Math.cos(v),H+q*Math.sin(v)]),S.push([G,H]),_H([S],Q)}(u,B,E,A,C,D,z));return z.stroke!==bE&&k.push(f),this._d("arc",k,z)}curve(u,B){let E=this._o(B),A=[],C=vR0(u,E);if(E.fill&&E.fill!==bE)if(E.fillStyle==="solid"){let D=vR0(u,Object.assign(Object.assign({},E),{disableMultiStroke:!0,roughness:E.roughness?E.roughness+E.fillShapeRoughnessGain:0}));A.push({type:"fillPath",ops:this._mergedShape(D.ops)})}else{let D=[],F=u;if(F.length){let U=typeof F[0][0]=="number"?[F]:F;for(let z of U)z.length<3?D.push(...z):z.length===3?D.push(...s30(TR0([z[0],z[0],z[1],z[2]]),10,(1+E.roughness)/2)):D.push(...s30(TR0(z),10,(1+E.roughness)/2))}D.length&&A.push(_H([D],E))}return E.stroke!==bE&&A.push(C),this._d("curve",A,E)}polygon(u,B){let E=this._o(B),A=[],C=Lh(u,!0,E);return E.fill&&(E.fillStyle==="solid"?A.push(d30([u],E)):A.push(_H([u],E))),E.stroke!==bE&&A.push(C),this._d("polygon",A,E)}path(u,B){let E=this._o(B),A=[];if(!u)return this._d("path",A,E);u=(u||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let C=E.fill&&E.fill!=="transparent"&&E.fill!==bE,D=E.stroke!==bE,F=!!(E.simplification&&E.simplification<1),U=function(k,f,M){let b=iR0(hR0(u10(k))),Z=[],J=[],K=[0,0],w=[],Q=()=>{w.length>=4&&J.push(...s30(w,f)),w=[]},G=()=>{Q(),J.length&&(Z.push(J),J=[])};for(let{key:l,data:q}of b)switch(l){case"M":G(),K=[q[0],q[1]],J.push(K);break;case"L":Q(),J.push([q[0],q[1]]);break;case"C":if(!w.length){let L=J.length?J[J.length-1]:K;w.push([L[0],L[1]])}w.push([q[0],q[1]]),w.push([q[2],q[3]]),w.push([q[4],q[5]]);break;case"Z":Q(),J.push([K[0],K[1]])}if(G(),!M)return Z;let H=[];for(let l of Z){let q=KA4(l,M);q.length&&H.push(q)}return H}(u,1,F?4-4*(E.simplification||1):(1+E.roughness)/2),z=WR0(u,E);if(C)if(E.fillStyle==="solid")if(U.length===1){let k=WR0(u,Object.assign(Object.assign({},E),{disableMultiStroke:!0,roughness:E.roughness?E.roughness+E.fillShapeRoughnessGain:0}));A.push({type:"fillPath",ops:this._mergedShape(k.ops)})}else A.push(d30(U,E));else A.push(_H(U,E));return D&&(F?U.forEach((k)=>{A.push(Lh(k,!1,E))}):A.push(z)),this._d("path",A,E)}opsToPath(u,B){let E="";for(let A of u.ops){let C=typeof B=="number"&&B>=0?A.data.map((D)=>+D.toFixed(B)):A.data;switch(A.op){case"move":E+=`M${C[0]} ${C[1]} `;break;case"bcurveTo":E+=`C${C[0]} ${C[1]}, ${C[2]} ${C[3]}, ${C[4]} ${C[5]} `;break;case"lineTo":E+=`L${C[0]} ${C[1]} `}}return E.trim()}toPaths(u){let B=u.sets||[],E=u.options||this.defaultOptions,A=[];for(let C of B){let D=null;switch(C.type){case"path":D={d:this.opsToPath(C),stroke:E.stroke,strokeWidth:E.strokeWidth,fill:bE};break;case"fillPath":D={d:this.opsToPath(C),stroke:bE,strokeWidth:0,fill:E.fill||bE};break;case"fillSketch":D=this.fillSketch(C,E)}D&&A.push(D)}return A}fillSketch(u,B){let E=B.fillWeight;return E<0&&(E=B.strokeWidth/2),{d:this.opsToPath(u),stroke:B.fill||bE,strokeWidth:E,fill:bE}}_mergedShape(u){return u.filter((B,E)=>E===0||B.op!=="move")}}class rR0{constructor(u,B){this.canvas=u,this.ctx=this.canvas.getContext("2d"),this.gen=new $W(B)}draw(u){let B=u.sets||[],E=u.options||this.getDefaultOptions(),A=this.ctx,C=u.options.fixedDecimalPlaceDigits;for(let D of B)switch(D.type){case"path":A.save(),A.strokeStyle=E.stroke==="none"?"transparent":E.stroke,A.lineWidth=E.strokeWidth,E.strokeLineDash&&A.setLineDash(E.strokeLineDash),E.strokeLineDashOffset&&(A.lineDashOffset=E.strokeLineDashOffset),this._drawToContext(A,D,C),A.restore();break;case"fillPath":{A.save(),A.fillStyle=E.fill||"";let F=u.shape==="curve"||u.shape==="polygon"||u.shape==="path"?"evenodd":"nonzero";this._drawToContext(A,D,C,F),A.restore();break}case"fillSketch":this.fillSketch(A,D,E)}}fillSketch(u,B,E){let A=E.fillWeight;A<0&&(A=E.strokeWidth/2),u.save(),E.fillLineDash&&u.setLineDash(E.fillLineDash),E.fillLineDashOffset&&(u.lineDashOffset=E.fillLineDashOffset),u.strokeStyle=E.fill||"",u.lineWidth=A,this._drawToContext(u,B,E.fixedDecimalPlaceDigits),u.restore()}_drawToContext(u,B,E,A="nonzero"){u.beginPath();for(let C of B.ops){let D=typeof E=="number"&&E>=0?C.data.map((F)=>+F.toFixed(E)):C.data;switch(C.op){case"move":u.moveTo(D[0],D[1]);break;case"bcurveTo":u.bezierCurveTo(D[0],D[1],D[2],D[3],D[4],D[5]);break;case"lineTo":u.lineTo(D[0],D[1])}}B.type==="fillPath"?u.fill(A):u.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(u,B,E,A,C){let D=this.gen.line(u,B,E,A,C);return this.draw(D),D}rectangle(u,B,E,A,C){let D=this.gen.rectangle(u,B,E,A,C);return this.draw(D),D}ellipse(u,B,E,A,C){let D=this.gen.ellipse(u,B,E,A,C);return this.draw(D),D}circle(u,B,E,A){let C=this.gen.circle(u,B,E,A);return this.draw(C),C}linearPath(u,B){let E=this.gen.linearPath(u,B);return this.draw(E),E}polygon(u,B){let E=this.gen.polygon(u,B);return this.draw(E),E}arc(u,B,E,A,C,D,F=!1,U){let z=this.gen.arc(u,B,E,A,C,D,F,U);return this.draw(z),z}curve(u,B){let E=this.gen.curve(u,B);return this.draw(E),E}path(u,B){let E=this.gen.path(u,B);return this.draw(E),E}}class gR0{constructor(u,B){this.svg=u,this.gen=new $W(B)}draw(u){let B=u.sets||[],E=u.options||this.getDefaultOptions(),A=this.svg.ownerDocument||window.document,C=A.createElementNS(lh,"g"),D=u.options.fixedDecimalPlaceDigits;for(let F of B){let U=null;switch(F.type){case"path":U=A.createElementNS(lh,"path"),U.setAttribute("d",this.opsToPath(F,D)),U.setAttribute("stroke",E.stroke),U.setAttribute("stroke-width",E.strokeWidth+""),U.setAttribute("fill","none"),E.strokeLineDash&&U.setAttribute("stroke-dasharray",E.strokeLineDash.join(" ").trim()),E.strokeLineDashOffset&&U.setAttribute("stroke-dashoffset",`${E.strokeLineDashOffset}`);break;case"fillPath":U=A.createElementNS(lh,"path"),U.setAttribute("d",this.opsToPath(F,D)),U.setAttribute("stroke","none"),U.setAttribute("stroke-width","0"),U.setAttribute("fill",E.fill||""),u.shape!=="curve"&&u.shape!=="polygon"||U.setAttribute("fill-rule","evenodd");break;case"fillSketch":U=this.fillSketch(A,F,E)}U&&C.appendChild(U)}return C}fillSketch(u,B,E){let A=E.fillWeight;A<0&&(A=E.strokeWidth/2);let C=u.createElementNS(lh,"path");return C.setAttribute("d",this.opsToPath(B,E.fixedDecimalPlaceDigits)),C.setAttribute("stroke",E.fill||""),C.setAttribute("stroke-width",A+""),C.setAttribute("fill","none"),E.fillLineDash&&C.setAttribute("stroke-dasharray",E.fillLineDash.join(" ").trim()),E.fillLineDashOffset&&C.setAttribute("stroke-dashoffset",`${E.fillLineDashOffset}`),C}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(u,B){return this.gen.opsToPath(u,B)}line(u,B,E,A,C){let D=this.gen.line(u,B,E,A,C);return this.draw(D)}rectangle(u,B,E,A,C){let D=this.gen.rectangle(u,B,E,A,C);return this.draw(D)}ellipse(u,B,E,A,C){let D=this.gen.ellipse(u,B,E,A,C);return this.draw(D)}circle(u,B,E,A){let C=this.gen.circle(u,B,E,A);return this.draw(C)}linearPath(u,B){let E=this.gen.linearPath(u,B);return this.draw(E)}polygon(u,B){let E=this.gen.polygon(u,B);return this.draw(E)}arc(u,B,E,A,C,D,F=!1,U){let z=this.gen.arc(u,B,E,A,C,D,F,U);return this.draw(z)}curve(u,B){let E=this.gen.curve(u,B);return this.draw(E)}path(u,B){let E=this.gen.path(u,B);return this.draw(E)}}var OR0,IR0,M8,fA4=0,p30=1,XR0=2,Hh,MA4,bE="none",lh="http://www.w3.org/2000/svg",Ou;var j4=g(()=>{OR0=class OR0 extends Sh{fillPolygons(u,B){let E=B.hachureGap;E<0&&(E=4*B.strokeWidth),E=Math.max(E,0.1);let A=yW(u,Object.assign({},B,{hachureGap:E})),C=Math.PI/180*B.hachureAngle,D=[],F=0.5*E*Math.cos(C),U=0.5*E*Math.sin(C);for(let[z,k]of A)Yh([z,k])&&D.push([[z[0]-F,z[1]+U],[...k]],[[z[0]+F,z[1]-U],[...k]]);return{type:"fillSketch",ops:this.renderLines(D,B)}}};IR0=class IR0 extends Sh{fillPolygons(u,B){let E=this._fillPolygons(u,B),A=Object.assign({},B,{hachureAngle:B.hachureAngle+90}),C=this._fillPolygons(u,A);return E.ops=E.ops.concat(C.ops),E}};M8={};Hh={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};MA4={randOffset:function(u,B){return M3(u,B)},randOffsetWithRange:function(u,B,E){return vh(u,B,E)},ellipse:function(u,B,E,A,C){let D=$R0(E,A,C);return o30(u,B,C,D).opset},doubleLineOps:function(u,B,E,A,C){return kM(u,B,E,A,C,!0)}};Ou={canvas:(u,B)=>new rR0(u,B),svg:(u,B)=>new gR0(u,B),generator:(u)=>new $W(u),newSeed:()=>$W.newSeed()}});function f1(u){let B=u.map((E,A)=>`${A===0?"M":"L"}${E.x},${E.y}`);return B.push("Z"),B.join(" ")}function fM(u,B,E,A,C,D){let F=[],U=50,z=E-u,k=A-B,f=z/D,M=2*Math.PI/f,b=B+k/2;for(let Z=0;Z<=50;Z++){let J=Z/50,K=u+J*z,w=b+C*Math.sin(M*(K-u));F.push({x:K,y:w})}return F}function gW(u,B,E,A,C,D){let F=[],U=C*Math.PI/180,f=(D*Math.PI/180-U)/(A-1);for(let M=0;M<A;M++){let b=U+M*f,Z=u+E*Math.cos(b),J=B+E*Math.sin(b);F.push({x:-Z,y:-J})}return F}function A10(u){let B=Array.from(u.childNodes).filter((z)=>z.tagName==="path"),E=document.createElementNS("http://www.w3.org/2000/svg","path"),A=B.map((z)=>z.getAttribute("d")).filter((z)=>z!==null).join(" ");E.setAttribute("d",A);let C=B.find((z)=>z.getAttribute("fill")!=="none"),D=B.find((z)=>z.getAttribute("stroke")!=="none"),F=X((z,k)=>{return z?.getAttribute(k)??void 0},"getAttr");if(C){let z={fill:F(C,"fill"),"fill-opacity":F(C,"fill-opacity")??"1"};Object.entries(z).forEach(([k,f])=>{if(f)E.setAttribute(k,f)})}if(D){let z={stroke:F(D,"stroke"),"stroke-width":F(D,"stroke-width")??"1","stroke-opacity":F(D,"stroke-opacity")??"1"};Object.entries(z).forEach(([k,f])=>{if(f)E.setAttribute(k,f)})}let U=document.createElementNS("http://www.w3.org/2000/svg","g");return U.appendChild(E),U}function CT0(u,B){return u.intersect(B)}function DT0(u,B,E,A){var{x:C,y:D}=u,F=C-A.x,U=D-A.y,z=Math.sqrt(B*B*U*U+E*E*F*F),k=Math.abs(B*E*F/z);if(A.x<C)k=-k;var f=Math.abs(B*E*U/z);if(A.y<D)f=-f;return{x:C+k,y:D+f}}function UT0(u,B,E){return FT0(u,B,B,E)}function zT0(u,B,E,A){{let C=B.y-u.y,D=u.x-B.x,F=B.x*u.y-u.x*B.y,U=C*E.x+D*E.y+F,z=C*A.x+D*A.y+F,k=0.000001;if(U!==0&&z!==0&&C10(U,z))return;let f=A.y-E.y,M=E.x-A.x,b=A.x*E.y-E.x*A.y,Z=f*u.x+M*u.y+b,J=f*B.x+M*B.y+b;if(Math.abs(Z)<0.000001&&Math.abs(J)<0.000001&&C10(Z,J))return;let K=C*M-f*D;if(K===0)return;let w=Math.abs(K/2),Q=D*b-M*F,G=Q<0?(Q-w)/K:(Q+w)/K;Q=f*F-C*b;let H=Q<0?(Q-w)/K:(Q+w)/K;return{x:G,y:H}}}function C10(u,B){return u*B>0}function kT0(u,B,E){let{x:A,y:C}=u,D=[],F=Number.POSITIVE_INFINITY,U=Number.POSITIVE_INFINITY;if(typeof B.forEach==="function")B.forEach(function(f){F=Math.min(F,f.x),U=Math.min(U,f.y)});else F=Math.min(F,B.x),U=Math.min(U,B.y);let z=A-u.width/2-F,k=C-u.height/2-U;for(let f=0;f<B.length;f++){let M=B[f],b=B[f<B.length-1?f+1:0],Z=SA4(u,E,{x:z+M.x,y:k+M.y},{x:z+b.x,y:k+b.y});if(Z)D.push(Z)}if(!D.length)return u;if(D.length>1)D.sort(function(f,M){let b=f.x-E.x,Z=f.y-E.y,J=Math.sqrt(b*b+Z*Z),K=M.x-E.x,w=M.y-E.y,Q=Math.sqrt(K*K+w*w);return J<Q?-1:J===Q?0:1});return D[0]}function fT0(u,B){let{labelStyles:E}=q4(B);B.labelStyle=E;let A=z3(B),C=A;if(!A)C="anchor";let D=u.insert("g").attr("class",C).attr("id",B.domId||B.id),F=1,{cssStyles:U}=B,z=Ou.svg(D),k=W4(B,{fill:"black",stroke:"none",fillStyle:"solid"});if(B.look!=="handDrawn")k.roughness=0;let f=z.circle(0,0,F*2,k),M=D.insert(()=>f,":first-child");return M.attr("class","anchor").attr("style",L2(U)),h4(B,M),B.intersect=function(b){return z0.info("Circle intersect",B,F,b),l4.circle(B,F,b)},D}function D10(u,B,E,A,C,D,F){let z=(u+E)/2,k=(B+A)/2,f=Math.atan2(A-B,E-u),M=(E-u)/2,b=(A-B)/2,Z=M/C,J=b/D,K=Math.sqrt(Z**2+J**2);if(K>1)throw Error("The given radii are too small to create an arc between the points.");let w=Math.sqrt(1-K**2),Q=z+w*D*Math.sin(f)*(F?-1:1),G=k-w*C*Math.cos(f)*(F?-1:1),H=Math.atan2((B-G)/D,(u-Q)/C),q=Math.atan2((A-G)/D,(E-Q)/C)-H;if(F&&q<0)q+=2*Math.PI;if(!F&&q>0)q-=2*Math.PI;let L=[];for(let v=0;v<20;v++){let x=v/19,S=H+x*q,W=Q+C*Math.cos(S),T=G+D*Math.sin(S);L.push({x:W,y:T})}return L}function MT0(u,B,E){let[A,C]=[B,E].sort((D,F)=>F-D);return C*(1-Math.sqrt(1-(u/A/2)**2))}async function bT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C,U=X((S)=>S+F,"calcTotalHeight"),z=X((S)=>{let W=S/2;return[W/(2.5+S/50),W]},"calcEllipseRadius"),{shapeSvg:k,bbox:f}=await b3(u,B,z3(B)),M=U(B?.height?B?.height:f.height),[b,Z]=z(M),J=MT0(M,b,Z),w=(B?.width?B?.width:f.width)+D*2+J-J,Q=M,{cssStyles:G}=B,H=[{x:w/2,y:-Q/2},{x:-w/2,y:-Q/2},...D10(-w/2,-Q/2,-w/2,Q/2,b,Z,!1),{x:w/2,y:Q/2},...D10(w/2,Q/2,w/2,-Q/2,b,Z,!0)],l=Ou.svg(k),q=W4(B,{});if(B.look!=="handDrawn")q.roughness=0,q.fillStyle="solid";let L=f1(H),v=l.path(L,q),x=k.insert(()=>v,":first-child");if(x.attr("class","basic label-container outer-path"),G&&B.look!=="handDrawn")x.selectAll("path").attr("style",G);if(A&&B.look!=="handDrawn")x.selectAll("path").attr("style",A);return x.attr("transform",`translate(${b/2}, 0)`),h4(B,x),B.intersect=function(S){return l4.polygon(B,H,S)},k}function cz(u,B,E,A){return u.insert("polygon",":first-child").attr("points",A.map(function(C){return C.x+","+C.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-B/2+","+E/2+")")}async function ZT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?28:C,F=B.look==="neo"?24:C,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.width??z.width)+(B.look==="neo"?D*2:D+Rh),f=(B?.height??z.height)+(B.look==="neo"?F*2:F),M=0,b=k,Z=-f,J=0,K=[{x:M+Rh,y:Z},{x:b,y:Z},{x:b,y:J},{x:M,y:J},{x:M,y:Z+Rh},{x:M+Rh,y:Z}],w,{cssStyles:Q}=B;if(B.look==="handDrawn"){let G=Ou.svg(U),H=W4(B,{}),l=f1(K),q=G.path(l,H);if(w=U.insert(()=>q,":first-child").attr("transform",`translate(${-k/2}, ${f/2})`),Q)w.attr("style",Q)}else w=cz(U,k,f,K);if(A)w.attr("style",A);return h4(B,w),B.intersect=function(G){return l4.polygon(B,K,G)},U}function JT0(u,B){let{nodeStyles:E}=q4(B);B.label="";let A=u.insert("g").attr("class",z3(B)).attr("id",B.domId??B.id),{cssStyles:C}=B,D=Math.max(28,B.width??0),F=[{x:0,y:D/2},{x:D/2,y:0},{x:0,y:-D/2},{x:-D/2,y:0}],U=Ou.svg(A),z=W4(B,{});if(B.look!=="handDrawn")z.roughness=0,z.fillStyle="solid";let k=f1(F),f=U.path(k,z),M=A.insert(()=>f,":first-child");if(C&&B.look!=="handDrawn")M.selectAll("path").attr("style",C);if(E&&B.look!=="handDrawn")M.selectAll("path").attr("style",E);return B.width=28,B.height=28,B.intersect=function(b){return l4.polygon(B,F,b)},A}async function F10(u,B,E){let{labelStyles:A,nodeStyles:C}=q4(B);B.labelStyle=A;let{shapeSvg:D,bbox:F,halfPadding:U}=await b3(u,B,z3(B)),z=16,k=E?.padding??U,f=B.look==="neo"?F.width/2+z*2:F.width/2+k,M,{cssStyles:b}=B;if(B.look==="handDrawn"){let Z=Ou.svg(D),J=W4(B,{}),K=Z.circle(0,0,f*2,J);M=D.insert(()=>K,":first-child"),M.attr("class","basic label-container").attr("style",L2(b))}else M=D.insert("circle",":first-child").attr("class","basic label-container").attr("style",C).attr("r",f).attr("cx",0).attr("cy",0);return h4(B,M),B.calcIntersect=function(Z,J){let K=Z.width/2;return l4.circle(Z,K,J)},B.intersect=function(Z){return z0.info("Circle intersect",B,f,Z),l4.circle(B,f,Z)},D}function KT0(u){let B=Math.cos(Math.PI/4),E=Math.sin(Math.PI/4),A=u*2,C={x:A/2*B,y:A/2*E},D={x:-(A/2)*B,y:A/2*E},F={x:-(A/2)*B,y:-(A/2)*E},U={x:A/2*B,y:-(A/2)*E};return`M ${D.x},${D.y} L ${U.x},${U.y}
M ${C.x},${C.y} L ${F.x},${F.y}`}function wT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E,B.label="";let C=u.insert("g").attr("class",z3(B)).attr("id",B.domId??B.id),D=Math.max(30,B?.width??0),{cssStyles:F}=B,U=Ou.svg(C),z=W4(B,{});if(B.look!=="handDrawn")z.roughness=0,z.fillStyle="solid";let k=U.circle(0,0,D*2,z),f=KT0(D),M=U.path(f,z),b=C.insert(()=>k,":first-child");if(b.insert(()=>M),b.attr("class","outer-path"),F&&B.look!=="handDrawn")b.selectAll("path").attr("style",F);if(A&&B.look!=="handDrawn")b.selectAll("path").attr("style",A);return h4(B,b),B.intersect=function(Z){return z0.info("crossedCircle intersect",B,{radius:D,point:Z}),l4.circle(B,D,Z)},C}function yz(u,B,E,A=100,C=0,D=180){let F=[],U=C*Math.PI/180,f=(D*Math.PI/180-U)/(A-1);for(let M=0;M<A;M++){let b=U+M*f,Z=u+E*Math.cos(b),J=B+E*Math.sin(b);F.push({x:-Z,y:-J})}return F}async function QT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,label:F}=await b3(u,B,z3(B)),U=B.look==="neo"?18:B.padding??0,z=B.look==="neo"?12:B.padding??0,k=D.width+U,f=D.height+z,M=Math.max(5,f*0.1),{cssStyles:b}=B,Z=[...yz(k/2,-f/2,M,30,-90,0),{x:-k/2-M,y:M},...yz(k/2+M*2,-M,M,20,-180,-270),...yz(k/2+M*2,M,M,20,-90,-180),{x:-k/2-M,y:-f/2},...yz(k/2,f/2,M,20,0,90)],J=[{x:k/2,y:-f/2-M},{x:-k/2,y:-f/2-M},...yz(k/2,-f/2,M,20,-90,0),{x:-k/2-M,y:-M},...yz(k/2+k*0.1,-M,M,20,-180,-270),...yz(k/2+k*0.1,M,M,20,-90,-180),{x:-k/2-M,y:f/2},...yz(k/2,f/2,M,20,0,90),{x:-k/2,y:f/2+M},{x:k/2,y:f/2+M}],K=Ou.svg(C),w=W4(B,{fill:"none"});if(B.look!=="handDrawn")w.roughness=0,w.fillStyle="solid";let G=f1(Z).replace("Z",""),H=K.path(G,w),l=f1(J),q=K.path(l,{...w}),L=C.insert("g",":first-child");if(L.insert(()=>q,":first-child").attr("stroke-opacity",0),L.insert(()=>H,":first-child"),L.attr("class","text"),b&&B.look!=="handDrawn")L.selectAll("path").attr("style",b);if(A&&B.look!=="handDrawn")L.selectAll("path").attr("style",A);return L.attr("transform",`translate(${M}, 0)`),F.attr("transform",`translate(${-k/2+M-(D.x-(D.left??0))},${-f/2+(B.padding??0)/2-(D.y-(D.top??0))})`),h4(B,L),B.intersect=function(v){return l4.polygon(B,J,v)},C}function rz(u,B,E,A=100,C=0,D=180){let F=[],U=C*Math.PI/180,f=(D*Math.PI/180-U)/(A-1);for(let M=0;M<A;M++){let b=U+M*f,Z=u+E*Math.cos(b),J=B+E*Math.sin(b);F.push({x:Z,y:J})}return F}async function GT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,label:F}=await b3(u,B,z3(B)),U=B.look==="neo"?18:B.padding??0,z=B.look==="neo"?12:B.padding??0,k=D.width+(B.look==="neo"?U*2:U),f=D.height+(B.look==="neo"?z*2:z),M=Math.max(5,f*0.1),{cssStyles:b}=B,Z=[...rz(k/2,-f/2,M,20,-90,0),{x:k/2+M,y:-M},...rz(k/2+M*2,-M,M,20,-180,-270),...rz(k/2+M*2,M,M,20,-90,-180),{x:k/2+M,y:f/2},...rz(k/2,f/2,M,20,0,90)],J=[{x:-k/2,y:-f/2-M},{x:k/2,y:-f/2-M},...rz(k/2,-f/2,M,20,-90,0),{x:k/2+M,y:-M},...rz(k/2+M*2,-M,M,20,-180,-270),...rz(k/2+M*2,M,M,20,-90,-180),{x:k/2+M,y:f/2},...rz(k/2,f/2,M,20,0,90),{x:k/2,y:f/2+M},{x:-k/2,y:f/2+M}],K=Ou.svg(C),w=W4(B,{fill:"none"});if(B.look!=="handDrawn")w.roughness=0,w.fillStyle="solid";let G=f1(Z).replace("Z",""),H=K.path(G,w),l=f1(J),q=K.path(l,{...w}),L=C.insert("g",":first-child");if(L.insert(()=>q,":first-child").attr("stroke-opacity",0),L.insert(()=>H,":first-child"),L.attr("class","text"),b&&B.look!=="handDrawn")L.selectAll("path").attr("style",b);if(A&&B.look!=="handDrawn")L.selectAll("path").attr("style",A);return L.attr("transform",`translate(${-M}, 0)`),F.attr("transform",`translate(${-k/2+(B.padding??0)/2-(D.x-(D.left??0))},${-f/2+(B.padding??0)/2-(D.y-(D.top??0))})`),h4(B,L),B.intersect=function(v){return l4.polygon(B,J,v)},C}function D7(u,B,E,A=100,C=0,D=180){let F=[],U=C*Math.PI/180,f=(D*Math.PI/180-U)/(A-1);for(let M=0;M<A;M++){let b=U+M*f,Z=u+E*Math.cos(b),J=B+E*Math.sin(b);F.push({x:-Z,y:-J})}return F}async function HT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,label:F}=await b3(u,B,z3(B)),U=B.look==="neo"?18:B.padding??0,z=B.look==="neo"?12:B.padding??0,k=D.width+(B.look==="neo"?U*2:U),f=D.height+(B.look==="neo"?z*2:z),M=Math.max(5,f*0.1),{cssStyles:b}=B,Z=[...D7(k/2,-f/2,M,30,-90,0),{x:-k/2-M,y:M},...D7(k/2+M*2,-M,M,20,-180,-270),...D7(k/2+M*2,M,M,20,-90,-180),{x:-k/2-M,y:-f/2},...D7(k/2,f/2,M,20,0,90)],J=[...D7(-k/2+M+M/2,-f/2,M,20,-90,-180),{x:k/2-M/2,y:M},...D7(-k/2-M/2,-M,M,20,0,90),...D7(-k/2-M/2,M,M,20,-90,0),{x:k/2-M/2,y:-M},...D7(-k/2+M+M/2,f/2,M,30,-180,-270)],K=[{x:k/2,y:-f/2-M},{x:-k/2,y:-f/2-M},...D7(k/2,-f/2,M,20,-90,0),{x:-k/2-M,y:-M},...D7(k/2+M*2,-M,M,20,-180,-270),...D7(k/2+M*2,M,M,20,-90,-180),{x:-k/2-M,y:f/2},...D7(k/2,f/2,M,20,0,90),{x:-k/2,y:f/2+M},{x:k/2-M-M/2,y:f/2+M},...D7(-k/2+M+M/2,-f/2,M,20,-90,-180),{x:k/2-M/2,y:M},...D7(-k/2-M/2,-M,M,20,0,90),...D7(-k/2-M/2,M,M,20,-90,0),{x:k/2-M/2,y:-M},...D7(-k/2+M+M/2,f/2,M,30,-180,-270)],w=Ou.svg(C),Q=W4(B,{fill:"none"});if(B.look!=="handDrawn")Q.roughness=0,Q.fillStyle="solid";let H=f1(Z).replace("Z",""),l=w.path(H,Q),L=f1(J).replace("Z",""),v=w.path(L,Q),x=f1(K),S=w.path(x,{...Q}),W=C.insert("g",":first-child");if(W.insert(()=>S,":first-child").attr("stroke-opacity",0),W.insert(()=>l,":first-child"),W.insert(()=>v,":first-child"),W.attr("class","text"),b&&B.look!=="handDrawn")W.selectAll("path").attr("style",b);if(A&&B.look!=="handDrawn")W.selectAll("path").attr("style",A);return W.attr("transform",`translate(${M-M/4}, 0)`),F.attr("transform",`translate(${-k/2+(B.padding??0)/2-(D.x-(D.left??0))},${-f/2+(B.padding??0)/2-(D.y-(D.top??0))})`),h4(B,W),B.intersect=function(T){return l4.polygon(B,K,T)},C}async function qT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C,U=20,z=5,{shapeSvg:k,bbox:f}=await b3(u,B,z3(B)),M=Math.max(U,(f.width+D*2)*1.25,B?.width??0),b=Math.max(z,f.height+F*2,B?.height??0),Z=b/2,{cssStyles:J}=B,K=Ou.svg(k),w=W4(B,{});if(B.look!=="handDrawn")w.roughness=0,w.fillStyle="solid";let Q=M,G=b,H=Q-Z,l=G/4,q=[{x:H,y:0},{x:l,y:0},{x:0,y:G/2},{x:l,y:G},{x:H,y:G},...gW(-H,-G/2,Z,50,270,90)],L=f1(q),v=K.path(L,w),x=k.insert(()=>v,":first-child");if(x.attr("class","basic label-container outer-path"),J&&B.look!=="handDrawn")x.selectChildren("path").attr("style",J);if(A&&B.look!=="handDrawn")x.selectChildren("path").attr("style",A);return x.attr("transform",`translate(${-M/2}, ${-b/2})`),h4(B,x),B.intersect=function(S){return l4.polygon(B,q,S)},k}async function lT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?24:C,F=B.look==="neo"?24:C;if(B.width||B.height){let w=B.width??0;if(B.width=(B.width??0)-F,B.width<_R0)B.width=_R0;let G=w/2/(2.5+w/50);if(B.height=(B.height??0)-D-G*3,B.height<cR0)B.height=cR0}let{shapeSvg:U,bbox:z,label:k}=await b3(u,B,z3(B)),f=(B.width?B.width:z.width)+F,M=f/2,b=M/(2.5+f/50),Z=(B.height?B.height:z.height)+D+b,J,{cssStyles:K}=B;if(B.look==="handDrawn"){let w=Ou.svg(U),Q=TA4(0,0,f,Z,M,b),G=OA4(0,b,f,Z,M,b),H=W4(B,{}),l=w.path(Q,H),q=w.path(G,W4(B,{fill:"none"}));if(J=U.insert(()=>q,":first-child"),J=U.insert(()=>l,":first-child"),J.attr("class","basic label-container"),K)J.attr("style",K)}else{let w=RA4(0,0,f,Z,M,b);J=U.insert("path",":first-child").attr("d",w).attr("class","basic label-container outer-path").attr("style",L2(K)).attr("style",A)}return J.attr("label-offset-y",b),J.attr("transform",`translate(${-f/2}, ${-(Z/2+b)})`),h4(B,J),k.attr("transform",`translate(${-(z.width/2)-(z.x-(z.left??0))}, ${-(z.height/2)+(B.padding??0)/1.5-(z.y-(z.top??0))})`),B.intersect=function(w){let Q=l4.rect(B,w),G=Q.x-(B.x??0);if(M!=0&&(Math.abs(G)<(B.width??0)/2||Math.abs(G)==(B.width??0)/2&&Math.abs(Q.y-(B.y??0))>(B.height??0)/2-b)){let H=b*b*(1-G*G/(M*M));if(H>0)H=Math.sqrt(H);if(H=b-H,w.y-(B.y??0)>0)H=-H;Q.y+=H}return Q},U}async function sH(u,B,E){let{labelStyles:A,nodeStyles:C}=q4(B);B.labelStyle=A;let{shapeSvg:D,bbox:F}=await b3(u,B,z3(B)),U=Math.max(F.width+E.labelPaddingX*2,B?.width||0),z=Math.max(F.height+E.labelPaddingY*2,B?.height||0),k=-U/2,f=-z/2,M,{rx:b,ry:Z}=B,{cssStyles:J}=B;if(E?.rx&&E.ry)b=E.rx,Z=E.ry;if(B.look==="handDrawn"){let K=Ou.svg(D),w=W4(B,{}),Q=b||Z?K.path(MM(k,f,U,z,b||0),w):K.rectangle(k,f,U,z,w);M=D.insert(()=>Q,":first-child"),M.attr("class","basic label-container").attr("style",L2(J))}else M=D.insert("rect",":first-child"),M.attr("class","basic label-container").attr("style",C).attr("rx",L2(b)).attr("ry",L2(Z)).attr("x",k).attr("y",f).attr("width",U).attr("height",z);return h4(B,M),B.calcIntersect=function(K,w){return l4.rect(K,w)},B.intersect=function(K){return l4.rect(B,K)},D}async function LT0(u,B){let{cssClasses:E,labelPaddingX:A,labelPaddingY:C,padding:D,width:F,height:U}=B,z={rx:0,ry:0,classes:E??"",labelPaddingX:A??(D??0)*2,labelPaddingY:C??D??0},k=await sH(u,B,z);if(B.look==="handDrawn"){let Z=Ou.svg(k),J=W4(B,{}),K=k.select(".basic.label-container > path:nth-child(2)"),w=K.node();if(!w)return k;let Q=null;if(w instanceof SVGGraphicsElement)Q=w.getBBox();else return k;return k.insert(()=>Z.line(Q.x,Q.y,Q.x+Q.width,Q.y,J),".basic.label-container g.label"),k.insert(()=>Z.line(Q.x,Q.y+Q.height,Q.x+Q.width,Q.y+Q.height,J),".basic.label-container g.label"),K.remove(),k}let f=k.select(".basic.label-container"),M=(Number(f.attr("width"))||F)??0,b=(Number(f.attr("height"))||U)??0;if(M>0&&b>0)f.attr("stroke-dasharray",`${M} ${b}`);return k}async function XT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.look==="neo"?16:B.padding??0,D=B.look==="neo"?16:B.padding??0,{shapeSvg:F,bbox:U,label:z}=await b3(u,B,z3(B)),k=U.width+C,f=U.height+D,M=f*0.2,b=-k/2,Z=-f/2-M/2,{cssStyles:J}=B,K=Ou.svg(F),w=W4(B,{});if(B.look!=="handDrawn")w.roughness=0,w.fillStyle="solid";let Q=[{x:b,y:Z+M},{x:-b,y:Z+M},{x:-b,y:-Z},{x:b,y:-Z},{x:b,y:Z},{x:-b,y:Z},{x:-b,y:Z+M}],G=K.polygon(Q.map((l)=>[l.x,l.y]),w),H=F.insert(()=>G,":first-child");if(H.attr("class","basic label-container outer-path"),J&&B.look!=="handDrawn")H.selectAll("path").attr("style",J);if(A&&B.look!=="handDrawn")H.selectAll("path").attr("style",A);return z.attr("transform",`translate(${b+(B.padding??0)/2-(U.x-(U.left??0))}, ${Z+M+(B.padding??0)/2-(U.y-(U.top??0))})`),h4(B,H),B.intersect=function(l){return l4.rect(B,l)},F}async function vT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B),C=B.look==="neo"?12:5;B.labelStyle=E;let D=B.padding??0,F=B.look==="neo"?16:D,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.width?B?.width/2:z.width/2)+(F??0),f=k-C,M,{cssStyles:b}=B;if(B.look==="handDrawn"){let Z=Ou.svg(U),J=W4(B,{roughness:0.2,strokeWidth:2.5}),K=W4(B,{roughness:0.2,strokeWidth:1.5}),w=Z.circle(0,0,k*2,J),Q=Z.circle(0,0,f*2,K);M=U.insert("g",":first-child"),M.attr("class",L2(B.cssClasses)).attr("style",L2(b)),M.node()?.appendChild(w),M.node()?.appendChild(Q)}else{M=U.insert("g",":first-child");let Z=M.insert("circle",":first-child"),J=M.insert("circle");M.attr("class","basic label-container").attr("style",A),Z.attr("class","outer-circle").attr("style",A).attr("r",k).attr("cx",0).attr("cy",0),J.attr("class","inner-circle").attr("style",A).attr("r",f).attr("cx",0).attr("cy",0)}return h4(B,M),B.intersect=function(Z){return z0.info("DoubleCircle intersect",B,k,Z),l4.circle(B,k,Z)},U}function xT0(u,B,{config:{themeVariables:E}}){let{labelStyles:A,nodeStyles:C}=q4(B);B.label="",B.labelStyle=A;let D=u.insert("g").attr("class",z3(B)).attr("id",B.domId??B.id),F=7,{cssStyles:U}=B,z=Ou.svg(D),{nodeBorder:k}=E,f=W4(B,{fillStyle:"solid"});if(B.look!=="handDrawn")f.roughness=0;let M=z.circle(0,0,F*2,f),b=D.insert(()=>M,":first-child");if(b.selectAll("path").attr("style",`fill: ${k} !important;`),U&&U.length>0&&B.look!=="handDrawn")b.selectAll("path").attr("style",U);if(C&&B.look!=="handDrawn")b.selectAll("path").attr("style",C);return h4(B,b),B.intersect=function(Z){return z0.info("filledCircle intersect",B,{radius:F,point:Z}),l4.circle(B,F,Z)},D}async function WT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?C*2:C;if(B.width||B.height){if(B.height=B?.height??0,B.height<pR0)B.height=pR0;if(B.width=(B?.width??0)-D-D/2,B.width<nR0)B.width=nR0}let{shapeSvg:F,bbox:U,label:z}=await b3(u,B,z3(B)),k=(B?.width?B?.width:U.width)+(D??0),f=B?.height?B?.height:k+U.height,M=f,b=[{x:0,y:-f},{x:M,y:-f},{x:M/2,y:0}],{cssStyles:Z}=B,J=Ou.svg(F),K=W4(B,{});if(B.look!=="handDrawn")K.roughness=0,K.fillStyle="solid";let w=f1(b),Q=J.path(w,K),G=F.insert(()=>Q,":first-child").attr("transform",`translate(${-f/2}, ${f/2})`).attr("class","outer-path");if(Z&&B.look!=="handDrawn")G.selectChildren("path").attr("style",Z);if(A&&B.look!=="handDrawn")G.selectChildren("path").attr("style",A);return B.width=k,B.height=f,h4(B,G),z.attr("transform",`translate(${-U.width/2-(U.x-(U.left??0))}, ${-f/2+(B.padding??0)/2+(U.y-(U.top??0))})`),B.intersect=function(H){return z0.info("Triangle intersect",B,b,H),l4.polygon(B,b,H)},F}function ST0(u,B,{dir:E,config:{state:A,themeVariables:C}}){let{nodeStyles:D}=q4(B);B.label="";let F=u.insert("g").attr("class",z3(B)).attr("id",B.domId??B.id),{cssStyles:U}=B,z=Math.max(70,B?.width??0),k=Math.max(10,B?.height??0);if(E==="LR")z=Math.max(10,B?.width??0),k=Math.max(70,B?.height??0);let f=-1*z/2,M=-1*k/2,b=Ou.svg(F),Z=W4(B,{stroke:C.lineColor,fill:C.lineColor});if(B.look!=="handDrawn")Z.roughness=0,Z.fillStyle="solid";let J=b.rectangle(f,M,z,k,Z),K=F.insert(()=>J,":first-child");if(U&&B.look!=="handDrawn")K.selectAll("path").attr("style",U);if(D&&B.look!=="handDrawn")K.selectAll("path").attr("style",D);h4(B,K);let w=A?.padding??0;if(B.width&&B.height)B.width+=w/2||0,B.height+=w/2||0;return B.intersect=function(Q){return l4.rect(B,Q)},F}async function YT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=15,D=10,F=B.look==="neo"?16:B.padding??0,U=B.look==="neo"?12:B.padding??0;if(B.width||B.height){if(B.height=(B?.height??0)-U*2,B.height<D)B.height=D;if(B.width=(B?.width??0)-F*2,B.width<C)B.width=C}let{shapeSvg:z,bbox:k}=await b3(u,B,z3(B)),f=(B?.width?B?.width:Math.max(C,k.width))+F*2,M=(B?.height?B?.height:Math.max(D,k.height))+U*2,b=M/2,{cssStyles:Z}=B,J=Ou.svg(z),K=W4(B,{});if(B.look!=="handDrawn")K.roughness=0,K.fillStyle="solid";let w=[{x:-f/2,y:-M/2},{x:f/2-b,y:-M/2},...gW(-f/2+b,0,b,50,90,270),{x:f/2-b,y:M/2},{x:-f/2,y:M/2}],Q=f1(w),G=J.path(Q,K),H=z.insert(()=>G,":first-child");if(H.attr("class","basic label-container outer-path"),Z&&B.look!=="handDrawn")H.selectChildren("path").attr("style",Z);if(A&&B.look!=="handDrawn")H.selectChildren("path").attr("style",A);return h4(B,H),B.intersect=function(l){return z0.info("Pill intersect",B,{radius:b,point:l}),l4.polygon(B,w,l)},z}async function RT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B),C=B.look==="neo"?3.5:4;B.labelStyle=E;let D=B.padding??0,F=70,U=32,z=B.look==="neo"?F:D,k=B.look==="neo"?U:D;if(B.width||B.height){let H=(B.height??0)/C;B.width=(B?.width??0)-2*H-k,B.height=(B.height??0)-z}let{shapeSvg:f,bbox:M}=await b3(u,B,z3(B)),b=(B?.height?B?.height:M.height)+z,Z=b/C,J=(B?.width?B?.width:M.width)+2*Z+k,K=[{x:Z,y:0},{x:J-Z,y:0},{x:J,y:-b/2},{x:J-Z,y:-b},{x:Z,y:-b},{x:0,y:-b/2}],w,{cssStyles:Q}=B;if(B.look==="handDrawn"){let G=Ou.svg(f),H=W4(B,{}),l=IA4(0,0,J,b,Z),q=G.path(l,H);if(w=f.insert(()=>q,":first-child").attr("transform",`translate(${-J/2}, ${b/2})`),Q)w.attr("style",Q)}else w=cz(f,J,b,K);if(A)w.attr("style",A);return B.width=J,B.height=b,h4(B,w),B.intersect=function(G){return l4.polygon(B,K,G)},f}async function TT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.label="",B.labelStyle=E;let{shapeSvg:C}=await b3(u,B,z3(B)),D=Math.max(30,B?.width??0),F=Math.max(30,B?.height??0),{cssStyles:U}=B,z=Ou.svg(C),k=W4(B,{});if(B.look!=="handDrawn")k.roughness=0,k.fillStyle="solid";let f=[{x:0,y:0},{x:D,y:0},{x:0,y:F},{x:D,y:F}],M=f1(f),b=z.path(M,k),Z=C.insert(()=>b,":first-child");if(Z.attr("class","basic label-container outer-path"),U&&B.look!=="handDrawn")Z.selectChildren("path").attr("style",U);if(A&&B.look!=="handDrawn")Z.selectChildren("path").attr("style",A);return Z.attr("transform",`translate(${-D/2}, ${-F/2})`),h4(B,Z),B.intersect=function(J){return z0.info("Pill intersect",B,{points:f}),l4.polygon(B,f,J)},C}async function OT0(u,B,{config:{themeVariables:E,flowchart:A}}){let{labelStyles:C}=q4(B);B.labelStyle=C;let D=B.assetHeight??48,F=B.assetWidth??48,U=Math.max(D,F),z=A?.wrappingWidth;B.width=Math.max(U,z??0);let{shapeSvg:k,bbox:f,label:M}=await b3(u,B,"icon-shape default"),b=B.pos==="t",Z=U,J=U,{nodeBorder:K}=E,{stylesMap:w}=AK(B),Q=-J/2,G=-Z/2,H=B.label?8:0,l=Ou.svg(k),q=W4(B,{stroke:"none",fill:"none"});if(B.look!=="handDrawn")q.roughness=0,q.fillStyle="solid";let L=l.rectangle(Q,G,J,Z,q),v=Math.max(J,f.width),x=Z+f.height+H,S=l.rectangle(-v/2,-x/2,v,x,{...q,fill:"transparent",stroke:"none"}),W=k.insert(()=>L,":first-child"),T=k.insert(()=>S);if(B.icon){let R=k.append("g");R.html(`<g>${await ME(B.icon,{height:U,width:U,fallbackPrefix:""})}</g>`);let Y=R.node().getBBox(),h=Y.width,I=Y.height,O=Y.x,V=Y.y;R.attr("transform",`translate(${-h/2-O},${b?f.height/2+H/2-I/2-V:-f.height/2-H/2-I/2-V})`),R.attr("style",`color: ${w.get("stroke")??K};`)}return M.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${b?-x/2:x/2-f.height})`),W.attr("transform",`translate(0,${b?f.height/2+H/2:-f.height/2-H/2})`),h4(B,T),B.intersect=function(R){if(z0.info("iconSquare intersect",B,R),!B.label)return l4.rect(B,R);let Y=B.x??0,h=B.y??0,I=B.height??0,O=[];if(b)O=[{x:Y-f.width/2,y:h-I/2},{x:Y+f.width/2,y:h-I/2},{x:Y+f.width/2,y:h-I/2+f.height+H},{x:Y+J/2,y:h-I/2+f.height+H},{x:Y+J/2,y:h+I/2},{x:Y-J/2,y:h+I/2},{x:Y-J/2,y:h-I/2+f.height+H},{x:Y-f.width/2,y:h-I/2+f.height+H}];else O=[{x:Y-J/2,y:h-I/2},{x:Y+J/2,y:h-I/2},{x:Y+J/2,y:h-I/2+Z},{x:Y+f.width/2,y:h-I/2+Z},{x:Y+f.width/2/2,y:h+I/2},{x:Y-f.width/2,y:h+I/2},{x:Y-f.width/2,y:h-I/2+Z},{x:Y-J/2,y:h-I/2+Z}];return l4.polygon(B,O,R)},k}async function IT0(u,B,{config:{themeVariables:E,flowchart:A}}){let{labelStyles:C}=q4(B);B.labelStyle=C;let D=B.assetHeight??48,F=B.assetWidth??48,U=Math.max(D,F),z=A?.wrappingWidth;B.width=Math.max(U,z??0);let{shapeSvg:k,bbox:f,label:M}=await b3(u,B,"icon-shape default"),b=20,Z=B.label?8:0,J=B.pos==="t",{nodeBorder:K,mainBkg:w}=E,{stylesMap:Q}=AK(B),G=Ou.svg(k),H=W4(B,{});if(B.look!=="handDrawn")H.roughness=0,H.fillStyle="solid";let l=Q.get("fill");H.stroke=l??w;let q=k.append("g");if(B.icon)q.html(`<g>${await ME(B.icon,{height:U,width:U,fallbackPrefix:""})}</g>`);let L=q.node().getBBox(),v=L.width,x=L.height,S=L.x,W=L.y,T=Math.max(v,x)*Math.SQRT2+b*2,R=G.circle(0,0,T,H),Y=Math.max(T,f.width),h=T+f.height+Z,I=G.rectangle(-Y/2,-h/2,Y,h,{...H,fill:"transparent",stroke:"none"}),O=k.insert(()=>R,":first-child"),V=k.insert(()=>I);return q.attr("transform",`translate(${-v/2-S},${J?f.height/2+Z/2-x/2-W:-f.height/2-Z/2-x/2-W})`),q.attr("style",`color: ${Q.get("stroke")??K};`),M.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${J?-h/2:h/2-f.height})`),O.attr("transform",`translate(0,${J?f.height/2+Z/2:-f.height/2-Z/2})`),h4(B,V),B.intersect=function(j){return z0.info("iconSquare intersect",B,j),l4.rect(B,j)},k}async function PT0(u,B,{config:{themeVariables:E,flowchart:A}}){let{labelStyles:C}=q4(B);B.labelStyle=C;let D=B.assetHeight??48,F=B.assetWidth??48,U=Math.max(D,F),z=A?.wrappingWidth;B.width=Math.max(U,z??0);let{shapeSvg:k,bbox:f,halfPadding:M,label:b}=await b3(u,B,"icon-shape default"),Z=B.pos==="t",J=U+M*2,K=U+M*2,{nodeBorder:w,mainBkg:Q}=E,{stylesMap:G}=AK(B),H=-K/2,l=-J/2,q=B.label?8:0,L=Ou.svg(k),v=W4(B,{});if(B.look!=="handDrawn")v.roughness=0,v.fillStyle="solid";let x=G.get("fill");v.stroke=x??Q;let S=L.path(MM(H,l,K,J,5),v),W=Math.max(K,f.width),T=J+f.height+q,R=L.rectangle(-W/2,-T/2,W,T,{...v,fill:"transparent",stroke:"none"}),Y=k.insert(()=>S,":first-child").attr("class","icon-shape2"),h=k.insert(()=>R);if(B.icon){let I=k.append("g");I.html(`<g>${await ME(B.icon,{height:U,width:U,fallbackPrefix:""})}</g>`);let O=I.node().getBBox(),V=O.width,j=O.height,i=O.x,a=O.y;I.attr("transform",`translate(${-V/2-i},${Z?f.height/2+q/2-j/2-a:-f.height/2-q/2-j/2-a})`),I.attr("style",`color: ${G.get("stroke")??w};`)}return b.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${Z?-T/2:T/2-f.height})`),Y.attr("transform",`translate(0,${Z?f.height/2+q/2:-f.height/2-q/2})`),h4(B,h),B.intersect=function(I){if(z0.info("iconSquare intersect",B,I),!B.label)return l4.rect(B,I);let O=B.x??0,V=B.y??0,j=B.height??0,i=[];if(Z)i=[{x:O-f.width/2,y:V-j/2},{x:O+f.width/2,y:V-j/2},{x:O+f.width/2,y:V-j/2+f.height+q},{x:O+K/2,y:V-j/2+f.height+q},{x:O+K/2,y:V+j/2},{x:O-K/2,y:V+j/2},{x:O-K/2,y:V-j/2+f.height+q},{x:O-f.width/2,y:V-j/2+f.height+q}];else i=[{x:O-K/2,y:V-j/2},{x:O+K/2,y:V-j/2},{x:O+K/2,y:V-j/2+J},{x:O+f.width/2,y:V-j/2+J},{x:O+f.width/2/2,y:V+j/2},{x:O-f.width/2,y:V+j/2},{x:O-f.width/2,y:V-j/2+J},{x:O-K/2,y:V-j/2+J}];return l4.polygon(B,i,I)},k}async function jT0(u,B,{config:{themeVariables:E,flowchart:A}}){let{labelStyles:C}=q4(B);B.labelStyle=C;let D=B.assetHeight??48,F=B.assetWidth??48,U=Math.max(D,F),z=A?.wrappingWidth;B.width=Math.max(U,z??0);let{shapeSvg:k,bbox:f,halfPadding:M,label:b}=await b3(u,B,"icon-shape default"),Z=B.pos==="t",J=U+M*2,K=U+M*2,{nodeBorder:w,mainBkg:Q}=E,{stylesMap:G}=AK(B),H=-K/2,l=-J/2,q=B.label?8:0,L=Ou.svg(k),v=W4(B,{});if(B.look!=="handDrawn")v.roughness=0,v.fillStyle="solid";let x=G.get("fill");v.stroke=x??Q;let S=L.path(MM(H,l,K,J,0.1),v),W=Math.max(K,f.width),T=J+f.height+q,R=L.rectangle(-W/2,-T/2,W,T,{...v,fill:"transparent",stroke:"none"}),Y=k.insert(()=>S,":first-child"),h=k.insert(()=>R);if(B.icon){let I=k.append("g");I.html(`<g>${await ME(B.icon,{height:U,width:U,fallbackPrefix:""})}</g>`);let O=I.node().getBBox(),V=O.width,j=O.height,i=O.x,a=O.y;I.attr("transform",`translate(${-V/2-i},${Z?f.height/2+q/2-j/2-a:-f.height/2-q/2-j/2-a})`),I.attr("style",`color: ${G.get("stroke")??w};`)}return b.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${Z?-T/2:T/2-f.height})`),Y.attr("transform",`translate(0,${Z?f.height/2+q/2:-f.height/2-q/2})`),h4(B,h),B.intersect=function(I){if(z0.info("iconSquare intersect",B,I),!B.label)return l4.rect(B,I);let O=B.x??0,V=B.y??0,j=B.height??0,i=[];if(Z)i=[{x:O-f.width/2,y:V-j/2},{x:O+f.width/2,y:V-j/2},{x:O+f.width/2,y:V-j/2+f.height+q},{x:O+K/2,y:V-j/2+f.height+q},{x:O+K/2,y:V+j/2},{x:O-K/2,y:V+j/2},{x:O-K/2,y:V-j/2+f.height+q},{x:O-f.width/2,y:V-j/2+f.height+q}];else i=[{x:O-K/2,y:V-j/2},{x:O+K/2,y:V-j/2},{x:O+K/2,y:V-j/2+J},{x:O+f.width/2,y:V-j/2+J},{x:O+f.width/2/2,y:V+j/2},{x:O-f.width/2,y:V+j/2},{x:O-f.width/2,y:V-j/2+J},{x:O-K/2,y:V-j/2+J}];return l4.polygon(B,i,I)},k}async function NT0(u,B,{config:{flowchart:E}}){let A=new Image;A.src=B?.img??"",await A.decode();let C=Number(A.naturalWidth.toString().replace("px","")),D=Number(A.naturalHeight.toString().replace("px",""));B.imageAspectRatio=C/D;let{labelStyles:F}=q4(B);B.labelStyle=F;let U=E?.wrappingWidth;B.defaultWidth=E?.wrappingWidth;let z=Math.max(B.label?U??0:0,B?.assetWidth??C),k=B.constraint==="on"?B?.assetHeight?B.assetHeight*B.imageAspectRatio:z:z,f=B.constraint==="on"?k/B.imageAspectRatio:B?.assetHeight??D;B.width=Math.max(k,U??0);let{shapeSvg:M,bbox:b,label:Z}=await b3(u,B,"image-shape default"),J=B.pos==="t",K=-k/2,w=-f/2,Q=B.label?8:0,G=Ou.svg(M),H=W4(B,{});if(B.look!=="handDrawn")H.roughness=0,H.fillStyle="solid";let l=G.rectangle(K,w,k,f,H),q=Math.max(k,b.width),L=f+b.height+Q,v=G.rectangle(-q/2,-L/2,q,L,{...H,fill:"none",stroke:"none"}),x=M.insert(()=>l,":first-child"),S=M.insert(()=>v);if(B.img){let W=M.append("image");W.attr("href",B.img),W.attr("width",k),W.attr("height",f),W.attr("preserveAspectRatio","none"),W.attr("transform",`translate(${-k/2},${J?L/2-f:-L/2})`)}return Z.attr("transform",`translate(${-b.width/2-(b.x-(b.left??0))},${J?-f/2-b.height/2-Q/2:f/2-b.height/2+Q/2})`),x.attr("transform",`translate(0,${J?b.height/2+Q/2:-b.height/2-Q/2})`),h4(B,S),B.intersect=function(W){if(z0.info("iconSquare intersect",B,W),!B.label)return l4.rect(B,W);let T=B.x??0,R=B.y??0,Y=B.height??0,h=[];if(J)h=[{x:T-b.width/2,y:R-Y/2},{x:T+b.width/2,y:R-Y/2},{x:T+b.width/2,y:R-Y/2+b.height+Q},{x:T+k/2,y:R-Y/2+b.height+Q},{x:T+k/2,y:R+Y/2},{x:T-k/2,y:R+Y/2},{x:T-k/2,y:R-Y/2+b.height+Q},{x:T-b.width/2,y:R-Y/2+b.height+Q}];else h=[{x:T-k/2,y:R-Y/2},{x:T+k/2,y:R-Y/2},{x:T+k/2,y:R-Y/2+f},{x:T+b.width/2,y:R-Y/2+f},{x:T+b.width/2/2,y:R+Y/2},{x:T-b.width/2,y:R+Y/2},{x:T-b.width/2,y:R-Y/2+f},{x:T-k/2,y:R-Y/2+f}];return l4.polygon(B,h,W)},M}async function VT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=C,F=B.look==="neo"?C*2:C,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=Math.max(z.width+(F??0)*2,B?.width??0),f=Math.max(z.height+(D??0)*2,B?.height??0),M=[{x:0,y:0},{x:k,y:0},{x:k+3*f/6,y:-f},{x:-3*f/6,y:-f}],b,{cssStyles:Z}=B;if(B.look==="handDrawn"){let J=Ou.svg(U),K=W4(B,{}),w=f1(M),Q=J.path(w,K);if(b=U.insert(()=>Q,":first-child").attr("transform",`translate(${-k/2}, ${f/2})`),Z)b.attr("style",Z)}else b=cz(U,k,f,M);if(A)b.attr("style",A);return B.width=k,B.height=f,h4(B,b),B.intersect=function(J){return l4.polygon(B,M,J)},U}async function hT0(u,B){let{shapeSvg:E,bbox:A,label:C}=await b3(u,B,"label"),D=E.insert("rect",":first-child"),F=0.1,U=0.1;return D.attr("width",0.1).attr("height",0.1),E.attr("class","label edgeLabel"),C.attr("transform",`translate(${-(A.width/2)-(A.x-(A.left??0))}, ${-(A.height/2)-(A.y-(A.top??0))})`),h4(B,D),B.intersect=function(z){return l4.rect(B,z)},E}async function iT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=C,F=B.look==="neo"?C*2:C,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.height??z.height)+D,f=(B?.width??z.width)+F,M=[{x:0,y:0},{x:f+3*k/6,y:0},{x:f,y:-k},{x:-(3*k)/6,y:-k}],b,{cssStyles:Z}=B;if(B.look==="handDrawn"){let J=Ou.svg(U),K=W4(B,{}),w=f1(M),Q=J.path(w,K);if(b=U.insert(()=>Q,":first-child").attr("transform",`translate(${-f/2}, ${k/2})`),Z)b.attr("style",Z)}else b=cz(U,f,k,M);if(A)b.attr("style",A);return B.width=f,B.height=k,h4(B,b),B.intersect=function(J){return l4.polygon(B,M,J)},U}async function aT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=C,F=B.look==="neo"?C*2:C,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.height??z.height)+D,f=(B?.width??z.width)+F,M=[{x:-3*k/6,y:0},{x:f,y:0},{x:f+3*k/6,y:-k},{x:0,y:-k}],b,{cssStyles:Z}=B;if(B.look==="handDrawn"){let J=Ou.svg(U),K=W4(B,{}),w=f1(M),Q=J.path(w,K);if(b=U.insert(()=>Q,":first-child").attr("transform",`translate(${-f/2}, ${k/2})`),Z)b.attr("style",Z)}else b=cz(U,f,k,M);if(A)b.attr("style",A);return B.width=f,B.height=k,h4(B,b),B.intersect=function(J){return l4.polygon(B,M,J)},U}function mT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.label="",B.labelStyle=E;let C=u.insert("g").attr("class",z3(B)).attr("id",B.domId??B.id),{cssStyles:D}=B,F=Math.max(35,B?.width??0),U=Math.max(35,B?.height??0),z=7,k=[{x:F,y:0},{x:0,y:U+z/2},{x:F-2*z,y:U+z/2},{x:0,y:2*U},{x:F,y:U-z/2},{x:2*z,y:U-z/2}],f=Ou.svg(C),M=W4(B,{});if(B.look!=="handDrawn")M.roughness=0,M.fillStyle="solid";let b=f1(k),Z=f.path(b,M),J=C.insert(()=>Z,":first-child");if(J.attr("class","outer-path"),D&&B.look!=="handDrawn")J.selectAll("path").attr("style",D);if(A&&B.look!=="handDrawn")J.selectAll("path").attr("style",A);return J.attr("transform",`translate(-${F/2},${-U})`),h4(B,J),B.intersect=function(K){return z0.info("lightningBolt intersect",B,K),l4.polygon(B,k,K)},C}async function $T0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?24:C;if(B.width||B.height){let Q=B.width??0;if(B.width=(B.width??0)-D,B.width<sR0)B.width=sR0;let H=Q/2/(2.5+Q/50);if(B.height=(B.height??0)-F-H*3,B.height<dR0)B.height=dR0}let{shapeSvg:U,bbox:z,label:k}=await b3(u,B,z3(B)),f=(B?.width?B?.width:z.width)+D*2,M=f/2,b=M/(2.5+f/50),Z=(B?.height?B?.height:z.height)+b+F*2,J=Z*0.1,K,{cssStyles:w}=B;if(B.look==="handDrawn"){let Q=Ou.svg(U),G=jA4(0,0,f,Z,M,b,J),H=NA4(0,b,f,Z,M,b),l=W4(B,{}),q=Q.path(G,l),L=Q.path(H,l);if(U.insert(()=>L,":first-child").attr("class","line"),K=U.insert(()=>q,":first-child"),K.attr("class","basic label-container"),w)K.attr("style",w)}else{let Q=PA4(0,0,f,Z,M,b,J);K=U.insert("path",":first-child").attr("d",Q).attr("class","basic label-container outer-path").attr("style",L2(w)).attr("style",A)}return K.attr("label-offset-y",b),K.attr("transform",`translate(${-f/2}, ${-(Z/2+b)})`),h4(B,K),k.attr("transform",`translate(${-(z.width/2)-(z.x-(z.left??0))}, ${-(z.height/2)+b-(z.y-(z.top??0))})`),B.intersect=function(Q){let G=l4.rect(B,Q),H=G.x-(B.x??0);if(M!=0&&(Math.abs(H)<(B.width??0)/2||Math.abs(H)==(B.width??0)/2&&Math.abs(G.y-(B.y??0))>(B.height??0)/2-b)){let l=b*b*(1-H*H/(M*M));if(l>0)l=Math.sqrt(l);if(l=b-l,Q.y-(B.y??0)>0)l=-l;G.y+=l}return G},U}async function yT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C;if(B.width||B.height){let l=B.width;if(B.width=(l??0)*10/11-D*2,B.width<10)B.width=10;if(B.height=(B?.height??0)-F*2,B.height<10)B.height=10}let{shapeSvg:U,bbox:z,label:k}=await b3(u,B,z3(B)),f=(B?.width?B?.width:z.width)+(D??0)*2,M=(B?.height?B?.height:z.height)+(F??0)*2,b=B.look==="neo"?M/4:M/8,Z=M+b,{cssStyles:J}=B,K=Ou.svg(U),w=W4(B,{});if(B.look!=="handDrawn")w.roughness=0,w.fillStyle="solid";let Q=[{x:-f/2-f/2*0.1,y:-Z/2},{x:-f/2-f/2*0.1,y:Z/2},...fM(-f/2-f/2*0.1,Z/2,f/2+f/2*0.1,Z/2,b,0.8),{x:f/2+f/2*0.1,y:-Z/2},{x:-f/2-f/2*0.1,y:-Z/2},{x:-f/2,y:-Z/2},{x:-f/2,y:Z/2*1.1},{x:-f/2,y:-Z/2}],G=K.polygon(Q.map((l)=>[l.x,l.y]),w),H=U.insert(()=>G,":first-child");if(H.attr("class","basic label-container outer-path"),J&&B.look!=="handDrawn")H.selectAll("path").attr("style",J);if(A&&B.look!=="handDrawn")H.selectAll("path").attr("style",A);return H.attr("transform",`translate(0,${-b/2})`),k.attr("transform",`translate(${-f/2+(B.padding??0)+f/2*0.1/2-(z.x-(z.left??0))},${-M/2+(B.padding??0)-b/2-(z.y-(z.top??0))})`),h4(B,H),B.intersect=function(l){return l4.polygon(B,Q,l)},U}async function rT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C,U=B.look==="neo"?10:5;if(B.width||B.height)B.width=Math.max((B?.width??0)-D*2-2*U,10),B.height=Math.max((B?.height??0)-F*2-2*U,10);let{shapeSvg:z,bbox:k,label:f}=await b3(u,B,z3(B)),M=(B?.width?B?.width:k.width)+D*2+2*U,b=(B?.height?B?.height:k.height)+F*2+2*U,Z=M-2*U,J=b-2*U,K=-Z/2,w=-J/2,{cssStyles:Q}=B,G=Ou.svg(z),H=W4(B,{}),l=[{x:K-U,y:w+U},{x:K-U,y:w+J+U},{x:K+Z-U,y:w+J+U},{x:K+Z-U,y:w+J},{x:K+Z,y:w+J},{x:K+Z,y:w+J-U},{x:K+Z+U,y:w+J-U},{x:K+Z+U,y:w-U},{x:K+U,y:w-U},{x:K+U,y:w},{x:K,y:w},{x:K,y:w+U}],q=[{x:K,y:w+U},{x:K+Z-U,y:w+U},{x:K+Z-U,y:w+J},{x:K+Z,y:w+J},{x:K+Z,y:w},{x:K,y:w}];if(B.look!=="handDrawn")H.roughness=0,H.fillStyle="solid";let L=f1(l),v=G.path(L,H),x=f1(q),S=G.path(x,H);if(B.look!=="handDrawn")v=A10(v),S=A10(S);let W=z.insert("g",":first-child");if(W.insert(()=>v),W.insert(()=>S),W.attr("class","basic label-container outer-path"),Q&&B.look!=="handDrawn")W.selectAll("path").attr("style",Q);if(A&&B.look!=="handDrawn")W.selectAll("path").attr("style",A);return f.attr("transform",`translate(${-(k.width/2)-U-(k.x-(k.left??0))}, ${-(k.height/2)+U-(k.y-(k.top??0))})`),h4(B,W),B.intersect=function(T){return l4.polygon(B,l,T)},z}async function gT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,label:F}=await b3(u,B,z3(B)),U=B.padding??0,z=B.look==="neo"?16:U,k=B.look==="neo"?12:U,f=!0;if(B.width||B.height)f=!1,B.width=(B?.width??0)-z*2,B.height=(B?.height??0)-k*3;let M=Math.max(D.width,B?.width??0)+z*2,b=Math.max(D.height,B?.height??0)+k*3,Z=B.look==="neo"?b/4:b/8,J=b+(f?Z/2:-Z/2),K=-M/2,w=-J/2,Q=10,{cssStyles:G}=B,H=fM(K-Q,w+J+Q,K+M-Q,w+J+Q,Z,0.8),l=H?.[H.length-1],q=[{x:K-Q,y:w+Q},{x:K-Q,y:w+J+Q},...H,{x:K+M-Q,y:l.y-Q},{x:K+M,y:l.y-Q},{x:K+M,y:l.y-2*Q},{x:K+M+Q,y:l.y-2*Q},{x:K+M+Q,y:w-Q},{x:K+Q,y:w-Q},{x:K+Q,y:w},{x:K,y:w},{x:K,y:w+Q}],L=[{x:K,y:w+Q},{x:K+M-Q,y:w+Q},{x:K+M-Q,y:l.y-Q},{x:K+M,y:l.y-Q},{x:K+M,y:w},{x:K,y:w}],v=Ou.svg(C),x=W4(B,{});if(B.look!=="handDrawn")x.roughness=0,x.fillStyle="solid";let S=f1(q),W=v.path(S,x),T=f1(L),R=v.path(T,x),Y=C.insert(()=>W,":first-child");if(Y.insert(()=>R),Y.attr("class","basic label-container outer-path"),G&&B.look!=="handDrawn")Y.selectAll("path").attr("style",G);if(A&&B.look!=="handDrawn")Y.selectAll("path").attr("style",A);return Y.attr("transform",`translate(0,${-Z/2})`),F.attr("transform",`translate(${-(D.width/2)-Q-(D.x-(D.left??0))}, ${-(D.height/2)+Q-Z/2-(D.y-(D.top??0))})`),h4(B,Y),B.intersect=function(h){return l4.polygon(B,q,h)},C}async function cT0(u,B,{config:{themeVariables:E}}){let{labelStyles:A,nodeStyles:C}=q4(B);if(B.labelStyle=A,!(B.useHtmlLabels||G1(F4())))B.centerLabel=!0;let{shapeSvg:F,bbox:U,label:z}=await b3(u,B,z3(B)),k=Math.max(U.width+(B.padding??0)*2,B?.width??0),f=Math.max(U.height+(B.padding??0)*2,B?.height??0),M=-k/2,b=-f/2,{cssStyles:Z}=B,J=Ou.svg(F),K=W4(B,{fill:E.noteBkgColor,stroke:E.noteBorderColor});if(B.look!=="handDrawn")K.roughness=0,K.fillStyle="solid";let w=J.rectangle(M,b,k,f,K),Q=F.insert(()=>w,":first-child");if(Q.attr("class","basic label-container outer-path"),z.attr("class","label noteLabel"),Z&&B.look!=="handDrawn")Q.selectAll("path").attr("style",Z);if(C&&B.look!=="handDrawn")Q.selectAll("path").attr("style",C);return z.attr("transform",`translate(${-U.width/2-(U.x-(U.left??0))}, ${-(U.height/2)-(U.y-(U.top??0))})`),h4(B,Q),B.intersect=function(G){return l4.rect(B,G)},F}async function _T0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D}=await b3(u,B,z3(B)),F=D.width+(B.padding??0),U=D.height+(B.padding??0),z=F+U,k=0.5,f=[{x:z/2,y:0},{x:z,y:-z/2},{x:z/2,y:-z},{x:0,y:-z/2}],M,{cssStyles:b}=B;if(B.look==="handDrawn"){let Z=Ou.svg(C),J=W4(B,{}),K=VA4(0,0,z),w=Z.path(K,J);if(M=C.insert(()=>w,":first-child").attr("transform",`translate(${-z/2+k}, ${z/2})`),b)M.attr("style",b)}else M=cz(C,z,z,f),M.attr("transform",`translate(${-z/2+k}, ${z/2})`);if(A)M.attr("style",A);return h4(B,M),B.calcIntersect=function(Z,J){let K=Z.width,w=[{x:K/2,y:0},{x:K,y:-K/2},{x:K/2,y:-K},{x:0,y:-K/2}],Q=l4.polygon(Z,w,J);return{x:Q.x-0.5,y:Q.y-0.5}},B.intersect=function(Z){return this.calcIntersect(B,Z)},C}async function pT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?21:C??0,F=B.look==="neo"?12:C??0,{shapeSvg:U,bbox:z,label:k}=await b3(u,B,z3(B)),f=(B?.width??z.width)+(B.look==="neo"?D*2:D),M=(B?.height??z.height)+(B.look==="neo"?F*2:F),b=-f/2,Z=-M/2,J=Z/2,K=[{x:b+J,y:Z},{x:b,y:0},{x:b+J,y:-Z},{x:-b,y:-Z},{x:-b,y:Z}],{cssStyles:w}=B,Q=Ou.svg(U),G=W4(B,{});if(B.look!=="handDrawn")G.roughness=0,G.fillStyle="solid";let H=f1(K),l=Q.path(H,G),q=U.insert(()=>l,":first-child");if(q.attr("class","basic label-container outer-path"),w&&B.look!=="handDrawn")q.selectAll("path").attr("style",w);if(A&&B.look!=="handDrawn")q.selectAll("path").attr("style",A);return q.attr("transform",`translate(${-J/2},0)`),k.attr("transform",`translate(${-J/2-z.width/2-(z.x-(z.left??0))}, ${-(z.height/2)-(z.y-(z.top??0))})`),h4(B,q),B.intersect=function(L){return l4.polygon(B,K,L)},U}async function nT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C;if(!B.cssClasses)C="node default";else C="node "+B.cssClasses;let D=u.insert("g").attr("class",C).attr("id",B.domId||B.id),F=D.insert("g"),U=D.insert("g").attr("class","label").attr("style",A),z=B.description,k=B.label,f=await gz(U,k,B.labelStyle,!0,!0),M={width:0,height:0};if(G1(y0())){let x=f.children[0],S=Qu(f);M=x.getBoundingClientRect(),S.attr("width",M.width),S.attr("height",M.height)}z0.info("Text 2",z);let b=z||[],Z=f.getBBox(),J=await gz(U,Array.isArray(b)?b.join("<br/>"):b,B.labelStyle,!0,!0),K=J.children[0],w=Qu(J);M=K.getBoundingClientRect(),w.attr("width",M.width),w.attr("height",M.height);let Q=(B.padding||0)/2;Qu(J).attr("transform","translate( "+(M.width>Z.width?0:(Z.width-M.width)/2)+", "+(Z.height+Q+5)+")"),Qu(f).attr("transform","translate( "+(M.width<Z.width?0:-(Z.width-M.width)/2)+", 0)"),M=U.node().getBBox(),U.attr("transform","translate("+-M.width/2+", "+(-M.height/2-Q+3)+")");let G=M.width+(B.padding||0),H=M.height+(B.padding||0),l=-M.width/2-Q,q=-M.height/2-Q,L,v;if(B.look==="handDrawn"){let x=Ou.svg(D),S=W4(B,{}),W=x.path(MM(l,q,G,H,B.rx||0),S),T=x.line(-M.width/2-Q,-M.height/2-Q+Z.height+Q,M.width/2+Q,-M.height/2-Q+Z.height+Q,S);v=D.insert(()=>{return z0.debug("Rough node insert CXC",W),T},":first-child"),L=D.insert(()=>{return z0.debug("Rough node insert CXC",W),W},":first-child")}else L=F.insert("rect",":first-child"),v=F.insert("line"),L.attr("class","outer title-state").attr("style",A).attr("x",-M.width/2-Q).attr("y",-M.height/2-Q).attr("width",M.width+(B.padding||0)).attr("height",M.height+(B.padding||0)),v.attr("class","divider").attr("x1",-M.width/2-Q).attr("x2",M.width/2+Q).attr("y1",-M.height/2-Q+Z.height+Q).attr("y2",-M.height/2-Q+Z.height+Q);return h4(B,L),B.intersect=function(x){return l4.rect(B,x)},D}async function dT0(u,B,{config:{themeVariables:E}}){let A=E?.radius??5,C={rx:A,ry:A,classes:"",labelPaddingX:(B?.padding??0)*1,labelPaddingY:(B?.padding??0)*1};return sH(u,B,C)}async function sT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.look==="neo"?16:B.padding??0,D=B.look==="neo"?12:B.padding??0,{shapeSvg:F,bbox:U,label:z}=await b3(u,B,z3(B)),k=(B?.width??U.width)+C*2+(B.look==="neo"?kK:kK*2),f=(B?.height??U.height)+D*2,M=k-kK,b=f,Z=kK-k/2,J=-f/2,{cssStyles:K}=B,w=Ou.svg(F),Q=W4(B,{});if(B.look!=="handDrawn")Q.roughness=0,Q.fillStyle="solid";let G=[{x:Z,y:J},{x:Z+M,y:J},{x:Z+M,y:J+b},{x:Z-kK,y:J+b},{x:Z-kK,y:J},{x:Z,y:J},{x:Z,y:J+b}],H=w.polygon(G.map((q)=>[q.x,q.y]),Q),l=F.insert(()=>H,":first-child");if(l.attr("class","basic label-container outer-path").attr("style",L2(K)),A&&B.look!=="handDrawn")l.selectAll("path").attr("style",A);if(K&&B.look!=="handDrawn")l.selectAll("path").attr("style",A);return z.attr("transform",`translate(${kK/2-U.width/2-(U.x-(U.left??0))}, ${-(U.height/2)-(U.y-(U.top??0))})`),h4(B,l),B.intersect=function(q){return l4.rect(B,q)},F}async function oT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C;if(B.width||B.height)B.width=Math.max((B?.width??0)-D*2,10),B.height=Math.max((B?.height??0)/1.5-F*2,10);let{shapeSvg:U,bbox:z,label:k}=await b3(u,B,z3(B)),f=(B?.width?B?.width:z.width)+D*2,M=((B?.height?B?.height:z.height)+F*2)*1.5,b=f,Z=M/1.5,J=-b/2,K=-Z/2,{cssStyles:w}=B,Q=Ou.svg(U),G=W4(B,{});if(B.look!=="handDrawn")G.roughness=0,G.fillStyle="solid";let H=[{x:J,y:K},{x:J,y:K+Z},{x:J+b,y:K+Z},{x:J+b,y:K-Z/2}],l=f1(H),q=Q.path(l,G),L=U.insert(()=>q,":first-child");if(L.attr("class","basic label-container outer-path"),w&&B.look!=="handDrawn")L.selectChildren("path").attr("style",w);if(A&&B.look!=="handDrawn")L.selectChildren("path").attr("style",A);return L.attr("transform",`translate(0, ${Z/4})`),k.attr("transform",`translate(${-b/2+(B.padding??0)-(z.x-(z.left??0))}, ${-Z/4+(B.padding??0)-(z.y-(z.top??0))})`),h4(B,L),B.intersect=function(v){return l4.polygon(B,H,v)},U}async function tT0(u,B){let E=B.padding??0,A=B.look==="neo"?16:E*2,C=B.look==="neo"?12:E,D={rx:0,ry:0,classes:"",labelPaddingX:B.labelPaddingX??A,labelPaddingY:C};return sH(u,B,D)}async function eT0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?20:C,F=B.look==="neo"?12:C,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=z.height+(B.look==="neo"?F*2:F),f=z.width+k/4+(B.look==="neo"?D*2:D),M=k/2,{cssStyles:b}=B,Z=Ou.svg(U),J=W4(B,{});if(B.look!=="handDrawn")J.roughness=0,J.fillStyle="solid";let K=[{x:-f/2+M,y:-k/2},{x:f/2-M,y:-k/2},...gW(-f/2+M,0,M,50,90,270),{x:f/2-M,y:k/2},...gW(f/2-M,0,M,50,270,450)],w=f1(K),Q=Z.path(w,J),G=U.insert(()=>Q,":first-child");if(G.attr("class","basic label-container outer-path"),b&&B.look!=="handDrawn")G.selectChildren("path").attr("style",b);if(A&&B.look!=="handDrawn")G.selectChildren("path").attr("style",A);return h4(B,G),B.intersect=function(H){return l4.polygon(B,K,H)},U}async function uO0(u,B){let E={rx:B.look==="neo"?3:5,ry:B.look==="neo"?3:5,classes:"flowchart-node"};return sH(u,B,E)}function BO0(u,B,{config:{themeVariables:E}}){let{labelStyles:A,nodeStyles:C}=q4(B);B.labelStyle=A;let{cssStyles:D}=B,{lineColor:F,stateBorder:U,nodeBorder:z,nodeShadow:k}=E;if(B.width||B.height){if((B.width??0)<14)B.width=14;if((B.height??0)<14)B.height=14}if(!B.width)B.width=14;if(!B.height)B.height=14;let f=u.insert("g").attr("class","node default").attr("id",B.domId??B.id),M=Ou.svg(f),b=W4(B,{});if(B.look!=="handDrawn")b.roughness=0,b.fillStyle="solid";let Z=M.circle(0,0,B.width,{...b,stroke:F,strokeWidth:2}),J=U??z,K=(B.width??0)*5/14,w=M.circle(0,0,K,{...b,fill:J,stroke:J,strokeWidth:2,fillStyle:"solid"}),Q=f.insert(()=>Z,":first-child");if(Q.insert(()=>w),B.look!=="handDrawn")Q.attr("class","outer-path");if(D)Q.selectAll("path").attr("style",D);if(C)Q.selectAll("path").attr("style",C);if(B.width<25&&k&&B.look!=="handDrawn"){let G=u.node()?.ownerSVGElement?.id??"",H=G?`${G}-drop-shadow-small`:"drop-shadow-small";Q.attr("style",`filter:url(#${H})`)}return h4(B,Q),B.intersect=function(G){return l4.circle(B,(B.width??0)/2,G)},f}function EO0(u,B,{config:{themeVariables:E}}){let{lineColor:A,nodeShadow:C}=E;if(B.width||B.height){if((B.width??0)<14)B.width=14;if((B.height??0)<14)B.height=14}if(!B.width)B.width=14;if(!B.height)B.height=14;let D=u.insert("g").attr("class","node default").attr("id",B.domId||B.id),F;if(B.look==="handDrawn"){let z=Ou.svg(D).circle(0,0,B.width,PS0(A));F=D.insert(()=>z),F.attr("class","state-start").attr("r",(B.width??7)/2).attr("width",B.width??14).attr("height",B.height??14)}else F=D.insert("circle",":first-child"),F.attr("class","state-start").attr("r",(B.width??7)/2).attr("width",B.width??14).attr("height",B.height??14);if(B.width<25&&C&&B.look!=="handDrawn"){let U=u.node()?.ownerSVGElement?.id??"",z=U?`${U}-drop-shadow-small`:"drop-shadow-small";F.attr("style",`filter:url(#${z})`)}return h4(B,F),B.intersect=function(U){return l4.circle(B,(B.width??7)/2,U)},D}async function AO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B?.padding??8,D=B.look==="neo"?28:C,F=B.look==="neo"?12:C,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.width??z.width)+2*pH+D,f=(B?.height??z.height)+F,M=k-2*pH,b=f,Z=-k/2,J=-f/2,K=[{x:0,y:0},{x:M,y:0},{x:M,y:-b},{x:0,y:-b},{x:0,y:0},{x:-8,y:0},{x:M+8,y:0},{x:M+8,y:-b},{x:-8,y:-b},{x:-8,y:0}];if(B.look==="handDrawn"){let w=Ou.svg(U),Q=W4(B,{}),G=w.rectangle(Z,J,M+16,b,Q),H=w.line(Z+pH,J,Z+pH,J+b,Q),l=w.line(Z+pH+M,J,Z+pH+M,J+b,Q);U.insert(()=>H,":first-child"),U.insert(()=>l,":first-child");let q=U.insert(()=>G,":first-child"),{cssStyles:L}=B;q.attr("class","basic label-container").attr("style",L2(L)),h4(B,q)}else{let w=cz(U,M,b,K);if(A)w.attr("style",A);h4(B,w)}return B.intersect=function(w){return l4.polygon(B,K,w)},U}async function CO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C;if(B.width||B.height)B.height=Math.max((B?.height??0)-F*2,10),B.width=Math.max((B?.width??0)-D*2-E10*(B.height+F*2),10);let{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.height?B?.height:z.height)+F*2,f=E10*k,M=E10*k,Z=(B?.width?B?.width:z.width)+D*2+f-f,J=k,K=-Z/2,w=-J/2,{cssStyles:Q}=B,G=Ou.svg(U),H=W4(B,{}),l=[{x:K-f/2,y:w},{x:K+Z+f/2,y:w},{x:K+Z+f/2,y:w+J},{x:K-f/2,y:w+J}],q=[{x:K+Z-f/2,y:w+J},{x:K+Z+f/2,y:w+J},{x:K+Z+f/2,y:w+J-M}];if(B.look!=="handDrawn")H.roughness=0,H.fillStyle="solid";let L=f1(l),v=G.path(L,H),x=f1(q),S=G.path(x,{...H,fillStyle:"solid"}),W=U.insert(()=>S,":first-child");if(W.insert(()=>v,":first-child"),W.attr("class","basic label-container outer-path"),Q&&B.look!=="handDrawn")W.selectAll("path").attr("style",Q);if(A&&B.look!=="handDrawn")W.selectAll("path").attr("style",A);return h4(B,W),B.intersect=function(T){return l4.polygon(B,l,T)},U}async function DO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,label:F}=await b3(u,B,z3(B)),U=Math.max(D.width+(B.padding??0)*2,B?.width??0),z=Math.max(D.height+(B.padding??0)*2,B?.height??0),k=z/8,f=0.2*U,M=0.2*z,b=z+k,{cssStyles:Z}=B,J=Ou.svg(C),K=W4(B,{});if(B.look!=="handDrawn")K.roughness=0,K.fillStyle="solid";let w=[{x:-U/2-U/2*0.1,y:b/2},...fM(-U/2-U/2*0.1,b/2,U/2+U/2*0.1,b/2,k,0.8),{x:U/2+U/2*0.1,y:-b/2},{x:-U/2-U/2*0.1,y:-b/2}],Q=-U/2+U/2*0.1,G=-b/2-M*0.4,H=[{x:Q+U-f,y:(G+z)*1.3},{x:Q+U,y:G+z-M},{x:Q+U,y:(G+z)*0.9},...fM(Q+U,(G+z)*1.25,Q+U-f,(G+z)*1.3,-z*0.02,0.5)],l=f1(w),q=J.path(l,K),L=f1(H),v=J.path(L,{...K,fillStyle:"solid"}),x=C.insert(()=>v,":first-child");if(x.insert(()=>q,":first-child"),x.attr("class","basic label-container outer-path"),Z&&B.look!=="handDrawn")x.selectAll("path").attr("style",Z);if(A&&B.look!=="handDrawn")x.selectAll("path").attr("style",A);return x.attr("transform",`translate(0,${-k/2})`),F.attr("transform",`translate(${-U/2+(B.padding??0)-(D.x-(D.left??0))},${-z/2+(B.padding??0)-k/2-(D.y-(D.top??0))})`),h4(B,x),B.intersect=function(S){return l4.polygon(B,w,S)},C}async function FO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D}=await b3(u,B,z3(B)),F=Math.max(D.width+(B.padding??0),B?.width||0),U=Math.max(D.height+(B.padding??0),B?.height||0),z=-F/2,k=-U/2,f=C.insert("rect",":first-child");return f.attr("class","text").attr("style",A).attr("rx",0).attr("ry",0).attr("x",z).attr("y",k).attr("width",F).attr("height",U),h4(B,f),B.intersect=function(M){return l4.rect(B,M)},C}async function UO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?12:C/2;if(B.width||B.height){let K=B.height??0;if(B.height=(B.height??0)-D,B.height<oR0)B.height=oR0;let Q=K/2/(2.5+K/50);if(B.width=(B.width??0)-D-Q*3,B.width<tR0)B.width=tR0}let{shapeSvg:F,bbox:U,label:z}=await b3(u,B,z3(B)),k=(B.height?B.height:U.height)+D,f=k/2,M=f/(2.5+k/50),b=(B.width?B.width:U.width)+M+D,{cssStyles:Z}=B,J;if(B.look==="handDrawn"){let K=Ou.svg(F),w=iA4(0,0,b,k,M,f),Q=aA4(0,0,b,k,M,f),G=K.path(w,W4(B,{})),H=K.path(Q,W4(B,{fill:"none"}));if(J=F.insert(()=>H,":first-child"),J=F.insert(()=>G,":first-child"),J.attr("class","basic label-container"),Z)J.attr("style",Z)}else{let K=hA4(0,0,b,k,M,f);if(J=F.insert("path",":first-child").attr("d",K).attr("class","basic label-container").attr("style",L2(Z)).attr("style",A),J.attr("class","basic label-container outer-path"),Z)J.selectAll("path").attr("style",Z);if(A)J.selectAll("path").attr("style",A)}return J.attr("label-offset-x",M),J.attr("transform",`translate(${-b/2}, ${k/2} )`),z.attr("transform",`translate(${-(U.width/2)-M-(U.x-(U.left??0))}, ${-(U.height/2)-(U.y-(U.top??0))})`),h4(B,J),B.intersect=function(K){let w=l4.rect(B,K),Q=w.y-(B.y??0);if(f!=0&&(Math.abs(Q)<(B.height??0)/2||Math.abs(Q)==(B.height??0)/2&&Math.abs(w.x-(B.x??0))>(B.width??0)/2-M)){let G=M*M*(1-Q*Q/(f*f));if(G!=0)G=Math.sqrt(Math.abs(G));if(G=M-G,K.x-(B.x??0)>0)G=-G;w.x+=G}return w},F}async function zO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?C:C,F=B.look==="neo"?C*2:C,{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.height??z.height)+D,f=(B?.width??z.width)+F,M=[{x:-3*k/6,y:0},{x:f+3*k/6,y:0},{x:f,y:-k},{x:0,y:-k}],b,{cssStyles:Z}=B;if(B.look==="handDrawn"){let J=Ou.svg(U),K=W4(B,{}),w=f1(M),Q=J.path(w,K);if(b=U.insert(()=>Q,":first-child").attr("transform",`translate(${-f/2}, ${k/2})`),Z)b.attr("style",Z)}else b=cz(U,f,k,M);if(A)b.attr("style",A);return B.width=f,B.height=k,h4(B,b),B.intersect=function(J){return l4.polygon(B,M,J)},U}async function kO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C,U=15,z=5;if(B.width||B.height){if(B.height=(B.height??0)-F*2,B.height<z)B.height=z;if(B.width=(B.width??0)-D*2,B.width<U)B.width=U}let{shapeSvg:k,bbox:f}=await b3(u,B,z3(B)),M=(B?.width?B?.width:f.width)+D*2,b=(B?.height?B?.height:f.height)+F*2,{cssStyles:Z}=B,J=Ou.svg(k),K=W4(B,{});if(B.look!=="handDrawn")K.roughness=0,K.fillStyle="solid";let w=[{x:-M/2*0.8,y:-b/2},{x:M/2*0.8,y:-b/2},{x:M/2,y:-b/2*0.6},{x:M/2,y:b/2},{x:-M/2,y:b/2},{x:-M/2,y:-b/2*0.6}],Q=f1(w),G=J.path(Q,K),H=k.insert(()=>G,":first-child");if(H.attr("class","basic label-container outer-path"),Z&&B.look!=="handDrawn")H.selectChildren("path").attr("style",Z);if(A&&B.look!=="handDrawn")H.selectChildren("path").attr("style",A);return h4(B,H),B.intersect=function(l){return l4.polygon(B,w,l)},k}async function fO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?C*2:C;if(B.width||B.height){if(B.width=((B?.width??0)-D)/2,B.width<uT0)B.width=uT0;if(B.height=B?.height??0,B.height<eR0)B.height=eR0}let{shapeSvg:F,bbox:U,label:z}=await b3(u,B,z3(B)),k=uA(y0().flowchart?.htmlLabels),f=(B?.width?B?.width:U.width)+D,M=B?.height?B?.height:f+U.height,b=M,Z=[{x:0,y:0},{x:b,y:0},{x:b/2,y:-M}],{cssStyles:J}=B,K=Ou.svg(F),w=W4(B,{});if(B.look!=="handDrawn")w.roughness=0,w.fillStyle="solid";let Q=f1(Z),G=K.path(Q,w),H=F.insert(()=>G,":first-child").attr("transform",`translate(${-M/2}, ${M/2})`).attr("class","outer-path");if(J&&B.look!=="handDrawn")H.selectChildren("path").attr("style",J);if(A&&B.look!=="handDrawn")H.selectChildren("path").attr("style",A);return B.width=f,B.height=M,h4(B,H),z.attr("transform",`translate(${-U.width/2-(U.x-(U.left??0))}, ${M/2-(U.height+(B.padding??0)/(k?2:1)-(U.y-(U.top??0)))})`),B.intersect=function(l){return z0.info("Triangle intersect",B,Z,l),l4.polygon(B,Z,l)},F}async function MO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?12:C,U=!0;if(B.width||B.height){if(U=!1,B.width=(B?.width??0)-D*2,B.width<10)B.width=10;if(B.height=(B?.height??0)-F*2,B.height<10)B.height=10}let{shapeSvg:z,bbox:k,label:f}=await b3(u,B,z3(B)),M=(B?.width?B?.width:k.width)+(D??0)*2,b=(B?.height?B?.height:k.height)+(F??0)*2,Z=B.look==="neo"?b/4:b/8,J=b+(U?Z:-Z),{cssStyles:K}=B,Q=14-M,G=Q>0?Q/2:0,H=Ou.svg(z),l=W4(B,{});if(B.look!=="handDrawn")l.roughness=0,l.fillStyle="solid";let q=[{x:-M/2-G,y:J/2},...fM(-M/2-G,J/2,M/2+G,J/2,Z,0.8),{x:M/2+G,y:-J/2},{x:-M/2-G,y:-J/2}],L=f1(q),v=H.path(L,l),x=z.insert(()=>v,":first-child");if(x.attr("class","basic label-container outer-path"),K&&B.look!=="handDrawn")x.selectAll("path").attr("style",K);if(A&&B.look!=="handDrawn")x.selectAll("path").attr("style",A);return x.attr("transform",`translate(0,${-Z/2})`),f.attr("transform",`translate(${-M/2+(B.padding??0)-(k.x-(k.left??0))},${-b/2+(B.padding??0)-Z-(k.y-(k.top??0))})`),h4(B,x),B.intersect=function(S){return l4.polygon(B,q,S)},z}async function bO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.padding??0,D=B.look==="neo"?16:C,F=B.look==="neo"?20:C;if(B.width||B.height){if(B.width=B?.width??0,B.width<20)B.width=20;if(B.height=B?.height??0,B.height<10)B.height=10;let l=Math.min(B.height*0.2,B.height/4);B.height=Math.ceil(B.height-F-l*2.2222222222222223),B.width=B.width-D*2}let{shapeSvg:U,bbox:z}=await b3(u,B,z3(B)),k=(B?.width?B?.width:z.width)+D*2,f=(B?.height?B?.height:z.height)+F,M=f/8,b=f+M*2,{cssStyles:Z}=B,J=Ou.svg(U),K=W4(B,{});if(B.look!=="handDrawn")K.roughness=0,K.fillStyle="solid";let w=[{x:-k/2,y:b/2},...fM(-k/2,b/2,k/2,b/2,M,1),{x:k/2,y:-b/2},...fM(k/2,-b/2,-k/2,-b/2,M,-1)],Q=f1(w),G=J.path(Q,K),H=U.insert(()=>G,":first-child");if(H.attr("class","basic label-container"),Z&&B.look!=="handDrawn")H.selectAll("path").attr("style",Z);if(A&&B.look!=="handDrawn")H.selectAll("path").attr("style",A);return h4(B,H),B.intersect=function(l){return l4.polygon(B,w,l)},U}async function ZO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B.look==="neo"?16:B.padding??0,D=B.look==="neo"?12:B.padding??0;if(B.width||B.height)B.width=Math.max((B?.width??0)-C*2-V9,10),B.height=Math.max((B?.height??0)-D*2-V9,10);let{shapeSvg:F,bbox:U,label:z}=await b3(u,B,z3(B)),k=(B?.width?B?.width:U.width)+C*2+V9,f=(B?.height?B?.height:U.height)+D*2+V9,M=k-V9,b=f-V9,Z=-M/2,J=-b/2,{cssStyles:K}=B,w=Ou.svg(F),Q=W4(B,{}),G=[{x:Z-V9,y:J-V9},{x:Z-V9,y:J+b},{x:Z+M,y:J+b},{x:Z+M,y:J-V9}],H=`M${Z-V9},${J-V9} L${Z+M},${J-V9} L${Z+M},${J+b} L${Z-V9},${J+b} L${Z-V9},${J-V9}
M${Z-V9},${J} L${Z+M},${J}
M${Z},${J-V9} L${Z},${J+b}`;if(B.look!=="handDrawn")Q.roughness=0,Q.fillStyle="solid";let l=w.path(H,Q),q=F.insert(()=>l,":first-child");if(q.attr("transform",`translate(${V9/2}, ${V9/2})`),q.attr("class","basic label-container outer-path"),K&&B.look!=="handDrawn")q.selectAll("path").attr("style",K);if(A&&B.look!=="handDrawn")q.selectAll("path").attr("style",A);return z.attr("transform",`translate(${-(U.width/2)+V9/2-(U.x-(U.left??0))}, ${-(U.height/2)+V9/2-(U.y-(U.top??0))})`),h4(B,q),B.intersect=function(L){return l4.polygon(B,G,L)},F}async function U10(u,B){let E=B;if(E.alias)B.label=E.alias;let{theme:A,themeVariables:C}=F4(),{rowEven:D,rowOdd:F,nodeBorder:U,borderColorArray:z}=C;if(B.look==="handDrawn"){let{themeVariables:e}=F4(),{background:p}=e,b0={...B,id:B.id+"-background",domId:(B.domId||B.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${p}`]};await U10(u,b0)}let k=F4();B.useHtmlLabels=k.htmlLabels;let f=k.er?.diagramPadding??10,M=k.er?.entityPadding??6,{cssStyles:b}=B,{labelStyles:Z,nodeStyles:J}=q4(B);if(E.attributes.length===0&&B.label){let e={rx:0,ry:0,labelPaddingX:f,labelPaddingY:f*1.5,classes:""};if(A7(B.label,k)+e.labelPaddingX*2<k.er.minEntityWidth)B.width=k.er.minEntityWidth;let p=await sH(u,B,e);if(A!=null&&BT0.has(A)){let b0=E.colorIndex??0;p.attr("data-color-id",`color-${b0%z.length}`)}if(!uA(k.htmlLabels)){let b0=p.select("text"),B0=b0.node()?.getBBox();b0.attr("transform",`translate(${-B0.width/2}, 0)`)}return p}if(!k.htmlLabels)f*=1.25,M*=1.25;let K=z3(B);if(!K)K="node default";let w=u.insert("g").attr("class",K).attr("id",B.domId||B.id),Q=await nH(w,B.label??"",k,0,0,["name"],Z);Q.height+=M;let G=0,H=[],l=[],q=0,L=0,v=0,x=0,S=!0,W=!0;for(let e of E.attributes){let p=await nH(w,e.type,k,0,G,["attribute-type"],Z);q=Math.max(q,p.width+f);let b0=await nH(w,e.name,k,0,G,["attribute-name"],Z);L=Math.max(L,b0.width+f);let B0=await nH(w,e.keys.join(),k,0,G,["attribute-keys"],Z);v=Math.max(v,B0.width+f);let k0=await nH(w,e.comment,k,0,G,["attribute-comment"],Z);x=Math.max(x,k0.width+f);let f0=Math.max(p.height,b0.height,B0.height,k0.height)+M;l.push({yOffset:G,rowHeight:f0}),G+=f0}let T=4;if(v<=f)S=!1,v=0,T--;if(x<=f)W=!1,x=0,T--;let R=w.node().getBBox();if(Q.width+f*2-(q+L+v+x)>0){let e=Q.width+f*2-(q+L+v+x);if(q+=e/T,L+=e/T,v>0)v+=e/T;if(x>0)x+=e/T}let Y=q+L+v+x,h=Ou.svg(w),I=W4(B,{});if(B.look!=="handDrawn")I.roughness=0,I.fillStyle="solid";let O=0;if(l.length>0)O=l.reduce((e,p)=>e+(p?.rowHeight??0),0);let V=Math.max(R.width+f*2,B?.width||0,Y),j=Math.max((O??0)+Q.height,B?.height||0),i=-V/2,a=-j/2;if(w.selectAll("g:not(:first-child)").each((e,p,b0)=>{let B0=Qu(b0[p]),k0=B0.attr("transform"),f0=0,D0=0;if(k0){let L0=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(k0);if(L0){if(f0=parseFloat(L0[1]),D0=parseFloat(L0[2]),B0.attr("class").includes("attribute-name"))f0+=q;else if(B0.attr("class").includes("attribute-keys"))f0+=q+L;else if(B0.attr("class").includes("attribute-comment"))f0+=q+L+v}}B0.attr("transform",`translate(${i+f/2+f0}, ${D0+a+Q.height+M/2})`)}),w.select(".name").attr("transform","translate("+-Q.width/2+", "+(a+M/2)+")"),A!=null&&BT0.has(A)){let e=E.colorIndex??0;w.attr("data-color-id",`color-${e%z.length}`)}let $=h.rectangle(i,a,V,j,I),m=w.insert(()=>$,":first-child").attr("class","outer-path").attr("style",b.join(""));H.push(0);for(let[e,p]of l.entries()){let B0=(e+1)%2===0&&p.yOffset!==0,k0=h.rectangle(i,Q.height+a+p?.yOffset,V,p?.rowHeight,{...I,fill:B0?D:F,stroke:U});w.insert(()=>k0,"g.label").attr("style",b.join("")).attr("class",`row-rect-${B0?"even":"odd"}`)}let y=0.0001,r=dH(i,Q.height+a,V+i,Q.height+a,y),_=h.polygon(r.map((e)=>[e.x,e.y]),I);if(w.insert(()=>_).attr("class","divider"),r=dH(q+i,Q.height+a,q+i,j+a,y),_=h.polygon(r.map((e)=>[e.x,e.y]),I),w.insert(()=>_).attr("class","divider"),S){let e=q+L+i;r=dH(e,Q.height+a,e,j+a,y),_=h.polygon(r.map((p)=>[p.x,p.y]),I),w.insert(()=>_).attr("class","divider")}if(W){let e=q+L+v+i;r=dH(e,Q.height+a,e,j+a,y),_=h.polygon(r.map((p)=>[p.x,p.y]),I),w.insert(()=>_).attr("class","divider")}for(let e of H){let p=Q.height+a+e;r=dH(i,p,V+i,p,y),_=h.polygon(r.map((b0)=>[b0.x,b0.y]),I),w.insert(()=>_).attr("class","divider")}if(h4(B,m),J&&B.look!=="handDrawn")if(A!=null&&mA4.has(A))w.selectAll("path").attr("style",J);else{let p=J.split(";")?.filter((b0)=>{return b0.includes("stroke")})?.map((b0)=>`${b0}`).join("; ");w.selectAll("path").attr("style",p??""),w.selectAll(".row-rect-even path").attr("style",J)}return B.intersect=function(e){return l4.rect(B,e)},w}async function nH(u,B,E,A=0,C=0,D=[],F=""){let U=u.insert("g").attr("class",`label ${D.join(" ")}`).attr("transform",`translate(${A}, ${C})`).attr("style",F);if(B!==GF(B))B=GF(B),B=B.replaceAll("<","&lt;").replaceAll(">","&gt;");let z=U.node().appendChild(await v2(U,B,{width:A7(B,E)+100,style:F,useHtmlLabels:E.htmlLabels},E));if(B.includes("&lt;")||B.includes("&gt;")){let f=z.children[0];f.textContent=f.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");while(f.childNodes[0])f=f.childNodes[0],f.textContent=f.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let k=z.getBBox();if(uA(E.htmlLabels)){let f=z.children[0];f.style.textAlign="start";let M=Qu(z);k=f.getBoundingClientRect(),M.attr("width",k.width),M.attr("height",k.height)}return k}function dH(u,B,E,A,C){if(u===E)return[{x:u-C/2,y:B},{x:u+C/2,y:B},{x:E+C/2,y:A},{x:E-C/2,y:A}];return[{x:u,y:B-C/2},{x:u,y:B+C/2},{x:E,y:A+C/2},{x:E,y:A-C/2}]}async function JO0(u,B,E,A,C=E.class.padding??12){let D=!A?3:0,F=u.insert("g").attr("class",z3(B)).attr("id",B.domId||B.id),U=null,z=null,k=null,f=null,M=0,b=0,Z=0;if(U=F.insert("g").attr("class","annotation-group text"),B.annotations.length>0){let G=B.annotations[0];await rW(U,{text:`«${G}»`},0),M=U.node().getBBox().height}z=F.insert("g").attr("class","label-group text"),await rW(z,B,0,["font-weight: bolder"]);let J=z.node().getBBox();b=J.height,k=F.insert("g").attr("class","members-group text");let K=0;for(let G of B.members){let H=await rW(k,G,K,[G.parseClassifier()]);K+=H+D}if(Z=k.node().getBBox().height,Z<=0)Z=C/2;f=F.insert("g").attr("class","methods-group text");let w=0;for(let G of B.methods){let H=await rW(f,G,w,[G.parseClassifier()]);w+=H+D}let Q=F.node().getBBox();if(U!==null){let G=U.node().getBBox();U.attr("transform",`translate(${-G.width/2})`)}return z.attr("transform",`translate(${-J.width/2}, ${M})`),Q=F.node().getBBox(),k.attr("transform",`translate(0, ${M+b+C*2})`),Q=F.node().getBBox(),f.attr("transform",`translate(0, ${M+b+(Z?Z+C*4:C*2)})`),Q=F.node().getBBox(),{shapeSvg:F,bbox:Q}}async function rW(u,B,E,A=[]){let C=u.insert("g").attr("class","label").attr("style",A.join("; ")),D=F4(),F="useHtmlLabels"in B?B.useHtmlLabels:uA(D.htmlLabels)??!0,U="";if("text"in B)U=B.text;else U=B.label;if(!F&&U.startsWith("\\"))U=U.substring(1);if(D9(U))F=!0;let z=await v2(C,AN(fE(U)),{width:A7(U,D)+50,classes:"markdown-node-label",useHtmlLabels:F},D),k,f=1;if(!F){if(A.includes("font-weight: bolder"))Qu(z).selectAll("tspan").attr("font-weight","");f=z.children.length;let M=z.children[0];if(z.textContent===""||z.textContent.includes("&gt")){if(M.textContent=U[0]+U.substring(1).replaceAll("&gt;",">").replaceAll("&lt;","<").trim(),U[1]===" ")M.textContent=M.textContent[0]+" "+M.textContent.substring(1)}if(M.textContent==="undefined")M.textContent="";k=z.getBBox()}else{let M=z.children[0],b=Qu(z);if(f=M.innerHTML.split("<br>").length,M.innerHTML.includes("</math>"))f+=M.innerHTML.split("<mrow>").length-1;let Z=M.getElementsByTagName("img");if(Z){let J=U.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...Z].map((K)=>new Promise((w)=>{function Q(){if(K.style.display="flex",K.style.flexDirection="column",J){let G=D.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,H=5,l=parseInt(G,10)*5+"px";K.style.minWidth=l,K.style.maxWidth=l}else K.style.width="100%";w(K)}X(Q,"setupImage"),setTimeout(()=>{if(K.complete)Q()}),K.addEventListener("error",Q),K.addEventListener("load",Q)})))}k=M.getBoundingClientRect(),b.attr("width",k.width),b.attr("height",k.height)}return C.attr("transform","translate(0,"+(-k.height/(2*f)+E)+")"),k.height}async function KO0(u,B){let E=y0(),{themeVariables:A}=E,{useGradient:C}=A,D=E.class.padding??12,F=D,U=B.useHtmlLabels??uA(E.htmlLabels)??!0,z=B;z.annotations=z.annotations??[],z.members=z.members??[],z.methods=z.methods??[];let{shapeSvg:k,bbox:f}=await JO0(u,B,E,U,F),{labelStyles:M,nodeStyles:b}=q4(B);B.labelStyle=M,B.cssStyles=z.styles||"";let Z=z.styles?.join(";")||b||"";if(!B.cssStyles)B.cssStyles=Z.replaceAll("!important","").split(";");let J=z.members.length===0&&z.methods.length===0&&!E.class?.hideEmptyMembersBox,K=Ou.svg(k),w=W4(B,{});if(B.look!=="handDrawn")w.roughness=0,w.fillStyle="solid";let Q=Math.max(B.width??0,f.width),G=Math.max(B.height??0,f.height),H=(B.height??0)>f.height;if(z.members.length===0&&z.methods.length===0)G+=F;else if(z.members.length>0&&z.methods.length===0)G+=F*2;let l=-Q/2,q=-G/2,L=J?D*2:z.members.length===0&&z.methods.length===0?-D:0;if(H)L=D*2;let v=K.rectangle(l-D,q-D-(J?D:z.members.length===0&&z.methods.length===0?-D/2:0),Q+2*D,G+2*D+L,w),x=k.insert(()=>v,":first-child");x.attr("class","basic label-container outer-path");let S=x.node().getBBox(),W=k.select(".annotation-group").node().getBBox().height-(J?D/2:0)||0,T=k.select(".label-group").node().getBBox().height-(J?D/2:0)||0,R=k.select(".members-group").node().getBBox().height-(J?D/2:0)||0,Y=(W+T+q+D-(q-D-(J?D:z.members.length===0&&z.methods.length===0?-D/2:0)))/2;if(k.selectAll(".text").each((h,I,O)=>{let V=Qu(O[I]),j=V.attr("transform"),i=0;if(j){let y=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(j);if(y)i=parseFloat(y[2])}let a=i+q+D-(J?D:z.members.length===0&&z.methods.length===0?-D/2:0);if(V.attr("class").includes("methods-group")){let m=Math.max(R,F/2);if(H)a=Math.max(Y,W+T+m+q+F*2+D)+F*2;else a=W+T+m+q+F*4+D}if(z.members.length===0&&z.methods.length===0&&E.class?.hideEmptyMembersBox)if(z.annotations.length>0)a=i-F;else a=i;if(!U)a-=4;let $=l;if(V.attr("class").includes("label-group")||V.attr("class").includes("annotation-group"))$=-V.node()?.getBBox().width/2||0,k.selectAll("text").each(function(m,y,r){if(window.getComputedStyle(r[y]).textAnchor==="middle")$=0});V.attr("transform",`translate(${$}, ${a})`)}),z.members.length>0||z.methods.length>0||J){let h=W+T+q+D,I=K.line(S.x,h,S.x+S.width,h+0.001,w);k.insert(()=>I).attr("class",`divider${B.look==="neo"&&!C?" neo-line":""}`).attr("style",Z)}if(J||z.members.length>0||z.methods.length>0){let h=W+T+R+q+F*2+D,I=K.line(S.x,H?Math.max(Y,h):h,S.x+S.width,(H?Math.max(Y,h):h)+0.001,w);k.insert(()=>I).attr("class",`divider${B.look==="neo"&&!C?" neo-line":""}`).attr("style",Z)}if(z.look!=="handDrawn")k.selectAll("path").attr("style",Z);if(x.select(":nth-child(2)").attr("style",Z),k.selectAll(".divider").select("path").attr("style",Z),B.labelStyle)k.selectAll("span").attr("style",B.labelStyle);else k.selectAll("span").attr("style",Z);if(!U){let h=RegExp(/color\s*:\s*([^;]*)/),I=h.exec(Z);if(I){let O=I[0].replace("color","fill");k.selectAll("tspan").attr("style",O)}else if(M){let O=h.exec(M);if(O){let V=O[0].replace("color","fill");k.selectAll("tspan").attr("style",V)}}}return h4(B,x),B.intersect=function(h){return l4.rect(B,h)},k}async function wO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let C=B,D=B,F=20,U=20,z="verifyMethod"in B,k=z3(B),{themeVariables:f}=y0(),{borderColorArray:M,requirementEdgeLabelBackground:b}=f,Z=u.insert("g").attr("class",k).attr("id",B.domId??B.id),J;if(z)J=await OF(Z,`&lt;&lt;${C.type}&gt;&gt;`,0,B.labelStyle);else J=await OF(Z,"&lt;&lt;Element&gt;&gt;",0,B.labelStyle);let K=J,w=await OF(Z,C.name,K,B.labelStyle+"; font-weight: bold;");if(K+=w+U,z){let S=await OF(Z,`${C.requirementId?`ID: ${C.requirementId}`:""}`,K,B.labelStyle);K+=S;let W=await OF(Z,`${C.text?`Text: ${C.text}`:""}`,K,B.labelStyle);K+=W;let T=await OF(Z,`${C.risk?`Risk: ${C.risk}`:""}`,K,B.labelStyle);K+=T,await OF(Z,`${C.verifyMethod?`Verification: ${C.verifyMethod}`:""}`,K,B.labelStyle)}else{let S=await OF(Z,`${D.type?`Type: ${D.type}`:""}`,K,B.labelStyle);K+=S,await OF(Z,`${D.docRef?`Doc Ref: ${D.docRef}`:""}`,K,B.labelStyle)}let Q=(Z.node()?.getBBox().width??200)+F,G=(Z.node()?.getBBox().height??200)+F,H=-Q/2,l=-G/2,q=Ou.svg(Z),L=W4(B,{});if(B.look!=="handDrawn")L.roughness=0,L.fillStyle="solid";let v=q.rectangle(H,l,Q,G,L),x=Z.insert(()=>v,":first-child");if(x.attr("class","basic label-container outer-path").attr("style",A),M?.length){let S=B.colorIndex??0;Z.attr("data-color-id",`color-${S%M.length}`)}if(Z.selectAll(".label").each((S,W,T)=>{let R=Qu(T[W]),Y=R.attr("transform"),h=0,I=0;if(Y){let i=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(Y);if(i)h=parseFloat(i[1]),I=parseFloat(i[2])}let O=I-G/2,V=H+F/2;if(W===0||W===1)V=h;R.attr("transform",`translate(${V}, ${O+F})`)}),K>J+w+U){let S=l+J+w+U,W;if(B.look==="neo"){let Y=[[H,S],[H+Q,S],[H+Q,S+0.001],[H,S+0.001]];W=q.polygon(Y,L)}else W=q.line(H,S,H+Q,S,L);Z.insert(()=>W).attr("class","divider")}if(h4(B,x),B.intersect=function(S){return l4.rect(B,S)},A&&B.look!=="handDrawn"&&(b||M?.length))Z.selectAll("path").attr("style",A);return Z}async function OF(u,B,E,A=""){if(B==="")return 0;let C=u.insert("g").attr("class","label").attr("style",A),D=y0(),F=D.htmlLabels??!0,U=await v2(C,AN(fE(B)),{width:A7(B,D)+50,classes:"markdown-node-label",useHtmlLabels:F,style:A},D),z;if(!F){let k=U.children[0];for(let f of k.children)if(A)f.setAttribute("style",A);z=U.getBBox(),z.height+=6}else{let k=U.children[0],f=Qu(U);z=k.getBoundingClientRect(),f.attr("width",z.width),f.attr("height",z.height)}return C.attr("transform",`translate(${-z.width/2},${-z.height/2+E})`),z.height}async function QO0(u,B,{config:E}){let{labelStyles:A,nodeStyles:C}=q4(B);B.labelStyle=A||"";let D=10,F=B.width;B.width=(B.width??200)-10;let{shapeSvg:U,bbox:z,label:k}=await b3(u,B,z3(B)),f=B.padding||10,M="",b;if("ticket"in B&&B.ticket&&E?.kanban?.ticketBaseUrl)M=E?.kanban?.ticketBaseUrl.replace("#TICKET#",B.ticket),b=U.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",M).attr("target","_blank");let Z={useHtmlLabels:B.useHtmlLabels,labelStyle:B.labelStyle||"",width:B.width,img:B.img,padding:B.padding||8,centerLabel:!1},J,K;if(b)({label:J,bbox:K}=await B10(b,"ticket"in B&&B.ticket||"",Z));else({label:J,bbox:K}=await B10(U,"ticket"in B&&B.ticket||"",Z));let{label:w,bbox:Q}=await B10(U,"assigned"in B&&B.assigned||"",Z);B.width=F;let G=10,H=B?.width||0,l=Math.max(K.height,Q.height)/2,q=Math.max(z.height+G*2,B?.height||0)+l,L=-H/2,v=-q/2;k.attr("transform","translate("+(f-H/2)+", "+(-l-z.height/2)+")"),J.attr("transform","translate("+(f-H/2)+", "+(-l+z.height/2)+")"),w.attr("transform","translate("+(f+H/2-Q.width-2*D)+", "+(-l+z.height/2)+")");let x,{rx:S,ry:W}=B,{cssStyles:T}=B;if(B.look==="handDrawn"){let R=Ou.svg(U),Y=W4(B,{}),h=S||W?R.path(MM(L,v,H,q,S||0),Y):R.rectangle(L,v,H,q,Y);x=U.insert(()=>h,":first-child"),x.attr("class","basic label-container").attr("style",T?T:null)}else{x=U.insert("rect",":first-child"),x.attr("class","basic label-container __APA__").attr("style",C).attr("rx",S??5).attr("ry",W??5).attr("x",L).attr("y",v).attr("width",H).attr("height",q);let R="priority"in B&&B.priority;if(R){let Y=U.append("line"),h=L+2,I=v+Math.floor((S??0)/2),O=v+q-Math.floor((S??0)/2);Y.attr("x1",h).attr("y1",I).attr("x2",h).attr("y2",O).attr("stroke-width","4").attr("stroke",$A4(R))}}return h4(B,x),B.height=q,B.intersect=function(R){return l4.rect(B,R)},U}async function GO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,halfPadding:F,label:U}=await b3(u,B,z3(B)),z=D.width+10*F,k=D.height+8*F,f=0.15*z,{cssStyles:M}=B,b=D.width+20,Z=D.height+20,J=Math.max(z,b),K=Math.max(k,Z);U.attr("transform",`translate(${-D.width/2}, ${-D.height/2})`);let w,Q=`M0 0
a${f},${f} 1 0,0 ${J*0.25},${-1*K*0.1}
a${f},${f} 1 0,0 ${J*0.25},0
a${f},${f} 1 0,0 ${J*0.25},0
a${f},${f} 1 0,0 ${J*0.25},${K*0.1}
a${f},${f} 1 0,0 ${J*0.15},${K*0.33}
a${f*0.8},${f*0.8} 1 0,0 0,${K*0.34}
a${f},${f} 1 0,0 ${-1*J*0.15},${K*0.33}
a${f},${f} 1 0,0 ${-1*J*0.25},${K*0.15}
a${f},${f} 1 0,0 ${-1*J*0.25},0
a${f},${f} 1 0,0 ${-1*J*0.25},0
a${f},${f} 1 0,0 ${-1*J*0.25},${-1*K*0.15}
a${f},${f} 1 0,0 ${-1*J*0.1},${-1*K*0.33}
a${f*0.8},${f*0.8} 1 0,0 0,${-1*K*0.34}
a${f},${f} 1 0,0 ${J*0.1},${-1*K*0.33}
H0 V0 Z`;if(B.look==="handDrawn"){let G=Ou.svg(C),H=W4(B,{}),l=G.path(Q,H);w=C.insert(()=>l,":first-child"),w.attr("class","basic label-container").attr("style",L2(M))}else w=C.insert("path",":first-child").attr("class","basic label-container").attr("style",A).attr("d",Q);return w.attr("transform",`translate(${-J/2}, ${-K/2})`),h4(B,w),B.calcIntersect=function(G,H){return l4.rect(G,H)},B.intersect=function(G){return z0.info("Bang intersect",B,G),l4.rect(B,G)},C}async function HO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,halfPadding:F,label:U}=await b3(u,B,z3(B)),z=D.width+2*F,k=D.height+2*F,f=0.15*z,M=0.25*z,b=0.35*z,Z=0.2*z,{cssStyles:J}=B,K,w=`M0 0
a${f},${f} 0 0,1 ${z*0.25},${-1*z*0.1}
a${b},${b} 1 0,1 ${z*0.4},${-1*z*0.1}
a${M},${M} 1 0,1 ${z*0.35},${z*0.2}
a${f},${f} 1 0,1 ${z*0.15},${k*0.35}
a${Z},${Z} 1 0,1 ${-1*z*0.15},${k*0.65}
a${M},${f} 1 0,1 ${-1*z*0.25},${z*0.15}
a${b},${b} 1 0,1 ${-1*z*0.5},0
a${f},${f} 1 0,1 ${-1*z*0.25},${-1*z*0.15}
a${f},${f} 1 0,1 ${-1*z*0.1},${-1*k*0.35}
a${Z},${Z} 1 0,1 ${z*0.1},${-1*k*0.65}
H0 V0 Z`;if(B.look==="handDrawn"){let Q=Ou.svg(C),G=W4(B,{}),H=Q.path(w,G);K=C.insert(()=>H,":first-child"),K.attr("class","basic label-container").attr("style",L2(J))}else K=C.insert("path",":first-child").attr("class","basic label-container").attr("style",A).attr("d",w);return U.attr("transform",`translate(${-D.width/2}, ${-D.height/2})`),K.attr("transform",`translate(${-z/2}, ${-k/2})`),h4(B,K),B.calcIntersect=function(Q,G){return l4.rect(Q,G)},B.intersect=function(Q){return z0.info("Cloud intersect",B,Q),l4.rect(B,Q)},C}async function qO0(u,B){let{labelStyles:E,nodeStyles:A}=q4(B);B.labelStyle=E;let{shapeSvg:C,bbox:D,halfPadding:F,label:U}=await b3(u,B,z3(B)),z=D.width+8*F,k=D.height+2*F,f=5,M=B.look==="neo"?`
M${-z/2} ${k/2-f}
v${-k+2*f}
q0,-${f} ${f},-${f}
h${z-2*f}
q${f},0 ${f},${f}
v${k-f}
H${-z/2}
Z
`:`
M${-z/2} ${k/2-f}
v${-k+2*f}
q0,-${f} ${f},-${f}
h${z-2*f}
q${f},0 ${f},${f}
v${k-2*f}
q0,${f} ${-f},${f}
h${-(z-2*f)}
q${-f},0 ${-f},${-f}
Z
`;if(!B.domId)throw Error(`defaultMindmapNode: node "${B.id}" is missing a domId — was render.ts domId prefixing skipped?`);let b=C.append("path").attr("id",B.domId).attr("class","node-bkg node-"+B.type).attr("style",A).attr("d",M);return C.append("line").attr("class","node-line-").attr("x1",-z/2).attr("y1",k/2).attr("x2",z/2).attr("y2",k/2),U.attr("transform",`translate(${-D.width/2}, ${-D.height/2})`),C.append(()=>U.node()),h4(B,b),B.calcIntersect=function(Z,J){return l4.rect(Z,J)},B.intersect=function(Z){return l4.rect(B,Z)},C}async function lO0(u,B){let E={padding:B.padding??0};return F10(u,B,E)}function z10(u){return u in LO0}async function _z(u,B,E){let A,C;if(B.shape==="rect")if(B.rx&&B.ry)B.shape="roundedRect";else B.shape="squareRect";let D=B.shape?LO0[B.shape]:void 0;if(!D)throw Error(`No such shape: ${B.shape}. Please check your syntax.`);if(B.link){let F;if(E.config.securityLevel==="sandbox")F="_top";else if(B.linkTarget)F=B.linkTarget||"_blank";A=u.insert("svg:a").attr("xlink:href",B.link).attr("target",F??null),C=await D(A,B,E)}else C=await D(u,B,E),A=C;if(A.attr("data-look",L2(B.look)),B.tooltip)C.attr("title",B.tooltip);if(Oh.set(B.id,A),B.haveCallback)A.attr("class",A.attr("class")+" clickable");return A}var b3,B10,h4,z3,wA4,fK,QA4,gz,MM,GA4,ET0,HA4,qA4,lA4,LA4,XA4,vA4,AT0,bM,Th,xA4,FT0,WA4,SA4,YA4,l4,Rh=12,RA4,TA4,OA4,cR0=8,_R0=8,pR0=10,nR0=10,IA4,PA4,jA4,NA4,dR0=10,sR0=10,VA4,kK=8,pH=8,E10=0.2,hA4,iA4,aA4,oR0=5,tR0=10,eR0=10,uT0=10,V9=10,BT0,mA4,$A4,yA4,rA4,LO0,Oh,XO0,Ih,MK;var F7=g(()=>{E7();C7();s2();X2();e3();s4();o4();Y4();V3();V3();j4();V3();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();V3();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();j4();V3();V3();j4();V3();j4();V3();j4();j4();j4();b3=X(async(u,B,E)=>{let A,C=B.useHtmlLabels||uA(y0()?.htmlLabels);if(!E)A="node default";else A=E;let D=u.insert("g").attr("class",A).attr("id",B.domId||B.id),F=D.insert("g").attr("class","label").attr("style",L2(B.labelStyle)),U;if(B.label===void 0)U="";else U=typeof B.label==="string"?B.label:B.label[0];let z=!!B.icon||!!B.img,k=B.labelType==="markdown",f=await v2(F,C3(fE(U),y0()),{useHtmlLabels:C,width:B.width||y0().flowchart?.wrappingWidth,classes:k?"markdown-node-label":"",style:B.labelStyle,addSvgBackground:z,markdown:k},y0()),M=f.getBBox(),b=(B?.padding??0)/2;if(C){let Z=f.children[0],J=Qu(f);await PW(Z,U),M=Z.getBoundingClientRect(),J.attr("width",M.width),J.attr("height",M.height)}if(C)F.attr("transform","translate("+-M.width/2+", "+-M.height/2+")");else F.attr("transform","translate(0, "+-M.height/2+")");if(B.centerLabel)F.attr("transform","translate("+-M.width/2+", "+-M.height/2+")");return F.insert("rect",":first-child"),{shapeSvg:D,bbox:M,halfPadding:b,label:F}},"labelHelper"),B10=X(async(u,B,E)=>{let A=E.useHtmlLabels??G1(y0()),C=u.insert("g").attr("class","label").attr("style",E.labelStyle||""),D=await v2(C,C3(fE(B),y0()),{useHtmlLabels:A,width:E.width||y0()?.flowchart?.wrappingWidth,style:E.labelStyle,addSvgBackground:!!E.icon||!!E.img}),F=D.getBBox(),U=E.padding/2;if(G1(y0())){let z=D.children[0],k=Qu(D);F=z.getBoundingClientRect(),k.attr("width",F.width),k.attr("height",F.height)}if(A)C.attr("transform","translate("+-F.width/2+", "+-F.height/2+")");else C.attr("transform","translate(0, "+-F.height/2+")");if(E.centerLabel)C.attr("transform","translate("+-F.width/2+", "+-F.height/2+")");return C.insert("rect",":first-child"),{shapeSvg:u,bbox:F,halfPadding:U,label:C}},"insertLabel"),h4=X((u,B)=>{let E=B.node().getBBox();u.width=E.width,u.height=E.height},"updateNodeBounds"),z3=X((u,B)=>(u.look==="handDrawn"?"rough-node":"node")+" "+u.cssClasses+" "+(B||""),"getNodeClasses");X(f1,"createPathFromPoints");X(fM,"generateFullSineWavePoints");X(gW,"generateCirclePoints");X(A10,"mergePaths");wA4=X((u,B)=>{var{x:E,y:A}=u,C=B.x-E,D=B.y-A,F=u.width/2,U=u.height/2,z,k;if(Math.abs(D)*F>Math.abs(C)*U){if(D<0)U=-U;z=D===0?0:U*C/D,k=U}else{if(C<0)F=-F;z=F,k=C===0?0:F*D/C}return{x:E+z,y:A+k}},"intersectRect"),fK=wA4,QA4=X(async(u,B,E,A=!1,C=!1)=>{let D=B||"";if(typeof D==="object")D=D[0];let F=y0(),U=G1(F);return await v2(u,D,{style:E,isTitle:A,useHtmlLabels:U,markdown:!1,isNode:C,width:Number.POSITIVE_INFINITY},F)},"createLabel"),gz=QA4,MM=X((u,B,E,A,C)=>["M",u+C,B,"H",u+E-C,"A",C,C,0,0,1,u+E,B+C,"V",B+A-C,"A",C,C,0,0,1,u+E-C,B+A,"H",u+C,"A",C,C,0,0,1,u,B+A-C,"V",B+C,"A",C,C,0,0,1,u+C,B,"Z"].join(" "),"createRoundedRectPathD"),GA4=X(async(u,B)=>{let E=y0(),{themeVariables:A,handDrawnSeed:C}=E,{clusterBkg:D,clusterBorder:F}=A,U=F,{labelStyles:z,nodeStyles:k,borderStyles:f,backgroundStyles:M}=q4(B),b=u.insert("g").attr("class","cluster swimlane "+(B.cssClasses||"")).attr("id",B.id).attr("data-id",B.id).attr("data-et","cluster").attr("data-look",B.look),Z=uA(E.flowchart.htmlLabels),J=B.direction==="LR",K=b.insert("g").attr("class","cluster-label swimlane-label"),w=await v2(K,B.label,{style:B.labelStyle,useHtmlLabels:Z,isNode:!0,width:B.width}),Q=w.getBBox();if(Z){let Y=w.children[0],h=Qu(w);Q=Y.getBoundingClientRect(),h.attr("width",Q.width),h.attr("height",Q.height)}let G=B.padding??0,H=B.width<=Q.width+G?Q.width+G:B.width;if(B.width<=Q.width+G)B.diff=(H-B.width)/2-G;else B.diff=-G;let l=B.height,q=B.y-l/2,L=B.y+l/2,v=B.x-H/2,x=B.swimlaneContentTop!==void 0?B.swimlaneContentTop:q+l/3,S=J?4:0,W=Q.height+2*S,T,R;if(J){let Y=Math.max(W,Q.height+2*S),h=v+Y,I=Math.max(0,H-Y);if(B.look==="handDrawn"){let j=Ou.svg(b),i=W4(B,{roughness:0.7,fill:D,stroke:U,fillWeight:3,seed:C}),a=W4(B,{roughness:0.7,fill:"none",stroke:U,seed:C}),$=j.rectangle(v,q,Y,l,i);T=b.insert(()=>$,":first-child");let m=j.rectangle(h,q,I,l,a);R=b.insert(()=>m,":first-child"),T.select("path:nth-child(2)").attr("style",f.join(";")),T.select("path").attr("style",M.join(";").replace("fill","stroke"))}else T=b.insert("rect",":first-child"),R=b.insert("rect",":first-child"),T.attr("class","swimlane-title").attr("style",k).attr("x",v).attr("y",q).attr("width",Y).attr("height",l).attr("fill",D).attr("stroke",U),R.attr("class","swimlane-body").attr("style",k).attr("x",h).attr("y",q).attr("width",I).attr("height",l).attr("fill","none").attr("stroke",U);let O=v+Y/2,V=B.y;K.attr("transform",`translate(${O}, ${V}) rotate(-90) translate(${-Q.width/2}, ${-Q.height/2})`)}else{let Y=Math.max(0,x-q),h=Math.min(W,Y),I=q+h,O=Math.max(0,L-I),V=B.x-H/2;if(B.look==="handDrawn"){let a=Ou.svg(b),$=W4(B,{roughness:0.7,fill:D,stroke:U,fillWeight:3,seed:C}),m=W4(B,{roughness:0.7,fill:"none",stroke:U,seed:C}),y=a.rectangle(V,q,H,h,$);T=b.insert(()=>y,":first-child");let r=a.rectangle(V,I,H,O,m);R=b.insert(()=>r,":first-child"),T.select("path:nth-child(2)").attr("style",f.join(";")),T.select("path").attr("style",M.join(";").replace("fill","stroke"))}else T=b.insert("rect",":first-child"),R=b.insert("rect",":first-child"),T.attr("class","swimlane-title").attr("style",k).attr("x",V).attr("y",q).attr("width",H).attr("height",h).attr("fill",D).attr("stroke",U),R.attr("class","swimlane-body").attr("style",k).attr("x",V).attr("y",I).attr("width",H).attr("height",O).attr("fill","none").attr("stroke",U);let j=B.x-Q.width/2,i=q+(h-Q.height)/2;K.attr("transform",`translate(${j}, ${i})`)}if(z0.trace("Swimlane data ",B,JSON.stringify(B)),z){let Y=K.select("span");if(Y)Y.attr("style",z)}return B.offsetX=0,B.width=H,B.height=l,B.offsetY=Q.height-G/2,B.intersect=function(Y){return fK(B,Y)},{cluster:b,labelBBox:Q}},"swimlane"),ET0=X(async(u,B)=>{z0.info("Creating subgraph rect for ",B.id,B);let E=y0(),{themeVariables:A,handDrawnSeed:C}=E,{clusterBkg:D,clusterBorder:F}=A,{labelStyles:U,nodeStyles:z,borderStyles:k,backgroundStyles:f}=q4(B),M=u.insert("g").attr("class","cluster "+B.cssClasses).attr("id",B.domId).attr("data-look",B.look),b=G1(E),Z=M.insert("g").attr("class","cluster-label "),J;if(B.labelType==="markdown")J=await v2(Z,B.label,{style:B.labelStyle,useHtmlLabels:b,isNode:!0,width:B.width});else J=await gz(Z,B.label,B.labelStyle||"",!1,!0);let K=J.getBBox();if(G1(E)){let v=J.children[0],x=Qu(J);K=v.getBoundingClientRect(),x.attr("width",K.width),x.attr("height",K.height)}let w=B.width<=K.width+B.padding?K.width+B.padding:B.width;if(B.width<=K.width+B.padding)B.diff=(w-B.width)/2-B.padding;else B.diff=-B.padding;let Q=B.height,G=B.x-w/2,H=B.y-Q/2;z0.trace("Data ",B,JSON.stringify(B));let l;if(B.look==="handDrawn"){let v=Ou.svg(M),x=W4(B,{roughness:0.7,fill:D,stroke:F,fillWeight:3,seed:C}),S=v.path(MM(G,H,w,Q,0),x);l=M.insert(()=>{return z0.debug("Rough node insert CXC",S),S},":first-child"),l.select("path:nth-child(2)").attr("style",k.join(";")),l.select("path").attr("style",f.join(";").replace("fill","stroke"))}else l=M.insert("rect",":first-child"),l.attr("style",z).attr("rx",B.rx).attr("ry",B.ry).attr("x",G).attr("y",H).attr("width",w).attr("height",Q);let{subGraphTitleTopMargin:q}=SC(E);if(Z.attr("transform",`translate(${B.x-K.width/2}, ${B.y-B.height/2+q})`),U){let v=Z.select("span");if(v)v.attr("style",U)}let L=l.node().getBBox();return B.offsetX=0,B.width=L.width,B.height=L.height,B.offsetY=K.height-B.padding/2,B.intersect=function(v){return fK(B,v)},{cluster:M,labelBBox:K}},"rect"),HA4=X((u,B)=>{let E=u.insert("g").attr("class","note-cluster").attr("id",B.domId),A=E.insert("rect",":first-child"),C=0*B.padding,D=C/2;A.attr("rx",B.rx).attr("ry",B.ry).attr("x",B.x-B.width/2-D).attr("y",B.y-B.height/2-D).attr("width",B.width+C).attr("height",B.height+C).attr("fill","none");let F=A.node().getBBox();return B.width=F.width,B.height=F.height,B.intersect=function(U){return fK(B,U)},{cluster:E,labelBBox:{width:0,height:0}}},"noteGroup"),qA4=X(async(u,B)=>{let E=y0(),{themeVariables:A,handDrawnSeed:C}=E,{altBackground:D,compositeBackground:F,compositeTitleBackground:U,nodeBorder:z}=A,k=u.insert("g").attr("class",B.cssClasses).attr("id",B.domId).attr("data-id",B.id).attr("data-look",B.look),f=k.insert("g",":first-child"),M=k.insert("g").attr("class","cluster-label"),b=k.append("rect"),Z=await gz(M,B.label,B.labelStyle,void 0,!0),J=Z.getBBox();if(G1(E)){let S=Z.children[0],W=Qu(Z);J=S.getBoundingClientRect(),W.attr("width",J.width),W.attr("height",J.height)}let K=0*B.padding,w=K/2,Q=(B.width<=J.width+B.padding?J.width+B.padding:B.width)+K;if(B.width<=J.width+B.padding)B.diff=(Q-B.width)/2-B.padding;else B.diff=-B.padding;let G=B.height+K,H=B.height+K-J.height-6,l=B.x-Q/2,q=B.y-G/2;B.width=Q;let L=B.y-B.height/2-w+J.height+2,v;if(B.look==="handDrawn"){let S=B.cssClasses.includes("statediagram-cluster-alt"),W=Ou.svg(k),T=B.rx||B.ry?W.path(MM(l,q,Q,G,10),{roughness:0.7,fill:U,fillStyle:"solid",stroke:z,seed:C}):W.rectangle(l,q,Q,G,{seed:C});v=k.insert(()=>T,":first-child");let R=W.rectangle(l,L,Q,H,{fill:S?D:F,fillStyle:S?"hachure":"solid",stroke:z,seed:C});v=k.insert(()=>T,":first-child"),b=k.insert(()=>R)}else{v=f.insert("rect",":first-child");let S="outer";v.attr("class",S).attr("x",l).attr("y",q).attr("width",Q).attr("height",G).attr("data-look",B.look),b.attr("class","inner").attr("x",l).attr("y",L).attr("width",Q).attr("height",H)}M.attr("transform",`translate(${B.x-J.width/2}, ${q+1-(G1(E)?0:3)})`);let x=v.node().getBBox();return B.height=x.height,B.offsetX=0,B.offsetY=J.height-B.padding/2,B.labelBBox=J,B.intersect=function(S){return fK(B,S)},{cluster:k,labelBBox:J}},"roundedWithTitle"),lA4=X(async(u,B)=>{z0.info("Creating subgraph rect for ",B.id,B);let E=y0(),{themeVariables:A,handDrawnSeed:C}=E,{clusterBkg:D,clusterBorder:F}=A,{labelStyles:U,nodeStyles:z,borderStyles:k,backgroundStyles:f}=q4(B),M=u.insert("g").attr("class","cluster "+B.cssClasses).attr("id",B.domId).attr("data-look",B.look),b=G1(E),Z=M.insert("g").attr("class","cluster-label "),J=await v2(Z,B.label,{style:B.labelStyle,useHtmlLabels:b,isNode:!0,width:B.width}),K=J.getBBox();if(G1(E)){let v=J.children[0],x=Qu(J);K=v.getBoundingClientRect(),x.attr("width",K.width),x.attr("height",K.height)}let w=B.width<=K.width+B.padding?K.width+B.padding:B.width;if(B.width<=K.width+B.padding)B.diff=(w-B.width)/2-B.padding;else B.diff=-B.padding;let Q=B.height,G=B.x-w/2,H=B.y-Q/2;z0.trace("Data ",B,JSON.stringify(B));let l;if(B.look==="handDrawn"){let v=Ou.svg(M),x=W4(B,{roughness:0.7,fill:D,stroke:F,fillWeight:4,seed:C}),S=v.path(MM(G,H,w,Q,B.rx),x);l=M.insert(()=>{return z0.debug("Rough node insert CXC",S),S},":first-child"),l.select("path:nth-child(2)").attr("style",k.join(";")),l.select("path").attr("style",f.join(";").replace("fill","stroke"))}else l=M.insert("rect",":first-child"),l.attr("style",z).attr("rx",B.rx).attr("ry",B.ry).attr("x",G).attr("y",H).attr("width",w).attr("height",Q);let{subGraphTitleTopMargin:q}=SC(E);if(Z.attr("transform",`translate(${B.x-K.width/2}, ${B.y-B.height/2+q})`),U){let v=Z.select("span");if(v)v.attr("style",U)}let L=l.node().getBBox();return B.offsetX=0,B.width=L.width,B.height=L.height,B.offsetY=K.height-B.padding/2,B.intersect=function(v){return fK(B,v)},{cluster:M,labelBBox:K}},"kanbanSection"),LA4=X((u,B)=>{let E=y0(),{themeVariables:A,handDrawnSeed:C}=E,{nodeBorder:D}=A,F=u.insert("g").attr("class",B.cssClasses).attr("id",B.domId).attr("data-look",B.look),U=F.insert("g",":first-child"),z=0*B.padding,k=B.width+z;B.diff=-B.padding;let f=B.height+z,M=B.x-k/2,b=B.y-f/2;B.width=k;let Z;if(B.look==="handDrawn"){let w=Ou.svg(F).rectangle(M,b,k,f,{fill:"lightgrey",roughness:0.5,strokeLineDash:[5],stroke:D,seed:C});Z=F.insert(()=>w,":first-child")}else{Z=U.insert("rect",":first-child");let K="outer";if(B.look==="neo")K="divider";else K="divider";Z.attr("class",K).attr("x",M).attr("y",b).attr("width",k).attr("height",f).attr("data-look",B.look)}let J=Z.node().getBBox();return B.height=J.height,B.offsetX=0,B.offsetY=0,B.intersect=function(K){return fK(B,K)},{cluster:F,labelBBox:{}}},"divider"),XA4=ET0,vA4={rect:ET0,squareRect:XA4,roundedWithTitle:qA4,noteGroup:HA4,divider:LA4,kanbanSection:lA4,swimlane:GA4},AT0=new Map,bM=X(async(u,B)=>{let E=B.shape||"rect",A=await vA4[E](u,B);return AT0.set(B.id,A),A},"insertCluster"),Th=X(()=>{AT0=new Map},"clear");X(CT0,"intersectNode");xA4=CT0;X(DT0,"intersectEllipse");FT0=DT0;X(UT0,"intersectCircle");WA4=UT0;X(zT0,"intersectLine");X(C10,"sameSign");SA4=zT0;X(kT0,"intersectPolygon");YA4=kT0,l4={node:xA4,circle:WA4,ellipse:FT0,polygon:YA4,rect:fK};X(fT0,"anchor");X(D10,"generateArcPoints");X(MT0,"calculateArcSagitta");X(bT0,"bowTieRect");X(cz,"insertPolygonShape");X(ZT0,"card");X(JT0,"choice");X(F10,"circle");X(KT0,"createLine");X(wT0,"crossedCircle");X(yz,"generateCirclePoints");X(QT0,"curlyBraceLeft");X(rz,"generateCirclePoints");X(GT0,"curlyBraceRight");X(D7,"generateCirclePoints");X(HT0,"curlyBraces");X(qT0,"curvedTrapezoid");RA4=X((u,B,E,A,C,D)=>{return[`M${u},${B+D}`,`a${C},${D} 0,0,0 ${E},0`,`a${C},${D} 0,0,0 ${-E},0`,`l0,${A}`,`a${C},${D} 0,0,0 ${E},0`,`l0,${-A}`].join(" ")},"createCylinderPathD"),TA4=X((u,B,E,A,C,D)=>{return[`M${u},${B+D}`,`M${u+E},${B+D}`,`a${C},${D} 0,0,0 ${-E},0`,`l0,${A}`,`a${C},${D} 0,0,0 ${E},0`,`l0,${-A}`].join(" ")},"createOuterCylinderPathD"),OA4=X((u,B,E,A,C,D)=>{return[`M${u-E/2},${-A/2}`,`a${C},${D} 0,0,0 ${E},0`].join(" ")},"createInnerCylinderPathD");X(lT0,"cylinder");X(sH,"drawRect");X(LT0,"datastore");X(XT0,"dividedRectangle");X(vT0,"doublecircle");X(xT0,"filledCircle");X(WT0,"flippedTriangle");X(ST0,"forkJoin");X(YT0,"halfRoundedRectangle");IA4=X((u,B,E,A,C)=>{return[`M${u+C},${B}`,`L${u+E-C},${B}`,`L${u+E},${B-A/2}`,`L${u+E-C},${B-A}`,`L${u+C},${B-A}`,`L${u},${B-A/2}`,"Z"].join(" ")},"createHexagonPathD");X(RT0,"hexagon");X(TT0,"hourglass");X(OT0,"icon");X(IT0,"iconCircle");X(PT0,"iconRounded");X(jT0,"iconSquare");X(NT0,"imageSquare");X(VT0,"inv_trapezoid");X(hT0,"labelRect");X(iT0,"lean_left");X(aT0,"lean_right");X(mT0,"lightningBolt");PA4=X((u,B,E,A,C,D,F)=>{return[`M${u},${B+D}`,`a${C},${D} 0,0,0 ${E},0`,`a${C},${D} 0,0,0 ${-E},0`,`l0,${A}`,`a${C},${D} 0,0,0 ${E},0`,`l0,${-A}`,`M${u},${B+D+F}`,`a${C},${D} 0,0,0 ${E},0`].join(" ")},"createCylinderPathD"),jA4=X((u,B,E,A,C,D,F)=>{return[`M${u},${B+D}`,`M${u+E},${B+D}`,`a${C},${D} 0,0,0 ${-E},0`,`l0,${A}`,`a${C},${D} 0,0,0 ${E},0`,`l0,${-A}`,`M${u},${B+D+F}`,`a${C},${D} 0,0,0 ${E},0`].join(" ")},"createOuterCylinderPathD"),NA4=X((u,B,E,A,C,D)=>{return[`M${u-E/2},${-A/2}`,`a${C},${D} 0,0,0 ${E},0`].join(" ")},"createInnerCylinderPathD");X($T0,"linedCylinder");X(yT0,"linedWaveEdgedRect");X(rT0,"multiRect");X(gT0,"multiWaveEdgedRectangle");X(cT0,"note");VA4=X((u,B,E)=>{return[`M${u+E/2},${B}`,`L${u+E},${B-E/2}`,`L${u+E/2},${B-E}`,`L${u},${B-E/2}`,"Z"].join(" ")},"createDecisionBoxPathD");X(_T0,"question");X(pT0,"rect_left_inv_arrow");X(nT0,"rectWithTitle");X(dT0,"roundedRect");X(sT0,"shadedProcess");X(oT0,"slopedRect");X(tT0,"squareRect");X(eT0,"stadium");X(uO0,"state");X(BO0,"stateEnd");X(EO0,"stateStart");X(AO0,"subroutine");X(CO0,"taggedRect");X(DO0,"taggedWaveEdgedRectangle");X(FO0,"text");hA4=X((u,B,E,A,C,D)=>{return`M${u},${B}
a${C},${D} 0,0,1 0,${-A}
l${E},0
a${C},${D} 0,0,1 0,${A}
M${E},${-A}
a${C},${D} 0,0,0 0,${A}
l${-E},0`},"createCylinderPathD"),iA4=X((u,B,E,A,C,D)=>{return[`M${u},${B}`,`M${u+E},${B}`,`a${C},${D} 0,0,0 0,${-A}`,`l${-E},0`,`a${C},${D} 0,0,0 0,${A}`,`l${E},0`].join(" ")},"createOuterCylinderPathD"),aA4=X((u,B,E,A,C,D)=>{return[`M${u+E/2},${-A/2}`,`a${C},${D} 0,0,0 0,${A}`].join(" ")},"createInnerCylinderPathD");X(UO0,"tiltedCylinder");X(zO0,"trapezoid");X(kO0,"trapezoidalPentagon");X(fO0,"triangle");X(MO0,"waveEdgedRectangle");X(bO0,"waveRectangle");X(ZO0,"windowPane");BT0=new Set(["redux-color","redux-dark-color"]),mA4=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);X(U10,"erBox");X(nH,"addText");X(dH,"lineToPolygon");X(JO0,"textHelper");X(rW,"addText");X(KO0,"classBox");X(wO0,"requirementBox");X(OF,"addText");$A4=X((u)=>{switch(u){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");X(QO0,"kanbanItem");X(GO0,"bang");X(HO0,"cloud");X(qO0,"defaultMindmapNode");X(lO0,"mindmapCircle");yA4=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:tT0},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:dT0},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:eT0},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:AO0},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:lT0},{semanticName:"Data Store",name:"Data Store",shortName:"datastore",description:"Data flow diagram data store",aliases:["data-store"],handler:LT0},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:F10},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:GO0},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:HO0},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:_T0},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:RT0},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:aT0},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:iT0},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:zO0},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:VT0},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:vT0},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:FO0},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:ZT0},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:sT0},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:EO0},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:BO0},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:ST0},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:TT0},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:QT0},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:GT0},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:HT0},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:mT0},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:MO0},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:YT0},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:UO0},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:$T0},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:qT0},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:XT0},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:fO0},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:ZO0},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:xT0},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:kO0},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:WT0},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:oT0},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:gT0},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:rT0},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:bT0},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:wT0},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:DO0},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:CO0},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:bO0},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:pT0},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:yT0}],rA4=X(()=>{let B=[...Object.entries({state:uO0,choice:JT0,note:cT0,rectWithTitle:nT0,labelRect:hT0,iconSquare:jT0,iconCircle:IT0,icon:OT0,iconRounded:PT0,imageSquare:NT0,anchor:fT0,kanbanItem:QO0,mindmapCircle:lO0,defaultMindmapNode:qO0,classBox:KO0,erBox:U10,requirementBox:wO0}),...yA4.flatMap((E)=>{return[E.shortName,..."aliases"in E?E.aliases:[],..."internalAliases"in E?E.internalAliases:[]].map((C)=>[C,E.handler])})];return Object.fromEntries(B)},"generateShapeMap"),LO0=rA4();X(z10,"isValidShape");Oh=new Map;X(_z,"insertNode");XO0=X((u,B)=>{Oh.set(B.id,u)},"setNodeElem"),Ih=X(()=>{Oh.clear()},"clear"),MK=X((u)=>{let B=Oh.get(u.id);z0.trace("Transforming node",u.diff,u,"translate("+(u.x-u.width/2-5)+", "+u.width/2+")");let E=8,A=u.diff||0;if(u.clusterNode)B.attr("transform","translate("+(u.x+A-u.width/2)+", "+(u.y-u.height/2-E)+")");else B.attr("transform","translate("+u.x+", "+u.y+")");return A},"positionNode")});function cW(u,B){if(u===void 0||B===void 0)return{angle:0,deltaX:0,deltaY:0};u=F9(u),B=F9(B);let[E,A]=[u.x,u.y],[C,D]=[B.x,B.y],F=C-E,U=D-A;return{angle:Math.atan(U/F),deltaX:F,deltaY:U}}var CA,x2,k10,F9,Ph;var HB=g(()=>{Y4();CA=X((u,B)=>{if(B)return"translate("+-u.width/2+", "+-u.height/2+")";let E=u.x??0,A=u.y??0;return"translate("+-(E+u.width/2)+", "+-(A+u.height/2)+")"},"computeLabelTransform"),x2={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},k10={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};X(cW,"calculateDeltaAndAngle");F9=X((u)=>{if(Array.isArray(u))return{x:u[0],y:u[1]};return u},"pointTransformer"),Ph=X((u)=>{return{x:X(function(B,E,A){let C=0,D=F9(A[0]).x<F9(A[A.length-1]).x?"left":"right";if(E===0&&Object.hasOwn(x2,u.arrowTypeStart)){let{angle:Z,deltaX:J}=cW(A[0],A[1]);C=x2[u.arrowTypeStart]*Math.cos(Z)*(J>=0?1:-1)}else if(E===A.length-1&&Object.hasOwn(x2,u.arrowTypeEnd)){let{angle:Z,deltaX:J}=cW(A[A.length-1],A[A.length-2]);C=x2[u.arrowTypeEnd]*Math.cos(Z)*(J>=0?1:-1)}let F=Math.abs(F9(B).x-F9(A[A.length-1]).x),U=Math.abs(F9(B).y-F9(A[A.length-1]).y),z=Math.abs(F9(B).x-F9(A[0]).x),k=Math.abs(F9(B).y-F9(A[0]).y),f=x2[u.arrowTypeStart],M=x2[u.arrowTypeEnd],b=1;if(F<M&&F>0&&U<M){let Z=M+b-F;Z*=D==="right"?-1:1,C-=Z}if(z<f&&z>0&&k<f){let Z=f+b-z;Z*=D==="right"?-1:1,C+=Z}return F9(B).x+C},"x"),y:X(function(B,E,A){let C=0,D=F9(A[0]).y<F9(A[A.length-1]).y?"down":"up";if(E===0&&Object.hasOwn(x2,u.arrowTypeStart)){let{angle:Z,deltaY:J}=cW(A[0],A[1]);C=x2[u.arrowTypeStart]*Math.abs(Math.sin(Z))*(J>=0?1:-1)}else if(E===A.length-1&&Object.hasOwn(x2,u.arrowTypeEnd)){let{angle:Z,deltaY:J}=cW(A[A.length-1],A[A.length-2]);C=x2[u.arrowTypeEnd]*Math.abs(Math.sin(Z))*(J>=0?1:-1)}let F=Math.abs(F9(B).y-F9(A[A.length-1]).y),U=Math.abs(F9(B).x-F9(A[A.length-1]).x),z=Math.abs(F9(B).y-F9(A[0]).y),k=Math.abs(F9(B).x-F9(A[0]).x),f=x2[u.arrowTypeStart],M=x2[u.arrowTypeEnd],b=1;if(F<M&&F>0&&U<M){let Z=M+b-F;Z*=D==="up"?-1:1,C-=Z}if(z<f&&z>0&&k<f){let Z=f+b-z;Z*=D==="up"?-1:1,C+=Z}return F9(B).y+C},"y")}},"getLineFunctionsWithOffset")});function pW(u,B){if(G1(y0())&&u)u.style.width=B.length*9+"px",u.style.height="12px"}function SO0(u){let B=[],E=[];for(let A=1;A<u.length-1;A++){let C=u[A-1],D=u[A],F=u[A+1];if(C.x===D.x&&D.y===F.y&&Math.abs(D.x-F.x)>5&&Math.abs(D.y-C.y)>5)B.push(D),E.push(A);else if(C.y===D.y&&D.x===F.x&&Math.abs(D.x-C.x)>5&&Math.abs(D.y-F.y)>5)B.push(D),E.push(A)}return{cornerPoints:B,cornerPointPositions:E}}function YO0(u,B){if(u.length<2)return"";let E="",A=u.length,C=0.00001;for(let D=0;D<A;D++){let F=u[D],U=u[D-1],z=u[D+1];if(D===0)E+=`M${F.x},${F.y}`;else if(D===A-1)E+=`L${F.x},${F.y}`;else{let k=F.x-U.x,f=F.y-U.y,M=z.x-F.x,b=z.y-F.y,Z=Math.hypot(k,f),J=Math.hypot(M,b);if(Z<C||J<C){E+=`L${F.x},${F.y}`;continue}let K=k/Z,w=f/Z,Q=M/J,G=b/J,H=K*Q+w*G,l=Math.max(-1,Math.min(1,H)),q=Math.acos(l);if(q<C||Math.abs(Math.PI-q)<C){E+=`L${F.x},${F.y}`;continue}let L=Math.min(B/Math.sin(q/2),Z/2,J/2),v=F.x-K*L,x=F.y-w*L,S=F.x+Q*L,W=F.y+G*L;E+=`L${v},${x}`,E+=`Q${F.x},${F.y} ${S},${W}`}}return E}function f10(u,B){if(!u||!B)return{angle:0,deltaX:0,deltaY:0};let E=B.x-u.x,A=B.y-u.y;return{angle:Math.atan2(A,E),deltaX:E,deltaY:A}}function RO0(u,B){let E=u.map((C)=>({...C}));if(u.length>=2&&x2[B.arrowTypeStart]){let C=x2[B.arrowTypeStart],D=u[0],F=u[1],{angle:U}=f10(D,F),z=C*Math.cos(U),k=C*Math.sin(U);E[0].x=D.x+z,E[0].y=D.y+k}let A=u.length;if(A>=2&&x2[B.arrowTypeEnd]){let C=x2[B.arrowTypeEnd],D=u[A-1],F=u[A-2],{angle:U}=f10(F,D),z=C*Math.cos(U),k=C*Math.sin(U);E[A-1].x=D.x-z,E[A-1].y=D.y-k}return E}var gA4,cA4,_A4,vO0,pA4,oH,h9,jh,_W,bK,Nh,nA4,dA4,sA4,xO0,WO0,oA4,tA4,tH,eA4,uC4,BC4,EC4,AC4,CC4,DC4,FC4,UC4,zC4,kC4,fC4,MC4,bC4,ZC4,JC4,KC4,wC4,QC4,GC4,HC4,qC4,lC4,LC4,eH;var b8=g(()=>{F7();E7();HB();C7();s2();e3();s4();o4();Y4();V3();j4();gA4=X((u,B,E,A,C,D=!1,F)=>{if(B.arrowTypeStart)vO0(u,"start",B.arrowTypeStart,E,A,C,D,F);if(B.arrowTypeEnd)vO0(u,"end",B.arrowTypeEnd,E,A,C,D,F)},"addEdgeMarkers"),cA4={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},_A4=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],vO0=X((u,B,E,A,C,D,F=!1,U)=>{let z=cA4[E],k=z&&_A4.includes(z.type);if(!z){z0.warn(`Unknown arrow type: ${E}`);return}let f=z.type,Z=`${C}_${D}-${f}${B==="start"?"Start":"End"}${F&&k?"-margin":""}`;if(U&&U.trim()!==""){let J=U.replace(/[^\dA-Za-z]/g,"_"),K=`${Z}_${J}`;if(!document.getElementById(K)){let w=document.getElementById(Z);if(w){let Q=w.cloneNode(!0);Q.id=K,Q.querySelectorAll("path, circle, line").forEach((H)=>{if(H.setAttribute("stroke",U),z.fill)H.setAttribute("fill",U)}),w.parentNode?.appendChild(Q)}}u.attr(`marker-${B}`,`url(${A}#${K})`)}else u.attr(`marker-${B}`,`url(${A}#${Z})`)},"addEdgeMarker"),pA4=X((u)=>{return typeof u==="string"?u:y0()?.flowchart?.curve},"resolveEdgeCurveType"),oH=new Map,h9=new Map,jh=X(()=>{oH.clear(),h9.clear()},"clear"),_W=X((u)=>{if(!u)return"";if(typeof u==="string")return u;return u.reduce((B,E)=>B+";"+E,"")},"getLabelStyles"),bK=X(async(u,B)=>{let E=y0(),A=G1(E),{labelStyles:C}=q4(B);B.labelStyle=C;let D=u.insert("g").attr("class","edgeLabel"),F=D.insert("g").attr("class","label").attr("data-id",B.id),U=B.labelType==="markdown",z=void 0,k=await v2(u,B.label,{style:_W(B.labelStyle),useHtmlLabels:A,addSvgBackground:!0,isNode:!1,markdown:U,width:U?z:void 0},E);F.node().appendChild(k),z0.info("abc82",B,B.labelType);let f=k.getBBox(),M=f;if(A){let Z=k.children[0],J=Qu(k);f=Z.getBoundingClientRect(),M=f,J.attr("width",f.width),J.attr("height",f.height)}else{let Z=Qu(k).select("text").node();if(Z&&typeof Z.getBBox==="function")M=Z.getBBox()}F.attr("transform",CA(M,A)),oH.set(B.id,D),B.width=f.width,B.height=f.height;let b;if(B.startLabelLeft){let Z=u.insert("g").attr("class","edgeTerminals"),J=Z.insert("g").attr("class","inner"),K=await gz(J,B.startLabelLeft,_W(B.labelStyle)||"",!1,!1);b=K;let w=K.getBBox();if(A){let Q=K.children[0],G=Qu(K);w=Q.getBoundingClientRect(),G.attr("width",w.width),G.attr("height",w.height)}if(J.attr("transform",CA(w,A)),!h9.get(B.id))h9.set(B.id,{});h9.get(B.id).startLeft=Z,pW(b,B.startLabelLeft)}if(B.startLabelRight){let Z=u.insert("g").attr("class","edgeTerminals"),J=Z.insert("g").attr("class","inner"),K=await gz(J,B.startLabelRight,_W(B.labelStyle)||"",!1,!1);b=K;let w=K.getBBox();if(A){let Q=K.children[0],G=Qu(K);w=Q.getBoundingClientRect(),G.attr("width",w.width),G.attr("height",w.height)}if(J.attr("transform",CA(w,A)),!h9.get(B.id))h9.set(B.id,{});h9.get(B.id).startRight=Z,pW(b,B.startLabelRight)}if(B.endLabelLeft){let Z=u.insert("g").attr("class","edgeTerminals"),J=Z.insert("g").attr("class","inner"),K=await gz(Z,B.endLabelLeft,_W(B.labelStyle)||"",!1,!1);b=K;let w=K.getBBox();if(A){let Q=K.children[0],G=Qu(K);w=Q.getBoundingClientRect(),G.attr("width",w.width),G.attr("height",w.height)}if(J.attr("transform",CA(w,A)),!h9.get(B.id))h9.set(B.id,{});h9.get(B.id).endLeft=Z,pW(b,B.endLabelLeft)}if(B.endLabelRight){let Z=u.insert("g").attr("class","edgeTerminals"),J=Z.insert("g").attr("class","inner"),K=await gz(Z,B.endLabelRight,_W(B.labelStyle)||"",!1,!1);b=K;let w=K.getBBox();if(A){let Q=K.children[0],G=Qu(K);w=Q.getBoundingClientRect(),G.attr("width",w.width),G.attr("height",w.height)}if(J.attr("transform",CA(w,A)),!h9.get(B.id))h9.set(B.id,{});h9.get(B.id).endRight=Z,pW(b,B.endLabelRight)}return k},"insertEdgeLabel");X(pW,"setTerminalWidth");Nh=X((u,B)=>{z0.debug("Moving label abc88 ",u.id,u.label,oH.get(u.id),B);let E=B.updatedPath?B.updatedPath:B.originalPath,A=y0(),{subGraphTitleTotalMargin:C}=SC(A);if(u.label){let D=oH.get(u.id),F=u.x,U=u.y;if(E){let z=R4.calcLabelPosition(E);if(z0.debug("Moving label "+u.label+" from (",F,",",U,") to (",z.x,",",z.y,") abc88"),B.updatedPath)F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U+C/2})`)}if(u.startLabelLeft){let D=h9.get(u.id).startLeft,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeStart?10:0,"start_left",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.startLabelRight){let D=h9.get(u.id).startRight,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeStart?10:0,"start_right",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.endLabelLeft){let D=h9.get(u.id).endLeft,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeEnd?10:0,"end_left",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.endLabelRight){let D=h9.get(u.id).endRight,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeEnd?10:0,"end_right",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}},"positionEdgeLabel"),nA4=X((u,B)=>{if(!u?.isLabelEdge||!u?.id?.endsWith("-to-label")||!Array.isArray(B))return B;if(B.length!==2)return B;let[E,A]=B,C=Math.abs(A.x-E.x),D=Math.abs(A.y-E.y);if(C<0.001||D<0.001)return B;if(D>=C)return[E,{x:E.x,y:A.y},A];return[E,{x:A.x,y:E.y},A]},"orthogonalizeToLabelClippedPoints"),dA4=X((u,B)=>{let{x:E,y:A}=u,C=Math.abs(B.x-E),D=Math.abs(B.y-A),F=u.width/2,U=u.height/2;return C>=F||D>=U},"outsideNode"),sA4=X((u,B,E)=>{z0.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(B)}
insidePoint : ${JSON.stringify(E)}
node : x:${u.x} y:${u.y} w:${u.width} h:${u.height}`);let{x:A,y:C}=u,D=Math.abs(A-E.x),F=u.width/2,U=E.x<B.x?F-D:F+D,z=u.height/2,k=Math.abs(B.y-E.y),f=Math.abs(B.x-E.x);if(Math.abs(C-B.y)*F>Math.abs(A-B.x)*z){let M=E.y<B.y?B.y-z-C:C-z-B.y;U=f*M/k;let b={x:E.x<B.x?E.x+U:E.x-f+U,y:E.y<B.y?E.y+k-M:E.y-k+M};if(U===0)b.x=B.x,b.y=B.y;if(f===0)b.x=B.x;if(k===0)b.y=B.y;return z0.debug(`abc89 top/bottom calc, Q ${k}, q ${M}, R ${f}, r ${U}`,b),b}else{if(E.x<B.x)U=B.x-F-A;else U=A-F-B.x;let M=k*U/f,b=E.x<B.x?E.x+f-U:E.x-f+U,Z=E.y<B.y?E.y+M:E.y-M;if(z0.debug(`sides calc abc89, Q ${k}, q ${M}, R ${f}, r ${U}`,{_x:b,_y:Z}),U===0)b=B.x,Z=B.y;if(f===0)b=B.x;if(k===0)Z=B.y;return{x:b,y:Z}}},"intersection"),xO0=X((u,B)=>{z0.warn("abc88 cutPathAtIntersect",u,B);let E=[],A=u[0],C=!1;return u.forEach((D)=>{if(z0.info("abc88 checking point",D,B),!dA4(B,D)&&!C){let F=sA4(B,A,D);z0.debug("abc88 inside",D,A,F),z0.debug("abc88 intersection",F,B);let U=!1;if(E.forEach((z)=>{U=U||z.x===F.x&&z.y===F.y}),!E.some((z)=>z.x===F.x&&z.y===F.y))E.push(F);else z0.warn("abc88 no intersect",F,E);C=!0}else if(z0.warn("abc88 outside",D,A),A=D,!C)E.push(D)}),z0.debug("returning points",E),E},"cutPathAtIntersect");X(SO0,"extractCornerPoints");WO0=X(function(u,B,E){let A=B.x-u.x,C=B.y-u.y,D=Math.sqrt(A*A+C*C),F=E/D;return{x:B.x-F*A,y:B.y-F*C}},"findAdjacentPoint"),oA4=X(function(u){let{cornerPointPositions:B}=SO0(u),E=[];for(let A=0;A<u.length;A++)if(B.includes(A)){let C=u[A-1],D=u[A+1],F=u[A],U=WO0(C,F,5),z=WO0(D,F,5),k=z.x-U.x,f=z.y-U.y;E.push(U);let M=Math.sqrt(2)*2,b={x:F.x,y:F.y};if(Math.abs(D.x-C.x)>10&&Math.abs(D.y-C.y)>=10){z0.debug("Corner point fixing",Math.abs(D.x-C.x),Math.abs(D.y-C.y));let Z=5;if(F.x===U.x)b={x:k<0?U.x-Z+M:U.x+Z-M,y:f<0?U.y-M:U.y+M};else b={x:k<0?U.x-M:U.x+M,y:f<0?U.y-Z+M:U.y+Z-M}}else z0.debug("Corner point skipping fixing",Math.abs(D.x-C.x),Math.abs(D.y-C.y));E.push(b,z)}else E.push(u[A]);return E},"fixCorners"),tA4=X((u,B,E)=>{let A=u-B-E,C=2,D=2,F=4,U=Math.floor(A/4),z=Array(U).fill("2 2").join(" ");return`0 ${B} ${z} ${E}`},"generateDashArray"),tH=X(function(u,B,E,A,C,D,F,U=!1){if(!F)throw Error(`insertEdge: missing diagramId for edge "${B.id}" — edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:z,layout:k}=y0(),f=B.points,M=!1,b=C;var Z=D;let J=[];for(let j in B.cssCompiledStyles){if(WW(j))continue;J.push(B.cssCompiledStyles[j])}if(k==="swimlane"){if(Z.intersect&&b.intersect&&Array.isArray(f)&&f.length>=2)if(f.length===2)f=[b.intersect(f[0]),Z.intersect(f[1])];else{let j=f.slice(1,-1),i=j[0],a=j[j.length-1],$=0.5,m=Math.abs(f[f.length-1].x-a.x)<0.5&&Math.abs(f[f.length-1].y-a.y)<0.5,y=b.intersect(i),r=m?a:Z.intersect(a),_=Math.abs(r.x-a.x)<0.5&&Math.abs(r.y-a.y)<0.5,p=Math.abs(y.x-i.x)<0.5&&Math.abs(y.y-i.y)<0.5?[]:[y],b0=_?[]:[r];f=[...p,...j,...b0]}f=nA4(B,f)}else if(Z.intersect&&b.intersect&&!U)f=f.slice(1,B.points.length-1),f.unshift(b.intersect(f[0])),f.push(Z.intersect(f[f.length-1]));let K=btoa(JSON.stringify(f));if(B.toCluster)z0.info("to cluster abc88",E.get(B.toCluster)),f=xO0(B.points,E.get(B.toCluster).node),M=!0;if(B.fromCluster)z0.debug("from cluster abc88",E.get(B.fromCluster),JSON.stringify(f,null,2)),f=xO0(f.reverse(),E.get(B.fromCluster).node).reverse(),M=!0;let w=f.filter((j)=>!Number.isNaN(j.y)),Q=pA4(B.curve);if(Q!=="rounded")w=oA4(w);let G=SF;switch(Q){case"linear":G=SF;break;case"basis":G=xC;break;case"cardinal":G=ZW;break;case"bumpX":G=kW;break;case"bumpY":G=fW;break;case"catmullRom":G=wW;break;case"monotoneX":G=QW;break;case"monotoneY":G=GW;break;case"natural":G=TH;break;case"step":G=OH;break;case"stepAfter":G=qW;break;case"stepBefore":G=HW;break;case"rounded":G=SF;break;default:G=xC}let{x:H,y:l}=Ph(B),q=vC().x(H).y(l).curve(G),L;switch(B.thickness){case"normal":L="edge-thickness-normal";break;case"thick":L="edge-thickness-thick";break;case"invisible":L="edge-thickness-invisible";break;default:L="edge-thickness-normal"}switch(B.pattern){case"solid":L+=" edge-pattern-solid";break;case"dotted":L+=" edge-pattern-dotted";break;case"dashed":L+=" edge-pattern-dashed";break;default:L+=" edge-pattern-solid"}let v,x=Q==="rounded"?YO0(RO0(w,B),5):q(w),S=Array.isArray(B.style)?B.style:[B.style],W=S.find((j)=>j?.startsWith("stroke:")),T="";if(B.animate)T="edge-animation-fast";if(B.animation)T="edge-animation-"+B.animation;let R=!1;if(B.look==="handDrawn"){let j=Ou.svg(u);Object.assign([],w);let i=j.path(x,{roughness:0.3,seed:z});L+=" transition",v=Qu(i).select("path").attr("id",`${F}-${B.id}`).attr("class"," "+L+(B.classes?" "+B.classes:"")+(T?" "+T:"")).attr("style",S?S.reduce(($,m)=>$+";"+m,""):"");let a=v.attr("d");v.attr("d",a),u.node().appendChild(v.node())}else{let j=J.join(";"),i=S?S.reduce((_,e)=>_+e+";",""):"",a=(j?j+";"+i+";":i)+";"+(S?S.reduce((_,e)=>_+";"+e,""):"");v=u.append("path").attr("d",x).attr("id",`${F}-${B.id}`).attr("class"," "+L+(B.classes?" "+B.classes:"")+(T?" "+T:"")).attr("style",a),W=a.match(/stroke:([^;]+)/)?.[1],R=B.animate===!0||!!B.animation||j.includes("animation");let $=v.node(),m=typeof $.getTotalLength==="function"?$.getTotalLength():0,y=k10[B.arrowTypeStart]||0,r=k10[B.arrowTypeEnd]||0;if(B.look==="neo"&&!R){let e=`stroke-dasharray: ${B.pattern==="dotted"||B.pattern==="dashed"?tA4(m,y,r):`0 ${y} ${m-y-r} ${r}`}; stroke-dashoffset: 0;`;v.attr("style",e+v.attr("style"))}}if(v.attr("data-edge",!0),v.attr("data-et","edge"),v.attr("data-id",B.id),v.attr("data-points",K),v.attr("data-look",L2(B.look)),B.showPoints)w.forEach((j)=>{u.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",j.x).attr("cy",j.y)});let Y="";if(y0().flowchart.arrowMarkerAbsolute||y0().state.arrowMarkerAbsolute)Y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,Y=Y.replace(/\(/g,"\\(").replace(/\)/g,"\\)");z0.info("arrowTypeStart",B.arrowTypeStart),z0.info("arrowTypeEnd",B.arrowTypeEnd);let h=!R&&B?.look==="neo";gA4(v,B,Y,F,A,h,W);let I=Math.floor(f.length/2),O=f[I];if(!R4.isLabelCoordinateInPath(O,v.attr("d")))M=!0;let V={};if(M)V.updatedPath=f;return V.originalPath=B.points,V},"insertEdge");X(YO0,"generateRoundedPath");X(f10,"calculateDeltaAndAngle");X(RO0,"applyMarkerOffsetsToPoints");eA4=X((u,B,E,A)=>{B.forEach((C)=>{LC4[C](u,E,A)})},"insertMarkers"),uC4=X((u,B,E)=>{z0.trace("Making markers for ",E),u.append("defs").append("marker").attr("id",E+"_"+B+"-extensionStart").attr("class","marker extension "+B).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-extensionEnd").attr("class","marker extension "+B).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),u.append("marker").attr("id",E+"_"+B+"-extensionStart-margin").attr("class","marker extension "+B).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),u.append("defs").append("marker").attr("id",E+"_"+B+"-extensionEnd-margin").attr("class","marker extension "+B).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),BC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-compositionStart").attr("class","marker composition "+B).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-compositionEnd").attr("class","marker composition "+B).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-compositionStart-margin").attr("class","marker composition "+B).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-compositionEnd-margin").attr("class","marker composition "+B).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),EC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-aggregationStart").attr("class","marker aggregation "+B).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-aggregationEnd").attr("class","marker aggregation "+B).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-aggregationStart-margin").attr("class","marker aggregation "+B).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-aggregationEnd-margin").attr("class","marker aggregation "+B).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),AC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-dependencyStart").attr("class","marker dependency "+B).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-dependencyEnd").attr("class","marker dependency "+B).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-dependencyStart-margin").attr("class","marker dependency "+B).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-dependencyEnd-margin").attr("class","marker dependency "+B).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),CC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-lollipopStart").attr("class","marker lollipop "+B).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),u.append("defs").append("marker").attr("id",E+"_"+B+"-lollipopEnd").attr("class","marker lollipop "+B).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),u.append("defs").append("marker").attr("id",E+"_"+B+"-lollipopStart-margin").attr("class","marker lollipop "+B).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),u.append("defs").append("marker").attr("id",E+"_"+B+"-lollipopEnd-margin").attr("class","marker lollipop "+B).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),DC4=X((u,B,E)=>{u.append("marker").attr("id",E+"_"+B+"-pointEnd").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-pointStart").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-pointEnd-margin").attr("class","marker "+B).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-pointStart-margin").attr("class","marker "+B).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),FC4=X((u,B,E)=>{u.append("marker").attr("id",E+"_"+B+"-circleEnd").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-circleStart").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-circleEnd-margin").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-circleStart-margin").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),UC4=X((u,B,E)=>{u.append("marker").attr("id",E+"_"+B+"-crossEnd").attr("class","marker cross "+B).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-crossStart").attr("class","marker cross "+B).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-crossEnd-margin").attr("class","marker cross "+B).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),u.append("marker").attr("id",E+"_"+B+"-crossStart-margin").attr("class","marker cross "+B).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),zC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),kC4=X((u,B,E)=>{let A=F4(),{themeVariables:C}=A,{transitionColor:D}=C;u.append("defs").append("marker").attr("id",E+"_"+B+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${D}`)},"barbNeo"),fC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-onlyOneStart").attr("class","marker onlyOne "+B).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),u.append("defs").append("marker").attr("id",E+"_"+B+"-onlyOneEnd").attr("class","marker onlyOne "+B).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),MC4=X((u,B,E)=>{let A=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrOneStart").attr("class","marker zeroOrOne "+B).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");A.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),A.append("path").attr("d","M9,0 L9,18");let C=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+B).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");C.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),C.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),bC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-oneOrMoreStart").attr("class","marker oneOrMore "+B).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),u.append("defs").append("marker").attr("id",E+"_"+B+"-oneOrMoreEnd").attr("class","marker oneOrMore "+B).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),ZC4=X((u,B,E)=>{let A=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+B).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");A.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),A.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let C=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+B).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");C.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),C.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),JC4=X((u,B,E)=>{let A=F4(),{themeVariables:C}=A,{strokeWidth:D}=C;u.append("defs").append("marker").attr("id",E+"_"+B+"-onlyOneStart").attr("class","marker onlyOne "+B).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${D}`),u.append("defs").append("marker").attr("id",E+"_"+B+"-onlyOneEnd").attr("class","marker onlyOne "+B).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${D}`)},"only_one_neo"),KC4=X((u,B,E)=>{let A=F4(),{themeVariables:C}=A,{strokeWidth:D,mainBkg:F}=C,U=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrOneStart").attr("class","marker zeroOrOne "+B).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");U.append("circle").attr("fill",F??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${D}`).attr("r",6),U.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${D}`);let z=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+B).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");z.append("circle").attr("fill",F??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${D}`).attr("r",6),z.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${D}`)},"zero_or_one_neo"),wC4=X((u,B,E)=>{let A=F4(),{themeVariables:C}=A,{strokeWidth:D}=C;u.append("defs").append("marker").attr("id",E+"_"+B+"-oneOrMoreStart").attr("class","marker oneOrMore "+B).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${D}`),u.append("defs").append("marker").attr("id",E+"_"+B+"-oneOrMoreEnd").attr("class","marker oneOrMore "+B).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${D}`)},"one_or_more_neo"),QC4=X((u,B,E)=>{let A=F4(),{themeVariables:C}=A,{strokeWidth:D,mainBkg:F}=C,U=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+B).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");U.append("circle").attr("fill",F??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${D}`),U.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${D}`);let z=u.append("defs").append("marker").attr("id",E+"_"+B+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+B).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");z.append("circle").attr("fill",F??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${D}`),z.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${D}`)},"zero_or_more_neo"),GC4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`)},"requirement_arrow"),HC4=X((u,B,E)=>{let A=F4(),{themeVariables:C}=A,{strokeWidth:D}=C;u.append("defs").append("marker").attr("id",E+"_"+B+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${D}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),qC4=X((u,B,E)=>{let A=u.append("defs").append("marker").attr("id",E+"_"+B+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");A.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),A.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),A.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),lC4=X((u,B,E)=>{let A=F4(),{themeVariables:C}=A,{strokeWidth:D}=C,F=u.append("defs").append("marker").attr("id",E+"_"+B+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");F.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),F.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),F.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),F.selectAll("*").attr("stroke-width",`${D}`)},"requirement_contains_neo"),LC4={extension:uC4,composition:BC4,aggregation:EC4,dependency:AC4,lollipop:CC4,point:DC4,circle:FC4,cross:UC4,barb:zC4,barbNeo:kC4,only_one:fC4,zero_or_one:MC4,one_or_more:bC4,zero_or_more:ZC4,only_one_neo:JC4,zero_or_one_neo:KC4,one_or_more_neo:wC4,zero_or_more_neo:QC4,requirement_arrow:GC4,requirement_contains:qC4,requirement_arrow_neo:HC4,requirement_contains_neo:lC4},eH=eA4});var XC4,Vh;var M10=g(()=>{XC4=typeof global=="object"&&global&&global.Object===Object&&global,Vh=XC4});var vC4,xC4,i9;var DA=g(()=>{M10();vC4=typeof self=="object"&&self&&self.Object===Object&&self,xC4=Vh||vC4||Function("return this")(),i9=xC4});var WC4,W5;var ZK=g(()=>{DA();WC4=i9.Symbol,W5=WC4});function RC4(u){var B=SC4.call(u,nW),E=u[nW];try{u[nW]=void 0;var A=!0}catch(D){}var C=YC4.call(u);if(A)if(B)u[nW]=E;else delete u[nW];return C}var TO0,SC4,YC4,nW,OO0;var IO0=g(()=>{ZK();TO0=Object.prototype,SC4=TO0.hasOwnProperty,YC4=TO0.toString,nW=W5?W5.toStringTag:void 0;OO0=RC4});function IC4(u){return OC4.call(u)}var TC4,OC4,PO0;var jO0=g(()=>{TC4=Object.prototype,OC4=TC4.toString;PO0=IC4});function NC4(u){if(u==null)return u===void 0?jC4:PC4;return NO0&&NO0 in Object(u)?OO0(u):PO0(u)}var PC4="[object Null]",jC4="[object Undefined]",NO0,qB;var ZM=g(()=>{ZK();IO0();jO0();NO0=W5?W5.toStringTag:void 0;qB=NC4});function VC4(u){return u!=null&&typeof u=="object"}var D2;var TC=g(()=>{D2=VC4});function iC4(u){return typeof u=="symbol"||D2(u)&&qB(u)==hC4}var hC4="[object Symbol]",ZE;var JK=g(()=>{ZM();TC();ZE=iC4});function aC4(u,B){var E=-1,A=u==null?0:u.length,C=Array(A);while(++E<A)C[E]=B(u[E],E,u);return C}var IF;var dW=g(()=>{IF=aC4});var mC4,s3;var W2=g(()=>{mC4=Array.isArray,s3=mC4});function iO0(u){if(typeof u=="string")return u;if(s3(u))return IF(u,iO0)+"";if(ZE(u))return hO0?hO0.call(u):"";var B=u+"";return B=="0"&&1/u==-$C4?"-0":B}var $C4=1/0,VO0,hO0,aO0;var mO0=g(()=>{ZK();dW();W2();JK();VO0=W5?W5.prototype:void 0,hO0=VO0?VO0.toString:void 0;aO0=iO0});function rC4(u){var B=u.length;while(B--&&yC4.test(u.charAt(B)));return B}var yC4,$O0;var yO0=g(()=>{yC4=/\s/;$O0=rC4});function cC4(u){return u?u.slice(0,$O0(u)+1).replace(gC4,""):u}var gC4,rO0;var gO0=g(()=>{yO0();gC4=/^\s+/;rO0=cC4});function _C4(u){var B=typeof u;return u!=null&&(B=="object"||B=="function")}var U9;var FA=g(()=>{U9=_C4});function oC4(u){if(typeof u=="number")return u;if(ZE(u))return cO0;if(U9(u)){var B=typeof u.valueOf=="function"?u.valueOf():u;u=U9(B)?B+"":B}if(typeof u!="string")return u===0?u:+u;u=rO0(u);var E=nC4.test(u);return E||dC4.test(u)?sC4(u.slice(2),E?2:8):pC4.test(u)?cO0:+u}var cO0=NaN,pC4,nC4,dC4,sC4,_O0;var pO0=g(()=>{gO0();FA();JK();pC4=/^[-+]0x[0-9a-f]+$/i,nC4=/^0b[01]+$/i,dC4=/^0o[0-7]+$/i,sC4=parseInt;_O0=oC4});function eC4(u){if(!u)return u===0?u:0;if(u=_O0(u),u===nO0||u===-nO0){var B=u<0?-1:1;return B*tC4}return u===u?u:0}var nO0=1/0,tC4=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,uq;var b10=g(()=>{pO0();uq=eC4});function uD4(u){var B=uq(u),E=B%1;return B===B?E?B-E:B:0}var dO0;var sO0=g(()=>{b10();dO0=uD4});function BD4(u){return u}var Z8;var JM=g(()=>{Z8=BD4});function FD4(u){if(!U9(u))return!1;var B=qB(u);return B==AD4||B==CD4||B==ED4||B==DD4}var ED4="[object AsyncFunction]",AD4="[object Function]",CD4="[object GeneratorFunction]",DD4="[object Proxy]",PF;var sW=g(()=>{ZM();FA();PF=FD4});var UD4,hh;var oO0=g(()=>{DA();UD4=i9["__core-js_shared__"],hh=UD4});function zD4(u){return!!tO0&&tO0 in u}var tO0,eO0;var uI0=g(()=>{oO0();tO0=function(){var u=/[^.]+$/.exec(hh&&hh.keys&&hh.keys.IE_PROTO||"");return u?"Symbol(src)_1."+u:""}();eO0=zD4});function MD4(u){if(u!=null){try{return fD4.call(u)}catch(B){}try{return u+""}catch(B){}}return""}var kD4,fD4,pz;var Z10=g(()=>{kD4=Function.prototype,fD4=kD4.toString;pz=MD4});function HD4(u){if(!U9(u)||eO0(u))return!1;var B=PF(u)?GD4:ZD4;return B.test(pz(u))}var bD4,ZD4,JD4,KD4,wD4,QD4,GD4,BI0;var EI0=g(()=>{sW();uI0();FA();Z10();bD4=/[\\^$.*+?()[\]{}|]/g,ZD4=/^\[object .+?Constructor\]$/,JD4=Function.prototype,KD4=Object.prototype,wD4=JD4.toString,QD4=KD4.hasOwnProperty,GD4=RegExp("^"+wD4.call(QD4).replace(bD4,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");BI0=HD4});function qD4(u,B){return u==null?void 0:u[B]}var AI0;var CI0=g(()=>{AI0=qD4});function lD4(u,B){var E=AI0(u,B);return BI0(E)?E:void 0}var J8;var KM=g(()=>{EI0();CI0();J8=lD4});var LD4,ih;var DI0=g(()=>{KM();DA();LD4=J8(i9,"WeakMap"),ih=LD4});var FI0,XD4,UI0;var zI0=g(()=>{FA();FI0=Object.create,XD4=function(){function u(){}return function(B){if(!U9(B))return{};if(FI0)return FI0(B);u.prototype=B;var E=new u;return u.prototype=void 0,E}}(),UI0=XD4});function vD4(u,B,E){switch(E.length){case 0:return u.call(B);case 1:return u.call(B,E[0]);case 2:return u.call(B,E[0],E[1]);case 3:return u.call(B,E[0],E[1],E[2])}return u.apply(B,E)}var kI0;var fI0=g(()=>{kI0=vD4});function xD4(){}var MI0;var bI0=g(()=>{MI0=xD4});function WD4(u,B){var E=-1,A=u.length;B||(B=Array(A));while(++E<A)B[E]=u[E];return B}var ah;var J10=g(()=>{ah=WD4});function TD4(u){var B=0,E=0;return function(){var A=RD4(),C=YD4-(A-E);if(E=A,C>0){if(++B>=SD4)return arguments[0]}else B=0;return u.apply(void 0,arguments)}}var SD4=800,YD4=16,RD4,ZI0;var JI0=g(()=>{RD4=Date.now;ZI0=TD4});function OD4(u){return function(){return u}}var K8;var K10=g(()=>{K8=OD4});var ID4,Bq;var w10=g(()=>{KM();ID4=function(){try{var u=J8(Object,"defineProperty");return u({},"",{}),u}catch(B){}}(),Bq=ID4});var PD4,KI0;var wI0=g(()=>{K10();w10();JM();PD4=!Bq?Z8:function(u,B){return Bq(u,"toString",{configurable:!0,enumerable:!1,value:K8(B),writable:!0})},KI0=PD4});var jD4,mh;var Q10=g(()=>{wI0();JI0();jD4=ZI0(KI0),mh=jD4});function ND4(u,B){var E=-1,A=u==null?0:u.length;while(++E<A)if(B(u[E],E,u)===!1)break;return u}var $h;var G10=g(()=>{$h=ND4});function VD4(u,B,E,A){var C=u.length,D=E+(A?1:-1);while(A?D--:++D<C)if(B(u[D],D,u))return D;return-1}var yh;var H10=g(()=>{yh=VD4});function hD4(u){return u!==u}var QI0;var GI0=g(()=>{QI0=hD4});function iD4(u,B,E){var A=E-1,C=u.length;while(++A<C)if(u[A]===B)return A;return-1}var HI0;var qI0=g(()=>{HI0=iD4});function aD4(u,B,E){return B===B?HI0(u,B,E):yh(u,QI0,E)}var lI0;var LI0=g(()=>{H10();GI0();qI0();lI0=aD4});function mD4(u,B){var E=u==null?0:u.length;return!!E&&lI0(u,B,0)>-1}var XI0;var vI0=g(()=>{LI0();XI0=mD4});function rD4(u,B){var E=typeof u;return B=B==null?$D4:B,!!B&&(E=="number"||E!="symbol"&&yD4.test(u))&&(u>-1&&u%1==0&&u<B)}var $D4=9007199254740991,yD4,wM;var oW=g(()=>{yD4=/^(?:0|[1-9]\d*)$/;wM=rD4});function gD4(u,B,E){if(B=="__proto__"&&Bq)Bq(u,B,{configurable:!0,enumerable:!0,value:E,writable:!0});else u[B]=E}var QM;var tW=g(()=>{w10();QM=gD4});function cD4(u,B){return u===B||u!==u&&B!==B}var UA;var KK=g(()=>{UA=cD4});function nD4(u,B,E){var A=u[B];if(!(pD4.call(u,B)&&UA(A,E))||E===void 0&&!(B in u))QM(u,B,E)}var _D4,pD4,GM;var eW=g(()=>{tW();KK();_D4=Object.prototype,pD4=_D4.hasOwnProperty;GM=nD4});function dD4(u,B,E,A){var C=!E;E||(E={});var D=-1,F=B.length;while(++D<F){var U=B[D],z=A?A(E[U],u[U],U,E,u):void 0;if(z===void 0)z=u[U];if(C)QM(E,U,z);else GM(E,U,z)}return E}var jF;var Eq=g(()=>{eW();tW();jF=dD4});function sD4(u,B,E){return B=xI0(B===void 0?u.length-1:B,0),function(){var A=arguments,C=-1,D=xI0(A.length-B,0),F=Array(D);while(++C<D)F[C]=A[B+C];C=-1;var U=Array(B+1);while(++C<B)U[C]=A[C];return U[B]=E(F),kI0(u,this,U)}}var xI0,rh;var q10=g(()=>{fI0();xI0=Math.max;rh=sD4});function oD4(u,B){return mh(rh(u,B,Z8),u+"")}var HM;var uS=g(()=>{JM();q10();Q10();HM=oD4});function eD4(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=tD4}var tD4=9007199254740991,Aq;var gh=g(()=>{Aq=eD4});function uF4(u){return u!=null&&Aq(u.length)&&!PF(u)}var S5;var NF=g(()=>{sW();gh();S5=uF4});function BF4(u,B,E){if(!U9(E))return!1;var A=typeof B;if(A=="number"?S5(E)&&wM(B,E.length):A=="string"&&(B in E))return UA(E[B],u);return!1}var nz;var BS=g(()=>{KK();NF();oW();FA();nz=BF4});function EF4(u){return HM(function(B,E){var A=-1,C=E.length,D=C>1?E[C-1]:void 0,F=C>2?E[2]:void 0;if(D=u.length>3&&typeof D=="function"?(C--,D):void 0,F&&nz(E[0],E[1],F))D=C<3?void 0:D,C=1;B=Object(B);while(++A<C){var U=E[A];if(U)u(B,U,A,D)}return B})}var WI0;var SI0=g(()=>{uS();BS();WI0=EF4});function CF4(u){var B=u&&u.constructor,E=typeof B=="function"&&B.prototype||AF4;return u===E}var AF4,qM;var ES=g(()=>{AF4=Object.prototype;qM=CF4});function DF4(u,B){var E=-1,A=Array(u);while(++E<u)A[E]=B(E);return A}var YI0;var RI0=g(()=>{YI0=DF4});function UF4(u){return D2(u)&&qB(u)==FF4}var FF4="[object Arguments]",l10;var TI0=g(()=>{ZM();TC();l10=UF4});var OI0,zF4,kF4,fF4,OC;var Cq=g(()=>{TI0();TC();OI0=Object.prototype,zF4=OI0.hasOwnProperty,kF4=OI0.propertyIsEnumerable,fF4=l10(function(){return arguments}())?l10:function(u){return D2(u)&&zF4.call(u,"callee")&&!kF4.call(u,"callee")},OC=fF4});function MF4(){return!1}var II0;var PI0=g(()=>{II0=MF4});var _h={};ju(_h,{default:()=>zA});var VI0,jI0,bF4,NI0,ZF4,JF4,zA;var Dq=g(()=>{DA();PI0();VI0=typeof _h=="object"&&_h&&!_h.nodeType&&_h,jI0=VI0&&typeof ch=="object"&&ch&&!ch.nodeType&&ch,bF4=jI0&&jI0.exports===VI0,NI0=bF4?i9.Buffer:void 0,ZF4=NI0?NI0.isBuffer:void 0,JF4=ZF4||II0,zA=JF4});function aF4(u){return D2(u)&&Aq(u.length)&&!!r6[qB(u)]}var KF4="[object Arguments]",wF4="[object Array]",QF4="[object Boolean]",GF4="[object Date]",HF4="[object Error]",qF4="[object Function]",lF4="[object Map]",LF4="[object Number]",XF4="[object Object]",vF4="[object RegExp]",xF4="[object Set]",WF4="[object String]",SF4="[object WeakMap]",YF4="[object ArrayBuffer]",RF4="[object DataView]",TF4="[object Float32Array]",OF4="[object Float64Array]",IF4="[object Int8Array]",PF4="[object Int16Array]",jF4="[object Int32Array]",NF4="[object Uint8Array]",VF4="[object Uint8ClampedArray]",hF4="[object Uint16Array]",iF4="[object Uint32Array]",r6,hI0;var iI0=g(()=>{ZM();gh();TC();r6={};r6[TF4]=r6[OF4]=r6[IF4]=r6[PF4]=r6[jF4]=r6[NF4]=r6[VF4]=r6[hF4]=r6[iF4]=!0;r6[KF4]=r6[wF4]=r6[YF4]=r6[QF4]=r6[RF4]=r6[GF4]=r6[HF4]=r6[qF4]=r6[lF4]=r6[LF4]=r6[XF4]=r6[vF4]=r6[xF4]=r6[WF4]=r6[SF4]=!1;hI0=aF4});function mF4(u){return function(B){return u(B)}}var lM;var AS=g(()=>{lM=mF4});var nh={};ju(nh,{default:()=>VF});var aI0,CS,$F4,L10,yF4,VF;var dh=g(()=>{M10();aI0=typeof nh=="object"&&nh&&!nh.nodeType&&nh,CS=aI0&&typeof ph=="object"&&ph&&!ph.nodeType&&ph,$F4=CS&&CS.exports===aI0,L10=$F4&&Vh.process,yF4=function(){try{var u=CS&&CS.require&&CS.require("util").types;if(u)return u;return L10&&L10.binding&&L10.binding("util")}catch(B){}}(),VF=yF4});var mI0,rF4,LM;var DS=g(()=>{iI0();AS();dh();mI0=VF&&VF.isTypedArray,rF4=mI0?lM(mI0):hI0,LM=rF4});function _F4(u,B){var E=s3(u),A=!E&&OC(u),C=!E&&!A&&zA(u),D=!E&&!A&&!C&&LM(u),F=E||A||C||D,U=F?YI0(u.length,String):[],z=U.length;for(var k in u)if((B||cF4.call(u,k))&&!(F&&(k=="length"||C&&(k=="offset"||k=="parent")||D&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||wM(k,z))))U.push(k);return U}var gF4,cF4,sh;var X10=g(()=>{RI0();Cq();W2();Dq();oW();DS();gF4=Object.prototype,cF4=gF4.hasOwnProperty;sh=_F4});function pF4(u,B){return function(E){return u(B(E))}}var oh;var v10=g(()=>{oh=pF4});var nF4,$I0;var yI0=g(()=>{v10();nF4=oh(Object.keys,Object),$I0=nF4});function oF4(u){if(!qM(u))return $I0(u);var B=[];for(var E in Object(u))if(sF4.call(u,E)&&E!="constructor")B.push(E);return B}var dF4,sF4,Fq;var th=g(()=>{ES();yI0();dF4=Object.prototype,sF4=dF4.hasOwnProperty;Fq=oF4});function tF4(u){return S5(u)?sh(u):Fq(u)}var a9;var dz=g(()=>{X10();th();NF();a9=tF4});function eF4(u){var B=[];if(u!=null)for(var E in Object(u))B.push(E);return B}var rI0;var gI0=g(()=>{rI0=eF4});function EU4(u){if(!U9(u))return rI0(u);var B=qM(u),E=[];for(var A in u)if(!(A=="constructor"&&(B||!BU4.call(u,A))))E.push(A);return E}var uU4,BU4,cI0;var _I0=g(()=>{FA();ES();gI0();uU4=Object.prototype,BU4=uU4.hasOwnProperty;cI0=EU4});function AU4(u){return S5(u)?sh(u,!0):cI0(u)}var w8;var XM=g(()=>{X10();_I0();NF();w8=AU4});function FU4(u,B){if(s3(u))return!1;var E=typeof u;if(E=="number"||E=="symbol"||E=="boolean"||u==null||ZE(u))return!0;return DU4.test(u)||!CU4.test(u)||B!=null&&u in Object(B)}var CU4,DU4,Uq;var eh=g(()=>{W2();JK();CU4=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,DU4=/^\w*$/;Uq=FU4});var UU4,sz;var FS=g(()=>{KM();UU4=J8(Object,"create"),sz=UU4});function zU4(){this.__data__=sz?sz(null):{},this.size=0}var pI0;var nI0=g(()=>{FS();pI0=zU4});function kU4(u){var B=this.has(u)&&delete this.__data__[u];return this.size-=B?1:0,B}var dI0;var sI0=g(()=>{dI0=kU4});function ZU4(u){var B=this.__data__;if(sz){var E=B[u];return E===fU4?void 0:E}return bU4.call(B,u)?B[u]:void 0}var fU4="__lodash_hash_undefined__",MU4,bU4,oI0;var tI0=g(()=>{FS();MU4=Object.prototype,bU4=MU4.hasOwnProperty;oI0=ZU4});function wU4(u){var B=this.__data__;return sz?B[u]!==void 0:KU4.call(B,u)}var JU4,KU4,eI0;var uP0=g(()=>{FS();JU4=Object.prototype,KU4=JU4.hasOwnProperty;eI0=wU4});function GU4(u,B){var E=this.__data__;return this.size+=this.has(u)?0:1,E[u]=sz&&B===void 0?QU4:B,this}var QU4="__lodash_hash_undefined__",BP0;var EP0=g(()=>{FS();BP0=GU4});function zq(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}var x10;var AP0=g(()=>{nI0();sI0();tI0();uP0();EP0();zq.prototype.clear=pI0;zq.prototype.delete=dI0;zq.prototype.get=oI0;zq.prototype.has=eI0;zq.prototype.set=BP0;x10=zq});function HU4(){this.__data__=[],this.size=0}var CP0;var DP0=g(()=>{CP0=HU4});function qU4(u,B){var E=u.length;while(E--)if(UA(u[E][0],B))return E;return-1}var vM;var US=g(()=>{KK();vM=qU4});function XU4(u){var B=this.__data__,E=vM(B,u);if(E<0)return!1;var A=B.length-1;if(E==A)B.pop();else LU4.call(B,E,1);return--this.size,!0}var lU4,LU4,FP0;var UP0=g(()=>{US();lU4=Array.prototype,LU4=lU4.splice;FP0=XU4});function vU4(u){var B=this.__data__,E=vM(B,u);return E<0?void 0:B[E][1]}var zP0;var kP0=g(()=>{US();zP0=vU4});function xU4(u){return vM(this.__data__,u)>-1}var fP0;var MP0=g(()=>{US();fP0=xU4});function WU4(u,B){var E=this.__data__,A=vM(E,u);if(A<0)++this.size,E.push([u,B]);else E[A][1]=B;return this}var bP0;var ZP0=g(()=>{US();bP0=WU4});function kq(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}var xM;var zS=g(()=>{DP0();UP0();kP0();MP0();ZP0();kq.prototype.clear=CP0;kq.prototype.delete=FP0;kq.prototype.get=zP0;kq.prototype.has=fP0;kq.prototype.set=bP0;xM=kq});var SU4,WM;var ui=g(()=>{KM();DA();SU4=J8(i9,"Map"),WM=SU4});function YU4(){this.size=0,this.__data__={hash:new x10,map:new(WM||xM),string:new x10}}var JP0;var KP0=g(()=>{AP0();zS();ui();JP0=YU4});function RU4(u){var B=typeof u;return B=="string"||B=="number"||B=="symbol"||B=="boolean"?u!=="__proto__":u===null}var wP0;var QP0=g(()=>{wP0=RU4});function TU4(u,B){var E=u.__data__;return wP0(B)?E[typeof B=="string"?"string":"hash"]:E.map}var SM;var kS=g(()=>{QP0();SM=TU4});function OU4(u){var B=SM(this,u).delete(u);return this.size-=B?1:0,B}var GP0;var HP0=g(()=>{kS();GP0=OU4});function IU4(u){return SM(this,u).get(u)}var qP0;var lP0=g(()=>{kS();qP0=IU4});function PU4(u){return SM(this,u).has(u)}var LP0;var XP0=g(()=>{kS();LP0=PU4});function jU4(u,B){var E=SM(this,u),A=E.size;return E.set(u,B),this.size+=E.size==A?0:1,this}var vP0;var xP0=g(()=>{kS();vP0=jU4});function fq(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}var wK;var Bi=g(()=>{KP0();HP0();lP0();XP0();xP0();fq.prototype.clear=JP0;fq.prototype.delete=GP0;fq.prototype.get=qP0;fq.prototype.has=LP0;fq.prototype.set=vP0;wK=fq});function W10(u,B){if(typeof u!="function"||B!=null&&typeof B!="function")throw TypeError(NU4);var E=function(){var A=arguments,C=B?B.apply(this,A):A[0],D=E.cache;if(D.has(C))return D.get(C);var F=u.apply(this,A);return E.cache=D.set(C,F)||D,F};return E.cache=new(W10.Cache||wK),E}var NU4="Expected a function",WP0;var SP0=g(()=>{Bi();W10.Cache=wK;WP0=W10});function hU4(u){var B=WP0(u,function(A){if(E.size===VU4)E.clear();return A}),E=B.cache;return B}var VU4=500,YP0;var RP0=g(()=>{SP0();YP0=hU4});var iU4,aU4,mU4,TP0;var OP0=g(()=>{RP0();iU4=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,aU4=/\\(\\)?/g,mU4=YP0(function(u){var B=[];if(u.charCodeAt(0)===46)B.push("");return u.replace(iU4,function(E,A,C,D){B.push(C?D.replace(aU4,"$1"):A||E)}),B}),TP0=mU4});function $U4(u){return u==null?"":aO0(u)}var Ei;var S10=g(()=>{mO0();Ei=$U4});function yU4(u,B){if(s3(u))return u;return Uq(u,B)?[u]:TP0(Ei(u))}var YM;var fS=g(()=>{W2();eh();OP0();S10();YM=yU4});function gU4(u){if(typeof u=="string"||ZE(u))return u;var B=u+"";return B=="0"&&1/u==-rU4?"-0":B}var rU4=1/0,hF;var Mq=g(()=>{JK();hF=gU4});function cU4(u,B){B=YM(B,u);var E=0,A=B.length;while(u!=null&&E<A)u=u[hF(B[E++])];return E&&E==A?u:void 0}var RM;var MS=g(()=>{fS();Mq();RM=cU4});function _U4(u,B,E){var A=u==null?void 0:RM(u,B);return A===void 0?E:A}var IP0;var PP0=g(()=>{MS();IP0=_U4});function pU4(u,B){var E=-1,A=B.length,C=u.length;while(++E<A)u[C+E]=B[E];return u}var bq;var Ai=g(()=>{bq=pU4});function nU4(u){return s3(u)||OC(u)||!!(jP0&&u&&u[jP0])}var jP0,NP0;var VP0=g(()=>{ZK();Cq();W2();jP0=W5?W5.isConcatSpreadable:void 0;NP0=nU4});function hP0(u,B,E,A,C){var D=-1,F=u.length;E||(E=NP0),C||(C=[]);while(++D<F){var U=u[D];if(B>0&&E(U))if(B>1)hP0(U,B-1,E,A,C);else bq(C,U);else if(!A)C[C.length]=U}return C}var Zq;var Ci=g(()=>{Ai();VP0();Zq=hP0});function dU4(u){var B=u==null?0:u.length;return B?Zq(u,1):[]}var kA;var Y10=g(()=>{Ci();kA=dU4});function sU4(u){return mh(rh(u,void 0,kA),u+"")}var iP0;var aP0=g(()=>{Y10();q10();Q10();iP0=sU4});var oU4,Jq;var Di=g(()=>{v10();oU4=oh(Object.getPrototypeOf,Object),Jq=oU4});function Az4(u){if(!D2(u)||qB(u)!=tU4)return!1;var B=Jq(u);if(B===null)return!0;var E=Bz4.call(B,"constructor")&&B.constructor;return typeof E=="function"&&E instanceof E&&mP0.call(E)==Ez4}var tU4="[object Object]",eU4,uz4,mP0,Bz4,Ez4,$P0;var yP0=g(()=>{ZM();Di();TC();eU4=Function.prototype,uz4=Object.prototype,mP0=eU4.toString,Bz4=uz4.hasOwnProperty,Ez4=mP0.call(Object);$P0=Az4});function bz4(u){return Mz4.test(u)}var Cz4="\\ud800-\\udfff",Dz4="\\u0300-\\u036f",Fz4="\\ufe20-\\ufe2f",Uz4="\\u20d0-\\u20ff",zz4,kz4="\\ufe0e\\ufe0f",fz4="\\u200d",Mz4,rP0;var gP0=g(()=>{zz4=Dz4+Fz4+Uz4,Mz4=RegExp("["+fz4+Cz4+zz4+kz4+"]");rP0=bz4});function Zz4(u,B,E,A){var C=-1,D=u==null?0:u.length;if(A&&D)E=u[++C];while(++C<D)E=B(E,u[C],C,u);return E}var cP0;var _P0=g(()=>{cP0=Zz4});function Jz4(){this.__data__=new xM,this.size=0}var pP0;var nP0=g(()=>{zS();pP0=Jz4});function Kz4(u){var B=this.__data__,E=B.delete(u);return this.size=B.size,E}var dP0;var sP0=g(()=>{dP0=Kz4});function wz4(u){return this.__data__.get(u)}var oP0;var tP0=g(()=>{oP0=wz4});function Qz4(u){return this.__data__.has(u)}var eP0;var uj0=g(()=>{eP0=Qz4});function Hz4(u,B){var E=this.__data__;if(E instanceof xM){var A=E.__data__;if(!WM||A.length<Gz4-1)return A.push([u,B]),this.size=++E.size,this;E=this.__data__=new wK(A)}return E.set(u,B),this.size=E.size,this}var Gz4=200,Bj0;var Ej0=g(()=>{zS();ui();Bi();Bj0=Hz4});function Kq(u){var B=this.__data__=new xM(u);this.size=B.size}var iF;var bS=g(()=>{zS();nP0();sP0();tP0();uj0();Ej0();Kq.prototype.clear=pP0;Kq.prototype.delete=dP0;Kq.prototype.get=oP0;Kq.prototype.has=eP0;Kq.prototype.set=Bj0;iF=Kq});function qz4(u,B){return u&&jF(B,a9(B),u)}var Aj0;var Cj0=g(()=>{Eq();dz();Aj0=qz4});function lz4(u,B){return u&&jF(B,w8(B),u)}var Dj0;var Fj0=g(()=>{Eq();XM();Dj0=lz4});var Ui={};ju(Ui,{default:()=>ZS});function Xz4(u,B){if(B)return u.slice();var E=u.length,A=kj0?kj0(E):new u.constructor(E);return u.copy(A),A}var fj0,Uj0,Lz4,zj0,kj0,ZS;var R10=g(()=>{DA();fj0=typeof Ui=="object"&&Ui&&!Ui.nodeType&&Ui,Uj0=fj0&&typeof Fi=="object"&&Fi&&!Fi.nodeType&&Fi,Lz4=Uj0&&Uj0.exports===fj0,zj0=Lz4?i9.Buffer:void 0,kj0=zj0?zj0.allocUnsafe:void 0;ZS=Xz4});function vz4(u,B){var E=-1,A=u==null?0:u.length,C=0,D=[];while(++E<A){var F=u[E];if(B(F,E,u))D[C++]=F}return D}var zi;var T10=g(()=>{zi=vz4});function xz4(){return[]}var ki;var O10=g(()=>{ki=xz4});var Wz4,Sz4,Mj0,Yz4,wq;var fi=g(()=>{T10();O10();Wz4=Object.prototype,Sz4=Wz4.propertyIsEnumerable,Mj0=Object.getOwnPropertySymbols,Yz4=!Mj0?ki:function(u){if(u==null)return[];return u=Object(u),zi(Mj0(u),function(B){return Sz4.call(u,B)})},wq=Yz4});function Rz4(u,B){return jF(u,wq(u),B)}var bj0;var Zj0=g(()=>{Eq();fi();bj0=Rz4});var Tz4,Oz4,Mi;var I10=g(()=>{Ai();Di();fi();O10();Tz4=Object.getOwnPropertySymbols,Oz4=!Tz4?ki:function(u){var B=[];while(u)bq(B,wq(u)),u=Jq(u);return B},Mi=Oz4});function Iz4(u,B){return jF(u,Mi(u),B)}var Jj0;var Kj0=g(()=>{Eq();I10();Jj0=Iz4});function Pz4(u,B,E){var A=B(u);return s3(u)?A:bq(A,E(u))}var bi;var P10=g(()=>{Ai();W2();bi=Pz4});function jz4(u){return bi(u,a9,wq)}var JS;var j10=g(()=>{P10();fi();dz();JS=jz4});function Nz4(u){return bi(u,w8,Mi)}var wj0;var Qj0=g(()=>{P10();I10();XM();wj0=Nz4});var Vz4,Zi;var Gj0=g(()=>{KM();DA();Vz4=J8(i9,"DataView"),Zi=Vz4});var hz4,Ji;var Hj0=g(()=>{KM();DA();hz4=J8(i9,"Promise"),Ji=hz4});var iz4,TM;var N10=g(()=>{KM();DA();iz4=J8(i9,"Set"),TM=iz4});var qj0="[object Map]",az4="[object Object]",lj0="[object Promise]",Lj0="[object Set]",Xj0="[object WeakMap]",vj0="[object DataView]",mz4,$z4,yz4,rz4,gz4,QK,JE;var GK=g(()=>{Gj0();ui();Hj0();N10();DI0();ZM();Z10();mz4=pz(Zi),$z4=pz(WM),yz4=pz(Ji),rz4=pz(TM),gz4=pz(ih),QK=qB;if(Zi&&QK(new Zi(new ArrayBuffer(1)))!=vj0||WM&&QK(new WM)!=qj0||Ji&&QK(Ji.resolve())!=lj0||TM&&QK(new TM)!=Lj0||ih&&QK(new ih)!=Xj0)QK=function(u){var B=qB(u),E=B==az4?u.constructor:void 0,A=E?pz(E):"";if(A)switch(A){case mz4:return vj0;case $z4:return qj0;case yz4:return lj0;case rz4:return Lj0;case gz4:return Xj0}return B};JE=QK});function pz4(u){var B=u.length,E=new u.constructor(B);if(B&&typeof u[0]=="string"&&_z4.call(u,"index"))E.index=u.index,E.input=u.input;return E}var cz4,_z4,xj0;var Wj0=g(()=>{cz4=Object.prototype,_z4=cz4.hasOwnProperty;xj0=pz4});var nz4,Qq;var V10=g(()=>{DA();nz4=i9.Uint8Array,Qq=nz4});function dz4(u){var B=new u.constructor(u.byteLength);return new Qq(B).set(new Qq(u)),B}var Gq;var Ki=g(()=>{V10();Gq=dz4});function sz4(u,B){var E=B?Gq(u.buffer):u.buffer;return new u.constructor(E,u.byteOffset,u.byteLength)}var Sj0;var Yj0=g(()=>{Ki();Sj0=sz4});function tz4(u){var B=new u.constructor(u.source,oz4.exec(u));return B.lastIndex=u.lastIndex,B}var oz4,Rj0;var Tj0=g(()=>{oz4=/\w*$/;Rj0=tz4});function ez4(u){return Ij0?Object(Ij0.call(u)):{}}var Oj0,Ij0,Pj0;var jj0=g(()=>{ZK();Oj0=W5?W5.prototype:void 0,Ij0=Oj0?Oj0.valueOf:void 0;Pj0=ez4});function uk4(u,B){var E=B?Gq(u.buffer):u.buffer;return new u.constructor(E,u.byteOffset,u.length)}var wi;var h10=g(()=>{Ki();wi=uk4});function qk4(u,B,E){var A=u.constructor;switch(B){case kk4:return Gq(u);case Bk4:case Ek4:return new A(+u);case fk4:return Sj0(u,E);case Mk4:case bk4:case Zk4:case Jk4:case Kk4:case wk4:case Qk4:case Gk4:case Hk4:return wi(u,E);case Ak4:return new A;case Ck4:case Uk4:return new A(u);case Dk4:return Rj0(u);case Fk4:return new A;case zk4:return Pj0(u)}}var Bk4="[object Boolean]",Ek4="[object Date]",Ak4="[object Map]",Ck4="[object Number]",Dk4="[object RegExp]",Fk4="[object Set]",Uk4="[object String]",zk4="[object Symbol]",kk4="[object ArrayBuffer]",fk4="[object DataView]",Mk4="[object Float32Array]",bk4="[object Float64Array]",Zk4="[object Int8Array]",Jk4="[object Int16Array]",Kk4="[object Int32Array]",wk4="[object Uint8Array]",Qk4="[object Uint8ClampedArray]",Gk4="[object Uint16Array]",Hk4="[object Uint32Array]",Nj0;var Vj0=g(()=>{Ki();Yj0();Tj0();jj0();h10();Nj0=qk4});function lk4(u){return typeof u.constructor=="function"&&!qM(u)?UI0(Jq(u)):{}}var Qi;var i10=g(()=>{zI0();Di();ES();Qi=lk4});function Xk4(u){return D2(u)&&JE(u)==Lk4}var Lk4="[object Map]",hj0;var ij0=g(()=>{GK();TC();hj0=Xk4});var aj0,vk4,mj0;var $j0=g(()=>{ij0();AS();dh();aj0=VF&&VF.isMap,vk4=aj0?lM(aj0):hj0,mj0=vk4});function Wk4(u){return D2(u)&&JE(u)==xk4}var xk4="[object Set]",yj0;var rj0=g(()=>{GK();TC();yj0=Wk4});var gj0,Sk4,cj0;var _j0=g(()=>{rj0();AS();dh();gj0=VF&&VF.isSet,Sk4=gj0?lM(gj0):yj0,cj0=Sk4});function Gi(u,B,E,A,C,D){var F,U=B&Yk4,z=B&Rk4,k=B&Tk4;if(E)F=C?E(u,A,C,D):E(u);if(F!==void 0)return F;if(!U9(u))return u;var f=s3(u);if(f){if(F=xj0(u),!U)return ah(u,F)}else{var M=JE(u),b=M==nj0||M==Nk4;if(zA(u))return ZS(u,U);if(M==dj0||M==pj0||b&&!C){if(F=z||b?{}:Qi(u),!U)return z?Jj0(u,Dj0(F,u)):bj0(u,Aj0(F,u))}else{if(!R6[M])return C?u:{};F=Nj0(u,M,U)}}D||(D=new iF);var Z=D.get(u);if(Z)return Z;if(D.set(u,F),cj0(u))u.forEach(function(w){F.add(Gi(w,B,E,w,u,D))});else if(mj0(u))u.forEach(function(w,Q){F.set(Q,Gi(w,B,E,Q,u,D))});var J=k?z?wj0:JS:z?w8:a9,K=f?void 0:J(u);return $h(K||u,function(w,Q){if(K)Q=w,w=u[Q];GM(F,Q,Gi(w,B,E,Q,u,D))}),F}var Yk4=1,Rk4=2,Tk4=4,pj0="[object Arguments]",Ok4="[object Array]",Ik4="[object Boolean]",Pk4="[object Date]",jk4="[object Error]",nj0="[object Function]",Nk4="[object GeneratorFunction]",Vk4="[object Map]",hk4="[object Number]",dj0="[object Object]",ik4="[object RegExp]",ak4="[object Set]",mk4="[object String]",$k4="[object Symbol]",yk4="[object WeakMap]",rk4="[object ArrayBuffer]",gk4="[object DataView]",ck4="[object Float32Array]",_k4="[object Float64Array]",pk4="[object Int8Array]",nk4="[object Int16Array]",dk4="[object Int32Array]",sk4="[object Uint8Array]",ok4="[object Uint8ClampedArray]",tk4="[object Uint16Array]",ek4="[object Uint32Array]",R6,Hi;var a10=g(()=>{bS();G10();eW();Cj0();Fj0();R10();J10();Zj0();Kj0();j10();Qj0();GK();Wj0();Vj0();i10();W2();Dq();$j0();FA();_j0();dz();XM();R6={};R6[pj0]=R6[Ok4]=R6[rk4]=R6[gk4]=R6[Ik4]=R6[Pk4]=R6[ck4]=R6[_k4]=R6[pk4]=R6[nk4]=R6[dk4]=R6[Vk4]=R6[hk4]=R6[dj0]=R6[ik4]=R6[ak4]=R6[mk4]=R6[$k4]=R6[sk4]=R6[ok4]=R6[tk4]=R6[ek4]=!0;R6[jk4]=R6[nj0]=R6[yk4]=!1;Hi=Gi});function Bf4(u){return Hi(u,uf4)}var uf4=4,m10;var sj0=g(()=>{a10();m10=Bf4});function Cf4(u){return Hi(u,Ef4|Af4)}var Ef4=1,Af4=4,$10;var oj0=g(()=>{a10();$10=Cf4});function Ff4(u){return this.__data__.set(u,Df4),this}var Df4="__lodash_hash_undefined__",tj0;var ej0=g(()=>{tj0=Ff4});function Uf4(u){return this.__data__.has(u)}var uN0;var BN0=g(()=>{uN0=Uf4});function qi(u){var B=-1,E=u==null?0:u.length;this.__data__=new wK;while(++B<E)this.add(u[B])}var li;var y10=g(()=>{Bi();ej0();BN0();qi.prototype.add=qi.prototype.push=tj0;qi.prototype.has=uN0;li=qi});function zf4(u,B){var E=-1,A=u==null?0:u.length;while(++E<A)if(B(u[E],E,u))return!0;return!1}var EN0;var AN0=g(()=>{EN0=zf4});function kf4(u,B){return u.has(B)}var Li;var r10=g(()=>{Li=kf4});function bf4(u,B,E,A,C,D){var F=E&ff4,U=u.length,z=B.length;if(U!=z&&!(F&&z>U))return!1;var k=D.get(u),f=D.get(B);if(k&&f)return k==B&&f==u;var M=-1,b=!0,Z=E&Mf4?new li:void 0;D.set(u,B),D.set(B,u);while(++M<U){var J=u[M],K=B[M];if(A)var w=F?A(K,J,M,B,u,D):A(J,K,M,u,B,D);if(w!==void 0){if(w)continue;b=!1;break}if(Z){if(!EN0(B,function(Q,G){if(!Li(Z,G)&&(J===Q||C(J,Q,E,A,D)))return Z.push(G)})){b=!1;break}}else if(!(J===K||C(J,K,E,A,D))){b=!1;break}}return D.delete(u),D.delete(B),b}var ff4=1,Mf4=2,Xi;var g10=g(()=>{y10();AN0();r10();Xi=bf4});function Zf4(u){var B=-1,E=Array(u.size);return u.forEach(function(A,C){E[++B]=[C,A]}),E}var CN0;var DN0=g(()=>{CN0=Zf4});function Jf4(u){var B=-1,E=Array(u.size);return u.forEach(function(A){E[++B]=A}),E}var Hq;var xi=g(()=>{Hq=Jf4});function Yf4(u,B,E,A,C,D,F){switch(E){case Sf4:if(u.byteLength!=B.byteLength||u.byteOffset!=B.byteOffset)return!1;u=u.buffer,B=B.buffer;case Wf4:if(u.byteLength!=B.byteLength||!D(new Qq(u),new Qq(B)))return!1;return!0;case Qf4:case Gf4:case lf4:return UA(+u,+B);case Hf4:return u.name==B.name&&u.message==B.message;case Lf4:case vf4:return u==B+"";case qf4:var U=CN0;case Xf4:var z=A&Kf4;if(U||(U=Hq),u.size!=B.size&&!z)return!1;var k=F.get(u);if(k)return k==B;A|=wf4,F.set(u,B);var f=Xi(U(u),U(B),A,C,D,F);return F.delete(u),f;case xf4:if(c10)return c10.call(u)==c10.call(B)}return!1}var Kf4=1,wf4=2,Qf4="[object Boolean]",Gf4="[object Date]",Hf4="[object Error]",qf4="[object Map]",lf4="[object Number]",Lf4="[object RegExp]",Xf4="[object Set]",vf4="[object String]",xf4="[object Symbol]",Wf4="[object ArrayBuffer]",Sf4="[object DataView]",FN0,c10,UN0;var zN0=g(()=>{ZK();V10();KK();g10();DN0();xi();FN0=W5?W5.prototype:void 0,c10=FN0?FN0.valueOf:void 0;UN0=Yf4});function If4(u,B,E,A,C,D){var F=E&Rf4,U=JS(u),z=U.length,k=JS(B),f=k.length;if(z!=f&&!F)return!1;var M=z;while(M--){var b=U[M];if(!(F?b in B:Of4.call(B,b)))return!1}var Z=D.get(u),J=D.get(B);if(Z&&J)return Z==B&&J==u;var K=!0;D.set(u,B),D.set(B,u);var w=F;while(++M<z){b=U[M];var Q=u[b],G=B[b];if(A)var H=F?A(G,Q,b,B,u,D):A(Q,G,b,u,B,D);if(!(H===void 0?Q===G||C(Q,G,E,A,D):H)){K=!1;break}w||(w=b=="constructor")}if(K&&!w){var l=u.constructor,q=B.constructor;if(l!=q&&(("constructor"in u)&&("constructor"in B))&&!(typeof l=="function"&&l instanceof l&&typeof q=="function"&&q instanceof q))K=!1}return D.delete(u),D.delete(B),K}var Rf4=1,Tf4,Of4,kN0;var fN0=g(()=>{j10();Tf4=Object.prototype,Of4=Tf4.hasOwnProperty;kN0=If4});function Nf4(u,B,E,A,C,D){var F=s3(u),U=s3(B),z=F?bN0:JE(u),k=U?bN0:JE(B);z=z==MN0?Wi:z,k=k==MN0?Wi:k;var f=z==Wi,M=k==Wi,b=z==k;if(b&&zA(u)){if(!zA(B))return!1;F=!0,f=!1}if(b&&!f)return D||(D=new iF),F||LM(u)?Xi(u,B,E,A,C,D):UN0(u,B,z,E,A,C,D);if(!(E&Pf4)){var Z=f&&ZN0.call(u,"__wrapped__"),J=M&&ZN0.call(B,"__wrapped__");if(Z||J){var K=Z?u.value():u,w=J?B.value():B;return D||(D=new iF),C(K,w,E,A,D)}}if(!b)return!1;return D||(D=new iF),kN0(u,B,E,A,C,D)}var Pf4=1,MN0="[object Arguments]",bN0="[object Array]",Wi="[object Object]",jf4,ZN0,JN0;var KN0=g(()=>{bS();g10();zN0();fN0();GK();W2();Dq();DS();jf4=Object.prototype,ZN0=jf4.hasOwnProperty;JN0=Nf4});function wN0(u,B,E,A,C){if(u===B)return!0;if(u==null||B==null||!D2(u)&&!D2(B))return u!==u&&B!==B;return JN0(u,B,E,A,wN0,C)}var Si;var _10=g(()=>{KN0();TC();Si=wN0});function if4(u,B,E,A){var C=E.length,D=C,F=!A;if(u==null)return!D;u=Object(u);while(C--){var U=E[C];if(F&&U[2]?U[1]!==u[U[0]]:!(U[0]in u))return!1}while(++C<D){U=E[C];var z=U[0],k=u[z],f=U[1];if(F&&U[2]){if(k===void 0&&!(z in u))return!1}else{var M=new iF;if(A)var b=A(k,f,z,u,B,M);if(!(b===void 0?Si(f,k,Vf4|hf4,A,M):b))return!1}}return!0}var Vf4=1,hf4=2,QN0;var GN0=g(()=>{bS();_10();QN0=if4});function af4(u){return u===u&&!U9(u)}var Yi;var p10=g(()=>{FA();Yi=af4});function mf4(u){var B=a9(u),E=B.length;while(E--){var A=B[E],C=u[A];B[E]=[A,C,Yi(C)]}return B}var HN0;var qN0=g(()=>{p10();dz();HN0=mf4});function $f4(u,B){return function(E){if(E==null)return!1;return E[u]===B&&(B!==void 0||(u in Object(E)))}}var Ri;var n10=g(()=>{Ri=$f4});function yf4(u){var B=HN0(u);if(B.length==1&&B[0][2])return Ri(B[0][0],B[0][1]);return function(E){return E===u||QN0(E,u,B)}}var lN0;var LN0=g(()=>{GN0();qN0();n10();lN0=yf4});function rf4(u,B){return u!=null&&B in Object(u)}var XN0;var vN0=g(()=>{XN0=rf4});function gf4(u,B,E){B=YM(B,u);var A=-1,C=B.length,D=!1;while(++A<C){var F=hF(B[A]);if(!(D=u!=null&&E(u,F)))break;u=u[F]}if(D||++A!=C)return D;return C=u==null?0:u.length,!!C&&Aq(C)&&wM(F,C)&&(s3(u)||OC(u))}var Ti;var d10=g(()=>{fS();Cq();W2();oW();gh();Mq();Ti=gf4});function cf4(u,B){return u!=null&&Ti(u,B,XN0)}var Oi;var s10=g(()=>{vN0();d10();Oi=cf4});function nf4(u,B){if(Uq(u)&&Yi(B))return Ri(hF(u),B);return function(E){var A=IP0(E,u);return A===void 0&&A===B?Oi(E,u):Si(B,A,_f4|pf4)}}var _f4=1,pf4=2,xN0;var WN0=g(()=>{_10();PP0();s10();eh();p10();n10();Mq();xN0=nf4});function df4(u){return function(B){return B==null?void 0:B[u]}}var Ii;var o10=g(()=>{Ii=df4});function sf4(u){return function(B){return RM(B,u)}}var SN0;var YN0=g(()=>{MS();SN0=sf4});function of4(u){return Uq(u)?Ii(hF(u)):SN0(u)}var RN0;var TN0=g(()=>{o10();YN0();eh();Mq();RN0=of4});function tf4(u){if(typeof u=="function")return u;if(u==null)return Z8;if(typeof u=="object")return s3(u)?xN0(u[0],u[1]):lN0(u);return RN0(u)}var V7;var oz=g(()=>{LN0();WN0();JM();W2();TN0();V7=tf4});function ef4(u){return function(B,E,A){var C=-1,D=Object(B),F=A(B),U=F.length;while(U--){var z=F[u?U:++C];if(E(D[z],z,D)===!1)break}return B}}var ON0;var IN0=g(()=>{ON0=ef4});var uM4,qq;var Pi=g(()=>{IN0();uM4=ON0(),qq=uM4});function BM4(u,B){return u&&qq(u,B,a9)}var lq;var ji=g(()=>{Pi();dz();lq=BM4});function EM4(u,B){return function(E,A){if(E==null)return E;if(!S5(E))return u(E,A);var C=E.length,D=B?C:-1,F=Object(E);while(B?D--:++D<C)if(A(F[D],D,F)===!1)break;return E}}var PN0;var jN0=g(()=>{NF();PN0=EM4});var AM4,OM;var KS=g(()=>{ji();jN0();AM4=PN0(lq),OM=AM4});var CM4=function(){return i9.Date.now()},Ni;var NN0=g(()=>{DA();Ni=CM4});var VN0,DM4,FM4,t10;var hN0=g(()=>{uS();KK();BS();XM();VN0=Object.prototype,DM4=VN0.hasOwnProperty,FM4=HM(function(u,B){u=Object(u);var E=-1,A=B.length,C=A>2?B[2]:void 0;if(C&&nz(B[0],B[1],C))A=1;while(++E<A){var D=B[E],F=w8(D),U=-1,z=F.length;while(++U<z){var k=F[U],f=u[k];if(f===void 0||UA(f,VN0[k])&&!DM4.call(u,k))u[k]=D[k]}}return u}),t10=FM4});function UM4(u,B,E){if(E!==void 0&&!UA(u[B],E)||E===void 0&&!(B in u))QM(u,B,E)}var wS;var e10=g(()=>{tW();KK();wS=UM4});function zM4(u){return D2(u)&&S5(u)}var Vi;var u60=g(()=>{NF();TC();Vi=zM4});function kM4(u,B){if(B==="constructor"&&typeof u[B]==="function")return;if(B=="__proto__")return;return u[B]}var QS;var B60=g(()=>{QS=kM4});function fM4(u){return jF(u,w8(u))}var iN0;var aN0=g(()=>{Eq();XM();iN0=fM4});function MM4(u,B,E,A,C,D,F){var U=QS(u,E),z=QS(B,E),k=F.get(z);if(k){wS(u,E,k);return}var f=D?D(U,z,E+"",u,B,F):void 0,M=f===void 0;if(M){var b=s3(z),Z=!b&&zA(z),J=!b&&!Z&&LM(z);if(f=z,b||Z||J)if(s3(U))f=U;else if(Vi(U))f=ah(U);else if(Z)M=!1,f=ZS(z,!0);else if(J)M=!1,f=wi(z,!0);else f=[];else if($P0(z)||OC(z)){if(f=U,OC(U))f=iN0(U);else if(!U9(U)||PF(U))f=Qi(z)}else M=!1}if(M)F.set(z,f),C(f,z,A,D,F),F.delete(z);wS(u,E,f)}var mN0;var $N0=g(()=>{e10();R10();h10();J10();i10();Cq();W2();u60();Dq();sW();FA();yP0();DS();B60();aN0();mN0=MM4});function yN0(u,B,E,A,C){if(u===B)return;qq(B,function(D,F){if(C||(C=new iF),U9(D))mN0(u,B,F,E,yN0,A,C);else{var U=A?A(QS(u,F),D,F+"",u,B,C):void 0;if(U===void 0)U=D;wS(u,F,U)}},w8)}var rN0;var gN0=g(()=>{bS();e10();Pi();$N0();FA();XM();B60();rN0=yN0});function bM4(u,B,E){var A=-1,C=u==null?0:u.length;while(++A<C)if(E(B,u[A]))return!0;return!1}var cN0;var _N0=g(()=>{cN0=bM4});function ZM4(u){var B=u==null?0:u.length;return B?u[B-1]:void 0}var IM;var pN0=g(()=>{IM=ZM4});function JM4(u){return typeof u=="function"?u:Z8}var Lq;var hi=g(()=>{JM();Lq=JM4});function KM4(u,B){var E=s3(u)?$h:OM;return E(u,Lq(B))}var vu;var E60=g(()=>{G10();KS();hi();W2();vu=KM4});var nN0=g(()=>{E60()});function wM4(u,B){var E=[];return OM(u,function(A,C,D){if(B(A,C,D))E.push(A)}),E}var dN0;var sN0=g(()=>{KS();dN0=wM4});function QM4(u,B){var E=s3(u)?zi:dN0;return E(u,V7(B,3))}var lB;var oN0=g(()=>{T10();sN0();oz();W2();lB=QM4});function GM4(u){return function(B,E,A){var C=Object(B);if(!S5(B)){var D=V7(E,3);B=a9(B),E=function(U){return D(C[U],U,C)}}var F=u(B,E,A);return F>-1?C[D?B[F]:F]:void 0}}var tN0;var eN0=g(()=>{oz();NF();dz();tN0=GM4});function qM4(u,B,E){var A=u==null?0:u.length;if(!A)return-1;var C=E==null?0:dO0(E);if(C<0)C=HM4(A+C,0);return yh(u,V7(B,3),C)}var HM4,uV0;var BV0=g(()=>{H10();oz();sO0();HM4=Math.max;uV0=qM4});var lM4,Xq;var EV0=g(()=>{eN0();BV0();lM4=tN0(uV0),Xq=lM4});function LM4(u,B){var E=-1,A=S5(u)?Array(u.length):[];return OM(u,function(C,D,F){A[++E]=B(C,D,F)}),A}var ii;var A60=g(()=>{KS();NF();ii=LM4});function XM4(u,B){var E=s3(u)?IF:ii;return E(u,V7(B,3))}var a1;var AV0=g(()=>{dW();oz();A60();W2();a1=XM4});function vM4(u,B){return u==null?u:qq(u,Lq(B),w8)}var C60;var CV0=g(()=>{Pi();hi();XM();C60=vM4});function xM4(u,B){return u&&lq(u,Lq(B))}var D60;var DV0=g(()=>{ji();hi();D60=xM4});function WM4(u,B){return u>B}var FV0;var UV0=g(()=>{FV0=WM4});function RM4(u,B){return u!=null&&YM4.call(u,B)}var SM4,YM4,zV0;var kV0=g(()=>{SM4=Object.prototype,YM4=SM4.hasOwnProperty;zV0=RM4});function TM4(u,B){return u!=null&&Ti(u,B,zV0)}var GS;var fV0=g(()=>{kV0();d10();GS=TM4});function IM4(u){return typeof u=="string"||!s3(u)&&D2(u)&&qB(u)==OM4}var OM4="[object String]",MV0;var bV0=g(()=>{ZM();W2();TC();MV0=IM4});function PM4(u,B){return IF(B,function(E){return u[E]})}var ZV0;var JV0=g(()=>{dW();ZV0=PM4});function jM4(u){return u==null?[]:ZV0(u,a9(u))}var KE;var KV0=g(()=>{JV0();dz();KE=jM4});function aM4(u){if(u==null)return!0;if(S5(u)&&(s3(u)||typeof u=="string"||typeof u.splice=="function"||zA(u)||LM(u)||OC(u)))return!u.length;var B=JE(u);if(B==NM4||B==VM4)return!u.size;if(qM(u))return!Fq(u).length;for(var E in u)if(iM4.call(u,E))return!1;return!0}var NM4="[object Map]",VM4="[object Set]",hM4,iM4,ai;var wV0=g(()=>{th();GK();Cq();W2();NF();Dq();ES();DS();hM4=Object.prototype,iM4=hM4.hasOwnProperty;ai=aM4});function mM4(u){return u===void 0}var Z6;var QV0=g(()=>{Z6=mM4});function $M4(u,B){return u<B}var mi;var F60=g(()=>{mi=$M4});function yM4(u,B){var E={};return B=V7(B,3),lq(u,function(A,C,D){QM(E,C,B(A,C,D))}),E}var HK;var GV0=g(()=>{tW();ji();oz();HK=yM4});function rM4(u,B,E){var A=-1,C=u.length;while(++A<C){var D=u[A],F=B(D);if(F!=null&&(U===void 0?F===F&&!ZE(F):E(F,U)))var U=F,z=D}return z}var vq;var $i=g(()=>{JK();vq=rM4});function gM4(u){return u&&u.length?vq(u,Z8,FV0):void 0}var Q8;var HV0=g(()=>{$i();UV0();JM();Q8=gM4});var cM4,xq;var qV0=g(()=>{gN0();SI0();cM4=WI0(function(u,B,E){rN0(u,B,E)}),xq=cM4});function _M4(u){return u&&u.length?vq(u,Z8,mi):void 0}var tz;var lV0=g(()=>{$i();F60();JM();tz=_M4});function pM4(u,B){return u&&u.length?vq(u,V7(B,2),mi):void 0}var qK;var LV0=g(()=>{$i();oz();F60();qK=pM4});function nM4(u,B,E,A){if(!U9(u))return u;B=YM(B,u);var C=-1,D=B.length,F=D-1,U=u;while(U!=null&&++C<D){var z=hF(B[C]),k=E;if(z==="__proto__"||z==="constructor"||z==="prototype")return u;if(C!=F){var f=U[z];if(k=A?A(f,z,U):void 0,k===void 0)k=U9(f)?f:wM(B[C+1])?[]:{}}GM(U,z,k),U=U[z]}return u}var XV0;var vV0=g(()=>{eW();fS();oW();FA();Mq();XV0=nM4});function dM4(u,B,E){var A=-1,C=B.length,D={};while(++A<C){var F=B[A],U=RM(u,F);if(E(U,F))XV0(D,YM(F,u),U)}return D}var xV0;var WV0=g(()=>{MS();vV0();fS();xV0=dM4});function sM4(u,B){var E=u.length;u.sort(B);while(E--)u[E]=u[E].value;return u}var SV0;var YV0=g(()=>{SV0=sM4});function oM4(u,B){if(u!==B){var E=u!==void 0,A=u===null,C=u===u,D=ZE(u),F=B!==void 0,U=B===null,z=B===B,k=ZE(B);if(!U&&!k&&!D&&u>B||D&&F&&z&&!U&&!k||A&&F&&z||!E&&z||!C)return 1;if(!A&&!D&&!k&&u<B||k&&E&&C&&!A&&!D||U&&E&&C||!F&&C||!z)return-1}return 0}var RV0;var TV0=g(()=>{JK();RV0=oM4});function tM4(u,B,E){var A=-1,C=u.criteria,D=B.criteria,F=C.length,U=E.length;while(++A<F){var z=RV0(C[A],D[A]);if(z){if(A>=U)return z;var k=E[A];return z*(k=="desc"?-1:1)}}return u.index-B.index}var OV0;var IV0=g(()=>{TV0();OV0=tM4});function eM4(u,B,E){if(B.length)B=IF(B,function(D){if(s3(D))return function(F){return RM(F,D.length===1?D[0]:D)};return D});else B=[Z8];var A=-1;B=IF(B,lM(V7));var C=ii(u,function(D,F,U){var z=IF(B,function(k){return k(D)});return{criteria:z,index:++A,value:D}});return SV0(C,function(D,F){return OV0(D,F,E)})}var PV0;var jV0=g(()=>{dW();MS();oz();A60();YV0();AS();IV0();JM();W2();PV0=eM4});var ub4,NV0;var VV0=g(()=>{o10();ub4=Ii("length"),NV0=ub4});function bb4(u){var B=hV0.lastIndex=0;while(hV0.test(u))++B;return B}var iV0="\\ud800-\\udfff",Bb4="\\u0300-\\u036f",Eb4="\\ufe20-\\ufe2f",Ab4="\\u20d0-\\u20ff",Cb4,Db4="\\ufe0e\\ufe0f",Fb4,U60,z60="\\ud83c[\\udffb-\\udfff]",Ub4,aV0,mV0="(?:\\ud83c[\\udde6-\\uddff]){2}",$V0="[\\ud800-\\udbff][\\udc00-\\udfff]",zb4="\\u200d",yV0,rV0,kb4,fb4,Mb4,hV0,gV0;var cV0=g(()=>{Cb4=Bb4+Eb4+Ab4,Fb4="["+iV0+"]",U60="["+Cb4+"]",Ub4="(?:"+U60+"|"+z60+")",aV0="[^"+iV0+"]",yV0=Ub4+"?",rV0="["+Db4+"]?",kb4="(?:"+zb4+"(?:"+[aV0,mV0,$V0].join("|")+")"+rV0+yV0+")*",fb4=rV0+yV0+kb4,Mb4="(?:"+[aV0+U60+"?",U60,mV0,$V0,Fb4].join("|")+")",hV0=RegExp(z60+"(?="+z60+")|"+Mb4+fb4,"g");gV0=bb4});function Zb4(u){return rP0(u)?gV0(u):NV0(u)}var _V0;var pV0=g(()=>{VV0();gP0();cV0();_V0=Zb4});function Jb4(u,B){return xV0(u,B,function(E,A){return Oi(u,A)})}var nV0;var dV0=g(()=>{WV0();s10();nV0=Jb4});var Kb4,lK;var sV0=g(()=>{dV0();aP0();Kb4=iP0(function(u,B){return u==null?{}:nV0(u,B)}),lK=Kb4});function Gb4(u,B,E,A){var C=-1,D=Qb4(wb4((B-u)/(E||1)),0),F=Array(D);while(D--)F[A?D:++C]=u,u+=E;return F}var wb4,Qb4,oV0;var tV0=g(()=>{wb4=Math.ceil,Qb4=Math.max;oV0=Gb4});function Hb4(u){return function(B,E,A){if(A&&typeof A!="number"&&nz(B,E,A))E=A=void 0;if(B=uq(B),E===void 0)E=B,B=0;else E=uq(E);return A=A===void 0?B<E?1:-1:uq(A),oV0(B,E,A,u)}}var eV0;var uh0=g(()=>{tV0();BS();b10();eV0=Hb4});var qb4,fA;var Bh0=g(()=>{uh0();qb4=eV0(),fA=qb4});function lb4(u,B,E,A,C){return C(u,function(D,F,U){E=A?(A=!1,D):B(E,D,F,U)}),E}var Eh0;var Ah0=g(()=>{Eh0=lb4});function Lb4(u,B,E){var A=s3(u)?cP0:Eh0,C=arguments.length<3;return A(u,V7(B,4),E,C,OM)}var aF;var Ch0=g(()=>{_P0();KS();oz();Ah0();W2();aF=Lb4});function xb4(u){if(u==null)return 0;if(S5(u))return MV0(u)?_V0(u):u.length;var B=JE(u);if(B==Xb4||B==vb4)return u.size;return Fq(u).length}var Xb4="[object Map]",vb4="[object Set]",k60;var Dh0=g(()=>{th();GK();NF();bV0();pV0();k60=xb4});var Wb4,mF;var Fh0=g(()=>{Ci();jV0();uS();BS();Wb4=HM(function(u,B){if(u==null)return[];var E=B.length;if(E>1&&nz(u,B[0],B[1]))B=[];else if(E>2&&nz(B[0],B[1],B[2]))B=[B[0]];return PV0(u,Zq(B,1),[])}),mF=Wb4});var Sb4=1/0,Yb4,Uh0;var zh0=g(()=>{N10();bI0();xi();Yb4=!(TM&&1/Hq(new TM([,-0]))[1]==Sb4)?MI0:function(u){return new TM(u)},Uh0=Yb4});function Tb4(u,B,E){var A=-1,C=XI0,D=u.length,F=!0,U=[],z=U;if(E)F=!1,C=cN0;else if(D>=Rb4){var k=B?null:Uh0(u);if(k)return Hq(k);F=!1,C=Li,z=new li}else z=B?[]:U;u:while(++A<D){var f=u[A],M=B?B(f):f;if(f=E||f!==0?f:0,F&&M===M){var b=z.length;while(b--)if(z[b]===M)continue u;if(B)z.push(M);U.push(f)}else if(!C(z,M,E)){if(z!==U)z.push(M);U.push(f)}}return U}var Rb4=200,kh0;var fh0=g(()=>{y10();vI0();_N0();r10();zh0();xi();kh0=Tb4});var Ob4,f60;var Mh0=g(()=>{Ci();uS();fh0();u60();Ob4=HM(function(u){return kh0(Zq(u,1,Vi,!0))}),f60=Ob4});function Pb4(u){var B=++Ib4;return Ei(u)+B}var Ib4=0,LK;var bh0=g(()=>{S10();LK=Pb4});function jb4(u,B,E){var A=-1,C=u.length,D=B.length,F={};while(++A<C){var U=A<D?B[A]:void 0;E(F,u[A],U)}return F}var Zh0;var Jh0=g(()=>{Zh0=jb4});function Nb4(u,B){return Zh0(u||[],B||[],GM)}var yi;var Kh0=g(()=>{eW();Jh0();yi=Nb4});var A6=g(()=>{sj0();oj0();K10();hN0();nN0();oN0();EV0();Y10();E60();CV0();DV0();fV0();W2();wV0();sW();QV0();dz();pN0();AV0();GV0();HV0();qV0();lV0();LV0();NN0();sV0();Bh0();Ch0();Dh0();Fh0();Mh0();bh0();KV0();Kh0()});class m1{constructor(u={}){if(this._isDirected=Object.prototype.hasOwnProperty.call(u,"directed")?u.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(u,"multigraph")?u.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(u,"compound")?u.compound:!1,this._label=void 0,this._defaultNodeLabelFn=K8(void 0),this._defaultEdgeLabelFn=K8(void 0),this._nodes={},this._isCompound)this._parent={},this._children={},this._children[XK]={};this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(u){return this._label=u,this}graph(){return this._label}setDefaultNodeLabel(u){if(!PF(u))u=K8(u);return this._defaultNodeLabelFn=u,this}nodeCount(){return this._nodeCount}nodes(){return a9(this._nodes)}sources(){var u=this;return lB(this.nodes(),function(B){return ai(u._in[B])})}sinks(){var u=this;return lB(this.nodes(),function(B){return ai(u._out[B])})}setNodes(u,B){var E=arguments,A=this;return vu(u,function(C){if(E.length>1)A.setNode(C,B);else A.setNode(C)}),this}setNode(u,B){if(Object.prototype.hasOwnProperty.call(this._nodes,u)){if(arguments.length>1)this._nodes[u]=B;return this}if(this._nodes[u]=arguments.length>1?B:this._defaultNodeLabelFn(u),this._isCompound)this._parent[u]=XK,this._children[u]={},this._children[XK][u]=!0;return this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this}node(u){return this._nodes[u]}hasNode(u){return Object.prototype.hasOwnProperty.call(this._nodes,u)}removeNode(u){if(Object.prototype.hasOwnProperty.call(this._nodes,u)){var B=(E)=>this.removeEdge(this._edgeObjs[E]);if(delete this._nodes[u],this._isCompound)this._removeFromParentsChildList(u),delete this._parent[u],vu(this.children(u),(E)=>{this.setParent(E)}),delete this._children[u];vu(a9(this._in[u]),B),delete this._in[u],delete this._preds[u],vu(a9(this._out[u]),B),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this}setParent(u,B){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(Z6(B))B=XK;else{B+="";for(var E=B;!Z6(E);E=this.parent(E))if(E===u)throw Error("Setting "+B+" as parent of "+u+" would create a cycle");this.setNode(B)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=B,this._children[B][u]=!0,this}_removeFromParentsChildList(u){delete this._children[this._parent[u]][u]}parent(u){if(this._isCompound){var B=this._parent[u];if(B!==XK)return B}}children(u){if(Z6(u))u=XK;if(this._isCompound){var B=this._children[u];if(B)return a9(B)}else if(u===XK)return this.nodes();else if(this.hasNode(u))return[]}predecessors(u){var B=this._preds[u];if(B)return a9(B)}successors(u){var B=this._sucs[u];if(B)return a9(B)}neighbors(u){var B=this.predecessors(u);if(B)return f60(B,this.successors(u))}isLeaf(u){var B;if(this.isDirected())B=this.successors(u);else B=this.neighbors(u);return B.length===0}filterNodes(u){var B=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});B.setGraph(this.graph());var E=this;vu(this._nodes,function(D,F){if(u(F))B.setNode(F,D)}),vu(this._edgeObjs,function(D){if(B.hasNode(D.v)&&B.hasNode(D.w))B.setEdge(D,E.edge(D))});var A={};function C(D){var F=E.parent(D);if(F===void 0||B.hasNode(F))return A[D]=F,F;else if(F in A)return A[F];else return C(F)}if(this._isCompound)vu(B.nodes(),function(D){B.setParent(D,C(D))});return B}setDefaultEdgeLabel(u){if(!PF(u))u=K8(u);return this._defaultEdgeLabelFn=u,this}edgeCount(){return this._edgeCount}edges(){return KE(this._edgeObjs)}setPath(u,B){var E=this,A=arguments;return aF(u,function(C,D){if(A.length>1)E.setEdge(C,D,B);else E.setEdge(C,D);return D}),this}setEdge(){var u,B,E,A,C=!1,D=arguments[0];if(typeof D==="object"&&D!==null&&"v"in D){if(u=D.v,B=D.w,E=D.name,arguments.length===2)A=arguments[1],C=!0}else if(u=D,B=arguments[1],E=arguments[3],arguments.length>2)A=arguments[2],C=!0;if(u=""+u,B=""+B,!Z6(E))E=""+E;var F=HS(this._isDirected,u,B,E);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,F)){if(C)this._edgeLabels[F]=A;return this}if(!Z6(E)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(B),this._edgeLabels[F]=C?A:this._defaultEdgeLabelFn(u,B,E);var U=hb4(this._isDirected,u,B,E);return u=U.v,B=U.w,Object.freeze(U),this._edgeObjs[F]=U,Qh0(this._preds[B],u),Qh0(this._sucs[u],B),this._in[B][F]=U,this._out[u][F]=U,this._edgeCount++,this}edge(u,B,E){var A=arguments.length===1?M60(this._isDirected,arguments[0]):HS(this._isDirected,u,B,E);return this._edgeLabels[A]}hasEdge(u,B,E){var A=arguments.length===1?M60(this._isDirected,arguments[0]):HS(this._isDirected,u,B,E);return Object.prototype.hasOwnProperty.call(this._edgeLabels,A)}removeEdge(u,B,E){var A=arguments.length===1?M60(this._isDirected,arguments[0]):HS(this._isDirected,u,B,E),C=this._edgeObjs[A];if(C)u=C.v,B=C.w,delete this._edgeLabels[A],delete this._edgeObjs[A],Gh0(this._preds[B],u),Gh0(this._sucs[u],B),delete this._in[B][A],delete this._out[u][A],this._edgeCount--;return this}inEdges(u,B){var E=this._in[u];if(E){var A=KE(E);if(!B)return A;return lB(A,function(C){return C.v===B})}}outEdges(u,B){var E=this._out[u];if(E){var A=KE(E);if(!B)return A;return lB(A,function(C){return C.w===B})}}nodeEdges(u,B){var E=this.inEdges(u,B);if(E)return E.concat(this.outEdges(u,B))}}function Qh0(u,B){if(u[B])u[B]++;else u[B]=1}function Gh0(u,B){if(!--u[B])delete u[B]}function HS(u,B,E,A){var C=""+B,D=""+E;if(!u&&C>D){var F=C;C=D,D=F}return C+wh0+D+wh0+(Z6(A)?Vb4:A)}function hb4(u,B,E,A){var C=""+B,D=""+E;if(!u&&C>D){var F=C;C=D,D=F}var U={v:C,w:D};if(A)U.name=A;return U}function M60(u,B){return HS(u,B.v,B.w,B.name)}var Vb4="\x00",XK="\x00",wh0="\x01";var ri=g(()=>{A6();m1.prototype._nodeCount=0;m1.prototype._edgeCount=0});var wE=g(()=>{ri()});function IC(u){var B={options:{directed:u.isDirected(),multigraph:u.isMultigraph(),compound:u.isCompound()},nodes:ib4(u),edges:ab4(u)};if(!Z6(u.graph()))B.value=m10(u.graph());return B}function ib4(u){return a1(u.nodes(),function(B){var E=u.node(B),A=u.parent(B),C={v:B};if(!Z6(E))C.value=E;if(!Z6(A))C.parent=A;return C})}function ab4(u){return a1(u.edges(),function(B){var E=u.edge(B),A={v:B.v,w:B.w};if(!Z6(B.name))A.name=B.name;if(!Z6(E))A.value=E;return A})}var b60=g(()=>{A6();ri()});var P3,PM,lh0,gi,vK,mb4,Z60,Lh0,$b4,xK,qh0,Xh0,vh0,xh0,Wh0,Sh0,yb4;var J60=g(()=>{o4();Y4();wE();b60();P3=new Map,PM=new Map,lh0=new Map,gi=X(()=>{PM.clear(),lh0.clear(),P3.clear()},"clear"),vK=X((u,B)=>{let E=PM.get(B)||[];return z0.trace("In isDescendant",B," ",u," = ",E.includes(u)),E.includes(u)},"isDescendant"),mb4=X((u,B)=>{let E=PM.get(B)||[];if(z0.info("Descendants of ",B," is ",E),z0.info("Edge is ",u),u.v===B||u.w===B)return!1;if(!E)return z0.debug("Tilt, ",B,",not in descendants"),!1;return E.includes(u.v)||vK(u.v,B)||vK(u.w,B)||E.includes(u.w)},"edgeInCluster"),Z60=X((u,B,E,A)=>{z0.warn("Copying children of ",u,"root",A,"data",B.node(u),A);let C=B.children(u)||[];if(u!==A)C.push(u);z0.warn("Copying (nodes) clusterId",u,"nodes",C),C.forEach((D)=>{if(B.children(D).length>0)Z60(D,B,E,A);else{let F=B.node(D);if(z0.info("cp ",D," to ",A," with parent ",u),E.setNode(D,F),A!==B.parent(D))z0.warn("Setting parent",D,B.parent(D)),E.setParent(D,B.parent(D));if(u!==A&&D!==u)z0.debug("Setting parent",D,u),E.setParent(D,u);else z0.info("In copy ",u,"root",A,"data",B.node(u),A),z0.debug("Not Setting parent for node=",D,"cluster!==rootId",u!==A,"node!==clusterId",D!==u);let U=B.edges(D);z0.debug("Copying Edges",U),U.forEach((z)=>{z0.info("Edge",z);let k=B.edge(z.v,z.w,z.name);z0.info("Edge data",k,A);try{if(mb4(z,A)){let f=PM.get(A)||[],M=f.includes(z.v)||vK(z.v,A)||z.v===A,b=f.includes(z.w)||vK(z.w,A)||z.w===A;if(M&&b)z0.info("Copying as ",z.v,z.w,k,z.name),E.setEdge(z.v,z.w,k,z.name),z0.info("newGraph edges ",E.edges(),E.edge(E.edges()[0]));else{let Z=M?A:z.v,J=b?A:z.w;z0.info("Rebinding cross-boundary edge as ",Z,J,k,z.name),B.setEdge(Z,J,k,z.name)}}else z0.info("Skipping copy of edge ",z.v,"-->",z.w," rootId: ",A," clusterId:",u)}catch(f){z0.error(f)}})}z0.debug("Removing node",D),B.removeNode(D)})},"copy"),Lh0=X((u,B)=>{let E=B.children(u),A=[...E];for(let C of E)lh0.set(C,u),A=[...A,...Lh0(C,B)];return A},"extractDescendants"),$b4=X((u,B,E)=>{let A=u.edges().filter((z)=>z.v===B||z.w===B),C=u.edges().filter((z)=>z.v===E||z.w===E),D=A.map((z)=>{return{v:z.v===B?E:z.v,w:z.w===B?B:z.w}}),F=C.map((z)=>{return{v:z.v,w:z.w}});return D.filter((z)=>{return F.some((k)=>z.v===k.v&&z.w===k.w)})},"findCommonEdges"),xK=X((u,B,E)=>{let A=B.children(u);if(z0.trace("Searching children of id ",u,A),A.length<1)return u;let C;for(let D of A){let F=xK(D,B,E),U=$b4(B,E,F);if(F)if(U.length>0)C=F;else return F}return C},"findNonClusterChild"),qh0=X((u)=>{if(!P3.has(u))return u;if(!P3.get(u).externalConnections)return u;if(P3.has(u))return P3.get(u).id;return u},"getAnchorId"),Xh0=X((u,B)=>{if(!u||B>10){z0.debug("Opting out, no graph ");return}else z0.debug("Opting in, graph ");u.nodes().forEach(function(E){if(u.children(E).length>0)z0.warn("Cluster identified",E," Replacement id in edges: ",xK(E,u,E)),PM.set(E,Lh0(E,u)),P3.set(E,{id:xK(E,u,E),clusterData:u.node(E)})}),u.nodes().forEach(function(E){let A=u.children(E),C=u.edges();if(A.length>0)z0.debug("Cluster identified",E,PM),C.forEach((D)=>{let F=vK(D.v,E),U=vK(D.w,E);if(F^U)z0.warn("Edge: ",D," leaves cluster ",E),z0.warn("Descendants of XXX ",E,": ",PM.get(E)),P3.get(E).externalConnections=!0});else z0.debug("Not a cluster ",E,PM)});for(let E of P3.keys()){let A=P3.get(E).id,C=u.parent(A);if(C!==E&&P3.has(C)&&!P3.get(C).externalConnections)P3.get(E).id=C;let D=u.edges().some((F)=>F.v===E);if(A&&P3.get(E)?.externalConnections&&D&&Sh0(u,A,E)){let F=yb4(u,E,u.parent(A));if(F)P3.get(E).id=F}}u.edges().forEach(function(E){let A=u.edge(E);z0.warn("Edge "+E.v+" -> "+E.w+": "+JSON.stringify(E)),z0.warn("Edge "+E.v+" -> "+E.w+": "+JSON.stringify(u.edge(E)));let{v:C,w:D}=E;if(z0.warn("Fix XXX",P3,"ids:",E.v,E.w,"Translating: ",P3.get(E.v)," --- ",P3.get(E.w)),P3.get(E.v)||P3.get(E.w)){if(z0.warn("Fixing and trying - removing XXX",E.v,E.w,E.name),C=qh0(E.v),D=qh0(E.w),u.removeEdge(E.v,E.w,E.name),C!==E.v){let F=u.parent(C);P3.get(F).externalConnections=!0,A.fromCluster=E.v}if(D!==E.w){let F=u.parent(D);P3.get(F).externalConnections=!0,A.toCluster=E.w}z0.warn("Fix Replacing with XXX",C,D,E.name),u.setEdge(C,D,A,E.name)}}),z0.warn("Adjusted Graph",IC(u)),vh0(u,0),z0.trace(P3)},"adjustClustersAndEdges"),vh0=X((u,B)=>{if(z0.warn("extractor - ",B,IC(u),u.children("D")),B>10){z0.error("Bailing out");return}let E=u.nodes(),A=!1;for(let C of E){let D=u.children(C);A=A||D.length>0}if(!A){z0.debug("Done, no node has children",u.nodes());return}z0.debug("Nodes = ",E,B);for(let C of E)if(z0.debug("Extracting node",C,P3,P3.has(C)&&!P3.get(C).externalConnections,!u.parent(C),u.node(C),u.children("D")," Depth ",B),!P3.has(C))z0.debug("Not a cluster",C,B);else if(P3.get(C)?.clusterData?.explicitDir&&u.children(C)&&u.children(C).length>0){z0.warn("Cluster with explicit dir, creating subgraph for children",C,B);let D=P3.get(C).clusterData.dir,F=new m1({multigraph:!0,compound:!0}).setGraph({rankdir:D,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Z60(C,u,F,C);let U=u.node(C)||{};u.setNode(C,{...U,clusterNode:!0,id:C,clusterData:P3.get(C).clusterData,label:P3.get(C).label,graph:F}),z0.warn("Subgraph for cluster with explicit dir created:",C,IC(F))}else if(!P3.get(C).externalConnections&&u.children(C)&&u.children(C).length>0){z0.warn("Cluster without external connections, without a parent and with children",C,B);let F=u.graph().rankdir==="TB"?"LR":"TB";if(P3.get(C)?.clusterData?.dir)F=P3.get(C).clusterData.dir,z0.warn("Fixing dir",P3.get(C).clusterData.dir,F);let U=new m1({multigraph:!0,compound:!0}).setGraph({rankdir:F,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Z60(C,u,U,C);let z=u.node(C)||{};u.setNode(C,{...z,clusterNode:!0,id:C,clusterData:P3.get(C).clusterData,label:P3.get(C).label,graph:U}),z0.debug("Old graph after copy",IC(u))}else z0.warn("Cluster ** ",C," **not meeting the criteria !externalConnections:",!P3.get(C).externalConnections," no parent: ",!u.parent(C)," children ",u.children(C)&&u.children(C).length>0,u.children("D"),B),z0.debug(P3);E=u.nodes(),z0.warn("New list of nodes",E);for(let C of E){let D=u.node(C);if(z0.warn(" Now next level",C,D),D?.clusterNode)vh0(D.graph,B+1)}},"extractor"),xh0=X((u,B)=>{if(B.length===0)return[];let E=Object.assign([],B);return B.forEach((A)=>{let C=u.children(A),D=xh0(u,C);E=[...E,...D]}),E},"sorter"),Wh0=X((u)=>xh0(u,u.children()),"sortNodesByHierarchy"),Sh0=X((u,B,E)=>{let A=u.parent(B);while(A&&A!==E){let C=P3.get(A);if(C&&!C.externalConnections)return!0;A=u.parent(A)}return!1},"isNodeInExtractableCluster"),yb4=X((u,B,E)=>{let A=u.children(B)??[];for(let C of A){if(C===E||vK(C,E))continue;let D=xK(C,u,B);if(!D)continue;if(!Sh0(u,D,B))return D}return null},"findSafeAnchorNode")});class K60{constructor(){var u={};u._next=u._prev=u,this._sentinel=u}dequeue(){var u=this._sentinel,B=u._prev;if(B!==u)return Yh0(B),B}enqueue(u){var B=this._sentinel;if(u._prev&&u._next)Yh0(u);u._next=B._next,B._next._prev=u,B._next=u,u._prev=B}toString(){var u=[],B=this._sentinel,E=B._prev;while(E!==B)u.push(JSON.stringify(E,rb4)),E=E._prev;return"["+u.join(", ")+"]"}}function Yh0(u){u._prev._next=u._next,u._next._prev=u._prev,delete u._next,delete u._prev}function rb4(u,B){if(u!=="_next"&&u!=="_prev")return B}var Rh0=()=>{};function Th0(u,B){if(u.nodeCount()<=1)return[];var E=_b4(u,B||gb4),A=cb4(E.graph,E.buckets,E.zeroIdx);return kA(a1(A,function(C){return u.outEdges(C.v,C.w)}))}function cb4(u,B,E){var A=[],C=B[B.length-1],D=B[0],F;while(u.nodeCount()){while(F=D.dequeue())w60(u,B,E,F);while(F=C.dequeue())w60(u,B,E,F);if(u.nodeCount()){for(var U=B.length-2;U>0;--U)if(F=B[U].dequeue(),F){A=A.concat(w60(u,B,E,F,!0));break}}}return A}function w60(u,B,E,A,C){var D=C?[]:void 0;return vu(u.inEdges(A.v),function(F){var U=u.edge(F),z=u.node(F.v);if(C)D.push({v:F.v,w:F.w});z.out-=U,Q60(B,E,z)}),vu(u.outEdges(A.v),function(F){var U=u.edge(F),z=F.w,k=u.node(z);k.in-=U,Q60(B,E,k)}),u.removeNode(A.v),D}function _b4(u,B){var E=new m1,A=0,C=0;vu(u.nodes(),function(U){E.setNode(U,{v:U,in:0,out:0})}),vu(u.edges(),function(U){var z=E.edge(U.v,U.w)||0,k=B(U),f=z+k;E.setEdge(U.v,U.w,f),C=Math.max(C,E.node(U.v).out+=k),A=Math.max(A,E.node(U.w).in+=k)});var D=fA(C+A+3).map(function(){return new K60}),F=A+1;return vu(E.nodes(),function(U){Q60(D,F,E.node(U))}),{graph:E,buckets:D,zeroIdx:F}}function Q60(u,B,E){if(!E.out)u[0].enqueue(E);else if(!E.in)u[u.length-1].enqueue(E);else u[E.out-E.in+B].enqueue(E)}var gb4;var Oh0=g(()=>{A6();wE();Rh0();gb4=K8(1)});function Ih0(u){var B=u.graph().acyclicer==="greedy"?Th0(u,E(u)):pb4(u);vu(B,function(A){var C=u.edge(A);u.removeEdge(A),C.forwardName=A.name,C.reversed=!0,u.setEdge(A.w,A.v,C,LK("rev"))});function E(A){return function(C){return A.edge(C).weight}}}function pb4(u){var B=[],E={},A={};function C(D){if(Object.prototype.hasOwnProperty.call(A,D))return;A[D]=!0,E[D]=!0,vu(u.outEdges(D),function(F){if(Object.prototype.hasOwnProperty.call(E,F.w))B.push(F);else C(F.w)}),delete E[D]}return vu(u.nodes(),C),B}function Ph0(u){vu(u.edges(),function(B){var E=u.edge(B);if(E.reversed){u.removeEdge(B);var A=E.forwardName;delete E.reversed,delete E.forwardName,u.setEdge(B.w,B.v,E,A)}})}var G60=g(()=>{A6();Oh0()});function $F(u,B,E,A){var C;do C=LK(A);while(u.hasNode(C));return E.dummy=B,u.setNode(C,E),C}function Nh0(u){var B=new m1().setGraph(u.graph());return vu(u.nodes(),function(E){B.setNode(E,u.node(E))}),vu(u.edges(),function(E){var A=B.edge(E.v,E.w)||{weight:0,minlen:1},C=u.edge(E);B.setEdge(E.v,E.w,{weight:A.weight+C.weight,minlen:Math.max(A.minlen,C.minlen)})}),B}function ci(u){var B=new m1({multigraph:u.isMultigraph()}).setGraph(u.graph());return vu(u.nodes(),function(E){if(!u.children(E).length)B.setNode(E,u.node(E))}),vu(u.edges(),function(E){B.setEdge(E,u.edge(E))}),B}function H60(u,B){var{x:E,y:A}=u,C=B.x-E,D=B.y-A,F=u.width/2,U=u.height/2;if(!C&&!D)throw Error("Not possible to find intersection inside of the rectangle");var z,k;if(Math.abs(D)*F>Math.abs(C)*U){if(D<0)U=-U;z=U*C/D,k=U}else{if(C<0)F=-F;z=F,k=F*D/C}return{x:E+z,y:A+k}}function jM(u){var B=a1(fA(l60(u)+1),function(){return[]});return vu(u.nodes(),function(E){var A=u.node(E),C=A.rank;if(!Z6(C))B[C][A.order]=E}),B}function Vh0(u){var B=tz(a1(u.nodes(),function(E){return u.node(E).rank}));vu(u.nodes(),function(E){var A=u.node(E);if(GS(A,"rank"))A.rank-=B})}function hh0(u){var B=tz(a1(u.nodes(),function(D){return u.node(D).rank})),E=[];vu(u.nodes(),function(D){var F=u.node(D).rank-B;if(!E[F])E[F]=[];E[F].push(D)});var A=0,C=u.graph().nodeRankFactor;vu(E,function(D,F){if(Z6(D)&&F%C!==0)--A;else if(A)vu(D,function(U){u.node(U).rank+=A})})}function q60(u,B,E,A){var C={width:0,height:0};if(arguments.length>=4)C.rank=E,C.order=A;return $F(u,"border",C,B)}function l60(u){return Q8(a1(u.nodes(),function(B){var E=u.node(B).rank;if(!Z6(E))return E}))}function ih0(u,B){var E={lhs:[],rhs:[]};return vu(u,function(A){if(B(A))E.lhs.push(A);else E.rhs.push(A)}),E}function ah0(u,B){var E=Ni();try{return B()}finally{console.log(u+" time: "+(Ni()-E)+"ms")}}function mh0(u,B){return B()}var yF=g(()=>{A6();wE()});function yh0(u){function B(E){var A=u.children(E),C=u.node(E);if(A.length)vu(A,B);if(Object.prototype.hasOwnProperty.call(C,"minRank")){C.borderLeft=[],C.borderRight=[];for(var D=C.minRank,F=C.maxRank+1;D<F;++D)$h0(u,"borderLeft","_bl",E,C,D),$h0(u,"borderRight","_br",E,C,D)}}vu(u.children(),B)}function $h0(u,B,E,A,C,D){var F={width:0,height:0,rank:D,borderType:B},U=C[B][D-1],z=$F(u,"border",F,E);if(C[B][D]=z,u.setParent(z,A),U)u.setEdge(U,z,{weight:1})}var rh0=g(()=>{A6();yF()});function ch0(u){var B=u.graph().rankdir.toLowerCase();if(B==="lr"||B==="rl")ph0(u)}function _h0(u){var B=u.graph().rankdir.toLowerCase();if(B==="bt"||B==="rl")nb4(u);if(B==="lr"||B==="rl")db4(u),ph0(u)}function ph0(u){vu(u.nodes(),function(B){gh0(u.node(B))}),vu(u.edges(),function(B){gh0(u.edge(B))})}function gh0(u){var B=u.width;u.width=u.height,u.height=B}function nb4(u){vu(u.nodes(),function(B){L60(u.node(B))}),vu(u.edges(),function(B){var E=u.edge(B);if(vu(E.points,L60),Object.prototype.hasOwnProperty.call(E,"y"))L60(E)})}function L60(u){u.y=-u.y}function db4(u){vu(u.nodes(),function(B){X60(u.node(B))}),vu(u.edges(),function(B){var E=u.edge(B);if(vu(E.points,X60),Object.prototype.hasOwnProperty.call(E,"x"))X60(E)})}function X60(u){var B=u.x;u.x=u.y,u.y=B}var nh0=g(()=>{A6()});function dh0(u){u.graph().dummyChains=[],vu(u.edges(),function(B){ob4(u,B)})}function ob4(u,B){var E=B.v,A=u.node(E).rank,C=B.w,D=u.node(C).rank,F=B.name,U=u.edge(B),z=U.labelRank;if(D===A+1)return;u.removeEdge(B);var k=void 0,f,M;for(M=0,++A;A<D;++M,++A){if(U.points=[],k={width:0,height:0,edgeLabel:U,edgeObj:B,rank:A},f=$F(u,"edge",k,"_d"),A===z)k.width=U.width,k.height=U.height,k.dummy="edge-label",k.labelpos=U.labelpos;if(u.setEdge(E,f,{weight:U.weight},F),M===0)u.graph().dummyChains.push(f);E=f}u.setEdge(E,C,{weight:U.weight},F)}function sh0(u){vu(u.graph().dummyChains,function(B){var E=u.node(B),A=E.edgeLabel,C;u.setEdge(E.edgeObj,A);while(E.dummy){if(C=u.successors(B)[0],u.removeNode(B),A.points.push({x:E.x,y:E.y}),E.dummy==="edge-label")A.x=E.x,A.y=E.y,A.width=E.width,A.height=E.height;B=C,E=u.node(B)}})}var v60=g(()=>{A6();yF()});function lS(u){var B={};function E(A){var C=u.node(A);if(Object.prototype.hasOwnProperty.call(B,A))return C.rank;B[A]=!0;var D=tz(a1(u.outEdges(A),function(F){return E(F.w)-u.edge(F).minlen}));if(D===Number.POSITIVE_INFINITY||D===void 0||D===null)D=0;return C.rank=D}vu(u.sources(),E)}function WK(u,B){return u.node(B.w).rank-u.node(B.v).rank-u.edge(B).minlen}var _i=g(()=>{A6()});function pi(u){var B=new m1({directed:!1}),E=u.nodes()[0],A=u.nodeCount();B.setNode(E,{});var C,D;while(tb4(B,u)<A)C=eb4(B,u),D=B.hasNode(C.v)?WK(u,C):-WK(u,C),uZ4(B,u,D);return B}function tb4(u,B){function E(A){vu(B.nodeEdges(A),function(C){var D=C.v,F=A===D?C.w:D;if(!u.hasNode(F)&&!WK(B,C))u.setNode(F,{}),u.setEdge(A,F,{}),E(F)})}return vu(u.nodes(),E),u.nodeCount()}function eb4(u,B){return qK(B.edges(),function(E){if(u.hasNode(E.v)!==u.hasNode(E.w))return WK(B,E)})}function uZ4(u,B,E){vu(u.nodes(),function(A){B.node(A).rank+=E})}var x60=g(()=>{A6();wE();_i()});var th0=()=>{};var W60=()=>{};var hB1;var S60=g(()=>{A6();W60();hB1=K8(1)});var eh0=g(()=>{S60()});var Y60=()=>{};var ui0=g(()=>{Y60()});var gB1;var Bi0=g(()=>{A6();gB1=K8(1)});function R60(u){var B={},E={},A=[];function C(D){if(Object.prototype.hasOwnProperty.call(E,D))throw new LS;if(!Object.prototype.hasOwnProperty.call(B,D))E[D]=!0,B[D]=!0,vu(u.predecessors(D),C),delete E[D],A.push(D)}if(vu(u.sinks(),C),k60(B)!==u.nodeCount())throw new LS;return A}function LS(){}var T60=g(()=>{A6();R60.CycleException=LS;LS.prototype=Error()});var Ei0=g(()=>{T60()});function ni(u,B,E){if(!s3(B))B=[B];var A=(u.isDirected()?u.successors:u.neighbors).bind(u),C=[],D={};return vu(B,function(F){if(!u.hasNode(F))throw Error("Graph does not have node: "+F);Ai0(u,F,E==="post",D,A,C)}),C}function Ai0(u,B,E,A,C,D){if(!Object.prototype.hasOwnProperty.call(A,B)){if(A[B]=!0,!E)D.push(B);if(vu(C(B),function(F){Ai0(u,F,E,A,C,D)}),E)D.push(B)}}var O60=g(()=>{A6()});function I60(u,B){return ni(u,B,"post")}var Ci0=g(()=>{O60()});function P60(u,B){return ni(u,B,"pre")}var Di0=g(()=>{O60()});var Fi0=g(()=>{W60();ri()});var Ui0=g(()=>{th0();S60();eh0();ui0();Bi0();Ei0();Ci0();Di0();Fi0();Y60();T60()});function VM(u){u=Nh0(u),lS(u);var B=pi(u);N60(B),j60(B,u);var E,A;while(E=Mi0(B))A=bi0(B,u,E),Zi0(B,u,E,A)}function j60(u,B){var E=I60(u,u.nodes());E=E.slice(0,E.length-1),vu(E,function(A){DZ4(u,B,A)})}function DZ4(u,B,E){var A=u.node(E),C=A.parent;u.edge(E,C).cutvalue=ki0(u,B,E)}function ki0(u,B,E){var A=u.node(E),C=A.parent,D=!0,F=B.edge(E,C),U=0;if(!F)D=!1,F=B.edge(C,E);return U=F.weight,vu(B.nodeEdges(E),function(z){var k=z.v===E,f=k?z.w:z.v;if(f!==C){var M=k===D,b=B.edge(z).weight;if(U+=M?b:-b,UZ4(u,E,f)){var Z=u.edge(E,f).cutvalue;U+=M?-Z:Z}}}),U}function N60(u,B){if(arguments.length<2)B=u.nodes()[0];fi0(u,{},1,B)}function fi0(u,B,E,A,C){var D=E,F=u.node(A);if(B[A]=!0,vu(u.neighbors(A),function(U){if(!Object.prototype.hasOwnProperty.call(B,U))E=fi0(u,B,E,U,A)}),F.low=D,F.lim=E++,C)F.parent=C;else delete F.parent;return E}function Mi0(u){return Xq(u.edges(),function(B){return u.edge(B).cutvalue<0})}function bi0(u,B,E){var{v:A,w:C}=E;if(!B.hasEdge(A,C))A=E.w,C=E.v;var D=u.node(A),F=u.node(C),U=D,z=!1;if(D.lim>F.lim)U=F,z=!0;var k=lB(B.edges(),function(f){return z===zi0(u,u.node(f.v),U)&&z!==zi0(u,u.node(f.w),U)});return qK(k,function(f){return WK(B,f)})}function Zi0(u,B,E,A){var{v:C,w:D}=E;u.removeEdge(C,D),u.setEdge(A.v,A.w,{}),N60(u),j60(u,B),FZ4(u,B)}function FZ4(u,B){var E=Xq(u.nodes(),function(C){return!B.node(C).parent}),A=P60(u,E);A=A.slice(1),vu(A,function(C){var D=u.node(C).parent,F=B.edge(C,D),U=!1;if(!F)F=B.edge(D,C),U=!0;B.node(C).rank=B.node(D).rank+(U?F.minlen:-F.minlen)})}function UZ4(u,B,E){return u.hasEdge(B,E)}function zi0(u,B,E){return E.low<=B.lim&&B.lim<=E.lim}var Ji0=g(()=>{A6();Ui0();yF();x60();_i();VM.initLowLimValues=N60;VM.initCutValues=j60;VM.calcCutValue=ki0;VM.leaveEdge=Mi0;VM.enterEdge=bi0;VM.exchangeEdges=Zi0});function V60(u){switch(u.graph().ranker){case"network-simplex":Ki0(u);break;case"tight-tree":kZ4(u);break;case"longest-path":zZ4(u);break;default:Ki0(u)}}function kZ4(u){lS(u),pi(u)}function Ki0(u){VM(u)}var zZ4;var h60=g(()=>{x60();Ji0();_i();zZ4=lS});function wi0(u){var B=$F(u,"root",{},"_root"),E=fZ4(u),A=Q8(KE(E))-1,C=2*A+1;u.graph().nestingRoot=B,vu(u.edges(),function(F){u.edge(F).minlen*=C});var D=MZ4(u)+1;vu(u.children(),function(F){Qi0(u,B,C,D,A,E,F)}),u.graph().nodeRankFactor=C}function Qi0(u,B,E,A,C,D,F){var U=u.children(F);if(!U.length){if(F!==B)u.setEdge(B,F,{weight:0,minlen:E});return}var z=q60(u,"_bt"),k=q60(u,"_bb"),f=u.node(F);if(u.setParent(z,F),f.borderTop=z,u.setParent(k,F),f.borderBottom=k,vu(U,function(M){Qi0(u,B,E,A,C,D,M);var b=u.node(M),Z=b.borderTop?b.borderTop:M,J=b.borderBottom?b.borderBottom:M,K=b.borderTop?A:2*A,w=Z!==J?1:C-D[F]+1;u.setEdge(z,Z,{weight:K,minlen:w,nestingEdge:!0}),u.setEdge(J,k,{weight:K,minlen:w,nestingEdge:!0})}),!u.parent(F))u.setEdge(B,z,{weight:0,minlen:C+D[F]})}function fZ4(u){var B={};function E(A,C){var D=u.children(A);if(D&&D.length)vu(D,function(F){E(F,C+1)});B[A]=C}return vu(u.children(),function(A){E(A,1)}),B}function MZ4(u){return aF(u.edges(),function(B,E){return B+u.edge(E).weight},0)}function Gi0(u){var B=u.graph();u.removeNode(B.nestingRoot),delete B.nestingRoot,vu(u.edges(),function(E){var A=u.edge(E);if(A.nestingEdge)u.removeEdge(E)})}var Hi0=g(()=>{A6();yF()});function qi0(u,B,E){var A={},C;vu(E,function(D){var F=u.parent(D),U,z;while(F){if(U=u.parent(F),U)z=A[U],A[U]=F;else z=C,C=F;if(z&&z!==F){B.setEdge(z,F);return}F=U}})}var li0=g(()=>{A6()});function Li0(u,B,E){var A=ZZ4(u),C=new m1({compound:!0}).setGraph({root:A}).setDefaultNodeLabel(function(D){return u.node(D)});return vu(u.nodes(),function(D){var F=u.node(D),U=u.parent(D);if(F.rank===B||F.minRank<=B&&B<=F.maxRank){if(C.setNode(D),C.setParent(D,U||A),vu(u[E](D),function(z){var k=z.v===D?z.w:z.v,f=C.edge(k,D),M=!Z6(f)?f.weight:0;C.setEdge(k,D,{weight:u.edge(z).weight+M})}),Object.prototype.hasOwnProperty.call(F,"minRank"))C.setNode(D,{borderLeft:F.borderLeft[B],borderRight:F.borderRight[B]})}}),C}function ZZ4(u){var B;while(u.hasNode(B=LK("_root")));return B}var Xi0=g(()=>{A6();wE()});function vi0(u,B){var E=0;for(var A=1;A<B.length;++A)E+=JZ4(u,B[A-1],B[A]);return E}function JZ4(u,B,E){var A=yi(E,a1(E,function(k,f){return f})),C=kA(a1(B,function(k){return mF(a1(u.outEdges(k),function(f){return{pos:A[f.w],weight:u.edge(f).weight}}),"pos")})),D=1;while(D<E.length)D<<=1;var F=2*D-1;D-=1;var U=a1(Array(F),function(){return 0}),z=0;return vu(C.forEach(function(k){var f=k.pos+D;U[f]+=k.weight;var M=0;while(f>0){if(f%2)M+=U[f+1];f=f-1>>1,U[f]+=k.weight}z+=k.weight*M})),z}var xi0=g(()=>{A6()});function Wi0(u){var B={},E=lB(u.nodes(),function(U){return!u.children(U).length}),A=Q8(a1(E,function(U){return u.node(U).rank})),C=a1(fA(A+1),function(){return[]});function D(U){if(GS(B,U))return;B[U]=!0;var z=u.node(U);C[z.rank].push(U),vu(u.successors(U),D)}var F=mF(E,function(U){return u.node(U).rank});return vu(F,D),C}var Si0=g(()=>{A6()});function Yi0(u,B){return a1(B,function(E){var A=u.inEdges(E);if(!A.length)return{v:E};else{var C=aF(A,function(D,F){var U=u.edge(F),z=u.node(F.v);return{sum:D.sum+U.weight*z.order,weight:D.weight+U.weight}},{sum:0,weight:0});return{v:E,barycenter:C.sum/C.weight,weight:C.weight}}})}var Ri0=g(()=>{A6()});function Ti0(u,B){var E={};vu(u,function(C,D){var F=E[C.v]={indegree:0,in:[],out:[],vs:[C.v],i:D};if(!Z6(C.barycenter))F.barycenter=C.barycenter,F.weight=C.weight}),vu(B.edges(),function(C){var D=E[C.v],F=E[C.w];if(!Z6(D)&&!Z6(F))F.indegree++,D.out.push(E[C.w])});var A=lB(E,function(C){return!C.indegree});return KZ4(A)}function KZ4(u){var B=[];function E(D){return function(F){if(F.merged)return;if(Z6(F.barycenter)||Z6(D.barycenter)||F.barycenter>=D.barycenter)wZ4(D,F)}}function A(D){return function(F){if(F.in.push(D),--F.indegree===0)u.push(F)}}while(u.length){var C=u.pop();B.push(C),vu(C.in.reverse(),E(C)),vu(C.out,A(C))}return a1(lB(B,function(D){return!D.merged}),function(D){return lK(D,["vs","i","barycenter","weight"])})}function wZ4(u,B){var E=0,A=0;if(u.weight)E+=u.barycenter*u.weight,A+=u.weight;if(B.weight)E+=B.barycenter*B.weight,A+=B.weight;u.vs=B.vs.concat(u.vs),u.barycenter=E/A,u.weight=A,u.i=Math.min(B.i,u.i),B.merged=!0}var Oi0=g(()=>{A6()});function Pi0(u,B){var E=ih0(u,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),A=E.lhs,C=mF(E.rhs,function(f){return-f.i}),D=[],F=0,U=0,z=0;A.sort(QZ4(!!B)),z=Ii0(D,C,z),vu(A,function(f){z+=f.vs.length,D.push(f.vs),F+=f.barycenter*f.weight,U+=f.weight,z=Ii0(D,C,z)});var k={vs:kA(D)};if(U)k.barycenter=F/U,k.weight=U;return k}function Ii0(u,B,E){var A;while(B.length&&(A=IM(B)).i<=E)B.pop(),u.push(A.vs),E++;return E}function QZ4(u){return function(B,E){if(B.barycenter<E.barycenter)return-1;else if(B.barycenter>E.barycenter)return 1;return!u?B.i-E.i:E.i-B.i}}var ji0=g(()=>{A6();yF()});function i60(u,B,E,A){var C=u.children(B),D=u.node(B),F=D?D.borderLeft:void 0,U=D?D.borderRight:void 0,z={};if(F)C=lB(C,function(J){return J!==F&&J!==U});var k=Yi0(u,C);vu(k,function(J){if(u.children(J.v).length){var K=i60(u,J.v,E,A);if(z[J.v]=K,Object.prototype.hasOwnProperty.call(K,"barycenter"))HZ4(J,K)}});var f=Ti0(k,E);GZ4(f,z);var M=Pi0(f,A);if(F){if(M.vs=kA([F,M.vs,U]),u.predecessors(F).length){var b=u.node(u.predecessors(F)[0]),Z=u.node(u.predecessors(U)[0]);if(!Object.prototype.hasOwnProperty.call(M,"barycenter"))M.barycenter=0,M.weight=0;M.barycenter=(M.barycenter*M.weight+b.order+Z.order)/(M.weight+2),M.weight+=2}}return M}function GZ4(u,B){vu(u,function(E){E.vs=kA(E.vs.map(function(A){if(B[A])return B[A].vs;return A}))})}function HZ4(u,B){if(!Z6(u.barycenter))u.barycenter=(u.barycenter*u.weight+B.barycenter*B.weight)/(u.weight+B.weight),u.weight+=B.weight;else u.barycenter=B.barycenter,u.weight=B.weight}var Ni0=g(()=>{A6();Ri0();Oi0();ji0()});function ii0(u){var B=l60(u),E=Vi0(u,fA(1,B+1),"inEdges"),A=Vi0(u,fA(B-1,-1,-1),"outEdges"),C=Wi0(u);hi0(u,C);var D=Number.POSITIVE_INFINITY,F;for(var U=0,z=0;z<4;++U,++z){qZ4(U%2?E:A,U%4>=2),C=jM(u);var k=vi0(u,C);if(k<D)z=0,F=$10(C),D=k}hi0(u,F)}function Vi0(u,B,E){return a1(B,function(A){return Li0(u,A,E)})}function qZ4(u,B){var E=new m1;vu(u,function(A){var C=A.graph().root,D=i60(A,C,E,B);vu(D.vs,function(F,U){A.node(F).order=U}),qi0(A,E,D.vs)})}function hi0(u,B){vu(B,function(E){vu(E,function(A,C){u.node(A).order=C})})}var ai0=g(()=>{A6();wE();yF();li0();Xi0();xi0();Si0();Ni0()});function mi0(u){var B=LZ4(u);vu(u.graph().dummyChains,function(E){var A=u.node(E),C=A.edgeObj,D=lZ4(u,B,C.v,C.w),F=D.path,U=D.lca,z=0,k=F[z],f=!0;while(E!==C.w){if(A=u.node(E),f){while((k=F[z])!==U&&u.node(k).maxRank<A.rank)z++;if(k===U)f=!1}if(!f){while(z<F.length-1&&u.node(k=F[z+1]).minRank<=A.rank)z++;k=F[z]}u.setParent(E,k),E=u.successors(E)[0]}})}function lZ4(u,B,E,A){var C=[],D=[],F=Math.min(B[E].low,B[A].low),U=Math.max(B[E].lim,B[A].lim),z,k;z=E;do z=u.parent(z),C.push(z);while(z&&(B[z].low>F||U>B[z].lim));k=z,z=A;while((z=u.parent(z))!==k)D.push(z);return{path:C.concat(D.reverse()),lca:k}}function LZ4(u){var B={},E=0;function A(C){var D=E;vu(u.children(C),A),B[C]={low:D,lim:E++}}return vu(u.children(),A),B}var $i0=g(()=>{A6()});function XZ4(u,B){var E={};function A(C,D){var F=0,U=0,z=C.length,k=IM(D);return vu(D,function(f,M){var b=xZ4(u,f),Z=b?u.node(b).order:z;if(b||f===k)vu(D.slice(U,M+1),function(J){vu(u.predecessors(J),function(K){var w=u.node(K),Q=w.order;if((Q<F||Z<Q)&&!(w.dummy&&u.node(J).dummy))yi0(E,K,J)})}),U=M+1,F=Z}),D}return aF(B,A),E}function vZ4(u,B){var E={};function A(D,F,U,z,k){var f;vu(fA(F,U),function(M){if(f=D[M],u.node(f).dummy)vu(u.predecessors(f),function(b){var Z=u.node(b);if(Z.dummy&&(Z.order<z||Z.order>k))yi0(E,b,f)})})}function C(D,F){var U=-1,z,k=0;return vu(F,function(f,M){if(u.node(f).dummy==="border"){var b=u.predecessors(f);if(b.length)z=u.node(b[0]).order,A(F,k,M,U,z),k=M,U=z}A(F,k,F.length,z,D.length)}),F}return aF(B,C),E}function xZ4(u,B){if(u.node(B).dummy)return Xq(u.predecessors(B),function(E){return u.node(E).dummy})}function yi0(u,B,E){if(B>E){var A=B;B=E,E=A}if(!Object.prototype.hasOwnProperty.call(u,B))Object.defineProperty(u,B,{enumerable:!0,configurable:!0,value:{},writable:!0});var C=u[B];Object.defineProperty(C,E,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function WZ4(u,B,E){if(B>E){var A=B;B=E,E=A}return!!u[B]&&Object.prototype.hasOwnProperty.call(u[B],E)}function SZ4(u,B,E,A){var C={},D={},F={};return vu(B,function(U){vu(U,function(z,k){C[z]=z,D[z]=z,F[z]=k})}),vu(B,function(U){var z=-1;vu(U,function(k){var f=A(k);if(f.length){f=mF(f,function(K){return F[K]});var M=(f.length-1)/2;for(var b=Math.floor(M),Z=Math.ceil(M);b<=Z;++b){var J=f[b];if(D[k]===k&&z<F[J]&&!WZ4(E,k,J))D[J]=k,D[k]=C[k]=C[J],z=F[J]}}})}),{root:C,align:D}}function YZ4(u,B,E,A,C){var D={},F=RZ4(u,B,E,C),U=C?"borderLeft":"borderRight";function z(M,b){var Z=F.nodes(),J=Z.pop(),K={};while(J){if(K[J])M(J);else K[J]=!0,Z.push(J),Z=Z.concat(b(J));J=Z.pop()}}function k(M){D[M]=F.inEdges(M).reduce(function(b,Z){return Math.max(b,D[Z.v]+F.edge(Z))},0)}function f(M){var b=F.outEdges(M).reduce(function(J,K){return Math.min(J,D[K.w]-F.edge(K))},Number.POSITIVE_INFINITY),Z=u.node(M);if(b!==Number.POSITIVE_INFINITY&&Z.borderType!==U)D[M]=Math.max(D[M],b)}return z(k,F.predecessors.bind(F)),z(f,F.successors.bind(F)),vu(A,function(M){D[M]=D[E[M]]}),D}function RZ4(u,B,E,A){var C=new m1,D=u.graph(),F=PZ4(D.nodesep,D.edgesep,A);return vu(B,function(U){var z;vu(U,function(k){var f=E[k];if(C.setNode(f),z){var M=E[z],b=C.edge(M,f);C.setEdge(M,f,Math.max(F(u,k,z),b||0))}z=k})}),C}function TZ4(u,B){return qK(KE(B),function(E){var{NEGATIVE_INFINITY:A,POSITIVE_INFINITY:C}=Number;return C60(E,function(D,F){var U=jZ4(u,F)/2;A=Math.max(D+U,A),C=Math.min(D-U,C)}),A-C})}function OZ4(u,B){var E=KE(B),A=tz(E),C=Q8(E);vu(["u","d"],function(D){vu(["l","r"],function(F){var U=D+F,z=u[U],k;if(z===B)return;var f=KE(z);if(k=F==="l"?A-tz(f):C-Q8(f),k)u[U]=HK(z,function(M){return M+k})})})}function IZ4(u,B){return HK(u.ul,function(E,A){if(B)return u[B.toLowerCase()][A];else{var C=mF(a1(u,A));return(C[1]+C[2])/2}})}function ri0(u){var B=jM(u),E=xq(XZ4(u,B),vZ4(u,B)),A={},C;vu(["u","d"],function(F){C=F==="u"?B:KE(B).reverse(),vu(["l","r"],function(U){if(U==="r")C=a1(C,function(M){return KE(M).reverse()});var z=(F==="u"?u.predecessors:u.successors).bind(u),k=SZ4(u,C,E,z),f=YZ4(u,C,k.root,k.align,U==="r");if(U==="r")f=HK(f,function(M){return-M});A[F+U]=f})});var D=TZ4(u,A);return OZ4(A,D),IZ4(A,u.graph().align)}function PZ4(u,B,E){return function(A,C,D){var F=A.node(C),U=A.node(D),z=0,k;if(z+=F.width/2,Object.prototype.hasOwnProperty.call(F,"labelpos"))switch(F.labelpos.toLowerCase()){case"l":k=-F.width/2;break;case"r":k=F.width/2;break}if(k)z+=E?k:-k;if(k=0,z+=(F.dummy?B:u)/2,z+=(U.dummy?B:u)/2,z+=U.width/2,Object.prototype.hasOwnProperty.call(U,"labelpos"))switch(U.labelpos.toLowerCase()){case"l":k=U.width/2;break;case"r":k=-U.width/2;break}if(k)z+=E?k:-k;return k=0,z}}function jZ4(u,B){return u.node(B).width}var gi0=g(()=>{A6();wE();yF()});function ci0(u){u=ci(u),NZ4(u),D60(ri0(u),function(B,E){u.node(E).x=B})}function NZ4(u){var B=jM(u),E=u.graph().ranksep,A=0;vu(B,function(C){var D=Q8(a1(C,function(F){return u.node(F).height}));vu(C,function(F){u.node(F).y=A+D/2}),A+=D+E})}var _i0=g(()=>{A6();yF();gi0()});function XS(u,B){var E=B&&B.debugTiming?ah0:mh0;E("layout",()=>{var A=E(" buildLayoutGraph",()=>_Z4(u));E(" runLayout",()=>VZ4(A,E)),E(" updateInputGraph",()=>hZ4(u,A))})}function VZ4(u,B){B(" makeSpaceForEdgeLabels",()=>pZ4(u)),B(" removeSelfEdges",()=>EJ4(u)),B(" acyclic",()=>Ih0(u)),B(" nestingGraph.run",()=>wi0(u)),B(" rank",()=>V60(ci(u))),B(" injectEdgeLabelProxies",()=>nZ4(u)),B(" removeEmptyRanks",()=>hh0(u)),B(" nestingGraph.cleanup",()=>Gi0(u)),B(" normalizeRanks",()=>Vh0(u)),B(" assignRankMinMax",()=>dZ4(u)),B(" removeEdgeLabelProxies",()=>sZ4(u)),B(" normalize.run",()=>dh0(u)),B(" parentDummyChains",()=>mi0(u)),B(" addBorderSegments",()=>yh0(u)),B(" order",()=>ii0(u)),B(" insertSelfEdges",()=>AJ4(u)),B(" adjustCoordinateSystem",()=>ch0(u)),B(" position",()=>ci0(u)),B(" positionSelfEdges",()=>CJ4(u)),B(" removeBorderNodes",()=>BJ4(u)),B(" normalize.undo",()=>sh0(u)),B(" fixupEdgeLabelCoords",()=>eZ4(u)),B(" undoCoordinateSystem",()=>_h0(u)),B(" translateGraph",()=>oZ4(u)),B(" assignNodeIntersects",()=>tZ4(u)),B(" reversePoints",()=>uJ4(u)),B(" acyclic.undo",()=>Ph0(u))}function hZ4(u,B){vu(u.nodes(),function(E){var A=u.node(E),C=B.node(E);if(A){if(A.x=C.x,A.y=C.y,B.children(E).length)A.width=C.width,A.height=C.height}}),vu(u.edges(),function(E){var A=u.edge(E),C=B.edge(E);if(A.points=C.points,Object.prototype.hasOwnProperty.call(C,"x"))A.x=C.x,A.y=C.y}),u.graph().width=B.graph().width,u.graph().height=B.graph().height}function _Z4(u){var B=new m1({multigraph:!0,compound:!0}),E=m60(u.graph());return B.setGraph(xq({},aZ4,a60(E,iZ4),lK(E,mZ4))),vu(u.nodes(),function(A){var C=m60(u.node(A));B.setNode(A,t10(a60(C,$Z4),yZ4)),B.setParent(A,u.parent(A))}),vu(u.edges(),function(A){var C=m60(u.edge(A));B.setEdge(A,xq({},gZ4,a60(C,rZ4),lK(C,cZ4)))}),B}function pZ4(u){var B=u.graph();B.ranksep/=2,vu(u.edges(),function(E){var A=u.edge(E);if(A.minlen*=2,A.labelpos.toLowerCase()!=="c")if(B.rankdir==="TB"||B.rankdir==="BT")A.width+=A.labeloffset;else A.height+=A.labeloffset})}function nZ4(u){vu(u.edges(),function(B){var E=u.edge(B);if(E.width&&E.height){var A=u.node(B.v),C=u.node(B.w),D={rank:(C.rank-A.rank)/2+A.rank,e:B};$F(u,"edge-proxy",D,"_ep")}})}function dZ4(u){var B=0;vu(u.nodes(),function(E){var A=u.node(E);if(A.borderTop)A.minRank=u.node(A.borderTop).rank,A.maxRank=u.node(A.borderBottom).rank,B=Q8(B,A.maxRank)}),u.graph().maxRank=B}function sZ4(u){vu(u.nodes(),function(B){var E=u.node(B);if(E.dummy==="edge-proxy")u.edge(E.e).labelRank=E.rank,u.removeNode(B)})}function oZ4(u){var B=Number.POSITIVE_INFINITY,E=0,A=Number.POSITIVE_INFINITY,C=0,D=u.graph(),F=D.marginx||0,U=D.marginy||0;function z(k){var{x:f,y:M,width:b,height:Z}=k;B=Math.min(B,f-b/2),E=Math.max(E,f+b/2),A=Math.min(A,M-Z/2),C=Math.max(C,M+Z/2)}vu(u.nodes(),function(k){z(u.node(k))}),vu(u.edges(),function(k){var f=u.edge(k);if(Object.prototype.hasOwnProperty.call(f,"x"))z(f)}),B-=F,A-=U,vu(u.nodes(),function(k){var f=u.node(k);f.x-=B,f.y-=A}),vu(u.edges(),function(k){var f=u.edge(k);if(vu(f.points,function(M){M.x-=B,M.y-=A}),Object.prototype.hasOwnProperty.call(f,"x"))f.x-=B;if(Object.prototype.hasOwnProperty.call(f,"y"))f.y-=A}),D.width=E-B+F,D.height=C-A+U}function tZ4(u){vu(u.edges(),function(B){var E=u.edge(B),A=u.node(B.v),C=u.node(B.w),D,F;if(!E.points)E.points=[],D=C,F=A;else D=E.points[0],F=E.points[E.points.length-1];E.points.unshift(H60(A,D)),E.points.push(H60(C,F))})}function eZ4(u){vu(u.edges(),function(B){var E=u.edge(B);if(Object.prototype.hasOwnProperty.call(E,"x")){if(E.labelpos==="l"||E.labelpos==="r")E.width-=E.labeloffset;switch(E.labelpos){case"l":E.x-=E.width/2+E.labeloffset;break;case"r":E.x+=E.width/2+E.labeloffset;break}}})}function uJ4(u){vu(u.edges(),function(B){var E=u.edge(B);if(E.reversed)E.points.reverse()})}function BJ4(u){vu(u.nodes(),function(B){if(u.children(B).length){var E=u.node(B),A=u.node(E.borderTop),C=u.node(E.borderBottom),D=u.node(IM(E.borderLeft)),F=u.node(IM(E.borderRight));E.width=Math.abs(F.x-D.x),E.height=Math.abs(C.y-A.y),E.x=D.x+E.width/2,E.y=A.y+E.height/2}}),vu(u.nodes(),function(B){if(u.node(B).dummy==="border")u.removeNode(B)})}function EJ4(u){vu(u.edges(),function(B){if(B.v===B.w){var E=u.node(B.v);if(!E.selfEdges)E.selfEdges=[];E.selfEdges.push({e:B,label:u.edge(B)}),u.removeEdge(B)}})}function AJ4(u){var B=jM(u);vu(B,function(E){var A=0;vu(E,function(C,D){var F=u.node(C);F.order=D+A,vu(F.selfEdges,function(U){$F(u,"selfedge",{width:U.label.width,height:U.label.height,rank:F.rank,order:D+ ++A,e:U.e,label:U.label},"_se")}),delete F.selfEdges})})}function CJ4(u){vu(u.nodes(),function(B){var E=u.node(B);if(E.dummy==="selfedge"){var A=u.node(E.e.v),C=A.x+A.width/2,D=A.y,F=E.x-C,U=A.height/2;u.setEdge(E.e,E.label),u.removeNode(B),E.label.points=[{x:C+2*F/3,y:D-U},{x:C+5*F/6,y:D-U},{x:C+F,y:D},{x:C+5*F/6,y:D+U},{x:C+2*F/3,y:D+U}],E.label.x=E.x,E.label.y=E.y}})}function a60(u,B){return HK(lK(u,B),Number)}function m60(u){var B={};return vu(u,function(E,A){B[A.toLowerCase()]=E}),B}var iZ4,aZ4,mZ4,$Z4,yZ4,rZ4,gZ4,cZ4;var pi0=g(()=>{A6();wE();rh0();nh0();G60();v60();h60();Hi0();ai0();$i0();_i0();yF();iZ4=["nodesep","edgesep","ranksep","marginx","marginy"],aZ4={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},mZ4=["acyclicer","ranker","rankdir","align"],$Z4=["width","height"],yZ4={width:0,height:0},rZ4=["minlen","weight","width","height","labeloffset"],gZ4={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},cZ4=["labelpos"]});var $60=g(()=>{G60();pi0();v60();h60()});var ti0={};ju(ti0,{render:()=>kJ4,getEdgesToRender:()=>si0});var ni0,di0,DJ4,FJ4,UJ4,zJ4,si0,oi0,kJ4;var ei0=g(()=>{J60();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();$60();b60();wE();ni0=X((u,B,E)=>Math.max(B,Math.min(E,u)),"clamp"),di0=X((u="TB")=>{switch(u){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),DJ4=X((u)=>u==="flowchart"||u==="flowchart-v2"||u==="stateDiagram","shouldMergeSelfLoopSegments"),FJ4=X((u,B,E,A,C)=>{let D=[],F=new Set;if(E.forEach(({start:f,end:M})=>{if(f!==A)F.add(f);if(M!==A)F.add(M)}),F.forEach((f)=>{let M=u.node(f);if(typeof M?.x==="number"&&typeof M?.y==="number")D.push(M)}),D.length===0)E.forEach(({edge:f})=>{(f.points??[]).forEach((M)=>{if(typeof M?.x==="number"&&typeof M?.y==="number")D.push(M)})});if(D.length===0)return di0(C);let U=D.reduce((f,M)=>({x:f.x+M.x/D.length,y:f.y+M.y/D.length}),{x:0,y:0}),z=U.x-B.x,k=U.y-B.y;if(Math.abs(z)>Math.abs(k))return z>0?"right":"left";if(Math.abs(k)>0)return k>0?"bottom":"top";return di0(C)},"getSelfLoopSide"),UJ4=X((u,B="top",E=0,A=0)=>{let C=u.x,D=u.y-E,F=u.width/2,U=u.height/2,z=Math.max(36,Math.min(100,u.width*0.8)),k=ni0(Math.max(A,u.width*0.35),36,z),f=ni0(Math.min(u.width,u.height)*0.45,24,48);switch(B){case"bottom":{let M=D+U;return[{x:C-k/2,y:M},{x:C-k/2,y:M+f},{x:C+k/2,y:M+f},{x:C+k/2,y:M}]}case"right":{let M=C+F;return[{x:M,y:D-k/2},{x:M+f,y:D-k/2},{x:M+f,y:D+k/2},{x:M,y:D+k/2}]}case"left":{let M=C-F;return[{x:M,y:D-k/2},{x:M-f,y:D-k/2},{x:M-f,y:D+k/2},{x:M,y:D+k/2}]}case"top":default:{let M=D-U;return[{x:C-k/2,y:M},{x:C-k/2,y:M-f},{x:C+k/2,y:M-f},{x:C+k/2,y:M}]}}},"getSelfLoopPoints"),zJ4=X((u,B,E="top",A=0,C={})=>{let F=u.x,U=u.y-A,z=C.width??0,k=C.height??0;switch(E){case"bottom":return{x:F,y:Math.max(...B.map((f)=>f.y))+k/2+4};case"right":return{x:Math.max(...B.map((f)=>f.x))+z/2+4,y:U};case"left":return{x:Math.min(...B.map((f)=>f.x))-z/2-4,y:U};case"top":default:return{x:F,y:Math.min(...B.map((f)=>f.y))-k/2-4}}},"getSelfLoopLabelPosition"),si0=X((u,B=0,{mergeSelfLoops:E=!0}={})=>{let A=new Map,C=[],D=u.graph()?.rankdir;return u.edges().forEach((F)=>{let U=u.edge(F);if(E&&U.selfLoop){let z=U.selfLoop.id;if(!A.has(z))A.set(z,[]);A.get(z).push({edge:U,start:F.v,end:F.w})}else C.push({edge:U,start:F.v,end:F.w})}),A.forEach((F)=>{if(F.length!==3){F.forEach((Q)=>C.push(Q));return}F.sort((Q,G)=>Q.edge.selfLoop.order-G.edge.selfLoop.order);let[U,z,k]=F,f=U.edge.originalEdge??z.edge.originalEdge??k.edge.originalEdge??z.edge,M=u.node(f.start);if(!M){F.forEach((Q)=>C.push(Q));return}let b={width:z.edge.width,height:z.edge.height},Z=FJ4(u,M,F,f.start,D),J=UJ4(M,Z,B,b.width??0),K=zJ4(M,J,Z,B,b),w={...z.edge,...f,id:f.id,points:J,start:f.start,end:f.end,x:K.x,y:K.y,width:b.width,height:b.height,labelStyle:z.edge.labelStyle,fromCluster:U.edge.fromCluster??z.edge.fromCluster??k.edge.fromCluster,toCluster:U.edge.toCluster??z.edge.toCluster??k.edge.toCluster};delete w.selfLoop,delete w.originalEdge,C.push({edge:w,start:w.start,end:w.end})}),C},"getEdgesToRender"),oi0=X(async(u,B,E,A,C,D)=>{z0.warn("Graph in recursive render:XAX",IC(B),C);let F=B.graph().rankdir;z0.trace("Dir in recursive render - dir:",F);let U=u.insert("g").attr("class","root");if(!B.nodes())z0.info("No nodes found for",B);else z0.info("Recursive render XXX",B.nodes());if(B.edges().length>0)z0.info("Recursive edges",B.edge(B.edges()[0]));let z=U.insert("g").attr("class","clusters"),k=U.insert("g").attr("class","edgePaths"),f=U.insert("g").attr("class","edgeLabels"),M=U.insert("g").attr("class","nodes"),b=DJ4(E);await Promise.all(B.nodes().map(async function(G){let H=B.node(G);if(C!==void 0){let l=JSON.parse(JSON.stringify(C.clusterData));if(z0.trace(`Setting data for parent cluster XXX
Node.id = `,G,`
data=`,l.height,`
Parent cluster`,C.height),B.setNode(C.id,l),!B.parent(G))z0.trace("Setting parent",G,C.id),B.setParent(G,C.id,l)}if(z0.info("(Insert) Node XXX"+G+": "+JSON.stringify(B.node(G))),H?.clusterNode){z0.info("Cluster identified XBX",G,H.width,B.node(G));let{ranksep:l,nodesep:q}=B.graph();H.graph.setGraph({...H.graph.graph(),ranksep:l+25,nodesep:q});let L=await oi0(M,H.graph,E,A,B.node(G),D),v=L.elem;h4(H,v),H.diff=L.diff||0,z0.info("New compound node after recursive render XAX",G,"width",H.width,"height",H.height),XO0(v,H)}else if(B.children(G).length>0)z0.trace("Cluster - the non recursive path XBX",G,H.id,H,H.width,"Graph:",B),z0.trace(xK(H.id,B)),P3.set(H.id,{id:xK(H.id,B),node:H});else z0.trace("Node - the non recursive path XAX",G,M,B.node(G),F),await _z(M,B.node(G),{config:D,dir:F})})),await X(async()=>{let G=B.edges().map(async function(H){let l=B.edge(H.v,H.w,H.name);if(z0.info("Edge "+H.v+" -> "+H.w+": "+JSON.stringify(H)),z0.info("Edge "+H.v+" -> "+H.w+": ",H," ",JSON.stringify(B.edge(H))),z0.info("Fix",P3,"ids:",H.v,H.w,"Translating: ",P3.get(H.v),P3.get(H.w)),b&&l.selfLoop){if(l.selfLoop.order!==1)return;let q=l.id;l.id=l.selfLoop.id,await bK(f,l),l.id=q;return}await bK(f,l)});await Promise.all(G)},"processEdges")(),z0.info("Graph before layout:",JSON.stringify(IC(B))),z0.info("############################################# XXX"),z0.info("### Layout ### XXX"),z0.info("############################################# XXX"),XS(B),z0.info("Graph after layout:",JSON.stringify(IC(B)));let J=0,{subGraphTitleTotalMargin:K}=SC(D);await Promise.all(Wh0(B).map(async function(G){let H=B.node(G);if(z0.info("Position XBX => "+G+": ("+H.x,","+H.y,") width: ",H.width," height: ",H.height),H?.clusterNode)H.y+=K,z0.info("A tainted cluster node XBX1",G,H.id,H.width,H.height,H.x,H.y,B.parent(G)),P3.get(H.id).node=H,MK(H);else if(B.children(G).length>0){z0.info("A pure cluster node XBX1",G,H.id,H.x,H.y,H.width,H.height,B.parent(G)),H.height+=K,B.node(H.parentId);let l=H?.padding/2||0,q=H?.labelBBox?.height||0,L=q-l||0;z0.debug("OffsetY",L,"labelHeight",q,"halfPadding",l),await bM(z,H),P3.get(H.id).node=H}else{let l=B.node(H.parentId);H.y+=K/2,z0.info("A regular node XBX1 - using the padding",H.id,"parent",H.parentId,H.width,H.height,H.x,H.y,"offsetY",H.offsetY,"parent",l,l?.offsetY,H),MK(H)}}));let w=K/2;return si0(B,w,{mergeSelfLoops:b}).forEach(function({edge:G,start:H,end:l}){z0.info("Edge "+H+" -> "+l+": "+JSON.stringify(G),G),G.points.forEach((x)=>x.y+=w);let q=B.node(H),L=B.node(l),v=tH(k,G,P3,E,q,L,A);Nh(G,v)}),B.nodes().forEach(function(G){let H=B.node(G);if(z0.info(G,H.type,H.diff),H.isGroup)J=H.diff}),z0.warn("Returning from recursive render XAX",U,J),{elem:U,diff:J}},"recursiveRender"),kJ4=X(async(u,B)=>{let E=new m1({multigraph:!0,compound:!0}).setGraph({rankdir:u.direction,nodesep:u.config?.nodeSpacing||u.config?.flowchart?.nodeSpacing||u.nodeSpacing,ranksep:u.config?.rankSpacing||u.config?.flowchart?.rankSpacing||u.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),A=B.select("g");eH(A,u.markers,u.type,u.diagramId),Ih(),jh(),Th(),gi(),u.nodes.forEach((D)=>{if(E.setNode(D.id,{...D}),D.parentId)E.setParent(D.id,D.parentId)}),z0.debug("Edges:",u.edges),u.edges.forEach((D)=>{if(D.start===D.end){let F=D.start,U=F+"---"+F+"---1",z=F+"---"+F+"---2",k=E.node(F);E.setNode(U,{domId:U,id:U,parentId:k.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),E.setParent(U,k.parentId),E.setNode(z,{domId:z,id:z,parentId:k.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),E.setParent(z,k.parentId);let f=structuredClone(D),M=structuredClone(D),b=structuredClone(D),Z=structuredClone(D);if(M.originalEdge=f,M.selfLoop={id:f.id,order:0},b.originalEdge=f,b.selfLoop={id:f.id,order:1},Z.originalEdge=f,Z.selfLoop={id:f.id,order:2},M.label="",M.arrowTypeEnd="none",M.endLabelLeft="",M.endLabelRight="",M.startLabelLeft="",M.id=F+"-cyclic-special-1",b.startLabelRight="",b.startLabelLeft="",b.endLabelLeft="",b.endLabelRight="",b.arrowTypeStart="none",b.arrowTypeEnd="none",b.id=F+"-cyclic-special-mid",Z.label="",Z.startLabelRight="",Z.startLabelLeft="",Z.arrowTypeStart="none",k.isGroup)M.fromCluster=F,Z.toCluster=F;Z.id=F+"-cyclic-special-2",Z.arrowTypeStart="none",E.setEdge(F,U,M,F+"-cyclic-special-0"),E.setEdge(U,z,b,F+"-cyclic-special-1"),E.setEdge(z,F,Z,F+"-cyclic-special-2")}else E.setEdge(D.start,D.end,{...D},D.id)}),z0.warn("Graph at first:",JSON.stringify(IC(E))),Xh0(E),z0.warn("Graph after XAX:",JSON.stringify(IC(E)));let C=y0();await oi0(A,E,u.type,u.diagramId,void 0,C)},"render")});var Ca0={};ju(Ca0,{shouldCaptureSizes:()=>ua0,captureNodeSizes:()=>Aa0});function y60(){if(typeof globalThis>"u")return;return globalThis}function ua0(){return Boolean(y60()?.mermaidCaptureSizes)}function Ba0(){if(typeof location>"u")return"browser-dev";return`${location.pathname}${location.search}`}function Ea0(u,B){let E=y60();if(!E)return;let A=B.node(),D=((A&&"ownerSVGElement"in A?A.ownerSVGElement:null)??A)?.id??"(unknown)";E.mermaidCapturedSizes??=[];let F={svgId:D,sizes:u};E.mermaidCapturedSizes.push(F),E.mermaidLastCapturedSizes=F}function Aa0(u,B){let E=[];for(let A of B.nodes){if(A.isGroup)continue;E.push({id:A.id,width:A.width??0,height:A.height??0})}if(E.length===0)return;Ea0({metadata:{captureVersion:fJ4,capturedAt:new Date().toISOString(),capturedFrom:Ba0()},nodes:E},u)}var fJ4=1;var Da0=g(()=>{Y4();X(y60,"getCaptureGlobal");X(ua0,"shouldCaptureSizes");X(Ba0,"capturedFromLocation");X(Ea0,"emitCapturedSizes");X(Aa0,"captureNodeSizes")});var pm0={};ju(pm0,{render:()=>_m0});async function ba0(u,B){let E=new m1({multigraph:!0,compound:!0}),A=[...B.edges],C=y0(),D=u.insert("g").attr("class","root"),F=D.insert("g").attr("class","clusters"),U=D.insert("g").attr("class","edges edgePath"),z=D.insert("g").attr("class","edgeLabels"),k=D.insert("g").attr("class","nodes"),f=new Map,M=u.node()!=null;await Promise.all(B.nodes.map(async(b)=>{if(b.isGroup)E.setNode(b.id,{...b});else{if(M){let Z=await _z(k,b,{config:C,dir:b.dir}),J=Z.node()?.getBBox()??{width:0,height:0};f.set(b.id,Z),b.width=J.width,b.height=J.height}E.setNode(b.id,{...b})}}));for(let b of A)if(E.setEdge(b.start,b.end,{...b},b.id),!B.edges.some((J)=>J.id===b.id))B.edges.push(b);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:b}=await Promise.resolve().then(() => (Da0(),Ca0));b(u,B)}return{graph:E,groups:{clusters:F,edgePaths:U,edgeLabels:z,nodes:k,rootGroups:D},nodeElements:f}}function Ea(u){let B=[];for(let E=0;E<u.length-1;E++)B.push({a:u[E],b:u[E+1]});return B}function Za0(u,B,E,A){let C=B.x-u.x,D=B.y-u.y,F=A.x-E.x,U=A.y-E.y,z=C*U-D*F;if(z===0)return null;let k=E.x-u.x,f=E.y-u.y,M=(k*U-f*F)/z,b=(k*D-f*C)/z;if(M<=si||M>=1-si||b<=si||b>=1-si)return null;return{point:{x:u.x+M*C,y:u.y+M*D},tA:M,tB:b}}function p60(u){return Math.abs(u.b.x-u.a.x)>=Math.abs(u.b.y-u.a.y)}function Ja0(u){let B=[];for(let E=0;E<u.length;E++){let A=u[E],C=Ea(A.points);for(let D=E+1;D<u.length;D++){let F=u[D],U=Ea(F.points);for(let[z,k]of C.entries())for(let[f,M]of U.entries()){let b=Za0(k.a,k.b,M.a,M.b);if(!b)continue;let Z=p60(k),J=p60(M);if(Z!==J?Z:!1)B.push({jumpEdgeId:A.id,otherEdgeId:F.id,segIndex:z,t:b.tA,point:b.point});else B.push({jumpEdgeId:F.id,otherEdgeId:A.id,segIndex:f,t:b.tB,point:b.point})}}}return B}function jC(u){let B=Math.round(u*1000)/1000;return Number.isInteger(B)?`${B}`:`${B}`}function Sq(u){return`${jC(u.x)},${jC(u.y)}`}function Ka0(u){let B=u.b.x-u.a.x,E=u.b.y-u.a.y;if(Math.abs(B)>=Math.abs(E))return B>=0?1:0;return E>=0?1:0}function wa0(u,B){if(u.length<2)return u.map((D)=>({...D}));let E=u.map((D)=>({...D})),A=B.arrowTypeStart&&x2[B.arrowTypeStart];if(A){let D=u[0],F=u[1],U=Math.atan2(F.y-D.y,F.x-D.x);E[0].x=D.x+A*Math.cos(U),E[0].y=D.y+A*Math.sin(U)}let C=B.arrowTypeEnd&&x2[B.arrowTypeEnd];if(C){let D=u.length,F=u[D-2],U=u[D-1],z=Math.atan2(U.y-F.y,U.x-F.x);E[D-1].x=U.x-C*Math.cos(z),E[D-1].y=U.y-C*Math.sin(z)}return E}function Qa0(u,B,E,A,C){let D=u.point.x,F=u.point.y,U={x:D-B*u.r,y:F-E*u.r},z={x:D+B*u.r,y:F+E*u.r},k=[`L${Sq(U)}`];if(C==="arc")k.push(`A${jC(u.r)},${jC(u.r)} 0 0 ${A} ${Sq(z)}`);else k.push(`M${Sq(z)}`);return k}function n60(u,B,E,A){let C=B.x-u.x,D=B.y-u.y,F=E.x-B.x,U=E.y-B.y,z=Math.hypot(C,D),k=Math.hypot(F,U);if(z<di||k<di)return null;let f=C/z,M=D/z,b=F/k,Z=U/k,J=f*b+M*Z,K=Math.max(-1,Math.min(1,J)),w=Math.acos(K);if(w<di||Math.abs(Math.PI-w)<di)return null;let Q=Math.min(A/Math.sin(w/2),z/2,k/2);return{startX:B.x-f*Q,startY:B.y-M*Q,endX:B.x+b*Q,endY:B.y+Z*Q,ctrlX:B.x,ctrlY:B.y,cutLen:Q}}function Ga0(u,B,E){let A=u.points;if(A.length<2)return"";let C=wa0(A,u),D=u.curve==="rounded",F=Ea(C),U=new Map;for(let k of B){let f=F[k.segIndex];if(!f)continue;let M=Math.hypot(f.b.x-f.a.x,f.b.y-f.a.y),b=U.get(k.segIndex)??[];b.push({t:k.t,point:k.point,d:k.t*M,r:E.jumpRadius}),U.set(k.segIndex,b)}let z=[`M${Sq(C[0])}`];for(let k=0;k<F.length;k++){let f=F[k],M=Math.hypot(f.b.x-f.a.x,f.b.y-f.a.y),b=M===0?0:(f.b.x-f.a.x)/M,Z=M===0?0:(f.b.y-f.a.y)/M,J=Ka0(f),K=0;if(D&&k>0){let H=n60(C[k-1],C[k],C[k+1]??C[k],Fa0);if(H)K=H.cutLen}let w=M,Q=null;if(D&&k<F.length-1){if(Q=n60(C[k],C[k+1],C[k+2]??C[k+1],Fa0),Q)w=M-Q.cutLen}let G=[...U.get(k)??[]].sort((H,l)=>H.t-l.t);for(let H of G)H.r=Math.min(H.r,H.d-K,w-H.d);for(let H=0;H<G.length-1;H++){let l=G[H+1].d-G[H].d;if(G[H].r+G[H+1].r>l){let q=l/2;G[H].r=Math.min(G[H].r,q),G[H+1].r=Math.min(G[H+1].r,q)}}for(let H of G){if(H.r<MJ4)continue;z.push(...Qa0(H,b,Z,J,E.jumpStyle))}if(D&&Q)z.push(`L${jC(Q.startX)},${jC(Q.startY)}`),z.push(`Q${jC(Q.ctrlX)},${jC(Q.ctrlY)} ${jC(Q.endX)},${jC(Q.endY)}`);else z.push(`L${Sq(f.b)}`)}return z.join(" ")}function Ha0(u){return/^[\d\s+,.LMelm-]*$/.test(u)}function qa0(u){if(!u)return!0;return u==="linear"||u==="rounded"||u==="step"||u==="stepBefore"||u==="stepAfter"}function la0(u){if(!u)return null;try{let B=typeof atob==="function"?atob(u):Buffer.from(u,"base64").toString(),E=JSON.parse(B);if(!Array.isArray(E))return null;let A=[];for(let C of E)if(C&&typeof C.x==="number"&&typeof C.y==="number")A.push({x:C.x,y:C.y});return A.length>=2?A:null}catch{return null}}function La0(u,B,E){if(!E.enabled)return;let A=u.node();if(!A)return;let C=new Map;for(let k of B)C.set(k.id,k);let D=[],F=new Map;for(let k of B){let f=typeof CSS<"u"&&CSS.escape?CSS.escape(k.id):k.id,M=A.querySelector(`path[data-id="${f}"]`);if(!M)continue;F.set(k.id,M);let Z=la0(M.getAttribute("data-points"))??k.points;D.push({...k,points:Z})}let U=Ja0(D);if(U.length===0)return;let z=new Map;for(let k of U){let f=z.get(k.jumpEdgeId)??[];f.push(k),z.set(k.jumpEdgeId,f)}for(let k of D){let f=z.get(k.id);if(!f||f.length===0)continue;let b=C.get(k.id)?.curve;if(b!==void 0&&!qa0(b))continue;let Z=F.get(k.id);if(!Z)continue;if(b===void 0){let H=Z.getAttribute("d")??"";if(!Ha0(H))continue}let J=Z.getAttribute("style")??"",K=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(J),w=K?Number.parseFloat(K[1]):null,Q=K?Number.parseFloat(K[2]):null,G=Ga0(k,f,E);if(Z.setAttribute("d",G),w!==null&&Q!==null&&typeof Z.getTotalLength==="function"){let H=Z.getTotalLength(),l=Math.max(0,H-w-Q),q=`0 ${w} ${l} ${Q}`,L=J.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${q};`).replace(/;\s*;+/g,";");Z.setAttribute("style",L)}}}async function Xa0(u,B){for(let C of u.nodes)if(C.isGroup)await bM(B.clusters,C);else MK(C);let E=new Map;for(let C of u.nodes)if(C?.id)E.set(C.id,C);for(let C of u.edges){let D=C.start?E.get(C.start)??{}:{},F=C.end?E.get(C.end)??{}:{},U=tH(B.edgePaths,{...C},{},u.type,D,F,u.diagramId);if(C.label)await bK(B.rootGroups,C);if(C.label)va0(C,U)}let A=u.config?.swimlane?.lineHops;if(A!==!1){let C=A==="gap"?"gap":"arc",D=u.edges.filter((F)=>Array.isArray(F.points)&&F.points.length>=2).map((F)=>({id:F.id,points:F.points,curve:F.curve,arrowTypeStart:F.arrowTypeStart,arrowTypeEnd:F.arrowTypeEnd}));La0(B.edgePaths,D,{enabled:!0,jumpRadius:6,jumpStyle:C})}}function va0(u,B){let E=B?.updatedPath??B?.originalPath,A=F4(),{subGraphTitleTotalMargin:C}=SC({flowchart:A.flowchart??{}});if(u.label){let D=oH.get(u.id),F=u.x,U=u.y;if(E){let z=R4.calcLabelPosition(E);if(z0.debug("Moving label "+u.label+" from (",F,",",U,") to (",z.x,",",z.y,") abc88"),B)F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U+C/2})`)}if(u?.startLabelLeft){let D=h9.get(u.id).startLeft,F=u?.x,U=u?.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeStart?10:0,"start_left",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.startLabelRight){let D=h9.get(u.id).startRight,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeStart?10:0,"start_right",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.endLabelLeft){let D=h9.get(u.id).endLeft,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeEnd?10:0,"end_left",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.endLabelRight){let D=h9.get(u.id).endRight,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeEnd?10:0,"end_right",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}}function d60(u){return Math.max(u.padding??Ua0,Ua0)}function xa0(u){let{x:B,y:E,width:A,height:C}=u,D=u.swimlaneContentTop;if(typeof B!=="number"||typeof E!=="number"||typeof A!=="number"||typeof C!=="number"||typeof D!=="number"||!Number.isFinite(B)||!Number.isFinite(E)||!Number.isFinite(A)||!Number.isFinite(C)||!Number.isFinite(D)||A<=0||C<=0){delete u.groupTitleRect;return}let F=E-C/2,U=Math.min(D,E+C/2),z=Math.min(bJ4,Math.max(0,U-F)),k=F+z;if(k<=F){delete u.groupTitleRect;return}u.groupTitleRect={left:B-A/2,right:B+A/2,top:F,bottom:k}}function Wa0(u){let B=u.direction,E=u.nodes??=[];for(let D of u.nodes??[])if(D.isGroup&&!D.parentId){if(D.shape="swimlane",B)D.direction=B}let A=E.filter((D)=>!D.isGroup&&!D.parentId);if(A.length===0)return;let C=E.find((D)=>D.id===r60);if(!C)C={id:r60,label:"",isGroup:!0,shape:"swimlane",padding:20,...B?{direction:B}:{}},E.push(C);else if(C.isGroup){if(C.shape="swimlane",B)C.direction=B}for(let D of A)D.parentId=r60}function Sa0(u){let B=new Map;for(let z of u.nodes??[])B.set(z.id,z);let E=[];for(let z of u.edges??[]){let k=typeof z.start==="string"?z.start:void 0,f=typeof z.end==="string"?z.end:void 0;if(!k||!f)continue;if(z.labelNodeId)continue;E.push({id:z.id,src:k,dst:f,ref:z})}let A=u.nodes??[],C=A.filter((z)=>z.isGroup),D=A.filter((z)=>!z.isGroup);return{nodes:[...[...C].reverse(),...D].map((z)=>z.id),edges:E,layout:u,nodeById:B}}function Ya0(u,B,E,A){let{layout:C}=u,D=u.nodeById,F=A?.layerGap??100,U=A?.nodeGap??40,z=0;for(let b of B.layers){let Z=0;for(let J of b){let K=D.get(J);if(!K){Z++;continue}K.layer=z,K.order=Z;let w=E.x[J]??Z*U,Q=E.y[J]??z*F;K.x=w,K.y=Q,Z++}z++}let k=C.nodes??[],f=new Map,M=[];for(let b of k){if(!b?.isGroup)continue;if(!b.parentId)M.push(b);let Z=k.filter((G)=>G.parentId===b.id),J=1/0,K=-1/0,w=1/0,Q=-1/0;for(let G of Z){let H=G.x??E.x[G.id],l=G.y??E.y[G.id],q=G.width??0,L=G.height??0;if(H!=null&&l!=null)J=Math.min(J,H-q/2),K=Math.max(K,H+q/2),w=Math.min(w,l-L/2),Q=Math.max(Q,l+L/2)}if(J===1/0||w===1/0)b.x=b.x??0,b.y=b.y??0,b.width=b.width??0,b.height=b.height??0;else{let G=b.padding??20,H=b.parentId?G:2*d60(b),l=G,q=Math.max(0,K-J)+H,L=Math.max(0,Q-w)+l,v=(J+K)/2,x=(w+Q)/2;b.x=v,b.y=x,b.width=q,b.height=L,f.set(b.id,{minX:J,maxX:K,minY:w,maxY:Q})}}if(M.length>0&&f.size>0){let b=1/0,Z=-1/0,J=0;for(let K of M){let w=K.padding??20;if(w>J)J=w;let Q=f.get(K.id);if(!Q)continue;b=Math.min(b,Q.minY),Z=Math.max(Z,Q.maxY)}if(b!==1/0&&Z!==-1/0){let K=Math.max(0,Z-b),w=36,Q=Math.max(J,36),G=K+2*Q,H=(b+Z)/2;for(let S of M)S.y=H,S.height=G,S.swimlaneContentTop=b;let l=[...M].sort((S,W)=>{let T=S.x??0,R=W.x??0;return T-R}),q=[],L=[],v=[];for(let S of l){let W=f.get(S.id);if(!W)continue;let T=Math.max(0,W.maxX-W.minX)+2*d60(S),R=(W.minX+W.maxX)/2;q.push(S.id),L.push(R),v.push(T)}let x=q.length;if(x>0){let S=new Map;if(x===1)S.set(q[0],v[0]);else{let W=[];for(let I=0;I<x-1;I++)W.push(L[I+1]-L[I]);let T=Array(x);T[0]=0;for(let I=0;I<x-1;I++)T[I+1]=2*W[I]-T[I];let R=0,Y=Number.POSITIVE_INFINITY;for(let I=0;I<x;I++){let O=v[I];if(I%2===0)R=Math.max(R,O-T[I]);else Y=Math.min(Y,T[I]-O)}let h=R;if(R<=Y)h=(R+Y)/2;else h=R;for(let I=0;I<x;I++){let O=T[I]+(I%2===0?h:-h),V=Math.max(v[I],O);S.set(q[I],V)}}for(let W of M){let T=S.get(W.id);if(T!=null)W.width=T;xa0(W)}}}}}function Ra0(u){let B=[],E=[],A=new Map;for(let F of u.nodes)A.set(F.id,F);for(let F of u.edges){if(!F.label||F.label.length===0)continue;if(F.isLayoutOnly)continue;if(F.labelNodeId)continue;let U=F.start?A.get(F.start):void 0,z=F.end?A.get(F.end):void 0;if(!U||!z){z0.warn(ZJ4,`Edge ${F.id} has missing source or target node`);continue}let k=`edge-label-${F.start}-${F.end}-${F.id}`,M=U.parentId!==z.parentId?z.parentId:U.parentId,b={id:k,label:F.label,edgeStart:F.start??"",edgeEnd:F.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:M,isGroup:!1,labelStyle:Array.isArray(F.labelStyle)?F.labelStyle[0]:F.labelStyle??"",...U.dir?{dir:U.dir}:{}};B.push(b),F.labelNodeId=k,F.label=void 0,F.text=void 0;let Z={id:`${F.id}-to-label`,start:F.start,end:k,type:"normal",isLayoutOnly:!0},J={id:`${F.id}-from-label`,start:k,end:F.end,type:"normal",isLayoutOnly:!0};E.push(Z,J)}let C=[...u.nodes,...B],D=[...u.edges,...E];return{...u,nodes:C,edges:D}}function W90(u){let B=u.x??0,E=u.y??0,A=u.width??0,C=u.height??0;return A>0&&C>0?{cx:B,cy:E,rect:Yq(B,E,A,C)}:void 0}function S90(u){if(u.isGroup)return;let B=W90(u);if(!B)return;return{id:String(u.id??""),cx:B.cx,cy:B.cy,rect:B.rect}}function bA(u,B,E=R5){return Math.abs(u.x-B.x)<E&&Math.abs(u.y-B.y)<E}function F1(u,B,E=R5){return Math.abs(u.x-B.x)<E}function M1(u,B,E=R5){return Math.abs(u.y-B.y)<E}function m9(u,B,E=R5){return M1(u,B,E)&&Math.abs(u.x-B.x)>E}function $9(u,B,E=R5){return F1(u,B,E)&&Math.abs(u.y-B.y)>E}function LB(u,B,E,A){return Math.max(0,Math.min(Math.max(u,B),Math.max(E,A))-Math.max(Math.min(u,B),Math.min(E,A)))}function rF(u,B,E=R5){if(u.horizontal&&B.horizontal&&M1(u.a,B.a,E))return LB(u.a.x,u.b.x,B.a.x,B.b.x);if(u.vertical&&B.vertical&&F1(u.a,B.a,E))return LB(u.a.y,u.b.y,B.a.y,B.b.y);return 0}function Rq(u,B=R5){let E=[];for(let A=0;A<u.length-1;A++){let C=u[A],D=u[A+1],F=m9(C,D,B),U=$9(C,D,B);if(F||U)E.push({index:A,a:C,b:D,horizontal:F,vertical:U})}return E}function QE(u,B=R5){let E=Rq(u,B),A=0;for(let C=1;C<E.length;C++)if(E[C-1].horizontal!==E[C].horizontal)A++;return A}function W1(u,B=R5){let E=[];for(let A of u){let C=E.length>0?E[E.length-1]:void 0;if(!C||!bA(C,A,B))E.push({x:A.x,y:A.y})}return E}function Y90(u,B=R5){if(!u||u.length!==4)return;let[E,A,C,D]=u;if(m9(E,A,B)&&$9(A,C,B)&&m9(C,D,B))return{kind:"HVH",p0:E,p1:A,p2:C,p3:D};return $9(E,A,B)&&m9(A,C,B)&&$9(C,D,B)?{kind:"VHV",p0:E,p1:A,p2:C,p3:D}:void 0}function ba(u,B,E,A=0){let C=Math.min(u.x,B.x),D=Math.max(u.x,B.x),F=Math.min(u.y,B.y),U=Math.max(u.y,B.y);return D>E.left-A&&C<E.right+A&&U>E.top-A&&F<E.bottom+A}function R90(u,B,E=0){return u.x>B.left+E&&u.x<B.right-E&&u.y>B.top+E&&u.y<B.bottom-E}function Ta0(u,B){return u.left<=B.left&&u.right>=B.right&&u.top<=B.top&&u.bottom>=B.bottom}function Aa(u,B){return u.left<B.right&&u.right>B.left&&u.top<B.bottom&&u.bottom>B.top}function s60(u,B){return{left:u.left-B,right:u.right+B,top:u.top-B,bottom:u.bottom+B}}function Yq(u,B,E,A){return{left:u-E/2,right:u+E/2,top:B-A/2,bottom:B+A/2}}function H8(u){return W90(u)?.rect}function RK(u,B){switch(B){case"top":return{x:u.cx,y:u.rect.top};case"bottom":return{x:u.cx,y:u.rect.bottom};case"left":return{x:u.rect.left,y:u.cy};case"right":return{x:u.rect.right,y:u.cy}}}function T90(u,B,E,A,C,D=R5){let F=B==="left"||B==="right",U=A==="left"||A==="right";if(F&&U){if(B==="right"&&A==="left"&&u.x<E.x||B==="left"&&A==="right"&&u.x>E.x){if(M1(u,E,D))return[u,E];let M=(u.x+E.x)/2;return[u,{x:M,y:u.y},{x:M,y:E.y},E]}if(B===A){if(M1(u,E,D))return;let M=B==="left"?Math.min(u.x,E.x)-C:Math.max(u.x,E.x)+C;return[u,{x:M,y:u.y},{x:M,y:E.y},E]}return}if(!F&&!U){if(B===A){if(F1(u,E,D))return;let b=B==="top"?Math.min(u.y,E.y)-C:Math.max(u.y,E.y)+C;return[u,{x:u.x,y:b},{x:E.x,y:b},E]}if(!(B==="bottom"&&A==="top"&&u.y<E.y||B==="top"&&A==="bottom"&&u.y>E.y))return;if(F1(u,E,D))return[u,E];let M=(u.y+E.y)/2;return[u,{x:u.x,y:M},{x:E.x,y:M},E]}if(F&&!U){let f=B==="right"&&E.x>u.x||B==="left"&&E.x<u.x,M=A==="top"&&u.y<E.y||A==="bottom"&&u.y>E.y;return f&&M?[u,{x:E.x,y:u.y},E]:void 0}let z=B==="bottom"&&E.y>u.y||B==="top"&&E.y<u.y,k=A==="left"&&u.x<E.x||A==="right"&&u.x>E.x;return z&&k?[u,{x:u.x,y:E.y},E]:void 0}function O90(u,B,E,A){return B==="left"||B==="right"?[u,{x:A,y:u.y},{x:A,y:E.y},E]:[u,{x:u.x,y:A},{x:E.x,y:A},E]}function Za(u){let B=new Map,E=[];for(let A of u){if(A.isEdgeLabel)continue;let C=S90(A);if(!C)continue;B.set(C.id,C),E.push({id:C.id,rect:C.rect})}return{nodeInfoById:B,realNodeRects:E}}function iM(u){let B=[],E=[];for(let A of u){let C=S90(A);if(!C)continue;let D={id:C.id,rect:C.rect};if(A.isEdgeLabel)E.push(D);else B.push(D)}return{realNodeRects:B,labelNodeRects:E}}function Oa0(u,{includeEdgeLabels:B=!0}={}){let E=[];for(let A of u){if(A.isGroup||!B&&A.isEdgeLabel)continue;let C=A.x??0,D=A.y??0,F=A.width??0,U=A.height??0;E.push({nodeId:A.id,...Yq(C,D,F,U)})}return E}function I90(u,B,E=R5){let{start:A,end:C}=u;if(!A||!C)return;let D=B.get(A),F=B.get(C);if(!D||!F)return;return{srcId:A,dstId:C,srcInfo:D,dstInfo:F,collinearX:Math.abs(D.cx-F.cx)<E,collinearY:Math.abs(D.cy-F.cy)<E}}function F2(u,B,E,A=[],C=0){for(let D of E){if(A.includes(D.id))continue;if(ba(u,B,D.rect,-C))return!0}return!1}function P90(u,B,E,A,C=R5,D=0.000001){let F=M1(u,B,C),U=F1(u,B,C),z=M1(E,A,C),k=F1(E,A,C);if(F&&z||U&&k)return!1;if(!(F||U)||!(z||k))return!1;let f=F?{a:u,b:B}:{a:E,b:A},M=U?{a:u,b:B}:{a:E,b:A},b=f.a.y,Z=Math.min(f.a.x,f.b.x),J=Math.max(f.a.x,f.b.x),K=M.a.x,w=Math.min(M.a.y,M.b.y),Q=Math.max(M.a.y,M.b.y);if(K<Z||K>J||b<w||b>Q)return!1;let G=Math.abs(K-f.a.x)<D&&Math.abs(b-f.a.y)<D||Math.abs(K-f.b.x)<D&&Math.abs(b-f.b.y)<D,H=Math.abs(K-M.a.x)<D&&Math.abs(b-M.a.y)<D||Math.abs(K-M.b.x)<D&&Math.abs(b-M.b.y)<D;return!(G&&H)}function Ia0(u,B,E,A,C=R5){let D=M1(u,B,C),F=F1(u,B,C),U=M1(E,A,C),z=F1(E,A,C);if(F&&z&&F1(u,E,C))return LB(u.y,B.y,E.y,A.y)>C;if(D&&U&&M1(u,E,C))return LB(u.x,B.x,E.x,A.x)>C;return!1}function Ca(u,B,E,A,{epsilon:C=R5,skipDegenerateOther:D=!1}={}){for(let F of E){if(F===A||F.isLayoutOnly)continue;let U=F.points;if(!U||U.length<2)continue;for(let z=0;z<U.length-1;z++){let k=U[z],f=U[z+1];if(D&&bA(k,f,C))continue;if(P90(u,B,k,f,C)||Ia0(u,B,k,f,C))return!0}}return!1}function ez(u,B,E,A,C=R5){let D=M1(u,B,C),F=F1(u,B,C),U=M1(E,A,C),z=F1(E,A,C);if(!(D&&z||F&&U))return!1;let k=D?{a:u,b:B}:{a:E,b:A},f=D?{a:E,b:A}:{a:u,b:B},M=k.a.y,b=Math.min(k.a.x,k.b.x),Z=Math.max(k.a.x,k.b.x),J=f.a.x,K=Math.min(f.a.y,f.b.y),w=Math.max(f.a.y,f.b.y);return J>b+C&&J<Z-C&&M>K+C&&M<w-C}function o60(u,B,E){let A=Math.min(B,E),C=Math.max(B,E);return u>A+R5&&u<C-R5}function Pa0(u,B,E){if(F1(u,B)&&F1(B,E))return o60(B.y,u.y,E.y);if(M1(u,B)&&M1(B,E))return o60(B.x,u.x,E.x);return!1}function ja0(u){let B=!1,E=[];for(let A=0;A<u.length;A++){let C=E[E.length-1],D=u[A],F=A+1<u.length?u[A+1]:void 0;if(C&&F){if(bA(C,F)){A++,B=!0;continue}if(Pa0(C,D,F)){B=!0;continue}}E.push(D)}return{points:E,changed:B}}function Da(u){let B=[u[0]];for(let A=1;A<u.length;A++){let C=B[B.length-1],D=u[A];if(!F1(C,D)&&!M1(C,D)){let F=B.length>=2?B[B.length-2]:void 0,z=(F?F1(F,C):!1)?{x:C.x,y:D.y}:{x:D.x,y:C.y};B.push(z)}B.push(D)}let E=[];for(let A of B){let C=E[E.length-1];if(!C||!bA(C,A))E.push(A)}return E}function gF(u){if(u.length<3)return u;let B=[...u];for(let E=0;E<32;E++){let A=ja0(B);if(B=A.points,!A.changed)break}return B}function j90(u,B,E){let A=u;if(A.isLayoutOnly||!A.points||A.points.length<E)return;let C=A.start?B.get(A.start):void 0,D=A.end?B.get(A.end):void 0;return{edge:A,points:A.points,srcRect:C?H8(C):void 0,dstRect:D?H8(D):void 0}}function Na0(u,B,E){if(M1(u,B,Q3))return{x:u.x<E.left?E.left:E.right,y:u.y};if(F1(u,B,Q3)){let A=u.y<E.top?E.top:E.bottom;return{x:u.x,y:A}}return{x:Math.min(E.right,Math.max(E.left,u.x)),y:Math.min(E.bottom,Math.max(E.top,u.y))}}function t60(u,B,E){let A=E?1:-1,C=E?0:u.length-1;while(C>=0&&C<u.length&&R90(u[C],B,JJ4))C+=A;if(C<0||C>=u.length)return u;let D=C-A;if(D<0||D>=u.length)return u;let F=Na0(u[C],u[D],B);return E?[F,...u.slice(C)]:[...u.slice(0,C+1),F]}function Va0(u,B){for(let E of u){let A=j90(E,B,2);if(!A)continue;let C=[...A.points];if(A.srcRect)C=t60(C,A.srcRect,!0);if(A.dstRect)C=t60(C,A.dstRect,!1);C=gF(Da(C)),C=N90(C,A.srcRect,A.dstRect),A.edge.points=gF(Da(C))}}function e60(u,B,E,A=!1){if(M1(u,B,Q3)){if(B.y<E.top-Q3||B.y>E.bottom+Q3)return B;if(A){if(u.x<E.left-Q3)return{x:E.left,y:u.y};if(u.x>E.right+Q3)return{x:E.right,y:u.y}}return{x:Math.abs(B.x-E.left)<=Math.abs(B.x-E.right)?E.left:E.right,y:u.y}}if(F1(u,B,Q3)){if(B.x<E.left-Q3||B.x>E.right+Q3)return B;if(A){if(u.y<E.top-Q3)return{x:u.x,y:E.top};if(u.y>E.bottom+Q3)return{x:u.x,y:E.bottom}}let C=Math.abs(B.y-E.top)<=Math.abs(B.y-E.bottom);return{x:u.x,y:C?E.top:E.bottom}}return B}function Fa(u,B,E){let A=u[B];for(let C=B+E;C>=0&&C<u.length;C+=E){let D=u[C];if(!bA(D,A,Q3))return D}return u[B+E]}function Ua(u,B){let E=u+za0,A=B-za0;return E<=A?{lo:E,hi:A}:{lo:(u+B)/2,hi:(u+B)/2}}function u90(u,B,E){let{lo:A,hi:C}=Ua(B,E);return Math.min(C,Math.max(A,u))}function ha0(u){let B=Math.max(...u.map((A)=>A.lo)),E=Math.min(...u.map((A)=>A.hi));if(B>E)return;return{lo:B,hi:E}}function B90(u,B){return B==="left"||B==="right"?Ua(u.top,u.bottom):Ua(u.left,u.right)}function za(u,B,E){let A=u.y>=E.top-Q3&&u.y<=E.bottom+Q3,C=u.x>=E.left-Q3&&u.x<=E.right+Q3;if(M1(u,B,Q3)&&A){if(Math.abs(u.x-E.left)<Q3)return"left";if(Math.abs(u.x-E.right)<Q3)return"right"}if(F1(u,B,Q3)&&C){if(Math.abs(u.y-E.top)<Q3)return"top";if(Math.abs(u.y-E.bottom)<Q3)return"bottom"}return}function vS(u){return u==="left"||u==="right"}function ia0(u,B,E,A,C){let D=[],F=E?za(u,B,E):void 0,U=A?za(B,u,A):void 0;if(E&&F&&vS(F)===C)D.push(B90(E,F));if(A&&U&&vS(U)===C)D.push(B90(A,U));return D.length>0?ha0(D):void 0}function E90(u,B,E,A,C){let D=ia0(u,B,E,A,C);if(!D)return;let F=C?u.y:u.x,U=Math.min(D.hi,Math.max(D.lo,F));if(Math.abs(U-F)<Q3)return;return C?[{x:u.x,y:U},{x:B.x,y:U}]:[{x:U,y:u.y},{x:U,y:B.y}]}function N90(u,B,E){if(u.length!==2)return u;let[A,C]=u;if(M1(A,C,Q3))return E90(A,C,B,E,!0)??u;if(F1(A,C,Q3))return E90(A,C,B,E,!1)??u;return u}function aa0(u,B,E){return vS(E)?{x:u.x,y:u90(u.y,B.top,B.bottom)}:{x:u90(u.x,B.left,B.right),y:u.y}}function ma0(u,B,E,A,C,D){let F=u.map((U)=>({...U}));for(let U=B;U>=0&&U<u.length;U+=E){let z=u[U];if(D&&!M1(z,A,Q3))break;if(!D&&!F1(z,A,Q3))break;if(D)F[U].y=C.y;else F[U].x=C.x}return F}function A90(u,B,E){if(u.length<2)return u;let A=E?0:u.length-1,C=E?1:-1,D=u[A],F=Fa(u,A,C);if(!F)return u;let U=za(D,F,B);if(!U)return u;let z=vS(U),k=aa0(D,B,U);if(bA(D,k,Q3))return u;return ma0(u,A,C,D,k,z)}function C90(u,B,E){let A=Math.min(u.x,B.x)>=E.left-Q3&&Math.max(u.x,B.x)<=E.right+Q3,C=Math.min(u.y,B.y)>=E.top-Q3&&Math.max(u.y,B.y)<=E.bottom+Q3;if(Math.abs(u.y-E.top)<Q3&&Math.abs(B.y-E.top)<Q3&&A)return"top";if(Math.abs(u.y-E.bottom)<Q3&&Math.abs(B.y-E.bottom)<Q3&&A)return"bottom";if(Math.abs(u.x-E.left)<Q3&&Math.abs(B.x-E.left)<Q3&&C)return"left";if(Math.abs(u.x-E.right)<Q3&&Math.abs(B.x-E.right)<Q3&&C)return"right";return}function D90(u,B,E,A){switch(u){case"top":return F1(B,E,Q3)&&E.y<A.top-Q3;case"bottom":return F1(B,E,Q3)&&E.y>A.bottom+Q3;case"left":return M1(B,E,Q3)&&E.x<A.left-Q3;case"right":return M1(B,E,Q3)&&E.x>A.right+Q3}}function F90(u,B,E){if(u.length<3)return u;if(E){let D=C90(u[0],u[1],B);if(D&&D90(D,u[1],u[2],B))return u.slice(1);return u}let A=u.length-1,C=C90(u[A-1],u[A],B);if(C&&D90(C,u[A-1],u[A-2],B))return u.slice(0,A);return u}function $a0(u,B,E){let A=u;if(B){let D=Fa(A,0,1);if(D){let F=e60(D,A[0],B);if(F!==A[0])A=[F,...A.slice(1)]}A=F90(A,B,!0)}if(E){let D=A.length-1,F=Fa(A,D,-1);if(F){let U=e60(F,A[D],E,!0);if(U!==A[D])A=[...A.slice(0,D),U]}A=F90(A,E,!1)}let C=N90(A,B,E);if(C!==A||A.length===2)return C;if(B)A=A90(A,B,!0);if(E)A=A90(A,E,!1);return A}function U90(u,B){for(let E of u){let A=j90(E,B,2);if(!A)continue;let C=W1(A.points,Q3),D=$a0(C,A.srcRect,A.dstRect);if(D.length<3){A.edge.points=D;continue}let F=[D[0],{...D[0]},...D.slice(1,-1),D[D.length-1],{...D[D.length-1]}];A.edge.points=F}}function V90(u){return new Map(u.map((B)=>[B.id,B]))}function ya0(u,B){let E=u.parentId,A=null;while(E){let C=B.get(E);if(!C?.isGroup)break;A=C.id,E=C.parentId}return A}function z90(u,B){let E=0,A=u.parentId;while(A){let C=B.get(A);if(!C?.isGroup)break;E++,A=C.parentId}return E}function h90(u){let B=1/0,E=-1/0,A=1/0,C=-1/0;for(let D of u){let{x:F,y:U}=D;if(typeof F!=="number"||typeof U!=="number")continue;let z=D.width??0,k=D.height??0;B=Math.min(B,F-z/2),E=Math.max(E,F+z/2),A=Math.min(A,U-k/2),C=Math.max(C,U+k/2)}if(B===1/0||A===1/0)return null;return{minX:B,maxX:E,minY:A,maxY:C}}function ra0(u,B){let E=u.padding??20;u.x=(B.minX+B.maxX)/2,u.y=(B.minY+B.maxY)/2,u.width=Math.max(0,B.maxX-B.minX)+E,u.height=Math.max(0,B.maxY-B.minY)+E}function ga0(u){let B=V90(u),E=u.filter((A)=>A.isGroup&&A.parentId).sort((A,C)=>z90(C,B)-z90(A,B));for(let A of E){let C=u.filter((F)=>F.parentId===A.id),D=h90(C);if(D)ra0(A,D)}}function ka(u,B){let E=u.nodes??[],A=u.edges??[],C=E.filter((z)=>!z.isGroup),D=1/0,F=-1/0;for(let z of C){let k=z[B];if(typeof k!=="number")continue;D=Math.min(D,k),F=Math.max(F,k)}if(!Number.isFinite(D)||!Number.isFinite(F))return!1;let U=X((z)=>D+F-z,"mirror");for(let z of E){let k=z[B];if(typeof k==="number")z[B]=U(k);let f=z.groupTitleRect;if(f)z.groupTitleRect=B==="x"?{...f,left:U(f.right),right:U(f.left)}:{...f,top:U(f.bottom),bottom:U(f.top)}}for(let z of A)for(let k of z.points??[])k[B]=U(k[B]);return!0}function ca0(u){if(!(u.nodes??[]).some((E)=>!E.isGroup))return!0;return ka(u,"y")}function _a0(u,B="LR"){let E=u.nodes??[],A=u.edges??[],C=E.filter((Y)=>!Y.isGroup),D=1/0,F=1/0;for(let Y of C){let h=Y.x??0,I=Y.y??0;if(h<D)D=h;if(I<F)F=I}if(!Number.isFinite(D)||!Number.isFinite(F))return!1;let U=36,z=0,k=0;for(let Y of C)z+=Y.width??0,k+=Y.height??0;let f=z/C.length,M=k/C.length,b=M>0?Math.max(1,f/M):1;for(let Y of C){let h=Y.x??0,O=((Y.y??0)-F)*b+U,V=h-D;Y.x=O,Y.y=V}for(let Y of A){if(!Y.points)continue;for(let h of Y.points){let I=h.x,V=(h.y-F)*b+U,j=I-D;h.x=V,h.y=j}}ga0(E);let Z=E.filter((Y)=>Y.isGroup&&!Y.parentId);if(Z.length===0){if(B==="RL")ka(u,"x");return!0}let J=V90(E),K=new Map;for(let Y of E){if(Y.isGroup)continue;let h=ya0(Y,J);if(!h)continue;let I=K.get(h)??[];I.push(Y),K.set(h,I)}let w=0;for(let Y of Z){let h=Y.padding??0;if(h>w)w=h}let Q=[],G=1/0,H=-1/0;for(let Y of Z){let h=K.get(Y.id)??[],I=h90(h);if(!I)continue;G=Math.min(G,I.minX),H=Math.max(H,I.maxX),Q.push({lane:Y,contentTop:I.minY,contentBottom:I.maxY,centerY:(I.minY+I.maxY)/2})}if(G===1/0||H===-1/0)return!0;let l=Math.max(0,H-G),q=Math.max(w,10),L=l+2*q,v=U+L,W=(G+H)/2-L/2-U,T=W+v/2,R=Math.max(w,U);Q.sort((Y,h)=>Y.centerY-h.centerY);for(let Y=0;Y<Q.length;Y++){let h=Q[Y],I,O;if(Y===0)I=h.contentTop-R;else I=(Q[Y-1].contentBottom+h.contentTop)/2;if(Y===Q.length-1)O=h.contentBottom+R;else{let i=Q[Y+1];O=(h.contentBottom+i.contentTop)/2}let V=Math.max(0,O-I),j=(I+O)/2;h.lane.x=T,h.lane.y=j,h.lane.width=v,h.lane.height=V,h.lane.swimlaneContentTop=h.contentTop,h.lane.groupTitleRect={left:W,right:W+U,top:I,bottom:O}}if(B==="RL")ka(u,"x");return!0}function pa0(u,B){let{nodeInfoById:E,realNodeRects:A}=Za(B);for(let C of u){if(C.isLayoutOnly)continue;let D=C.points;if(!D||D.length<4)continue;let F=Y90(W1(D,PC),PC);if(!F)continue;let{p3:U}=F,z=F.kind==="HVH",k=I90(C,E,PC);if(!k)continue;let{srcId:f,dstId:M,srcInfo:b,dstInfo:Z,collinearX:J,collinearY:K}=k;if(J||K)continue;let w,Q=b.rect;for(let G of wJ4){let H,l,q;if(z){let T=Z.cy>b.cy?Q.bottom:Q.top,R=b.cx+G;if(R<=Q.left+PC||R>=Q.right-PC)continue;H={x:R,y:T},l={x:R,y:U.y},q={x:U.x,y:U.y}}else{let T=Z.cx>b.cx?Q.right:Q.left,R=b.cy+G;if(R<=Q.top+PC||R>=Q.bottom-PC)continue;H={x:T,y:R},l={x:U.x,y:R},q={x:U.x,y:U.y}}let L=bA(H,l,PC),v=bA(l,q,PC);if(L&&v)continue;if(!L&&F2(H,l,A,[f],1))continue;if(!v&&F2(l,q,A,[M],1))continue;let x=!L&&Ca(H,l,u,C,{epsilon:PC,skipDegenerateOther:!0}),S=!v&&Ca(l,q,u,C,{epsilon:PC,skipDegenerateOther:!0});if(x||S)continue;if(L)w=[l,q];else if(v)w=[H,l];else w=[H,l,q];break}if(w)C.points=w}}function na0(u,B){let{realNodeRects:D,labelNodeRects:F}=iM(B.values());for(let U of u){if(U.isLayoutOnly)continue;let z=U.points;if(!z||z.length<4)continue;let k=W1(z,0.001);if(k.length<4)continue;let f=k.length-1,M=k[f],b=k[f-1],Z=k[f-2],J=M.x-b.x,K=M.y-b.y,w=Math.hypot(J,K);if(w>=10||w<0.001)continue;let Q=b.x-Z.x,G=b.y-Z.y;if(Math.hypot(Q,G)<0.001)continue;let l=m9(b,M,0.001),q=$9(b,M,0.001),L=m9(Z,b,0.001),v=$9(Z,b,0.001);if(!(l&&v||q&&L))continue;let{end:x,start:S}=U,W=x?B.get(x):void 0;if(!W)continue;let T=W.x??0,R=W.y??0,Y=H8(W);if(!Y)continue;let h,I;if(v){let m=G<0;h={x:T,y:Z.y},I={x:T,y:m?Y.bottom:Y.top}}else{let m=Q>0;h={x:Z.x,y:R},I={x:m?Y.right:Y.left,y:R}}if(F2(h,I,D,x?[x]:[],-2))continue;if(F2(h,I,F,[],-2))continue;if(S){let m=B.get(S),y=m?H8(m):void 0;if(y&&R90(h,y,2))continue}let O=X((m,y)=>`${m.x.toFixed(3)},${m.y.toFixed(3)}|${y.x.toFixed(3)},${y.y.toFixed(3)}`,"ownSegmentKey"),V=new Set;for(let m=0;m<k.length-1;m++)V.add(O(k[m],k[m+1]));let j=X((m,y)=>{for(let r of u){if(r===U)continue;if(r.isLayoutOnly)continue;let _=r.points;if(!_||_.length<2)continue;for(let e=0;e<_.length-1;e++){let p=_[e],b0=_[e+1];if(V.has(O(p,b0)))continue;if(ez(m,y,p,b0,0.001))return!0}}return!1},"segmentCrossesOtherEdge");if(j(h,I))continue;if(f-3>=0){let m=k[f-3],y=[S,x].filter((r)=>Boolean(r));if(F2(m,h,D,y,-2))continue;if(j(m,h))continue}let a=[...k.slice(0,f-2),h,I];U.points=a;let $=U.labelNodeId;if($){let m=B.get($);if(m){let y=m.width??0,r=m.height??0;if(y>0&&r>0){let _,e,p=-1;for(let b0=0;b0<a.length-1;b0++){let B0=a[b0],k0=a[b0+1],f0=Math.hypot(k0.x-B0.x,k0.y-B0.y),D0=M1(B0,k0,0.001),P0=F1(B0,k0,0.001);if(!(D0&&f0>=y+2||P0&&f0>=r+2))continue;if(f0>p)p=f0,_=(B0.x+k0.x)/2,e=(B0.y+k0.y)/2}if(_!==void 0&&e!==void 0)m.x=_,m.y=e}}}}}function da0(u,B){let C=X((Z,J)=>{let K=Z.x??0,w=Z.y??0,Q=J.x-K,G=J.y-w,H=(Z.width??0)/2,l=(Z.height??0)/2;if(Math.abs(G)*H>Math.abs(Q)*l){if(G<0)l=-l;return{x:K+(G===0?0:l*Q/G),y:w+l}}if(Q<0)H=-H;return{x:K+H,y:w+(Q===0?0:H*G/Q)}},"rectIntersect"),D=X((Z,J)=>{let K=W1(Z.points??[]);if(K.length<2)return;let w=J?Z.start:Z.end,Q=w?B.get(w):void 0,G=Q?H8(Q):void 0;if(!Q||!w||!G)return;let H=J?K[0]:K[K.length-1],l=J?K[1]:K[K.length-2],q=C(Q,H),L=H;if(g60(l,q))L=l;if(F1(q,L,N4))return{edge:Z,edgeId:String(Z.id??""),nodeId:w,atStart:J,orientation:"V",coord:q.x,min:Math.min(q.y,L.y),max:Math.max(q.y,L.y),boundary:q,railEnd:L,rect:G};if(M1(q,L,N4))return{edge:Z,edgeId:String(Z.id??""),nodeId:w,atStart:J,orientation:"H",coord:q.y,min:Math.min(q.x,L.x),max:Math.max(q.x,L.x),boundary:q,railEnd:L,rect:G};return},"terminalLaneFor"),F=X((Z,J)=>Math.max(0,Math.min(Z.max,J.max)-Math.max(Z.min,J.min)),"projectedOverlapLength"),U=X((Z,J)=>{if(Z.nodeId!==J.nodeId||Z.orientation!==J.orientation)return!1;if(Z.orientation==="H")return(Math.abs(Z.boundary.x-Z.rect.left)<1||Math.abs(Z.boundary.x-Z.rect.right)<1)&&F1(Z.boundary,J.boundary,1);return(Math.abs(Z.boundary.y-Z.rect.top)<1||Math.abs(Z.boundary.y-Z.rect.bottom)<1)&&M1(Z.boundary,J.boundary,1)},"sameTerminalFace"),z=X((Z,J)=>{if(Z.nodeId!==J.nodeId||Z.orientation!==J.orientation)return!1;return F(Z,J)>=Y5&&Math.abs(Z.coord-J.coord)<0.5},"exactTerminalLaneConflict"),k=X((Z,J)=>{if(Z.nodeId!==J.nodeId||Z.orientation!==J.orientation||Z.orientation!=="H"||Z.atStart===J.atStart)return!1;let K=F(Z,J);if(K<Y5)return!1;let w=Z.rect.bottom-Z.rect.top;if(K<w||K>2*w)return!1;return U(Z,J)&&Math.abs(Z.coord-J.coord)<16},"nearTerminalLaneConflict"),f=X((Z,J)=>{let K=W1(Z.edge.points??[]);if(K.length<2)return;let w=Z.orientation==="V"?{x:Z.boundary.x+J,y:Z.boundary.y}:{x:Z.boundary.x,y:Z.boundary.y+J},Q=Z.orientation==="V"?{x:Z.railEnd.x+J,y:Z.railEnd.y}:{x:Z.railEnd.x,y:Z.railEnd.y+J};if(!X(()=>{if(Math.abs(Z.boundary.y-Z.rect.top)<1||Math.abs(Z.boundary.y-Z.rect.bottom)<1)return M1(w,Z.boundary,N4)&&w.x>=Z.rect.left+1&&w.x<=Z.rect.right-1;if(Math.abs(Z.boundary.x-Z.rect.left)<1||Math.abs(Z.boundary.x-Z.rect.right)<1)return F1(w,Z.boundary,N4)&&w.y>=Z.rect.top+1&&w.y<=Z.rect.bottom-1;return!1},"boundaryStaysOnSameFace")())return;if(Z.atStart){let L=K.length>1&&bA(K[1],Z.railEnd,N4),v=K.slice(L?2:1),x=v[0];if(x&&!g60(x,Q))return;return[w,Q,...v]}let H=K.length>1&&bA(K[K.length-2],Z.railEnd,N4),l=K.slice(0,H?-2:-1),q=l[l.length-1];if(q&&!g60(q,Q))return;return[...l,Q,w]},"shiftedCandidate"),M=X((Z)=>{let J=Z.edge,K=W1(J.points??[]);if(K.length!==2)return!1;let{start:w,end:Q}=J,G=w?B.get(w):void 0,H=Q?B.get(Q):void 0;if(!G||!H)return!1;let l=G.x??0,q=G.y??0,L=H.x??0,v=H.y??0,[x,S]=K;return M1(x,S,N4)&&Math.abs(q-v)<1&&Math.abs(l-L)>1||F1(x,S,N4)&&Math.abs(l-L)<1&&Math.abs(q-v)>1},"laneIsStraightCollinearConnector"),b=[-7,7,-14,14,-21,21];for(let Z=0;Z<8;Z++){let J=u.filter((w)=>!w.isLayoutOnly).flatMap((w)=>[D(w,!0),D(w,!1)]).filter((w)=>Boolean(w)),K=!1;for(let w=0;w<J.length&&!K;w++)for(let Q=w+1;Q<J.length&&!K;Q++){let G=J[w],H=J[Q];if(G.edge===H.edge||!(z(G,H)||k(G,H)))continue;let l=!z(G,H),q=[G,H].sort((L,v)=>{let x=M(L),S=M(v);if(x!==S)return Number(x)-Number(S);return Number(!v.atStart)-Number(!L.atStart)});for(let L of q){for(let v of b){let x=f(L,v);if(!x)continue;let S=D({...L.edge,points:x},L.atStart);if(!S||J.some((W)=>W.edge!==L.edge&&(z(S,W)||l&&k(S,W))))continue;L.edge.points=x,K=!0;break}if(K)break}}if(!K)return}}function sa0(u,B){let{realNodeRects:C,labelNodeRects:D}=iM(B.values()),F=X((z,k)=>{let{start:f,end:M}=z,b=o3(k);if(b.length!==k.length-1)return!1;let Z=[f,M].filter((J)=>Boolean(J));for(let J of b){if(F2(J.a,J.b,C,Z,-2))return!1;if(F2(J.a,J.b,D,[],-2))return!1}for(let J of u){if(J===z||J.isLayoutOnly)continue;let K=J.points;if(!K||K.length<2)continue;for(let w of b)for(let Q of o3(W1(K))){if(rF(w,Q,0.5)>=Y5)return!1;if(ez(w.a,w.b,Q.a,Q.b,N4))return!1}}return!0},"candidateIsSafe"),U=X((z,k)=>{if(k+4>=z.length)return;let f=z[k],M=z[k+1],b=z[k+2],Z=z[k+3],J=z[k+4],K=m9(f,M)&&$9(M,b)&&m9(b,Z)&&$9(Z,J)&&F1(f,Z,N4)&&F1(f,J,N4)&&F1(M,b,N4)&&(M.x-f.x)*(Z.x-b.x)<0,w=$9(f,M)&&m9(M,b)&&$9(b,Z)&&m9(Z,J)&&M1(f,Z,N4)&&M1(f,J,N4)&&M1(M,b,N4)&&(M.y-f.y)*(Z.y-b.y)<0;if(K||w)return W1([...z.slice(0,k+1),J,...z.slice(k+5)]);if(k+5>=z.length)return;let Q=z[k+5],G=$9(f,M)&&m9(M,b)&&$9(b,Z)&&m9(Z,J)&&$9(J,Q)&&F1(f,J,N4)&&F1(f,Q,N4)&&F1(b,Z,N4)&&(b.x-M.x)*(J.x-Z.x)<0,H=m9(f,M)&&$9(M,b)&&m9(b,Z)&&$9(Z,J)&&m9(J,Q)&&M1(f,J,N4)&&M1(f,Q,N4)&&M1(b,Z,N4)&&(b.y-M.y)*(J.y-Z.y)<0;if(!G&&!H)return;return W1([...z.slice(0,k+1),Q,...z.slice(k+6)])},"withoutDogleg");for(let z=0;z<8;z++){let k=!1;for(let f of u){if(f.isLayoutOnly)continue;let M=W1(f.points??[]);for(let b=0;b<=M.length-5;b++){let Z=U(M,b);if(!Z||!F(f,Z))continue;f.points=Z,k=!0;break}if(k)break}if(!k)return}}function k90(u,B){let{realNodeRects:D,labelNodeRects:F}=iM(B.values()),U=u.filter((J)=>!J.isLayoutOnly),z=X((J,K,w)=>W1(J===K?w??[]:J.points??[]),"pointsFor"),k=X((J,K)=>{let w=0;for(let Q=0;Q<U.length;Q++){let G=o3(z(U[Q],J,K));for(let H=Q+1;H<U.length;H++){let l=o3(z(U[H],J,K));for(let q of G)for(let L of l)if(ez(q.a,q.b,L.a,L.b,N4))w++}}return w},"strictCrossingCount"),f=X((J)=>{let K=o3(J);if(K.length!==3)return;let w=K[1];if(K[0].horizontal===w.horizontal||K[2].horizontal===w.horizontal)return;return{index:w.index,horizontal:w.horizontal,vertical:w.vertical,segment:w}},"middleRail"),M=X((J,K)=>{let w=[J.start,J.end].filter((Q)=>Boolean(Q));return D.filter((Q)=>{if(w.includes(Q.id))return!1;let G=Q.rect;if(K.horizontal)return LB(K.a.x,K.b.x,G.left,G.right)>=Y5&&K.a.y>=G.top-2&&K.a.y<=G.bottom+2;return LB(K.a.y,K.b.y,G.top,G.bottom)>=Y5&&K.a.x>=G.left-2&&K.a.x<=G.right+2})},"blockingRectsFor"),b=X((J,K,w)=>{let Q=J.map((H)=>({...H}));if(K.horizontal)Q[K.index].y=w,Q[K.index+1].y=w;else if(K.vertical)Q[K.index].x=w,Q[K.index+1].x=w;else return;let G=gF(W1(Q));return o3(G).length===G.length-1?G:void 0},"candidateByMovingRail"),Z=X((J,K,w)=>{let Q=[J.start,J.end].filter((H)=>Boolean(H)),G=o3(K);if(G.length!==K.length-1)return!1;for(let H of G){if(F2(H.a,H.b,D,Q,-2))return!1;if(F2(H.a,H.b,F,[],-2))return!1}for(let H of U){if(H===J)continue;for(let l of G)for(let q of o3(z(H)))if(rF(l,q,0.5)>=Y5)return!1}return k(J,K)<=w},"candidateIsSafe");for(let J=0;J<8;J++){let K=k(),w=!1;for(let Q of U){let G=z(Q),H=f(G);if(!H)continue;let l=M(Q,H.segment);if(l.length===0)continue;let q=H.horizontal?[Math.min(...l.map((L)=>L.rect.top))-20,Math.max(...l.map((L)=>L.rect.bottom))+20]:[Math.min(...l.map((L)=>L.rect.left))-20,Math.max(...l.map((L)=>L.rect.right))+20];for(let L of q){let v=b(G,H.segment,L);if(!v||!Z(Q,v,K))continue;Q.points=v,w=!0;break}if(w)break}if(!w)return}}function f90(u,B){let A=X((z)=>{let k=z.groupTitleRect;if(!k||typeof k.left!=="number"||typeof k.right!=="number"||typeof k.top!=="number"||typeof k.bottom!=="number"||!Number.isFinite(k.left)||!Number.isFinite(k.right)||!Number.isFinite(k.top)||!Number.isFinite(k.bottom)||k.right<=k.left||k.bottom<=k.top)return;return{left:k.left,right:k.right,top:k.top,bottom:k.bottom}},"validTitleRect"),C=X((z)=>{if(!z.isGroup||z.parentId)return;let k=z.direction,f=typeof k==="string"?k.toUpperCase():"";if(f==="LR"||f==="RL"||f==="BT")return;let M=A(z),b=z.y,Z=z.height;if(!M||typeof b!=="number"||typeof Z!=="number"||!Number.isFinite(b)||!Number.isFinite(Z)||Z<=0)return;let J=M.right-M.left,K=M.bottom-M.top;if(K<=0||J<K)return;return{node:z,rect:M}},"topLaneTitleFor"),D=X((z,k)=>{if(!z.horizontal)return!1;let f=z.a.y;if(f<=k.top+N4||f>=k.bottom-N4)return!1;return LB(z.a.x,z.b.x,k.left,k.right)>=Y5},"horizontalSegmentIntersectsTitle"),F=[...B.values()].map(C).filter((z)=>Boolean(z));if(F.length===0)return;let U=0;for(let z of u){if(z.isLayoutOnly)continue;let k=W1(z.points??[]);for(let f of o3(k))for(let M of F){if(!D(f,M.rect))continue;U=Math.max(U,M.rect.bottom-f.a.y+4)}}if(U<=N4)return;for(let z of F){let k=z.node.y,f=z.node.height;if(typeof k!=="number"||typeof f!=="number"||!Number.isFinite(k)||!Number.isFinite(f)||f<=0)continue;z.node.y=k-U/2,z.node.height=f+U,z.node.groupTitleRect={...z.rect,top:z.rect.top-U,bottom:z.rect.bottom-U}}}function M90(u,B){let A=X((k)=>{let f=k.groupTitleRect;if(!f||typeof f.left!=="number"||typeof f.right!=="number"||typeof f.top!=="number"||typeof f.bottom!=="number"||!Number.isFinite(f.left)||!Number.isFinite(f.right)||!Number.isFinite(f.top)||!Number.isFinite(f.bottom)||f.right<=f.left||f.bottom<=f.top)return;return{left:f.left,right:f.right,top:f.top,bottom:f.bottom}},"validTitleRect"),C=X((k)=>{if(!k.isGroup||k.parentId)return;if(k.direction!=="LR")return;let M=A(k),b=k.x,Z=k.width;if(!M||typeof b!=="number"||typeof Z!=="number"||!Number.isFinite(b)||!Number.isFinite(Z)||Z<=0)return;let J=M.right-M.left,K=M.bottom-M.top;if(J<=0||K<J)return;return{node:k,rect:M}},"leftLaneTitleFor"),D=X((k,f)=>{if(!k.vertical)return!1;let M=k.a.x;if(M<=f.left+N4||M>=f.right-N4)return!1;return LB(k.a.y,k.b.y,f.top,f.bottom)>=Y5},"verticalSegmentIntersectsTitle"),F=X((k,f)=>{if(!k.horizontal)return!1;let M=k.a.y;if(M<=f.top+N4||M>=f.bottom-N4)return!1;return LB(k.a.x,k.b.x,f.left,f.right)>=Y5},"horizontalSegmentIntersectsTitle"),U=[...B.values()].map(C).filter((k)=>Boolean(k));if(U.length===0)return;let z=0;for(let k of u){if(k.isLayoutOnly)continue;let f=W1(k.points??[]);for(let M of o3(f))for(let b of U)if(D(M,b.rect))z=Math.max(z,b.rect.right-M.a.x+4);else if(F(M,b.rect)){let Z=Math.min(M.a.x,M.b.x);z=Math.max(z,b.rect.right-Z+4)}}if(z<=N4)return;for(let k of U){let f=k.node.x,M=k.node.width;if(typeof f!=="number"||typeof M!=="number"||!Number.isFinite(f)||!Number.isFinite(M)||M<=0)continue;k.node.x=f-z/2,k.node.width=M+z,k.node.groupTitleRect={...k.rect,left:k.rect.left-z,right:k.rect.right-z}}}function oa0(u,B){let{realNodeRects:C}=iM(B.values()),D=u.filter((K)=>!K.isLayoutOnly),F=X((K,w=new Map)=>W1(w.get(K)??K.points??[]),"replacementPointsFor"),U=X((K=new Map)=>{let w=0;for(let Q=0;Q<D.length;Q++){let G=o3(F(D[Q],K));for(let H=Q+1;H<D.length;H++){let l=o3(F(D[H],K));for(let q of G)for(let L of l)if(ez(q.a,q.b,L.a,L.b,N4))w++}}return w},"crossingCount"),z=X((K=new Map)=>D.reduce((w,Q)=>w+QE(F(Q,K)),0),"totalBends"),k=X((K)=>{let w=F(K);if(w.length<4)return;let Q=w[w.length-2],G=w[w.length-1];if(!m9(Q,G,N4)&&!$9(Q,G,N4))return;return{tailStart:Q,terminal:G}},"terminalTailFor"),f=X((K,w)=>{let Q=F(K);if(Q.length<3)return;let G=Q[0],H=Q[1],l;if(m9(G,H,N4))l={x:H.x,y:w.tailStart.y};else if($9(G,H,N4))l={x:w.tailStart.x,y:H.y};else return;let q=gF(W1([G,H,l,w.tailStart,w.terminal]));return o3(q).length===q.length-1?q:void 0},"candidateWithDestinationTail"),M=X((K,w)=>{let Q=[K.start,K.end].filter((G)=>Boolean(G));for(let G of o3(w))if(F2(G.a,G.b,C,Q,-2))return!0;return!1},"pathHasNodeHit"),b=X((K,w,Q)=>{for(let G of D){if(G===K)continue;for(let H of o3(w))for(let l of o3(F(G,Q)))if(rF(H,l,0.5)>=Y5)return!0}return!1},"pathHasSharedTrack"),Z=X((K,w,Q)=>!M(K,w)&&!b(K,w,Q),"candidateIsSafe"),J=X(()=>{let K=new Map;for(let w of D){let Q=w.end;if(!Q||!B.has(Q))continue;if(F(w).length<4)continue;let H=K.get(Q)??[];H.push(w),K.set(Q,H)}return K},"edgesByDestination");for(let K=0;K<4;K++){let w=U();if(w===0)return;let Q=z(),G,H=w,l=Q;for(let q of J().values())for(let L=0;L<q.length;L++)for(let v=L+1;v<q.length;v++){let x=q[L],S=q[v],W=k(x),T=k(S);if(!W||!T)continue;let R=f(x,T),Y=f(S,W);if(!R||!Y)continue;let h=new Map([[x,R],[S,Y]]);if(!Z(x,R,h)||!Z(S,Y,h))continue;let I=U(h),O=z(h);if(I>=w)continue;if(I>H||I===H&&O>=l)continue;G=h,H=I,l=O}if(!G)return;for(let[q,L]of G)q.points=L}}function ta0(u,B){let{realNodeRects:F,labelNodeRects:U}=iM(B.values()),z=u.filter((q)=>!q.isLayoutOnly),k=X((q,L=new Map)=>W1(L.get(q)??q.points??[]),"replacementPointsFor"),f=X((q=new Map)=>{let L=0;for(let v=0;v<z.length;v++){let x=o3(k(z[v],q));for(let S=v+1;S<z.length;S++){let W=o3(k(z[S],q));for(let T of x)for(let R of W)if(ez(T.a,T.b,R.a,R.b,N4))L++}}return L},"strictCrossingCount"),M=X((q=new Map)=>z.reduce((L,v)=>L+QE(k(v,q)),0),"totalBends"),b=X((q)=>{let{start:L,end:v}=q,x=L?B.get(L):void 0,S=v?B.get(v):void 0,W=x?H8(x):void 0,T=S?H8(S):void 0;return W&&T?{src:W,dst:T}:void 0},"endpointRectsFor"),Z=X((q,L,v)=>{if(v.index<=0||v.index+1>=L.length-1)return;let x=b(q);if(!x)return;if(v.vertical){let S=v.a.x,W=Math.min(x.src.left,x.dst.left),T=Math.max(x.src.right,x.dst.right),R=S<W-N4?"left":S>T+N4?"right":void 0;if(!R)return;return{edge:q,points:L,segmentIndex:v.index,axis:"vertical",side:R,coord:S,min:Math.min(v.a.y,v.b.y),max:Math.max(v.a.y,v.b.y)}}if(v.horizontal){let S=v.a.y,W=Math.min(x.src.top,x.dst.top),T=Math.max(x.src.bottom,x.dst.bottom),R=S<W-N4?"top":S>T+N4?"bottom":void 0;if(!R)return;return{edge:q,points:L,segmentIndex:v.index,axis:"horizontal",side:R,coord:S,min:Math.min(v.a.x,v.b.x),max:Math.max(v.a.x,v.b.x)}}return},"externalRailForSegment"),J=X(()=>{let q=[];for(let L of z){let v=k(L);for(let x of o3(v)){let S=Z(L,v,x);if(S)q.push(S)}}return q},"collectExternalRails"),K=X((q,L)=>q.edge!==L.edge&&q.axis===L.axis&&q.side===L.side&&LB(q.min,q.max,L.min,L.max)>=Y5,"railsInteract"),w=X((q)=>{let L=[],v=new Set;for(let x of q){if(v.has(x))continue;let S=[x],W=[];v.add(x);while(S.length>0){let T=S.pop();W.push(T);for(let R of q)if(!v.has(R)&&K(T,R))v.add(R),S.push(R)}if(W.length>1)L.push(W)}return L},"connectedComponents"),Q=X((q)=>{let L=[];for(let v of q)if(!L.some((x)=>Math.abs(x-v.coord)<N4))L.push(v.coord);while(L.length<q.length){let v=Math.min(...L),x=Math.max(...L),S=q[0].side;L.push(S==="left"||S==="top"?v-12*(q.length-L.length):x+12*(q.length-L.length))}return L},"uniqueCoordsFor"),G=X((q)=>{let L=q.map((S)=>S.coord),v=Q(q),x=[];if(q.length<=6){let S=Array(v.length).fill(!1),W=[],T=X(()=>{if(W.length===q.length){if(W.some((R,Y)=>Math.abs(R-L[Y])>=N4))x.push([...W]);return}for(let[R,Y]of v.entries()){if(S[R])continue;S[R]=!0,W.push(Y),T(),W.pop(),S[R]=!1}},"visit");return T(),x}for(let S=0;S<L.length;S++)for(let W=S+1;W<L.length;W++){let T=[...L];[T[S],T[W]]=[T[W],T[S]],x.push(T)}return x},"coordinateAssignmentsFor"),H=X((q,L)=>{let v=new Map;for(let[S,W]of q.entries()){let T=L[S],R=v.get(W.edge)??W.points.map((Y)=>({x:Y.x,y:Y.y}));if(W.axis==="vertical")R[W.segmentIndex].x=T,R[W.segmentIndex+1].x=T;else R[W.segmentIndex].y=T,R[W.segmentIndex+1].y=T;v.set(W.edge,R)}let x=new Map;for(let[S,W]of v){let T=gF(W1(W));if(o3(T).length!==T.length-1)return;x.set(S,T)}return x},"replacementsForAssignment"),l=X((q)=>{for(let[L,v]of q){let x=[L.start,L.end].filter((S)=>Boolean(S));for(let S of o3(v)){if(F2(S.a,S.b,F,x,-2))return!1;if(F2(S.a,S.b,U,[],-2))return!1}}for(let L=0;L<z.length;L++){let v=z[L],x=q.has(v),S=o3(k(v,q));for(let W=L+1;W<z.length;W++){let T=z[W];if(!x&&!q.has(T))continue;let R=o3(k(T,q));for(let Y of S)for(let h of R)if(rF(Y,h,0.5)>=Y5)return!1}}return!0},"candidateIsSafe");for(let q=0;q<4;q++){let L=f();if(L===0)return;let v,x=L,S=M(),W=Number.POSITIVE_INFINITY;for(let T of w(J()))for(let R of G(T)){let Y=H(T,R);if(!Y||!l(Y))continue;let h=f(Y);if(h>=L)continue;let I=M(Y),O=T.reduce((V,j,i)=>V+Math.abs(R[i]-j.coord),0);if(h>x||h===x&&(I>S||I===S&&O>=W))continue;v=Y,x=h,S=I,W=O}if(!v)return;for(let[T,R]of v)T.points=R}}function ea0(u,B){let{realNodeRects:C,labelNodeRects:D}=iM(B.values()),F=u.filter((J)=>!J.isLayoutOnly),U=X((J,K,w)=>W1(J===K?w??[]:J.points??[]),"pointsFor"),z=X((J)=>o3(J).reduce((K,w)=>{let Q=w.a.x-w.b.x,G=w.a.y-w.b.y;return K+Math.hypot(Q,G)},0),"pathLength"),k=X((J,K)=>{let w=0;for(let Q=0;Q<F.length;Q++){let G=o3(U(F[Q],J,K));for(let H=Q+1;H<F.length;H++){let l=o3(U(F[H],J,K));for(let q of G)for(let L of l)if(ez(q.a,q.b,L.a,L.b,N4))w++}}return w},"strictCrossingCount"),f=X((J,K)=>{if(J.horizontal){let w=J.a.y;return(Math.abs(w-K.top)<1||Math.abs(w-K.bottom)<1)&&LB(J.a.x,J.b.x,K.left,K.right)>=Y5}if(J.vertical){let w=J.a.x;return(Math.abs(w-K.left)<1||Math.abs(w-K.right)<1)&&LB(J.a.y,J.b.y,K.top,K.bottom)>=Y5}return!1},"segmentRunsAlongRectBorder"),M=X((J)=>{let K=[J.start,J.end].filter((Q)=>Boolean(Q)),w=[];for(let Q of K){let G=B.get(Q),H=G?H8(G):void 0;if(H)w.push(H)}return w},"endpointRectsFor"),b=X((J,K)=>{if(K+3>=J.length)return[];let w=J[K],Q=J[K+1],G=J[K+2],H=J[K+3],l=m9(w,Q,N4)&&$9(Q,G,N4)&&m9(G,H,N4),q=$9(w,Q,N4)&&m9(Q,G,N4)&&$9(G,H,N4);if(!l&&!q)return[];if(!(l?Math.sign(Q.x-w.x)!==Math.sign(H.x-G.x):Math.sign(Q.y-w.y)!==Math.sign(H.y-G.y)))return[];let v=F1(w,H,N4)||M1(w,H,N4)?[]:[{x:w.x,y:H.y},{x:H.x,y:w.y}],x=v.length===0?[[...J.slice(0,K+1),...J.slice(K+3)]]:v.map((W)=>[...J.slice(0,K+1),W,...J.slice(K+3)]),S=new Set;return x.map((W)=>gF(W1(W))).filter((W)=>{if(o3(W).length!==W.length-1)return!1;if(!W.some((R)=>bA(R,H,N4)))return!1;let T=W.map((R)=>`${R.x.toFixed(3)},${R.y.toFixed(3)}`).join("|");if(S.has(T))return!1;return S.add(T),!0})},"shortcutCandidatesAt"),Z=X((J,K,w)=>{let Q=[J.start,J.end].filter((H)=>Boolean(H)),G=M(J);for(let H of o3(K)){if(F2(H.a,H.b,C,Q,-2))return!1;if(F2(H.a,H.b,D,[],-2))return!1;if(G.some((l)=>f(H,l)))return!1}for(let H of F){if(H===J)continue;for(let l of o3(K))for(let q of o3(U(H)))if(rF(l,q,0.5)>=Y5)return!1}return k(J,K)<=w},"candidateIsSafe");for(let J=0;J<8;J++){let K=k(),w,Q,G=K,H=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;for(let q of F){let L=U(q),v=QE(L,N4),x=z(L);for(let S=0;S<=L.length-4;S++)for(let W of b(L,S)){let T=QE(W,N4),R=z(W);if(!(T<v||T===v&&R<x-N4)||!Z(q,W,K))continue;let h=k(q,W);if(h>G||h===G&&(T>H||T===H&&R>=l))continue;w=q,Q=W,G=h,H=T,l=R}}if(!w||!Q)return;w.points=Q}}function um0(u,B){let F=[];for(let w0 of B.values()){if(w0.isGroup||w0.isEdgeLabel)continue;let x0=w0.x??0,T0=w0.y??0,J0=H8(w0);if(!J0)continue;F.push({id:String(w0.id??""),cx:x0,cy:T0,rect:J0})}if(F.length===0)return;let U=new Map(F.map((w0)=>[w0.id,w0])),z=F.map((w0)=>({id:w0.id,rect:w0.rect})),k=["top","bottom","left","right"],f={top:Math.min(...F.map((w0)=>w0.rect.top))-20,bottom:Math.max(...F.map((w0)=>w0.rect.bottom))+20,left:Math.min(...F.map((w0)=>w0.rect.left))-20,right:Math.max(...F.map((w0)=>w0.rect.right))+20},M=u.filter((w0)=>!w0.isLayoutOnly),b=new Map(M.map((w0,x0)=>[w0,x0])),Z=X((w0)=>{let x0=w0==="left"||w0==="top"?-1:1,T0=[];for(let J0=0;J0<=2;J0++)T0.push(f[w0]+x0*20*J0);return T0},"outwardTracksForSide"),J=X((w0,x0=new Map)=>W1(x0.get(w0)??w0.points??[]),"replacementPointsFor"),K=X((w0,x0)=>{let T0=0;for(let J0 of w0)for(let F0 of x0)if(ez(J0.a,J0.b,F0.a,F0.b,N4))T0++;return T0},"crossingCountBetweenSegments"),w=X((w0,x0)=>K(o3(w0),o3(x0)),"crossingCountBetweenPaths"),Q=X((w0=new Map)=>{let x0=0,T0=[],J0=new Set,F0=[],u0=X((Z0)=>{if(!J0.has(Z0))J0.add(Z0),F0.push(Z0)},"addEdge");for(let Z0=0;Z0<M.length;Z0++){let X0=M[Z0],W0=J(X0,w0);for(let Y0=Z0+1;Y0<M.length;Y0++){let a0=M[Y0],K0=w(W0,J(a0,w0));if(K0>0)x0+=K0,T0.push({first:X0,second:a0,count:K0}),u0(X0),u0(a0)}}return F0.sort((Z0,X0)=>(b.get(Z0)??0)-(b.get(X0)??0)),{count:x0,pairs:T0,edgeSet:J0,edges:F0}},"crossingSnapshot"),G=X((w0,x0)=>{let T0=new Set(x0.keys());if(T0.size===0)return w0.count;let J0=0;for(let u0 of w0.pairs)if(T0.has(u0.first)||T0.has(u0.second))J0+=u0.count;let F0=0;for(let u0=0;u0<M.length;u0++){let Z0=M[u0],X0=T0.has(Z0),W0=J(Z0,x0);for(let Y0=u0+1;Y0<M.length;Y0++){let a0=M[Y0];if(!X0&&!T0.has(a0))continue;F0+=w(W0,J(a0,x0))}}return w0.count-J0+F0},"crossingCountWithReplacements"),H=X((w0)=>{let x0=new Map;for(let F0 of w0.pairs){let u0=x0.get(F0.first)??new Set;u0.add(F0.second),x0.set(F0.first,u0);let Z0=x0.get(F0.second)??new Set;Z0.add(F0.first),x0.set(F0.second,Z0)}let T0=[],J0=new Set;for(let F0 of w0.edges){if(J0.has(F0))continue;let u0=[F0],Z0=[];J0.add(F0);while(u0.length>0){let X0=u0.pop();Z0.push(X0);for(let W0 of x0.get(X0)??[])if(!J0.has(W0))J0.add(W0),u0.push(W0)}if(Z0.sort((X0,W0)=>(b.get(X0)??0)-(b.get(W0)??0)),Z0.length>1)T0.push(Z0)}return T0},"crossingComponents"),l=X((w0)=>[w0.start,w0.end].filter((x0)=>Boolean(x0)),"endpointIdsFor"),q=X((w0)=>{let x0=[];for(let T0 of H(w0)){let J0=new Set(T0),F0=new Set(T0.flatMap((Z0)=>l(Z0))),u0=[...T0];for(let Z0 of M){if(J0.has(Z0))continue;if(l(Z0).some((X0)=>F0.has(X0)))u0.push(Z0)}u0.sort((Z0,X0)=>(b.get(Z0)??0)-(b.get(X0)??0)),x0.push(u0)}return x0},"pairSearchGroups"),L=X((w0,x0,T0)=>G(w0,new Map([[x0,T0]])),"crossingCountWithSingleReplacement"),v=X((w0)=>{let x0=new Map;for(let T0 of w0.pairs)x0.set(T0.first,(x0.get(T0.first)??0)+T0.count),x0.set(T0.second,(x0.get(T0.second)??0)+T0.count);return x0},"currentCrossingsByEdge"),x=X((w0)=>w0.slice(1).reduce((x0,T0,J0)=>{let F0=w0[J0];return x0+Math.abs(T0.x-F0.x)+Math.abs(T0.y-F0.y)},0),"pathLength"),S=X((w0=new Map)=>M.reduce((x0,T0)=>x0+QE(J(T0,w0)),0),"totalBends"),W=X((w0=new Map)=>M.reduce((x0,T0)=>x0+x(J(T0,w0)),0),"totalLength"),T=X((w0,x0,T0=new Map)=>{let J0=o3(x0);for(let F0 of M){if(F0===w0)continue;for(let u0 of J0)for(let Z0 of o3(J(F0,T0)))if(rF(u0,Z0,0.5)>=Y5)return!0}return!1},"pathHasSegmentConflict"),R=X((w0,x0)=>{let T0=[w0.start,w0.end].filter((J0)=>Boolean(J0));for(let J0 of o3(x0))if(F2(J0.a,J0.b,z,T0,-2))return!0;return!1},"pathHitsNode"),Y=X((w0,x0)=>{let T0=gF(W1(x0));if(o3(T0).length===T0.length-1)w0.push(T0)},"pushOrthogonalCandidate"),h=X((w0)=>w0==="left"||w0==="right","sideIsHorizontal"),I=X((w0,x0,T0)=>{switch(x0){case"left":return Math.min(w0.x,T0.x)-20;case"right":return Math.max(w0.x,T0.x)+20;case"top":return Math.min(w0.y,T0.y)-20;case"bottom":return Math.max(w0.y,T0.y)+20}},"localTrackForSameSide"),O=X((w0,x0,T0,J0)=>{let F0=T0==="left"||T0==="top"?-1:1,u0=[I(x0,T0,J0),f[T0]];for(let Z0 of u0)for(let X0=0;X0<=2;X0++)Y(w0,O90(x0,T0,J0,Z0+F0*20*X0))},"addSameSideCandidates"),V=X((w0,x0,T0,J0,F0)=>{for(let u0 of Z(T0))for(let Z0 of Z(F0))Y(w0,[x0,{x:u0,y:x0.y},{x:u0,y:Z0},{x:J0.x,y:Z0},J0])},"addHorizontalToVerticalCandidates"),j=X((w0,x0,T0,J0,F0)=>{for(let u0 of Z(T0))for(let Z0 of Z(F0))Y(w0,[x0,{x:x0.x,y:u0},{x:Z0,y:u0},{x:Z0,y:J0.y},J0])},"addVerticalToHorizontalCandidates"),i=X((w0,x0,T0,J0,F0)=>{let u0=[...Z("top"),...Z("bottom")];for(let Z0 of Z(T0))for(let X0 of Z(F0))for(let W0 of u0)Y(w0,[x0,{x:Z0,y:x0.y},{x:Z0,y:W0},{x:X0,y:W0},{x:X0,y:J0.y},J0])},"addHorizontalPairCandidates"),a=X((w0,x0,T0,J0,F0)=>{let u0=[...Z("left"),...Z("right")];for(let Z0 of Z(T0))for(let X0 of Z(F0))for(let W0 of u0)Y(w0,[x0,{x:x0.x,y:Z0},{x:W0,y:Z0},{x:W0,y:X0},{x:J0.x,y:X0},J0])},"addVerticalPairCandidates"),$=X((w0)=>{let x0=new Set;return w0.map((T0)=>W1(T0)).filter((T0)=>{let J0=T0.map((F0)=>`${F0.x.toFixed(3)},${F0.y.toFixed(3)}`).join("|");if(x0.has(J0)||T0.length<2)return!1;return x0.add(J0),!0})},"dedupeCandidatePaths"),m=X((w0,x0,T0,J0)=>{let F0=[],u0=T90(w0,x0,T0,J0,20,N4);if(u0)Y(F0,u0);if(x0===J0)O(F0,w0,x0,T0);let Z0=h(x0),X0=h(J0);if(Z0&&!X0)V(F0,w0,x0,T0,J0);else if(!Z0&&X0)j(F0,w0,x0,T0,J0);else if(Z0)i(F0,w0,x0,T0,J0);else a(F0,w0,x0,T0,J0);return $(F0)},"buildCandidatesForSides"),y=X((w0,x0,T0,J0)=>{let F0=[...Z("left"),...Z("right")],u0=[...Z("top"),...Z("bottom")];for(let Z0 of k){let X0=RK(J0,Z0),W0=Z0==="top"||Z0==="bottom"?Z(Z0):u0;for(let Y0 of F0){Y(w0,[x0,T0,{x:Y0,y:T0.y},{x:Y0,y:X0.y},X0]);for(let a0 of W0)Y(w0,[x0,T0,{x:Y0,y:T0.y},{x:Y0,y:a0},{x:X0.x,y:a0},X0])}}},"addVerticalDepartureOuterTrackCandidates"),r=X((w0,x0,T0,J0)=>{let F0=[...Z("left"),...Z("right")],u0=[...Z("top"),...Z("bottom")];for(let Z0 of k){let X0=RK(J0,Z0),W0=Z0==="left"||Z0==="right"?Z(Z0):F0;for(let Y0 of u0){Y(w0,[x0,T0,{x:T0.x,y:Y0},{x:X0.x,y:Y0},X0]);for(let a0 of W0)Y(w0,[x0,T0,{x:T0.x,y:Y0},{x:a0,y:Y0},{x:a0,y:X0.y},X0])}}},"addHorizontalDepartureOuterTrackCandidates"),_=X((w0)=>{let{start:x0,end:T0}=w0,J0=T0?U.get(T0):void 0;if(!x0||!J0)return[];let F0=W1(w0.points??[]);if(F0.length<4)return[];let u0=F0[0],Z0=F0[1],X0=[];if($9(u0,Z0,N4))y(X0,u0,Z0,J0);else if(m9(u0,Z0,N4))r(X0,u0,Z0,J0);return X0},"terminalPreservingOuterTrackCandidates"),e=X((w0)=>{let{start:x0,end:T0}=w0,J0=x0?U.get(x0):void 0,F0=T0?U.get(T0):void 0;if(!J0||!F0)return[];let u0=[];for(let Z0 of k){let X0=RK(J0,Z0);for(let W0 of k)u0.push(...m(X0,Z0,RK(F0,W0),W0))}return u0.push(..._(w0)),u0},"candidatePathsFor"),p=X(()=>new Map(M.map((w0)=>[w0,o3(J(w0))])),"currentSegmentsByEdge"),b0=X((w0,x0,T0)=>{let J0=new Set;for(let F0 of M){if(F0===w0)continue;let u0=T0.get(F0)??o3(J(F0));if(x0.some((Z0)=>u0.some((X0)=>rF(Z0,X0,0.5)>=Y5)))J0.add(F0)}return J0},"sharedTrackConflictsFor"),B0=X((w0,x0,T0,J0)=>{let F0=new Set;return e(w0).map((Z0)=>gF(W1(Z0))).filter((Z0)=>{if(R(w0,Z0))return!1;let X0=Z0.map((W0)=>`${W0.x.toFixed(3)},${W0.y.toFixed(3)}`).join("|");if(F0.has(X0)||Z0.length<2)return!1;return F0.add(X0),!0}).map((Z0)=>{let X0=o3(Z0),W0=0;for(let Y0 of M){if(Y0===w0)continue;W0+=K(X0,T0.get(Y0)??o3(J(Y0)))}return{candidate:Z0,candidateSegments:X0,crossings:x0.count-(J0.get(w0)??0)+W0,bends:QE(Z0,N4),totalBends:QE(Z0),length:x(Z0)}}).filter(({crossings:Z0})=>Z0<=x0.count).sort((Z0,X0)=>Z0.crossings-X0.crossings||Z0.bends-X0.bends||Z0.length-X0.length).slice(0,48).map((Z0)=>{return{path:Z0.candidate,segments:Z0.candidateSegments,sharedTrackConflicts:b0(w0,Z0.candidateSegments,T0),totalBends:Z0.totalBends,length:Z0.length}})},"pairCandidatesFor"),k0=X((w0,x0,T0,J0,F0,u0)=>{let Z0=0;for(let W0 of w0.pairs)if(W0.first===x0||W0.second===x0||W0.first===J0||W0.second===J0)Z0+=W0.count;let X0=K(T0.segments,F0.segments);for(let W0 of M){if(W0===x0||W0===J0)continue;let Y0=u0.get(W0)??o3(J(W0));X0+=K(T0.segments,Y0)+K(F0.segments,Y0)}return w0.count-Z0+X0},"pairCrossingCount"),f0=X((w0,x0)=>{for(let T0 of w0.sharedTrackConflicts)if(T0!==x0)return!1;return!0},"conflictsOnlyWith"),D0=X((w0,x0)=>w0.segments.some((T0)=>x0.segments.some((J0)=>rF(T0,J0,0.5)>=Y5)),"candidatesShareTrack"),P0=X((w0,x0,T0,J0)=>f0(x0,T0.edge)&&f0(J0,w0.edge)&&!D0(x0,J0),"pairCandidatesAreCompatible"),L0=X((w0,x0,T0,J0,F0)=>{let u0=k0(w0.current,x0.edge,T0,J0.edge,F0,w0.baseSegments);if(u0>=w0.current.count)return;return{replacements:new Map([[x0.edge,T0.path],[J0.edge,F0.path]]),crossings:u0,bends:w0.currentBends-(w0.baseBendsByEdge.get(x0.edge)??0)-(w0.baseBendsByEdge.get(J0.edge)??0)+T0.totalBends+F0.totalBends,length:w0.currentLength-(w0.baseLengthByEdge.get(x0.edge)??0)-(w0.baseLengthByEdge.get(J0.edge)??0)+T0.length+F0.length}},"scorePairReplacement"),m0=X((w0,x0)=>w0.crossings<x0.crossings||w0.crossings===x0.crossings&&(w0.bends<x0.bends||w0.bends===x0.bends&&w0.length<x0.length),"pairScoreIsBetter"),h0=X((w0,x0,T0,J0)=>{let F0=J0;for(let u0 of x0.candidates)for(let Z0 of T0.candidates){if(!P0(x0,u0,T0,Z0))continue;let X0=L0(w0,x0,u0,T0,Z0);if(X0&&m0(X0,F0))F0=X0}return F0},"bestScoreForOptionPair"),_0=X((w0)=>{let x0=S(),T0=W(),J0=p(),F0=v(w0),u0=new Map(M.map((K0)=>[K0,QE(J(K0))])),Z0=new Map(M.map((K0)=>[K0,x(J(K0))])),X0=new Map,W0=q(w0);for(let K0 of W0)for(let n of K0){if(X0.has(n))continue;let d=B0(n,w0,J0,F0);if(d.length>0)X0.set(n,{edge:n,candidates:d})}let Y0={replacements:new Map,crossings:w0.count,bends:x0,length:T0},a0={current:w0,currentBends:x0,currentLength:T0,baseBendsByEdge:u0,baseLengthByEdge:Z0,baseSegments:J0};for(let K0 of W0){let n=new Set(K0.filter((q0)=>w0.edgeSet.has(q0))),d=K0.map((q0)=>X0.get(q0)).filter((q0)=>Boolean(q0));for(let q0=0;q0<d.length;q0++){let o=d[q0];for(let l0=q0+1;l0<d.length;l0++){let E0=d[l0];if(!n.has(o.edge)&&!n.has(E0.edge))continue;Y0=h0(a0,o,E0,Y0)}}}return Y0.replacements.size>0?Y0.replacements:void 0},"bestPairedReplacement");for(let w0=0;w0<4;w0++){let x0=Q(),T0=x0.count;if(T0===0)return;let J0,F0,u0=T0,Z0=Number.POSITIVE_INFINITY;for(let W0 of x0.edges){let Y0=QE(J(W0),N4);for(let a0 of e(W0)){let K0=R(W0,a0),n=!K0&&T(W0,a0),d=L(x0,W0,a0),q0=QE(a0,N4);if(K0||n)continue;if(!(d<T0||d===T0&&q0<Y0))continue;if(d>u0||d===u0&&q0>=Z0)continue;J0=W0,F0=a0,u0=d,Z0=q0}}if(J0&&F0){J0.points=F0;continue}let X0=_0(x0);if(!X0)return;for(let[W0,Y0]of X0)W0.points=Y0}}function Bm0(u,B){let{nodeInfoById:E,realNodeRects:A}=Za(B),C=["top","bottom","left","right"],D=20,F={top:Math.min(...A.map((K)=>K.rect.top))-20,bottom:Math.max(...A.map((K)=>K.rect.bottom))+20,left:Math.min(...A.map((K)=>K.rect.left))-20,right:Math.max(...A.map((K)=>K.rect.right))+20},U=X((K,w,Q,G)=>{let H=[],l=T90(K,w,Q,G,20,hM);if(l)H.push(l);if(w===G)H.push(O90(K,w,Q,F[w]));return H},"buildOrthogonalPathCandidates"),z=X((K,w)=>{for(let Q=0;Q<K.length-1;Q++){let G=K[Q],H=K[Q+1];if(F2(G,H,A,w,1))return!0}return!1},"pathHitsNode"),k=X((K,w,Q=!1)=>{let G=0,H=Rq(K,hM),l=w.start,q=w.end;for(let L of u){if(L===w||L.isLayoutOnly)continue;let{start:v,end:x}=L;if(!Q&&l&&q&&(v===l||v===q||x===l||x===q))continue;let S=L.points;if(!S||S.length<2)continue;for(let W of H)for(let T of Rq(S,hM)){if(P90(W.a,W.b,T.a,T.b,hM,hM)){G++;continue}if(rF(W,T,hM)>=QJ4)G++}}return G},"pathConflictCount"),f=4,M=X((K,w)=>{let Q=Math.abs(K.y-w.rect.top),G=Math.abs(K.y-w.rect.bottom),H=Math.abs(K.x-w.rect.left),l=Math.abs(K.x-w.rect.right),q="top",L=Q;if(G<L)q="bottom",L=G;if(H<L)q="left",L=H;if(l<L)q="right",L=l;return q},"nearestSideOfRect"),b=new Map,Z=X((K,w,Q)=>{let G=b.get(K)??[];G.push({side:w,edgeId:Q}),b.set(K,G)},"addFaceClaim");for(let K of u){if(K.isLayoutOnly)continue;let w=K.points??[];if(w.length<1)continue;let Q=K.id??"",G=K.start,H=K.end;if(G){let l=E.get(G);if(l)Z(G,M(w[0],l),Q)}if(H){let l=E.get(H);if(l)Z(H,M(w[w.length-1],l),Q)}}let J=X((K,w,Q)=>{return b.get(K)?.some((G)=>G.edgeId!==Q&&G.side===w)??!1},"faceIsClaimed");for(let K of u){if(K.isLayoutOnly)continue;let w=K.points;if(!w||w.length<2)continue;let Q=QE(w,hM);if(Q<4)continue;let{start:G,end:H}=K;if(!G||!H)continue;let l=E.get(G),q=E.get(H);if(!l||!q)continue;let L=K.id??"",v=k(w,K,!0),x=k(w,K),S,W=v,T=Q;for(let R of C){if(J(G,R,L))continue;let Y=RK(l,R);for(let h of C){if(J(H,h,L))continue;let I=RK(q,h);for(let O of U(Y,R,I,h)){if(z(O,[G,H]))continue;let V=QE(O,hM);if(v>0){let j=k(O,K,!0);if(j>W||j===W&&V>=T)continue;W=j,T=V,S=O;continue}if(k(O,K)>x)continue;if(V<T)T=V,S=O}}}if(S){K.points=S;let R=b.get(G);if(R)b.set(G,R.filter((h)=>h.edgeId!==L));let Y=b.get(H);if(Y)b.set(H,Y.filter((h)=>h.edgeId!==L));Z(G,M(S[0],l),L),Z(H,M(S[S.length-1],q),L)}}}function b90(u,B){let E=B?0:u.length-1,A=B?1:-1,C=u[E],D=u[E+A];if(!C||!D)return;let F=D.x-C.x,U=D.y-C.y;if(Math.abs(F)+Math.abs(U)<G8)return;if(Math.abs(U)<=G8){let k=C.x+Math.sign(F)*ka0;return{left:Math.min(C.x,k),right:Math.max(C.x,k),top:C.y-ti,bottom:C.y+ti}}if(Math.abs(F)<=G8){let k=C.y+Math.sign(U)*ka0;return{left:C.x-ti,right:C.x+ti,top:Math.min(C.y,k),bottom:Math.max(C.y,k)}}return{left:Math.min(C.x,D.x),right:Math.max(C.x,D.x),top:Math.min(C.y,D.y),bottom:Math.max(C.y,D.y)}}function Em0(u){return{left:Math.min(u.left,u.right),right:Math.max(u.left,u.right),top:Math.min(u.top,u.bottom),bottom:Math.max(u.top,u.bottom)}}function Z90(u,B){let E=W1(B),A=b90(E,!0),C=b90(E,!1);return[A,C].some((D)=>D&&Aa(u,Em0(D)))}function ua(u,B){let E=[];for(let J of u){if(J.isLayoutOnly)continue;let K=J.points;if(!K||K.length<2)continue;for(let w=0;w<K.length-1;w++)E.push({edgeId:J.id,p1:K[w],p2:K[w+1]})}let A=[],C=[];for(let J of B.values()){let{isGroup:K,parentId:w}=J;if(K&&!w){let G=H8(J);if(G)C.push({id:J.id,rect:G});continue}if(K)continue;if(J.isEdgeLabel)continue;let Q=H8(J);if(!Q)continue;A.push({nodeId:J.id,rect:Q})}let D=3,F=1,U=12,z=X((J,K)=>{let w=s60(K,D);for(let{nodeId:Q,rect:G}of A){if(Q===J)continue;if(Aa(w,G))return!0}return!1},"labelOverlapsForeignNode"),k=X((J,K)=>{let w=s60(K,D);for(let Q of E){if(Q.edgeId===J)continue;if(ba(Q.p1,Q.p2,w))return!0}return!1},"labelOverlapsForeignEdge"),f=X((J,K,w)=>z(J,w)||k(K,w),"labelOverlapsAnything"),M=[],b=X((J)=>{for(let{id:K,rect:w}of C)if(Ta0(w,J))return K;return},"findContainingLane"),Z=X((J,K)=>M.some((w)=>w.labelId!==J&&Aa(K,w.rect)),"overlapsPlacedLabel");for(let J of u){if(J.isLayoutOnly)continue;let K=J.labelNodeId;if(!K)continue;let w=B.get(K);if(!w)continue;let Q=J.points;if(!Q||Q.length<2)continue;let G=w.width??0,H=w.height??0;if(G<=0||H<=0)continue;let l=[];for(let $=0;$<Q.length-1;$++){let m=Q[$],y=Q[$+1],r=Math.abs(m.x-y.x),_=Math.abs(m.y-y.y);if(r<G8&&_<G8)continue;if(r>=G8&&_>=G8)continue;l.push({idx:$,length:r+_,orientation:r>=G8?"horizontal":"vertical",midX:(m.x+y.x)/2,midY:(m.y+y.y)/2})}if(l.length===0)continue;let q=l.length>=3?l.filter(($)=>$.idx>0&&$.idx<l.length-1):l,L=q.length>0?q:l,v=G>=H?"horizontal":"vertical",x=X(($)=>{return[...$].sort((m,y)=>{let r=m.orientation===v,_=y.orientation===v;if(r!==_)return r?-1:1;let e=m.length>=(m.orientation==="horizontal"?G:H)+2,p=y.length>=(y.orientation==="horizontal"?G:H)+2;if(e!==p)return e?-1:1;return y.length-m.length})},"rankSegments"),S=l[0],W=l[l.length-1],T=[0.5,0.25,0.75,0.05,0.95,0.15,0.85,0.1,0.9],R=X(($,m)=>{let y=Q[$.idx],r=Q[$.idx+1];return{midX:y.x+(r.x-y.x)*m,midY:y.y+(r.y-y.y)*m}},"anchorAtT"),Y=X(($,m,y)=>Math.min(y,Math.max(m,$)),"clamp"),h=X(($,m)=>$.midX>=m.left-G8&&$.midX<=m.right+G8&&$.midY>=m.top-G8&&$.midY<=m.bottom+G8,"pointInsideRectInclusive"),I=X(($)=>{let m=Yq($.midX,$.midY,G,H),y=b(m);if(y)return{laneId:y,anchor:$,rect:m};let r=C.find(({rect:f0})=>h($,f0));if(!r)return;let _=r.rect.left+G/2+F,e=r.rect.right-G/2-F,p=r.rect.top+H/2+F,b0=r.rect.bottom-H/2-F;if(_>e||p>b0)return;let B0={midX:Y($.midX,_,e),midY:Y($.midY,p,b0)},k0=Yq(B0.midX,B0.midY,G,H);return h($,k0)?{laneId:r.id,anchor:B0,rect:k0}:void 0},"placementForAnchor"),O=X(($,m,y)=>$.orientation==="horizontal"?Math.abs(m.midX-y.x):Math.abs(m.midY-y.y),"distanceAlongSegment"),V=X(($,m)=>{let r=($.orientation==="horizontal"?G/2:H/2)+U;if($===S){let _=Q[$.idx];if(O($,m,_)+G8<r)return!1}if($===W){let _=Q[$.idx+1];if(O($,m,_)+G8<r)return!1}return!0},"labelClearsTerminalEndpoints"),j=X(($)=>{let m=x($);for(let y of m)for(let r of T){let _=R(y,r);if(!V(y,_))continue;let e=I(_);if(!e)continue;if(Z90(e.rect,Q))continue;if(Z(K,e.rect))continue;if(!f(K,J.id,e.rect))return{laneId:e.laneId,anchor:e.anchor}}return},"tryPool"),i=X(($,m,y=!1)=>{let r=x($);for(let _ of r){let e={midX:_.midX,midY:_.midY};if(m&&!V(_,e))continue;let p=I(e);if(p&&!Z90(p.rect,Q)&&!Z(K,p.rect)&&!z(K,p.rect)&&(y||!k(J.id,p.rect)))return{laneId:p.laneId,anchor:p.anchor}}return},"findLaneContainingFallback"),a=j(L)??(L.length<l.length?j(l):void 0)??i(l,!0)??i(l,!1)??i(l,!1,!0);if(a){w.x=a.anchor.midX,w.y=a.anchor.midY,w.parentId=a.laneId;let $=Yq(a.anchor.midX,a.anchor.midY,G,H),m=M.findIndex((y)=>y.labelId===K);if(m>=0)M[m]={labelId:K,rect:$};else M.push({labelId:K,rect:$})}}}function J90(u,B){return u<B?`${u}::${B}`:`${B}::${u}`}function Am0(u,B){let{nodeInfoById:E,realNodeRects:A}=Za(B),C=new Map;for(let F of B){let U=F.id;if(F.isGroup)continue;if(F.isEdgeLabel){C.set(U,{w:F.width??0,h:F.height??0});continue}}let D=X((F,U,z,k)=>{let f=J90(U,z),M=0,b=X((Z)=>{if(!Z)return;let J=C.get(Z);if(!J)return;let K=k==="x"?J.w/2:J.h/2;if(K>M)M=K},"consider");b(F.labelNodeId);for(let Z of u){if(Z===F)continue;if(Z.isLayoutOnly)continue;let{start:J,end:K}=Z;if(!J||!K)continue;if(J90(J,K)!==f)continue;b(Z.labelNodeId)}return M>0?M+HJ4:0},"labelClearanceFor");for(let F of u){if(F.isLayoutOnly)continue;let U=F.points;if(!Y90(U,c60))continue;let z=I90(F,E,c60);if(!z)continue;let{srcId:k,dstId:f,srcInfo:M,dstInfo:b,collinearX:Z,collinearY:J}=z;if(Z===J)continue;let K,w;if(Z){let q=b.cy>M.cy;K={x:M.cx,y:q?M.rect.bottom:M.rect.top},w={x:b.cx,y:q?b.rect.top:b.rect.bottom}}else{let q=b.cx>M.cx;K={x:q?M.rect.right:M.rect.left,y:M.cy},w={x:q?b.rect.left:b.rect.right,y:b.cy}}if(F2(K,w,A,[k,f],1))continue;let G=D(F,k,f,Z?"x":"y"),H=G>fa0?G:fa0,l=[0,H,-H];for(let q of l){let L={...K},v={...w};if(Z){if(L.x+=q,v.x+=q,L.x<=M.rect.left||L.x>=M.rect.right)continue;if(v.x<=b.rect.left||v.x>=b.rect.right)continue}else{if(L.y+=q,v.y+=q,L.y<=M.rect.top||L.y>=M.rect.bottom)continue;if(v.y<=b.rect.top||v.y>=b.rect.bottom)continue}if(F2(L,v,A,[k,f],1))continue;if(Ca(L,v,u,F,{epsilon:c60}))continue;F.points=[L,v];break}}}function K90(u,B){let{realNodeRects:k,labelNodeRects:f}=iM(B.values()),M=X((L,v)=>{return Rq(v,0.001).map((x)=>({...x,edge:L,interior:x.index>=1&&x.index<=v.length-3}))},"segmentsFor"),b=X(()=>{let L=[];for(let v of u){if(v.isLayoutOnly)continue;let x=v.points;if(!x||x.length<2)continue;L.push(...M(v,W1(x)))}return L},"allSegments"),Z=X((L,v)=>{if(L.horizontal&&v.horizontal)return LB(L.a.x,L.b.x,v.a.x,v.b.x)>=8&&Math.abs(L.a.y-v.a.y)<7;if(L.vertical&&v.vertical)return LB(L.a.y,L.b.y,v.a.y,v.b.y)>=8&&Math.abs(L.a.x-v.a.x)<7;return!1},"hasCrowdedParallelTrack"),J=X((L,v)=>{let{start:x,end:S}=L,W=M(L,v);if(W.length!==v.length-1)return!1;let T=[x,S].filter((Y)=>Boolean(Y)),R=L.labelNodeId?[L.labelNodeId]:[];for(let Y of W){if(F2(Y.a,Y.b,k,T,-2))return!1;if(F2(Y.a,Y.b,f,R,-2))return!1}for(let Y of u){if(Y===L||Y.isLayoutOnly)continue;let h=Y.points;if(!h||h.length<2)continue;for(let I of W)for(let O of M(Y,W1(h))){if(Z(I,O))return!1;if(ez(I.a,I.b,O.a,O.b,0.001))return!1}}return!0},"candidateIsSafe"),K=X((L,v)=>{let x=W1(L.edge.points??[]);if(x.length<4||L.index>=x.length-1)return;let S=x.map((W)=>({...W}));if(L.horizontal)S[L.index].y+=v,S[L.index+1].y+=v;else if(L.vertical)S[L.index].x+=v,S[L.index+1].x+=v;else return;return M(L.edge,S).length===S.length-1?S:void 0},"shiftedCandidate"),w=X((L,v)=>({x:L.x??(v.left+v.right)/2,y:L.y??(v.top+v.bottom)/2}),"nodeCenter"),Q=X((L)=>{let v=L.edge,x=W1(v.points??[]);if(x.length!==4||L.index!==1)return;let S=v.start?B.get(v.start):void 0,W=v.end?B.get(v.end):void 0,T=S?H8(S):void 0,R=W?H8(W):void 0,Y=x.slice(L.index+2);if(!S||!W||!T||!R||Y.length===0)return;return{sourceCenter:w(S,T),targetCenter:w(W,R),sourceRect:T,tail:Y}},"sourceDetourContextFor"),G=X((L,v,x,S,W,T)=>{let R=S.y>=x.y,Y=R?W.bottom:W.top,h=Y+(R?20:-20);if(R&&L.b.y<=h+0.001||!R&&L.b.y>=h-0.001)return;let I=L.a.x+v;return W1([{x:x.x,y:Y},{x:x.x,y:h},{x:I,y:h},{x:I,y:L.b.y},...T],0.001)},"verticalSourceDetour"),H=X((L,v,x,S,W,T)=>{let R=S.x>=x.x,Y=R?W.right:W.left,h=Y+(R?20:-20);if(R&&L.b.x<=h+0.001||!R&&L.b.x>=h-0.001)return;let I=L.a.y+v;return W1([{x:Y,y:x.y},{x:h,y:x.y},{x:h,y:I},{x:L.b.x,y:I},...T],0.001)},"horizontalSourceDetour"),l=X((L,v)=>{let x=Q(L);if(!x)return;if(L.vertical)return G(L,v,x.sourceCenter,x.targetCenter,x.sourceRect,x.tail);if(L.horizontal)return H(L,v,x.sourceCenter,x.targetCenter,x.sourceRect,x.tail);return},"sourceDetourCandidate"),q=[-7,7,-14,14,-21,21];for(let L=0;L<12;L++){let v=b(),x=!1;for(let S=0;S<v.length&&!x;S++)for(let W=S+1;W<v.length&&!x;W++){let T=v[S],R=v[W];if(T.edge===R.edge||!Z(T,R))continue;let Y=[T,R].filter((h)=>h.interior);for(let h of Y){for(let I of q){let O=K(h,I);if(O&&J(h.edge,O)){h.edge.points=O,x=!0;break}let V=l(h,I);if(V&&J(h.edge,V)){h.edge.points=V,x=!0;break}}if(x)break}}if(!x)return}}function Cm0(u,B,E,A){let C=B.x-u.x,D=B.y-u.y,F=A.x-E.x,U=A.y-E.y,z=C*U-D*F;if(Math.abs(z)<0.0000000001)return!1;let k=E.x-u.x,f=E.y-u.y,M=(k*U-f*F)/z,b=(k*D-f*C)/z,Z=0.01;return M>Z&&M<1-Z&&b>Z&&b<1-Z}function Dm0(u){let B=u.nodes??[],E=u.edges??[],A=[];if(!E.length||!B.length)return A;let C=Oa0(B),D=1,F=[];for(let z of E){if(z.isLayoutOnly)continue;let k=z.points;if(!k||k.length<2)continue;let{start:f,end:M,labelNodeId:b}=z,Z=z.id??`${f}->${M}`;for(let J of C){if(J.nodeId===f||J.nodeId===M)continue;if(b&&J.nodeId===b)continue;for(let K=0;K<k.length-1;K++)if(ba(k[K],k[K+1],J,-D)){A.push({type:"edge-node-overlap",edgeId:Z,targetId:J.nodeId,detail:`segment ${K} passes through node "${J.nodeId}"`});break}}for(let J=0;J<k.length-1;J++)F.push({edgeId:Z,start:f,end:M,p1:k[J],p2:k[J+1]})}let U=new Set;for(let z=0;z<F.length;z++)for(let k=z+1;k<F.length;k++){let f=F[z],M=F[k];if(f.edgeId===M.edgeId)continue;if(f.start===M.start||f.start===M.end||f.end===M.start||f.end===M.end)continue;if(Cm0(f.p1,f.p2,M.p1,M.p2)){let b=f.edgeId<M.edgeId?`${f.edgeId}|${M.edgeId}`:`${M.edgeId}|${f.edgeId}`;if(!U.has(b))U.add(b),A.push({type:"edge-edge-crossing",edgeId:f.edgeId,targetId:M.edgeId,detail:`edges "${f.edgeId}" and "${M.edgeId}" cross`})}}if(A.length>0){let z=A.filter((f)=>f.type==="edge-node-overlap").length,k=A.filter((f)=>f.type==="edge-edge-crossing").length;z0.warn(`[SWIMLANE_VALIDATE] ${A.length} issue(s) detected: ${z} edge-node overlap(s), ${k} edge crossing(s)`);for(let f of A)z0.warn(`[SWIMLANE_VALIDATE] ${f.type}: ${f.detail}`)}return A}function Fm0(u,B){let E=u.nodes??[],A=u.edges??[],C=E.filter((U)=>!U.isGroup);if((B==="LR"||B==="RL")&&C.length>0&&!_a0(u,B))return;if(B==="BT"&&C.length>0&&!ca0(u))return;for(let U of A){if(U.isLayoutOnly)continue;let z=U.points;if(!z||z.length<2)continue;U.points=gF(Da(z))}Bm0(A,E),Am0(A,E),pa0(A,E);let D=new Map;for(let U of E)D.set(String(U.id),U);ua(A,D),Va0(A,D),na0(A,D),K90(A,D),da0(A,D),sa0(A,D),k90(A,D),oa0(A,D);let F=X(()=>{um0(A,D),ta0(A,D),ea0(A,D),ua(A,D),U90(A,D),k90(A,D),ua(A,D),U90(A,D)},"finalizeRenderedEdges");F(),K90(A,D),F(),f90(A,D),M90(A,D),f90(A,D),M90(A,D)}function aM(u){let B=new Map(u.nodeById),E=new Set,A=[];for(let D of u.edges){if(!B.has(D.src)||!B.has(D.dst))continue;let F=`${D.id}:${D.src}->${D.dst}`;if(E.has(F))continue;E.add(F),A.push(D)}return{nodes:[...B.keys()],edges:A,layout:u.layout,nodeById:B}}function i90(u,B){return u.edges.filter((E)=>E.dst===B)}function Um0(u){let B=new Map;for(let E of u.nodes)B.set(E,[]);for(let E of u.edges)B.get(E.src).push(E.dst);return B}function a90(u){let B=Um0(u);for(let E of B.values())E.sort((A,C)=>A.localeCompare(C));return B}function m90(u){let B=new Map;for(let E of u.nodes)B.set(E,0);for(let E of u.edges)B.set(E.dst,(B.get(E.dst)??0)+1);return B}function $90(u){return[...u.entries()].filter(([,B])=>B===0).map(([B])=>B).sort((B,E)=>B.localeCompare(E))}function Ja(u,B=()=>!0){let E=new Map,A=new Map;for(let C of u.nodes)E.set(C,[]),A.set(C,[]);for(let C of u.edges){if(!B(C))continue;A.get(C.src).push(C.dst),E.get(C.dst).push(C.src)}return{preds:E,succs:A}}function y90(u,B,E,A){let C=0;for(let F of u.nodes){if(A?.skipGroups&&u.nodeById.get(F)?.isGroup)continue;C=Math.max(C,E[F]??0)}let D=Array.from({length:C+1},()=>[]);for(let F of B){if(A?.skipGroups&&u.nodeById.get(F)?.isGroup)continue;D[Math.max(0,E[F]??0)].push(F)}return D}function xS(u){let B=m90(u),E=$90(B),A=[],C=a90(u);while(E.length){let D=E.shift();A.push(D);for(let F of C.get(D)??[])if(B.set(F,(B.get(F)??0)-1),(B.get(F)??0)===0){let U=0;while(U<E.length&&E[U]<F)U++;E.splice(U,0,F)}}return A.length===u.nodes.length?A:null}function Tq(u){let B=new Map,E=0;for(let A of u)B.set(A,E),E++;return B}function r90(u){let B=Array(u.length),E=X((A,C)=>{if(C-A<=1)return 0;let D=A+C>>1,F=E(A,D)+E(D,C),U=A,z=D,k=A;while(U<D||z<C)if(z>=C||U<D&&u[U]<=u[z])B[k++]=u[U++];else B[k++]=u[z++],F+=D-U;for(let f=A;f<C;f++)u[f]=B[f];return F},"count");return E(0,u.length)}function zm0(u){let B=aM(u),E=new Map;for(let f of B.nodes)E.set(f,[]);for(let f of B.edges)E.get(f.src).push(f);for(let f of E.values())f.sort((M,b)=>M.dst===b.dst?M.id.localeCompare(b.id):M.dst.localeCompare(b.dst));let A=Object.create(null);for(let f of B.nodes)A[f]=0;let C=[],D=X((f)=>{A[f]=1;for(let M of E.get(f)??[]){let b=M.dst;if(A[b]===0)D(b);else if(A[b]===1)C.push(M)}A[f]=2},"dfs"),F=[...B.nodes].sort((f,M)=>f.localeCompare(M));for(let f of F)if(A[f]===0)D(f);let U=new Set(C.map((f)=>`${f.id}:${f.src}->${f.dst}`)),z=B.edges.map((f)=>U.has(`${f.id}:${f.src}->${f.dst}`)?{id:f.id,src:f.dst,dst:f.src,weight:f.weight,ref:f.ref}:f);return{acyclic:{nodes:[...B.nodes],edges:z,layout:B.layout,nodeById:new Map(B.nodeById)},reversed:C}}function km0(u){let B=new Map,E=X((A)=>{if(B.has(A))return B.get(A);let C=u.nodeById.get(A);if(!C)return B.set(A,null),null;let D=C.parentId;if(!D)return B.set(A,null),null;let U=E(D)??D;return B.set(A,U),U},"resolve");for(let A of u.nodes)E(A);return B}function uk(u){let B=km0(u);return(E)=>B.get(E)??null}function Ka(u){let B=[];for(let E of u.layout.nodes??[])if(E.isGroup&&!E.parentId)B.push(E.id);return[...new Set(B)].reverse()}function g90(u,B){let E=Ka(u);if(!B||B.length===0)return E;let A=new Set(E),C=new Set,D=[];for(let F of B){if(!A.has(F)||C.has(F))continue;C.add(F),D.push(F)}for(let F of E){if(C.has(F))continue;D.push(F)}return D}function fm0(u,B){let E=aM(u),A=B?.laneOf??(()=>null),C=B?.rankHint,{preds:D}=Ja(E);for(let q of D.values())q.sort((L,v)=>L.localeCompare(v));let F=xS(E)??[...E.nodes].sort((q,L)=>q.localeCompare(L)),U=new Map;for(let[q,L]of F.entries())U.set(L,q);let z=new Map,k=new Map;for(let q of E.nodes)k.set(q,[]);for(let q of F){let L=(D.get(q)??[]).filter((v)=>z.has(v));if(L.length>0){let v=Mm0(q,L,{laneOf:A,rankHint:C,topoIndex:U});z.set(q,v),k.get(v).push(q)}else if(!z.has(q))z.set(q,null)}for(let q of E.nodes)if(!z.has(q))z.set(q,null);let f=new Set;for(let q of E.nodes)if((z.get(q)??null)===null)f.add(q);let M=[...f].sort((q,L)=>{let v=U.get(q)??0,x=U.get(L)??0;if(v===x)return q.localeCompare(L);return v-x}),b=bm0(E),Z=new Map;for(let[q,L]of b.entries())Z.set(q,[...L].sort((v,x)=>v.localeCompare(x)));let J=Zm0(Z),K=Jm0(Z),w=new Map;for(let q of E.nodes)w.set(q,[]);for(let q of K)for(let L of q.nodes){let v=w.get(L);if(v)v.push(q.id);else w.set(L,[q.id])}let Q=[],G=[],H=new Set,l=X((q)=>{if(H.has(q))return;H.add(q),Q.push(q);for(let L of k.get(q)??[])l(L);G.push(q)},"walk");for(let q of M)l(q);for(let q of F)l(q);return{parent:z,children:k,roots:M,componentOf:J,blocks:K,nodeBlocks:w,adjacency:Z,preorder:Q,postorder:G,topologicalOrder:F}}function Mm0(u,B,E){let A=E.laneOf(u);return[...B].sort((D,F)=>{let U=E.laneOf(D),z=E.laneOf(F),k=U!=null&&U===A,f=z!=null&&z===A;if(k!==f)return k?-1:1;let M=E.rankHint?.[D],b=E.rankHint?.[F];if(M!=null&&b!=null&&M!==b)return b-M;let Z=E.topoIndex.get(D)??0,J=E.topoIndex.get(F)??0;if(Z!==J)return Z-J;return D.localeCompare(F)})[0]}function bm0(u){let B=new Map;for(let E of u.nodes)B.set(E,new Set);for(let E of u.edges)B.get(E.src).add(E.dst),B.get(E.dst).add(E.src);return B}function Zm0(u){let B=new Map,E=0;for(let A of u.keys()){if(B.has(A))continue;let C=[A];while(C.length>0){let D=C.pop();if(B.has(D))continue;B.set(D,E);for(let F of u.get(D)??[])if(!B.has(F))C.push(F)}E++}return B}function Jm0(u){let B=new Map,E=new Map,A=[],C=[],D=0,F=X((U,z)=>{B.set(U,++D),E.set(U,D);for(let k of u.get(U)??[]){if(k===z)continue;if(!B.has(k)){if(A.push([U,k]),F(k,U),E.set(U,Math.min(E.get(U)??D,E.get(k)??D)),(E.get(k)??0)>=(B.get(U)??0))C.push(Km0(U,k,A,C.length))}else if((B.get(k)??0)<(B.get(U)??0))A.push([U,k]),E.set(U,Math.min(E.get(U)??D,B.get(k)??D))}},"visit");for(let U of u.keys())if(!B.has(U))F(U,null);return C}function Km0(u,B,E,A){let C=[],D=new Set;while(E.length>0){let F=E.pop();if(C.push(F),D.add(F[0]),D.add(F[1]),F[0]===u&&F[1]===B||F[0]===B&&F[1]===u)break}return{id:A,edges:C,nodes:[...D]}}function wm0(u,B,E){let A=[...u.nodes],C=new Map;for(let[G,H]of A.entries())C.set(H,G);let D=A.length,F=Array(D).fill(-1),U=Array(D).fill(0),z=[],k=new Set;for(let G of A){let H=E.parent.get(G)??null,l=C.get(G);if(l==null)continue;if(H==null){if(F[l]=-1,U[l]=0,!k.has(G))k.add(G),z.push(G)}}while(z.length>0){let G=z.shift(),H=C.get(G);if(H==null)continue;let l=E.children.get(G)??[];for(let q of l){if(k.has(q))continue;let L=C.get(q);if(L==null)continue;F[L]=H,U[L]=U[H]+1,k.add(q),z.push(q)}}for(let G of A){if(k.has(G))continue;let H=C.get(G);if(H==null)continue;F[H]=-1,U[H]=0,k.add(G)}let f=Math.max(1,Math.ceil(Math.log2(Math.max(1,D)))+1),M=Array.from({length:f},()=>Array(D).fill(-1));for(let G=0;G<D;G++)M[0][G]=F[G];for(let G=1;G<f;G++)for(let H=0;H<D;H++){let l=M[G-1][H];M[G][H]=l===-1?-1:M[G-1][l]}let b=X((G,H)=>{if(G===-1||H===-1)return-1;if(U[G]<U[H])[G,H]=[H,G];let l=U[G]-U[H];for(let q=0;q<f;q++)if(l>>q&1){if(G=M[q][G],G===-1)return-1}if(G===H)return G;for(let q=f-1;q>=0;q--){let L=M[q][G],v=M[q][H];if(L===-1||v===-1)continue;if(L!==v)G=L,H=v}return M[0][G]},"lcaIndex"),Z=Array.from({length:D},()=>new Map);for(let G of u.edges){let{src:H,dst:l}=G,q=B[H],L=B[l];if(q==null||L==null)continue;if(q>L)[H,l]=[l,H],[q,L]=[L,q];if(q==null||L==null||q===L)continue;let v=C.get(H),x=C.get(l);if(v==null||x==null)continue;let S=b(v,x);if(S===-1)continue;let W=Z[S];for(let T=q;T<L;T++)W.set(T,(W.get(T)??0)+1)}let J=new Map,K=X((G,H)=>{if(H.size===0)return;for(let[l,q]of H)G.set(l,(G.get(l)??0)+q)},"mergeInto"),w=new Set,Q=X((G)=>{let H=C.get(G);w.add(G);let l=H==null?void 0:Z[H],q=l?new Map(l):new Map,L=E.children.get(G)??[];for(let v of L){let x=Q(v),S=B[G];if(S!=null){let W=J.get(G);if(!W)W=new Map,J.set(G,W);let T=x.get(S)??0,R=B[v];if(R!=null&&R>S)T+=1;W.set(v,T)}K(q,x)}return q},"dfs");for(let G of E.roots)if(!w.has(G))Q(G);for(let G of A)if(!w.has(G))Q(G);return J}function Qm0(u,B,E){let A=new Map,C=X((D)=>{let F=E[D]??0,U=[...B.get(D)??[]];U.sort(c90(E));for(let z of U){C(z);let k=A.get(z);if(k!=null)F=Math.min(F,k)}A.set(D,F)},"annotate");for(let D of u)C(D);return A}function c90(u){return(B,E)=>{let A=u[B]??0,C=u[E]??0;return A===C?B.localeCompare(E):A-C}}function Gm0(u,B,E,A){let C=0;for(let z of B){let k=E[z]??0;if(k>C)C=k}let D=Array.from({length:C+1},()=>[]),F=new Set,U=X((z)=>{if(F.has(z))return;F.add(z);let k=E[z]??0;if(!D[k])D[k]=[];D[k].push(z);for(let f of A(z))U(f)},"emit");for(let z of u)U(z);for(let z of B)if(!F.has(z)){let k=E[z]??0;if(!D[k])D[k]=[];D[k].push(z),F.add(z)}return D}function Hm0(u){let B=[];for(let E of u){let A=new Set,C=[];for(let D of E){if(A.has(D))continue;A.add(D),C.push(D)}B.push(C)}return B}function qm0(u,B,E,A){return(C)=>{let D=u.get(C)??[];if(D.length===0)return[];let F=B[C]??0,U=[],z=[],k=E.get(C);for(let f of D){let M=A.get(f)??F;if(M>F)U.push({child:f,min:M});else z.push(f)}return U.sort((f,M)=>{if(f.min===M.min)return f.child.localeCompare(M.child);return f.min-M.min}),z.sort((f,M)=>{let b=k?.get(f)??0,Z=k?.get(M)??0;if(b!==Z)return b-Z;let J=A.get(f)??F,K=A.get(M)??F;if(J!==K)return J-K;return f.localeCompare(M)}),[...U.map((f)=>f.child),...z]}}function Ma(u,B,E){let A=fm0(u,{rankHint:B,laneOf:E}),{children:C,roots:D}=A;for(let M of u.nodes)if(!C.has(M))C.set(M,[]);let F=wm0(u,B,A),U=[...D].sort(c90(B)),z=Qm0(U,C,B),k=qm0(C,B,F,z),f=Gm0(U,u.nodes,B,k);return f=Hm0(f),f}function lm0(u,B,E){let A=new Set(u),C=new Set(B),D=Tq(B),F=[];for(let U of E)if(A.has(U.src)&&C.has(U.dst))F.push(D.get(U.dst));return r90(F)}function w90(u,B,E){let A=[];for(let D of B){let F=E[D.src],U=E[D.dst];if(F==null||U==null||F===U)continue;let{src:z,dst:k}=D,f=F,M=U;if(F>U)z=D.dst,k=D.src,f=U,M=F;for(let b=f;b<M;b++)A.push({id:`${D.id}@${b}`,src:z,dst:k,ref:D.ref})}let C=0;for(let D=0;D+1<u.length;D++)C+=lm0(u[D],u[D+1],A);return C}function Lm0(u,B){let E={...B},{preds:A}=Ja(u),C=uk(u),D=Ma(u,E,C),F=w90(D,u.edges,E),U=fa.MAX_CROSSING_OPTIMIZATION_PASSES;for(let z=0;z<U;z++){let k=!1,f=[...u.nodes].sort((M,b)=>(E[b]??0)-(E[M]??0));for(let M of f){let b=E[M]??0;if(b===0)continue;let Z=0;for(let Q of A.get(M)??[])Z=Math.max(Z,(E[Q]??0)+1);if(Z>=b)continue;let J=b;E[M]=Z;let K=Ma(u,E,C),w=w90(K,u.edges,E);if(w<F)F=w,k=!0;else E[M]=J}if(!k)break}return E}function Xm0(u,B){let E=uk(u),A=[...u.nodes].sort((C,D)=>(B[C]??0)-(B[D]??0)||C.localeCompare(D));for(let C of A){let D=E(C);if(!D)continue;let F=u.edges.filter((K)=>K.src===C);if(F.length===0)continue;let U=!1,z=0;for(let K of F){let w=E(K.dst);if(w==null||w===D)U=!0;else z++}if(z===0||U)continue;let k=0,f=!1;for(let K of u.edges){if(K.dst!==C)continue;let w=E(K.src);if(!w)continue;if(w===D)f=!0;else k++}if(k>0||!f)continue;let M=B[C]??0,b=M+z,Z=0;for(let K of u.edges)if(K.dst===C)Z=Math.max(Z,(B[K.src]??0)+1);let J=Math.max(M,Z,b);if(J!==M)B[C]=J}}function vm0(u,B){let E=aM(u),A=xS(E)??[...E.nodes].sort(),C=B?.compactSingleInput??!1,D=uk(E),F=Object.create(null);for(let z of A){let k=i90(E,z),f=B?.ignoreCrossLaneEdges?k.filter((M)=>{let b=D(M.src),Z=D(z);if(!b||!Z)return!0;return b===Z}):k;if(f.length===0)F[z]=0;else if(C&&f.length===1){let M=f[0].src,b=D(M),Z=D(z);if(b!==Z)F[z]=F[M]??0;else F[z]=(F[M]??0)+1}else{let M=-1/0;for(let b of f)M=Math.max(M,(F[b.src]??0)+1);F[z]=M===-1/0?0:M}}if(B?.optimizeRanksByCrossings??!1)F=Lm0(E,F);if(B?.ignoreCrossLaneEdges)Xm0(E,F);return{layers:Ma(E,F,D),rankOf:F,dummy:new Set}}function xm0(u,B){let E=aM(u),C={...vm0(E,{compactSingleInput:B?.compactSingleInput,ignoreCrossLaneEdges:B?.ignoreCrossLaneEdges,optimizeRanksByCrossings:B?.optimizeRanksByCrossings}).rankOf},D=uk(E),{preds:F,succs:U}=Ja(E,(J)=>{if(B?.ignoreCrossLaneEdges){let K=D(J.src),w=D(J.dst);if(K&&w&&K!==w)return!1}return!0}),z=xS(E)??[...E.nodes],k=[...z].reverse(),f=X((J,K)=>{let w=0;for(let H of F.get(J)??[])w=Math.max(w,(C[H]??0)+1);let Q=Number.POSITIVE_INFINITY,G=U.get(J)??[];if(G.length>0)Q=Math.min(...G.map((H)=>(C[H]??0)-1));if(!Number.isFinite(Q))Q=Math.max(w,K);return Math.min(Math.max(K,w),Q)},"clampFeasible"),M=fa.GRAVITY_ITERATIONS,b=X((J)=>{let K=!1;for(let w of J){let Q=F.get(w)??[],G=U.get(w)??[];if(Q.length===0&&G.length===0)continue;let H=Q.length>0?Q.reduce((v,x)=>v+(C[x]??0)+1,0)/Q.length:C[w]??0,l=G.length>0?G.reduce((v,x)=>v+(C[x]??0)-1,0)/G.length:C[w]??0,q=Math.round((H+l)/2),L=f(w,q);if(L!==C[w])C[w]=L,K=!0}return K},"relaxOrder");for(let J=0;J<M;J++){let K=b(z),w=b(k);if(!K&&!w)break}for(let J of z){let K=0;for(let w of F.get(J)??[])K=Math.max(K,(C[w]??0)+1);if((C[J]??0)<K)C[J]=K}for(let J of k){let K=U.get(J)??[];if(K.length>0){let w=Math.min(...K.map((Q)=>(C[Q]??0)-1));if((C[J]??0)>w)C[J]=w}}return{layers:y90(E,z,C),rankOf:C,dummy:new Set}}function Wm0(u){let B=m90(u),E=a90(u),A=$90(B),C=[];while(A.length>0){let D=[];for(let F of A){C.push(F);for(let U of E.get(F)??[])if(B.set(U,(B.get(U)??0)-1),(B.get(U)??0)===0)D.push(U)}A=D.sort((F,U)=>F.localeCompare(U))}return C.length===u.nodes.length?C:null}function Sm0(u,B){let E=aM(u),A=B?.direction==="LR"?Wm0(E)??[...E.nodes].sort():xS(E)??[...E.nodes].sort(),C=uk(E),D=X((f)=>C(f)??f,"laneOf"),F=Object.create(null),U=new Map,z=X((f,M)=>{if(B?.ignoreCrossLaneEdges??!0)return D(f)===D(M)?1:0;return 1},"edgeWeight");for(let f of A){if(E.nodeById.get(f)?.isGroup)continue;let b=i90(E,f),Z=0;if(b.length>0)for(let Q of b){let G=Q.src,H=F[G]??0;Z=Math.max(Z,H+z(G,f))}let J=D(f),K=U.get(J)??0,w=Math.max(Z,K);F[f]=w,U.set(J,w+1)}return{layers:y90(E,A,F,{skipGroups:!0}),rankOf:F,dummy:new Set}}function Ym0(u,B){let E=aM(B),{rankOf:A}=u,C=u.layers.map((Z)=>[...Z]),D=new Set(u.dummy?[...u.dummy]:[]),F=0,U=new Map(E.nodeById),z=X((Z)=>{let J=`placeholder-${F++}`,K={id:J,isGroup:!1,isDummy:!0,width:0,height:0};U.set(J,K),D.add(J);while(C.length<=Z)C.push([]);return C[Z].push(J),A[J]=Z,J},"addDummyAt"),k=[...E.edges].sort((Z,J)=>Z.id===J.id?Z.src===J.src?Z.dst.localeCompare(J.dst):Z.src.localeCompare(J.src):Z.id.localeCompare(J.id)),f=[];for(let Z of k){let J=A[Z.src]??0,K=A[Z.dst]??0;if(K-J<=1){f.push(Z);continue}let w=Z.src;for(let G=J+1,H=0;G<K;G++,H++){let l=z(G);f.push({id:`${Z.id}#${H}`,src:w,dst:l,weight:Z.weight,ref:Z.ref}),w=l}let Q=K-J-2;f.push({id:`${Z.id}#${Math.max(Q+1,0)}`,src:w,dst:Z.dst,weight:Z.weight,ref:Z.ref})}let b={nodes:[...E.nodes,...[...D].filter((Z)=>!E.nodes.includes(Z))],edges:f,layout:E.layout,nodeById:U};return{layering:{layers:C,rankOf:A,dummy:D},graphWithDummies:b}}function Q90(u){let B=u.length;if(B===0)return Number.POSITIVE_INFINITY;let E=[...u].sort((A,C)=>A-C);if(B%2===1)return E[(B-1)/2];return 0.5*(E[B/2-1]+E[B/2])}function G90(u){if(u.length===0)return Number.POSITIVE_INFINITY;return u.reduce((E,A)=>E+A,0)/u.length}function Rm0(u,B,E,A){let C=new Map;for(let D of u)C.set(D,[]);for(let D of E)if(A==="down"){if(B.has(D.src)&&C.has(D.dst))C.get(D.dst).push(B.get(D.src))}else if(B.has(D.dst)&&C.has(D.src))C.get(D.src).push(B.get(D.dst));return C}function Tm0(u,B,E){let A=E.get(u)??0,C=E.get(B)??0;return A!==C?A-C:u.localeCompare(B)}function H90(u,B,E){let A=new Set(u),C=new Set(B),D=Tq(u),F=Tq(B),U=[];for(let k of E)if(A.has(k.src)&&C.has(k.dst))U.push({u:D.get(k.src),v:F.get(k.dst)});U.sort((k,f)=>k.u===f.u?k.v-f.v:k.u-f.u);let z=U.map((k)=>k.v);return r90(z)}function Ba(u,B,E){return[...u].sort((A,C)=>{let D=Q90(B.get(A)??[]),F=Q90(B.get(C)??[]);if(D===F)return Tm0(A,C,E);if(!isFinite(D))return 1;if(!isFinite(F))return-1;return D-F})}function q90(u,B,E,A,C,D){let F=Tq(u),U=Tq(B),z=Rm0(B,F,E,A);if(!C||!D||D.length===0)return Ba(B,z,U);let k=new Map;for(let b of B){let Z=C(b),J=k.get(Z)??[];J.push(b),k.set(Z,J)}let f=[];for(let b of D){let Z=k.get(b);if(!Z||Z.length===0)continue;let J=Ba(Z,z,U);f.push(...J)}let M=k.get(null);if(M&&M.length>0){let b=Ba(M,z,U);for(let Z of b){let J=G90(z.get(Z)??[]),K=f.length;if(isFinite(J))for(let[w,Q]of f.entries()){let G=G90(z.get(Q)??[]);if(J<G){K=w;break}}f.splice(K,0,Z)}}return f}function l90(u,B,E,A,C){let D=[...B],F=new Set(u),U=new Set(B),z=A?new Set(A):null,k=E.filter((K)=>F.has(K.src)&&U.has(K.dst)),f=z?E.filter((K)=>U.has(K.src)&&z.has(K.dst)):void 0,M=X((K)=>{let w=H90(u,K,k);if(f&&A)w+=H90(K,A,f);return w},"crossingScore"),b=C?new Map:null;if(C&&b)for(let K of B)b.set(K,C(K));let Z=!0,J=M(D);while(Z){Z=!1;for(let K=0;K+1<D.length;K++){if(b){let G=b.get(D[K]),H=b.get(D[K+1]);if(G!==H)continue}let w=J;[D[K],D[K+1]]=[D[K+1],D[K]];let Q=M(D);if(Q<w)J=Q,Z=!0;else[D[K],D[K+1]]=[D[K+1],D[K]]}}return D}function Om0(u,B,E){let A=u.layers.map((U)=>[...U]),C=B.edges,D=uk(B),F=g90(B,E?.laneOrder);for(let U=0;U<3;U++){for(let z=1;z<A.length;z++)A[z]=q90(A[z-1],A[z],C,"down",D,F),A[z]=l90(A[z-1],A[z],C,A[z+1],D);for(let z=A.length-2;z>=0;z--)A[z]=q90(A[z+1],A[z],C,"up",D,F),A[z]=l90(A[z+1],A[z],C,A[z-1],D)}return{layers:A}}function Im0(u,B,E){let A=E?.layerGap??Ma0.DEFAULT_LAYER_GAP,C=E?.nodeGap??Ma0.DEFAULT_NODE_GAP,D=E?.laneGap??C*2,F=E?.direction??"TB",U=F==="LR"||F==="RL",z=u.layers,k=Object.create(null),f=Object.create(null),M=X((W)=>B.nodeById.get(W),"getNode"),b=X((W)=>M(W)?.width??0,"getWidth"),Z=X((W)=>M(W)?.height??0,"getHeight"),J=uk(B),K=g90(B,E?.laneOrder),w=z.map((W)=>W.reduce((T,R)=>Math.max(T,Z(R)),0)),Q=[];if(U)for(let W=0;W+1<z.length;W++){let T=z[W].reduce((j,i)=>Math.max(j,b(i)),0),R=z[W+1].reduce((j,i)=>Math.max(j,b(i)),0),Y=w[W],h=w[W+1],I=Y/2+h/2,O=(T+R)/2,V=Math.max(0,O-I-A);Q.push(V)}let G=new Set;for(let W of z)for(let T of W)G.add(J(T));let H=G.has(null),l=K.filter((W)=>G.has(W)),q=[...H?[null]:[],...l],L=Object.create(null);for(let W of l)L[W]=0;if(H)L.null=0;for(let W of z){let T=Object.create(null),R=[];for(let Y of W){let h=J(Y);if(h===null)R.push(Y);else(T[h]||=[]).push(Y)}for(let[Y,h]of Object.entries(T)){let I=h.reduce((O,V)=>O+b(V),0)+C*Math.max(0,h.length-1);L[Y]=Math.max(L[Y]??0,I)}if(H&&R.length){let Y=R.reduce((h,I)=>h+b(I),0)+C*Math.max(0,R.length-1);L.null=Math.max(L.null??0,Y)}}let v=new Map;{let W=q.map((Y)=>(Y===null?L.null:L[Y])??0),R=-(W.reduce((Y,h)=>Y+h,0)+D*Math.max(0,q.length-1))/2;for(let Y=0;Y<q.length;Y++){let h=q[Y],I=W[Y]??0,O=R+I/2;if(v.set(h,O),R+=I,Y<q.length-1)R+=D}}let x=0;for(let[W,T]of z.entries()){let R=w[W]??0,Y=new Map;for(let I of T){let O=J(I),V=Y.get(O)??[];V.push(I),Y.set(O,V)}for(let I of q){let O=Y.get(I)??[];if(O.length===0)continue;let V=v.get(I);if(O.length===1){let j=O[0];k[j]=V,f[j]=x+R/2}else{let j=O.map(($)=>b($)),i=j.reduce(($,m)=>$+m,0)+C*(O.length-1),a=V-i/2;for(let[$,m]of O.entries()){let y=j[$];k[m]=a+y/2,f[m]=x+R/2,a+=y+C}}}let h=Q[W]??0;x+=R+A+h}let S=new Map;for(let W of B.edges){let T=W.ref.id;if(!S.has(T))S.set(T,[]);S.get(T).push(W)}for(let[,W]of S){if(W.length===0)continue;let T=W[0].ref,R=T.start,Y=T.end;if(R==null||Y==null)continue;let h=Math.round(((k[R]??0)+(k[Y]??0))/2),I=new Set;for(let O of W)I.add(O.src),I.add(O.dst);for(let O of I){if(O===R||O===Y)continue;if(B.nodeById.get(O)?.isDummy)k[O]=h}}return{x:k,y:f}}function jm0(u){let B=2166136261;for(let E=0;E<u.length;E++)B^=u.charCodeAt(E),B=Math.imul(B,16777619);return B>>>0}function Nm0(u){let B=u>>>0;return()=>{B+=1831565813;let E=B;return E=Math.imul(E^E>>>15,E|1),E^=E+Math.imul(E^E>>>7,E|61),((E^E>>>14)>>>0)/4294967296}}function Vm0(u,B){let E=[...u],A=Nm0(B);for(let C=E.length-1;C>0;C--){let D=Math.floor(A()*(C+1));[E[C],E[D]]=[E[D],E[C]]}return E}function hm0(u,B){let E=0;for(let[A,C]of u.entries())E+=Math.abs(A-(B.get(C)??A));return E}function L90(u,B){let E=new Map;for(let[C,D]of u.entries())E.set(D,C);let A=0;for(let{a:C,b:D,weight:F}of B){let U=E.get(C),z=E.get(D);if(U==null||z==null)continue;A+=F*Math.abs(U-z)}return A}function im0(u){let B=Ka(u);if(B.length<2)return[];let E=new Map(B.map((D,F)=>[D,F])),A=uk(u),C=new Map;for(let D of u.layout.edges??[]){if(D.isLayoutOnly)continue;let F=typeof D.start==="string"?D.start:void 0,U=typeof D.end==="string"?D.end:void 0;if(!F||!U||!u.nodeById.has(F)||!u.nodeById.has(U))continue;let z=A(F),k=A(U);if(!z||!k||z===k)continue;let f=E.get(z),M=E.get(k);if(f==null||M==null)continue;let[b,Z]=f<=M?[z,k]:[k,z],J=`${b}\x00${Z}`,K=C.get(J);if(K)K.weight++;else C.set(J,{a:b,b:Z,weight:1})}return[...C.values()]}function X90(u,B,E){let A=[...u],C=L90(A,B),D=!0,F=0,U=Math.max(1,A.length);while(D&&F<U){D=!1,F++;for(let z=0;z+1<A.length;z++){[A[z],A[z+1]]=[A[z+1],A[z]];let k=L90(A,B);if(k<C)C=k,D=!0;else[A[z],A[z+1]]=[A[z+1],A[z]]}}return{order:A,cost:C,sourceDistance:hm0(A,E)}}function am0(u,B){if(u.cost!==B.cost)return u.cost<B.cost;return u.sourceDistance<B.sourceDistance}function mm0(u,B,E){let A=[...B].sort((C,D)=>C.a===D.a?C.b.localeCompare(D.b):C.a.localeCompare(D.a)).map(({a:C,b:D,weight:F})=>`${C}:${D}:${F}`).join("|");return jm0(`${u.join("|")}#${A}#${E}`)}function $m0(u,B={}){let E=Ka(u);if(E.length<2)return E;let A=im0(u);if(A.length===0)return E;let C=new Map(E.map((U,z)=>[U,z])),D=X90(E,A,C),F=Math.max(0,B.restarts??Pm0);for(let U=0;U<F;U++){let z=mm0(E,A,U),k=Vm0(E,z),f=X90(k,A,C);if(am0(f,D))D=f}return D.order}function ym0(u,B){let E=B?.ignoreCrossLaneEdges??!0,A=B?.optimizeRanksByCrossings??!0,C=aM(u),D=B?.automaticLaneOrdering?$m0(C,{restarts:Pm0}):void 0,F=zm0(C),U=F.acyclic,z=E?Sm0(U,{compactSingleInput:B?.compactSingleInput??fa.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:B?.direction}):xm0(U,{compactSingleInput:B?.compactSingleInput??fa.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:A}),{layering:k,graphWithDummies:f}=Ym0(z,U),M=Om0(k,f,{laneOrder:D}),b=Im0(M,f,{layerGap:B?.layerGap,nodeGap:B?.nodeGap,direction:B?.direction,laneOrder:D});return{acyclic:U,reversed:F.reversed,layering:k,ordered:M,coordinates:b}}function v90(u,B,E){let A=u.x??0,C=u.y??0,D=B.x-A,F=B.y-C,U=Math.abs(D),z=Math.abs(F);if(U<u1&&z<u1)return E;let k=3;if(z>u1&&z*k>=U)return F>0?"bottom":"top";if(U>u1)return D>0?"right":"left";return E}function x90(u,B){return Math.abs(u.to-B.from)<u1||Math.abs(u.to-B.to)<u1?u.to:u.from}function YK(u,B){return u.orient==="vertical"?{x:u.coord,y:B}:{x:B,y:u.coord}}function rm0(u,B){let E=u.nodes??[],A=u.edges??[],C=[];for(let F0 of A){if(F0.isLayoutOnly)continue;C.push({...F0,__originalEdge:F0})}let D=new Map,F=new Map,U=[],z=B==="LR";for(let F0 of E)D.set(F0.id,F0);let k=E.filter((F0)=>F0.isGroup&&!F0.parentId);for(let F0 of k){let u0={id:F0.id},Z0=X((X0)=>{F.set(X0.id,u0),E.filter((W0)=>W0.parentId===X0.id).forEach(Z0)},"assignLane");Z0(F0)}let f=E.filter((F0)=>!F0.isGroup&&!F0.isEdgeLabel).map((F0)=>{let u0=F0.width??10,Z0=F0.height??10,X0=F0.x??0,W0=F0.y??0,Y0=lJ4;return{nodeId:F0.id,minX:X0-u0/2-Y0,maxX:X0+u0/2+Y0,minY:W0-Z0/2-Y0,maxY:W0+Z0/2+Y0,visualXHalfExtent:z?Z0/2+Y0:u0/2+Y0}}),M=X((F0,u0,Z0,X0)=>{let W0=U.find((Y0)=>Y0.orientation===F0&&Math.abs(Y0.coord-u0)<1);if(!W0)W0={id:`pipe-${F0}-${u0.toFixed(0)}`,orientation:F0,coord:u0,spanMin:Z0,spanMax:X0,tracks:[]},U.push(W0);return W0.spanMin=Math.min(W0.spanMin,Z0),W0.spanMax=Math.max(W0.spanMax,X0),W0},"getOrAddPipe"),b=X((F0,u0)=>{let Z0=F0.width??10,X0=F0.height??10,W0=F0.x??0,Y0=F0.y??0;switch(u0){case"top":return{x:W0,y:Y0-X0/2};case"bottom":return{x:W0,y:Y0+X0/2};case"left":return{x:W0-Z0/2,y:Y0};case"right":return{x:W0+Z0/2,y:Y0}}},"portForSide"),Z=X((F0,u0,Z0)=>b(F0,v90(F0,u0,Z0?"bottom":"top")),"getOrthogonalPort"),J=[],K=[],w=new Set,Q=1000,G=X((F0,u0,Z0)=>{if(J.length===0)return 0;let X0=Math.abs(u0.y-Z0.y)<u1,W0=Math.abs(u0.x-Z0.x)<u1;if(!X0&&!W0)return 0;let Y0=0;if(X0){let a0=u0.y,K0=Math.min(u0.x,Z0.x)-u1,n=Math.max(u0.x,Z0.x)+u1;if(n<=K0)return 0;for(let d of J){if(d.edgeIndex===F0||d.orientation!=="vertical")continue;if(d.pipe.coord<K0||d.pipe.coord>n)continue;if(d.from-u1<=a0&&d.to+u1>=a0)Y0+=Q}}else if(W0){let a0=u0.x,K0=Math.min(u0.y,Z0.y)-u1,n=Math.max(u0.y,Z0.y)+u1;if(n<=K0)return 0;for(let d of J){if(d.edgeIndex===F0||d.orientation!=="horizontal")continue;if(d.pipe.coord<K0||d.pipe.coord>n)continue;if(d.from-u1<=a0&&d.to+u1>=a0)Y0+=Q}}return Y0},"crossingPenalty"),H=C.map((F0,u0)=>{if(!F0.start||!F0.end)return{idx:u0,crossLane:0,dx:0,dy:0};let Z0=D.get(F0.start),X0=D.get(F0.end),W0=F.get(F0.start),Y0=F.get(F0.end),a0=W0&&Y0&&W0.id!==Y0.id?1:0,K0=Z0&&X0?Math.abs((X0.x??0)-(Z0.x??0)):0,n=Z0&&X0?Math.abs((X0.y??0)-(Z0.y??0)):0;return{idx:u0,crossLane:a0,dx:K0,dy:n}}).sort((F0,u0)=>{if(F0.crossLane!==u0.crossLane)return u0.crossLane-F0.crossLane;let Z0=F0.dx+F0.dy,X0=u0.dx+u0.dy;if(Math.abs(Z0-X0)>1)return Z0-X0;return F0.idx-u0.idx}).map((F0)=>F0.idx),l=X((F0,u0,Z0,X0)=>{let W0=Math.min(F0.x,u0.x),Y0=Math.max(F0.x,u0.x),a0=Math.min(F0.y,u0.y),K0=Math.max(F0.y,u0.y);return!!f.find((d)=>{if(Z0&&d.nodeId===Z0)return!1;if(X0&&d.nodeId===X0)return!1;if(Math.abs(F0.x-u0.x)>u1)return d.minY<F0.y&&d.maxY>F0.y&&d.maxX>W0&&d.minX<Y0;else return d.minX<F0.x&&d.maxX>F0.x&&d.maxY>a0&&d.minY<K0})},"isSegmentBlocked"),q=new Map,L=new Map;for(let F0 of C){if(!F0.start||!F0.end||F0.start===F0.end)continue;L.set(F0.start,(L.get(F0.start)??0)+1),L.set(F0.end,(L.get(F0.end)??0)+1)}let v=X((F0,u0)=>v90(F0,u0,"bottom"),"determineSide"),x=new Map;for(let[F0,u0]of C.entries()){if(!u0.start||!u0.end||u0.start===u0.end)continue;if(u0.points&&u0.points.length>0)continue;let Z0=D.get(u0.start),X0=D.get(u0.end);if(!Z0||!X0)continue;let W0=(X0.x??0)-(Z0.x??0),Y0=(X0.y??0)-(Z0.y??0);x.set(F0,{edgeIdx:F0,srcId:u0.start,dstId:u0.end,srcSide:v(Z0,{x:X0.x??0,y:X0.y??0}),dstSide:v(X0,{x:Z0.x??0,y:Z0.y??0}),absDx:Math.abs(W0),absDy:Math.abs(Y0),dxSign:Math.sign(W0),dySign:Math.sign(Y0)})}let S=X((F0)=>{if(F0.srcSide==="top"||F0.srcSide==="bottom")return F0.absDx===0?1/0:F0.absDy/F0.absDx;return F0.absDy===0?1/0:F0.absDx/F0.absDy},"preferenceStrength"),W=X((F0)=>{if(F0.srcSide==="top"||F0.srcSide==="bottom")return F0.dxSign>=0?"right":"left";return F0.dySign>=0?"bottom":"top"},"secondarySide"),T=new Map;for(let F0 of x.values()){let u0=`${F0.srcId}:${F0.srcSide}`;if(!T.has(u0))T.set(u0,[]);T.get(u0).push(F0)}let R=new Map,Y=X((F0,u0)=>`${F0}:${u0}`,"loadKey");for(let F0 of x.values())R.set(Y(F0.srcId,F0.srcSide),(R.get(Y(F0.srcId,F0.srcSide))??0)+1),R.set(Y(F0.dstId,F0.dstSide),(R.get(Y(F0.dstId,F0.dstSide))??0)+1);for(let F0 of T.values()){if(F0.length<2)continue;F0.sort((u0,Z0)=>{let X0=S(u0),W0=S(Z0);if(Math.abs(X0-W0)>0.000000001)return W0-X0;return u0.edgeIdx-Z0.edgeIdx});for(let u0=1;u0<F0.length;u0++){let Z0=F0[u0],X0=W(Z0),W0=R.get(Y(Z0.srcId,Z0.srcSide))??0,Y0=R.get(Y(Z0.srcId,X0))??0;if(Y0>=W0)continue;R.set(Y(Z0.srcId,Z0.srcSide),W0-1),R.set(Y(Z0.srcId,X0),Y0+1),Z0.srcSide=X0}}let h=X((F0)=>{let u0=F0?.shape;return u0==="question"||u0==="diamond"},"isDiamondNode"),I=new Map;for(let F0 of x.values()){if(!I.has(F0.dstId))I.set(F0.dstId,new Set);I.get(F0.dstId).add(F0.dstSide)}for(let F0 of x.values()){if(!h(D.get(F0.srcId)))continue;let u0=I.get(F0.srcId);if(!u0?.has(F0.srcSide))continue;let Z0=W(F0);if(u0.has(Z0)||(R.get(Y(F0.srcId,Z0))??0)>0)continue;let X0=R.get(Y(F0.srcId,F0.srcSide))??0;R.set(Y(F0.srcId,F0.srcSide),Math.max(0,X0-1)),R.set(Y(F0.srcId,Z0),1),F0.srcSide=Z0}for(let F0 of x.values()){let{edgeIdx:u0,srcId:Z0,dstId:X0,srcSide:W0,dstSide:Y0}=F0,a0=D.get(Z0),K0=D.get(X0),n=`${Z0}:${W0}:src`,d=W0==="top"||W0==="bottom"?K0.x??0:K0.y??0;if(!q.has(n))q.set(n,[]);q.get(n).push({edgeIdx:u0,oppositeCoord:d});let q0=`${X0}:${Y0}:dst`,o=Y0==="top"||Y0==="bottom"?a0.x??0:a0.y??0;if(!q.has(q0))q.set(q0,[]);q.get(q0).push({edgeIdx:u0,oppositeCoord:o})}let O=new Map,V=8;for(let[F0,u0]of q){if(u0.length<2)continue;u0.sort((n0,c0)=>n0.oppositeCoord-c0.oppositeCoord);let Z0=F0.split(":"),X0=Z0.slice(0,-2).join(":"),W0=Z0[Z0.length-2],Y0=Z0[Z0.length-1],a0=D.get(X0);if(!a0)continue;let n=W0==="left"||W0==="right"?a0.height??10:a0.width??10,d=a0.shape,o=d==="question"||d==="diamond"?n*0.3:n,E0=Math.min(20,Math.max(V,o/(u0.length+1))),g0=-(E0*(u0.length-1))/2;for(let[n0,c0]of u0.entries()){let Bu=g0+n0*E0,p0=`${c0.edgeIdx}:${Y0}`;O.set(p0,Bu)}}let j=X((F0)=>Boolean(C[F0]?.labelNodeId),"edgeHasLabelNode"),i=X((F0,u0)=>{if(!F0)return!1;return(q.get(`${F0}:${u0}:src`)??[]).some(({edgeIdx:Z0})=>j(Z0))||(q.get(`${F0}:${u0}:dst`)??[]).some(({edgeIdx:Z0})=>j(Z0))},"faceHasLabelNode"),a=X((F0,u0,Z0)=>{if(u0==="top"||u0==="bottom")return{x:F0.x+Z0,y:F0.y};else return{x:F0.x,y:F0.y+Z0}},"applyPortOffset"),$=X((F0,u0,Z0)=>{let X0=x.get(F0),W0={x:Z0.x??0,y:Z0.y??0},Y0={x:u0.x??0,y:u0.y??0},a0=X0?.srcSide??v(u0,W0),K0=X0?.dstSide??v(Z0,Y0),n=X0?b(u0,X0.srcSide):Z(u0,W0,!0),d=X0?b(Z0,X0.dstSide):Z(Z0,Y0,!1),q0=O.get(`${F0}:src`),o=O.get(`${F0}:dst`);if(q0!==void 0)n=a(n,a0,q0);if(o!==void 0)d=a(d,K0,o);return{pSrcPort:n,pDstPort:d,srcSide:a0,dstSide:K0}},"portsForEdge");for(let F0 of H){let u0=C[F0];if(K[F0]=[],!u0.start||!u0.end)continue;if(u0.points&&u0.points.length>0)continue;if(u0.start===u0.end)continue;let Z0=D.get(u0.start),X0=D.get(u0.end);if(!Z0||!X0)continue;let{pSrcPort:W0,pDstPort:Y0,srcSide:a0,dstSide:K0}=$(F0,Z0,X0),n={...W0},d={...Y0},q0=a0==="top"||a0==="bottom",o=K0==="top"||K0==="bottom";if(q0){let bu=W0.y>(Z0.y??0);n.y=bu?W0.y+MA:W0.y-MA}else{let bu=W0.x>(Z0.x??0);n.x=bu?W0.x+MA:W0.x-MA}if(o){let bu=Y0.y>(X0.y??0);d.y=bu?Y0.y+MA:Y0.y-MA}else{let bu=Y0.x>(X0.x??0);d.x=bu?Y0.x+MA:Y0.x-MA}let l0=X((bu,Lu)=>{for(let pu of f){if(Lu.includes(pu.nodeId))continue;if(bu.x>pu.minX&&bu.x<pu.maxX&&bu.y>pu.minY&&bu.y<pu.maxY)return{inside:!0,obstacle:pu}}return{inside:!1}},"isPointInObstacle"),E0=X((bu,Lu,pu,g4,y4)=>{if(y4){let E3=bu.y>(Lu.y??0);return{x:(pu.x??0)>=bu.x?g4.maxX+SK:g4.minX-SK,y:E3?g4.maxY+Wq:g4.minY-Wq,leavesPositiveSide:E3}}let B3=bu.x>(Lu.x??0),k1=(pu.y??0)>=bu.y;return{x:B3?g4.maxX+SK:g4.minX-SK,y:k1?g4.maxY+Wq:g4.minY-Wq,leavesPositiveSide:B3}},"obstacleDetour"),$0=[],g0=[u0.start,u0.end],n0=l0(n,g0);if(n0.inside&&n0.obstacle){let bu=n0.obstacle;if(q0){let Lu=E0(W0,Z0,X0,bu,!0);n.x=Lu.x,n.y=Lu.y;let pu=Lu.leavesPositiveSide?Math.min(bu.minY-2,W0.y+MA):Math.max(bu.maxY+2,W0.y-MA);$0=[{x:W0.x,y:pu},{x:Lu.x,y:pu},{x:Lu.x,y:Lu.y}]}else{let Lu=E0(W0,Z0,X0,bu,!1),pu=Lu.leavesPositiveSide?Math.min(bu.minX-2,W0.x+MA):Math.max(bu.maxX+2,W0.x-MA);n.x=Lu.x,n.y=Lu.y,$0=[{x:pu,y:W0.y},{x:pu,y:Lu.y},{x:Lu.x,y:Lu.y}]}}let c0=[],Bu=l0(d,g0);if(Bu.inside&&Bu.obstacle){let bu=Bu.obstacle;if(o){let Lu=E0(Y0,X0,Z0,bu,!0);d.x=Lu.x,d.y=Lu.y,c0=[{x:Lu.x,y:Lu.y},{x:Y0.x,y:Lu.y}]}else{let Lu=E0(Y0,X0,Z0,bu,!1);d.x=Lu.x,d.y=Lu.y,c0=[{x:Lu.x,y:Lu.y},{x:Lu.x,y:Y0.y}]}}if($0.length===0&&c0.length===0){let bu=SK,Lu=Math.abs(n.x-d.x)<bu,pu=Math.abs(n.y-d.y)<bu,g4=O.get(`${F0}:src`)!==void 0||O.get(`${F0}:dst`)!==void 0,y4=(q.get(`${u0.start??""}:${a0}:src`)?.length??0)+(q.get(`${u0.start??""}:${a0}:dst`)?.length??0),B3=(q.get(`${u0.end??""}:${K0}:src`)?.length??0)+(q.get(`${u0.end??""}:${K0}:dst`)?.length??0),k1=y4>1||B3>1,E3=L.get(u0.start??"")??0,eu=L.get(u0.end??"")??0,hu=y4>1&&i(u0.start,a0)||B3>1&&i(u0.end,K0),f4=y4<=1||E3<=2,U4=B3<=1||eu<=2;if((Lu||pu)&&!g4&&(!k1||k1&&!hu&&f4&&U4)){if(!l(W0,Y0,u0.start,u0.end)){u0.points=[{...W0},{...n},{...d},{...Y0}],w.add(F0);let O0=pu?"horizontal":"vertical",Q1=pu?W0.y:W0.x,i0=pu?Math.min(W0.x,Y0.x):Math.min(W0.y,Y0.y),A3=pu?Math.max(W0.x,Y0.x):Math.max(W0.y,Y0.y),b6={id:`fast-path-${O0}-${Q1.toFixed(0)}-${F0}`,orientation:O0,coord:Q1,spanMin:i0,spanMax:A3,tracks:[]};J.push({edgeIndex:F0,segmentIndex:0,orientation:O0,pipe:b6,trackIndex:0,from:i0,to:A3});continue}}}let p0=M("vertical",n.x,n.y,n.y);n.x=p0.coord;let e0=M("vertical",d.x,d.y,d.y);d.x=e0.coord;let t0=Math.min(n.x,d.x)-50,zu=Math.max(n.x,d.x)+50,S0=Math.min(n.y,d.y)-50,yu=Math.max(n.y,d.y)+50;for(let bu of f){let Lu=Math.min(n.x,d.x),pu=Math.max(n.x,d.x),g4=Math.min(n.y,d.y),y4=Math.max(n.y,d.y);if(bu.minX<pu&&bu.maxX>Lu&&bu.minY<y4&&bu.maxY>g4)t0=Math.min(t0,bu.minX-ei),zu=Math.max(zu,bu.maxX+ei),S0=Math.min(S0,bu.minY-ei),yu=Math.max(yu,bu.maxY+ei)}for(let bu of f){if(bu.maxX<t0||bu.minX>zu||bu.maxY<S0||bu.minY>yu)continue;let Lu=SK;M("horizontal",bu.minY-Lu,t0,zu),M("horizontal",bu.maxY+Lu,t0,zu);let pu=Wq;M("vertical",bu.minX-pu,S0,yu),M("vertical",bu.maxX+pu,S0,yu)}M("horizontal",n.y,t0,zu),M("horizontal",d.y,t0,zu);let V0=U.filter((bu)=>bu.orientation==="horizontal"&&bu.coord>=S0&&bu.coord<=yu),xu=U.filter((bu)=>bu.orientation==="vertical"&&bu.coord>=t0&&bu.coord<=zu),gu=X((bu,Lu)=>`${bu.toFixed(1)},${Lu.toFixed(1)}`,"getKey"),Du=gu(n.x,n.y),Nu=gu(d.x,d.y),du=new Map,Iu=new Map,v0=new Map,Tu=new Set,iu=[];du.set(Du,0),v0.set(Du,"n"),iu.push({key:Du,f:Math.hypot(d.x-n.x,d.y-n.y),pt:n}),Tu.add(Du);let Ju=[],I0=X((bu,Lu)=>{return l(bu,Lu,u0.start,u0.end)},"checkSegmentBlocked"),Mu={x:d.x,y:n.y},qu=I0(n,Mu),Ru=I0(Mu,d),S4=qu||Ru,$u={x:n.x,y:d.y},L4=I0(n,$u),F3=I0($u,d),V4=L4||F3;if(!S4)if(Math.abs(n.y-d.y)<u1||Math.abs(n.x-d.x)<u1)Ju=[n,d];else Ju=[n,Mu,d];else if(!V4)if(Math.abs(n.x-d.x)<u1)Ju=[n,d];else Ju=[n,$u,d];if(Ju.length===0)while(iu.length>0){iu.sort((eu,hu)=>eu.f-hu.f);let bu=iu.shift();if(Tu.delete(bu.key),bu.key===Nu){let eu=Nu,hu=d;Ju=[hu];while(Iu.has(eu)){let f4=Iu.get(eu);Ju.unshift(f4),hu=f4,eu=gu(f4.x,f4.y)}break}let Lu=bu.pt.x,pu=bu.pt.y,g4=xu.sort((eu,hu)=>eu.coord-hu.coord),y4=g4.findIndex((eu)=>Math.abs(eu.coord-Lu)<1),B3=V0.sort((eu,hu)=>eu.coord-hu.coord),k1=B3.findIndex((eu)=>Math.abs(eu.coord-pu)<1),E3=[];if(y4>0)E3.push({x:g4[y4-1].coord,y:pu});if(y4>=0&&y4<g4.length-1)E3.push({x:g4[y4+1].coord,y:pu});if(k1>0)E3.push({x:Lu,y:B3[k1-1].coord});if(k1>=0&&k1<B3.length-1)E3.push({x:Lu,y:B3[k1+1].coord});for(let eu of E3){let hu=Math.min(Lu,eu.x),f4=Math.max(Lu,eu.x),U4=Math.min(pu,eu.y),Vu=Math.max(pu,eu.y);if(f.some(($2)=>{if($2.nodeId===u0.start||$2.nodeId===u0.end)return!1;if(hu!==f4)return $2.minY<pu&&$2.maxY>pu&&$2.maxX>hu&&$2.minX<f4;else return $2.minX<Lu&&$2.maxX>Lu&&$2.maxY>U4&&$2.minY<Vu}))continue;let O0=gu(eu.x,eu.y),Q1=Math.abs(eu.x-Lu)+Math.abs(eu.y-pu),i0=G(F0,bu.pt,eu),A3=0,b6=d.x-n.x,m2=d.y-n.y,t9=eu.x-Lu,MB=eu.y-pu;if(m2>10&&MB<-5||m2<-10&&MB>5)A3=Math.abs(MB)*100;if(b6>10&&t9<-5||b6<-10&&t9>5)A3+=Math.abs(t9)*50;let _3=0,Y6=v0.get(bu.key)??"n",q5=Math.abs(t9)>u1?"h":"v";if(Y6!=="n"&&Y6!==q5)_3=50;let bB=Q1+i0+A3+_3,e9=(du.get(bu.key)??1/0)+bB,Kz=Math.abs(d.x-eu.x)+Math.abs(d.y-eu.y);if(e9<(du.get(O0)??1/0))if(Iu.set(O0,bu.pt),du.set(O0,e9),v0.set(O0,q5),!Tu.has(O0))iu.push({key:O0,f:e9+Kz,pt:eu}),Tu.add(O0);else{let $2=iu.findIndex((wz)=>wz.key===O0);if($2!==-1)iu[$2].f=e9+Kz}}}if(Ju.length===0)Ju=[n,{x:n.x,y:d.y},d];if(Ju.length>4){let bu=Ju[0],Lu=Ju[Ju.length-1],pu=Math.min(bu.x,Lu.x),g4=Math.max(bu.x,Lu.x),y4=Math.min(bu.y,Lu.y),B3=Math.max(bu.y,Lu.y);for(let U4 of Ju)pu=Math.min(pu,U4.x),g4=Math.max(g4,U4.x),y4=Math.min(y4,U4.y),B3=Math.max(B3,U4.y);let k1=g4>Math.max(bu.x,Lu.x),E3=pu<Math.min(bu.x,Lu.x);if(z){let U4=Wq;if(k1){let Vu=Math.max(bu.x,Lu.x),X4=Math.min(bu.y,Lu.y),O0=Math.max(bu.y,Lu.y),Q1=f.filter((i0)=>i0.minX<Vu&&i0.maxX>Vu&&i0.minY<O0&&i0.maxY>X4);if(Q1.length>0){let i0=Math.max(bu.x,Lu.x);for(let A3 of Q1){let b6=(A3.minX+A3.maxX)/2;if(A3.visualXHalfExtent===void 0||isNaN(A3.visualXHalfExtent))continue;let m2=b6+A3.visualXHalfExtent+U4;i0=Math.max(i0,m2)}if(!isNaN(i0))g4=i0}}if(E3){let Vu=f.filter((X4)=>X4.minX<Math.min(bu.x,Lu.x)+U4&&X4.minY<Math.max(bu.y,Lu.y)&&X4.maxY>Math.min(bu.y,Lu.y));if(Vu.length>0){let X4=Math.min(bu.x,Lu.x);for(let O0 of Vu){let i0=(O0.minX+O0.maxX)/2-O0.visualXHalfExtent-U4;X4=Math.min(X4,i0)}pu=X4}}}let eu=X((U4)=>{let Vu=Lu.y>bu.y,X4=f.filter((i0)=>{let A3=Math.min(bu.x,Lu.x)<i0.maxX&&Math.max(bu.x,Lu.x)>i0.minX,b6=Math.min(bu.y,Lu.y)<i0.maxY&&Math.max(bu.y,Lu.y)>i0.minY;return A3&&b6}),O0=X4;if(z&&X4.length>0){let i0=X4.filter((A3)=>A3.minX<U4&&A3.maxX>U4);if(i0.length>0)O0=i0}if(O0.length===0)return Lu.y;let Q1=SK;if(Vu){let A3=Math.max(...O0.map((b6)=>b6.maxY))+Q1;if(A3<Lu.y-u1)return A3}else{let A3=Math.min(...O0.map((b6)=>b6.minY))-Q1;if(A3>Lu.y+u1)return A3}return Lu.y},"findBestReturnY"),hu=X((U4)=>{let Vu=eu(U4),X4={x:U4,y:bu.y},O0={x:U4,y:Vu},Q1={x:Lu.x,y:Vu},i0=I0(bu,X4),A3=I0(X4,O0),b6=I0(O0,Q1),m2=Vu!==Lu.y?I0(Q1,Lu):!1;if(!i0&&!A3&&!b6&&!m2){if(Math.abs(Vu-Lu.y)<u1)return[bu,X4,O0,Lu];return[bu,X4,O0,Q1,Lu]}return null},"trySimplifyWithDetourX"),f4=k1&&!E3?hu(g4):E3&&!k1?hu(pu):null;if(f4)Ju=f4}let b4=[W0,...$0,...Ju,...c0.reverse(),Y0];if(b4.length>=3){let bu=b4[b4.length-1],Lu=b4[b4.length-2],pu=b4[b4.length-3],g4=Math.abs(pu.y-Lu.y)<u1&&Math.abs(Lu.y-bu.y)<u1,y4=Math.abs(pu.x-Lu.x)<u1&&Math.abs(Lu.x-bu.x)<u1;if(g4){let B3=Math.sign(Lu.x-pu.x),k1=Math.sign(bu.x-pu.x);if(B3!==0&&B3===k1&&Math.abs(Lu.x-pu.x)>Math.abs(bu.x-pu.x))b4.splice(-2,1)}else if(y4){let B3=Math.sign(Lu.y-pu.y),k1=Math.sign(bu.y-pu.y);if(B3!==0&&B3===k1&&Math.abs(Lu.y-pu.y)>Math.abs(bu.y-pu.y))b4.splice(-2,1)}}let P4=[b4[0]];for(let bu=1;bu<b4.length-1;bu++){if(bu===1){P4.push(b4[bu]);continue}let Lu=P4[P4.length-1],pu=b4[bu],g4=b4[bu+1];if(Math.abs(Lu.y-pu.y)<u1&&Math.abs(pu.y-g4.y)<u1){let y4=pu.x>Lu.x,B3=g4.x>pu.x;if(y4!==B3){P4.push(pu);continue}continue}if(Math.abs(Lu.x-pu.x)<u1&&Math.abs(pu.x-g4.x)<u1){let y4=pu.y>Lu.y,B3=g4.y>pu.y;if(y4!==B3){P4.push(pu);continue}continue}P4.push(pu)}P4.push(b4[b4.length-1]);for(let bu=0;bu<P4.length-1;bu++){let Lu=P4[bu],pu=P4[bu+1],g4=Math.abs(Lu.x-pu.x)<u1?"vertical":"horizontal",y4=g4==="vertical"?Lu.x:Lu.y,B3=g4==="vertical"?Math.min(Lu.y,pu.y):Math.min(Lu.x,pu.x),k1=g4==="vertical"?Math.max(Lu.y,pu.y):Math.max(Lu.x,pu.x),E3=M(g4,y4,B3,k1),eu={edgeIndex:F0,segmentIndex:bu,orientation:g4,pipe:E3,trackIndex:0,from:B3,to:k1};if(J.push(eu),K[F0].push(J.length-1),!E3.tracks[0])E3.tracks[0]={index:0,coord:E3.coord,segments:[]};E3.tracks[0].segments.push({edgeIndex:F0,segmentIndex:bu,from:B3,to:k1})}}let m=X((F0,u0)=>{return F0.from<u0.to&&u0.from<F0.to},"segmentsOverlap"),y=X((F0,u0,Z0,X0)=>{let W0=!X0.segments.some((a0)=>(a0.edgeIndex!==u0.edgeIndex||a0.segmentIndex!==u0.segmentIndex)&&m(a0,F0)),Y0=!Z0.segments.some((a0)=>(a0.edgeIndex!==F0.edgeIndex||a0.segmentIndex!==F0.segmentIndex)&&m(a0,u0));if(W0&&Y0)return F0.trackIndex=X0.index,u0.trackIndex=Z0.index,Z0.segments=[...Z0.segments.filter((a0)=>a0.edgeIndex!==F0.edgeIndex||a0.segmentIndex!==F0.segmentIndex),{edgeIndex:u0.edgeIndex,segmentIndex:u0.segmentIndex,from:u0.from,to:u0.to}],X0.segments=[...X0.segments.filter((a0)=>a0.edgeIndex!==u0.edgeIndex||a0.segmentIndex!==u0.segmentIndex),{edgeIndex:F0.edgeIndex,segmentIndex:F0.segmentIndex,from:F0.from,to:F0.to}],!0;return!1},"trySwapSegmentsAcrossTracks"),r=X((F0)=>{let u0=F0.tracks.length;return F0.tracks[u0]={index:u0,coord:F0.coord,segments:[]},u0},"createNewTrack"),_=X((F0,u0)=>{let Z0=F0.pipe.tracks[F0.trackIndex];Z0.segments=Z0.segments.filter((W0)=>W0.edgeIndex!==F0.edgeIndex||W0.segmentIndex!==F0.segmentIndex),F0.trackIndex=u0,F0.pipe.tracks[u0].segments.push({edgeIndex:F0.edgeIndex,segmentIndex:F0.segmentIndex,from:F0.from,to:F0.to})},"moveSegmentToTrack"),e=X((F0,u0)=>{let Z0=K[F0.edgeIndex];for(let X0 of Z0){let W0=J[X0];if(W0.pipe===F0.pipe)_(W0,u0)}},"moveSegmentChainToTrack"),p=X((F0)=>{let u0=K[F0.edgeIndex],Z0=u0.indexOf(J.indexOf(F0)),X0=[];if(Z0>0)X0.push(J[u0[Z0-1]]);if(Z0<u0.length-1)X0.push(J[u0[Z0+1]]);return X0},"getAdjacentSegmentsAlongEdge"),b0=X((F0,u0)=>{if(F0.orientation===u0.orientation)return!1;let Z0=F0.orientation==="horizontal"?F0:u0,X0=F0.orientation==="horizontal"?u0:F0;return X0.pipe.coord>Z0.from&&X0.pipe.coord<Z0.to&&Z0.pipe.coord>X0.from&&Z0.pipe.coord<X0.to},"haveAnyCrossing"),B0=X((F0,u0)=>{for(let Z0 of F0.tracks)if(!Z0.segments.some((W0)=>(W0.edgeIndex!==u0.edgeIndex||W0.segmentIndex!==u0.segmentIndex)&&m(W0,u0)))return Z0.index;return-1},"findAvailableTrack"),k0=X((F0,u0)=>{if(F0.trackIndex===u0.trackIndex)return m(F0,u0);let Z0=p(F0),X0=p(u0);return Z0.some((W0)=>X0.some((Y0)=>b0(W0,Y0)))},"segmentsConflict"),f0=X((F0,u0,Z0)=>{if(y(F0,u0,F0.pipe.tracks[F0.trackIndex],u0.pipe.tracks[u0.trackIndex]))return;let X0=B0(F0.pipe,u0);Z0(u0,X0!==-1?X0:r(F0.pipe))},"resolveTrackConflict"),D0=X((F0)=>{let u0=0;for(let Z0=0;Z0<F0.length;Z0++)for(let X0=Z0+1;X0<F0.length;X0++){let W0=F0[Z0],Y0=F0[X0];if(W0.pipe!==Y0.pipe)continue;if(k0(W0,Y0))u0++,f0(W0,Y0,e)}return u0},"resolveHandleConflicts"),P0=new Map,L0=X((F0)=>{if(P0.has(F0))return P0.get(F0);let u0=K[F0];if(u0.length===0){let K0={dest:0,deviation:0,base:0,delta:0};return P0.set(F0,K0),K0}let X0=J[u0[0]].pipe.coord,W0=X0;for(let K0=1;K0<u0.length;K0++){let n=J[u0[K0]];if(n.orientation==="horizontal"){let{from:d,to:q0}=n;W0=Math.abs(d-X0)>Math.abs(q0-X0)?d:q0;break}}let Y0=Math.abs(W0-X0),a0={dest:W0,deviation:Y0,base:X0,delta:W0-X0};return P0.set(F0,a0),a0},"getDestInfo"),m0=X(()=>{let F0=0,u0=new Map;for(let[X0,W0]of C.entries()){if(K[X0].length===0)continue;if(!W0.start)continue;if(!u0.has(W0.start))u0.set(W0.start,[]);u0.get(W0.start).push(X0)}let Z0=X((X0)=>{let W0=C[X0];if(!W0.start||!W0.end)return 0;let Y0=D.get(W0.start),a0=D.get(W0.end);if(!Y0||!a0)return 0;let K0=(a0.x??0)-(Y0.x??0),n=(a0.y??0)-(Y0.y??0);return Math.abs(K0)+Math.abs(n)},"getEdgeDistance");for(let X0 of u0.values()){X0.sort((Y0,a0)=>{let K0=L0(Y0),n=L0(a0);if(Math.abs(K0.deviation-n.deviation)>1)return K0.deviation-n.deviation;if(Math.abs(K0.dest-n.dest)>1)return K0.dest-n.dest;let d=Z0(Y0),q0=Z0(a0);if(Math.abs(d-q0)>1)return q0-d;let o=K[Y0].length,l0=K[a0].length;if(o!==l0)return o-l0;if(o===1){let E0=K[Y0][0],$0=K[a0][0];if(J[E0]&&J[$0]){let g0=J[E0],n0=J[$0],c0=Math.abs(g0.to-g0.from),Bu=Math.abs(n0.to-n0.from);if(Math.abs(c0-Bu)>1)return c0-Bu}}return 0});let W0=X0.map((Y0)=>J[K[Y0][0]]);F0+=D0(W0)}return F0},"fixSourceHandleCrossings"),h0=X(()=>{let F0=0,u0=new Map;for(let[Z0,X0]of C.entries()){if(K[Z0].length===0)continue;if(!X0.end)continue;if(!u0.has(X0.end))u0.set(X0.end,[]);u0.get(X0.end).push(Z0)}for(let Z0 of u0.values()){Z0.sort((W0,Y0)=>{let a0=X((d)=>{let q0=K[d];if(q0.length<2)return 0;let o=J[q0[q0.length-2]];return Math.abs(o.to-o.from)},"getDist"),K0=a0(W0),n=a0(Y0);if(Math.abs(K0-n)>0.1)return K0-n;return W0-Y0});let X0=Z0.map((W0)=>J[K[W0][K[W0].length-1]]);F0+=D0(X0)}return F0},"fixTargetHandleCrossings"),_0=X(()=>{let F0=0;for(let u0 of U){let Z0=[];for(let X0 of u0.tracks)for(let W0 of X0.segments){let Y0=K[W0.edgeIndex].find((a0)=>J[a0].segmentIndex===W0.segmentIndex);if(Y0!==void 0)Z0.push(J[Y0])}Z0.sort((X0,W0)=>X0.edgeIndex-W0.edgeIndex||X0.segmentIndex-W0.segmentIndex);for(let X0=0;X0<Z0.length;X0++)for(let W0=X0+1;W0<Z0.length;W0++){let Y0=Z0[X0],a0=Z0[W0];if(k0(Y0,a0))F0++,f0(Y0,a0,_)}}return F0},"fixPipeCrossings"),w0=0,x0=10;while(w0<x0){let F0=0;if(F0+=m0(),F0+=h0(),F0+=_0(),F0===0)break;w0++}let T0=new Map;for(let F0 of U){let u0=[];F0.tracks.forEach((X0)=>{X0.segments.forEach((W0)=>{u0.push({edgeIndex:W0.edgeIndex,segmentIndex:W0.segmentIndex,trackIndex:X0.index,from:W0.from,to:W0.to})})}),u0.sort((X0,W0)=>X0.from-W0.from);let Z0=[];if(u0.length>0){let X0=[u0[0]],W0=u0[0].to;for(let Y0=1;Y0<u0.length;Y0++){let a0=u0[Y0];if(a0.from<W0)X0.push(a0),W0=Math.max(W0,a0.to);else Z0.push(X0),X0=[a0],W0=a0.to}Z0.push(X0)}for(let X0 of Z0){let W0=new Set;X0.forEach((E0)=>W0.add(E0.trackIndex));let Y0=new Map;X0.forEach((E0)=>{let $0=L0(E0.edgeIndex);Y0.set(E0.trackIndex,(Y0.get(E0.trackIndex)??0)+$0.delta)});let a0=[...W0].filter((E0)=>(Y0.get(E0)??0)<-1),K0=[...W0].filter((E0)=>(Y0.get(E0)??0)>1),n=[...W0].filter((E0)=>Math.abs(Y0.get(E0)??0)<=1);a0.sort((E0,$0)=>(Y0.get($0)??0)-(Y0.get(E0)??0)),K0.sort((E0,$0)=>(Y0.get(E0)??0)-(Y0.get($0)??0));let d=X((E0,$0)=>{X0.filter((g0)=>g0.trackIndex===E0).forEach((g0)=>{let n0=w.has(g0.edgeIndex)?F0.coord:$0;T0.set(`${g0.edgeIndex}-${g0.segmentIndex}`,n0)})},"assignCoord"),q0=0;for(let E0 of a0)q0++,d(E0,F0.coord-q0*_60);if(n.length===0&&W0.size>0){let E0=[...W0].sort((n0,c0)=>Math.abs(Y0.get(n0)??0)-Math.abs(Y0.get(c0)??0))[0],$0=a0.indexOf(E0);if($0!==-1)a0.splice($0,1);let g0=K0.indexOf(E0);if(g0!==-1)K0.splice(g0,1);n.push(E0)}let o=0;for(let E0 of n){if(o===0)d(E0,F0.coord);else{let $0=o%2===1?1:-1,g0=Math.ceil(o/2);d(E0,F0.coord+$0*g0*_60*0.5)}o++}let l0=0;for(let E0 of K0)l0++,d(E0,F0.coord+l0*_60)}}for(let[F0,u0]of C.entries()){let Z0=K[F0]??[];if(Z0.length===0)continue;let X0=[],W0=D.get(u0.start),Y0=D.get(u0.end),{pSrcPort:a0,pDstPort:K0}=$(F0,W0,Y0),n=Z0.map((o)=>{let l0=J[o],E0=T0.get(`${l0.edgeIndex}-${l0.segmentIndex}`)??l0.pipe.coord;return{orient:l0.orientation,coord:E0,from:l0.from,to:l0.to}});X0.push(a0);for(let o=0;o<n.length;o++){let l0=n[o],E0=X0[X0.length-1],$0=l0.orient==="vertical"?E0.y:E0.x,g0=l0.orient==="vertical"?E0.x:E0.y,n0=n[o+1],c0=o<n.length-1;if(Math.abs(g0-l0.coord)>u1)X0.push(YK(l0,$0));if(c0&&n0.orient===l0.orient){if(Math.abs(l0.coord-n0.coord)>u1){let Bu=l0.orient==="vertical"?($0+n0.from)/2:x90(l0,n0);X0.push(YK(l0,Bu),YK(n0,Bu))}else if(o===0||o===n.length-2)X0.push(YK(l0,x90(l0,n0)))}else if(c0)X0.push(YK(l0,n0.coord));else{let Bu=Math.abs(l0.from-$0)<Math.abs(l0.to-$0)?l0.to:l0.from;X0.push(YK(l0,Bu))}}let d=X0[X0.length-1];if(Math.abs(d.x-K0.x)>u1||Math.abs(d.y-K0.y)>u1)X0.push(K0);let q0=[];if(X0.length>0)q0.push(X0[0]);for(let o=1;o<X0.length;o++){let l0=X0[o],E0=q0[q0.length-1];if(Math.abs(l0.x-E0.x)>u1||Math.abs(l0.y-E0.y)>u1)q0.push(l0)}u0.points=q0}for(let F0 of C){let u0=F0.__originalEdge;if(u0&&F0.points)u0.points=F0.points}u.edges=(u.edges??[]).filter((F0)=>!F0.isLayoutOnly);let J0=X((F0,u0)=>{let Z0=u0.x??0,X0=u0.y??0,W0=u0.width??0,Y0=u0.height??0;if(W0<=0||Y0<=0)return F0;let a0=Z0-W0/2,K0=Z0+W0/2,n=X0-Y0/2,d=X0+Y0/2;if(F0.x<a0||F0.x>K0||F0.y<n||F0.y>d)return F0;let q0=F0.x-a0,o=K0-F0.x,l0=F0.y-n,E0=d-F0.y,$0=Math.min(q0,o,l0,E0);if($0===q0)return{x:a0,y:F0.y};if($0===o)return{x:K0,y:F0.y};if($0===l0)return{x:F0.x,y:n};return{x:F0.x,y:d}},"nodeBoundaryClamp");for(let F0 of u.edges){let u0=F0.points;if(!u0||u0.length<2)continue;let{start:Z0,end:X0}=F0,W0=Z0?D.get(Z0):void 0,Y0=X0?D.get(X0):void 0;if(W0)u0[0]=J0(u0[0],W0);if(Y0)u0[u0.length-1]=J0(u0[u0.length-1],Y0)}return u}function gm0(u){return u.direction??"TB"}function cm0(u){let B=Sa0(u),E=u.config.flowchart?.nodeSpacing??40,A=u.config.flowchart?.rankSpacing??100,C=u.config.swimlane?.ignoreCrossLaneEdges??!0,D=u.config.swimlane?.optimizeRanksByCrossings??!0,F=u.config.swimlane?.automaticLaneOrdering??!1,U=gm0(u),{ordered:z,coordinates:k}=ym0(B,{nodeGap:E,layerGap:A,ignoreCrossLaneEdges:C,optimizeRanksByCrossings:D,automaticLaneOrdering:F,direction:U});Ya0(B,z,k,{nodeGap:E,layerGap:A});for(let f of u.edges??[])delete f.points;rm0(u,U);for(let f of u.edges??[])if(!f.curve||f.curve==="basis")f.curve="rounded";return Fm0(u,U),Dm0(u),U}async function _m0(u,B){let E=B.select("g");eH(E,u.markers,u.type,u.diagramId),Ih(),jh(),Th(),gi(),Wa0(u);let A=Ra0(u);u.nodes=A.nodes,u.edges=A.edges;let{groups:C}=await ba0(E,u);cm0(u),await Xa0(u,C)}var Fa0=5,di=0.00001,si=0.000001,MJ4=0.001,r60="__swimlane_default__",bJ4=21,Ua0=20,ZJ4="[EdgeLabelNodes]",R5=0.001,Q3=0.001,JJ4=0.5,za0=4,PC=0.000001,KJ4=8,oi,wJ4,N4=0.001,Y5=8,o3,g60,hM=0.001,QJ4=8,G8=0.001,ka0=10,ti=7,c60=0.000001,GJ4=8,fa0,HJ4=3,qJ4,fa,Ma0,Pm0=8,u1,lJ4=8,SK=15,Wq=15,ei=25,MA=20,_60=10;var nm0=g(()=>{J60();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();wE();X(ba0,"createGraphWithElements");X(Ea,"buildSegmentList");X(Za0,"segmentIntersection");X(p60,"isHorizontalSeg");X(Ja0,"findEdgeIntersections");X(jC,"fmt");X(Sq,"pointToString");X(Ka0,"getArcSweepFlag");X(wa0,"applyMarkerOffsets");X(Qa0,"emitJump");X(n60,"computeRoundedCorner");X(Ga0,"rewriteEdgePath");X(Ha0,"isStraightPath");X(qa0,"curveSupportsLineHops");X(la0,"decodeDataPoints");X(La0,"applyLineJumpsToSvg");X(Xa0,"adjustLayout");X(va0,"positionEdgeLabel");X(d60,"topLaneHorizontalPadding");X(xa0,"assignTopLaneTitleRect");X(Wa0,"prepareLayoutForSwimlanes");X(Sa0,"toGraphView");X(Ya0,"writeBackToLayoutData");X(Ra0,"createEdgeLabelNodes");X(W90,"measuredNodeRect");X(S90,"nodeBoundsInfoFor");X(bA,"samePoint");X(F1,"sameX");X(M1,"sameY");X(m9,"isHorizontalSegment");X($9,"isVerticalSegment");X(LB,"overlapLength");X(rF,"sameAxisSegmentOverlapLength");X(Rq,"orthogonalSegmentsForPoints");X(QE,"countOrthogonalBends");X(W1,"dedupeConsecutivePoints");X(Y90,"classifyThreeSegmentRoute");X(ba,"segmentBoundsOverlapRect");X(R90,"pointInsideRect");X(Ta0,"rectContainsRect");X(Aa,"rectsOverlap");X(s60,"inflateRect");X(Yq,"rectFromCenterSize");X(H8,"rectOfNodeBounds");X(RK,"portForRectSide");X(T90,"buildOrthogonalPortPath");X(O90,"buildSameSideTrackPath");X(Za,"collectRealNodeBounds");X(iM,"collectNodeRectEntries");X(Oa0,"collectLayoutNodeRects");X(I90,"getNodePairGeometry");X(F2,"segmentHitsAnyRect");X(P90,"orthogonalSegmentsCross");X(Ia0,"sameAxisSegmentsOverlap");X(Ca,"segmentConflictsWithAnyEdge");X(ez,"orthogonalSegmentsStrictlyCross");X(o60,"strictlyBetween");X(Pa0,"isCollinearIntermediate");X(ja0,"simplifyPolylineOnce");X(Da,"orthogonalizePolyline");X(gF,"simplifyPolyline");X(j90,"endpointContextFor");X(Na0,"segmentEnterPoint");X(t60,"clipEndpoint");X(Va0,"clipEdgeEndpointsToNodeBoundaries");X(e60,"snapEndpointToBoundary");X(Fa,"firstDistinctAdjacent");X(Ua,"cornerClearanceRange");X(u90,"clampToCornerClearance");X(ha0,"intersectRanges");X(B90,"clearanceRangeForSide");X(za,"terminalSideForSegment");X(vS,"isHorizontalSide");X(ia0,"straightClearanceRange");X(E90,"clearStraightEndpointCornerAxis");X(N90,"clearStraightEndpointCornerConnections");X(aa0,"cornerClearedEndpoint");X(ma0,"moveCollinearEndpointRun");X(A90,"clearEndpointCornerConnection");X(C90,"borderSideForSegment");X(D90,"leavesOutward");X(F90,"collapseOwnBorderStub");X($a0,"snapAndCollapseEndpoints");X(U90,"prepareEdgeEndpointsForRenderer");X(V90,"buildNodeMap");X(ya0,"resolveTopLevelGroupId");X(z90,"groupDepth");X(h90,"boundsForChildren");X(ra0,"applyGroupBounds");X(ga0,"recomputeNestedGroupBounds");X(ka,"mirrorAxis");X(ca0,"applyBtDirectionTransform");X(_a0,"applyLrDirectionTransform");oi=KJ4,wJ4=[0,oi,-oi,2*oi,-2*oi];X(pa0,"portSwapToLShape");X(na0,"collapseShortTerminalStub");o3=Rq,g60=X((u,B)=>F1(u,B,N4)||M1(u,B,N4),"orthogonallyAligned");X(da0,"separateSharedRenderedTerminalLanes");X(sa0,"collapseRedundantRectangularDoglegs");X(k90,"liftObstacleHuggingSameSideRails");X(f90,"liftTopLaneTitleBandsAboveRails");X(M90,"shiftLeftLaneTitleBandsLeftOfRails");X(oa0,"swapDestinationTerminalTailsToReduceCrossings");X(ta0,"reassignCrossingExternalRailChannels");X(ea0,"shortcutRedundantOrthogonalJogs");X(um0,"resolveRenderedOrthogonalCrossings");X(Bm0,"simplifyDetouredEdges");X(b90,"markerClearanceRectFor");X(Em0,"normalizeRect");X(Z90,"labelOverlapsOwnMarker");X(ua,"anchorLabelsToPolyline");fa0=GJ4/2;X(J90,"pairKey");X(Am0,"straightenCollinearSiblingDetours");X(K90,"nudgeSharedInteriorSubpaths");X(Cm0,"segmentsIntersect");X(Dm0,"validateSwimlanesLayout");X(Fm0,"postProcessSwimlaneLayout");X(aM,"normalizeGraph");X(i90,"incoming");X(Um0,"buildSuccessorMap");X(a90,"buildSortedSuccessorMap");X(m90,"buildInDegreeMap");X($90,"sortedZeroInDegreeNodes");X(Ja,"buildPredecessorSuccessorMaps");X(y90,"buildLayersFromRanks");X(xS,"topoSortIfAcyclic");X(Tq,"buildLayerIndex");X(r90,"countInversions");X(zm0,"removeCycles_DFS");X(km0,"buildTopLaneMap");X(uk,"createTopLaneResolver");X(Ka,"buildTopLaneOrder");X(g90,"resolveTopLaneOrder");qJ4={EPSILON:0.000001},fa={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Ma0={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};X(fm0,"buildDrivingTree");X(Mm0,"chooseParent");X(bm0,"buildAdjacency");X(Zm0,"assignComponents");X(Jm0,"computeBlocks");X(Km0,"popBlock");X(wm0,"computeSubtreeCrossCounts");X(Qm0,"annotateMinimumLayers");X(c90,"compareByRankThenId");X(Gm0,"emitNodesInTreeOrder");X(Hm0,"deduplicateLayers");X(qm0,"createChildOrderer");X(Ma,"buildMultitreeLayerOrder");X(lm0,"countCrossingsBetweenAdjacent");X(w90,"totalCrossings");X(Lm0,"optimizeRanksByCrossings");X(Xm0,"adjustCrossLaneSources");X(vm0,"assignLayers_LongestPath");X(xm0,"assignLayers_Gravity");X(Wm0,"topoSortByGenerationIfAcyclic");X(Sm0,"assignLayers_LaneAwareCompact");X(Ym0,"makeProperLayering");X(Q90,"median");X(G90,"barycenter");X(Rm0,"neighborPositionsFor");X(Tm0,"currentOrderTieBreak");X(H90,"countCrossingsBetweenAdjacent");X(Ba,"sortByHeuristic");X(q90,"reorderLayer");X(l90,"transposeImprove");X(Om0,"orderLayers");X(Im0,"assignCoordinates");X(jm0,"hashString");X(Nm0,"mulberry32");X(Vm0,"deterministicShuffle");X(hm0,"sourceDistance");X(L90,"laneArrangementCost");X(im0,"buildWeightedLaneEdges");X(X90,"greedySwitch");X(am0,"isBetterCandidate");X(mm0,"seedForRestart");X($m0,"optimizeTopLaneOrder");X(ym0,"sugiyamaLayout");u1=qJ4.EPSILON;X(v90,"chooseOrthogonalSide");X(x90,"sharedLineEndpointCoord");X(YK,"pointOnLine");X(rm0,"routeEdgesOrthogonal");X(gm0,"getSwimlaneDirection");X(cm0,"runSwimlaneLayoutCore");X(_m0,"render")});function L50(u,B){(B==null||B>u.length)&&(B=u.length);for(var E=0,A=Array(B);E<B;E++)A[E]=u[E];return A}function LJ4(u){if(Array.isArray(u))return u}function XJ4(u){if(Array.isArray(u))return L50(u)}function Bb(u,B){if(!(u instanceof B))throw TypeError("Cannot call a class as a function")}function vJ4(u,B){for(var E=0;E<B.length;E++){var A=B[E];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(u,vr0(A.key),A)}}function Eb(u,B,E){return B&&vJ4(u.prototype,B),Object.defineProperty(u,"prototype",{writable:!1}),u}function l8(u,B){var E=typeof Symbol<"u"&&u[Symbol.iterator]||u["@@iterator"];if(!E){if(Array.isArray(u)||(E=y50(u))||B){E&&(u=E);var A=0,C=function(){};return{s:C,n:function(){return A>=u.length?{done:!0}:{done:!1,value:u[A++]}},e:function(z){throw z},f:C}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var D,F=!0,U=!1;return{s:function(){E=E.call(u)},n:function(){var z=E.next();return F=z.done,z},e:function(z){U=!0,D=z},f:function(){try{F||E.return==null||E.return()}finally{if(U)throw D}}}}function Xr0(u,B,E){return(B=vr0(B))in u?Object.defineProperty(u,B,{value:E,enumerable:!0,configurable:!0,writable:!0}):u[B]=E,u}function xJ4(u){if(typeof Symbol<"u"&&u[Symbol.iterator]!=null||u["@@iterator"]!=null)return Array.from(u)}function WJ4(u,B){var E=u==null?null:typeof Symbol<"u"&&u[Symbol.iterator]||u["@@iterator"];if(E!=null){var A,C,D,F,U=[],z=!0,k=!1;try{if(D=(E=E.call(u)).next,B===0){if(Object(E)!==E)return;z=!1}else for(;!(z=(A=D.call(E)).done)&&(U.push(A.value),U.length!==B);z=!0);}catch(f){k=!0,C=f}finally{try{if(!z&&E.return!=null&&(F=E.return(),Object(F)!==F))return}finally{if(k)throw C}}return U}}function SJ4(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YJ4(){throw TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Y2(u,B){return LJ4(u)||WJ4(u,B)||y50(u,B)||SJ4()}function ma(u){return XJ4(u)||xJ4(u)||y50(u)||YJ4()}function RJ4(u,B){if(typeof u!="object"||!u)return u;var E=u[Symbol.toPrimitive];if(E!==void 0){var A=E.call(u,B);if(typeof A!="object")return A;throw TypeError("@@toPrimitive must return a primitive value.")}return String(u)}function vr0(u){var B=RJ4(u,"string");return typeof B=="symbol"?B:B+""}function e2(u){return e2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(B){return typeof B}:function(B){return B&&typeof Symbol=="function"&&B.constructor===Symbol&&B!==Symbol.prototype?"symbol":typeof B},e2(u)}function y50(u,B){if(u){if(typeof u=="string")return L50(u,B);var E={}.toString.call(u).slice(8,-1);return E==="Object"&&u.constructor&&(E=u.constructor.name),E==="Map"||E==="Set"?Array.from(u):E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E)?L50(u,B):void 0}}function oS(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}function tS(){if(om0)return _90;om0=1;function u(B){var E=typeof B;return B!=null&&(E=="object"||E=="function")}return _90=u,_90}function oJ4(){if(tm0)return p90;tm0=1;var u=typeof wa=="object"&&wa&&wa.Object===Object&&wa;return p90=u,p90}function Bm(){if(em0)return n90;em0=1;var u=oJ4(),B=typeof self=="object"&&self&&self.Object===Object&&self,E=u||B||Function("return this")();return n90=E,n90}function tJ4(){if(u$0)return d90;u$0=1;var u=Bm(),B=function(){return u.Date.now()};return d90=B,d90}function eJ4(){if(B$0)return s90;B$0=1;var u=/\s/;function B(E){var A=E.length;while(A--&&u.test(E.charAt(A)));return A}return s90=B,s90}function uK4(){if(E$0)return o90;E$0=1;var u=eJ4(),B=/^\s+/;function E(A){return A?A.slice(0,u(A)+1).replace(B,""):A}return o90=E,o90}function c50(){if(A$0)return t90;A$0=1;var u=Bm(),B=u.Symbol;return t90=B,t90}function BK4(){if(C$0)return e90;C$0=1;var u=c50(),B=Object.prototype,E=B.hasOwnProperty,A=B.toString,C=u?u.toStringTag:void 0;function D(F){var U=E.call(F,C),z=F[C];try{F[C]=void 0;var k=!0}catch(M){}var f=A.call(F);if(k)if(U)F[C]=z;else delete F[C];return f}return e90=D,e90}function EK4(){if(D$0)return u20;D$0=1;var u=Object.prototype,B=u.toString;function E(A){return B.call(A)}return u20=E,u20}function jr0(){if(F$0)return B20;F$0=1;var u=c50(),B=BK4(),E=EK4(),A="[object Null]",C="[object Undefined]",D=u?u.toStringTag:void 0;function F(U){if(U==null)return U===void 0?C:A;return D&&D in Object(U)?B(U):E(U)}return B20=F,B20}function AK4(){if(U$0)return E20;U$0=1;function u(B){return B!=null&&typeof B=="object"}return E20=u,E20}function eS(){if(z$0)return A20;z$0=1;var u=jr0(),B=AK4(),E="[object Symbol]";function A(C){return typeof C=="symbol"||B(C)&&u(C)==E}return A20=A,A20}function CK4(){if(k$0)return C20;k$0=1;var u=uK4(),B=tS(),E=eS(),A=NaN,C=/^[-+]0x[0-9a-f]+$/i,D=/^0b[01]+$/i,F=/^0o[0-7]+$/i,U=parseInt;function z(k){if(typeof k=="number")return k;if(E(k))return A;if(B(k)){var f=typeof k.valueOf=="function"?k.valueOf():k;k=B(f)?f+"":f}if(typeof k!="string")return k===0?k:+k;k=u(k);var M=D.test(k);return M||F.test(k)?U(k.slice(2),M?2:8):C.test(k)?A:+k}return C20=z,C20}function DK4(){if(f$0)return D20;f$0=1;var u=tS(),B=tJ4(),E=CK4(),A="Expected a function",C=Math.max,D=Math.min;function F(U,z,k){var f,M,b,Z,J,K,w=0,Q=!1,G=!1,H=!0;if(typeof U!="function")throw TypeError(A);if(z=E(z)||0,u(k))Q=!!k.leading,G="maxWait"in k,b=G?C(E(k.maxWait)||0,z):b,H="trailing"in k?!!k.trailing:H;function l(Y){var h=f,I=M;return f=M=void 0,w=Y,Z=U.apply(I,h),Z}function q(Y){return w=Y,J=setTimeout(x,z),Q?l(Y):Z}function L(Y){var h=Y-K,I=Y-w,O=z-h;return G?D(O,b-I):O}function v(Y){var h=Y-K,I=Y-w;return K===void 0||h>=z||h<0||G&&I>=b}function x(){var Y=B();if(v(Y))return S(Y);J=setTimeout(x,L(Y))}function S(Y){if(J=void 0,H&&f)return l(Y);return f=M=void 0,Z}function W(){if(J!==void 0)clearTimeout(J);w=0,f=K=M=J=void 0}function T(){return J===void 0?Z:S(B())}function R(){var Y=B(),h=v(Y);if(f=arguments,M=this,K=Y,h){if(J===void 0)return q(K);if(G)return clearTimeout(J),J=setTimeout(x,z),l(K)}if(J===void 0)J=setTimeout(x,z);return Z}return R.cancel=W,R.flush=T,R}return D20=F,D20}function fK4(u,B,E,A,C){var D=C*Math.PI/180,F=Math.cos(D)*(u-E)-Math.sin(D)*(B-A)+E,U=Math.sin(D)*(u-E)+Math.cos(D)*(B-A)+A;return{x:F,y:U}}function bK4(u,B,E){if(E===0)return u;var A=(B.x1+B.x2)/2,C=(B.y1+B.y2)/2,D=B.w/B.h,F=1/D,U=fK4(u.x,u.y,A,C,E),z=MK4(U.x,U.y,A,C,D,F);return{x:z.x,y:z.y}}function XK4(){if(K$0)return Ra.exports;return K$0=1,function(u,B){(function(){var E,A,C,D,F,U,z,k,f,M,b,Z,J,K,w;C=Math.floor,M=Math.min,A=function(Q,G){if(Q<G)return-1;if(Q>G)return 1;return 0},f=function(Q,G,H,l,q){var L;if(H==null)H=0;if(q==null)q=A;if(H<0)throw Error("lo must be non-negative");if(l==null)l=Q.length;while(H<l)if(L=C((H+l)/2),q(G,Q[L])<0)l=L;else H=L+1;return[].splice.apply(Q,[H,H-H].concat(G)),G},U=function(Q,G,H){if(H==null)H=A;return Q.push(G),K(Q,0,Q.length-1,H)},F=function(Q,G){var H,l;if(G==null)G=A;if(H=Q.pop(),Q.length)l=Q[0],Q[0]=H,w(Q,0,G);else l=H;return l},k=function(Q,G,H){var l;if(H==null)H=A;return l=Q[0],Q[0]=G,w(Q,0,H),l},z=function(Q,G,H){var l;if(H==null)H=A;if(Q.length&&H(Q[0],G)<0)l=[Q[0],G],G=l[0],Q[0]=l[1],w(Q,0,H);return G},D=function(Q,G){var H,l,q,L,v,x;if(G==null)G=A;L=function(){x=[];for(var S=0,W=C(Q.length/2);0<=W?S<W:S>W;0<=W?S++:S--)x.push(S);return x}.apply(this).reverse(),v=[];for(l=0,q=L.length;l<q;l++)H=L[l],v.push(w(Q,H,G));return v},J=function(Q,G,H){var l;if(H==null)H=A;if(l=Q.indexOf(G),l===-1)return;return K(Q,0,l,H),w(Q,l,H)},b=function(Q,G,H){var l,q,L,v,x;if(H==null)H=A;if(q=Q.slice(0,G),!q.length)return q;D(q,H),x=Q.slice(G);for(L=0,v=x.length;L<v;L++)l=x[L],z(q,l,H);return q.sort(H).reverse()},Z=function(Q,G,H){var l,q,L,v,x,S,W,T,R;if(H==null)H=A;if(G*10<=Q.length){if(L=Q.slice(0,G).sort(H),!L.length)return L;q=L[L.length-1],W=Q.slice(G);for(v=0,S=W.length;v<S;v++)if(l=W[v],H(l,q)<0)f(L,l,0,null,H),L.pop(),q=L[L.length-1];return L}D(Q,H),R=[];for(x=0,T=M(G,Q.length);0<=T?x<T:x>T;0<=T?++x:--x)R.push(F(Q,H));return R},K=function(Q,G,H,l){var q,L,v;if(l==null)l=A;q=Q[H];while(H>G){if(v=H-1>>1,L=Q[v],l(q,L)<0){Q[H]=L,H=v;continue}break}return Q[H]=q},w=function(Q,G,H){var l,q,L,v,x;if(H==null)H=A;q=Q.length,x=G,L=Q[G],l=2*G+1;while(l<q){if(v=l+1,v<q&&!(H(Q[l],Q[v])<0))l=v;Q[G]=Q[l],G=l,l=2*G+1}return Q[G]=L,K(Q,x,G,H)},E=function(){Q.push=U,Q.pop=F,Q.replace=k,Q.pushpop=z,Q.heapify=D,Q.updateItem=J,Q.nlargest=b,Q.nsmallest=Z;function Q(G){this.cmp=G!=null?G:A,this.nodes=[]}return Q.prototype.push=function(G){return U(this.nodes,G,this.cmp)},Q.prototype.pop=function(){return F(this.nodes,this.cmp)},Q.prototype.peek=function(){return this.nodes[0]},Q.prototype.contains=function(G){return this.nodes.indexOf(G)!==-1},Q.prototype.replace=function(G){return k(this.nodes,G,this.cmp)},Q.prototype.pushpop=function(G){return z(this.nodes,G,this.cmp)},Q.prototype.heapify=function(){return D(this.nodes,this.cmp)},Q.prototype.updateItem=function(G){return J(this.nodes,G,this.cmp)},Q.prototype.clear=function(){return this.nodes=[]},Q.prototype.empty=function(){return this.nodes.length===0},Q.prototype.size=function(){return this.nodes.length},Q.prototype.clone=function(){var G=new Q;return G.nodes=this.nodes.slice(0),G},Q.prototype.toArray=function(){return this.nodes.slice(0)},Q.prototype.insert=Q.prototype.push,Q.prototype.top=Q.prototype.peek,Q.prototype.front=Q.prototype.peek,Q.prototype.has=Q.prototype.contains,Q.prototype.copy=Q.prototype.clone,Q}(),function(Q,G){return u.exports=G()}(this,function(){return E})}).call(LK4)}(Ra),Ra.exports}function vK4(){if(w$0)return U20;return w$0=1,U20=XK4(),U20}function oK4(u,B){if(u.length<3)throw Error("Need at least 3 vertices");var E=function(x,S){return{x:x.x+S.x,y:x.y+S.y}},A=function(x,S){return{x:x.x-S.x,y:x.y-S.y}},C=function(x,S){return{x:x.x*S,y:x.y*S}},D=function(x,S){return x.x*S.y-x.y*S.x},F=function(x){var S=sK4(x.x,x.y);return S===0?{x:0,y:0}:{x:x.x/S,y:x.y/S}},U=function(x){var S=0;for(var W=0;W<x.length;W++){var T=x[W],R=x[(W+1)%x.length];S+=T.x*R.y-R.x*T.y}return S/2},z=function(x,S,W,T){var R=A(S,x),Y=A(T,W),h=D(R,Y);if(Math.abs(h)<0.000000001)return E(x,C(R,0.5));var I=D(A(W,x),Y)/h;return E(x,C(R,I))},k=u.map(function(v){return{x:v.x,y:v.y}});if(U(k)<0)k.reverse();var f=k.length,M=[];for(var b=0;b<f;b++){var Z=k[b],J=k[(b+1)%f],K=A(J,Z),w=F({x:K.y,y:-K.x});M.push(w)}var Q=M.map(function(v,x){var S=E(k[x],C(v,B)),W=E(k[(x+1)%f],C(v,B));return{p1:S,p2:W}}),G=[];for(var H=0;H<f;H++){var l=Q[(H-1+f)%f],q=Q[H],L=z(l.p1,l.p2,q.p1,q.p2);G.push(L)}return G}function tK4(u,B,E,A,C,D){var F=Uw4(u,B,E,A,C),U=oK4(F,D),z=xB();return U.forEach(function(k){return cr0(z,k.x,k.y)}),z}function M20(u,B){function E(M){var b=[];for(var Z=0;Z<M.length;Z++){var J=M[Z],K=M[(Z+1)%M.length],w={x:K.x-J.x,y:K.y-J.y},Q={x:-w.y,y:w.x},G=Math.sqrt(Q.x*Q.x+Q.y*Q.y);b.push({x:Q.x/G,y:Q.y/G})}return b}function A(M,b){var Z=1/0,J=-1/0,K=l8(M),w;try{for(K.s();!(w=K.n()).done;){var Q=w.value,G=Q.x*b.x+Q.y*b.y;Z=Math.min(Z,G),J=Math.max(J,G)}}catch(H){K.e(H)}finally{K.f()}return{min:Z,max:J}}function C(M,b){return!(M.max<b.min||b.max<M.min)}var D=[].concat(ma(E(u)),ma(E(B))),F=l8(D),U;try{for(F.s();!(U=F.n()).done;){var z=U.value,k=A(u,z),f=A(B,z);if(!C(k,f))return!1}}catch(M){F.e(M)}finally{F.f()}return!0}function Cm(u,B,E,A,C,D){var F;if(l9(u))F=u;else F=pq[u]||pq.euclidean;if(B===0&&l9(u))return F(C,D);else return F(B,E,A,C,D)}function Dm(){if(j$0)return Z20;j$0=1;var u=Array.isArray;return Z20=u,Z20}function uQ4(){if(N$0)return J20;N$0=1;var u=Dm(),B=eS(),E=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,A=/^\w*$/;function C(D,F){if(u(D))return!1;var U=typeof D;if(U=="number"||U=="symbol"||U=="boolean"||D==null||B(D))return!0;return A.test(D)||!E.test(D)||F!=null&&D in Object(F)}return J20=C,J20}function BQ4(){if(V$0)return K20;V$0=1;var u=jr0(),B=tS(),E="[object AsyncFunction]",A="[object Function]",C="[object GeneratorFunction]",D="[object Proxy]";function F(U){if(!B(U))return!1;var z=u(U);return z==A||z==C||z==E||z==D}return K20=F,K20}function EQ4(){if(h$0)return w20;h$0=1;var u=Bm(),B=u["__core-js_shared__"];return w20=B,w20}function AQ4(){if(i$0)return Q20;i$0=1;var u=EQ4(),B=function(){var A=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||"");return A?"Symbol(src)_1."+A:""}();function E(A){return!!B&&B in A}return Q20=E,Q20}function CQ4(){if(a$0)return G20;a$0=1;var u=Function.prototype,B=u.toString;function E(A){if(A!=null){try{return B.call(A)}catch(C){}try{return A+""}catch(C){}}return""}return G20=E,G20}function DQ4(){if(m$0)return H20;m$0=1;var u=BQ4(),B=AQ4(),E=tS(),A=CQ4(),C=/[\\^$.*+?()[\]{}|]/g,D=/^\[object .+?Constructor\]$/,F=Function.prototype,U=Object.prototype,z=F.toString,k=U.hasOwnProperty,f=RegExp("^"+z.call(k).replace(C,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function M(b){if(!E(b)||B(b))return!1;var Z=u(b)?f:D;return Z.test(A(b))}return H20=M,H20}function FQ4(){if($$0)return q20;$$0=1;function u(B,E){return B==null?void 0:B[E]}return q20=u,q20}function u70(){if(y$0)return l20;y$0=1;var u=DQ4(),B=FQ4();function E(A,C){var D=B(A,C);return u(D)?D:void 0}return l20=E,l20}function Fm(){if(r$0)return L20;r$0=1;var u=u70(),B=u(Object,"create");return L20=B,L20}function UQ4(){if(g$0)return X20;g$0=1;var u=Fm();function B(){this.__data__=u?u(null):{},this.size=0}return X20=B,X20}function zQ4(){if(c$0)return v20;c$0=1;function u(B){var E=this.has(B)&&delete this.__data__[B];return this.size-=E?1:0,E}return v20=u,v20}function kQ4(){if(_$0)return x20;_$0=1;var u=Fm(),B="__lodash_hash_undefined__",E=Object.prototype,A=E.hasOwnProperty;function C(D){var F=this.__data__;if(u){var U=F[D];return U===B?void 0:U}return A.call(F,D)?F[D]:void 0}return x20=C,x20}function fQ4(){if(p$0)return W20;p$0=1;var u=Fm(),B=Object.prototype,E=B.hasOwnProperty;function A(C){var D=this.__data__;return u?D[C]!==void 0:E.call(D,C)}return W20=A,W20}function MQ4(){if(n$0)return S20;n$0=1;var u=Fm(),B="__lodash_hash_undefined__";function E(A,C){var D=this.__data__;return this.size+=this.has(A)?0:1,D[A]=u&&C===void 0?B:C,this}return S20=E,S20}function bQ4(){if(d$0)return Y20;d$0=1;var u=UQ4(),B=zQ4(),E=kQ4(),A=fQ4(),C=MQ4();function D(F){var U=-1,z=F==null?0:F.length;this.clear();while(++U<z){var k=F[U];this.set(k[0],k[1])}}return D.prototype.clear=u,D.prototype.delete=B,D.prototype.get=E,D.prototype.has=A,D.prototype.set=C,Y20=D,Y20}function ZQ4(){if(s$0)return R20;s$0=1;function u(){this.__data__=[],this.size=0}return R20=u,R20}function Fg0(){if(o$0)return T20;o$0=1;function u(B,E){return B===E||B!==B&&E!==E}return T20=u,T20}function Um(){if(t$0)return O20;t$0=1;var u=Fg0();function B(E,A){var C=E.length;while(C--)if(u(E[C][0],A))return C;return-1}return O20=B,O20}function JQ4(){if(e$0)return I20;e$0=1;var u=Um(),B=Array.prototype,E=B.splice;function A(C){var D=this.__data__,F=u(D,C);if(F<0)return!1;var U=D.length-1;if(F==U)D.pop();else E.call(D,F,1);return--this.size,!0}return I20=A,I20}function KQ4(){if(uy0)return P20;uy0=1;var u=Um();function B(E){var A=this.__data__,C=u(A,E);return C<0?void 0:A[C][1]}return P20=B,P20}function wQ4(){if(By0)return j20;By0=1;var u=Um();function B(E){return u(this.__data__,E)>-1}return j20=B,j20}function QQ4(){if(Ey0)return N20;Ey0=1;var u=Um();function B(E,A){var C=this.__data__,D=u(C,E);if(D<0)++this.size,C.push([E,A]);else C[D][1]=A;return this}return N20=B,N20}function GQ4(){if(Ay0)return V20;Ay0=1;var u=ZQ4(),B=JQ4(),E=KQ4(),A=wQ4(),C=QQ4();function D(F){var U=-1,z=F==null?0:F.length;this.clear();while(++U<z){var k=F[U];this.set(k[0],k[1])}}return D.prototype.clear=u,D.prototype.delete=B,D.prototype.get=E,D.prototype.has=A,D.prototype.set=C,V20=D,V20}function HQ4(){if(Cy0)return h20;Cy0=1;var u=u70(),B=Bm(),E=u(B,"Map");return h20=E,h20}function qQ4(){if(Dy0)return i20;Dy0=1;var u=bQ4(),B=GQ4(),E=HQ4();function A(){this.size=0,this.__data__={hash:new u,map:new(E||B),string:new u}}return i20=A,i20}function lQ4(){if(Fy0)return a20;Fy0=1;function u(B){var E=typeof B;return E=="string"||E=="number"||E=="symbol"||E=="boolean"?B!=="__proto__":B===null}return a20=u,a20}function zm(){if(Uy0)return m20;Uy0=1;var u=lQ4();function B(E,A){var C=E.__data__;return u(A)?C[typeof A=="string"?"string":"hash"]:C.map}return m20=B,m20}function LQ4(){if(zy0)return $20;zy0=1;var u=zm();function B(E){var A=u(this,E).delete(E);return this.size-=A?1:0,A}return $20=B,$20}function XQ4(){if(ky0)return y20;ky0=1;var u=zm();function B(E){return u(this,E).get(E)}return y20=B,y20}function vQ4(){if(fy0)return r20;fy0=1;var u=zm();function B(E){return u(this,E).has(E)}return r20=B,r20}function xQ4(){if(My0)return g20;My0=1;var u=zm();function B(E,A){var C=u(this,E),D=C.size;return C.set(E,A),this.size+=C.size==D?0:1,this}return g20=B,g20}function WQ4(){if(by0)return c20;by0=1;var u=qQ4(),B=LQ4(),E=XQ4(),A=vQ4(),C=xQ4();function D(F){var U=-1,z=F==null?0:F.length;this.clear();while(++U<z){var k=F[U];this.set(k[0],k[1])}}return D.prototype.clear=u,D.prototype.delete=B,D.prototype.get=E,D.prototype.has=A,D.prototype.set=C,c20=D,c20}function SQ4(){if(Zy0)return _20;Zy0=1;var u=WQ4(),B="Expected a function";function E(A,C){if(typeof A!="function"||C!=null&&typeof C!="function")throw TypeError(B);var D=function(){var F=arguments,U=C?C.apply(this,F):F[0],z=D.cache;if(z.has(U))return z.get(U);var k=A.apply(this,F);return D.cache=z.set(U,k)||z,k};return D.cache=new(E.Cache||u),D}return E.Cache=u,_20=E,_20}function YQ4(){if(Jy0)return p20;Jy0=1;var u=SQ4(),B=500;function E(A){var C=u(A,function(F){if(D.size===B)D.clear();return F}),D=C.cache;return C}return p20=E,p20}function Ug0(){if(Ky0)return n20;Ky0=1;var u=YQ4(),B=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,E=/\\(\\)?/g,A=u(function(C){var D=[];if(C.charCodeAt(0)===46)D.push("");return C.replace(B,function(F,U,z,k){D.push(z?k.replace(E,"$1"):U||F)}),D});return n20=A,n20}function zg0(){if(wy0)return d20;wy0=1;function u(B,E){var A=-1,C=B==null?0:B.length,D=Array(C);while(++A<C)D[A]=E(B[A],A,B);return D}return d20=u,d20}function RQ4(){if(Qy0)return s20;Qy0=1;var u=c50(),B=zg0(),E=Dm(),A=eS(),C=u?u.prototype:void 0,D=C?C.toString:void 0;function F(U){if(typeof U=="string")return U;if(E(U))return B(U,F)+"";if(A(U))return D?D.call(U):"";var z=U+"";return z=="0"&&1/U==-1/0?"-0":z}return s20=F,s20}function kg0(){if(Gy0)return o20;Gy0=1;var u=RQ4();function B(E){return E==null?"":u(E)}return o20=B,o20}function fg0(){if(Hy0)return t20;Hy0=1;var u=Dm(),B=uQ4(),E=Ug0(),A=kg0();function C(D,F){if(u(D))return D;return B(D,F)?[D]:E(A(D))}return t20=C,t20}function B70(){if(qy0)return e20;qy0=1;var u=eS();function B(E){if(typeof E=="string"||u(E))return E;var A=E+"";return A=="0"&&1/E==-1/0?"-0":A}return e20=B,e20}function TQ4(){if(ly0)return u50;ly0=1;var u=fg0(),B=B70();function E(A,C){C=u(C,A);var D=0,F=C.length;while(A!=null&&D<F)A=A[B(C[D++])];return D&&D==F?A:void 0}return u50=E,u50}function OQ4(){if(Ly0)return B50;Ly0=1;var u=TQ4();function B(E,A,C){var D=E==null?void 0:u(E,A);return D===void 0?C:D}return B50=B,B50}function jQ4(){if(Xy0)return E50;Xy0=1;var u=u70(),B=function(){try{var E=u(Object,"defineProperty");return E({},"",{}),E}catch(A){}}();return E50=B,E50}function NQ4(){if(vy0)return A50;vy0=1;var u=jQ4();function B(E,A,C){if(A=="__proto__"&&u)u(E,A,{configurable:!0,enumerable:!0,value:C,writable:!0});else E[A]=C}return A50=B,A50}function VQ4(){if(xy0)return C50;xy0=1;var u=NQ4(),B=Fg0(),E=Object.prototype,A=E.hasOwnProperty;function C(D,F,U){var z=D[F];if(!(A.call(D,F)&&B(z,U))||U===void 0&&!(F in D))u(D,F,U)}return C50=C,C50}function hQ4(){if(Wy0)return D50;Wy0=1;var u=9007199254740991,B=/^(?:0|[1-9]\d*)$/;function E(A,C){var D=typeof A;return C=C==null?u:C,!!C&&(D=="number"||D!="symbol"&&B.test(A))&&(A>-1&&A%1==0&&A<C)}return D50=E,D50}function iQ4(){if(Sy0)return F50;Sy0=1;var u=VQ4(),B=fg0(),E=hQ4(),A=tS(),C=B70();function D(F,U,z,k){if(!A(F))return F;U=B(U,F);var f=-1,M=U.length,b=M-1,Z=F;while(Z!=null&&++f<M){var J=C(U[f]),K=z;if(J==="__proto__"||J==="constructor"||J==="prototype")return F;if(f!=b){var w=Z[J];if(K=k?k(w,J,Z):void 0,K===void 0)K=A(w)?w:E(U[f+1])?[]:{}}u(Z,J,K),Z=Z[J]}return F}return F50=D,F50}function aQ4(){if(Yy0)return U50;Yy0=1;var u=iQ4();function B(E,A,C){return E==null?E:u(E,A,C)}return U50=B,U50}function yQ4(){if(Ry0)return z50;Ry0=1;function u(B,E){var A=-1,C=B.length;E||(E=Array(C));while(++A<C)E[A]=B[A];return E}return z50=u,z50}function rQ4(){if(Ty0)return k50;Ty0=1;var u=zg0(),B=yQ4(),E=Dm(),A=eS(),C=Ug0(),D=B70(),F=kg0();function U(z){if(E(z))return u(z,D);return A(z)?[z]:B(C(F(z)))}return k50=U,k50}function A70(u,B,E,A){var C=[],D=new oq,F=u.cy(),U=F.hasCompoundNodes();for(var z=0;z<u.length;z++){var k=u[z];if(E)C.push(k);else if(U)A(C,D,k)}while(C.length>0){var f=C.shift();if(B(f),D.add(f.id()),U)A(C,D,f)}return u}function bg0(u,B,E){if(E.isParent()){var A=E._private.children;for(var C=0;C<A.length;C++){var D=A[C];if(!B.has(D.id()))u.push(D)}}}function Zg0(u,B,E){if(E.isChild()){var A=E._private.parent;if(!B.has(A.id()))u.push(A)}}function kG4(u,B,E){Zg0(u,B,E),bg0(u,B,E)}function f50(u){return function(B){var E=this;if(B===void 0)B=!0;if(E.length===0)return;if(E.isNode()&&!E.removed()){var A=0,C=E[0],D=C._private.edges;for(var F=0;F<D.length;F++){var U=D[F];if(!B&&U.isLoop())continue;A+=u(C,U)}return A}else return}}function Iq(u,B){return function(E){var A,C=this.nodes();for(var D=0;D<C.length;D++){var F=C[D],U=F[u](E);if(U!==void 0&&(A===void 0||B(U,A)))A=U}return A}}function YS(){return!1}function Xa(){return!0}function fm(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:RG4,B=arguments.length>1?arguments[1]:void 0;for(var E=0;E<hy0.length;E++){var A=hy0[E];this[A]=u[A]||Xg0[A]}this.context=B||this.context,this.listeners=[],this.emitting=0}function Yg0(u,B,E){var A=E._private,C=A.styleCache=A.styleCache||[],D;if((D=C[u])!=null)return D;else return D=C[u]=B(E),D}function Mm(u,B){return u=hK(u),function(A){return Yg0(u,B,A)}}function bm(u,B){u=hK(u);var E=function(C){return B.call(C)};return function(){var C=this[0];if(C)return Yg0(u,E,C)}}function b50(u,B){var E=u._private,A=E.data.parent?u.parents():null;if(A)for(var C=0;C<A.length;C++){var D=A[C];if(!B(D))return!1}return!0}function C70(u){var B=u.ok,E=u.edgeOkViaNode||u.ok,A=u.parentOk||u.ok;return function(){var C=this.cy();if(!C.styleEnabled())return!0;var D=this[0],F=C.hasCompoundNodes();if(D){var U=D._private;if(!B(D))return!1;if(D.isNode())return!F||b50(D,A);else{var{source:z,target:k}=U;return E(z)&&(!F||b50(z,E))&&(z===k||E(k)&&(!F||b50(k,E)))}}}}function ay0(u){return function(){var B=arguments,E=[];if(B.length===2){var A=B[0],C=B[1];this.on(u.event,A,C)}else if(B.length===1&&l9(B[0])){var D=B[0];this.on(u.event,D)}else if(B.length===0||B.length===1&&v6(B[0])){var F=B.length===1?B[0]:null;for(var U=0;U<this.length;U++){var z=this[U],k=!u.ableField||z._private[u.ableField],f=z._private[u.field]!=u.value;if(u.overrideAble){var M=u.overrideAble(z);if(M!==void 0){if(k=M,!M)return this}}if(k){if(z._private[u.field]=u.value,f)E.push(z)}}var b=this.spawn(E);if(b.updateStyle(),b.emit(u.event),F)b.emit(F)}return this}}function ul(u){nM[u.field]=function(){var B=this[0];if(B){if(u.overrideField){var E=u.overrideField(B);if(E!==void 0)return E}return B._private[u.field]}},nM[u.on]=ay0({event:u.on,field:u.field,ableField:u.ableField,overrideAble:u.overrideAble,value:!0}),nM[u.off]=ay0({event:u.off,field:u.field,ableField:u.ableField,overrideAble:u.overrideAble,value:!1})}function ry0(u){return function(E){var A=[];for(var C=0;C<this.length;C++){var D=this[C],F=D._private[u.attr];if(F)A.push(F)}return this.spawn(A,!0).filter(E)}}function gy0(u){return function(E){var A=[],C=this._private.cy,D=u||{};if(n4(E))E=C.$(E);for(var F=0;F<E.length;F++){var U=E[F]._private.edges;for(var z=0;z<U.length;z++){var k=U[z],f=k._private.data,M=this.hasElementWithId(f.source)&&E.hasElementWithId(f.target),b=E.hasElementWithId(f.source)&&this.hasElementWithId(f.target),Z=M||b;if(!Z)continue;if(D.thisIsSrc||D.thisIsTgt){if(D.thisIsSrc&&!M)continue;if(D.thisIsTgt&&!b)continue}A.push(k)}}return this.spawn(A,!0)}}function cy0(u){var B={codirected:!1};return u=k3({},B,u),function(A){var C=[],D=this.edges(),F=u;for(var U=0;U<D.length;U++){var z=D[U],k=z._private,f=k.source,M=f._private.data.id,b=k.data.target,Z=f._private.edges;for(var J=0;J<Z.length;J++){var K=Z[J],w=K._private.data,Q=w.target,G=w.source,H=Q===b&&G===M,l=M===Q&&b===G;if(F.codirected&&H||!F.codirected&&(H||l))C.push(K)}}return this.spawn(C,!0).filter(A)}}function mG4(u,B,E,A){var C=4,D=0.001,F=0.0000001,U=10,z=11,k=1/(z-1),f=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var M=0;M<4;++M)if(typeof arguments[M]!=="number"||isNaN(arguments[M])||!isFinite(arguments[M]))return!1;u=Math.min(u,1),E=Math.min(E,1),u=Math.max(u,0),E=Math.max(E,0);var b=f?new Float32Array(z):Array(z);function Z(W,T){return 1-3*T+3*W}function J(W,T){return 3*T-6*W}function K(W){return 3*W}function w(W,T,R){return((Z(T,R)*W+J(T,R))*W+K(T))*W}function Q(W,T,R){return 3*Z(T,R)*W*W+2*J(T,R)*W+K(T)}function G(W,T){for(var R=0;R<C;++R){var Y=Q(T,u,E);if(Y===0)return T;var h=w(T,u,E)-W;T-=h/Y}return T}function H(){for(var W=0;W<z;++W)b[W]=w(W*k,u,E)}function l(W,T,R){var Y,h,I=0;do if(h=T+(R-T)/2,Y=w(h,u,E)-W,Y>0)R=h;else T=h;while(Math.abs(Y)>F&&++I<U);return h}function q(W){var T=0,R=1,Y=z-1;for(;R!==Y&&b[R]<=W;++R)T+=k;--R;var h=(W-b[R])/(b[R+1]-b[R]),I=T+h*k,O=Q(I,u,E);if(O>=D)return G(W,I);else if(O===0)return I;else return l(W,T,T+k)}var L=!1;function v(){if(L=!0,u!==B||E!==A)H()}var x=function(T){if(!L)v();if(u===B&&E===A)return T;if(T===0)return 0;if(T===1)return 1;return w(q(T),B,A)};x.getControlPoints=function(){return[{x:u,y:B},{x:E,y:A}]};var S="generateBezier("+[u,B,E,A]+")";return x.toString=function(){return S},x}function _y0(u,B,E,A,C){if(A===1)return E;if(B===E)return E;var D=C(B,E,A);if(u==null)return D;if(u.roundValue||u.color)D=Math.round(D);if(u.min!==void 0)D=Math.max(D,u.min);if(u.max!==void 0)D=Math.min(D,u.max);return D}function py0(u,B){if(u.pfValue!=null||u.value!=null)if(u.pfValue!=null&&(B==null||B.type.units!=="%"))return u.pfValue;else return u.value;else return u}function Pq(u,B,E,A,C){var D=C!=null?C.type:null;if(E<0)E=0;else if(E>1)E=1;var F=py0(u,C),U=py0(B,C);if(K4(F)&&K4(U))return _y0(D,F,U,E,A);else if(v6(F)&&v6(U)){var z=[];for(var k=0;k<U.length;k++){var f=F[k],M=U[k];if(f!=null&&M!=null){var b=_y0(D,f,M,E,A);z.push(b)}else z.push(M)}return z}return}function yG4(u,B,E,A){var C=!A,D=u._private,F=B._private,U=F.easing,z=F.startTime,k=A?u:u.cy(),f=k.style();if(!F.easingImpl)if(U==null)F.easingImpl=ja.linear;else{var M;if(n4(U)){var b=f.parse("transition-timing-function",U);M=b.value}else M=U;var Z,J;if(n4(M))Z=M,J=[];else Z=M[1],J=M.slice(2).map(function(i){return+i});if(J.length>0){if(Z==="spring")J.push(F.duration);F.easingImpl=ja[Z].apply(null,J)}else F.easingImpl=ja[Z]}var K=F.easingImpl,w;if(F.duration===0)w=1;else w=(E-z)/F.duration;if(F.applying)w=F.progress;if(w<0)w=0;else if(w>1)w=1;if(F.delay==null){var{startPosition:Q,position:G}=F;if(G&&C&&!u.locked()){var H={};if(RS(Q.x,G.x))H.x=Pq(Q.x,G.x,w,K);if(RS(Q.y,G.y))H.y=Pq(Q.y,G.y,w,K);u.position(H)}var{startPan:l,pan:q}=F,L=D.pan,v=q!=null&&A;if(v){if(RS(l.x,q.x))L.x=Pq(l.x,q.x,w,K);if(RS(l.y,q.y))L.y=Pq(l.y,q.y,w,K);u.emit("pan")}var{startZoom:x,zoom:S}=F,W=S!=null&&A;if(W){if(RS(x,S))D.zoom=yS(D.minZoom,Pq(x,S,w,K),D.maxZoom);u.emit("zoom")}if(v||W)u.emit("viewport");var T=F.style;if(T&&T.length>0&&C){for(var R=0;R<T.length;R++){var Y=T[R],h=Y.name,I=Y,O=F.startStyle[h],V=f.properties[O.name],j=Pq(O,I,w,K,V);f.overrideBypass(u,h,j)}u.emit("style")}}return F.progress=w,w}function RS(u,B){if(u==null||B==null)return!1;if(K4(u)&&K4(B))return!0;else if(u&&B)return!0;return!1}function rG4(u,B,E,A){var C=B._private;C.started=!0,C.startTime=E-C.progress*C.duration}function ny0(u,B){var E=B._private.aniEles,A=[];function C(f,M){var b=f._private,Z=b.animation.current,J=b.animation.queue,K=!1;if(Z.length===0){var w=J.shift();if(w)Z.push(w)}var Q=function(L){for(var v=L.length-1;v>=0;v--){var x=L[v];x()}L.splice(0,L.length)};for(var G=Z.length-1;G>=0;G--){var H=Z[G],l=H._private;if(l.stopped){Z.splice(G,1),l.hooked=!1,l.playing=!1,l.started=!1,Q(l.frames);continue}if(!l.playing&&!l.applying)continue;if(l.playing&&l.applying)l.applying=!1;if(!l.started)rG4(f,H,u);if(yG4(f,H,u,M),l.applying)l.applying=!1;if(Q(l.frames),l.step!=null)l.step(u);if(H.completed())Z.splice(G,1),l.hooked=!1,l.playing=!1,l.started=!1,Q(l.completes);K=!0}if(!M&&Z.length===0&&J.length===0)A.push(f);return K}var D=!1;for(var F=0;F<E.length;F++){var U=E[F],z=C(U);D=D||z}var k=C(B,!0);if(D||k)if(E.length>0)B.notify("draw",E);else B.notify("draw");E.unmerge(A),B.emit("step")}function Tg0(u){this.options=k3({},oG4,tG4,u)}function Og0(u){this.options=k3({},eG4,u)}function Ig0(u){this.options=k3({},uH4,u)}function Km(u){this.options=k3({},BH4,u),this.options.layout=this;var B=this.options.eles.nodes(),E=this.options.eles.edges(),A=E.filter(function(C){var D=C.source().data("id"),F=C.target().data("id"),U=B.some(function(k){return k.data("id")===D}),z=B.some(function(k){return k.data("id")===F});return!U||!z});this.options.eles=this.options.eles.not(A)}function Vg0(u){this.options=k3({},wH4,u)}function U70(u){this.options=k3({},QH4,u)}function hg0(u){this.options=k3({},GH4,u)}function ig0(u){this.options=k3({},HH4,u)}function ag0(u){this.options=u,this.notifications=0}function yg0(u,B){if(B.radius===0)u.lineTo(B.cx,B.cy);else u.arc(B.cx,B.cy,B.radius,B.startAngle,B.endAngle,B.counterClockwise)}function k70(u,B,E,A){var C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;if(A===0||B.radius===0)return{cx:B.x,cy:B.y,radius:0,startX:B.x,startY:B.y,stopX:B.x,stopY:B.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0};return LH4(u,B,E,A,C),{cx:P50,cy:j50,radius:PK,startX:mg0,startY:$g0,stopX:N50,stopY:V50,startAngle:pF.ang+Math.PI/2*NK,endAngle:ZA.ang-Math.PI/2*NK,counterClockwise:ha}}function rg0(u){var B=[];if(u==null)return;for(var E=0;E<u.length;E+=2){var A=u[E],C=u[E+1];B.push({x:A,y:C})}return B}function vH4(u,B,E){var A=function(k,f,M,b){return T5(k,f,M,b)},C=B._private,D=C.rstyle.bezierPts;for(var F=0;F<u.bezierProjPcts.length;F++){var U=u.bezierProjPcts[F];D.push({x:A(E[0],E[2],E[4],U),y:A(E[1],E[3],E[5],U)})}}function Eq4(u,B){for(var E=0;E<B.length;E++){var A=B[E];u.lineTo(A.x,A.y)}}function Aq4(u,B,E){var A;for(var C=0;C<B.length;C++){var D=B[C];if(C===0)A=D;u.lineTo(D.x,D.y)}u.quadraticCurveTo(E.x,E.y,A.x,A.y)}function br0(u,B,E){if(u.beginPath)u.beginPath();var A=B;for(var C=0;C<A.length;C++){var D=A[C];u.lineTo(D.x,D.y)}var F=E,U=E[0];u.moveTo(U.x,U.y);for(var C=1;C<F.length;C++){var D=F[C];u.lineTo(D.x,D.y)}if(u.closePath)u.closePath()}function Cq4(u,B,E,A,C){if(u.beginPath)u.beginPath();u.arc(E,A,C,0,Math.PI*2,!1);var D=B,F=D[0];u.moveTo(F.x,F.y);for(var U=0;U<D.length;U++){var z=D[U];u.lineTo(z.x,z.y)}if(u.closePath)u.closePath()}function Dq4(u,B,E,A){u.arc(B,E,A,0,Math.PI*2,!1)}function Mq4(u,B,E,A,C){var D=Math.min(A,C),F=D/2,U=B+A/2,z=E+C/2;u.beginPath(),u.arc(U,z,F,0,Math.PI*2),u.closePath()}function Zr0(u,B,E,A,C){var D=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,F=Math.min(D,A/2,C/2);u.beginPath(),u.moveTo(B+F,E),u.lineTo(B+A-F,E),u.quadraticCurveTo(B+A,E,B+A,E+F),u.lineTo(B+A,E+C-F),u.quadraticCurveTo(B+A,E+C,B+A-F,E+C),u.lineTo(B+F,E+C),u.quadraticCurveTo(B,E+C,B,E+C-F),u.lineTo(B,E+F),u.quadraticCurveTo(B,E,B+F,E),u.closePath()}function Jr0(u,B,E){var A=u.createShader(B);if(u.shaderSource(A,E),u.compileShader(A),!u.getShaderParameter(A,u.COMPILE_STATUS))throw Error(u.getShaderInfoLog(A));return A}function Zq4(u,B,E){var A=Jr0(u,u.VERTEX_SHADER,B),C=Jr0(u,u.FRAGMENT_SHADER,E),D=u.createProgram();if(u.attachShader(D,A),u.attachShader(D,C),u.linkProgram(D),!u.getProgramParameter(D,u.LINK_STATUS))throw Error("Could not initialize shaders");return D}function Jq4(u,B,E){if(E===void 0)E=B;var A=u.makeOffscreenCanvas(B,E),C=A.context=A.getContext("2d");return A.clear=function(){return C.clearRect(0,0,A.width,A.height)},A.clear(),A}function b70(u){var B=u.pixelRatio,E=u.cy.zoom(),A=u.cy.pan();return{zoom:E*B,pan:{x:A.x*B,y:A.y*B}}}function Kq4(u){var B=u.pixelRatio,E=u.cy.zoom();return E*B}function wq4(u,B,E,A,C){var D=A*E+B.x,F=C*E+B.y;return F=Math.round(u.canvasHeight-F),[D,F]}function Qq4(u,B){if(B.picking)return!0;else{if(u.pstyle("background-fill").value!=="solid")return!1;if(u.pstyle("background-image").strValue!=="none")return!1;if(u.pstyle("border-width").value===0)return!0;if(u.pstyle("border-opacity").value===0)return!0;if(u.pstyle("border-style").value!=="solid")return!1;return!0}}function Gq4(u,B){if(u.length!==B.length)return!1;for(var E=0;E<u.length;E++)if(u[E]!==B[E])return!1;return!0}function OK(u,B,E){var A=u[0]/255,C=u[1]/255,D=u[2]/255,F=B,U=E||[,,,,];return U[0]=A*F,U[1]=C*F,U[2]=D*F,U[3]=F,U}function Vq(u,B){var E=B||[,,,,];return E[0]=(u>>0&255)/255,E[1]=(u>>8&255)/255,E[2]=(u>>16&255)/255,E[3]=(u>>24&255)/255,E}function Hq4(u){return u[0]+(u[1]<<8)+(u[2]<<16)+(u[3]<<24)}function qq4(u,B){var E=u.createTexture();return E.buffer=function(A){u.bindTexture(u.TEXTURE_2D,E),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_S,u.CLAMP_TO_EDGE),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_T,u.CLAMP_TO_EDGE),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MAG_FILTER,u.LINEAR),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MIN_FILTER,u.LINEAR_MIPMAP_NEAREST),u.pixelStorei(u.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),u.texImage2D(u.TEXTURE_2D,0,u.RGBA,u.RGBA,u.UNSIGNED_BYTE,A),u.generateMipmap(u.TEXTURE_2D),u.bindTexture(u.TEXTURE_2D,null)},E.deleteTexture=function(){u.deleteTexture(E)},E}function Ac0(u,B){switch(B){case"float":return[1,u.FLOAT,4];case"vec2":return[2,u.FLOAT,4];case"vec3":return[3,u.FLOAT,4];case"vec4":return[4,u.FLOAT,4];case"int":return[1,u.INT,4];case"ivec2":return[2,u.INT,4]}}function Cc0(u,B,E){switch(B){case u.FLOAT:return new Float32Array(E);case u.INT:return new Int32Array(E)}}function lq4(u,B,E,A,C,D){switch(B){case u.FLOAT:return new Float32Array(E.buffer,D*A,C);case u.INT:return new Int32Array(E.buffer,D*A,C)}}function Lq4(u,B,E,A){var C=Ac0(u,B),D=Y2(C,2),F=D[0],U=D[1],z=Cc0(u,U,A),k=u.createBuffer();if(u.bindBuffer(u.ARRAY_BUFFER,k),u.bufferData(u.ARRAY_BUFFER,z,u.STATIC_DRAW),U===u.FLOAT)u.vertexAttribPointer(E,F,U,!1,0,0);else if(U===u.INT)u.vertexAttribIPointer(E,F,U,0,0);return u.enableVertexAttribArray(E),u.bindBuffer(u.ARRAY_BUFFER,null),k}function _F(u,B,E,A){var C=Ac0(u,E),D=Y2(C,3),F=D[0],U=D[1],z=D[2],k=Cc0(u,U,B*F),f=F*z,M=u.createBuffer();if(u.bindBuffer(u.ARRAY_BUFFER,M),u.bufferData(u.ARRAY_BUFFER,B*f,u.DYNAMIC_DRAW),u.enableVertexAttribArray(A),U===u.FLOAT)u.vertexAttribPointer(A,F,U,!1,f,0);else if(U===u.INT)u.vertexAttribIPointer(A,F,U,f,0);u.vertexAttribDivisor(A,1),u.bindBuffer(u.ARRAY_BUFFER,null);var b=Array(B);for(var Z=0;Z<B;Z++)b[Z]=lq4(u,U,k,f,F,Z);return M.dataArray=k,M.stride=f,M.size=F,M.getView=function(J){return b[J]},M.setPoint=function(J,K,w){var Q=b[J];Q[0]=K,Q[1]=w},M.bufferSubData=function(J){if(u.bindBuffer(u.ARRAY_BUFFER,M),J)u.bufferSubData(u.ARRAY_BUFFER,0,k,0,J*F);else u.bufferSubData(u.ARRAY_BUFFER,0,k)},M}function Xq4(u,B,E){var A=9,C=new Float32Array(B*A),D=Array(B);for(var F=0;F<B;F++){var U=F*A*4;D[F]=new Float32Array(C.buffer,U,A)}var z=u.createBuffer();u.bindBuffer(u.ARRAY_BUFFER,z),u.bufferData(u.ARRAY_BUFFER,C.byteLength,u.DYNAMIC_DRAW);for(var k=0;k<3;k++){var f=E+k;u.enableVertexAttribArray(f),u.vertexAttribPointer(f,3,u.FLOAT,!1,36,k*12),u.vertexAttribDivisor(f,1)}return u.bindBuffer(u.ARRAY_BUFFER,null),z.getMatrixView=function(M){return D[M]},z.setData=function(M,b){D[b].set(M,0)},z.bufferSubData=function(){u.bindBuffer(u.ARRAY_BUFFER,z),u.bufferSubData(u.ARRAY_BUFFER,0,C)},z}function vq4(u){var B=u.createFramebuffer();u.bindFramebuffer(u.FRAMEBUFFER,B);var E=u.createTexture();return u.bindTexture(u.TEXTURE_2D,E),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MIN_FILTER,u.LINEAR),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_S,u.CLAMP_TO_EDGE),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_T,u.CLAMP_TO_EDGE),u.framebufferTexture2D(u.FRAMEBUFFER,u.COLOR_ATTACHMENT0,u.TEXTURE_2D,E,0),u.bindFramebuffer(u.FRAMEBUFFER,null),B.setFramebufferAttachmentSizes=function(A,C){u.bindTexture(u.TEXTURE_2D,E),u.texImage2D(u.TEXTURE_2D,0,u.RGBA,A,C,0,u.RGBA,u.UNSIGNED_BYTE,null)},B}function w50(){var u=new Kr0(9);if(Kr0!=Float32Array)u[1]=0,u[2]=0,u[3]=0,u[5]=0,u[6]=0,u[7]=0;return u[0]=1,u[4]=1,u[8]=1,u}function wr0(u){return u[0]=1,u[1]=0,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=0,u[8]=1,u}function xq4(u,B,E){var A=B[0],C=B[1],D=B[2],F=B[3],U=B[4],z=B[5],k=B[6],f=B[7],M=B[8],b=E[0],Z=E[1],J=E[2],K=E[3],w=E[4],Q=E[5],G=E[6],H=E[7],l=E[8];return u[0]=b*A+Z*F+J*k,u[1]=b*C+Z*U+J*f,u[2]=b*D+Z*z+J*M,u[3]=K*A+w*F+Q*k,u[4]=K*C+w*U+Q*f,u[5]=K*D+w*z+Q*M,u[6]=G*A+H*F+l*k,u[7]=G*C+H*U+l*f,u[8]=G*D+H*z+l*M,u}function aa(u,B,E){var A=B[0],C=B[1],D=B[2],F=B[3],U=B[4],z=B[5],k=B[6],f=B[7],M=B[8],b=E[0],Z=E[1];return u[0]=A,u[1]=C,u[2]=D,u[3]=F,u[4]=U,u[5]=z,u[6]=b*A+Z*F+k,u[7]=b*C+Z*U+f,u[8]=b*D+Z*z+M,u}function Qr0(u,B,E){var A=B[0],C=B[1],D=B[2],F=B[3],U=B[4],z=B[5],k=B[6],f=B[7],M=B[8],b=Math.sin(E),Z=Math.cos(E);return u[0]=Z*A+b*F,u[1]=Z*C+b*U,u[2]=Z*D+b*z,u[3]=Z*F-b*A,u[4]=Z*U-b*C,u[5]=Z*z-b*D,u[6]=k,u[7]=f,u[8]=M,u}function i50(u,B,E){var A=E[0],C=E[1];return u[0]=A*B[0],u[1]=A*B[1],u[2]=A*B[2],u[3]=C*B[3],u[4]=C*B[4],u[5]=C*B[5],u[6]=B[6],u[7]=B[7],u[8]=B[8],u}function Wq4(u,B,E){return u[0]=2/B,u[1]=0,u[2]=0,u[3]=0,u[4]=-2/E,u[5]=0,u[6]=-1,u[7]=1,u[8]=1,u}function Rq4(u,B){if(u.intersection)return u.intersection(B);else return new Set(ma(u).filter(function(E){return B.has(E)}))}function hq4(u){var B=u.cy.container(),E=B&&B.style&&B.style.backgroundColor||"white";return Or0(E)}function Fc0(u,B){var E=u._private.rscratch;return vB(E,"labelWrapCachedLines",B)||[]}function iq4(u){{var B=u.render;u.render=function(D){D=D||{};var F=u.cy;if(u.webgl)if(F.zoom()>tg0)aq4(u),B.call(u,D);else mq4(u),zc0(u,D,iS.SCREEN)}}{var E=u.matchCanvasSize;u.matchCanvasSize=function(D){E.call(u,D),u.pickingFrameBuffer.setFramebufferAttachmentSizes(u.canvasWidth,u.canvasHeight),u.pickingFrameBuffer.needsDraw=!0}}u.findNearestElements=function(D,F,U,z){return _q4(u,D,F)};{var A=u.invalidateCachedZSortedEles;u.invalidateCachedZSortedEles=function(){A.call(u),u.pickingFrameBuffer.needsDraw=!0}}{var C=u.notify;u.notify=function(D,F){if(C.call(u,D,F),D==="viewport"||D==="bounds")u.pickingFrameBuffer.needsDraw=!0;else if(D==="background")u.drawing.invalidate(F,{type:"node-body"})}}}function aq4(u){var B=u.data.contexts[u.WEBGL];B.clear(B.COLOR_BUFFER_BIT|B.DEPTH_BUFFER_BIT)}function mq4(u){var B=function(A){A.save(),A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,u.canvasWidth,u.canvasHeight),A.restore()};B(u.data.contexts[u.NODE]),B(u.data.contexts[u.DRAG])}function $q4(u){var{canvasWidth:B,canvasHeight:E}=u,A=b70(u),C=A.pan,D=A.zoom,F=w50();aa(F,F,[C.x,C.y]),i50(F,F,[D,D]);var U=w50();Wq4(U,B,E);var z=w50();return xq4(z,U,F),z}function Uc0(u,B){var{canvasWidth:E,canvasHeight:A}=u,C=b70(u),D=C.pan,F=C.zoom;B.setTransform(1,0,0,1,0,0),B.clearRect(0,0,E,A),B.translate(D.x,D.y),B.scale(F,F)}function yq4(u,B){u.drawSelectionRectangle(B,function(E){return Uc0(u,E)})}function rq4(u){var B=u.data.contexts[u.NODE];B.save(),Uc0(u,B),B.strokeStyle="rgba(0, 0, 0, 0.3)",B.beginPath(),B.moveTo(-1000,0),B.lineTo(1000,0),B.stroke(),B.beginPath(),B.moveTo(0,-1000),B.lineTo(0,1000),B.stroke(),B.restore()}function gq4(u){var B=function(C,D,F){var U=C.atlasManager.getAtlasCollection(D),z=u.data.contexts[u.NODE],k=U.atlases;for(var f=0;f<k.length;f++){var M=k[f],b=M.canvas;if(b){var{width:Z,height:J}=b,K=Z*f,w=b.height*F,Q=0.4;z.save(),z.scale(Q,Q),z.drawImage(b,K,w),z.strokeStyle="black",z.rect(K,w,Z,J),z.stroke(),z.restore()}}},E=0;B(u.drawing,"node",E++),B(u.drawing,"label",E++)}function cq4(u,B,E,A,C){var D,F,U,z,k=b70(u),f=k.pan,M=k.zoom;{var b=wq4(u,f,M,B,E),Z=Y2(b,2),J=Z[0],K=Z[1],w=6;D=J-w/2,F=K-w/2,U=w,z=w}if(U===0||z===0)return[];var Q=u.data.contexts[u.WEBGL];if(Q.bindFramebuffer(Q.FRAMEBUFFER,u.pickingFrameBuffer),u.pickingFrameBuffer.needsDraw)Q.viewport(0,0,Q.canvas.width,Q.canvas.height),zc0(u,null,iS.PICKING),u.pickingFrameBuffer.needsDraw=!1;var G=U*z,H=new Uint8Array(G*4);Q.readPixels(D,F,U,z,Q.RGBA,Q.UNSIGNED_BYTE,H),Q.bindFramebuffer(Q.FRAMEBUFFER,null);var l=new Set;for(var q=0;q<G;q++){var L=H.slice(q*4,q*4+4),v=Hq4(L)-1;if(v>=0)l.add(v)}return l}function _q4(u,B,E){var A=cq4(u,B,E),C=u.getCachedZSortedEles(),D,F,U=l8(A),z;try{for(U.s();!(z=U.n()).done;){var k=z.value,f=C[k];if(!D&&f.isNode())D=f;if(!F&&f.isEdge())F=f;if(D&&F)break}}catch(M){U.e(M)}finally{U.f()}return[D,F].filter(Boolean)}function l50(u,B,E){var A=u.drawing;if(B+=1,E.isNode())A.drawNode(E,B,"node-underlay"),A.drawNode(E,B,"node-body"),A.drawTexture(E,B,"label"),A.drawNode(E,B,"node-overlay");else A.drawEdgeLine(E,B),A.drawEdgeArrow(E,B,"source"),A.drawEdgeArrow(E,B,"target"),A.drawTexture(E,B,"label"),A.drawTexture(E,B,"edge-source-label"),A.drawTexture(E,B,"edge-target-label")}function zc0(u,B,E){var A;if(u.webglDebug)A=performance.now();var C=u.drawing,D=0;if(E.screen){if(u.data.canvasNeedsRedraw[u.SELECT_BOX])yq4(u,B)}if(u.data.canvasNeedsRedraw[u.NODE]||E.picking){var F=u.data.contexts[u.WEBGL];if(E.screen)F.clearColor(0,0,0,0),F.enable(F.BLEND),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA);else F.disable(F.BLEND);F.clear(F.COLOR_BUFFER_BIT|F.DEPTH_BUFFER_BIT),F.viewport(0,0,F.canvas.width,F.canvas.height);var U=$q4(u),z=u.getCachedZSortedEles();if(D=z.length,C.startFrame(U,E),E.screen){for(var k=0;k<z.nondrag.length;k++)l50(u,k,z.nondrag[k]);for(var f=0;f<z.drag.length;f++)l50(u,f,z.drag[f])}else if(E.picking)for(var M=0;M<z.length;M++)l50(u,M,z[M]);if(C.endFrame(),E.screen&&u.webglDebugShowAtlases)rq4(u),gq4(u);u.data.canvasNeedsRedraw[u.NODE]=!1,u.data.canvasNeedsRedraw[u.DRAG]=!1}if(u.webglDebug){var b=performance.now(),Z=!1,J=Math.ceil(b-A),K=C.getDebugInfo(),w=["".concat(D," elements"),"".concat(K.totalInstances," instances"),"".concat(K.batchCount," batches"),"".concat(K.totalAtlases," atlases"),"".concat(K.wrappedCount," wrapped textures"),"".concat(K.simpleCount," simple shapes")].join(", ");if(Z)console.log("WebGL (".concat(E.name,") - time ").concat(J,"ms, ").concat(w));else{console.log("WebGL (".concat(E.name,") - frame time ").concat(J,"ms")),console.log("Totals:"),console.log(" ".concat(w)),console.log("Texture Atlases Used:");var Q=K.atlasInfo,G=l8(Q),H;try{for(G.s();!(H=G.n()).done;){var l=H.value;console.log(" ".concat(l.type,": ").concat(l.keyCount," keys, ").concat(l.atlasCount," atlases"))}}catch(q){G.e(q)}finally{G.f()}console.log("")}}if(u.data.gc)console.log("Garbage Collect!"),u.data.gc=!1,C.gc()}function pq4(u,B){var E=atob(u),A=new ArrayBuffer(E.length),C=new Uint8Array(A);for(var D=0;D<E.length;D++)C[D]=E.charCodeAt(D);return new Blob([A],{type:B})}function Lr0(u){var B=u.indexOf(",");return u.substr(B+1)}function fc0(u,B,E){var A=function(){return B.toDataURL(E,u.quality)};switch(u.output){case"blob-promise":return new tq(function(C,D){try{B.toBlob(function(F){if(F!=null)C(F);else D(Error("`canvas.toBlob()` sent a null value in its callback"))},E,u.quality)}catch(F){D(F)}});case"blob":return pq4(Lr0(A()),E);case"base64":return Lr0(A());case"base64uri":default:return A()}}function bc0(u){var B=this,E=B.cy.window(),A=E.document;if(u.webgl)B1.CANVAS_LAYERS=B.CANVAS_LAYERS=4,console.log("webgl rendering enabled");B.data={canvases:Array(B1.CANVAS_LAYERS),contexts:Array(B1.CANVAS_LAYERS),canvasNeedsRedraw:Array(B1.CANVAS_LAYERS),bufferCanvases:Array(B1.BUFFER_COUNT),bufferContexts:Array(B1.CANVAS_LAYERS)};var C="-webkit-tap-highlight-color",D="rgba(0,0,0,0)";B.data.canvasContainer=A.createElement("div");var F=B.data.canvasContainer.style;B.data.canvasContainer.style[C]=D,F.position="relative",F.zIndex="0",F.overflow="hidden";var U=u.cy.container();U.appendChild(B.data.canvasContainer),U.style[C]=D;var z={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};if(iJ4())z["-ms-touch-action"]="none",z["touch-action"]="none";for(var k=0;k<B1.CANVAS_LAYERS;k++){var f=B.data.canvases[k]=A.createElement("canvas"),M=B1.CANVAS_TYPES[k];if(B.data.contexts[k]=f.getContext(M),!B.data.contexts[k])z9("Could not create canvas of type "+M);Object.keys(z).forEach(function(B0){f.style[B0]=z[B0]}),f.style.position="absolute",f.setAttribute("data-id","layer"+k),f.style.zIndex=String(B1.CANVAS_LAYERS-k),B.data.canvasContainer.appendChild(f),B.data.canvasNeedsRedraw[k]=!1}if(B.data.topCanvas=B.data.canvases[0],B.data.canvases[B1.NODE].setAttribute("data-id","layer"+B1.NODE+"-node"),B.data.canvases[B1.SELECT_BOX].setAttribute("data-id","layer"+B1.SELECT_BOX+"-selectbox"),B.data.canvases[B1.DRAG].setAttribute("data-id","layer"+B1.DRAG+"-drag"),B.data.canvases[B1.WEBGL])B.data.canvases[B1.WEBGL].setAttribute("data-id","layer"+B1.WEBGL+"-webgl");for(var k=0;k<B1.BUFFER_COUNT;k++)B.data.bufferCanvases[k]=A.createElement("canvas"),B.data.bufferContexts[k]=B.data.bufferCanvases[k].getContext("2d"),B.data.bufferCanvases[k].style.position="absolute",B.data.bufferCanvases[k].setAttribute("data-id","buffer"+k),B.data.bufferCanvases[k].style.zIndex=String(-k-1),B.data.bufferCanvases[k].style.visibility="hidden";B.pathsEnabled=!0;var b=xB(),Z=function(k0){return{x:(k0.x1+k0.x2)/2,y:(k0.y1+k0.y2)/2}},J=function(k0){return{x:-k0.w/2,y:-k0.h/2}},K=function(k0){var f0=k0[0]._private,D0=f0.oldBackgroundTimestamp===f0.backgroundTimestamp;return!D0},w=function(k0){return k0[0]._private.nodeKey},Q=function(k0){return k0[0]._private.labelStyleKey},G=function(k0){return k0[0]._private.sourceLabelStyleKey},H=function(k0){return k0[0]._private.targetLabelStyleKey},l=function(k0,f0,D0,P0,L0){return B.drawElement(k0,f0,D0,!1,!1,L0)},q=function(k0,f0,D0,P0,L0){return B.drawElementText(k0,f0,D0,P0,"main",L0)},L=function(k0,f0,D0,P0,L0){return B.drawElementText(k0,f0,D0,P0,"source",L0)},v=function(k0,f0,D0,P0,L0){return B.drawElementText(k0,f0,D0,P0,"target",L0)},x=function(k0){return k0.boundingBox(),k0[0]._private.bodyBounds},S=function(k0){return k0.boundingBox(),k0[0]._private.labelBounds.main||b},W=function(k0){return k0.boundingBox(),k0[0]._private.labelBounds.source||b},T=function(k0){return k0.boundingBox(),k0[0]._private.labelBounds.target||b},R=function(k0,f0){return f0},Y=function(k0){return Z(x(k0))},h=function(k0,f0,D0){var P0=k0?k0+"-":"";return{x:f0.x+D0.pstyle(P0+"text-margin-x").pfValue,y:f0.y+D0.pstyle(P0+"text-margin-y").pfValue}},I=function(k0,f0,D0){var P0=k0[0]._private.rscratch;return{x:P0[f0],y:P0[D0]}},O=function(k0){return h("",I(k0,"labelX","labelY"),k0)},V=function(k0){return h("source",I(k0,"sourceLabelX","sourceLabelY"),k0)},j=function(k0){return h("target",I(k0,"targetLabelX","targetLabelY"),k0)},i=function(k0){return J(x(k0))},a=function(k0){return J(W(k0))},$=function(k0){return J(T(k0))},m=function(k0){var f0=S(k0),D0=J(S(k0));if(k0.isNode()){switch(dq(k0.pstyle("text-halign").value)){case"left":D0.x=-f0.w-(f0.leftPad||0);break;case"right":D0.x=-(f0.rightPad||0);break}switch(sq(k0.pstyle("text-valign").value)){case"top":D0.y=-f0.h-(f0.topPad||0);break;case"bottom":D0.y=-(f0.botPad||0);break}}return D0},y=B.data.eleTxrCache=new NS(B,{getKey:w,doesEleInvalidateKey:K,drawElement:l,getBoundingBox:x,getRotationPoint:Y,getRotationOffset:i,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),r=B.data.lblTxrCache=new NS(B,{getKey:Q,drawElement:q,getBoundingBox:S,getRotationPoint:O,getRotationOffset:m,isVisible:R}),_=B.data.slbTxrCache=new NS(B,{getKey:G,drawElement:L,getBoundingBox:W,getRotationPoint:V,getRotationOffset:a,isVisible:R}),e=B.data.tlbTxrCache=new NS(B,{getKey:H,drawElement:v,getBoundingBox:T,getRotationPoint:j,getRotationOffset:$,isVisible:R}),p=B.data.lyrTxrCache=new eg0(B);B.onUpdateEleCalcs(function(k0,f0){y.invalidateElements(f0),r.invalidateElements(f0),_.invalidateElements(f0),e.invalidateElements(f0),p.invalidateElements(f0);for(var D0=0;D0<f0.length;D0++){var P0=f0[D0]._private;P0.oldBackgroundTimestamp=P0.backgroundTimestamp}});var b0=function(k0){for(var f0=0;f0<k0.length;f0++)p.enqueueElementRefinement(k0[f0].ele)};if(y.onDequeue(b0),r.onDequeue(b0),_.onDequeue(b0),e.onDequeue(b0),u.webgl)B.initWebgl(u,{getStyleKey:w,getLabelKey:Q,getSourceLabelKey:G,getTargetLabelKey:H,drawElement:l,drawLabel:q,drawSourceLabel:L,drawTargetLabel:v,getElementBox:x,getLabelBox:S,getSourceLabelBox:W,getTargetLabelBox:T,getElementRotationPoint:Y,getElementRotationOffset:i,getLabelRotationPoint:O,getSourceLabelRotationPoint:V,getTargetLabelRotationPoint:j,getLabelRotationOffset:m,getSourceLabelRotationOffset:a,getTargetLabelRotationOffset:$})}function Kc0(u,B,E){var A=E,C=function(x){D6("Can not register `"+B+"` for `"+u+"` since `"+x+"` already exists in the prototype and can not be overridden")};if(u==="core")if(pS.prototype[B])return C(B);else pS.prototype[B]=E;else if(u==="collection")if(z7.prototype[B])return C(B);else z7.prototype[B]=E;else if(u==="layout"){var D=function(x){if(this.options=x,E.call(this,x),!Y1(this._private))this._private={};this._private.cy=x.cy,this._private.listeners=[],this.createEmitter()},F=D.prototype=Object.create(E.prototype),U=[];for(var z=0;z<U.length;z++){var k=U[z];F[k]=F[k]||function(){return this}}if(F.start&&!F.run)F.run=function(){return this.start(),this};else if(!F.start&&F.run)F.start=function(){return this.run(),this};var f=E.prototype.stop;if(F.stop=function(){var v=this.options;if(v&&v.animate){var x=this.animations;if(x)for(var S=0;S<x.length;S++)x[S].stop()}if(f)f.call(this);else this.emit("layoutstop");return this},!F.destroy)F.destroy=function(){return this};F.cy=function(){return this._private.cy};var M=function(x){return x._private.cy},b={addEventFields:function(x,S){S.layout=x,S.cy=M(x),S.target=x},bubble:function(){return!0},parent:function(x){return M(x)}};k3(F,{createEmitter:function(){return this._private.emitter=new fm(b,this),this},emitter:function(){return this._private.emitter},on:function(x,S){return this.emitter().on(x,S),this},one:function(x,S){return this.emitter().one(x,S),this},once:function(x,S){return this.emitter().one(x,S),this},removeListener:function(x,S){return this.emitter().removeListener(x,S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(x,S){return this.emitter().emit(x,S),this}}),C6.eventAliasesOn(F),A=D}else if(u==="renderer"&&B!=="null"&&B!=="base"){var Z=wc0("renderer","base"),J=Z.prototype,K=E,w=E.prototype,Q=function(){Z.apply(this,arguments),K.apply(this,arguments)},G=Q.prototype;for(var H in J){var l=J[H],q=w[H]!=null;if(q)return C(H);G[H]=l}for(var L in w)G[L]=w[L];J.clientFunctions.forEach(function(v){G[v]=G[v]||function(){z9("Renderer does not implement `renderer."+v+"()` on its prototype")}}),A=Q}else if(u==="__proto__"||u==="constructor"||u==="prototype")return z9(u+" is an illegal type to be registered, possibly lead to prototype pollutions");return Ir0({map:Zc0,keys:[u,B],value:A})}function wc0(u,B){return Pr0({map:Zc0,keys:[u,B]})}function tq4(u,B,E,A,C){return Ir0({map:Jc0,keys:[u,B,E,A],value:C})}function eq4(u,B,E,A){return Pr0({map:Jc0,keys:[u,B,E,A]})}var o2,dm0,TJ4,xr0,OJ4,IJ4,dS=function(B){return B&&B.instanceString&&l9(B.instanceString)?B.instanceString():null},n4=function(B){return B!=null&&e2(B)==TJ4},l9=function(B){return B!=null&&e2(B)===OJ4},v6=function(B){return!GE(B)&&(Array.isArray?Array.isArray(B):B!=null&&B instanceof Array)},Y1=function(B){return B!=null&&e2(B)===xr0&&!v6(B)&&B.constructor===Object},PJ4=function(B){return B!=null&&e2(B)===xr0},K4=function(B){return B!=null&&e2(B)===e2(1)&&!isNaN(B)},Wr0=function(B){return K4(B)&&Math.floor(B)===B},$a=function(B){if(IJ4==="undefined")return;else return B!=null&&B instanceof HTMLElement},GE=function(B){return sS(B)||Sr0(B)},sS=function(B){return dS(B)==="collection"&&B._private.single},Sr0=function(B){return dS(B)==="collection"&&!B._private.single},r50=function(B){return dS(B)==="core"},Yr0=function(B){return dS(B)==="stylesheet"},jJ4=function(B){return dS(B)==="event"},dM=function(B){if(B===void 0||B===null)return!0;else if(B===""||B.match(/^\s+$/))return!0;return!1},NJ4=function(B){if(typeof HTMLElement>"u")return!1;else return B instanceof HTMLElement},VJ4=function(B){return Y1(B)&&K4(B.x1)&&K4(B.x2)&&K4(B.y1)&&K4(B.y2)},hJ4=function(B){return PJ4(B)&&l9(B.then)},iJ4=function(){return dm0&&dm0.userAgent.match(/msie|trident|edge/i)},_q=function(B,E){if(!E)E=function(){if(arguments.length===1)return arguments[0];else if(arguments.length===0)return"undefined";var D=[];for(var F=0;F<arguments.length;F++)D.push(arguments[F]);return D.join("$")};var A=function(){var D=this,F=arguments,U,z=E.apply(D,F),k=A.cache;if(!(U=k[z]))U=k[z]=B.apply(D,F);return U};return A.cache={},A},g50,um,Rr0,sm0=function(B){if(dM(B))return B;return B.charAt(0).toUpperCase()+B.substring(1)},gM=function(B,E){return B.slice(-1*E.length)===E},t2="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",aJ4,mJ4,$J4,yJ4,rJ4="\\#[0-9a-fA-F]{3}",gJ4="\\#[0-9a-fA-F]{6}",Tr0=function(B,E){if(B<E)return-1;else if(B>E)return 1;else return 0},cJ4=function(B,E){return-1*Tr0(B,E)},k3,_J4=function(B){if(!(B.length===4||B.length===7)||B[0]!=="#")return;var E=B.length===4,A,C,D,F=16;if(E)A=parseInt(B[1]+B[1],F),C=parseInt(B[2]+B[2],F),D=parseInt(B[3]+B[3],F);else A=parseInt(B[1]+B[2],F),C=parseInt(B[3]+B[4],F),D=parseInt(B[5]+B[6],F);return[A,C,D]},pJ4=function(B){var E,A,C,D,F,U,z,k;function f(J,K,w){if(w<0)w+=1;if(w>1)w-=1;if(w<0.16666666666666666)return J+(K-J)*6*w;if(w<0.5)return K;if(w<0.6666666666666666)return J+(K-J)*(0.6666666666666666-w)*6;return J}var M=new RegExp("^"+$J4+"$").exec(B);if(M){if(A=parseInt(M[1]),A<0)A=(360- -1*A%360)%360;else if(A>360)A=A%360;if(A/=360,C=parseFloat(M[2]),C<0||C>100)return;if(C=C/100,D=parseFloat(M[3]),D<0||D>100)return;if(D=D/100,F=M[4],F!==void 0){if(F=parseFloat(F),F<0||F>1)return}if(C===0)U=z=k=Math.round(D*255);else{var b=D<0.5?D*(1+C):D+C-D*C,Z=2*D-b;U=Math.round(255*f(Z,b,A+0.3333333333333333)),z=Math.round(255*f(Z,b,A)),k=Math.round(255*f(Z,b,A-0.3333333333333333))}E=[U,z,k,F]}return E},nJ4=function(B){var E,A=new RegExp("^"+aJ4+"$").exec(B);if(A){E=[];var C=[];for(var D=1;D<=3;D++){var F=A[D];if(F[F.length-1]==="%")C[D]=!0;if(F=parseFloat(F),C[D])F=F/100*255;if(F<0||F>255)return;E.push(Math.floor(F))}var U=C[1]||C[2]||C[3],z=C[1]&&C[2]&&C[3];if(U&&!z)return;var k=A[4];if(k!==void 0){if(k=parseFloat(k),k<0||k>1)return;E.push(k)}}return E},dJ4=function(B){return sJ4[B.toLowerCase()]},Or0=function(B){return(v6(B)?B:null)||dJ4(B)||_J4(B)||nJ4(B)||pJ4(B)},sJ4,Ir0=function(B){var{map:E,keys:A}=B,C=A.length;for(var D=0;D<C;D++){var F=A[D];if(Y1(F))throw Error("Tried to set map with object key");if(D<A.length-1){if(E[F]==null)E[F]={};E=E[F]}else E[F]=B.value}},Pr0=function(B){var{map:E,keys:A}=B,C=A.length;for(var D=0;D<C;D++){var F=A[D];if(Y1(F))throw Error("Tried to get map with object key");if(E=E[F],E==null)return E}return E},wa,_90,om0,p90,tm0,n90,em0,d90,u$0,s90,B$0,o90,E$0,t90,A$0,e90,C$0,u20,D$0,B20,F$0,E20,U$0,A20,z$0,C20,k$0,D20,f$0,FK4,uY,F20,Nr0,UK4,ya=function(B){return UK4(B)},Ak,jK=9261,Vr0=65599,iq=5381,hr0=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:jK,A=E,C;for(;;){if(C=B.next(),C.done)break;A=A*Vr0+C.value|0}return A},aS=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:jK;return E*Vr0+B|0},mS=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:iq;return(E<<5)+E+B|0},zK4=function(B,E){return B*2097152+E},mM=function(B){return B[0]*2097152+B[1]},Qa=function(B,E){return[aS(B[0],E[0]),mS(B[1],E[1])]},M$0=function(B,E){var A={value:0,done:!1},C=0,D=B.length,F={next:function(){if(C<D)A.value=B[C++];else A.done=!0;return A}};return hr0(F,E)},hK=function(B,E){var A={value:0,done:!1},C=0,D=B.length,F={next:function(){if(C<D)A.value=B.charCodeAt(C++);else A.done=!0;return A}};return hr0(F,E)},ir0=function(){return kK4(arguments)},kK4=function(B){var E;for(var A=0;A<B.length;A++){var C=B[A];if(A===0)E=hK(C);else E=hK(C,E)}return E},MK4=function(B,E,A,C,D,F){return{x:(B-A)*D+A,y:(E-C)*F+C}},b$0=!0,ZK4,JK4,_50,ar0=function(){return!0},ra=function(){return!1},Z$0=function(){return 0},p50=function(){},z9=function(B){throw Error(B)},mr0=function(B){if(B!==void 0)b$0=!!B;else return b$0},D6=function(B){if(!mr0())return;if(ZK4)console.warn(B);else if(console.log(B),JK4)console.trace()},KK4=function(B){return k3({},B)},dF=function(B){if(B==null)return B;if(v6(B))return B.slice();else if(Y1(B))return KK4(B);else return B},wK4=function(B){return B.slice()},$r0=function(B,E){for(E=B="";B++<36;E+=B*51&52?(B^15?8^Math.random()*(B^20?16:4):4).toString(16):"-");return E},QK4,yr0=function(){return QK4},k7=function(B){var E=Object.keys(B);return function(A){var C={};for(var D=0;D<E.length;D++){var F=E[D],U=A==null?void 0:A[F];C[F]=U===void 0?B[F]:U}return C}},sM=function(B,E,A){for(var C=B.length-1;C>=0;C--)if(B[C]===E)B.splice(C,1)},n50=function(B){B.splice(0,B.length)},GK4=function(B,E){for(var A=0;A<E.length;A++){var C=E[A];B.push(C)}},vB=function(B,E,A){if(A)E=Rr0(A,E);return B[E]},nF=function(B,E,A,C){if(A)E=Rr0(A,E);B[E]=C},HK4,Ek,qK4="undefined",lK4,oq,Em=function(B,E){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(B===void 0||E===void 0||!r50(B)){z9("An element must have a core reference and parameters set");return}var C=E.group;if(C==null)if(E.data&&E.data.source!=null&&E.data.target!=null)C="edges";else C="nodes";if(C!=="nodes"&&C!=="edges"){z9("An element must be of type `nodes` or `edges`; you specified `"+C+"`");return}this.length=1,this[0]=this;var D=this._private={cy:B,single:!0,data:E.data||{},position:E.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:C,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:E.selected?!0:!1,selectable:E.selectable===void 0?!0:E.selectable?!0:!1,locked:E.locked?!0:!1,grabbed:!1,grabbable:E.grabbable===void 0?!0:E.grabbable?!0:!1,pannable:E.pannable===void 0?C==="edges"?!0:!1:E.pannable?!0:!1,active:!1,classes:new oq,animation:{current:[],queue:[]},rscratch:{},scratch:E.scratch||{},edges:[],children:[],parent:E.parent&&E.parent.isNode()?E.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(D.position.x==null)D.position.x=0;if(D.position.y==null)D.position.y=0;if(E.renderedPosition){var F=E.renderedPosition,U=B.pan(),z=B.zoom();D.position={x:(F.x-U.x)/z,y:(F.y-U.y)/z}}var k=[];if(v6(E.classes))k=E.classes;else if(n4(E.classes))k=E.classes.split(/\s+/);for(var f=0,M=k.length;f<M;f++){var b=k[f];if(!b||b==="")continue;D.classes.add(b)}if(this.createEmitter(),A===void 0||A)this.restore();var Z=E.style||E.css;if(Z)D6("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(Z)},J$0=function(B){return B={bfs:B.bfs||!B.dfs,dfs:B.dfs||!B.bfs},function(A,C,D){var F;if(Y1(A)&&!GE(A))F=A,A=F.roots||F.root,C=F.visit,D=F.directed;D=arguments.length===2&&!l9(C)?C:D,C=l9(C)?C:function(){};var U=this._private.cy,z=A=n4(A)?this.filter(A):A,k=[],f=[],M={},b={},Z={},J=0,K,w=this.byGroup(),Q=w.nodes,G=w.edges;for(var H=0;H<z.length;H++){var l=z[H],q=l.id();if(l.isNode()){if(k.unshift(l),B.bfs)Z[q]=!0,f.push(l);b[q]=0}}var L=function(){var Y=B.bfs?k.shift():k.pop(),h=Y.id();if(B.dfs){if(Z[h])return 0;Z[h]=!0,f.push(Y)}var I=b[h],O=M[h],V=O!=null?O.source():null,j=O!=null?O.target():null,i=O==null?void 0:Y.same(V)?j[0]:V[0],a;if(a=C(Y,O,i,J++,I),a===!0)return K=Y,1;if(a===!1)return 1;var $=Y.connectedEdges().filter(function(e){return(!D||e.source().same(Y))&&G.has(e)});for(var m=0;m<$.length;m++){var y=$[m],r=y.connectedNodes().filter(function(e){return!e.same(Y)&&Q.has(e)}),_=r.id();if(r.length!==0&&!Z[_]){if(r=r[0],k.push(r),B.bfs)Z[_]=!0,f.push(r);M[_]=y,b[_]=b[h]+1}}},v;while(k.length!==0){if(v=L(),v===0)continue;if(v===1)break}var x=U.collection();for(var S=0;S<f.length;S++){var W=f[S],T=M[W.id()];if(T!=null)x.push(T);x.push(W)}return{path:U.collection(x),found:U.collection(K)}}},$S,Ra,LK4,K$0,U20,w$0,xK4,BY,WK4,SK4,YK4,RK4,TK4,OK4,IK4,PK4,jK4,NK4,VK4=function(B,E,A){if(A.length===0)z9("Karger-Stein must be run on a connected (sub)graph");var C=A[B],D=C[1],F=C[2],U=E[D],z=E[F],k=A;for(var f=k.length-1;f>=0;f--){var M=k[f],b=M[1],Z=M[2];if(E[b]===U&&E[Z]===z||E[b]===z&&E[Z]===U)k.splice(f,1)}for(var J=0;J<k.length;J++){var K=k[J];if(K[1]===z)k[J]=K.slice(),k[J][1]=U;else if(K[2]===z)k[J]=K.slice(),k[J][2]=U}for(var w=0;w<E.length;w++)if(E[w]===z)E[w]=U;return k},z20=function(B,E,A,C){while(A>C){var D=Math.floor(Math.random()*E.length);E=VK4(D,B,E),A--}return E},hK4,k20,iK4=function(B){return{x:B.x,y:B.y}},Am=function(B,E,A){return{x:B.x*E+A.x,y:B.y*E+A.y}},rr0=function(B,E,A){return{x:(B.x-A.x)/E,y:(B.y-A.y)/E}},aq=function(B){return{x:B[0],y:B[1]}},aK4=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:B.length,C=1/0;for(var D=E;D<A;D++){var F=B[D];if(isFinite(F))C=Math.min(F,C)}return C},mK4=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:B.length,C=-1/0;for(var D=E;D<A;D++){var F=B[D];if(isFinite(F))C=Math.max(F,C)}return C},$K4=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:B.length,C=0,D=0;for(var F=E;F<A;F++){var U=B[F];if(isFinite(U))C+=U,D++}return C/D},yK4=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:B.length,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,D=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,F=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;if(C)B=B.slice(E,A);else{if(A<B.length)B.splice(A,B.length-A);if(E>0)B.splice(0,E)}var U=0;for(var z=B.length-1;z>=0;z--){var k=B[z];if(F){if(!isFinite(k))B[z]=-1/0,U++}else B.splice(z,1)}if(D)B.sort(function(b,Z){return b-Z});var f=B.length,M=Math.floor(f/2);if(f%2!==0)return B[M+1+U];else return(B[M-1+U]+B[M+U])/2},gr0=function(B,E){if(E===0)return B;return gr0(E,B%E)},rK4=function(B){var E=B[0];for(var A=0;A<B.length;A++)if(!Wr0(B[A]))return 0;else if(A>0)E=gr0(E,B[A]);return E},gK4=function(B){return Math.PI*B/180},Ga=function(B,E){return Math.atan2(E,B)-Math.PI/2},d50,s50=function(B){if(B>0)return 1;else if(B<0)return-1;else return 0},iK=function(B,E){return Math.sqrt(IK(B,E))},IK=function(B,E){var A=E.x-B.x,C=E.y-B.y;return A*A+C*C},cK4=function(B){var E=B.length,A=0;for(var C=0;C<E;C++)A+=B[C];for(var D=0;D<E;D++)B[D]=B[D]/A;return B},T5=function(B,E,A,C){return(1-C)*(1-C)*B+2*(1-C)*C*E+C*C*A},yq=function(B,E,A,C){return{x:T5(B.x,E.x,A.x,C),y:T5(B.y,E.y,A.y,C)}},_K4=function(B,E,A,C){var D={x:E.x-B.x,y:E.y-B.y},F=iK(B,E),U={x:D.x/F,y:D.y/F};return A=A==null?0:A,C=C!=null?C:A*F,{x:B.x+U.x*C,y:B.y+U.y*C}},yS=function(B,E,A){return Math.max(B,Math.min(A,E))},xB=function(B){if(B==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};else if(B.x1!=null&&B.y1!=null){if(B.x2!=null&&B.y2!=null&&B.x2>=B.x1&&B.y2>=B.y1)return{x1:B.x1,y1:B.y1,x2:B.x2,y2:B.y2,w:B.x2-B.x1,h:B.y2-B.y1};else if(B.w!=null&&B.h!=null&&B.w>=0&&B.h>=0)return{x1:B.x1,y1:B.y1,x2:B.x1+B.w,y2:B.y1+B.h,w:B.w,h:B.h}}},pK4=function(B){return{x1:B.x1,x2:B.x2,w:B.w,y1:B.y1,y2:B.y2,h:B.h}},nK4=function(B){B.x1=1/0,B.y1=1/0,B.x2=-1/0,B.y2=-1/0,B.w=0,B.h=0},dK4=function(B,E){B.x1=Math.min(B.x1,E.x1),B.x2=Math.max(B.x2,E.x2),B.w=B.x2-B.x1,B.y1=Math.min(B.y1,E.y1),B.y2=Math.max(B.y2,E.y2),B.h=B.y2-B.y1},cr0=function(B,E,A){B.x1=Math.min(B.x1,E),B.x2=Math.max(B.x2,E),B.w=B.x2-B.x1,B.y1=Math.min(B.y1,A),B.y2=Math.max(B.y2,A),B.h=B.y2-B.y1},Ta=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return B.x1-=E,B.x2+=E,B.y1-=E,B.y2+=E,B.w=B.x2-B.x1,B.h=B.y2-B.y1,B},Oa=function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],A,C,D,F;if(E.length===1)A=C=D=F=E[0];else if(E.length===2)A=D=E[0],F=C=E[1];else if(E.length===4){var U=Y2(E,4);A=U[0],C=U[1],D=U[2],F=U[3]}return B.x1-=F,B.x2+=C,B.y1-=A,B.y2+=D,B.w=B.x2-B.x1,B.h=B.y2-B.y1,B},Q$0=function(B,E){B.x1=E.x1,B.y1=E.y1,B.x2=E.x2,B.y2=E.y2,B.w=B.x2-B.x1,B.h=B.y2-B.y1},o50=function(B,E){if(B.x1>E.x2)return!1;if(E.x1>B.x2)return!1;if(B.x2<E.x1)return!1;if(E.x2<B.x1)return!1;if(B.y2<E.y1)return!1;if(E.y2<B.y1)return!1;if(B.y1>E.y2)return!1;if(E.y1>B.y2)return!1;return!0},cM=function(B,E,A){return B.x1<=E&&E<=B.x2&&B.y1<=A&&A<=B.y2},G$0=function(B,E){return cM(B,E.x,E.y)},_r0=function(B,E){return cM(B,E.x1,E.y1)&&cM(B,E.x2,E.y2)},sK4,pr0=function(B,E,A,C,D,F,U){var z=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",k=z==="auto"?oM(D,F):z,f=D/2,M=F/2;k=Math.min(k,f,M);var b=k!==f,Z=k!==M,J;if(b){var K=A-f+k-U,w=C-M-U,Q=A+f-k+U,G=w;if(J=_M(B,E,A,C,K,w,Q,G,!1),J.length>0)return J}if(Z){var H=A+f+U,l=C-M+k-U,q=H,L=C+M-k+U;if(J=_M(B,E,A,C,H,l,q,L,!1),J.length>0)return J}if(b){var v=A-f+k-U,x=C+M+U,S=A+f-k+U,W=x;if(J=_M(B,E,A,C,v,x,S,W,!1),J.length>0)return J}if(Z){var T=A-f-U,R=C-M+k-U,Y=T,h=C+M-k+U;if(J=_M(B,E,A,C,T,R,Y,h,!1),J.length>0)return J}var I;{var O=A-f+k,V=C-M+k;if(I=PS(B,E,A,C,O,V,k+U),I.length>0&&I[0]<=O&&I[1]<=V)return[I[0],I[1]]}{var j=A+f-k,i=C-M+k;if(I=PS(B,E,A,C,j,i,k+U),I.length>0&&I[0]>=j&&I[1]<=i)return[I[0],I[1]]}{var a=A+f-k,$=C+M-k;if(I=PS(B,E,A,C,a,$,k+U),I.length>0&&I[0]>=a&&I[1]>=$)return[I[0],I[1]]}{var m=A-f+k,y=C+M-k;if(I=PS(B,E,A,C,m,y,k+U),I.length>0&&I[0]<=m&&I[1]>=y)return[I[0],I[1]]}return[]},eK4=function(B,E,A,C,D,F,U){var z=U,k=Math.min(A,D),f=Math.max(A,D),M=Math.min(C,F),b=Math.max(C,F);return k-z<=B&&B<=f+z&&M-z<=E&&E<=b+z},uw4=function(B,E,A,C,D,F,U,z,k){var f={x1:Math.min(A,U,D)-k,x2:Math.max(A,U,D)+k,y1:Math.min(C,z,F)-k,y2:Math.max(C,z,F)+k};if(B<f.x1||B>f.x2||E<f.y1||E>f.y2)return!1;else return!0},Bw4=function(B,E,A,C){A-=C;var D=E*E-4*B*A;if(D<0)return[];var F=Math.sqrt(D),U=2*B,z=(-E+F)/U,k=(-E-F)/U;return[z,k]},Ew4=function(B,E,A,C,D){var F=0.00001;if(B===0)B=F;E/=B,A/=B,C/=B;var U,z,k,f,M,b,Z,J;if(z=(3*A-E*E)/9,k=-(27*C)+E*(9*A-2*(E*E)),k/=54,U=z*z*z+k*k,D[1]=0,Z=E/3,U>0){M=k+Math.sqrt(U),M=M<0?-Math.pow(-M,0.3333333333333333):Math.pow(M,0.3333333333333333),b=k-Math.sqrt(U),b=b<0?-Math.pow(-b,0.3333333333333333):Math.pow(b,0.3333333333333333),D[0]=-Z+M+b,Z+=(M+b)/2,D[4]=D[2]=-Z,Z=Math.sqrt(3)*(-b+M)/2,D[3]=Z,D[5]=-Z;return}if(D[5]=D[3]=0,U===0){J=k<0?-Math.pow(-k,0.3333333333333333):Math.pow(k,0.3333333333333333),D[0]=-Z+2*J,D[4]=D[2]=-(J+Z);return}z=-z,f=z*z*z,f=Math.acos(k/Math.sqrt(f)),J=2*Math.sqrt(z),D[0]=-Z+J*Math.cos(f/3),D[2]=-Z+J*Math.cos((f+2*Math.PI)/3),D[4]=-Z+J*Math.cos((f+4*Math.PI)/3);return},Aw4=function(B,E,A,C,D,F,U,z){var k=1*A*A-4*A*D+2*A*U+4*D*D-4*D*U+U*U+C*C-4*C*F+2*C*z+4*F*F-4*F*z+z*z,f=9*A*D-3*A*A-3*A*U-6*D*D+3*D*U+9*C*F-3*C*C-3*C*z-6*F*F+3*F*z,M=3*A*A-6*A*D+A*U-A*B+2*D*D+2*D*B-U*B+3*C*C-6*C*F+C*z-C*E+2*F*F+2*F*E-z*E,b=1*A*D-A*A+A*B-D*B+C*F-C*C+C*E-F*E,Z=[];Ew4(k,f,M,b,Z);var J=0.0000001,K=[];for(var w=0;w<6;w+=2)if(Math.abs(Z[w+1])<J&&Z[w]>=0&&Z[w]<=1)K.push(Z[w]);K.push(1),K.push(0);var Q=-1,G,H,l;for(var q=0;q<K.length;q++)if(G=Math.pow(1-K[q],2)*A+2*(1-K[q])*K[q]*D+K[q]*K[q]*U,H=Math.pow(1-K[q],2)*C+2*(1-K[q])*K[q]*F+K[q]*K[q]*z,l=Math.pow(G-B,2)+Math.pow(H-E,2),Q>=0){if(l<Q)Q=l}else Q=l;return Q},Cw4=function(B,E,A,C,D,F){var U=[B-A,E-C],z=[D-A,F-C],k=z[0]*z[0]+z[1]*z[1],f=U[0]*U[0]+U[1]*U[1],M=U[0]*z[0]+U[1]*z[1],b=M*M/k;if(M<0)return f;if(b>k)return(B-D)*(B-D)+(E-F)*(E-F);return f-b},q8=function(B,E,A){var C,D,F,U,z,k=0;for(var f=0;f<A.length/2;f++){if(C=A[f*2],D=A[f*2+1],f+1<A.length/2)F=A[(f+1)*2],U=A[(f+1)*2+1];else F=A[(f+1-A.length/2)*2],U=A[(f+1-A.length/2)*2+1];if(C==B&&F==B);else if(C>=B&&B>=F||C<=B&&B<=F){if(z=(B-C)/(F-C)*(U-D)+D,z>E)k++}else continue}if(k%2===0)return!1;else return!0},Ck=function(B,E,A,C,D,F,U,z,k){var f=Array(A.length),M;if(z[0]!=null)if(M=Math.atan(z[1]/z[0]),z[0]<0)M=M+Math.PI/2;else M=-M-Math.PI/2;else M=z;var b=Math.cos(-M),Z=Math.sin(-M);for(var J=0;J<f.length/2;J++)f[J*2]=F/2*(A[J*2]*b-A[J*2+1]*Z),f[J*2+1]=U/2*(A[J*2+1]*b+A[J*2]*Z),f[J*2]+=C,f[J*2+1]+=D;var K;if(k>0){var w=ca(f,-k);K=ga(w)}else K=f;return q8(B,E,K)},Dw4=function(B,E,A,C,D,F,U,z){var k=Array(A.length*2);for(var f=0;f<z.length;f++){var M=z[f];k[f*4+0]=M.startX,k[f*4+1]=M.startY,k[f*4+2]=M.stopX,k[f*4+3]=M.stopY;var b=Math.pow(M.cx-B,2)+Math.pow(M.cy-E,2);if(b<=Math.pow(M.radius,2))return!0}return q8(B,E,k)},ga=function(B){var E=Array(B.length/2),A,C,D,F,U,z,k,f;for(var M=0;M<B.length/4;M++){if(A=B[M*4],C=B[M*4+1],D=B[M*4+2],F=B[M*4+3],M<B.length/4-1)U=B[(M+1)*4],z=B[(M+1)*4+1],k=B[(M+1)*4+2],f=B[(M+1)*4+3];else U=B[0],z=B[1],k=B[2],f=B[3];var b=_M(A,C,D,F,U,z,k,f,!0);E[M*2]=b[0],E[M*2+1]=b[1]}return E},ca=function(B,E){var A=Array(B.length*2),C,D,F,U;for(var z=0;z<B.length/2;z++){if(C=B[z*2],D=B[z*2+1],z<B.length/2-1)F=B[(z+1)*2],U=B[(z+1)*2+1];else F=B[0],U=B[1];var k=U-D,f=-(F-C),M=Math.sqrt(k*k+f*f),b=k/M,Z=f/M;A[z*4]=C+b*E,A[z*4+1]=D+Z*E,A[z*4+2]=F+b*E,A[z*4+3]=U+Z*E}return A},Fw4=function(B,E,A,C,D,F){var U=A-B,z=C-E;U/=D,z/=F;var k=Math.sqrt(U*U+z*z),f=k-1;if(f<0)return[];var M=f/k;return[(A-B)*M+B,(C-E)*M+E]},VK=function(B,E,A,C,D,F,U){return B-=D,E-=F,B/=A/2+U,E/=C/2+U,B*B+E*E<=1},PS=function(B,E,A,C,D,F,U){var z=[A-B,C-E],k=[B-D,E-F],f=z[0]*z[0]+z[1]*z[1],M=2*(k[0]*z[0]+k[1]*z[1]),b=k[0]*k[0]+k[1]*k[1]-U*U,Z=M*M-4*f*b;if(Z<0)return[];var J=(-M+Math.sqrt(Z))/(2*f),K=(-M-Math.sqrt(Z))/(2*f),w=Math.min(J,K),Q=Math.max(J,K),G=[];if(w>=0&&w<=1)G.push(w);if(Q>=0&&Q<=1)G.push(Q);if(G.length===0)return[];var H=G[0]*z[0]+B,l=G[0]*z[1]+E;if(G.length>1)if(G[0]==G[1])return[H,l];else{var q=G[1]*z[0]+B,L=G[1]*z[1]+E;return[H,l,q,L]}else return[H,l]},f20=function(B,E,A){if(E<=B&&B<=A||A<=B&&B<=E)return B;else if(B<=E&&E<=A||A<=E&&E<=B)return E;else return A},_M=function(B,E,A,C,D,F,U,z,k){var f=B-D,M=A-B,b=U-D,Z=E-F,J=C-E,K=z-F,w=b*Z-K*f,Q=M*Z-J*f,G=K*M-b*J;if(G!==0){var H=w/G,l=Q/G,q=0.001,L=0-q,v=1+q;if(L<=H&&H<=v&&L<=l&&l<=v)return[B+H*M,E+H*J];else if(!k)return[];else return[B+H*M,E+H*J]}else if(w===0||Q===0){if(f20(B,A,U)===U)return[U,z];if(f20(B,A,D)===D)return[D,F];if(f20(D,U,A)===A)return[A,C];return[]}else return[]},Uw4=function(B,E,A,C,D){var F=[],U=C/2,z=D/2,k=E,f=A;F.push({x:k+U*B[0],y:f+z*B[1]});for(var M=1;M<B.length/2;M++)F.push({x:k+U*B[M*2],y:f+z*B[M*2+1]});return F},rS=function(B,E,A,C,D,F,U,z){var k=[],f,M=Array(A.length),b=!0;if(F==null)b=!1;var Z;if(b){for(var J=0;J<M.length/2;J++)M[J*2]=A[J*2]*F+C,M[J*2+1]=A[J*2+1]*U+D;if(z>0){var K=ca(M,-z);Z=ga(K)}else Z=M}else Z=A;var w,Q,G,H;for(var l=0;l<Z.length/2;l++){if(w=Z[l*2],Q=Z[l*2+1],l<Z.length/2-1)G=Z[(l+1)*2],H=Z[(l+1)*2+1];else G=Z[0],H=Z[1];if(f=_M(B,E,C,D,w,Q,G,H),f.length!==0)k.push(f[0],f[1])}return k},zw4=function(B,E,A,C,D,F,U,z,k){var f=[],M,b=Array(A.length*2);k.forEach(function(G,H){if(H===0)b[b.length-2]=G.startX,b[b.length-1]=G.startY;else b[H*4-2]=G.startX,b[H*4-1]=G.startY;if(b[H*4]=G.stopX,b[H*4+1]=G.stopY,M=PS(B,E,C,D,G.cx,G.cy,G.radius),M.length!==0)f.push(M[0],M[1])});for(var Z=0;Z<b.length/4;Z++)if(M=_M(B,E,C,D,b[Z*4],b[Z*4+1],b[Z*4+2],b[Z*4+3],!1),M.length!==0)f.push(M[0],M[1]);if(f.length>2){var J=[f[0],f[1]],K=Math.pow(J[0]-B,2)+Math.pow(J[1]-E,2);for(var w=1;w<f.length/2;w++){var Q=Math.pow(f[w*2]-B,2)+Math.pow(f[w*2+1]-E,2);if(Q<=K)J[0]=f[w*2],J[1]=f[w*2+1],K=Q}return J}return f},Ha=function(B,E,A){var C=[B[0]-E[0],B[1]-E[1]],D=Math.sqrt(C[0]*C[0]+C[1]*C[1]),F=(D-A)/D;if(F<0)F=0.00001;return[E[0]+F*C[0],E[1]+F*C[1]]},XB=function(B,E){var A=X50(B,E);return A=nr0(A),A},nr0=function(B){var E,A,C=B.length/2,D=1/0,F=1/0,U=-1/0,z=-1/0;for(var k=0;k<C;k++)E=B[2*k],A=B[2*k+1],D=Math.min(D,E),U=Math.max(U,E),F=Math.min(F,A),z=Math.max(z,A);var f=2/(U-D),M=2/(z-F);for(var b=0;b<C;b++)E=B[2*b]=B[2*b]*f,A=B[2*b+1]=B[2*b+1]*M,D=Math.min(D,E),U=Math.max(U,E),F=Math.min(F,A),z=Math.max(z,A);if(F<-1)for(var Z=0;Z<C;Z++)A=B[2*Z+1]=B[2*Z+1]+(-1-F);return B},X50=function(B,E){var A=1/B*2*Math.PI,C=B%2===0?Math.PI/2+A/2:Math.PI/2;C+=E;var D=Array(B*2),F;for(var U=0;U<B;U++)F=U*A+C,D[2*U]=Math.cos(F),D[2*U+1]=Math.sin(-F);return D},oM=function(B,E){return Math.min(B/4,E/4,8)},dr0=function(B,E){return Math.min(B/10,E/10,8)},t50=function(){return 8},kw4=function(B,E,A){return[B-2*E+A,2*(E-B),B]},v50=function(B,E){return{heightOffset:Math.min(15,0.05*E),widthOffset:Math.min(100,0.25*B),ctrlPtOffsetPct:0.05}},fw4,Mw4,H$0,rq,q$0,gq,bw4,x50,Zw4,Jw4=function(B){return Zw4(B)},Kw4=function(B,E){var A=0;for(var C=0;C<E.length;C++)A+=E[C](B);return A},ww4=function(B,E,A){for(var C=0;C<E;C++)B[C*E+C]=A},sr0=function(B,E){var A;for(var C=0;C<E;C++){A=0;for(var D=0;D<E;D++)A+=B[D*E+C];for(var F=0;F<E;F++)B[F*E+C]=B[F*E+C]/A}},Qw4=function(B,E,A){var C=Array(A*A);for(var D=0;D<A;D++){for(var F=0;F<A;F++)C[D*A+F]=0;for(var U=0;U<A;U++)for(var z=0;z<A;z++)C[D*A+z]+=B[D*A+U]*E[U*A+z]}return C},Gw4=function(B,E,A){var C=B.slice(0);for(var D=1;D<A;D++)B=Qw4(B,C,E);return B},Hw4=function(B,E,A){var C=Array(E*E);for(var D=0;D<E*E;D++)C[D]=Math.pow(B[D],A);return sr0(C,E),C},qw4=function(B,E,A,C){for(var D=0;D<A;D++){var F=Math.round(B[D]*Math.pow(10,C))/Math.pow(10,C),U=Math.round(E[D]*Math.pow(10,C))/Math.pow(10,C);if(F!==U)return!1}return!0},lw4=function(B,E,A,C){var D=[];for(var F=0;F<E;F++){var U=[];for(var z=0;z<E;z++)if(Math.round(B[F*E+z]*1000)/1000>0)U.push(A[z]);if(U.length!==0)D.push(C.collection(U))}return D},Lw4=function(B,E){for(var A=0;A<B.length;A++)if(!E[A]||B[A].id()!==E[A].id())return!1;return!0},Xw4=function(B){for(var E=0;E<B.length;E++)for(var A=0;A<B.length;A++)if(E!=A&&Lw4(B[E],B[A]))B.splice(A,1);return B},l$0=function(B){var E=this.nodes(),A=this.edges(),C=this.cy(),D=Jw4(B),F={};for(var U=0;U<E.length;U++)F[E[U].id()]=U;var z=E.length,k=z*z,f=Array(k),M;for(var b=0;b<k;b++)f[b]=0;for(var Z=0;Z<A.length;Z++){var J=A[Z],K=F[J.source().id()],w=F[J.target().id()],Q=Kw4(J,D.attributes);f[K*z+w]+=Q,f[w*z+K]+=Q}ww4(f,z,D.multFactor),sr0(f,z);var G=!0,H=0;while(G&&H<D.maxIterations){if(G=!1,M=Gw4(f,z,D.expandFactor),f=Hw4(M,z,D.inflateFactor),!qw4(f,M,k,4))G=!0;H++}var l=lw4(f,z,E,C);return l=Xw4(l),l},vw4,xw4=function(B){return B},or0=function(B,E){return Math.abs(E-B)},L$0=function(B,E,A){return B+or0(E,A)},X$0=function(B,E,A){return B+Math.pow(A-E,2)},Ww4=function(B){return Math.sqrt(B)},Sw4=function(B,E,A){return Math.max(B,or0(E,A))},WS=function(B,E,A,C,D){var F=arguments.length>5&&arguments[5]!==void 0?arguments[5]:xw4,U=C,z,k;for(var f=0;f<B;f++)z=E(f),k=A(f),U=D(U,z,k);return F(U)},pq,Yw4,e50=function(B){return Yw4(B)},_a=function(B,E,A,C,D){var F=D!=="kMedoids",U=F?function(M){return A[M]}:function(M){return C[M](A)},z=function(b){return C[b](E)},k=A,f=E;return Cm(B,C.length,U,z,k,f)},b20=function(B,E,A){var C=A.length,D=Array(C),F=Array(C),U=Array(E),z=null;for(var k=0;k<C;k++)D[k]=B.min(A[k]).value,F[k]=B.max(A[k]).value;for(var f=0;f<E;f++){z=[];for(var M=0;M<C;M++)z[M]=Math.random()*(F[M]-D[M])+D[M];U[f]=z}return U},tr0=function(B,E,A,C,D){var F=1/0,U=0;for(var z=0;z<E.length;z++){var k=_a(A,B,E[z],C,D);if(k<F)F=k,U=z}return U},er0=function(B,E,A){var C=[],D=null;for(var F=0;F<E.length;F++)if(D=E[F],A[D.id()]===B)C.push(D);return C},Rw4=function(B,E,A){return Math.abs(E-B)<=A},Tw4=function(B,E,A){for(var C=0;C<B.length;C++)for(var D=0;D<B[C].length;D++){var F=Math.abs(B[C][D]-E[C][D]);if(F>A)return!1}return!0},Ow4=function(B,E,A){for(var C=0;C<A;C++)if(B===E[C])return!0;return!1},v$0=function(B,E){var A=Array(E);if(B.length<50)for(var C=0;C<E;C++){var D=B[Math.floor(Math.random()*B.length)];while(Ow4(D,A,C))D=B[Math.floor(Math.random()*B.length)];A[C]=D}else for(var F=0;F<E;F++)A[F]=B[Math.floor(Math.random()*B.length)];return A},x$0=function(B,E,A){var C=0;for(var D=0;D<E.length;D++)C+=_a("manhattan",E[D],B,A,"kMedoids");return C},Iw4=function(B){var E=this.cy(),A=this.nodes(),C=null,D=e50(B),F=Array(D.k),U={},z;if(D.testMode)if(typeof D.testCentroids==="number")D.testCentroids,z=b20(A,D.k,D.attributes);else if(e2(D.testCentroids)==="object")z=D.testCentroids;else z=b20(A,D.k,D.attributes);else z=b20(A,D.k,D.attributes);var k=!0,f=0;while(k&&f<D.maxIterations){for(var M=0;M<A.length;M++)C=A[M],U[C.id()]=tr0(C,z,D.distance,D.attributes,"kMeans");k=!1;for(var b=0;b<D.k;b++){var Z=er0(b,A,U);if(Z.length===0)continue;var J=D.attributes.length,K=z[b],w=Array(J),Q=Array(J);for(var G=0;G<J;G++){Q[G]=0;for(var H=0;H<Z.length;H++)C=Z[H],Q[G]+=D.attributes[G](C);if(w[G]=Q[G]/Z.length,!Rw4(w[G],K[G],D.sensitivityThreshold))k=!0}z[b]=w,F[b]=E.collection(Z)}f++}return F},Pw4=function(B){var E=this.cy(),A=this.nodes(),C=null,D=e50(B),F=Array(D.k),U,z={},k,f=Array(D.k);if(D.testMode)if(typeof D.testCentroids==="number");else if(e2(D.testCentroids)==="object")U=D.testCentroids;else U=v$0(A,D.k);else U=v$0(A,D.k);var M=!0,b=0;while(M&&b<D.maxIterations){for(var Z=0;Z<A.length;Z++)C=A[Z],z[C.id()]=tr0(C,U,D.distance,D.attributes,"kMedoids");M=!1;for(var J=0;J<U.length;J++){var K=er0(J,A,z);if(K.length===0)continue;f[J]=x$0(U[J],K,D.attributes);for(var w=0;w<K.length;w++)if(k=x$0(K[w],K,D.attributes),k<f[J])f[J]=k,U[J]=K[w],M=!0;F[J]=E.collection(K)}b++}return F},jw4=function(B,E,A,C,D){var F,U;for(var z=0;z<E.length;z++)for(var k=0;k<B.length;k++)C[z][k]=Math.pow(A[z][k],D.m);for(var f=0;f<B.length;f++)for(var M=0;M<D.attributes.length;M++){F=0,U=0;for(var b=0;b<E.length;b++)F+=C[b][f]*D.attributes[M](E[b]),U+=C[b][f];B[f][M]=F/U}},Nw4=function(B,E,A,C,D){for(var F=0;F<B.length;F++)E[F]=B[F].slice();var U,z,k,f=2/(D.m-1);for(var M=0;M<A.length;M++)for(var b=0;b<C.length;b++){U=0;for(var Z=0;Z<A.length;Z++)z=_a(D.distance,C[b],A[M],D.attributes,"cmeans"),k=_a(D.distance,C[b],A[Z],D.attributes,"cmeans"),U+=Math.pow(z/k,f);B[b][M]=1/U}},Vw4=function(B,E,A,C){var D=Array(A.k);for(var F=0;F<D.length;F++)D[F]=[];var U,z;for(var k=0;k<E.length;k++){U=-1/0,z=-1;for(var f=0;f<E[0].length;f++)if(E[k][f]>U)U=E[k][f],z=f;D[z].push(B[k])}for(var M=0;M<D.length;M++)D[M]=C.collection(D[M]);return D},W$0=function(B){var E=this.cy(),A=this.nodes(),C=e50(B),D,F,U,z,k;z=Array(A.length);for(var f=0;f<A.length;f++)z[f]=Array(C.k);U=Array(A.length);for(var M=0;M<A.length;M++)U[M]=Array(C.k);for(var b=0;b<A.length;b++){var Z=0;for(var J=0;J<C.k;J++)U[b][J]=Math.random(),Z+=U[b][J];for(var K=0;K<C.k;K++)U[b][K]=U[b][K]/Z}F=Array(C.k);for(var w=0;w<C.k;w++)F[w]=Array(C.attributes.length);k=Array(A.length);for(var Q=0;Q<A.length;Q++)k[Q]=Array(C.k);var G=!0,H=0;while(G&&H<C.maxIterations){if(G=!1,jw4(F,A,U,k,C),Nw4(U,z,F,A,C),!Tw4(U,z,C.sensitivityThreshold))G=!0;H++}return D=Vw4(A,U,C,E),{clusters:D,degreeOfMembership:U}},hw4,iw4,aw4,mw4=function(B){var E=iw4(B),A=aw4[E.linkage];if(A!=null)E.linkage=A;return E},S$0=function(B,E,A,C,D){var F=0,U=1/0,z,k=D.attributes,f=function(S,W){return Cm(D.distance,k.length,function(T){return k[T](S)},function(T){return k[T](W)},S,W)};for(var M=0;M<B.length;M++){var b=B[M].key,Z=A[b][C[b]];if(Z<U)F=b,U=Z}if(D.mode==="threshold"&&U>=D.threshold||D.mode==="dendrogram"&&B.length===1)return!1;var J=E[F],K=E[C[F]],w;if(D.mode==="dendrogram")w={left:J,right:K,key:J.key};else w={value:J.value.concat(K.value),key:J.key};B[J.index]=w,B.splice(K.index,1),E[J.key]=w;for(var Q=0;Q<B.length;Q++){var G=B[Q];if(J.key===G.key)z=1/0;else if(D.linkage==="min"){if(z=A[J.key][G.key],A[J.key][G.key]>A[K.key][G.key])z=A[K.key][G.key]}else if(D.linkage==="max"){if(z=A[J.key][G.key],A[J.key][G.key]<A[K.key][G.key])z=A[K.key][G.key]}else if(D.linkage==="mean")z=(A[J.key][G.key]*J.size+A[K.key][G.key]*K.size)/(J.size+K.size);else if(D.mode==="dendrogram")z=f(G.value,J.value);else z=f(G.value[0],J.value[0]);A[J.key][G.key]=A[G.key][J.key]=z}for(var H=0;H<B.length;H++){var l=B[H].key;if(C[l]===J.key||C[l]===K.key){var q=l;for(var L=0;L<B.length;L++){var v=B[L].key;if(A[l][v]<A[l][q])q=v}C[l]=q}B[H].index=H}return J.key=K.key=J.index=K.index=null,!0},mq=function(B,E,A){if(!B)return;if(B.value)E.push(B.value);else{if(B.left)mq(B.left,E);if(B.right)mq(B.right,E)}},W50=function(B,E){if(!B)return"";if(B.left&&B.right){var A=W50(B.left,E),C=W50(B.right,E),D=E.add({group:"nodes",data:{id:A+","+C}});return E.add({group:"edges",data:{source:A,target:D.id()}}),E.add({group:"edges",data:{source:C,target:D.id()}}),D.id()}else if(B.value)return B.value.id()},S50=function(B,E,A){if(!B)return[];var C=[],D=[],F=[];if(E===0){if(B.left)mq(B.left,C);if(B.right)mq(B.right,D);return F=C.concat(D),[A.collection(F)]}else if(E===1)if(B.value)return[A.collection(B.value)];else{if(B.left)mq(B.left,C);if(B.right)mq(B.right,D);return[A.collection(C),A.collection(D)]}else if(B.value)return[A.collection(B.value)];else{if(B.left)C=S50(B.left,E-1,A);if(B.right)D=S50(B.right,E-1,A);return C.concat(D)}},Y$0=function(B){var E=this.cy(),A=this.nodes(),C=mw4(B),D=C.attributes,F=function(H,l){return Cm(C.distance,D.length,function(q){return D[q](H)},function(q){return D[q](l)},H,l)},U=[],z=[],k=[],f=[];for(var M=0;M<A.length;M++){var b={value:C.mode==="dendrogram"?A[M]:[A[M]],key:M,index:M};U[M]=b,f[M]=b,z[M]=[],k[M]=0}for(var Z=0;Z<U.length;Z++)for(var J=0;J<=Z;J++){var K=void 0;if(C.mode==="dendrogram")K=Z===J?1/0:F(U[Z].value,U[J].value);else K=Z===J?1/0:F(U[Z].value[0],U[J].value[0]);if(z[Z][J]=K,z[J][Z]=K,K<z[Z][k[Z]])k[Z]=J}var w=S$0(U,f,z,k,C);while(w)w=S$0(U,f,z,k,C);var Q;if(C.mode==="dendrogram"){if(Q=S50(U[0],C.dendrogramDepth,E),C.addDendrogram)W50(U[0],E)}else Q=Array(U.length),U.forEach(function(G,H){G.key=G.index=null,Q[H]=E.collection(G.value)});return Q},$w4,yw4,rw4=function(B){var{damping:E,preference:A}=B;if(!(0.5<=E&&E<1))z9("Damping must range on [0.5, 1). Got: ".concat(E));var C=["median","mean","min","max"];if(!(C.some(function(D){return D===A})||K4(A)))z9("Preference must be one of [".concat(C.map(function(D){return"'".concat(D,"'")}).join(", "),"] or a number. Got: ").concat(A));return yw4(B)},gw4=function(B,E,A,C){var D=function(U,z){return C[z](U)};return-Cm(B,C.length,function(F){return D(E,F)},function(F){return D(A,F)},E,A)},cw4=function(B,E){var A=null;if(E==="median")A=yK4(B);else if(E==="mean")A=$K4(B);else if(E==="min")A=aK4(B);else if(E==="max")A=mK4(B);else A=E;return A},_w4=function(B,E,A){var C=[];for(var D=0;D<B;D++)if(E[D*B+D]+A[D*B+D]>0)C.push(D);return C},R$0=function(B,E,A){var C=[];for(var D=0;D<B;D++){var F=-1,U=-1/0;for(var z=0;z<A.length;z++){var k=A[z];if(E[D*B+k]>U)F=k,U=E[D*B+k]}if(F>0)C.push(F)}for(var f=0;f<A.length;f++)C[A[f]]=A[f];return C},pw4=function(B,E,A){var C=R$0(B,E,A);for(var D=0;D<A.length;D++){var F=[];for(var U=0;U<C.length;U++)if(C[U]===A[D])F.push(U);var z=-1,k=-1/0;for(var f=0;f<F.length;f++){var M=0;for(var b=0;b<F.length;b++)M+=E[F[b]*B+F[f]];if(M>k)z=f,k=M}A[D]=F[z]}return C=R$0(B,E,A),C},T$0=function(B){var E=this.cy(),A=this.nodes(),C=rw4(B),D={};for(var F=0;F<A.length;F++)D[A[F].id()]=F;var U,z,k,f,M,b;U=A.length,z=U*U,k=Array(z);for(var Z=0;Z<z;Z++)k[Z]=-1/0;for(var J=0;J<U;J++)for(var K=0;K<U;K++)if(J!==K)k[J*U+K]=gw4(C.distance,A[J],A[K],C.attributes);f=cw4(k,C.preference);for(var w=0;w<U;w++)k[w*U+w]=f;M=Array(z);for(var Q=0;Q<z;Q++)M[Q]=0;b=Array(z);for(var G=0;G<z;G++)b[G]=0;var H=Array(U),l=Array(U),q=Array(U);for(var L=0;L<U;L++)H[L]=0,l[L]=0,q[L]=0;var v=Array(U*C.minIterations);for(var x=0;x<v.length;x++)v[x]=0;var S;for(S=0;S<C.maxIterations;S++){for(var W=0;W<U;W++){var T=-1/0,R=-1/0,Y=-1,h=0;for(var I=0;I<U;I++)if(H[I]=M[W*U+I],h=b[W*U+I]+k[W*U+I],h>=T)R=T,T=h,Y=I;else if(h>R)R=h;for(var O=0;O<U;O++)M[W*U+O]=(1-C.damping)*(k[W*U+O]-T)+C.damping*H[O];M[W*U+Y]=(1-C.damping)*(k[W*U+Y]-R)+C.damping*H[Y]}for(var V=0;V<U;V++){var j=0;for(var i=0;i<U;i++)H[i]=b[i*U+V],l[i]=Math.max(0,M[i*U+V]),j+=l[i];j-=l[V],l[V]=M[V*U+V],j+=l[V];for(var a=0;a<U;a++)b[a*U+V]=(1-C.damping)*Math.min(0,j-l[a])+C.damping*H[a];b[V*U+V]=(1-C.damping)*(j-l[V])+C.damping*H[V]}var $=0;for(var m=0;m<U;m++){var y=b[m*U+m]+M[m*U+m]>0?1:0;v[S%C.minIterations*U+m]=y,$+=y}if($>0&&(S>=C.minIterations-1||S==C.maxIterations-1)){var r=0;for(var _=0;_<U;_++){q[_]=0;for(var e=0;e<C.minIterations;e++)q[_]+=v[e*U+_];if(q[_]===0||q[_]===C.minIterations)r++}if(r===U)break}}var p=_w4(U,M,b),b0=pw4(U,k,p),B0={};for(var k0=0;k0<p.length;k0++)B0[p[k0]]=[];for(var f0=0;f0<A.length;f0++){var D0=D[A[f0].id()],P0=b0[D0];if(P0!=null)B0[P0].push(A[f0])}var L0=Array(p.length);for(var m0=0;m0<p.length;m0++)L0[m0]=E.collection(B0[p[m0]]);return L0},nw4,dw4,sw4,qa=function(){var B=this,E={},A=0,C=0,D=[],F=[],U={},z=function(b,Z){var J=F.length-1,K=[],w=B.spawn();while(F[J].x!=b||F[J].y!=Z)K.push(F.pop().edge),J--;K.push(F.pop().edge),K.forEach(function(Q){var G=Q.connectedNodes().intersection(B);w.merge(Q),G.forEach(function(H){var l=H.id(),q=H.connectedEdges().intersection(B);if(w.merge(H),!E[l].cutVertex)w.merge(q);else w.merge(q.filter(function(L){return L.isLoop()}))})}),D.push(w)},k=function(b,Z,J){if(b===J)C+=1;E[Z]={id:A,low:A++,cutVertex:!1};var K=B.getElementById(Z).connectedEdges().intersection(B);if(K.size()===0)D.push(B.spawn(B.getElementById(Z)));else{var w,Q,G,H;K.forEach(function(l){if(w=l.source().id(),Q=l.target().id(),G=w===Z?Q:w,G!==J){if(H=l.id(),!U[H])U[H]=!0,F.push({x:Z,y:G,edge:l});if(!(G in E)){if(k(b,G,Z),E[Z].low=Math.min(E[Z].low,E[G].low),E[Z].id<=E[G].low)E[Z].cutVertex=!0,z(Z,G)}else E[Z].low=Math.min(E[Z].low,E[G].id)}})}};B.forEach(function(M){if(M.isNode()){var b=M.id();if(!(b in E))C=0,k(b,b),E[b].cutVertex=C>1}});var f=Object.keys(E).filter(function(M){return E[M].cutVertex}).map(function(M){return B.getElementById(M)});return{cut:B.spawn(f),components:D}},ow4,la=function(){var B=this,E={},A=0,C=[],D=[],F=B.spawn(B),U=function(k){D.push(k),E[k]={index:A,low:A++,explored:!1};var f=B.getElementById(k).connectedEdges().intersection(B);if(f.forEach(function(K){var w=K.target().id();if(w!==k){if(!(w in E))U(w);if(!E[w].explored)E[k].low=Math.min(E[k].low,E[w].low)}}),E[k].index===E[k].low){var M=B.spawn();for(;;){var b=D.pop();if(M.merge(B.getElementById(b)),E[b].low=E[k].index,E[b].explored=!0,b===k)break}var Z=M.edgesWith(M),J=M.merge(Z);C.push(J),F=F.difference(J)}};return B.forEach(function(z){if(z.isNode()){var k=z.id();if(!(k in E))U(k)}}),{cut:F,components:C}},tw4,ug0,Bg0=0,Eg0=1,Ag0=2,hC=function(B){if(!(this instanceof hC))return new hC(B);if(this.id="Thenable/1.0.7",this.state=Bg0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof B==="function")B.call(this,this.fulfill.bind(this),this.reject.bind(this))},O$0=function(B,E,A,C){if(B.state===Bg0)B.state=E,B[A]=C,Cg0(B);return B},Cg0=function(B){if(B.state===Eg0)I$0(B,"onFulfilled",B.fulfillValue);else if(B.state===Ag0)I$0(B,"onRejected",B.rejectReason)},I$0=function(B,E,A){if(B[E].length===0)return;var C=B[E];B[E]=[];var D=function(){for(var U=0;U<C.length;U++)C[U](A)};if(typeof setImmediate==="function")setImmediate(D);else setTimeout(D,0)},P$0=function(B,E,A){return function(C){if(typeof B!=="function")E[A].call(E,C);else{var D;try{D=B(C)}catch(F){E.reject(F);return}Dg0(E,D)}}},Dg0=function(B,E){if(B===E||B.proxy===E){B.reject(TypeError("cannot resolve promise with itself"));return}var A;if(e2(E)==="object"&&E!==null||typeof E==="function")try{A=E.then}catch(D){B.reject(D);return}if(typeof A==="function"){var C=!1;try{A.call(E,function(D){if(C)return;if(C=!0,D===E)B.reject(TypeError("circular thenable chain"));else Dg0(B,D)},function(D){if(C)return;C=!0,B.reject(D)})}catch(D){if(!C)B.reject(D)}return}B.fulfill(E)},tq,Y50=function(B,E,A){var C=r50(B),D=!C,F=this._private=k3({duration:1000},E,A);if(F.target=B,F.style=F.style||F.css,F.started=!1,F.playing=!1,F.hooked=!1,F.applying=!1,F.progress=0,F.completes=[],F.frames=[],F.complete&&l9(F.complete))F.completes.push(F.complete);if(D){var U=B.position();F.startPosition=F.startPosition||{x:U.x,y:U.y},F.startStyle=F.startStyle||B.cy().style().getAnimationStartStyle(B,F.style)}if(C){var z=B.pan();F.startPan={x:z.x,y:z.y},F.startZoom=B.zoom()}this.length=1,this[0]=this},aK,ew4,Z20,j$0,J20,N$0,K20,V$0,w20,h$0,Q20,i$0,G20,a$0,H20,m$0,q20,$$0,l20,y$0,L20,r$0,X20,g$0,v20,c$0,x20,_$0,W20,p$0,S20,n$0,Y20,d$0,R20,s$0,T20,o$0,O20,t$0,I20,e$0,P20,uy0,j20,By0,N20,Ey0,V20,Ay0,h20,Cy0,i20,Dy0,a20,Fy0,m20,Uy0,$20,zy0,y20,ky0,r20,fy0,g20,My0,c20,by0,_20,Zy0,p20,Jy0,n20,Ky0,d20,wy0,s20,Qy0,o20,Gy0,t20,Hy0,e20,qy0,u50,ly0,B50,Ly0,IQ4,PQ4,E50,Xy0,A50,vy0,C50,xy0,D50,Wy0,F50,Sy0,U50,Yy0,mQ4,$Q4,z50,Ry0,k50,Ty0,gQ4,cQ4,_Q4,pQ4,C6,nQ4,Ia,S1,J6=function(){return{checks:[]}},T4,R50,dQ4,sQ4=function(B,E){return dQ4[B](E)},oQ4,Oq=function(B){return B.replace(new RegExp("\\\\("+S1.metaChar+")","g"),function(E,A){return A})},$M=function(B,E,A){B[B.length-1]=A},T50,tQ4=function(B){var E,A,C;for(var D=0;D<T50.length;D++){var F=T50[D],U=F.name,z=B.match(F.regexObj);if(z!=null){A=z,E=F,C=U;var k=z[0];B=B.substring(k.length);break}}return{expr:E,match:A,name:C,remaining:B}},eQ4=function(B){var E=B.match(/^\s+/);if(E){var A=E[0];B=B.substring(A.length)}return B},uG4=function(B){var E=this,A=E.inputText=B,C=E[0]=J6();E.length=1,A=eQ4(A);for(;;){var D=tQ4(A);if(D.expr==null)return D6("The selector `"+B+"`is invalid"),!1;else{var F=D.match.slice(1),U=D.expr.populate(E,C,F);if(U===!1)return!1;else if(U!=null)C=U}if(A=D.remaining,A.match(/^\s*$/))break}var z=E[E.length-1];if(E.currentSubject!=null)z.subject=E.currentSubject;z.edgeCount=E.edgeCount,z.compoundCount=E.compoundCount;for(var k=0;k<E.length;k++){var f=E[k];if(f.compoundCount>0&&f.edgeCount>0)return D6("The selector `"+B+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return D6("The selector `"+B+"` is invalid because it uses multiple edge selectors"),!1;else if(f.edgeCount===1)D6("The selector `"+B+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},BG4=function(){if(this.toStringCache!=null)return this.toStringCache;var B=function(f){if(f==null)return"";else return f},E=function(f){if(n4(f))return'"'+f+'"';else return B(f)},A=function(f){return" "+f+" "},C=function(f,M){var{type:b,value:Z}=f;switch(b){case T4.GROUP:{var J=B(Z);return J.substring(0,J.length-1)}case T4.DATA_COMPARE:{var{field:K,operator:w}=f;return"["+K+A(B(w))+E(Z)+"]"}case T4.DATA_BOOL:{var{operator:Q,field:G}=f;return"["+B(Q)+G+"]"}case T4.DATA_EXIST:{var H=f.field;return"["+H+"]"}case T4.META_COMPARE:{var{operator:l,field:q}=f;return"[["+q+A(B(l))+E(Z)+"]]"}case T4.STATE:return Z;case T4.ID:return"#"+Z;case T4.CLASS:return"."+Z;case T4.PARENT:case T4.CHILD:return D(f.parent,M)+A(">")+D(f.child,M);case T4.ANCESTOR:case T4.DESCENDANT:return D(f.ancestor,M)+" "+D(f.descendant,M);case T4.COMPOUND_SPLIT:{var L=D(f.left,M),v=D(f.subject,M),x=D(f.right,M);return L+(L.length>0?" ":"")+v+x}case T4.TRUE:return""}},D=function(f,M){return f.checks.reduce(function(b,Z,J){return b+(M===f&&J===0?"$":"")+C(Z,M)},"")},F="";for(var U=0;U<this.length;U++){var z=this[U];if(F+=D(z,z.subject),this.length>1&&U<this.length-1)F+=", "}return this.toStringCache=F,F},EG4,Mg0=function(B,E,A){var C,D=n4(B),F=K4(B),U=n4(A),z,k,f=!1,M=!1,b=!1;if(E.indexOf("!")>=0)E=E.replace("!",""),M=!0;if(E.indexOf("@")>=0)E=E.replace("@",""),f=!0;if(D||U||f)z=!D&&!F?"":""+B,k=""+A;if(f)B=z=z.toLowerCase(),A=k=k.toLowerCase();switch(E){case"*=":C=z.indexOf(k)>=0;break;case"$=":C=z.indexOf(k,z.length-k.length)>=0;break;case"^=":C=z.indexOf(k)===0;break;case"=":C=B===A;break;case">":b=!0,C=B>A;break;case">=":b=!0,C=B>=A;break;case"<":b=!0,C=B<A;break;case"<=":b=!0,C=B<=A;break;default:C=!1;break}if(M&&(B!=null||!b))C=!C;return C},AG4=function(B,E){switch(E){case"?":return B?!0:!1;case"!":return B?!1:!0;case"^":return B===void 0}},CG4=function(B){return B!==void 0},E70=function(B,E){return B.data(E)},DG4=function(B,E){return B[E]()},y9,g6=function(B,E){return B.checks.every(function(A){return y9[A.type](A,E)})},FG4=function(B){var E=this;if(E.length===1&&E[0].checks.length===1&&E[0].checks[0].type===T4.ID)return B.getElementById(E[0].checks[0].value).collection();var A=function(D){for(var F=0;F<E.length;F++){var U=E[F];if(g6(U,D))return!0}return!1};if(E.text()==null)A=function(){return!0};return B.filter(A)},UG4=function(B){var E=this;for(var A=0;A<E.length;A++){var C=E[A];if(g6(C,B))return!0}return!1},zG4,tM=function(B){if(this.inputText=B,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,B==null||n4(B)&&B.match(/^\s*$/));else if(GE(B))this.addQuery({checks:[{type:T4.COLLECTION,value:B.collection()}]});else if(l9(B))this.addQuery({checks:[{type:T4.FILTER,value:B}]});else if(n4(B)){if(!this.parse(B))this.invalid=!0}else z9("A selector must be created from a string; found ")},eM,pM,KA=function(B,E){return function(C,D,F,U){var z=C,k=this,f;if(z==null)f="";else if(GE(z)&&z.length===1)f=z.id();if(k.length===1&&f){var M=k[0]._private,b=M.traversalCache=M.traversalCache||{},Z=b[E]=b[E]||[],J=hK(f),K=Z[J];if(K)return K;else return Z[J]=B.call(k,C,D,F,U)}else return B.call(k,C,D,F,U)}},nq,gS,Jg0,fG4,km,VC,Kg0,wg0=function(B,E,A){for(var C=0;C<B.length;C++){var D=B[C];if(!D.locked()){var F=D._private.position,U={x:E.x!=null?E.x-F.x:0,y:E.y!=null?E.y-F.y:0};if(D.isParent()&&!(U.x===0&&U.y===0))D.children().shift(U,A);D.dirtyBoundingBoxCache()}}},Oy0,MG4,dq=function(B){switch(B){case"left":case"right-inside":return"left";case"right":case"left-inside":return"right";default:return"center"}},sq=function(B){switch(B){case"top":case"bottom-inside":return"top";case"bottom":case"top-inside":return"bottom";default:return"center"}},bG4=function(B){switch(B){case"left":return"right";case"right":return"left";case"left-inside":return"left";case"right-inside":return"right";default:return"center"}},cq,Ab,JA=function(B){if(B===1/0||B===-1/0)return 0;return B},NC=function(B,E,A,C,D){if(C-E===0||D-A===0)return;if(E==null||A==null||C==null||D==null)return;B.x1=E<B.x1?E:B.x1,B.x2=C>B.x2?C:B.x2,B.y1=A<B.y1?A:B.y1,B.y2=D>B.y2?D:B.y2,B.w=B.x2-B.x1,B.h=B.y2-B.y1},rM=function(B,E){if(E==null)return B;return NC(B,E.x1,E.y1,E.x2,E.y2)},SS=function(B,E,A){return vB(B,E,A)},La=function(B,E,A){if(E.cy().headless())return;var C=E._private,D=C.rstyle,F=D.arrowWidth/2,U=E.pstyle(A+"-arrow-shape").value,z,k;if(U!=="none"){if(A==="source")z=D.srcX,k=D.srcY;else if(A==="target")z=D.tgtX,k=D.tgtY;else z=D.midX,k=D.midY;var f=C.arrowBounds=C.arrowBounds||{},M=f[A]=f[A]||{};M.x1=z-F,M.y1=k-F,M.x2=z+F,M.y2=k+F,M.w=M.x2-M.x1,M.h=M.y2-M.y1,Ta(M,1),NC(B,M.x1,M.y1,M.x2,M.y2)}},M50=function(B,E,A){if(E.cy().headless())return;var C;if(A)C=A+"-";else C="";var D=E._private,F=D.rstyle,U=E.pstyle(C+"label").strValue;if(U){var z=E.pstyle("text-halign"),k=E.pstyle("text-valign"),f=SS(F,"labelWidth",A),M=SS(F,"labelHeight",A),b=SS(F,"labelX",A),Z=SS(F,"labelY",A),J=E.pstyle(C+"text-margin-x").pfValue,K=E.pstyle(C+"text-margin-y").pfValue,w=E.isEdge(),Q=E.pstyle(C+"text-rotation"),G=E.pstyle("text-outline-width").pfValue,H=E.pstyle("text-border-width").pfValue,l=H/2,q=E.pstyle("text-background-padding").pfValue,L=2,v=M,x=f,S=x/2,W=v/2,T,R,Y,h;if(w)T=b-S,R=b+S,Y=Z-W,h=Z+W;else{switch(dq(z.value)){case"left":T=b-x,R=b;break;case"center":T=b-S,R=b+S;break;case"right":T=b,R=b+x;break}switch(sq(k.value)){case"top":Y=Z-v,h=Z;break;case"center":Y=Z-W,h=Z+W;break;case"bottom":Y=Z,h=Z+v;break}}var I=J-Math.max(G,l)-q-L,O=J+Math.max(G,l)+q+L,V=K-Math.max(G,l)-q-L,j=K+Math.max(G,l)+q+L;T+=I,R+=O,Y+=V,h+=j;var i=A||"main",a=D.labelBounds,$=a[i]=a[i]||{};$.x1=T,$.y1=Y,$.x2=R,$.y2=h,$.w=R-T,$.h=h-Y,$.leftPad=I,$.rightPad=O,$.topPad=V,$.botPad=j;var m=w&&Q.strValue==="autorotate",y=Q.pfValue!=null&&Q.pfValue!==0;if(m||y){var r=m?SS(D.rstyle,"labelAngle",A):Q.pfValue,_=Math.cos(r),e=Math.sin(r),p=(T+R)/2,b0=(Y+h)/2;if(!w){switch(dq(z.value)){case"left":p=R;break;case"right":p=T;break}switch(sq(k.value)){case"top":b0=h;break;case"bottom":b0=Y;break}}var B0=function(_0,w0){return _0=_0-p,w0=w0-b0,{x:_0*_-w0*e+p,y:_0*e+w0*_+b0}},k0=B0(T,Y),f0=B0(T,h),D0=B0(R,Y),P0=B0(R,h);T=Math.min(k0.x,f0.x,D0.x,P0.x),R=Math.max(k0.x,f0.x,D0.x,P0.x),Y=Math.min(k0.y,f0.y,D0.y,P0.y),h=Math.max(k0.y,f0.y,D0.y,P0.y)}var L0=i+"Rot",m0=a[L0]=a[L0]||{};m0.x1=T,m0.y1=Y,m0.x2=R,m0.y2=h,m0.w=R-T,m0.h=h-Y,NC(B,T,Y,R,h),NC(D.labelBounds.all,T,Y,R,h)}return B},Iy0=function(B,E){if(E.cy().headless())return;var A=E.pstyle("outline-opacity").value,C=E.pstyle("outline-width").value,D=E.pstyle("outline-offset").value,F=C+D;Qg0(B,E,A,F,"outside",F/2)},Qg0=function(B,E,A,C,D,F){if(A===0||C<=0||D==="inside")return;var U=E.cy(),z=U.renderer(),k=z.nodeShapes[z.getNodeShape(E)];if(!k)return;var f=E.position(),M=f.x,b=f.y,Z=E.width(),J=E.height();if(k.hasMiterBounds){if(D==="center")C/=2;var K=k.miterBounds(M,b,Z,J,C);rM(B,K)}else if(F!=null&&F>0)Oa(B,[F,F,F,F])},ZG4=function(B,E){if(E.cy().headless())return;var A=E.pstyle("border-opacity").value,C=E.pstyle("border-width").pfValue,D=E.pstyle("border-position").value;Qg0(B,E,A,C,D)},JG4=function(B,E){var A=B._private.cy,C=A.styleEnabled(),D=A.headless(),F=xB(),U=B._private,z=B.isNode(),k=B.isEdge(),f,M,b,Z,J,K,w=U.rstyle,Q=z&&C?B.pstyle("bounds-expansion").pfValue:[0],G=function(h0){return h0.pstyle("display").value!=="none"},H=!C||G(B)&&(!k||G(B.source())&&G(B.target()));if(H){var l=0,q=0;if(C&&E.includeOverlays){if(l=B.pstyle("overlay-opacity").value,l!==0)q=B.pstyle("overlay-padding").value}var L=0,v=0;if(C&&E.includeUnderlays){if(L=B.pstyle("underlay-opacity").value,L!==0)v=B.pstyle("underlay-padding").value}var x=Math.max(q,v),S=0,W=0;if(C)S=B.pstyle("width").pfValue,W=S/2;if(z&&E.includeNodes){var T=B.position();J=T.x,K=T.y;var R=B.outerWidth(),Y=R/2,h=B.outerHeight(),I=h/2;if(f=J-Y,M=J+Y,b=K-I,Z=K+I,NC(F,f,b,M,Z),C)Iy0(F,B);if(C&&E.includeOutlines&&!D)Iy0(F,B);if(C)ZG4(F,B)}else if(k&&E.includeEdges)if(C&&!D){var O=B.pstyle("curve-style").strValue;if(f=Math.min(w.srcX,w.midX,w.tgtX),M=Math.max(w.srcX,w.midX,w.tgtX),b=Math.min(w.srcY,w.midY,w.tgtY),Z=Math.max(w.srcY,w.midY,w.tgtY),f-=W,M+=W,b-=W,Z+=W,NC(F,f,b,M,Z),O==="haystack"){var V=w.haystackPts;if(V&&V.length===2){if(f=V[0].x,b=V[0].y,M=V[1].x,Z=V[1].y,f>M){var j=f;f=M,M=j}if(b>Z){var i=b;b=Z,Z=i}NC(F,f-W,b-W,M+W,Z+W)}}else if(O==="bezier"||O==="unbundled-bezier"||gM(O,"segments")||gM(O,"taxi")){var a;switch(O){case"bezier":case"unbundled-bezier":a=w.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":a=w.linePts;break}if(a!=null)for(var $=0;$<a.length;$++){var m=a[$];f=m.x-W,M=m.x+W,b=m.y-W,Z=m.y+W,NC(F,f,b,M,Z)}}}else{var y=B.source(),r=y.position(),_=B.target(),e=_.position();if(f=r.x,M=e.x,b=r.y,Z=e.y,f>M){var p=f;f=M,M=p}if(b>Z){var b0=b;b=Z,Z=b0}f-=W,M+=W,b-=W,Z+=W,NC(F,f,b,M,Z)}if(C&&E.includeEdges&&k)La(F,B,"mid-source"),La(F,B,"mid-target"),La(F,B,"source"),La(F,B,"target");if(C){var B0=B.pstyle("ghost").value==="yes";if(B0){var k0=B.pstyle("ghost-offset-x").pfValue,f0=B.pstyle("ghost-offset-y").pfValue;NC(F,F.x1+k0,F.y1+f0,F.x2+k0,F.y2+f0)}}var D0=U.bodyBounds=U.bodyBounds||{};if(Q$0(D0,F),Oa(D0,Q),Ta(D0,1),C)f=F.x1,M=F.x2,b=F.y1,Z=F.y2,NC(F,f-x,b-x,M+x,Z+x);var P0=U.overlayBounds=U.overlayBounds||{};Q$0(P0,F),Oa(P0,Q),Ta(P0,1);var L0=U.labelBounds=U.labelBounds||{};if(L0.all!=null)nK4(L0.all);else L0.all=xB();if(C&&E.includeLabels){if(E.includeMainLabels)M50(F,B,null);if(k){if(E.includeSourceLabels)M50(F,B,"source");if(E.includeTargetLabels)M50(F,B,"target")}}}if(F.x1=JA(F.x1),F.y1=JA(F.y1),F.x2=JA(F.x2),F.y2=JA(F.y2),F.w=JA(F.x2-F.x1),F.h=JA(F.y2-F.y1),F.w>0&&F.h>0&&H)Oa(F,Q),Ta(F,1);return F},Gg0=function(B){var E=0,A=function(F){return(F?1:0)<<E++},C=0;return C+=A(B.incudeNodes),C+=A(B.includeEdges),C+=A(B.includeLabels),C+=A(B.includeMainLabels),C+=A(B.includeSourceLabels),C+=A(B.includeTargetLabels),C+=A(B.includeOverlays),C+=A(B.includeOutlines),C},Hg0=function(B){var E=function(U){return Math.round(U)};if(B.isEdge()){var A=B.source().position(),C=B.target().position();return M$0([E(A.x),E(A.y),E(C.x),E(C.y)])}else{var D=B.position();return M$0([E(D.x),E(D.y)])}},Py0=function(B,E){var A=B._private,C,D=B.isEdge(),F=E==null?jy0:Gg0(E),U=F===jy0;if(A.bbCache==null)C=JG4(B,cS),A.bbCache=C,A.bbCachePosKey=Hg0(B);else C=A.bbCache;if(!U){var z=B.isNode();if(C=xB(),E.includeNodes&&z||E.includeEdges&&!z)if(E.includeOverlays)rM(C,A.overlayBounds);else rM(C,A.bodyBounds);if(E.includeLabels)if(E.includeMainLabels&&(!D||E.includeSourceLabels&&E.includeTargetLabels))rM(C,A.labelBounds.all);else{if(E.includeMainLabels)rM(C,A.labelBounds.mainRot);if(E.includeSourceLabels)rM(C,A.labelBounds.sourceRot);if(E.includeTargetLabels)rM(C,A.labelBounds.targetRot)}C.w=C.x2-C.x1,C.h=C.y2-C.y1}return C},cS,jy0,Ny0,KG4,jS,EY,qg0=function(B){B.uppercaseName=sm0(B.name),B.autoName="auto"+B.uppercaseName,B.labelName="label"+B.uppercaseName,B.outerName="outer"+B.uppercaseName,B.uppercaseOuterName=sm0(B.outerName),jS[B.name]=function(){var A=this[0],C=A._private,D=C.cy,F=D._private.styleEnabled;if(A)if(F){if(A.isParent())return A.updateCompoundBounds(),C[B.autoName]||0;var U=A.pstyle(B.name);switch(U.strValue){case"label":return A.recalculateRenderedStyle(),C.rstyle[B.labelName]||0;default:return U.pfValue}}else return 1},jS["outer"+B.uppercaseName]=function(){var A=this[0],C=A._private,D=C.cy,F=D._private.styleEnabled;if(A)if(F){var U=A[B.name](),z=A.pstyle("border-position").value,k;if(z==="center")k=A.pstyle("border-width").pfValue;else if(z==="outside")k=2*A.pstyle("border-width").pfValue;else k=0;var f=2*A.padding();return U+k+f}else return 1},jS["rendered"+B.uppercaseName]=function(){var A=this[0];if(A){var C=A[B.name]();return C*this.cy().zoom()}},jS["rendered"+B.uppercaseOuterName]=function(){var A=this[0];if(A){var C=A[B.outerName]();return C*this.cy().zoom()}}},wG4,QG4=function(B,E){if(B.isEdge()&&B.takesUpSpace())return E(B)},GG4=function(B,E){if(B.isEdge()&&B.takesUpSpace()){var A=B.cy();return Am(E(B),A.zoom(),A.pan())}},HG4=function(B,E){if(B.isEdge()&&B.takesUpSpace()){var A=B.cy(),C=A.pan(),D=A.zoom();return E(B).map(function(F){return Am(F,D,C)})}},qG4=function(B){return B.renderer().getControlPoints(B)},lG4=function(B){return B.renderer().getSegmentPoints(B)},LG4=function(B){return B.renderer().getSourceEndpoint(B)},XG4=function(B){return B.renderer().getTargetEndpoint(B)},vG4=function(B){return B.renderer().getEdgeMidpoint(B)},Vy0,xG4=function(B){return"rendered"+B[0].toUpperCase()+B.substr(1)},WG4,SG4,lg0=function(B,E){this.recycle(B,E)},Lg0,YG4=".*",Xg0,hy0,RG4,ub,vg0=function(B,E,A,C,D,F,U){if(l9(C))D=C,C=null;if(U)if(F==null)F=U;else F=k3({},F,U);var z=v6(A)?A:A.split(/\s+/);for(var k=0;k<z.length;k++){var f=z[k];if(dM(f))continue;var M=f.match(Lg0);if(M){var b=M[1],Z=M[2]?M[2]:null,J=E(B,f,b,Z,C,D,F);if(J===!1)break}}},iy0=function(B,E){return B.addEventFields(B.context,E),new lg0(E.type,E)},TG4=function(B,E,A){if(jJ4(A)){E(B,A);return}else if(Y1(A)){E(B,iy0(B,A));return}var C=v6(A)?A:A.split(/\s+/);for(var D=0;D<C.length;D++){var F=C[D];if(dM(F))continue;var U=F.match(Lg0);if(U){var z=U[1],k=U[2]?U[2]:null,f=iy0(B,{type:z,namespace:k,target:B.context});E(B,f)}}},OG4,va=function(B){if(n4(B))return new tM(B);else return B},xg0,Wg0,$1,IG4,Sg0=function(B,E){var A=B.cy(),C=A.hasCompoundNodes();function D(f){var M=f.pstyle("z-compound-depth");if(M.value==="auto")return C?f.zDepth():0;else if(M.value==="bottom")return-1;else if(M.value==="top")return _50;return 0}var F=D(B)-D(E);if(F!==0)return F;function U(f){var M=f.pstyle("z-index-compare");if(M.value==="auto")return f.isNode()?1:0;return 0}var z=U(B)-U(E);if(z!==0)return z;var k=B.pstyle("z-index").value-E.pstyle("z-index").value;if(k!==0)return k;return B.poolIndex()-E.poolIndex()},pa,PG4=function(){var B="undefined",E=(typeof Symbol>"u"?"undefined":e2(Symbol))!=B&&e2(Symbol.iterator)!=B;if(E)pa[Symbol.iterator]=function(){var A=this,C={value:void 0,done:!1},D=0,F=this.length;return Xr0({next:function(){if(D<F)C.value=A[D++];else C.value=void 0,C.done=!0;return C}},Symbol.iterator,function(){return this})}},jG4,Pa,U7,eq,NG4,VG4,hG4,iG4,nM,h7,my0=function(B){return function(A){var C=this,D=[];for(var F=0;F<C.length;F++){var U=C[F];if(!U.isNode())continue;var z=!1,k=U.connectedEdges();for(var f=0;f<k.length;f++){var M=k[f],b=M.source(),Z=M.target();if(B.noIncomingEdges&&Z===U&&b!==U||B.noOutgoingEdges&&b===U&&Z!==U){z=!0;break}}if(!z)D.push(U)}return this.spawn(D,!0).filter(A)}},$y0=function(B){return function(E){var A=this,C=[];for(var D=0;D<A.length;D++){var F=A[D];if(!F.isNode())continue;var U=F.connectedEdges();for(var z=0;z<U.length;z++){var k=U[z],f=k.source(),M=k.target();if(B.outgoing&&f===F)C.push(k),C.push(M);else if(B.incoming&&M===F)C.push(k),C.push(f)}}return this.spawn(C,!0).filter(E)}},yy0=function(B){return function(E){var A=this,C=[],D={};for(;;){var F=B.outgoing?A.outgoers():A.incomers();if(F.length===0)break;var U=!1;for(var z=0;z<F.length;z++){var k=F[z],f=k.id();if(!D[f])D[f]=!0,C.push(k),U=!0}if(!U)break;A=F}return this.spawn(C,!0).filter(E)}},z7=function(B,E){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(B===void 0){z9("A collection must have a reference to the core");return}var D=new Ek,F=!1;if(!E)E=[];else if(E.length>0&&Y1(E[0])&&!sS(E[0])){F=!0;var U=[],z=new oq;for(var k=0,f=E.length;k<f;k++){var M=E[k];if(M.data==null)M.data={};var b=M.data;if(b.id==null)b.id=$r0();else if(B.hasElementWithId(b.id)||z.has(b.id))continue;var Z=new Em(B,M,!1);U.push(Z),z.add(b.id)}E=U}this.length=0;for(var J=0,K=E.length;J<K;J++){var w=E[J][0];if(w==null)continue;var Q=w._private.data.id;if(!A||!D.has(Q)){if(A)D.set(Q,{index:this.length,ele:w});this[this.length]=w,this.length++}}if(this._private={eles:this,cy:B,get map(){if(this.lazyMap==null)this.rebuildMap();return this.lazyMap},set map(G){this.lazyMap=G},rebuildMap:function(){var H=this.lazyMap=new Ek,l=this.eles;for(var q=0;q<l.length;q++){var L=l[q];H.set(L.id(),{index:q,ele:L})}}},A)this._private.map=D;if(F&&!C)this.restore()},O6,aG4,$G4,T6=function(B,E,A,C){var D=mG4(B,E,A,C);return function(F,U,z){return F+(U-F)*D(z)}},ja,gG4,cG4,xa=function(B){if(n4(B))return new tM(B);else return B},Rg0,O50,Na,_G4,pG4,I50,Va,I5,VS="t",nG4="f",AY,D70,sF,Zm,F70,S2,Jm,O5=function(B){if(!(this instanceof O5))return new O5(B);if(!r50(B)){z9("A style must have a core reference");return}this._private={cy:B,coreStyle:{}},this.length=0,this.resetToDefault()},i7,dG4,sG4="single",mK,_S,pS=function(B){var E=this;B=k3({},B);var A=B.container;if(A&&!$a(A)&&$a(A[0]))A=A[0];var C=A?A._cyreg:null;if(C=C||{},C&&C.cy)C.cy.destroy(),C={};var D=C.readies=C.readies||[];if(A)A._cyreg=C;C.cy=E;var F=o2!==void 0&&A!==void 0&&!B.headless,U=B;U.layout=k3({name:F?"grid":"null"},U.layout),U.renderer=k3({name:F?"canvas":"null"},U.renderer);var z=function(J,K,w){if(K!==void 0)return K;else if(w!==void 0)return w;else return J},k=this._private={container:A,ready:!1,options:U,elements:new z7(this),listeners:[],aniEles:new z7(this),data:U.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:0.00000000000000000000000000000000000000000000000001,maxZoom:100000000000000000000000000000000000000000000000000,zoomingEnabled:z(!0,U.zoomingEnabled),userZoomingEnabled:z(!0,U.userZoomingEnabled),panningEnabled:z(!0,U.panningEnabled),userPanningEnabled:z(!0,U.userPanningEnabled),boxSelectionEnabled:z(!0,U.boxSelectionEnabled),autolock:z(!1,U.autolock,U.autolockNodes),autoungrabify:z(!1,U.autoungrabify,U.autoungrabifyNodes),autounselectify:z(!1,U.autounselectify),styleEnabled:U.styleEnabled===void 0?F:U.styleEnabled,zoom:K4(U.zoom)?U.zoom:1,pan:{x:Y1(U.pan)&&K4(U.pan.x)?U.pan.x:0,y:Y1(U.pan)&&K4(U.pan.y)?U.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:z(250,U.multiClickDebounceTime)};this.createEmitter(),this.selectionType(U.selectionType),this.zoomRange({min:U.minZoom,max:U.maxZoom});var f=function(J,K){var w=J.some(hJ4);if(w)return tq.all(J).then(K);else K(J)};if(k.styleEnabled)E.setStyle([]);var M=k3({},U,U.renderer);E.initRenderer(M);var b=function(J,K,w){E.notifications(!1);var Q=E.mutableElements();if(Q.length>0)Q.remove();if(J!=null){if(Y1(J)||v6(J))E.add(J)}E.one("layoutready",function(H){E.notifications(!0),E.emit(H),E.one("load",K),E.emitAndNotify("load")}).one("layoutstop",function(){E.one("done",w),E.emit("done")});var G=k3({},E._private.options.layout);G.eles=E.elements(),E.layout(G).run()};f([U.style,U.elements],function(Z){var J=Z[0],K=Z[1];if(k.styleEnabled)E.style().append(J);b(K,function(){if(E.startAnimationLoop(),k.ready=!0,l9(U.ready))E.on("ready",U.ready);for(var w=0;w<D.length;w++){var Q=D[w];E.on("ready",Q)}if(C)C.readies=[];E.emit("ready")},U.done)})},na,oG4,tG4,jq=function(B){return B.scratch("breadthfirst")},dy0=function(B,E){return B.scratch("breadthfirst",E)},eG4,uH4,Z50,BH4,EH4=function(B,E,A){var C=A.eles.edges(),D=A.eles.nodes(),F=xB(A.boundingBox?A.boundingBox:{x1:0,y1:0,w:B.width(),h:B.height()}),U={isCompound:B.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:D.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:C.size(),temperature:A.initialTemp,clientWidth:F.w,clientHeight:F.h,boundingBox:F},z=A.eles.components(),k={};for(var f=0;f<z.length;f++){var M=z[f];for(var b=0;b<M.length;b++){var Z=M[b];k[Z.id()]=f}}for(var f=0;f<U.nodeSize;f++){var J=D[f],K=J.layoutDimensions(A),w={};w.isLocked=J.locked(),w.id=J.data("id"),w.parentId=J.data("parent"),w.cmptId=k[J.id()],w.children=[],w.positionX=J.position("x"),w.positionY=J.position("y"),w.offsetX=0,w.offsetY=0,w.height=K.w,w.width=K.h,w.maxX=w.positionX+w.width/2,w.minX=w.positionX-w.width/2,w.maxY=w.positionY+w.height/2,w.minY=w.positionY-w.height/2,w.padLeft=parseFloat(J.style("padding")),w.padRight=parseFloat(J.style("padding")),w.padTop=parseFloat(J.style("padding")),w.padBottom=parseFloat(J.style("padding")),w.nodeRepulsion=l9(A.nodeRepulsion)?A.nodeRepulsion(J):A.nodeRepulsion,U.layoutNodes.push(w),U.idToIndex[w.id]=f}var Q=[],G=0,H=-1,l=[];for(var f=0;f<U.nodeSize;f++){var J=U.layoutNodes[f],q=J.parentId;if(q!=null)U.layoutNodes[U.idToIndex[q]].children.push(J.id);else Q[++H]=J.id,l.push(J.id)}U.graphSet.push(l);while(G<=H){var L=Q[G++],v=U.idToIndex[L],Z=U.layoutNodes[v],x=Z.children;if(x.length>0){U.graphSet.push(x);for(var f=0;f<x.length;f++)Q[++H]=x[f]}}for(var f=0;f<U.graphSet.length;f++){var S=U.graphSet[f];for(var b=0;b<S.length;b++){var W=U.idToIndex[S[b]];U.indexToGraph[W]=f}}for(var f=0;f<U.edgeSize;f++){var T=C[f],R={};R.id=T.data("id"),R.sourceId=T.data("source"),R.targetId=T.data("target");var Y=l9(A.idealEdgeLength)?A.idealEdgeLength(T):A.idealEdgeLength,h=l9(A.edgeElasticity)?A.edgeElasticity(T):A.edgeElasticity,I=U.idToIndex[R.sourceId],O=U.idToIndex[R.targetId],V=U.indexToGraph[I],j=U.indexToGraph[O];if(V!=j){var i=AH4(R.sourceId,R.targetId,U),a=U.graphSet[i],$=0,w=U.layoutNodes[I];while(a.indexOf(w.id)===-1)w=U.layoutNodes[U.idToIndex[w.parentId]],$++;w=U.layoutNodes[O];while(a.indexOf(w.id)===-1)w=U.layoutNodes[U.idToIndex[w.parentId]],$++;Y*=$*A.nestingFactor}R.idealLength=Y,R.elasticity=h,U.layoutEdges.push(R)}return U},AH4=function(B,E,A){var C=Pg0(B,E,0,A);if(2>C.count)return 0;else return C.graph},Pg0=function(B,E,A,C){var D=C.graphSet[A];if(-1<D.indexOf(B)&&-1<D.indexOf(E))return{count:2,graph:A};var F=0;for(var U=0;U<D.length;U++){var z=D[U],k=C.idToIndex[z],f=C.layoutNodes[k].children;if(f.length===0)continue;var M=C.indexToGraph[C.idToIndex[f[0]]],b=Pg0(B,E,M,C);if(b.count===0)continue;else if(b.count===1){if(F++,F===2)break}else return b}return{count:F,graph:A}},CH4,DH4=function(B,E){var{clientWidth:A,clientHeight:C}=B;for(var D=0;D<B.nodeSize;D++){var F=B.layoutNodes[D];if(F.children.length===0&&!F.isLocked)F.positionX=Math.random()*A,F.positionY=Math.random()*C}},jg0=function(B,E,A){var C=B.boundingBox,D={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};if(E.boundingBox)A.forEach(function(F){var U=B.layoutNodes[B.idToIndex[F.data("id")]];D.x1=Math.min(D.x1,U.positionX),D.x2=Math.max(D.x2,U.positionX),D.y1=Math.min(D.y1,U.positionY),D.y2=Math.max(D.y2,U.positionY)}),D.w=D.x2-D.x1,D.h=D.y2-D.y1;return function(F,U){var z=B.layoutNodes[B.idToIndex[F.data("id")]];if(E.boundingBox){var k=D.w===0?0.5:(z.positionX-D.x1)/D.w,f=D.h===0?0.5:(z.positionY-D.y1)/D.h;return{x:C.x1+k*C.w,y:C.y1+f*C.h}}else return{x:z.positionX,y:z.positionY}}},FH4=function(B,E,A){var C=A.layout,D=A.eles.nodes(),F=jg0(B,A,D);if(D.positions(F),B.ready!==!0)B.ready=!0,C.one("layoutready",A.ready),C.emit({type:"layoutready",layout:this})},UH4=function(B,E,A){zH4(B,E),MH4(B),bH4(B,E),ZH4(B),JH4(B)},zH4=function(B,E){for(var A=0;A<B.graphSet.length;A++){var C=B.graphSet[A],D=C.length;for(var F=0;F<D;F++){var U=B.layoutNodes[B.idToIndex[C[F]]];for(var z=F+1;z<D;z++){var k=B.layoutNodes[B.idToIndex[C[z]]];kH4(U,k,B,E)}}}},sy0=function(B){return-B+2*B*Math.random()},kH4=function(B,E,A,C){var D=B.cmptId,F=E.cmptId;if(D!==F&&!A.isCompound)return;var U=E.positionX-B.positionX,z=E.positionY-B.positionY,k=1;if(U===0&&z===0)U=sy0(k),z=sy0(k);var f=fH4(B,E,U,z);if(f>0)var M=C.nodeOverlap*f,b=Math.sqrt(U*U+z*z),Z=M*U/b,J=M*z/b;else var K=da(B,U,z),w=da(E,-1*U,-1*z),Q=w.x-K.x,G=w.y-K.y,H=Q*Q+G*G,b=Math.sqrt(H),M=(B.nodeRepulsion+E.nodeRepulsion)/H,Z=M*Q/b,J=M*G/b;if(!B.isLocked)B.offsetX-=Z,B.offsetY-=J;if(!E.isLocked)E.offsetX+=Z,E.offsetY+=J;return},fH4=function(B,E,A,C){if(A>0)var D=B.maxX-E.minX;else var D=E.maxX-B.minX;if(C>0)var F=B.maxY-E.minY;else var F=E.maxY-B.minY;if(D>=0&&F>=0)return Math.sqrt(D*D+F*F);else return 0},da=function(B,E,A){var{positionX:C,positionY:D}=B,F=B.height||1,U=B.width||1,z=A/E,k=F/U,f={};if(E===0&&0<A)return f.x=C,f.y=D+F/2,f;if(E===0&&0>A)return f.x=C,f.y=D+F/2,f;if(0<E&&-1*k<=z&&z<=k)return f.x=C+U/2,f.y=D+U*A/2/E,f;if(0>E&&-1*k<=z&&z<=k)return f.x=C-U/2,f.y=D-U*A/2/E,f;if(0<A&&(z<=-1*k||z>=k))return f.x=C+F*E/2/A,f.y=D+F/2,f;if(0>A&&(z<=-1*k||z>=k))return f.x=C-F*E/2/A,f.y=D-F/2,f;return f},MH4=function(B,E){for(var A=0;A<B.edgeSize;A++){var C=B.layoutEdges[A],D=B.idToIndex[C.sourceId],F=B.layoutNodes[D],U=B.idToIndex[C.targetId],z=B.layoutNodes[U],k=z.positionX-F.positionX,f=z.positionY-F.positionY;if(k===0&&f===0)continue;var M=da(F,k,f),b=da(z,-1*k,-1*f),Z=b.x-M.x,J=b.y-M.y,K=Math.sqrt(Z*Z+J*J),w=Math.pow(C.idealLength-K,2)/C.elasticity;if(K!==0)var Q=w*Z/K,G=w*J/K;else var Q=0,G=0;if(!F.isLocked)F.offsetX+=Q,F.offsetY+=G;if(!z.isLocked)z.offsetX-=Q,z.offsetY-=G}},bH4=function(B,E){if(E.gravity===0)return;var A=1;for(var C=0;C<B.graphSet.length;C++){var D=B.graphSet[C],F=D.length;if(C===0)var U=B.clientHeight/2,z=B.clientWidth/2;else var k=B.layoutNodes[B.idToIndex[D[0]]],f=B.layoutNodes[B.idToIndex[k.parentId]],U=f.positionX,z=f.positionY;for(var M=0;M<F;M++){var b=B.layoutNodes[B.idToIndex[D[M]]];if(b.isLocked)continue;var Z=U-b.positionX,J=z-b.positionY,K=Math.sqrt(Z*Z+J*J);if(K>A){var w=E.gravity*Z/K,Q=E.gravity*J/K;b.offsetX+=w,b.offsetY+=Q}}}},ZH4=function(B,E){var A=[],C=0,D=-1;A.push.apply(A,B.graphSet[0]),D+=B.graphSet[0].length;while(C<=D){var F=A[C++],U=B.idToIndex[F],z=B.layoutNodes[U],k=z.children;if(0<k.length&&!z.isLocked){var{offsetX:f,offsetY:M}=z;for(var b=0;b<k.length;b++){var Z=B.layoutNodes[B.idToIndex[k[b]]];Z.offsetX+=f,Z.offsetY+=M,A[++D]=k[b]}z.offsetX=0,z.offsetY=0}}},JH4=function(B,E){for(var A=0;A<B.nodeSize;A++){var C=B.layoutNodes[A];if(0<C.children.length)C.maxX=void 0,C.minX=void 0,C.maxY=void 0,C.minY=void 0}for(var A=0;A<B.nodeSize;A++){var C=B.layoutNodes[A];if(0<C.children.length||C.isLocked)continue;var D=KH4(C.offsetX,C.offsetY,B.temperature);C.positionX+=D.x,C.positionY+=D.y,C.offsetX=0,C.offsetY=0,C.minX=C.positionX-C.width,C.maxX=C.positionX+C.width,C.minY=C.positionY-C.height,C.maxY=C.positionY+C.height,Ng0(C,B)}for(var A=0;A<B.nodeSize;A++){var C=B.layoutNodes[A];if(0<C.children.length&&!C.isLocked)C.positionX=(C.maxX+C.minX)/2,C.positionY=(C.maxY+C.minY)/2,C.width=C.maxX-C.minX,C.height=C.maxY-C.minY}},KH4=function(B,E,A){var C=Math.sqrt(B*B+E*E);if(C>A)var D={x:A*B/C,y:A*E/C};else var D={x:B,y:E};return D},Ng0=function(B,E){var A=B.parentId;if(A==null)return;var C=E.layoutNodes[E.idToIndex[A]],D=!1;if(C.maxX==null||B.maxX+C.padRight>C.maxX)C.maxX=B.maxX+C.padRight,D=!0;if(C.minX==null||B.minX-C.padLeft<C.minX)C.minX=B.minX-C.padLeft,D=!0;if(C.maxY==null||B.maxY+C.padBottom>C.maxY)C.maxY=B.maxY+C.padBottom,D=!0;if(C.minY==null||B.minY-C.padTop<C.minY)C.minY=B.minY-C.padTop,D=!0;if(D)return Ng0(C,E);return},oy0=function(B,E){var A=B.layoutNodes,C=[];for(var D=0;D<A.length;D++){var F=A[D],U=F.cmptId,z=C[U]=C[U]||[];z.push(F)}var k=0;for(var D=0;D<C.length;D++){var f=C[D];if(!f)continue;f.x1=1/0,f.x2=-1/0,f.y1=1/0,f.y2=-1/0;for(var M=0;M<f.length;M++){var b=f[M];f.x1=Math.min(f.x1,b.positionX-b.width/2),f.x2=Math.max(f.x2,b.positionX+b.width/2),f.y1=Math.min(f.y1,b.positionY-b.height/2),f.y2=Math.max(f.y2,b.positionY+b.height/2)}f.w=f.x2-f.x1,f.h=f.y2-f.y1,k+=f.w*f.h}C.sort(function(G,H){return H.w*H.h-G.w*G.h});var Z=0,J=0,K=0,w=0,Q=Math.sqrt(k)*B.clientWidth/B.clientHeight;for(var D=0;D<C.length;D++){var f=C[D];if(!f)continue;for(var M=0;M<f.length;M++){var b=f[M];if(!b.isLocked)b.positionX+=Z-f.x1,b.positionY+=J-f.y1}if(Z+=f.w+E.componentSpacing,K+=f.w+E.componentSpacing,w=Math.max(w,f.h),K>Q)J+=w+E.componentSpacing,Z=0,K=0,w=0}},wH4,QH4,GH4,HH4,qH4,ty0=function(){},ey0=function(){throw Error("A headless instance can not render images")},z70,yK,sa,P50,j50,pF,ZA,ur0,Br0,NK,ha,Bk,TK,PK,cF,Nq,Wa,mg0,$g0,N50,V50,Er0,Ar0=function(B,E,A){A.x=E.x-B.x,A.y=E.y-B.y,A.len=Math.sqrt(A.x*A.x+A.y*A.y),A.nx=A.x/A.len,A.ny=A.y/A.len,A.ang=Math.atan2(A.ny,A.nx)},lH4=function(B,E){E.x=B.x*-1,E.y=B.y*-1,E.nx=B.nx*-1,E.ny=B.ny*-1,E.ang=B.ang>0?-(Math.PI-B.ang):Math.PI+B.ang},LH4=function(B,E,A,C,D){if(B!==Er0?Ar0(E,B,pF):lH4(ZA,pF),Ar0(E,A,ZA),ur0=pF.nx*ZA.ny-pF.ny*ZA.nx,Br0=pF.nx*ZA.nx-pF.ny*-ZA.ny,Bk=Math.asin(Math.max(-1,Math.min(1,ur0))),Math.abs(Bk)<0.000001){P50=E.x,j50=E.y,PK=Nq=0;return}if(NK=1,ha=!1,Br0<0)if(Bk<0)Bk=Math.PI+Bk;else Bk=Math.PI-Bk,NK=-1,ha=!0;else if(Bk>0)NK=-1,ha=!0;if(E.radius!==void 0)Nq=E.radius;else Nq=C;if(TK=Bk/2,Wa=Math.min(pF.len/2,ZA.len/2),D)if(cF=Math.abs(Math.cos(TK)*Nq/Math.sin(TK)),cF>Wa)cF=Wa,PK=Math.abs(cF*Math.sin(TK)/Math.cos(TK));else PK=Nq;else cF=Math.min(Wa,Nq),PK=Math.abs(cF*Math.sin(TK)/Math.cos(TK));N50=E.x+ZA.nx*cF,V50=E.y+ZA.ny*cF,P50=N50-ZA.ny*PK*NK,j50=V50+ZA.nx*PK*NK,mg0=E.x+pF.nx*cF,$g0=E.y+pF.ny*cF,Er0=E},nS=0.01,XH4,a7,CY,f70,oF,gg0=function(B,E){var A=Math.atan(E/B);if(B===0&&A<0)A=A*-1;return A},cg0=function(B,E){var A=E.x-B.x,C=E.y-B.y;return gg0(A,C)},xH4=function(B,E,A,C){var D=yS(0,C-0.001,1),F=yS(0,C+0.001,1),U=yq(B,E,A,D),z=yq(B,E,A,F);return cg0(U,z)},_g0,Cr0=28,Dr0=!1,wm,Qm,pg0,ng0,dg0=function(B,E){var A=B[0];if(!A||A._private.grabbed===E)return;A._private.grabbed=E,B.updateStyle(!1)},WH4=function(B){dg0(B,!0)},SH4=function(B){dg0(B,!1)},Bl,Dk,DY,Fr0=function(B,E,A){var C=B.beforeRenderCallbacks;for(var D=0;D<C.length;D++)C[D].fn(E,A)},YH4=function(B){this.init(B)},sg0,El,J50=16.666666666666668,og0,RH4,Ur0=25,Sa=50,ia=-4,h50=3,tg0=7.99,TH4=8,OH4=1024,IH4=1024,PH4=1024,jH4=0.2,NH4=0.8,VH4=10,hH4=0.15,iH4=0.1,aH4=0.9,mH4=0.9,$H4=100,yH4=1,$q,rH4,NS=function(B,E){var A=this;A.renderer=B,A.onDequeues=[];var C=rH4(E);k3(A,C),A.lookup=new RH4(C.getKey,C.doesEleInvalidateKey),A.setupDequeueing()},u5,gH4=1,hS=-4,oa=2,cH4=3.99,_H4=50,pH4=50,nH4=0.15,dH4=0.1,sH4=0.9,oH4=0.9,tH4=1,zr0=250,eH4=16000000,kr0=32767,uq4=!0,eg0=function(B){var E=this,A=E.renderer=B,C=A.cy;E.layersByLevel={},E.firstGet=!0,E.lastInvalidationTime=Ak()-2*zr0,E.skipping=!1,E.eleTxrDeqs=C.collection(),E.scheduleElementRefinement=uY(function(){E.refineElementTextures(E.eleTxrDeqs),E.eleTxrDeqs.unmerge(E.eleTxrDeqs)},pH4),A.beforeRender(function(F,U){if(U-E.lastInvalidationTime<=zr0)E.skipping=!0;else E.skipping=!1},A.beforeRenderPriorities.lyrTxrSkip);var D=function(U,z){return z.reqs-U.reqs};E.layersQueue=new BY(D),E.setupDequeueing()},f7,fr0=0,Bq4,uc0,Mr0,tF,Fq4=function(){return 0},Uq4=function(B,E){return B.getTextAngle(E,null)},zq4=function(B,E){return B.getTextAngle(E,"source")},kq4=function(B,E){return B.getTextAngle(E,"target")},fq4=function(B,E){return E.effectiveOpacity()},K50=function(B,E){return E.pstyle("text-opacity").pfValue*E.effectiveOpacity()},Fk,Bc0=function(B){if(!["overlay","underlay"].includes(B))throw Error("Invalid state");return function(E,A){if(!A.visible())return;var C=A.pstyle("".concat(B,"-opacity")).value;if(C===0)return;var D=this,F=D.usePaths(),U=A._private.rscratch,z=A.pstyle("".concat(B,"-padding")).pfValue,k=2*z,f=A.pstyle("".concat(B,"-color")).value;if(E.lineWidth=k,U.edgeType==="self"&&!F)E.lineCap="butt";else E.lineCap="round";D.colorStrokeStyle(E,f[0],f[1],f[2],C),D.drawEdgePath(A,E,U.allpts,"solid")}},M70,rK,Cb,Ec0=function(B){if(!["overlay","underlay"].includes(B))throw Error("Invalid state");return function(E,A,C,D,F){var U=this;if(!A.visible())return;var z=A.pstyle("".concat(B,"-padding")).pfValue,k=A.pstyle("".concat(B,"-opacity")).value,f=A.pstyle("".concat(B,"-color")).value,M=A.pstyle("".concat(B,"-shape")).value,b=A.pstyle("".concat(B,"-corner-radius")).value;if(k>0){if(C=C||A.position(),D==null||F==null){var Z=A.padding();D=A.width()+2*Z,F=A.height()+2*Z}U.colorFillStyle(E,f[0],f[1],f[2],k),U.nodeShapes[M].draw(E,C.x,C.y,D+z*2,F+z*2,b),E.fill()}}},WB,bq4=100,TS,Kr0,Sq4,Yq4,Tq4,Oq4,Iq4=`
float circleSD(vec2 p, float r) {
return distance(vec2(0), p) - r; // signed distance
}
`,Pq4=`
float rectangleSD(vec2 p, vec2 b) {
vec2 d = abs(p)-b;
return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);
}
`,jq4=`
float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {
cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;
cr.x = (p.y > 0.0) ? cr.x : cr.y;
vec2 q = abs(p) - b + cr.x;
return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;
}
`,Nq4=`
float ellipseSD(vec2 p, vec2 ab) {
p = abs( p ); // symmetry
// find root with Newton solver
vec2 q = ab*(p-ab);
float w = (q.x<q.y)? 1.570796327 : 0.0;
for( int i=0; i<5; i++ ) {
vec2 cs = vec2(cos(w),sin(w));
vec2 u = ab*vec2( cs.x,cs.y);
vec2 v = ab*vec2(-cs.y,cs.x);
w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));
}
// compute final point and distance
float d = length(p-ab*vec2(cos(w),sin(w)));
// return signed distance
return (dot(p/ab,p/ab)>1.0) ? d : -d;
}
`,iS,ta,Q50=0,Gr0=1,Hr0=2,G50=3,hq=4,Ya=5,OS=6,IS=7,Vq4,Dc0,H50=function(B,E){return function(A){var C=B(A),D=Fc0(A,E);if(D.length>1)return D.map(function(F,U){return"".concat(C,"_").concat(U)});return C}},q50=function(B,E){return function(A,C){var D=B(A);if(typeof C==="string"){var F=C.indexOf("_");if(F>0){var U=Number(C.substring(F+1)),z=Fc0(A,E),k=D.h/z.length,f=k*U,M=D.y1+f;return{x1:D.x1,w:D.w,y1:M,h:k,yOffset:f}}}return D}},Db,qr0,lr0,a50,m50,kc0,yM,FY,Mc0,nq4,B1,dq4,sq4,oq4,Zc0,Jc0,$50=function(){if(arguments.length===2)return wc0.apply(null,arguments);else if(arguments.length===3)return Kc0.apply(null,arguments);else if(arguments.length===4)return eq4.apply(null,arguments);else if(arguments.length===5)return tq4.apply(null,arguments);else z9("Invalid extension access syntax")},ea=function(){if(!(this instanceof ea))return new ea;this.length=0},$K,ul4="3.34.2",wA=function(B){if(B===void 0)B={};if(Y1(B))return new pS(B);else if(n4(B))return $50.apply($50,arguments)};var Z70=g(()=>{o2=typeof window>"u"?null:window,dm0=o2?o2.navigator:null;o2&&o2.document;TJ4=e2(""),xr0=e2({}),OJ4=e2(function(){}),IJ4=typeof HTMLElement>"u"?"undefined":e2(HTMLElement),g50=_q(function(u){return u.replace(/([A-Z])/g,function(B){return"-"+B.toLowerCase()})}),um=_q(function(u){return u.replace(/(-\w)/g,function(B){return B[1].toUpperCase()})}),Rr0=_q(function(u,B){return u+B[0].toUpperCase()+B.substring(1)},function(u,B){return u+"$"+B}),aJ4="rgb[a]?\\(("+t2+"[%]?)\\s*,\\s*("+t2+"[%]?)\\s*,\\s*("+t2+"[%]?)(?:\\s*,\\s*("+t2+"))?\\)",mJ4="rgb[a]?\\((?:"+t2+"[%]?)\\s*,\\s*(?:"+t2+"[%]?)\\s*,\\s*(?:"+t2+"[%]?)(?:\\s*,\\s*(?:"+t2+"))?\\)",$J4="hsl[a]?\\(("+t2+")\\s*,\\s*("+t2+"[%])\\s*,\\s*("+t2+"[%])(?:\\s*,\\s*("+t2+"))?\\)",yJ4="hsl[a]?\\((?:"+t2+")\\s*,\\s*(?:"+t2+"[%])\\s*,\\s*(?:"+t2+"[%])(?:\\s*,\\s*(?:"+t2+"))?\\)",k3=Object.assign!=null?Object.assign.bind(Object):function(u){var B=arguments;for(var E=1;E<B.length;E++){var A=B[E];if(A==null)continue;var C=Object.keys(A);for(var D=0;D<C.length;D++){var F=C[D];u[F]=A[F]}}return u},sJ4={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},wa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};FK4=DK4(),uY=oS(FK4),F20=o2?o2.performance:null,Nr0=F20&&F20.now?function(){return F20.now()}:function(){return Date.now()},UK4=function(){if(o2){if(o2.requestAnimationFrame)return function(u){o2.requestAnimationFrame(u)};else if(o2.mozRequestAnimationFrame)return function(u){o2.mozRequestAnimationFrame(u)};else if(o2.webkitRequestAnimationFrame)return function(u){o2.webkitRequestAnimationFrame(u)};else if(o2.msRequestAnimationFrame)return function(u){o2.msRequestAnimationFrame(u)}}return function(u){if(u)setTimeout(function(){u(Nr0())},16.666666666666668)}}(),Ak=Nr0;ZK4=console.warn!=null,JK4=console.trace!=null,_50=Number.MAX_SAFE_INTEGER||9007199254740991,QK4={},HK4=function(){function u(){Bb(this,u),this._obj={}}return Eb(u,[{key:"set",value:function(E,A){return this._obj[E]=A,this}},{key:"delete",value:function(E){return this._obj[E]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(E){return this._obj[E]!==void 0}},{key:"get",value:function(E){return this._obj[E]}}])}(),Ek=typeof Map<"u"?Map:HK4,lK4=function(){function u(B){if(Bb(this,u),this._obj=Object.create(null),this.size=0,B!=null){var E;if(B.instanceString!=null&&B.instanceString()===this.instanceString())E=B.toArray();else E=B;for(var A=0;A<E.length;A++)this.add(E[A])}}return Eb(u,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(E){var A=this._obj;if(A[E]!==1)A[E]=1,this.size++}},{key:"delete",value:function(E){var A=this._obj;if(A[E]===1)A[E]=0,this.size--}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(E){return this._obj[E]===1}},{key:"toArray",value:function(){var E=this;return Object.keys(this._obj).filter(function(A){return E.has(A)})}},{key:"forEach",value:function(E,A){return this.toArray().forEach(E,A)}}])}(),oq=(typeof Set>"u"?"undefined":e2(Set))!==qK4?Set:lK4,$S={breadthFirstSearch:J$0({bfs:!0}),depthFirstSearch:J$0({dfs:!0})};$S.bfs=$S.breadthFirstSearch;$S.dfs=$S.depthFirstSearch;Ra={exports:{}},LK4=Ra.exports;xK4=vK4(),BY=oS(xK4),WK4=k7({root:null,weight:function(B){return 1},directed:!1}),SK4={dijkstra:function(B){if(!Y1(B)){var E=arguments;B={root:E[0],weight:E[1],directed:E[2]}}var A=WK4(B),C=A.root,D=A.weight,F=A.directed,U=this,z=D,k=n4(C)?this.filter(C)[0]:C[0],f={},M={},b={},Z=this.byGroup(),J=Z.nodes,K=Z.edges;K.unmergeBy(function(I){return I.isLoop()});var w=function(O){return f[O.id()]},Q=function(O,V){f[O.id()]=V,G.updateItem(O)},G=new BY(function(I,O){return w(I)-w(O)});for(var H=0;H<J.length;H++){var l=J[H];f[l.id()]=l.same(k)?0:1/0,G.push(l)}var q=function(O,V){var j=(F?O.edgesTo(V):O.edgesWith(V)).intersect(K),i=1/0,a;for(var $=0;$<j.length;$++){var m=j[$],y=z(m);if(y<i||!a)i=y,a=m}return{edge:a,dist:i}};while(G.size()>0){var L=G.pop(),v=w(L),x=L.id();if(b[x]=v,v===1/0)continue;var S=L.neighborhood().intersect(J);for(var W=0;W<S.length;W++){var T=S[W],R=T.id(),Y=q(L,T),h=v+Y.dist;if(h<w(T))Q(T,h),M[R]={node:L,edge:Y.edge}}}return{distanceTo:function(O){var V=n4(O)?J.filter(O)[0]:O[0];return b[V.id()]},pathTo:function(O){var V=n4(O)?J.filter(O)[0]:O[0],j=[],i=V,a=i.id();if(V.length>0){j.unshift(V);while(M[a]){var $=M[a];j.unshift($.edge),j.unshift($.node),i=$.node,a=i.id()}}return U.spawn(j)}}}},YK4={kruskal:function(B){B=B||function(H){return 1};var E=this.byGroup(),A=E.nodes,C=E.edges,D=A.length,F=Array(D),U=A,z=function(l){for(var q=0;q<F.length;q++){var L=F[q];if(L.has(l))return q}};for(var k=0;k<D;k++)F[k]=this.spawn(A[k]);var f=C.sort(function(H,l){return B(H)-B(l)});for(var M=0;M<f.length;M++){var b=f[M],Z=b.source()[0],J=b.target()[0],K=z(Z),w=z(J),Q=F[K],G=F[w];if(K!==w)U.merge(b),Q.merge(G),F.splice(w,1)}return U}},RK4=k7({root:null,goal:null,weight:function(B){return 1},heuristic:function(B){return 0},directed:!1}),TK4={aStar:function(B){var E=this.cy(),A=RK4(B),C=A.root,D=A.goal,F=A.heuristic,U=A.directed,z=A.weight;C=E.collection(C)[0],D=E.collection(D)[0];var k=C.id(),f=D.id(),M={},b={},Z={},J=new BY(function(a,$){return b[a.id()]-b[$.id()]}),K=new oq,w={},Q={},G=function($,m){J.push($),K.add(m)},H,l,q=function(){H=J.pop(),l=H.id(),K.delete(l)},L=function($){return K.has($)};G(C,k),M[k]=0,b[k]=F(C);var v=0;while(J.size()>0){if(q(),v++,l===f){var x=[],S=D,W=f,T=Q[W];for(;;){if(x.unshift(S),T!=null)x.unshift(T);if(S=w[W],S==null)break;W=S.id(),T=Q[W]}return{found:!0,distance:M[l],path:this.spawn(x),steps:v}}Z[l]=!0;var R=H._private.edges;for(var Y=0;Y<R.length;Y++){var h=R[Y];if(!this.hasElementWithId(h.id()))continue;if(U&&h.data("source")!==l)continue;var I=h.source(),O=h.target(),V=I.id()!==l?I:O,j=V.id();if(!this.hasElementWithId(j))continue;if(Z[j])continue;var i=M[l]+z(h);if(!L(j)){M[j]=i,b[j]=i+F(V),G(V,j),w[j]=H,Q[j]=h;continue}if(i<M[j])M[j]=i,b[j]=i+F(V),J.updateItem(V),w[j]=H,Q[j]=h}}return{found:!1,distance:void 0,path:void 0,steps:v}}},OK4=k7({weight:function(B){return 1},directed:!1}),IK4={floydWarshall:function(B){var E=this.cy(),A=OK4(B),C=A.weight,D=A.directed,F=C,U=this.byGroup(),z=U.nodes,k=U.edges,f=z.length,M=f*f,b=function(y){return z.indexOf(y)},Z=function(y){return z[y]},J=Array(M);for(var K=0;K<M;K++){var w=K%f,Q=(K-w)/f;if(Q===w)J[K]=0;else J[K]=1/0}var G=Array(M),H=Array(M);for(var l=0;l<k.length;l++){var q=k[l],L=q.source()[0],v=q.target()[0];if(L===v)continue;var x=b(L),S=b(v),W=x*f+S,T=F(q);if(J[W]>T)J[W]=T,G[W]=S,H[W]=q;if(!D){var R=S*f+x;if(!D&&J[R]>T)J[R]=T,G[R]=x,H[R]=q}}for(var Y=0;Y<f;Y++)for(var h=0;h<f;h++){var I=h*f+Y;for(var O=0;O<f;O++){var V=h*f+O,j=Y*f+O;if(J[I]+J[j]<J[V])J[V]=J[I]+J[j],G[V]=G[I]}}var i=function(y){return(n4(y)?E.filter(y):y)[0]},a=function(y){return b(i(y))},$={distance:function(y,r){var _=a(y),e=a(r);return J[_*f+e]},path:function(y,r){var _=a(y),e=a(r),p=Z(_);if(_===e)return p.collection();if(G[_*f+e]==null)return E.collection();var b0=E.collection(),B0=_,k0;b0.merge(p);while(_!==e)B0=_,_=G[_*f+e],k0=H[B0*f+_],b0.merge(k0),b0.merge(Z(_));return b0}};return $}},PK4=k7({weight:function(B){return 1},directed:!1,root:null}),jK4={bellmanFord:function(B){var E=this,A=PK4(B),C=A.weight,D=A.directed,F=A.root,U=C,z=this,k=this.cy(),f=this.byGroup(),M=f.edges,b=f.nodes,Z=b.length,J=new Ek,K=!1,w=[];F=k.collection(F)[0],M.unmergeBy(function(_0){return _0.isLoop()});var Q=M.length,G=function(w0){var x0=J.get(w0.id());if(!x0)x0={},J.set(w0.id(),x0);return x0},H=function(w0){return(n4(w0)?k.$(w0):w0)[0]},l=function(w0){return G(H(w0)).dist},q=function(w0){var x0=arguments.length>1&&arguments[1]!==void 0?arguments[1]:F,T0=H(w0),J0=[],F0=T0;for(;;){if(F0==null)return E.spawn();var u0=G(F0),Z0=u0.edge,X0=u0.pred;if(J0.unshift(F0[0]),F0.same(x0)&&J0.length>0)break;if(Z0!=null)J0.unshift(Z0);F0=X0}return z.spawn(J0)};for(var L=0;L<Z;L++){var v=b[L],x=G(v);if(v.same(F))x.dist=0;else x.dist=1/0;x.pred=null,x.edge=null}var S=!1,W=function(w0,x0,T0,J0,F0,u0){var Z0=J0.dist+u0;if(Z0<F0.dist&&!T0.same(J0.edge))F0.dist=Z0,F0.pred=w0,F0.edge=T0,S=!0};for(var T=1;T<Z;T++){S=!1;for(var R=0;R<Q;R++){var Y=M[R],h=Y.source(),I=Y.target(),O=U(Y),V=G(h),j=G(I);if(W(h,I,Y,V,j,O),!D)W(I,h,Y,j,V,O)}if(!S)break}if(S){var i=[];for(var a=0;a<Q;a++){var $=M[a],m=$.source(),y=$.target(),r=U($),_=G(m).dist,e=G(y).dist;if(_+r<e||!D&&e+r<_){if(!K)D6("Graph contains a negative weight cycle for Bellman-Ford"),K=!0;if(B.findNegativeWeightCycles!==!1){var p=[];if(_+r<e)p.push(m);if(!D&&e+r<_)p.push(y);var b0=p.length;for(var B0=0;B0<b0;B0++){var k0=p[B0],f0=[k0];f0.push(G(k0).edge);var D0=G(k0).pred;while(f0.indexOf(D0)===-1)f0.push(D0),f0.push(G(D0).edge),D0=G(D0).pred;f0=f0.slice(f0.indexOf(D0));var P0=f0[0].id(),L0=0;for(var m0=2;m0<f0.length;m0+=2)if(f0[m0].id()<P0)P0=f0[m0].id(),L0=m0;f0=f0.slice(L0).concat(f0.slice(0,L0)),f0.push(f0[0]);var h0=f0.map(function(_0){return _0.id()}).join(",");if(i.indexOf(h0)===-1)w.push(z.spawn(f0)),i.push(h0)}}else break}}}return{distanceTo:l,pathTo:q,hasNegativeWeightCycle:K,negativeWeightCycles:w}}},NK4=Math.sqrt(2),hK4={kargerStein:function(){var B=this,E=this.byGroup(),A=E.nodes,C=E.edges;C.unmergeBy(function(j){return j.isLoop()});var D=A.length,F=C.length,U=Math.ceil(Math.pow(Math.log(D)/Math.LN2,2)),z=Math.floor(D/NK4);if(D<2){z9("At least 2 nodes are required for Karger-Stein algorithm");return}var k=[];for(var f=0;f<F;f++){var M=C[f];k.push([f,A.indexOf(M.source()),A.indexOf(M.target())])}var b=1/0,Z=[],J=Array(D),K=Array(D),w=Array(D),Q=function(i,a){for(var $=0;$<D;$++)a[$]=i[$]};for(var G=0;G<=U;G++){for(var H=0;H<D;H++)K[H]=H;var l=z20(K,k.slice(),D,z),q=l.slice();Q(K,w);var L=z20(K,l,z,2),v=z20(w,q,z,2);if(L.length<=v.length&&L.length<b)b=L.length,Z=L,Q(K,J);else if(v.length<=L.length&&v.length<b)b=v.length,Z=v,Q(w,J)}var x=this.spawn(Z.map(function(j){return C[j[0]]})),S=this.spawn(),W=this.spawn(),T=J[0];for(var R=0;R<J.length;R++){var Y=J[R],h=A[R];if(Y===T)S.merge(h);else W.merge(h)}var I=function(i){var a=B.spawn();return i.forEach(function($){a.merge($),$.connectedEdges().forEach(function(m){if(B.contains(m)&&!x.contains(m))a.merge(m)})}),a},O=[I(S),I(W)],V={cut:x,components:O,partition1:S,partition2:W};return V}},d50=Math.log2||function(u){return Math.log(u)/Math.log(2)},sK4=(k20=Math.hypot)!==null&&k20!==void 0?k20:function(u,B){return Math.sqrt(u*u+B*B)};fw4=k7({dampingFactor:0.8,precision:0.000001,iterations:200,weight:function(B){return 1}}),Mw4={pageRank:function(B){var E=fw4(B),A=E.dampingFactor,C=E.precision,D=E.iterations,F=E.weight,U=this._private.cy,z=this.byGroup(),k=z.nodes,f=z.edges,M=k.length,b=M*M,Z=f.length,J=Array(b),K=Array(M),w=(1-A)/M;for(var Q=0;Q<M;Q++){for(var G=0;G<M;G++){var H=Q*M+G;J[H]=0}K[Q]=0}for(var l=0;l<Z;l++){var q=f[l],L=q.data("source"),v=q.data("target");if(L===v)continue;var x=k.indexOfId(L),S=k.indexOfId(v),W=F(q),T=S*M+x;J[T]+=W,K[x]+=W}var R=1/M+w;for(var Y=0;Y<M;Y++)if(K[Y]===0)for(var h=0;h<M;h++){var I=h*M+Y;J[I]=R}else for(var O=0;O<M;O++){var V=O*M+Y;J[V]=J[V]/K[Y]+w}var j=Array(M),i=Array(M),a;for(var $=0;$<M;$++)j[$]=1;for(var m=0;m<D;m++){for(var y=0;y<M;y++)i[y]=0;for(var r=0;r<M;r++)for(var _=0;_<M;_++){var e=r*M+_;i[r]+=J[e]*j[_]}cK4(i),a=j,j=i,i=a;var p=0;for(var b0=0;b0<M;b0++){var B0=a[b0]-j[b0];p+=B0*B0}if(p<C)break}var k0={rank:function(D0){return D0=U.collection(D0)[0],j[k.indexOf(D0)]}};return k0}},H$0=k7({root:null,weight:function(B){return 1},directed:!1,alpha:0}),rq={degreeCentralityNormalized:function(B){B=H$0(B);var E=this.cy(),A=this.nodes(),C=A.length;if(!B.directed){var D={},F=0;for(var U=0;U<C;U++){var z=A[U];B.root=z;var k=this.degreeCentrality(B);if(F<k.degree)F=k.degree;D[z.id()]=k.degree}return{degree:function(H){if(F===0)return 0;if(n4(H))H=E.filter(H);return D[H.id()]/F}}}else{var f={},M={},b=0,Z=0;for(var J=0;J<C;J++){var K=A[J],w=K.id();B.root=K;var Q=this.degreeCentrality(B);if(b<Q.indegree)b=Q.indegree;if(Z<Q.outdegree)Z=Q.outdegree;f[w]=Q.indegree,M[w]=Q.outdegree}return{indegree:function(H){if(b==0)return 0;if(n4(H))H=E.filter(H);return f[H.id()]/b},outdegree:function(H){if(Z===0)return 0;if(n4(H))H=E.filter(H);return M[H.id()]/Z}}}},degreeCentrality:function(B){B=H$0(B);var E=this.cy(),A=this,C=B,D=C.root,F=C.weight,U=C.directed,z=C.alpha;if(D=E.collection(D)[0],!U){var k=D.connectedEdges().intersection(A),f=k.length,M=0;for(var b=0;b<k.length;b++)M+=F(k[b]);return{degree:Math.pow(f,1-z)*Math.pow(M,z)}}else{var Z=D.connectedEdges(),J=Z.filter(function(L){return L.target().same(D)&&A.has(L)}),K=Z.filter(function(L){return L.source().same(D)&&A.has(L)}),w=J.length,Q=K.length,G=0,H=0;for(var l=0;l<J.length;l++)G+=F(J[l]);for(var q=0;q<K.length;q++)H+=F(K[q]);return{indegree:Math.pow(w,1-z)*Math.pow(G,z),outdegree:Math.pow(Q,1-z)*Math.pow(H,z)}}}};rq.dc=rq.degreeCentrality;rq.dcn=rq.degreeCentralityNormalised=rq.degreeCentralityNormalized;q$0=k7({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),gq={closenessCentralityNormalized:function(B){var E=q$0(B),A=E.harmonic,C=E.weight,D=E.directed,F=this.cy(),U={},z=0,k=this.nodes(),f=this.floydWarshall({weight:C,directed:D});for(var M=0;M<k.length;M++){var b=0,Z=k[M];for(var J=0;J<k.length;J++)if(M!==J){var K=f.distance(Z,k[J]);if(A)b+=1/K;else b+=K}if(!A)b=1/b;if(z<b)z=b;U[Z.id()]=b}return{closeness:function(Q){if(z==0)return 0;if(n4(Q))Q=F.filter(Q)[0].id();else Q=Q.id();return U[Q]/z}}},closenessCentrality:function(B){var E=q$0(B),A=E.root,C=E.weight,D=E.directed,F=E.harmonic;A=this.filter(A)[0];var U=this.dijkstra({root:A,weight:C,directed:D}),z=0,k=this.nodes();for(var f=0;f<k.length;f++){var M=k[f];if(!M.same(A)){var b=U.distanceTo(M);if(F)z+=1/b;else z+=b}}return F?z:1/z}};gq.cc=gq.closenessCentrality;gq.ccn=gq.closenessCentralityNormalised=gq.closenessCentralityNormalized;bw4=k7({weight:null,directed:!1}),x50={betweennessCentrality:function(B){var E=bw4(B),A=E.directed,C=E.weight,D=C!=null,F=this.cy(),U=this.nodes(),z={},k={},f=0,M={set:function(H,l){if(k[H]=l,l>f)f=l},get:function(H){return k[H]}};for(var b=0;b<U.length;b++){var Z=U[b],J=Z.id();if(A)z[J]=Z.outgoers().nodes();else z[J]=Z.openNeighborhood().nodes();M.set(J,0)}var K=function(){var H=U[w].id(),l=[],q={},L={},v={},x=new BY(function(r,_){return v[r]-v[_]});for(var S=0;S<U.length;S++){var W=U[S].id();q[W]=[],L[W]=0,v[W]=1/0}L[H]=1,v[H]=0,x.push(H);while(!x.empty()){var T=x.pop();if(l.push(T),D)for(var R=0;R<z[T].length;R++){var Y=z[T][R],h=F.getElementById(T),I=void 0;if(h.edgesTo(Y).length>0)I=h.edgesTo(Y)[0];else I=Y.edgesTo(h)[0];var O=C(I);if(Y=Y.id(),v[Y]>v[T]+O){if(v[Y]=v[T]+O,x.nodes.indexOf(Y)<0)x.push(Y);else x.updateItem(Y);L[Y]=0,q[Y]=[]}if(v[Y]==v[T]+O)L[Y]=L[Y]+L[T],q[Y].push(T)}else for(var V=0;V<z[T].length;V++){var j=z[T][V].id();if(v[j]==1/0)x.push(j),v[j]=v[T]+1;if(v[j]==v[T]+1)L[j]=L[j]+L[T],q[j].push(T)}}var i={};for(var a=0;a<U.length;a++)i[U[a].id()]=0;while(l.length>0){var $=l.pop();for(var m=0;m<q[$].length;m++){var y=q[$][m];i[y]=i[y]+L[y]/L[$]*(1+i[$])}if($!=U[w].id())M.set($,M.get($)+i[$])}};for(var w=0;w<U.length;w++)K();var Q={betweenness:function(H){var l=F.collection(H).id();return M.get(l)},betweennessNormalized:function(H){if(f==0)return 0;var l=F.collection(H).id();return M.get(l)/f}};return Q.betweennessNormalised=Q.betweennessNormalized,Q}};x50.bc=x50.betweennessCentrality;Zw4=k7({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(u){return 1}]}),vw4={markovClustering:l$0,mcl:l$0},pq={euclidean:function(B,E,A){if(B>=2)return WS(B,E,A,0,X$0,Ww4);else return WS(B,E,A,0,L$0)},squaredEuclidean:function(B,E,A){return WS(B,E,A,0,X$0)},manhattan:function(B,E,A){return WS(B,E,A,0,L$0)},max:function(B,E,A){return WS(B,E,A,-1/0,Sw4)}};pq["squared-euclidean"]=pq.squaredEuclidean;pq.squaredeuclidean=pq.squaredEuclidean;Yw4=k7({k:2,m:2,sensitivityThreshold:0.0001,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),hw4={kMeans:Iw4,kMedoids:Pw4,fuzzyCMeans:W$0,fcm:W$0},iw4=k7({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),aw4={single:"min",complete:"max"},$w4={hierarchicalClustering:Y$0,hca:Y$0},yw4=k7({distance:"euclidean",preference:"median",damping:0.8,maxIterations:1000,minIterations:100,attributes:[]}),nw4={affinityPropagation:T$0,ap:T$0},dw4=k7({root:void 0,directed:!1}),sw4={hierholzer:function(B){if(!Y1(B)){var E=arguments;B={root:E[0],directed:E[1]}}var A=dw4(B),C=A.root,D=A.directed,F=this,U=!1,z,k,f;if(C)f=n4(C)?this.filter(C)[0].id():C[0].id();var M={},b={};if(D)F.forEach(function(G){var H=G.id();if(G.isNode()){var l=G.indegree(!0),q=G.outdegree(!0),L=l-q,v=q-l;if(L==1)if(z)U=!0;else z=H;else if(v==1)if(k)U=!0;else k=H;else if(v>1||L>1)U=!0;M[H]=[],G.outgoers().forEach(function(x){if(x.isEdge())M[H].push(x.id())})}else b[H]=[void 0,G.target().id()]});else F.forEach(function(G){var H=G.id();if(G.isNode()){var l=G.degree(!0);if(l%2)if(!z)z=H;else if(!k)k=H;else U=!0;M[H]=[],G.connectedEdges().forEach(function(q){return M[H].push(q.id())})}else b[H]=[G.source().id(),G.target().id()]});var Z={found:!1,trail:void 0};if(U)return Z;else if(k&&z){if(D){if(f&&k!=f)return Z;f=k}else if(f&&k!=f&&z!=f)return Z;else if(!f)f=k}else if(!f)f=F[0].id();var J=function(H){var l=H,q=[H],L,v,x;while(M[l].length){if(L=M[l].shift(),v=b[L][0],x=b[L][1],l!=x)M[x]=M[x].filter(function(S){return S!=L}),l=x;else if(!D&&l!=v)M[v]=M[v].filter(function(S){return S!=L}),l=v;q.unshift(L),q.unshift(l)}return q},K=[],w=[];w=J(f);while(w.length!=1)if(M[w[0]].length==0)K.unshift(F.getElementById(w.shift())),K.unshift(F.getElementById(w.shift()));else w=J(w.shift()).concat(w);K.unshift(F.getElementById(w.shift()));for(var Q in M)if(M[Q].length)return Z;return Z.found=!0,Z.trail=this.spawn(K,!0),Z}},ow4={hopcroftTarjanBiconnected:qa,htbc:qa,htb:qa,hopcroftTarjanBiconnectedComponents:qa},tw4={tarjanStronglyConnected:la,tsc:la,tscc:la,tarjanStronglyConnectedComponents:la},ug0={};[$S,SK4,YK4,TK4,IK4,jK4,hK4,Mw4,rq,gq,x50,vw4,hw4,$w4,nw4,sw4,ow4,tw4].forEach(function(u){k3(ug0,u)});/*!
Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
Licensed under The MIT License (http://opensource.org/licenses/MIT)
*/hC.prototype={fulfill:function(B){return O$0(this,Eg0,"fulfillValue",B)},reject:function(B){return O$0(this,Ag0,"rejectReason",B)},then:function(B,E){var A=this,C=new hC;return A.onFulfilled.push(P$0(B,C,"fulfill")),A.onRejected.push(P$0(E,C,"reject")),Cg0(A),C.proxy}};hC.all=function(u){return new hC(function(B,E){var A=Array(u.length),C=0,D=function(z,k){if(A[z]=k,C++,C===u.length)B(A)};for(var F=0;F<u.length;F++)(function(U){var z=u[U],k=z!=null&&z.then!=null;if(k)z.then(function(M){D(U,M)},function(M){E(M)});else{var f=z;D(U,f)}})(F)})};hC.resolve=function(u){return new hC(function(B,E){B(u)})};hC.reject=function(u){return new hC(function(B,E){E(u)})};tq=typeof Promise<"u"?Promise:hC,aK=Y50.prototype;k3(aK,{instanceString:function(){return"animation"},hook:function(){var B=this._private;if(!B.hooked){var E,A=B.target._private.animation;if(B.queue)E=A.queue;else E=A.current;if(E.push(this),GE(B.target))B.target.cy().addToAnimationPool(B.target);B.hooked=!0}return this},play:function(){var B=this._private;if(B.progress===1)B.progress=0;return B.playing=!0,B.started=!1,B.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var B=this._private;return B.applying=!0,B.started=!1,B.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var B=this._private;return B.playing=!1,B.started=!1,this},stop:function(){var B=this._private;return B.playing=!1,B.started=!1,B.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(B){var E=this._private;if(B===void 0)return E.progress*E.duration;else return this.progress(B/E.duration)},progress:function(B){var E=this._private,A=E.playing;if(B===void 0)return E.progress;else{if(A)this.pause();if(E.progress=B,E.started=!1,A)this.play()}return this},completed:function(){return this._private.progress===1},reverse:function(){var B=this._private,E=B.playing;if(E)this.pause();B.progress=1-B.progress,B.started=!1;var A=function(k,f){var M=B[k];if(M==null)return;B[k]=B[f],B[f]=M};if(A("zoom","startZoom"),A("pan","startPan"),A("position","startPosition"),B.style)for(var C=0;C<B.style.length;C++){var D=B.style[C],F=D.name,U=B.startStyle[F];B.startStyle[F]=D,B.style[C]=U}if(E)this.play();return this},promise:function(B){var E=this._private,A;switch(B){case"frame":A=E.frames;break;default:case"complete":case"completed":A=E.completes}return new tq(function(C,D){A.push(function(){C()})})}});aK.complete=aK.completed;aK.run=aK.play;aK.running=aK.playing;ew4={animated:function(){return function(){var E=this,A=E.length!==void 0,C=A?E:[E],D=this._private.cy||this;if(!D.styleEnabled())return!1;var F=C[0];if(F)return F._private.animation.current.length>0}},clearQueue:function(){return function(){var E=this,A=E.length!==void 0,C=A?E:[E],D=this._private.cy||this;if(!D.styleEnabled())return this;for(var F=0;F<C.length;F++){var U=C[F];U._private.animation.queue=[]}return this}},delay:function(){return function(E,A){var C=this._private.cy||this;if(!C.styleEnabled())return this;return this.animate({delay:E,duration:E,complete:A})}},delayAnimation:function(){return function(E,A){var C=this._private.cy||this;if(!C.styleEnabled())return this;return this.animation({delay:E,duration:E,complete:A})}},animation:function(){return function(E,A){var C=this,D=C.length!==void 0,F=D?C:[C],U=this._private.cy||this,z=!D,k=!z;if(!U.styleEnabled())return this;var f=U.style();E=k3({},E,A);var M=Object.keys(E).length===0;if(M)return new Y50(F[0],E);if(E.duration===void 0)E.duration=400;switch(E.duration){case"slow":E.duration=600;break;case"fast":E.duration=200;break}if(k)E.style=f.getPropsList(E.style||E.css),E.css=void 0;if(k&&E.renderedPosition!=null){var b=E.renderedPosition,Z=U.pan(),J=U.zoom();E.position=rr0(b,J,Z)}if(z&&E.panBy!=null){var K=E.panBy,w=U.pan();E.pan={x:w.x+K.x,y:w.y+K.y}}var Q=E.center||E.centre;if(z&&Q!=null){var G=U.getCenterPan(Q.eles,E.zoom);if(G!=null)E.pan=G}if(z&&E.fit!=null){var H=E.fit,l=U.getFitViewport(H.eles||H.boundingBox,H.padding);if(l!=null)E.pan=l.pan,E.zoom=l.zoom}if(z&&Y1(E.zoom)){var q=U.getZoomedViewport(E.zoom);if(q!=null){if(q.zoomed)E.zoom=q.zoom;if(q.panned)E.pan=q.pan}else E.zoom=null}return new Y50(F[0],E)}},animate:function(){return function(E,A){var C=this,D=C.length!==void 0,F=D?C:[C],U=this._private.cy||this;if(!U.styleEnabled())return this;if(A)E=k3({},E,A);for(var z=0;z<F.length;z++){var k=F[z],f=k.animated()&&(E.queue===void 0||E.queue),M=k.animation(E,f?{queue:!0}:void 0);M.play()}return this}},stop:function(){return function(E,A){var C=this,D=C.length!==void 0,F=D?C:[C],U=this._private.cy||this;if(!U.styleEnabled())return this;for(var z=0;z<F.length;z++){var k=F[z],f=k._private,M=f.animation.current;for(var b=0;b<M.length;b++){var Z=M[b],J=Z._private;if(A)J.duration=0}if(E)f.animation.queue=[];if(!A)f.animation.current=[]}return U.notify("draw"),this}}};IQ4=OQ4(),PQ4=oS(IQ4);mQ4=aQ4(),$Q4=oS(mQ4);gQ4=rQ4(),cQ4=oS(gQ4),_Q4={data:function(B){var E={field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(C){},beforeSet:function(C,D){},onSet:function(C){},canSet:function(C){return!0}};return B=k3({},E,B),function(C,D){var F=B,U=this,z=U.length!==void 0,k=z?U:[U],f=z?U[0]:U;if(n4(C)){var M=C.indexOf(".")!==-1,b=M&&cQ4(C);if(F.allowGetting&&D===void 0){var Z;if(f)if(F.beforeGet(f),b&&f._private[F.field][C]===void 0)Z=PQ4(f._private[F.field],b);else Z=f._private[F.field][C];return Z}else if(F.allowSetting&&D!==void 0){var J=!F.immutableKeys[C];if(J){var K=Xr0({},C,D);F.beforeSet(U,K);for(var w=0,Q=k.length;w<Q;w++){var G=k[w];if(F.canSet(G))if(b&&f._private[F.field][C]===void 0)$Q4(G._private[F.field],b,D);else G._private[F.field][C]=D}if(F.updateStyle)U.updateStyle();if(F.onSet(U),F.settingTriggersEvent)U[F.triggerFnName](F.settingEvent)}}}else if(F.allowSetting&&Y1(C)){var H=C,l,q,L=Object.keys(H);F.beforeSet(U,H);for(var v=0;v<L.length;v++){l=L[v],q=H[l];var x=!F.immutableKeys[l];if(x)for(var S=0;S<k.length;S++){var W=k[S];if(F.canSet(W))W._private[F.field][l]=q}}if(F.updateStyle)U.updateStyle();if(F.onSet(U),F.settingTriggersEvent)U[F.triggerFnName](F.settingEvent)}else if(F.allowBinding&&l9(C)){var T=C;U.on(F.bindingEvent,T)}else if(F.allowGetting&&C===void 0){var R;if(f)F.beforeGet(f),R=f._private[F.field];return R}return U}},removeData:function(B){var E={field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}};return B=k3({},E,B),function(C){var D=B,F=this,U=F.length!==void 0,z=U?F:[F];if(n4(C)){var k=C.split(/\s+/),f=k.length;for(var M=0;M<f;M++){var b=k[M];if(dM(b))continue;var Z=!D.immutableKeys[b];if(Z)for(var J=0,K=z.length;J<K;J++)z[J]._private[D.field][b]=void 0}if(D.triggerEvent)F[D.triggerFnName](D.event)}else if(C===void 0){for(var w=0,Q=z.length;w<Q;w++){var G=z[w]._private[D.field],H=Object.keys(G);for(var l=0;l<H.length;l++){var q=H[l],L=!D.immutableKeys[q];if(L)G[q]=void 0}}if(D.triggerEvent)F[D.triggerFnName](D.event)}return F}}},pQ4={eventAliasesOn:function(B){var E=B;E.addListener=E.listen=E.bind=E.on,E.unlisten=E.unbind=E.off=E.removeListener,E.trigger=E.emit,E.pon=E.promiseOn=function(A,C){var D=this,F=Array.prototype.slice.call(arguments,0);return new tq(function(U,z){var k=function(Z){D.off.apply(D,M),U(Z)},f=F.concat([k]),M=f.concat([]);D.on.apply(D,f)})}}},C6={};[ew4,_Q4,pQ4].forEach(function(u){k3(C6,u)});nQ4={animate:C6.animate(),animation:C6.animation(),animated:C6.animated(),clearQueue:C6.clearQueue(),delay:C6.delay(),delayAnimation:C6.delayAnimation(),stop:C6.stop()},Ia={classes:function(B){var E=this;if(B===void 0){var A=[];return E[0]._private.classes.forEach(function(J){return A.push(J)}),A}else if(!v6(B))B=(B||"").match(/\S+/g)||[];var C=[],D=new oq(B);for(var F=0;F<E.length;F++){var U=E[F],z=U._private,k=z.classes,f=!1;for(var M=0;M<B.length;M++){var b=B[M],Z=k.has(b);if(!Z){f=!0;break}}if(!f)f=k.size!==B.length;if(f)z.classes=D,C.push(U)}if(C.length>0)this.spawn(C).updateStyle().emit("class");return E},addClass:function(B){return this.toggleClass(B,!0)},hasClass:function(B){var E=this[0];return E!=null&&E._private.classes.has(B)},toggleClass:function(B,E){if(!v6(B))B=B.match(/\S+/g)||[];var A=this,C=E===void 0,D=[];for(var F=0,U=A.length;F<U;F++){var z=A[F],k=z._private.classes,f=!1;for(var M=0;M<B.length;M++){var b=B[M],Z=k.has(b),J=!1;if(E||C&&!Z)k.add(b),J=!0;else if(!E||C&&Z)k.delete(b),J=!0;if(!f&&J)D.push(z),f=!0}}if(D.length>0)this.spawn(D).updateStyle().emit("class");return A},removeClass:function(B){return this.toggleClass(B,!1)},flashClass:function(B,E){var A=this;if(E==null)E=250;else if(E===0)return A;return A.addClass(B),setTimeout(function(){A.removeClass(B)},E),A}};Ia.className=Ia.classNames=Ia.classes;S1={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:t2,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};S1.variable="(?:[\\w-.]|(?:\\\\"+S1.metaChar+"))+";S1.className="(?:[\\w-]|(?:\\\\"+S1.metaChar+"))+";S1.value=S1.string+"|"+S1.number;S1.id=S1.variable;(function(){var u,B,E;u=S1.comparatorOp.split("|");for(E=0;E<u.length;E++)B=u[E],S1.comparatorOp+="|@"+B;u=S1.comparatorOp.split("|");for(E=0;E<u.length;E++){if(B=u[E],B.indexOf("!")>=0)continue;if(B==="=")continue;S1.comparatorOp+="|\\!"+B}})();T4={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},R50=[{selector:":selected",matches:function(B){return B.selected()}},{selector:":unselected",matches:function(B){return!B.selected()}},{selector:":selectable",matches:function(B){return B.selectable()}},{selector:":unselectable",matches:function(B){return!B.selectable()}},{selector:":locked",matches:function(B){return B.locked()}},{selector:":unlocked",matches:function(B){return!B.locked()}},{selector:":visible",matches:function(B){return B.visible()}},{selector:":hidden",matches:function(B){return!B.visible()}},{selector:":transparent",matches:function(B){return B.transparent()}},{selector:":grabbed",matches:function(B){return B.grabbed()}},{selector:":free",matches:function(B){return!B.grabbed()}},{selector:":removed",matches:function(B){return B.removed()}},{selector:":inside",matches:function(B){return!B.removed()}},{selector:":grabbable",matches:function(B){return B.grabbable()}},{selector:":ungrabbable",matches:function(B){return!B.grabbable()}},{selector:":animated",matches:function(B){return B.animated()}},{selector:":unanimated",matches:function(B){return!B.animated()}},{selector:":parent",matches:function(B){return B.isParent()}},{selector:":childless",matches:function(B){return B.isChildless()}},{selector:":child",matches:function(B){return B.isChild()}},{selector:":orphan",matches:function(B){return B.isOrphan()}},{selector:":nonorphan",matches:function(B){return B.isChild()}},{selector:":compound",matches:function(B){if(B.isNode())return B.isParent();else return B.source().isParent()||B.target().isParent()}},{selector:":loop",matches:function(B){return B.isLoop()}},{selector:":simple",matches:function(B){return B.isSimple()}},{selector:":active",matches:function(B){return B.active()}},{selector:":inactive",matches:function(B){return!B.active()}},{selector:":backgrounding",matches:function(B){return B.backgrounding()}},{selector:":nonbackgrounding",matches:function(B){return!B.backgrounding()}}].sort(function(u,B){return cJ4(u.selector,B.selector)}),dQ4=function(){var u={},B;for(var E=0;E<R50.length;E++)B=R50[E],u[B.selector]=B.matches;return u}(),oQ4="("+R50.map(function(u){return u.selector}).join("|")+")",T50=[{name:"group",query:!0,regex:"("+S1.group+")",populate:function(B,E,A){var C=Y2(A,1),D=C[0];E.checks.push({type:T4.GROUP,value:D==="*"?D:D+"s"})}},{name:"state",query:!0,regex:oQ4,populate:function(B,E,A){var C=Y2(A,1),D=C[0];E.checks.push({type:T4.STATE,value:D})}},{name:"id",query:!0,regex:"\\#("+S1.id+")",populate:function(B,E,A){var C=Y2(A,1),D=C[0];E.checks.push({type:T4.ID,value:Oq(D)})}},{name:"className",query:!0,regex:"\\.("+S1.className+")",populate:function(B,E,A){var C=Y2(A,1),D=C[0];E.checks.push({type:T4.CLASS,value:Oq(D)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+S1.variable+")\\s*\\]",populate:function(B,E,A){var C=Y2(A,1),D=C[0];E.checks.push({type:T4.DATA_EXIST,field:Oq(D)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+S1.variable+")\\s*("+S1.comparatorOp+")\\s*("+S1.value+")\\s*\\]",populate:function(B,E,A){var C=Y2(A,3),D=C[0],F=C[1],U=C[2],z=new RegExp("^"+S1.string+"$").exec(U)!=null;if(z)U=U.substring(1,U.length-1);else U=parseFloat(U);E.checks.push({type:T4.DATA_COMPARE,field:Oq(D),operator:F,value:U})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+S1.boolOp+")\\s*("+S1.variable+")\\s*\\]",populate:function(B,E,A){var C=Y2(A,2),D=C[0],F=C[1];E.checks.push({type:T4.DATA_BOOL,field:Oq(F),operator:D})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+S1.meta+")\\s*("+S1.comparatorOp+")\\s*("+S1.number+")\\s*\\]\\]",populate:function(B,E,A){var C=Y2(A,3),D=C[0],F=C[1],U=C[2];E.checks.push({type:T4.META_COMPARE,field:Oq(D),operator:F,value:parseFloat(U)})}},{name:"nextQuery",separator:!0,regex:S1.separator,populate:function(B,E){var{currentSubject:A,edgeCount:C,compoundCount:D}=B,F=B[B.length-1];if(A!=null)F.subject=A,B.currentSubject=null;F.edgeCount=C,F.compoundCount=D,B.edgeCount=0,B.compoundCount=0;var U=B[B.length++]=J6();return U}},{name:"directedEdge",separator:!0,regex:S1.directedEdge,populate:function(B,E){if(B.currentSubject==null){var A=J6(),C=E,D=J6();return A.checks.push({type:T4.DIRECTED_EDGE,source:C,target:D}),$M(B,E,A),B.edgeCount++,D}else{var F=J6(),U=E,z=J6();return F.checks.push({type:T4.NODE_SOURCE,source:U,target:z}),$M(B,E,F),B.edgeCount++,z}}},{name:"undirectedEdge",separator:!0,regex:S1.undirectedEdge,populate:function(B,E){if(B.currentSubject==null){var A=J6(),C=E,D=J6();return A.checks.push({type:T4.UNDIRECTED_EDGE,nodes:[C,D]}),$M(B,E,A),B.edgeCount++,D}else{var F=J6(),U=E,z=J6();return F.checks.push({type:T4.NODE_NEIGHBOR,node:U,neighbor:z}),$M(B,E,F),z}}},{name:"child",separator:!0,regex:S1.child,populate:function(B,E){if(B.currentSubject==null){var A=J6(),C=J6(),D=B[B.length-1];return A.checks.push({type:T4.CHILD,parent:D,child:C}),$M(B,E,A),B.compoundCount++,C}else if(B.currentSubject===E){var F=J6(),U=B[B.length-1],z=J6(),k=J6(),f=J6(),M=J6();return F.checks.push({type:T4.COMPOUND_SPLIT,left:U,right:z,subject:k}),k.checks=E.checks,E.checks=[{type:T4.TRUE}],M.checks.push({type:T4.TRUE}),z.checks.push({type:T4.PARENT,parent:M,child:f}),$M(B,U,F),B.currentSubject=k,B.compoundCount++,f}else{var b=J6(),Z=J6(),J=[{type:T4.PARENT,parent:b,child:Z}];return b.checks=E.checks,E.checks=J,B.compoundCount++,Z}}},{name:"descendant",separator:!0,regex:S1.descendant,populate:function(B,E){if(B.currentSubject==null){var A=J6(),C=J6(),D=B[B.length-1];return A.checks.push({type:T4.DESCENDANT,ancestor:D,descendant:C}),$M(B,E,A),B.compoundCount++,C}else if(B.currentSubject===E){var F=J6(),U=B[B.length-1],z=J6(),k=J6(),f=J6(),M=J6();return F.checks.push({type:T4.COMPOUND_SPLIT,left:U,right:z,subject:k}),k.checks=E.checks,E.checks=[{type:T4.TRUE}],M.checks.push({type:T4.TRUE}),z.checks.push({type:T4.ANCESTOR,ancestor:M,descendant:f}),$M(B,U,F),B.currentSubject=k,B.compoundCount++,f}else{var b=J6(),Z=J6(),J=[{type:T4.ANCESTOR,ancestor:b,descendant:Z}];return b.checks=E.checks,E.checks=J,B.compoundCount++,Z}}},{name:"subject",modifier:!0,regex:S1.subject,populate:function(B,E){if(B.currentSubject!=null&&B.currentSubject!==E)return D6("Redefinition of subject in selector `"+B.toString()+"`"),!1;B.currentSubject=E;var A=B[B.length-1],C=A.checks[0],D=C==null?null:C.type;if(D===T4.DIRECTED_EDGE)C.type=T4.NODE_TARGET;else if(D===T4.UNDIRECTED_EDGE)C.type=T4.NODE_NEIGHBOR,C.node=C.nodes[1],C.neighbor=C.nodes[0],C.nodes=null}}];T50.forEach(function(u){return u.regexObj=new RegExp("^"+u.regex)});EG4={parse:uG4,toString:BG4},y9=[];y9[T4.GROUP]=function(u,B){var E=u.value;return E==="*"||E===B.group()};y9[T4.STATE]=function(u,B){var E=u.value;return sQ4(E,B)};y9[T4.ID]=function(u,B){var E=u.value;return B.id()===E};y9[T4.CLASS]=function(u,B){var E=u.value;return B.hasClass(E)};y9[T4.META_COMPARE]=function(u,B){var{field:E,operator:A,value:C}=u;return Mg0(DG4(B,E),A,C)};y9[T4.DATA_COMPARE]=function(u,B){var{field:E,operator:A,value:C}=u;return Mg0(E70(B,E),A,C)};y9[T4.DATA_BOOL]=function(u,B){var{field:E,operator:A}=u;return AG4(E70(B,E),A)};y9[T4.DATA_EXIST]=function(u,B){var E=u.field;return u.operator,CG4(E70(B,E))};y9[T4.UNDIRECTED_EDGE]=function(u,B){var E=u.nodes[0],A=u.nodes[1],C=B.source(),D=B.target();return g6(E,C)&&g6(A,D)||g6(A,C)&&g6(E,D)};y9[T4.NODE_NEIGHBOR]=function(u,B){return g6(u.node,B)&&B.neighborhood().some(function(E){return E.isNode()&&g6(u.neighbor,E)})};y9[T4.DIRECTED_EDGE]=function(u,B){return g6(u.source,B.source())&&g6(u.target,B.target())};y9[T4.NODE_SOURCE]=function(u,B){return g6(u.source,B)&&B.outgoers().some(function(E){return E.isNode()&&g6(u.target,E)})};y9[T4.NODE_TARGET]=function(u,B){return g6(u.target,B)&&B.incomers().some(function(E){return E.isNode()&&g6(u.source,E)})};y9[T4.CHILD]=function(u,B){return g6(u.child,B)&&g6(u.parent,B.parent())};y9[T4.PARENT]=function(u,B){return g6(u.parent,B)&&B.children().some(function(E){return g6(u.child,E)})};y9[T4.DESCENDANT]=function(u,B){return g6(u.descendant,B)&&B.ancestors().some(function(E){return g6(u.ancestor,E)})};y9[T4.ANCESTOR]=function(u,B){return g6(u.ancestor,B)&&B.descendants().some(function(E){return g6(u.descendant,E)})};y9[T4.COMPOUND_SPLIT]=function(u,B){return g6(u.subject,B)&&g6(u.left,B)&&g6(u.right,B)};y9[T4.TRUE]=function(){return!0};y9[T4.COLLECTION]=function(u,B){var E=u.value;return E.has(B)};y9[T4.FILTER]=function(u,B){var E=u.value;return E(B)};zG4={matches:UG4,filter:FG4},eM=tM.prototype;[EG4,zG4].forEach(function(u){return k3(eM,u)});eM.text=function(){return this.inputText};eM.size=function(){return this.length};eM.eq=function(u){return this[u]};eM.sameText=function(u){return!this.invalid&&!u.invalid&&this.text()===u.text()};eM.addQuery=function(u){this[this.length++]=u};eM.selector=eM.toString;pM={allAre:function(B){var E=new tM(B);return this.every(function(A){return E.matches(A)})},is:function(B){var E=new tM(B);return this.some(function(A){return E.matches(A)})},some:function(B,E){for(var A=0;A<this.length;A++){var C=!E?B(this[A],A,this):B.apply(E,[this[A],A,this]);if(C)return!0}return!1},every:function(B,E){for(var A=0;A<this.length;A++){var C=!E?B(this[A],A,this):B.apply(E,[this[A],A,this]);if(!C)return!1}return!0},same:function(B){if(this===B)return!0;B=this.cy().collection(B);var E=this.length,A=B.length;if(E!==A)return!1;if(E===1)return this[0]===B[0];return this.every(function(C){return B.hasElementWithId(C.id())})},anySame:function(B){return B=this.cy().collection(B),this.some(function(E){return B.hasElementWithId(E.id())})},allAreNeighbors:function(B){B=this.cy().collection(B);var E=this.neighborhood();return B.every(function(A){return E.hasElementWithId(A.id())})},contains:function(B){B=this.cy().collection(B);var E=this;return B.every(function(A){return E.hasElementWithId(A.id())})}};pM.allAreNeighbours=pM.allAreNeighbors;pM.has=pM.contains;pM.equal=pM.equals=pM.same;nq={parent:function(B){var E=[];if(this.length===1){var A=this[0]._private.parent;if(A)return A}for(var C=0;C<this.length;C++){var D=this[C],F=D._private.parent;if(F)E.push(F)}return this.spawn(E,!0).filter(B)},parents:function(B){var E=[],A=this.parent();while(A.nonempty()){for(var C=0;C<A.length;C++){var D=A[C];E.push(D)}A=A.parent()}return this.spawn(E,!0).filter(B)},commonAncestors:function(B){var E;for(var A=0;A<this.length;A++){var C=this[A],D=C.parents();E=E||D,E=E.intersect(D)}return E.filter(B)},orphans:function(B){return this.stdFilter(function(E){return E.isOrphan()}).filter(B)},nonorphans:function(B){return this.stdFilter(function(E){return E.isChild()}).filter(B)},children:KA(function(u){var B=[];for(var E=0;E<this.length;E++){var A=this[E],C=A._private.children;for(var D=0;D<C.length;D++)B.push(C[D])}return this.spawn(B,!0).filter(u)},"children"),siblings:function(B){return this.parent().children().not(this).filter(B)},isParent:function(){var B=this[0];if(B)return B.isNode()&&B._private.children.length!==0},isChildless:function(){var B=this[0];if(B)return B.isNode()&&B._private.children.length===0},isChild:function(){var B=this[0];if(B)return B.isNode()&&B._private.parent!=null},isOrphan:function(){var B=this[0];if(B)return B.isNode()&&B._private.parent==null},descendants:function(B){var E=[];function A(C){for(var D=0;D<C.length;D++){var F=C[D];if(E.push(F),F.children().nonempty())A(F.children())}}return A(this.children()),this.spawn(E,!0).filter(B)}};nq.forEachDown=function(u){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return A70(this,u,B,bg0)};nq.forEachUp=function(u){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return A70(this,u,B,Zg0)};nq.forEachUpAndDown=function(u){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return A70(this,u,B,kG4)};nq.ancestors=nq.parents;gS=Jg0={data:C6.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:C6.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:C6.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:C6.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:C6.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:C6.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var B=this[0];if(B)return B._private.data.id}};gS.attr=gS.data;gS.removeAttr=gS.removeData;fG4=Jg0,km={};k3(km,{degree:f50(function(u,B){if(B.source().same(B.target()))return 2;else return 1}),indegree:f50(function(u,B){if(B.target().same(u))return 1;else return 0}),outdegree:f50(function(u,B){if(B.source().same(u))return 1;else return 0})});k3(km,{minDegree:Iq("degree",function(u,B){return u<B}),maxDegree:Iq("degree",function(u,B){return u>B}),minIndegree:Iq("indegree",function(u,B){return u<B}),maxIndegree:Iq("indegree",function(u,B){return u>B}),minOutdegree:Iq("outdegree",function(u,B){return u<B}),maxOutdegree:Iq("outdegree",function(u,B){return u>B})});k3(km,{totalDegree:function(B){var E=0,A=this.nodes();for(var C=0;C<A.length;C++)E+=A[C].degree(B);return E}});Oy0={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(B){B.updateCompoundBounds()},beforeSet:function(B,E){wg0(B,E,!1)},onSet:function(B){B.dirtyCompoundBoundsCache()},canSet:function(B){return!B.locked()}};VC=Kg0={position:C6.data(Oy0),silentPosition:C6.data(k3({},Oy0,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(B,E){wg0(B,E,!0)},onSet:function(B){B.dirtyCompoundBoundsCache()}})),positions:function(B,E){if(Y1(B))if(E)this.silentPosition(B);else this.position(B);else if(l9(B)){var A=B,C=this.cy();C.startBatch();for(var D=0;D<this.length;D++){var F=this[D],U=void 0;if(U=A(F,D))if(E)F.silentPosition(U);else F.position(U)}C.endBatch()}return this},silentPositions:function(B){return this.positions(B,!0)},shift:function(B,E,A){var C;if(Y1(B))C={x:K4(B.x)?B.x:0,y:K4(B.y)?B.y:0},A=E;else if(n4(B)&&K4(E))C={x:0,y:0},C[B]=E;if(C!=null){var D=this.cy();D.startBatch();for(var F=0;F<this.length;F++){var U=this[F];if(D.hasCompoundNodes()&&U.isChild()&&U.ancestors().anySame(this))continue;var z=U.position(),k={x:z.x+C.x,y:z.y+C.y};if(A)U.silentPosition(k);else U.position(k)}D.endBatch()}return this},silentShift:function(B,E){if(Y1(B))this.shift(B,!0);else if(n4(B)&&K4(E))this.shift(B,E,!0);return this},renderedPosition:function(B,E){var A=this[0],C=this.cy(),D=C.zoom(),F=C.pan(),U=Y1(B)?B:void 0,z=U!==void 0||E!==void 0&&n4(B);if(A&&A.isNode())if(z)for(var k=0;k<this.length;k++){var f=this[k];if(E!==void 0)f.position(B,(E-F[B])/D);else if(U!==void 0)f.position(rr0(U,D,F))}else{var M=A.position();if(U=Am(M,D,F),B===void 0)return U;else return U[B]}else if(!z)return;return this},relativePosition:function(B,E){var A=this[0],C=this.cy(),D=Y1(B)?B:void 0,F=D!==void 0||E!==void 0&&n4(B),U=C.hasCompoundNodes();if(A&&A.isNode())if(F)for(var z=0;z<this.length;z++){var k=this[z],f=U?k.parent():null,M=f&&f.length>0,b=M;if(M)f=f[0];var Z=b?f.position():{x:0,y:0};if(E!==void 0)k.position(B,E+Z[B]);else if(D!==void 0)k.position({x:D.x+Z.x,y:D.y+Z.y})}else{var J=A.position(),K=U?A.parent():null,w=K&&K.length>0,Q=w;if(w)K=K[0];var G=Q?K.position():{x:0,y:0};if(D={x:J.x-G.x,y:J.y-G.y},B===void 0)return D;else return D[B]}else if(!F)return;return this}};VC.modelPosition=VC.point=VC.position;VC.modelPositions=VC.points=VC.positions;VC.renderedPoint=VC.renderedPosition;VC.relativePoint=VC.relativePosition;MG4=Kg0;cq=Ab={};Ab.renderedBoundingBox=function(u){var B=this.boundingBox(u),E=this.cy(),A=E.zoom(),C=E.pan(),D=B.x1*A+C.x,F=B.x2*A+C.x,U=B.y1*A+C.y,z=B.y2*A+C.y;return{x1:D,x2:F,y1:U,y2:z,w:F-D,h:z-U}};Ab.dirtyCompoundBoundsCache=function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,B=this.cy();if(!B.styleEnabled()||!B.hasCompoundNodes())return this;return this.forEachUp(function(E){if(E.isParent()){var A=E._private;if(A.compoundBoundsClean=!1,A.bbCache=null,!u)E.emitAndNotify("bounds")}}),this};Ab.updateCompoundBounds=function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,B=this.cy();if(!B.styleEnabled()||!B.hasCompoundNodes())return this;if(!u&&B.batching())return this;function E(F){if(!F.isParent())return;var U=F._private,z=F.children(),k=F.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:F.pstyle("min-width").pfValue,left:F.pstyle("min-width-bias-left"),right:F.pstyle("min-width-bias-right")},height:{val:F.pstyle("min-height").pfValue,top:F.pstyle("min-height-bias-top"),bottom:F.pstyle("min-height-bias-bottom")}},M=z.boundingBox({includeLabels:k,includeOverlays:!1,useCache:!1}),b=U.position;if(M.w===0||M.h===0)M={w:F.pstyle("width").pfValue,h:F.pstyle("height").pfValue},M.x1=b.x-M.w/2,M.x2=b.x+M.w/2,M.y1=b.y-M.h/2,M.y2=b.y+M.h/2;function Z(S,W,T){var R=0,Y=0,h=W+T;if(S>0&&h>0)R=W/h*S,Y=T/h*S;return{biasDiff:R,biasComplementDiff:Y}}function J(S,W,T,R){if(T.units==="%")switch(R){case"width":return S>0?T.pfValue*S:0;case"height":return W>0?T.pfValue*W:0;case"average":return S>0&&W>0?T.pfValue*(S+W)/2:0;case"min":return S>0&&W>0?S>W?T.pfValue*W:T.pfValue*S:0;case"max":return S>0&&W>0?S>W?T.pfValue*S:T.pfValue*W:0;default:return 0}else if(T.units==="px")return T.pfValue;else return 0}var K=f.width.left.value;if(f.width.left.units==="px"&&f.width.val>0)K=K*100/f.width.val;var w=f.width.right.value;if(f.width.right.units==="px"&&f.width.val>0)w=w*100/f.width.val;var Q=f.height.top.value;if(f.height.top.units==="px"&&f.height.val>0)Q=Q*100/f.height.val;var G=f.height.bottom.value;if(f.height.bottom.units==="px"&&f.height.val>0)G=G*100/f.height.val;var H=Z(f.width.val-M.w,K,w),l=H.biasDiff,q=H.biasComplementDiff,L=Z(f.height.val-M.h,Q,G),v=L.biasDiff,x=L.biasComplementDiff;U.autoPadding=J(M.w,M.h,F.pstyle("padding"),F.pstyle("padding-relative-to").value),U.autoWidth=Math.max(M.w,f.width.val),b.x=(-l+M.x1+M.x2+q)/2,U.autoHeight=Math.max(M.h,f.height.val),b.y=(-v+M.y1+M.y2+x)/2}for(var A=0;A<this.length;A++){var C=this[A],D=C._private;if(!D.compoundBoundsClean||u){if(E(C),!B.batching())D.compoundBoundsClean=!0}}return this};cS={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},jy0=Gg0(cS),Ny0=k7(cS);Ab.boundingBox=function(u){var B,E=u===void 0||u.useCache===void 0||u.useCache===!0,A=_q(function(f){var M=f._private;return M.bbCache==null||M.styleDirty||M.bbCachePosKey!==Hg0(f)},function(f){return f.id()});if(E&&this.length===1&&!A(this[0])){if(u===void 0)u=cS;else u=Ny0(u);B=Py0(this[0],u)}else{B=xB(),u=u||cS;var C=Ny0(u),D=this,F=D.cy(),U=F.styleEnabled();if(this.edges().forEach(A),this.nodes().forEach(A),U)this.recalculateRenderedStyle(E);this.updateCompoundBounds(!E);for(var z=0;z<D.length;z++){var k=D[z];if(A(k))k.dirtyBoundingBoxCache();rM(B,Py0(k,C))}}return B.x1=JA(B.x1),B.y1=JA(B.y1),B.x2=JA(B.x2),B.y2=JA(B.y2),B.w=JA(B.x2-B.x1),B.h=JA(B.y2-B.y1),B};Ab.dirtyBoundingBoxCache=function(){for(var u=0;u<this.length;u++){var B=this[u]._private;B.bbCache=null,B.bbCachePosKey=null,B.bodyBounds=null,B.overlayBounds=null,B.labelBounds.all=null,B.labelBounds.source=null,B.labelBounds.target=null,B.labelBounds.main=null,B.labelBounds.sourceRot=null,B.labelBounds.targetRot=null,B.labelBounds.mainRot=null,B.arrowBounds.source=null,B.arrowBounds.target=null,B.arrowBounds["mid-source"]=null,B.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this};Ab.boundingBoxAt=function(u){var B=this.nodes(),E=this.cy(),A=E.hasCompoundNodes(),C=E.collection();if(A)C=B.filter(function(k){return k.isParent()}),B=B.not(C);if(Y1(u)){var D=u;u=function(){return D}}var F=function(f,M){return f._private.bbAtOldPos=u(f,M)},U=function(f){return f._private.bbAtOldPos};if(E.startBatch(),B.forEach(F).silentPositions(u),A)C.dirtyCompoundBoundsCache(),C.dirtyBoundingBoxCache(),C.updateCompoundBounds(!0);var z=pK4(this.boundingBox({useCache:!1}));if(B.silentPositions(U),A)C.dirtyCompoundBoundsCache(),C.dirtyBoundingBoxCache(),C.updateCompoundBounds(!0);return E.endBatch(),z};cq.boundingbox=cq.bb=cq.boundingBox;cq.renderedBoundingbox=cq.renderedBoundingBox;KG4=Ab;jS=EY={};qg0({name:"width"});qg0({name:"height"});EY.padding=function(){var u=this[0],B=u._private;if(u.isParent())if(u.updateCompoundBounds(),B.autoPadding!==void 0)return B.autoPadding;else return u.pstyle("padding").pfValue;else return u.pstyle("padding").pfValue};EY.paddedHeight=function(){var u=this[0];return u.height()+2*u.padding()};EY.paddedWidth=function(){var u=this[0];return u.width()+2*u.padding()};wG4=EY,Vy0={controlPoints:{get:qG4,mult:!0},segmentPoints:{get:lG4,mult:!0},sourceEndpoint:{get:LG4},targetEndpoint:{get:XG4},midpoint:{get:vG4}},WG4=Object.keys(Vy0).reduce(function(u,B){var E=Vy0[B],A=xG4(B);if(u[B]=function(){return QG4(this,E.get)},E.mult)u[A]=function(){return HG4(this,E.get)};else u[A]=function(){return GG4(this,E.get)};return u},{}),SG4=k3({},MG4,KG4,wG4,WG4);/*!
Event object based on jQuery events, MIT license
https://jquery.org/license/
https://tldrlegal.com/license/mit-license
https://github.com/jquery/jquery/blob/master/src/event.js
*/lg0.prototype={instanceString:function(){return"event"},recycle:function(B,E){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=YS,B!=null&&B.preventDefault)this.type=B.type,this.isDefaultPrevented=B.defaultPrevented?Xa:YS;else if(B!=null&&B.type)E=B;else this.type=B;if(E!=null)this.originalEvent=E.originalEvent,this.type=E.type!=null?E.type:this.type,this.cy=E.cy,this.target=E.target,this.position=E.position,this.renderedPosition=E.renderedPosition,this.namespace=E.namespace,this.layout=E.layout;if(this.cy!=null&&this.position!=null&&this.renderedPosition==null){var A=this.position,C=this.cy.zoom(),D=this.cy.pan();this.renderedPosition={x:A.x*C+D.x,y:A.y*C+D.y}}this.timeStamp=B&&B.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=Xa;var B=this.originalEvent;if(!B)return;if(B.preventDefault)B.preventDefault()},stopPropagation:function(){this.isPropagationStopped=Xa;var B=this.originalEvent;if(!B)return;if(B.stopPropagation)B.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Xa,this.stopPropagation()},isDefaultPrevented:YS,isPropagationStopped:YS,isImmediatePropagationStopped:YS};Lg0=/^([^.]+)(\.(?:[^.]+))?$/,Xg0={qualifierCompare:function(B,E){return B===E},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(B){return B},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},hy0=Object.keys(Xg0),RG4={};ub=fm.prototype;ub.on=ub.addListener=function(u,B,E,A,C){return vg0(this,function(D,F,U,z,k,f,M){if(l9(f))D.listeners.push({event:F,callback:f,type:U,namespace:z,qualifier:k,conf:M})},u,B,E,A,C),this};ub.one=function(u,B,E,A){return this.on(u,B,E,A,{one:!0})};ub.removeListener=ub.off=function(u,B,E,A){var C=this;if(this.emitting!==0)this.listeners=wK4(this.listeners);var D=this.listeners,F=function(k){var f=D[k];vg0(C,function(M,b,Z,J,K,w){if((f.type===Z||u==="*")&&(!J&&f.namespace!==".*"||f.namespace===J)&&(!K||M.qualifierCompare(f.qualifier,K))&&(!w||f.callback===w))return D.splice(k,1),!1},u,B,E,A)};for(var U=D.length-1;U>=0;U--)F(U);return this};ub.removeAllListeners=function(){return this.removeListener("*")};ub.emit=ub.trigger=function(u,B,E){var A=this.listeners,C=A.length;if(this.emitting++,!v6(B))B=[B];return TG4(this,function(D,F){if(E!=null)A=[{event:F.event,type:F.type,namespace:F.namespace,callback:E}],C=A.length;var U=function(){var f=A[z];if(f.type===F.type&&(!f.namespace||f.namespace===F.namespace||f.namespace===YG4)&&D.eventMatches(D.context,f,F)){var M=[F];if(B!=null)GK4(M,B);if(D.beforeEmit(D.context,f,F),f.conf&&f.conf.one)D.listeners=D.listeners.filter(function(J){return J!==f});var b=D.callbackContext(D.context,f,F),Z=f.callback.apply(b,M);if(D.afterEmit(D.context,f,F),Z===!1)F.stopPropagation(),F.preventDefault()}};for(var z=0;z<C;z++)U();if(D.bubble(D.context)&&!F.isPropagationStopped())D.parent(D.context).emit(F,B)},u),this.emitting--,this};OG4={qualifierCompare:function(B,E){if(B==null||E==null)return B==null&&E==null;else return B.sameText(E)},eventMatches:function(B,E,A){var C=E.qualifier;if(C!=null)return B!==A.target&&sS(A.target)&&C.matches(A.target);return!0},addEventFields:function(B,E){E.cy=B.cy(),E.target=B},callbackContext:function(B,E,A){return E.qualifier!=null?A.target:B},beforeEmit:function(B,E){if(E.conf&&E.conf.once)E.conf.onceCollection.removeListener(E.event,E.qualifier,E.callback)},bubble:function(){return!0},parent:function(B){return B.isChild()?B.parent():B.cy()}},xg0={createEmitter:function(){for(var B=0;B<this.length;B++){var E=this[B],A=E._private;if(!A.emitter)A.emitter=new fm(OG4,E)}return this},emitter:function(){return this._private.emitter},on:function(B,E,A){var C=va(E);for(var D=0;D<this.length;D++){var F=this[D];F.emitter().on(B,C,A)}return this},removeListener:function(B,E,A){var C=va(E);for(var D=0;D<this.length;D++){var F=this[D];F.emitter().removeListener(B,C,A)}return this},removeAllListeners:function(){for(var B=0;B<this.length;B++){var E=this[B];E.emitter().removeAllListeners()}return this},one:function(B,E,A){var C=va(E);for(var D=0;D<this.length;D++){var F=this[D];F.emitter().one(B,C,A)}return this},once:function(B,E,A){var C=va(E);for(var D=0;D<this.length;D++){var F=this[D];F.emitter().on(B,C,A,{once:!0,onceCollection:this})}},emit:function(B,E){for(var A=0;A<this.length;A++){var C=this[A];C.emitter().emit(B,E)}return this},emitAndNotify:function(B,E){if(this.length===0)return;return this.cy().notify(B,this),this.emit(B,E),this}};C6.eventAliasesOn(xg0);Wg0={nodes:function(B){return this.filter(function(E){return E.isNode()}).filter(B)},edges:function(B){return this.filter(function(E){return E.isEdge()}).filter(B)},byGroup:function(){var B=this.spawn(),E=this.spawn();for(var A=0;A<this.length;A++){var C=this[A];if(C.isNode())B.push(C);else E.push(C)}return{nodes:B,edges:E}},filter:function(B,E){if(B===void 0)return this;else if(n4(B)||GE(B))return new tM(B).filter(this);else if(l9(B)){var A=this.spawn(),C=this;for(var D=0;D<C.length;D++){var F=C[D],U=E?B.apply(E,[F,D,C]):B(F,D,C);if(U)A.push(F)}return A}return this.spawn()},not:function(B){if(!B)return this;else{if(n4(B))B=this.filter(B);var E=this.spawn();for(var A=0;A<this.length;A++){var C=this[A],D=B.has(C);if(!D)E.push(C)}return E}},absoluteComplement:function(){var B=this.cy();return B.mutableElements().not(this)},intersect:function(B){if(n4(B)){var E=B;return this.filter(E)}var A=this.spawn(),C=this,D=B,F=this.length<B.length,U=F?C:D,z=F?D:C;for(var k=0;k<U.length;k++){var f=U[k];if(z.has(f))A.push(f)}return A},xor:function(B){var E=this._private.cy;if(n4(B))B=E.$(B);var A=this.spawn(),C=this,D=B,F=function(z,k){for(var f=0;f<z.length;f++){var M=z[f],b=M._private.data.id,Z=k.hasElementWithId(b);if(!Z)A.push(M)}};return F(C,D),F(D,C),A},diff:function(B){var E=this._private.cy;if(n4(B))B=E.$(B);var A=this.spawn(),C=this.spawn(),D=this.spawn(),F=this,U=B,z=function(f,M,b){for(var Z=0;Z<f.length;Z++){var J=f[Z],K=J._private.data.id,w=M.hasElementWithId(K);if(w)D.merge(J);else b.push(J)}};return z(F,U,A),z(U,F,C),{left:A,right:C,both:D}},add:function(B){var E=this._private.cy;if(!B)return this;if(n4(B)){var A=B;B=E.mutableElements().filter(A)}var C=this.spawnSelf();for(var D=0;D<B.length;D++){var F=B[D],U=!this.has(F);if(U)C.push(F)}return C},merge:function(B){var E=this._private,A=E.cy;if(!B)return this;if(B&&n4(B)){var C=B;B=A.mutableElements().filter(C)}var D=E.map;for(var F=0;F<B.length;F++){var U=B[F],z=U._private.data.id,k=!D.has(z);if(k){var f=this.length++;this[f]=U,D.set(z,{ele:U,index:f})}}return this},unmergeAt:function(B){var E=this[B],A=E.id(),C=this._private,D=C.map;this[B]=void 0,D.delete(A);var F=B===this.length-1;if(this.length>1&&!F){var U=this.length-1,z=this[U],k=z._private.data.id;this[U]=void 0,this[B]=z,D.set(k,{ele:z,index:B})}return this.length--,this},unmergeOne:function(B){B=B[0];var E=this._private,A=B._private.data.id,C=E.map,D=C.get(A);if(!D)return this;var F=D.index;return this.unmergeAt(F),this},unmerge:function(B){var E=this._private.cy;if(!B)return this;if(B&&n4(B)){var A=B;B=E.mutableElements().filter(A)}for(var C=0;C<B.length;C++)this.unmergeOne(B[C]);return this},unmergeBy:function(B){for(var E=this.length-1;E>=0;E--){var A=this[E];if(B(A))this.unmergeAt(E)}return this},map:function(B,E){var A=[],C=this;for(var D=0;D<C.length;D++){var F=C[D],U=E?B.apply(E,[F,D,C]):B(F,D,C);A.push(U)}return A},reduce:function(B,E){var A=E,C=this;for(var D=0;D<C.length;D++)A=B(A,C[D],D,C);return A},max:function(B,E){var A=-1/0,C,D=this;for(var F=0;F<D.length;F++){var U=D[F],z=E?B.apply(E,[U,F,D]):B(U,F,D);if(z>A)A=z,C=U}return{value:A,ele:C}},min:function(B,E){var A=1/0,C,D=this;for(var F=0;F<D.length;F++){var U=D[F],z=E?B.apply(E,[U,F,D]):B(U,F,D);if(z<A)A=z,C=U}return{value:A,ele:C}}},$1=Wg0;$1.u=$1["|"]=$1["+"]=$1.union=$1.or=$1.add;$1["\\"]=$1["!"]=$1["-"]=$1.difference=$1.relativeComplement=$1.subtract=$1.not;$1.n=$1["&"]=$1["."]=$1.and=$1.intersection=$1.intersect;$1["^"]=$1["(+)"]=$1["(-)"]=$1.symmetricDifference=$1.symdiff=$1.xor;$1.fnFilter=$1.filterFn=$1.stdFilter=$1.filter;$1.complement=$1.abscomp=$1.absoluteComplement;IG4={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var B=this[0];if(B)return B._private.group}},pa={forEach:function(B,E){if(l9(B)){var A=this.length;for(var C=0;C<A;C++){var D=this[C],F=E?B.apply(E,[D,C,this]):B(D,C,this);if(F===!1)break}}return this},toArray:function(){var B=[];for(var E=0;E<this.length;E++)B.push(this[E]);return B},slice:function(B,E){var A=[],C=this.length;if(E==null)E=C;if(B==null)B=0;if(B<0)B=C+B;if(E<0)E=C+E;for(var D=B;D>=0&&D<E&&D<C;D++)A.push(this[D]);return this.spawn(A)},size:function(){return this.length},eq:function(B){return this[B]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(B){if(!l9(B))return this;var E=this.toArray().sort(B);return this.spawn(E)},sortByZIndex:function(){return this.sort(Sg0)},zDepth:function(){var B=this[0];if(!B)return;var E=B._private,A=E.group;if(A==="nodes"){var C=E.data.parent?B.parents().size():0;if(!B.isParent())return _50-1;return C}else{var{source:D,target:F}=E,U=D.zDepth(),z=F.zDepth();return Math.max(U,z,0)}}};pa.each=pa.forEach;PG4();jG4=k7({nodeDimensionsIncludeLabels:!1}),Pa={layoutDimensions:function(B){B=jG4(B);var E;if(!this.takesUpSpace())E={w:0,h:0};else if(B.nodeDimensionsIncludeLabels){var A=this.boundingBox();E={w:A.w,h:A.h}}else E={w:this.outerWidth(),h:this.outerHeight()};if(E.w===0||E.h===0)E.w=E.h=1;return E},layoutPositions:function(B,E,A){var C=this.nodes().filter(function(q){return!q.isParent()}),D=this.cy(),F=E.eles,U=function(L){return L.id()},z=_q(A,U);B.emit({type:"layoutstart",layout:B}),B.animations=[];var k=function(L,v,x){var S={x:v.x1+v.w/2,y:v.y1+v.h/2},W={x:(x.x-S.x)*L,y:(x.y-S.y)*L};return{x:S.x+W.x,y:S.y+W.y}},f=E.spacingFactor&&E.spacingFactor!==1,M=function(){if(!f)return null;var L=xB();for(var v=0;v<C.length;v++){var x=C[v],S=z(x,v);cr0(L,S.x,S.y)}return L},b=M(),Z=_q(function(q,L){var v=z(q,L);if(f){var x=Math.abs(E.spacingFactor);v=k(x,b,v)}if(E.transform!=null)v=E.transform(q,v);return v},U);if(E.animate){for(var J=0;J<C.length;J++){var K=C[J],w=Z(K,J),Q=E.animateFilter==null||E.animateFilter(K,J);if(Q){var G=K.animation({position:w,duration:E.animationDuration,easing:E.animationEasing});B.animations.push(G)}else K.position(w)}if(E.fit){var H=D.animation({fit:{boundingBox:F.boundingBoxAt(Z),padding:E.padding},duration:E.animationDuration,easing:E.animationEasing});B.animations.push(H)}else if(E.zoom!==void 0&&E.pan!==void 0){var l=D.animation({zoom:E.zoom,pan:E.pan,duration:E.animationDuration,easing:E.animationEasing});B.animations.push(l)}B.animations.forEach(function(q){return q.play()}),B.one("layoutready",E.ready),B.emit({type:"layoutready",layout:B}),tq.all(B.animations.map(function(q){return q.promise()})).then(function(){B.one("layoutstop",E.stop),B.emit({type:"layoutstop",layout:B})})}else{if(C.positions(Z),E.fit)D.fit(E.eles,E.padding);if(E.zoom!=null)D.zoom(E.zoom);if(E.pan)D.pan(E.pan);B.one("layoutready",E.ready),B.emit({type:"layoutready",layout:B}),B.one("layoutstop",E.stop),B.emit({type:"layoutstop",layout:B})}return this},layout:function(B){var E=this.cy();return E.makeLayout(k3({},B,{eles:this}))}};Pa.createLayout=Pa.makeLayout=Pa.layout;U7={recalculateRenderedStyle:function(B){var E=this.cy(),A=E.renderer(),C=E.styleEnabled();if(A&&C)A.recalculateRenderedStyle(this,B);return this},dirtyStyleCache:function(){var B=this.cy(),E=function(D){return D._private.styleCache=null};if(B.hasCompoundNodes()){var A=this.spawnSelf().merge(this.descendants()).merge(this.parents());A.merge(A.connectedEdges()),A.forEach(E)}else this.forEach(function(C){E(C),C.connectedEdges().forEach(E)});return this},updateStyle:function(B){var E=this._private.cy;if(!E.styleEnabled())return this;if(E.batching()){var A=E._private.batchStyleEles;return A.merge(this),this}var C=E.hasCompoundNodes(),D=this;if(B=B||B===void 0?!0:!1,C)D=this.spawnSelf().merge(this.descendants()).merge(this.parents());var F=D;if(B)F.emitAndNotify("style");else F.emit("style");return D.forEach(function(U){return U._private.styleDirty=!0}),this},cleanStyle:function(){var B=this.cy();if(!B.styleEnabled())return;for(var E=0;E<this.length;E++){var A=this[E];if(A._private.styleDirty)A._private.styleDirty=!1,B.style().apply(A)}},parsedStyle:function(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,A=this[0],C=A.cy();if(!C.styleEnabled())return;if(A){if(A._private.styleDirty)A._private.styleDirty=!1,C.style().apply(A);var D=A._private.style[B];if(D!=null)return D;else if(E)return C.style().getDefaultProperty(B);else return null}},numericStyle:function(B){var E=this[0];if(!E.cy().styleEnabled())return;if(E){var A=E.pstyle(B);return A.pfValue!==void 0?A.pfValue:A.value}},numericStyleUnits:function(B){var E=this[0];if(!E.cy().styleEnabled())return;if(E)return E.pstyle(B).units},renderedStyle:function(B){var E=this.cy();if(!E.styleEnabled())return this;var A=this[0];if(A)return E.style().getRenderedStyle(A,B)},style:function(B,E){var A=this.cy();if(!A.styleEnabled())return this;var C=!1,D=A.style();if(Y1(B)){var F=B;D.applyBypass(this,F,C),this.emitAndNotify("style")}else if(n4(B))if(E===void 0){var U=this[0];if(U)return D.getStylePropertyValue(U,B);else return}else D.applyBypass(this,B,E,C),this.emitAndNotify("style");else if(B===void 0){var z=this[0];if(z)return D.getRawStyle(z);else return}return this},removeStyle:function(B){var E=this.cy();if(!E.styleEnabled())return this;var A=!1,C=E.style(),D=this;if(B===void 0)for(var F=0;F<D.length;F++){var U=D[F];C.removeAllBypasses(U,A)}else{B=B.split(/\s+/);for(var z=0;z<D.length;z++){var k=D[z];C.removeBypasses(k,B,A)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var B=this.cy();if(!B.styleEnabled())return 1;var E=B.hasCompoundNodes(),A=this[0];if(A){var C=A._private,D=A.pstyle("opacity").value;if(!E)return D;var F=!C.data.parent?null:A.parents();if(F)for(var U=0;U<F.length;U++){var z=F[U],k=z.pstyle("opacity").value;D=k*D}return D}},transparent:function(){var B=this.cy();if(!B.styleEnabled())return!1;var E=this[0],A=E.cy().hasCompoundNodes();if(E)if(!A)return E.pstyle("opacity").value===0;else return E.effectiveOpacity()===0},backgrounding:function(){var B=this.cy();if(!B.styleEnabled())return!1;var E=this[0];return E._private.backgrounding?!0:!1}};eq=Mm("eleTakesUpSpace",function(u){return u.pstyle("display").value==="element"&&u.width()!==0&&(u.isNode()?u.height()!==0:!0)});U7.takesUpSpace=bm("takesUpSpace",C70({ok:eq}));NG4=Mm("eleInteractive",function(u){return u.pstyle("events").value==="yes"&&u.pstyle("visibility").value==="visible"&&eq(u)}),VG4=Mm("parentInteractive",function(u){return u.pstyle("visibility").value==="visible"&&eq(u)});U7.interactive=bm("interactive",C70({ok:NG4,parentOk:VG4,edgeOkViaNode:eq}));U7.noninteractive=function(){var u=this[0];if(u)return!u.interactive()};hG4=Mm("eleVisible",function(u){return u.pstyle("visibility").value==="visible"&&u.pstyle("opacity").pfValue!==0&&eq(u)}),iG4=eq;U7.visible=bm("visible",C70({ok:hG4,edgeOkViaNode:iG4}));U7.hidden=function(){var u=this[0];if(u)return!u.visible()};U7.isBundledBezier=bm("isBundledBezier",function(){if(!this.cy().styleEnabled())return!1;return!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace()});U7.bypass=U7.css=U7.style;U7.renderedCss=U7.renderedStyle;U7.removeBypass=U7.removeCss=U7.removeStyle;U7.pstyle=U7.parsedStyle;nM={};ul({field:"locked",overrideField:function(B){return B.cy().autolock()?!0:void 0},on:"lock",off:"unlock"});ul({field:"grabbable",overrideField:function(B){return B.cy().autoungrabify()||B.pannable()?!1:void 0},on:"grabify",off:"ungrabify"});ul({field:"selected",ableField:"selectable",overrideAble:function(B){return B.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"});ul({field:"selectable",overrideField:function(B){return B.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"});nM.deselect=nM.unselect;nM.grabbed=function(){var u=this[0];if(u)return u._private.grabbed};ul({field:"active",on:"activate",off:"unactivate"});ul({field:"pannable",on:"panify",off:"unpanify"});nM.inactive=function(){var u=this[0];if(u)return!u._private.active};h7={};h7.clearTraversalCache=function(){for(var u=0;u<this.length;u++)this[u]._private.traversalCache=null};k3(h7,{roots:my0({noIncomingEdges:!0}),leaves:my0({noOutgoingEdges:!0}),outgoers:KA($y0({outgoing:!0}),"outgoers"),successors:yy0({outgoing:!0}),incomers:KA($y0({incoming:!0}),"incomers"),predecessors:yy0({})});k3(h7,{neighborhood:KA(function(u){var B=[],E=this.nodes();for(var A=0;A<E.length;A++){var C=E[A],D=C.connectedEdges();for(var F=0;F<D.length;F++){var U=D[F],z=U.source(),k=U.target(),f=C===z?k:z;if(f.length>0)B.push(f[0]);B.push(U[0])}}return this.spawn(B,!0).filter(u)},"neighborhood"),closedNeighborhood:function(B){return this.neighborhood().add(this).filter(B)},openNeighborhood:function(B){return this.neighborhood(B)}});h7.neighbourhood=h7.neighborhood;h7.closedNeighbourhood=h7.closedNeighborhood;h7.openNeighbourhood=h7.openNeighborhood;k3(h7,{source:KA(function(B){var E=this[0],A;if(E)A=E._private.source||E.cy().collection();return A&&B?A.filter(B):A},"source"),target:KA(function(B){var E=this[0],A;if(E)A=E._private.target||E.cy().collection();return A&&B?A.filter(B):A},"target"),sources:ry0({attr:"source"}),targets:ry0({attr:"target"})});k3(h7,{edgesWith:KA(gy0(),"edgesWith"),edgesTo:KA(gy0({thisIsSrc:!0}),"edgesTo")});k3(h7,{connectedEdges:KA(function(u){var B=[],E=this;for(var A=0;A<E.length;A++){var C=E[A];if(!C.isNode())continue;var D=C._private.edges;for(var F=0;F<D.length;F++){var U=D[F];B.push(U)}}return this.spawn(B,!0).filter(u)},"connectedEdges"),connectedNodes:KA(function(u){var B=[],E=this;for(var A=0;A<E.length;A++){var C=E[A];if(!C.isEdge())continue;B.push(C.source()[0]),B.push(C.target()[0])}return this.spawn(B,!0).filter(u)},"connectedNodes"),parallelEdges:KA(cy0(),"parallelEdges"),codirectedEdges:KA(cy0({codirected:!0}),"codirectedEdges")});k3(h7,{components:function(B){var E=this,A=E.cy(),C=A.collection(),D=B==null?E.nodes():B.nodes(),F=[];if(B!=null&&D.empty())D=B.sources();var U=function(f,M){C.merge(f),D.unmerge(f),M.merge(f)};if(D.empty())return E.spawn();var z=function(){var f=A.collection();F.push(f);var M=D[0];U(M,f),E.bfs({directed:!1,roots:M,visit:function(Z){return U(Z,f)}}),f.forEach(function(b){b.connectedEdges().forEach(function(Z){if(E.has(Z)&&f.has(Z.source())&&f.has(Z.target()))f.merge(Z)})})};do z();while(D.length>0);return F},component:function(){var B=this[0];return B.cy().mutableElements().components(B)[0]}});h7.componentsOf=h7.components;O6=Em.prototype=z7.prototype=Object.create(Array.prototype);O6.instanceString=function(){return"collection"};O6.spawn=function(u,B){return new z7(this.cy(),u,B)};O6.spawnSelf=function(){return this.spawn(this)};O6.cy=function(){return this._private.cy};O6.renderer=function(){return this._private.cy.renderer()};O6.element=function(){return this[0]};O6.collection=function(){if(Sr0(this))return this;else return new z7(this._private.cy,[this])};O6.unique=function(){return new z7(this._private.cy,this,!0)};O6.hasElementWithId=function(u){return u=""+u,this._private.map.has(u)};O6.getElementById=function(u){u=""+u;var B=this._private.cy,E=this._private.map.get(u);return E?E.ele:new z7(B)};O6.$id=O6.getElementById;O6.poolIndex=function(){var u=this._private.cy,B=u._private.elements,E=this[0]._private.data.id;return B._private.map.get(E).index};O6.indexOf=function(u){var B=u[0]._private.data.id;return this._private.map.get(B).index};O6.indexOfId=function(u){return u=""+u,this._private.map.get(u).index};O6.json=function(u){var B=this.element(),E=this.cy();if(B==null&&u)return this;if(B==null)return;var A=B._private;if(Y1(u)){if(E.startBatch(),u.data){B.data(u.data);var C=A.data;if(B.isEdge()){var D=!1,F={},U=u.data.source,z=u.data.target;if(U!=null&&U!=C.source)F.source=""+U,D=!0;if(z!=null&&z!=C.target)F.target=""+z,D=!0;if(D)B=B.move(F)}else{var k="parent"in u.data,f=u.data.parent;if(k&&(f!=null||C.parent!=null)&&f!=C.parent){if(f===void 0)f=null;if(f!=null)f=""+f;B=B.move({parent:f})}}}if(u.position)B.position(u.position);var M=function(K,w,Q){var G=u[K];if(G!=null&&G!==A[K])if(G)B[w]();else B[Q]()};if(M("removed","remove","restore"),M("selected","select","unselect"),M("selectable","selectify","unselectify"),M("locked","lock","unlock"),M("grabbable","grabify","ungrabify"),M("pannable","panify","unpanify"),u.classes!=null)B.classes(u.classes);return E.endBatch(),this}else if(u===void 0){var b={data:dF(A.data),position:dF(A.position),group:A.group,removed:A.removed,selected:A.selected,selectable:A.selectable,locked:A.locked,grabbable:A.grabbable,pannable:A.pannable,classes:null};b.classes="";var Z=0;return A.classes.forEach(function(J){return b.classes+=Z++===0?J:" "+J}),b}};O6.jsons=function(){var u=[];for(var B=0;B<this.length;B++){var E=this[B],A=E.json();u.push(A)}return u};O6.clone=function(){var u=this.cy(),B=[];for(var E=0;E<this.length;E++){var A=this[E],C=A.json(),D=new Em(u,C,!1);B.push(D)}return new z7(u,B)};O6.copy=O6.clone;O6.restore=function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,E=this,A=E.cy(),C=A._private,D=[],F=[],U;for(var z=0,k=E.length;z<k;z++){var f=E[z];if(B&&!f.removed())continue;if(f.isNode())D.push(f);else F.push(f)}U=D.concat(F);var M,b=function(){U.splice(M,1),M--};for(M=0;M<U.length;M++){var Z=U[M],J=Z._private,K=J.data;if(Z.clearTraversalCache(),!B&&!J.removed);else if(K.id===void 0)K.id=$r0();else if(K4(K.id))K.id=""+K.id;else if(dM(K.id)||!n4(K.id)){z9("Can not create element with invalid string ID `"+K.id+"`"),b();continue}else if(A.hasElementWithId(K.id)){z9("Can not create second element with ID `"+K.id+"`"),b();continue}var w=K.id;if(Z.isNode()){var Q=J.position;if(Q.x==null)Q.x=0;if(Q.y==null)Q.y=0}if(Z.isEdge()){var G=Z,H=["source","target"],l=H.length,q=!1;for(var L=0;L<l;L++){var v=H[L],x=K[v];if(K4(x))x=K[v]=""+K[v];if(x==null||x==="")z9("Can not create edge `"+w+"` with unspecified "+v),q=!0;else if(!A.hasElementWithId(x))z9("Can not create edge `"+w+"` with nonexistent "+v+" `"+x+"`"),q=!0}if(q){b();continue}var S=A.getElementById(K.source),W=A.getElementById(K.target);if(S.same(W))S._private.edges.push(G);else S._private.edges.push(G),W._private.edges.push(G);G._private.source=S,G._private.target=W}if(J.map=new Ek,J.map.set(w,{ele:Z,index:0}),J.removed=!1,B)A.addToPool(Z)}for(var T=0;T<D.length;T++){var R=D[T],Y=R._private.data;if(K4(Y.parent))Y.parent=""+Y.parent;var h=Y.parent,I=h!=null;if(I||R._private.parent){var O=R._private.parent?A.collection().merge(R._private.parent):A.getElementById(h);if(O.empty())Y.parent=void 0;else if(O[0].removed())D6("Node added with missing parent, reference to parent removed"),Y.parent=void 0,R._private.parent=null;else{var V=!1,j=O;while(!j.empty()){if(R.same(j)){V=!0,Y.parent=void 0;break}j=j.parent()}if(!V)O[0]._private.children.push(R),R._private.parent=O[0],C.hasCompoundNodes=!0}}}if(U.length>0){var i=U.length===E.length?E:new z7(A,U);for(var a=0;a<i.length;a++){var $=i[a];if($.isNode())continue;$.parallelEdges().clearTraversalCache(),$.source().clearTraversalCache(),$.target().clearTraversalCache()}var m;if(C.hasCompoundNodes)m=A.collection().merge(i).merge(i.connectedNodes()).merge(i.parent());else m=i;if(m.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(u),u)i.emitAndNotify("add");else if(B)i.emit("add")}return E};O6.removed=function(){var u=this[0];return u&&u._private.removed};O6.inside=function(){var u=this[0];return u&&!u._private.removed};O6.remove=function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,E=this,A=[],C={},D=E._private.cy;function F(h){var I=h._private.edges;for(var O=0;O<I.length;O++)z(I[O])}function U(h){var I=h._private.children;for(var O=0;O<I.length;O++)z(I[O])}function z(h){var I=C[h.id()];if(B&&h.removed()||I)return;else C[h.id()]=!0;if(h.isNode())A.push(h),F(h),U(h);else A.unshift(h)}for(var k=0,f=E.length;k<f;k++){var M=E[k];z(M)}function b(h,I){var O=h._private.edges;sM(O,I),h.clearTraversalCache()}function Z(h){h.clearTraversalCache()}var J=[];J.ids={};function K(h,I){I=I[0],h=h[0];var O=h._private.children,V=h.id();if(sM(O,I),I._private.parent=null,!J.ids[V])J.ids[V]=!0,J.push(h)}if(E.dirtyCompoundBoundsCache(),B)D.removeFromPool(A);for(var w=0;w<A.length;w++){var Q=A[w];if(Q.isEdge()){var G=Q.source()[0],H=Q.target()[0];b(G,Q),b(H,Q);var l=Q.parallelEdges();for(var q=0;q<l.length;q++){var L=l[q];if(Z(L),L.isBundledBezier())L.dirtyBoundingBoxCache()}}else{var v=Q.parent();if(v.length!==0)K(v,Q)}if(B)Q._private.removed=!0}var x=D._private.elements;D._private.hasCompoundNodes=!1;for(var S=0;S<x.length;S++){var W=x[S];if(W.isParent()){D._private.hasCompoundNodes=!0;break}}var T=new z7(this.cy(),A);if(T.size()>0){if(u)T.emitAndNotify("remove");else if(B)T.emit("remove")}for(var R=0;R<J.length;R++){var Y=J[R];if(!B||!Y.removed())Y.updateStyle()}return T};O6.move=function(u){var B=this._private.cy,E=this,A=!1,C=!1,D=function(J){return J==null?J:""+J};if(u.source!==void 0||u.target!==void 0){var F=D(u.source),U=D(u.target),z=F!=null&&B.hasElementWithId(F),k=U!=null&&B.hasElementWithId(U);if(z||k)B.batch(function(){E.remove(A,C),E.emitAndNotify("moveout");for(var Z=0;Z<E.length;Z++){var J=E[Z],K=J._private.data;if(J.isEdge()){if(z)K.source=F;if(k)K.target=U}}E.restore(A,C)}),E.emitAndNotify("move")}else if(u.parent!==void 0){var f=D(u.parent),M=f===null||B.hasElementWithId(f);if(M){var b=f===null?void 0:f;B.batch(function(){var Z=E.remove(A,C);Z.emitAndNotify("moveout");for(var J=0;J<E.length;J++){var K=E[J],w=K._private.data;if(K.isNode())w.parent=b}Z.restore(A,C)}),E.emitAndNotify("move")}}return this};[ug0,nQ4,Ia,pM,nq,fG4,km,SG4,xg0,Wg0,IG4,pa,Pa,U7,nM,h7].forEach(function(u){k3(O6,u)});aG4={add:function(B){var E,A=this;if(GE(B)){var C=B;if(C._private.cy===A)E=C.restore();else{var D=[];for(var F=0;F<C.length;F++){var U=C[F];D.push(U.json())}E=new z7(A,D)}}else if(v6(B)){var z=B;E=new z7(A,z)}else if(Y1(B)&&(v6(B.nodes)||v6(B.edges))){var k=B,f=[],M=["nodes","edges"];for(var b=0,Z=M.length;b<Z;b++){var J=M[b],K=k[J];if(v6(K))for(var w=0,Q=K.length;w<Q;w++){var G=k3({group:J},K[w]);f.push(G)}}E=new z7(A,f)}else{var H=B;E=new Em(A,H).collection()}return E},remove:function(B){if(GE(B));else if(n4(B)){var E=B;B=this.$(E)}return B.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *//*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */$G4=function(){function u(A){return-A.tension*A.x-A.friction*A.v}function B(A,C,D){var F={x:A.x+D.dx*C,v:A.v+D.dv*C,tension:A.tension,friction:A.friction};return{dx:F.v,dv:u(F)}}function E(A,C){var D={dx:A.v,dv:u(A)},F=B(A,C*0.5,D),U=B(A,C*0.5,F),z=B(A,C,U),k=0.16666666666666666*(D.dx+2*(F.dx+U.dx)+z.dx),f=0.16666666666666666*(D.dv+2*(F.dv+U.dv)+z.dv);return A.x=A.x+k*C,A.v=A.v+f*C,A}return function A(C,D,F){var U={x:-1,v:0,tension:null,friction:null},z=[0],k=0,f=0.0001,M=0.016,b,Z,J;if(C=parseFloat(C)||500,D=parseFloat(D)||20,F=F||null,U.tension=C,U.friction=D,b=F!==null,b)k=A(C,D),Z=k/F*M;else Z=M;for(;;)if(J=E(J||U,Z),z.push(1+J.x),k+=16,!(Math.abs(J.x)>f&&Math.abs(J.v)>f))break;return!b?k:function(K){return z[K*(z.length-1)|0]}}}(),ja={linear:function(B,E,A){return B+(E-B)*A},ease:T6(0.25,0.1,0.25,1),"ease-in":T6(0.42,0,1,1),"ease-out":T6(0,0,0.58,1),"ease-in-out":T6(0.42,0,0.58,1),"ease-in-sine":T6(0.47,0,0.745,0.715),"ease-out-sine":T6(0.39,0.575,0.565,1),"ease-in-out-sine":T6(0.445,0.05,0.55,0.95),"ease-in-quad":T6(0.55,0.085,0.68,0.53),"ease-out-quad":T6(0.25,0.46,0.45,0.94),"ease-in-out-quad":T6(0.455,0.03,0.515,0.955),"ease-in-cubic":T6(0.55,0.055,0.675,0.19),"ease-out-cubic":T6(0.215,0.61,0.355,1),"ease-in-out-cubic":T6(0.645,0.045,0.355,1),"ease-in-quart":T6(0.895,0.03,0.685,0.22),"ease-out-quart":T6(0.165,0.84,0.44,1),"ease-in-out-quart":T6(0.77,0,0.175,1),"ease-in-quint":T6(0.755,0.05,0.855,0.06),"ease-out-quint":T6(0.23,1,0.32,1),"ease-in-out-quint":T6(0.86,0,0.07,1),"ease-in-expo":T6(0.95,0.05,0.795,0.035),"ease-out-expo":T6(0.19,1,0.22,1),"ease-in-out-expo":T6(1,0,0,1),"ease-in-circ":T6(0.6,0.04,0.98,0.335),"ease-out-circ":T6(0.075,0.82,0.165,1),"ease-in-out-circ":T6(0.785,0.135,0.15,0.86),spring:function(B,E,A){if(A===0)return ja.linear;var C=$G4(B,E,A);return function(D,F,U){return D+(F-D)*C(U)}},"cubic-bezier":T6};gG4={animate:C6.animate(),animation:C6.animation(),animated:C6.animated(),clearQueue:C6.clearQueue(),delay:C6.delay(),delayAnimation:C6.delayAnimation(),stop:C6.stop(),addToAnimationPool:function(B){var E=this;if(!E.styleEnabled())return;E._private.aniEles.merge(B)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var B=this;if(B._private.animationsRunning=!0,!B.styleEnabled())return;function E(){if(!B._private.animationsRunning)return;ya(function(D){ny0(D,B),E()})}var A=B.renderer();if(A&&A.beforeRender)A.beforeRender(function(D,F){ny0(F,B)},A.beforeRenderPriorities.animations);else E()}},cG4={qualifierCompare:function(B,E){if(B==null||E==null)return B==null&&E==null;else return B.sameText(E)},eventMatches:function(B,E,A){var C=E.qualifier;if(C!=null)return B!==A.target&&sS(A.target)&&C.matches(A.target);return!0},addEventFields:function(B,E){E.cy=B,E.target=B},callbackContext:function(B,E,A){return E.qualifier!=null?A.target:B}},Rg0={createEmitter:function(){var B=this._private;if(!B.emitter)B.emitter=new fm(cG4,this);return this},emitter:function(){return this._private.emitter},on:function(B,E,A){return this.emitter().on(B,xa(E),A),this},removeListener:function(B,E,A){return this.emitter().removeListener(B,xa(E),A),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(B,E,A){return this.emitter().one(B,xa(E),A),this},once:function(B,E,A){return this.emitter().one(B,xa(E),A),this},emit:function(B,E){return this.emitter().emit(B,E),this},emitAndNotify:function(B,E){return this.emit(B),this.notify(B,E),this}};C6.eventAliasesOn(Rg0);O50={png:function(B){var E=this._private.renderer;return B=B||{},E.png(B)},jpg:function(B){var E=this._private.renderer;return B=B||{},B.bg=B.bg||"#fff",E.jpg(B)}};O50.jpeg=O50.jpg;Na={layout:function(B){var E=this;if(B==null){z9("Layout options must be specified to make a layout");return}if(B.name==null){z9("A `name` must be specified to make a layout");return}var A=B.name,C=E.extension("layout",A);if(C==null){z9("No such layout `"+A+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var D;if(n4(B.eles))D=E.$(B.eles);else D=B.eles!=null?B.eles:E.$();var F=new C(k3({},B,{cy:E,eles:D}));return F}};Na.createLayout=Na.makeLayout=Na.layout;_G4={notify:function(B,E){var A=this._private;if(this.batching()){A.batchNotifications=A.batchNotifications||{};var C=A.batchNotifications[B]=A.batchNotifications[B]||this.collection();if(E!=null)C.merge(E);return}if(!A.notificationsEnabled)return;var D=this.renderer();if(this.destroyed()||!D)return;D.notify(B,E)},notifications:function(B){var E=this._private;if(B===void 0)return E.notificationsEnabled;else E.notificationsEnabled=B?!0:!1;return this},noNotifications:function(B){this.notifications(!1),B(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var B=this._private;if(B.batchCount==null)B.batchCount=0;if(B.batchCount===0)B.batchStyleEles=this.collection(),B.batchNotifications={};return B.batchCount++,this},endBatch:function(){var B=this._private;if(B.batchCount===0)return this;if(B.batchCount--,B.batchCount===0){B.batchStyleEles.updateStyle();var E=this.renderer();Object.keys(B.batchNotifications).forEach(function(A){var C=B.batchNotifications[A];if(C.empty())E.notify(A);else E.notify(A,C)})}return this},batch:function(B){return this.startBatch(),B(),this.endBatch(),this},batchData:function(B){var E=this;return this.batch(function(){var A=Object.keys(B);for(var C=0;C<A.length;C++){var D=A[C],F=B[D],U=E.getElementById(D);U.data(F)}})}},pG4=k7({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:0.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),I50={renderTo:function(B,E,A,C){var D=this._private.renderer;return D.renderTo(B,E,A,C),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(B){var E=this,A=E.extension("renderer",B.name);if(A==null){z9("Can not initialise: No such renderer `".concat(B.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}if(B.wheelSensitivity!==void 0)D6("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var C=pG4(B);C.cy=E,E._private.renderer=new A(C),this.notify("init")},destroyRenderer:function(){var B=this;B.notify("destroy");var E=B.container();if(E){E._cyreg=null;while(E.childNodes.length>0)E.removeChild(E.childNodes[0])}B._private.renderer=null,B.mutableElements().forEach(function(A){var C=A._private;C.rscratch={},C.rstyle={},C.animation.current=[],C.animation.queue=[]})},onRender:function(B){return this.on("render",B)},offRender:function(B){return this.off("render",B)}};I50.invalidateDimensions=I50.resize;Va={collection:function(B,E){if(n4(B))return this.$(B);else if(GE(B))return B.collection();else if(v6(B)){if(!E)E={};return new z7(this,B,E.unique,E.removed)}return new z7(this)},nodes:function(B){var E=this.$(function(A){return A.isNode()});if(B)return E.filter(B);return E},edges:function(B){var E=this.$(function(A){return A.isEdge()});if(B)return E.filter(B);return E},$:function(B){var E=this._private.elements;if(B)return E.filter(B);else return E.spawnSelf()},mutableElements:function(){return this._private.elements}};Va.elements=Va.filter=Va.$;I5={};I5.apply=function(u){var B=this,E=B._private,A=E.cy,C=A.collection();for(var D=0;D<u.length;D++){var F=u[D],U=B.getContextMeta(F);if(U.empty)continue;var z=B.getContextStyle(U),k=B.applyContextStyle(U,z,F);if(F._private.appliedInitStyle)B.updateTransitions(F,k.diffProps);else F._private.appliedInitStyle=!0;var f=B.updateStyleHints(F);if(f)C.push(F)}return C};I5.getPropertiesDiff=function(u,B){var E=this,A=E._private.propDiffs=E._private.propDiffs||{},C=u+"-"+B,D=A[C];if(D)return D;var F=[],U={};for(var z=0;z<E.length;z++){var k=E[z],f=u[z]===VS,M=B[z]===VS,b=f!==M,Z=k.mappedProperties.length>0;if(b||M&&Z){var J=void 0;if(b&&Z)J=k.properties;else if(b)J=k.properties;else if(Z)J=k.mappedProperties;for(var K=0;K<J.length;K++){var w=J[K],Q=w.name,G=!1;for(var H=z+1;H<E.length;H++){var l=E[H],q=B[H]===VS;if(!q)continue;if(G=l.properties[w.name]!=null,G)break}if(!U[Q]&&!G)U[Q]=!0,F.push(Q)}}}return A[C]=F,F};I5.getContextMeta=function(u){var B=this,E="",A,C=u._private.styleCxtKey||"";for(var D=0;D<B.length;D++){var F=B[D],U=F.selector&&F.selector.matches(u);if(U)E+=VS;else E+=nG4}return A=B.getPropertiesDiff(C,E),u._private.styleCxtKey=E,{key:E,diffPropNames:A,empty:A.length===0}};I5.getContextStyle=function(u){var B=u.key,E=this,A=this._private.contextStyles=this._private.contextStyles||{};if(A[B])return A[B];var C={_private:{key:B}};for(var D=0;D<E.length;D++){var F=E[D],U=B[D]===VS;if(!U)continue;for(var z=0;z<F.properties.length;z++){var k=F.properties[z];C[k.name]=k}}return A[B]=C,C};I5.applyContextStyle=function(u,B,E){var A=this,C=u.diffPropNames,D={},F=A.types;for(var U=0;U<C.length;U++){var z=C[U],k=B[z],f=E.pstyle(z);if(!k)if(!f)continue;else if(f.bypass)k={name:z,deleteBypassed:!0};else k={name:z,delete:!0};if(f===k)continue;if(k.mapped===F.fn&&f!=null&&f.mapping!=null&&f.mapping.value===k.value){var M=f.mapping,b=M.fnValue=k.value(E);if(b===M.prevFnValue)continue}var Z=D[z]={prev:f};if(A.applyParsedProperty(E,k),Z.next=E.pstyle(z),Z.next&&Z.next.bypass)Z.next=Z.next.bypassed}return{diffProps:D}};I5.updateStyleHints=function(u){var B=u._private,E=this,A=E.propertyGroupNames,C=E.propertyGroupKeys,D=function(D0,P0,L0){return E.getPropertiesHash(D0,P0,L0)},F=B.styleKey;if(u.removed())return!1;var U=B.group==="nodes",z=u._private.style;A=Object.keys(z);for(var k=0;k<C.length;k++){var f=C[k];B.styleKeys[f]=[jK,iq]}var M=function(D0,P0){return B.styleKeys[P0][0]=aS(D0,B.styleKeys[P0][0])},b=function(D0,P0){return B.styleKeys[P0][1]=mS(D0,B.styleKeys[P0][1])},Z=function(D0,P0){M(D0,P0),b(D0,P0)},J=function(D0,P0){for(var L0=0;L0<D0.length;L0++){var m0=D0.charCodeAt(L0);M(m0,P0),b(m0,P0)}},K=2000000000,w=function(D0){return-128<D0&&D0<128&&Math.floor(D0)!==D0?K-(D0*1024|0):D0};for(var Q=0;Q<A.length;Q++){var G=A[Q],H=z[G];if(H==null)continue;var l=this.properties[G],q=l.type,L=l.groupKey,v=void 0;if(l.hashOverride!=null)v=l.hashOverride(u,H);else if(H.pfValue!=null)v=H.pfValue;var x=l.enums==null?H.value:null,S=v!=null,W=x!=null,T=S||W,R=H.units;if(q.number&&T&&!q.multiple){var Y=S?v:x;if(Z(w(Y),L),!S&&R!=null)J(R,L)}else J(H.strValue,L)}var h=[jK,iq];for(var I=0;I<C.length;I++){var O=C[I],V=B.styleKeys[O];h[0]=aS(V[0],h[0]),h[1]=mS(V[1],h[1])}B.styleKey=zK4(h[0],h[1]);var j=B.styleKeys;B.labelDimsKey=mM(j.labelDimensions);var i=D(u,["label"],j.labelDimensions);if(B.labelKey=mM(i),B.labelStyleKey=mM(Qa(j.commonLabel,i)),!U){var a=D(u,["source-label"],j.labelDimensions);B.sourceLabelKey=mM(a),B.sourceLabelStyleKey=mM(Qa(j.commonLabel,a));var $=D(u,["target-label"],j.labelDimensions);B.targetLabelKey=mM($),B.targetLabelStyleKey=mM(Qa(j.commonLabel,$))}if(U){var m=B.styleKeys,y=m.nodeBody,r=m.nodeBorder,_=m.nodeOutline,e=m.backgroundImage,p=m.compound,b0=m.pie,B0=m.stripe,k0=[y,r,_,e,p,b0,B0].filter(function(f0){return f0!=null}).reduce(Qa,[jK,iq]);B.nodeKey=mM(k0),B.hasPie=b0!=null&&b0[0]!==jK&&b0[1]!==iq,B.hasStripe=B0!=null&&B0[0]!==jK&&B0[1]!==iq}return F!==B.styleKey};I5.clearStyleHints=function(u){var B=u._private;B.styleCxtKey="",B.styleKeys={},B.styleKey=null,B.labelKey=null,B.labelStyleKey=null,B.sourceLabelKey=null,B.sourceLabelStyleKey=null,B.targetLabelKey=null,B.targetLabelStyleKey=null,B.nodeKey=null,B.hasPie=null,B.hasStripe=null};I5.applyParsedProperty=function(u,B){var E=this,A=B,C=u._private.style,D,F=E.types,U=E.properties[A.name].type,z=A.bypass,k=C[A.name],f=k&&k.bypass,M=u._private,b="mapping",Z=function(y){if(y==null)return null;else if(y.pfValue!=null)return y.pfValue;else return y.value},J=function(){var y=Z(k),r=Z(A);E.checkTriggers(u,A.name,y,r)};if(B.name==="curve-style"&&u.isEdge()&&(B.value!=="bezier"&&u.isLoop()||B.value==="haystack"&&(u.source().isParent()||u.target().isParent())))A=B=this.parse(B.name,"bezier",z);if(A.delete)return C[A.name]=void 0,J(),!0;if(A.deleteBypassed)if(!k)return J(),!0;else if(k.bypass)return k.bypassed=void 0,J(),!0;else return!1;if(A.deleteBypass)if(!k)return J(),!0;else if(k.bypass)return C[A.name]=k.bypassed,J(),!0;else return!1;var K=function(){D6("Do not assign mappings to elements without corresponding data (i.e. ele `"+u.id()+"` has no mapping for property `"+A.name+"` with data field `"+A.field+"`); try a `["+A.field+"]` selector to limit scope to elements with `"+A.field+"` defined")};switch(A.mapped){case F.mapData:{var w=A.field.split("."),Q=M.data;for(var G=0;G<w.length&&Q;G++){var H=w[G];Q=Q[H]}if(Q==null)return K(),!1;var l;if(!K4(Q))return D6("Do not use continuous mappers without specifying numeric data (i.e. `"+A.field+": "+Q+"` for `"+u.id()+"` is non-numeric)"),!1;else{var q=A.fieldMax-A.fieldMin;if(q===0)l=0;else l=(Q-A.fieldMin)/q}if(l<0)l=0;else if(l>1)l=1;if(U.color){var L=A.valueMin[0],v=A.valueMax[0],x=A.valueMin[1],S=A.valueMax[1],W=A.valueMin[2],T=A.valueMax[2],R=A.valueMin[3]==null?1:A.valueMin[3],Y=A.valueMax[3]==null?1:A.valueMax[3],h=[Math.round(L+(v-L)*l),Math.round(x+(S-x)*l),Math.round(W+(T-W)*l),Math.round(R+(Y-R)*l)];D={bypass:A.bypass,name:A.name,value:h,strValue:"rgb("+h[0]+", "+h[1]+", "+h[2]+")"}}else if(U.number){var I=A.valueMin+(A.valueMax-A.valueMin)*l;D=this.parse(A.name,I,A.bypass,b)}else return!1;if(!D)return K(),!1;D.mapping=A,A=D;break}case F.data:{var O=A.field.split("."),V=M.data;for(var j=0;j<O.length&&V;j++){var i=O[j];V=V[i]}if(V!=null)D=this.parse(A.name,V,A.bypass,b);if(!D)return K(),!1;D.mapping=A,A=D;break}case F.fn:{var a=A.value,$=A.fnValue!=null?A.fnValue:a(u);if(A.prevFnValue=$,$==null)return D6("Custom function mappers may not return null (i.e. `"+A.name+"` for ele `"+u.id()+"` is null)"),!1;if(D=this.parse(A.name,$,A.bypass,b),!D)return D6("Custom function mappers may not return invalid values for the property type (i.e. `"+A.name+"` for ele `"+u.id()+"` is invalid)"),!1;D.mapping=dF(A),A=D;break}case void 0:break;default:return!1}if(z){if(f)A.bypassed=k.bypassed;else A.bypassed=k;C[A.name]=A}else if(f)k.bypassed=A;else C[A.name]=A;return J(),!0};I5.cleanElements=function(u,B){for(var E=0;E<u.length;E++){var A=u[E];if(this.clearStyleHints(A),A.dirtyCompoundBoundsCache(),A.dirtyBoundingBoxCache(),!B)A._private.style={};else{var C=A._private.style,D=Object.keys(C);for(var F=0;F<D.length;F++){var U=D[F],z=C[U];if(z!=null)if(z.bypass)z.bypassed=null;else C[U]=null}}}};I5.update=function(){var u=this._private.cy,B=u.mutableElements();B.updateStyle()};I5.updateTransitions=function(u,B){var E=this,A=u._private,C=u.pstyle("transition-property").value,D=u.pstyle("transition-duration").pfValue,F=u.pstyle("transition-delay").pfValue;if(C.length>0&&D>0){var U={},z=!1;for(var k=0;k<C.length;k++){var f=C[k],M=u.pstyle(f),b=B[f];if(!b)continue;var Z=b.prev,J=Z,K=b.next!=null?b.next:M,w=!1,Q=void 0,G=0.000001;if(!J)continue;if(K4(J.pfValue)&&K4(K.pfValue))w=K.pfValue-J.pfValue,Q=J.pfValue+G*w;else if(K4(J.value)&&K4(K.value))w=K.value-J.value,Q=J.value+G*w;else if(v6(J.value)&&v6(K.value))w=J.value[0]!==K.value[0]||J.value[1]!==K.value[1]||J.value[2]!==K.value[2],Q=J.strValue;if(w)U[f]=K.strValue,this.applyBypass(u,f,Q),z=!0}if(!z)return;A.transitioning=!0,new tq(function(H){if(F>0)u.delayAnimation(F).play().promise().then(H);else H()}).then(function(){return u.animation({style:U,duration:D,easing:u.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){E.removeBypasses(u,C),u.emitAndNotify("style"),A.transitioning=!1})}else if(A.transitioning)this.removeBypasses(u,C),u.emitAndNotify("style"),A.transitioning=!1};I5.checkTrigger=function(u,B,E,A,C,D){var F=this.properties[B],U=C(F);if(u.removed())return;if(U!=null&&U(E,A,u))D(F)};I5.checkZOrderTrigger=function(u,B,E,A){var C=this;this.checkTrigger(u,B,E,A,function(D){return D.triggersZOrder},function(){C._private.cy.notify("zorder",u)})};I5.checkBoundsTrigger=function(u,B,E,A){this.checkTrigger(u,B,E,A,function(C){return C.triggersBounds},function(C){u.dirtyCompoundBoundsCache(),u.dirtyBoundingBoxCache()})};I5.checkConnectedEdgesBoundsTrigger=function(u,B,E,A){this.checkTrigger(u,B,E,A,function(C){return C.triggersBoundsOfConnectedEdges},function(C){u.connectedEdges().forEach(function(D){D.dirtyBoundingBoxCache()})})};I5.checkParallelEdgesBoundsTrigger=function(u,B,E,A){this.checkTrigger(u,B,E,A,function(C){return C.triggersBoundsOfParallelEdges},function(C){u.parallelEdges().forEach(function(D){D.dirtyBoundingBoxCache()})})};I5.checkTriggers=function(u,B,E,A){u.dirtyStyleCache(),this.checkZOrderTrigger(u,B,E,A),this.checkBoundsTrigger(u,B,E,A),this.checkConnectedEdgesBoundsTrigger(u,B,E,A),this.checkParallelEdgesBoundsTrigger(u,B,E,A)};AY={};AY.applyBypass=function(u,B,E,A){var C=this,D=[],F=!0;if(B==="*"||B==="**"){if(E!==void 0)for(var U=0;U<C.properties.length;U++){var z=C.properties[U],k=z.name,f=this.parse(k,E,!0);if(f)D.push(f)}}else if(n4(B)){var M=this.parse(B,E,!0);if(M)D.push(M)}else if(Y1(B)){var b=B;A=E;var Z=Object.keys(b);for(var J=0;J<Z.length;J++){var K=Z[J],w=b[K];if(w===void 0)w=b[um(K)];if(w!==void 0){var Q=this.parse(K,w,!0);if(Q)D.push(Q)}}}else return!1;if(D.length===0)return!1;var G=!1;for(var H=0;H<u.length;H++){var l=u[H],q={},L=void 0;for(var v=0;v<D.length;v++){var x=D[v];if(A){var S=l.pstyle(x.name);L=q[x.name]={prev:S}}if(G=this.applyParsedProperty(l,dF(x))||G,A)L.next=l.pstyle(x.name)}if(G)this.updateStyleHints(l);if(A)this.updateTransitions(l,q,F)}return G};AY.overrideBypass=function(u,B,E){B=g50(B);for(var A=0;A<u.length;A++){var C=u[A],D=C._private.style[B],F=this.properties[B].type,U=F.color,z=F.mutiple,k=!D?null:D.pfValue!=null?D.pfValue:D.value;if(!D||!D.bypass)this.applyBypass(C,B,E);else{if(D.value=E,D.pfValue!=null)D.pfValue=E;if(U)D.strValue="rgb("+E.join(",")+")";else if(z)D.strValue=E.join(" ");else D.strValue=""+E;this.updateStyleHints(C)}this.checkTriggers(C,B,k,E)}};AY.removeAllBypasses=function(u,B){return this.removeBypasses(u,this.propertyNames,B)};AY.removeBypasses=function(u,B,E){var A=!0;for(var C=0;C<u.length;C++){var D=u[C],F={};for(var U=0;U<B.length;U++){var z=B[U],k=this.properties[z],f=D.pstyle(k.name);if(!f||!f.bypass)continue;var M="",b=this.parse(z,M,!0),Z=F[k.name]={prev:f};this.applyParsedProperty(D,b),Z.next=D.pstyle(k.name)}if(this.updateStyleHints(D),E)this.updateTransitions(D,F,A)}};D70={};D70.getEmSizeInPixels=function(){var u=this.containerCss("font-size");if(u!=null)return parseFloat(u);else return 1};D70.containerCss=function(u){var B=this._private.cy,E=B.container(),A=B.window();if(A&&E&&A.getComputedStyle)return A.getComputedStyle(E).getPropertyValue(u)};sF={};sF.getRenderedStyle=function(u,B){if(B)return this.getStylePropertyValue(u,B,!0);else return this.getRawStyle(u,!0)};sF.getRawStyle=function(u,B){var E=this;if(u=u[0],u){var A={};for(var C=0;C<E.properties.length;C++){var D=E.properties[C],F=E.getStylePropertyValue(u,D.name,B);if(F!=null)A[D.name]=F,A[um(D.name)]=F}return A}};sF.getIndexedStyle=function(u,B,E,A){var C=u.pstyle(B)[E][A];return C!=null?C:u.cy().style().getDefaultProperty(B)[E][0]};sF.getStylePropertyValue=function(u,B,E){var A=this;if(u=u[0],u){var C=A.properties[B];if(C.alias)C=C.pointsTo;var D=C.type,F=u.pstyle(C.name);if(F){var{value:U,units:z,strValue:k}=F;if(E&&D.number&&U!=null&&K4(U)){var f=u.cy().zoom(),M=function(w){return w*f},b=function(w,Q){return M(w)+Q},Z=v6(U),J=Z?z.every(function(K){return K!=null}):z!=null;if(J)if(Z)return U.map(function(K,w){return b(K,z[w])}).join(" ");else return b(U,z);else if(Z)return U.map(function(K){return n4(K)?K:""+M(K)}).join(" ");else return""+M(U)}else if(k!=null)return k}return null}};sF.getAnimationStartStyle=function(u,B){var E={};for(var A=0;A<B.length;A++){var C=B[A],D=C.name,F=u.pstyle(D);if(F!==void 0)if(Y1(F))F=this.parse(D,F.strValue);else F=this.parse(D,F);if(F)E[D]=F}return E};sF.getPropsList=function(u){var B=this,E=[],A=u,C=B.properties;if(A){var D=Object.keys(A);for(var F=0;F<D.length;F++){var U=D[F],z=A[U],k=C[U]||C[g50(U)],f=this.parse(k.name,z);if(f)E.push(f)}}return E};sF.getNonDefaultPropertiesHash=function(u,B,E){var A=E.slice(),C,D,F,U,z,k;for(z=0;z<B.length;z++)if(C=B[z],D=u.pstyle(C,!1),D==null)continue;else if(D.pfValue!=null)A[0]=aS(U,A[0]),A[1]=mS(U,A[1]);else{F=D.strValue;for(k=0;k<F.length;k++)U=F.charCodeAt(k),A[0]=aS(U,A[0]),A[1]=mS(U,A[1])}return A};sF.getPropertiesHash=sF.getNonDefaultPropertiesHash;Zm={};Zm.appendFromJson=function(u){var B=this;for(var E=0;E<u.length;E++){var A=u[E],C=A.selector,D=A.style||A.css,F=Object.keys(D);B.selector(C);for(var U=0;U<F.length;U++){var z=F[U],k=D[z];B.css(z,k)}}return B};Zm.fromJson=function(u){var B=this;return B.resetToDefault(),B.appendFromJson(u),B};Zm.json=function(){var u=[];for(var B=this.defaultLength;B<this.length;B++){var E=this[B],A=E.selector,C=E.properties,D={};for(var F=0;F<C.length;F++){var U=C[F];D[U.name]=U.strValue}u.push({selector:!A?"core":A.toString(),style:D})}return u};F70={};F70.appendFromString=function(u){var B=this,E=this,A=""+u,C,D,F;A=A.replace(/[/][*](\s|.)+?[*][/]/g,"");function U(){if(A.length>C.length)A=A.substr(C.length);else A=""}function z(){if(D.length>F.length)D=D.substr(F.length);else D=""}for(;;){var k=A.match(/^\s*$/);if(k)break;var f=A.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){D6("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+A);break}C=f[0];var M=f[1];if(M!=="core"){var b=new tM(M);if(b.invalid){D6("Skipping parsing of block: Invalid selector found in string stylesheet: "+M),U();continue}}var Z=f[2],J=!1;D=Z;var K=[];for(;;){var w=D.match(/^\s*$/);if(w)break;var Q=D.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Q){D6("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+Z),J=!0;break}F=Q[0];var G=Q[1],H=Q[2],l=B.properties[G];if(!l){D6("Skipping property: Invalid property name in: "+F),z();continue}var q=E.parse(G,H);if(!q){D6("Skipping property: Invalid property definition in: "+F),z();continue}K.push({name:G,val:H}),z()}if(J){U();break}E.selector(M);for(var L=0;L<K.length;L++){var v=K[L];E.css(v.name,v.val)}U()}return E};F70.fromString=function(u){var B=this;return B.resetToDefault(),B.appendFromString(u),B};S2={};(function(){var u=t2,B=mJ4,E=yJ4,A=rJ4,C=gJ4,D=function(f0){return"^"+f0+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},F=function(f0){var D0=u+"|\\w+|"+B+"|"+E+"|"+A+"|"+C;return"^"+f0+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+u+")\\s*\\,\\s*("+u+")\\s*,\\s*("+D0+")\\s*\\,\\s*("+D0+")\\)$"},U=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];S2.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},boxSelection:{enums:["contain","overlap","none"]},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:"^([\\w- \\\"]+(?:\\s*,\\s*[\\w- \\\"]+)*)$"},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle","circle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","top-inside","center","bottom","bottom-inside"]},halign:{enums:["left","left-inside","center","right","right-inside"]},justification:{enums:["left","center","right","auto"]},textMetrics:{enums:["font","glyph"]},text:{string:!0},data:{mapping:!0,regex:D("data")},layoutData:{mapping:!0,regex:D("layoutData")},scratch:{mapping:!0,regex:D("scratch")},mapData:{mapping:!0,regex:F("mapData")},mapLayoutData:{mapping:!0,regex:F("mapLayoutData")},mapScratch:{mapping:!0,regex:F("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:U,singleRegexMatchValue:!0},urls:{regexes:U,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(f0,D0){switch(f0.length){case 2:return D0[0]!=="deg"&&D0[0]!=="rad"&&D0[1]!=="deg"&&D0[1]!=="rad";case 1:return n4(f0[0])||D0[0]==="deg"||D0[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+u+")\\s*,\\s*("+u+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+u+")\\s*,\\s*("+u+")\\s*,\\s*("+u+")\\s*,\\s*("+u+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(f0){var D0=f0.length;return D0===1||D0===2||D0===4}}};var z={zeroNonZero:function(f0,D0){if((f0==null||D0==null)&&f0!==D0)return!0;if(f0==0&&D0!=0)return!0;else if(f0!=0&&D0==0)return!0;else return!1},any:function(f0,D0){return f0!=D0},emptyNonEmpty:function(f0,D0){var P0=dM(f0),L0=dM(D0);return P0&&!L0||!P0&&L0}},k=S2.types,f=[{name:"label",type:k.text,triggersBounds:z.any,triggersZOrder:z.emptyNonEmpty},{name:"text-rotation",type:k.textRotation,triggersBounds:z.any},{name:"text-margin-x",type:k.bidirectionalSize,triggersBounds:z.any},{name:"text-margin-y",type:k.bidirectionalSize,triggersBounds:z.any}],M=[{name:"source-label",type:k.text,triggersBounds:z.any},{name:"source-text-rotation",type:k.textRotation,triggersBounds:z.any},{name:"source-text-margin-x",type:k.bidirectionalSize,triggersBounds:z.any},{name:"source-text-margin-y",type:k.bidirectionalSize,triggersBounds:z.any},{name:"source-text-offset",type:k.size,triggersBounds:z.any}],b=[{name:"target-label",type:k.text,triggersBounds:z.any},{name:"target-text-rotation",type:k.textRotation,triggersBounds:z.any},{name:"target-text-margin-x",type:k.bidirectionalSize,triggersBounds:z.any},{name:"target-text-margin-y",type:k.bidirectionalSize,triggersBounds:z.any},{name:"target-text-offset",type:k.size,triggersBounds:z.any}],Z=[{name:"font-family",type:k.fontFamily,triggersBounds:z.any},{name:"font-style",type:k.fontStyle,triggersBounds:z.any},{name:"font-weight",type:k.fontWeight,triggersBounds:z.any},{name:"font-size",type:k.size,triggersBounds:z.any},{name:"text-transform",type:k.textTransform,triggersBounds:z.any},{name:"text-wrap",type:k.textWrap,triggersBounds:z.any},{name:"text-overflow-wrap",type:k.textOverflowWrap,triggersBounds:z.any},{name:"text-max-width",type:k.size,triggersBounds:z.any},{name:"text-outline-width",type:k.size,triggersBounds:z.any},{name:"line-height",type:k.positiveNumber,triggersBounds:z.any}],J=[{name:"text-valign",type:k.valign,triggersBounds:z.any},{name:"text-halign",type:k.halign,triggersBounds:z.any},{name:"color",type:k.color},{name:"text-outline-color",type:k.color},{name:"text-outline-opacity",type:k.zeroOneNumber},{name:"text-background-color",type:k.color},{name:"text-background-opacity",type:k.zeroOneNumber},{name:"text-background-padding",type:k.size,triggersBounds:z.any},{name:"text-border-opacity",type:k.zeroOneNumber},{name:"text-border-color",type:k.color},{name:"text-border-width",type:k.size,triggersBounds:z.any},{name:"text-border-style",type:k.borderStyle,triggersBounds:z.any},{name:"text-background-shape",type:k.textBackgroundShape,triggersBounds:z.any},{name:"text-justification",type:k.justification},{name:"text-metrics",type:k.textMetrics},{name:"box-select-labels",type:k.bool,triggersBounds:z.any}],K=[{name:"events",type:k.bool,triggersZOrder:z.any},{name:"text-events",type:k.bool,triggersZOrder:z.any},{name:"box-selection",type:k.boxSelection,triggersZOrder:z.any}],w=[{name:"display",type:k.display,triggersZOrder:z.any,triggersBounds:z.any,triggersBoundsOfConnectedEdges:z.any,triggersBoundsOfParallelEdges:function(f0,D0,P0){if(f0===D0)return!1;return P0.pstyle("curve-style").value==="bezier"}},{name:"visibility",type:k.visibility,triggersZOrder:z.any},{name:"opacity",type:k.zeroOneNumber,triggersZOrder:z.zeroNonZero},{name:"text-opacity",type:k.zeroOneNumber},{name:"min-zoomed-font-size",type:k.size},{name:"z-compound-depth",type:k.zCompoundDepth,triggersZOrder:z.any},{name:"z-index-compare",type:k.zIndexCompare,triggersZOrder:z.any},{name:"z-index",type:k.number,triggersZOrder:z.any}],Q=[{name:"overlay-padding",type:k.size,triggersBounds:z.any},{name:"overlay-color",type:k.color},{name:"overlay-opacity",type:k.zeroOneNumber,triggersBounds:z.zeroNonZero},{name:"overlay-shape",type:k.overlayShape,triggersBounds:z.any},{name:"overlay-corner-radius",type:k.cornerRadius}],G=[{name:"underlay-padding",type:k.size,triggersBounds:z.any},{name:"underlay-color",type:k.color},{name:"underlay-opacity",type:k.zeroOneNumber,triggersBounds:z.zeroNonZero},{name:"underlay-shape",type:k.overlayShape,triggersBounds:z.any},{name:"underlay-corner-radius",type:k.cornerRadius}],H=[{name:"transition-property",type:k.propList},{name:"transition-duration",type:k.time},{name:"transition-delay",type:k.time},{name:"transition-timing-function",type:k.easing}],l=function(f0,D0){if(D0.value==="label")return-f0.poolIndex();else return D0.pfValue},q=[{name:"height",type:k.nodeSize,triggersBounds:z.any,hashOverride:l},{name:"width",type:k.nodeSize,triggersBounds:z.any,hashOverride:l},{name:"shape",type:k.nodeShape,triggersBounds:z.any},{name:"shape-polygon-points",type:k.polygonPointList,triggersBounds:z.any},{name:"corner-radius",type:k.cornerRadius},{name:"background-color",type:k.color},{name:"background-fill",type:k.fill},{name:"background-opacity",type:k.zeroOneNumber},{name:"background-blacken",type:k.nOneOneNumber},{name:"background-gradient-stop-colors",type:k.colors},{name:"background-gradient-stop-positions",type:k.percentages},{name:"background-gradient-direction",type:k.gradientDirection},{name:"padding",type:k.sizeMaybePercent,triggersBounds:z.any},{name:"padding-relative-to",type:k.paddingRelativeTo,triggersBounds:z.any},{name:"bounds-expansion",type:k.boundsExpansion,triggersBounds:z.any}],L=[{name:"border-color",type:k.color},{name:"border-opacity",type:k.zeroOneNumber},{name:"border-width",type:k.size,triggersBounds:z.any},{name:"border-style",type:k.borderStyle},{name:"border-cap",type:k.lineCap},{name:"border-join",type:k.lineJoin},{name:"border-dash-pattern",type:k.numbers},{name:"border-dash-offset",type:k.number},{name:"border-position",type:k.linePosition}],v=[{name:"outline-color",type:k.color},{name:"outline-opacity",type:k.zeroOneNumber},{name:"outline-width",type:k.size,triggersBounds:z.any},{name:"outline-style",type:k.borderStyle},{name:"outline-offset",type:k.size,triggersBounds:z.any}],x=[{name:"background-image",type:k.urls},{name:"background-image-crossorigin",type:k.bgCrossOrigin},{name:"background-image-opacity",type:k.zeroOneNumbers},{name:"background-image-containment",type:k.bgContainment},{name:"background-image-smoothing",type:k.bools},{name:"background-position-x",type:k.bgPos},{name:"background-position-y",type:k.bgPos},{name:"background-width-relative-to",type:k.bgRelativeTo},{name:"background-height-relative-to",type:k.bgRelativeTo},{name:"background-repeat",type:k.bgRepeat},{name:"background-fit",type:k.bgFit},{name:"background-clip",type:k.bgClip},{name:"background-width",type:k.bgWH},{name:"background-height",type:k.bgWH},{name:"background-offset-x",type:k.bgPos},{name:"background-offset-y",type:k.bgPos}],S=[{name:"position",type:k.position,triggersBounds:z.any},{name:"compound-sizing-wrt-labels",type:k.compoundIncludeLabels,triggersBounds:z.any},{name:"min-width",type:k.size,triggersBounds:z.any},{name:"min-width-bias-left",type:k.sizeMaybePercent,triggersBounds:z.any},{name:"min-width-bias-right",type:k.sizeMaybePercent,triggersBounds:z.any},{name:"min-height",type:k.size,triggersBounds:z.any},{name:"min-height-bias-top",type:k.sizeMaybePercent,triggersBounds:z.any},{name:"min-height-bias-bottom",type:k.sizeMaybePercent,triggersBounds:z.any}],W=[{name:"line-style",type:k.lineStyle},{name:"line-color",type:k.color},{name:"line-fill",type:k.fill},{name:"line-cap",type:k.lineCap},{name:"line-opacity",type:k.zeroOneNumber},{name:"line-dash-pattern",type:k.numbers},{name:"line-dash-offset",type:k.number},{name:"line-outline-width",type:k.size},{name:"line-outline-color",type:k.color},{name:"line-gradient-stop-colors",type:k.colors},{name:"line-gradient-stop-positions",type:k.percentages},{name:"curve-style",type:k.curveStyle,triggersBounds:z.any,triggersBoundsOfParallelEdges:function(f0,D0){if(f0===D0)return!1;return f0==="bezier"||D0==="bezier"}},{name:"haystack-radius",type:k.zeroOneNumber,triggersBounds:z.any},{name:"source-endpoint",type:k.edgeEndpoint,triggersBounds:z.any},{name:"target-endpoint",type:k.edgeEndpoint,triggersBounds:z.any},{name:"control-point-step-size",type:k.size,triggersBounds:z.any},{name:"control-point-distances",type:k.bidirectionalSizes,triggersBounds:z.any},{name:"control-point-weights",type:k.numbers,triggersBounds:z.any},{name:"segment-distances",type:k.bidirectionalSizes,triggersBounds:z.any},{name:"segment-weights",type:k.numbers,triggersBounds:z.any},{name:"segment-radii",type:k.numbers,triggersBounds:z.any},{name:"radius-type",type:k.radiusType,triggersBounds:z.any},{name:"taxi-turn",type:k.bidirectionalSizeMaybePercent,triggersBounds:z.any},{name:"taxi-turn-min-distance",type:k.size,triggersBounds:z.any},{name:"taxi-direction",type:k.axisDirection,triggersBounds:z.any},{name:"taxi-radius",type:k.number,triggersBounds:z.any},{name:"edge-distances",type:k.edgeDistances,triggersBounds:z.any},{name:"arrow-scale",type:k.positiveNumber,triggersBounds:z.any},{name:"loop-direction",type:k.angle,triggersBounds:z.any},{name:"loop-sweep",type:k.angle,triggersBounds:z.any},{name:"source-distance-from-node",type:k.size,triggersBounds:z.any},{name:"target-distance-from-node",type:k.size,triggersBounds:z.any}],T=[{name:"ghost",type:k.bool,triggersBounds:z.any},{name:"ghost-offset-x",type:k.bidirectionalSize,triggersBounds:z.any},{name:"ghost-offset-y",type:k.bidirectionalSize,triggersBounds:z.any},{name:"ghost-opacity",type:k.zeroOneNumber}],R=[{name:"selection-box-color",type:k.color},{name:"selection-box-opacity",type:k.zeroOneNumber},{name:"selection-box-border-color",type:k.color},{name:"selection-box-border-width",type:k.size},{name:"active-bg-color",type:k.color},{name:"active-bg-opacity",type:k.zeroOneNumber},{name:"active-bg-size",type:k.size},{name:"outside-texture-bg-color",type:k.color},{name:"outside-texture-bg-opacity",type:k.zeroOneNumber}],Y=[];S2.pieBackgroundN=16,Y.push({name:"pie-size",type:k.sizeMaybePercent}),Y.push({name:"pie-hole",type:k.sizeMaybePercent}),Y.push({name:"pie-start-angle",type:k.angle});for(var h=1;h<=S2.pieBackgroundN;h++)Y.push({name:"pie-"+h+"-background-color",type:k.color}),Y.push({name:"pie-"+h+"-background-size",type:k.percent}),Y.push({name:"pie-"+h+"-background-opacity",type:k.zeroOneNumber});var I=[];S2.stripeBackgroundN=16,I.push({name:"stripe-size",type:k.sizeMaybePercent}),I.push({name:"stripe-direction",type:k.axisDirectionPrimary});for(var O=1;O<=S2.stripeBackgroundN;O++)I.push({name:"stripe-"+O+"-background-color",type:k.color}),I.push({name:"stripe-"+O+"-background-size",type:k.percent}),I.push({name:"stripe-"+O+"-background-opacity",type:k.zeroOneNumber});var V=[],j=S2.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:k.arrowShape,triggersBounds:z.any},{name:"arrow-color",type:k.color},{name:"arrow-fill",type:k.arrowFill},{name:"arrow-width",type:k.arrowWidth}].forEach(function(k0){j.forEach(function(f0){var D0=f0+"-"+k0.name,P0=k0.type,L0=k0.triggersBounds;V.push({name:D0,type:P0,triggersBounds:L0})})},{});var i=S2.properties=[].concat(K,H,w,Q,G,T,J,Z,f,M,b,q,L,v,x,Y,I,S,W,V,R),a=S2.propertyGroups={behavior:K,transition:H,visibility:w,overlay:Q,underlay:G,ghost:T,commonLabel:J,labelDimensions:Z,mainLabel:f,sourceLabel:M,targetLabel:b,nodeBody:q,nodeBorder:L,nodeOutline:v,backgroundImage:x,pie:Y,stripe:I,compound:S,edgeLine:W,edgeArrow:V,core:R},$=S2.propertyGroupNames={},m=S2.propertyGroupKeys=Object.keys(a);m.forEach(function(k0){$[k0]=a[k0].map(function(f0){return f0.name}),a[k0].forEach(function(f0){return f0.groupKey=k0})});var y=S2.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];S2.propertyNames=i.map(function(k0){return k0.name});for(var r=0;r<i.length;r++){var _=i[r];i[_.name]=_}for(var e=0;e<y.length;e++){var p=y[e],b0=i[p.pointsTo],B0={name:p.name,alias:!0,pointsTo:b0};i.push(B0),i[p.name]=B0}})();S2.getDefaultProperty=function(u){return this.getDefaultProperties()[u]};S2.getDefaultProperties=function(){var u=this._private;if(u.defaultProperties!=null)return u.defaultProperties;var B=k3({"selection-box-color":"#ddd","selection-box-opacity":0.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":0.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":0.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","box-selection":"contain","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","text-metrics":"font","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(z,k){for(var f=1;f<=S2.pieBackgroundN;f++){var M=k.name.replace("{{i}}",f),b=k.value;z[M]=b}return z},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(z,k){for(var f=1;f<=S2.stripeBackgroundN;f++){var M=k.name.replace("{{i}}",f),b=k.value;z[M]=b}return z},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":0.5,"segment-weights":0.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(z,k){return S2.arrowPrefixes.forEach(function(f){var M=f+"-"+k.name,b=k.value;z[M]=b}),z},{})),E={};for(var A=0;A<this.properties.length;A++){var C=this.properties[A];if(C.pointsTo)continue;var D=C.name,F=B[D],U=this.parse(D,F);E[D]=U}return u.defaultProperties=E,u.defaultProperties};S2.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":0.25}),this.defaultLength=this.length};Jm={};Jm.parse=function(u,B,E,A){var C=this;if(l9(B))return C.parseImplWarn(u,B,E,A);var D=A==="mapping"||A===!0||A===!1||A==null?"dontcare":A,F=E?"t":"f",U=""+B,z=ir0(u,U,F,D),k=C.propCache=C.propCache||[],f;if(!(f=k[z]))f=k[z]=C.parseImplWarn(u,B,E,A);if(E||A==="mapping"){if(f=dF(f),f)f.value=dF(f.value)}return f};Jm.parseImplWarn=function(u,B,E,A){var C=this.parseImpl(u,B,E,A);if(!C&&B!=null)D6("The style property `".concat(u,": ").concat(B,"` is invalid"));if(C&&(C.name==="width"||C.name==="height")&&B==="label")D6("The style value of `label` is deprecated for `"+C.name+"`");return C};Jm.parseImpl=function(u,B,E,A){var C=this;u=g50(u);var D=C.properties[u],F=B,U=C.types;if(!D)return null;if(B===void 0)return null;if(D.alias)D=D.pointsTo,u=D.name;var z=n4(B);if(z)B=B.trim();var k=D.type;if(!k)return null;if(E&&(B===""||B===null))return{name:u,value:B,bypass:!0,deleteBypass:!0};if(l9(B))return{name:u,value:B,strValue:"fn",mapped:U.fn,bypass:E};var f,M;if(!z||A||B.length<7||B[1]!=="a");else if(B.length>=7&&B[0]==="d"&&(f=new RegExp(U.data.regex).exec(B))){if(E)return!1;var b=U.data;return{name:u,value:f,strValue:""+B,mapped:b,field:f[1],bypass:E}}else if(B.length>=10&&B[0]==="m"&&(M=new RegExp(U.mapData.regex).exec(B))){if(E)return!1;if(k.multiple)return!1;var Z=U.mapData;if(!(k.color||k.number))return!1;var J=this.parse(u,M[4]);if(!J||J.mapped)return!1;var K=this.parse(u,M[5]);if(!K||K.mapped)return!1;if(J.pfValue===K.pfValue||J.strValue===K.strValue)return D6("`"+u+": "+B+"` is not a valid mapper because the output range is zero; converting to `"+u+": "+J.strValue+"`"),this.parse(u,J.strValue);else if(k.color){var w=J.value,Q=K.value,G=w[0]===Q[0]&&w[1]===Q[1]&&w[2]===Q[2]&&(w[3]===Q[3]||(w[3]==null||w[3]===1)&&(Q[3]==null||Q[3]===1));if(G)return!1}return{name:u,value:M,strValue:""+B,mapped:Z,field:M[1],fieldMin:parseFloat(M[2]),fieldMax:parseFloat(M[3]),valueMin:J.value,valueMax:K.value,bypass:E}}if(k.multiple&&A!=="multiple"){var H;if(z)H=B.split(/\s+/);else if(v6(B))H=B;else H=[B];if(k.evenMultiple&&H.length%2!==0)return null;var l=[],q=[],L=[],v="",x=!1;for(var S=0;S<H.length;S++){var W=C.parse(u,H[S],E,"multiple");x=x||n4(W.value),l.push(W.value),L.push(W.pfValue!=null?W.pfValue:W.value),q.push(W.units),v+=(S>0?" ":"")+W.strValue}if(k.validate&&!k.validate(l,q))return null;if(k.singleEnum&&x)if(l.length===1&&n4(l[0]))return{name:u,value:l[0],strValue:l[0],bypass:E};else return null;return{name:u,value:l,pfValue:L,strValue:v,bypass:E,units:q}}var T=function(){for(var B0=0;B0<k.enums.length;B0++){var k0=k.enums[B0];if(k0===B)return{name:u,value:B,strValue:""+B,bypass:E}}return null};if(k.number){var R,Y="px";if(k.units)R=k.units;if(k.implicitUnits)Y=k.implicitUnits;if(!k.unitless){if(z){var h="px|em"+(k.allowPercent?"|\\%":"");if(R)h=R;var I=B.match("^("+t2+")("+h+")?$");if(I)B=I[1],R=I[2]||Y}else if(!R||k.implicitUnits)R=Y}if(B=parseFloat(B),isNaN(B)&&k.enums===void 0)return null;if(isNaN(B)&&k.enums!==void 0)return B=F,T();if(k.integer&&!Wr0(B))return null;if(k.min!==void 0&&(B<k.min||k.strictMin&&B===k.min)||k.max!==void 0&&(B>k.max||k.strictMax&&B===k.max))return null;var O={name:u,value:B,strValue:""+B+(R?R:""),units:R,bypass:E};if(k.unitless||R!=="px"&&R!=="em")O.pfValue=B;else O.pfValue=R==="px"||!R?B:this.getEmSizeInPixels()*B;if(R==="ms"||R==="s")O.pfValue=R==="ms"?B:1000*B;if(R==="deg"||R==="rad")O.pfValue=R==="rad"?B:gK4(B);if(R==="%")O.pfValue=B/100;return O}else if(k.propList){var V=[],j=""+B;if(j==="none");else{var i=j.split(/\s*,\s*|\s+/);for(var a=0;a<i.length;a++){var $=i[a].trim();if(C.properties[$])V.push($);else D6("`"+$+"` is not a valid property name")}if(V.length===0)return null}return{name:u,value:V,strValue:V.length===0?"none":V.join(" "),bypass:E}}else if(k.color){var m=Or0(B);if(!m)return null;return{name:u,value:m,pfValue:m,strValue:"rgb("+m[0]+","+m[1]+","+m[2]+")",bypass:E}}else if(k.regex||k.regexes){if(k.enums){var y=T();if(y)return y}var r=k.regexes?k.regexes:[k.regex];for(var _=0;_<r.length;_++){var e=new RegExp(r[_]),p=e.exec(B);if(p)return{name:u,value:k.singleRegexMatchValue?p[1]:p,strValue:""+B,bypass:E}}return null}else if(k.string)return{name:u,value:""+B,strValue:""+B,bypass:E};else if(k.enums)return T();else return null};i7=O5.prototype;i7.instanceString=function(){return"style"};i7.clear=function(){var u=this._private,B=u.cy,E=B.elements();for(var A=0;A<this.length;A++)this[A]=void 0;return this.length=0,u.contextStyles={},u.propDiffs={},this.cleanElements(E,!0),E.forEach(function(C){var D=C[0]._private;D.styleDirty=!0,D.appliedInitStyle=!1}),this};i7.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this};i7.core=function(u){return this._private.coreStyle[u]||this.getDefaultProperty(u)};i7.selector=function(u){var B=u==="core"?null:new tM(u),E=this.length++;return this[E]={selector:B,properties:[],mappedProperties:[],index:E},this};i7.css=function(){var u=this,B=arguments;if(B.length===1){var E=B[0];for(var A=0;A<u.properties.length;A++){var C=u.properties[A],D=E[C.name];if(D===void 0)D=E[um(C.name)];if(D!==void 0)this.cssRule(C.name,D)}}else if(B.length===2)this.cssRule(B[0],B[1]);return this};i7.style=i7.css;i7.cssRule=function(u,B){var E=this.parse(u,B);if(E){var A=this.length-1;if(this[A].properties.push(E),this[A].properties[E.name]=E,E.name.match(/pie-(\d+)-background-size/)&&E.value)this._private.hasPie=!0;if(E.name.match(/stripe-(\d+)-background-size/)&&E.value)this._private.hasStripe=!0;if(E.mapped)this[A].mappedProperties.push(E);var C=!this[A].selector;if(C)this._private.coreStyle[E.name]=E}return this};i7.append=function(u){if(Yr0(u))u.appendToStyle(this);else if(v6(u))this.appendFromJson(u);else if(n4(u))this.appendFromString(u);return this};O5.fromJson=function(u,B){var E=new O5(u);return E.fromJson(B),E};O5.fromString=function(u,B){return new O5(u).fromString(B)};[I5,AY,D70,sF,Zm,F70,S2,Jm].forEach(function(u){k3(i7,u)});O5.types=i7.types;O5.properties=i7.properties;O5.propertyGroups=i7.propertyGroups;O5.propertyGroupNames=i7.propertyGroupNames;O5.propertyGroupKeys=i7.propertyGroupKeys;dG4={style:function(B){if(B){var E=this.setStyle(B);E.update()}return this._private.style},setStyle:function(B){var E=this._private;if(Yr0(B))E.style=B.generateStyle(this);else if(v6(B))E.style=O5.fromJson(this,B);else if(n4(B))E.style=O5.fromString(this,B);else E.style=O5(this);return E.style},updateStyle:function(){this.mutableElements().updateStyle()}},mK={autolock:function(B){if(B!==void 0)this._private.autolock=B?!0:!1;else return this._private.autolock;return this},autoungrabify:function(B){if(B!==void 0)this._private.autoungrabify=B?!0:!1;else return this._private.autoungrabify;return this},autounselectify:function(B){if(B!==void 0)this._private.autounselectify=B?!0:!1;else return this._private.autounselectify;return this},selectionType:function(B){var E=this._private;if(E.selectionType==null)E.selectionType=sG4;if(B!==void 0){if(B==="additive"||B==="single")E.selectionType=B}else return E.selectionType;return this},panningEnabled:function(B){if(B!==void 0)this._private.panningEnabled=B?!0:!1;else return this._private.panningEnabled;return this},userPanningEnabled:function(B){if(B!==void 0)this._private.userPanningEnabled=B?!0:!1;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(B){if(B!==void 0)this._private.zoomingEnabled=B?!0:!1;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(B){if(B!==void 0)this._private.userZoomingEnabled=B?!0:!1;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(B){if(B!==void 0)this._private.boxSelectionEnabled=B?!0:!1;else return this._private.boxSelectionEnabled;return this},pan:function(){var B=arguments,E=this._private.pan,A,C,D,F,U;switch(B.length){case 0:return E;case 1:if(n4(B[0]))return A=B[0],E[A];else if(Y1(B[0])){if(!this._private.panningEnabled)return this;if(D=B[0],F=D.x,U=D.y,K4(F))E.x=F;if(K4(U))E.y=U;this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;if(A=B[0],C=B[1],(A==="x"||A==="y")&&K4(C))E[A]=C;this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(B,E){var A=arguments,C=this._private.pan,D,F,U,z,k;if(!this._private.panningEnabled)return this;switch(A.length){case 1:if(Y1(B)){if(U=A[0],z=U.x,k=U.y,K4(z))C.x+=z;if(K4(k))C.y+=k;this.emit("pan viewport")}break;case 2:if(D=B,F=E,(D==="x"||D==="y")&&K4(F))C[D]+=F;this.emit("pan viewport");break}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(B,E){var A=this.getFitViewport(B,E);if(A){var C=this._private;C.zoom=A.zoom,C.pan=A.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(B,E){if(K4(B)&&E===void 0)E=B,B=void 0;if(!this._private.panningEnabled||!this._private.zoomingEnabled)return;var A;if(n4(B)){var C=B;B=this.$(C)}else if(VJ4(B)){var D=B;A={x1:D.x1,y1:D.y1,x2:D.x2,y2:D.y2},A.w=A.x2-A.x1,A.h=A.y2-A.y1}else if(!GE(B))B=this.mutableElements();if(GE(B)&&B.empty())return;A=A||B.boundingBox();var F=this.width(),U=this.height(),z;if(E=K4(E)?E:0,!isNaN(F)&&!isNaN(U)&&F>0&&U>0&&!isNaN(A.w)&&!isNaN(A.h)&&A.w>0&&A.h>0){z=Math.min((F-2*E)/A.w,(U-2*E)/A.h),z=z>this._private.maxZoom?this._private.maxZoom:z,z=z<this._private.minZoom?this._private.minZoom:z;var k={x:(F-z*(A.x1+A.x2))/2,y:(U-z*(A.y1+A.y2))/2};return{zoom:z,pan:k}}return},zoomRange:function(B,E){var A=this._private;if(E==null){var C=B;B=C.min,E=C.max}if(K4(B)&&K4(E)&&B<=E)A.minZoom=B,A.maxZoom=E;else if(K4(B)&&E===void 0&&B<=A.maxZoom)A.minZoom=B;else if(K4(E)&&B===void 0&&E>=A.minZoom)A.maxZoom=E;return this},minZoom:function(B){if(B===void 0)return this._private.minZoom;else return this.zoomRange({min:B})},maxZoom:function(B){if(B===void 0)return this._private.maxZoom;else return this.zoomRange({max:B})},getZoomedViewport:function(B){var E=this._private,A=E.pan,C=E.zoom,D,F,U=!1;if(!E.zoomingEnabled)U=!0;if(K4(B))F=B;else if(Y1(B)){if(F=B.level,B.position!=null)D=Am(B.position,C,A);else if(B.renderedPosition!=null)D=B.renderedPosition;if(D!=null&&!E.panningEnabled)U=!0}if(F=F>E.maxZoom?E.maxZoom:F,F=F<E.minZoom?E.minZoom:F,U||!K4(F)||F===C||D!=null&&(!K4(D.x)||!K4(D.y)))return null;if(D!=null){var z=A,k=C,f=F,M={x:-f/k*(D.x-z.x)+D.x,y:-f/k*(D.y-z.y)+D.y};return{zoomed:!0,panned:!0,zoom:f,pan:M}}else return{zoomed:!0,panned:!1,zoom:F,pan:A}},zoom:function(B){if(B===void 0)return this._private.zoom;else{var E=this.getZoomedViewport(B),A=this._private;if(E==null||!E.zoomed)return this;if(A.zoom=E.zoom,E.panned)A.pan.x=E.pan.x,A.pan.y=E.pan.y;return this.emit("zoom"+(E.panned?" pan":"")+" viewport"),this.notify("viewport"),this}},viewport:function(B){var E=this._private,A=!0,C=!0,D=[],F=!1,U=!1;if(!B)return this;if(!K4(B.zoom))A=!1;if(!Y1(B.pan))C=!1;if(!A&&!C)return this;if(A){var z=B.zoom;if(z<E.minZoom||z>E.maxZoom||!E.zoomingEnabled)F=!0;else E.zoom=z,D.push("zoom")}if(C&&(!F||!B.cancelOnFailedZoom)&&E.panningEnabled){var k=B.pan;if(K4(k.x))E.pan.x=k.x,U=!1;if(K4(k.y))E.pan.y=k.y,U=!1;if(!U)D.push("pan")}if(D.length>0)D.push("viewport"),this.emit(D.join(" ")),this.notify("viewport");return this},center:function(B){var E=this.getCenterPan(B);if(E)this._private.pan=E,this.emit("pan viewport"),this.notify("viewport");return this},getCenterPan:function(B,E){if(!this._private.panningEnabled)return;if(n4(B)){var A=B;B=this.mutableElements().filter(A)}else if(!GE(B))B=this.mutableElements();if(B.length===0)return;var C=B.boundingBox(),D=this.width(),F=this.height();E=E===void 0?this._private.zoom:E;var U={x:(D-E*(C.x1+C.x2))/2,y:(F-E*(C.y1+C.y2))/2};return U},reset:function(){if(!this._private.panningEnabled||!this._private.zoomingEnabled)return this;return this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var B=this._private,E=B.container,A=this;return B.sizeCache=B.sizeCache||(E?function(){var C=A.window().getComputedStyle(E),D=function(U){return parseFloat(C.getPropertyValue(U))};return{width:E.clientWidth-D("padding-left")-D("padding-right"),height:E.clientHeight-D("padding-top")-D("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var B=this._private.pan,E=this._private.zoom,A=this.renderedExtent(),C={x1:(A.x1-B.x)/E,x2:(A.x2-B.x)/E,y1:(A.y1-B.y)/E,y2:(A.y2-B.y)/E};return C.w=C.x2-C.x1,C.h=C.y2-C.y1,C},renderedExtent:function(){var B=this.width(),E=this.height();return{x1:0,y1:0,x2:B,y2:E,w:B,h:E}},multiClickDebounceTime:function(B){if(B)this._private.multiClickDebounceTime=B;else return this._private.multiClickDebounceTime;return this}};mK.centre=mK.center;mK.autolockNodes=mK.autolock;mK.autoungrabifyNodes=mK.autoungrabify;_S={data:C6.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:C6.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:C6.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:C6.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};_S.attr=_S.data;_S.removeAttr=_S.removeData;na=pS.prototype;k3(na,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(B){if(this.isReady())this.emitter().emit("ready",[],B);else this.on("ready",B);return this},destroy:function(){var B=this;if(B.destroyed())return;return B.stopAnimationLoop(),B.destroyRenderer(),this.emit("destroy"),B._private.destroyed=!0,B},hasElementWithId:function(B){return this._private.elements.hasElementWithId(B)},getElementById:function(B){return this._private.elements.getElementById(B)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(B){return this._private.elements.merge(B),this},removeFromPool:function(B){return this._private.elements.unmerge(B),this},container:function(){return this._private.container||null},window:function(){var B=this._private.container;if(B==null)return o2;var E=this._private.container.ownerDocument;if(E===void 0||E==null)return o2;return E.defaultView||o2},mount:function(B){if(B==null)return;var E=this,A=E._private,C=A.options;if(!$a(B)&&$a(B[0]))B=B[0];return E.stopAnimationLoop(),E.destroyRenderer(),A.container=B,A.styleEnabled=!0,E.invalidateSize(),E.initRenderer(k3({},C,C.renderer,{name:C.renderer.name==="null"?"canvas":C.renderer.name})),E.startAnimationLoop(),E.style(C.style),E.emit("mount"),E},unmount:function(){var B=this;return B.stopAnimationLoop(),B.destroyRenderer(),B.initRenderer({name:"null"}),B.emit("unmount"),B},options:function(){return dF(this._private.options)},json:function(B){var E=this,A=E._private,C=E.mutableElements(),D=function(l){return E.getElementById(l.id())};if(Y1(B)){if(E.startBatch(),B.elements){var F={},U=function(l,q){var L=[],v=[];for(var x=0;x<l.length;x++){var S=l[x];if(!S.data.id){D6("cy.json() cannot handle elements without an ID attribute");continue}var W=""+S.data.id,T=E.getElementById(W);if(F[W]=!0,T.length!==0)v.push({ele:T,json:S});else if(q)S.group=q,L.push(S);else L.push(S)}E.add(L);for(var R=0;R<v.length;R++){var Y=v[R],h=Y.ele,I=Y.json;h.json(I)}};if(v6(B.elements))U(B.elements);else{var z=["nodes","edges"];for(var k=0;k<z.length;k++){var f=z[k],M=B.elements[f];if(v6(M))U(M,f)}}var b=E.collection();C.filter(function(H){return!F[H.id()]}).forEach(function(H){if(H.isParent())b.merge(H);else H.remove()}),b.forEach(function(H){return H.children().move({parent:null})}),b.forEach(function(H){return D(H).remove()})}if(B.style)E.style(B.style);if(B.zoom!=null&&B.zoom!==A.zoom)E.zoom(B.zoom);if(B.pan){if(B.pan.x!==A.pan.x||B.pan.y!==A.pan.y)E.pan(B.pan)}if(B.data)E.data(B.data);var Z=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"];for(var J=0;J<Z.length;J++){var K=Z[J];if(B[K]!=null)E[K](B[K])}return E.endBatch(),this}else{var w=!!B,Q={};if(w)Q.elements=this.elements().map(function(H){return H.json()});else Q.elements={},C.forEach(function(H){var l=H.group();if(!Q.elements[l])Q.elements[l]=[];Q.elements[l].push(H.json())});if(this._private.styleEnabled)Q.style=E.style().json();Q.data=dF(E.data());var G=A.options;return Q.zoomingEnabled=A.zoomingEnabled,Q.userZoomingEnabled=A.userZoomingEnabled,Q.zoom=A.zoom,Q.minZoom=A.minZoom,Q.maxZoom=A.maxZoom,Q.panningEnabled=A.panningEnabled,Q.userPanningEnabled=A.userPanningEnabled,Q.pan=dF(A.pan),Q.boxSelectionEnabled=A.boxSelectionEnabled,Q.renderer=dF(G.renderer),Q.hideEdgesOnViewport=G.hideEdgesOnViewport,Q.textureOnViewport=G.textureOnViewport,Q.wheelSensitivity=G.wheelSensitivity,Q.motionBlur=G.motionBlur,Q.multiClickDebounceTime=G.multiClickDebounceTime,Q}}});na.$id=na.getElementById;[aG4,gG4,Rg0,O50,Na,_G4,I50,Va,dG4,mK,_S].forEach(function(u){k3(na,u)});oG4={fit:!0,directed:!1,direction:"downward",padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(B,E){return!0},ready:void 0,stop:void 0,transform:function(B,E){return E}},tG4={maximal:!1,acyclic:!1};Tg0.prototype.run=function(){var u=this.options,B=u.cy,E=u.eles,A=E.nodes().filter(function(x0){return x0.isChildless()}),C=E,D=u.directed,F=u.acyclic||u.maximal||u.maximalAdjustments>0,U=!!u.boundingBox,z=xB(U?u.boundingBox:structuredClone(B.extent())),k;if(GE(u.roots))k=u.roots;else if(v6(u.roots)){var f=[];for(var M=0;M<u.roots.length;M++){var b=u.roots[M],Z=B.getElementById(b);f.push(Z)}k=B.collection(f)}else if(n4(u.roots))k=B.$(u.roots);else if(D)k=A.roots();else{var J=E.components();k=B.collection();var K=function(){var T0=J[w],J0=T0.maxDegree(!1),F0=T0.filter(function(u0){return u0.degree(!1)===J0});k=k.add(F0)};for(var w=0;w<J.length;w++)K()}var Q=[],G={},H=function(T0,J0){if(Q[J0]==null)Q[J0]=[];var F0=Q[J0].length;Q[J0].push(T0),dy0(T0,{index:F0,depth:J0})},l=function(T0,J0){var F0=jq(T0),u0=F0.depth,Z0=F0.index;if(Q[u0][Z0]=null,T0.isChildless())H(T0,J0)};C.bfs({roots:k,directed:u.directed,visit:function(T0,J0,F0,u0,Z0){var X0=T0[0],W0=X0.id();if(X0.isChildless())H(X0,Z0);G[W0]=!0}});var q=[];for(var L=0;L<A.length;L++){var v=A[L];if(G[v.id()])continue;else q.push(v)}var x=function(T0){var J0=Q[T0];for(var F0=0;F0<J0.length;F0++){var u0=J0[F0];if(u0==null){J0.splice(F0,1),F0--;continue}dy0(u0,{depth:T0,index:F0})}},S=function(T0,J0){var F0=jq(T0),u0=T0.incomers().filter(function(n){return n.isNode()&&E.has(n)}),Z0=-1,X0=T0.id();for(var W0=0;W0<u0.length;W0++){var Y0=u0[W0],a0=jq(Y0);Z0=Math.max(Z0,a0.depth)}if(F0.depth<=Z0){if(!u.acyclic&&J0[X0])return null;var K0=Z0+1;return l(T0,K0),J0[X0]=K0,!0}return!1};if(D&&F){var W=[],T={},R=function(T0){return W.push(T0)},Y=function(){return W.shift()};A.forEach(function(x0){return W.push(x0)});while(W.length>0){var h=Y(),I=S(h,T);if(I)h.outgoers().filter(function(x0){return x0.isNode()&&E.has(x0)}).forEach(R);else if(I===null){D6("Detected double maximal shift for node `"+h.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var O=0;if(u.avoidOverlap)for(var V=0;V<A.length;V++){var j=A[V],i=j.layoutDimensions(u),a=i.w,$=i.h;O=Math.max(O,a,$)}var m={},y=function(T0){if(m[T0.id()])return m[T0.id()];var J0=jq(T0).depth,F0=T0.neighborhood(),u0=0,Z0=0;for(var X0=0;X0<F0.length;X0++){var W0=F0[X0];if(W0.isEdge()||W0.isParent()||!A.has(W0))continue;var Y0=jq(W0);if(Y0==null)continue;var{index:a0,depth:K0}=Y0;if(a0==null||K0==null)continue;var n=Q[K0].length;if(K0<J0)u0+=a0/n,Z0++}if(Z0=Math.max(1,Z0),u0=u0/Z0,Z0===0)u0=0;return m[T0.id()]=u0,u0},r=function(T0,J0){var F0=y(T0),u0=y(J0),Z0=F0-u0;if(Z0===0)return Tr0(T0.id(),J0.id());else return Z0};if(u.depthSort!==void 0)r=u.depthSort;var _=Q.length;for(var e=0;e<_;e++)Q[e].sort(r),x(e);var p=[];for(var b0=0;b0<q.length;b0++)p.push(q[b0]);var B0=function(){for(var T0=0;T0<_;T0++)x(T0)};if(p.length)Q.unshift(p),_=Q.length,B0();var k0=0;for(var f0=0;f0<_;f0++)k0=Math.max(Q[f0].length,k0);var D0={x:z.x1+z.w/2,y:z.y1+z.h/2},P0=A.reduce(function(x0,T0){return function(J0){return{w:x0.w===-1?J0.w:(x0.w+J0.w)/2,h:x0.h===-1?J0.h:(x0.h+J0.h)/2}}(T0.boundingBox({includeLabels:u.nodeDimensionsIncludeLabels}))},{w:-1,h:-1}),L0=Math.max(_===1?0:U?(z.h-u.padding*2-P0.h)/(_-1):(z.h-u.padding*2-P0.h)/(_+1),O),m0=Q.reduce(function(x0,T0){return Math.max(x0,T0.length)},0),h0=function(T0){var J0=jq(T0),F0=J0.depth,u0=J0.index;if(u.circle){var Z0=Math.min(z.w/2/_,z.h/2/_);Z0=Math.max(Z0,O);var X0=Z0*F0+Z0-(_>0&&Q[0].length<=3?Z0/2:0),W0=2*Math.PI/Q[F0].length*u0;if(F0===0&&Q[0].length===1)X0=1;return{x:D0.x+X0*Math.cos(W0),y:D0.y+X0*Math.sin(W0)}}else{var Y0=Q[F0].length,a0=Math.max(Y0===1?0:U?(z.w-u.padding*2-P0.w)/((u.grid?m0:Y0)-1):(z.w-u.padding*2-P0.w)/((u.grid?m0:Y0)+1),O),K0={x:D0.x+(u0+1-(Y0+1)/2)*a0,y:D0.y+(F0+1-(_+1)/2)*L0};return K0}},_0={downward:0,leftward:90,upward:180,rightward:-90};if(Object.keys(_0).indexOf(u.direction)===-1)z9("Invalid direction '".concat(u.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(_0).join(", ")));var w0=function(T0){return bK4(h0(T0),z,_0[u.direction])};return E.nodes().layoutPositions(this,u,w0),this};eG4={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(B,E){return!0},ready:void 0,stop:void 0,transform:function(B,E){return E}};Og0.prototype.run=function(){var u=this.options,B=u,E=u.cy,A=B.eles,C=B.counterclockwise!==void 0?!B.counterclockwise:B.clockwise,D=A.nodes().not(":parent");if(B.sort)D=D.sort(B.sort);var F=xB(B.boundingBox?B.boundingBox:{x1:0,y1:0,w:E.width(),h:E.height()}),U={x:F.x1+F.w/2,y:F.y1+F.h/2},z=B.sweep===void 0?2*Math.PI-2*Math.PI/D.length:B.sweep,k=z/Math.max(1,D.length-1),f,M=0;for(var b=0;b<D.length;b++){var Z=D[b],J=Z.layoutDimensions(B),K=J.w,w=J.h;M=Math.max(M,K,w)}if(K4(B.radius))f=B.radius;else if(D.length<=1)f=0;else f=Math.min(F.h,F.w)/2-M;if(D.length>1&&B.avoidOverlap){M*=1.75;var Q=Math.cos(k)-Math.cos(0),G=Math.sin(k)-Math.sin(0),H=Math.sqrt(M*M/(Q*Q+G*G));f=Math.max(H,f)}var l=function(L,v){var x=B.startAngle+v*k*(C?1:-1),S=f*Math.cos(x),W=f*Math.sin(x),T={x:U.x+S,y:U.y+W};return T};return A.nodes().layoutPositions(this,B,l),this};uH4={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(B){return B.degree()},levelWidth:function(B){return B.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(B,E){return!0},ready:void 0,stop:void 0,transform:function(B,E){return E}};Ig0.prototype.run=function(){var u=this.options,B=u,E=B.counterclockwise!==void 0?!B.counterclockwise:B.clockwise,A=u.cy,C=B.eles,D=C.nodes().not(":parent"),F=xB(B.boundingBox?B.boundingBox:{x1:0,y1:0,w:A.width(),h:A.height()}),U={x:F.x1+F.w/2,y:F.y1+F.h/2},z=[],k=0;for(var f=0;f<D.length;f++){var M=D[f],b=void 0;b=B.concentric(M),z.push({value:b,node:M}),M._private.scratch.concentric=b}D.updateStyle();for(var Z=0;Z<D.length;Z++){var J=D[Z],K=J.layoutDimensions(B);k=Math.max(k,K.w,K.h)}z.sort(function(L0,m0){return m0.value-L0.value});var w=B.levelWidth(D),Q=[[]],G=Q[0];for(var H=0;H<z.length;H++){var l=z[H];if(G.length>0){var q=Math.abs(G[0].value-l.value);if(q>=w)G=[],Q.push(G)}G.push(l)}var L=k+B.minNodeSpacing;if(!B.avoidOverlap){var v=Q.length>0&&Q[0].length>1,x=Math.min(F.w,F.h)/2-L,S=x/(Q.length+v?1:0);L=Math.min(L,S)}var W=0;for(var T=0;T<Q.length;T++){var R=Q[T],Y=B.sweep===void 0?2*Math.PI-2*Math.PI/R.length:B.sweep,h=R.dTheta=Y/Math.max(1,R.length-1);if(R.length>1&&B.avoidOverlap){var I=Math.cos(h)-Math.cos(0),O=Math.sin(h)-Math.sin(0),V=Math.sqrt(L*L/(I*I+O*O));W=Math.max(V,W)}R.r=W,W+=L}if(B.equidistant){var j=0,i=0;for(var a=0;a<Q.length;a++){var $=Q[a],m=$.r-i;j=Math.max(j,m)}i=0;for(var y=0;y<Q.length;y++){var r=Q[y];if(y===0)i=r.r;r.r=i,i+=j}}var _={};for(var e=0;e<Q.length;e++){var p=Q[e],b0=p.dTheta,B0=p.r;for(var k0=0;k0<p.length;k0++){var f0=p[k0],D0=B.startAngle+(E?1:-1)*b0*k0,P0={x:U.x+B0*Math.cos(D0),y:U.y+B0*Math.sin(D0)};_[f0.node.id()]=P0}}return C.nodes().layoutPositions(this,B,function(L0){var m0=L0.id();return _[m0]}),this};BH4={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(B,E){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(B){return 2048},nodeOverlap:4,idealEdgeLength:function(B){return 32},edgeElasticity:function(B){return 32},nestingFactor:1.2,gravity:1,numIter:1000,initialTemp:1000,coolingFactor:0.99,minTemp:1};Km.prototype.run=function(){var u=this.options,B=u.cy,E=this;if(E.stopped=!1,u.animate===!0||u.animate===!1)E.emit({type:"layoutstart",layout:E});if(u.debug===!0)Z50=!0;else Z50=!1;var A=EH4(B,E,u);if(Z50)CH4(A);if(u.randomize)DH4(A);var C=Ak(),D=function(){if(FH4(A,B,u),u.fit===!0)B.fit(u.padding)},F=function(b){if(E.stopped||b>=u.numIter)return!1;if(UH4(A,u),A.temperature=A.temperature*u.coolingFactor,A.temperature<u.minTemp)return!1;return!0},U=function(){if(u.animate===!0||u.animate===!1)D(),E.one("layoutstop",u.stop),E.emit({type:"layoutstop",layout:E});else{var b=u.eles.nodes(),Z=jg0(A,u,b);b.layoutPositions(E,u,Z)}},z=0,k=!0;if(u.animate===!0){var f=function(){var b=0;while(k&&b<u.refresh)k=F(z),z++,b++;if(!k)oy0(A,u),U();else{var Z=Ak();if(Z-C>=u.animationThreshold)D();ya(f)}};f()}else{while(k)k=F(z),z++;oy0(A,u),U()}return this};Km.prototype.stop=function(){if(this.stopped=!0,this.thread)this.thread.stop();return this.emit("layoutstop"),this};Km.prototype.destroy=function(){if(this.thread)this.thread.stop();return this};wH4={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(B){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(B,E){return!0},ready:void 0,stop:void 0,transform:function(B,E){return E}};Vg0.prototype.run=function(){var u=this.options,B=u,E=u.cy,A=B.eles,C=A.nodes().not(":parent");if(B.sort)C=C.sort(B.sort);var D=xB(B.boundingBox?B.boundingBox:{x1:0,y1:0,w:E.width(),h:E.height()});if(D.h===0||D.w===0)A.nodes().layoutPositions(this,B,function(y){return{x:D.x1,y:D.y1}});else{var F=C.size(),U=Math.sqrt(F*D.h/D.w),z=Math.round(U),k=Math.round(D.w/D.h*U),f=function(r){if(r==null)return Math.min(z,k);else{var _=Math.min(z,k);if(_==z)z=r;else k=r}},M=function(r){if(r==null)return Math.max(z,k);else{var _=Math.max(z,k);if(_==z)z=r;else k=r}},b=B.rows,Z=B.cols!=null?B.cols:B.columns;if(b!=null&&Z!=null)z=b,k=Z;else if(b!=null&&Z==null)z=b,k=Math.ceil(F/z);else if(b==null&&Z!=null)k=Z,z=Math.ceil(F/k);else if(k*z>F){var J=f(),K=M();if((J-1)*K>=F)f(J-1);else if((K-1)*J>=F)M(K-1)}else while(k*z<F){var w=f(),Q=M();if((Q+1)*w>=F)M(Q+1);else f(w+1)}var G=D.w/k,H=D.h/z;if(B.condense)G=0,H=0;if(B.avoidOverlap)for(var l=0;l<C.length;l++){var q=C[l],L=q._private.position;if(L.x==null||L.y==null)L.x=0,L.y=0;var v=q.layoutDimensions(B),x=B.avoidOverlapPadding,S=v.w+x,W=v.h+x;G=Math.max(G,S),H=Math.max(H,W)}var T={},R=function(r,_){return T["c-"+r+"-"+_]?!0:!1},Y=function(r,_){T["c-"+r+"-"+_]=!0},h=0,I=0,O=function(){if(I++,I>=k)I=0,h++},V={};for(var j=0;j<C.length;j++){var i=C[j],a=B.position(i);if(a&&(a.row!==void 0||a.col!==void 0)){var $={row:a.row,col:a.col};if($.col===void 0){$.col=0;while(R($.row,$.col))$.col++}else if($.row===void 0){$.row=0;while(R($.row,$.col))$.row++}V[i.id()]=$,Y($.row,$.col)}}var m=function(r,_){var e,p;if(r.locked()||r.isParent())return!1;var b0=V[r.id()];if(b0)e=b0.col*G+G/2+D.x1,p=b0.row*H+H/2+D.y1;else{while(R(h,I))O();e=I*G+G/2+D.x1,p=h*H+H/2+D.y1,Y(h,I),O()}return{x:e,y:p}};C.layoutPositions(this,B,m)}return this};QH4={ready:function(){},stop:function(){}};U70.prototype.run=function(){var u=this.options,B=u.eles,E=this;return u.cy,E.emit("layoutstart"),B.nodes().positions(function(){return{x:0,y:0}}),E.one("layoutready",u.ready),E.emit("layoutready"),E.one("layoutstop",u.stop),E.emit("layoutstop"),this};U70.prototype.stop=function(){return this};GH4={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(B,E){return!0},ready:void 0,stop:void 0,transform:function(B,E){return E}};hg0.prototype.run=function(){var u=this.options,B=u.eles,E=B.nodes(),A=l9(u.positions);function C(D){if(u.positions==null)return iK4(D.position());if(A)return u.positions(D);var F=u.positions[D._private.data.id];if(F==null)return null;return F}return E.layoutPositions(this,u,function(D,F){var U=C(D);if(D.locked()||U==null)return!1;return U}),this};HH4={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(B,E){return!0},ready:void 0,stop:void 0,transform:function(B,E){return E}};ig0.prototype.run=function(){var u=this.options,B=u.cy,E=u.eles,A=xB(u.boundingBox?u.boundingBox:{x1:0,y1:0,w:B.width(),h:B.height()}),C=function(F,U){return{x:A.x1+Math.round(Math.random()*A.w),y:A.y1+Math.round(Math.random()*A.h)}};return E.nodes().layoutPositions(this,u,C),this};qH4=[{name:"breadthfirst",impl:Tg0},{name:"circle",impl:Og0},{name:"concentric",impl:Ig0},{name:"cose",impl:Km},{name:"grid",impl:Vg0},{name:"null",impl:U70},{name:"preset",impl:hg0},{name:"random",impl:ig0}];ag0.prototype={recalculateRenderedStyle:ty0,notify:function(){this.notifications++},init:ty0,isHeadless:function(){return!0},png:ey0,jpg:ey0};z70={};z70.arrowShapeWidth=0.3;z70.registerArrowShapes=function(){var u=this.arrowShapes={},B=this,E=function(k,f,M,b,Z,J,K){var w=Z.x-M/2-K,Q=Z.x+M/2+K,G=Z.y-M/2-K,H=Z.y+M/2+K,l=w<=k&&k<=Q&&G<=f&&f<=H;return l},A=function(k,f,M,b,Z){var J=k*Math.cos(b)-f*Math.sin(b),K=k*Math.sin(b)+f*Math.cos(b),w=J*M,Q=K*M,G=w+Z.x,H=Q+Z.y;return{x:G,y:H}},C=function(k,f,M,b){var Z=[];for(var J=0;J<k.length;J+=2){var K=k[J],w=k[J+1];Z.push(A(K,w,f,M,b))}return Z},D=function(k){var f=[];for(var M=0;M<k.length;M++){var b=k[M];f.push(b.x,b.y)}return f},F=function(k){return k.pstyle("width").pfValue*k.pstyle("arrow-scale").pfValue*2},U=function(k,f){if(n4(f))f=u[f];u[k]=k3({name:k,points:[-0.15,-0.3,0.15,-0.3,0.15,0.3,-0.15,0.3],collide:function(b,Z,J,K,w,Q){var G=D(C(this.points,J+2*Q,K,w)),H=q8(b,Z,G);return H},roughCollide:E,draw:function(b,Z,J,K){var w=C(this.points,Z,J,K);B.arrowShapeImpl("polygon")(b,w)},spacing:function(b){return 0},gap:F},f)};U("none",{collide:ra,roughCollide:ra,draw:p50,spacing:Z$0,gap:Z$0}),U("triangle",{points:[-0.15,-0.3,0,0,0.15,-0.3]}),U("arrow","triangle"),U("triangle-backcurve",{points:u.triangle.points,controlPoint:[0,-0.15],roughCollide:E,draw:function(k,f,M,b,Z){var J=C(this.points,f,M,b),K=this.controlPoint,w=A(K[0],K[1],f,M,b);B.arrowShapeImpl(this.name)(k,J,w)},gap:function(k){return F(k)*0.8}}),U("triangle-tee",{points:[0,0,0.15,-0.3,-0.15,-0.3,0,0],pointsTee:[-0.15,-0.4,-0.15,-0.5,0.15,-0.5,0.15,-0.4],collide:function(k,f,M,b,Z,J,K){var w=D(C(this.points,M+2*K,b,Z)),Q=D(C(this.pointsTee,M+2*K,b,Z)),G=q8(k,f,w)||q8(k,f,Q);return G},draw:function(k,f,M,b,Z){var J=C(this.points,f,M,b),K=C(this.pointsTee,f,M,b);B.arrowShapeImpl(this.name)(k,J,K)}}),U("circle-triangle",{radius:0.15,pointsTr:[0,-0.15,0.15,-0.45,-0.15,-0.45,0,-0.15],collide:function(k,f,M,b,Z,J,K){var w=Z,Q=Math.pow(w.x-k,2)+Math.pow(w.y-f,2)<=Math.pow((M+2*K)*this.radius,2),G=D(C(this.points,M+2*K,b,Z));return q8(k,f,G)||Q},draw:function(k,f,M,b,Z){var J=C(this.pointsTr,f,M,b);B.arrowShapeImpl(this.name)(k,J,b.x,b.y,this.radius*f)},spacing:function(k){return B.getArrowWidth(k.pstyle("width").pfValue,k.pstyle("arrow-scale").value)*this.radius}}),U("triangle-cross",{points:[0,0,0.15,-0.3,-0.15,-0.3,0,0],baseCrossLinePts:[-0.15,-0.4,-0.15,-0.4,0.15,-0.4,0.15,-0.4],crossLinePts:function(k,f){var M=this.baseCrossLinePts.slice(),b=f/k,Z=3,J=5;return M[Z]=M[Z]-b,M[J]=M[J]-b,M},collide:function(k,f,M,b,Z,J,K){var w=D(C(this.points,M+2*K,b,Z)),Q=D(C(this.crossLinePts(M,J),M+2*K,b,Z)),G=q8(k,f,w)||q8(k,f,Q);return G},draw:function(k,f,M,b,Z){var J=C(this.points,f,M,b),K=C(this.crossLinePts(f,Z),f,M,b);B.arrowShapeImpl(this.name)(k,J,K)}}),U("vee",{points:[-0.15,-0.3,0,0,0.15,-0.3,0,-0.15],gap:function(k){return F(k)*0.525}}),U("circle",{radius:0.15,collide:function(k,f,M,b,Z,J,K){var w=Z,Q=Math.pow(w.x-k,2)+Math.pow(w.y-f,2)<=Math.pow((M+2*K)*this.radius,2);return Q},draw:function(k,f,M,b,Z){B.arrowShapeImpl(this.name)(k,b.x,b.y,this.radius*f)},spacing:function(k){return B.getArrowWidth(k.pstyle("width").pfValue,k.pstyle("arrow-scale").value)*this.radius}}),U("tee",{points:[-0.15,0,-0.15,-0.1,0.15,-0.1,0.15,0],spacing:function(k){return 1},gap:function(k){return 1}}),U("square",{points:[-0.15,0,0.15,0,0.15,-0.3,-0.15,-0.3]}),U("diamond",{points:[-0.15,-0.15,0,-0.3,0.15,-0.15,0,0],gap:function(k){return k.pstyle("width").pfValue*k.pstyle("arrow-scale").value}}),U("chevron",{points:[0,0,-0.15,-0.15,-0.1,-0.2,0,-0.1,0.1,-0.2,0.15,-0.15],gap:function(k){return 0.95*k.pstyle("width").pfValue*k.pstyle("arrow-scale").value}})};yK={};yK.projectIntoViewport=function(u,B){var E=this.cy,A=this.findContainerClientCoords(),C=A[0],D=A[1],F=A[4],U=E.pan(),z=E.zoom(),k=((u-C)/F-U.x)/z,f=((B-D)/F-U.y)/z;return[k,f]};yK.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var u=this.container,B=u.getBoundingClientRect(),E=this.cy.window().getComputedStyle(u),A=function(Q){return parseFloat(E.getPropertyValue(Q))},C={left:A("padding-left"),right:A("padding-right"),top:A("padding-top"),bottom:A("padding-bottom")},D={left:A("border-left-width"),right:A("border-right-width"),top:A("border-top-width"),bottom:A("border-bottom-width")},F=u.clientWidth,U=u.clientHeight,z=C.left+C.right,k=C.top+C.bottom,f=D.left+D.right,M=B.width/(F+f),b=F-z,Z=U-k,J=B.left+C.left+D.left,K=B.top+C.top+D.top;return this.containerBB=[J,K,b,Z,M]};yK.invalidateContainerClientCoordsCache=function(){this.containerBB=null};yK.findNearestElement=function(u,B,E,A){return this.findNearestElements(u,B,E,A)[0]};yK.findNearestElements=function(u,B,E,A){var C=this,D=this,F=D.getCachedZSortedEles(),U=[],z=D.cy.zoom(),k=D.cy.hasCompoundNodes(),f=(A?24:8)/z,M=(A?8:2)/z,b=(A?8:2)/z,Z=1/0,J,K;if(E)F=F.interactive;function w(v,x){if(v.isNode())if(K)return;else K=v,U.push(v);if(v.isEdge()&&(x==null||x<Z))if(J){if(J.pstyle("z-compound-depth").value===v.pstyle("z-compound-depth").value&&J.pstyle("z-compound-depth").value===v.pstyle("z-compound-depth").value){for(var S=0;S<U.length;S++)if(U[S].isEdge()){U[S]=v,J=v,Z=x!=null?x:Z;break}}}else U.push(v),J=v,Z=x!=null?x:Z}function Q(v){var x=v.outerWidth()+2*M,S=v.outerHeight()+2*M,W=x/2,T=S/2,R=v.position(),Y=v.pstyle("corner-radius").value==="auto"?"auto":v.pstyle("corner-radius").pfValue,h=v._private.rscratch;if(R.x-W<=u&&u<=R.x+W&&R.y-T<=B&&B<=R.y+T){var I=D.nodeShapes[C.getNodeShape(v)];if(I.checkPoint(u,B,0,x,S,R.x,R.y,Y,h))return w(v,0),!0}}function G(v){var x=v._private,S=x.rscratch,W=v.pstyle("width").pfValue,T=v.pstyle("arrow-scale").value,R=W/2+f,Y=R*R,h=R*2,j=x.source,i=x.target,I;if(S.edgeType==="segments"||S.edgeType==="straight"||S.edgeType==="haystack"){var O=S.allpts;for(var V=0;V+3<O.length;V+=2)if(eK4(u,B,O[V],O[V+1],O[V+2],O[V+3],h)&&Y>(I=Cw4(u,B,O[V],O[V+1],O[V+2],O[V+3])))return w(v,I),!0}else if(S.edgeType==="bezier"||S.edgeType==="multibezier"||S.edgeType==="self"||S.edgeType==="compound"){var O=S.allpts;for(var V=0;V+5<S.allpts.length;V+=4)if(uw4(u,B,O[V],O[V+1],O[V+2],O[V+3],O[V+4],O[V+5],h)&&Y>(I=Aw4(u,B,O[V],O[V+1],O[V+2],O[V+3],O[V+4],O[V+5])))return w(v,I),!0}var j=j||x.source,i=i||x.target,a=C.getArrowWidth(W,T),$=[{name:"source",x:S.arrowStartX,y:S.arrowStartY,angle:S.srcArrowAngle},{name:"target",x:S.arrowEndX,y:S.arrowEndY,angle:S.tgtArrowAngle},{name:"mid-source",x:S.midX,y:S.midY,angle:S.midsrcArrowAngle},{name:"mid-target",x:S.midX,y:S.midY,angle:S.midtgtArrowAngle}];for(var V=0;V<$.length;V++){var m=$[V],y=D.arrowShapes[v.pstyle(m.name+"-arrow-shape").value],r=v.pstyle("width").pfValue;if(y.roughCollide(u,B,a,m.angle,{x:m.x,y:m.y},r,f)&&y.collide(u,B,a,m.angle,{x:m.x,y:m.y},r,f))return w(v),!0}if(k&&U.length>0)Q(j),Q(i)}function H(v,x,S){return vB(v,x,S)}function l(v,x){var S=v._private,W=b,T;if(x)T=x+"-";else T="";v.boundingBox();var R=S.labelBounds[x||"main"],Y=v.pstyle(T+"label").value,h=v.pstyle("text-events").strValue==="yes";if(!h||!Y)return;var I=H(S.rscratch,"labelX",x),O=H(S.rscratch,"labelY",x),V=H(S.rscratch,"labelAngle",x),j=v.pstyle(T+"text-margin-x").pfValue,i=v.pstyle(T+"text-margin-y").pfValue,a=R.x1-W-j,$=R.x2+W-j,m=R.y1-W-i,y=R.y2+W-i;if(V){var r=Math.cos(V),_=Math.sin(V),e=function(P0,L0){return P0=P0-I,L0=L0-O,{x:P0*r-L0*_+I,y:P0*_+L0*r+O}},p=e(a,m),b0=e(a,y),B0=e($,m),k0=e($,y),f0=[p.x+j,p.y+i,B0.x+j,B0.y+i,k0.x+j,k0.y+i,b0.x+j,b0.y+i];if(q8(u,B,f0))return w(v),!0}else if(cM(R,u,B))return w(v),!0}for(var q=F.length-1;q>=0;q--){var L=F[q];if(L.isNode())Q(L)||l(L);else G(L)||l(L)||l(L,"source")||l(L,"target")}return U};yK.getAllInBox=function(u,B,E,A){var C=this.getCachedZSortedEles().interactive,D=this.cy.zoom(),F=2/D,U=[],z=Math.min(u,E),k=Math.max(u,E),f=Math.min(B,A),M=Math.max(B,A);u=z,E=k,B=f,A=M;var b=xB({x1:u,y1:B,x2:E,y2:A}),Z=[{x:b.x1,y:b.y1},{x:b.x2,y:b.y1},{x:b.x2,y:b.y2},{x:b.x1,y:b.y2}],J=[[Z[0],Z[1]],[Z[1],Z[2]],[Z[2],Z[3]],[Z[3],Z[0]]];function K(P0,L0,m0){return vB(P0,L0,m0)}function w(P0,L0){var m0=P0._private,h0=F,_0="";P0.boundingBox();var w0=m0.labelBounds.main;if(!w0)return null;var x0=K(m0.rscratch,"labelX",L0),T0=K(m0.rscratch,"labelY",L0),J0=K(m0.rscratch,"labelAngle",L0),F0=P0.pstyle(_0+"text-margin-x").pfValue,u0=P0.pstyle(_0+"text-margin-y").pfValue,Z0=w0.x1-h0-F0,X0=w0.x2+h0-F0,W0=w0.y1-h0-u0,Y0=w0.y2+h0-u0;if(J0){var a0=Math.cos(J0),K0=Math.sin(J0),n=function(q0,o){return q0=q0-x0,o=o-T0,{x:q0*a0-o*K0+x0,y:q0*K0+o*a0+T0}};return[n(Z0,W0),n(X0,W0),n(X0,Y0),n(Z0,Y0)]}else return[{x:Z0,y:W0},{x:X0,y:W0},{x:X0,y:Y0},{x:Z0,y:Y0}]}function Q(P0,L0,m0,h0){function _0(w0,x0,T0){return(T0.y-w0.y)*(x0.x-w0.x)>(x0.y-w0.y)*(T0.x-w0.x)}return _0(P0,m0,h0)!==_0(L0,m0,h0)&&_0(P0,L0,m0)!==_0(P0,L0,h0)}for(var G=0;G<C.length;G++){var H=C[G];if(H.isNode()){var l=H,q=l.pstyle("text-events").strValue==="yes",L=l.pstyle("box-selection").strValue,v=l.pstyle("box-select-labels").strValue==="yes";if(L==="none")continue;var x=(L==="overlap"||v)&&q,S=l.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:x});if(L==="contain"){var W=!1;if(v&&q){var T=w(l);if(T&&M20(T,Z))U.push(l),W=!0}if(!W&&_r0(b,S))U.push(l)}else if(L==="overlap"){if(o50(b,S)){var R=l.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1}),Y=[{x:R.x1,y:R.y1},{x:R.x2,y:R.y1},{x:R.x2,y:R.y2},{x:R.x1,y:R.y2}];if(M20(Y,Z))U.push(l);else{var h=w(l);if(h&&M20(h,Z))U.push(l)}}}}else{var I=H,O=I._private,V=O.rscratch,j=I.pstyle("box-selection").strValue;if(j==="none")continue;if(j==="contain"){if(V.startX!=null&&V.startY!=null&&!cM(b,V.startX,V.startY))continue;if(V.endX!=null&&V.endY!=null&&!cM(b,V.endX,V.endY))continue;if(V.edgeType==="bezier"||V.edgeType==="multibezier"||V.edgeType==="self"||V.edgeType==="compound"||V.edgeType==="segments"||V.edgeType==="haystack"){var i=O.rstyle.bezierPts||O.rstyle.linePts||O.rstyle.haystackPts,a=!0;for(var $=0;$<i.length;$++)if(!G$0(b,i[$])){a=!1;break}if(a)U.push(I)}else if(V.edgeType==="straight")U.push(I)}else if(j==="overlap"){var m=!1;if(V.startX!=null&&V.startY!=null&&V.endX!=null&&V.endY!=null&&(cM(b,V.startX,V.startY)||cM(b,V.endX,V.endY)))U.push(I),m=!0;else if(!m&&V.edgeType==="haystack"){var y=O.rstyle.haystackPts;for(var r=0;r<y.length;r++)if(G$0(b,y[r])){U.push(I),m=!0;break}}if(!m){var _=O.rstyle.bezierPts||O.rstyle.linePts||O.rstyle.haystackPts;if((!_||_.length<2)&&V.edgeType==="straight"){if(V.startX!=null&&V.startY!=null&&V.endX!=null&&V.endY!=null)_=[{x:V.startX,y:V.startY},{x:V.endX,y:V.endY}]}if(!_||_.length<2)continue;for(var e=0;e<_.length-1;e++){var p=_[e],b0=_[e+1];for(var B0=0;B0<J.length;B0++){var k0=Y2(J[B0],2),f0=k0[0],D0=k0[1];if(Q(p,b0,f0,D0)){U.push(I),m=!0;break}}if(m)break}}}}}return U};sa={};sa.calculateArrowAngles=function(u){var B=u._private.rscratch,E=B.edgeType==="haystack",A=B.edgeType==="bezier",C=B.edgeType==="multibezier",D=B.edgeType==="segments",F=B.edgeType==="compound",U=B.edgeType==="self",z,k,f,M,b,Z,Q,G;if(E)f=B.haystackPts[0],M=B.haystackPts[1],b=B.haystackPts[2],Z=B.haystackPts[3];else f=B.arrowStartX,M=B.arrowStartY,b=B.arrowEndX,Z=B.arrowEndY;if(Q=B.midX,G=B.midY,D)z=f-B.segpts[0],k=M-B.segpts[1];else if(C||F||U||A){var J=B.allpts,K=T5(J[0],J[2],J[4],0.1),w=T5(J[1],J[3],J[5],0.1);z=f-K,k=M-w}else z=f-Q,k=M-G;B.srcArrowAngle=Ga(z,k);var{midX:Q,midY:G}=B;if(E)Q=(f+b)/2,G=(M+Z)/2;if(z=b-f,k=Z-M,D){var J=B.allpts;if(J.length/2%2===0){var H=J.length/2,l=H-2;z=J[H]-J[l],k=J[H+1]-J[l+1]}else if(B.isRound)z=B.midVector[1],k=-B.midVector[0];else{var H=J.length/2-1,l=H-2;z=J[H]-J[l],k=J[H+1]-J[l+1]}}else if(C||F||U){var{allpts:J,ctrlpts:q}=B,L,v,x,S;if(q.length/2%2===0){var W=J.length/2-1,T=W+2,R=T+2;L=T5(J[W],J[T],J[R],0),v=T5(J[W+1],J[T+1],J[R+1],0),x=T5(J[W],J[T],J[R],0.0001),S=T5(J[W+1],J[T+1],J[R+1],0.0001)}else{var T=J.length/2-1,W=T-2,R=T+2;L=T5(J[W],J[T],J[R],0.4999),v=T5(J[W+1],J[T+1],J[R+1],0.4999),x=T5(J[W],J[T],J[R],0.5),S=T5(J[W+1],J[T+1],J[R+1],0.5)}z=x-L,k=S-v}if(B.midtgtArrowAngle=Ga(z,k),B.midDispX=z,B.midDispY=k,z*=-1,k*=-1,D){var J=B.allpts;if(J.length/2%2===0);else if(!B.isRound){var H=J.length/2-1,Y=H+2;z=-(J[Y]-J[H]),k=-(J[Y+1]-J[H+1])}}if(B.midsrcArrowAngle=Ga(z,k),D)z=b-B.segpts[B.segpts.length-2],k=Z-B.segpts[B.segpts.length-1];else if(C||F||U||A){var J=B.allpts,h=J.length,K=T5(J[h-6],J[h-4],J[h-2],0.9),w=T5(J[h-5],J[h-3],J[h-1],0.9);z=b-K,k=Z-w}else z=b-Q,k=Z-G;B.tgtArrowAngle=Ga(z,k)};sa.getArrowWidth=sa.getArrowHeight=function(u,B){var E=this.arrowWidthCache=this.arrowWidthCache||{},A=E[u+", "+B];if(A)return A;return A=Math.max(Math.pow(u*13.37,0.9),29)*B,E[u+", "+B]=A,A};pF={},ZA={};XH4=Math.sqrt(2*nS),a7={};a7.findMidptPtsEtc=function(u,B){var{posPts:E,intersectionPts:A,vectorNormInverse:C}=B,D,F=u.pstyle("source-endpoint"),U=u.pstyle("target-endpoint"),z=F.units!=null&&U.units!=null,k=function(q,L,v,x){var S=x-L,W=v-q,T=Math.sqrt(W*W+S*S);return{x:-S/T,y:W/T}},f=u.pstyle("edge-distances").value;switch(f){case"node-position":D=E;break;case"intersection":D=A;break;case"endpoints":{if(z){var M=this.manualEndptToPx(u.source()[0],F),b=Y2(M,2),Z=b[0],J=b[1],K=this.manualEndptToPx(u.target()[0],U),w=Y2(K,2),Q=w[0],G=w[1],H={x1:Z,y1:J,x2:Q,y2:G};C=k(Z,J,Q,G),D=H}else D6("Edge ".concat(u.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),D=A;break}}return{midptPts:D,vectorNormInverse:C}};a7.findHaystackPoints=function(u){for(var B=0;B<u.length;B++){var E=u[B],A=E._private,C=A.rscratch;if(!C.haystack){var D=Math.random()*2*Math.PI;C.source={x:Math.cos(D),y:Math.sin(D)},D=Math.random()*2*Math.PI,C.target={x:Math.cos(D),y:Math.sin(D)}}var{source:F,target:U}=A,z=F.position(),k=U.position(),f=F.width(),M=U.width(),b=F.height(),Z=U.height(),J=E.pstyle("haystack-radius").value,K=J/2;C.haystackPts=C.allpts=[C.source.x*f*K+z.x,C.source.y*b*K+z.y,C.target.x*M*K+k.x,C.target.y*Z*K+k.y],C.midX=(C.allpts[0]+C.allpts[2])/2,C.midY=(C.allpts[1]+C.allpts[3])/2,C.edgeType="haystack",C.haystack=!0,this.storeEdgeProjections(E),this.calculateArrowAngles(E),this.recalculateEdgeLabelProjections(E),this.calculateLabelAngles(E)}};a7.findSegmentsPoints=function(u,B){var E=u._private.rscratch,A=u.pstyle("segment-weights"),C=u.pstyle("segment-distances"),D=u.pstyle("segment-radii"),F=u.pstyle("radius-type"),U=Math.min(A.pfValue.length,C.pfValue.length),z=D.pfValue[D.pfValue.length-1],k=F.pfValue[F.pfValue.length-1];E.edgeType="segments",E.segpts=[],E.radii=[],E.isArcRadius=[];for(var f=0;f<U;f++){var M=A.pfValue[f],b=C.pfValue[f],Z=1-M,J=M,K=this.findMidptPtsEtc(u,B),w=K.midptPts,Q=K.vectorNormInverse,G={x:w.x1*Z+w.x2*J,y:w.y1*Z+w.y2*J};E.segpts.push(G.x+Q.x*b,G.y+Q.y*b),E.radii.push(D.pfValue[f]!==void 0?D.pfValue[f]:z),E.isArcRadius.push((F.pfValue[f]!==void 0?F.pfValue[f]:k)==="arc-radius")}};a7.findLoopPoints=function(u,B,E,A){var C=u._private.rscratch,D=B.dirCounts,F=B.srcPos,U=u.pstyle("control-point-distances"),z=U?U.pfValue[0]:void 0,k=u.pstyle("loop-direction").pfValue,f=u.pstyle("loop-sweep").pfValue,M=u.pstyle("control-point-step-size").pfValue;C.edgeType="self";var b=E,Z=M;if(A)b=0,Z=z;var J=k-Math.PI/2,K=J-f/2,w=J+f/2,Q=String(k+"_"+f);b=D[Q]===void 0?D[Q]=0:++D[Q],C.ctrlpts=[F.x+Math.cos(K)*1.4*Z*(b/3+1),F.y+Math.sin(K)*1.4*Z*(b/3+1),F.x+Math.cos(w)*1.4*Z*(b/3+1),F.y+Math.sin(w)*1.4*Z*(b/3+1)]};a7.findCompoundLoopPoints=function(u,B,E,A){var C=u._private.rscratch;C.edgeType="compound";var{srcPos:D,tgtPos:F,srcW:U,srcH:z,tgtW:k,tgtH:f}=B,M=u.pstyle("control-point-step-size").pfValue,b=u.pstyle("control-point-distances"),Z=b?b.pfValue[0]:void 0,J=E,K=M;if(A)J=0,K=Z;var w=50,Q={x:D.x-U/2,y:D.y-z/2},G={x:F.x-k/2,y:F.y-f/2},H={x:Math.min(Q.x,G.x),y:Math.min(Q.y,G.y)},l=0.5,q=Math.max(l,Math.log(U*nS)),L=Math.max(l,Math.log(k*nS));C.ctrlpts=[H.x,H.y-(1+Math.pow(w,1.12)/100)*K*(J/3+1)*q,H.x-(1+Math.pow(w,1.12)/100)*K*(J/3+1)*L,H.y]};a7.findStraightEdgePoints=function(u){u._private.rscratch.edgeType="straight"};a7.findBezierPoints=function(u,B,E,A,C){var D=u._private.rscratch,F=u.pstyle("control-point-step-size").pfValue,U=u.pstyle("control-point-distances"),z=u.pstyle("control-point-weights"),k=U&&z?Math.min(U.value.length,z.value.length):1,f=U?U.pfValue[0]:void 0,M=z.value[0],b=A;D.edgeType=b?"multibezier":"bezier",D.ctrlpts=[];for(var Z=0;Z<k;Z++){var J=(0.5-B.eles.length/2+E)*F*(C?-1:1),K=void 0,w=s50(J);if(b)f=U?U.pfValue[Z]:F,M=z.value[Z];if(A)K=f;else K=f!==void 0?w*f:void 0;var Q=K!==void 0?K:J,G=1-M,H=M,l=this.findMidptPtsEtc(u,B),q=l.midptPts,L=l.vectorNormInverse,v={x:q.x1*G+q.x2*H,y:q.y1*G+q.y2*H};D.ctrlpts.push(v.x+L.x*Q,v.y+L.y*Q)}};a7.findTaxiPoints=function(u,B){var E=u._private.rscratch;E.edgeType="segments";var A="vertical",C="horizontal",D="leftward",F="rightward",U="downward",z="upward",k="auto",f=B.posPts,M=B.srcW,b=B.srcH,Z=B.tgtW,J=B.tgtH,K=u.pstyle("edge-distances").value,w=K!=="node-position",Q=u.pstyle("taxi-direction").value,G=Q,H=u.pstyle("taxi-turn"),l=H.units==="%",q=H.pfValue,L=q<0,v=u.pstyle("taxi-turn-min-distance").pfValue,x=w?(M+Z)/2:0,S=w?(b+J)/2:0,W=f.x2-f.x1,T=f.y2-f.y1,R=function(o,l0){if(o>0)return Math.max(o-l0,0);else return Math.min(o+l0,0)},Y=R(W,x),h=R(T,S),I=!1;if(G===k)Q=Math.abs(Y)>Math.abs(h)?C:A;else if(G===z||G===U)Q=A,I=!0;else if(G===D||G===F)Q=C,I=!0;var O=Q===A,V=O?h:Y,j=O?T:W,i=s50(j),a=!1;if(!(I&&(l||L))&&(G===U&&j<0||G===z&&j>0||G===D&&j>0||G===F&&j<0))i*=-1,V=i*Math.abs(V),a=!0;var $;if(l){var m=q<0?1+q:q;$=m*V}else{var y=q<0?V:0;$=y+q*i}var r=function(o){return Math.abs(o)<v||Math.abs(o)>=Math.abs(V)},_=r($),e=r(Math.abs(V)-Math.abs($)),p=_||e;if(p&&!a)if(O){var b0=Math.abs(j)<=b/2,B0=Math.abs(W)<=Z/2;if(b0){var k0=(f.x1+f.x2)/2,f0=f.y1,D0=f.y2;E.segpts=[k0,f0,k0,D0]}else if(B0){var P0=(f.y1+f.y2)/2,L0=f.x1,m0=f.x2;E.segpts=[L0,P0,m0,P0]}else E.segpts=[f.x1,f.y2]}else{var h0=Math.abs(j)<=M/2,_0=Math.abs(T)<=J/2;if(h0){var w0=(f.y1+f.y2)/2,x0=f.x1,T0=f.x2;E.segpts=[x0,w0,T0,w0]}else if(_0){var J0=(f.x1+f.x2)/2,F0=f.y1,u0=f.y2;E.segpts=[J0,F0,J0,u0]}else E.segpts=[f.x2,f.y1]}else if(O){var Z0=f.y1+$+(w?b/2*i:0),X0=f.x1,W0=f.x2;E.segpts=[X0,Z0,W0,Z0]}else{var Y0=f.x1+$+(w?M/2*i:0),a0=f.y1,K0=f.y2;E.segpts=[Y0,a0,Y0,K0]}if(E.isRound){var n=u.pstyle("taxi-radius").value,d=u.pstyle("radius-type").value[0]==="arc-radius";E.radii=Array(E.segpts.length/2).fill(n),E.isArcRadius=Array(E.segpts.length/2).fill(d)}};a7.tryToCorrectInvalidPoints=function(u,B){var E=u._private.rscratch;if(E.edgeType==="bezier"){var{srcPos:A,tgtPos:C,srcW:D,srcH:F,tgtW:U,tgtH:z,srcShape:k,tgtShape:f,srcCornerRadius:M,tgtCornerRadius:b,srcRs:Z,tgtRs:J}=B,K=!K4(E.startX)||!K4(E.startY),w=!K4(E.arrowStartX)||!K4(E.arrowStartY),Q=!K4(E.endX)||!K4(E.endY),G=!K4(E.arrowEndX)||!K4(E.arrowEndY),H=3,l=this.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.arrowShapeWidth,q=H*l,L=iK({x:E.ctrlpts[0],y:E.ctrlpts[1]},{x:E.startX,y:E.startY}),v=L<q,x=iK({x:E.ctrlpts[0],y:E.ctrlpts[1]},{x:E.endX,y:E.endY}),S=x<q,W=!1;if(K||w||v){W=!0;var T={x:E.ctrlpts[0]-A.x,y:E.ctrlpts[1]-A.y},R=Math.sqrt(T.x*T.x+T.y*T.y),Y={x:T.x/R,y:T.y/R},h=Math.max(D,F),I={x:E.ctrlpts[0]+Y.x*2*h,y:E.ctrlpts[1]+Y.y*2*h},O=k.intersectLine(A.x,A.y,D,F,I.x,I.y,0,M,Z);if(v)E.ctrlpts[0]=E.ctrlpts[0]+Y.x*(q-L),E.ctrlpts[1]=E.ctrlpts[1]+Y.y*(q-L);else E.ctrlpts[0]=O[0]+Y.x*q,E.ctrlpts[1]=O[1]+Y.y*q}if(Q||G||S){W=!0;var V={x:E.ctrlpts[0]-C.x,y:E.ctrlpts[1]-C.y},j=Math.sqrt(V.x*V.x+V.y*V.y),i={x:V.x/j,y:V.y/j},a=Math.max(D,F),$={x:E.ctrlpts[0]+i.x*2*a,y:E.ctrlpts[1]+i.y*2*a},m=f.intersectLine(C.x,C.y,U,z,$.x,$.y,0,b,J);if(S)E.ctrlpts[0]=E.ctrlpts[0]+i.x*(q-x),E.ctrlpts[1]=E.ctrlpts[1]+i.y*(q-x);else E.ctrlpts[0]=m[0]+i.x*q,E.ctrlpts[1]=m[1]+i.y*q}if(W)this.findEndpoints(u)}};a7.storeAllpts=function(u){var B=u._private.rscratch;if(B.edgeType==="multibezier"||B.edgeType==="bezier"||B.edgeType==="self"||B.edgeType==="compound"){B.allpts=[],B.allpts.push(B.startX,B.startY);for(var E=0;E+1<B.ctrlpts.length;E+=2)if(B.allpts.push(B.ctrlpts[E],B.ctrlpts[E+1]),E+3<B.ctrlpts.length)B.allpts.push((B.ctrlpts[E]+B.ctrlpts[E+2])/2,(B.ctrlpts[E+1]+B.ctrlpts[E+3])/2);B.allpts.push(B.endX,B.endY);var A,C;if(B.ctrlpts.length/2%2===0)A=B.allpts.length/2-1,B.midX=B.allpts[A],B.midY=B.allpts[A+1];else A=B.allpts.length/2-3,C=0.5,B.midX=T5(B.allpts[A],B.allpts[A+2],B.allpts[A+4],C),B.midY=T5(B.allpts[A+1],B.allpts[A+3],B.allpts[A+5],C)}else if(B.edgeType==="straight")B.allpts=[B.startX,B.startY,B.endX,B.endY],B.midX=(B.startX+B.endX+B.arrowStartX+B.arrowEndX)/4,B.midY=(B.startY+B.endY+B.arrowStartY+B.arrowEndY)/4;else if(B.edgeType==="segments"){if(B.allpts=[],B.allpts.push(B.startX,B.startY),B.allpts.push.apply(B.allpts,B.segpts),B.allpts.push(B.endX,B.endY),B.isRound){B.roundCorners=[];for(var D=2;D+3<B.allpts.length;D+=2){var F=B.radii[D/2-1],U=B.isArcRadius[D/2-1];B.roundCorners.push(k70({x:B.allpts[D-2],y:B.allpts[D-1]},{x:B.allpts[D],y:B.allpts[D+1],radius:F},{x:B.allpts[D+2],y:B.allpts[D+3]},F,U))}}if(B.segpts.length%4===0){var z=B.segpts.length/2,k=z-2;B.midX=(B.segpts[k]+B.segpts[z])/2,B.midY=(B.segpts[k+1]+B.segpts[z+1])/2}else{var f=B.segpts.length/2-1;if(!B.isRound)B.midX=B.segpts[f],B.midY=B.segpts[f+1];else{var M={x:B.segpts[f],y:B.segpts[f+1]},b=B.roundCorners[f/2];if(b.radius===0){var Z={x:B.segpts[f+2],y:B.segpts[f+3]};B.midX=M.x,B.midY=M.y,B.midVector=[M.y-Z.y,Z.x-M.x]}else{var J=[M.x-b.cx,M.y-b.cy],K=b.radius/Math.sqrt(Math.pow(J[0],2)+Math.pow(J[1],2));J=J.map(function(w){return w*K}),B.midX=b.cx+J[0],B.midY=b.cy+J[1],B.midVector=J}}}}};a7.checkForInvalidEdgeWarning=function(u){var B=u[0]._private.rscratch;if(B.nodesOverlap||K4(B.startX)&&K4(B.startY)&&K4(B.endX)&&K4(B.endY))B.loggedErr=!1;else if(!B.loggedErr)B.loggedErr=!0,D6("Edge `"+u.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap.")};a7.findEdgeControlPoints=function(u){var B=this;if(!u||u.length===0)return;var E=this,A=E.cy,C=A.hasCompoundNodes(),D=new Ek,F=function(S,W){return[].concat(ma(S),[W?1:0]).join("-")},U=[],z=[];for(var k=0;k<u.length;k++){var f=u[k],M=f._private,b=f.pstyle("curve-style").value;if(f.removed()||!f.takesUpSpace())continue;if(b==="haystack"){z.push(f);continue}var Z=b==="unbundled-bezier"||gM(b,"segments")||b==="straight"||b==="straight-triangle"||gM(b,"taxi"),J=b==="unbundled-bezier"||b==="bezier",K=M.source,w=M.target,Q=K.poolIndex(),G=w.poolIndex(),H=[Q,G].sort(),l=F(H,Z),q=D.get(l);if(q==null)q={eles:[]},U.push({pairId:H,edgeIsUnbundled:Z}),D.set(l,q);if(q.eles.push(f),Z)q.hasUnbundled=!0;if(J)q.hasBezier=!0}var L=function(){var S=U[v],W=S.pairId,T=S.edgeIsUnbundled,R=F(W,T),Y=D.get(R),h;if(!Y.hasUnbundled){var I=Y.eles[0].parallelEdges().filter(function(d){return d.isBundledBezier()});n50(Y.eles),I.forEach(function(d){return Y.eles.push(d)}),Y.eles.sort(function(d,q0){return d.poolIndex()-q0.poolIndex()})}var O=Y.eles[0],V=O.source(),j=O.target();if(V.poolIndex()>j.poolIndex()){var i=V;V=j,j=i}var a=Y.srcPos=V.position(),$=Y.tgtPos=j.position(),m=Y.srcW=V.outerWidth(),y=Y.srcH=V.outerHeight(),r=Y.tgtW=j.outerWidth(),_=Y.tgtH=j.outerHeight(),e=Y.srcShape=E.nodeShapes[B.getNodeShape(V)],p=Y.tgtShape=E.nodeShapes[B.getNodeShape(j)],b0=Y.srcCornerRadius=V.pstyle("corner-radius").value==="auto"?"auto":V.pstyle("corner-radius").pfValue,B0=Y.tgtCornerRadius=j.pstyle("corner-radius").value==="auto"?"auto":j.pstyle("corner-radius").pfValue,k0=Y.tgtRs=j._private.rscratch,f0=Y.srcRs=V._private.rscratch;Y.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D0=0;D0<Y.eles.length;D0++){var P0=Y.eles[D0],L0=P0[0]._private.rscratch,m0=P0.pstyle("curve-style").value,h0=m0==="unbundled-bezier"||gM(m0,"segments")||gM(m0,"taxi"),_0=!V.same(P0.source());if(!Y.calculatedIntersection&&V!==j&&(Y.hasBezier||Y.hasUnbundled)){Y.calculatedIntersection=!0;var w0=e.intersectLine(a.x,a.y,m,y,$.x,$.y,0,b0,f0),x0=Y.srcIntn=w0,T0=p.intersectLine($.x,$.y,r,_,a.x,a.y,0,B0,k0),J0=Y.tgtIntn=T0,F0=Y.intersectionPts={x1:w0[0],x2:T0[0],y1:w0[1],y2:T0[1]},u0=Y.posPts={x1:a.x,x2:$.x,y1:a.y,y2:$.y},Z0=T0[1]-w0[1],X0=T0[0]-w0[0],W0=Math.sqrt(X0*X0+Z0*Z0);if(K4(W0)&&W0>=XH4);else W0=Math.sqrt(Math.max(X0*X0,nS)+Math.max(Z0*Z0,nS));var Y0=Y.vector={x:X0,y:Z0},a0=Y.vectorNorm={x:Y0.x/W0,y:Y0.y/W0},K0={x:-a0.y,y:a0.x};Y.nodesOverlap=!K4(W0)||p.checkPoint(w0[0],w0[1],0,r,_,$.x,$.y,B0,k0)||e.checkPoint(T0[0],T0[1],0,m,y,a.x,a.y,b0,f0),Y.vectorNormInverse=K0,h={nodesOverlap:Y.nodesOverlap,dirCounts:Y.dirCounts,calculatedIntersection:!0,hasBezier:Y.hasBezier,hasUnbundled:Y.hasUnbundled,eles:Y.eles,srcPos:$,srcRs:k0,tgtPos:a,tgtRs:f0,srcW:r,srcH:_,tgtW:m,tgtH:y,srcIntn:J0,tgtIntn:x0,srcShape:p,tgtShape:e,posPts:{x1:u0.x2,y1:u0.y2,x2:u0.x1,y2:u0.y1},intersectionPts:{x1:F0.x2,y1:F0.y2,x2:F0.x1,y2:F0.y1},vector:{x:-Y0.x,y:-Y0.y},vectorNorm:{x:-a0.x,y:-a0.y},vectorNormInverse:{x:-K0.x,y:-K0.y}}}var n=_0?h:Y;if(L0.nodesOverlap=n.nodesOverlap,L0.srcIntn=n.srcIntn,L0.tgtIntn=n.tgtIntn,L0.isRound=m0.startsWith("round"),C&&(V.isParent()||V.isChild()||j.isParent()||j.isChild())&&(V.parents().anySame(j)||j.parents().anySame(V)||V.same(j)&&V.isParent()))B.findCompoundLoopPoints(P0,n,D0,h0);else if(V===j)B.findLoopPoints(P0,n,D0,h0);else if(m0.endsWith("segments"))B.findSegmentsPoints(P0,n);else if(m0.endsWith("taxi"))B.findTaxiPoints(P0,n);else if(m0==="straight"||!h0&&Y.eles.length%2===1&&D0===Math.floor(Y.eles.length/2))B.findStraightEdgePoints(P0);else B.findBezierPoints(P0,n,D0,h0,_0);B.findEndpoints(P0),B.tryToCorrectInvalidPoints(P0,n),B.checkForInvalidEdgeWarning(P0),B.storeAllpts(P0),B.storeEdgeProjections(P0),B.calculateArrowAngles(P0),B.recalculateEdgeLabelProjections(P0),B.calculateLabelAngles(P0)}};for(var v=0;v<U.length;v++)L();this.findHaystackPoints(z)};a7.getSegmentPoints=function(u){var B=u[0]._private.rscratch;this.recalculateRenderedStyle(u);var E=B.edgeType;if(E==="segments")return rg0(B.segpts)};a7.getControlPoints=function(u){var B=u[0]._private.rscratch;this.recalculateRenderedStyle(u);var E=B.edgeType;if(E==="bezier"||E==="multibezier"||E==="self"||E==="compound")return rg0(B.ctrlpts)};a7.getEdgeMidpoint=function(u){var B=u[0]._private.rscratch;return this.recalculateRenderedStyle(u),{x:B.midX,y:B.midY}};CY={};CY.manualEndptToPx=function(u,B){var E=this,A=u.position(),C=u.outerWidth(),D=u.outerHeight(),F=u._private.rscratch;if(B.value.length===2){var U=[B.pfValue[0],B.pfValue[1]];if(B.units[0]==="%")U[0]=U[0]*C;if(B.units[1]==="%")U[1]=U[1]*D;return U[0]+=A.x,U[1]+=A.y,U}else{var z=B.pfValue[0];z=-Math.PI/2+z;var k=2*Math.max(C,D),f=[A.x+Math.cos(z)*k,A.y+Math.sin(z)*k];return E.nodeShapes[this.getNodeShape(u)].intersectLine(A.x,A.y,C,D,f[0],f[1],0,u.pstyle("corner-radius").value==="auto"?"auto":u.pstyle("corner-radius").pfValue,F)}};CY.findEndpoints=function(u){var B,E,A,C,D=this,F,U=u.source()[0],z=u.target()[0],k=U.position(),f=z.position(),M=u.pstyle("target-arrow-shape").value,b=u.pstyle("source-arrow-shape").value,Z=u.pstyle("target-distance-from-node").pfValue,J=u.pstyle("source-distance-from-node").pfValue,K=U._private.rscratch,w=z._private.rscratch,Q=u.pstyle("curve-style").value,G=u._private.rscratch,H=G.edgeType,l=gM(Q,"taxi"),q=H==="self"||H==="compound",L=H==="bezier"||H==="multibezier"||q,v=H!=="bezier",x=H==="straight"||H==="segments",S=H==="segments",W=L||v||x,T=q||l,R=u.pstyle("source-endpoint"),Y=T?"outside-to-node":R.value,h=U.pstyle("corner-radius").value==="auto"?"auto":U.pstyle("corner-radius").pfValue,I=u.pstyle("target-endpoint"),O=T?"outside-to-node":I.value,V=z.pstyle("corner-radius").value==="auto"?"auto":z.pstyle("corner-radius").pfValue;G.srcManEndpt=R,G.tgtManEndpt=I;var j,i,a,$,m=(B=(I===null||I===void 0||(E=I.pfValue)===null||E===void 0?void 0:E.length)===2?I.pfValue:null)!==null&&B!==void 0?B:[0,0],y=(A=(R===null||R===void 0||(C=R.pfValue)===null||C===void 0?void 0:C.length)===2?R.pfValue:null)!==null&&A!==void 0?A:[0,0];if(L){var r=[G.ctrlpts[0],G.ctrlpts[1]],_=v?[G.ctrlpts[G.ctrlpts.length-2],G.ctrlpts[G.ctrlpts.length-1]]:r;j=_,i=r}else if(x){var e=!S?[f.x+m[0],f.y+m[1]]:G.segpts.slice(0,2),p=!S?[k.x+y[0],k.y+y[1]]:G.segpts.slice(G.segpts.length-2);j=p,i=e}if(O==="inside-to-node")F=[f.x,f.y];else if(I.units)F=this.manualEndptToPx(z,I);else if(O==="outside-to-line")F=G.tgtIntn;else{if(O==="outside-to-node"||O==="outside-to-node-or-label")a=j;else if(O==="outside-to-line"||O==="outside-to-line-or-label")a=[k.x,k.y];if(F=D.nodeShapes[this.getNodeShape(z)].intersectLine(f.x,f.y,z.outerWidth(),z.outerHeight(),a[0],a[1],0,V,w),O==="outside-to-node-or-label"||O==="outside-to-line-or-label"){var b0=z._private.rscratch,B0=b0.labelWidth,k0=b0.labelHeight,f0=b0.labelX,D0=b0.labelY,P0=B0/2,L0=k0/2,m0=z.pstyle("text-valign").value;if(m0=sq(m0),m0==="top")D0-=L0;else if(m0==="bottom")D0+=L0;var h0=z.pstyle("text-halign").value;if(h0=dq(h0),h0==="left")f0-=P0;else if(h0==="right")f0+=P0;var _0=rS(a[0],a[1],[f0-P0,D0-L0,f0+P0,D0-L0,f0+P0,D0+L0,f0-P0,D0+L0],f.x,f.y);if(_0.length>0){var w0=k,x0=IK(w0,aq(F)),T0=IK(w0,aq(_0)),J0=x0;if(T0<x0)F=_0,J0=T0;if(_0.length>2){var F0=IK(w0,{x:_0[2],y:_0[3]});if(F0<J0)F=[_0[2],_0[3]]}}}}var u0=Ha(F,j,D.arrowShapes[M].spacing(u)+Z),Z0=Ha(F,j,D.arrowShapes[M].gap(u)+Z);if(G.endX=Z0[0],G.endY=Z0[1],G.arrowEndX=u0[0],G.arrowEndY=u0[1],Y==="inside-to-node")F=[k.x,k.y];else if(R.units)F=this.manualEndptToPx(U,R);else if(Y==="outside-to-line")F=G.srcIntn;else{if(Y==="outside-to-node"||Y==="outside-to-node-or-label")$=i;else if(Y==="outside-to-line"||Y==="outside-to-line-or-label")$=[f.x,f.y];if(F=D.nodeShapes[this.getNodeShape(U)].intersectLine(k.x,k.y,U.outerWidth(),U.outerHeight(),$[0],$[1],0,h,K),Y==="outside-to-node-or-label"||Y==="outside-to-line-or-label"){var X0=U._private.rscratch,W0=X0.labelWidth,Y0=X0.labelHeight,a0=X0.labelX,K0=X0.labelY,n=W0/2,d=Y0/2,q0=U.pstyle("text-valign").value;if(q0=sq(q0),q0==="top")K0-=d;else if(q0==="bottom")K0+=d;var o=U.pstyle("text-halign").value;if(o=dq(o),o==="left")a0-=n;else if(o==="right")a0+=n;var l0=rS($[0],$[1],[a0-n,K0-d,a0+n,K0-d,a0+n,K0+d,a0-n,K0+d],k.x,k.y);if(l0.length>0){var E0=f,$0=IK(E0,aq(F)),g0=IK(E0,aq(l0)),n0=$0;if(g0<$0)F=[l0[0],l0[1]],n0=g0;if(l0.length>2){var c0=IK(E0,{x:l0[2],y:l0[3]});if(c0<n0)F=[l0[2],l0[3]]}}}}var Bu=Ha(F,i,D.arrowShapes[b].spacing(u)+J),p0=Ha(F,i,D.arrowShapes[b].gap(u)+J);if(G.startX=p0[0],G.startY=p0[1],G.arrowStartX=Bu[0],G.arrowStartY=Bu[1],W)if(!K4(G.startX)||!K4(G.startY)||!K4(G.endX)||!K4(G.endY))G.badLine=!0;else G.badLine=!1};CY.getSourceEndpoint=function(u){var B=u[0]._private.rscratch;switch(this.recalculateRenderedStyle(u),B.edgeType){case"haystack":return{x:B.haystackPts[0],y:B.haystackPts[1]};default:return{x:B.arrowStartX,y:B.arrowStartY}}};CY.getTargetEndpoint=function(u){var B=u[0]._private.rscratch;switch(this.recalculateRenderedStyle(u),B.edgeType){case"haystack":return{x:B.haystackPts[2],y:B.haystackPts[3]};default:return{x:B.arrowEndX,y:B.arrowEndY}}};f70={};f70.storeEdgeProjections=function(u){var B=u._private,E=B.rscratch,A=E.edgeType;if(B.rstyle.bezierPts=null,B.rstyle.linePts=null,B.rstyle.haystackPts=null,A==="multibezier"||A==="bezier"||A==="self"||A==="compound"){B.rstyle.bezierPts=[];for(var C=0;C+5<E.allpts.length;C+=4)vH4(this,u,E.allpts.slice(C,C+6))}else if(A==="segments"){var D=B.rstyle.linePts=[];for(var C=0;C+1<E.allpts.length;C+=2)D.push({x:E.allpts[C],y:E.allpts[C+1]})}else if(A==="haystack"){var F=E.haystackPts;B.rstyle.haystackPts=[{x:F[0],y:F[1]},{x:F[2],y:F[3]}]}B.rstyle.arrowWidth=this.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.arrowShapeWidth};f70.recalculateEdgeProjections=function(u){this.findEdgeControlPoints(u)};oF={};oF.recalculateNodeLabelProjection=function(u){var B=u.pstyle("label").strValue;if(dM(B))return;var E,A,C=u._private,D=u.width(),F=u.height(),U=u.padding(),z=u.position(),k=u.pstyle("text-halign").strValue,f=u.pstyle("text-valign").strValue,M=C.rscratch,b=C.rstyle;switch(k){case"left":E=z.x-D/2-U;break;case"left-inside":E=z.x-D/2+U;break;case"right":E=z.x+D/2+U;break;case"right-inside":E=z.x+D/2-U;break;default:E=z.x}switch(f){case"top":A=z.y-F/2-U;break;case"top-inside":A=z.y-F/2+U;break;case"bottom":A=z.y+F/2+U;break;case"bottom-inside":A=z.y+F/2-U;break;default:A=z.y}M.labelX=E,M.labelY=A,b.labelX=E,b.labelY=A,this.calculateLabelAngles(u),this.applyLabelDimensions(u)};oF.recalculateEdgeLabelProjections=function(u){var B,E=u._private,A=E.rscratch,C=this,D={mid:u.pstyle("label").strValue,source:u.pstyle("source-label").strValue,target:u.pstyle("target-label").strValue};if(D.mid||D.source||D.target);else return;B={x:A.midX,y:A.midY};var F=function(M,b,Z){nF(E.rscratch,M,b,Z),nF(E.rstyle,M,b,Z)};F("labelX",null,B.x),F("labelY",null,B.y);var U=gg0(A.midDispX,A.midDispY);F("labelAutoAngle",null,U);var z=function(){if(z.cache)return z.cache;var M=[];for(var b=0;b+5<A.allpts.length;b+=4){var Z={x:A.allpts[b],y:A.allpts[b+1]},J={x:A.allpts[b+2],y:A.allpts[b+3]},K={x:A.allpts[b+4],y:A.allpts[b+5]};M.push({p0:Z,p1:J,p2:K,startDist:0,length:0,segments:[]})}var w=E.rstyle.bezierPts,Q=C.bezierProjPcts.length;function G(v,x,S,W,T){var R=iK(x,S),Y=v.segments[v.segments.length-1],h={p0:x,p1:S,t0:W,t1:T,startDist:Y?Y.startDist+Y.length:0,length:R};v.segments.push(h),v.length+=R}for(var H=0;H<M.length;H++){var l=M[H],q=M[H-1];if(q)l.startDist=q.startDist+q.length;G(l,l.p0,w[H*Q],0,C.bezierProjPcts[0]);for(var L=0;L<Q-1;L++)G(l,w[H*Q+L],w[H*Q+L+1],C.bezierProjPcts[L],C.bezierProjPcts[L+1]);G(l,w[H*Q+Q-1],l.p2,C.bezierProjPcts[Q-1],1)}return z.cache=M},k=function(M){var b,Z=M==="source";if(!D[M])return;var J=u.pstyle(M+"-text-offset").pfValue;switch(A.edgeType){case"self":case"compound":case"bezier":case"multibezier":{var K=z(),w,Q=0,G=0;for(var H=0;H<K.length;H++){var l=K[Z?H:K.length-1-H];for(var q=0;q<l.segments.length;q++){var L=l.segments[Z?q:l.segments.length-1-q],v=H===K.length-1&&q===l.segments.length-1;if(Q=G,G+=L.length,G>=J||v){w={cp:l,segment:L};break}}if(w)break}var{cp:x,segment:S}=w,W=(J-Q)/S.length,T=S.t1-S.t0,R=Z?S.t0+T*W:S.t1-T*W;R=yS(0,R,1),B=yq(x.p0,x.p1,x.p2,R),b=xH4(x.p0,x.p1,x.p2,R);break}case"straight":case"segments":case"haystack":{var Y=0,h,I,O,V,j=A.allpts.length;for(var i=0;i+3<j;i+=2){if(Z)O={x:A.allpts[i],y:A.allpts[i+1]},V={x:A.allpts[i+2],y:A.allpts[i+3]};else O={x:A.allpts[j-2-i],y:A.allpts[j-1-i]},V={x:A.allpts[j-4-i],y:A.allpts[j-3-i]};if(h=iK(O,V),I=Y,Y+=h,Y>=J)break}var a=J-I,$=a/h;$=yS(0,$,1),B=_K4(O,V,$),b=cg0(O,V);break}}F("labelX",M,B.x),F("labelY",M,B.y),F("labelAutoAngle",M,b)};k("source"),k("target"),this.applyLabelDimensions(u)};oF.applyLabelDimensions=function(u){if(this.applyPrefixedLabelDimensions(u),u.isEdge())this.applyPrefixedLabelDimensions(u,"source"),this.applyPrefixedLabelDimensions(u,"target")};oF.applyPrefixedLabelDimensions=function(u,B){var E=u._private,A=this.getLabelText(u,B),C=hK(A,u._private.labelDimsKey);if(vB(E.rscratch,"prefixedLabelDimsKey",B)===C)return;nF(E.rscratch,"prefixedLabelDimsKey",B,C);var D=this.calculateLabelDimensions(u,A),F=u.pstyle("line-height").pfValue,U=u.pstyle("font-size").pfValue,z=u.pstyle("text-wrap").strValue,k=vB(E.rscratch,"labelWrapCachedLines",B)||[],f=z!=="wrap"?1:Math.max(k.length,1),M=U*F,b=D.width,Z=D.height+(f-1)*(F-1)*U;nF(E.rstyle,"labelWidth",B,b),nF(E.rscratch,"labelWidth",B,b),nF(E.rstyle,"labelHeight",B,Z),nF(E.rscratch,"labelHeight",B,Z),nF(E.rscratch,"labelLineHeight",B,M),nF(E.rscratch,"labelActualDescent",B,D.labelActualDescent)};oF.getLabelText=function(u,B){var E=u._private,A=B?B+"-":"",C=u.pstyle(A+"label").strValue,D=u.pstyle("text-transform").value,F=function(y,r){if(r)return nF(E.rscratch,y,B,r),r;else return vB(E.rscratch,y,B)};if(!C)return"";if(D=="none");else if(D=="uppercase")C=C.toUpperCase();else if(D=="lowercase")C=C.toLowerCase();var U=u.pstyle("text-wrap").value;if(U==="wrap"){var z=F("labelKey");if(z!=null&&F("labelWrapKey")===z)return F("labelWrapCachedText");var k="",f=C.split(`
`),M=u.pstyle("text-max-width").pfValue,b=u.pstyle("text-overflow-wrap").value,Z=b==="anywhere",J=[],K=/[\s\u200b]+|$/g;for(var w=0;w<f.length;w++){var Q=f[w],G=this.calculateLabelDimensions(u,Q),H=G.width;if(Z){var l=Q.split("").join(k);Q=l}if(H>M){var q=Q.matchAll(K),L="",v=0,x=l8(q),S;try{for(x.s();!(S=x.n()).done;){var W=S.value,T=W[0],R=Q.substring(v,W.index);v=W.index+T.length;var Y=L.length===0?R:L+R+T,h=this.calculateLabelDimensions(u,Y),I=h.width;if(I<=M)L+=R+T;else{if(L)J.push(L);L=R+T}}}catch(m){x.e(m)}finally{x.f()}if(!L.match(/^[\s\u200b]+$/))J.push(L)}else J.push(Q)}F("labelWrapCachedLines",J),C=F("labelWrapCachedText",J.join(`
`)),F("labelWrapKey",z)}else if(U==="ellipsis"){var O=u.pstyle("text-max-width").pfValue,V="",j="…",i=!1;if(this.calculateLabelDimensions(u,C).width<O)return C;for(var a=0;a<C.length;a++){var $=this.calculateLabelDimensions(u,V+C[a]+j).width;if($>O)break;if(V+=C[a],a===C.length-1)i=!0}if(!i)V+=j;return V}return C};oF.getLabelJustification=function(u){var B=u.pstyle("text-justification").strValue,E=u.pstyle("text-halign").strValue;if(B==="auto")if(u.isNode())return bG4(E);else return"center";else return B};oF.calculateLabelDimensions=function(u,B){var E=this,A=E.cy.window(),C=A.document,D=0,F=u.pstyle("font-style").strValue,U=u.pstyle("font-size").pfValue,z=u.pstyle("font-family").strValue,k=u.pstyle("font-weight").strValue,f=u.pstyle("text-metrics").strValue||"font",M=this.labelCalcCanvas,b=this.labelCalcCanvasContext;if(!M){M=this.labelCalcCanvas=C.createElement("canvas"),b=this.labelCalcCanvasContext=M.getContext("2d");var Z=M.style;Z.position="absolute",Z.left="-9999px",Z.top="-9999px",Z.zIndex="-1",Z.visibility="hidden",Z.pointerEvents="none"}b.font="".concat(F," ").concat(k," ").concat(U,"px ").concat(z);var J=0,K=0,w=B.split(`
`),Q=w.length,G=0,H=0;for(var l=0;l<Q;l++){var q=w[l],L=b.measureText(q),v=Math.ceil(L.width),x=U;if(f==="glyph"){if(l===0)H=L.actualBoundingBoxAscent;if(l===Q-1)G=L.actualBoundingBoxDescent}J=Math.max(v,J),K+=x}if(f==="glyph")K-=U-H-G;return J+=D,K+=D,{width:J,height:K,labelActualAscent:H,labelActualDescent:G}};oF.calculateLabelAngle=function(u,B){var E=u._private,A=E.rscratch,C=u.isEdge(),D=B?B+"-":"",F=u.pstyle(D+"text-rotation"),U=F.strValue;if(U==="none")return 0;else if(C&&U==="autorotate")return A.labelAutoAngle;else if(U==="autorotate")return 0;else return F.pfValue};oF.calculateLabelAngles=function(u){var B=this,E=u.isEdge(),A=u._private,C=A.rscratch;if(C.labelAngle=B.calculateLabelAngle(u),E)C.sourceLabelAngle=B.calculateLabelAngle(u,"source"),C.targetLabelAngle=B.calculateLabelAngle(u,"target")};_g0={};_g0.getNodeShape=function(u){var B=this,E=u.pstyle("shape").value;if(E==="cutrectangle"&&(u.width()<Cr0||u.height()<Cr0)){if(!Dr0)D6("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Dr0=!0;return"rectangle"}if(u.isParent())if(E==="rectangle"||E==="roundrectangle"||E==="round-rectangle"||E==="cutrectangle"||E==="cut-rectangle"||E==="barrel")return E;else return"rectangle";if(E==="polygon"){var A=u.pstyle("shape-polygon-points").value;return B.nodeShapes.makePolygon(A).name}return E};wm={};wm.registerCalculationListeners=function(){var u=this.cy,B=u.collection(),E=this,A=function(F){var U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(B.merge(F),U)for(var z=0;z<F.length;z++){var k=F[z],f=k._private,M=f.rstyle;M.clean=!1,M.cleanConnected=!1}};E.binder(u).on("bounds.* dirty.*",function(F){var U=F.target;A(U)}).on("style.* background.*",function(F){var U=F.target;A(U,!1)});var C=function(F){if(F){var U=E.onUpdateEleCalcsFns;B.cleanStyle();for(var z=0;z<B.length;z++){var k=B[z],f=k._private.rstyle;if(k.isNode()&&!f.cleanConnected)A(k.connectedEdges()),f.cleanConnected=!0}if(U)for(var M=0;M<U.length;M++){var b=U[M];b(F,B)}E.recalculateRenderedStyle(B),B=u.collection()}};E.flushRenderedStyleQueue=function(){C(!0)},E.beforeRender(C,E.beforeRenderPriorities.eleCalcs)};wm.onUpdateEleCalcs=function(u){var B=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];B.push(u)};wm.recalculateRenderedStyle=function(u,B){var E=function(l){return l._private.rstyle.cleanConnected};if(u.length===0)return;var A=[],C=[];if(this.destroyed)return;if(B===void 0)B=!0;for(var D=0;D<u.length;D++){var F=u[D],U=F._private,z=U.rstyle;if(F.isEdge()&&(!E(F.source())||!E(F.target())))z.clean=!1;if(F.isEdge()&&F.isBundledBezier()){if(F.parallelEdges().some(function(H){return!H._private.rstyle.clean&&H.isBundledBezier()}))z.clean=!1}if(B&&z.clean||F.removed())continue;if(F.pstyle("display").value==="none")continue;if(U.group==="nodes")C.push(F);else A.push(F);z.clean=!0}for(var k=0;k<C.length;k++){var f=C[k],M=f._private,b=M.rstyle,Z=f.position();this.recalculateNodeLabelProjection(f),b.nodeX=Z.x,b.nodeY=Z.y,b.nodeW=f.pstyle("width").pfValue,b.nodeH=f.pstyle("height").pfValue}this.recalculateEdgeProjections(A);for(var J=0;J<A.length;J++){var K=A[J],w=K._private,Q=w.rstyle,G=w.rscratch;Q.srcX=G.arrowStartX,Q.srcY=G.arrowStartY,Q.tgtX=G.arrowEndX,Q.tgtY=G.arrowEndY,Q.midX=G.midX,Q.midY=G.midY,Q.labelAngle=G.labelAngle,Q.sourceLabelAngle=G.sourceLabelAngle,Q.targetLabelAngle=G.targetLabelAngle}};Qm={};Qm.updateCachedGrabbedEles=function(){var u=this.cachedZSortedEles;if(!u)return;u.drag=[],u.nondrag=[];var B=[];for(var E=0;E<u.length;E++){var A=u[E],C=A._private.rscratch;if(A.grabbed()&&!A.isParent())B.push(A);else if(C.inDragLayer)u.drag.push(A);else u.nondrag.push(A)}for(var E=0;E<B.length;E++){var A=B[E];u.drag.push(A)}};Qm.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null};Qm.getCachedZSortedEles=function(u){if(u||!this.cachedZSortedEles){var B=this.cy.mutableElements().toArray();B.sort(Sg0),B.interactive=B.filter(function(E){return E.interactive()}),this.cachedZSortedEles=B,this.updateCachedGrabbedEles()}else B=this.cachedZSortedEles;return B};pg0={};[yK,sa,a7,CY,f70,oF,_g0,wm,Qm].forEach(function(u){k3(pg0,u)});ng0={};ng0.getCachedImage=function(u,B,E){var A=this,C=A.imageCache=A.imageCache||{},D=C[u];if(D){if(!D.image.complete)D.image.addEventListener("load",E);return D.image}else{D=C[u]=C[u]||{};var F=D.image=new Image;F.addEventListener("load",E),F.addEventListener("error",function(){F.error=!0});var U="data:",z=u.substring(0,U.length).toLowerCase()===U;if(!z)B=B==="null"?null:B,F.crossOrigin=B;return F.src=u,F}};Bl={};Bl.registerBinding=function(u,B,E,A){var C=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(u)){var D=[];for(var F=0;F<u.length;F++){var U=u[F];if(U!==void 0){var z=this.binder(U);D.push(z.on.apply(z,C))}}return D}var z=this.binder(u);return z.on.apply(z,C)};Bl.binder=function(u){var B=this,E=B.cy.window(),A=u===E||u===E.document||u===E.document.body||NJ4(u);if(B.supportsPassiveEvents==null){var C=!1;try{var D=Object.defineProperty({},"passive",{get:function(){return C=!0,!0}});E.addEventListener("test",null,D)}catch(U){}B.supportsPassiveEvents=C}var F=function(z,k,f){var M=Array.prototype.slice.call(arguments);if(A&&B.supportsPassiveEvents)M[2]={capture:f!=null?f:!1,passive:!1,once:!1};return B.bindings.push({target:u,args:M}),(u.addEventListener||u.on).apply(u,M),this};return{on:F,addEventListener:F,addListener:F,bind:F}};Bl.nodeIsDraggable=function(u){return u&&u.isNode()&&!u.locked()&&u.grabbable()};Bl.nodeIsGrabbable=function(u){return this.nodeIsDraggable(u)&&u.interactive()};Bl.load=function(){var u=this,B=u.cy.window(),E=function(n){return n.selected()},A=function(n){var d=n.getRootNode();if(d&&d.nodeType===11&&d.host!==void 0)return d},C=function(n,d,q0,o){if(n==null)n=u.cy;for(var l0=0;l0<d.length;l0++){var E0=d[l0];n.emit({originalEvent:q0,type:E0,position:o})}},D=function(n){return n.shiftKey||n.metaKey||n.ctrlKey},F=function(n,d){var q0=!0;if(u.cy.hasCompoundNodes()&&n&&n.pannable())for(var o=0;d&&o<d.length;o++){var n=d[o];if(n.isNode()&&n.isParent()&&!n.pannable()){q0=!1;break}}else q0=!0;return q0},U=function(n){n[0]._private.rscratch.inDragLayer=!0},z=function(n){n[0]._private.rscratch.inDragLayer=!1},k=function(n){n[0]._private.rscratch.isGrabTarget=!0},f=function(n){n[0]._private.rscratch.isGrabTarget=!1},M=function(n,d){var q0=d.addToList,o=q0.has(n);if(!o&&n.grabbable()&&!n.locked())q0.merge(n),WH4(n)},b=function(n,d){if(!n.cy().hasCompoundNodes())return;if(d.inDragLayer==null&&d.addToList==null)return;var q0=n.descendants();if(d.inDragLayer)q0.forEach(U),q0.connectedEdges().forEach(U);if(d.addToList)M(q0,d)},Z=function(n,d){d=d||{};var q0=n.cy().hasCompoundNodes();if(d.inDragLayer)n.forEach(U),n.neighborhood().stdFilter(function(o){return!q0||o.isEdge()}).forEach(U);if(d.addToList)n.forEach(function(o){M(o,d)});b(n,d),w(n,{inDragLayer:d.inDragLayer}),u.updateCachedGrabbedEles()},J=Z,K=function(n){if(!n)return;u.getCachedZSortedEles().forEach(function(d){SH4(d),z(d),f(d)}),u.updateCachedGrabbedEles()},w=function(n,d){if(d.inDragLayer==null&&d.addToList==null)return;if(!n.cy().hasCompoundNodes())return;var q0=n.ancestors().orphans();if(q0.same(n))return;var o=q0.descendants().spawnSelf().merge(q0).unmerge(n).unmerge(n.descendants()),l0=o.connectedEdges();if(d.inDragLayer)l0.forEach(U),o.forEach(U);if(d.addToList)o.forEach(function(E0){M(E0,d)})},Q=function(){if(document.activeElement!=null&&document.activeElement.blur!=null)document.activeElement.blur()},G=typeof MutationObserver<"u",H=typeof ResizeObserver<"u";if(G){if(u.removeObserver=new MutationObserver(function(K0){for(var n=0;n<K0.length;n++){var d=K0[n],q0=d.removedNodes;if(q0)for(var o=0;o<q0.length;o++){var l0=q0[o];if(l0===u.container){u.destroy();break}}}}),u.container.parentNode)u.removeObserver.observe(u.container.parentNode,{childList:!0})}else u.registerBinding(u.container,"DOMNodeRemoved",function(K0){u.destroy()});var l=uY(function(){u.cy.resize()},100);if(G)u.styleObserver=new MutationObserver(l),u.styleObserver.observe(u.container,{attributes:!0});if(u.registerBinding(B,"resize",l),H)u.resizeObserver=new ResizeObserver(l),u.resizeObserver.observe(u.container);var q=function(n,d){while(n!=null)d(n),n=n.parentNode},L=function(){u.invalidateContainerClientCoordsCache()};q(u.container,function(K0){u.registerBinding(K0,"transitionend",L),u.registerBinding(K0,"animationend",L),u.registerBinding(K0,"scroll",L)}),u.registerBinding(u.container,"contextmenu",function(K0){K0.preventDefault()});var v=function(){return u.selection[4]!==0},x=function(n){var d=u.findContainerClientCoords(),q0=d[0],o=d[1],l0=d[2],E0=d[3],$0=n.touches?n.touches:[n],g0=!1;for(var n0=0;n0<$0.length;n0++){var c0=$0[n0];if(q0<=c0.clientX&&c0.clientX<=q0+l0&&o<=c0.clientY&&c0.clientY<=o+E0){g0=!0;break}}if(!g0)return!1;var Bu=u.container,p0=n.target,e0=p0.parentNode,t0=!1;while(e0){if(e0===Bu){t0=!0;break}e0=e0.parentNode}if(!t0)return!1;return!0};u.registerBinding(u.container,"mousedown",function(n){if(!x(n))return;if(u.hoverData.which===1&&n.which!==1)return;n.preventDefault(),Q(),u.hoverData.capture=!0,u.hoverData.which=n.which;var d=u.cy,q0=[n.clientX,n.clientY],o=u.projectIntoViewport(q0[0],q0[1]),l0=u.selection,E0=u.findNearestElements(o[0],o[1],!0,!1),$0=E0[0],g0=u.dragData.possibleDragElements;u.hoverData.mdownPos=o,u.hoverData.mdownGPos=q0;var n0=function(zu){return{originalEvent:n,type:zu,position:{x:o[0],y:o[1]}}},c0=function(){u.hoverData.tapholdCancelled=!1,clearTimeout(u.hoverData.tapholdTimeout),u.hoverData.tapholdTimeout=setTimeout(function(){if(u.hoverData.tapholdCancelled)return;else{var zu=u.hoverData.down;if(zu)zu.emit(n0("taphold"));else d.emit(n0("taphold"))}},u.tapholdDuration)};if(n.which==3){u.hoverData.cxtStarted=!0;var Bu={originalEvent:n,type:"cxttapstart",position:{x:o[0],y:o[1]}};if($0)$0.activate(),$0.emit(Bu),u.hoverData.down=$0;else d.emit(Bu);u.hoverData.downTime=new Date().getTime(),u.hoverData.cxtDragged=!1}else if(n.which==1){if($0)$0.activate();{if($0!=null){if(u.nodeIsGrabbable($0)){var p0=function(zu){zu.emit(n0("grab"))};if(k($0),!$0.selected())g0=u.dragData.possibleDragElements=d.collection(),J($0,{addToList:g0}),$0.emit(n0("grabon")).emit(n0("grab"));else{g0=u.dragData.possibleDragElements=d.collection();var e0=d.$(function(t0){return t0.isNode()&&t0.selected()&&u.nodeIsGrabbable(t0)});Z(e0,{addToList:g0}),$0.emit(n0("grabon")),e0.forEach(p0)}u.redrawHint("eles",!0),u.redrawHint("drag",!0)}}u.hoverData.down=$0,u.hoverData.downs=E0,u.hoverData.downTime=new Date().getTime()}if(C($0,["mousedown","tapstart","vmousedown"],n,{x:o[0],y:o[1]}),$0==null)l0[4]=1,u.data.bgActivePosistion={x:o[0],y:o[1]},u.redrawHint("select",!0),u.redraw();else if($0.pannable())l0[4]=1;c0()}l0[0]=l0[2]=o[0],l0[1]=l0[3]=o[1]},!1);var S=A(u.container);u.registerBinding([B,S],"mousemove",function(n){var d=u.hoverData.capture;if(!d&&!x(n))return;var q0=!1,o=u.cy,l0=o.zoom(),E0=[n.clientX,n.clientY],$0=u.projectIntoViewport(E0[0],E0[1]),g0=u.hoverData.mdownPos,n0=u.hoverData.mdownGPos,c0=u.selection,Bu=null;if(!u.hoverData.draggingEles&&!u.hoverData.dragging&&!u.hoverData.selecting)Bu=u.findNearestElement($0[0],$0[1],!0,!1);var p0=u.hoverData.last,e0=u.hoverData.down,t0=[$0[0]-c0[2],$0[1]-c0[3]],zu=u.dragData.possibleDragElements,S0;if(n0){var yu=E0[0]-n0[0],V0=yu*yu,xu=E0[1]-n0[1],gu=xu*xu,Du=V0+gu;u.hoverData.isOverThresholdDrag=S0=Du>=u.desktopTapThreshold2}var Nu=D(n);if(S0)u.hoverData.tapholdCancelled=!0;var du=function(){var $u=u.hoverData.dragDelta=u.hoverData.dragDelta||[];if($u.length===0)$u.push(t0[0]),$u.push(t0[1]);else $u[0]+=t0[0],$u[1]+=t0[1]};q0=!0,C(Bu,["mousemove","vmousemove","tapdrag"],n,{x:$0[0],y:$0[1]});var Iu=function($u){return{originalEvent:n,type:$u,position:{x:$0[0],y:$0[1]}}},v0=function(){if(u.data.bgActivePosistion=void 0,!u.hoverData.selecting)o.emit(Iu("boxstart"));c0[4]=1,u.hoverData.selecting=!0,u.redrawHint("select",!0),u.redraw()};if(u.hoverData.which===3){if(S0){var Tu=Iu("cxtdrag");if(e0)e0.emit(Tu);else o.emit(Tu);if(u.hoverData.cxtDragged=!0,!u.hoverData.cxtOver||Bu!==u.hoverData.cxtOver){if(u.hoverData.cxtOver)u.hoverData.cxtOver.emit(Iu("cxtdragout"));if(u.hoverData.cxtOver=Bu,Bu)Bu.emit(Iu("cxtdragover"))}}}else if(u.hoverData.dragging){if(q0=!0,o.panningEnabled()&&o.userPanningEnabled()){var iu;if(u.hoverData.justStartedPan){var Ju=u.hoverData.mdownPos;iu={x:($0[0]-Ju[0])*l0,y:($0[1]-Ju[1])*l0},u.hoverData.justStartedPan=!1}else iu={x:t0[0]*l0,y:t0[1]*l0};o.panBy(iu),o.emit(Iu("dragpan")),u.hoverData.dragged=!0}$0=u.projectIntoViewport(n.clientX,n.clientY)}else if(c0[4]==1&&(e0==null||e0.pannable())){if(S0){if(!u.hoverData.dragging&&o.boxSelectionEnabled()&&(Nu||!o.panningEnabled()||!o.userPanningEnabled()))v0();else if(!u.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){var I0=F(e0,u.hoverData.downs);if(I0)u.hoverData.dragging=!0,u.hoverData.justStartedPan=!0,c0[4]=0,u.data.bgActivePosistion=aq(g0),u.redrawHint("select",!0),u.redraw()}if(e0&&e0.pannable()&&e0.active())e0.unactivate()}}else{if(e0&&e0.pannable()&&e0.active())e0.unactivate();if((!e0||!e0.grabbed())&&Bu!=p0){if(p0)C(p0,["mouseout","tapdragout"],n,{x:$0[0],y:$0[1]});if(Bu)C(Bu,["mouseover","tapdragover"],n,{x:$0[0],y:$0[1]});u.hoverData.last=Bu}if(e0)if(S0){if(o.boxSelectionEnabled()&&Nu){if(e0&&e0.grabbed()){if(K(zu),e0.emit(Iu("freeon")),zu.emit(Iu("free")),u.dragData.didDrag)e0.emit(Iu("dragfreeon")),zu.emit(Iu("dragfree"))}v0()}else if(e0&&e0.grabbed()&&u.nodeIsDraggable(e0)){var Mu=!u.dragData.didDrag;if(Mu)u.redrawHint("eles",!0);if(u.dragData.didDrag=!0,!u.hoverData.draggingEles)Z(zu,{inDragLayer:!0});var qu={x:0,y:0};if(K4(t0[0])&&K4(t0[1])){if(qu.x+=t0[0],qu.y+=t0[1],Mu){var Ru=u.hoverData.dragDelta;if(Ru&&K4(Ru[0])&&K4(Ru[1]))qu.x+=Ru[0],qu.y+=Ru[1]}}u.hoverData.draggingEles=!0,zu.silentShift(qu).emit(Iu("position")).emit(Iu("drag")),u.redrawHint("drag",!0),u.redraw()}}else du();q0=!0}if(c0[2]=$0[0],c0[3]=$0[1],q0){if(n.stopPropagation)n.stopPropagation();if(n.preventDefault)n.preventDefault();return!1}},!1);var W,T,R;u.registerBinding(B,"mouseup",function(n){if(u.hoverData.which===1&&n.which!==1&&u.hoverData.capture)return;var d=u.hoverData.capture;if(!d)return;u.hoverData.capture=!1;var q0=u.cy,o=u.projectIntoViewport(n.clientX,n.clientY),l0=u.selection,E0=u.findNearestElement(o[0],o[1],!0,!1),$0=u.dragData.possibleDragElements,g0=u.hoverData.down,n0=D(n);if(u.data.bgActivePosistion)u.redrawHint("select",!0),u.redraw();if(u.hoverData.tapholdCancelled=!0,u.data.bgActivePosistion=void 0,g0)g0.unactivate();var c0=function(yu){return{originalEvent:n,type:yu,position:{x:o[0],y:o[1]}}};if(u.hoverData.which===3){var Bu=c0("cxttapend");if(g0)g0.emit(Bu);else q0.emit(Bu);if(!u.hoverData.cxtDragged){var p0=c0("cxttap");if(g0)g0.emit(p0);else q0.emit(p0)}u.hoverData.cxtDragged=!1,u.hoverData.which=null}else if(u.hoverData.which===1){if(C(E0,["mouseup","tapend","vmouseup"],n,{x:o[0],y:o[1]}),!u.dragData.didDrag&&!u.hoverData.dragged&&!u.hoverData.selecting&&!u.hoverData.isOverThresholdDrag)if(C(g0,["click","tap","vclick"],n,{x:o[0],y:o[1]}),T=!1,n.timeStamp-R<=q0.multiClickDebounceTime())W&&clearTimeout(W),T=!0,R=null,C(g0,["dblclick","dbltap","vdblclick"],n,{x:o[0],y:o[1]});else W=setTimeout(function(){if(T)return;C(g0,["oneclick","onetap","voneclick"],n,{x:o[0],y:o[1]})},q0.multiClickDebounceTime()),R=n.timeStamp;if(g0==null&&!u.dragData.didDrag&&!u.hoverData.selecting&&!u.hoverData.dragged&&!D(n)){if(q0.$(E).unselect(["tapunselect"]),$0.length>0)u.redrawHint("eles",!0);u.dragData.possibleDragElements=$0=q0.collection()}if(E0==g0&&!u.dragData.didDrag&&!u.hoverData.selecting){if(E0!=null&&E0._private.selectable){if(u.hoverData.dragging);else if(q0.selectionType()==="additive"||n0)if(E0.selected())E0.unselect(["tapunselect"]);else E0.select(["tapselect"]);else if(!n0)q0.$(E).unmerge(E0).unselect(["tapunselect"]),E0.select(["tapselect"]);u.redrawHint("eles",!0)}}if(u.hoverData.selecting){var e0=q0.collection(u.getAllInBox(l0[0],l0[1],l0[2],l0[3]));if(u.redrawHint("select",!0),e0.length>0)u.redrawHint("eles",!0);q0.emit(c0("boxend"));var t0=function(yu){return yu.selectable()&&!yu.selected()};if(q0.selectionType()==="additive")e0.emit(c0("box")).stdFilter(t0).select().emit(c0("boxselect"));else{if(!n0)q0.$(E).unmerge(e0).unselect();e0.emit(c0("box")).stdFilter(t0).select().emit(c0("boxselect"))}u.redraw()}if(u.hoverData.dragging)u.hoverData.dragging=!1,u.redrawHint("select",!0),u.redrawHint("eles",!0),u.redraw();if(!l0[4]){u.redrawHint("drag",!0),u.redrawHint("eles",!0);var zu=g0&&g0.grabbed();if(K($0),zu){if(g0.emit(c0("freeon")),$0.emit(c0("free")),u.dragData.didDrag)g0.emit(c0("dragfreeon")),$0.emit(c0("dragfree"))}}}l0[4]=0,u.hoverData.down=null,u.hoverData.cxtStarted=!1,u.hoverData.draggingEles=!1,u.hoverData.selecting=!1,u.hoverData.isOverThresholdDrag=!1,u.dragData.didDrag=!1,u.hoverData.dragged=!1,u.hoverData.dragDelta=[],u.hoverData.mdownPos=null,u.hoverData.mdownGPos=null,u.hoverData.which=null},!1);var Y=[],h=4,I,O=1e5,V=function(n){var d=Math.abs(n[0]);for(var q0=1;q0<n.length;q0++)if(Math.abs(n[q0])!==d)return!1;return!0},j=function(n){var d=!1,q0=n.deltaY;if(q0==null){if(n.wheelDeltaY!=null)q0=n.wheelDeltaY/4;else if(n.wheelDelta!=null)q0=n.wheelDelta/4}if(q0===0)return;if(I==null)if(Y.length>=h){I=!1;var o=Y;if(o[0]>=5){var l0;if(V(o))l0=o[0];else l0=rK4(o);if(l0>1)I=!0,O=l0}}else Y.push(Math.abs(q0)),d=!0;else if(I)O=Math.min(Math.abs(q0),O);if(u.scrollingPage)return;var E0=u.cy,$0=E0.zoom(),g0=E0.pan(),n0=u.projectIntoViewport(n.clientX,n.clientY),c0=[n0[0]*$0+g0.x,n0[1]*$0+g0.y];if(u.hoverData.draggingEles||u.hoverData.dragging||u.hoverData.cxtStarted||v()){n.preventDefault();return}if(E0.panningEnabled()&&E0.userPanningEnabled()&&E0.zoomingEnabled()&&E0.userZoomingEnabled()){n.preventDefault(),u.data.wheelZooming=!0,clearTimeout(u.data.wheelTimeout),u.data.wheelTimeout=setTimeout(function(){u.data.wheelZooming=!1,u.redrawHint("eles",!0),u.redraw()},150);var Bu;if(d&&Math.abs(q0)>5)q0=s50(q0)*5;if(Bu=q0/-250,I)Bu/=O,Bu*=3;Bu=Bu*u.wheelSensitivity;var p0=n.deltaMode===1;if(p0)Bu*=33;var e0=E0.zoom()*Math.pow(10,Bu);if(n.type==="gesturechange")e0=u.gestureStartZoom*n.scale;E0.zoom({level:e0,renderedPosition:{x:c0[0],y:c0[1]}}),E0.emit({type:n.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:n,position:{x:n0[0],y:n0[1]}})}};u.registerBinding(u.container,"wheel",j,!0),u.registerBinding(B,"scroll",function(n){u.scrollingPage=!0,clearTimeout(u.scrollingPageTimeout),u.scrollingPageTimeout=setTimeout(function(){u.scrollingPage=!1},250)},!0),u.registerBinding(u.container,"gesturestart",function(n){if(u.gestureStartZoom=u.cy.zoom(),!u.hasTouchStarted)n.preventDefault()},!0),u.registerBinding(u.container,"gesturechange",function(K0){if(!u.hasTouchStarted)j(K0)},!0),u.registerBinding(u.container,"mouseout",function(n){var d=u.projectIntoViewport(n.clientX,n.clientY);u.cy.emit({originalEvent:n,type:"mouseout",position:{x:d[0],y:d[1]}})},!1),u.registerBinding(u.container,"mouseover",function(n){var d=u.projectIntoViewport(n.clientX,n.clientY);u.cy.emit({originalEvent:n,type:"mouseover",position:{x:d[0],y:d[1]}})},!1);var i,a,$,m,y,r,_,e,p,b0,B0,k0,f0,D0=function(n,d,q0,o){return Math.sqrt((q0-n)*(q0-n)+(o-d)*(o-d))},P0=function(n,d,q0,o){return(q0-n)*(q0-n)+(o-d)*(o-d)},L0;u.registerBinding(u.container,"touchstart",L0=function(n){if(u.hasTouchStarted=!0,!x(n))return;Q(),u.touchData.capture=!0,u.data.bgActivePosistion=void 0;var d=u.cy,q0=u.touchData.now,o=u.touchData.earlier;if(n.touches[0]){var l0=u.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);q0[0]=l0[0],q0[1]=l0[1]}if(n.touches[1]){var l0=u.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);q0[2]=l0[0],q0[3]=l0[1]}if(n.touches[2]){var l0=u.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);q0[4]=l0[0],q0[5]=l0[1]}var E0=function(Nu){return{originalEvent:n,type:Nu,position:{x:q0[0],y:q0[1]}}};if(n.touches[1]){u.touchData.singleTouchMoved=!0,K(u.dragData.touchDragEles);var $0=u.findContainerClientCoords();p=$0[0],b0=$0[1],B0=$0[2],k0=$0[3],i=n.touches[0].clientX-p,a=n.touches[0].clientY-b0,$=n.touches[1].clientX-p,m=n.touches[1].clientY-b0,f0=0<=i&&i<=B0&&0<=$&&$<=B0&&0<=a&&a<=k0&&0<=m&&m<=k0;var g0=d.pan(),n0=d.zoom();y=D0(i,a,$,m),r=P0(i,a,$,m),_=[(i+$)/2,(a+m)/2],e=[(_[0]-g0.x)/n0,(_[1]-g0.y)/n0];var c0=200,Bu=c0*c0;if(r<Bu&&!n.touches[2]){var p0=u.findNearestElement(q0[0],q0[1],!0,!0),e0=u.findNearestElement(q0[2],q0[3],!0,!0);if(p0&&p0.isNode())p0.activate().emit(E0("cxttapstart")),u.touchData.start=p0;else if(e0&&e0.isNode())e0.activate().emit(E0("cxttapstart")),u.touchData.start=e0;else d.emit(E0("cxttapstart"));if(u.touchData.start)u.touchData.start._private.grabbed=!1;u.touchData.cxt=!0,u.touchData.cxtDragged=!1,u.data.bgActivePosistion=void 0,u.redraw();return}}if(n.touches[2]){if(d.boxSelectionEnabled())n.preventDefault()}else if(n.touches[1]);else if(n.touches[0]){var t0=u.findNearestElements(q0[0],q0[1],!0,!0),zu=t0[0];if(zu!=null){if(zu.activate(),u.touchData.start=zu,u.touchData.starts=t0,u.nodeIsGrabbable(zu)){var S0=u.dragData.touchDragEles=d.collection(),yu=null;if(u.redrawHint("eles",!0),u.redrawHint("drag",!0),zu.selected())yu=d.$(function(Du){return Du.selected()&&u.nodeIsGrabbable(Du)}),Z(yu,{addToList:S0});else J(zu,{addToList:S0});if(k(zu),zu.emit(E0("grabon")),yu)yu.forEach(function(Du){Du.emit(E0("grab"))});else zu.emit(E0("grab"))}}if(C(zu,["touchstart","tapstart","vmousedown"],n,{x:q0[0],y:q0[1]}),zu==null)u.data.bgActivePosistion={x:l0[0],y:l0[1]},u.redrawHint("select",!0),u.redraw();u.touchData.singleTouchMoved=!1,u.touchData.singleTouchStartTime=+new Date,clearTimeout(u.touchData.tapholdTimeout),u.touchData.tapholdTimeout=setTimeout(function(){if(u.touchData.singleTouchMoved===!1&&!u.pinching&&!u.touchData.selecting)C(u.touchData.start,["taphold"],n,{x:q0[0],y:q0[1]})},u.tapholdDuration)}if(n.touches.length>=1){var V0=u.touchData.startPosition=[null,null,null,null,null,null];for(var xu=0;xu<q0.length;xu++)V0[xu]=o[xu]=q0[xu];var gu=n.touches[0];u.touchData.startGPosition=[gu.clientX,gu.clientY]}},!1);var m0;u.registerBinding(B,"touchmove",m0=function(n){var d=u.touchData.capture;if(!d&&!x(n))return;var{selection:q0,cy:o}=u,l0=u.touchData.now,E0=u.touchData.earlier,$0=o.zoom();if(n.touches[0]){var g0=u.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l0[0]=g0[0],l0[1]=g0[1]}if(n.touches[1]){var g0=u.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);l0[2]=g0[0],l0[3]=g0[1]}if(n.touches[2]){var g0=u.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);l0[4]=g0[0],l0[5]=g0[1]}var n0=function(i0){return{originalEvent:n,type:i0,position:{x:l0[0],y:l0[1]}}},c0=u.touchData.startGPosition,Bu;if(d&&n.touches[0]&&c0){var p0=[];for(var e0=0;e0<l0.length;e0++)p0[e0]=l0[e0]-E0[e0];var t0=n.touches[0].clientX-c0[0],zu=t0*t0,S0=n.touches[0].clientY-c0[1],yu=S0*S0,V0=zu+yu;Bu=V0>=u.touchTapThreshold2}if(d&&u.touchData.cxt){n.preventDefault();var xu=n.touches[0].clientX-p,gu=n.touches[0].clientY-b0,Du=n.touches[1].clientX-p,Nu=n.touches[1].clientY-b0,du=P0(xu,gu,Du,Nu),Iu=du/r,v0=150,Tu=v0*v0,iu=1.5,Ju=iu*iu;if(Iu>=Ju||du>=Tu){u.touchData.cxt=!1,u.data.bgActivePosistion=void 0,u.redrawHint("select",!0);var I0=n0("cxttapend");if(u.touchData.start)u.touchData.start.unactivate().emit(I0),u.touchData.start=null;else o.emit(I0)}}if(d&&u.touchData.cxt){var I0=n0("cxtdrag");if(u.data.bgActivePosistion=void 0,u.redrawHint("select",!0),u.touchData.start)u.touchData.start.emit(I0);else o.emit(I0);if(u.touchData.start)u.touchData.start._private.grabbed=!1;u.touchData.cxtDragged=!0;var Mu=u.findNearestElement(l0[0],l0[1],!0,!0);if(!u.touchData.cxtOver||Mu!==u.touchData.cxtOver){if(u.touchData.cxtOver)u.touchData.cxtOver.emit(n0("cxtdragout"));if(u.touchData.cxtOver=Mu,Mu)Mu.emit(n0("cxtdragover"))}}else if(d&&n.touches[2]&&o.boxSelectionEnabled()){if(n.preventDefault(),u.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,!u.touchData.selecting)o.emit(n0("boxstart"));if(u.touchData.selecting=!0,u.touchData.didSelect=!0,q0[4]=1,!q0||q0.length===0||q0[0]===void 0)q0[0]=(l0[0]+l0[2]+l0[4])/3,q0[1]=(l0[1]+l0[3]+l0[5])/3,q0[2]=(l0[0]+l0[2]+l0[4])/3+1,q0[3]=(l0[1]+l0[3]+l0[5])/3+1;else q0[2]=(l0[0]+l0[2]+l0[4])/3,q0[3]=(l0[1]+l0[3]+l0[5])/3;u.redrawHint("select",!0),u.redraw()}else if(d&&n.touches[1]&&!u.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){n.preventDefault(),u.data.bgActivePosistion=void 0,u.redrawHint("select",!0);var qu=u.dragData.touchDragEles;if(qu){u.redrawHint("drag",!0);for(var Ru=0;Ru<qu.length;Ru++){var S4=qu[Ru]._private;S4.grabbed=!1,S4.rscratch.inDragLayer=!1}}var $u=u.touchData.start,xu=n.touches[0].clientX-p,gu=n.touches[0].clientY-b0,Du=n.touches[1].clientX-p,Nu=n.touches[1].clientY-b0,L4=D0(xu,gu,Du,Nu),F3=L4/y;if(f0){var V4=xu-i,b4=gu-a,P4=Du-$,bu=Nu-m,Lu=(V4+P4)/2,pu=(b4+bu)/2,g4=o.zoom(),y4=g4*F3,B3=o.pan(),k1=e[0]*g4+B3.x,E3=e[1]*g4+B3.y,eu={x:-y4/g4*(k1-B3.x-Lu)+k1,y:-y4/g4*(E3-B3.y-pu)+E3};if($u&&$u.active()){var qu=u.dragData.touchDragEles;if(K(qu),u.redrawHint("drag",!0),u.redrawHint("eles",!0),$u.unactivate().emit(n0("freeon")),qu)qu.emit(n0("free"));if(u.dragData.didDrag){if($u.emit(n0("dragfreeon")),qu)qu.emit(n0("dragfree"))}}o.viewport({zoom:y4,pan:eu,cancelOnFailedZoom:!0}),o.emit(n0("pinchzoom")),y=L4,i=xu,a=gu,$=Du,m=Nu,u.pinching=!0}if(n.touches[0]){var g0=u.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l0[0]=g0[0],l0[1]=g0[1]}if(n.touches[1]){var g0=u.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);l0[2]=g0[0],l0[3]=g0[1]}if(n.touches[2]){var g0=u.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);l0[4]=g0[0],l0[5]=g0[1]}}else if(n.touches[0]&&!u.touchData.didSelect){var hu=u.touchData.start,f4=u.touchData.last,Mu;if(!u.hoverData.draggingEles&&!u.swipePanning)Mu=u.findNearestElement(l0[0],l0[1],!0,!0);if(d&&hu!=null)n.preventDefault();if(d&&hu!=null&&u.nodeIsDraggable(hu))if(Bu){var qu=u.dragData.touchDragEles,U4=!u.dragData.didDrag;if(U4)Z(qu,{inDragLayer:!0});u.dragData.didDrag=!0;var Vu={x:0,y:0};if(K4(p0[0])&&K4(p0[1])){if(Vu.x+=p0[0],Vu.y+=p0[1],U4){u.redrawHint("eles",!0);var X4=u.touchData.dragDelta;if(X4&&K4(X4[0])&&K4(X4[1]))Vu.x+=X4[0],Vu.y+=X4[1]}}if(u.hoverData.draggingEles=!0,qu.silentShift(Vu).emit(n0("position")).emit(n0("drag")),u.redrawHint("drag",!0),u.touchData.startPosition[0]==E0[0]&&u.touchData.startPosition[1]==E0[1])u.redrawHint("eles",!0);u.redraw()}else{var X4=u.touchData.dragDelta=u.touchData.dragDelta||[];if(X4.length===0)X4.push(p0[0]),X4.push(p0[1]);else X4[0]+=p0[0],X4[1]+=p0[1]}{if(C(hu||Mu,["touchmove","tapdrag","vmousemove"],n,{x:l0[0],y:l0[1]}),(!hu||!hu.grabbed())&&Mu!=f4){if(f4)f4.emit(n0("tapdragout"));if(Mu)Mu.emit(n0("tapdragover"))}u.touchData.last=Mu}if(d){for(var Ru=0;Ru<l0.length;Ru++)if(l0[Ru]&&u.touchData.startPosition[Ru]&&Bu)u.touchData.singleTouchMoved=!0}if(d&&(hu==null||hu.pannable())&&o.panningEnabled()&&o.userPanningEnabled()){var O0=F(hu,u.touchData.starts);if(O0){if(n.preventDefault(),!u.data.bgActivePosistion)u.data.bgActivePosistion=aq(u.touchData.startPosition);if(u.swipePanning)o.panBy({x:p0[0]*$0,y:p0[1]*$0}),o.emit(n0("dragpan"));else if(Bu){if(u.swipePanning=!0,o.panBy({x:t0*$0,y:S0*$0}),o.emit(n0("dragpan")),hu)hu.unactivate(),u.redrawHint("select",!0),u.touchData.start=null}}var g0=u.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l0[0]=g0[0],l0[1]=g0[1]}}for(var e0=0;e0<l0.length;e0++)E0[e0]=l0[e0];if(d&&n.touches.length>0&&!u.hoverData.draggingEles&&!u.swipePanning&&u.data.bgActivePosistion!=null)u.data.bgActivePosistion=void 0,u.redrawHint("select",!0),u.redraw()},!1);var h0;u.registerBinding(B,"touchcancel",h0=function(n){var d=u.touchData.start;if(u.touchData.capture=!1,d)d.unactivate()});var _0,w0,x0,T0;if(u.registerBinding(B,"touchend",_0=function(n){var d=u.touchData.start,q0=u.touchData.capture;if(q0){if(n.touches.length===0)u.touchData.capture=!1;n.preventDefault()}else return;var o=u.selection;u.swipePanning=!1,u.hoverData.draggingEles=!1;var l0=u.cy,E0=l0.zoom(),$0=u.touchData.now,g0=u.touchData.earlier;if(n.touches[0]){var n0=u.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);$0[0]=n0[0],$0[1]=n0[1]}if(n.touches[1]){var n0=u.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY);$0[2]=n0[0],$0[3]=n0[1]}if(n.touches[2]){var n0=u.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY);$0[4]=n0[0],$0[5]=n0[1]}var c0=function(Tu){return{originalEvent:n,type:Tu,position:{x:$0[0],y:$0[1]}}};if(d)d.unactivate();var Bu;if(u.touchData.cxt){if(Bu=c0("cxttapend"),d)d.emit(Bu);else l0.emit(Bu);if(!u.touchData.cxtDragged){var p0=c0("cxttap");if(d)d.emit(p0);else l0.emit(p0)}if(u.touchData.start)u.touchData.start._private.grabbed=!1;u.touchData.cxt=!1,u.touchData.start=null,u.redraw();return}if(!n.touches[2]&&l0.boxSelectionEnabled()&&u.touchData.selecting){u.touchData.selecting=!1;var e0=l0.collection(u.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,u.redrawHint("select",!0),l0.emit(c0("boxend"));var t0=function(Tu){return Tu.selectable()&&!Tu.selected()};if(e0.emit(c0("box")).stdFilter(t0).select().emit(c0("boxselect")),e0.nonempty())u.redrawHint("eles",!0);u.redraw()}if(d!=null)d.unactivate();if(n.touches[2])u.data.bgActivePosistion=void 0,u.redrawHint("select",!0);else if(n.touches[1]);else if(n.touches[0]);else if(!n.touches[0]){u.data.bgActivePosistion=void 0,u.redrawHint("select",!0);var zu=u.dragData.touchDragEles;if(d!=null){var S0=d._private.grabbed;if(K(zu),u.redrawHint("drag",!0),u.redrawHint("eles",!0),S0){if(d.emit(c0("freeon")),zu.emit(c0("free")),u.dragData.didDrag)d.emit(c0("dragfreeon")),zu.emit(c0("dragfree"))}C(d,["touchend","tapend","vmouseup","tapdragout"],n,{x:$0[0],y:$0[1]}),d.unactivate(),u.touchData.start=null}else{var yu=u.findNearestElement($0[0],$0[1],!0,!0);C(yu,["touchend","tapend","vmouseup","tapdragout"],n,{x:$0[0],y:$0[1]})}var V0=u.touchData.startPosition[0]-$0[0],xu=V0*V0,gu=u.touchData.startPosition[1]-$0[1],Du=gu*gu,Nu=xu+Du,du=Nu*E0*E0;if(!u.touchData.singleTouchMoved){if(!d)l0.$(":selected").unselect(["tapunselect"]);if(C(d,["tap","vclick"],n,{x:$0[0],y:$0[1]}),w0=!1,n.timeStamp-T0<=l0.multiClickDebounceTime())x0&&clearTimeout(x0),w0=!0,T0=null,C(d,["dbltap","vdblclick"],n,{x:$0[0],y:$0[1]});else x0=setTimeout(function(){if(w0)return;C(d,["onetap","voneclick"],n,{x:$0[0],y:$0[1]})},l0.multiClickDebounceTime()),T0=n.timeStamp}if(d!=null&&!u.dragData.didDrag&&d._private.selectable&&du<u.touchTapThreshold2&&!u.pinching){if(l0.selectionType()==="single")l0.$(E).unmerge(d).unselect(["tapunselect"]),d.select(["tapselect"]);else if(d.selected())d.unselect(["tapunselect"]);else d.select(["tapselect"]);u.redrawHint("eles",!0)}u.touchData.singleTouchMoved=!0}for(var Iu=0;Iu<$0.length;Iu++)g0[Iu]=$0[Iu];if(u.dragData.didDrag=!1,n.touches.length===0)u.touchData.dragDelta=[],u.touchData.startPosition=[null,null,null,null,null,null],u.touchData.startGPosition=null,u.touchData.didSelect=!1;if(n.touches.length<2){if(n.touches.length===1)u.touchData.startGPosition=[n.touches[0].clientX,n.touches[0].clientY];u.pinching=!1,u.redrawHint("eles",!0),u.redraw()}},!1),typeof TouchEvent>"u"){var J0=[],F0=function(n){return{clientX:n.clientX,clientY:n.clientY,force:1,identifier:n.pointerId,pageX:n.pageX,pageY:n.pageY,radiusX:n.width/2,radiusY:n.height/2,screenX:n.screenX,screenY:n.screenY,target:n.target}},u0=function(n){return{event:n,touch:F0(n)}},Z0=function(n){J0.push(u0(n))},X0=function(n){for(var d=0;d<J0.length;d++){var q0=J0[d];if(q0.event.pointerId===n.pointerId){J0.splice(d,1);return}}},W0=function(n){var d=J0.filter(function(q0){return q0.event.pointerId===n.pointerId})[0];d.event=n,d.touch=F0(n)},Y0=function(n){n.touches=J0.map(function(d){return d.touch})},a0=function(n){return n.pointerType==="mouse"||n.pointerType===4};u.registerBinding(u.container,"pointerdown",function(K0){if(a0(K0))return;K0.preventDefault(),Z0(K0),Y0(K0),L0(K0)}),u.registerBinding(u.container,"pointerup",function(K0){if(a0(K0))return;X0(K0),Y0(K0),_0(K0)}),u.registerBinding(u.container,"pointercancel",function(K0){if(a0(K0))return;X0(K0),Y0(K0),h0(K0)}),u.registerBinding(u.container,"pointermove",function(K0){if(a0(K0))return;K0.preventDefault(),W0(K0),Y0(K0),m0(K0)})}};Dk={};Dk.generatePolygon=function(u,B){return this.nodeShapes[u]={renderer:this,name:u,points:B,draw:function(A,C,D,F,U,z){this.renderer.nodeShapeImpl("polygon",A,C,D,F,U,this.points)},intersectLine:function(A,C,D,F,U,z,k,f){return rS(U,z,this.points,A,C,D/2,F/2,k)},checkPoint:function(A,C,D,F,U,z,k,f){return Ck(A,C,this.points,z,k,F,U,[0,-1],D)},hasMiterBounds:u!=="rectangle",miterBounds:function(A,C,D,F,U,z){return tK4(this.points,A,C,D,F,U)}}};Dk.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(B,E,A,C,D,F){this.renderer.nodeShapeImpl(this.name,B,E,A,C,D)},intersectLine:function(B,E,A,C,D,F,U,z){return Fw4(D,F,B,E,A/2+U,C/2+U)},checkPoint:function(B,E,A,C,D,F,U,z){return VK(B,E,C,D,F,U,A)}}};Dk.generateRoundPolygon=function(u,B){return this.nodeShapes[u]={renderer:this,name:u,points:B,getOrCreateCorners:function(A,C,D,F,U,z,k){if(z[k]!==void 0&&z[k+"-cx"]===A&&z[k+"-cy"]===C&&z[k+"-w"]===D&&z[k+"-h"]===F&&z[k+"-corner-radius"]===U)return z[k];z[k]=Array(B.length/2),z[k+"-cx"]=A,z[k+"-cy"]=C,z[k+"-w"]=D,z[k+"-h"]=F,z[k+"-corner-radius"]=U;var f=D/2,M=F/2;U=U==="auto"?dr0(D,F):U;var b=Array(B.length/2);for(var Z=0;Z<B.length/2;Z++)b[Z]={x:A+f*B[Z*2],y:C+M*B[Z*2+1]};var J,K,w,Q,G=b.length;K=b[G-1];for(J=0;J<G;J++)w=b[J%G],Q=b[(J+1)%G],z[k][J]=k70(K,w,Q,U),K=w,w=Q;return z[k]},draw:function(A,C,D,F,U,z,k){this.renderer.nodeShapeImpl("round-polygon",A,C,D,F,U,this.points,this.getOrCreateCorners(C,D,F,U,z,k,"drawCorners"))},intersectLine:function(A,C,D,F,U,z,k,f,M){return zw4(U,z,this.points,A,C,D,F,k,this.getOrCreateCorners(A,C,D,F,f,M,"corners"))},checkPoint:function(A,C,D,F,U,z,k,f,M){return Dw4(A,C,this.points,z,k,F,U,this.getOrCreateCorners(z,k,F,U,f,M,"corners"))}}};Dk.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:XB(4,0),draw:function(B,E,A,C,D,F){this.renderer.nodeShapeImpl(this.name,B,E,A,C,D,this.points,F)},intersectLine:function(B,E,A,C,D,F,U,z){return pr0(D,F,B,E,A,C,U,z)},checkPoint:function(B,E,A,C,D,F,U,z){var k=C/2,f=D/2;z=z==="auto"?oM(C,D):z,z=Math.min(k,f,z);var M=z*2;if(Ck(B,E,this.points,F,U,C,D-M,[0,-1],A))return!0;if(Ck(B,E,this.points,F,U,C-M,D,[0,-1],A))return!0;if(VK(B,E,M,M,F-k+z,U-f+z,A))return!0;if(VK(B,E,M,M,F+k-z,U-f+z,A))return!0;if(VK(B,E,M,M,F+k-z,U+f-z,A))return!0;if(VK(B,E,M,M,F-k+z,U+f-z,A))return!0;return!1}}};Dk.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:t50(),points:XB(4,0),draw:function(B,E,A,C,D,F){this.renderer.nodeShapeImpl(this.name,B,E,A,C,D,null,F)},generateCutTrianglePts:function(B,E,A,C,D){var F=D==="auto"?this.cornerLength:D,U=E/2,z=B/2,k=A-z,f=A+z,M=C-U,b=C+U;return{topLeft:[k,M+F,k+F,M,k+F,M+F],topRight:[f-F,M,f,M+F,f-F,M+F],bottomRight:[f,b-F,f-F,b,f-F,b-F],bottomLeft:[k+F,b,k,b-F,k+F,b-F]}},intersectLine:function(B,E,A,C,D,F,U,z){var k=this.generateCutTrianglePts(A+2*U,C+2*U,B,E,z),f=[].concat.apply([],[k.topLeft.splice(0,4),k.topRight.splice(0,4),k.bottomRight.splice(0,4),k.bottomLeft.splice(0,4)]);return rS(D,F,f,B,E)},checkPoint:function(B,E,A,C,D,F,U,z){var k=z==="auto"?this.cornerLength:z;if(Ck(B,E,this.points,F,U,C,D-2*k,[0,-1],A))return!0;if(Ck(B,E,this.points,F,U,C-2*k,D,[0,-1],A))return!0;var f=this.generateCutTrianglePts(C,D,F,U);return q8(B,E,f.topLeft)||q8(B,E,f.topRight)||q8(B,E,f.bottomRight)||q8(B,E,f.bottomLeft)}}};Dk.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:XB(4,0),draw:function(B,E,A,C,D,F){this.renderer.nodeShapeImpl(this.name,B,E,A,C,D)},intersectLine:function(B,E,A,C,D,F,U,z){var k=0.15,f=0.5,M=0.85,b=this.generateBarrelBezierPts(A+2*U,C+2*U,B,E),Z=function(w){var Q=yq({x:w[0],y:w[1]},{x:w[2],y:w[3]},{x:w[4],y:w[5]},k),G=yq({x:w[0],y:w[1]},{x:w[2],y:w[3]},{x:w[4],y:w[5]},f),H=yq({x:w[0],y:w[1]},{x:w[2],y:w[3]},{x:w[4],y:w[5]},M);return[w[0],w[1],Q.x,Q.y,G.x,G.y,H.x,H.y,w[4],w[5]]},J=[].concat(Z(b.topLeft),Z(b.topRight),Z(b.bottomRight),Z(b.bottomLeft));return rS(D,F,J,B,E)},generateBarrelBezierPts:function(B,E,A,C){var D=E/2,F=B/2,U=A-F,z=A+F,k=C-D,f=C+D,M=v50(B,E),b=M.heightOffset,Z=M.widthOffset,J=M.ctrlPtOffsetPct*B,K={topLeft:[U,k+b,U+J,k,U+Z,k],topRight:[z-Z,k,z-J,k,z,k+b],bottomRight:[z,f-b,z-J,f,z-Z,f],bottomLeft:[U+Z,f,U+J,f,U,f-b]};return K.topLeft.isTop=!0,K.topRight.isTop=!0,K.bottomLeft.isBottom=!0,K.bottomRight.isBottom=!0,K},checkPoint:function(B,E,A,C,D,F,U,z){var k=v50(C,D),f=k.heightOffset,M=k.widthOffset;if(Ck(B,E,this.points,F,U,C,D-2*f,[0,-1],A))return!0;if(Ck(B,E,this.points,F,U,C-2*M,D,[0,-1],A))return!0;var b=this.generateBarrelBezierPts(C,D,F,U),Z=function(x,S,W){var T=W[4],R=W[2],Y=W[0],h=W[5],I=W[1],O=Math.min(T,Y),V=Math.max(T,Y),j=Math.min(h,I),i=Math.max(h,I);if(O<=x&&x<=V&&j<=S&&S<=i){var a=kw4(T,R,Y),$=Bw4(a[0],a[1],a[2],x),m=$.filter(function(y){return 0<=y&&y<=1});if(m.length>0)return m[0]}return null},J=Object.keys(b);for(var K=0;K<J.length;K++){var w=J[K],Q=b[w],G=Z(B,E,Q);if(G==null)continue;var H=Q[5],l=Q[3],q=Q[1],L=T5(H,l,q,G);if(Q.isTop&&L<=E)return!0;if(Q.isBottom&&E<=L)return!0}return!1}}};Dk.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:XB(4,0),draw:function(B,E,A,C,D,F){this.renderer.nodeShapeImpl(this.name,B,E,A,C,D,this.points,F)},intersectLine:function(B,E,A,C,D,F,U,z){var k=B-(A/2+U),f=E-(C/2+U),M=f,b=B+(A/2+U),Z=_M(D,F,B,E,k,f,b,M,!1);if(Z.length>0)return Z;return pr0(D,F,B,E,A,C,U,z)},checkPoint:function(B,E,A,C,D,F,U,z){z=z==="auto"?oM(C,D):z;var k=2*z;if(Ck(B,E,this.points,F,U,C,D-k,[0,-1],A))return!0;if(Ck(B,E,this.points,F,U,C-k,D,[0,-1],A))return!0;var f=C/2+2*A,M=D/2+2*A,b=[F-f,U-M,F-f,U,F+f,U,F+f,U-M];if(q8(B,E,b))return!0;if(VK(B,E,k,k,F+C/2-z,U+D/2-z,A))return!0;if(VK(B,E,k,k,F-C/2+z,U+D/2-z,A))return!0;return!1}}};Dk.registerNodeShapes=function(){var u=this.nodeShapes={},B=this;this.generateEllipse(),this.generatePolygon("triangle",XB(3,0)),this.generateRoundPolygon("round-triangle",XB(3,0)),this.generatePolygon("rectangle",XB(4,0)),u.square=u.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var E=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",E),this.generateRoundPolygon("round-diamond",E)}this.generatePolygon("pentagon",XB(5,0)),this.generateRoundPolygon("round-pentagon",XB(5,0)),this.generatePolygon("hexagon",XB(6,0)),this.generateRoundPolygon("round-hexagon",XB(6,0)),this.generatePolygon("heptagon",XB(7,0)),this.generateRoundPolygon("round-heptagon",XB(7,0)),this.generatePolygon("octagon",XB(8,0)),this.generateRoundPolygon("round-octagon",XB(8,0));var A=Array(20);{var C=X50(5,0),D=X50(5,Math.PI/5),F=0.5*(3-Math.sqrt(5));F*=1.57;for(var U=0;U<D.length/2;U++)D[U*2]*=F,D[U*2+1]*=F;for(var U=0;U<5;U++)A[U*4]=C[U*2],A[U*4+1]=C[U*2+1],A[U*4+2]=D[U*2],A[U*4+3]=D[U*2+1]}A=nr0(A),this.generatePolygon("star",A),this.generatePolygon("vee",[-1,-1,0,-0.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,0.333,-1,1,1,-0.333,1]),this.generatePolygon("right-rhomboid",[-0.333,-1,1,-1,0.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-0.95,-0.75,0,-1,0.95,1,0.95,0.75,0,1,-0.95]);{var z=[-1,-1,0.25,-1,1,0,0.25,1,-1,1];this.generatePolygon("tag",z),this.generateRoundPolygon("round-tag",z)}u.makePolygon=function(k){var f=k.join("$"),M="polygon-"+f,b;if(b=this[M])return b;return B.generatePolygon(M,k)}};DY={};DY.timeToRender=function(){return this.redrawTotalTime/this.redrawCount};DY.redraw=function(u){u=u||yr0();var B=this;if(B.averageRedrawTime===void 0)B.averageRedrawTime=0;if(B.lastRedrawTime===void 0)B.lastRedrawTime=0;if(B.lastDrawTime===void 0)B.lastDrawTime=0;B.requestedFrame=!0,B.renderOptions=u};DY.beforeRender=function(u,B){if(this.destroyed)return;if(B==null)z9("Priority is not optional for beforeRender");var E=this.beforeRenderCallbacks;E.push({fn:u,priority:B}),E.sort(function(A,C){return C.priority-A.priority})};DY.startRenderLoop=function(){var u=this,B=u.cy;if(u.renderLoopStarted)return;else u.renderLoopStarted=!0;var E=function(C){if(u.destroyed)return;if(B.batching());else if(u.requestedFrame&&!u.skipFrame){Fr0(u,!0,C);var D=Ak();u.render(u.renderOptions);var F=u.lastDrawTime=Ak();if(u.averageRedrawTime===void 0)u.averageRedrawTime=F-D;if(u.redrawCount===void 0)u.redrawCount=0;if(u.redrawCount++,u.redrawTotalTime===void 0)u.redrawTotalTime=0;var U=F-D;u.redrawTotalTime+=U,u.lastRedrawTime=U,u.averageRedrawTime=u.averageRedrawTime/2+U/2,u.requestedFrame=!1}else Fr0(u,!1,C);u.skipFrame=!1,ya(E)};ya(E)};sg0=YH4,El=sg0.prototype;El.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"];El.init=function(u){var B=this;B.options=u,B.cy=u.cy;var E=B.container=u.cy.container(),A=B.cy.window();if(A){var C=A.document,D=C.head,F="__________cytoscape_stylesheet",U="__________cytoscape_container",z=C.getElementById(F)!=null;if(E.className.indexOf(U)<0)E.className=(E.className||"")+" "+U;if(!z){var k=C.createElement("style");k.id=F,k.textContent="."+U+" { position: relative; }",D.insertBefore(k,D.children[0])}var f=A.getComputedStyle(E),M=f.getPropertyValue("position");if(M==="static")D6("A Cytoscape container has style position:static and so can not use UI extensions properly")}B.selection=[void 0,void 0,void 0,void 0,0],B.bezierProjPcts=[0.05,0.225,0.4,0.5,0.6,0.775,0.95],B.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},B.dragData={possibleDragElements:[]},B.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},B.redraws=0,B.showFps=u.showFps,B.debug=u.debug,B.webgl=u.webgl,B.hideEdgesOnViewport=u.hideEdgesOnViewport,B.textureOnViewport=u.textureOnViewport,B.wheelSensitivity=u.wheelSensitivity,B.motionBlurEnabled=u.motionBlur,B.forcedPixelRatio=K4(u.pixelRatio)?u.pixelRatio:null,B.motionBlur=u.motionBlur,B.motionBlurOpacity=u.motionBlurOpacity,B.motionBlurTransparency=1-B.motionBlurOpacity,B.motionBlurPxRatio=1,B.mbPxRBlurry=1,B.minMbLowQualFrames=4,B.fullQualityMb=!1,B.clearedForMotionBlur=[],B.desktopTapThreshold=u.desktopTapThreshold,B.desktopTapThreshold2=u.desktopTapThreshold*u.desktopTapThreshold,B.touchTapThreshold=u.touchTapThreshold,B.touchTapThreshold2=u.touchTapThreshold*u.touchTapThreshold,B.tapholdDuration=500,B.bindings=[],B.beforeRenderCallbacks=[],B.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},B.registerNodeShapes(),B.registerArrowShapes(),B.registerCalculationListeners()};El.notify=function(u,B){var E=this,A=E.cy;if(this.destroyed)return;if(u==="init"){E.load();return}if(u==="destroy"){E.destroy();return}if(u==="add"||u==="remove"||u==="move"&&A.hasCompoundNodes()||u==="load"||u==="zorder"||u==="mount")E.invalidateCachedZSortedEles();if(u==="viewport")E.redrawHint("select",!0);if(u==="gc")E.redrawHint("gc",!0);if(u==="load"||u==="resize"||u==="mount")E.invalidateContainerClientCoordsCache(),E.matchCanvasSize(E.container);E.redrawHint("eles",!0),E.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()};El.destroy=function(){var u=this;u.destroyed=!0,u.cy.stopAnimationLoop();for(var B=0;B<u.bindings.length;B++){var E=u.bindings[B],A=E,C=A.target;(C.off||C.removeEventListener).apply(C,A.args)}if(u.bindings=[],u.beforeRenderCallbacks=[],u.onUpdateEleCalcsFns=[],u.removeObserver)u.removeObserver.disconnect();if(u.styleObserver)u.styleObserver.disconnect();if(u.resizeObserver)u.resizeObserver.disconnect();if(u.labelCalcDiv)try{document.body.removeChild(u.labelCalcDiv)}catch(D){}};El.isHeadless=function(){return!1};[z70,pg0,ng0,Bl,Dk,DY].forEach(function(u){k3(El,u)});og0={setupDequeueing:function(B){return function(){var A=this,C=this.renderer;if(A.dequeueingSetup)return;else A.dequeueingSetup=!0;var D=uY(function(){C.redrawHint("eles",!0),C.redrawHint("drag",!0),C.redraw()},B.deqRedrawThreshold),F=function(k,f){var M=Ak(),b=C.averageRedrawTime,Z=C.lastRedrawTime,J=[],K=C.cy.extent(),w=C.getPixelRatio();if(!k)C.flushRenderedStyleQueue();while(!0){var Q=Ak(),G=Q-M,H=Q-f;if(Z<J50){var l=J50-(k?b:0);if(H>=B.deqFastCost*l)break}else if(k){if(G>=B.deqCost*Z||G>=B.deqAvgCost*b)break}else if(H>=B.deqNoDrawCost*J50)break;var q=B.deq(A,w,K);if(q.length>0)for(var L=0;L<q.length;L++)J.push(q[L]);else break}if(J.length>0){if(B.onDeqd(A,J),!k&&B.shouldRedraw(A,J,w,K))D()}},U=B.priority||p50;C.beforeRender(F,U(A))}}},RH4=function(){function u(B){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ra;Bb(this,u),this.idsByKey=new Ek,this.keyForId=new Ek,this.cachesByLvl=new Ek,this.lvls=[],this.getKey=B,this.doesEleInvalidateKey=E}return Eb(u,[{key:"getIdsFor",value:function(E){if(E==null)z9("Can not get id list for null key");var A=this.idsByKey,C=this.idsByKey.get(E);if(!C)C=new oq,A.set(E,C);return C}},{key:"addIdForKey",value:function(E,A){if(E!=null)this.getIdsFor(E).add(A)}},{key:"deleteIdForKey",value:function(E,A){if(E!=null)this.getIdsFor(E).delete(A)}},{key:"getNumberOfIdsForKey",value:function(E){if(E==null)return 0;else return this.getIdsFor(E).size}},{key:"updateKeyMappingFor",value:function(E){var A=E.id(),C=this.keyForId.get(A),D=this.getKey(E);this.deleteIdForKey(C,A),this.addIdForKey(D,A),this.keyForId.set(A,D)}},{key:"deleteKeyMappingFor",value:function(E){var A=E.id(),C=this.keyForId.get(A);this.deleteIdForKey(C,A),this.keyForId.delete(A)}},{key:"keyHasChangedFor",value:function(E){var A=E.id(),C=this.keyForId.get(A),D=this.getKey(E);return C!==D}},{key:"isInvalid",value:function(E){return this.keyHasChangedFor(E)||this.doesEleInvalidateKey(E)}},{key:"getCachesAt",value:function(E){var A=this.cachesByLvl,C=this.lvls,D=A.get(E);if(!D)D=new Ek,A.set(E,D),C.push(E);return D}},{key:"getCache",value:function(E,A){return this.getCachesAt(A).get(E)}},{key:"get",value:function(E,A){var C=this.getKey(E),D=this.getCache(C,A);if(D!=null)this.updateKeyMappingFor(E);return D}},{key:"getForCachedKey",value:function(E,A){var C=this.keyForId.get(E.id()),D=this.getCache(C,A);return D}},{key:"hasCache",value:function(E,A){return this.getCachesAt(A).has(E)}},{key:"has",value:function(E,A){var C=this.getKey(E);return this.hasCache(C,A)}},{key:"setCache",value:function(E,A,C){C.key=E,this.getCachesAt(A).set(E,C)}},{key:"set",value:function(E,A,C){var D=this.getKey(E);this.setCache(D,A,C),this.updateKeyMappingFor(E)}},{key:"deleteCache",value:function(E,A){this.getCachesAt(A).delete(E)}},{key:"delete",value:function(E,A){var C=this.getKey(E);this.deleteCache(C,A)}},{key:"invalidateKey",value:function(E){var A=this;this.lvls.forEach(function(C){return A.deleteCache(E,C)})}},{key:"invalidate",value:function(E){var A=E.id(),C=this.keyForId.get(A);this.deleteKeyMappingFor(E);var D=this.doesEleInvalidateKey(E);if(D)this.invalidateKey(C);return D||this.getNumberOfIdsForKey(C)===0}}])}(),$q={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},rH4=k7({getKey:null,doesEleInvalidateKey:ra,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:ar0,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),u5=NS.prototype;u5.reasons=$q;u5.getTextureQueue=function(u){var B=this;return B.eleImgCaches=B.eleImgCaches||{},B.eleImgCaches[u]=B.eleImgCaches[u]||[]};u5.getRetiredTextureQueue=function(u){var B=this,E=B.eleImgCaches.retired=B.eleImgCaches.retired||{},A=E[u]=E[u]||[];return A};u5.getElementQueue=function(){var u=this,B=u.eleCacheQueue=u.eleCacheQueue||new BY(function(E,A){return A.reqs-E.reqs});return B};u5.getElementKeyToQueue=function(){var u=this,B=u.eleKeyToCacheQueue=u.eleKeyToCacheQueue||{};return B};u5.getElement=function(u,B,E,A,C){var D=this,F=this.renderer,U=F.cy.zoom(),z=this.lookup;if(!B||B.w===0||B.h===0||isNaN(B.w)||isNaN(B.h)||!u.visible()||u.removed())return null;if(!D.allowEdgeTxrCaching&&u.isEdge()||!D.allowParentTxrCaching&&u.isParent())return null;if(A==null)A=Math.ceil(d50(U*E));if(A<ia)A=ia;else if(U>=tg0||A>h50)return null;var k=Math.pow(2,A),f=B.h*k,M=B.w*k,b=F.eleTextBiggerThanMin(u,k);if(!this.isVisible(u,b))return null;var Z=z.get(u,A);if(Z&&Z.invalidated)Z.invalidated=!1,Z.texture.invalidatedWidth-=Z.width;if(Z)return Z;var J;if(f<=Ur0)J=Ur0;else if(f<=Sa)J=Sa;else J=Math.ceil(f/Sa)*Sa;if(f>PH4||M>IH4)return null;var K=D.getTextureQueue(J),w=K[K.length-2],Q=function(){return D.recycleTexture(J,M)||D.addTexture(J,M)};if(!w)w=K[K.length-1];if(!w)w=Q();if(w.width-w.usedWidth<M)w=Q();var G=function(O){return O&&O.scaledLabelShown===b},H=C&&C===$q.dequeue,l=C&&C===$q.highQuality,q=C&&C===$q.downscale,L;for(var v=A+1;v<=h50;v++){var x=z.get(u,v);if(x){L=x;break}}var S=L&&L.level===A+1?L:null,W=function(){w.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,w.usedWidth,0,M,f)};if(w.context.setTransform(1,0,0,1,0,0),w.context.clearRect(w.usedWidth,0,M,J),G(S))W();else if(G(L))if(l){for(var T=L.level;T>A;T--)S=D.getElement(u,B,E,T,$q.downscale);W()}else return D.queueElement(u,L.level-1),L;else{var R;if(!H&&!l&&!q)for(var Y=A-1;Y>=ia;Y--){var h=z.get(u,Y);if(h){R=h;break}}if(G(R))return D.queueElement(u,A),R;w.context.translate(w.usedWidth,0),w.context.scale(k,k),this.drawElement(w.context,u,B,b,!1),w.context.scale(1/k,1/k),w.context.translate(-w.usedWidth,0)}return Z={x:w.usedWidth,texture:w,level:A,scale:k,width:M,height:f,scaledLabelShown:b},w.usedWidth+=Math.ceil(M+TH4),w.eleCaches.push(Z),z.set(u,A,Z),D.checkTextureFullness(w),Z};u5.invalidateElements=function(u){for(var B=0;B<u.length;B++)this.invalidateElement(u[B])};u5.invalidateElement=function(u){var B=this,E=B.lookup,A=[],C=E.isInvalid(u);if(!C)return;for(var D=ia;D<=h50;D++){var F=E.getForCachedKey(u,D);if(F)A.push(F)}var U=E.invalidate(u);if(U)for(var z=0;z<A.length;z++){var k=A[z],f=k.texture;f.invalidatedWidth+=k.width,k.invalidated=!0,B.checkTextureUtility(f)}B.removeFromQueue(u)};u5.checkTextureUtility=function(u){if(u.invalidatedWidth>=jH4*u.width)this.retireTexture(u)};u5.checkTextureFullness=function(u){var B=this,E=B.getTextureQueue(u.height);if(u.usedWidth/u.width>NH4&&u.fullnessChecks>=VH4)sM(E,u);else u.fullnessChecks++};u5.retireTexture=function(u){var B=this,E=u.height,A=B.getTextureQueue(E),C=this.lookup;sM(A,u),u.retired=!0;var D=u.eleCaches;for(var F=0;F<D.length;F++){var U=D[F];C.deleteCache(U.key,U.level)}n50(D);var z=B.getRetiredTextureQueue(E);z.push(u)};u5.addTexture=function(u,B){var E=this,A=E.getTextureQueue(u),C={};return A.push(C),C.eleCaches=[],C.height=u,C.width=Math.max(OH4,B),C.usedWidth=0,C.invalidatedWidth=0,C.fullnessChecks=0,C.canvas=E.renderer.makeOffscreenCanvas(C.width,C.height),C.context=C.canvas.getContext("2d"),C};u5.recycleTexture=function(u,B){var E=this,A=E.getTextureQueue(u),C=E.getRetiredTextureQueue(u);for(var D=0;D<C.length;D++){var F=C[D];if(F.width>=B)return F.retired=!1,F.usedWidth=0,F.invalidatedWidth=0,F.fullnessChecks=0,n50(F.eleCaches),F.context.setTransform(1,0,0,1,0,0),F.context.clearRect(0,0,F.width,F.height),sM(C,F),A.push(F),F}};u5.queueElement=function(u,B){var E=this,A=E.getElementQueue(),C=E.getElementKeyToQueue(),D=this.getKey(u),F=C[D];if(F)F.level=Math.max(F.level,B),F.eles.merge(u),F.reqs++,A.updateItem(F);else{var U={eles:u.spawn().merge(u),level:B,reqs:1,key:D};A.push(U),C[D]=U}};u5.dequeue=function(u){var B=this,E=B.getElementQueue(),A=B.getElementKeyToQueue(),C=[],D=B.lookup;for(var F=0;F<yH4;F++)if(E.size()>0){var U=E.pop(),z=U.key,k=U.eles[0],f=D.hasCache(k,U.level);if(A[z]=null,f)continue;C.push(U);var M=B.getBoundingBox(k);B.getElement(k,M,u,U.level,$q.dequeue)}else break;return C};u5.removeFromQueue=function(u){var B=this,E=B.getElementQueue(),A=B.getElementKeyToQueue(),C=this.getKey(u),D=A[C];if(D!=null)if(D.eles.length===1)D.reqs=_50,E.updateItem(D),E.pop(),A[C]=null;else D.eles.unmerge(u)};u5.onDequeue=function(u){this.onDequeues.push(u)};u5.offDequeue=function(u){sM(this.onDequeues,u)};u5.setupDequeueing=og0.setupDequeueing({deqRedrawThreshold:$H4,deqCost:hH4,deqAvgCost:iH4,deqNoDrawCost:aH4,deqFastCost:mH4,deq:function(B,E,A){return B.dequeue(E,A)},onDeqd:function(B,E){for(var A=0;A<B.onDequeues.length;A++){var C=B.onDequeues[A];C(E)}},shouldRedraw:function(B,E,A,C){for(var D=0;D<E.length;D++){var F=E[D].eles;for(var U=0;U<F.length;U++){var z=F[U].boundingBox();if(o50(z,C))return!0}}return!1},priority:function(B){return B.renderer.beforeRenderPriorities.eleTxrDeq}});f7=eg0.prototype,Bq4=Math.pow(2,53)-1;f7.makeLayer=function(u,B){var E=Math.pow(2,B),A=Math.ceil(u.w*E),C=Math.ceil(u.h*E),D=this.renderer.makeOffscreenCanvas(A,C),F={id:fr0=++fr0%Bq4,bb:u,level:B,width:A,height:C,canvas:D,context:D.getContext("2d"),eles:[],elesQueue:[],reqs:0},U=F.context,z=-F.bb.x1,k=-F.bb.y1;return U.scale(E,E),U.translate(z,k),F};f7.getLayers=function(u,B,E){var A=this,C=A.renderer,D=C.cy,F=D.zoom(),U=A.firstGet;if(A.firstGet=!1,E==null){if(E=Math.ceil(d50(F*B)),E<hS)E=hS;else if(F>=cH4||E>oa)return null}A.validateLayersElesOrdering(E,u);var z=A.layersByLevel,k=Math.pow(2,E),f=z[E]=z[E]||[],M,b=A.levelIsComplete(E,u),Z,J=function(){var W=function(I){if(A.validateLayersElesOrdering(I,u),A.levelIsComplete(I,u))return Z=z[I],!0},T=function(I){if(Z)return;for(var O=E+I;hS<=O&&O<=oa;O+=I)if(W(O))break};T(1),T(-1);for(var R=f.length-1;R>=0;R--){var Y=f[R];if(Y.invalid)sM(f,Y)}};if(!b)J();else return f;var K=function(){if(!M){M=xB();for(var W=0;W<u.length;W++)dK4(M,u[W].boundingBox())}return M},w=function(W){W=W||{};var T=W.after;K();var R=Math.ceil(M.w*k),Y=Math.ceil(M.h*k);if(R>kr0||Y>kr0)return null;var h=R*Y;if(h>eH4)return null;var I=A.makeLayer(M,E);if(T!=null){var O=f.indexOf(T)+1;f.splice(O,0,I)}else if(W.insert===void 0||W.insert)f.unshift(I);return I};if(A.skipping&&!U)return null;var Q=null,G=u.length/gH4,H=!U;for(var l=0;l<u.length;l++){var q=u[l],L=q._private.rscratch,v=L.imgLayerCaches=L.imgLayerCaches||{},x=v[E];if(x){Q=x;continue}if(!Q||Q.eles.length>=G||!_r0(Q.bb,q.boundingBox())){if(Q=w({insert:!0,after:Q}),!Q)return null}if(Z||H)A.queueLayer(Q,q);else A.drawEleInLayer(Q,q,E,B);Q.eles.push(q),v[E]=Q}if(Z)return Z;if(H)return null;return f};f7.getEleLevelForLayerLevel=function(u,B){return u};f7.drawEleInLayer=function(u,B,E,A){var C=this,D=this.renderer,F=u.context,U=B.boundingBox();if(U.w===0||U.h===0||!B.visible())return;E=C.getEleLevelForLayerLevel(E,A),D.setImgSmoothing(F,!1),D.drawCachedElement(F,B,null,null,E,uq4),D.setImgSmoothing(F,!0)};f7.levelIsComplete=function(u,B){var E=this,A=E.layersByLevel[u];if(!A||A.length===0)return!1;var C=0;for(var D=0;D<A.length;D++){var F=A[D];if(F.reqs>0)return!1;if(F.invalid)return!1;C+=F.eles.length}if(C!==B.length)return!1;return!0};f7.validateLayersElesOrdering=function(u,B){var E=this.layersByLevel[u];if(!E)return;for(var A=0;A<E.length;A++){var C=E[A],D=-1;for(var F=0;F<B.length;F++)if(C.eles[0]===B[F]){D=F;break}if(D<0){this.invalidateLayer(C);continue}var U=D;for(var F=0;F<C.eles.length;F++)if(C.eles[F]!==B[U+F]){this.invalidateLayer(C);break}}};f7.updateElementsInLayers=function(u,B){var E=this,A=sS(u[0]);for(var C=0;C<u.length;C++){var D=A?null:u[C],F=A?u[C]:u[C].ele,U=F._private.rscratch,z=U.imgLayerCaches=U.imgLayerCaches||{};for(var k=hS;k<=oa;k++){var f=z[k];if(!f)continue;if(D&&E.getEleLevelForLayerLevel(f.level)!==D.level)continue;B(f,F,D)}}};f7.haveLayers=function(){var u=this,B=!1;for(var E=hS;E<=oa;E++){var A=u.layersByLevel[E];if(A&&A.length>0){B=!0;break}}return B};f7.invalidateElements=function(u){var B=this;if(u.length===0)return;if(B.lastInvalidationTime=Ak(),u.length===0||!B.haveLayers())return;B.updateElementsInLayers(u,function(A,C,D){B.invalidateLayer(A)})};f7.invalidateLayer=function(u){if(this.lastInvalidationTime=Ak(),u.invalid)return;var{level:B,eles:E}=u,A=this.layersByLevel[B];if(sM(A,u),u.elesQueue=[],u.invalid=!0,u.replacement)u.replacement.invalid=!0;for(var C=0;C<E.length;C++){var D=E[C]._private.rscratch.imgLayerCaches;if(D)D[B]=null}};f7.refineElementTextures=function(u){var B=this;B.updateElementsInLayers(u,function(A,C,D){var F=A.replacement;if(!F)F=A.replacement=B.makeLayer(A.bb,A.level),F.replaces=A,F.eles=A.eles;if(!F.reqs)for(var U=0;U<F.eles.length;U++)B.queueLayer(F,F.eles[U])})};f7.enqueueElementRefinement=function(u){this.eleTxrDeqs.merge(u),this.scheduleElementRefinement()};f7.queueLayer=function(u,B){var E=this,A=E.layersQueue,C=u.elesQueue,D=C.hasId=C.hasId||{};if(u.replacement)return;if(B){if(D[B.id()])return;C.push(B),D[B.id()]=!0}if(u.reqs)u.reqs++,A.updateItem(u);else u.reqs=1,A.push(u)};f7.dequeue=function(u){var B=this,E=B.layersQueue,A=[],C=0;while(C<tH4){if(E.size()===0)break;var D=E.peek();if(D.replacement){E.pop();continue}if(D.replaces&&D!==D.replaces.replacement){E.pop();continue}if(D.invalid){E.pop();continue}var F=D.elesQueue.shift();if(F)B.drawEleInLayer(D,F,D.level,u),C++;if(A.length===0)A.push(!0);if(D.elesQueue.length===0){if(E.pop(),D.reqs=0,D.replaces)B.applyLayerReplacement(D);B.requestRedraw()}}return A};f7.applyLayerReplacement=function(u){var B=this,E=B.layersByLevel[u.level],A=u.replaces,C=E.indexOf(A);if(C<0||A.invalid)return;E[C]=u;for(var D=0;D<u.eles.length;D++){var F=u.eles[D]._private,U=F.imgLayerCaches=F.imgLayerCaches||{};if(U)U[u.level]=u}B.requestRedraw()};f7.requestRedraw=uY(function(){var u=this.renderer;u.redrawHint("eles",!0),u.redrawHint("drag",!0),u.redraw()},100);f7.setupDequeueing=og0.setupDequeueing({deqRedrawThreshold:_H4,deqCost:nH4,deqAvgCost:dH4,deqNoDrawCost:sH4,deqFastCost:oH4,deq:function(B,E){return B.dequeue(E)},onDeqd:p50,shouldRedraw:ar0,priority:function(B){return B.renderer.beforeRenderPriorities.lyrTxrDeq}});uc0={};uc0.arrowShapeImpl=function(u){return(Mr0||(Mr0={polygon:Eq4,"triangle-backcurve":Aq4,"triangle-tee":br0,"circle-triangle":Cq4,"triangle-cross":br0,circle:Dq4}))[u]};tF={};tF.drawElement=function(u,B,E,A,C,D){var F=this;if(B.isNode())F.drawNode(u,B,E,A,C,D);else F.drawEdge(u,B,E,A,C,D)};tF.drawElementOverlay=function(u,B){var E=this;if(B.isNode())E.drawNodeOverlay(u,B);else E.drawEdgeOverlay(u,B)};tF.drawElementUnderlay=function(u,B){var E=this;if(B.isNode())E.drawNodeUnderlay(u,B);else E.drawEdgeUnderlay(u,B)};tF.drawCachedElementPortion=function(u,B,E,A,C,D,F,U){var z=this,k=E.getBoundingBox(B);if(k.w===0||k.h===0)return;var f=E.getElement(B,k,A,C,D);if(f!=null){var M=U(z,B);if(M===0)return;var b=F(z,B),Z=k.x1,J=k.y1,K=k.w,w=k.h,Q,G,H,l,q;if(b!==0){var L=E.getRotationPoint(B);if(H=L.x,l=L.y,u.translate(H,l),u.rotate(b),q=z.getImgSmoothing(u),!q)z.setImgSmoothing(u,!0);var v=E.getRotationOffset(B);Q=v.x,G=v.y}else Q=Z,G=J;var x;if(M!==1)x=u.globalAlpha,u.globalAlpha=x*M;if(u.drawImage(f.texture.canvas,f.x,0,f.width,f.height,Q,G,K,w),M!==1)u.globalAlpha=x;if(b!==0){if(u.rotate(-b),u.translate(-H,-l),!q)z.setImgSmoothing(u,!1)}}else E.drawElement(u,B)};tF.drawCachedElement=function(u,B,E,A,C,D){var F=this,U=F.data,z=U.eleTxrCache,k=U.lblTxrCache,f=U.slbTxrCache,M=U.tlbTxrCache,b=B.boundingBox(),Z=D===!0?z.reasons.highQuality:null;if(b.w===0||b.h===0||!B.visible())return;if(!A||o50(b,A)){var J=B.isEdge(),K=B.element()._private.rscratch.badLine;if(F.drawElementUnderlay(u,B),F.drawCachedElementPortion(u,B,z,E,C,Z,Fq4,fq4),!J||!K)F.drawCachedElementPortion(u,B,k,E,C,Z,Uq4,K50);if(J&&!K)F.drawCachedElementPortion(u,B,f,E,C,Z,zq4,K50),F.drawCachedElementPortion(u,B,M,E,C,Z,kq4,K50);F.drawElementOverlay(u,B)}};tF.drawElements=function(u,B){var E=this;for(var A=0;A<B.length;A++){var C=B[A];E.drawElement(u,C)}};tF.drawCachedElements=function(u,B,E,A){var C=this;for(var D=0;D<B.length;D++){var F=B[D];C.drawCachedElement(u,F,E,A)}};tF.drawCachedNodes=function(u,B,E,A){var C=this;for(var D=0;D<B.length;D++){var F=B[D];if(!F.isNode())continue;C.drawCachedElement(u,F,E,A)}};tF.drawLayeredElements=function(u,B,E,A){var C=this,D=C.data.lyrTxrCache.getLayers(B,E);if(D)for(var F=0;F<D.length;F++){var U=D[F],z=U.bb;if(z.w===0||z.h===0)continue;u.drawImage(U.canvas,z.x1,z.y1,z.w,z.h)}else C.drawCachedElements(u,B,E,A)};Fk={};Fk.drawEdge=function(u,B,E){var A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,D=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,F=this,U=B._private.rscratch;if(D&&!B.visible())return;if(U.badLine||U.allpts==null||isNaN(U.allpts[0]))return;var z;if(E)z=E,u.translate(-z.x1,-z.y1);var k=D?B.pstyle("opacity").value:1,f=D?B.pstyle("line-opacity").value:1,M=B.pstyle("curve-style").value,b=B.pstyle("line-style").value,Z=B.pstyle("width").pfValue,J=B.pstyle("line-cap").value,K=B.pstyle("line-outline-width").value,w=B.pstyle("line-outline-color").value,Q=k*f,G=k*f,H=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Q;if(M==="straight-triangle")F.eleStrokeStyle(u,B,I),F.drawEdgeTrianglePath(B,u,U.allpts);else u.lineWidth=Z,u.lineCap=J,F.eleStrokeStyle(u,B,I),F.drawEdgePath(B,u,U.allpts,b),u.lineCap="butt"},l=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Q;if(u.lineWidth=Z+K,u.lineCap=J,K>0)F.colorStrokeStyle(u,w[0],w[1],w[2],I);else{u.lineCap="butt";return}if(M==="straight-triangle")F.drawEdgeTrianglePath(B,u,U.allpts);else F.drawEdgePath(B,u,U.allpts,b),u.lineCap="butt"},q=function(){if(!C)return;F.drawEdgeOverlay(u,B)},L=function(){if(!C)return;F.drawEdgeUnderlay(u,B)},v=function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:G;F.drawArrowheads(u,B,I)},x=function(){F.drawElementText(u,B,null,A)};u.lineJoin="round";var S=B.pstyle("ghost").value==="yes";if(S){var W=B.pstyle("ghost-offset-x").pfValue,T=B.pstyle("ghost-offset-y").pfValue,R=B.pstyle("ghost-opacity").value,Y=Q*R;u.translate(W,T),H(Y),v(Y),u.translate(-W,-T)}else l();if(L(),H(),v(),q(),x(),E)u.translate(z.x1,z.y1)};Fk.drawEdgeOverlay=Bc0("overlay");Fk.drawEdgeUnderlay=Bc0("underlay");Fk.drawEdgePath=function(u,B,E,A){var C=u._private.rscratch,D=B,F,U=!1,z=this.usePaths(),k=u.pstyle("line-dash-pattern").pfValue,f=u.pstyle("line-dash-offset").pfValue;if(z){var M=E.join("$"),b=C.pathCacheKey&&C.pathCacheKey===M;if(b)F=B=C.pathCache,U=!0;else F=B=new Path2D,C.pathCacheKey=M,C.pathCache=F}if(D.setLineDash)switch(A){case"dotted":D.setLineDash([1,1]);break;case"dashed":D.setLineDash(k),D.lineDashOffset=f;break;case"solid":D.setLineDash([]);break}if(!U&&!C.badLine){if(B.beginPath)B.beginPath();switch(B.moveTo(E[0],E[1]),C.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var Z=2;Z+3<E.length;Z+=4)B.quadraticCurveTo(E[Z],E[Z+1],E[Z+2],E[Z+3]);break;case"straight":case"haystack":for(var J=2;J+1<E.length;J+=2)B.lineTo(E[J],E[J+1]);break;case"segments":if(C.isRound){var K=l8(C.roundCorners),w;try{for(K.s();!(w=K.n()).done;){var Q=w.value;yg0(B,Q)}}catch(H){K.e(H)}finally{K.f()}B.lineTo(E[E.length-2],E[E.length-1])}else for(var G=2;G+1<E.length;G+=2)B.lineTo(E[G],E[G+1]);break}}if(B=D,z)B.stroke(F);else B.stroke();if(B.setLineDash)B.setLineDash([])};Fk.drawEdgeTrianglePath=function(u,B,E){B.fillStyle=B.strokeStyle;var A=u.pstyle("width").pfValue;for(var C=0;C+1<E.length;C+=2){var D=[E[C+2]-E[C],E[C+3]-E[C+1]],F=Math.sqrt(D[0]*D[0]+D[1]*D[1]),U=[D[1]/F,-D[0]/F],z=[U[0]*A/2,U[1]*A/2];B.beginPath(),B.moveTo(E[C]-z[0],E[C+1]-z[1]),B.lineTo(E[C]+z[0],E[C+1]+z[1]),B.lineTo(E[C+2],E[C+3]),B.closePath(),B.fill()}};Fk.drawArrowheads=function(u,B,E){var A=B._private.rscratch,C=A.edgeType==="haystack";if(!C)this.drawArrowhead(u,B,"source",A.arrowStartX,A.arrowStartY,A.srcArrowAngle,E);if(this.drawArrowhead(u,B,"mid-target",A.midX,A.midY,A.midtgtArrowAngle,E),this.drawArrowhead(u,B,"mid-source",A.midX,A.midY,A.midsrcArrowAngle,E),!C)this.drawArrowhead(u,B,"target",A.arrowEndX,A.arrowEndY,A.tgtArrowAngle,E)};Fk.drawArrowhead=function(u,B,E,A,C,D,F){if(isNaN(A)||A==null||isNaN(C)||C==null||isNaN(D)||D==null)return;var U=this,z=B.pstyle(E+"-arrow-shape").value;if(z==="none")return;var k=B.pstyle(E+"-arrow-fill").value==="hollow"?"both":"filled",f=B.pstyle(E+"-arrow-fill").value,M=B.pstyle("width").pfValue,b=B.pstyle(E+"-arrow-width"),Z=b.value==="match-line"?M:b.pfValue;if(b.units==="%")Z*=M;var J=B.pstyle("opacity").value;if(F===void 0)F=J;var K=u.globalCompositeOperation;if(F!==1||f==="hollow")u.globalCompositeOperation="destination-out",U.colorFillStyle(u,255,255,255,1),U.colorStrokeStyle(u,255,255,255,1),U.drawArrowShape(B,u,k,M,z,Z,A,C,D),u.globalCompositeOperation=K;var w=B.pstyle(E+"-arrow-color").value;U.colorFillStyle(u,w[0],w[1],w[2],F),U.colorStrokeStyle(u,w[0],w[1],w[2],F),U.drawArrowShape(B,u,f,M,z,Z,A,C,D)};Fk.drawArrowShape=function(u,B,E,A,C,D,F,U,z){var k=this,f=this.usePaths()&&C!=="triangle-cross",M=!1,b,Z=B,J={x:F,y:U},K=u.pstyle("arrow-scale").value,w=this.getArrowWidth(A,K),Q=k.arrowShapes[C];if(f){var G=k.arrowPathCache=k.arrowPathCache||[],H=hK(C),l=G[H];if(l!=null)b=B=l,M=!0;else b=B=new Path2D,G[H]=b}if(!M){if(B.beginPath)B.beginPath();if(f)Q.draw(B,1,0,{x:0,y:0},1);else Q.draw(B,w,z,J,A);if(B.closePath)B.closePath()}if(B=Z,f)B.translate(F,U),B.rotate(z),B.scale(w,w);if(E==="filled"||E==="both")if(f)B.fill(b);else B.fill();if(E==="hollow"||E==="both")if(B.lineWidth=D/(f?w:1),B.lineJoin="miter",f)B.stroke(b);else B.stroke();if(f)B.scale(1/w,1/w),B.rotate(-z),B.translate(-F,-U)};M70={};M70.safeDrawImage=function(u,B,E,A,C,D,F,U,z,k){if(C<=0||D<=0||z<=0||k<=0)return;try{u.drawImage(B,E,A,C,D,F,U,z,k)}catch(f){D6(f)}};M70.drawInscribedImage=function(u,B,E,A,C){var D=this,F=E.position(),U=F.x,z=F.y,k=E.cy().style(),f=k.getIndexedStyle.bind(k),M=f(E,"background-fit","value",A),b=f(E,"background-repeat","value",A),Z=E.width(),J=E.height(),K=E.padding()*2,w=Z+(f(E,"background-width-relative-to","value",A)==="inner"?0:K),Q=J+(f(E,"background-height-relative-to","value",A)==="inner"?0:K),G=E._private.rscratch,H=f(E,"background-clip","value",A),l=H==="node",q=f(E,"background-image-opacity","value",A)*C,L=f(E,"background-image-smoothing","value",A),v=E.pstyle("corner-radius").value;if(v!=="auto")v=E.pstyle("corner-radius").pfValue;var x=B.width||B.cachedW,S=B.height||B.cachedH;if(x==null||S==null)document.body.appendChild(B),x=B.cachedW=B.width||B.offsetWidth,S=B.cachedH=B.height||B.offsetHeight,document.body.removeChild(B);var W=x,T=S;if(f(E,"background-width","value",A)!=="auto")if(f(E,"background-width","units",A)==="%")W=f(E,"background-width","pfValue",A)*w;else W=f(E,"background-width","pfValue",A);if(f(E,"background-height","value",A)!=="auto")if(f(E,"background-height","units",A)==="%")T=f(E,"background-height","pfValue",A)*Q;else T=f(E,"background-height","pfValue",A);if(W===0||T===0)return;if(M==="contain"){var R=Math.min(w/W,Q/T);W*=R,T*=R}else if(M==="cover"){var R=Math.max(w/W,Q/T);W*=R,T*=R}var Y=U-w/2,h=f(E,"background-position-x","units",A),I=f(E,"background-position-x","pfValue",A);if(h==="%")Y+=(w-W)*I;else Y+=I;var O=f(E,"background-offset-x","units",A),V=f(E,"background-offset-x","pfValue",A);if(O==="%")Y+=(w-W)*V;else Y+=V;var j=z-Q/2,i=f(E,"background-position-y","units",A),a=f(E,"background-position-y","pfValue",A);if(i==="%")j+=(Q-T)*a;else j+=a;var $=f(E,"background-offset-y","units",A),m=f(E,"background-offset-y","pfValue",A);if($==="%")j+=(Q-T)*m;else j+=m;if(G.pathCache)Y-=U,j-=z,U=0,z=0;var y=u.globalAlpha;u.globalAlpha=q;var r=D.getImgSmoothing(u),_=!1;if(L==="no"&&r)D.setImgSmoothing(u,!1),_=!0;else if(L==="yes"&&!r)D.setImgSmoothing(u,!0),_=!0;if(b==="no-repeat"){if(l)if(u.save(),G.pathCache)u.clip(G.pathCache);else D.nodeShapes[D.getNodeShape(E)].draw(u,U,z,w,Q,v,G),u.clip();if(D.safeDrawImage(u,B,0,0,x,S,Y,j,W,T),l)u.restore()}else{var e=u.createPattern(B,b);u.fillStyle=e,D.nodeShapes[D.getNodeShape(E)].draw(u,U,z,w,Q,v,G),u.translate(Y,j),u.fill(),u.translate(-Y,-j)}if(u.globalAlpha=y,_)D.setImgSmoothing(u,r)};rK={};rK.eleTextBiggerThanMin=function(u,B){if(!B){var E=u.cy().zoom(),A=this.getPixelRatio(),C=Math.ceil(d50(E*A));B=Math.pow(2,C)}var D=u.pstyle("font-size").pfValue*B,F=u.pstyle("min-zoomed-font-size").pfValue;if(D<F)return!1;return!0};rK.drawElementText=function(u,B,E,A,C){var D=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,F=this;if(A==null){if(D&&!F.eleTextBiggerThanMin(B))return}else if(A===!1)return;if(B.isNode()){var U=B.pstyle("label");if(!U||!U.value)return;var z=F.getLabelJustification(B),k=B.pstyle("text-metrics").strValue==="glyph";u.textAlign=z,u.textBaseline=k?"alphabetic":"bottom"}else{var f=B.element()._private.rscratch.badLine,M=B.pstyle("label"),b=B.pstyle("source-label"),Z=B.pstyle("target-label");if(f||(!M||!M.value)&&(!b||!b.value)&&(!Z||!Z.value))return;u.textAlign="center",u.textBaseline="bottom"}var J=!E,K;if(E)K=E,u.translate(-K.x1,-K.y1);if(C==null){if(F.drawText(u,B,null,J,D),B.isEdge())F.drawText(u,B,"source",J,D),F.drawText(u,B,"target",J,D)}else F.drawText(u,B,C,J,D);if(E)u.translate(K.x1,K.y1)};rK.getFontCache=function(u){var B;this.fontCaches=this.fontCaches||[];for(var E=0;E<this.fontCaches.length;E++)if(B=this.fontCaches[E],B.context===u)return B;return B={context:u},this.fontCaches.push(B),B};rK.setupTextStyle=function(u,B){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,A=B.pstyle("font-style").strValue,C=B.pstyle("font-size").pfValue+"px",D=B.pstyle("font-family").strValue,F=B.pstyle("font-weight").strValue,U=E?B.effectiveOpacity()*B.pstyle("text-opacity").value:1,z=B.pstyle("text-outline-opacity").value*U,k=B.pstyle("color").value,f=B.pstyle("text-outline-color").value;u.font=A+" "+F+" "+C+" "+D,u.lineJoin="round",this.colorFillStyle(u,k[0],k[1],k[2],U),this.colorStrokeStyle(u,f[0],f[1],f[2],z)};rK.getTextAngle=function(u,B){var E,A=u._private,C=A.rscratch,D=B?B+"-":"",F=u.pstyle(D+"text-rotation");if(F.strValue==="autorotate"){var U=vB(C,"labelAngle",B);E=u.isEdge()?U:0}else if(F.strValue==="none")E=0;else E=F.pfValue;return E};rK.drawText=function(u,B,E){var A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,D=B._private,F=D.rscratch,U=C?B.effectiveOpacity():1;if(C&&(U===0||B.pstyle("text-opacity").value===0))return;if(E==="main")E=null;var z=vB(F,"labelX",E),k=vB(F,"labelY",E),f,M,b=this.getLabelText(B,E);if(b!=null&&b!==""&&!isNaN(z)&&!isNaN(k)){this.setupTextStyle(u,B,C);var Z=E?E+"-":"",J=vB(F,"labelWidth",E),K=vB(F,"labelHeight",E),w=vB(F,"labelActualDescent",E),Q=B.pstyle(Z+"text-margin-x").pfValue,G=B.pstyle(Z+"text-margin-y").pfValue,H=B.isEdge(),l=B.pstyle("text-halign").value,q=B.pstyle("text-valign").value;if(H)l="center",q="center";z+=Q,k+=G;var L;if(!A)L=0;else L=this.getTextAngle(B,E);if(L!==0)f=z,M=k,u.translate(f,M),u.rotate(L),z=0,k=0;var v=dq(l),x=sq(q);switch(x){case"top":break;case"center":k+=K/2;break;case"bottom":k+=K;break}var S=B.pstyle("text-background-opacity").value,W=B.pstyle("text-border-opacity").value,T=B.pstyle("text-border-width").pfValue,R=B.pstyle("text-background-padding").pfValue,Y=B.pstyle("text-background-shape").strValue,h=Y==="round-rectangle"||Y==="roundrectangle",I=Y==="circle",O=2;if(S>0||T>0&&W>0){var{fillStyle:V,strokeStyle:j,lineWidth:i}=u,a=B.pstyle("text-background-color").value,$=B.pstyle("text-border-color").value,m=B.pstyle("text-border-style").value,y=S>0,r=T>0&&W>0,_=z-R;switch(v){case"left":_-=J;break;case"center":_-=J/2;break}var e=k-K-R,p=J+2*R,b0=K+2*R;if(y)u.fillStyle="rgba(".concat(a[0],",").concat(a[1],",").concat(a[2],",").concat(S*U,")");if(r){if(u.strokeStyle="rgba(".concat($[0],",").concat($[1],",").concat($[2],",").concat(W*U,")"),u.lineWidth=T,u.setLineDash)switch(m){case"dotted":u.setLineDash([1,1]);break;case"dashed":u.setLineDash([4,2]);break;case"double":u.lineWidth=T/4,u.setLineDash([]);break;case"solid":default:u.setLineDash([]);break}}if(h)u.beginPath(),Zr0(u,_,e,p,b0,O);else if(I)u.beginPath(),Mq4(u,_,e,p,b0);else u.beginPath(),u.rect(_,e,p,b0);if(y)u.fill();if(r)u.stroke();if(r&&m==="double"){var B0=T/2;if(u.beginPath(),h)Zr0(u,_+B0,e+B0,p-2*B0,b0-2*B0,O);else u.rect(_+B0,e+B0,p-2*B0,b0-2*B0);u.stroke()}if(u.fillStyle=V,u.strokeStyle=j,u.lineWidth=i,u.setLineDash)u.setLineDash([])}var k0=2*B.pstyle("text-outline-width").pfValue;if(k0>0)u.lineWidth=k0;if(k-=w,B.pstyle("text-wrap").value==="wrap"){var f0=vB(F,"labelWrapCachedLines",E),D0=vB(F,"labelLineHeight",E),P0=J/2,L0=this.getLabelJustification(B);if(L0==="auto");else if(v==="left"){if(L0==="left")z+=-J;else if(L0==="center")z+=-P0}else if(v==="center"){if(L0==="left")z+=-P0;else if(L0==="right")z+=P0}else if(v==="right"){if(L0==="center")z+=P0;else if(L0==="right")z+=J}switch(x){case"top":k-=(f0.length-1)*D0;break;case"center":case"bottom":k-=(f0.length-1)*D0;break}for(var m0=0;m0<f0.length;m0++){if(k0>0)u.strokeText(f0[m0],z,k);u.fillText(f0[m0],z,k),k+=D0}}else{if(k0>0)u.strokeText(b,z,k);u.fillText(b,z,k)}if(L!==0)u.rotate(-L),u.translate(-f,-M)}};Cb={};Cb.drawNode=function(u,B,E){var A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,D=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,F=this,U,z,k=B._private,f=k.rscratch,M=B.position();if(!K4(M.x)||!K4(M.y))return;if(D&&!B.visible())return;var b=D?B.effectiveOpacity():1,Z=F.usePaths(),J,K=!1,w=B.padding();U=B.width()+2*w,z=B.height()+2*w;var Q;if(E)Q=E,u.translate(-Q.x1,-Q.y1);var G=B.pstyle("background-image"),H=G.value,l=Array(H.length),q=Array(H.length),L=0;for(var v=0;v<H.length;v++){var x=H[v],S=l[v]=x!=null&&x!=="none";if(S){var W=B.cy().style().getIndexedStyle(B,"background-image-crossorigin","value",v);L++,q[v]=F.getCachedImage(x,W,function(){k.backgroundTimestamp=Date.now(),B.emitAndNotify("background")})}}var T=B.pstyle("background-blacken").value,R=B.pstyle("border-width").pfValue,Y=B.pstyle("background-opacity").value*b,h=B.pstyle("border-color").value,I=B.pstyle("border-style").value,O=B.pstyle("border-join").value,V=B.pstyle("border-cap").value,j=B.pstyle("border-position").value,i=B.pstyle("border-dash-pattern").pfValue,a=B.pstyle("border-dash-offset").pfValue,$=B.pstyle("border-opacity").value*b,m=B.pstyle("outline-width").pfValue,y=B.pstyle("outline-color").value,r=B.pstyle("outline-style").value,_=B.pstyle("outline-opacity").value*b,e=B.pstyle("outline-offset").value,p=B.pstyle("corner-radius").value;if(p!=="auto")p=B.pstyle("corner-radius").pfValue;var b0=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Y;F.eleFillStyle(u,B,d)},B0=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;F.colorStrokeStyle(u,h[0],h[1],h[2],d)},k0=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_;F.colorStrokeStyle(u,y[0],y[1],y[2],d)},f0=function(d,q0,o,l0){var E0=F.nodePathCache=F.nodePathCache||[],$0=ir0(o==="polygon"?o+","+l0.join(","):o,""+q0,""+d,""+p),g0=E0[$0],n0,c0=!1;if(g0!=null)n0=g0,c0=!0,f.pathCache=n0;else n0=new Path2D,E0[$0]=f.pathCache=n0;return{path:n0,cacheHit:c0}},D0=B.pstyle("shape").strValue,P0=B.pstyle("shape-polygon-points").pfValue;if(Z){u.translate(M.x,M.y);var L0=f0(U,z,D0,P0);J=L0.path,K=L0.cacheHit}var m0=function(){if(!K){var d=M;if(Z)d={x:0,y:0};F.nodeShapes[F.getNodeShape(B)].draw(J||u,d.x,d.y,U,z,p,f)}if(Z)u.fill(J);else u.fill()},h0=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b,q0=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,o=k.backgrounding,l0=0;for(var E0=0;E0<q.length;E0++){var $0=B.cy().style().getIndexedStyle(B,"background-image-containment","value",E0);if(q0&&$0==="over"||!q0&&$0==="inside"){l0++;continue}if(l[E0]&&q[E0].complete&&!q[E0].error)l0++,F.drawInscribedImage(u,q[E0],B,E0,d)}if(k.backgrounding=l0!==L,o!==k.backgrounding)B.updateStyle(!1)},_0=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,q0=arguments.length>1&&arguments[1]!==void 0?arguments[1]:b;if(F.hasPie(B)){if(F.drawPie(u,B,q0),d){if(!Z)F.nodeShapes[F.getNodeShape(B)].draw(u,M.x,M.y,U,z,p,f)}}},w0=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,q0=arguments.length>1&&arguments[1]!==void 0?arguments[1]:b;if(F.hasStripe(B)){if(u.save(),Z)u.clip(f.pathCache);else F.nodeShapes[F.getNodeShape(B)].draw(u,M.x,M.y,U,z,p,f),u.clip();if(F.drawStripe(u,B,q0),u.restore(),d){if(!Z)F.nodeShapes[F.getNodeShape(B)].draw(u,M.x,M.y,U,z,p,f)}}},x0=function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b,q0=(T>0?T:-T)*d,o=T>0?0:255;if(T!==0)if(F.colorFillStyle(u,o,o,o,q0),Z)u.fill(J);else u.fill()},T0=function(){if(R>0){if(u.lineWidth=R,u.lineCap=V,u.lineJoin=O,u.setLineDash)switch(I){case"dotted":u.setLineDash([1,1]);break;case"dashed":u.setLineDash(i),u.lineDashOffset=a;break;case"solid":case"double":u.setLineDash([]);break}if(j!=="center"){if(u.save(),u.lineWidth*=2,j==="inside")Z?u.clip(J):u.clip();else{var d=new Path2D;d.rect(-U/2-R,-z/2-R,U+2*R,z+2*R),d.addPath(J),u.clip(d,"evenodd")}Z?u.stroke(J):u.stroke(),u.restore()}else Z?u.stroke(J):u.stroke();if(I==="double"){u.lineWidth=R/3;var q0=u.globalCompositeOperation;if(u.globalCompositeOperation="destination-out",Z)u.stroke(J);else u.stroke();u.globalCompositeOperation=q0}if(u.setLineDash)u.setLineDash([])}},J0=function(){if(m>0){if(u.lineWidth=m,u.lineCap="butt",u.setLineDash)switch(r){case"dotted":u.setLineDash([1,1]);break;case"dashed":u.setLineDash([4,2]);break;case"solid":case"double":u.setLineDash([]);break}var d=M;if(Z)d={x:0,y:0};var q0=F.getNodeShape(B),o=R;if(j==="inside")o=0;if(j==="outside")o*=2;var l0=(U+o+(m+e))/U,E0=(z+o+(m+e))/z,$0=U*l0,g0=z*E0,n0=F.nodeShapes[q0].points,c0;if(Z){var Bu=f0($0,g0,q0,n0);c0=Bu.path}if(q0==="ellipse")F.drawEllipsePath(c0||u,d.x,d.y,$0,g0);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(q0)){var p0=0,e0=0,t0=0;if(q0==="round-diamond")p0=(o+e+m)*1.4;else if(q0==="round-heptagon")p0=(o+e+m)*1.075,t0=-(o/2+e+m)/35;else if(q0==="round-hexagon")p0=(o+e+m)*1.12;else if(q0==="round-pentagon")p0=(o+e+m)*1.13,t0=-(o/2+e+m)/15;else if(q0==="round-tag")p0=(o+e+m)*1.12,e0=(o/2+m+e)*0.07;else if(q0==="round-triangle")p0=(o+e+m)*(Math.PI/2),t0=-(o+e/2+m)/Math.PI;if(p0!==0){if(l0=(U+p0)/U,$0=U*l0,!["round-hexagon","round-tag"].includes(q0))E0=(z+p0)/z,g0=z*E0}p=p==="auto"?dr0($0,g0):p;var zu=$0/2,S0=g0/2,yu=p+(o+m+e)/2,V0=Array(n0.length/2),xu=Array(n0.length/2);for(var gu=0;gu<n0.length/2;gu++)V0[gu]={x:d.x+e0+zu*n0[gu*2],y:d.y+t0+S0*n0[gu*2+1]};var Du,Nu,du,Iu,v0=V0.length;Nu=V0[v0-1];for(Du=0;Du<v0;Du++)du=V0[Du%v0],Iu=V0[(Du+1)%v0],xu[Du]=k70(Nu,du,Iu,yu),Nu=du,du=Iu;F.drawRoundPolygonPath(c0||u,d.x+e0,d.y+t0,U*l0,z*E0,n0,xu)}else if(["roundrectangle","round-rectangle"].includes(q0))p=p==="auto"?oM($0,g0):p,F.drawRoundRectanglePath(c0||u,d.x,d.y,$0,g0,p+(o+m+e)/2);else if(["cutrectangle","cut-rectangle"].includes(q0))p=p==="auto"?t50():p,F.drawCutRectanglePath(c0||u,d.x,d.y,$0,g0,null,p+(o+m+e)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(q0))p=p==="auto"?oM($0,g0):p,F.drawBottomRoundRectanglePath(c0||u,d.x,d.y,$0,g0,p+(o+m+e)/2);else if(q0==="barrel")F.drawBarrelPath(c0||u,d.x,d.y,$0,g0);else if(q0.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(q0)){var Tu=(o+m+e)/U;n0=ga(ca(n0,Tu)),F.drawPolygonPath(c0||u,d.x,d.y,U,z,n0)}else{var iu=(o+m+e)/U;n0=ga(ca(n0,-iu)),F.drawPolygonPath(c0||u,d.x,d.y,U,z,n0)}if(Z)u.stroke(c0);else u.stroke();if(r==="double"){u.lineWidth=o/3;var Ju=u.globalCompositeOperation;if(u.globalCompositeOperation="destination-out",Z)u.stroke(c0);else u.stroke();u.globalCompositeOperation=Ju}if(u.setLineDash)u.setLineDash([])}},F0=function(){if(C)F.drawNodeOverlay(u,B,M,U,z)},u0=function(){if(C)F.drawNodeUnderlay(u,B,M,U,z)},Z0=function(){F.drawElementText(u,B,null,A)},X0=B.pstyle("ghost").value==="yes";if(X0){var W0=B.pstyle("ghost-offset-x").pfValue,Y0=B.pstyle("ghost-offset-y").pfValue,a0=B.pstyle("ghost-opacity").value,K0=a0*b;u.translate(W0,Y0),k0(),J0(),b0(a0*Y),m0(),h0(K0,!0),B0(a0*$),T0(),_0(T!==0||R!==0),w0(T!==0||R!==0),h0(K0,!1),x0(K0),u.translate(-W0,-Y0)}if(Z)u.translate(-M.x,-M.y);if(u0(),Z)u.translate(M.x,M.y);if(k0(),J0(),b0(),m0(),h0(b,!0),B0(),T0(),_0(T!==0||R!==0),w0(T!==0||R!==0),h0(b,!1),x0(),Z)u.translate(-M.x,-M.y);if(Z0(),F0(),E)u.translate(Q.x1,Q.y1)};Cb.drawNodeOverlay=Ec0("overlay");Cb.drawNodeUnderlay=Ec0("underlay");Cb.hasPie=function(u){return u=u[0],u._private.hasPie};Cb.hasStripe=function(u){return u=u[0],u._private.hasStripe};Cb.drawPie=function(u,B,E,A){B=B[0],A=A||B.position();var C=B.cy().style(),D=B.pstyle("pie-size"),F=B.pstyle("pie-hole"),U=B.pstyle("pie-start-angle").pfValue,z=A.x,k=A.y,f=B.width(),M=B.height(),b=Math.min(f,M)/2,Z,J=0,K=this.usePaths();if(K)z=0,k=0;if(D.units==="%")b=b*D.pfValue;else if(D.pfValue!==void 0)b=D.pfValue/2;if(F.units==="%")Z=b*F.pfValue;else if(F.pfValue!==void 0)Z=F.pfValue/2;if(Z>=b)return;for(var w=1;w<=C.pieBackgroundN;w++){var Q=B.pstyle("pie-"+w+"-background-size").value,G=B.pstyle("pie-"+w+"-background-color").value,H=B.pstyle("pie-"+w+"-background-opacity").value*E,l=Q/100;if(l+J>1)l=1-J;var q=1.5*Math.PI+2*Math.PI*J;q+=U;var L=2*Math.PI*l,v=q+L;if(Q===0||J>=1||J+l>1)continue;if(Z===0)u.beginPath(),u.moveTo(z,k),u.arc(z,k,b,q,v),u.closePath();else u.beginPath(),u.arc(z,k,b,q,v),u.arc(z,k,Z,v,q,!0),u.closePath();this.colorFillStyle(u,G[0],G[1],G[2],H),u.fill(),J+=l}};Cb.drawStripe=function(u,B,E,A){B=B[0],A=A||B.position();var C=B.cy().style(),D=A.x,F=A.y,U=B.width(),z=B.height(),k=0,f=this.usePaths();u.save();var M=B.pstyle("stripe-direction").value,b=B.pstyle("stripe-size");switch(M){case"vertical":break;case"righward":u.rotate(-Math.PI/2);break}var Z=U,J=z;if(b.units==="%")Z=Z*b.pfValue,J=J*b.pfValue;else if(b.pfValue!==void 0)Z=b.pfValue,J=b.pfValue;if(f)D=0,F=0;F-=Z/2,D-=J/2;for(var K=1;K<=C.stripeBackgroundN;K++){var w=B.pstyle("stripe-"+K+"-background-size").value,Q=B.pstyle("stripe-"+K+"-background-color").value,G=B.pstyle("stripe-"+K+"-background-opacity").value*E,H=w/100;if(H+k>1)H=1-k;if(w===0||k>=1||k+H>1)continue;u.beginPath(),u.rect(D,F+J*k,Z,J*H),u.closePath(),this.colorFillStyle(u,Q[0],Q[1],Q[2],G),u.fill(),k+=H}u.restore()};WB={};WB.getPixelRatio=function(){var u=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var B=this.cy.window(),E=u.backingStorePixelRatio||u.webkitBackingStorePixelRatio||u.mozBackingStorePixelRatio||u.msBackingStorePixelRatio||u.oBackingStorePixelRatio||u.backingStorePixelRatio||1;return(B.devicePixelRatio||1)/E};WB.paintCache=function(u){var B=this.paintCaches=this.paintCaches||[],E=!0,A;for(var C=0;C<B.length;C++)if(A=B[C],A.context===u){E=!1;break}if(E)A={context:u},B.push(A);return A};WB.createGradientStyleFor=function(u,B,E,A,C){var D,F=this.usePaths(),U=E.pstyle(B+"-gradient-stop-colors").value,z=E.pstyle(B+"-gradient-stop-positions").pfValue;if(A==="radial-gradient")if(E.isEdge()){var k=E.sourceEndpoint(),f=E.targetEndpoint(),M=E.midpoint(),b=iK(k,M),Z=iK(f,M);D=u.createRadialGradient(M.x,M.y,0,M.x,M.y,Math.max(b,Z))}else{var J=F?{x:0,y:0}:E.position(),K=E.paddedWidth(),w=E.paddedHeight();D=u.createRadialGradient(J.x,J.y,0,J.x,J.y,Math.max(K,w))}else if(E.isEdge()){var Q=E.sourceEndpoint(),G=E.targetEndpoint();D=u.createLinearGradient(Q.x,Q.y,G.x,G.y)}else{var H=F?{x:0,y:0}:E.position(),l=E.paddedWidth(),q=E.paddedHeight(),L=l/2,v=q/2,x=E.pstyle("background-gradient-direction").value;switch(x){case"to-bottom":D=u.createLinearGradient(H.x,H.y-v,H.x,H.y+v);break;case"to-top":D=u.createLinearGradient(H.x,H.y+v,H.x,H.y-v);break;case"to-left":D=u.createLinearGradient(H.x+L,H.y,H.x-L,H.y);break;case"to-right":D=u.createLinearGradient(H.x-L,H.y,H.x+L,H.y);break;case"to-bottom-right":case"to-right-bottom":D=u.createLinearGradient(H.x-L,H.y-v,H.x+L,H.y+v);break;case"to-top-right":case"to-right-top":D=u.createLinearGradient(H.x-L,H.y+v,H.x+L,H.y-v);break;case"to-bottom-left":case"to-left-bottom":D=u.createLinearGradient(H.x+L,H.y-v,H.x-L,H.y+v);break;case"to-top-left":case"to-left-top":D=u.createLinearGradient(H.x+L,H.y+v,H.x-L,H.y-v);break}}if(!D)return null;var S=z.length===U.length,W=U.length;for(var T=0;T<W;T++)D.addColorStop(S?z[T]:T/(W-1),"rgba("+U[T][0]+","+U[T][1]+","+U[T][2]+","+C+")");return D};WB.gradientFillStyle=function(u,B,E,A){var C=this.createGradientStyleFor(u,"background",B,E,A);if(!C)return null;u.fillStyle=C};WB.colorFillStyle=function(u,B,E,A,C){u.fillStyle="rgba("+B+","+E+","+A+","+C+")"};WB.eleFillStyle=function(u,B,E){var A=B.pstyle("background-fill").value;if(A==="linear-gradient"||A==="radial-gradient")this.gradientFillStyle(u,B,A,E);else{var C=B.pstyle("background-color").value;this.colorFillStyle(u,C[0],C[1],C[2],E)}};WB.gradientStrokeStyle=function(u,B,E,A){var C=this.createGradientStyleFor(u,"line",B,E,A);if(!C)return null;u.strokeStyle=C};WB.colorStrokeStyle=function(u,B,E,A,C){u.strokeStyle="rgba("+B+","+E+","+A+","+C+")"};WB.eleStrokeStyle=function(u,B,E){var A=B.pstyle("line-fill").value;if(A==="linear-gradient"||A==="radial-gradient")this.gradientStrokeStyle(u,B,A,E);else{var C=B.pstyle("line-color").value;this.colorStrokeStyle(u,C[0],C[1],C[2],E)}};WB.matchCanvasSize=function(u){var B=this,E=B.data,A=B.findContainerClientCoords(),C=A[2],D=A[3],F=B.getPixelRatio(),U=B.motionBlurPxRatio;if(u===B.data.bufferCanvases[B.MOTIONBLUR_BUFFER_NODE]||u===B.data.bufferCanvases[B.MOTIONBLUR_BUFFER_DRAG])F=U;var z=C*F,k=D*F,f;if(z===B.canvasWidth&&k===B.canvasHeight)return;B.fontCaches=null;var M=E.canvasContainer;M.style.width=C+"px",M.style.height=D+"px";for(var b=0;b<B.CANVAS_LAYERS;b++)f=E.canvases[b],f.width=z,f.height=k,f.style.width=C+"px",f.style.height=D+"px";for(var b=0;b<B.BUFFER_COUNT;b++)f=E.bufferCanvases[b],f.width=z,f.height=k,f.style.width=C+"px",f.style.height=D+"px";if(B.textureMult=1,F<=1)f=E.bufferCanvases[B.TEXTURE_BUFFER],B.textureMult=2,f.width=z*B.textureMult,f.height=k*B.textureMult;B.canvasWidth=z,B.canvasHeight=k,B.pixelRatio=F};WB.renderTo=function(u,B,E,A){this.render({forcedContext:u,forcedZoom:B,forcedPan:E,drawAllLayers:!0,forcedPxRatio:A})};WB.clearCanvas=function(){var u=this,B=u.data;function E(A){A.clearRect(0,0,u.canvasWidth,u.canvasHeight)}E(B.contexts[u.NODE]),E(B.contexts[u.DRAG])};WB.render=function(u){var B=this;u=u||yr0();var E=B.cy,A=u.forcedContext,C=u.drawAllLayers,D=u.drawOnlyNodeLayer,F=u.forcedZoom,U=u.forcedPan,z=u.forcedPxRatio===void 0?this.getPixelRatio():u.forcedPxRatio,k=B.data,f=k.canvasNeedsRedraw,M=B.textureOnViewport&&!A&&(B.pinching||B.hoverData.dragging||B.swipePanning||B.data.wheelZooming),b=u.motionBlur!==void 0?u.motionBlur:B.motionBlur,Z=B.motionBlurPxRatio,J=E.hasCompoundNodes(),K=B.hoverData.draggingEles,w=B.hoverData.selecting||B.touchData.selecting?!0:!1;b=b&&!A&&B.motionBlurEnabled&&!w;var Q=b;if(!A){if(B.prevPxRatio!==z)B.invalidateContainerClientCoordsCache(),B.matchCanvasSize(B.container),B.redrawHint("eles",!0),B.redrawHint("drag",!0);B.prevPxRatio=z}if(!A&&B.motionBlurTimeout)clearTimeout(B.motionBlurTimeout);if(b){if(B.mbFrames==null)B.mbFrames=0;if(B.mbFrames++,B.mbFrames<3)Q=!1;if(B.mbFrames>B.minMbLowQualFrames)B.motionBlurPxRatio=B.mbPxRBlurry}if(B.clearingMotionBlur)B.motionBlurPxRatio=1;if(B.textureDrawLastFrame&&!M)f[B.NODE]=!0,f[B.SELECT_BOX]=!0;var G=E.style(),H=E.zoom(),l=F!==void 0?F:H,q=E.pan(),L={x:q.x,y:q.y},v={zoom:H,pan:{x:q.x,y:q.y}},x=B.prevViewport,S=x===void 0||v.zoom!==x.zoom||v.pan.x!==x.pan.x||v.pan.y!==x.pan.y;if(!S&&!(K&&!J))B.motionBlurPxRatio=1;if(U)L=U;l*=z,L.x*=z,L.y*=z;var W=B.getCachedZSortedEles();function T(B0,k0,f0,D0,P0){var L0=B0.globalCompositeOperation;B0.globalCompositeOperation="destination-out",B.colorFillStyle(B0,255,255,255,B.motionBlurTransparency),B0.fillRect(k0,f0,D0,P0),B0.globalCompositeOperation=L0}function R(B0,k0){var f0,D0,P0,L0;if(!B.clearingMotionBlur&&(B0===k.bufferContexts[B.MOTIONBLUR_BUFFER_NODE]||B0===k.bufferContexts[B.MOTIONBLUR_BUFFER_DRAG]))f0={x:q.x*Z,y:q.y*Z},D0=H*Z,P0=B.canvasWidth*Z,L0=B.canvasHeight*Z;else f0=L,D0=l,P0=B.canvasWidth,L0=B.canvasHeight;if(B0.setTransform(1,0,0,1,0,0),k0==="motionBlur")T(B0,0,0,P0,L0);else if(!A&&(k0===void 0||k0))B0.clearRect(0,0,P0,L0);if(!C)B0.translate(f0.x,f0.y),B0.scale(D0,D0);if(U)B0.translate(U.x,U.y);if(F)B0.scale(F,F)}if(!M)B.textureDrawLastFrame=!1;if(M){if(B.textureDrawLastFrame=!0,!B.textureCache){B.textureCache={},B.textureCache.bb=E.mutableElements().boundingBox(),B.textureCache.texture=B.data.bufferCanvases[B.TEXTURE_BUFFER];var Y=B.data.bufferContexts[B.TEXTURE_BUFFER];Y.setTransform(1,0,0,1,0,0),Y.clearRect(0,0,B.canvasWidth*B.textureMult,B.canvasHeight*B.textureMult),B.render({forcedContext:Y,drawOnlyNodeLayer:!0,forcedPxRatio:z*B.textureMult});var v=B.textureCache.viewport={zoom:E.zoom(),pan:E.pan(),width:B.canvasWidth,height:B.canvasHeight};v.mpan={x:(0-v.pan.x)/v.zoom,y:(0-v.pan.y)/v.zoom}}f[B.DRAG]=!1,f[B.NODE]=!1;var h=k.contexts[B.NODE],I=B.textureCache.texture,v=B.textureCache.viewport;if(h.setTransform(1,0,0,1,0,0),b)T(h,0,0,v.width,v.height);else h.clearRect(0,0,v.width,v.height);var O=G.core("outside-texture-bg-color").value,V=G.core("outside-texture-bg-opacity").value;B.colorFillStyle(h,O[0],O[1],O[2],V),h.fillRect(0,0,v.width,v.height);var H=E.zoom();R(h,!1),h.clearRect(v.mpan.x,v.mpan.y,v.width/v.zoom/z,v.height/v.zoom/z),h.drawImage(I,v.mpan.x,v.mpan.y,v.width/v.zoom/z,v.height/v.zoom/z)}else if(B.textureOnViewport&&!A)B.textureCache=null;var j=E.extent(),i=B.pinching||B.hoverData.dragging||B.swipePanning||B.data.wheelZooming||B.hoverData.draggingEles||B.cy.animated(),a=B.hideEdgesOnViewport&&i,$=[];if($[B.NODE]=!f[B.NODE]&&b&&!B.clearedForMotionBlur[B.NODE]||B.clearingMotionBlur,$[B.NODE])B.clearedForMotionBlur[B.NODE]=!0;if($[B.DRAG]=!f[B.DRAG]&&b&&!B.clearedForMotionBlur[B.DRAG]||B.clearingMotionBlur,$[B.DRAG])B.clearedForMotionBlur[B.DRAG]=!0;if(f[B.NODE]||C||D||$[B.NODE]){var m=b&&!$[B.NODE]&&Z!==1,h=A||(m?B.data.bufferContexts[B.MOTIONBLUR_BUFFER_NODE]:k.contexts[B.NODE]),y=b&&!m?"motionBlur":void 0;if(R(h,y),a)B.drawCachedNodes(h,W.nondrag,z,j);else B.drawLayeredElements(h,W.nondrag,z,j);if(B.debug)B.drawDebugPoints(h,W.nondrag);if(!C&&!b)f[B.NODE]=!1}if(!D&&(f[B.DRAG]||C||$[B.DRAG])){var m=b&&!$[B.DRAG]&&Z!==1,h=A||(m?B.data.bufferContexts[B.MOTIONBLUR_BUFFER_DRAG]:k.contexts[B.DRAG]);if(R(h,b&&!m?"motionBlur":void 0),a)B.drawCachedNodes(h,W.drag,z,j);else B.drawCachedElements(h,W.drag,z,j);if(B.debug)B.drawDebugPoints(h,W.drag);if(!C&&!b)f[B.DRAG]=!1}if(this.drawSelectionRectangle(u,R),b&&Z!==1){var r=k.contexts[B.NODE],_=B.data.bufferCanvases[B.MOTIONBLUR_BUFFER_NODE],e=k.contexts[B.DRAG],p=B.data.bufferCanvases[B.MOTIONBLUR_BUFFER_DRAG],b0=function(k0,f0,D0){if(k0.setTransform(1,0,0,1,0,0),D0||!Q)k0.clearRect(0,0,B.canvasWidth,B.canvasHeight);else T(k0,0,0,B.canvasWidth,B.canvasHeight);var P0=Z;k0.drawImage(f0,0,0,B.canvasWidth*P0,B.canvasHeight*P0,0,0,B.canvasWidth,B.canvasHeight)};if(f[B.NODE]||$[B.NODE])b0(r,_,$[B.NODE]),f[B.NODE]=!1;if(f[B.DRAG]||$[B.DRAG])b0(e,p,$[B.DRAG]),f[B.DRAG]=!1}if(B.prevViewport=v,B.clearingMotionBlur)B.clearingMotionBlur=!1,B.motionBlurCleared=!0,B.motionBlur=!0;if(b)B.motionBlurTimeout=setTimeout(function(){B.motionBlurTimeout=null,B.clearedForMotionBlur[B.NODE]=!1,B.clearedForMotionBlur[B.DRAG]=!1,B.motionBlur=!1,B.clearingMotionBlur=!M,B.mbFrames=0,f[B.NODE]=!0,f[B.DRAG]=!0,B.redraw()},bq4);if(!A)E.emit("render")};WB.drawSelectionRectangle=function(u,B){var E=this,A=E.cy,C=E.data,D=A.style(),F=u.drawOnlyNodeLayer,U=u.drawAllLayers,z=C.canvasNeedsRedraw,k=u.forcedContext;if(E.showFps||!F&&z[E.SELECT_BOX]&&!U){var f=k||C.contexts[E.SELECT_BOX];if(B(f),E.selection[4]==1&&(E.hoverData.selecting||E.touchData.selecting)){var M=E.cy.zoom(),b=D.core("selection-box-border-width").value/M;if(f.lineWidth=b,f.fillStyle="rgba("+D.core("selection-box-color").value[0]+","+D.core("selection-box-color").value[1]+","+D.core("selection-box-color").value[2]+","+D.core("selection-box-opacity").value+")",f.fillRect(E.selection[0],E.selection[1],E.selection[2]-E.selection[0],E.selection[3]-E.selection[1]),b>0)f.strokeStyle="rgba("+D.core("selection-box-border-color").value[0]+","+D.core("selection-box-border-color").value[1]+","+D.core("selection-box-border-color").value[2]+","+D.core("selection-box-opacity").value+")",f.strokeRect(E.selection[0],E.selection[1],E.selection[2]-E.selection[0],E.selection[3]-E.selection[1])}if(C.bgActivePosistion&&!E.hoverData.selecting){var M=E.cy.zoom(),Z=C.bgActivePosistion;f.fillStyle="rgba("+D.core("active-bg-color").value[0]+","+D.core("active-bg-color").value[1]+","+D.core("active-bg-color").value[2]+","+D.core("active-bg-opacity").value+")",f.beginPath(),f.arc(Z.x,Z.y,D.core("active-bg-size").pfValue/M,0,2*Math.PI),f.fill()}var J=E.lastRedrawTime;if(E.showFps&&J){J=Math.round(J);var K=Math.round(1000/J),w="1 frame = "+J+" ms = "+K+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!TS){var Q=f.measureText(w);TS=Q.actualBoundingBoxAscent}f.fillText(w,0,TS);var G=60;f.strokeRect(0,TS+10,250,20),f.fillRect(0,TS+10,250*Math.min(K/G,1),20)}if(!U)z[E.SELECT_BOX]=!1}};Kr0=typeof Float32Array<"u"?Float32Array:Array;if(!Math.hypot)Math.hypot=function(){var u=0,B=arguments.length;while(B--)u+=arguments[B]*arguments[B];return Math.sqrt(u)};Sq4=function(){function u(B,E,A,C){Bb(this,u),this.debugID=Math.floor(Math.random()*1e4),this.r=B,this.texSize=E,this.texRows=A,this.texHeight=Math.floor(E/A),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=C(B,E,E),this.scratch=C(B,E,this.texHeight,"scratch")}return Eb(u,[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(E){var{w:A,h:C}=E,D=this.texHeight,F=this.texSize,U=D/C,z=A*U,k=C*U;if(z>F)U=F/A,z=A*U,k=C*U;return{scale:U,texW:z,texH:k}}},{key:"draw",value:function(E,A,C){var D=this;if(this.locked)throw Error("can't draw, atlas is locked");var F=this.texSize,U=this.texRows,z=this.texHeight,k=this.getScale(A),f=k.scale,M=k.texW,b=k.texH,Z=function(H,l){if(C&&l){var q=l.context,L=H.x,v=H.row,x=L,S=z*v;q.save(),q.translate(x,S),q.scale(f,f),C(q,A),q.restore()}},J=[null,null],K=function(){if(Z(D.freePointer,D.canvas),J[0]={x:D.freePointer.x,y:D.freePointer.row*z,w:M,h:b},J[1]={x:D.freePointer.x+M,y:D.freePointer.row*z,w:0,h:b},D.freePointer.x+=M,D.freePointer.x==F)D.freePointer.x=0,D.freePointer.row++},w=function(){var{scratch:H,canvas:l}=D;H.clear(),Z({x:0,row:0},H);var q=F-D.freePointer.x,L=M-q,v=z;{var x=D.freePointer.x,S=D.freePointer.row*z,W=q;l.context.drawImage(H,0,0,W,v,x,S,W,v),J[0]={x,y:S,w:W,h:b}}{var T=q,R=(D.freePointer.row+1)*z,Y=L;if(l)l.context.drawImage(H,T,0,Y,v,0,R,Y,v);J[1]={x:0,y:R,w:Y,h:b}}D.freePointer.x=L,D.freePointer.row++},Q=function(){D.freePointer.x=0,D.freePointer.row++};if(this.freePointer.x+M<=F)K();else if(this.freePointer.row>=U-1)return!1;else if(this.freePointer.x===F)Q(),K();else if(this.enableWrapping)w();else Q(),K();return this.keyToLocation.set(E,J),this.needsBuffer=!0,J}},{key:"getOffsets",value:function(E){return this.keyToLocation.get(E)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(E){if(this.locked)return!1;var A=this.texSize,C=this.texRows,D=this.getScale(E),F=D.texW;if(this.freePointer.x+F>A)return this.freePointer.row<C-1;return!0}},{key:"bufferIfNeeded",value:function(E){if(!this.texture)this.texture=qq4(E,this.debugID);if(this.needsBuffer){if(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked)this.canvas=null,this.scratch=null}}},{key:"dispose",value:function(){if(this.texture)this.texture.deleteTexture(),this.texture=null;this.canvas=null,this.scratch=null,this.locked=!0}}])}(),Yq4=function(){function u(B,E,A,C){Bb(this,u),this.r=B,this.texSize=E,this.texRows=A,this.createTextureCanvas=C,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set}return Eb(u,[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){var E=this.r,A=this.texSize,C=this.texRows,D=this.createTextureCanvas;return new Sq4(E,A,C,D)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var E=this.r,A=this.texSize,C=this.texRows,D=this.createTextureCanvas,F=Math.floor(A/C);this.scratch=D(E,A,F,"scratch")}return this.scratch}},{key:"draw",value:function(E,A,C){var D=this.styleKeyToAtlas.get(E);if(!D){if(D=this.atlases[this.atlases.length-1],!D||!D.canFit(A)){if(D)D.lock();D=this._createAtlas(),this.atlases.push(D)}D.draw(E,A,C),this.styleKeyToAtlas.set(E,D)}return D}},{key:"getAtlas",value:function(E){return this.styleKeyToAtlas.get(E)}},{key:"hasAtlas",value:function(E){return this.styleKeyToAtlas.has(E)}},{key:"markKeyForGC",value:function(E){this.markedKeys.add(E)}},{key:"gc",value:function(){var E=this,A=this.markedKeys;if(A.size===0){console.log("nothing to garbage collect");return}var C=[],D=new Map,F=null,U=l8(this.atlases),z;try{var k=function(){var M=z.value,b=M.getKeys(),Z=Rq4(A,b);if(Z.size===0)return C.push(M),b.forEach(function(q){return D.set(q,M)}),1;if(!F)F=E._createAtlas(),C.push(F);var J=l8(b),K;try{for(J.s();!(K=J.n()).done;){var w=K.value;if(!Z.has(w)){var Q=M.getOffsets(w),G=Y2(Q,2),H=G[0],l=G[1];if(!F.canFit({w:H.w+l.w,h:H.h}))F.lock(),F=E._createAtlas(),C.push(F);if(M.canvas)E._copyTextureToNewAtlas(w,M,F),D.set(w,F)}}}catch(q){J.e(q)}finally{J.f()}M.dispose()};for(U.s();!(z=U.n()).done;)if(k())continue}catch(f){U.e(f)}finally{U.f()}this.atlases=C,this.styleKeyToAtlas=D,this.markedKeys=new Set}},{key:"_copyTextureToNewAtlas",value:function(E,A,C){var D=A.getOffsets(E),F=Y2(D,2),U=F[0],z=F[1];if(z.w===0)C.draw(E,U,function(b){b.drawImage(A.canvas,U.x,U.y,U.w,U.h,0,0,U.w,U.h)});else{var k=this._getScratchCanvas();k.clear(),k.context.drawImage(A.canvas,U.x,U.y,U.w,U.h,0,0,U.w,U.h),k.context.drawImage(A.canvas,z.x,z.y,z.w,z.h,U.w,0,z.w,z.h);var f=U.w+z.w,M=U.h;C.draw(E,{w:f,h:M},function(b){b.drawImage(k,0,0,f,M,0,0,f,M)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}])}();Tq4=function(){function u(B,E){Bb(this,u),this.r=B,this.globalOptions=E,this.atlasSize=E.webglTexSize,this.maxAtlasesPerBatch=E.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map}return Eb(u,[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(E,A){var C=this.globalOptions,D=C.webglTexSize,F=C.createTextureCanvas,U=A.texRows,z=this._cacheScratchCanvas(F),k=new Yq4(this.r,D,U,z);this.collections.set(E,k)}},{key:"addRenderType",value:function(E,A){var C=A.collection;if(!this.collections.has(C))throw Error("invalid atlas collection name '".concat(C,"'"));var D=this.collections.get(C),F=k3({type:E,atlasCollection:D},A);this.renderTypes.set(E,F)}},{key:"getRenderTypeOpts",value:function(E){return this.renderTypes.get(E)}},{key:"getAtlasCollection",value:function(E){return this.collections.get(E)}},{key:"_cacheScratchCanvas",value:function(E){var A=-1,C=-1,D=null;return function(F,U,z,k){if(k){if(!D||U!=A||z!=C)A=U,C=z,D=E(F,U,z);return D}else return E(F,U,z)}}},{key:"_key",value:function(E,A){return"".concat(E,"-").concat(A)}},{key:"invalidate",value:function(E){var A=this,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},D=C.forceRedraw,F=D===void 0?!1:D,U=C.filterEle,z=U===void 0?function(){return!0}:U,k=C.filterType,f=k===void 0?function(){return!0}:k,M=!1,b=!1,Z=l8(E),J;try{for(Z.s();!(J=Z.n()).done;){var K=J.value;if(z(K)){var w=l8(this.renderTypes.values()),Q;try{var G=function(){var l=Q.value,q=l.type;if(f(q)){var L=A.collections.get(l.collection),v=l.getKey(K),x=Array.isArray(v)?v:[v];if(F)x.forEach(function(R){return L.markKeyForGC(R)}),b=!0;else{var S=l.getID?l.getID(K):K.id(),W=A._key(q,S),T=A.typeAndIdToKey.get(W);if(T!==void 0&&!Gq4(x,T))M=!0,A.typeAndIdToKey.delete(W),T.forEach(function(R){return L.markKeyForGC(R)})}}};for(w.s();!(Q=w.n()).done;)G()}catch(H){w.e(H)}finally{w.f()}}}}catch(H){Z.e(H)}finally{Z.f()}if(b)this.gc(),M=!1;return M}},{key:"gc",value:function(){var E=l8(this.collections.values()),A;try{for(E.s();!(A=E.n()).done;){var C=A.value;C.gc()}}catch(D){E.e(D)}finally{E.f()}}},{key:"getOrCreateAtlas",value:function(E,A,C,D){var F=this.renderTypes.get(A),U=this.collections.get(F.collection),z=!1,k=U.draw(D,C,function(b){if(F.drawClipped)b.save(),b.beginPath(),b.rect(0,0,C.w,C.h),b.clip(),F.drawElement(b,E,C,!0,!0),b.restore();else F.drawElement(b,E,C,!0,!0);z=!0});if(z){var f=F.getID?F.getID(E):E.id(),M=this._key(A,f);if(this.typeAndIdToKey.has(M))this.typeAndIdToKey.get(M).push(D);else this.typeAndIdToKey.set(M,[D])}return k}},{key:"getAtlasInfo",value:function(E,A){var C=this,D=this.renderTypes.get(A),F=D.getKey(E),U=Array.isArray(F)?F:[F];return U.map(function(z){var k=D.getBoundingBox(E,z),f=C.getOrCreateAtlas(E,A,k,z),M=f.getOffsets(z),b=Y2(M,2),Z=b[0],J=b[1];return{atlas:f,tex:Z,tex1:Z,tex2:J,bb:k}})}},{key:"getDebugInfo",value:function(){var E=[],A=l8(this.collections),C;try{for(A.s();!(C=A.n()).done;){var D=Y2(C.value,2),F=D[0],U=D[1],z=U.getCounts(),k=z.keyCount,f=z.atlasCount;E.push({type:F,keyCount:k,atlasCount:f})}}catch(M){A.e(M)}finally{A.f()}return E}}])}(),Oq4=function(){function u(B){Bb(this,u),this.globalOptions=B,this.atlasSize=B.webglTexSize,this.maxAtlasesPerBatch=B.webglTexPerBatch,this.batchAtlases=[]}return Eb(u,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(E,A){return A})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(E){if(this.batchAtlases.length===this.maxAtlasesPerBatch)return this.batchAtlases.includes(E);return!0}},{key:"getAtlasIndexForBatch",value:function(E){var A=this.batchAtlases.indexOf(E);if(A<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw Error("cannot add more atlases to batch");this.batchAtlases.push(E),A=this.batchAtlases.length-1}return A}}])}(),iS={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},ta={IGNORE:1,USE_BB:2},Vq4=function(){function u(B,E,A){Bb(this,u),this.r=B,this.gl=E,this.maxInstances=A.webglBatchSize,this.atlasSize=A.webglTexSize,this.bgColor=A.bgColor,this.debug=A.webglDebug,this.batchDebugInfo=[],A.enableWrapping=!0,A.createTextureCanvas=Jq4,this.atlasManager=new Tq4(B,A),this.batchManager=new Oq4(A),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(iS.SCREEN),this.pickingProgram=this._createShaderProgram(iS.PICKING),this.vao=this._createVAO()}return Eb(u,[{key:"addAtlasCollection",value:function(E,A){this.atlasManager.addAtlasCollection(E,A)}},{key:"addTextureAtlasRenderType",value:function(E,A){this.atlasManager.addRenderType(E,A)}},{key:"addSimpleShapeRenderType",value:function(E,A){this.simpleShapeOptions.set(E,A)}},{key:"invalidate",value:function(E){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},C=A.type,D=this.atlasManager;if(C)return D.invalidate(E,{filterType:function(U){return U===C},forceRedraw:!0});else return D.invalidate(E)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(E){var A=this.gl,C=`#version 300 es
precision highp float;
uniform mat3 uPanZoomMatrix;
uniform int uAtlasSize;
// instanced
in vec2 aPosition; // a vertex from the unit square
in mat3 aTransform; // used to transform verticies, eg into a bounding box
in int aVertType; // the type of thing we are rendering
// the z-index that is output when using picking mode
in vec4 aIndex;
// For textures
in int aAtlasId; // which shader unit/atlas to use
in vec4 aTex; // x/y/w/h of texture in atlas
// for edges
in vec4 aPointAPointB;
in vec4 aPointCPointD;
in vec2 aLineWidth; // also used for node border width
// simple shapes
in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]
in vec4 aColor; // also used for edges
in vec4 aBorderColor; // aLineWidth is used for border width
// output values passed to the fragment shader
out vec2 vTexCoord;
out vec4 vColor;
out vec2 vPosition;
// flat values are not interpolated
flat out int vAtlasId;
flat out int vVertType;
flat out vec2 vTopRight;
flat out vec2 vBotLeft;
flat out vec4 vCornerRadius;
flat out vec4 vBorderColor;
flat out vec2 vBorderWidth;
flat out vec4 vIndex;
void main(void) {
int vid = gl_VertexID;
vec2 position = aPosition; // TODO make this a vec3, simplifies some code below
if(aVertType == `.concat(Q50,`) {
float texX = aTex.x; // texture coordinates
float texY = aTex.y;
float texW = aTex.z;
float texH = aTex.w;
if(vid == 1 || vid == 2 || vid == 4) {
texX += texW;
}
if(vid == 2 || vid == 4 || vid == 5) {
texY += texH;
}
float d = float(uAtlasSize);
vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
}
else if(aVertType == `).concat(hq," || aVertType == ").concat(IS,`
|| aVertType == `).concat(Ya," || aVertType == ").concat(OS,`) { // simple shapes
// the bounding box is needed by the fragment shader
vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat
vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat
vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated
// calculations are done in the fragment shader, just pass these along
vColor = aColor;
vCornerRadius = aCornerRadius;
vBorderColor = aBorderColor;
vBorderWidth = aLineWidth;
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
}
else if(aVertType == `).concat(Gr0,`) {
vec2 source = aPointAPointB.xy;
vec2 target = aPointAPointB.zw;
// adjust the geometry so that the line is centered on the edge
position.y = position.y - 0.5;
// stretch the unit square into a long skinny rectangle
vec2 xBasis = target - source;
vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));
vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;
gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);
vColor = aColor;
}
else if(aVertType == `).concat(Hr0,`) {
vec2 pointA = aPointAPointB.xy;
vec2 pointB = aPointAPointB.zw;
vec2 pointC = aPointCPointD.xy;
vec2 pointD = aPointCPointD.zw;
// adjust the geometry so that the line is centered on the edge
position.y = position.y - 0.5;
vec2 p0, p1, p2, pos;
if(position.x == 0.0) { // The left side of the unit square
p0 = pointA;
p1 = pointB;
p2 = pointC;
pos = position;
} else { // The right side of the unit square, use same approach but flip the geometry upside down
p0 = pointD;
p1 = pointC;
p2 = pointB;
pos = vec2(0.0, -position.y);
}
vec2 p01 = p1 - p0;
vec2 p12 = p2 - p1;
vec2 p21 = p1 - p2;
// Find the normal vector.
vec2 tangent = normalize(normalize(p12) + normalize(p01));
vec2 normal = vec2(-tangent.y, tangent.x);
// Find the vector perpendicular to p0 -> p1.
vec2 p01Norm = normalize(vec2(-p01.y, p01.x));
// Determine the bend direction.
float sigma = sign(dot(p01 + p21, normal));
float width = aLineWidth[0];
if(sign(pos.y) == -sigma) {
// This is an intersecting vertex. Adjust the position so that there's no overlap.
vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
} else {
// This is a non-intersecting vertex. Treat it like a mitre join.
vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
}
vColor = aColor;
}
else if(aVertType == `).concat(G50,` && vid < 3) {
// massage the first triangle into an edge arrow
if(vid == 0)
position = vec2(-0.15, -0.3);
if(vid == 1)
position = vec2( 0.0, 0.0);
if(vid == 2)
position = vec2( 0.15, -0.3);
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
vColor = aColor;
}
else {
gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space
}
vAtlasId = aAtlasId;
vVertType = aVertType;
vIndex = aIndex;
}
`),D=this.batchManager.getIndexArray(),F=`#version 300 es
precision highp float;
// declare texture unit for each texture atlas in the batch
`.concat(D.map(function(k){return"uniform sampler2D uTexture".concat(k,";")}).join(`
`),`
uniform vec4 uBGColor;
uniform float uZoom;
in vec2 vTexCoord;
in vec4 vColor;
in vec2 vPosition; // model coordinates
flat in int vAtlasId;
flat in vec4 vIndex;
flat in int vVertType;
flat in vec2 vTopRight;
flat in vec2 vBotLeft;
flat in vec4 vCornerRadius;
flat in vec4 vBorderColor;
flat in vec2 vBorderWidth;
out vec4 outColor;
`).concat(Iq4,`
`).concat(Pq4,`
`).concat(jq4,`
`).concat(Nq4,`
vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha
return vec4(
top.rgb + (bot.rgb * (1.0 - top.a)),
top.a + (bot.a * (1.0 - top.a))
);
}
vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance
// scale to the zoom level so that borders don't look blurry when zoomed in
// note 1.5 is an aribitrary value chosen because it looks good
return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d)));
}
void main(void) {
if(vVertType == `).concat(Q50,`) {
// look up the texel from the texture unit
`).concat(D.map(function(k){return"if(vAtlasId == ".concat(k,") outColor = texture(uTexture").concat(k,", vTexCoord);")}).join(`
else `),`
}
else if(vVertType == `).concat(G50,`) {
// mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';
outColor = blend(vColor, uBGColor);
outColor.a = 1.0; // make opaque, masks out line under arrow
}
else if(vVertType == `).concat(hq,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border
outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done
}
else if(vVertType == `).concat(hq," || vVertType == ").concat(IS,`
|| vVertType == `).concat(Ya," || vVertType == ").concat(OS,`) { // use SDF
float outerBorder = vBorderWidth[0];
float innerBorder = vBorderWidth[1];
float borderPadding = outerBorder * 2.0;
float w = vTopRight.x - vBotLeft.x - borderPadding;
float h = vTopRight.y - vBotLeft.y - borderPadding;
vec2 b = vec2(w/2.0, h/2.0); // half width, half height
vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center
float d; // signed distance
if(vVertType == `).concat(hq,`) {
d = rectangleSD(p, b);
} else if(vVertType == `).concat(IS,` && w == h) {
d = circleSD(p, b.x); // faster than ellipse
} else if(vVertType == `).concat(IS,`) {
d = ellipseSD(p, b);
} else {
d = roundRectangleSD(p, b, vCornerRadius.wzyx);
}
// use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling
// we must smooth colors inwards, because we can't change pixels outside the shape's bounding box
if(d > 0.0) {
if(d > outerBorder) {
discard;
} else {
outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);
}
} else {
if(d > innerBorder) {
vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;
vec4 innerBorderColor = blend(vBorderColor, vColor);
outColor = distInterp(innerBorderColor, outerColor, d);
}
else {
vec4 outerColor;
if(innerBorder == 0.0 && outerBorder == 0.0) {
outerColor = vec4(0);
} else if(innerBorder == 0.0) {
outerColor = vBorderColor;
} else {
outerColor = blend(vBorderColor, vColor);
}
outColor = distInterp(vColor, outerColor, d - innerBorder);
}
}
}
else {
outColor = vColor;
}
`).concat(E.picking?`if(outColor.a == 0.0) discard;
else outColor = vIndex;`:"",`
}
`),U=Zq4(A,C,F);U.aPosition=A.getAttribLocation(U,"aPosition"),U.aIndex=A.getAttribLocation(U,"aIndex"),U.aVertType=A.getAttribLocation(U,"aVertType"),U.aTransform=A.getAttribLocation(U,"aTransform"),U.aAtlasId=A.getAttribLocation(U,"aAtlasId"),U.aTex=A.getAttribLocation(U,"aTex"),U.aPointAPointB=A.getAttribLocation(U,"aPointAPointB"),U.aPointCPointD=A.getAttribLocation(U,"aPointCPointD"),U.aLineWidth=A.getAttribLocation(U,"aLineWidth"),U.aColor=A.getAttribLocation(U,"aColor"),U.aCornerRadius=A.getAttribLocation(U,"aCornerRadius"),U.aBorderColor=A.getAttribLocation(U,"aBorderColor"),U.uPanZoomMatrix=A.getUniformLocation(U,"uPanZoomMatrix"),U.uAtlasSize=A.getUniformLocation(U,"uAtlasSize"),U.uBGColor=A.getUniformLocation(U,"uBGColor"),U.uZoom=A.getUniformLocation(U,"uZoom"),U.uTextures=[];for(var z=0;z<this.batchManager.getMaxAtlasesPerBatch();z++)U.uTextures.push(A.getUniformLocation(U,"uTexture".concat(z)));return U}},{key:"_createVAO",value:function(){var E=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=E.length/2;var A=this.maxInstances,C=this.gl,D=this.program,F=C.createVertexArray();return C.bindVertexArray(F),Lq4(C,"vec2",D.aPosition,E),this.transformBuffer=Xq4(C,A,D.aTransform),this.indexBuffer=_F(C,A,"vec4",D.aIndex),this.vertTypeBuffer=_F(C,A,"int",D.aVertType),this.atlasIdBuffer=_F(C,A,"int",D.aAtlasId),this.texBuffer=_F(C,A,"vec4",D.aTex),this.pointAPointBBuffer=_F(C,A,"vec4",D.aPointAPointB),this.pointCPointDBuffer=_F(C,A,"vec4",D.aPointCPointD),this.lineWidthBuffer=_F(C,A,"vec2",D.aLineWidth),this.colorBuffer=_F(C,A,"vec4",D.aColor),this.cornerRadiusBuffer=_F(C,A,"vec4",D.aCornerRadius),this.borderColorBuffer=_F(C,A,"vec4",D.aBorderColor),C.bindVertexArray(null),F}},{key:"buffers",get:function(){var E=this;if(!this._buffers)this._buffers=Object.keys(this).filter(function(A){return gM(A,"Buffer")}).map(function(A){return E[A]});return this._buffers}},{key:"startFrame",value:function(E){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:iS.SCREEN;this.panZoomMatrix=E,this.renderTarget=A,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(E,A){if(E.visible()){if(A&&A.isVisible)return A.isVisible(E);return!0}return!1}},{key:"drawTexture",value:function(E,A,C){var D=this.atlasManager,F=this.batchManager,U=D.getRenderTypeOpts(C);if(!this._isVisible(E,U))return;if(E.isEdge()&&!this._isValidEdge(E))return;if(this.renderTarget.picking&&U.getTexPickingMode){var z=U.getTexPickingMode(E);if(z===ta.IGNORE)return;else if(z==ta.USE_BB){this.drawPickingRectangle(E,A,C);return}}var k=D.getAtlasInfo(E,C),f=l8(k),M;try{for(f.s();!(M=f.n()).done;){var b=M.value,Z=b.atlas,J=b.tex1,K=b.tex2;if(!F.canAddToCurrentBatch(Z))this.endBatch();var w=F.getAtlasIndexForBatch(Z);for(var Q=0,G=[[J,!0],[K,!1]];Q<G.length;Q++){var H=Y2(G[Q],2),l=H[0],q=H[1];if(l.w!=0){var L=this.instanceCount;this.vertTypeBuffer.getView(L)[0]=Q50;var v=this.indexBuffer.getView(L);Vq(A,v);var x=this.atlasIdBuffer.getView(L);x[0]=w;var S=this.texBuffer.getView(L);S[0]=l.x,S[1]=l.y,S[2]=l.w,S[3]=l.h;var W=this.transformBuffer.getMatrixView(L);if(this.setTransformMatrix(E,W,U,b,q),this.instanceCount++,!q)this.wrappedCount++;if(this.instanceCount>=this.maxInstances)this.endBatch()}}}}catch(T){f.e(T)}finally{f.f()}}},{key:"setTransformMatrix",value:function(E,A,C,D){var F=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,U=0;if(C.shapeProps&&C.shapeProps.padding)U=E.pstyle(C.shapeProps.padding).pfValue;if(D){var{bb:z,tex1:k,tex2:f}=D,M=k.w/(k.w+f.w);if(!F)M=1-M;var b=this._getAdjustedBB(z,U,F,M);this._applyTransformMatrix(A,b,C,E)}else{var Z=C.getBoundingBox(E),J=this._getAdjustedBB(Z,U,!0,1);this._applyTransformMatrix(A,J,C,E)}}},{key:"_applyTransformMatrix",value:function(E,A,C,D){var F,U;wr0(E);var z=C.getRotation?C.getRotation(D):0;if(z!==0){var k=C.getRotationPoint(D),f=k.x,M=k.y;aa(E,E,[f,M]),Qr0(E,E,z);var b=C.getRotationOffset(D);F=b.x+(A.xOffset||0),U=b.y+(A.yOffset||0)}else F=A.x1,U=A.y1;aa(E,E,[F,U]),i50(E,E,[A.w,A.h])}},{key:"_getAdjustedBB",value:function(E,A,C,D){var{x1:F,y1:U,w:z,h:k,yOffset:f}=E;if(A)F-=A,U-=A,z+=2*A,k+=2*A;var M=0,b=z*D;if(C&&D<1)z=b;else if(!C&&D<1)M=z-b,F+=M,z=b;return{x1:F,y1:U,w:z,h:k,xOffset:M,yOffset:f}}},{key:"drawPickingRectangle",value:function(E,A,C){var D=this.atlasManager.getRenderTypeOpts(C),F=this.instanceCount;this.vertTypeBuffer.getView(F)[0]=hq;var U=this.indexBuffer.getView(F);Vq(A,U);var z=this.colorBuffer.getView(F);OK([0,0,0],1,z);var k=this.transformBuffer.getMatrixView(F);if(this.setTransformMatrix(E,k,D),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances)this.endBatch()}},{key:"drawNode",value:function(E,A,C){var D=this.simpleShapeOptions.get(C);if(!this._isVisible(E,D))return;var F=D.shapeProps,U=this._getVertTypeForShape(E,F.shape);if(U===void 0||D.isSimple&&!D.isSimple(E,this.renderTarget)){this.drawTexture(E,A,C);return}var z=this.instanceCount;if(this.vertTypeBuffer.getView(z)[0]=U,U===Ya||U===OS){var k=D.getBoundingBox(E),f=this._getCornerRadius(E,F.radius,k),M=this.cornerRadiusBuffer.getView(z);if(M[0]=f,M[1]=f,M[2]=f,M[3]=f,U===OS)M[0]=0,M[2]=0}var b=this.indexBuffer.getView(z);Vq(A,b);var Z=this.renderTarget.picking?1:C==="node-body"?E.effectiveOpacity():1,J=this.renderTarget.picking?1:E.pstyle(F.opacity).value*Z,K=E.pstyle(F.color).value,w=this.colorBuffer.getView(z);OK(K,J,w);var Q=this.lineWidthBuffer.getView(z);if(Q[0]=0,Q[1]=0,F.border){var G=E.pstyle("border-width").value;if(G>0){var H=E.pstyle("border-color").value,l=Z*E.pstyle("border-opacity").value,q=this.borderColorBuffer.getView(z);OK(H,l,q);var L=E.pstyle("border-position").value;if(L==="inside")Q[0]=0,Q[1]=-G;else if(L==="outside")Q[0]=G,Q[1]=0;else{var v=G/2;Q[0]=v,Q[1]=-v}}}var x=this.transformBuffer.getMatrixView(z);if(this.setTransformMatrix(E,x,D),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances)this.endBatch()}},{key:"_getVertTypeForShape",value:function(E,A){var C=E.pstyle(A).value;switch(C){case"rectangle":return hq;case"ellipse":return IS;case"roundrectangle":case"round-rectangle":return Ya;case"bottom-round-rectangle":return OS;default:return}}},{key:"_getCornerRadius",value:function(E,A,C){var{w:D,h:F}=C;if(E.pstyle(A).value==="auto")return oM(D,F);else{var U=E.pstyle(A).pfValue,z=D/2,k=F/2;return Math.min(U,k,z)}}},{key:"drawEdgeArrow",value:function(E,A,C){if(!E.visible())return;var D=E._private.rscratch,F,U,z;if(C==="source")F=D.arrowStartX,U=D.arrowStartY,z=D.srcArrowAngle;else F=D.arrowEndX,U=D.arrowEndY,z=D.tgtArrowAngle;if(isNaN(F)||F==null||isNaN(U)||U==null||isNaN(z)||z==null)return;var k=E.pstyle(C+"-arrow-shape").value;if(k==="none")return;var f=E.pstyle(C+"-arrow-color").value,M=E.pstyle("opacity").value,b=E.pstyle("line-opacity").value,Z=M*b,J=E.pstyle("width").pfValue,K=E.pstyle("arrow-scale").value,w=this.r.getArrowWidth(J,K),Q=this.instanceCount,G=this.transformBuffer.getMatrixView(Q);wr0(G),aa(G,G,[F,U]),i50(G,G,[w,w]),Qr0(G,G,z),this.vertTypeBuffer.getView(Q)[0]=G50;var H=this.indexBuffer.getView(Q);Vq(A,H);var l=this.colorBuffer.getView(Q);if(OK(f,Z,l),this.instanceCount++,this.instanceCount>=this.maxInstances)this.endBatch()}},{key:"drawEdgeLine",value:function(E,A){if(!E.visible())return;var C=this._getEdgePoints(E);if(!C)return;var D=E.pstyle("opacity").value,F=E.pstyle("line-opacity").value,U=E.pstyle("width").pfValue,z=E.pstyle("line-color").value,k=D*F;if(C.length/2+this.instanceCount>this.maxInstances)this.endBatch();if(C.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=Gr0;var M=this.indexBuffer.getView(f);Vq(A,M);var b=this.colorBuffer.getView(f);OK(z,k,b);var Z=this.lineWidthBuffer.getView(f);Z[0]=U;var J=this.pointAPointBBuffer.getView(f);if(J[0]=C[0],J[1]=C[1],J[2]=C[2],J[3]=C[3],this.instanceCount++,this.instanceCount>=this.maxInstances)this.endBatch()}else for(var K=0;K<C.length-2;K+=2){var w=this.instanceCount;this.vertTypeBuffer.getView(w)[0]=Hr0;var Q=this.indexBuffer.getView(w);Vq(A,Q);var G=this.colorBuffer.getView(w);OK(z,k,G);var H=this.lineWidthBuffer.getView(w);H[0]=U;var l=C[K-2],q=C[K-1],L=C[K],v=C[K+1],x=C[K+2],S=C[K+3],W=C[K+4],T=C[K+5];if(K==0)l=2*L-x+0.001,q=2*v-S+0.001;if(K==C.length-4)W=2*x-L+0.001,T=2*S-v+0.001;var R=this.pointAPointBBuffer.getView(w);R[0]=l,R[1]=q,R[2]=L,R[3]=v;var Y=this.pointCPointDBuffer.getView(w);if(Y[0]=x,Y[1]=S,Y[2]=W,Y[3]=T,this.instanceCount++,this.instanceCount>=this.maxInstances)this.endBatch()}}},{key:"_isValidEdge",value:function(E){var A=E._private.rscratch;if(A.badLine||A.allpts==null||isNaN(A.allpts[0]))return!1;return!0}},{key:"_getEdgePoints",value:function(E){var A=E._private.rscratch;if(!this._isValidEdge(E))return;var C=A.allpts;if(C.length==4)return C;var D=this._getNumSegments(E);return this._getCurveSegmentPoints(C,D)}},{key:"_getNumSegments",value:function(E){var A=15;return Math.min(Math.max(A,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(E,A){if(E.length==4)return E;var C=Array((A+1)*2);for(var D=0;D<=A;D++)if(D==0)C[0]=E[0],C[1]=E[1];else if(D==A)C[D*2]=E[E.length-2],C[D*2+1]=E[E.length-1];else{var F=D/A;this._setCurvePoint(E,F,C,D*2)}return C}},{key:"_setCurvePoint",value:function(E,A,C,D){if(E.length<=2)C[D]=E[0],C[D+1]=E[1];else{var F=Array(E.length-2);for(var U=0;U<F.length;U+=2){var z=(1-A)*E[U]+A*E[U+2],k=(1-A)*E[U+1]+A*E[U+3];F[U]=z,F[U+1]=k}return this._setCurvePoint(F,A,C,D)}}},{key:"endBatch",value:function(){var E=this.gl,A=this.vao,C=this.vertexCount,D=this.instanceCount;if(D===0)return;var F=this.renderTarget.picking?this.pickingProgram:this.program;E.useProgram(F),E.bindVertexArray(A);var U=l8(this.buffers),z;try{for(U.s();!(z=U.n()).done;){var k=z.value;k.bufferSubData(D)}}catch(J){U.e(J)}finally{U.f()}var f=this.batchManager.getAtlases();for(var M=0;M<f.length;M++)f[M].bufferIfNeeded(E);for(var b=0;b<f.length;b++)E.activeTexture(E.TEXTURE0+b),E.bindTexture(E.TEXTURE_2D,f[b].texture),E.uniform1i(F.uTextures[b],b);E.uniform1f(F.uZoom,Kq4(this.r)),E.uniformMatrix3fv(F.uPanZoomMatrix,!1,this.panZoomMatrix),E.uniform1i(F.uAtlasSize,this.batchManager.getAtlasSize());var Z=OK(this.bgColor,1);if(E.uniform4fv(F.uBGColor,Z),E.drawArraysInstanced(E.TRIANGLES,0,C,D),E.bindVertexArray(null),E.bindTexture(E.TEXTURE_2D,null),this.debug)this.batchDebugInfo.push({count:D,atlasCount:f.length});this.startBatch()}},{key:"getDebugInfo",value:function(){var E=this.atlasManager.getDebugInfo(),A=E.reduce(function(F,U){return F+U.atlasCount},0),C=this.batchDebugInfo,D=C.reduce(function(F,U){return F+U.count},0);return{atlasInfo:E,totalAtlases:A,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:C.length,batchInfo:C,totalInstances:D}}}])}(),Dc0={};Dc0.initWebgl=function(u,B){var E=this,A=E.data.contexts[E.WEBGL];u.bgColor=hq4(E),u.webglTexSize=Math.min(u.webglTexSize,A.getParameter(A.MAX_TEXTURE_SIZE)),u.webglTexRows=Math.min(u.webglTexRows,54),u.webglTexRowsNodes=Math.min(u.webglTexRowsNodes,54),u.webglBatchSize=Math.min(u.webglBatchSize,16384),u.webglTexPerBatch=Math.min(u.webglTexPerBatch,A.getParameter(A.MAX_TEXTURE_IMAGE_UNITS)),E.webglDebug=u.webglDebug,E.webglDebugShowAtlases=u.webglDebugShowAtlases,E.pickingFrameBuffer=vq4(A),E.pickingFrameBuffer.needsDraw=!0,E.drawing=new Vq4(E,A,u);var C=function(M){return function(b){return E.getTextAngle(b,M)}},D=function(M){return function(b){var Z=b.pstyle(M);return Z&&Z.value}},F=function(M){return function(b){return b.pstyle("".concat(M,"-opacity")).value>0}},U=function(M){var b=M.pstyle("text-events").strValue==="yes";return b?ta.USE_BB:ta.IGNORE},z=function(M){var b=M.position(),Z=b.x,J=b.y,K=M.outerWidth(),w=M.outerHeight();return{w:K,h:w,x1:Z-K/2,y1:J-w/2}};E.drawing.addAtlasCollection("node",{texRows:u.webglTexRowsNodes}),E.drawing.addAtlasCollection("label",{texRows:u.webglTexRows}),E.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:B.getStyleKey,getBoundingBox:B.getElementBox,drawElement:B.drawElement}),E.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:z,isSimple:Qq4,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),E.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:z,isVisible:F("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),E.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:z,isVisible:F("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),E.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:U,getKey:H50(B.getLabelKey,null),getBoundingBox:q50(B.getLabelBox,null),drawClipped:!0,drawElement:B.drawLabel,getRotation:C(null),getRotationPoint:B.getLabelRotationPoint,getRotationOffset:B.getLabelRotationOffset,isVisible:D("label")}),E.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:U,getKey:H50(B.getSourceLabelKey,"source"),getBoundingBox:q50(B.getSourceLabelBox,"source"),drawClipped:!0,drawElement:B.drawSourceLabel,getRotation:C("source"),getRotationPoint:B.getSourceLabelRotationPoint,getRotationOffset:B.getSourceLabelRotationOffset,isVisible:D("source-label")}),E.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:U,getKey:H50(B.getTargetLabelKey,"target"),getBoundingBox:q50(B.getTargetLabelBox,"target"),drawClipped:!0,drawElement:B.drawTargetLabel,getRotation:C("target"),getRotationPoint:B.getTargetLabelRotationPoint,getRotationOffset:B.getTargetLabelRotationOffset,isVisible:D("target-label")});var k=uY(function(){console.log("garbage collect flag set"),E.data.gc=!0},1e4);E.onUpdateEleCalcs(function(f,M){var b=!1;if(M&&M.length>0)b|=E.drawing.invalidate(M);if(b)k()}),iq4(E)};Db={};Db.drawPolygonPath=function(u,B,E,A,C,D){var F=A/2,U=C/2;if(u.beginPath)u.beginPath();u.moveTo(B+F*D[0],E+U*D[1]);for(var z=1;z<D.length/2;z++)u.lineTo(B+F*D[z*2],E+U*D[z*2+1]);u.closePath()};Db.drawRoundPolygonPath=function(u,B,E,A,C,D,F){F.forEach(function(U){return yg0(u,U)}),u.closePath()};Db.drawRoundRectanglePath=function(u,B,E,A,C,D){var F=A/2,U=C/2,z=D==="auto"?oM(A,C):Math.min(D,U,F);if(u.beginPath)u.beginPath();u.moveTo(B,E-U),u.arcTo(B+F,E-U,B+F,E,z),u.arcTo(B+F,E+U,B,E+U,z),u.arcTo(B-F,E+U,B-F,E,z),u.arcTo(B-F,E-U,B,E-U,z),u.lineTo(B,E-U),u.closePath()};Db.drawBottomRoundRectanglePath=function(u,B,E,A,C,D){var F=A/2,U=C/2,z=D==="auto"?oM(A,C):D;if(u.beginPath)u.beginPath();u.moveTo(B,E-U),u.lineTo(B+F,E-U),u.lineTo(B+F,E),u.arcTo(B+F,E+U,B,E+U,z),u.arcTo(B-F,E+U,B-F,E,z),u.lineTo(B-F,E-U),u.lineTo(B,E-U),u.closePath()};Db.drawCutRectanglePath=function(u,B,E,A,C,D,F){var U=A/2,z=C/2,k=F==="auto"?t50():F;if(u.beginPath)u.beginPath();u.moveTo(B-U+k,E-z),u.lineTo(B+U-k,E-z),u.lineTo(B+U,E-z+k),u.lineTo(B+U,E+z-k),u.lineTo(B+U-k,E+z),u.lineTo(B-U+k,E+z),u.lineTo(B-U,E+z-k),u.lineTo(B-U,E-z+k),u.closePath()};Db.drawBarrelPath=function(u,B,E,A,C){var D=A/2,F=C/2,U=B-D,z=B+D,k=E-F,f=E+F,M=v50(A,C),b=M.widthOffset,Z=M.heightOffset,J=M.ctrlPtOffsetPct*b;if(u.beginPath)u.beginPath();u.moveTo(U,k+Z),u.lineTo(U,f-Z),u.quadraticCurveTo(U+J,f,U+b,f),u.lineTo(z-b,f),u.quadraticCurveTo(z-J,f,z,f-Z),u.lineTo(z,k+Z),u.quadraticCurveTo(z-J,k,z-b,k),u.lineTo(U+b,k),u.quadraticCurveTo(U+J,k,U,k+Z),u.closePath()};qr0=Math.sin(0),lr0=Math.cos(0),a50={},m50={},kc0=Math.PI/40;for(yM=0*Math.PI;yM<2*Math.PI;yM+=kc0)a50[yM]=Math.sin(yM),m50[yM]=Math.cos(yM);Db.drawEllipsePath=function(u,B,E,A,C){if(u.beginPath)u.beginPath();if(u.ellipse)u.ellipse(B,E,A/2,C/2,0,0,2*Math.PI);else{var D,F,U=A/2,z=C/2;for(var k=0*Math.PI;k<2*Math.PI;k+=kc0)if(D=B-U*a50[k]*qr0+U*m50[k]*lr0,F=E+z*m50[k]*qr0+z*a50[k]*lr0,k===0)u.moveTo(D,F);else u.lineTo(D,F)}u.closePath()};FY={};FY.createBuffer=function(u,B){var E=document.createElement("canvas");return E.width=u,E.height=B,[E,E.getContext("2d")]};FY.bufferCanvasImage=function(u){var B=this.cy,E=B.mutableElements(),A=E.boundingBox(),C=this.findContainerClientCoords(),D=u.full?Math.ceil(A.w):C[2],F=u.full?Math.ceil(A.h):C[3],U=K4(u.maxWidth)||K4(u.maxHeight),z=this.getPixelRatio(),k=1;if(u.scale!==void 0)D*=u.scale,F*=u.scale,k=u.scale;else if(U){var f=1/0,M=1/0;if(K4(u.maxWidth))f=k*u.maxWidth/D;if(K4(u.maxHeight))M=k*u.maxHeight/F;k=Math.min(f,M),D*=k,F*=k}if(!U)D*=z,F*=z,k*=z;var b=document.createElement("canvas");b.width=D,b.height=F,b.style.width=D+"px",b.style.height=F+"px";var Z=b.getContext("2d");if(D>0&&F>0){Z.clearRect(0,0,D,F),Z.globalCompositeOperation="source-over";var J=this.getCachedZSortedEles();if(u.full)Z.translate(-A.x1*k,-A.y1*k),Z.scale(k,k),this.drawElements(Z,J),Z.scale(1/k,1/k),Z.translate(A.x1*k,A.y1*k);else{var K=B.pan(),w={x:K.x*k,y:K.y*k};k*=B.zoom(),Z.translate(w.x,w.y),Z.scale(k,k),this.drawElements(Z,J),Z.scale(1/k,1/k),Z.translate(-w.x,-w.y)}if(u.bg)Z.globalCompositeOperation="destination-over",Z.fillStyle=u.bg,Z.rect(0,0,D,F),Z.fill()}return b};FY.png=function(u){return fc0(u,this.bufferCanvasImage(u),"image/png")};FY.jpg=function(u){return fc0(u,this.bufferCanvasImage(u),"image/jpeg")};Mc0={};Mc0.nodeShapeImpl=function(u,B,E,A,C,D,F,U){switch(u){case"ellipse":return this.drawEllipsePath(B,E,A,C,D);case"polygon":return this.drawPolygonPath(B,E,A,C,D,F);case"round-polygon":return this.drawRoundPolygonPath(B,E,A,C,D,F,U);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(B,E,A,C,D,U);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(B,E,A,C,D,F,U);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(B,E,A,C,D,U);case"barrel":return this.drawBarrelPath(B,E,A,C,D)}};nq4=bc0,B1=bc0.prototype;B1.CANVAS_LAYERS=3;B1.SELECT_BOX=0;B1.DRAG=1;B1.NODE=2;B1.WEBGL=3;B1.CANVAS_TYPES=["2d","2d","2d","webgl2"];B1.BUFFER_COUNT=3;B1.TEXTURE_BUFFER=0;B1.MOTIONBLUR_BUFFER_NODE=1;B1.MOTIONBLUR_BUFFER_DRAG=2;B1.redrawHint=function(u,B){var E=this;switch(u){case"eles":E.data.canvasNeedsRedraw[B1.NODE]=B;break;case"drag":E.data.canvasNeedsRedraw[B1.DRAG]=B;break;case"select":E.data.canvasNeedsRedraw[B1.SELECT_BOX]=B;break;case"gc":E.data.gc=!0;break}};dq4=typeof Path2D<"u";B1.path2dEnabled=function(u){if(u===void 0)return this.pathsEnabled;this.pathsEnabled=u?!0:!1};B1.usePaths=function(){return dq4&&this.pathsEnabled};B1.setImgSmoothing=function(u,B){if(u.imageSmoothingEnabled!=null)u.imageSmoothingEnabled=B;else u.webkitImageSmoothingEnabled=B,u.mozImageSmoothingEnabled=B,u.msImageSmoothingEnabled=B};B1.getImgSmoothing=function(u){if(u.imageSmoothingEnabled!=null)return u.imageSmoothingEnabled;else return u.webkitImageSmoothingEnabled||u.mozImageSmoothingEnabled||u.msImageSmoothingEnabled};B1.makeOffscreenCanvas=function(u,B){var E;if((typeof OffscreenCanvas>"u"?"undefined":e2(OffscreenCanvas))!=="undefined")E=new OffscreenCanvas(u,B);else{var A=this.cy.window(),C=A.document;E=C.createElement("canvas"),E.width=u,E.height=B}return E};[uc0,tF,Fk,M70,rK,Cb,WB,Dc0,Db,FY,Mc0].forEach(function(u){k3(B1,u)});sq4=[{name:"null",impl:ag0},{name:"base",impl:sg0},{name:"canvas",impl:nq4}],oq4=[{type:"layout",extensions:qH4},{type:"renderer",extensions:sq4}],Zc0={},Jc0={};pS.prototype.extension=$50;oq4.forEach(function(u){u.extensions.forEach(function(B){Kc0(u.type,B.name,B.impl)})});$K=ea.prototype;$K.instanceString=function(){return"stylesheet"};$K.selector=function(u){var B=this.length++;return this[B]={selector:u,properties:[]},this};$K.css=function(u,B){var E=this.length-1;if(n4(u))this[E].properties.push({name:u,value:B});else if(Y1(u)){var A=u,C=Object.keys(A);for(var D=0;D<C.length;D++){var F=C[D],U=A[F];if(U==null)continue;var z=O5.properties[F]||O5.properties[um(F)];if(z==null)continue;var k=z.name,f=U;this[E].properties.push({name:k,value:f})}}return this};$K.style=$K.css;$K.generateStyle=function(u){var B=new O5(u);return this.appendToStyle(B)};$K.appendToStyle=function(u){for(var B=0;B<this.length;B++){var E=this[B],A=E.selector,C=E.properties;u.selector(A);for(var D=0;D<C.length;D++){var F=C[D];u.css(F.name,F.value)}}return u};wA.use=function(u){var B=Array.prototype.slice.call(arguments,1);return B.unshift(wA),u.apply(null,B),this};wA.warnings=function(u){return mr0(u)};wA.version=ul4;wA.stylesheet=wA.Stylesheet=ea});var K70=N1((UY,J70)=>{(function(B,E){if(typeof UY==="object"&&typeof J70==="object")J70.exports=E();else if(typeof define==="function"&&define.amd)define([],E);else if(typeof UY==="object")UY.layoutBase=E();else B.layoutBase=E()})(UY,function(){return function(u){var B={};function E(A){if(B[A])return B[A].exports;var C=B[A]={i:A,l:!1,exports:{}};return u[A].call(C.exports,C,C.exports,E),C.l=!0,C.exports}return E.m=u,E.c=B,E.i=function(A){return A},E.d=function(A,C,D){if(!E.o(A,C))Object.defineProperty(A,C,{configurable:!1,enumerable:!0,get:D})},E.n=function(A){var C=A&&A.__esModule?function(){return A.default}:function(){return A};return E.d(C,"a",C),C},E.o=function(A,C){return Object.prototype.hasOwnProperty.call(A,C)},E.p="",E(E.s=26)}([function(u,B,E){function A(){}A.QUALITY=1,A.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,A.DEFAULT_INCREMENTAL=!1,A.DEFAULT_ANIMATION_ON_LAYOUT=!0,A.DEFAULT_ANIMATION_DURING_LAYOUT=!1,A.DEFAULT_ANIMATION_PERIOD=50,A.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,A.DEFAULT_GRAPH_MARGIN=15,A.NODE_DIMENSIONS_INCLUDE_LABELS=!1,A.SIMPLE_NODE_SIZE=40,A.SIMPLE_NODE_HALF_SIZE=A.SIMPLE_NODE_SIZE/2,A.EMPTY_COMPOUND_NODE_SIZE=40,A.MIN_EDGE_LENGTH=1,A.WORLD_BOUNDARY=1e6,A.INITIAL_WORLD_BOUNDARY=A.WORLD_BOUNDARY/1000,A.WORLD_CENTER_X=1200,A.WORLD_CENTER_Y=900,u.exports=A},function(u,B,E){var A=E(2),C=E(8),D=E(9);function F(z,k,f){A.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=z,this.target=k}F.prototype=Object.create(A.prototype);for(var U in A)F[U]=A[U];F.prototype.getSource=function(){return this.source},F.prototype.getTarget=function(){return this.target},F.prototype.isInterGraph=function(){return this.isInterGraph},F.prototype.getLength=function(){return this.length},F.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},F.prototype.getBendpoints=function(){return this.bendpoints},F.prototype.getLca=function(){return this.lca},F.prototype.getSourceInLca=function(){return this.sourceInLca},F.prototype.getTargetInLca=function(){return this.targetInLca},F.prototype.getOtherEnd=function(z){if(this.source===z)return this.target;else if(this.target===z)return this.source;else throw"Node is not incident with this edge"},F.prototype.getOtherEndInGraph=function(z,k){var f=this.getOtherEnd(z),M=k.getGraphManager().getRoot();while(!0){if(f.getOwner()==k)return f;if(f.getOwner()==M)break;f=f.getOwner().getParent()}return null},F.prototype.updateLength=function(){var z=[,,,,];if(this.isOverlapingSourceAndTarget=C.getIntersection(this.target.getRect(),this.source.getRect(),z),!this.isOverlapingSourceAndTarget){if(this.lengthX=z[0]-z[2],this.lengthY=z[1]-z[3],Math.abs(this.lengthX)<1)this.lengthX=D.sign(this.lengthX);if(Math.abs(this.lengthY)<1)this.lengthY=D.sign(this.lengthY);this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)}},F.prototype.updateLengthSimple=function(){if(this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1)this.lengthX=D.sign(this.lengthX);if(Math.abs(this.lengthY)<1)this.lengthY=D.sign(this.lengthY);this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},u.exports=F},function(u,B,E){function A(C){this.vGraphObject=C}u.exports=A},function(u,B,E){var A=E(2),C=E(10),D=E(13),F=E(0),U=E(16),z=E(4);function k(M,b,Z,J){if(Z==null&&J==null)J=b;if(A.call(this,J),M.graphManager!=null)M=M.graphManager;if(this.estimatedSize=C.MIN_VALUE,this.inclusionTreeDepth=C.MAX_VALUE,this.vGraphObject=J,this.edges=[],this.graphManager=M,Z!=null&&b!=null)this.rect=new D(b.x,b.y,Z.width,Z.height);else this.rect=new D}k.prototype=Object.create(A.prototype);for(var f in A)k[f]=A[f];k.prototype.getEdges=function(){return this.edges},k.prototype.getChild=function(){return this.child},k.prototype.getOwner=function(){return this.owner},k.prototype.getWidth=function(){return this.rect.width},k.prototype.setWidth=function(M){this.rect.width=M},k.prototype.getHeight=function(){return this.rect.height},k.prototype.setHeight=function(M){this.rect.height=M},k.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},k.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},k.prototype.getCenter=function(){return new z(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},k.prototype.getLocation=function(){return new z(this.rect.x,this.rect.y)},k.prototype.getRect=function(){return this.rect},k.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},k.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},k.prototype.setRect=function(M,b){this.rect.x=M.x,this.rect.y=M.y,this.rect.width=b.width,this.rect.height=b.height},k.prototype.setCenter=function(M,b){this.rect.x=M-this.rect.width/2,this.rect.y=b-this.rect.height/2},k.prototype.setLocation=function(M,b){this.rect.x=M,this.rect.y=b},k.prototype.moveBy=function(M,b){this.rect.x+=M,this.rect.y+=b},k.prototype.getEdgeListToNode=function(M){var b=[],Z,J=this;return J.edges.forEach(function(K){if(K.target==M){if(K.source!=J)throw"Incorrect edge source!";b.push(K)}}),b},k.prototype.getEdgesBetween=function(M){var b=[],Z,J=this;return J.edges.forEach(function(K){if(!(K.source==J||K.target==J))throw"Incorrect edge source and/or target";if(K.target==M||K.source==M)b.push(K)}),b},k.prototype.getNeighborsList=function(){var M=new Set,b=this;return b.edges.forEach(function(Z){if(Z.source==b)M.add(Z.target);else{if(Z.target!=b)throw"Incorrect incidency!";M.add(Z.source)}}),M},k.prototype.withChildren=function(){var M=new Set,b,Z;if(M.add(this),this.child!=null){var J=this.child.getNodes();for(var K=0;K<J.length;K++)b=J[K],Z=b.withChildren(),Z.forEach(function(w){M.add(w)})}return M},k.prototype.getNoOfChildren=function(){var M=0,b;if(this.child==null)M=1;else{var Z=this.child.getNodes();for(var J=0;J<Z.length;J++)b=Z[J],M+=b.getNoOfChildren()}if(M==0)M=1;return M},k.prototype.getEstimatedSize=function(){if(this.estimatedSize==C.MIN_VALUE)throw"assert failed";return this.estimatedSize},k.prototype.calcEstimatedSize=function(){if(this.child==null)return this.estimatedSize=(this.rect.width+this.rect.height)/2;else return this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize},k.prototype.scatter=function(){var M,b,Z=-F.INITIAL_WORLD_BOUNDARY,J=F.INITIAL_WORLD_BOUNDARY;M=F.WORLD_CENTER_X+U.nextDouble()*(J-Z)+Z;var K=-F.INITIAL_WORLD_BOUNDARY,w=F.INITIAL_WORLD_BOUNDARY;b=F.WORLD_CENTER_Y+U.nextDouble()*(w-K)+K,this.rect.x=M,this.rect.y=b},k.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var M=this.getChild();if(M.updateBounds(!0),this.rect.x=M.getLeft(),this.rect.y=M.getTop(),this.setWidth(M.getRight()-M.getLeft()),this.setHeight(M.getBottom()-M.getTop()),F.NODE_DIMENSIONS_INCLUDE_LABELS){var b=M.getRight()-M.getLeft(),Z=M.getBottom()-M.getTop();if(this.labelWidth>b)this.rect.x-=(this.labelWidth-b)/2,this.setWidth(this.labelWidth);if(this.labelHeight>Z){if(this.labelPos=="center")this.rect.y-=(this.labelHeight-Z)/2;else if(this.labelPos=="top")this.rect.y-=this.labelHeight-Z;this.setHeight(this.labelHeight)}}}},k.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==C.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},k.prototype.transform=function(M){var b=this.rect.x;if(b>F.WORLD_BOUNDARY)b=F.WORLD_BOUNDARY;else if(b<-F.WORLD_BOUNDARY)b=-F.WORLD_BOUNDARY;var Z=this.rect.y;if(Z>F.WORLD_BOUNDARY)Z=F.WORLD_BOUNDARY;else if(Z<-F.WORLD_BOUNDARY)Z=-F.WORLD_BOUNDARY;var J=new z(b,Z),K=M.inverseTransformPoint(J);this.setLocation(K.x,K.y)},k.prototype.getLeft=function(){return this.rect.x},k.prototype.getRight=function(){return this.rect.x+this.rect.width},k.prototype.getTop=function(){return this.rect.y},k.prototype.getBottom=function(){return this.rect.y+this.rect.height},k.prototype.getParent=function(){if(this.owner==null)return null;return this.owner.getParent()},u.exports=k},function(u,B,E){function A(C,D){if(C==null&&D==null)this.x=0,this.y=0;else this.x=C,this.y=D}A.prototype.getX=function(){return this.x},A.prototype.getY=function(){return this.y},A.prototype.setX=function(C){this.x=C},A.prototype.setY=function(C){this.y=C},A.prototype.getDifference=function(C){return new DimensionD(this.x-C.x,this.y-C.y)},A.prototype.getCopy=function(){return new A(this.x,this.y)},A.prototype.translate=function(C){return this.x+=C.width,this.y+=C.height,this},u.exports=A},function(u,B,E){var A=E(2),C=E(10),D=E(0),F=E(6),U=E(3),z=E(1),k=E(13),f=E(12),M=E(11);function b(J,K,w){if(A.call(this,w),this.estimatedSize=C.MIN_VALUE,this.margin=D.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=J,K!=null&&K instanceof F)this.graphManager=K;else if(K!=null&&K instanceof Layout)this.graphManager=K.graphManager}b.prototype=Object.create(A.prototype);for(var Z in A)b[Z]=A[Z];b.prototype.getNodes=function(){return this.nodes},b.prototype.getEdges=function(){return this.edges},b.prototype.getGraphManager=function(){return this.graphManager},b.prototype.getParent=function(){return this.parent},b.prototype.getLeft=function(){return this.left},b.prototype.getRight=function(){return this.right},b.prototype.getTop=function(){return this.top},b.prototype.getBottom=function(){return this.bottom},b.prototype.isConnected=function(){return this.isConnected},b.prototype.add=function(J,K,w){if(K==null&&w==null){var Q=J;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(Q)>-1)throw"Node already in graph!";return Q.owner=this,this.getNodes().push(Q),Q}else{var G=J;if(!(this.getNodes().indexOf(K)>-1&&this.getNodes().indexOf(w)>-1))throw"Source or target not in graph!";if(!(K.owner==w.owner&&K.owner==this))throw"Both owners must be this graph!";if(K.owner!=w.owner)return null;if(G.source=K,G.target=w,G.isInterGraph=!1,this.getEdges().push(G),K.edges.push(G),w!=K)w.edges.push(G);return G}},b.prototype.remove=function(J){var K=J;if(J instanceof U){if(K==null)throw"Node is null!";if(!(K.owner!=null&&K.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";var w=K.edges.slice(),Q,G=w.length;for(var H=0;H<G;H++)if(Q=w[H],Q.isInterGraph)this.graphManager.remove(Q);else Q.source.owner.remove(Q);var l=this.nodes.indexOf(K);if(l==-1)throw"Node not in owner node list!";this.nodes.splice(l,1)}else if(J instanceof z){var Q=J;if(Q==null)throw"Edge is null!";if(!(Q.source!=null&&Q.target!=null))throw"Source and/or target is null!";if(!(Q.source.owner!=null&&Q.target.owner!=null&&Q.source.owner==this&&Q.target.owner==this))throw"Source and/or target owner is invalid!";var q=Q.source.edges.indexOf(Q),L=Q.target.edges.indexOf(Q);if(!(q>-1&&L>-1))throw"Source and/or target doesn't know this edge!";if(Q.source.edges.splice(q,1),Q.target!=Q.source)Q.target.edges.splice(L,1);var l=Q.source.owner.getEdges().indexOf(Q);if(l==-1)throw"Not in owner's edge list!";Q.source.owner.getEdges().splice(l,1)}},b.prototype.updateLeftTop=function(){var{MAX_VALUE:J,MAX_VALUE:K}=C,w,Q,G,H=this.getNodes(),l=H.length;for(var q=0;q<l;q++){var L=H[q];if(w=L.getTop(),Q=L.getLeft(),J>w)J=w;if(K>Q)K=Q}if(J==C.MAX_VALUE)return null;if(H[0].getParent().paddingLeft!=null)G=H[0].getParent().paddingLeft;else G=this.margin;return this.left=K-G,this.top=J-G,new f(this.left,this.top)},b.prototype.updateBounds=function(J){var K=C.MAX_VALUE,w=-C.MAX_VALUE,Q=C.MAX_VALUE,G=-C.MAX_VALUE,H,l,q,L,v,x=this.nodes,S=x.length;for(var W=0;W<S;W++){var T=x[W];if(J&&T.child!=null)T.updateBounds();if(H=T.getLeft(),l=T.getRight(),q=T.getTop(),L=T.getBottom(),K>H)K=H;if(w<l)w=l;if(Q>q)Q=q;if(G<L)G=L}var R=new k(K,Q,w-K,G-Q);if(K==C.MAX_VALUE)this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom();if(x[0].getParent().paddingLeft!=null)v=x[0].getParent().paddingLeft;else v=this.margin;this.left=R.x-v,this.right=R.x+R.width+v,this.top=R.y-v,this.bottom=R.y+R.height+v},b.calculateBounds=function(J){var K=C.MAX_VALUE,w=-C.MAX_VALUE,Q=C.MAX_VALUE,G=-C.MAX_VALUE,H,l,q,L,v=J.length;for(var x=0;x<v;x++){var S=J[x];if(H=S.getLeft(),l=S.getRight(),q=S.getTop(),L=S.getBottom(),K>H)K=H;if(w<l)w=l;if(Q>q)Q=q;if(G<L)G=L}var W=new k(K,Q,w-K,G-Q);return W},b.prototype.getInclusionTreeDepth=function(){if(this==this.graphManager.getRoot())return 1;else return this.parent.getInclusionTreeDepth()},b.prototype.getEstimatedSize=function(){if(this.estimatedSize==C.MIN_VALUE)throw"assert failed";return this.estimatedSize},b.prototype.calcEstimatedSize=function(){var J=0,K=this.nodes,w=K.length;for(var Q=0;Q<w;Q++){var G=K[Q];J+=G.calcEstimatedSize()}if(J==0)this.estimatedSize=D.EMPTY_COMPOUND_NODE_SIZE;else this.estimatedSize=J/Math.sqrt(this.nodes.length);return this.estimatedSize},b.prototype.updateConnected=function(){var J=this;if(this.nodes.length==0){this.isConnected=!0;return}var K=new M,w=new Set,Q=this.nodes[0],G,H,l=Q.withChildren();l.forEach(function(W){K.push(W),w.add(W)});while(K.length!==0){Q=K.shift(),G=Q.getEdges();var q=G.length;for(var L=0;L<q;L++){var v=G[L];if(H=v.getOtherEndInGraph(Q,this),H!=null&&!w.has(H)){var x=H.withChildren();x.forEach(function(W){K.push(W),w.add(W)})}}}if(this.isConnected=!1,w.size>=this.nodes.length){var S=0;if(w.forEach(function(W){if(W.owner==J)S++}),S==this.nodes.length)this.isConnected=!0}},u.exports=b},function(u,B,E){var A,C=E(1);function D(F){A=E(5),this.layout=F,this.graphs=[],this.edges=[]}D.prototype.addRoot=function(){var F=this.layout.newGraph(),U=this.layout.newNode(null),z=this.add(F,U);return this.setRootGraph(z),this.rootGraph},D.prototype.add=function(F,U,z,k,f){if(z==null&&k==null&&f==null){if(F==null)throw"Graph is null!";if(U==null)throw"Parent node is null!";if(this.graphs.indexOf(F)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(F),F.parent!=null)throw"Already has a parent!";if(U.child!=null)throw"Already has a child!";return F.parent=U,U.child=F,F}else{f=z,k=U,z=F;var M=k.getOwner(),b=f.getOwner();if(!(M!=null&&M.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(b!=null&&b.getGraphManager()==this))throw"Target not in this graph mgr!";if(M==b)return z.isInterGraph=!1,M.add(z,k,f);else{if(z.isInterGraph=!0,z.source=k,z.target=f,this.edges.indexOf(z)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(z),!(z.source!=null&&z.target!=null))throw"Edge source and/or target is null!";if(!(z.source.edges.indexOf(z)==-1&&z.target.edges.indexOf(z)==-1))throw"Edge already in source and/or target incidency list!";return z.source.edges.push(z),z.target.edges.push(z),z}}},D.prototype.remove=function(F){if(F instanceof A){var U=F;if(U.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(U==this.rootGraph||U.parent!=null&&U.parent.graphManager==this))throw"Invalid parent node!";var z=[];z=z.concat(U.getEdges());var k,f=z.length;for(var M=0;M<f;M++)k=z[M],U.remove(k);var b=[];b=b.concat(U.getNodes());var Z;f=b.length;for(var M=0;M<f;M++)Z=b[M],U.remove(Z);if(U==this.rootGraph)this.setRootGraph(null);var J=this.graphs.indexOf(U);this.graphs.splice(J,1),U.parent=null}else if(F instanceof C){if(k=F,k==null)throw"Edge is null!";if(!k.isInterGraph)throw"Not an inter-graph edge!";if(!(k.source!=null&&k.target!=null))throw"Source and/or target is null!";if(!(k.source.edges.indexOf(k)!=-1&&k.target.edges.indexOf(k)!=-1))throw"Source and/or target doesn't know this edge!";var J=k.source.edges.indexOf(k);if(k.source.edges.splice(J,1),J=k.target.edges.indexOf(k),k.target.edges.splice(J,1),!(k.source.owner!=null&&k.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(k.source.owner.getGraphManager().edges.indexOf(k)==-1)throw"Not in owner graph manager's edge list!";var J=k.source.owner.getGraphManager().edges.indexOf(k);k.source.owner.getGraphManager().edges.splice(J,1)}},D.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},D.prototype.getGraphs=function(){return this.graphs},D.prototype.getAllNodes=function(){if(this.allNodes==null){var F=[],U=this.getGraphs(),z=U.length;for(var k=0;k<z;k++)F=F.concat(U[k].getNodes());this.allNodes=F}return this.allNodes},D.prototype.resetAllNodes=function(){this.allNodes=null},D.prototype.resetAllEdges=function(){this.allEdges=null},D.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},D.prototype.getAllEdges=function(){if(this.allEdges==null){var F=[],U=this.getGraphs(),z=U.length;for(var k=0;k<U.length;k++)F=F.concat(U[k].getEdges());F=F.concat(this.edges),this.allEdges=F}return this.allEdges},D.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},D.prototype.setAllNodesToApplyGravitation=function(F){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=F},D.prototype.getRoot=function(){return this.rootGraph},D.prototype.setRootGraph=function(F){if(F.getGraphManager()!=this)throw"Root not in this graph mgr!";if(this.rootGraph=F,F.parent==null)F.parent=this.layout.newNode("Root node")},D.prototype.getLayout=function(){return this.layout},D.prototype.isOneAncestorOfOther=function(F,U){if(!(F!=null&&U!=null))throw"assert failed";if(F==U)return!0;var z=F.getOwner(),k;do{if(k=z.getParent(),k==null)break;if(k==U)return!0;if(z=k.getOwner(),z==null)break}while(!0);z=U.getOwner();do{if(k=z.getParent(),k==null)break;if(k==F)return!0;if(z=k.getOwner(),z==null)break}while(!0);return!1},D.prototype.calcLowestCommonAncestors=function(){var F,U,z,k,f,M=this.getAllEdges(),b=M.length;for(var Z=0;Z<b;Z++){if(F=M[Z],U=F.source,z=F.target,F.lca=null,F.sourceInLca=U,F.targetInLca=z,U==z){F.lca=U.getOwner();continue}k=U.getOwner();while(F.lca==null){F.targetInLca=z,f=z.getOwner();while(F.lca==null){if(f==k){F.lca=f;break}if(f==this.rootGraph)break;if(F.lca!=null)throw"assert failed";F.targetInLca=f.getParent(),f=F.targetInLca.getOwner()}if(k==this.rootGraph)break;if(F.lca==null)F.sourceInLca=k.getParent(),k=F.sourceInLca.getOwner()}if(F.lca==null)throw"assert failed"}},D.prototype.calcLowestCommonAncestor=function(F,U){if(F==U)return F.getOwner();var z=F.getOwner();do{if(z==null)break;var k=U.getOwner();do{if(k==null)break;if(k==z)return k;k=k.getParent().getOwner()}while(!0);z=z.getParent().getOwner()}while(!0);return z},D.prototype.calcInclusionTreeDepths=function(F,U){if(F==null&&U==null)F=this.rootGraph,U=1;var z,k=F.getNodes(),f=k.length;for(var M=0;M<f;M++)if(z=k[M],z.inclusionTreeDepth=U,z.child!=null)this.calcInclusionTreeDepths(z.child,U+1)},D.prototype.includesInvalidEdge=function(){var F,U=this.edges.length;for(var z=0;z<U;z++)if(F=this.edges[z],this.isOneAncestorOfOther(F.source,F.target))return!0;return!1},u.exports=D},function(u,B,E){var A=E(0);function C(){}for(var D in A)C[D]=A[D];C.MAX_ITERATIONS=2500,C.DEFAULT_EDGE_LENGTH=50,C.DEFAULT_SPRING_STRENGTH=0.45,C.DEFAULT_REPULSION_STRENGTH=4500,C.DEFAULT_GRAVITY_STRENGTH=0.4,C.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,C.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,C.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,C.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,C.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,C.DEFAULT_COOLING_FACTOR_INCREMENTAL=0.3,C.COOLING_ADAPTATION_FACTOR=0.33,C.ADAPTATION_LOWER_NODE_LIMIT=1000,C.ADAPTATION_UPPER_NODE_LIMIT=5000,C.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,C.MAX_NODE_DISPLACEMENT=C.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,C.MIN_REPULSION_DIST=C.DEFAULT_EDGE_LENGTH/10,C.CONVERGENCE_CHECK_PERIOD=100,C.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=0.1,C.MIN_EDGE_LENGTH=1,C.GRID_CALCULATION_CHECK_PERIOD=10,u.exports=C},function(u,B,E){var A=E(12);function C(){}C.calcSeparationAmount=function(D,F,U,z){if(!D.intersects(F))throw"assert failed";var k=[,,];if(this.decideDirectionsForOverlappingNodes(D,F,k),U[0]=Math.min(D.getRight(),F.getRight())-Math.max(D.x,F.x),U[1]=Math.min(D.getBottom(),F.getBottom())-Math.max(D.y,F.y),D.getX()<=F.getX()&&D.getRight()>=F.getRight())U[0]+=Math.min(F.getX()-D.getX(),D.getRight()-F.getRight());else if(F.getX()<=D.getX()&&F.getRight()>=D.getRight())U[0]+=Math.min(D.getX()-F.getX(),F.getRight()-D.getRight());if(D.getY()<=F.getY()&&D.getBottom()>=F.getBottom())U[1]+=Math.min(F.getY()-D.getY(),D.getBottom()-F.getBottom());else if(F.getY()<=D.getY()&&F.getBottom()>=D.getBottom())U[1]+=Math.min(D.getY()-F.getY(),F.getBottom()-D.getBottom());var f=Math.abs((F.getCenterY()-D.getCenterY())/(F.getCenterX()-D.getCenterX()));if(F.getCenterY()===D.getCenterY()&&F.getCenterX()===D.getCenterX())f=1;var M=f*U[0],b=U[1]/f;if(U[0]<b)b=U[0];else M=U[1];U[0]=-1*k[0]*(b/2+z),U[1]=-1*k[1]*(M/2+z)},C.decideDirectionsForOverlappingNodes=function(D,F,U){if(D.getCenterX()<F.getCenterX())U[0]=-1;else U[0]=1;if(D.getCenterY()<F.getCenterY())U[1]=-1;else U[1]=1},C.getIntersection2=function(D,F,U){var z=D.getCenterX(),k=D.getCenterY(),f=F.getCenterX(),M=F.getCenterY();if(D.intersects(F))return U[0]=z,U[1]=k,U[2]=f,U[3]=M,!0;var b=D.getX(),Z=D.getY(),J=D.getRight(),K=D.getX(),w=D.getBottom(),Q=D.getRight(),G=D.getWidthHalf(),H=D.getHeightHalf(),l=F.getX(),q=F.getY(),L=F.getRight(),v=F.getX(),x=F.getBottom(),S=F.getRight(),W=F.getWidthHalf(),T=F.getHeightHalf(),R=!1,Y=!1;if(z===f){if(k>M)return U[0]=z,U[1]=Z,U[2]=f,U[3]=x,!1;else if(k<M)return U[0]=z,U[1]=w,U[2]=f,U[3]=q,!1}else if(k===M){if(z>f)return U[0]=b,U[1]=k,U[2]=L,U[3]=M,!1;else if(z<f)return U[0]=J,U[1]=k,U[2]=l,U[3]=M,!1}else{var h=D.height/D.width,I=F.height/F.width,O=(M-k)/(f-z),V=void 0,j=void 0,i=void 0,a=void 0,$=void 0,m=void 0;if(-h===O)if(z>f)U[0]=K,U[1]=w,R=!0;else U[0]=J,U[1]=Z,R=!0;else if(h===O)if(z>f)U[0]=b,U[1]=Z,R=!0;else U[0]=Q,U[1]=w,R=!0;if(-I===O)if(f>z)U[2]=v,U[3]=x,Y=!0;else U[2]=L,U[3]=q,Y=!0;else if(I===O)if(f>z)U[2]=l,U[3]=q,Y=!0;else U[2]=S,U[3]=x,Y=!0;if(R&&Y)return!1;if(z>f)if(k>M)V=this.getCardinalDirection(h,O,4),j=this.getCardinalDirection(I,O,2);else V=this.getCardinalDirection(-h,O,3),j=this.getCardinalDirection(-I,O,1);else if(k>M)V=this.getCardinalDirection(-h,O,1),j=this.getCardinalDirection(-I,O,3);else V=this.getCardinalDirection(h,O,2),j=this.getCardinalDirection(I,O,4);if(!R)switch(V){case 1:a=Z,i=z+-H/O,U[0]=i,U[1]=a;break;case 2:i=Q,a=k+G*O,U[0]=i,U[1]=a;break;case 3:a=w,i=z+H/O,U[0]=i,U[1]=a;break;case 4:i=K,a=k+-G*O,U[0]=i,U[1]=a;break}if(!Y)switch(j){case 1:m=q,$=f+-T/O,U[2]=$,U[3]=m;break;case 2:$=S,m=M+W*O,U[2]=$,U[3]=m;break;case 3:m=x,$=f+T/O,U[2]=$,U[3]=m;break;case 4:$=v,m=M+-W*O,U[2]=$,U[3]=m;break}}return!1},C.getCardinalDirection=function(D,F,U){if(D>F)return U;else return 1+U%4},C.getIntersection=function(D,F,U,z){if(z==null)return this.getIntersection2(D,F,U);var{x:k,y:f}=D,M=F.x,b=F.y,Z=U.x,J=U.y,K=z.x,w=z.y,Q=void 0,G=void 0,H=void 0,l=void 0,q=void 0,L=void 0,v=void 0,x=void 0,S=void 0;if(H=b-f,q=k-M,v=M*f-k*b,l=w-J,L=Z-K,x=K*J-Z*w,S=H*L-l*q,S===0)return null;return Q=(q*x-L*v)/S,G=(l*v-H*x)/S,new A(Q,G)},C.angleOfVector=function(D,F,U,z){var k=void 0;if(D!==U){if(k=Math.atan((z-F)/(U-D)),U<D)k+=Math.PI;else if(z<F)k+=this.TWO_PI}else if(z<F)k=this.ONE_AND_HALF_PI;else k=this.HALF_PI;return k},C.doIntersect=function(D,F,U,z){var{x:k,y:f}=D,M=F.x,b=F.y,Z=U.x,J=U.y,K=z.x,w=z.y,Q=(M-k)*(w-J)-(K-Z)*(b-f);if(Q===0)return!1;else{var G=((w-J)*(K-k)+(Z-K)*(w-f))/Q,H=((f-b)*(K-k)+(M-k)*(w-f))/Q;return 0<G&&G<1&&0<H&&H<1}},C.HALF_PI=0.5*Math.PI,C.ONE_AND_HALF_PI=1.5*Math.PI,C.TWO_PI=2*Math.PI,C.THREE_PI=3*Math.PI,u.exports=C},function(u,B,E){function A(){}A.sign=function(C){if(C>0)return 1;else if(C<0)return-1;else return 0},A.floor=function(C){return C<0?Math.ceil(C):Math.floor(C)},A.ceil=function(C){return C<0?Math.floor(C):Math.ceil(C)},u.exports=A},function(u,B,E){function A(){}A.MAX_VALUE=2147483647,A.MIN_VALUE=-2147483648,u.exports=A},function(u,B,E){var A=function(){function k(f,M){for(var b=0;b<M.length;b++){var Z=M[b];if(Z.enumerable=Z.enumerable||!1,Z.configurable=!0,"value"in Z)Z.writable=!0;Object.defineProperty(f,Z.key,Z)}}return function(f,M,b){if(M)k(f.prototype,M);if(b)k(f,b);return f}}();function C(k,f){if(!(k instanceof f))throw TypeError("Cannot call a class as a function")}var D=function(f){return{value:f,next:null,prev:null}},F=function(f,M,b,Z){if(f!==null)f.next=M;else Z.head=M;if(b!==null)b.prev=M;else Z.tail=M;return M.prev=f,M.next=b,Z.length++,M},U=function(f,M){var{prev:b,next:Z}=f;if(b!==null)b.next=Z;else M.head=Z;if(Z!==null)Z.prev=b;else M.tail=b;return f.prev=f.next=null,M.length--,f},z=function(){function k(f){var M=this;if(C(this,k),this.length=0,this.head=null,this.tail=null,f!=null)f.forEach(function(b){return M.push(b)})}return A(k,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(M,b){return F(b.prev,D(M),b,this)}},{key:"insertAfter",value:function(M,b){return F(b,D(M),b.next,this)}},{key:"insertNodeBefore",value:function(M,b){return F(b.prev,M,b,this)}},{key:"insertNodeAfter",value:function(M,b){return F(b,M,b.next,this)}},{key:"push",value:function(M){return F(this.tail,D(M),null,this)}},{key:"unshift",value:function(M){return F(null,D(M),this.head,this)}},{key:"remove",value:function(M){return U(M,this)}},{key:"pop",value:function(){return U(this.tail,this).value}},{key:"popNode",value:function(){return U(this.tail,this)}},{key:"shift",value:function(){return U(this.head,this).value}},{key:"shiftNode",value:function(){return U(this.head,this)}},{key:"get_object_at",value:function(M){if(M<=this.length()){var b=1,Z=this.head;while(b<M)Z=Z.next,b++;return Z.value}}},{key:"set_object_at",value:function(M,b){if(M<=this.length()){var Z=1,J=this.head;while(Z<M)J=J.next,Z++;J.value=b}}}]),k}();u.exports=z},function(u,B,E){function A(C,D,F){if(this.x=null,this.y=null,C==null&&D==null&&F==null)this.x=0,this.y=0;else if(typeof C=="number"&&typeof D=="number"&&F==null)this.x=C,this.y=D;else if(C.constructor.name=="Point"&&D==null&&F==null)F=C,this.x=F.x,this.y=F.y}A.prototype.getX=function(){return this.x},A.prototype.getY=function(){return this.y},A.prototype.getLocation=function(){return new A(this.x,this.y)},A.prototype.setLocation=function(C,D,F){if(C.constructor.name=="Point"&&D==null&&F==null)F=C,this.setLocation(F.x,F.y);else if(typeof C=="number"&&typeof D=="number"&&F==null)if(parseInt(C)==C&&parseInt(D)==D)this.move(C,D);else this.x=Math.floor(C+0.5),this.y=Math.floor(D+0.5)},A.prototype.move=function(C,D){this.x=C,this.y=D},A.prototype.translate=function(C,D){this.x+=C,this.y+=D},A.prototype.equals=function(C){if(C.constructor.name=="Point"){var D=C;return this.x==D.x&&this.y==D.y}return this==C},A.prototype.toString=function(){return new A().constructor.name+"[x="+this.x+",y="+this.y+"]"},u.exports=A},function(u,B,E){function A(C,D,F,U){if(this.x=0,this.y=0,this.width=0,this.height=0,C!=null&&D!=null&&F!=null&&U!=null)this.x=C,this.y=D,this.width=F,this.height=U}A.prototype.getX=function(){return this.x},A.prototype.setX=function(C){this.x=C},A.prototype.getY=function(){return this.y},A.prototype.setY=function(C){this.y=C},A.prototype.getWidth=function(){return this.width},A.prototype.setWidth=function(C){this.width=C},A.prototype.getHeight=function(){return this.height},A.prototype.setHeight=function(C){this.height=C},A.prototype.getRight=function(){return this.x+this.width},A.prototype.getBottom=function(){return this.y+this.height},A.prototype.intersects=function(C){if(this.getRight()<C.x)return!1;if(this.getBottom()<C.y)return!1;if(C.getRight()<this.x)return!1;if(C.getBottom()<this.y)return!1;return!0},A.prototype.getCenterX=function(){return this.x+this.width/2},A.prototype.getMinX=function(){return this.getX()},A.prototype.getMaxX=function(){return this.getX()+this.width},A.prototype.getCenterY=function(){return this.y+this.height/2},A.prototype.getMinY=function(){return this.getY()},A.prototype.getMaxY=function(){return this.getY()+this.height},A.prototype.getWidthHalf=function(){return this.width/2},A.prototype.getHeightHalf=function(){return this.height/2},u.exports=A},function(u,B,E){var A=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(D){return typeof D}:function(D){return D&&typeof Symbol==="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D};function C(){}C.lastID=0,C.createID=function(D){if(C.isPrimitive(D))return D;if(D.uniqueID!=null)return D.uniqueID;return D.uniqueID=C.getString(),C.lastID++,D.uniqueID},C.getString=function(D){if(D==null)D=C.lastID;return"Object#"+D},C.isPrimitive=function(D){var F=typeof D>"u"?"undefined":A(D);return D==null||F!="object"&&F!="function"},u.exports=C},function(u,B,E){function A(Z){if(Array.isArray(Z)){for(var J=0,K=Array(Z.length);J<Z.length;J++)K[J]=Z[J];return K}else return Array.from(Z)}var C=E(0),D=E(6),F=E(3),U=E(1),z=E(5),k=E(4),f=E(17),M=E(27);function b(Z){if(M.call(this),this.layoutQuality=C.QUALITY,this.createBendsAsNeeded=C.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=C.DEFAULT_INCREMENTAL,this.animationOnLayout=C.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=C.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=C.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=C.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new D(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,Z!=null)this.isRemoteUse=Z}b.RANDOM_SEED=1,b.prototype=Object.create(M.prototype),b.prototype.getGraphManager=function(){return this.graphManager},b.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},b.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},b.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},b.prototype.newGraphManager=function(){var Z=new D(this);return this.graphManager=Z,Z},b.prototype.newGraph=function(Z){return new z(null,this.graphManager,Z)},b.prototype.newNode=function(Z){return new F(this.graphManager,Z)},b.prototype.newEdge=function(Z){return new U(null,null,Z)},b.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},b.prototype.runLayout=function(){if(this.isLayoutFinished=!1,this.tilingPreLayout)this.tilingPreLayout();this.initParameters();var Z;if(this.checkLayoutSuccess())Z=!1;else Z=this.layout();if(C.ANIMATE==="during")return!1;if(Z){if(!this.isSubLayout)this.doPostLayout()}if(this.tilingPostLayout)this.tilingPostLayout();return this.isLayoutFinished=!0,Z},b.prototype.doPostLayout=function(){if(!this.incremental)this.transform();this.update()},b.prototype.update2=function(){if(this.createBendsAsNeeded)this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges();if(!this.isRemoteUse){var Z,J=this.graphManager.getAllEdges();for(var K=0;K<J.length;K++)Z=J[K];var w,Q=this.graphManager.getRoot().getNodes();for(var K=0;K<Q.length;K++)w=Q[K];this.update(this.graphManager.getRoot())}},b.prototype.update=function(Z){if(Z==null)this.update2();else if(Z instanceof F){var J=Z;if(J.getChild()!=null){var K=J.getChild().getNodes();for(var w=0;w<K.length;w++)update(K[w])}if(J.vGraphObject!=null){var Q=J.vGraphObject;Q.update(J)}}else if(Z instanceof U){var G=Z;if(G.vGraphObject!=null){var H=G.vGraphObject;H.update(G)}}else if(Z instanceof z){var l=Z;if(l.vGraphObject!=null){var q=l.vGraphObject;q.update(l)}}},b.prototype.initParameters=function(){if(!this.isSubLayout)this.layoutQuality=C.QUALITY,this.animationDuringLayout=C.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=C.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=C.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=C.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=C.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=C.DEFAULT_UNIFORM_LEAF_NODE_SIZES;if(this.animationDuringLayout)this.animationOnLayout=!1},b.prototype.transform=function(Z){if(Z==null)this.transform(new k(0,0));else{var J=new f,K=this.graphManager.getRoot().updateLeftTop();if(K!=null){J.setWorldOrgX(Z.x),J.setWorldOrgY(Z.y),J.setDeviceOrgX(K.x),J.setDeviceOrgY(K.y);var w=this.getAllNodes(),Q;for(var G=0;G<w.length;G++)Q=w[G],Q.transform(J)}}},b.prototype.positionNodesRandomly=function(Z){if(Z==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else{var J,K,w=Z.getNodes();for(var Q=0;Q<w.length;Q++)if(J=w[Q],K=J.getChild(),K==null)J.scatter();else if(K.getNodes().length==0)J.scatter();else this.positionNodesRandomly(K),J.updateBounds()}},b.prototype.getFlatForest=function(){var Z=[],J=!0,K=this.graphManager.getRoot().getNodes(),w=!0;for(var Q=0;Q<K.length;Q++)if(K[Q].getChild()!=null)w=!1;if(!w)return Z;var G=new Set,H=[],l=new Map,q=[];q=q.concat(K);while(q.length>0&&J){H.push(q[0]);while(H.length>0&&J){var L=H[0];H.splice(0,1),G.add(L);var v=L.getEdges();for(var Q=0;Q<v.length;Q++){var x=v[Q].getOtherEnd(L);if(l.get(L)!=x)if(!G.has(x))H.push(x),l.set(x,L);else{J=!1;break}}}if(!J)Z=[];else{var S=[].concat(A(G));Z.push(S);for(var Q=0;Q<S.length;Q++){var W=S[Q],T=q.indexOf(W);if(T>-1)q.splice(T,1)}G=new Set,l=new Map}}return Z},b.prototype.createDummyNodesForBendpoints=function(Z){var J=[],K=Z.source,w=this.graphManager.calcLowestCommonAncestor(Z.source,Z.target);for(var Q=0;Q<Z.bendpoints.length;Q++){var G=this.newNode(null);G.setRect(new Point(0,0),new Dimension(1,1)),w.add(G);var H=this.newEdge(null);this.graphManager.add(H,K,G),J.add(G),K=G}var H=this.newEdge(null);if(this.graphManager.add(H,K,Z.target),this.edgeToDummyNodes.set(Z,J),Z.isInterGraph())this.graphManager.remove(Z);else w.remove(Z);return J},b.prototype.createBendpointsFromDummyNodes=function(){var Z=[];Z=Z.concat(this.graphManager.getAllEdges()),Z=[].concat(A(this.edgeToDummyNodes.keys())).concat(Z);for(var J=0;J<Z.length;J++){var K=Z[J];if(K.bendpoints.length>0){var w=this.edgeToDummyNodes.get(K);for(var Q=0;Q<w.length;Q++){var G=w[Q],H=new k(G.getCenterX(),G.getCenterY()),l=K.bendpoints.get(Q);l.x=H.x,l.y=H.y,G.getOwner().remove(G)}this.graphManager.add(K,K.source,K.target)}}},b.transform=function(Z,J,K,w){if(K!=null&&w!=null){var Q=J;if(Z<=50){var G=J/K;Q-=(J-G)/50*(50-Z)}else{var H=J*w;Q+=(H-J)/50*(Z-50)}return Q}else{var l,q;if(Z<=50)l=9*J/500,q=J/10;else l=9*J/50,q=-8*J;return l*Z+q}},b.findCenterOfTree=function(Z){var J=[];J=J.concat(Z);var K=[],w=new Map,Q=!1,G=null;if(J.length==1||J.length==2)Q=!0,G=J[0];for(var H=0;H<J.length;H++){var l=J[H],q=l.getNeighborsList().size;if(w.set(l,l.getNeighborsList().size),q==1)K.push(l)}var L=[];L=L.concat(K);while(!Q){var v=[];v=v.concat(L),L=[];for(var H=0;H<J.length;H++){var l=J[H],x=J.indexOf(l);if(x>=0)J.splice(x,1);var S=l.getNeighborsList();S.forEach(function(R){if(K.indexOf(R)<0){var Y=w.get(R),h=Y-1;if(h==1)L.push(R);w.set(R,h)}})}if(K=K.concat(L),J.length==1||J.length==2)Q=!0,G=J[0]}return G},b.prototype.setGraphManager=function(Z){this.graphManager=Z},u.exports=b},function(u,B,E){function A(){}A.seed=1,A.x=0,A.nextDouble=function(){return A.x=Math.sin(A.seed++)*1e4,A.x-Math.floor(A.x)},u.exports=A},function(u,B,E){var A=E(4);function C(D,F){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}C.prototype.getWorldOrgX=function(){return this.lworldOrgX},C.prototype.setWorldOrgX=function(D){this.lworldOrgX=D},C.prototype.getWorldOrgY=function(){return this.lworldOrgY},C.prototype.setWorldOrgY=function(D){this.lworldOrgY=D},C.prototype.getWorldExtX=function(){return this.lworldExtX},C.prototype.setWorldExtX=function(D){this.lworldExtX=D},C.prototype.getWorldExtY=function(){return this.lworldExtY},C.prototype.setWorldExtY=function(D){this.lworldExtY=D},C.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},C.prototype.setDeviceOrgX=function(D){this.ldeviceOrgX=D},C.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},C.prototype.setDeviceOrgY=function(D){this.ldeviceOrgY=D},C.prototype.getDeviceExtX=function(){return this.ldeviceExtX},C.prototype.setDeviceExtX=function(D){this.ldeviceExtX=D},C.prototype.getDeviceExtY=function(){return this.ldeviceExtY},C.prototype.setDeviceExtY=function(D){this.ldeviceExtY=D},C.prototype.transformX=function(D){var F=0,U=this.lworldExtX;if(U!=0)F=this.ldeviceOrgX+(D-this.lworldOrgX)*this.ldeviceExtX/U;return F},C.prototype.transformY=function(D){var F=0,U=this.lworldExtY;if(U!=0)F=this.ldeviceOrgY+(D-this.lworldOrgY)*this.ldeviceExtY/U;return F},C.prototype.inverseTransformX=function(D){var F=0,U=this.ldeviceExtX;if(U!=0)F=this.lworldOrgX+(D-this.ldeviceOrgX)*this.lworldExtX/U;return F},C.prototype.inverseTransformY=function(D){var F=0,U=this.ldeviceExtY;if(U!=0)F=this.lworldOrgY+(D-this.ldeviceOrgY)*this.lworldExtY/U;return F},C.prototype.inverseTransformPoint=function(D){var F=new A(this.inverseTransformX(D.x),this.inverseTransformY(D.y));return F},u.exports=C},function(u,B,E){function A(M){if(Array.isArray(M)){for(var b=0,Z=Array(M.length);b<M.length;b++)Z[b]=M[b];return Z}else return Array.from(M)}var C=E(15),D=E(7),F=E(0),U=E(8),z=E(9);function k(){C.call(this),this.useSmartIdealEdgeLengthCalculation=D.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=D.DEFAULT_EDGE_LENGTH,this.springConstant=D.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=D.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=D.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=D.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=D.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=D.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*D.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=D.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=D.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=D.MAX_ITERATIONS}k.prototype=Object.create(C.prototype);for(var f in C)k[f]=C[f];k.prototype.initParameters=function(){C.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=D.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},k.prototype.calcIdealEdgeLengths=function(){var M,b,Z,J,K,w,Q=this.getGraphManager().getAllEdges();for(var G=0;G<Q.length;G++)if(M=Q[G],M.idealLength=this.idealEdgeLength,M.isInterGraph){if(Z=M.getSource(),J=M.getTarget(),K=M.getSourceInLca().getEstimatedSize(),w=M.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation)M.idealLength+=K+w-2*F.SIMPLE_NODE_SIZE;b=M.getLca().getInclusionTreeDepth(),M.idealLength+=D.DEFAULT_EDGE_LENGTH*D.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(Z.getInclusionTreeDepth()+J.getInclusionTreeDepth()-2*b)}},k.prototype.initSpringEmbedder=function(){var M=this.getAllNodes().length;if(this.incremental){if(M>D.ADAPTATION_LOWER_NODE_LIMIT)this.coolingFactor=Math.max(this.coolingFactor*D.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(M-D.ADAPTATION_LOWER_NODE_LIMIT)/(D.ADAPTATION_UPPER_NODE_LIMIT-D.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-D.COOLING_ADAPTATION_FACTOR));this.maxNodeDisplacement=D.MAX_NODE_DISPLACEMENT_INCREMENTAL}else{if(M>D.ADAPTATION_LOWER_NODE_LIMIT)this.coolingFactor=Math.max(D.COOLING_ADAPTATION_FACTOR,1-(M-D.ADAPTATION_LOWER_NODE_LIMIT)/(D.ADAPTATION_UPPER_NODE_LIMIT-D.ADAPTATION_LOWER_NODE_LIMIT)*(1-D.COOLING_ADAPTATION_FACTOR));else this.coolingFactor=1;this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=D.MAX_NODE_DISPLACEMENT}this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},k.prototype.calcSpringForces=function(){var M=this.getAllEdges(),b;for(var Z=0;Z<M.length;Z++)b=M[Z],this.calcSpringForce(b,b.idealLength)},k.prototype.calcRepulsionForces=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Z,J,K,w,Q=this.getAllNodes(),G;if(this.useFRGridVariant){if(this.totalIterations%D.GRID_CALCULATION_CHECK_PERIOD==1&&M)this.updateGrid();G=new Set;for(Z=0;Z<Q.length;Z++)K=Q[Z],this.calculateRepulsionForceOfANode(K,G,M,b),G.add(K)}else for(Z=0;Z<Q.length;Z++){K=Q[Z];for(J=Z+1;J<Q.length;J++){if(w=Q[J],K.getOwner()!=w.getOwner())continue;this.calcRepulsionForce(K,w)}}},k.prototype.calcGravitationalForces=function(){var M,b=this.getAllNodesToApplyGravitation();for(var Z=0;Z<b.length;Z++)M=b[Z],this.calcGravitationalForce(M)},k.prototype.moveNodes=function(){var M=this.getAllNodes(),b;for(var Z=0;Z<M.length;Z++)b=M[Z],b.move()},k.prototype.calcSpringForce=function(M,b){var Z=M.getSource(),J=M.getTarget(),K,w,Q,G;if(this.uniformLeafNodeSizes&&Z.getChild()==null&&J.getChild()==null)M.updateLengthSimple();else if(M.updateLength(),M.isOverlapingSourceAndTarget)return;if(K=M.getLength(),K==0)return;w=this.springConstant*(K-b),Q=w*(M.lengthX/K),G=w*(M.lengthY/K),Z.springForceX+=Q,Z.springForceY+=G,J.springForceX-=Q,J.springForceY-=G},k.prototype.calcRepulsionForce=function(M,b){var Z=M.getRect(),J=b.getRect(),K=[,,],w=[,,,,],Q,G,H,l,q,L,v;if(Z.intersects(J)){U.calcSeparationAmount(Z,J,K,D.DEFAULT_EDGE_LENGTH/2),L=2*K[0],v=2*K[1];var x=M.noOfChildren*b.noOfChildren/(M.noOfChildren+b.noOfChildren);M.repulsionForceX-=x*L,M.repulsionForceY-=x*v,b.repulsionForceX+=x*L,b.repulsionForceY+=x*v}else{if(this.uniformLeafNodeSizes&&M.getChild()==null&&b.getChild()==null)Q=J.getCenterX()-Z.getCenterX(),G=J.getCenterY()-Z.getCenterY();else U.getIntersection(Z,J,w),Q=w[2]-w[0],G=w[3]-w[1];if(Math.abs(Q)<D.MIN_REPULSION_DIST)Q=z.sign(Q)*D.MIN_REPULSION_DIST;if(Math.abs(G)<D.MIN_REPULSION_DIST)G=z.sign(G)*D.MIN_REPULSION_DIST;H=Q*Q+G*G,l=Math.sqrt(H),q=this.repulsionConstant*M.noOfChildren*b.noOfChildren/H,L=q*Q/l,v=q*G/l,M.repulsionForceX-=L,M.repulsionForceY-=v,b.repulsionForceX+=L,b.repulsionForceY+=v}},k.prototype.calcGravitationalForce=function(M){var b,Z,J,K,w,Q,G,H;if(b=M.getOwner(),Z=(b.getRight()+b.getLeft())/2,J=(b.getTop()+b.getBottom())/2,K=M.getCenterX()-Z,w=M.getCenterY()-J,Q=Math.abs(K)+M.getWidth()/2,G=Math.abs(w)+M.getHeight()/2,M.getOwner()==this.graphManager.getRoot()){if(H=b.getEstimatedSize()*this.gravityRangeFactor,Q>H||G>H)M.gravitationForceX=-this.gravityConstant*K,M.gravitationForceY=-this.gravityConstant*w}else if(H=b.getEstimatedSize()*this.compoundGravityRangeFactor,Q>H||G>H)M.gravitationForceX=-this.gravityConstant*K*this.compoundGravityConstant,M.gravitationForceY=-this.gravityConstant*w*this.compoundGravityConstant},k.prototype.isConverged=function(){var M,b=!1;if(this.totalIterations>this.maxIterations/3)b=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2;return M=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,M||b},k.prototype.animate=function(){if(this.animationDuringLayout&&!this.isSubLayout)if(this.notAnimatedIterations==this.animationPeriod)this.update(),this.notAnimatedIterations=0;else this.notAnimatedIterations++},k.prototype.calcNoOfChildrenForAllNodes=function(){var M,b=this.graphManager.getAllNodes();for(var Z=0;Z<b.length;Z++)M=b[Z],M.noOfChildren=M.getNoOfChildren()},k.prototype.calcGrid=function(M){var b=0,Z=0;b=parseInt(Math.ceil((M.getRight()-M.getLeft())/this.repulsionRange)),Z=parseInt(Math.ceil((M.getBottom()-M.getTop())/this.repulsionRange));var J=Array(b);for(var K=0;K<b;K++)J[K]=Array(Z);for(var K=0;K<b;K++)for(var w=0;w<Z;w++)J[K][w]=[];return J},k.prototype.addNodeToGrid=function(M,b,Z){var J=0,K=0,w=0,Q=0;J=parseInt(Math.floor((M.getRect().x-b)/this.repulsionRange)),K=parseInt(Math.floor((M.getRect().width+M.getRect().x-b)/this.repulsionRange)),w=parseInt(Math.floor((M.getRect().y-Z)/this.repulsionRange)),Q=parseInt(Math.floor((M.getRect().height+M.getRect().y-Z)/this.repulsionRange));for(var G=J;G<=K;G++)for(var H=w;H<=Q;H++)this.grid[G][H].push(M),M.setGridCoordinates(J,K,w,Q)},k.prototype.updateGrid=function(){var M,b,Z=this.getAllNodes();this.grid=this.calcGrid(this.graphManager.getRoot());for(M=0;M<Z.length;M++)b=Z[M],this.addNodeToGrid(b,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},k.prototype.calculateRepulsionForceOfANode=function(M,b,Z,J){if(this.totalIterations%D.GRID_CALCULATION_CHECK_PERIOD==1&&Z||J){var K=new Set;M.surrounding=[];var w,Q=this.grid;for(var G=M.startX-1;G<M.finishX+2;G++)for(var H=M.startY-1;H<M.finishY+2;H++)if(!(G<0||H<0||G>=Q.length||H>=Q[0].length))for(var l=0;l<Q[G][H].length;l++){if(w=Q[G][H][l],M.getOwner()!=w.getOwner()||M==w)continue;if(!b.has(w)&&!K.has(w)){var q=Math.abs(M.getCenterX()-w.getCenterX())-(M.getWidth()/2+w.getWidth()/2),L=Math.abs(M.getCenterY()-w.getCenterY())-(M.getHeight()/2+w.getHeight()/2);if(q<=this.repulsionRange&&L<=this.repulsionRange)K.add(w)}}M.surrounding=[].concat(A(K))}for(G=0;G<M.surrounding.length;G++)this.calcRepulsionForce(M,M.surrounding[G])},k.prototype.calcRepulsionRange=function(){return 0},u.exports=k},function(u,B,E){var A=E(1),C=E(7);function D(U,z,k){A.call(this,U,z,k),this.idealLength=C.DEFAULT_EDGE_LENGTH}D.prototype=Object.create(A.prototype);for(var F in A)D[F]=A[F];u.exports=D},function(u,B,E){var A=E(3);function C(F,U,z,k){A.call(this,F,U,z,k),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}C.prototype=Object.create(A.prototype);for(var D in A)C[D]=A[D];C.prototype.setGridCoordinates=function(F,U,z,k){this.startX=F,this.finishX=U,this.startY=z,this.finishY=k},u.exports=C},function(u,B,E){function A(C,D){if(this.width=0,this.height=0,C!==null&&D!==null)this.height=D,this.width=C}A.prototype.getWidth=function(){return this.width},A.prototype.setWidth=function(C){this.width=C},A.prototype.getHeight=function(){return this.height},A.prototype.setHeight=function(C){this.height=C},u.exports=A},function(u,B,E){var A=E(14);function C(){this.map={},this.keys=[]}C.prototype.put=function(D,F){var U=A.createID(D);if(!this.contains(U))this.map[U]=F,this.keys.push(D)},C.prototype.contains=function(D){var F=A.createID(D);return this.map[D]!=null},C.prototype.get=function(D){var F=A.createID(D);return this.map[F]},C.prototype.keySet=function(){return this.keys},u.exports=C},function(u,B,E){var A=E(14);function C(){this.set={}}C.prototype.add=function(D){var F=A.createID(D);if(!this.contains(F))this.set[F]=D},C.prototype.remove=function(D){delete this.set[A.createID(D)]},C.prototype.clear=function(){this.set={}},C.prototype.contains=function(D){return this.set[A.createID(D)]==D},C.prototype.isEmpty=function(){return this.size()===0},C.prototype.size=function(){return Object.keys(this.set).length},C.prototype.addAllTo=function(D){var F=Object.keys(this.set),U=F.length;for(var z=0;z<U;z++)D.push(this.set[F[z]])},C.prototype.size=function(){return Object.keys(this.set).length},C.prototype.addAll=function(D){var F=D.length;for(var U=0;U<F;U++){var z=D[U];this.add(z)}},u.exports=C},function(u,B,E){var A=function(){function U(z,k){for(var f=0;f<k.length;f++){var M=k[f];if(M.enumerable=M.enumerable||!1,M.configurable=!0,"value"in M)M.writable=!0;Object.defineProperty(z,M.key,M)}}return function(z,k,f){if(k)U(z.prototype,k);if(f)U(z,f);return z}}();function C(U,z){if(!(U instanceof z))throw TypeError("Cannot call a class as a function")}var D=E(11),F=function(){function U(z,k){if(C(this,U),k!==null||k!==void 0)this.compareFunction=this._defaultCompareFunction;var f=void 0;if(z instanceof D)f=z.size();else f=z.length;this._quicksort(z,0,f-1)}return A(U,[{key:"_quicksort",value:function(k,f,M){if(f<M){var b=this._partition(k,f,M);this._quicksort(k,f,b),this._quicksort(k,b+1,M)}}},{key:"_partition",value:function(k,f,M){var b=this._get(k,f),Z=f,J=M;while(!0){while(this.compareFunction(b,this._get(k,J)))J--;while(this.compareFunction(this._get(k,Z),b))Z++;if(Z<J)this._swap(k,Z,J),Z++,J--;else return J}}},{key:"_get",value:function(k,f){if(k instanceof D)return k.get_object_at(f);else return k[f]}},{key:"_set",value:function(k,f,M){if(k instanceof D)k.set_object_at(f,M);else k[f]=M}},{key:"_swap",value:function(k,f,M){var b=this._get(k,f);this._set(k,f,this._get(k,M)),this._set(k,M,b)}},{key:"_defaultCompareFunction",value:function(k,f){return f>k}}]),U}();u.exports=F},function(u,B,E){var A=function(){function F(U,z){for(var k=0;k<z.length;k++){var f=z[k];if(f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f)f.writable=!0;Object.defineProperty(U,f.key,f)}}return function(U,z,k){if(z)F(U.prototype,z);if(k)F(U,k);return U}}();function C(F,U){if(!(F instanceof U))throw TypeError("Cannot call a class as a function")}var D=function(){function F(U,z){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;C(this,F),this.sequence1=U,this.sequence2=z,this.match_score=k,this.mismatch_penalty=f,this.gap_penalty=M,this.iMax=U.length+1,this.jMax=z.length+1,this.grid=Array(this.iMax);for(var b=0;b<this.iMax;b++){this.grid[b]=Array(this.jMax);for(var Z=0;Z<this.jMax;Z++)this.grid[b][Z]=0}this.tracebackGrid=Array(this.iMax);for(var J=0;J<this.iMax;J++){this.tracebackGrid[J]=Array(this.jMax);for(var K=0;K<this.jMax;K++)this.tracebackGrid[J][K]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return A(F,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var z=1;z<this.jMax;z++)this.grid[0][z]=this.grid[0][z-1]+this.gap_penalty,this.tracebackGrid[0][z]=[!1,!1,!0];for(var k=1;k<this.iMax;k++)this.grid[k][0]=this.grid[k-1][0]+this.gap_penalty,this.tracebackGrid[k][0]=[!1,!0,!1];for(var f=1;f<this.iMax;f++)for(var M=1;M<this.jMax;M++){var b=void 0;if(this.sequence1[f-1]===this.sequence2[M-1])b=this.grid[f-1][M-1]+this.match_score;else b=this.grid[f-1][M-1]+this.mismatch_penalty;var Z=this.grid[f-1][M]+this.gap_penalty,J=this.grid[f][M-1]+this.gap_penalty,K=[b,Z,J],w=this.arrayAllMaxIndexes(K);this.grid[f][M]=K[w[0]],this.tracebackGrid[f][M]=[w.includes(0),w.includes(1),w.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var z=[];z.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});while(z[0]){var k=z[0],f=this.tracebackGrid[k.pos[0]][k.pos[1]];if(f[0])z.push({pos:[k.pos[0]-1,k.pos[1]-1],seq1:this.sequence1[k.pos[0]-1]+k.seq1,seq2:this.sequence2[k.pos[1]-1]+k.seq2});if(f[1])z.push({pos:[k.pos[0]-1,k.pos[1]],seq1:this.sequence1[k.pos[0]-1]+k.seq1,seq2:"-"+k.seq2});if(f[2])z.push({pos:[k.pos[0],k.pos[1]-1],seq1:"-"+k.seq1,seq2:this.sequence2[k.pos[1]-1]+k.seq2});if(k.pos[0]===0&&k.pos[1]===0)this.alignments.push({sequence1:k.seq1,sequence2:k.seq2});z.shift()}return this.alignments}},{key:"getAllIndexes",value:function(z,k){var f=[],M=-1;while((M=z.indexOf(k,M+1))!==-1)f.push(M);return f}},{key:"arrayAllMaxIndexes",value:function(z){return this.getAllIndexes(z,Math.max.apply(null,z))}}]),F}();u.exports=D},function(u,B,E){var A=function(){return};A.FDLayout=E(18),A.FDLayoutConstants=E(7),A.FDLayoutEdge=E(19),A.FDLayoutNode=E(20),A.DimensionD=E(21),A.HashMap=E(22),A.HashSet=E(23),A.IGeometry=E(8),A.IMath=E(9),A.Integer=E(10),A.Point=E(12),A.PointD=E(4),A.RandomSeed=E(16),A.RectangleD=E(13),A.Transform=E(17),A.UniqueIDGeneretor=E(14),A.Quicksort=E(24),A.LinkedList=E(11),A.LGraphObject=E(2),A.LGraph=E(5),A.LEdge=E(1),A.LGraphManager=E(6),A.LNode=E(3),A.Layout=E(15),A.LayoutConstants=E(0),A.NeedlemanWunsch=E(25),u.exports=A},function(u,B,E){function A(){this.listeners=[]}var C=A.prototype;C.addListener=function(D,F){this.listeners.push({event:D,callback:F})},C.removeListener=function(D,F){for(var U=this.listeners.length;U>=0;U--){var z=this.listeners[U];if(z.event===D&&z.callback===F)this.listeners.splice(U,1)}},C.emit=function(D,F){for(var U=0;U<this.listeners.length;U++){var z=this.listeners[U];if(D===z.event)z.callback(F)}},u.exports=A}])})});var Q70=N1((zY,w70)=>{(function(B,E){if(typeof zY==="object"&&typeof w70==="object")w70.exports=E(K70());else if(typeof define==="function"&&define.amd)define(["layout-base"],E);else if(typeof zY==="object")zY.coseBase=E(K70());else B.coseBase=E(B.layoutBase)})(zY,function(u){return function(B){var E={};function A(C){if(E[C])return E[C].exports;var D=E[C]={i:C,l:!1,exports:{}};return B[C].call(D.exports,D,D.exports,A),D.l=!0,D.exports}return A.m=B,A.c=E,A.i=function(C){return C},A.d=function(C,D,F){if(!A.o(C,D))Object.defineProperty(C,D,{configurable:!1,enumerable:!0,get:F})},A.n=function(C){var D=C&&C.__esModule?function(){return C.default}:function(){return C};return A.d(D,"a",D),D},A.o=function(C,D){return Object.prototype.hasOwnProperty.call(C,D)},A.p="",A(A.s=7)}([function(B,E){B.exports=u},function(B,E,A){var C=A(0).FDLayoutConstants;function D(){}for(var F in C)D[F]=C[F];D.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,D.DEFAULT_RADIAL_SEPARATION=C.DEFAULT_EDGE_LENGTH,D.DEFAULT_COMPONENT_SEPERATION=60,D.TILE=!0,D.TILING_PADDING_VERTICAL=10,D.TILING_PADDING_HORIZONTAL=10,D.TREE_REDUCTION_ON_INCREMENTAL=!1,B.exports=D},function(B,E,A){var C=A(0).FDLayoutEdge;function D(U,z,k){C.call(this,U,z,k)}D.prototype=Object.create(C.prototype);for(var F in C)D[F]=C[F];B.exports=D},function(B,E,A){var C=A(0).LGraph;function D(U,z,k){C.call(this,U,z,k)}D.prototype=Object.create(C.prototype);for(var F in C)D[F]=C[F];B.exports=D},function(B,E,A){var C=A(0).LGraphManager;function D(U){C.call(this,U)}D.prototype=Object.create(C.prototype);for(var F in C)D[F]=C[F];B.exports=D},function(B,E,A){var C=A(0).FDLayoutNode,D=A(0).IMath;function F(z,k,f,M){C.call(this,z,k,f,M)}F.prototype=Object.create(C.prototype);for(var U in C)F[U]=C[U];F.prototype.move=function(){var z=this.graphManager.getLayout();if(this.displacementX=z.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=z.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>z.coolingFactor*z.maxNodeDisplacement)this.displacementX=z.coolingFactor*z.maxNodeDisplacement*D.sign(this.displacementX);if(Math.abs(this.displacementY)>z.coolingFactor*z.maxNodeDisplacement)this.displacementY=z.coolingFactor*z.maxNodeDisplacement*D.sign(this.displacementY);if(this.child==null)this.moveBy(this.displacementX,this.displacementY);else if(this.child.getNodes().length==0)this.moveBy(this.displacementX,this.displacementY);else this.propogateDisplacementToChildren(this.displacementX,this.displacementY);z.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},F.prototype.propogateDisplacementToChildren=function(z,k){var f=this.getChild().getNodes(),M;for(var b=0;b<f.length;b++)if(M=f[b],M.getChild()==null)M.moveBy(z,k),M.displacementX+=z,M.displacementY+=k;else M.propogateDisplacementToChildren(z,k)},F.prototype.setPred1=function(z){this.pred1=z},F.prototype.getPred1=function(){return pred1},F.prototype.getPred2=function(){return pred2},F.prototype.setNext=function(z){this.next=z},F.prototype.getNext=function(){return next},F.prototype.setProcessed=function(z){this.processed=z},F.prototype.isProcessed=function(){return processed},B.exports=F},function(B,E,A){var C=A(0).FDLayout,D=A(4),F=A(3),U=A(5),z=A(2),k=A(1),f=A(0).FDLayoutConstants,M=A(0).LayoutConstants,b=A(0).Point,Z=A(0).PointD,J=A(0).Layout,K=A(0).Integer,w=A(0).IGeometry,Q=A(0).LGraph,G=A(0).Transform;function H(){C.call(this),this.toBeTiled={}}H.prototype=Object.create(C.prototype);for(var l in C)H[l]=C[l];H.prototype.newGraphManager=function(){var q=new D(this);return this.graphManager=q,q},H.prototype.newGraph=function(q){return new F(null,this.graphManager,q)},H.prototype.newNode=function(q){return new U(this.graphManager,q)},H.prototype.newEdge=function(q){return new z(null,null,q)},H.prototype.initParameters=function(){if(C.prototype.initParameters.call(this,arguments),!this.isSubLayout){if(k.DEFAULT_EDGE_LENGTH<10)this.idealEdgeLength=10;else this.idealEdgeLength=k.DEFAULT_EDGE_LENGTH;this.useSmartIdealEdgeLengthCalculation=k.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=f.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=f.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=f.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=f.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=f.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/f.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=f.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1}},H.prototype.layout=function(){var q=M.DEFAULT_CREATE_BENDS_AS_NEEDED;if(q)this.createBendpoints(),this.graphManager.resetAllEdges();return this.level=0,this.classicLayout()},H.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),!this.incremental){var q=this.getFlatForest();if(q.length>0)this.positionNodesRadially(q);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(x){return L.has(x)});this.graphManager.setAllNodesToApplyGravitation(v),this.positionNodesRandomly()}}else if(k.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(W){return L.has(W)});this.graphManager.setAllNodesToApplyGravitation(v)}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},H.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.coolingCycle++,this.layoutQuality==0)this.coolingAdjuster=this.coolingCycle;else if(this.layoutQuality==1)this.coolingAdjuster=this.coolingCycle/3;this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var q=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function(S){return q.has(S)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;if(this.afterGrowthIterations%10==0)this.graphManager.updateBounds(),this.updateGrid();this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var v=!this.isTreeGrowing&&!this.isGrowthFinished,x=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(v,x),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},H.prototype.getPositionsData=function(){var q=this.graphManager.getAllNodes(),L={};for(var v=0;v<q.length;v++){var x=q[v].rect,S=q[v].id;L[S]={id:S,x:x.getCenterX(),y:x.getCenterY(),w:x.width,h:x.height}}return L},H.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var q=!1;if(f.ANIMATE==="during")this.emit("layoutstarted");else{while(!q)q=this.tick();this.graphManager.updateBounds()}},H.prototype.calculateNodesToApplyGravitationTo=function(){var q=[],L,v=this.graphManager.getGraphs(),x=v.length,S;for(S=0;S<x;S++)if(L=v[S],L.updateConnected(),!L.isConnected)q=q.concat(L.getNodes());return q},H.prototype.createBendpoints=function(){var q=[];q=q.concat(this.graphManager.getAllEdges());var L=new Set,v;for(v=0;v<q.length;v++){var x=q[v];if(!L.has(x)){var S=x.getSource(),W=x.getTarget();if(S==W)x.getBendpoints().push(new Z),x.getBendpoints().push(new Z),this.createDummyNodesForBendpoints(x),L.add(x);else{var T=[];if(T=T.concat(S.getEdgeListToNode(W)),T=T.concat(W.getEdgeListToNode(S)),!L.has(T[0])){if(T.length>1){var R;for(R=0;R<T.length;R++){var Y=T[R];Y.getBendpoints().push(new Z),this.createDummyNodesForBendpoints(Y)}}T.forEach(function(h){L.add(h)})}}}if(L.size==q.length)break}},H.prototype.positionNodesRadially=function(q){var L=new b(0,0),v=Math.ceil(Math.sqrt(q.length)),x=0,S=0,W=0,T=new Z(0,0);for(var R=0;R<q.length;R++){if(R%v==0){if(W=0,S=x,R!=0)S+=k.DEFAULT_COMPONENT_SEPERATION;x=0}var Y=q[R],h=J.findCenterOfTree(Y);if(L.x=W,L.y=S,T=H.radialLayout(Y,h,L),T.y>x)x=Math.floor(T.y);W=Math.floor(T.x+k.DEFAULT_COMPONENT_SEPERATION)}this.transform(new Z(M.WORLD_CENTER_X-T.x/2,M.WORLD_CENTER_Y-T.y/2))},H.radialLayout=function(q,L,v){var x=Math.max(this.maxDiagonalInTree(q),k.DEFAULT_RADIAL_SEPARATION);H.branchRadialLayout(L,null,0,359,0,x);var S=Q.calculateBounds(q),W=new G;W.setDeviceOrgX(S.getMinX()),W.setDeviceOrgY(S.getMinY()),W.setWorldOrgX(v.x),W.setWorldOrgY(v.y);for(var T=0;T<q.length;T++){var R=q[T];R.transform(W)}var Y=new Z(S.getMaxX(),S.getMaxY());return W.inverseTransformPoint(Y)},H.branchRadialLayout=function(q,L,v,x,S,W){var T=(x-v+1)/2;if(T<0)T+=180;var R=(T+v)%360,Y=R*w.TWO_PI/360,h=Math.cos(Y),I=S*Math.cos(Y),O=S*Math.sin(Y);q.setCenter(I,O);var V=[];V=V.concat(q.getEdges());var j=V.length;if(L!=null)j--;var i=0,a=V.length,$,m=q.getEdgesBetween(L);while(m.length>1){var y=m[0];m.splice(0,1);var r=V.indexOf(y);if(r>=0)V.splice(r,1);a--,j--}if(L!=null)$=(V.indexOf(m[0])+1)%a;else $=0;var _=Math.abs(x-v)/j;for(var e=$;i!=j;e=++e%a){var p=V[e].getOtherEnd(q);if(p==L)continue;var b0=(v+i*_)%360,B0=(b0+_)%360;H.branchRadialLayout(p,q,b0,B0,S+W,W),i++}},H.maxDiagonalInTree=function(q){var L=K.MIN_VALUE;for(var v=0;v<q.length;v++){var x=q[v],S=x.getDiagonal();if(S>L)L=S}return L},H.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},H.prototype.groupZeroDegreeMembers=function(){var q=this,L={};this.memberGroups={},this.idToDummyNode={};var v=[],x=this.graphManager.getAllNodes();for(var S=0;S<x.length;S++){var W=x[S],T=W.getParent();if(this.getNodeDegreeWithChildren(W)===0&&(T.id==null||!this.getToBeTiled(T)))v.push(W)}for(var S=0;S<v.length;S++){var W=v[S],R=W.getParent().id;if(typeof L[R]>"u")L[R]=[];L[R]=L[R].concat(W)}Object.keys(L).forEach(function(Y){if(L[Y].length>1){var h="DummyCompound_"+Y;q.memberGroups[h]=L[Y];var I=L[Y][0].getParent(),O=new U(q.graphManager);O.id=h,O.paddingLeft=I.paddingLeft||0,O.paddingRight=I.paddingRight||0,O.paddingBottom=I.paddingBottom||0,O.paddingTop=I.paddingTop||0,q.idToDummyNode[h]=O;var V=q.getGraphManager().add(q.newGraph(),O),j=I.getChild();j.add(O);for(var i=0;i<L[Y].length;i++){var a=L[Y][i];j.remove(a),V.add(a)}}})},H.prototype.clearCompounds=function(){var q={},L={};this.performDFSOnCompounds();for(var v=0;v<this.compoundOrder.length;v++)L[this.compoundOrder[v].id]=this.compoundOrder[v],q[this.compoundOrder[v].id]=[].concat(this.compoundOrder[v].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[v].getChild()),this.compoundOrder[v].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(q,L)},H.prototype.clearZeroDegreeMembers=function(){var q=this,L=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(v){var x=q.idToDummyNode[v];L[v]=q.tileNodes(q.memberGroups[v],x.paddingLeft+x.paddingRight),x.rect.width=L[v].width,x.rect.height=L[v].height})},H.prototype.repopulateCompounds=function(){for(var q=this.compoundOrder.length-1;q>=0;q--){var L=this.compoundOrder[q],v=L.id,x=L.paddingLeft,S=L.paddingTop;this.adjustLocations(this.tiledMemberPack[v],L.rect.x,L.rect.y,x,S)}},H.prototype.repopulateZeroDegreeMembers=function(){var q=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(v){var x=q.idToDummyNode[v],S=x.paddingLeft,W=x.paddingTop;q.adjustLocations(L[v],x.rect.x,x.rect.y,S,W)})},H.prototype.getToBeTiled=function(q){var L=q.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var v=q.getChild();if(v==null)return this.toBeTiled[L]=!1,!1;var x=v.getNodes();for(var S=0;S<x.length;S++){var W=x[S];if(this.getNodeDegree(W)>0)return this.toBeTiled[L]=!1,!1;if(W.getChild()==null){this.toBeTiled[W.id]=!1;continue}if(!this.getToBeTiled(W))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},H.prototype.getNodeDegree=function(q){var L=q.id,v=q.getEdges(),x=0;for(var S=0;S<v.length;S++){var W=v[S];if(W.getSource().id!==W.getTarget().id)x=x+1}return x},H.prototype.getNodeDegreeWithChildren=function(q){var L=this.getNodeDegree(q);if(q.getChild()==null)return L;var v=q.getChild().getNodes();for(var x=0;x<v.length;x++){var S=v[x];L+=this.getNodeDegreeWithChildren(S)}return L},H.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},H.prototype.fillCompexOrderByDFS=function(q){for(var L=0;L<q.length;L++){var v=q[L];if(v.getChild()!=null)this.fillCompexOrderByDFS(v.getChild().getNodes());if(this.getToBeTiled(v))this.compoundOrder.push(v)}},H.prototype.adjustLocations=function(q,L,v,x,S){L+=x,v+=S;var W=L;for(var T=0;T<q.rows.length;T++){var R=q.rows[T];L=W;var Y=0;for(var h=0;h<R.length;h++){var I=R[h];if(I.rect.x=L,I.rect.y=v,L+=I.rect.width+q.horizontalPadding,I.rect.height>Y)Y=I.rect.height}v+=Y+q.verticalPadding}},H.prototype.tileCompoundMembers=function(q,L){var v=this;this.tiledMemberPack=[],Object.keys(q).forEach(function(x){var S=L[x];v.tiledMemberPack[x]=v.tileNodes(q[x],S.paddingLeft+S.paddingRight),S.rect.width=v.tiledMemberPack[x].width,S.rect.height=v.tiledMemberPack[x].height})},H.prototype.tileNodes=function(q,L){var{TILING_PADDING_VERTICAL:v,TILING_PADDING_HORIZONTAL:x}=k,S={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:v,horizontalPadding:x};q.sort(function(R,Y){if(R.rect.width*R.rect.height>Y.rect.width*Y.rect.height)return-1;if(R.rect.width*R.rect.height<Y.rect.width*Y.rect.height)return 1;return 0});for(var W=0;W<q.length;W++){var T=q[W];if(S.rows.length==0)this.insertNodeToRow(S,T,0,L);else if(this.canAddHorizontal(S,T.rect.width,T.rect.height))this.insertNodeToRow(S,T,this.getShortestRowIndex(S),L);else this.insertNodeToRow(S,T,S.rows.length,L);this.shiftToLastRow(S)}return S},H.prototype.insertNodeToRow=function(q,L,v,x){var S=x;if(v==q.rows.length){var W=[];q.rows.push(W),q.rowWidth.push(S),q.rowHeight.push(0)}var T=q.rowWidth[v]+L.rect.width;if(q.rows[v].length>0)T+=q.horizontalPadding;if(q.rowWidth[v]=T,q.width<T)q.width=T;var R=L.rect.height;if(v>0)R+=q.verticalPadding;var Y=0;if(R>q.rowHeight[v])Y=q.rowHeight[v],q.rowHeight[v]=R,Y=q.rowHeight[v]-Y;q.height+=Y,q.rows[v].push(L)},H.prototype.getShortestRowIndex=function(q){var L=-1,v=Number.MAX_VALUE;for(var x=0;x<q.rows.length;x++)if(q.rowWidth[x]<v)L=x,v=q.rowWidth[x];return L},H.prototype.getLongestRowIndex=function(q){var L=-1,v=Number.MIN_VALUE;for(var x=0;x<q.rows.length;x++)if(q.rowWidth[x]>v)L=x,v=q.rowWidth[x];return L},H.prototype.canAddHorizontal=function(q,L,v){var x=this.getShortestRowIndex(q);if(x<0)return!0;var S=q.rowWidth[x];if(S+q.horizontalPadding+L<=q.width)return!0;var W=0;if(q.rowHeight[x]<v){if(x>0)W=v+q.verticalPadding-q.rowHeight[x]}var T;if(q.width-S>=L+q.horizontalPadding)T=(q.height+W)/(S+L+q.horizontalPadding);else T=(q.height+W)/q.width;W=v+q.verticalPadding;var R;if(q.width<L)R=(q.height+W)/L;else R=(q.height+W)/q.width;if(R<1)R=1/R;if(T<1)T=1/T;return T<R},H.prototype.shiftToLastRow=function(q){var L=this.getLongestRowIndex(q),v=q.rowWidth.length-1,x=q.rows[L],S=x[x.length-1],W=S.width+q.horizontalPadding;if(q.width-q.rowWidth[v]>W&&L!=v){x.splice(-1,1),q.rows[v].push(S),q.rowWidth[L]=q.rowWidth[L]-W,q.rowWidth[v]=q.rowWidth[v]+W,q.width=q.rowWidth[instance.getLongestRowIndex(q)];var T=Number.MIN_VALUE;for(var R=0;R<x.length;R++)if(x[R].height>T)T=x[R].height;if(L>0)T+=q.verticalPadding;var Y=q.rowHeight[L]+q.rowHeight[v];if(q.rowHeight[L]=T,q.rowHeight[v]<S.height+q.verticalPadding)q.rowHeight[v]=S.height+q.verticalPadding;var h=q.rowHeight[L]+q.rowHeight[v];q.height+=h-Y,this.shiftToLastRow(q)}},H.prototype.tilingPreLayout=function(){if(k.TILE)this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers()},H.prototype.tilingPostLayout=function(){if(k.TILE)this.repopulateZeroDegreeMembers(),this.repopulateCompounds()},H.prototype.reduceTrees=function(){var q=[],L=!0,v;while(L){var x=this.graphManager.getAllNodes(),S=[];L=!1;for(var W=0;W<x.length;W++)if(v=x[W],v.getEdges().length==1&&!v.getEdges()[0].isInterGraph&&v.getChild()==null)S.push([v,v.getEdges()[0],v.getOwner()]),L=!0;if(L==!0){var T=[];for(var R=0;R<S.length;R++)if(S[R][0].getEdges().length==1)T.push(S[R]),S[R][0].getOwner().remove(S[R][0]);q.push(T),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=q},H.prototype.growTree=function(q){var L=q.length,v=q[L-1],x;for(var S=0;S<v.length;S++)x=v[S],this.findPlaceforPrunedNode(x),x[2].add(x[0]),x[2].add(x[1],x[1].source,x[1].target);q.splice(q.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},H.prototype.findPlaceforPrunedNode=function(q){var L,v,x=q[0];if(x==q[1].source)v=q[1].target;else v=q[1].source;var{startX:S,finishX:W,startY:T,finishY:R}=v,Y=0,h=0,I=0,O=0,V=[Y,I,h,O];if(T>0)for(var j=S;j<=W;j++)V[0]+=this.grid[j][T-1].length+this.grid[j][T].length-1;if(W<this.grid.length-1)for(var j=T;j<=R;j++)V[1]+=this.grid[W+1][j].length+this.grid[W][j].length-1;if(R<this.grid[0].length-1)for(var j=S;j<=W;j++)V[2]+=this.grid[j][R+1].length+this.grid[j][R].length-1;if(S>0)for(var j=T;j<=R;j++)V[3]+=this.grid[S-1][j].length+this.grid[S][j].length-1;var i=K.MAX_VALUE,a,$;for(var m=0;m<V.length;m++)if(V[m]<i)i=V[m],a=1,$=m;else if(V[m]==i)a++;if(a==3&&i==0){if(V[0]==0&&V[1]==0&&V[2]==0)L=1;else if(V[0]==0&&V[1]==0&&V[3]==0)L=0;else if(V[0]==0&&V[2]==0&&V[3]==0)L=3;else if(V[1]==0&&V[2]==0&&V[3]==0)L=2}else if(a==2&&i==0){var y=Math.floor(Math.random()*2);if(V[0]==0&&V[1]==0)if(y==0)L=0;else L=1;else if(V[0]==0&&V[2]==0)if(y==0)L=0;else L=2;else if(V[0]==0&&V[3]==0)if(y==0)L=0;else L=3;else if(V[1]==0&&V[2]==0)if(y==0)L=1;else L=2;else if(V[1]==0&&V[3]==0)if(y==0)L=1;else L=3;else if(y==0)L=2;else L=3}else if(a==4&&i==0){var y=Math.floor(Math.random()*4);L=y}else L=$;if(L==0)x.setCenter(v.getCenterX(),v.getCenterY()-v.getHeight()/2-f.DEFAULT_EDGE_LENGTH-x.getHeight()/2);else if(L==1)x.setCenter(v.getCenterX()+v.getWidth()/2+f.DEFAULT_EDGE_LENGTH+x.getWidth()/2,v.getCenterY());else if(L==2)x.setCenter(v.getCenterX(),v.getCenterY()+v.getHeight()/2+f.DEFAULT_EDGE_LENGTH+x.getHeight()/2);else x.setCenter(v.getCenterX()-v.getWidth()/2-f.DEFAULT_EDGE_LENGTH-x.getWidth()/2,v.getCenterY())},B.exports=H},function(B,E,A){var C={};C.layoutBase=A(0),C.CoSEConstants=A(1),C.CoSEEdge=A(2),C.CoSEGraph=A(3),C.CoSEGraphManager=A(4),C.CoSELayout=A(6),C.CoSENode=A(5),B.exports=C}])})});var Qc0=N1((kY,G70)=>{(function(B,E){if(typeof kY==="object"&&typeof G70==="object")G70.exports=E(Q70());else if(typeof define==="function"&&define.amd)define(["cose-base"],E);else if(typeof kY==="object")kY.cytoscapeCoseBilkent=E(Q70());else B.cytoscapeCoseBilkent=E(B.coseBase)})(kY,function(u){return function(B){var E={};function A(C){if(E[C])return E[C].exports;var D=E[C]={i:C,l:!1,exports:{}};return B[C].call(D.exports,D,D.exports,A),D.l=!0,D.exports}return A.m=B,A.c=E,A.i=function(C){return C},A.d=function(C,D,F){if(!A.o(C,D))Object.defineProperty(C,D,{configurable:!1,enumerable:!0,get:F})},A.n=function(C){var D=C&&C.__esModule?function(){return C.default}:function(){return C};return A.d(D,"a",D),D},A.o=function(C,D){return Object.prototype.hasOwnProperty.call(C,D)},A.p="",A(A.s=1)}([function(B,E){B.exports=u},function(B,E,A){var C=A(0).layoutBase.LayoutConstants,D=A(0).layoutBase.FDLayoutConstants,F=A(0).CoSEConstants,U=A(0).CoSELayout,z=A(0).CoSENode,k=A(0).layoutBase.PointD,f=A(0).layoutBase.DimensionD,M={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:0.45,nestingFactor:0.1,gravity:0.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:0.5};function b(w,Q){var G={};for(var H in w)G[H]=w[H];for(var H in Q)G[H]=Q[H];return G}function Z(w){this.options=b(M,w),J(this.options)}var J=function(Q){if(Q.nodeRepulsion!=null)F.DEFAULT_REPULSION_STRENGTH=D.DEFAULT_REPULSION_STRENGTH=Q.nodeRepulsion;if(Q.idealEdgeLength!=null)F.DEFAULT_EDGE_LENGTH=D.DEFAULT_EDGE_LENGTH=Q.idealEdgeLength;if(Q.edgeElasticity!=null)F.DEFAULT_SPRING_STRENGTH=D.DEFAULT_SPRING_STRENGTH=Q.edgeElasticity;if(Q.nestingFactor!=null)F.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=D.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=Q.nestingFactor;if(Q.gravity!=null)F.DEFAULT_GRAVITY_STRENGTH=D.DEFAULT_GRAVITY_STRENGTH=Q.gravity;if(Q.numIter!=null)F.MAX_ITERATIONS=D.MAX_ITERATIONS=Q.numIter;if(Q.gravityRange!=null)F.DEFAULT_GRAVITY_RANGE_FACTOR=D.DEFAULT_GRAVITY_RANGE_FACTOR=Q.gravityRange;if(Q.gravityCompound!=null)F.DEFAULT_COMPOUND_GRAVITY_STRENGTH=D.DEFAULT_COMPOUND_GRAVITY_STRENGTH=Q.gravityCompound;if(Q.gravityRangeCompound!=null)F.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=D.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=Q.gravityRangeCompound;if(Q.initialEnergyOnIncremental!=null)F.DEFAULT_COOLING_FACTOR_INCREMENTAL=D.DEFAULT_COOLING_FACTOR_INCREMENTAL=Q.initialEnergyOnIncremental;if(Q.quality=="draft")C.QUALITY=0;else if(Q.quality=="proof")C.QUALITY=2;else C.QUALITY=1;F.NODE_DIMENSIONS_INCLUDE_LABELS=D.NODE_DIMENSIONS_INCLUDE_LABELS=C.NODE_DIMENSIONS_INCLUDE_LABELS=Q.nodeDimensionsIncludeLabels,F.DEFAULT_INCREMENTAL=D.DEFAULT_INCREMENTAL=C.DEFAULT_INCREMENTAL=!Q.randomize,F.ANIMATE=D.ANIMATE=C.ANIMATE=Q.animate,F.TILE=Q.tile,F.TILING_PADDING_VERTICAL=typeof Q.tilingPaddingVertical==="function"?Q.tilingPaddingVertical.call():Q.tilingPaddingVertical,F.TILING_PADDING_HORIZONTAL=typeof Q.tilingPaddingHorizontal==="function"?Q.tilingPaddingHorizontal.call():Q.tilingPaddingHorizontal};Z.prototype.run=function(){var w,Q,G=this.options,H=this.idToLNode={},l=this.layout=new U,q=this;q.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var L=l.newGraphManager();this.gm=L;var v=this.options.eles.nodes(),x=this.options.eles.edges();this.root=L.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(v),l);for(var S=0;S<x.length;S++){var W=x[S],T=this.idToLNode[W.data("source")],R=this.idToLNode[W.data("target")];if(T!==R&&T.getEdgesBetween(R).length==0){var Y=L.add(l.newEdge(),T,R);Y.id=W.id()}}var h=function(V,j){if(typeof V==="number")V=j;var i=V.data("id"),a=q.idToLNode[i];return{x:a.getRect().getCenterX(),y:a.getRect().getCenterY()}},I=function O(){var V=function(){if(G.fit)G.cy.fit(G.eles,G.padding);if(!w)w=!0,q.cy.one("layoutready",G.ready),q.cy.trigger({type:"layoutready",layout:q})},j=q.options.refresh,i;for(var a=0;a<j&&!i;a++)i=q.stopped||q.layout.tick();if(i){if(l.checkLayoutSuccess()&&!l.isSubLayout)l.doPostLayout();if(l.tilingPostLayout)l.tilingPostLayout();if(l.isLayoutFinished=!0,q.options.eles.nodes().positions(h),V(),q.cy.one("layoutstop",q.options.stop),q.cy.trigger({type:"layoutstop",layout:q}),Q)cancelAnimationFrame(Q);w=!1;return}var $=q.layout.getPositionsData();G.eles.nodes().positions(function(m,y){if(typeof m==="number")m=y;if(!m.isParent()){var r=m.id(),_=$[r],e=m;while(_==null)if(_=$[e.data("parent")]||$["DummyCompound_"+e.data("parent")],$[r]=_,e=e.parent()[0],e==null)break;if(_!=null)return{x:_.x,y:_.y};else return{x:m.position("x"),y:m.position("y")}}}),V(),Q=requestAnimationFrame(O)};if(l.addListener("layoutstarted",function(){if(q.options.animate==="during")Q=requestAnimationFrame(I)}),l.runLayout(),this.options.animate!=="during")q.options.eles.nodes().not(":parent").layoutPositions(q,q.options,h),w=!1;return this},Z.prototype.getTopMostNodes=function(w){var Q={};for(var G=0;G<w.length;G++)Q[w[G].id()]=!0;var H=w.filter(function(l,q){if(typeof l==="number")l=q;var L=l.parent()[0];while(L!=null){if(Q[L.id()])return!1;L=L.parent()[0]}return!0});return H},Z.prototype.processChildrenList=function(w,Q,G){var H=Q.length;for(var l=0;l<H;l++){var q=Q[l],L=q.children(),v,x=q.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if(q.outerWidth()!=null&&q.outerHeight()!=null)v=w.add(new z(G.graphManager,new k(q.position("x")-x.w/2,q.position("y")-x.h/2),new f(parseFloat(x.w),parseFloat(x.h))));else v=w.add(new z(this.graphManager));if(v.id=q.data("id"),v.paddingLeft=parseInt(q.css("padding")),v.paddingTop=parseInt(q.css("padding")),v.paddingRight=parseInt(q.css("padding")),v.paddingBottom=parseInt(q.css("padding")),this.options.nodeDimensionsIncludeLabels){if(q.isParent()){var S=q.boundingBox({includeLabels:!0,includeNodes:!1}).w,W=q.boundingBox({includeLabels:!0,includeNodes:!1}).h,T=q.css("text-halign");v.labelWidth=S,v.labelHeight=W,v.labelPos=T}}if(this.idToLNode[q.data("id")]=v,isNaN(v.rect.x))v.rect.x=0;if(isNaN(v.rect.y))v.rect.y=0;if(L!=null&&L.length>0){var R=G.getGraphManager().add(G.newGraph(),v);this.processChildrenList(R,L,G)}}},Z.prototype.stop=function(){return this.stopped=!0,this};var K=function(Q){Q("layout","cose-bilkent",Z)};if(typeof cytoscape<"u")K(cytoscape);B.exports=K}])})});var Wc0={};ju(Wc0,{render:()=>El4});function Hc0(u,B){u.forEach((E)=>{let A={id:E.id,labelText:E.label,height:E.height,width:E.width,padding:E.padding??0};Object.keys(E).forEach((C)=>{if(!["id","label","height","width","padding","x","y"].includes(C))A[C]=E[C]}),B.add({group:"nodes",data:A,position:{x:E.x??0,y:E.y??0}})})}function qc0(u,B){u.forEach((E)=>{let A={id:E.id,source:E.start,target:E.end};Object.keys(E).forEach((C)=>{if(!["id","start","end"].includes(C))A[C]=E[C]}),B.add({group:"edges",data:A})})}function lc0(u){return new Promise((B)=>{let E=Qu("body").append("div").attr("id","cy").attr("style","display:none"),A=wA({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});E.remove(),Hc0(u.nodes,A),qc0(u.edges,A),A.nodes().forEach(function(D){D.layoutDimensions=()=>{let F=D.data();return{w:F.width,h:F.height}}});let C={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};A.layout(C).run(),A.ready((D)=>{z0.info("Cytoscape ready",D),B(A)})})}function Lc0(u){return u.nodes().map((B)=>{let E=B.data(),A=B.position(),C={id:E.id,x:A.x,y:A.y};return Object.keys(E).forEach((D)=>{if(D!=="id")C[D]=E[D]}),C})}function Xc0(u){return u.edges().map((B)=>{let E=B.data(),A=B._private.rscratch,C={id:E.id,source:E.source,target:E.target,startX:A.startX,startY:A.startY,midX:A.midX,midY:A.midY,endX:A.endX,endY:A.endY};return Object.keys(E).forEach((D)=>{if(!["id","source","target"].includes(D))C[D]=E[D]}),C})}async function vc0(u,B){z0.debug("Starting cose-bilkent layout algorithm");try{xc0(u);let E=await lc0(u),A=Lc0(E),C=Xc0(E);return z0.debug(`Layout completed: ${A.length} nodes, ${C.length} edges`),{nodes:A,edges:C}}catch(E){throw z0.error("Error in cose-bilkent layout algorithm:",E),E}}function xc0(u){if(!u)throw Error("Layout data is required");if(!u.config)throw Error("Configuration is required in layout data");if(!u.rootNode)throw Error("Root node is required");if(!u.nodes||!Array.isArray(u.nodes))throw Error("No nodes found in layout data");if(!Array.isArray(u.edges))throw Error("Edges array is required in layout data");return!0}var Gc0,Bl4,El4;var Sc0=g(()=>{o4();Y4();Z70();V3();Gc0=Eu(Qc0(),1);wA.use(Gc0.default);X(Hc0,"addNodes");X(qc0,"addEdges");X(lc0,"createCytoscapeInstance");X(Lc0,"extractPositionedNodes");X(Xc0,"extractPositionedEdges");X(vc0,"executeCoseBilkentLayout");X(xc0,"validateLayoutData");Bl4=X(async(u,B,{insertCluster:E,insertEdge:A,insertEdgeLabel:C,insertMarkers:D,insertNode:F,log:U,positionEdgeLabel:z},{algorithm:k})=>{let f={},M={},b=B.select("g");D(b,u.markers,u.type,u.diagramId);let Z=b.insert("g").attr("class","subgraphs"),J=b.insert("g").attr("class","edgePaths"),K=b.insert("g").attr("class","edgeLabels"),w=b.insert("g").attr("class","nodes");U.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(u.nodes.map(async(H)=>{if(H.isGroup){let l={...H};M[H.id]=l,f[H.id]=l,await E(Z,H)}else{let l={...H};f[H.id]=l;let q=await F(w,H,{config:u.config,dir:u.direction||"TB"}),L=q.node().getBBox();l.width=L.width,l.height=L.height,l.domId=q,U.debug(`Node ${H.id} dimensions: ${L.width}x${L.height}`)}})),U.debug("Running cose-bilkent layout algorithm");let Q={...u,nodes:u.nodes.map((H)=>{let l=f[H.id];return{...H,width:l.width,height:l.height}})},G=await vc0(Q,u.config);U.debug("Positioning nodes based on layout results"),G.nodes.forEach((H)=>{let l=f[H.id];if(l?.domId)l.domId.attr("transform",`translate(${H.x}, ${H.y})`),l.x=H.x,l.y=H.y,U.debug(`Positioned node ${l.id} at center (${H.x}, ${H.y})`)}),G.edges.forEach((H)=>{let l=u.edges.find((q)=>q.id===H.id);if(l)l.points=[{x:H.startX,y:H.startY},{x:H.midX,y:H.midY},{x:H.endX,y:H.endY}]}),U.debug("Inserting and positioning edges"),await Promise.all(u.edges.map(async(H)=>{let l=await C(K,H),q=f[H.start??""],L=f[H.end??""];if(q&&L){let v=G.edges.find((x)=>x.id===H.id);if(v){U.debug("APA01 positionedEdge",v);let x={...H},S=A(J,x,M,u.type,q,L,u.diagramId);z(x,S)}else{let x={...H,points:[{x:q.x||0,y:q.y||0},{x:L.x||0,y:L.y||0}]},S=A(J,x,M,u.type,q,L,u.diagramId);z(x,S)}}})),U.debug("Cose-bilkent rendering completed")},"render"),El4=Bl4});var Al4,fY,H70,Cl4,QA,eF;var L8=g(()=>{b8();F7();e3();s4();o4();Y4();Al4={common:ru,getConfig:F4,insertCluster:bM,insertEdge:tH,insertEdgeLabel:bK,insertMarkers:eH,insertNode:_z,interpolateToCurve:Ch,labelHelper:b3,log:z0,positionEdgeLabel:Nh},fY={},H70=X((u)=>{for(let B of u)fY[B.name]=B},"registerLayoutLoaders"),Cl4=X(()=>{H70([{name:"dagre",loader:X(async()=>await Promise.resolve().then(() => (ei0(),ti0)),"loader")},{name:"swimlane",loader:X(async()=>await Promise.resolve().then(() => (nm0(),pm0)),"loader")},{name:"cose-bilkent",loader:X(async()=>await Promise.resolve().then(() => (Sc0(),Wc0)),"loader")}])},"registerDefaultLayoutLoaders");Cl4();QA=X(async(u,B,E)=>{if(!(u.layoutAlgorithm in fY))throw Error(`Unknown layout algorithm: ${u.layoutAlgorithm}`);if(u.diagramId)for(let M of u.nodes){let b=M.domId||M.id;M.domId=`${u.diagramId}-${b}`}let A=fY[u.layoutAlgorithm],C=await A.loader(),{theme:D,themeVariables:F}=u.config,{useGradient:U,gradientStart:z,gradientStop:k}=F,f=B.attr("id");if(B.append("defs").append("filter").attr("id",`${f}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${D?.includes("dark")?"#FFFFFF":"#000000"}`),B.append("defs").append("filter").attr("id",`${f}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${D?.includes("dark")?"#FFFFFF":"#000000"}`),U){let M=B.append("linearGradient").attr("id",B.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");M.append("svg:stop").attr("offset","0%").attr("stop-color",z).attr("stop-opacity",1),M.append("svg:stop").attr("offset","100%").attr("stop-color",k).attr("stop-opacity",1)}return C.render(u,B,Al4,{algorithm:A.algorithm},E)},"render"),eF=X((u="",{fallback:B="dagre"}={})=>{if(u in fY)return u;if(B in fY)return z0.warn(`Layout algorithm ${u} is not registered. Using ${B} as fallback.`),B;throw Error(`Both layout algorithms ${u} and ${B} are not registered.`)},"getRegisteredLayoutAlgorithm")});var Al="comm",Gm="rule",Hm="decl",Yc0="@media",Rc0="@import",Tc0="@supports",Oc0="@namespace",MY="@keyframes",qm="@layer",Ic0="@scope";function lm(u){return u.trim()}function bY(u,B,E){return u.replace(B,E)}function Uk(u,B){return u.charCodeAt(B)|0}function zk(u,B,E){return u.slice(B,E)}function X8(u){return u.length}function Lm(u){return u.length}function Cl(u,B){return B.push(u),u}var Pc0,gK;var Dl=g(()=>{Pc0=Math.abs,gK=String.fromCharCode});function vm(u,B,E,A,C,D,F,U){return{value:u,root:B,parent:E,type:A,props:C,children:D,line:Xm,column:Fl,length:F,return:"",siblings:U}}function Nc0(){return R2}function Vc0(){if(R2=GA>0?Uk(zl,--GA):0,Fl--,R2===10)Fl=1,Xm--;return R2}function HA(){if(R2=GA<jc0?Uk(zl,GA++):0,Fl++,R2===10)Fl=1,Xm++;return R2}function kk(){return Uk(zl,GA)}function ZY(){return GA}function xm(u,B){return zk(zl,u,B)}function Ul(u){switch(u){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function hc0(u){return Xm=Fl=1,jc0=X8(zl=u),GA=0,[]}function ic0(u){return zl="",u}function Wm(u){return lm(xm(GA-1,q70(u===91?u+2:u===40?u+1:u)))}function ac0(u){while(R2=kk())if(R2<33)HA();else break;return Ul(u)>2||Ul(R2)>3?"":" "}function mc0(u,B){while(--B&&HA())if(R2<48||R2>102||R2>57&&R2<65||R2>70&&R2<97)break;return xm(u,ZY()+(B<6&&kk()==32&&HA()==32))}function q70(u){while(HA())switch(R2){case u:return GA;case 34:case 39:if(u!==34&&u!==39)q70(R2);break;case 40:if(u===41)q70(u);break;case 92:HA();break}return GA}function $c0(u,B){while(HA())if(u+R2===57)break;else if(u+R2===84&&kk()===47)break;return"/*"+xm(B,GA-1)+"*"+gK(u===47?u:HA())}function yc0(u){while(!Ul(kk()))HA();return xm(u,GA)}var Xm=1,Fl=1,jc0=0,GA=0,R2=0,zl="";var l70=g(()=>{Dl()});function cc0(u){return ic0(Sm("",null,null,null,[""],u=hc0(u),0,[0],u))}function Sm(u,B,E,A,C,D,F,U,z){var k=0,f=0,M=F,b=0,Z=0,J=0,K=1,w=1,Q=1,G=0,H=0,l="",q=C,L=D,v=A,x=l;while(w)switch(J=H,H=HA()){case 40:if(J!=108&&Uk(x,M-1)==58)G++,x+="(";else x+=Wm(H);break;case 41:G--,x+=")";break;case 34:case 39:case 91:x+=Wm(H);break;case 9:case 10:case 13:case 32:if(G>0){x+=gK(H);break}x+=ac0(J);break;case 92:x+=mc0(ZY()-1,7);continue;case 47:switch(kk()){case 42:case 47:if(Cl(Fl4($c0(HA(),ZY()),B,E,z),z),(Ul(J||1)==5||Ul(kk()||1)==5)&&X8(x)&&zk(x,-1,void 0)!==" ")x+=" ";break;default:x+="/"}break;case 123*K:U[k++]=X8(x)*Q;case 125*K:case 59:case 0:if(G>0&&H){x+=gK(H);break}switch(H){case 0:case 125:w=0;case 59+f:if(Q==-1)x=bY(x,/\f/g,"");if(Z>0&&(X8(x)-M||K===0))Cl(Z>32?gc0(x+";",A,E,M-1,z):gc0(bY(x," ","")+";",A,E,M-2,z),z);break;case 59:x+=";";default:if(Cl(v=rc0(x,B,E,k,f,C,U,l,q=[],L=[],M,D),D),H===123)if(f===0)Sm(x,B,v,v,q,D,M,U,L);else{switch(b){case 99:if(Uk(x,3)===110)break;case 108:if(Uk(x,2)===97)break;default:f=0;case 100:case 109:case 115:}if(f)Sm(u,v,v,A&&Cl(rc0(u,v,v,0,0,C,U,l,C,q=[],M,L),L),C,L,M,U,A?q:L);else Sm(x,v,v,v,[""],L,0,U,L)}}k=f=Z=0,K=Q=1,l=x="",M=F;break;case 58:M=1+X8(x),Z=J;default:if(K<1){if(H==123)--K;else if(H==125&&K++==0&&Vc0()==125)continue}switch(x+=gK(H),H*K){case 38:Q=f>0?1:(x+="\f",-1);break;case 44:if(G>0)break;U[k++]=(X8(x)-1)*Q,Q=1;break;case 64:if(kk()===45)x+=Wm(HA());b=kk(),f=M=X8(l=x+=yc0(ZY())),H++;break;case 45:if(J===45&&X8(x)==2)K=0}}return D}function rc0(u,B,E,A,C,D,F,U,z,k,f,M){var b=C-1,Z=C===0?D:[""],J=Lm(Z);for(var K=0,w=0,Q=0;K<A;++K)for(var G=0,H=zk(u,b+1,b=Pc0(w=F[K])),l=u;G<J;++G)if(l=lm(w>0?Z[G]+" "+H:bY(H,/&\f/g,Z[G])))z[Q++]=l;return vm(u,B,E,C===0?Gm:U,z,k,f,M)}function Fl4(u,B,E,A){return vm(u,B,E,Al,gK(Nc0()),zk(u,2,-2),0,A)}function gc0(u,B,E,A,C){return vm(u,B,E,Hm,zk(u,0,A),zk(u,A+1,-1),A,C)}var _c0=g(()=>{Dl();l70()});var pc0=()=>{};function Ym(u,B){var E="";for(var A=0;A<u.length;A++)E+=B(u[A],A,u,B)||"";return E}function nc0(u,B,E,A){switch(u.type){case qm:if(u.children.length)break;case Rc0:case Oc0:case Hm:return u.return=u.return||u.value;case Al:return"";case MY:return u.return=u.value+"{"+Ym(u.children,A)+"}";case Gm:if(!X8(u.value=u.props.join(",")))return""}return X8(E=Ym(u.children,A))?u.return=u.value+"{"+E+"}":""}var dc0=g(()=>{Dl()});function sc0(u){var B=Lm(u);return function(E,A,C,D){var F="";for(var U=0;U<B;U++)F+=u[U](E,A,C,D)||"";return F}}var oc0=g(()=>{Dl()});var tc0=g(()=>{Dl();_c0();pc0();l70();dc0();oc0()});var L70,cK,Rm,ec0,Tm,Om,m7,Im,kl;var HE=g(()=>{s4();Y4();V3();L70=Eu(VH(),1),cK=X((u,B)=>{let E=u.append("rect");if(E.attr("x",B.x),E.attr("y",B.y),E.attr("fill",B.fill),E.attr("stroke",B.stroke),E.attr("width",B.width),E.attr("height",B.height),B.name)E.attr("name",B.name);if(B.rx)E.attr("rx",B.rx);if(B.ry)E.attr("ry",B.ry);if(B.attrs!==void 0)for(let A in B.attrs)E.attr(A,B.attrs[A]);if(B.class)E.attr("class",B.class);return E},"drawRect"),Rm=X((u,B)=>{let E={x:B.startx,y:B.starty,width:B.stopx-B.startx,height:B.stopy-B.starty,fill:B.fill,stroke:B.stroke,class:"rect"};cK(u,E).lower()},"drawBackgroundRect"),ec0=X((u,B)=>{let E=B.text.replace(VJ," "),A=u.append("text");if(A.attr("x",B.x),A.attr("y",B.y),A.attr("class","legend"),A.style("text-anchor",B.anchor),B.class)A.attr("class",B.class);let C=A.append("tspan");return C.attr("x",B.x+B.textMargin*2),C.text(E),A},"drawText"),Tm=X((u,B,E,A)=>{let C=u.append("image");C.attr("x",B),C.attr("y",E);let D=L70.sanitizeUrl(A);C.attr("xlink:href",D)},"drawImage"),Om=X((u,B,E,A)=>{let C=u.append("use");C.attr("x",B),C.attr("y",E);let D=L70.sanitizeUrl(A);C.attr("xlink:href",`#${D}`)},"drawEmbeddedImage"),m7=X(()=>{return{x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}},"getNoteRect"),Im=X(()=>{return{x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}},"getTextObj"),kl=X(()=>{let u=Qu(".mermaidTooltip");if(u.empty())u=Qu("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100");return u},"createTooltip")});var M_0={};ju(M_0,{diagram:()=>el4});function lA(u,B,E,A,C){if(!B[u].width)if(E)B[u].text=DK(B[u].text,C,A),B[u].textLines=B[u].text.split(ru.lineBreakRegex).length,B[u].width=C,B[u].height=OW(B[u].text,A);else{let D=B[u].text.split(ru.lineBreakRegex);B[u].textLines=D.length;let F=0;B[u].height=0,B[u].width=0;for(let U of D)B[u].width=Math.max(A7(U,A),B[u].width),F=OW(U,A),B[u].height=B[u].height+F}}function R70(u,B,E,A,C){let D=new z_0(C);D.data.widthLimit=E.data.widthLimit/Math.min(v70,A.length);for(let[F,U]of A.entries()){let z=0;if(U.image={width:0,height:0,Y:0},U.sprite)U.image.width=48,U.image.height=48,U.image.Y=z,z=U.image.Y+U.image.height;let k=U.wrap&&$4.wrap,f=Pm($4);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",lA("label",U,k,f,D.data.widthLimit),U.label.Y=z+8,z=U.label.Y+U.label.height,U.type&&U.type.text!==""){U.type.text="["+U.type.text+"]";let J=Pm($4);lA("type",U,k,J,D.data.widthLimit),U.type.Y=z+5,z=U.type.Y+U.type.height}if(U.descr&&U.descr.text!==""){let J=Pm($4);J.fontSize=J.fontSize-2,lA("descr",U,k,J,D.data.widthLimit),U.descr.Y=z+20,z=U.descr.Y+U.descr.height}if(F==0||F%v70===0){let J=E.data.startx+$4.diagramMarginX,K=E.data.stopy+$4.diagramMarginY+z;D.setData(J,J,K,K)}else{let J=D.data.stopx!==D.data.startx?D.data.stopx+$4.diagramMarginX:D.data.startx,K=D.data.starty;D.setData(J,J,K,K)}D.name=U.alias;let M=C.db.getC4ShapeArray(U.alias),b=C.db.getC4ShapeKeys(U.alias);if(b.length>0)f_0(D,u,M,b);B=U.alias;let Z=C.db.getBoundaries(B);if(Z.length>0)R70(u,B,D,Z,C);if(U.alias!=="global")k_0(u,U,D);E.data.stopy=Math.max(D.data.stopy+$4.c4ShapeMargin,E.data.stopy),E.data.stopx=Math.max(D.data.stopx+$4.c4ShapeMargin,E.data.stopx),hm=Math.max(hm,E.data.stopx),im=Math.max(im,E.data.stopy)}}var D_0,jm,Ul4,aC,Fb,SB="global",iC="",BU,KY,W70="",S70=!1,Nm=4,Vm=2,E_0,zl4,kl4,fl4,Ml4,bl4,Zl4,Jl4,Kl4,wl4,Ql4,Gl4,Hl4,ql4,ll4,Ll4,Xl4,vl4,A_0,xl4,Wl4,C_0,Sl4,Yl4,Rl4,Tl4,Ub,Ol4,Il4,Pl4,jl4,Nl4,X70,Y70,F_0,Vl4,hl4,il4,al4,ml4,$l4,yl4,rl4,gl4,cl4,_l4,fk,uU,hm=0,im=0,U_0=4,v70=2,$4,z_0,x70,JY,Pm,pl4,k_0,f_0,qA,u_0,nl4,dl4,sl4,B_0,ol4,tl4,el4;var b_0=g(()=>{HE();e3();s4();o4();Y4();V3();D_0=Eu(VH(),1),jm=function(){var u=X(function(u0,Z0,X0,W0){for(X0=X0||{},W0=u0.length;W0--;X0[u0[W0]]=Z0);return X0},"o"),B=[1,24],E=[1,25],A=[1,26],C=[1,27],D=[1,28],F=[1,63],U=[1,64],z=[1,65],k=[1,66],f=[1,67],M=[1,68],b=[1,69],Z=[1,29],J=[1,30],K=[1,31],w=[1,32],Q=[1,33],G=[1,34],H=[1,35],l=[1,36],q=[1,37],L=[1,38],v=[1,39],x=[1,40],S=[1,41],W=[1,42],T=[1,43],R=[1,44],Y=[1,45],h=[1,46],I=[1,47],O=[1,48],V=[1,50],j=[1,51],i=[1,52],a=[1,53],$=[1,54],m=[1,55],y=[1,56],r=[1,57],_=[1,58],e=[1,59],p=[1,60],b0=[14,42],B0=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],k0=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],f0=[1,82],D0=[1,83],P0=[1,84],L0=[1,85],m0=[12,14,42],h0=[12,14,33,42],_0=[12,14,33,42,76,77,79,80],w0=[12,33],x0=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],T0={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:X(function(Z0,X0,W0,Y0,a0,K0,n){var d=K0.length-1;switch(a0){case 3:Y0.setDirection("TB");break;case 4:Y0.setDirection("BT");break;case 5:Y0.setDirection("RL");break;case 6:Y0.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Y0.setC4Type(K0[d-3]);break;case 19:Y0.setTitle(K0[d].substring(6)),this.$=K0[d].substring(6);break;case 20:Y0.setAccDescription(K0[d].substring(15)),this.$=K0[d].substring(15);break;case 21:this.$=K0[d].trim(),Y0.setTitle(this.$);break;case 22:case 23:this.$=K0[d].trim(),Y0.setAccDescription(this.$);break;case 28:K0[d].splice(2,0,"ENTERPRISE"),Y0.addPersonOrSystemBoundary(...K0[d]),this.$=K0[d];break;case 29:K0[d].splice(2,0,"SYSTEM"),Y0.addPersonOrSystemBoundary(...K0[d]),this.$=K0[d];break;case 30:Y0.addPersonOrSystemBoundary(...K0[d]),this.$=K0[d];break;case 31:K0[d].splice(2,0,"CONTAINER"),Y0.addContainerBoundary(...K0[d]),this.$=K0[d];break;case 32:Y0.addDeploymentNode("node",...K0[d]),this.$=K0[d];break;case 33:Y0.addDeploymentNode("nodeL",...K0[d]),this.$=K0[d];break;case 34:Y0.addDeploymentNode("nodeR",...K0[d]),this.$=K0[d];break;case 35:Y0.popBoundaryParseStack();break;case 39:Y0.addPersonOrSystem("person",...K0[d]),this.$=K0[d];break;case 40:Y0.addPersonOrSystem("external_person",...K0[d]),this.$=K0[d];break;case 41:Y0.addPersonOrSystem("system",...K0[d]),this.$=K0[d];break;case 42:Y0.addPersonOrSystem("system_db",...K0[d]),this.$=K0[d];break;case 43:Y0.addPersonOrSystem("system_queue",...K0[d]),this.$=K0[d];break;case 44:Y0.addPersonOrSystem("external_system",...K0[d]),this.$=K0[d];break;case 45:Y0.addPersonOrSystem("external_system_db",...K0[d]),this.$=K0[d];break;case 46:Y0.addPersonOrSystem("external_system_queue",...K0[d]),this.$=K0[d];break;case 47:Y0.addContainer("container",...K0[d]),this.$=K0[d];break;case 48:Y0.addContainer("container_db",...K0[d]),this.$=K0[d];break;case 49:Y0.addContainer("container_queue",...K0[d]),this.$=K0[d];break;case 50:Y0.addContainer("external_container",...K0[d]),this.$=K0[d];break;case 51:Y0.addContainer("external_container_db",...K0[d]),this.$=K0[d];break;case 52:Y0.addContainer("external_container_queue",...K0[d]),this.$=K0[d];break;case 53:Y0.addComponent("component",...K0[d]),this.$=K0[d];break;case 54:Y0.addComponent("component_db",...K0[d]),this.$=K0[d];break;case 55:Y0.addComponent("component_queue",...K0[d]),this.$=K0[d];break;case 56:Y0.addComponent("external_component",...K0[d]),this.$=K0[d];break;case 57:Y0.addComponent("external_component_db",...K0[d]),this.$=K0[d];break;case 58:Y0.addComponent("external_component_queue",...K0[d]),this.$=K0[d];break;case 60:Y0.addRel("rel",...K0[d]),this.$=K0[d];break;case 61:Y0.addRel("birel",...K0[d]),this.$=K0[d];break;case 62:Y0.addRel("rel_u",...K0[d]),this.$=K0[d];break;case 63:Y0.addRel("rel_d",...K0[d]),this.$=K0[d];break;case 64:Y0.addRel("rel_l",...K0[d]),this.$=K0[d];break;case 65:Y0.addRel("rel_r",...K0[d]),this.$=K0[d];break;case 66:Y0.addRel("rel_b",...K0[d]),this.$=K0[d];break;case 67:K0[d].splice(0,1),Y0.addRel("rel",...K0[d]),this.$=K0[d];break;case 68:Y0.updateElStyle("update_el_style",...K0[d]),this.$=K0[d];break;case 69:Y0.updateRelStyle("update_rel_style",...K0[d]),this.$=K0[d];break;case 70:Y0.updateLayoutConfig("update_layout_config",...K0[d]),this.$=K0[d];break;case 71:this.$=[K0[d]];break;case 72:K0[d].unshift(K0[d-1]),this.$=K0[d];break;case 73:case 75:this.$=K0[d].trim();break;case 74:let q0={};q0[K0[d-1].trim()]=K0[d].trim(),this.$=q0;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:B,23:E,24:A,26:C,28:D,29:49,30:61,32:62,34:F,36:U,37:z,38:k,39:f,40:M,41:b,43:23,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p},{13:70,19:20,20:21,21:22,22:B,23:E,24:A,26:C,28:D,29:49,30:61,32:62,34:F,36:U,37:z,38:k,39:f,40:M,41:b,43:23,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p},{13:71,19:20,20:21,21:22,22:B,23:E,24:A,26:C,28:D,29:49,30:61,32:62,34:F,36:U,37:z,38:k,39:f,40:M,41:b,43:23,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p},{13:72,19:20,20:21,21:22,22:B,23:E,24:A,26:C,28:D,29:49,30:61,32:62,34:F,36:U,37:z,38:k,39:f,40:M,41:b,43:23,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p},{13:73,19:20,20:21,21:22,22:B,23:E,24:A,26:C,28:D,29:49,30:61,32:62,34:F,36:U,37:z,38:k,39:f,40:M,41:b,43:23,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p},{14:[1,74]},u(b0,[2,13],{43:23,29:49,30:61,32:62,20:75,34:F,36:U,37:z,38:k,39:f,40:M,41:b,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p}),u(b0,[2,14]),u(B0,[2,16],{12:[1,76]}),u(b0,[2,36],{12:[1,77]}),u(k0,[2,19]),u(k0,[2,20]),{25:[1,78]},{27:[1,79]},u(k0,[2,23]),{35:80,75:81,76:f0,77:D0,79:P0,80:L0},{35:86,75:81,76:f0,77:D0,79:P0,80:L0},{35:87,75:81,76:f0,77:D0,79:P0,80:L0},{35:88,75:81,76:f0,77:D0,79:P0,80:L0},{35:89,75:81,76:f0,77:D0,79:P0,80:L0},{35:90,75:81,76:f0,77:D0,79:P0,80:L0},{35:91,75:81,76:f0,77:D0,79:P0,80:L0},{35:92,75:81,76:f0,77:D0,79:P0,80:L0},{35:93,75:81,76:f0,77:D0,79:P0,80:L0},{35:94,75:81,76:f0,77:D0,79:P0,80:L0},{35:95,75:81,76:f0,77:D0,79:P0,80:L0},{35:96,75:81,76:f0,77:D0,79:P0,80:L0},{35:97,75:81,76:f0,77:D0,79:P0,80:L0},{35:98,75:81,76:f0,77:D0,79:P0,80:L0},{35:99,75:81,76:f0,77:D0,79:P0,80:L0},{35:100,75:81,76:f0,77:D0,79:P0,80:L0},{35:101,75:81,76:f0,77:D0,79:P0,80:L0},{35:102,75:81,76:f0,77:D0,79:P0,80:L0},{35:103,75:81,76:f0,77:D0,79:P0,80:L0},{35:104,75:81,76:f0,77:D0,79:P0,80:L0},u(m0,[2,59]),{35:105,75:81,76:f0,77:D0,79:P0,80:L0},{35:106,75:81,76:f0,77:D0,79:P0,80:L0},{35:107,75:81,76:f0,77:D0,79:P0,80:L0},{35:108,75:81,76:f0,77:D0,79:P0,80:L0},{35:109,75:81,76:f0,77:D0,79:P0,80:L0},{35:110,75:81,76:f0,77:D0,79:P0,80:L0},{35:111,75:81,76:f0,77:D0,79:P0,80:L0},{35:112,75:81,76:f0,77:D0,79:P0,80:L0},{35:113,75:81,76:f0,77:D0,79:P0,80:L0},{35:114,75:81,76:f0,77:D0,79:P0,80:L0},{35:115,75:81,76:f0,77:D0,79:P0,80:L0},{20:116,29:49,30:61,32:62,34:F,36:U,37:z,38:k,39:f,40:M,41:b,43:23,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p},{12:[1,118],33:[1,117]},{35:119,75:81,76:f0,77:D0,79:P0,80:L0},{35:120,75:81,76:f0,77:D0,79:P0,80:L0},{35:121,75:81,76:f0,77:D0,79:P0,80:L0},{35:122,75:81,76:f0,77:D0,79:P0,80:L0},{35:123,75:81,76:f0,77:D0,79:P0,80:L0},{35:124,75:81,76:f0,77:D0,79:P0,80:L0},{35:125,75:81,76:f0,77:D0,79:P0,80:L0},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},u(b0,[2,15]),u(B0,[2,17],{21:22,19:130,22:B,23:E,24:A,26:C,28:D}),u(b0,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:B,23:E,24:A,26:C,28:D,34:F,36:U,37:z,38:k,39:f,40:M,41:b,44:Z,45:J,46:K,47:w,48:Q,49:G,50:H,51:l,52:q,53:L,54:v,55:x,56:S,57:W,58:T,59:R,60:Y,61:h,62:I,63:O,64:V,65:j,66:i,67:a,68:$,69:m,70:y,71:r,72:_,73:e,74:p}),u(k0,[2,21]),u(k0,[2,22]),u(m0,[2,39]),u(h0,[2,71],{75:81,35:132,76:f0,77:D0,79:P0,80:L0}),u(_0,[2,73]),{78:[1,133]},u(_0,[2,75]),u(_0,[2,76]),u(m0,[2,40]),u(m0,[2,41]),u(m0,[2,42]),u(m0,[2,43]),u(m0,[2,44]),u(m0,[2,45]),u(m0,[2,46]),u(m0,[2,47]),u(m0,[2,48]),u(m0,[2,49]),u(m0,[2,50]),u(m0,[2,51]),u(m0,[2,52]),u(m0,[2,53]),u(m0,[2,54]),u(m0,[2,55]),u(m0,[2,56]),u(m0,[2,57]),u(m0,[2,58]),u(m0,[2,60]),u(m0,[2,61]),u(m0,[2,62]),u(m0,[2,63]),u(m0,[2,64]),u(m0,[2,65]),u(m0,[2,66]),u(m0,[2,67]),u(m0,[2,68]),u(m0,[2,69]),u(m0,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},u(w0,[2,28]),u(w0,[2,29]),u(w0,[2,30]),u(w0,[2,31]),u(w0,[2,32]),u(w0,[2,33]),u(w0,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},u(B0,[2,18]),u(b0,[2,38]),u(h0,[2,72]),u(_0,[2,74]),u(m0,[2,24]),u(m0,[2,35]),u(x0,[2,25]),u(x0,[2,26],{12:[1,138]}),u(x0,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:X(function(Z0,X0){if(X0.recoverable)this.trace(Z0);else{var W0=Error(Z0);throw W0.hash=X0,W0}},"parseError"),parse:X(function(Z0){var X0=this,W0=[0],Y0=[],a0=[null],K0=[],n=this.table,d="",q0=0,o=0,l0=0,E0=2,$0=1,g0=K0.slice.call(arguments,1),n0=Object.create(this.lexer),c0={yy:{}};for(var Bu in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Bu))c0.yy[Bu]=this.yy[Bu];if(n0.setInput(Z0,c0.yy),c0.yy.lexer=n0,c0.yy.parser=this,typeof n0.yylloc>"u")n0.yylloc={};var p0=n0.yylloc;K0.push(p0);var e0=n0.options&&n0.options.ranges;if(typeof c0.yy.parseError==="function")this.parseError=c0.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function t0(Ju){W0.length=W0.length-2*Ju,a0.length=a0.length-Ju,K0.length=K0.length-Ju}X(t0,"popStack");function zu(){var Ju=Y0.pop()||n0.lex()||$0;if(typeof Ju!=="number"){if(Ju instanceof Array)Y0=Ju,Ju=Y0.pop();Ju=X0.symbols_[Ju]||Ju}return Ju}X(zu,"lex");var S0,yu,V0,xu,gu,Du,Nu={},du,Iu,v0,Tu;while(!0){if(V0=W0[W0.length-1],this.defaultActions[V0])xu=this.defaultActions[V0];else{if(S0===null||typeof S0>"u")S0=zu();xu=n[V0]&&n[V0][S0]}if(typeof xu>"u"||!xu.length||!xu[0]){var iu="";Tu=[];for(du in n[V0])if(this.terminals_[du]&&du>E0)Tu.push("'"+this.terminals_[du]+"'");if(n0.showPosition)iu="Parse error on line "+(q0+1)+`:
`+n0.showPosition()+`
Expecting `+Tu.join(", ")+", got '"+(this.terminals_[S0]||S0)+"'";else iu="Parse error on line "+(q0+1)+": Unexpected "+(S0==$0?"end of input":"'"+(this.terminals_[S0]||S0)+"'");this.parseError(iu,{text:n0.match,token:this.terminals_[S0]||S0,line:n0.yylineno,loc:p0,expected:Tu})}if(xu[0]instanceof Array&&xu.length>1)throw Error("Parse Error: multiple actions possible at state: "+V0+", token: "+S0);switch(xu[0]){case 1:if(W0.push(S0),a0.push(n0.yytext),K0.push(n0.yylloc),W0.push(xu[1]),S0=null,!yu){if(o=n0.yyleng,d=n0.yytext,q0=n0.yylineno,p0=n0.yylloc,l0>0)l0--}else S0=yu,yu=null;break;case 2:if(Iu=this.productions_[xu[1]][1],Nu.$=a0[a0.length-Iu],Nu._$={first_line:K0[K0.length-(Iu||1)].first_line,last_line:K0[K0.length-1].last_line,first_column:K0[K0.length-(Iu||1)].first_column,last_column:K0[K0.length-1].last_column},e0)Nu._$.range=[K0[K0.length-(Iu||1)].range[0],K0[K0.length-1].range[1]];if(Du=this.performAction.apply(Nu,[d,o,q0,c0.yy,xu[1],a0,K0].concat(g0)),typeof Du<"u")return Du;if(Iu)W0=W0.slice(0,-1*Iu*2),a0=a0.slice(0,-1*Iu),K0=K0.slice(0,-1*Iu);W0.push(this.productions_[xu[1]][0]),a0.push(Nu.$),K0.push(Nu._$),v0=n[W0[W0.length-2]][W0[W0.length-1]],W0.push(v0);break;case 3:return!0}}return!0},"parse")},J0=function(){var u0={EOF:1,parseError:X(function(X0,W0){if(this.yy.parser)this.yy.parser.parseError(X0,W0);else throw Error(X0)},"parseError"),setInput:X(function(Z0,X0){if(this.yy=X0||this.yy||{},this._input=Z0,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var Z0=this._input[0];this.yytext+=Z0,this.yyleng++,this.offset++,this.match+=Z0,this.matched+=Z0;var X0=Z0.match(/(?:\r\n?|\n).*/g);if(X0)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),Z0},"input"),unput:X(function(Z0){var X0=Z0.length,W0=Z0.split(/(?:\r\n?|\n)/g);this._input=Z0+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-X0),this.offset-=X0;var Y0=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W0.length-1)this.yylineno-=W0.length-1;var a0=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W0?(W0.length===Y0.length?this.yylloc.first_column:0)+Y0[Y0.length-W0.length].length-W0[0].length:this.yylloc.first_column-X0},this.options.ranges)this.yylloc.range=[a0[0],a0[0]+this.yyleng-X0];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(Z0){this.unput(this.match.slice(Z0))},"less"),pastInput:X(function(){var Z0=this.matched.substr(0,this.matched.length-this.match.length);return(Z0.length>20?"...":"")+Z0.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var Z0=this.match;if(Z0.length<20)Z0+=this._input.substr(0,20-Z0.length);return(Z0.substr(0,20)+(Z0.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var Z0=this.pastInput(),X0=Array(Z0.length+1).join("-");return Z0+this.upcomingInput()+`
`+X0+"^"},"showPosition"),test_match:X(function(Z0,X0){var W0,Y0,a0;if(this.options.backtrack_lexer){if(a0={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)a0.yylloc.range=this.yylloc.range.slice(0)}if(Y0=Z0[0].match(/(?:\r\n?|\n).*/g),Y0)this.yylineno+=Y0.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Y0?Y0[Y0.length-1].length-Y0[Y0.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z0[0].length},this.yytext+=Z0[0],this.match+=Z0[0],this.matches=Z0,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z0[0].length),this.matched+=Z0[0],W0=this.performAction.call(this,this.yy,this,X0,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(W0)return W0;else if(this._backtrack){for(var K0 in a0)this[K0]=a0[K0];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var Z0,X0,W0,Y0;if(!this._more)this.yytext="",this.match="";var a0=this._currentRules();for(var K0=0;K0<a0.length;K0++)if(W0=this._input.match(this.rules[a0[K0]]),W0&&(!X0||W0[0].length>X0[0].length)){if(X0=W0,Y0=K0,this.options.backtrack_lexer)if(Z0=this.test_match(W0,a0[K0]),Z0!==!1)return Z0;else if(this._backtrack){X0=!1;continue}else return!1;else if(!this.options.flex)break}if(X0){if(Z0=this.test_match(X0,a0[Y0]),Z0!==!1)return Z0;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var X0=this.next();if(X0)return X0;else return this.lex()},"lex"),begin:X(function(X0){this.conditionStack.push(X0)},"begin"),popState:X(function(){var X0=this.conditionStack.length-1;if(X0>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(X0){if(X0=this.conditionStack.length-1-Math.abs(X0||0),X0>=0)return this.conditionStack[X0];else return"INITIAL"},"topState"),pushState:X(function(X0){this.begin(X0)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:X(function(X0,W0,Y0,a0){var K0=a0;switch(Y0){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return u0}();T0.lexer=J0;function F0(){this.yy={}}return X(F0,"Parser"),F0.prototype=T0,T0.Parser=F0,new F0}();jm.parser=jm;Ul4=jm,aC=[],Fb=[""],BU=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],KY=[],zl4=X(function(){return E_0},"getC4Type"),kl4=X(function(u){E_0=C3(u,y0())},"setC4Type"),fl4=X(function(u,B,E,A,C,D,F,U,z){if(u===void 0||u===null||B===void 0||B===null||E===void 0||E===null||A===void 0||A===null)return;let k={},f=KY.find((M)=>M.from===B&&M.to===E);if(f)k=f;else KY.push(k);if(k.type=u,k.from=B,k.to=E,k.label={text:A},C===void 0||C===null)k.techn={text:""};else if(typeof C==="object"){let[M,b]=Object.entries(C)[0];k[M]={text:b}}else k.techn={text:C};if(D===void 0||D===null)k.descr={text:""};else if(typeof D==="object"){let[M,b]=Object.entries(D)[0];k[M]={text:b}}else k.descr={text:D};if(typeof F==="object"){let[M,b]=Object.entries(F)[0];k[M]=b}else k.sprite=F;if(typeof U==="object"){let[M,b]=Object.entries(U)[0];k[M]=b}else k.tags=U;if(typeof z==="object"){let[M,b]=Object.entries(z)[0];k[M]=b}else k.link=z;k.wrap=Ub()},"addRel"),Ml4=X(function(u,B,E,A,C,D,F){if(B===null||E===null)return;let U={},z=aC.find((k)=>k.alias===B);if(z&&B===z.alias)U=z;else U.alias=B,aC.push(U);if(E===void 0||E===null)U.label={text:""};else U.label={text:E};if(A===void 0||A===null)U.descr={text:""};else if(typeof A==="object"){let[k,f]=Object.entries(A)[0];U[k]={text:f}}else U.descr={text:A};if(typeof C==="object"){let[k,f]=Object.entries(C)[0];U[k]=f}else U.sprite=C;if(typeof D==="object"){let[k,f]=Object.entries(D)[0];U[k]=f}else U.tags=D;if(typeof F==="object"){let[k,f]=Object.entries(F)[0];U[k]=f}else U.link=F;U.typeC4Shape={text:u},U.parentBoundary=SB,U.wrap=Ub()},"addPersonOrSystem"),bl4=X(function(u,B,E,A,C,D,F,U){if(B===null||E===null)return;let z={},k=aC.find((f)=>f.alias===B);if(k&&B===k.alias)z=k;else z.alias=B,aC.push(z);if(E===void 0||E===null)z.label={text:""};else z.label={text:E};if(A===void 0||A===null)z.techn={text:""};else if(typeof A==="object"){let[f,M]=Object.entries(A)[0];z[f]={text:M}}else z.techn={text:A};if(C===void 0||C===null)z.descr={text:""};else if(typeof C==="object"){let[f,M]=Object.entries(C)[0];z[f]={text:M}}else z.descr={text:C};if(typeof D==="object"){let[f,M]=Object.entries(D)[0];z[f]=M}else z.sprite=D;if(typeof F==="object"){let[f,M]=Object.entries(F)[0];z[f]=M}else z.tags=F;if(typeof U==="object"){let[f,M]=Object.entries(U)[0];z[f]=M}else z.link=U;z.wrap=Ub(),z.typeC4Shape={text:u},z.parentBoundary=SB},"addContainer"),Zl4=X(function(u,B,E,A,C,D,F,U){if(B===null||E===null)return;let z={},k=aC.find((f)=>f.alias===B);if(k&&B===k.alias)z=k;else z.alias=B,aC.push(z);if(E===void 0||E===null)z.label={text:""};else z.label={text:E};if(A===void 0||A===null)z.techn={text:""};else if(typeof A==="object"){let[f,M]=Object.entries(A)[0];z[f]={text:M}}else z.techn={text:A};if(C===void 0||C===null)z.descr={text:""};else if(typeof C==="object"){let[f,M]=Object.entries(C)[0];z[f]={text:M}}else z.descr={text:C};if(typeof D==="object"){let[f,M]=Object.entries(D)[0];z[f]=M}else z.sprite=D;if(typeof F==="object"){let[f,M]=Object.entries(F)[0];z[f]=M}else z.tags=F;if(typeof U==="object"){let[f,M]=Object.entries(U)[0];z[f]=M}else z.link=U;z.wrap=Ub(),z.typeC4Shape={text:u},z.parentBoundary=SB},"addComponent"),Jl4=X(function(u,B,E,A,C){if(u===null||B===null)return;let D={},F=BU.find((U)=>U.alias===u);if(F&&u===F.alias)D=F;else D.alias=u,BU.push(D);if(B===void 0||B===null)D.label={text:""};else D.label={text:B};if(E===void 0||E===null)D.type={text:"system"};else if(typeof E==="object"){let[U,z]=Object.entries(E)[0];D[U]={text:z}}else D.type={text:E};if(typeof A==="object"){let[U,z]=Object.entries(A)[0];D[U]=z}else D.tags=A;if(typeof C==="object"){let[U,z]=Object.entries(C)[0];D[U]=z}else D.link=C;D.parentBoundary=SB,D.wrap=Ub(),iC=SB,SB=u,Fb.push(iC)},"addPersonOrSystemBoundary"),Kl4=X(function(u,B,E,A,C){if(u===null||B===null)return;let D={},F=BU.find((U)=>U.alias===u);if(F&&u===F.alias)D=F;else D.alias=u,BU.push(D);if(B===void 0||B===null)D.label={text:""};else D.label={text:B};if(E===void 0||E===null)D.type={text:"container"};else if(typeof E==="object"){let[U,z]=Object.entries(E)[0];D[U]={text:z}}else D.type={text:E};if(typeof A==="object"){let[U,z]=Object.entries(A)[0];D[U]=z}else D.tags=A;if(typeof C==="object"){let[U,z]=Object.entries(C)[0];D[U]=z}else D.link=C;D.parentBoundary=SB,D.wrap=Ub(),iC=SB,SB=u,Fb.push(iC)},"addContainerBoundary"),wl4=X(function(u,B,E,A,C,D,F,U){if(B===null||E===null)return;let z={},k=BU.find((f)=>f.alias===B);if(k&&B===k.alias)z=k;else z.alias=B,BU.push(z);if(E===void 0||E===null)z.label={text:""};else z.label={text:E};if(A===void 0||A===null)z.type={text:"node"};else if(typeof A==="object"){let[f,M]=Object.entries(A)[0];z[f]={text:M}}else z.type={text:A};if(C===void 0||C===null)z.descr={text:""};else if(typeof C==="object"){let[f,M]=Object.entries(C)[0];z[f]={text:M}}else z.descr={text:C};if(typeof F==="object"){let[f,M]=Object.entries(F)[0];z[f]=M}else z.tags=F;if(typeof U==="object"){let[f,M]=Object.entries(U)[0];z[f]=M}else z.link=U;z.nodeType=u,z.parentBoundary=SB,z.wrap=Ub(),iC=SB,SB=B,Fb.push(iC)},"addDeploymentNode"),Ql4=X(function(){SB=iC,Fb.pop(),iC=Fb.pop(),Fb.push(iC)},"popBoundaryParseStack"),Gl4=X(function(u,B,E,A,C,D,F,U,z,k,f){let M=aC.find((b)=>b.alias===B);if(M===void 0){if(M=BU.find((b)=>b.alias===B),M===void 0)return}if(E!==void 0&&E!==null)if(typeof E==="object"){let[b,Z]=Object.entries(E)[0];M[b]=Z}else M.bgColor=E;if(A!==void 0&&A!==null)if(typeof A==="object"){let[b,Z]=Object.entries(A)[0];M[b]=Z}else M.fontColor=A;if(C!==void 0&&C!==null)if(typeof C==="object"){let[b,Z]=Object.entries(C)[0];M[b]=Z}else M.borderColor=C;if(D!==void 0&&D!==null)if(typeof D==="object"){let[b,Z]=Object.entries(D)[0];M[b]=Z}else M.shadowing=D;if(F!==void 0&&F!==null)if(typeof F==="object"){let[b,Z]=Object.entries(F)[0];M[b]=Z}else M.shape=F;if(U!==void 0&&U!==null)if(typeof U==="object"){let[b,Z]=Object.entries(U)[0];M[b]=Z}else M.sprite=U;if(z!==void 0&&z!==null)if(typeof z==="object"){let[b,Z]=Object.entries(z)[0];M[b]=Z}else M.techn=z;if(k!==void 0&&k!==null)if(typeof k==="object"){let[b,Z]=Object.entries(k)[0];M[b]=Z}else M.legendText=k;if(f!==void 0&&f!==null)if(typeof f==="object"){let[b,Z]=Object.entries(f)[0];M[b]=Z}else M.legendSprite=f},"updateElStyle"),Hl4=X(function(u,B,E,A,C,D,F){let U=KY.find((z)=>z.from===B&&z.to===E);if(U===void 0)return;if(A!==void 0&&A!==null)if(typeof A==="object"){let[z,k]=Object.entries(A)[0];U[z]=k}else U.textColor=A;if(C!==void 0&&C!==null)if(typeof C==="object"){let[z,k]=Object.entries(C)[0];U[z]=k}else U.lineColor=C;if(D!==void 0&&D!==null)if(typeof D==="object"){let[z,k]=Object.entries(D)[0];U[z]=parseInt(k)}else U.offsetX=parseInt(D);if(F!==void 0&&F!==null)if(typeof F==="object"){let[z,k]=Object.entries(F)[0];U[z]=parseInt(k)}else U.offsetY=parseInt(F)},"updateRelStyle"),ql4=X(function(u,B,E){let A=Nm,C=Vm;if(typeof B==="object"){let D=Object.values(B)[0];A=parseInt(D)}else A=parseInt(B);if(typeof E==="object"){let D=Object.values(E)[0];C=parseInt(D)}else C=parseInt(E);if(A>=1)Nm=A;if(C>=1)Vm=C},"updateLayoutConfig"),ll4=X(function(){return Nm},"getC4ShapeInRow"),Ll4=X(function(){return Vm},"getC4BoundaryInRow"),Xl4=X(function(){return SB},"getCurrentBoundaryParse"),vl4=X(function(){return iC},"getParentBoundaryParse"),A_0=X(function(u){if(u===void 0||u===null)return aC;else return aC.filter((B)=>{return B.parentBoundary===u})},"getC4ShapeArray"),xl4=X(function(u){return aC.find((B)=>B.alias===u)},"getC4Shape"),Wl4=X(function(u){return Object.keys(A_0(u))},"getC4ShapeKeys"),C_0=X(function(u){if(u===void 0||u===null)return BU;else return BU.filter((B)=>B.parentBoundary===u)},"getBoundaries"),Sl4=C_0,Yl4=X(function(){return KY},"getRels"),Rl4=X(function(){return W70},"getTitle"),Tl4=X(function(u){S70=u},"setWrap"),Ub=X(function(){return S70},"autoWrap"),Ol4=X(function(){aC=[],BU=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],iC="",SB="global",Fb=[""],KY=[],Fb=[""],W70="",S70=!1,Nm=4,Vm=2},"clear"),Il4={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},Pl4={FILLED:0,OPEN:1},jl4={LEFTOF:0,RIGHTOF:1,OVER:2},Nl4=X(function(u){W70=C3(u,y0())},"setTitle"),X70={addPersonOrSystem:Ml4,addPersonOrSystemBoundary:Jl4,addContainer:bl4,addContainerBoundary:Kl4,addComponent:Zl4,addDeploymentNode:wl4,popBoundaryParseStack:Ql4,addRel:fl4,updateElStyle:Gl4,updateRelStyle:Hl4,updateLayoutConfig:ql4,autoWrap:Ub,setWrap:Tl4,getC4ShapeArray:A_0,getC4Shape:xl4,getC4ShapeKeys:Wl4,getBoundaries:C_0,getBoundarys:Sl4,getCurrentBoundaryParse:Xl4,getParentBoundaryParse:vl4,getRels:Yl4,getTitle:Rl4,getC4Type:zl4,getC4ShapeInRow:ll4,getC4BoundaryInRow:Ll4,setAccTitle:w3,getAccTitle:q3,getAccDescription:L3,setAccDescription:l3,getConfig:X(()=>y0().c4,"getConfig"),clear:Ol4,LINETYPE:Il4,ARROWTYPE:Pl4,PLACEMENT:jl4,setTitle:Nl4,setC4Type:kl4},Y70=X(function(u,B){return cK(u,B)},"drawRect"),F_0=X(function(u,B,E,A,C,D){let F=u.append("image");F.attr("width",B),F.attr("height",E),F.attr("x",A),F.attr("y",C);let U=D.startsWith("data:image/png;base64")?D:D_0.sanitizeUrl(D);F.attr("xlink:href",U)},"drawImage"),Vl4=X((u,B,E,A)=>{let C=u.append("g"),D=0;for(let F of B){let U=F.textColor?F.textColor:"#444444",z=F.lineColor?F.lineColor:"#444444",k=F.offsetX?parseInt(F.offsetX):0,f=F.offsetY?parseInt(F.offsetY):0,M="";if(D===0){let Z=C.append("line");if(Z.attr("x1",F.startPoint.x),Z.attr("y1",F.startPoint.y),Z.attr("x2",F.endPoint.x),Z.attr("y2",F.endPoint.y),Z.attr("stroke-width","1"),Z.attr("stroke",z),Z.style("fill","none"),F.type!=="rel_b")Z.attr("marker-end","url("+M+"#"+A+"-arrowhead)");if(F.type==="birel"||F.type==="rel_b")Z.attr("marker-start","url("+M+"#"+A+"-arrowend)");D=-1}else{let Z=C.append("path");if(Z.attr("fill","none").attr("stroke-width","1").attr("stroke",z).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",F.startPoint.x).replaceAll("starty",F.startPoint.y).replaceAll("controlx",F.startPoint.x+(F.endPoint.x-F.startPoint.x)/2-(F.endPoint.x-F.startPoint.x)/4).replaceAll("controly",F.startPoint.y+(F.endPoint.y-F.startPoint.y)/2).replaceAll("stopx",F.endPoint.x).replaceAll("stopy",F.endPoint.y)),F.type!=="rel_b")Z.attr("marker-end","url("+M+"#"+A+"-arrowhead)");if(F.type==="birel"||F.type==="rel_b")Z.attr("marker-start","url("+M+"#"+A+"-arrowend)")}let b=E.messageFont();if(fk(E)(F.label.text,C,Math.min(F.startPoint.x,F.endPoint.x)+Math.abs(F.endPoint.x-F.startPoint.x)/2+k,Math.min(F.startPoint.y,F.endPoint.y)+Math.abs(F.endPoint.y-F.startPoint.y)/2+f,F.label.width,F.label.height,{fill:U},b),F.techn&&F.techn.text!=="")b=E.messageFont(),fk(E)("["+F.techn.text+"]",C,Math.min(F.startPoint.x,F.endPoint.x)+Math.abs(F.endPoint.x-F.startPoint.x)/2+k,Math.min(F.startPoint.y,F.endPoint.y)+Math.abs(F.endPoint.y-F.startPoint.y)/2+E.messageFontSize+5+f,Math.max(F.label.width,F.techn.width),F.techn.height,{fill:U,"font-style":"italic"},b)}},"drawRels"),hl4=X(function(u,B,E){let A=u.append("g"),C=B.bgColor?B.bgColor:"none",D=B.borderColor?B.borderColor:"#444444",F=B.fontColor?B.fontColor:"black",U={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};if(B.nodeType)U={"stroke-width":1};let z={x:B.x,y:B.y,fill:C,stroke:D,width:B.width,height:B.height,rx:2.5,ry:2.5,attrs:U};Y70(A,z);let k=E.boundaryFont();if(k.fontWeight="bold",k.fontSize=k.fontSize+2,k.fontColor=F,fk(E)(B.label.text,A,B.x,B.y+B.label.Y,B.width,B.height,{fill:"#444444"},k),B.type&&B.type.text!=="")k=E.boundaryFont(),k.fontColor=F,fk(E)(B.type.text,A,B.x,B.y+B.type.Y,B.width,B.height,{fill:"#444444"},k);if(B.descr&&B.descr.text!=="")k=E.boundaryFont(),k.fontSize=k.fontSize-2,k.fontColor=F,fk(E)(B.descr.text,A,B.x,B.y+B.descr.Y,B.width,B.height,{fill:"#444444"},k)},"drawBoundary"),il4=X(function(u,B,E){let A=B.bgColor?B.bgColor:E[B.typeC4Shape.text+"_bg_color"],C=B.borderColor?B.borderColor:E[B.typeC4Shape.text+"_border_color"],D=B.fontColor?B.fontColor:"#FFFFFF",F="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(B.typeC4Shape.text){case"person":F="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":F="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let U=u.append("g");U.attr("class","person-man");let z=m7();switch(B.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":z.x=B.x,z.y=B.y,z.fill=A,z.width=B.width,z.height=B.height,z.stroke=C,z.rx=2.5,z.ry=2.5,z.attrs={"stroke-width":0.5},Y70(U,z);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":U.append("path").attr("fill",A).attr("stroke-width","0.5").attr("stroke",C).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",B.x).replaceAll("starty",B.y).replaceAll("half",B.width/2).replaceAll("height",B.height)),U.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",C).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",B.x).replaceAll("starty",B.y).replaceAll("half",B.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":U.append("path").attr("fill",A).attr("stroke-width","0.5").attr("stroke",C).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",B.x).replaceAll("starty",B.y).replaceAll("width",B.width).replaceAll("half",B.height/2)),U.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",C).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",B.x+B.width).replaceAll("starty",B.y).replaceAll("half",B.height/2));break}let k=_l4(E,B.typeC4Shape.text);switch(U.append("text").attr("fill",D).attr("font-family",k.fontFamily).attr("font-size",k.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",B.typeC4Shape.width).attr("x",B.x+B.width/2-B.typeC4Shape.width/2).attr("y",B.y+B.typeC4Shape.Y).text("<<"+B.typeC4Shape.text+">>"),B.typeC4Shape.text){case"person":case"external_person":F_0(U,48,48,B.x+B.width/2-24,B.y+B.image.Y,F);break}let f=E[B.typeC4Shape.text+"Font"]();if(f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=D,fk(E)(B.label.text,U,B.x,B.y+B.label.Y,B.width,B.height,{fill:D},f),f=E[B.typeC4Shape.text+"Font"](),f.fontColor=D,B.techn&&B.techn?.text!=="")fk(E)(B.techn.text,U,B.x,B.y+B.techn.Y,B.width,B.height,{fill:D,"font-style":"italic"},f);else if(B.type&&B.type.text!=="")fk(E)(B.type.text,U,B.x,B.y+B.type.Y,B.width,B.height,{fill:D,"font-style":"italic"},f);if(B.descr&&B.descr.text!=="")f=E.personFont(),f.fontColor=D,fk(E)(B.descr.text,U,B.x,B.y+B.descr.Y,B.width,B.height,{fill:D},f);return B.height},"drawC4Shape"),al4=X(function(u,B){u.append("defs").append("symbol").attr("id",B+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ml4=X(function(u,B){u.append("defs").append("symbol").attr("id",B+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),$l4=X(function(u,B){u.append("defs").append("symbol").attr("id",B+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),yl4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),rl4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),gl4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),cl4=X(function(u,B){let A=u.append("defs").append("marker").attr("id",B+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);A.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),A.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),_l4=X((u,B)=>{return{fontFamily:u[B+"FontFamily"],fontSize:u[B+"FontSize"],fontWeight:u[B+"FontWeight"]}},"getC4ShapeFont"),fk=function(){function u(C,D,F,U,z,k,f){let M=D.append("text").attr("x",F+z/2).attr("y",U+k/2+5).style("text-anchor","middle").text(C);A(M,f)}X(u,"byText");function B(C,D,F,U,z,k,f,M){let{fontSize:b,fontFamily:Z,fontWeight:J}=M,K=C.split(ru.lineBreakRegex);for(let w=0;w<K.length;w++){let Q=w*b-b*(K.length-1)/2,G=D.append("text").attr("x",F+z/2).attr("y",U).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",b).style("font-weight",J).style("font-family",Z);G.append("tspan").attr("dy",Q).text(K[w]).attr("alignment-baseline","mathematical"),A(G,f)}}X(B,"byTspan");function E(C,D,F,U,z,k,f,M){let b=D.append("switch"),J=b.append("foreignObject").attr("x",F).attr("y",U).attr("width",z).attr("height",k).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");J.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(C),B(C,b,F,U,z,k,f,M),A(J,f)}X(E,"byFo");function A(C,D){for(let F in D)if(D.hasOwnProperty(F))C.attr(F,D[F])}return X(A,"_setTextAttrs"),function(C){return C.textPlacement==="fo"?E:C.textPlacement==="old"?u:B}}(),uU={drawRect:Y70,drawBoundary:hl4,drawC4Shape:il4,drawRels:Vl4,drawImage:F_0,insertArrowHead:yl4,insertArrowEnd:rl4,insertArrowFilledHead:gl4,insertArrowCrossHead:cl4,insertDatabaseIcon:al4,insertComputerIcon:ml4,insertClockIcon:$l4};jm.yy=X70;$4={},z_0=class{static{X(this,"Bounds")}constructor(u){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,x70(u.db.getConfig())}setData(u,B,E,A){this.nextData.startx=this.data.startx=u,this.nextData.stopx=this.data.stopx=B,this.nextData.starty=this.data.starty=E,this.nextData.stopy=this.data.stopy=A}updateVal(u,B,E,A){if(u[B]===void 0)u[B]=E;else u[B]=A(E,u[B])}insert(u){this.nextData.cnt=this.nextData.cnt+1;let B=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+u.margin:this.nextData.stopx+u.margin*2,E=B+u.width,A=this.nextData.starty+u.margin*2,C=A+u.height;if(B>=this.data.widthLimit||E>=this.data.widthLimit||this.nextData.cnt>U_0)B=this.nextData.startx+u.margin+$4.nextLinePaddingX,A=this.nextData.stopy+u.margin*2,this.nextData.stopx=E=B+u.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=C=A+u.height,this.nextData.cnt=1;u.x=B,u.y=A,this.updateVal(this.data,"startx",B,Math.min),this.updateVal(this.data,"starty",A,Math.min),this.updateVal(this.data,"stopx",E,Math.max),this.updateVal(this.data,"stopy",C,Math.max),this.updateVal(this.nextData,"startx",B,Math.min),this.updateVal(this.nextData,"starty",A,Math.min),this.updateVal(this.nextData,"stopx",E,Math.max),this.updateVal(this.nextData,"stopy",C,Math.max)}init(u){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},x70(u.db.getConfig())}bumpLastMargin(u){this.data.stopx+=u,this.data.stopy+=u}},x70=X(function(u){if(C9($4,u),u.fontFamily)$4.personFontFamily=$4.systemFontFamily=$4.messageFontFamily=u.fontFamily;if(u.fontSize)$4.personFontSize=$4.systemFontSize=$4.messageFontSize=u.fontSize;if(u.fontWeight)$4.personFontWeight=$4.systemFontWeight=$4.messageFontWeight=u.fontWeight},"setConf"),JY=X((u,B)=>{return{fontFamily:u[B+"FontFamily"],fontSize:u[B+"FontSize"],fontWeight:u[B+"FontWeight"]}},"c4ShapeFont"),Pm=X((u)=>{return{fontFamily:u.boundaryFontFamily,fontSize:u.boundaryFontSize,fontWeight:u.boundaryFontWeight}},"boundaryFont"),pl4=X((u)=>{return{fontFamily:u.messageFontFamily,fontSize:u.messageFontSize,fontWeight:u.messageFontWeight}},"messageFont");X(lA,"calcC4ShapeTextWH");k_0=X(function(u,B,E){B.x=E.data.startx,B.y=E.data.starty,B.width=E.data.stopx-E.data.startx,B.height=E.data.stopy-E.data.starty,B.label.y=$4.c4ShapeMargin-35;let A=B.wrap&&$4.wrap,C=Pm($4);C.fontSize=C.fontSize+2,C.fontWeight="bold";let D=A7(B.label.text,C);lA("label",B,A,C,D),uU.drawBoundary(u,B,$4)},"drawBoundary"),f_0=X(function(u,B,E,A){let C=0;for(let D of A){C=0;let F=E[D],U=JY($4,F.typeC4Shape.text);switch(U.fontSize=U.fontSize-2,F.typeC4Shape.width=A7("«"+F.typeC4Shape.text+"»",U),F.typeC4Shape.height=U.fontSize+2,F.typeC4Shape.Y=$4.c4ShapePadding,C=F.typeC4Shape.Y+F.typeC4Shape.height-4,F.image={width:0,height:0,Y:0},F.typeC4Shape.text){case"person":case"external_person":F.image.width=48,F.image.height=48,F.image.Y=C,C=F.image.Y+F.image.height;break}if(F.sprite)F.image.width=48,F.image.height=48,F.image.Y=C,C=F.image.Y+F.image.height;let z=F.wrap&&$4.wrap,k=$4.width-$4.c4ShapePadding*2,f=JY($4,F.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",lA("label",F,z,f,k),F.label.Y=C+8,C=F.label.Y+F.label.height,F.type&&F.type.text!==""){F.type.text="["+F.type.text+"]";let Z=JY($4,F.typeC4Shape.text);lA("type",F,z,Z,k),F.type.Y=C+5,C=F.type.Y+F.type.height}else if(F.techn&&F.techn.text!==""){F.techn.text="["+F.techn.text+"]";let Z=JY($4,F.techn.text);lA("techn",F,z,Z,k),F.techn.Y=C+5,C=F.techn.Y+F.techn.height}let M=C,b=F.label.width;if(F.descr&&F.descr.text!==""){let Z=JY($4,F.typeC4Shape.text);lA("descr",F,z,Z,k),F.descr.Y=C+20,C=F.descr.Y+F.descr.height,b=Math.max(F.label.width,F.descr.width),M=C-F.descr.textLines*5}b=b+$4.c4ShapePadding,F.width=Math.max(F.width||$4.width,b,$4.width),F.height=Math.max(F.height||$4.height,M,$4.height),F.margin=F.margin||$4.c4ShapeMargin,u.insert(F),uU.drawC4Shape(B,F,$4)}u.bumpLastMargin($4.c4ShapeMargin)},"drawC4ShapeArray"),qA=class{static{X(this,"Point")}constructor(u,B){this.x=u,this.y=B}},u_0=X(function(u,B){let{x:E,y:A}=u,C=B.x,D=B.y,F=E+u.width/2,U=A+u.height/2,z=Math.abs(E-C),k=Math.abs(A-D),f=k/z,M=u.height/u.width,b=null;if(A==D&&E<C)b=new qA(E+u.width,U);else if(A==D&&E>C)b=new qA(E,U);else if(E==C&&A<D)b=new qA(F,A+u.height);else if(E==C&&A>D)b=new qA(F,A);if(E>C&&A<D)if(M>=f)b=new qA(E,U+f*u.width/2);else b=new qA(F-z/k*u.height/2,A+u.height);else if(E<C&&A<D)if(M>=f)b=new qA(E+u.width,U+f*u.width/2);else b=new qA(F+z/k*u.height/2,A+u.height);else if(E<C&&A>D)if(M>=f)b=new qA(E+u.width,U-f*u.width/2);else b=new qA(F+u.height/2*z/k,A);else if(E>C&&A>D)if(M>=f)b=new qA(E,U-u.width/2*f);else b=new qA(F-u.height/2*z/k,A);return b},"getIntersectPoint"),nl4=X(function(u,B){let E={x:0,y:0};E.x=B.x+B.width/2,E.y=B.y+B.height/2;let A=u_0(u,E);E.x=u.x+u.width/2,E.y=u.y+u.height/2;let C=u_0(B,E);return{startPoint:A,endPoint:C}},"getIntersectPoints"),dl4=X(function(u,B,E,A,C){let D=0;for(let F of B){D=D+1;let U=F.wrap&&$4.wrap,z=pl4($4);if(A.db.getC4Type()==="C4Dynamic")F.label.text=D+": "+F.label.text;let f=A7(F.label.text,z);if(lA("label",F,U,z,f),F.techn&&F.techn.text!=="")f=A7(F.techn.text,z),lA("techn",F,U,z,f);if(F.descr&&F.descr.text!=="")f=A7(F.descr.text,z),lA("descr",F,U,z,f);let M=E(F.from),b=E(F.to),Z=nl4(M,b);F.startPoint=Z.startPoint,F.endPoint=Z.endPoint}uU.drawRels(u,B,$4,C)},"drawRels");X(R70,"drawInsideBoundary");sl4=X(function(u,B,E,A){$4=y0().c4;let C=y0().securityLevel,D;if(C==="sandbox")D=Qu("#i"+B);let F=C==="sandbox"?Qu(D.nodes()[0].contentDocument.body):Qu("body"),U=A.db;A.db.setWrap($4.wrap),U_0=U.getC4ShapeInRow(),v70=U.getC4BoundaryInRow(),z0.debug(`C:${JSON.stringify($4,null,2)}`);let z=C==="sandbox"?F.select(`[id="${B}"]`):Qu(`[id="${B}"]`);uU.insertComputerIcon(z,B),uU.insertDatabaseIcon(z,B),uU.insertClockIcon(z,B);let k=new z_0(A);k.setData($4.diagramMarginX,$4.diagramMarginX,$4.diagramMarginY,$4.diagramMarginY),k.data.widthLimit=screen.availWidth,hm=$4.diagramMarginX,im=$4.diagramMarginY;let f=A.db.getTitle(),M=A.db.getBoundaries("");R70(z,"",k,M,A),uU.insertArrowHead(z,B),uU.insertArrowEnd(z,B),uU.insertArrowCrossHead(z,B),uU.insertArrowFilledHead(z,B),dl4(z,A.db.getRels(),A.db.getC4Shape,A,B),k.data.stopx=hm,k.data.stopy=im;let b=k.data,J=b.stopy-b.starty+2*$4.diagramMarginY,w=b.stopx-b.startx+2*$4.diagramMarginX;if(f)z.append("text").text(f).attr("x",(b.stopx-b.startx)/2-4*$4.diagramMarginX).attr("y",b.starty+$4.diagramMarginY);g3(z,J,w,$4.useMaxWidth);let Q=f?60:0;z.attr("viewBox",b.startx-$4.diagramMarginX+" -"+($4.diagramMarginY+Q)+" "+w+" "+(J+Q)),z0.debug("models:",b)},"draw"),B_0={drawPersonOrSystemArray:f_0,drawBoundary:k_0,setConf:x70,draw:sl4},ol4=X((u)=>`.person {
stroke: ${u.personBorder};
fill: ${u.personBkg};
}
`,"getStyles"),tl4=ol4,el4={parser:Ul4,db:X70,renderer:B_0,styles:tl4,init:X(({c4:u,wrap:B})=>{B_0.setConf(u),X70.setWrap(B)},"init")}});var EU;var AU=g(()=>{Y4();EU=X(()=>`
/* Font Awesome icon styling - consolidated */
.label-icon {
display: inline-block;
height: 1em;
overflow: visible;
vertical-align: -0.125em;
}
.node .label-icon path {
fill: currentColor;
stroke: revert;
stroke-width: revert;
}
`,"getIconStyles")});var LA;var qE=g(()=>{Y4();V3();LA=X((u,B)=>{let E;if(B==="sandbox")E=Qu("#i"+u);return(B==="sandbox"?Qu(E.nodes()[0].contentDocument.body):Qu("body")).select(`[id="${u}"]`)},"getDiagramElement")});var v8,uL4,BL4;var x8=g(()=>{s4();o4();Y4();v8=X((u,B,E,A)=>{u.attr("class",E);let{width:C,height:D,x:F,y:U}=uL4(u,B);g3(u,D,C,A);let z=BL4(F,U,C,D,B);u.attr("viewBox",z),z0.debug(`viewBox configured: ${z} with padding: ${B}`)},"setupViewPortForSVG"),uL4=X((u,B)=>{let E=u.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:E.width+B*2,height:E.height+B*2,x:E.x,y:E.y}},"calculateDimensionsWithPadding"),BL4=X((u,B,E,A,C)=>{return`${u-C} ${B-C} ${E} ${A}`},"createViewBox")});var EL4="flowchart-",AL4,CL4,DL4,FL4,T70,Z_0,J_0,UL4,zL4,kL4,O70,wY,K_0;var I70=g(()=>{AU();qE();x8();EK();L8();HE();F7();e3();s4();o4();Y4();V3();pG();G2();AL4=class{constructor(){this.vertexCounter=0,this.config=y0(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=w3,this.setAccDescription=l3,this.setDiagramTitle=T3,this.getAccTitle=q3,this.getAccDescription=L3,this.getDiagramTitle=X3,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{X(this,"FlowDB")}sanitizeText(u){return ru.sanitizeText(u,this.config)}sanitizeNodeLabelType(u){switch(u){case"markdown":case"string":case"text":return u;default:return"markdown"}}setDiagramId(u){this.diagramId=u}lookUpDomId(u){for(let B of this.vertices.values())if(B.id===u)return this.diagramId?`${this.diagramId}-${B.domId}`:B.domId;return this.diagramId?`${this.diagramId}-${u}`:u}addVertex(u,B,E,A,C,D,F={},U){if(!u||u.trim().length===0)return;let z;if(U!==void 0){let b;if(!U.includes(`
`))b=`{
`+U+`
}`;else b=U+`
`;z=FM(b,{schema:DM})}let k=this.edges.find((b)=>b.id===u);if(k){let b=z;if(b?.animate!==void 0)k.animate=b.animate;if(b?.animation!==void 0)k.animation=b.animation;if(b?.curve!==void 0)k.interpolate=b.curve;return}let f,M=this.vertices.get(u);if(M===void 0){if(B===void 0&&E===void 0&&A!==void 0&&A!==null)z0.warn(`Style applied to unknown node "${u}". This may indicate a typo. The node will be created automatically.`);M={id:u,labelType:"text",domId:EL4+u+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(u,M)}if(this.vertexCounter++,B!==void 0){if(this.config=y0(),f=this.sanitizeText(B.text.trim()),M.labelType=B.type,f.startsWith('"')&&f.endsWith('"'))f=f.substring(1,f.length-1);M.text=f}else if(M.text===void 0)M.text=u;if(E!==void 0)M.type=E;if(A!==void 0&&A!==null)A.forEach((b)=>{M.styles.push(b)});if(C!==void 0&&C!==null)C.forEach((b)=>{M.classes.push(b)});if(D!==void 0)M.dir=D;if(M.props===void 0)M.props=F;else if(F!==void 0)Object.assign(M.props,F);if(z!==void 0){if(z.shape){if(z.shape!==z.shape.toLowerCase()||z.shape.includes("_"))throw Error(`No such shape: ${z.shape}. Shape names should be lowercase.`);else if(!z10(z.shape))throw Error(`No such shape: ${z.shape}.`);M.type=z?.shape}if(z?.label)M.text=z?.label,M.labelType=this.sanitizeNodeLabelType(z?.labelType);if(z?.icon){if(M.icon=z?.icon,!z.label?.trim()&&M.text===u)M.text=""}if(z?.form)M.form=z?.form;if(z?.pos)M.pos=z?.pos;if(z?.img){if(M.img=z?.img,!z.label?.trim()&&M.text===u)M.text=""}if(z?.constraint)M.constraint=z.constraint;if(z.w)M.assetWidth=Number(z.w);if(z.h)M.assetHeight=Number(z.h)}}addSingleLink(u,B,E,A){let F={start:u,end:B,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};z0.info("abc78 Got edge...",F);let U=E.text;if(U!==void 0){if(F.text=this.sanitizeText(U.text.trim()),F.text.startsWith('"')&&F.text.endsWith('"'))F.text=F.text.substring(1,F.text.length-1);F.labelType=this.sanitizeNodeLabelType(U.type)}if(E!==void 0)F.type=E.type,F.stroke=E.stroke,F.length=E.length>10?10:E.length;if(A&&!this.edges.some((z)=>z.id===A))F.id=A,F.isUserDefinedId=!0;else{let z=this.edges.filter((k)=>k.start===F.start&&k.end===F.end);if(z.length===0)F.id=RF(F.start,F.end,{counter:0,prefix:"L"});else F.id=RF(F.start,F.end,{counter:z.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))z0.info("Pushing edge..."),this.edges.push(F);else throw Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.
Initialize mermaid with maxEdges set to a higher number to allow more edges.
You cannot set this config via configuration inside the diagram as it is a secure config.
You have to call mermaid.initialize.`)}isLinkData(u){return u!==null&&typeof u==="object"&&"id"in u&&typeof u.id==="string"}addLink(u,B,E){let A=this.isLinkData(E)?E.id.replace("@",""):void 0;z0.info("addLink",u,B,A);for(let C of u)for(let D of B){let F=C===u[u.length-1],U=D===B[0];if(F&&U)this.addSingleLink(C,D,E,A);else this.addSingleLink(C,D,E,void 0)}}updateLinkInterpolate(u,B){u.forEach((E)=>{if(E==="default")this.edges.defaultInterpolate=B;else this.edges[E].interpolate=B})}updateLink(u,B){u.forEach((E)=>{if(typeof E==="number"&&E>=this.edges.length)throw Error(`The index ${E} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);if(E==="default")this.edges.defaultStyle=B;else if(this.edges[E].style=B,(this.edges[E]?.style?.length??0)>0&&!this.edges[E]?.style?.some((A)=>A?.startsWith("fill")))this.edges[E]?.style?.push("fill:none")})}addClass(u,B){let E=B.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");u.split(",").forEach((A)=>{let C=this.classes.get(A);if(C===void 0)C={id:A,styles:[],textStyles:[]},this.classes.set(A,C);if(E!==void 0&&E!==null)E.forEach((D)=>{if(/color/.exec(D)){let F=D.replace("fill","bgFill");C.textStyles.push(F)}C.styles.push(D)})})}setDirection(u){if(this.direction=u.trim(),/.*</.exec(this.direction))this.direction="RL";if(/.*\^/.exec(this.direction))this.direction="BT";if(/.*>/.exec(this.direction))this.direction="LR";if(/.*v/.exec(this.direction))this.direction="TB";if(this.direction==="TD")this.direction="TB"}setClass(u,B){for(let E of u.split(",")){let A=this.vertices.get(E);if(A)A.classes.push(B);let C=this.edges.find((F)=>F.id===E);if(C)C.classes.push(B);let D=this.subGraphLookup.get(E);if(D)D.classes.push(B)}}setTooltip(u,B){if(B===void 0)return;B=this.sanitizeText(B);for(let E of u.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(E):E,B)}setClickFun(u,B,E){if(y0().securityLevel!=="loose")return;if(B===void 0)return;let A=[];if(typeof E==="string"){A=E.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let D=0;D<A.length;D++){let F=A[D].trim();if(F.startsWith('"')&&F.endsWith('"'))F=F.substr(1,F.length-2);A[D]=F}}if(A.length===0)A.push(u);let C=this.vertices.get(u);if(C)C.haveCallback=!0,this.funs.push(()=>{let D=this.lookUpDomId(u),F=document.querySelector(`[id="${D}"]`);if(F!==null)F.addEventListener("click",()=>{R4.runFunc(B,...A)},!1)})}setLink(u,B,E){u.split(",").forEach((A)=>{let C=this.vertices.get(A);if(C!==void 0)C.link=R4.formatUrl(B,this.config),C.linkTarget=E}),this.setClass(u,"clickable")}getTooltip(u){return this.tooltips.get(u)}setClickEvent(u,B,E){u.split(",").forEach((A)=>{this.setClickFun(A,B,E)}),this.setClass(u,"clickable")}bindFunctions(u){this.funs.forEach((B)=>{B(u)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(u){let B=kl();Qu(u).select("svg").selectAll("g.node").on("mouseover",(C)=>{let D=Qu(C.currentTarget),F=D.attr("title");if(F===null)return;let U=C.currentTarget?.getBoundingClientRect();B.transition().duration(200).style("opacity",".9"),B.text(D.attr("title")).style("left",window.scrollX+U.left+(U.right-U.left)/2+"px").style("top",window.scrollY+U.bottom+"px"),B.html(C8.sanitize(F)),D.classed("hover",!0)}).on("mouseout",(C)=>{B.transition().duration(500).style("opacity",0),Qu(C.currentTarget).classed("hover",!1)})}clear(u="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=u,this.config=y0(),D3()}setGen(u){this.version=u||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(u,B,E){let A=u.text.trim(),C=E.text;if(u===E&&/\s/.exec(E.text))A=void 0;let F=X((Z)=>{let J={boolean:{},number:{},string:{}},K=[],w;return{nodeList:Z.filter(function(G){let H=typeof G;if(G.stmt&&G.stmt==="dir")return w=G.value,!1;if(G.trim()==="")return!1;if(H in J)return J[H].hasOwnProperty(G)?!1:J[H][G]=!0;else return K.includes(G)?!1:K.push(G)}),dir:w}},"uniq")(B.flat()),U=F.nodeList,z=F.dir,k=z!==void 0,f=y0().flowchart??{},M=z??(f.inheritDir?this.getDirection()??y0().direction??void 0:void 0);if(this.version==="gen-1")for(let Z=0;Z<U.length;Z++)U[Z]=this.lookUpDomId(U[Z]);A=A??"subGraph"+this.subCount,C=C||"",C=this.sanitizeText(C),this.subCount=this.subCount+1;let b={id:A,nodes:U,title:C.trim(),classes:[],dir:M,hasExplicitDir:k,labelType:this.sanitizeNodeLabelType(E?.type)};return z0.info("Adding",b.id,b.nodes,b.dir),b.nodes=this.makeUniq(b,this.subGraphs).nodes,this.subGraphs.push(b),this.subGraphLookup.set(A,b),A}getPosForId(u){for(let[B,E]of this.subGraphs.entries())if(E.id===u)return B;return-1}indexNodes2(u,B){let E=this.subGraphs[B].nodes;if(this.secCount=this.secCount+1,this.secCount>2000)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=B,this.subGraphs[B].id===u)return{result:!0,count:0};let A=0,C=1;while(A<E.length){let D=this.getPosForId(E[A]);if(D>=0){let F=this.indexNodes2(u,D);if(F.result)return{result:!0,count:C+F.count};else C=C+F.count}A=A+1}return{result:!1,count:C}}getDepthFirstPos(u){return this.posCrossRef[u]}indexNodes(){if(this.secCount=-1,this.subGraphs.length>0)this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){if(this.firstGraphFlag)return this.firstGraphFlag=!1,!0;return!1}destructStartLink(u){let B=u.trim(),E="arrow_open";switch(B[0]){case"<":E="arrow_point",B=B.slice(1);break;case"x":E="arrow_cross",B=B.slice(1);break;case"o":E="arrow_circle",B=B.slice(1);break}let A="normal";if(B.includes("="))A="thick";if(B.includes("."))A="dotted";return{type:E,stroke:A}}countChar(u,B){let E=B.length,A=0;for(let C=0;C<E;++C)if(B[C]===u)++A;return A}destructEndLink(u){let B=u.trim(),E=B.slice(0,-1),A="arrow_open";switch(B.slice(-1)){case"x":if(A="arrow_cross",B.startsWith("x"))A="double_"+A,E=E.slice(1);break;case">":if(A="arrow_point",B.startsWith("<"))A="double_"+A,E=E.slice(1);break;case"o":if(A="arrow_circle",B.startsWith("o"))A="double_"+A,E=E.slice(1);break}let C="normal",D=E.length-1;if(E.startsWith("="))C="thick";if(E.startsWith("~"))C="invisible";let F=this.countChar(".",E);if(F)C="dotted",D=F;return{type:A,stroke:C,length:D}}destructLink(u,B){let E=this.destructEndLink(u),A;if(B){if(A=this.destructStartLink(B),A.stroke!==E.stroke)return{type:"INVALID",stroke:"INVALID"};if(A.type==="arrow_open")A.type=E.type;else{if(A.type!==E.type)return{type:"INVALID",stroke:"INVALID"};A.type="double_"+A.type}if(A.type==="double_arrow")A.type="double_arrow_point";return A.length=E.length,A}return E}exists(u,B){for(let E of u)if(E.nodes.includes(B))return!0;return!1}makeUniq(u,B){let E=[];return u.nodes.forEach((A,C)=>{if(!this.exists(B,A))E.push(u.nodes[C])}),{nodes:E}}getTypeFromVertex(u){if(u.img)return"imageSquare";if(u.icon){if(u.form==="circle")return"iconCircle";if(u.form==="square")return"iconSquare";if(u.form==="rounded")return"iconRounded";return"icon"}switch(u.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return u.type}}findNode(u,B){return u.find((E)=>E.id===B)}destructEdgeType(u){let B="none",E="arrow_point";switch(u){case"arrow_point":case"arrow_circle":case"arrow_cross":E=u;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":B=u.replace("double_",""),E=B;break}return{arrowTypeStart:B,arrowTypeEnd:E}}addNodeFromVertex(u,B,E,A,C,D){let F=E.get(u.id),U=A.get(u.id)??!1,z=this.findNode(B,u.id);if(z)z.cssStyles=u.styles,z.cssCompiledStyles=this.getCompiledStyles(u.classes),z.cssClasses=u.classes.join(" ");else{let k={id:u.id,label:u.text,labelType:u.labelType,labelStyle:"",parentId:F,padding:C.flowchart?.padding||8,cssStyles:u.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...u.classes]),cssClasses:"default "+u.classes.join(" "),dir:u.dir,domId:u.domId,look:D,link:u.link,linkTarget:u.linkTarget,tooltip:this.getTooltip(u.id),icon:u.icon,pos:u.pos,img:u.img,assetWidth:u.assetWidth,assetHeight:u.assetHeight,constraint:u.constraint};if(U)B.push({...k,isGroup:!0,shape:"rect"});else B.push({...k,isGroup:!1,shape:this.getTypeFromVertex(u)})}}getCompiledStyles(u){let B=[];for(let E of u){let A=this.classes.get(E);if(A?.styles)B=[...B,...A.styles??[]].map((C)=>C.trim());if(A?.textStyles)B=[...B,...A.textStyles??[]].map((C)=>C.trim())}return B}getData(){let u=y0(),B=[],E=[],A=this.getSubGraphs(),C=new Map,D=new Map;for(let z=A.length-1;z>=0;z--){let k=A[z];if(k.nodes.length>0)D.set(k.id,!0);for(let f of k.nodes)C.set(f,k.id)}for(let z=A.length-1;z>=0;z--){let k=A[z];B.push({id:k.id,label:k.title,labelStyle:"",labelType:k.labelType,parentId:C.get(k.id),padding:8,cssCompiledStyles:this.getCompiledStyles(k.classes),cssClasses:k.classes.join(" "),shape:"rect",dir:k.dir==="TD"?"TB":k.dir,explicitDir:k.hasExplicitDir,isGroup:!0,look:u.look})}this.getVertices().forEach((z)=>{this.addNodeFromVertex(z,B,C,D,u,u.look||"classic")});let U=this.getEdges();return U.forEach((z,k)=>{let{arrowTypeStart:f,arrowTypeEnd:M}=this.destructEdgeType(z.type),b=[...U.defaultStyle??[]];if(z.style)b.push(...z.style);let Z={id:RF(z.start,z.end,{counter:k,prefix:"L"},z.id),isUserDefinedId:z.isUserDefinedId,start:z.start,end:z.end,type:z.type??"normal",label:z.text,labelType:z.labelType,labelpos:"c",thickness:z.stroke,minlen:z.length,classes:z?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:z?.stroke==="invisible"||z?.type==="arrow_open"?"none":f,arrowTypeEnd:z?.stroke==="invisible"||z?.type==="arrow_open"?"none":M,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(z.classes),labelStyle:b,style:b,pattern:z.stroke,look:u.look,animate:z.animate,animation:z.animation,curve:z.interpolate||this.edges.defaultInterpolate||u.flowchart?.curve};E.push(Z)}),{nodes:B,edges:E,other:{},config:u}}defaultConfig(){return EN.flowchart}},CL4=X(function(u,B){return B.db.getClasses()},"getClasses"),DL4=X(async function(u,B,E,A,C){z0.info("REF0:"),z0.info("Drawing state diagram (v2)",B);let{securityLevel:D,flowchart:F,layout:U}=y0();A.db.setDiagramId(B),z0.debug("Before getData: ");let z=A.db.getData();z0.debug("Data: ",z);let k=LA(B,D),f=A.db.getDirection();if(z.type=A.type,z.layoutAlgorithm=eF(U),z.layoutAlgorithm==="dagre"&&U==="elk")z0.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback.");z.direction=f,z.nodeSpacing=F?.nodeSpacing||50,z.rankSpacing=F?.rankSpacing||50,z.markers=["point","circle","cross"],z.diagramId=B,z0.debug("REF1:",z),await QA(z,k,C);let M=z.config.flowchart?.diagramPadding??8;R4.insertTitle(k,"flowchartTitleText",F?.titleTopMargin||0,A.db.getDiagramTitle()),v8(k,M,"flowchart",F?.useMaxWidth||!1)},"draw"),FL4={getClasses:CL4,draw:DL4},T70=function(){var u=X(function(eu,hu,f4,U4){for(f4=f4||{},U4=eu.length;U4--;f4[eu[U4]]=hu);return f4},"o"),B=[1,4],E=[1,3],A=[1,5],C=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],D=[2,2],F=[1,13],U=[1,14],z=[1,15],k=[1,16],f=[1,23],M=[1,25],b=[1,26],Z=[1,27],J=[1,50],K=[1,49],w=[1,29],Q=[1,30],G=[1,31],H=[1,32],l=[1,33],q=[1,45],L=[1,47],v=[1,43],x=[1,48],S=[1,44],W=[1,51],T=[1,46],R=[1,52],Y=[1,53],h=[1,34],I=[1,35],O=[1,36],V=[1,37],j=[1,38],i=[1,58],a=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$=[1,62],m=[1,61],y=[1,63],r=[8,9,11,75,77,78],_=[1,79],e=[1,92],p=[1,97],b0=[1,96],B0=[1,93],k0=[1,89],f0=[1,95],D0=[1,91],P0=[1,98],L0=[1,94],m0=[1,99],h0=[1,90],_0=[8,9,10,11,40,75,77,78],w0=[8,9,10,11,40,46,75,77,78],x0=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],T0=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],J0=[44,60,89,102,105,106,109,111,114,115,116],F0=[1,122],u0=[1,123],Z0=[1,125],X0=[1,124],W0=[44,60,62,74,89,102,105,106,109,111,114,115,116],Y0=[1,134],a0=[1,148],K0=[1,149],n=[1,150],d=[1,151],q0=[1,136],o=[1,138],l0=[1,142],E0=[1,143],$0=[1,144],g0=[1,145],n0=[1,146],c0=[1,147],Bu=[1,152],p0=[1,153],e0=[1,132],t0=[1,133],zu=[1,140],S0=[1,135],yu=[1,139],V0=[1,137],xu=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],gu=[1,155],Du=[1,157],Nu=[8,9,11],du=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],Iu=[1,177],v0=[1,173],Tu=[1,174],iu=[1,178],Ju=[1,175],I0=[1,176],Mu=[77,116,119],qu=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Ru=[10,106],S4=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],$u=[1,248],L4=[1,246],F3=[1,250],V4=[1,244],b4=[1,245],P4=[1,247],bu=[1,249],Lu=[1,251],pu=[1,269],g4=[8,9,11,106],y4=[8,9,10,11,60,84,105,106,109,110,111,112],B3={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:X(function(hu,f4,U4,Vu,X4,O0,Q1){var i0=O0.length-1;switch(X4){case 2:this.$=[];break;case 3:if(!Array.isArray(O0[i0])||O0[i0].length>0)O0[i0-1].push(O0[i0]);this.$=O0[i0-1];break;case 4:case 183:this.$=O0[i0];break;case 11:Vu.setDirection("TB"),this.$="TB";break;case 12:Vu.setDirection(O0[i0-1]),this.$=O0[i0-1];break;case 27:this.$=O0[i0-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Vu.addSubGraph(O0[i0-6],O0[i0-1],O0[i0-4]);break;case 34:this.$=Vu.addSubGraph(O0[i0-3],O0[i0-1],O0[i0-3]);break;case 35:this.$=Vu.addSubGraph(void 0,O0[i0-1],void 0);break;case 37:this.$=O0[i0].trim(),Vu.setAccTitle(this.$);break;case 38:case 39:this.$=O0[i0].trim(),Vu.setAccDescription(this.$);break;case 43:this.$=O0[i0-1]+O0[i0];break;case 44:this.$=O0[i0];break;case 45:Vu.addVertex(O0[i0-1][O0[i0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,O0[i0]),Vu.addLink(O0[i0-3].stmt,O0[i0-1],O0[i0-2]),this.$={stmt:O0[i0-1],nodes:O0[i0-1].concat(O0[i0-3].nodes)};break;case 46:Vu.addLink(O0[i0-2].stmt,O0[i0],O0[i0-1]),this.$={stmt:O0[i0],nodes:O0[i0].concat(O0[i0-2].nodes)};break;case 47:Vu.addLink(O0[i0-3].stmt,O0[i0-1],O0[i0-2]),this.$={stmt:O0[i0-1],nodes:O0[i0-1].concat(O0[i0-3].nodes)};break;case 48:this.$={stmt:O0[i0-1],nodes:O0[i0-1]};break;case 49:Vu.addVertex(O0[i0-1][O0[i0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,O0[i0]),this.$={stmt:O0[i0-1],nodes:O0[i0-1],shapeData:O0[i0]};break;case 50:this.$={stmt:O0[i0],nodes:O0[i0]};break;case 51:this.$=[O0[i0]];break;case 52:Vu.addVertex(O0[i0-5][O0[i0-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,O0[i0-4]),this.$=O0[i0-5].concat(O0[i0]);break;case 53:this.$=O0[i0-4].concat(O0[i0]);break;case 54:this.$=O0[i0];break;case 55:this.$=O0[i0-2],Vu.setClass(O0[i0-2],O0[i0]);break;case 56:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"square");break;case 57:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"doublecircle");break;case 58:this.$=O0[i0-5],Vu.addVertex(O0[i0-5],O0[i0-2],"circle");break;case 59:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"ellipse");break;case 60:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"stadium");break;case 61:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"subroutine");break;case 62:this.$=O0[i0-7],Vu.addVertex(O0[i0-7],O0[i0-1],"rect",void 0,void 0,void 0,Object.fromEntries([[O0[i0-5],O0[i0-3]]]));break;case 63:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"cylinder");break;case 64:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"round");break;case 65:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"diamond");break;case 66:this.$=O0[i0-5],Vu.addVertex(O0[i0-5],O0[i0-2],"hexagon");break;case 67:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"odd");break;case 68:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"trapezoid");break;case 69:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"inv_trapezoid");break;case 70:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"lean_right");break;case 71:this.$=O0[i0-3],Vu.addVertex(O0[i0-3],O0[i0-1],"lean_left");break;case 72:this.$=O0[i0],Vu.addVertex(O0[i0]);break;case 73:O0[i0-1].text=O0[i0],this.$=O0[i0-1];break;case 74:case 75:O0[i0-2].text=O0[i0-1],this.$=O0[i0-2];break;case 76:this.$=O0[i0];break;case 77:var A3=Vu.destructLink(O0[i0],O0[i0-2]);this.$={type:A3.type,stroke:A3.stroke,length:A3.length,text:O0[i0-1]};break;case 78:var A3=Vu.destructLink(O0[i0],O0[i0-2]);this.$={type:A3.type,stroke:A3.stroke,length:A3.length,text:O0[i0-1],id:O0[i0-3]};break;case 79:this.$={text:O0[i0],type:"text"};break;case 80:this.$={text:O0[i0-1].text+""+O0[i0],type:O0[i0-1].type};break;case 81:this.$={text:O0[i0],type:"string"};break;case 82:this.$={text:O0[i0],type:"markdown"};break;case 83:var A3=Vu.destructLink(O0[i0]);this.$={type:A3.type,stroke:A3.stroke,length:A3.length};break;case 84:var A3=Vu.destructLink(O0[i0]);this.$={type:A3.type,stroke:A3.stroke,length:A3.length,id:O0[i0-1]};break;case 85:this.$=O0[i0-1];break;case 86:this.$={text:O0[i0],type:"text"};break;case 87:this.$={text:O0[i0-1].text+""+O0[i0],type:O0[i0-1].type};break;case 88:this.$={text:O0[i0],type:"string"};break;case 89:case 104:this.$={text:O0[i0],type:"markdown"};break;case 101:this.$={text:O0[i0],type:"text"};break;case 102:this.$={text:O0[i0-1].text+""+O0[i0],type:O0[i0-1].type};break;case 103:this.$={text:O0[i0],type:"text"};break;case 105:this.$=O0[i0-4],Vu.addClass(O0[i0-2],O0[i0]);break;case 106:this.$=O0[i0-4],Vu.setClass(O0[i0-2],O0[i0]);break;case 107:case 115:this.$=O0[i0-1],Vu.setClickEvent(O0[i0-1],O0[i0]);break;case 108:case 116:this.$=O0[i0-3],Vu.setClickEvent(O0[i0-3],O0[i0-2]),Vu.setTooltip(O0[i0-3],O0[i0]);break;case 109:this.$=O0[i0-2],Vu.setClickEvent(O0[i0-2],O0[i0-1],O0[i0]);break;case 110:this.$=O0[i0-4],Vu.setClickEvent(O0[i0-4],O0[i0-3],O0[i0-2]),Vu.setTooltip(O0[i0-4],O0[i0]);break;case 111:this.$=O0[i0-2],Vu.setLink(O0[i0-2],O0[i0]);break;case 112:this.$=O0[i0-4],Vu.setLink(O0[i0-4],O0[i0-2]),Vu.setTooltip(O0[i0-4],O0[i0]);break;case 113:this.$=O0[i0-4],Vu.setLink(O0[i0-4],O0[i0-2],O0[i0]);break;case 114:this.$=O0[i0-6],Vu.setLink(O0[i0-6],O0[i0-4],O0[i0]),Vu.setTooltip(O0[i0-6],O0[i0-2]);break;case 117:this.$=O0[i0-1],Vu.setLink(O0[i0-1],O0[i0]);break;case 118:this.$=O0[i0-3],Vu.setLink(O0[i0-3],O0[i0-2]),Vu.setTooltip(O0[i0-3],O0[i0]);break;case 119:this.$=O0[i0-3],Vu.setLink(O0[i0-3],O0[i0-2],O0[i0]);break;case 120:this.$=O0[i0-5],Vu.setLink(O0[i0-5],O0[i0-4],O0[i0]),Vu.setTooltip(O0[i0-5],O0[i0-2]);break;case 121:this.$=O0[i0-4],Vu.addVertex(O0[i0-2],void 0,void 0,O0[i0]);break;case 122:this.$=O0[i0-4],Vu.updateLink([O0[i0-2]],O0[i0]);break;case 123:this.$=O0[i0-4],Vu.updateLink(O0[i0-2],O0[i0]);break;case 124:this.$=O0[i0-8],Vu.updateLinkInterpolate([O0[i0-6]],O0[i0-2]),Vu.updateLink([O0[i0-6]],O0[i0]);break;case 125:this.$=O0[i0-8],Vu.updateLinkInterpolate(O0[i0-6],O0[i0-2]),Vu.updateLink(O0[i0-6],O0[i0]);break;case 126:this.$=O0[i0-6],Vu.updateLinkInterpolate([O0[i0-4]],O0[i0]);break;case 127:this.$=O0[i0-6],Vu.updateLinkInterpolate(O0[i0-4],O0[i0]);break;case 128:case 130:this.$=[O0[i0]];break;case 129:case 131:O0[i0-2].push(O0[i0]),this.$=O0[i0-2];break;case 133:this.$=O0[i0-1]+O0[i0];break;case 181:this.$=O0[i0];break;case 182:this.$=O0[i0-1]+""+O0[i0];break;case 184:this.$=O0[i0-1]+""+O0[i0];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:B,10:E,12:A},{1:[3]},u(C,D,{5:6}),{4:7,9:B,10:E,12:A},{4:8,9:B,10:E,12:A},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:F,9:U,10:z,11:k,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:M,36:b,38:Z,42:28,43:39,44:J,45:40,47:41,60:K,84:w,85:Q,86:G,87:H,88:l,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y,121:h,122:I,123:O,124:V,125:j},u(C,[2,9]),u(C,[2,10]),u(C,[2,11]),{8:[1,55],9:[1,56],10:i,15:54,18:57},u(a,[2,3]),u(a,[2,4]),u(a,[2,5]),u(a,[2,6]),u(a,[2,7]),u(a,[2,8]),{8:$,9:m,11:y,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:$,9:m,11:y,21:68},{8:$,9:m,11:y,21:69},{8:$,9:m,11:y,21:70},{8:$,9:m,11:y,21:71},{8:$,9:m,11:y,21:72},{8:$,9:m,10:[1,73],11:y,21:74},u(a,[2,36]),{35:[1,75]},{37:[1,76]},u(a,[2,39]),u(r,[2,50],{18:77,39:78,10:i,40:_}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:e,44:p,60:b0,80:[1,87],89:B0,95:[1,84],97:[1,85],101:86,105:k0,106:f0,109:D0,111:P0,114:L0,115:m0,116:h0,120:88},u(a,[2,185]),u(a,[2,186]),u(a,[2,187]),u(a,[2,188]),u(a,[2,189]),u(_0,[2,51]),u(_0,[2,54],{46:[1,100]}),u(w0,[2,72],{113:113,29:[1,101],44:J,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:K,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:q,102:L,105:v,106:x,109:S,111:W,114:T,115:R,116:Y}),u(x0,[2,181]),u(x0,[2,142]),u(x0,[2,143]),u(x0,[2,144]),u(x0,[2,145]),u(x0,[2,146]),u(x0,[2,147]),u(x0,[2,148]),u(x0,[2,149]),u(x0,[2,150]),u(x0,[2,151]),u(x0,[2,152]),u(C,[2,12]),u(C,[2,18]),u(C,[2,19]),{9:[1,114]},u(T0,[2,26],{18:115,10:i}),u(a,[2,27]),{42:116,43:39,44:J,45:40,47:41,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},u(a,[2,40]),u(a,[2,41]),u(a,[2,42]),u(J0,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:F0,81:u0,116:Z0,119:X0},{75:[1,126],77:[1,127]},u(W0,[2,83]),u(a,[2,28]),u(a,[2,29]),u(a,[2,30]),u(a,[2,31]),u(a,[2,32]),{10:Y0,12:a0,14:K0,27:n,28:128,32:d,44:q0,60:o,75:l0,80:[1,130],81:[1,131],83:141,84:E0,85:$0,86:g0,87:n0,88:c0,89:Bu,90:p0,91:129,105:e0,109:t0,111:zu,114:S0,115:yu,116:V0},u(xu,D,{5:154}),u(a,[2,37]),u(a,[2,38]),u(r,[2,48],{44:gu}),u(r,[2,49],{18:156,10:i,40:Du}),u(_0,[2,44]),{44:J,47:158,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},{102:[1,159],103:160,105:[1,161]},{44:J,47:162,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},{44:J,47:163,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},u(Nu,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},u(Nu,[2,115],{120:168,10:[1,167],14:e,44:p,60:b0,89:B0,105:k0,106:f0,109:D0,111:P0,114:L0,115:m0,116:h0}),u(Nu,[2,117],{10:[1,169]}),u(du,[2,183]),u(du,[2,170]),u(du,[2,171]),u(du,[2,172]),u(du,[2,173]),u(du,[2,174]),u(du,[2,175]),u(du,[2,176]),u(du,[2,177]),u(du,[2,178]),u(du,[2,179]),u(du,[2,180]),{44:J,47:170,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},{30:171,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:179,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:181,50:[1,180],67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:182,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:183,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:184,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{109:[1,185]},{30:186,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:187,65:[1,188],67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:189,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:190,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{30:191,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},u(x0,[2,182]),u(C,[2,20]),u(T0,[2,25]),u(r,[2,46],{39:192,18:193,10:i,40:_}),u(J0,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{77:[1,197],79:198,116:Z0,119:X0},u(Mu,[2,79]),u(Mu,[2,81]),u(Mu,[2,82]),u(Mu,[2,168]),u(Mu,[2,169]),{76:199,79:121,80:F0,81:u0,116:Z0,119:X0},u(W0,[2,84]),{8:$,9:m,10:Y0,11:y,12:a0,14:K0,21:201,27:n,29:[1,200],32:d,44:q0,60:o,75:l0,83:141,84:E0,85:$0,86:g0,87:n0,88:c0,89:Bu,90:p0,91:202,105:e0,109:t0,111:zu,114:S0,115:yu,116:V0},u(qu,[2,101]),u(qu,[2,103]),u(qu,[2,104]),u(qu,[2,157]),u(qu,[2,158]),u(qu,[2,159]),u(qu,[2,160]),u(qu,[2,161]),u(qu,[2,162]),u(qu,[2,163]),u(qu,[2,164]),u(qu,[2,165]),u(qu,[2,166]),u(qu,[2,167]),u(qu,[2,90]),u(qu,[2,91]),u(qu,[2,92]),u(qu,[2,93]),u(qu,[2,94]),u(qu,[2,95]),u(qu,[2,96]),u(qu,[2,97]),u(qu,[2,98]),u(qu,[2,99]),u(qu,[2,100]),{6:11,7:12,8:F,9:U,10:z,11:k,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,203],33:24,34:M,36:b,38:Z,42:28,43:39,44:J,45:40,47:41,60:K,84:w,85:Q,86:G,87:H,88:l,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y,121:h,122:I,123:O,124:V,125:j},{10:i,18:204},{44:[1,205]},u(_0,[2,43]),{10:[1,206],44:J,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:113,114:T,115:R,116:Y},{10:[1,207]},{10:[1,208],106:[1,209]},u(Ru,[2,128]),{10:[1,210],44:J,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:113,114:T,115:R,116:Y},{10:[1,211],44:J,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:113,114:T,115:R,116:Y},{80:[1,212]},u(Nu,[2,109],{10:[1,213]}),u(Nu,[2,111],{10:[1,214]}),{80:[1,215]},u(du,[2,184]),{80:[1,216],98:[1,217]},u(_0,[2,55],{113:113,44:J,60:K,89:q,102:L,105:v,106:x,109:S,111:W,114:T,115:R,116:Y}),{31:[1,218],67:Iu,82:219,116:iu,117:Ju,118:I0},u(S4,[2,86]),u(S4,[2,88]),u(S4,[2,89]),u(S4,[2,153]),u(S4,[2,154]),u(S4,[2,155]),u(S4,[2,156]),{49:[1,220],67:Iu,82:219,116:iu,117:Ju,118:I0},{30:221,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{51:[1,222],67:Iu,82:219,116:iu,117:Ju,118:I0},{53:[1,223],67:Iu,82:219,116:iu,117:Ju,118:I0},{55:[1,224],67:Iu,82:219,116:iu,117:Ju,118:I0},{57:[1,225],67:Iu,82:219,116:iu,117:Ju,118:I0},{60:[1,226]},{64:[1,227],67:Iu,82:219,116:iu,117:Ju,118:I0},{66:[1,228],67:Iu,82:219,116:iu,117:Ju,118:I0},{30:229,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},{31:[1,230],67:Iu,82:219,116:iu,117:Ju,118:I0},{67:Iu,69:[1,231],71:[1,232],82:219,116:iu,117:Ju,118:I0},{67:Iu,69:[1,234],71:[1,233],82:219,116:iu,117:Ju,118:I0},u(r,[2,45],{18:156,10:i,40:Du}),u(r,[2,47],{44:gu}),u(J0,[2,75]),u(J0,[2,74]),{62:[1,235],67:Iu,82:219,116:iu,117:Ju,118:I0},u(J0,[2,77]),u(Mu,[2,80]),{77:[1,236],79:198,116:Z0,119:X0},{30:237,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},u(xu,D,{5:238}),u(qu,[2,102]),u(a,[2,35]),{43:239,44:J,45:40,47:41,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},{10:i,18:240},{10:$u,60:L4,84:F3,92:241,105:V4,107:242,108:243,109:b4,110:P4,111:bu,112:Lu},{10:$u,60:L4,84:F3,92:252,104:[1,253],105:V4,107:242,108:243,109:b4,110:P4,111:bu,112:Lu},{10:$u,60:L4,84:F3,92:254,104:[1,255],105:V4,107:242,108:243,109:b4,110:P4,111:bu,112:Lu},{105:[1,256]},{10:$u,60:L4,84:F3,92:257,105:V4,107:242,108:243,109:b4,110:P4,111:bu,112:Lu},{44:J,47:258,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},u(Nu,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},u(Nu,[2,116]),u(Nu,[2,118],{10:[1,262]}),u(Nu,[2,119]),u(w0,[2,56]),u(S4,[2,87]),u(w0,[2,57]),{51:[1,263],67:Iu,82:219,116:iu,117:Ju,118:I0},u(w0,[2,64]),u(w0,[2,59]),u(w0,[2,60]),u(w0,[2,61]),{109:[1,264]},u(w0,[2,63]),u(w0,[2,65]),{66:[1,265],67:Iu,82:219,116:iu,117:Ju,118:I0},u(w0,[2,67]),u(w0,[2,68]),u(w0,[2,70]),u(w0,[2,69]),u(w0,[2,71]),u([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),u(J0,[2,78]),{31:[1,266],67:Iu,82:219,116:iu,117:Ju,118:I0},{6:11,7:12,8:F,9:U,10:z,11:k,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,267],33:24,34:M,36:b,38:Z,42:28,43:39,44:J,45:40,47:41,60:K,84:w,85:Q,86:G,87:H,88:l,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y,121:h,122:I,123:O,124:V,125:j},u(_0,[2,53]),{43:268,44:J,45:40,47:41,60:K,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y},u(Nu,[2,121],{106:pu}),u(g4,[2,130],{108:270,10:$u,60:L4,84:F3,105:V4,109:b4,110:P4,111:bu,112:Lu}),u(y4,[2,132]),u(y4,[2,134]),u(y4,[2,135]),u(y4,[2,136]),u(y4,[2,137]),u(y4,[2,138]),u(y4,[2,139]),u(y4,[2,140]),u(y4,[2,141]),u(Nu,[2,122],{106:pu}),{10:[1,271]},u(Nu,[2,123],{106:pu}),{10:[1,272]},u(Ru,[2,129]),u(Nu,[2,105],{106:pu}),u(Nu,[2,106],{113:113,44:J,60:K,89:q,102:L,105:v,106:x,109:S,111:W,114:T,115:R,116:Y}),u(Nu,[2,110]),u(Nu,[2,112],{10:[1,273]}),u(Nu,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:$,9:m,11:y,21:278},u(a,[2,34]),u(_0,[2,52]),{10:$u,60:L4,84:F3,105:V4,107:279,108:243,109:b4,110:P4,111:bu,112:Lu},u(y4,[2,133]),{14:e,44:p,60:b0,89:B0,101:280,105:k0,106:f0,109:D0,111:P0,114:L0,115:m0,116:h0,120:88},{14:e,44:p,60:b0,89:B0,101:281,105:k0,106:f0,109:D0,111:P0,114:L0,115:m0,116:h0,120:88},{98:[1,282]},u(Nu,[2,120]),u(w0,[2,58]),{30:283,67:Iu,80:v0,81:Tu,82:172,116:iu,117:Ju,118:I0},u(w0,[2,66]),u(xu,D,{5:284}),u(g4,[2,131],{108:270,10:$u,60:L4,84:F3,105:V4,109:b4,110:P4,111:bu,112:Lu}),u(Nu,[2,126],{120:168,10:[1,285],14:e,44:p,60:b0,89:B0,105:k0,106:f0,109:D0,111:P0,114:L0,115:m0,116:h0}),u(Nu,[2,127],{120:168,10:[1,286],14:e,44:p,60:b0,89:B0,105:k0,106:f0,109:D0,111:P0,114:L0,115:m0,116:h0}),u(Nu,[2,114]),{31:[1,287],67:Iu,82:219,116:iu,117:Ju,118:I0},{6:11,7:12,8:F,9:U,10:z,11:k,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,288],33:24,34:M,36:b,38:Z,42:28,43:39,44:J,45:40,47:41,60:K,84:w,85:Q,86:G,87:H,88:l,89:q,102:L,105:v,106:x,109:S,111:W,113:42,114:T,115:R,116:Y,121:h,122:I,123:O,124:V,125:j},{10:$u,60:L4,84:F3,92:289,105:V4,107:242,108:243,109:b4,110:P4,111:bu,112:Lu},{10:$u,60:L4,84:F3,92:290,105:V4,107:242,108:243,109:b4,110:P4,111:bu,112:Lu},u(w0,[2,62]),u(a,[2,33]),u(Nu,[2,124],{106:pu}),u(Nu,[2,125],{106:pu})],defaultActions:{},parseError:X(function(hu,f4){if(f4.recoverable)this.trace(hu);else{var U4=Error(hu);throw U4.hash=f4,U4}},"parseError"),parse:X(function(hu){var f4=this,U4=[0],Vu=[],X4=[null],O0=[],Q1=this.table,i0="",A3=0,b6=0,m2=0,t9=2,MB=1,_3=O0.slice.call(arguments,1),Y6=Object.create(this.lexer),q5={yy:{}};for(var bB in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,bB))q5.yy[bB]=this.yy[bB];if(Y6.setInput(hu,q5.yy),q5.yy.lexer=Y6,q5.yy.parser=this,typeof Y6.yylloc>"u")Y6.yylloc={};var e9=Y6.yylloc;O0.push(e9);var Kz=Y6.options&&Y6.options.ranges;if(typeof q5.yy.parseError==="function")this.parseError=q5.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function $2(n3){U4.length=U4.length-2*n3,X4.length=X4.length-n3,O0.length=O0.length-n3}X($2,"popStack");function wz(){var n3=Vu.pop()||Y6.lex()||MB;if(typeof n3!=="number"){if(n3 instanceof Array)Vu=n3,n3=Vu.pop();n3=f4.symbols_[n3]||n3}return n3}X(wz,"lex");var u2,Qz,uE,y2,XJ,su,N0={},fu,au,J4,v4;while(!0){if(uE=U4[U4.length-1],this.defaultActions[uE])y2=this.defaultActions[uE];else{if(u2===null||typeof u2>"u")u2=wz();y2=Q1[uE]&&Q1[uE][u2]}if(typeof y2>"u"||!y2.length||!y2[0]){var d4="";v4=[];for(fu in Q1[uE])if(this.terminals_[fu]&&fu>t9)v4.push("'"+this.terminals_[fu]+"'");if(Y6.showPosition)d4="Parse error on line "+(A3+1)+`:
`+Y6.showPosition()+`
Expecting `+v4.join(", ")+", got '"+(this.terminals_[u2]||u2)+"'";else d4="Parse error on line "+(A3+1)+": Unexpected "+(u2==MB?"end of input":"'"+(this.terminals_[u2]||u2)+"'");this.parseError(d4,{text:Y6.match,token:this.terminals_[u2]||u2,line:Y6.yylineno,loc:e9,expected:v4})}if(y2[0]instanceof Array&&y2.length>1)throw Error("Parse Error: multiple actions possible at state: "+uE+", token: "+u2);switch(y2[0]){case 1:if(U4.push(u2),X4.push(Y6.yytext),O0.push(Y6.yylloc),U4.push(y2[1]),u2=null,!Qz){if(b6=Y6.yyleng,i0=Y6.yytext,A3=Y6.yylineno,e9=Y6.yylloc,m2>0)m2--}else u2=Qz,Qz=null;break;case 2:if(au=this.productions_[y2[1]][1],N0.$=X4[X4.length-au],N0._$={first_line:O0[O0.length-(au||1)].first_line,last_line:O0[O0.length-1].last_line,first_column:O0[O0.length-(au||1)].first_column,last_column:O0[O0.length-1].last_column},Kz)N0._$.range=[O0[O0.length-(au||1)].range[0],O0[O0.length-1].range[1]];if(su=this.performAction.apply(N0,[i0,b6,A3,q5.yy,y2[1],X4,O0].concat(_3)),typeof su<"u")return su;if(au)U4=U4.slice(0,-1*au*2),X4=X4.slice(0,-1*au),O0=O0.slice(0,-1*au);U4.push(this.productions_[y2[1]][0]),X4.push(N0.$),O0.push(N0._$),J4=Q1[U4[U4.length-2]][U4[U4.length-1]],U4.push(J4);break;case 3:return!0}}return!0},"parse")},k1=function(){var eu={EOF:1,parseError:X(function(f4,U4){if(this.yy.parser)this.yy.parser.parseError(f4,U4);else throw Error(f4)},"parseError"),setInput:X(function(hu,f4){if(this.yy=f4||this.yy||{},this._input=hu,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var hu=this._input[0];this.yytext+=hu,this.yyleng++,this.offset++,this.match+=hu,this.matched+=hu;var f4=hu.match(/(?:\r\n?|\n).*/g);if(f4)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),hu},"input"),unput:X(function(hu){var f4=hu.length,U4=hu.split(/(?:\r\n?|\n)/g);this._input=hu+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f4),this.offset-=f4;var Vu=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),U4.length-1)this.yylineno-=U4.length-1;var X4=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:U4?(U4.length===Vu.length?this.yylloc.first_column:0)+Vu[Vu.length-U4.length].length-U4[0].length:this.yylloc.first_column-f4},this.options.ranges)this.yylloc.range=[X4[0],X4[0]+this.yyleng-f4];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(hu){this.unput(this.match.slice(hu))},"less"),pastInput:X(function(){var hu=this.matched.substr(0,this.matched.length-this.match.length);return(hu.length>20?"...":"")+hu.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var hu=this.match;if(hu.length<20)hu+=this._input.substr(0,20-hu.length);return(hu.substr(0,20)+(hu.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var hu=this.pastInput(),f4=Array(hu.length+1).join("-");return hu+this.upcomingInput()+`
`+f4+"^"},"showPosition"),test_match:X(function(hu,f4){var U4,Vu,X4;if(this.options.backtrack_lexer){if(X4={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)X4.yylloc.range=this.yylloc.range.slice(0)}if(Vu=hu[0].match(/(?:\r\n?|\n).*/g),Vu)this.yylineno+=Vu.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Vu?Vu[Vu.length-1].length-Vu[Vu.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+hu[0].length},this.yytext+=hu[0],this.match+=hu[0],this.matches=hu,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(hu[0].length),this.matched+=hu[0],U4=this.performAction.call(this,this.yy,this,f4,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(U4)return U4;else if(this._backtrack){for(var O0 in X4)this[O0]=X4[O0];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var hu,f4,U4,Vu;if(!this._more)this.yytext="",this.match="";var X4=this._currentRules();for(var O0=0;O0<X4.length;O0++)if(U4=this._input.match(this.rules[X4[O0]]),U4&&(!f4||U4[0].length>f4[0].length)){if(f4=U4,Vu=O0,this.options.backtrack_lexer)if(hu=this.test_match(U4,X4[O0]),hu!==!1)return hu;else if(this._backtrack){f4=!1;continue}else return!1;else if(!this.options.flex)break}if(f4){if(hu=this.test_match(f4,X4[Vu]),hu!==!1)return hu;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var f4=this.next();if(f4)return f4;else return this.lex()},"lex"),begin:X(function(f4){this.conditionStack.push(f4)},"begin"),popState:X(function(){var f4=this.conditionStack.length-1;if(f4>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(f4){if(f4=this.conditionStack.length-1-Math.abs(f4||0),f4>=0)return this.conditionStack[f4];else return"INITIAL"},"topState"),pushState:X(function(f4){this.begin(f4)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:X(function(f4,U4,Vu,X4){var O0=X4;switch(Vu){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),U4.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Q1=/\n\s*/g;return U4.yytext=U4.yytext.replace(Q1,"<br/>"),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:if(f4.lex.firstGraph())this.begin("dir");return 12;case 36:if(f4.lex.firstGraph())this.begin("dir");return 12;case 37:if(f4.lex.firstGraph())this.begin("dir");return 12;case 38:if(f4.lex.firstGraph())this.begin("dir");return 12;case 39:return 27;case 40:return 32;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return 98;case 45:return this.popState(),13;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return this.popState(),14;break;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:return 111;case 64:return 46;case 65:return 60;case 66:return 44;case 67:return 8;case 68:return 106;case 69:return 115;case 70:return this.popState(),77;break;case 71:return this.pushState("edgeText"),75;break;case 72:return 119;case 73:return this.popState(),77;break;case 74:return this.pushState("thickEdgeText"),75;break;case 75:return 119;case 76:return this.popState(),77;break;case 77:return this.pushState("dottedEdgeText"),75;break;case 78:return 119;case 79:return 77;case 80:return this.popState(),53;break;case 81:return"TEXT";case 82:return this.pushState("ellipseText"),52;break;case 83:return this.popState(),55;break;case 84:return this.pushState("text"),54;break;case 85:return this.popState(),57;break;case 86:return this.pushState("text"),56;break;case 87:return 58;case 88:return this.pushState("text"),67;break;case 89:return this.popState(),64;break;case 90:return this.pushState("text"),63;break;case 91:return this.popState(),49;break;case 92:return this.pushState("text"),48;break;case 93:return this.popState(),69;break;case 94:return this.popState(),71;break;case 95:return 117;case 96:return this.pushState("trapText"),68;break;case 97:return this.pushState("trapText"),70;break;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 103:return 115;case 104:return 111;case 105:return 44;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;break;case 110:return this.pushState("text"),62;break;case 111:return this.popState(),51;break;case 112:return this.pushState("text"),50;break;case 113:return this.popState(),31;break;case 114:return this.pushState("text"),29;break;case 115:return this.popState(),66;break;case 116:return this.pushState("text"),65;break;case 117:return"TEXT";case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}};return eu}();B3.lexer=k1;function E3(){this.yy={}}return X(E3,"Parser"),E3.prototype=B3,B3.Parser=E3,new E3}();T70.parser=T70;Z_0=T70,J_0=Object.assign({},Z_0);J_0.parse=(u)=>{let B=u.replace(/}\s*\n/g,`}
`);return Z_0.parse(B)};UL4=J_0,zL4=X((u,B)=>{let E=WJ,A=E(u,"r"),C=E(u,"g"),D=E(u,"b");return B2(A,C,D,B)},"fade"),kL4=X((u)=>`.label {
font-family: ${u.fontFamily};
color: ${u.nodeTextColor||u.textColor};
}
.cluster-label text {
fill: ${u.titleColor};
}
.cluster-label span {
color: ${u.titleColor};
}
.cluster-label span p {
background-color: transparent;
}
.label text,span {
fill: ${u.nodeTextColor||u.textColor};
color: ${u.nodeTextColor||u.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
stroke-width: ${u.strokeWidth??1}px;
}
.rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {
text-anchor: middle;
}
.node .katex path {
fill: #000;
stroke: #000;
stroke-width: 1px;
}
.rough-node .label,.node .label, .image-shape .label, .icon-shape .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.root .anchor path {
fill: ${u.lineColor} !important;
stroke-width: 0;
stroke: ${u.lineColor};
}
.arrowheadPath {
fill: ${u.arrowheadColor};
}
.edgePath .path {
stroke: ${u.lineColor};
stroke-width: ${u.strokeWidth??2}px;
}
.flowchart-link {
stroke: ${u.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${u.edgeLabelBackground};
p {
background-color: ${u.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${u.edgeLabelBackground};
fill: ${u.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${zL4(u.edgeLabelBackground,0.5)};
// background-color:
}
.cluster rect {
fill: ${u.clusterBkg};
stroke: ${u.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${u.titleColor};
}
.cluster span {
color: ${u.titleColor};
}
/* .cluster div {
color: ${u.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${u.fontFamily};
font-size: 12px;
background: ${u.tertiaryColor};
border: 1px solid ${u.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${u.textColor};
}
rect.text {
fill: none;
stroke-width: 0;
}
.icon-shape, .image-shape {
background-color: ${u.edgeLabelBackground};
p {
background-color: ${u.edgeLabelBackground};
padding: 2px;
}
.label rect {
opacity: 0.5;
background-color: ${u.edgeLabelBackground};
fill: ${u.edgeLabelBackground};
}
text-align: center;
}
${EU()}
`,"getStyles"),O70=kL4,wY=X(({defaultLayout:u,styles:B=O70}={})=>({parser:UL4,get db(){return new AL4},renderer:FL4,styles:B,init:X((E)=>{if(!E.flowchart)E.flowchart={};let A=tj().layout??u??E.layout;if(A)Yx({layout:A});E.flowchart.arrowMarkerAbsolute=E.arrowMarkerAbsolute,Yx({flowchart:{arrowMarkerAbsolute:E.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),K_0=wY()});var am={};ju(am,{diagram:()=>K_0,createFlowDiagram:()=>wY});var mm=g(()=>{I70();AU();qE();x8();EK();L8();HE();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4()});var w_0={};ju(w_0,{diagram:()=>bL4});var fL4,ML4,bL4;var Q_0=g(()=>{I70();AU();qE();x8();EK();L8();HE();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();fL4=X((u)=>`${O70(u)}
.swimlane.cluster rect {
stroke: ${u.clusterBorder} !important;
}
[data-look="neo"].cluster rect {
filter: none;
}
`,"getStyles"),ML4=fL4,bL4=wY({defaultLayout:"swimlane",styles:ML4})});var q_0={};ju(q_0,{diagram:()=>HL4});var P70,ZL4,JL4,H_0,KL4,G_0,$m,wL4,QL4,GL4,HL4;var l_0=g(()=>{qE();x8();L8();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();V3();G2();P70=function(){var u=X(function(m0,h0,_0,w0){for(_0=_0||{},w0=m0.length;w0--;_0[m0[w0]]=h0);return _0},"o"),B=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],E=[1,10],A=[1,11],C=[1,12],D=[1,13],F=[1,23],U=[1,24],z=[1,25],k=[1,26],f=[1,27],M=[1,19],b=[1,28],Z=[1,29],J=[1,20],K=[1,18],w=[1,21],Q=[1,22],G=[1,36],H=[1,37],l=[1,38],q=[1,39],L=[1,40],v=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],x=[1,45],S=[1,46],W=[1,55],T=[40,48,50,51,52,71,72],R=[1,66],Y=[1,64],h=[1,61],I=[1,65],O=[1,67],V=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],j=[66,67,68,69,70],i=[1,85],a=[1,84],$=[1,82],m=[1,83],y=[6,10,42,47],r=[6,10,13,41,42,47,48,49],_=[1,93],e=[1,92],p=[1,91],b0=[19,58],B0=[1,102],k0=[1,101],f0=[19,58,61,63],D0={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:X(function(h0,_0,w0,x0,T0,J0,F0){var u0=J0.length-1;switch(T0){case 1:break;case 2:this.$=[];break;case 3:J0[u0-1].push(J0[u0]),this.$=J0[u0-1];break;case 4:case 5:this.$=J0[u0];break;case 6:case 7:this.$=[];break;case 8:x0.addEntity(J0[u0-4]),x0.addEntity(J0[u0-2]),x0.addRelationship(J0[u0-4],J0[u0],J0[u0-2],J0[u0-3]);break;case 9:x0.addEntity(J0[u0-8]),x0.addEntity(J0[u0-4]),x0.addRelationship(J0[u0-8],J0[u0],J0[u0-4],J0[u0-5]),x0.setClass([J0[u0-8]],J0[u0-6]),x0.setClass([J0[u0-4]],J0[u0-2]);break;case 10:x0.addEntity(J0[u0-6]),x0.addEntity(J0[u0-2]),x0.addRelationship(J0[u0-6],J0[u0],J0[u0-2],J0[u0-3]),x0.setClass([J0[u0-6]],J0[u0-4]);break;case 11:x0.addEntity(J0[u0-6]),x0.addEntity(J0[u0-4]),x0.addRelationship(J0[u0-6],J0[u0],J0[u0-4],J0[u0-5]),x0.setClass([J0[u0-4]],J0[u0-2]);break;case 12:x0.addEntity(J0[u0-3]),x0.addAttributes(J0[u0-3],J0[u0-1]);break;case 13:x0.addEntity(J0[u0-5]),x0.addAttributes(J0[u0-5],J0[u0-1]),x0.setClass([J0[u0-5]],J0[u0-3]);break;case 14:x0.addEntity(J0[u0-2]);break;case 15:x0.addEntity(J0[u0-4]),x0.setClass([J0[u0-4]],J0[u0-2]);break;case 16:x0.addEntity(J0[u0]);break;case 17:x0.addEntity(J0[u0-2]),x0.setClass([J0[u0-2]],J0[u0]);break;case 18:x0.addEntity(J0[u0-6],J0[u0-4]),x0.addAttributes(J0[u0-6],J0[u0-1]);break;case 19:x0.addEntity(J0[u0-8],J0[u0-6]),x0.addAttributes(J0[u0-8],J0[u0-1]),x0.setClass([J0[u0-8]],J0[u0-3]);break;case 20:x0.addEntity(J0[u0-5],J0[u0-3]);break;case 21:x0.addEntity(J0[u0-7],J0[u0-5]),x0.setClass([J0[u0-7]],J0[u0-2]);break;case 22:x0.addEntity(J0[u0-3],J0[u0-1]);break;case 23:x0.addEntity(J0[u0-5],J0[u0-3]),x0.setClass([J0[u0-5]],J0[u0]);break;case 24:case 25:this.$=J0[u0].trim(),x0.setAccTitle(this.$);break;case 26:case 27:this.$=J0[u0].trim(),x0.setAccDescription(this.$);break;case 32:x0.setDirection("TB");break;case 33:x0.setDirection("BT");break;case 34:x0.setDirection("RL");break;case 35:x0.setDirection("LR");break;case 36:this.$=J0[u0-3],x0.addClass(J0[u0-2],J0[u0-1]);break;case 37:case 38:case 59:case 68:this.$=[J0[u0]];break;case 39:case 40:this.$=J0[u0-2].concat([J0[u0]]);break;case 41:this.$=J0[u0-2],x0.setClass(J0[u0-1],J0[u0]);break;case 42:this.$=J0[u0-3],x0.addCssStyles(J0[u0-2],J0[u0-1]);break;case 43:this.$=[J0[u0]];break;case 44:J0[u0-2].push(J0[u0]),this.$=J0[u0-2];break;case 46:this.$=J0[u0-1]+J0[u0];break;case 54:case 80:case 81:this.$=J0[u0].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 82:this.$=J0[u0];break;case 60:J0[u0].push(J0[u0-1]),this.$=J0[u0];break;case 61:this.$={type:J0[u0-1],name:J0[u0]};break;case 62:this.$={type:J0[u0-2],name:J0[u0-1],keys:J0[u0]};break;case 63:this.$={type:J0[u0-2],name:J0[u0-1],comment:J0[u0]};break;case 64:this.$={type:J0[u0-3],name:J0[u0-2],keys:J0[u0-1],comment:J0[u0]};break;case 65:case 67:case 70:this.$=J0[u0];break;case 66:this.$=J0[u0-1]+J0[u0];break;case 69:J0[u0-2].push(J0[u0]),this.$=J0[u0-2];break;case 71:this.$=J0[u0].replace(/"/g,"");break;case 72:this.$={cardA:J0[u0],relType:J0[u0-1],cardB:J0[u0-2]};break;case 73:this.$=x0.Cardinality.ZERO_OR_ONE;break;case 74:this.$=x0.Cardinality.ZERO_OR_MORE;break;case 75:this.$=x0.Cardinality.ONE_OR_MORE;break;case 76:this.$=x0.Cardinality.ONLY_ONE;break;case 77:this.$=x0.Cardinality.MD_PARENT;break;case 78:this.$=x0.Identification.NON_IDENTIFYING;break;case 79:this.$=x0.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},u(B,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:E,24:A,26:C,28:D,29:14,30:15,31:16,32:17,33:F,34:U,35:z,36:k,37:f,40:M,43:b,44:Z,48:J,50:K,51:w,52:Q},u(B,[2,7],{1:[2,1]}),u(B,[2,3]),{9:30,11:9,22:E,24:A,26:C,28:D,29:14,30:15,31:16,32:17,33:F,34:U,35:z,36:k,37:f,40:M,43:b,44:Z,48:J,50:K,51:w,52:Q},u(B,[2,5]),u(B,[2,6]),u(B,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:G,67:H,68:l,69:q,70:L}),{23:[1,41]},{25:[1,42]},{27:[1,43]},u(B,[2,27]),u(B,[2,28]),u(B,[2,29]),u(B,[2,30]),u(B,[2,31]),u(v,[2,54]),u(v,[2,55]),u(v,[2,56]),u(v,[2,57]),u(v,[2,58]),u(B,[2,32]),u(B,[2,33]),u(B,[2,34]),u(B,[2,35]),{16:44,40:x,41:S},{16:47,40:x,41:S},{16:48,40:x,41:S},u(B,[2,4]),{11:49,40:M,48:J,50:K,51:w,52:Q},{16:50,40:x,41:S},{18:51,19:[1,52],53:53,54:54,58:W},{11:56,40:M,48:J,50:K,51:w,52:Q},{65:57,71:[1,58],72:[1,59]},u(T,[2,73]),u(T,[2,74]),u(T,[2,75]),u(T,[2,76]),u(T,[2,77]),u(B,[2,24]),u(B,[2,25]),u(B,[2,26]),{13:R,38:60,41:Y,42:h,45:62,46:63,48:I,49:O},u(V,[2,37]),u(V,[2,38]),{16:68,40:x,41:S,42:h},{13:R,38:69,41:Y,42:h,45:62,46:63,48:I,49:O},{13:[1,70],15:[1,71]},u(B,[2,17],{64:35,12:72,17:[1,73],42:h,66:G,67:H,68:l,69:q,70:L}),{19:[1,74]},u(B,[2,14]),{18:75,19:[2,59],53:53,54:54,58:W},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:G,67:H,68:l,69:q,70:L},u(j,[2,78]),u(j,[2,79]),{6:i,10:a,39:81,42:$,47:m},{40:[1,86],41:[1,87]},u(y,[2,43],{46:88,13:R,41:Y,48:I,49:O}),u(r,[2,45]),u(r,[2,50]),u(r,[2,51]),u(r,[2,52]),u(r,[2,53]),u(B,[2,41],{42:h}),{6:i,10:a,39:89,42:$,47:m},{14:90,40:_,50:e,73:p},{16:94,40:x,41:S},{11:95,40:M,48:J,50:K,51:w,52:Q},{18:96,19:[1,97],53:53,54:54,58:W},u(B,[2,12]),{19:[2,60]},u(b0,[2,61],{56:98,57:99,60:100,62:B0,63:k0}),u([19,58,62,63],[2,67]),{58:[2,66]},u(B,[2,22],{15:[1,104],17:[1,103]}),u([40,48,50,51,52],[2,72]),u(B,[2,36]),{13:R,41:Y,45:105,46:63,48:I,49:O},u(B,[2,47]),u(B,[2,48]),u(B,[2,49]),u(V,[2,39]),u(V,[2,40]),u(r,[2,46]),u(B,[2,42]),u(B,[2,8]),u(B,[2,80]),u(B,[2,81]),u(B,[2,82]),{13:[1,106],42:h},{13:[1,108],15:[1,107]},{19:[1,109]},u(B,[2,15]),u(b0,[2,62],{57:110,61:[1,111],63:k0}),u(b0,[2,63]),u(f0,[2,68]),u(b0,[2,71]),u(f0,[2,70]),{18:112,19:[1,113],53:53,54:54,58:W},{16:114,40:x,41:S},u(y,[2,44],{46:88,13:R,41:Y,48:I,49:O}),{14:115,40:_,50:e,73:p},{16:116,40:x,41:S},{14:117,40:_,50:e,73:p},u(B,[2,13]),u(b0,[2,64]),{60:118,62:B0},{19:[1,119]},u(B,[2,20]),u(B,[2,23],{17:[1,120],42:h}),u(B,[2,11]),{13:[1,121],42:h},u(B,[2,10]),u(f0,[2,69]),u(B,[2,18]),{18:122,19:[1,123],53:53,54:54,58:W},{14:124,40:_,50:e,73:p},{19:[1,125]},u(B,[2,21]),u(B,[2,9]),u(B,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:X(function(h0,_0){if(_0.recoverable)this.trace(h0);else{var w0=Error(h0);throw w0.hash=_0,w0}},"parseError"),parse:X(function(h0){var _0=this,w0=[0],x0=[],T0=[null],J0=[],F0=this.table,u0="",Z0=0,X0=0,W0=0,Y0=2,a0=1,K0=J0.slice.call(arguments,1),n=Object.create(this.lexer),d={yy:{}};for(var q0 in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,q0))d.yy[q0]=this.yy[q0];if(n.setInput(h0,d.yy),d.yy.lexer=n,d.yy.parser=this,typeof n.yylloc>"u")n.yylloc={};var o=n.yylloc;J0.push(o);var l0=n.options&&n.options.ranges;if(typeof d.yy.parseError==="function")this.parseError=d.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function E0(gu){w0.length=w0.length-2*gu,T0.length=T0.length-gu,J0.length=J0.length-gu}X(E0,"popStack");function $0(){var gu=x0.pop()||n.lex()||a0;if(typeof gu!=="number"){if(gu instanceof Array)x0=gu,gu=x0.pop();gu=_0.symbols_[gu]||gu}return gu}X($0,"lex");var g0,n0,c0,Bu,p0,e0,t0={},zu,S0,yu,V0;while(!0){if(c0=w0[w0.length-1],this.defaultActions[c0])Bu=this.defaultActions[c0];else{if(g0===null||typeof g0>"u")g0=$0();Bu=F0[c0]&&F0[c0][g0]}if(typeof Bu>"u"||!Bu.length||!Bu[0]){var xu="";V0=[];for(zu in F0[c0])if(this.terminals_[zu]&&zu>Y0)V0.push("'"+this.terminals_[zu]+"'");if(n.showPosition)xu="Parse error on line "+(Z0+1)+`:
`+n.showPosition()+`
Expecting `+V0.join(", ")+", got '"+(this.terminals_[g0]||g0)+"'";else xu="Parse error on line "+(Z0+1)+": Unexpected "+(g0==a0?"end of input":"'"+(this.terminals_[g0]||g0)+"'");this.parseError(xu,{text:n.match,token:this.terminals_[g0]||g0,line:n.yylineno,loc:o,expected:V0})}if(Bu[0]instanceof Array&&Bu.length>1)throw Error("Parse Error: multiple actions possible at state: "+c0+", token: "+g0);switch(Bu[0]){case 1:if(w0.push(g0),T0.push(n.yytext),J0.push(n.yylloc),w0.push(Bu[1]),g0=null,!n0){if(X0=n.yyleng,u0=n.yytext,Z0=n.yylineno,o=n.yylloc,W0>0)W0--}else g0=n0,n0=null;break;case 2:if(S0=this.productions_[Bu[1]][1],t0.$=T0[T0.length-S0],t0._$={first_line:J0[J0.length-(S0||1)].first_line,last_line:J0[J0.length-1].last_line,first_column:J0[J0.length-(S0||1)].first_column,last_column:J0[J0.length-1].last_column},l0)t0._$.range=[J0[J0.length-(S0||1)].range[0],J0[J0.length-1].range[1]];if(e0=this.performAction.apply(t0,[u0,X0,Z0,d.yy,Bu[1],T0,J0].concat(K0)),typeof e0<"u")return e0;if(S0)w0=w0.slice(0,-1*S0*2),T0=T0.slice(0,-1*S0),J0=J0.slice(0,-1*S0);w0.push(this.productions_[Bu[1]][0]),T0.push(t0.$),J0.push(t0._$),yu=F0[w0[w0.length-2]][w0[w0.length-1]],w0.push(yu);break;case 3:return!0}}return!0},"parse")},P0=function(){var m0={EOF:1,parseError:X(function(_0,w0){if(this.yy.parser)this.yy.parser.parseError(_0,w0);else throw Error(_0)},"parseError"),setInput:X(function(h0,_0){if(this.yy=_0||this.yy||{},this._input=h0,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var h0=this._input[0];this.yytext+=h0,this.yyleng++,this.offset++,this.match+=h0,this.matched+=h0;var _0=h0.match(/(?:\r\n?|\n).*/g);if(_0)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),h0},"input"),unput:X(function(h0){var _0=h0.length,w0=h0.split(/(?:\r\n?|\n)/g);this._input=h0+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_0),this.offset-=_0;var x0=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),w0.length-1)this.yylineno-=w0.length-1;var T0=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:w0?(w0.length===x0.length?this.yylloc.first_column:0)+x0[x0.length-w0.length].length-w0[0].length:this.yylloc.first_column-_0},this.options.ranges)this.yylloc.range=[T0[0],T0[0]+this.yyleng-_0];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(h0){this.unput(this.match.slice(h0))},"less"),pastInput:X(function(){var h0=this.matched.substr(0,this.matched.length-this.match.length);return(h0.length>20?"...":"")+h0.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var h0=this.match;if(h0.length<20)h0+=this._input.substr(0,20-h0.length);return(h0.substr(0,20)+(h0.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var h0=this.pastInput(),_0=Array(h0.length+1).join("-");return h0+this.upcomingInput()+`
`+_0+"^"},"showPosition"),test_match:X(function(h0,_0){var w0,x0,T0;if(this.options.backtrack_lexer){if(T0={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)T0.yylloc.range=this.yylloc.range.slice(0)}if(x0=h0[0].match(/(?:\r\n?|\n).*/g),x0)this.yylineno+=x0.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x0?x0[x0.length-1].length-x0[x0.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h0[0].length},this.yytext+=h0[0],this.match+=h0[0],this.matches=h0,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(h0[0].length),this.matched+=h0[0],w0=this.performAction.call(this,this.yy,this,_0,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(w0)return w0;else if(this._backtrack){for(var J0 in T0)this[J0]=T0[J0];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var h0,_0,w0,x0;if(!this._more)this.yytext="",this.match="";var T0=this._currentRules();for(var J0=0;J0<T0.length;J0++)if(w0=this._input.match(this.rules[T0[J0]]),w0&&(!_0||w0[0].length>_0[0].length)){if(_0=w0,x0=J0,this.options.backtrack_lexer)if(h0=this.test_match(w0,T0[J0]),h0!==!1)return h0;else if(this._backtrack){_0=!1;continue}else return!1;else if(!this.options.flex)break}if(_0){if(h0=this.test_match(_0,T0[x0]),h0!==!1)return h0;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var _0=this.next();if(_0)return _0;else return this.lex()},"lex"),begin:X(function(_0){this.conditionStack.push(_0)},"begin"),popState:X(function(){var _0=this.conditionStack.length-1;if(_0>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(_0){if(_0=this.conditionStack.length-1-Math.abs(_0||0),_0>=0)return this.conditionStack[_0];else return"INITIAL"},"topState"),pushState:X(function(_0){this.begin(_0)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(_0,w0,x0,T0){var J0=T0;switch(x0){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 73;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 62;case 25:return 58;case 26:return 58;case 27:this.begin("block_bq");break;case 28:return 58;case 29:this.popState();break;case 30:return 63;case 31:break;case 32:return this.popState(),19;break;case 33:return w0.yytext[0];case 34:return 20;case 35:return 21;case 36:return this.begin("style"),44;break;case 37:return this.popState(),10;break;case 38:break;case 39:return 13;case 40:return 42;case 41:return 49;case 42:return this.begin("style"),37;break;case 43:return 43;case 44:return 66;case 45:return 68;case 46:return 68;case 47:return 68;case 48:return 66;case 49:return 66;case 50:return 67;case 51:return 67;case 52:return 67;case 53:return 67;case 54:return 67;case 55:return 68;case 56:return 67;case 57:return 68;case 58:return 69;case 59:return 69;case 60:return 51;case 61:return 69;case 62:return 69;case 63:return 69;case 64:return 52;case 65:return 48;case 66:return 69;case 67:return 66;case 68:return 67;case 69:return 68;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 72;case 74:return 71;case 75:return 71;case 76:return 71;case 77:return 41;case 78:return 47;case 79:return 40;case 80:return w0.yytext[0];case 81:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[37,38,39,40,41,77,78],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[28,29],inclusive:!1},block:{rules:[23,24,25,26,27,30,31,32,33],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,34,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,79,80,81],inclusive:!0}}};return m0}();D0.lexer=P0;function L0(){this.yy={}}return X(L0,"Parser"),L0.prototype=D0,D0.Parser=L0,new L0}();P70.parser=P70;ZL4=P70,JL4=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=w3,this.getAccTitle=q3,this.setAccDescription=l3,this.getAccDescription=L3,this.setDiagramTitle=T3,this.getDiagramTitle=X3,this.getConfig=X(()=>y0().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{X(this,"ErDB")}addEntity(u,B=""){if(!this.entities.has(u))this.entities.set(u,{id:`entity-${u}-${this.entities.size}`,label:u,attributes:[],alias:B,shape:"erBox",look:y0().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),z0.info("Added new entity :",u);else if(!this.entities.get(u)?.alias&&B)this.entities.get(u).alias=B,z0.info(`Add alias '${B}' to entity '${u}'`);return this.entities.get(u)}getEntity(u){return this.entities.get(u)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(u,B){let E=this.addEntity(u),A;for(A=B.length-1;A>=0;A--){if(!B[A].keys)B[A].keys=[];if(!B[A].comment)B[A].comment="";E.attributes.push(B[A]),z0.debug("Added attribute ",B[A].name)}}addRelationship(u,B,E,A){let C=this.entities.get(u),D=this.entities.get(E);if(!C||!D)return;let F={entityA:C.id,roleA:B,entityB:D.id,relSpec:A};this.relationships.push(F),z0.debug("Added new relationship :",F)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(u){this.direction=u}getCompiledStyles(u){let B=[];for(let E of u){let A=this.classes.get(E);if(A?.styles)B=[...B,...A.styles??[]].map((C)=>C.trim());if(A?.textStyles)B=[...B,...A.textStyles??[]].map((C)=>C.trim())}return B}addCssStyles(u,B){for(let E of u){let A=this.entities.get(E);if(!B||!A)return;for(let C of B)A.cssStyles.push(C)}}addClass(u,B){u.forEach((E)=>{let A=this.classes.get(E);if(A===void 0)A={id:E,styles:[],textStyles:[]},this.classes.set(E,A);if(B)B.forEach(function(C){if(/color/.exec(C)){let D=C.replace("fill","bgFill");A.textStyles.push(D)}A.styles.push(C)})})}setClass(u,B){for(let E of u){let A=this.entities.get(E);if(A)for(let C of B)A.cssClasses+=" "+C}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],D3()}getData(){let u=[],B=[],E=y0(),A=0;for(let D of this.entities.keys()){let F=this.entities.get(D);if(F)F.cssCompiledStyles=this.getCompiledStyles(F.cssClasses.split(" ")),F.colorIndex=A++,u.push(F)}let C=0;for(let D of this.relationships){let F={id:RF(D.entityA,D.entityB,{prefix:"id",counter:C++}),type:"normal",curve:"basis",start:D.entityA,end:D.entityB,label:D.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:D.relSpec.cardB.toLowerCase(),arrowTypeEnd:D.relSpec.cardA.toLowerCase(),pattern:D.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:E.look,labelType:"markdown"};B.push(F)}return{nodes:u,edges:B,other:{},config:E,direction:"TB"}}},H_0={};jf(H_0,{draw:()=>KL4});KL4=X(async function(u,B,E,A){z0.info("REF0:"),z0.info("Drawing er diagram (unified)",B);let{securityLevel:C,er:D,layout:F}=y0(),U=A.db.getData(),z=LA(B,C);U.type=A.type,U.layoutAlgorithm=eF(F),U.config.flowchart.nodeSpacing=D?.nodeSpacing||140,U.config.flowchart.rankSpacing=D?.rankSpacing||80,U.direction=A.db.getDirection();let{config:k}=U,{look:f}=k;if(f==="neo")U.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"];else U.markers=["only_one","zero_or_one","one_or_more","zero_or_more"];if(U.diagramId=B,await QA(U,z),U.layoutAlgorithm==="elk")z.select(".edges").lower();let M=z.selectAll('[id*="-background"]');if(Array.from(M).length>0)M.each(function(){let Z=Qu(this),K=Z.attr("id").replace("-background",""),w=z.select(`#${CSS.escape(K)}`);if(!w.empty()){let Q=w.attr("transform");Z.attr("transform",Q)}});let b=8;R4.insertTitle(z,"erDiagramTitleText",D?.titleTopMargin??25,A.db.getDiagramTitle()),v8(z,b,"erDiagram",D?.useMaxWidth??!0)},"draw"),G_0=X((u,B)=>{let E=WJ,A=E(u,"r"),C=E(u,"g"),D=E(u,"b");return B2(A,C,D,B)},"fade"),$m=new Set(["redux-color","redux-dark-color"]),wL4=X((u)=>{let{theme:B,look:E,bkgColorArray:A,borderColorArray:C}=u;if(!$m.has(B))return"";let D=A?.length>0,F="";for(let U=0;U<u.THEME_COLOR_LIMIT;U++)F+=`
[data-look="${E}"][data-color-id="color-${U}"].node path {
stroke: ${C[U]};
${D?`fill: ${A[U]};`:""}
}
[data-look="${E}"][data-color-id="color-${U}"].node rect {
stroke: ${C[U]};
${D?`fill: ${A[U]};`:""}
}
`;return F},"genColor"),QL4=X((u)=>{let{look:B,theme:E,erEdgeLabelBackground:A,strokeWidth:C}=u;return`
${wL4(u)}
.entityBox {
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
}
.relationshipLabelBox {
fill: ${u.tertiaryColor};
opacity: 0.7;
background-color: ${u.tertiaryColor};
rect {
opacity: 0.5;
}
}
.labelBkg {
background-color: ${$m.has(E)&&A?A:G_0(u.tertiaryColor,0.5)};
}
.edgeLabel {
background-color: ${$m.has(E)&&A?A:u.edgeLabelBackground};
}
.edgeLabel .label rect {
fill: ${$m.has(E)&&A?A:u.edgeLabelBackground};
}
.edgeLabel .label text {
fill: ${u.textColor};
}
.edgeLabel .label {
fill: ${u.nodeBorder};
font-size: 14px;
}
.label {
font-family: ${u.fontFamily};
color: ${u.nodeTextColor||u.textColor};
}
.edge-pattern-dashed {
stroke-dasharray: 8,8;
}
.node rect,
.node circle,
.node ellipse,
.node polygon
{
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
stroke-width: ${B==="neo"?C:"1px"};
}
.relationshipLine {
stroke: ${u.lineColor};
stroke-width: ${B==="neo"?C:"1px"};
fill: none;
}
.marker {
fill: none !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[data-look=neo].labelBkg {
background-color: ${G_0(u.tertiaryColor,0.5)};
}
`},"getStyles"),GL4=QL4,HL4={parser:ZL4,get db(){return new JL4},renderer:H_0,styles:GL4}});var fl;var ym=g(()=>{Y4();fl=class{constructor(u){this.init=u,this.records=this.init()}static{X(this,"ImperativeState")}reset(){this.records=this.init()}}});function U6(u,B){if(u.accDescr)B.setAccDescription?.(u.accDescr);if(u.accTitle)B.setAccTitle?.(u.accTitle);if(u.title)B.setDiagramTitle?.(u.title)}var YB=g(()=>{Y4();X(U6,"populateCommonDb")});var $7={};ju($7,{lib_exports:()=>N5,isWardley:()=>DD0,isTreemap:()=>CD0,isTransition:()=>AD0,isRailroadPeg:()=>ED0,isRailroadEbnf:()=>BD0,isRailroadAbnf:()=>uD0,isRailroad:()=>eC0,isPieSection:()=>tC0,isPie:()=>oC0,isPacketBlock:()=>sC0,isPacket:()=>dC0,isMerge:()=>nC0,isInfo:()=>pC0,isGitGraph:()=>_C0,isEmResetFrame:()=>pR,isEmModelEntityType:()=>cC0,isDomainItem:()=>gC0,isDomainBlock:()=>rC0,isCynefin:()=>yC0,isCommit:()=>$C0,isBranch:()=>mC0,isArchitecture:()=>aC0,inject:()=>G3,createDefaultSharedCoreModule:()=>q1,createDefaultCoreModule:()=>H1,__name:()=>N,WardleyGrammarGeneratedModule:()=>Gg,Wardley:()=>B5,TreemapGrammarGeneratedModule:()=>wg,Treemap:()=>Wb,TreeViewGrammarGeneratedModule:()=>Qg,TreeView:()=>Jw,TreeNode:()=>Qb,Transition:()=>qw,Statement:()=>wb,RailroadZeroOrMoreExpr:()=>py,RailroadTerminalExpr:()=>_y,RailroadSpecialExpr:()=>cy,RailroadSequenceExpr:()=>gy,RailroadRule:()=>FR,RailroadPegGrammarGeneratedModule:()=>Kg,RailroadPeg:()=>xb,RailroadOptionalExpr:()=>ry,RailroadOneOrMoreExpr:()=>yy,RailroadNonTerminalExpr:()=>$y,RailroadGrammarGeneratedModule:()=>Jg,RailroadExpression:()=>yC,RailroadEbnfGrammarGeneratedModule:()=>Zg,RailroadEbnf:()=>vb,RailroadChoiceExpr:()=>my,RailroadAbnfGrammarGeneratedModule:()=>bg,RailroadAbnf:()=>Xb,Railroad:()=>Lb,RadarGrammarGeneratedModule:()=>Mg,Radar:()=>Qk,PieSection:()=>Pl,PieGrammarGeneratedModule:()=>fg,Pie:()=>qk,PegSuffix:()=>DR,PegSequence:()=>ay,PegRule:()=>CR,PegPrimary:()=>Zw,PegPrefix:()=>AR,PegOrderedChoice:()=>iy,PegLiteral:()=>hy,PegIdentifier:()=>Vy,PegGroup:()=>Ny,PegAny:()=>jy,PacketGrammarGeneratedModule:()=>kg,PacketBlock:()=>lb,Packet:()=>qb,MermaidGeneratedSharedModule:()=>y1,Merge:()=>Hb,InfoGrammarGeneratedModule:()=>zg,Info:()=>Hw,GitGraphGrammarGeneratedModule:()=>Ug,GitGraph:()=>Hk,EventModelingGeneratedModule:()=>Fg,EventModel:()=>$C,EmptyFileSystem:()=>T1,EmFrame:()=>wk,EmDataEntity:()=>Kb,EbnfZeroOrMorePostfix:()=>Py,EbnfTerminal:()=>Iy,EbnfTerm:()=>ER,EbnfSpecial:()=>Oy,EbnfSequence:()=>Ty,EbnfRule:()=>BR,EbnfRepetition:()=>Ry,EbnfPrimary:()=>Kk,EbnfPostfix:()=>bw,EbnfOptionalPostfix:()=>Yy,EbnfOptional:()=>Sy,EbnfOneOrMorePostfix:()=>Wy,EbnfNonTerminal:()=>xy,EbnfGroup:()=>vy,EbnfExceptionPostfix:()=>Xy,EbnfChoice:()=>Ly,DomainItem:()=>vR,DomainBlock:()=>Il,CynefinGrammarGeneratedModule:()=>Dg,Cynefin:()=>Gk,CommonValueConverter:()=>I8,CommonTokenBuilder:()=>z6u,Commit:()=>Gb,Branch:()=>Ol,ArchitectureGrammarGeneratedModule:()=>Cg,Architecture:()=>XA,AbstractMermaidValueConverter:()=>k2,AbstractMermaidTokenBuilder:()=>e1,AbnfStringLiteral:()=>ly,AbnfRuleName:()=>qy,AbnfRule:()=>uR,AbnfPrimary:()=>Jb,AbnfOptionalGroup:()=>Hy,AbnfNumVal:()=>Gy,AbnfGroup:()=>Qy,AbnfElement:()=>eY,AbnfConcatenation:()=>wy,AbnfAlternation:()=>Ky});function T2(u){return typeof u==="object"&&u!==null&&typeof u.$type==="string"}function TB(u){return typeof u==="object"&&u!==null&&typeof u.$refText==="string"&&"ref"in u}function MU(u){return typeof u==="object"&&u!==null&&typeof u.$refText==="string"&&"items"in u}function DE0(u){return typeof u==="object"&&u!==null&&typeof u.name==="string"&&typeof u.type==="string"&&typeof u.path==="string"}function uw(u){return typeof u==="object"&&u!==null&&typeof u.info==="object"&&typeof u.message==="string"}function Lk(u){return typeof u==="object"&&u!==null&&Array.isArray(u.content)}function Yw(u){return typeof u==="object"&&u!==null&&typeof u.tokenType==="object"}function oy(u){return Lk(u)&&typeof u.fullText==="string"}function Gn0(u){if(typeof u==="string")return u;if(typeof u>"u")return"undefined";if(typeof u.toString==="function")return u.toString();return Object.prototype.toString.call(u)}function UR(u){return!!u&&typeof u[Symbol.iterator]==="function"}function z6(...u){if(u.length===1){let B=u[0];if(B instanceof kU)return B;if(UR(B))return new kU(()=>B[Symbol.iterator](),(E)=>E.next());if(typeof B.length==="number")return new kU(()=>({index:0}),(E)=>{if(E.index<B.length)return{done:!1,value:B[E.index++]};else return RB})}if(u.length>1)return new kU(()=>({collIndex:0,arrIndex:0}),(B)=>{do{if(B.iterator){let E=B.iterator.next();if(!E.done)return E;B.iterator=void 0}if(B.array){if(B.arrIndex<B.array.length)return{done:!1,value:B.array[B.arrIndex++]};B.array=void 0,B.arrIndex=0}if(B.collIndex<u.length){let E=u[B.collIndex++];if(UR(E))B.iterator=E[Symbol.iterator]();else if(E&&typeof E.length==="number")B.array=E}}while(B.iterator||B.array||B.collIndex<u.length);return RB});return jl}function Vl(u,B={}){for(let[E,A]of Object.entries(u))if(!E.startsWith("$")){if(Array.isArray(A))A.forEach((C,D)=>{if(T2(C)){if(C.$container=u,C.$containerProperty=E,C.$containerIndex=D,B.deep)Vl(C,B)}});else if(T2(A)){if(A.$container=u,A.$containerProperty=E,B.deep)Vl(A,B)}}}function Rw(u,B){let E=u;while(E){if(B(E))return E;E=E.$container}return}function Hn0(u,B){let E=u;while(E){if(B(E))return!0;E=E.$container}return!1}function cC(u){let E=Sl(u).$document;if(!E)throw Error("AST node has no document.");return E}function Sl(u){while(u.$container)u=u.$container;return u}function Y$(u){if(TB(u))return u.ref?[u.ref]:[];else if(MU(u))return u.items.map((B)=>B.ref);return[]}function YR(u,B){if(!u)throw Error("Node must be an AstNode.");let E=B?.range;return new kU(()=>({keys:Object.keys(u),keyIndex:0,arrayIndex:0}),(A)=>{while(A.keyIndex<A.keys.length){let C=A.keys[A.keyIndex];if(!C.startsWith("$")){let D=u[C];if(T2(D)){if(A.keyIndex++,R$(D,E))return{done:!1,value:D}}else if(Array.isArray(D)){while(A.arrayIndex<D.length){let F=A.arrayIndex++,U=D[F];if(T2(U)&&R$(U,E))return{done:!1,value:U}}A.arrayIndex=0}}A.keyIndex++}return RB})}function Ik(u,B){if(!u)throw Error("Root node must be an AstNode.");return new Nl(u,(E)=>YR(E,B))}function _C(u,B){if(!u)throw Error("Root node must be an AstNode.");else if(B?.range&&!R$(u,B.range))return new Nl(u,()=>[]);return new Nl(u,(E)=>YR(E,B),{includeRoot:!0})}function R$(u,B){if(!B)return!0;let E=u.$cstNode?.range;if(!E)return!1;return OE0(E,B)}function hl(u){return new kU(()=>({keys:Object.keys(u),keyIndex:0,arrayIndex:0}),(B)=>{while(B.keyIndex<B.keys.length){let E=B.keys[B.keyIndex];if(!E.startsWith("$")){let A=u[E];if(TB(A)||MU(A))return B.keyIndex++,{done:!1,value:{reference:A,container:u,property:E}};else if(Array.isArray(A)){while(B.arrayIndex<A.length){let C=B.arrayIndex++,D=A[C];if(TB(D)||MU(A))return{done:!1,value:{reference:D,container:u,property:E,index:C}}}B.arrayIndex=0}}B.keyIndex++}return RB})}function zE0(u,B){let E=u.getTypeMetaData(B.$type),A=B;for(let C of Object.values(E.properties))if(C.defaultValue!==void 0&&A[C.name]===void 0)A[C.name]=kE0(C.defaultValue)}function kE0(u){if(Array.isArray(u))return[...u.map(kE0)];else return u}function T$(u,B,E){let A={$type:u.$type};if(E)E.set(u,A),E.set(A,u);for(let[C,D]of Object.entries(u))if(!C.startsWith("$"))if(T2(D))A[C]=T$(D,B,E);else if(TB(D))A[C]=B(A,C,D.$refNode,D.$refText,D);else if(Array.isArray(D)){let F=[];for(let U of D)if(T2(U))F.push(T$(U,B,E));else if(TB(U))F.push(B(A,C,U.$refNode,U.$refText,U));else F.push(U);A[C]=F}else A[C]=D;return Vl(A,{deep:!0}),A}function ty(u){return f3.isInstance(u,W8.$type)}function Tw(u){return f3.isInstance(u,iY.$type)}function ln0(u){return f3.isInstance(u,Hl.$type)}function Ln0(u){return f3.isInstance(u,lE.$type)}function Sb(u){return f3.isInstance(u,kb.$type)}function ey(u){return f3.isInstance(u,aY.$type)}function Xn0(u){return f3.isInstance(u,O$.$type)}function fE0(u){return f3.isInstance(u,I$.$type)}function Xk(u){return f3.isInstance(u,fb.$type)}function ME0(u){return f3.isInstance(u,P$.$type)}function bE0(u){return f3.isInstance(u,Mb.$type)}function vn0(u){return f3.isInstance(u,bb.$type)}function ZE0(u){return f3.isInstance(u,mY.$type)}function Ow(u){return f3.isInstance(u,Zb.$type)}function JE0(u){return f3.isInstance(u,$Y.$type)}function KE0(u){return f3.isInstance(u,j$.$type)}function xn0(u){return f3.isInstance(u,Zk.$type)}function Wn0(u){return f3.isInstance(u,N$.$type)}function Iw(u){return f3.isInstance(u,Bw.$type)}function RR(u){return f3.isInstance(u,V$.$type)}function il(u){return f3.isInstance(u,FU.$type)}function Sn0(u){return f3.isInstance(u,yY.$type)}function Yn0(u){return f3.isInstance(u,h$.$type)}function wE0(u){return f3.isInstance(u,ql.$type)}function vk(u){return f3.isInstance(u,ll.$type)}function Rn0(u){return f3.isInstance(u,Ll.$type)}function QE0(u){return f3.isInstance(u,Ew.$type)}function GE0(u){return f3.isInstance(u,i$.$type)}function Tn0(u){return f3.isInstance(u,a$.$type)}function On0(u){return f3.isInstance(u,Xl.$type)}function HE0(u){return f3.isInstance(u,m$.$type)}function PB(u){return f3.isInstance(u,mC.$type)}function qE0(u){return f3.isInstance(u,rY.$type)}function lE0(u){return f3.isInstance(u,Aw.$type)}function LE0(u){return f3.isInstance(u,$$.$type)}function xk(u){return f3.isInstance(u,Cw.$type)}function ur(u){return f3.isInstance(u,vl.$type)}function In0(u){return f3.isInstance(u,y$.$type)}function XE0(u){return f3.isInstance(u,Dw.$type)}function Pn0(u){return f3.isInstance(u,S8.$type)}function vE0(u){return f3.isInstance(u,Fw.$type)}function YA(u){return f3.isInstance(u,Jk.$type)}function Br(u){return f3.isInstance(u,Uw.$type)}function Er(u){return f3.isInstance(u,gY.$type)}function jn0(u){return f3.isInstance(u,zw.$type)}function Nn0(u){return f3.isInstance(u,kw.$type)}function xE0(u){return f3.isInstance(u,r$.$type)}function Ar(u){return f3.isInstance(u,cY.$type)}function WE0(u){return f3.isInstance(u,fw.$type)}function Vn0(u){return f3.isInstance(u,Mw.$type)}function SE0(u){return f3.isInstance(u,xl.$type)}function hn0(u){let B=u,E=!1;while(B){let A=Rw(B.grammarSource,PB);if(A&&A.dataType)B=B.container,E=!0;else if(E)return B;else return}return}function al(u){return new Nl(u,(B)=>{if(Lk(B))return B.content;else return[]},{includeRoot:!0})}function in0(u){return al(u).filter(Yw)}function RE0(u,B){while(u.container)if(u=u.container,u===B)return!0;return!1}function kR(u){return{start:{character:u.startColumn-1,line:u.startLine-1},end:{character:u.endColumn,line:u.endLine-1}}}function ml(u){if(!u)return;let{offset:B,end:E,range:A}=u;return{range:A,offset:B,end:E,length:E-B}}function TE0(u,B){if(u.end.line<B.start.line||u.end.line===B.start.line&&u.end.character<=B.start.character)return zU.Before;else if(u.start.line>B.end.line||u.start.line===B.end.line&&u.start.character>=B.end.character)return zU.After;let E=u.start.line>B.start.line||u.start.line===B.start.line&&u.start.character>=B.start.character,A=u.end.line<B.end.line||u.end.line===B.end.line&&u.end.character<=B.end.character;if(E&&A)return zU.Inside;else if(E)return zU.OverlapBack;else if(A)return zU.OverlapFront;else return zU.Outside}function OE0(u,B){return TE0(u,B)>zU.After}function an0(u,B,E=IE0){if(u){if(B>0){let A=B-u.offset,C=u.text.charAt(A);if(!E.test(C))B--}return Cr(u,B)}return}function PE0(u,B){if(u){let E=VE0(u,!0);if(E&&g$(E,B))return E;if(oy(u)){let A=u.content.findIndex((C)=>!C.hidden);for(let C=A-1;C>=0;C--){let D=u.content[C];if(g$(D,B))return D}}}return}function g$(u,B){return Yw(u)&&B.includes(u.tokenType.name)}function Cr(u,B){if(Yw(u))return u;else if(Lk(u)){let E=NE0(u,B,!1);if(E)return Cr(E,B)}return}function jE0(u,B){if(Yw(u))return u;else if(Lk(u)){let E=NE0(u,B,!0);if(E)return jE0(E,B)}return}function NE0(u,B,E){let A=0,C=u.content.length-1,D=void 0;while(A<=C){let F=Math.floor((A+C)/2),U=u.content[F];if(U.offset<=B&&U.end>B)return U;if(U.end<=B)D=E?U:void 0,A=F+1;else C=F-1}return D}function VE0(u,B=!0){while(u.container){let E=u.container,A=E.content.indexOf(u);while(A>0){A--;let C=E.content[A];if(B||!C.hidden)return C}u=E}return}function mn0(u,B=!0){while(u.container){let E=u.container,A=E.content.indexOf(u),C=E.content.length-1;while(A<C){A++;let D=E.content[A];if(B||!D.hidden)return D}u=E}return}function $n0(u){if(u.range.start.character===0)return u;let B=u.range.start.line,E=u,A;while(u.container){let C=u.container,D=A??C.content.indexOf(u);if(D===0)u=C,A=void 0;else A=D-1,u=C.content[A];if(u.range.start.line!==B)break;E=u}return E}function yn0(u,B){let E=rn0(u,B);if(!E)return[];return E.parent.content.slice(E.a+1,E.b)}function rn0(u,B){let E=A80(u),A=A80(B),C;for(let D=0;D<E.length&&D<A.length;D++){let F=E[D],U=A[D];if(F.parent===U.parent)C={parent:F.parent,a:F.index,b:U.index};else break}return C}function A80(u){let B=[];while(u.container){let E=u.container,A=E.content.indexOf(u);B.push({parent:E,index:A}),u=E}return B.reverse()}function Pb(u,B="Error: Got unexpected value."){throw Error(B)}function iE0(u,B="Error: Condition is violated."){if(!u)throw Error(B)}function v3(u){return u.charCodeAt(0)}function J$(u,B){if(Array.isArray(u))u.forEach(function(E){B.push(E)});else B.push(u)}function Ql(u,B){if(u[B]===!0)throw"duplicate flag "+B;let E=u[B];u[B]=!0}function sK(u){if(u===void 0)throw Error("Internal Error - Should never get here!");return!0}function PY(){throw Error("Internal Error - Should never get here!")}function C80(u){return u.type==="Character"}function pn0(u){try{if(typeof u!=="string")u=u.source;u=`/${u}/`;let B=_n0.pattern(u),E=[];for(let A of B.value.value)Kw.reset(u),Kw.visit(A),E.push({start:Kw.startRegexp,end:Kw.endRegex});return E}catch{return[]}}function mE0(u){try{if(typeof u==="string")u=new RegExp(u);return u=u.toString(),Kw.reset(u),Kw.visit(_n0.pattern(u)),Kw.multiline}catch{return!1}}function Ur(u){let B=typeof u==="string"?new RegExp(u):u;return nn0.some((E)=>B.test(E))}function pl(u){return u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $E0(u,B){let E=yE0(u),A=B.match(E);return!!A&&A[0].length>0}function yE0(u){if(typeof u==="string")u=new RegExp(u);let B=u,E=u.source,A=0;function C(){let D="",F;function U(k){D+=E.substr(A,k),A+=k}N(U,"appendRaw");function z(k){D+="(?:"+E.substr(A,k)+"|$)",A+=k}N(z,"appendOptional");while(A<E.length)switch(E[A]){case"\\":switch(E[A+1]){case"c":z(3);break;case"x":z(4);break;case"u":if(B.unicode)if(E[A+2]==="{")z(E.indexOf("}",A)-A+1);else z(6);else z(2);break;case"p":case"P":if(B.unicode)z(E.indexOf("}",A)-A+1);else z(2);break;case"k":z(E.indexOf(">",A)-A+1);break;default:z(2);break}break;case"[":F=/\[(?:\\.|.)*?\]/g,F.lastIndex=A,F=F.exec(E)||[],z(F[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":U(1);break;case"{":if(F=/\{\d+,?\d*\}/g,F.lastIndex=A,F=F.exec(E),F)U(F[0].length);else z(1);break;case"(":if(E[A+1]==="?")switch(E[A+2]){case":":D+="(?:",A+=3,D+=C()+"|$)";break;case"=":D+="(?=",A+=3,D+=C()+")";break;case"!":F=A,A+=3,C(),D+=E.substr(F,A-F);break;case"<":switch(E[A+3]){case"=":case"!":F=A,A+=4,C(),D+=E.substr(F,A-F);break;default:U(E.indexOf(">",A)-A+1),D+=C()+"|$)";break}break}else U(1),D+=C()+"|$)";break;case")":return++A,D;default:z(1);break}return D}return N(C,"process"),new RegExp(C(),u.flags)}function rE0(u){return u.rules.find((B)=>PB(B)&&B.entry)}function gE0(u){return u.rules.filter((B)=>YA(B)&&B.hidden)}function zr(u,B){let E=new Set,A=rE0(u);if(!A)return new Set(u.rules);let C=[A].concat(gE0(u));for(let F of C)cE0(F,E,B);let D=new Set;for(let F of u.rules)if(E.has(F.name)||YA(F)&&F.hidden)D.add(F);return D}function cE0(u,B,E){B.add(u.name),Ik(u).forEach((A)=>{if(xk(A)||E&&Br(A)){let C=A.rule.ref;if(C&&!B.has(C.name))cE0(C,B,E)}})}function dn0(u){let B=new Set;return Ik(u).forEach((E)=>{if(Ow(E)){if(PB(E.type.ref))B.add(E.type.ref);if(RR(E.type.ref)&&PB(E.type.ref.$container))B.add(E.type.ref.$container)}}),B}function _E0(u){if(u.terminal)return u.terminal;else if(u.type.ref)return br(u.type.ref)?.terminal;return}function pE0(u){return u.hidden&&!Ur(IR(u))}function nE0(u,B){if(!u||!B)return[];return fr(u,B,u.astNode,!0)}function kr(u,B,E){if(!u||!B)return;let A=fr(u,B,u.astNode,!0);if(A.length===0)return;if(E!==void 0)E=Math.max(0,Math.min(E,A.length-1));else E=0;return A[E]}function fr(u,B,E,A){if(!A){let C=Rw(u.grammarSource,Xk);if(C&&C.feature===B)return[u]}if(Lk(u)&&u.astNode===E)return u.content.flatMap((C)=>fr(C,B,E,!1));return[]}function sn0(u,B){if(!u)return[];return Mr(u,B,u?.astNode)}function dE0(u,B,E){if(!u)return;let A=Mr(u,B,u?.astNode);if(A.length===0)return;if(E!==void 0)E=Math.max(0,Math.min(E,A.length-1));else E=0;return A[E]}function Mr(u,B,E){if(u.astNode!==E)return[];if(vk(u.grammarSource)&&u.grammarSource.value===B)return[u];let A=al(u).iterator(),C,D=[];do if(C=A.next(),!C.done){let F=C.value;if(F.astNode===E){if(vk(F.grammarSource)&&F.grammarSource.value===B)D.push(F)}else A.prune()}while(!C.done);return D}function sE0(u){let B=u.astNode;while(B===u.container?.astNode){let E=Rw(u.grammarSource,Xk);if(E)return E;u=u.container}return}function br(u){let B=u;if(RR(B))if(Sb(B.$container))B=B.$container.$container;else if(Tw(B.$container))B=B.$container;else Pb(B.$container);return oE0(u,B,new Map)}function oE0(u,B,E){function A(C,D){let F=void 0;if(!Rw(C,Xk))F=oE0(D,D,E);return E.set(u,F),F}if(N(A,"go"),E.has(u))return E.get(u);E.set(u,void 0);for(let C of Ik(B))if(Xk(C)&&C.feature.toLowerCase()==="name")return E.set(u,C),C;else if(xk(C)&&PB(C.rule.ref))return A(C,C.rule.ref);else if(ur(C)&&C.typeRef?.ref)return A(C,C.typeRef.ref);return}function tE0(u){let B=u.$container;if(Iw(B)){let E=B.elements,A=E.indexOf(u);for(let C=A-1;C>=0;C--){let D=E[C];if(Sb(D))return D;else{let F=Ik(E[C]).find(Sb);if(F)return F}}}if(ty(B))return tE0(B);else return}function on0(u,B){return u==="?"||u==="*"||Iw(B)&&Boolean(B.guardCondition)}function tn0(u){return u==="*"||u==="+"}function en0(u){return u==="+="}function TR(u){return eE0(u,new Set)}function eE0(u,B){if(B.has(u))return!0;else B.add(u);for(let E of Ik(u))if(xk(E)){if(!E.rule.ref)return!1;if(PB(E.rule.ref)&&!eE0(E.rule.ref,B))return!1;if(il(E.rule.ref))return!1}else if(Xk(E))return!1;else if(Sb(E))return!1;return Boolean(u.definition)}function ud0(u){return p$(u.type,new Set)}function p$(u,B){if(B.has(u))return!0;else B.add(u);if(fE0(u))return!1;else if(qE0(u))return!1;else if(xE0(u))return u.types.every((E)=>p$(E,B));else if(ur(u))if(u.primitiveType!==void 0)return!0;else if(u.stringType!==void 0)return!0;else if(u.typeRef!==void 0){let E=u.typeRef.ref;if(Er(E))return p$(E.type,B);else return!1}else return!1;else return!1}function OR(u){if(YA(u))return;if(u.inferredType)return u.inferredType.name;else if(u.dataType)return u.dataType;else if(u.returnType){let B=u.returnType.ref;if(B)return B.name}return}function Xw(u){if(Tw(u))return PB(u)&&TR(u)?u.name:OR(u)??u.name;else if(wE0(u)||Er(u)||LE0(u))return u.name;else if(Sb(u)){let B=uA0(u);if(B)return B}else if(RR(u))return u.name;throw Error("Cannot get name of Unknown Type")}function uA0(u){if(u.inferredType)return u.inferredType.name;else if(u.type?.ref)return Xw(u.type.ref);return}function Bd0(u){if(YA(u))return u.type?.name??"string";else return PB(u)&&TR(u)?u.name:OR(u)??u.name}function BA0(u){if(YA(u))return u.type?.name??"string";else return OR(u)??u.name}function IR(u){let B={s:!1,i:!1,u:!1},E=Pw(u.definition,B),A=Object.entries(B).filter(([,C])=>C).map(([C])=>C).join("");return new RegExp(E,A)}function Pw(u,B){if(XE0(u))return Ed0(u);else if(vE0(u))return Ad0(u);else if(bE0(u))return Fd0(u);else if(Br(u)){let E=u.rule.ref;if(!E)throw Error("Missing rule reference.");return bU(Pw(E.definition),{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized})}else if(QE0(u))return Dd0(u);else if(WE0(u))return Cd0(u);else if(lE0(u)){let E=u.regex.lastIndexOf("/"),A=u.regex.substring(1,E),C=u.regex.substring(E+1);if(B)B.i=C.includes("i"),B.s=C.includes("s"),B.u=C.includes("u");return bU(A,{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized,wrap:!1})}else if(SE0(u))return bU(EA0,{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized});else throw Error(`Invalid terminal element: ${u?.$type}, ${u?.$cstNode?.text}`)}function Ed0(u){return bU(u.elements.map((B)=>Pw(B)).join("|"),{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized,wrap:!1})}function Ad0(u){return bU(u.elements.map((B)=>Pw(B)).join(""),{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized,wrap:!1})}function Cd0(u){return bU(`${EA0}*?${Pw(u.terminal)}`,{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized})}function Dd0(u){return bU(`(?!${Pw(u.terminal)})${EA0}*?`,{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized})}function Fd0(u){if(u.right)return bU(`[${K$(u.left)}-${K$(u.right)}]`,{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized,wrap:!1});return bU(K$(u.left),{cardinality:u.cardinality,lookahead:u.lookahead,parenthesized:u.parenthesized,wrap:!1})}function K$(u){return pl(u.value)}function bU(u,B){if(B.parenthesized||B.lookahead||B.wrap!==!1)u=`(${B.lookahead??(B.parenthesized?"":"?:")}${u})`;if(B.cardinality)return`${u}${B.cardinality}`;return u}function AA0(u){let B=[],E=u.Grammar;for(let A of E.rules)if(YA(A)&&pE0(A)&&mE0(IR(A)))B.push(A.name);return{multilineCommentRules:B,nameRegexp:IE0}}function kd0(u){var B=MX4.call(u,GY),E=u[GY];try{u[GY]=void 0;var A=!0}catch(D){}var C=bX4.call(u);if(A)if(B)u[GY]=E;else delete u[GY];return C}function fd0(u){return KX4.call(u)}function Md0(u){if(u==null)return u===void 0?GX4:QX4;return x_0&&x_0 in Object(u)?ZX4(u):wX4(u)}function bd0(u){return u!=null&&typeof u=="object"}function Zd0(u){return typeof u=="symbol"||dC(u)&&jb(u)==HX4}function Jd0(u,B){var E=-1,A=u==null?0:u.length,C=Array(A);while(++E<A)C[E]=B(u[E],E,u);return C}function CA0(u){if(typeof u=="string")return u;if(R1(u))return PR(u,CA0)+"";if(Zr(u))return S_0?S_0.call(u):"";var B=u+"";return B=="0"&&1/u==-lX4?"-0":B}function Kd0(u){var B=u.length;while(B--&&XX4.test(u.charAt(B)));return B}function wd0(u){return u?u.slice(0,vX4(u)+1).replace(xX4,""):u}function Qd0(u){var B=typeof u;return u!=null&&(B=="object"||B=="function")}function Gd0(u){if(typeof u=="number")return u;if(Zr(u))return Y_0;if(SA(u)){var B=typeof u.valueOf=="function"?u.valueOf():u;u=SA(B)?B+"":B}if(typeof u!="string")return u===0?u:+u;u=WX4(u);var E=YX4.test(u);return E||RX4.test(u)?TX4(u.slice(2),E?2:8):SX4.test(u)?Y_0:+u}function Hd0(u){if(!u)return u===0?u:0;if(u=OX4(u),u===R_0||u===-R_0){var B=u<0?-1:1;return B*IX4}return u===u?u:0}function qd0(u){var B=PX4(u),E=B%1;return B===B?E?B-E:B:0}function ld0(u){return u}function Ld0(u){if(!SA(u))return!1;var B=jb(u);return B==NX4||B==VX4||B==jX4||B==hX4}function Xd0(u){return!!T_0&&T_0 in u}function vd0(u){if(u!=null){try{return $X4.call(u)}catch(B){}try{return u+""}catch(B){}}return""}function xd0(u){if(!SA(u)||aX4(u))return!1;var B=Pk(u)?nX4:rX4;return B.test(jw(u))}function Wd0(u,B){return u==null?void 0:u[B]}function Sd0(u,B){var E=sX4(u,B);return dX4(E)?E:void 0}function Yd0(u,B,E){switch(E.length){case 0:return u.call(B);case 1:return u.call(B,E[0]);case 2:return u.call(B,E[0],E[1]);case 3:return u.call(B,E[0],E[1],E[2])}return u.apply(B,E)}function Rd0(){}function Td0(u,B){var E=-1,A=u.length;B||(B=Array(A));while(++E<A)B[E]=u[E];return B}function Od0(u){var B=0,E=0;return function(){var A=Cv4(),C=Av4-(A-E);if(E=A,C>0){if(++B>=Ev4)return arguments[0]}else B=0;return u.apply(void 0,arguments)}}function Id0(u){return function(){return u}}function Pd0(u,B){var E=-1,A=u==null?0:u.length;while(++E<A)if(B(u[E],E,u)===!1)break;return u}function Nd0(u,B,E,A){var C=u.length,D=E+(A?1:-1);while(A?D--:++D<C)if(B(u[D],D,u))return D;return-1}function hd0(u){return u!==u}function id0(u,B,E){var A=E-1,C=u.length;while(++A<C)if(u[A]===B)return A;return-1}function ad0(u,B,E){return B===B?Zv4(u,B,E):Vd0(u,bv4,E)}function md0(u,B){var E=u==null?0:u.length;return!!E&&DA0(u,B,0)>-1}function yd0(u,B){var E=typeof u;return B=B==null?Jv4:B,!!B&&(E=="number"||E!="symbol"&&Kv4.test(u))&&(u>-1&&u%1==0&&u<B)}function rd0(u,B,E){if(B=="__proto__"&&n$)n$(u,B,{configurable:!0,enumerable:!0,value:E,writable:!0});else u[B]=E}function gd0(u,B){return u===B||u!==u&&B!==B}function cd0(u,B,E){var A=u[B];if(!(Qv4.call(u,B)&&VR(A,E))||E===void 0&&!(B in u))FA0(u,B,E)}function _d0(u,B,E,A){var C=!E;E||(E={});var D=-1,F=B.length;while(++D<F){var U=B[D],z=A?A(E[U],u[U],U,E,u):void 0;if(z===void 0)z=u[U];if(C)FA0(E,U,z);else Kr(E,U,z)}return E}function pd0(u,B,E){return B=I_0(B===void 0?u.length-1:B,0),function(){var A=arguments,C=-1,D=I_0(A.length-B,0),F=Array(D);while(++C<D)F[C]=A[B+C];C=-1;var U=Array(B+1);while(++C<B)U[C]=A[C];return U[B]=E(F),uv4(u,this,U)}}function nd0(u,B){return Mv4(Gv4(u,B,NR),u+"")}function dd0(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=Hv4}function sd0(u){return u!=null&&zA0(u.length)&&!Pk(u)}function od0(u,B,E){if(!SA(E))return!1;var A=typeof B;if(A=="number"?KU(E)&&Jr(B,E.length):A=="string"&&(B in E))return VR(E[B],u);return!1}function td0(u){return UA0(function(B,E){var A=-1,C=E.length,D=C>1?E[C-1]:void 0,F=C>2?E[2]:void 0;if(D=u.length>3&&typeof D=="function"?(C--,D):void 0,F&&wr(E[0],E[1],F))D=C<3?void 0:D,C=1;B=Object(B);while(++A<C){var U=E[A];if(U)u(B,U,A,D)}return B})}function ed0(u){var B=u&&u.constructor,E=typeof B=="function"&&B.prototype||lv4;return u===E}function us0(u,B){var E=-1,A=Array(u);while(++E<u)A[E]=B(E);return A}function Bs0(u){return dC(u)&&jb(u)==Xv4}function As0(){return!1}function Ds0(u){return dC(u)&&zA0(u.length)&&!!c6[jb(u)]}function Fs0(u){return function(B){return u(B)}}function zs0(u,B){var E=R1(u),A=!E&&Qr(u),C=!E&&!A&&fR(u),D=!E&&!A&&!C&&kA0(u),F=E||A||C||D,U=F?Lv4(u.length,String):[],z=U.length;for(var k in u)if((B||Fx4.call(u,k))&&!(F&&(k=="length"||C&&(k=="offset"||k=="parent")||D&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||Jr(k,z))))U.push(k);return U}function fs0(u,B){return function(E){return u(B(E))}}function bs0(u){if(!iR(u))return zx4(u);var B=[];for(var E in Object(u))if(fx4.call(u,E)&&E!="constructor")B.push(E);return B}function Js0(u){return KU(u)?ks0(u):Zs0(u)}function Ks0(u){var B=[];if(u!=null)for(var E in Object(u))B.push(E);return B}function ws0(u){if(!SA(u))return Jx4(u);var B=iR(u),E=[];for(var A in u)if(!(A=="constructor"&&(B||!wx4.call(u,A))))E.push(A);return E}function Qs0(u){return KU(u)?ks0(u,!0):Qx4(u)}function Gs0(u,B){if(R1(u))return!1;var E=typeof u;if(E=="number"||E=="symbol"||E=="boolean"||u==null||Zr(u))return!0;return Hx4.test(u)||!Gx4.test(u)||B!=null&&u in Object(B)}function Hs0(){this.__data__=MR?MR(null):{},this.size=0}function qs0(u){var B=this.has(u)&&delete this.__data__[u];return this.size-=B?1:0,B}function ls0(u){var B=this.__data__;if(MR){var E=B[u];return E===Xx4?void 0:E}return xx4.call(B,u)?B[u]:void 0}function Ls0(u){var B=this.__data__;return MR?B[u]!==void 0:Yx4.call(B,u)}function Xs0(u,B){var E=this.__data__;return this.size+=this.has(u)?0:1,E[u]=MR&&B===void 0?Tx4:B,this}function Vw(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}function vs0(){this.__data__=[],this.size=0}function xs0(u,B){var E=u.length;while(E--)if(VR(u[E][0],B))return E;return-1}function Ws0(u){var B=this.__data__,E=Hr(B,u);if(E<0)return!1;var A=B.length-1;if(E==A)B.pop();else jx4.call(B,E,1);return--this.size,!0}function Ss0(u){var B=this.__data__,E=Hr(B,u);return E<0?void 0:B[E][1]}function Ys0(u){return Hr(this.__data__,u)>-1}function Rs0(u,B){var E=this.__data__,A=Hr(E,u);if(A<0)++this.size,E.push([u,B]);else E[A][1]=B;return this}function hw(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}function Ts0(){this.size=0,this.__data__={hash:new h_0,map:new(bR||qr),string:new h_0}}function Os0(u){var B=typeof u;return B=="string"||B=="number"||B=="symbol"||B=="boolean"?u!=="__proto__":u===null}function Is0(u,B){var E=u.__data__;return $x4(B)?E[typeof B=="string"?"string":"hash"]:E.map}function Ps0(u){var B=lr(this,u).delete(u);return this.size-=B?1:0,B}function js0(u){return lr(this,u).get(u)}function Ns0(u){return lr(this,u).has(u)}function Vs0(u,B){var E=lr(this,u),A=E.size;return E.set(u,B),this.size+=E.size==A?0:1,this}function iw(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}function Xr(u,B){if(typeof u!="function"||B!=null&&typeof B!="function")throw TypeError(_x4);var E=N(function(){var A=arguments,C=B?B.apply(this,A):A[0],D=E.cache;if(D.has(C))return D.get(C);var F=u.apply(this,A);return E.cache=D.set(C,F)||D,F},"memoized");return E.cache=new(Xr.Cache||Lr),E}function hs0(u){var B=px4(u,function(A){if(E.size===nx4)E.clear();return A}),E=B.cache;return B}function is0(u){return u==null?"":LX4(u)}function as0(u,B){if(R1(u))return u;return fA0(u,B)?[u]:ex4(uW4(u))}function ms0(u){if(typeof u=="string"||Zr(u))return u;var B=u+"";return B=="0"&&1/u==-BW4?"-0":B}function $s0(u,B){B=vr(B,u);var E=0,A=B.length;while(u!=null&&E<A)u=u[mR(B[E++])];return E&&E==A?u:void 0}function ys0(u,B,E){var A=u==null?void 0:MA0(u,B);return A===void 0?E:A}function rs0(u,B){var E=-1,A=B.length,C=u.length;while(++E<A)u[C+E]=B[E];return u}function gs0(u){return R1(u)||Qr(u)||!!(i_0&&u&&u[i_0])}function ZA0(u,B,E,A,C){var D=-1,F=u.length;E||(E=AW4),C||(C=[]);while(++D<F){var U=u[D];if(B>0&&E(U))if(B>1)ZA0(U,B-1,E,A,C);else bA0(C,U);else if(!A)C[C.length]=U}return C}function cs0(u){var B=u==null?0:u.length;return B?JA0(u,1):[]}function ps0(u,B,E){var A=-1,C=u.length;if(B<0)B=-B>C?0:C+B;if(E=E>C?C:E,E<0)E+=C;C=B>E?0:E-B>>>0,B>>>=0;var D=Array(C);while(++A<C)D[A]=u[A+B];return D}function ds0(u,B,E,A){var C=-1,D=u==null?0:u.length;if(A&&D)E=u[++C];while(++C<D)E=B(E,u[C],C,u);return E}function ss0(){this.__data__=new qr,this.size=0}function os0(u){var B=this.__data__,E=B.delete(u);return this.size=B.size,E}function ts0(u){return this.__data__.get(u)}function es0(u){return this.__data__.has(u)}function uo0(u,B){var E=this.__data__;if(E instanceof qr){var A=E.__data__;if(!bR||A.length<fW4-1)return A.push([u,B]),this.size=++E.size,this;E=this.__data__=new Lr(A)}return E.set(u,B),this.size=E.size,this}function aw(u){var B=this.__data__=new qr(u);this.size=B.size}function Bo0(u,B){return u&&hR(B,XE(B),u)}function Eo0(u,B){return u&&hR(B,Gr(B),u)}function Co0(u,B){if(B)return u.slice();var E=u.length,A=$_0?$_0(E):new u.constructor(E);return u.copy(A),A}function Do0(u,B){var E=-1,A=u==null?0:u.length,C=0,D=[];while(++E<A){var F=u[E];if(B(F,E,u))D[C++]=F}return D}function Fo0(){return[]}function zo0(u,B){return hR(u,wA0(u),B)}function fo0(u,B){return hR(u,ko0(u),B)}function Mo0(u,B,E){var A=B(u);return R1(u)?A:bA0(A,E(u))}function Zo0(u){return bo0(u,XE,wA0)}function Jo0(u){return bo0(u,Gr,ko0)}function wo0(u){var B=u.length,E=new u.constructor(B);if(B&&typeof u[0]=="string"&&PW4.call(u,"index"))E.index=u.index,E.input=u.input;return E}function Qo0(u){var B=new u.constructor(u.byteLength);return new d$(B).set(new d$(u)),B}function Go0(u,B){var E=B?QA0(u.buffer):u.buffer;return new u.constructor(E,u.byteOffset,u.byteLength)}function Ho0(u){var B=new u.constructor(u.source,hW4.exec(u));return B.lastIndex=u.lastIndex,B}function qo0(u){return d_0?Object(d_0.call(u)):{}}function lo0(u,B){var E=B?QA0(u.buffer):u.buffer;return new u.constructor(E,u.byteOffset,u.length)}function Lo0(u,B,E){var A=u.constructor;switch(B){case dW4:return QA0(u);case $W4:case yW4:return new A(+u);case sW4:return VW4(u,E);case oW4:case tW4:case eW4:case uS4:case BS4:case ES4:case AS4:case CS4:case DS4:return mW4(u,E);case rW4:return new A;case gW4:case pW4:return new A(u);case cW4:return iW4(u);case _W4:return new A;case nW4:return aW4(u)}}function Xo0(u){return typeof u.constructor=="function"&&!iR(u)?eX4(_s0(u)):{}}function vo0(u){return dC(u)&&$l(u)==zS4}function xo0(u){return dC(u)&&$l(u)==bS4}function nY(u,B,E,A,C,D){var F,U=B&wS4,z=B&QS4,k=B&GS4;if(E)F=C?E(u,A,C,D):E(u);if(F!==void 0)return F;if(!SA(u))return u;var f=R1(u);if(f){if(F=jW4(u),!U)return Bv4(u,F)}else{var M=$l(u),b=M==So0||M==XS4;if(fR(u))return KW4(u,U);if(M==Yo0||M==Wo0||b&&!C){if(F=z||b?{}:US4(u),!U)return z?LW4(u,ZW4(F,u)):HW4(u,bW4(F,u))}else{if(!I6[M])return C?u:{};F=FS4(u,M,U)}}D||(D=new pY);var Z=D.get(u);if(Z)return Z;if(D.set(u,F),KS4(u))u.forEach(function(w){F.add(nY(w,B,E,w,u,D))});else if(MS4(u))u.forEach(function(w,Q){F.set(Q,nY(w,B,E,Q,u,D))});var J=k?z?Ko0:F80:z?Gr:XE,K=f?void 0:J(u);return jd0(K||u,function(w,Q){if(K)Q=w,w=u[Q];Kr(F,Q,nY(w,B,E,Q,u,D))}),F}function Ro0(u){return yS4(u,rS4)}function To0(u){var B=-1,E=u==null?0:u.length,A=0,C=[];while(++B<E){var D=u[B];if(D)C[A++]=D}return C}function Oo0(u){return this.__data__.set(u,gS4),this}function Io0(u){return this.__data__.has(u)}function ZR(u){var B=-1,E=u==null?0:u.length;this.__data__=new Lr;while(++B<E)this.add(u[B])}function Po0(u,B){var E=-1,A=u==null?0:u.length;while(++E<A)if(B(u[E],E,u))return!0;return!1}function No0(u,B){return u.has(B)}function Vo0(u,B,E,A,C,D){var F=E&pS4,U=u.length,z=B.length;if(U!=z&&!(F&&z>U))return!1;var k=D.get(u),f=D.get(B);if(k&&f)return k==B&&f==u;var M=-1,b=!0,Z=E&nS4?new GA0:void 0;D.set(u,B),D.set(B,u);while(++M<U){var J=u[M],K=B[M];if(A)var w=F?A(K,J,M,B,u,D):A(J,K,M,u,B,D);if(w!==void 0){if(w)continue;b=!1;break}if(Z){if(!jo0(B,function(Q,G){if(!HA0(Z,G)&&(J===Q||C(J,Q,E,A,D)))return Z.push(G)})){b=!1;break}}else if(!(J===K||C(J,K,E,A,D))){b=!1;break}}return D.delete(u),D.delete(B),b}function io0(u){var B=-1,E=Array(u.size);return u.forEach(function(A,C){E[++B]=[C,A]}),E}function ao0(u){var B=-1,E=Array(u.size);return u.forEach(function(A){E[++B]=A}),E}function mo0(u,B,E,A,C,D,F){switch(E){case zY4:if(u.byteLength!=B.byteLength||u.byteOffset!=B.byteOffset)return!1;u=u.buffer,B=B.buffer;case UY4:if(u.byteLength!=B.byteLength||!D(new d$(u),new d$(B)))return!1;return!0;case tS4:case eS4:case EY4:return VR(+u,+B);case uY4:return u.name==B.name&&u.message==B.message;case AY4:case DY4:return u==B+"";case BY4:var U=dS4;case CY4:var z=A&sS4;if(U||(U=qA0),u.size!=B.size&&!z)return!1;var k=F.get(u);if(k)return k==B;A|=oS4,F.set(u,B);var f=ho0(U(u),U(B),A,C,D,F);return F.delete(u),f;case FY4:if(h70)return h70.call(u)==h70.call(B)}return!1}function $o0(u,B,E,A,C,D){var F=E&fY4,U=F80(u),z=U.length,k=F80(B),f=k.length;if(z!=f&&!F)return!1;var M=z;while(M--){var b=U[M];if(!(F?b in B:bY4.call(B,b)))return!1}var Z=D.get(u),J=D.get(B);if(Z&&J)return Z==B&&J==u;var K=!0;D.set(u,B),D.set(B,u);var w=F;while(++M<z){b=U[M];var Q=u[b],G=B[b];if(A)var H=F?A(G,Q,b,B,u,D):A(Q,G,b,u,B,D);if(!(H===void 0?Q===G||C(Q,G,E,A,D):H)){K=!1;break}w||(w=b=="constructor")}if(K&&!w){var l=u.constructor,q=B.constructor;if(l!=q&&(("constructor"in u)&&("constructor"in B))&&!(typeof l=="function"&&l instanceof l&&typeof q=="function"&&q instanceof q))K=!1}return D.delete(u),D.delete(B),K}function yo0(u,B,E,A,C,D){var F=R1(u),U=R1(B),z=F?up0:$l(u),k=U?up0:$l(B);z=z==e_0?gm:z,k=k==e_0?gm:k;var f=z==gm,M=k==gm,b=z==k;if(b&&fR(u)){if(!fR(B))return!1;F=!0,f=!1}if(b&&!f)return D||(D=new pY),F||kA0(u)?ho0(u,B,E,A,C,D):kY4(u,B,z,E,A,C,D);if(!(E&JY4)){var Z=f&&Bp0.call(u,"__wrapped__"),J=M&&Bp0.call(B,"__wrapped__");if(Z||J){var K=Z?u.value():u,w=J?B.value():B;return D||(D=new pY),C(K,w,E,A,D)}}if(!b)return!1;return D||(D=new pY),ZY4(u,B,E,A,C,D)}function lA0(u,B,E,A,C){if(u===B)return!0;if(u==null||B==null||!dC(u)&&!dC(B))return u!==u&&B!==B;return wY4(u,B,E,A,lA0,C)}function go0(u,B,E,A){var C=E.length,D=C,F=!A;if(u==null)return!D;u=Object(u);while(C--){var U=E[C];if(F&&U[2]?U[1]!==u[U[0]]:!(U[0]in u))return!1}while(++C<D){U=E[C];var z=U[0],k=u[z],f=U[1];if(F&&U[2]){if(k===void 0&&!(z in u))return!1}else{var M=new pY;if(A)var b=A(k,f,z,u,B,M);if(!(b===void 0?ro0(f,k,QY4|GY4,A,M):b))return!1}}return!0}function co0(u){return u===u&&!SA(u)}function po0(u){var B=XE(u),E=B.length;while(E--){var A=B[E],C=u[A];B[E]=[A,C,_o0(C)]}return B}function no0(u,B){return function(E){if(E==null)return!1;return E[u]===B&&(B!==void 0||(u in Object(E)))}}function so0(u){var B=qY4(u);if(B.length==1&&B[0][2])return do0(B[0][0],B[0][1]);return function(E){return E===u||HY4(E,u,B)}}function oo0(u,B){return u!=null&&B in Object(u)}function to0(u,B,E){B=vr(B,u);var A=-1,C=B.length,D=!1;while(++A<C){var F=mR(B[A]);if(!(D=u!=null&&E(u,F)))break;u=u[F]}if(D||++A!=C)return D;return C=u==null?0:u.length,!!C&&zA0(C)&&Jr(F,C)&&(R1(u)||Qr(u))}function ut0(u,B){return u!=null&&eo0(u,B,LY4)}function Bt0(u,B){if(fA0(u)&&_o0(B))return do0(mR(u),B);return function(E){var A=EW4(E,u);return A===void 0&&A===B?XY4(E,u):ro0(B,A,vY4|xY4)}}function Et0(u){return function(B){return B==null?void 0:B[u]}}function At0(u){return function(B){return MA0(B,u)}}function Ct0(u){return fA0(u)?SY4(mR(u)):YY4(u)}function Dt0(u){if(typeof u=="function")return u;if(u==null)return NR;if(typeof u=="object")return R1(u)?WY4(u[0],u[1]):lY4(u);return RY4(u)}function Ft0(u,B,E,A){var C=-1,D=u==null?0:u.length;while(++C<D){var F=u[C];B(A,F,E(F),u)}return A}function Ut0(u){return function(B,E,A){var C=-1,D=Object(B),F=A(B),U=F.length;while(U--){var z=F[u?U:++C];if(E(D[z],z,D)===!1)break}return B}}function zt0(u,B){return u&&PY4(u,B,XE)}function kt0(u,B){return function(E,A){if(E==null)return E;if(!KU(E))return u(E,A);var C=E.length,D=B?C:-1,F=Object(E);while(B?D--:++D<C)if(A(F[D],D,F)===!1)break;return E}}function ft0(u,B,E,A){return mw(u,function(C,D,F){B(A,C,E(C),F)}),A}function Mt0(u,B){return function(E,A){var C=R1(E)?TY4:hY4,D=B?B():{};return C(E,u,wU(A,2),D)}}function Zt0(u){return dC(u)&&KU(u)}function Jt0(u,B,E){var A=-1,C=u==null?0:u.length;while(++A<C)if(E(B,u[A]))return!0;return!1}function wt0(u,B,E,A){var C=-1,D=$d0,F=!0,U=u.length,z=[],k=B.length;if(!U)return z;if(E)B=PR(B,aR(E));if(A)D=Kt0,F=!1;else if(B.length>=$Y4)D=HA0,F=!1,B=new GA0(B);u:while(++C<U){var f=u[C],M=E==null?f:E(f);if(f=A||f!==0?f:0,F&&M===M){var b=k;while(b--)if(B[b]===M)continue u;z.push(f)}else if(!D(B,M,A))z.push(f)}return z}function Qt0(u){var B=u==null?0:u.length;return B?u[B-1]:void 0}function Gt0(u,B,E){var A=u==null?0:u.length;if(!A)return[];return B=E||B===void 0?1:jR(B),ns0(u,B<0?0:B,A)}function Ht0(u,B,E){var A=u==null?0:u.length;if(!A)return[];return B=E||B===void 0?1:jR(B),B=A-B,ns0(u,0,B<0?0:B)}function qt0(u){return typeof u=="function"?u:NR}function lt0(u,B){var E=R1(u)?jd0:mw;return E(u,gY4(B))}function Lt0(u,B){var E=-1,A=u==null?0:u.length;while(++E<A)if(!B(u[E],E,u))return!1;return!0}function Xt0(u,B){var E=!0;return mw(u,function(A,C,D){return E=!!B(A,C,D),E}),E}function vt0(u,B,E){var A=R1(u)?cY4:_Y4;if(E&&wr(u,B,E))B=void 0;return A(u,wU(B,3))}function xt0(u,B){var E=[];return mw(u,function(A,C,D){if(B(A,C,D))E.push(A)}),E}function St0(u,B){var E=R1(u)?KA0:Wt0;return E(u,wU(B,3))}function Yt0(u){return function(B,E,A){var C=Object(B);if(!KU(B)){var D=wU(E,3);B=XE(B),E=N(function(U){return D(C[U],U,C)},"predicate")}var F=u(B,E,A);return F>-1?C[D?B[F]:F]:void 0}}function Rt0(u,B,E){var A=u==null?0:u.length;if(!A)return-1;var C=E==null?0:jR(E);if(C<0)C=nY4(A+C,0);return Vd0(u,wU(B,3),C)}function Tt0(u){return u&&u.length?u[0]:void 0}function Ot0(u,B){var E=-1,A=KU(u)?Array(u.length):[];return mw(u,function(C,D,F){A[++E]=B(C,D,F)}),A}function It0(u,B){var E=R1(u)?PR:oY4;return E(u,wU(B,3))}function Pt0(u,B){return JA0(p4(u,B),1)}function jt0(u,B){return u!=null&&AR4.call(u,B)}function Nt0(u,B){return u!=null&&eo0(u,B,CR4)}function Vt0(u){return typeof u=="string"||!R1(u)&&dC(u)&&jb(u)==DR4}function ht0(u,B){return PR(B,function(E){return u[E]})}function it0(u){return u==null?[]:FR4(u,XE(u))}function at0(u,B,E,A){u=KU(u)?u:E5(u),E=E&&!A?jR(E):0;var C=u.length;if(E<0)E=UR4(C+E,0);return Y8(u)?E<=C&&u.indexOf(B,E)>-1:!!C&&DA0(u,B,E)>-1}function mt0(u,B,E){var A=u==null?0:u.length;if(!A)return-1;var C=E==null?0:jR(E);if(C<0)C=zR4(A+C,0);return DA0(u,B,C)}function $t0(u){if(u==null)return!0;if(KU(u)&&(R1(u)||typeof u=="string"||typeof u.splice=="function"||fR(u)||kA0(u)||Qr(u)))return!u.length;var B=$l(u);if(B==kR4||B==fR4)return!u.size;if(iR(u))return!Zs0(u).length;for(var E in u)if(bR4.call(u,E))return!1;return!0}function yt0(u){return dC(u)&&jb(u)==ZR4}function rt0(u){return u===void 0}function gt0(u){if(typeof u!="function")throw TypeError(wR4);return function(){var B=arguments;switch(B.length){case 0:return!u.call(this);case 1:return!u.call(this,B[0]);case 2:return!u.call(this,B[0],B[1]);case 3:return!u.call(this,B[0],B[1],B[2])}return!u.apply(this,B)}}function ct0(u,B,E,A){if(!SA(u))return u;B=vr(B,u);var C=-1,D=B.length,F=D-1,U=u;while(U!=null&&++C<D){var z=mR(B[C]),k=E;if(z==="__proto__"||z==="constructor"||z==="prototype")return u;if(C!=F){var f=U[z];if(k=A?A(f,z,U):void 0,k===void 0)k=SA(f)?f:Jr(B[C+1])?[]:{}}Kr(U,z,k),U=U[z]}return u}function _t0(u,B,E){var A=-1,C=B.length,D={};while(++A<C){var F=B[A],U=MA0(u,F);if(E(U,F))GR4(D,vr(F,u),U)}return D}function pt0(u,B){if(u==null)return{};var E=PR(Ko0(u),function(A){return[A]});return B=wU(B),HR4(u,E,function(A,C){return B(A,C[0])})}function nt0(u,B,E,A,C){return C(u,function(D,F,U){E=A?(A=!1,D):B(E,D,F,U)}),E}function dt0(u,B,E){var A=R1(u)?DW4:qR4,C=arguments.length<3;return A(u,wU(B,4),E,C,mw)}function st0(u,B){var E=R1(u)?KA0:Wt0;return E(u,QR4(wU(B,3)))}function ot0(u,B){var E;return mw(u,function(A,C,D){return E=B(A,C,D),!E}),!!E}function tt0(u,B,E){var A=R1(u)?jo0:lR4;if(E&&wr(u,B,E))B=void 0;return A(u,wU(B,3))}function ue0(u,B,E){var A=-1,C=$d0,D=u.length,F=!0,U=[],z=U;if(E)F=!1,C=Kt0;else if(D>=xR4){var k=B?null:vR4(u);if(k)return qA0(k);F=!1,C=HA0,z=new GA0}else z=B?[]:U;u:while(++A<D){var f=u[A],M=B?B(f):f;if(f=E||f!==0?f:0,F&&M===M){var b=z.length;while(b--)if(z[b]===M)continue u;if(B)z.push(M);U.push(f)}else if(!C(z,M,E)){if(z!==U)z.push(M);U.push(f)}}return U}function Be0(u){return u&&u.length?WR4(u):[]}function s$(u){if(console&&console.error)console.error(`Error: ${u}`)}function vA0(u){if(console&&console.warn)console.warn(`Warning: ${u}`)}function xA0(u){let B=new Date().getTime(),E=u();return{time:new Date().getTime()-B,value:E}}function WA0(u){function B(){}N(B,"FakeConstructor"),B.prototype=u;let E=new B;function A(){return typeof E.bar}return N(A,"fakeAccess"),A(),A(),u;(0,eval)(u)}function Ee0(u){if(Ae0(u))return u.LABEL;else return u.name}function Ae0(u){return Y8(u.LABEL)&&u.LABEL!==""}function Ce0(u){return p4(u,dY)}function dY(u){function B(E){return p4(E,dY)}if(N(B,"convertDefinition"),u instanceof jB){let E={type:"NonTerminal",name:u.nonTerminalName,idx:u.idx};if(Y8(u.label))E.label=u.label;return E}else if(u instanceof R8)return{type:"Alternative",definition:B(u.definition)};else if(u instanceof Z7)return{type:"Option",idx:u.idx,definition:B(u.definition)};else if(u instanceof WE)return{type:"RepetitionMandatory",idx:u.idx,definition:B(u.definition)};else if(u instanceof SE)return{type:"RepetitionMandatoryWithSeparator",idx:u.idx,separator:dY(new p6({terminalType:u.separator})),definition:B(u.definition)};else if(u instanceof T8)return{type:"RepetitionWithSeparator",idx:u.idx,separator:dY(new p6({terminalType:u.separator})),definition:B(u.definition)};else if(u instanceof r9)return{type:"Repetition",idx:u.idx,definition:B(u.definition)};else if(u instanceof O8)return{type:"Alternation",idx:u.idx,definition:B(u.definition)};else if(u instanceof p6){let E={type:"Terminal",name:u.terminalType.name,label:Ee0(u.terminalType),idx:u.idx};if(Y8(u.label))E.terminalLabel=u.label;let A=u.terminalType.PATTERN;if(u.terminalType.PATTERN)E.pattern=Wk(A)?A.source:A;return E}else if(u instanceof nl)return{type:"Rule",name:u.name,orgText:u.orgText,definition:B(u.definition)};else throw Error("non exhaustive match")}function De0(u){return u instanceof R8||u instanceof Z7||u instanceof r9||u instanceof WE||u instanceof SE||u instanceof T8||u instanceof p6||u instanceof nl}function KR(u,B=[]){if(u instanceof Z7||u instanceof r9||u instanceof T8)return!0;if(u instanceof O8)return et0(u.definition,(A)=>{return KR(A,B)});else if(u instanceof jB&&hB(B,u))return!1;else if(u instanceof QU){if(u instanceof jB)B.push(u);return nC(u.definition,(A)=>{return KR(A,B)})}else return!1}function Fe0(u){return u instanceof O8}function rC(u){if(u instanceof jB)return"SUBRULE";else if(u instanceof Z7)return"OPTION";else if(u instanceof O8)return"OR";else if(u instanceof WE)return"AT_LEAST_ONE";else if(u instanceof SE)return"AT_LEAST_ONE_SEP";else if(u instanceof T8)return"MANY_SEP";else if(u instanceof r9)return"MANY";else if(u instanceof p6)return"CONSUME";else throw Error("non exhaustive match")}function k80(u,B,E){return[new Z7({definition:[new p6({terminalType:u.separator})].concat(u.definition)})].concat(B,E)}function sl(u){if(u instanceof jB)return sl(u.referencedRule);else if(u instanceof p6)return ke0(u);else if(De0(u))return Ue0(u);else if(Fe0(u))return ze0(u);else throw Error("non exhaustive match")}function Ue0(u){let B=[],E=u.definition,A=0,C=E.length>A,D,F=!0;while(C&&F)D=E[A],F=KR(D),B=B.concat(sl(D)),A=A+1,C=E.length>A;return XA0(B)}function ze0(u){let B=p4(u.definition,(E)=>{return sl(E)});return XA0(pC(B))}function ke0(u){return[u.terminalType]}function Me0(u){let B={};return x3(u,(E)=>{let A=new SR4(E).startWalking();vE(B,A)}),B}function be0(u,B){return u.name+B+fe0}function yR(u){let B=u.toString();if(w$.hasOwnProperty(B))return w$[B];else{let E=YR4.pattern(B);return w$[B]=E,E}}function Ze0(){w$={}}function Ke0(u,B=!1){try{let E=yR(u);return t$(E.value,{},E.flags.ignoreCase)}catch(E){if(E.message===Je0){if(B)vA0(`${o$} Unable to optimize: < ${u.toString()} >
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`)}else{let A="";if(B)A=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`;s$(`${o$}
Failed parsing: < ${u.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+A)}}return[]}function t$(u,B,E){switch(u.type){case"Disjunction":for(let C=0;C<u.value.length;C++)t$(u.value[C],B,E);break;case"Alternative":let A=u.value;for(let C=0;C<A.length;C++){let D=A[C];switch(D.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let F=D;switch(F.type){case"Character":jY(F.value,B,E);break;case"Set":if(F.complement===!0)throw Error(Je0);x3(F.value,(z)=>{if(typeof z==="number")jY(z,B,E);else{let k=z;if(E===!0)for(let f=k.from;f<=k.to;f++)jY(f,B,E);else{for(let f=k.from;f<=k.to&&f<VY;f++)jY(f,B,E);if(k.to>=VY){let f=k.from>=VY?k.from:VY,M=k.to,b=Yk(f),Z=Yk(M);for(let J=b;J<=Z;J++)B[J]=J}}}});break;case"Group":t$(F.value,B,E);break;default:throw Error("Non Exhaustive Match")}let U=F.quantifier!==void 0&&F.quantifier.atLeast===0;if(F.type==="Group"&&e$(F)===!1||F.type!=="Group"&&U===!1)break}break;default:throw Error("non exhaustive match!")}return E5(B)}function jY(u,B,E){let A=Yk(u);if(B[A]=A,E===!0)we0(u,B)}function we0(u,B){let E=String.fromCharCode(u),A=E.toUpperCase();if(A!==E){let C=Yk(A.charCodeAt(0));B[C]=C}else{let C=E.toLowerCase();if(C!==E){let D=Yk(C.charCodeAt(0));B[D]=D}}}function f80(u,B){return yl(u.value,(E)=>{if(typeof E==="number")return hB(B,E);else{let A=E;return yl(B,(C)=>A.from<=C&&C<=A.to)!==void 0}})}function e$(u){let B=u.quantifier;if(B&&B.atLeast===0)return!0;if(!u.value)return!1;return R1(u.value)?nC(u.value,e$):e$(u.value)}function Yr(u,B){if(B instanceof RegExp){let E=yR(B),A=new RR4(u);return A.visit(E),A.found}else return yl(B,(E)=>{return hB(u,E.charCodeAt(0))})!==void 0}function Qe0(u,B){B=LA0(B,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:N((G,H)=>H(),"tracer")});let E=B.tracer;E("initCharCodeToOptimizedIndexMap",()=>{ie0()});let A;E("Reject Lexer.NA",()=>{A=Wr(u,(G)=>{return G[xw]===IB.NA})});let C=!1,D;E("Transform Patterns",()=>{C=!1,D=p4(A,(G)=>{let H=G[xw];if(Wk(H)){let l=H.source;if(l.length===1&&l!=="^"&&l!=="$"&&l!=="."&&!H.ignoreCase)return l;else if(l.length===2&&l[0]==="\\"&&!hB(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],l[1]))return l[1];else return M80(H)}else if(Pk(H))return C=!0,{exec:H};else if(typeof H==="object")return C=!0,H;else if(typeof H==="string")if(H.length===1)return H;else{let l=H.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),q=new RegExp(l);return M80(q)}else throw Error("non exhaustive match")})});let F,U,z,k,f;E("misc mapping",()=>{F=p4(A,(G)=>G.tokenTypeIdx),U=p4(A,(G)=>{let H=G.GROUP;if(H===IB.SKIPPED)return;else if(Y8(H))return H;else if(Sk(H))return!1;else throw Error("non exhaustive match")}),z=p4(A,(G)=>{let H=G.LONGER_ALT;if(H)return R1(H)?p4(H,(q)=>Ap0(A,q)):[Ap0(A,H)]}),k=p4(A,(G)=>G.PUSH_MODE),f=p4(A,(G)=>Z3(G,"POP_MODE"))});let M;E("Line Terminator Handling",()=>{let G=RA0(B.lineTerminatorCharacters);if(M=p4(A,(H)=>!1),B.positionTracking!=="onlyOffset")M=p4(A,(H)=>{if(Z3(H,"LINE_BREAKS"))return!!H.LINE_BREAKS;else return YA0(H,G)===!1&&Yr(G,H.PATTERN)})});let b,Z,J,K;E("Misc Mapping #2",()=>{b=p4(A,SA0),Z=p4(D,Ve0),J=xE(A,(G,H)=>{let l=H.GROUP;if(Y8(l)&&l!==IB.SKIPPED)G[l]=[];return G},{}),K=p4(D,(G,H)=>{return{pattern:D[H],longerAlt:z[H],canLineTerminator:M[H],isCustom:b[H],short:Z[H],group:U[H],push:k[H],pop:f[H],tokenTypeIdx:F[H],tokenType:A[H]}})});let w=!0,Q=[];if(!B.safeMode)E("First Char Optimization",()=>{Q=xE(A,(G,H,l)=>{if(typeof H.PATTERN==="string"){let q=H.PATTERN.charCodeAt(0),L=Yk(q);Q$(G,L,K[l])}else if(R1(H.START_CHARS_HINT)){let q;x3(H.START_CHARS_HINT,(L)=>{let v=typeof L==="string"?L.charCodeAt(0):L,x=Yk(v);if(q!==x)q=x,Q$(G,x,K[l])})}else if(Wk(H.PATTERN))if(H.PATTERN.unicode){if(w=!1,B.ensureOptimizations)s$(`${o$} Unable to analyze < ${H.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`)}else{let q=Ke0(H.PATTERN,B.ensureOptimizations);if(j6(q))w=!1;x3(q,(L)=>{Q$(G,L,K[l])})}else{if(B.ensureOptimizations)s$(`${o$} TokenType: <${H.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`);w=!1}return G},[])});return{emptyGroups:J,patternIdxToConfig:K,charCodeToPatternIdxToConfig:Q,hasCustom:C,canBeOptimized:w}}function Ge0(u,B){let E=[],A=qe0(u);E=E.concat(A.errors);let C=le0(A.valid),D=C.valid;return E=E.concat(C.errors),E=E.concat(He0(D)),E=E.concat(Se0(D)),E=E.concat(Ye0(D,B)),E=E.concat(Re0(D)),E}function He0(u){let B=[],E=RA(u,(A)=>Wk(A[xw]));return B=B.concat(Le0(E)),B=B.concat(ve0(E)),B=B.concat(xe0(E)),B=B.concat(We0(E)),B=B.concat(Xe0(E)),B}function qe0(u){let B=RA(u,(C)=>{return!Z3(C,xw)}),E=p4(B,(C)=>{return{message:"Token Type: ->"+C.name+"<- missing static 'PATTERN' property",type:g9.MISSING_PATTERN,tokenTypes:[C]}}),A=xr(u,B);return{errors:E,valid:A}}function le0(u){let B=RA(u,(C)=>{let D=C[xw];return!Wk(D)&&!Pk(D)&&!Z3(D,"exec")&&!Y8(D)}),E=p4(B,(C)=>{return{message:"Token Type: ->"+C.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:g9.INVALID_PATTERN,tokenTypes:[C]}}),A=xr(u,B);return{errors:E,valid:A}}function Le0(u){class B extends Fr{static{N(this,"EndAnchorFinder")}constructor(){super(...arguments);this.found=!1}visitEndAnchor(C){this.found=!0}}let E=RA(u,(C)=>{let D=C.PATTERN;try{let F=yR(D),U=new B;return U.visit(F),U.found}catch(F){return TR4.test(D.source)}});return p4(E,(C)=>{return{message:`Unexpected RegExp Anchor Error:
Token Type: ->`+C.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:g9.EOI_ANCHOR_FOUND,tokenTypes:[C]}})}function Xe0(u){let B=RA(u,(A)=>{return A.PATTERN.test("")});return p4(B,(A)=>{return{message:"Token Type: ->"+A.name+"<- static 'PATTERN' must not match an empty string",type:g9.EMPTY_MATCH_PATTERN,tokenTypes:[A]}})}function ve0(u){class B extends Fr{static{N(this,"StartAnchorFinder")}constructor(){super(...arguments);this.found=!1}visitStartAnchor(C){this.found=!0}}let E=RA(u,(C)=>{let D=C.PATTERN;try{let F=yR(D),U=new B;return U.visit(F),U.found}catch(F){return OR4.test(D.source)}});return p4(E,(C)=>{return{message:`Unexpected RegExp Anchor Error:
Token Type: ->`+C.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:g9.SOI_ANCHOR_FOUND,tokenTypes:[C]}})}function xe0(u){let B=RA(u,(A)=>{let C=A[xw];return C instanceof RegExp&&(C.multiline||C.global)});return p4(B,(A)=>{return{message:"Token Type: ->"+A.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:g9.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[A]}})}function We0(u){let B=[],E=p4(u,(D)=>{return xE(u,(F,U)=>{if(D.PATTERN.source===U.PATTERN.source&&!hB(B,U)&&U.PATTERN!==IB.NA)return B.push(U),F.push(U),F;return F},[])});E=$R(E);let A=RA(E,(D)=>{return D.length>1});return p4(A,(D)=>{let F=p4(D,(z)=>{return z.name});return{message:`The same RegExp pattern ->${sC(D).PATTERN}<-has been used in all of the following Token Types: ${F.join(", ")} <-`,type:g9.DUPLICATE_PATTERNS_FOUND,tokenTypes:D}})}function Se0(u){let B=RA(u,(A)=>{if(!Z3(A,"GROUP"))return!1;let C=A.GROUP;return C!==IB.SKIPPED&&C!==IB.NA&&!Y8(C)});return p4(B,(A)=>{return{message:"Token Type: ->"+A.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:g9.INVALID_GROUP_TYPE_FOUND,tokenTypes:[A]}})}function Ye0(u,B){let E=RA(u,(C)=>{return C.PUSH_MODE!==void 0&&!hB(B,C.PUSH_MODE)});return p4(E,(C)=>{return{message:`Token Type: ->${C.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${C.PUSH_MODE}<-which does not exist`,type:g9.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[C]}})}function Re0(u){let B=[],E=xE(u,(A,C,D)=>{let F=C.PATTERN;if(F===IB.NA)return A;if(Y8(F))A.push({str:F,idx:D,tokenType:C});else if(Wk(F)&&Oe0(F))A.push({str:F.source,idx:D,tokenType:C});return A},[]);return x3(u,(A,C)=>{x3(E,({str:D,idx:F,tokenType:U})=>{if(C<F&&Te0(D,A.PATTERN)){let z=`Token: ->${U.name}<- can never be matched.
Because it appears AFTER the Token Type ->${A.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;B.push({message:z,type:g9.UNREACHABLE_PATTERN,tokenTypes:[A,U]})}})}),B}function Te0(u,B){if(Wk(B)){if(Ie0(B))return!1;let E=B.exec(u);return E!==null&&E.index===0}else if(Pk(B))return B(u,0,[],{});else if(Z3(B,"exec"))return B.exec(u,0,[],{});else if(typeof B==="string")return B===u;else throw Error("non exhaustive match")}function Oe0(u){return yl([".","\\","[","]","|","^","$","(",")","?","*","+","{"],(E)=>u.source.indexOf(E)!==-1)===void 0}function Ie0(u){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(u.source)}function M80(u){let B=u.ignoreCase?"iy":"y";return new RegExp(`${u.source}`,B)}function Pe0(u,B,E){let A=[];if(!Z3(u,NY))A.push({message:"A MultiMode Lexer cannot be initialized without a <"+NY+`> property in its definition
`,type:g9.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE});if(!Z3(u,cm))A.push({message:"A MultiMode Lexer cannot be initialized without a <"+cm+`> property in its definition
`,type:g9.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY});if(Z3(u,cm)&&Z3(u,NY)&&!Z3(u.modes,u.defaultMode))A.push({message:`A MultiMode Lexer cannot be initialized with a ${NY}: <${u.defaultMode}>which does not exist
`,type:g9.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST});if(Z3(u,cm))x3(u.modes,(C,D)=>{x3(C,(F,U)=>{if(Sk(F))A.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${D}> at index: <${U}>
`,type:g9.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Z3(F,"LONGER_ALT")){let z=R1(F.LONGER_ALT)?F.LONGER_ALT:[F.LONGER_ALT];x3(z,(k)=>{if(!Sk(k)&&!hB(C,k))A.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${k.name}> on token <${F.name}> outside of mode <${D}>
`,type:g9.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})});return A}function je0(u,B,E){let A=[],C=!1,D=$R(pC(E5(u.modes))),F=Wr(D,(z)=>z[xw]===IB.NA),U=RA0(E);if(B)x3(F,(z)=>{let k=YA0(z,U);if(k!==!1){let M={message:he0(z,k),type:k.issue,tokenType:z};A.push(M)}else if(Z3(z,"LINE_BREAKS")){if(z.LINE_BREAKS===!0)C=!0}else if(Yr(U,z.PATTERN))C=!0});if(B&&!C)A.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:g9.NO_LINE_BREAKS_FLAGS});return A}function Ne0(u){let B={},E=XE(u);return x3(E,(A)=>{let C=u[A];if(R1(C))B[A]=[];else throw Error("non exhaustive match")}),B}function SA0(u){let B=u.PATTERN;if(Wk(B))return!1;else if(Pk(B))return!0;else if(Z3(B,"exec"))return!0;else if(Y8(B))return!1;else throw Error("non exhaustive match")}function Ve0(u){if(Y8(u)&&u.length===1)return u.charCodeAt(0);else return!1}function YA0(u,B){if(Z3(u,"LINE_BREAKS"))return!1;else if(Wk(u.PATTERN)){try{Yr(B,u.PATTERN)}catch(E){return{issue:g9.IDENTIFY_TERMINATOR,errMsg:E.message}}return!1}else if(Y8(u.PATTERN))return!1;else if(SA0(u))return{issue:g9.CUSTOM_LINE_BREAK};else throw Error("non exhaustive match")}function he0(u,B){if(B.issue===g9.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${u.name}> Token Type
Root cause: ${B.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;else if(B.issue===g9.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${u.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;else throw Error("non exhaustive match")}function RA0(u){return p4(u,(E)=>{if(Y8(E))return E.charCodeAt(0);else return E})}function Q$(u,B,E){if(u[B]===void 0)u[B]=[E];else u[B].push(E)}function Yk(u){return u<VY?u:G$[u]}function ie0(){if(j6(G$)){G$=Array(65536);for(let u=0;u<65536;u++)G$[u]=u>255?255+~~(u/255):u}}function ol(u,B){let E=u.tokenTypeIdx;if(E===B.tokenTypeIdx)return!0;else return B.isParent===!0&&B.categoryMatchesMap[E]===!0}function wR(u,B){return u.tokenTypeIdx===B.tokenTypeIdx}function tl(u){let B=me0(u);$e0(B),re0(B),ye0(B),x3(B,(E)=>{E.isParent=E.categoryMatches.length>0})}function me0(u){let B=J7(u),E=u,A=!0;while(A){E=$R(pC(p4(E,(D)=>D.CATEGORIES)));let C=xr(E,B);if(B=B.concat(C),j6(C))A=!1;else E=C}return B}function $e0(u){x3(u,(B)=>{if(!OA0(B))ae0[Dp0]=B,B.tokenTypeIdx=Dp0++;if(b80(B)&&!R1(B.CATEGORIES))B.CATEGORIES=[B.CATEGORIES];if(!b80(B))B.CATEGORIES=[];if(!ge0(B))B.categoryMatches=[];if(!ce0(B))B.categoryMatchesMap={}})}function ye0(u){x3(u,(B)=>{B.categoryMatches=[],x3(B.categoryMatchesMap,(E,A)=>{B.categoryMatches.push(ae0[A].tokenTypeIdx)})})}function re0(u){x3(u,(B)=>{TA0([],B)})}function TA0(u,B){x3(u,(E)=>{B.categoryMatchesMap[E.tokenTypeIdx]=!0}),x3(B.CATEGORIES,(E)=>{let A=u.concat(B);if(!hB(A,E))TA0(A,E)})}function OA0(u){return Z3(u,"tokenTypeIdx")}function b80(u){return Z3(u,"CATEGORIES")}function ge0(u){return Z3(u,"categoryMatches")}function ce0(u){return Z3(u,"categoryMatchesMap")}function _e0(u){return Z3(u,"tokenTypeIdx")}function lw(u){if(IA0(u))return u.LABEL;else return u.name}function IA0(u){return Y8(u.LABEL)&&u.LABEL!==""}function Rl(u){return pe0(u)}function pe0(u){let B=u.pattern,E={};if(E.name=u.name,!Sk(B))E.PATTERN=B;if(Z3(u,PR4))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;if(Z3(u,Fp0))E.CATEGORIES=u[Fp0];if(tl([E]),Z3(u,Up0))E.LABEL=u[Up0];if(Z3(u,zp0))E.GROUP=u[zp0];if(Z3(u,fp0))E.POP_MODE=u[fp0];if(Z3(u,kp0))E.PUSH_MODE=u[kp0];if(Z3(u,Mp0))E.LONGER_ALT=u[Mp0];if(Z3(u,bp0))E.LINE_BREAKS=u[bp0];if(Z3(u,Zp0))E.START_CHARS_HINT=u[Zp0];return E}function rR(u,B,E,A,C,D,F,U){return{image:B,startOffset:E,endOffset:A,startLine:C,endLine:D,startColumn:F,endColumn:U,tokenTypeIdx:u.tokenTypeIdx,tokenType:u}}function PA0(u,B){return ol(u,B)}function ne0(u,B){let E=new NR4(u,B);return E.resolveRefs(),E.errors}function uy(u,B,E=[]){E=J7(E);let A=[],C=0;function D(U){return U.concat(b7(u,C+1))}N(D,"remainingPathWith");function F(U){let z=uy(D(U),B,E);return A.concat(z)}N(F,"getAlternativesForProd");while(E.length<B&&C<u.length){let U=u[C];if(U instanceof R8)return F(U.definition);else if(U instanceof jB)return F(U.definition);else if(U instanceof Z7)A=F(U.definition);else if(U instanceof WE){let z=U.definition.concat([new r9({definition:U.definition})]);return F(z)}else if(U instanceof SE){let z=[new R8({definition:U.definition}),new r9({definition:[new p6({terminalType:U.separator})].concat(U.definition)})];return F(z)}else if(U instanceof T8){let z=U.definition.concat([new r9({definition:[new p6({terminalType:U.separator})].concat(U.definition)})]);A=F(z)}else if(U instanceof r9){let z=U.definition.concat([new r9({definition:U.definition})]);A=F(z)}else if(U instanceof O8)return x3(U.definition,(z)=>{if(j6(z.definition)===!1)A=F(z.definition)}),A;else if(U instanceof p6)E.push(U.terminalType);else throw Error("non exhaustive match");C++}return A.push({partialPath:E,suffixDef:b7(u,C)}),A}function jA0(u,B,E,A){let D=["EXIT_NONE_TERMINAL"],F="EXIT_ALTERNATIVE",U=!1,z=B.length,k=z-A-1,f=[],M=[];M.push({idx:-1,def:u,ruleStack:[],occurrenceStack:[]});while(!j6(M)){let b=M.pop();if(b==="EXIT_ALTERNATIVE"){if(U&&vw(M).idx<=k)M.pop();continue}let{def:Z,idx:J,ruleStack:K,occurrenceStack:w}=b;if(j6(Z))continue;let Q=Z[0];if(Q==="EXIT_NONE_TERMINAL"){let G={idx:J,def:b7(Z),ruleStack:JR(K),occurrenceStack:JR(w)};M.push(G)}else if(Q instanceof p6)if(J<z-1){let G=J+1,H=B[G];if(E(H,Q.terminalType)){let l={idx:G,def:b7(Z),ruleStack:K,occurrenceStack:w};M.push(l)}}else if(J===z-1)f.push({nextTokenType:Q.terminalType,nextTokenOccurrence:Q.idx,ruleStack:K,occurrenceStack:w}),U=!0;else throw Error("non exhaustive match");else if(Q instanceof jB){let G=J7(K);G.push(Q.nonTerminalName);let H=J7(w);H.push(Q.idx);let l={idx:J,def:Q.definition.concat(D,b7(Z)),ruleStack:G,occurrenceStack:H};M.push(l)}else if(Q instanceof Z7){let G={idx:J,def:b7(Z),ruleStack:K,occurrenceStack:w};M.push(G),M.push("EXIT_ALTERNATIVE");let H={idx:J,def:Q.definition.concat(b7(Z)),ruleStack:K,occurrenceStack:w};M.push(H)}else if(Q instanceof WE){let G=new r9({definition:Q.definition,idx:Q.idx}),H=Q.definition.concat([G],b7(Z)),l={idx:J,def:H,ruleStack:K,occurrenceStack:w};M.push(l)}else if(Q instanceof SE){let G=new p6({terminalType:Q.separator}),H=new r9({definition:[G].concat(Q.definition),idx:Q.idx}),l=Q.definition.concat([H],b7(Z)),q={idx:J,def:l,ruleStack:K,occurrenceStack:w};M.push(q)}else if(Q instanceof T8){let G={idx:J,def:b7(Z),ruleStack:K,occurrenceStack:w};M.push(G),M.push("EXIT_ALTERNATIVE");let H=new p6({terminalType:Q.separator}),l=new r9({definition:[H].concat(Q.definition),idx:Q.idx}),q=Q.definition.concat([l],b7(Z)),L={idx:J,def:q,ruleStack:K,occurrenceStack:w};M.push(L)}else if(Q instanceof r9){let G={idx:J,def:b7(Z),ruleStack:K,occurrenceStack:w};M.push(G),M.push("EXIT_ALTERNATIVE");let H=new r9({definition:Q.definition,idx:Q.idx}),l=Q.definition.concat([H],b7(Z)),q={idx:J,def:l,ruleStack:K,occurrenceStack:w};M.push(q)}else if(Q instanceof O8)for(let G=Q.definition.length-1;G>=0;G--){let H=Q.definition[G],l={idx:J,def:H.definition.concat(b7(Z)),ruleStack:K,occurrenceStack:w};M.push(l),M.push("EXIT_ALTERNATIVE")}else if(Q instanceof R8)M.push({idx:J,def:Q.definition.concat(b7(Z)),ruleStack:K,occurrenceStack:w});else if(Q instanceof nl)M.push(de0(Q,J,K,w));else throw Error("non exhaustive match")}return f}function de0(u,B,E,A){let C=J7(E);C.push(u.name);let D=J7(A);return D.push(1),{idx:B,def:u.definition,ruleStack:C,occurrenceStack:D}}function Tr(u){if(u instanceof Z7||u==="Option")return L9.OPTION;else if(u instanceof r9||u==="Repetition")return L9.REPETITION;else if(u instanceof WE||u==="RepetitionMandatory")return L9.REPETITION_MANDATORY;else if(u instanceof SE||u==="RepetitionMandatoryWithSeparator")return L9.REPETITION_MANDATORY_WITH_SEPARATOR;else if(u instanceof T8||u==="RepetitionWithSeparator")return L9.REPETITION_WITH_SEPARATOR;else if(u instanceof O8||u==="Alternation")return L9.ALTERNATION;else throw Error("non exhaustive match")}function J80(u){let{occurrence:B,rule:E,prodType:A,maxLookahead:C}=u,D=Tr(A);if(D===L9.ALTERNATION)return gR(B,E,C);else return cR(B,E,D,C)}function se0(u,B,E,A,C,D){let F=gR(u,B,E),U=VA0(F)?wR:ol;return D(F,A,U,C)}function oe0(u,B,E,A,C,D){let F=cR(u,B,C,E),U=VA0(F)?wR:ol;return D(F[0],U,A)}function te0(u,B,E,A){let C=u.length,D=nC(u,(F)=>{return nC(F,(U)=>{return U.length===1})});if(B)return function(F){let U=p4(F,(z)=>z.GATE);for(let z=0;z<C;z++){let k=u[z],f=k.length,M=U[z];if(M!==void 0&&M.call(this)===!1)continue;u:for(let b=0;b<f;b++){let Z=k[b],J=Z.length;for(let K=0;K<J;K++){let w=this.LA(K+1);if(E(w,Z[K])===!1)continue u}return z}}return};else if(D&&!A){let F=p4(u,(z)=>{return pC(z)}),U=xE(F,(z,k,f)=>{return x3(k,(M)=>{if(!Z3(z,M.tokenTypeIdx))z[M.tokenTypeIdx]=f;x3(M.categoryMatches,(b)=>{if(!Z3(z,b))z[b]=f})}),z},{});return function(){let z=this.LA(1);return U[z.tokenTypeIdx]}}else return function(){for(let F=0;F<C;F++){let U=u[F],z=U.length;u:for(let k=0;k<z;k++){let f=U[k],M=f.length;for(let b=0;b<M;b++){let Z=this.LA(b+1);if(E(Z,f[b])===!1)continue u}return F}}return}}function ee0(u,B,E){let A=nC(u,(D)=>{return D.length===1}),C=u.length;if(A&&!E){let D=pC(u);if(D.length===1&&j6(D[0].categoryMatches)){let U=D[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===U}}else{let F=xE(D,(U,z,k)=>{return U[z.tokenTypeIdx]=!0,x3(z.categoryMatches,(f)=>{U[f]=!0}),U},[]);return function(){let U=this.LA(1);return F[U.tokenTypeIdx]===!0}}}else return function(){u:for(let D=0;D<C;D++){let F=u[D],U=F.length;for(let z=0;z<U;z++){let k=this.LA(z+1);if(B(k,F[z])===!1)continue u}return!0}return!1}}function K80(u){let B=Array(u);for(let E=0;E<u;E++)B[E]=[];return B}function H$(u){let B=[""];for(let E=0;E<u.length;E++){let A=u[E],C=[];for(let D=0;D<B.length;D++){let F=B[D];C.push(F+"_"+A.tokenTypeIdx);for(let U=0;U<A.categoryMatches.length;U++){let z="_"+A.categoryMatches[U];C.push(F+z)}}B=C}return B}function B0u(u,B,E){for(let A=0;A<u.length;A++){if(A===E)continue;let C=u[A];for(let D=0;D<B.length;D++){let F=B[D];if(C[F]===!0)return!1}}return!0}function NA0(u,B){let E=p4(u,(F)=>uy([F],1)),A=K80(E.length),C=p4(E,(F)=>{let U={};return x3(F,(z)=>{let k=H$(z.partialPath);x3(k,(f)=>{U[f]=!0})}),U}),D=E;for(let F=1;F<=B;F++){let U=D;D=K80(U.length);for(let z=0;z<U.length;z++){let k=U[z];for(let f=0;f<k.length;f++){let M=k[f].partialPath,b=k[f].suffixDef,Z=H$(M);if(B0u(C,Z,z)||j6(b)||M.length===B){let K=A[z];if(By(K,M)===!1){K.push(M);for(let w=0;w<Z.length;w++){let Q=Z[w];C[z][Q]=!0}}}else{let K=uy(b,F+1,M);D[z]=D[z].concat(K),x3(K,(w)=>{let Q=H$(w.partialPath);x3(Q,(G)=>{C[z][G]=!0})})}}}}return A}function gR(u,B,E,A){let C=new u0u(u,L9.ALTERNATION,A);return B.accept(C),NA0(C.result,E)}function cR(u,B,E,A){let C=new u0u(u,E);B.accept(C);let D=C.result,U=new mR4(B,u,E).startWalking(),z=new R8({definition:D}),k=new R8({definition:U});return NA0([z,k],A)}function By(u,B){u:for(let E=0;E<u.length;E++){let A=u[E];if(A.length!==B.length)continue;for(let C=0;C<A.length;C++){let D=B[C],F=A[C];if((D===F||F.categoryMatchesMap[D.tokenTypeIdx]!==void 0)===!1)continue u}return!0}return!1}function E0u(u,B){return u.length<B.length&&nC(u,(E,A)=>{let C=B[A];return E===C||C.categoryMatchesMap[E.tokenTypeIdx]})}function VA0(u){return nC(u,(B)=>nC(B,(E)=>nC(E,(A)=>j6(A.categoryMatches))))}function A0u(u){let B=u.lookaheadStrategy.validate({rules:u.rules,tokenTypes:u.tokenTypes,grammarName:u.grammarName});return p4(B,(E)=>Object.assign({type:NB.CUSTOM_LOOKAHEAD_VALIDATION},E))}function C0u(u,B,E,A){let C=xA(u,(z)=>D0u(z,E)),D=K0u(u,B,E),F=xA(u,(z)=>M0u(z,E)),U=xA(u,(z)=>U0u(z,u,A,E));return C.concat(D,F,U)}function D0u(u,B){let E=new $R4;u.accept(E);let A=E.allProductions,C=BR4(A,F0u),D=oC(C,(U)=>{return U.length>1});return p4(E5(D),(U)=>{let z=sC(U),k=B.buildDuplicateFoundError(u,U),f=rC(z),M={message:k,type:NB.DUPLICATE_PRODUCTIONS,ruleName:u.name,dslName:f,occurrence:z.idx},b=hA0(z);if(b)M.parameter=b;return M})}function F0u(u){return`${rC(u)}_#_${u.idx}_#_${hA0(u)}`}function hA0(u){if(u instanceof p6)return u.terminalType.name;else if(u instanceof jB)return u.nonTerminalName;else return""}function U0u(u,B,E,A){let C=[];if(xE(B,(F,U)=>{if(U.name===u.name)return F+1;return F},0)>1){let F=A.buildDuplicateRuleNameError({topLevelRule:u,grammarName:E});C.push({message:F,type:NB.DUPLICATE_RULE_NAME,ruleName:u.name})}return C}function z0u(u,B,E){let A=[],C;if(!hB(B,u))C=`Invalid rule override, rule: ->${u}<- cannot be overridden in the grammar: ->${E}<-as it is not defined in any of the super grammars `,A.push({message:C,type:NB.INVALID_RULE_OVERRIDE,ruleName:u});return A}function iA0(u,B,E,A=[]){let C=[],D=sY(B.definition);if(j6(D))return[];else{let F=u.name;if(hB(D,u))C.push({message:E.buildLeftRecursionError({topLevelRule:u,leftRecursionPath:A}),type:NB.LEFT_RECURSION,ruleName:F});let z=xr(D,A.concat([u])),k=xA(z,(f)=>{let M=J7(A);return M.push(f),iA0(u,f,E,M)});return C.concat(k)}}function sY(u){let B=[];if(j6(u))return B;let E=sC(u);if(E instanceof jB)B.push(E.referencedRule);else if(E instanceof R8||E instanceof Z7||E instanceof WE||E instanceof SE||E instanceof T8||E instanceof r9)B=B.concat(sY(E.definition));else if(E instanceof O8)B=pC(p4(E.definition,(D)=>sY(D.definition)));else if(E instanceof p6);else throw Error("non exhaustive match");let A=KR(E),C=u.length>1;if(A&&C){let D=b7(u);return B.concat(sY(D))}else return B}function k0u(u,B){let E=new aA0;u.accept(E);let A=E.alternations;return xA(A,(D)=>{let F=JR(D.definition);return xA(F,(U,z)=>{let k=jA0([U],[],ol,1);if(j6(k))return[{message:B.buildEmptyAlternationError({topLevelRule:u,alternation:D,emptyChoiceIdx:z}),type:NB.NONE_LAST_EMPTY_ALT,ruleName:u.name,occurrence:D.idx,alternative:z+1}];else return[]})})}function f0u(u,B,E){let A=new aA0;u.accept(A);let C=A.alternations;return C=Wr(C,(F)=>F.ignoreAmbiguities===!0),xA(C,(F)=>{let U=F.idx,z=F.maxLookahead||B,k=gR(U,u,z,F),f=Z0u(k,F,u,E),M=J0u(k,F,u,E);return f.concat(M)})}function M0u(u,B){let E=new aA0;u.accept(E);let A=E.alternations;return xA(A,(D)=>{if(D.definition.length>255)return[{message:B.buildTooManyAlternativesError({topLevelRule:u,alternation:D}),type:NB.TOO_MANY_ALTS,ruleName:u.name,occurrence:D.idx}];else return[]})}function b0u(u,B,E){let A=[];return x3(u,(C)=>{let D=new yR4;C.accept(D);let F=D.allProductions;x3(F,(U)=>{let z=Tr(U),k=U.maxLookahead||B,f=U.idx,b=cR(f,C,z,k)[0];if(j6(pC(b))){let Z=E.buildEmptyRepetitionError({topLevelRule:C,repetition:U});A.push({message:Z,type:NB.NO_NON_EMPTY_LOOKAHEAD,ruleName:C.name})}})}),A}function Z0u(u,B,E,A){let C=[],D=xE(u,(U,z,k)=>{if(B.definition[k].ignoreAmbiguities===!0)return U;return x3(z,(f)=>{let M=[k];if(x3(u,(b,Z)=>{if(k!==Z&&By(b,f)&&B.definition[Z].ignoreAmbiguities!==!0)M.push(Z)}),M.length>1&&!By(C,f))C.push(f),U.push({alts:M,path:f})}),U},[]);return p4(D,(U)=>{let z=p4(U.alts,(f)=>f+1);return{message:A.buildAlternationAmbiguityError({topLevelRule:E,alternation:B,ambiguityIndices:z,prefixPath:U.path}),type:NB.AMBIGUOUS_ALTS,ruleName:E.name,occurrence:B.idx,alternatives:U.alts}})}function J0u(u,B,E,A){let C=xE(u,(F,U,z)=>{let k=p4(U,(f)=>{return{idx:z,path:f}});return F.concat(k)},[]);return $R(xA(C,(F)=>{if(B.definition[F.idx].ignoreAmbiguities===!0)return[];let{idx:z,path:k}=F,f=RA(C,(b)=>{return B.definition[b.idx].ignoreAmbiguities!==!0&&b.idx<z&&E0u(b.path,k)});return p4(f,(b)=>{let Z=[b.idx+1,z+1],J=B.idx===0?"":B.idx;return{message:A.buildAlternationPrefixAmbiguityError({topLevelRule:E,alternation:B,ambiguityIndices:Z,prefixPath:b.path}),type:NB.AMBIGUOUS_PREFIX_ALTS,ruleName:E.name,occurrence:J,alternatives:Z}})}))}function K0u(u,B,E){let A=[],C=p4(B,(D)=>D.name);return x3(u,(D)=>{let F=D.name;if(hB(C,F)){let U=E.buildNamespaceConflictError(D);A.push({message:U,type:NB.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:F})}}),A}function w0u(u){let B=LA0(u,{errMsgProvider:jR4}),E={};return x3(u.rules,(A)=>{E[A.name]=A}),ne0(E,B.errMsgProvider)}function Q0u(u){return u=LA0(u,{errMsgProvider:ww}),C0u(u.rules,u.tokenTypes,u.errMsgProvider,u.grammarName)}function QR(u){return hB(L0u,u.name)}function x0u(u,B,E,A,C,D,F){let U=this.getKeyForAutomaticLookahead(A,C),z=this.firstAfterRepMap[U];if(z===void 0){let b=this.getCurrRuleFullName(),Z=this.getGAstProductions()[b];z=new D(Z,C).startWalking(),this.firstAfterRepMap[U]=z}let{token:k,occurrence:f,isEndOfRule:M}=z;if(this.RULE_STACK.length===1&&M&&k===void 0)k=Rb,f=1;if(k===void 0||f===void 0)return;if(this.shouldInRepetitionRecoveryBeTried(k,f,F))this.tryInRepetitionRecovery(u,B,E,k)}function l$(u,B,E){return E|B|u}function Y0u(u){_m.reset(),u.accept(_m);let B=_m.dslMethods;return _m.reset(),B}function H80(u,B){if(isNaN(u.startOffset)===!0)u.startOffset=B.startOffset,u.endOffset=B.endOffset;else if(u.endOffset<B.endOffset===!0)u.endOffset=B.endOffset}function q80(u,B){if(isNaN(u.startOffset)===!0)u.startOffset=B.startOffset,u.startColumn=B.startColumn,u.startLine=B.startLine,u.endOffset=B.endOffset,u.endColumn=B.endColumn,u.endLine=B.endLine;else if(u.endOffset<B.endOffset===!0)u.endOffset=B.endOffset,u.endColumn=B.endColumn,u.endLine=B.endLine}function R0u(u,B,E){if(u.children[E]===void 0)u.children[E]=[B];else u.children[E].push(B)}function T0u(u,B,E){if(u.children[B]===void 0)u.children[B]=[E];else u.children[B].push(E)}function $A0(u,B){Object.defineProperty(u,tR4,{enumerable:!1,configurable:!0,writable:!1,value:B})}function O0u(u,B){let E=XE(u),A=E.length;for(let C=0;C<A;C++){let D=E[C],F=u[D],U=F.length;for(let z=0;z<U;z++){let k=F[z];if(k.tokenTypeIdx===void 0)this[k.name](k.children,B)}}}function I0u(u,B){let E=N(function(){},"derivedConstructor");$A0(E,u+"BaseSemantics");let A={visit:N(function(C,D){if(R1(C))C=C[0];if(Sk(C))return;return this[C.name](C.children,D)},"visit"),validateVisitor:N(function(){let C=j0u(this,B);if(!j6(C)){let D=p4(C,(F)=>F.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
${D.join(`
`).replace(/\n/g,`
`)}`)}},"validateVisitor")};return E.prototype=A,E.prototype.constructor=E,E._RULE_NAMES=B,E}function P0u(u,B,E){let A=N(function(){},"derivedConstructor");$A0(A,u+"BaseSemanticsWithDefaults");let C=Object.create(E.prototype);return x3(B,(D)=>{C[D]=O0u}),A.prototype=C,A.prototype.constructor=A,A}function j0u(u,B){return N0u(u,B)}function N0u(u,B){let E=RA(B,(C)=>{return Pk(u[C])===!1}),A=p4(E,(C)=>{return{msg:`Missing visitor method: <${C}> on ${u.constructor.name} CST Visitor.`,type:l80.MISSING_METHOD,methodName:C}});return $R(A)}function Gl(u,B,E,A=!1){GR(E);let C=vw(this.recordingProdStack),D=Pk(B)?B:B.DEF,F=new u({definition:[],idx:E});if(A)F.separator=B.SEP;if(Z3(B,"MAX_LOOKAHEAD"))F.maxLookahead=B.MAX_LOOKAHEAD;return this.recordingProdStack.push(F),D.call(this),C.definition.push(F),this.recordingProdStack.pop(),Ir}function i0u(u,B){GR(B);let E=vw(this.recordingProdStack),A=R1(u)===!1,C=A===!1?u:u.DEF,D=new O8({definition:[],idx:B,ignoreAmbiguities:A&&u.IGNORE_AMBIGUITIES===!0});if(Z3(u,"MAX_LOOKAHEAD"))D.maxLookahead=u.MAX_LOOKAHEAD;let F=et0(C,(U)=>Pk(U.GATE));return D.hasPredicates=F,E.definition.push(D),x3(C,(U)=>{let z=new R8({definition:[]});if(D.definition.push(z),Z3(U,"IGNORE_AMBIGUITIES"))z.ignoreAmbiguities=U.IGNORE_AMBIGUITIES;else if(Z3(U,"GATE"))z.ignoreAmbiguities=!0;this.recordingProdStack.push(z),U.ALT.call(this),this.recordingProdStack.pop()}),Ir}function L80(u){return u===0?"":`${u}`}function GR(u){if(u<0||u>Qp0){let B=Error(`Invalid DSL Method idx value: <${u}>
Idx value must be a none negative value smaller than ${Qp0+1}`);throw B.KNOWN_RECORDER_ERROR=!0,B}}function a0u(u,B){B.forEach((E)=>{let A=E.prototype;Object.getOwnPropertyNames(A).forEach((C)=>{if(C==="constructor")return;let D=Object.getOwnPropertyDescriptor(A,C);if(D&&(D.get||D.set))Object.defineProperty(u.prototype,C,D);else u.prototype[C]=E.prototype[C]})})}function X80(u=void 0){return function(){return u}}function m0u(u,B){var E=-1,A=u==null?0:u.length,C=Array(A);while(++E<A)C[E]=B(u[E],E,u);return C}function y0u(){this.__data__=[],this.size=0}function r0u(u,B){return u===B||u!==u&&B!==B}function c0u(u,B){var E=u.length;while(E--)if(g0u(u[E][0],B))return E;return-1}function _0u(u){var B=this.__data__,E=Pr(B,u);if(E<0)return!1;var A=B.length-1;if(E==A)B.pop();else MT4.call(B,E,1);return--this.size,!0}function p0u(u){var B=this.__data__,E=Pr(B,u);return E<0?void 0:B[E][1]}function n0u(u){return Pr(this.__data__,u)>-1}function d0u(u,B){var E=this.__data__,A=Pr(E,u);if(A<0)++this.size,E.push([u,B]);else E[A][1]=B;return this}function $w(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}function s0u(){this.__data__=new jr,this.size=0}function o0u(u){var B=this.__data__,E=B.delete(u);return this.size=B.size,E}function t0u(u){return this.__data__.get(u)}function e0u(u){return this.__data__.has(u)}function Euu(u){var B=vT4.call(u,HY),E=u[HY];try{u[HY]=void 0;var A=!0}catch(D){}var C=xT4.call(u);if(A)if(B)u[HY]=E;else delete u[HY];return C}function Auu(u){return YT4.call(u)}function Cuu(u){if(u==null)return u===void 0?OT4:TT4;return Gp0&&Gp0 in Object(u)?WT4(u):RT4(u)}function Duu(u){var B=typeof u;return u!=null&&(B=="object"||B=="function")}function Fuu(u){if(!rA0(u))return!1;var B=el(u);return B==PT4||B==jT4||B==IT4||B==NT4}function zuu(u){return!!Hp0&&Hp0 in u}function kuu(u){if(u!=null){try{return aT4.call(u)}catch(B){}try{return u+""}catch(B){}}return""}function fuu(u){if(!rA0(u)||hT4(u))return!1;var B=Uuu(u)?_T4:$T4;return B.test(yw(u))}function Muu(u,B){return u==null?void 0:u[B]}function buu(u,B){var E=nT4(u,B);return pT4(E)?E:void 0}function Zuu(){this.__data__=qR?qR(null):{},this.size=0}function Juu(u){var B=this.has(u)&&delete this.__data__[u];return this.size-=B?1:0,B}function Kuu(u){var B=this.__data__;if(qR){var E=B[u];return E===eT4?void 0:E}return BO4.call(B,u)?B[u]:void 0}function wuu(u){var B=this.__data__;return qR?B[u]!==void 0:CO4.call(B,u)}function Quu(u,B){var E=this.__data__;return this.size+=this.has(u)?0:1,E[u]=qR&&B===void 0?FO4:B,this}function rw(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}function Guu(){this.size=0,this.__data__={hash:new qp0,map:new(HR||jr),string:new qp0}}function Huu(u){var B=typeof u;return B=="string"||B=="number"||B=="symbol"||B=="boolean"?u!=="__proto__":u===null}function quu(u,B){var E=u.__data__;return kO4(B)?E[typeof B=="string"?"string":"hash"]:E.map}function luu(u){var B=Nr(this,u).delete(u);return this.size-=B?1:0,B}function Luu(u){return Nr(this,u).get(u)}function Xuu(u){return Nr(this,u).has(u)}function vuu(u,B){var E=Nr(this,u),A=E.size;return E.set(u,B),this.size+=E.size==A?0:1,this}function gw(u){var B=-1,E=u==null?0:u.length;this.clear();while(++B<E){var A=u[B];this.set(A[0],A[1])}}function xuu(u,B){var E=this.__data__;if(E instanceof jr){var A=E.__data__;if(!HR||A.length<JO4-1)return A.push([u,B]),this.size=++E.size,this;E=this.__data__=new Vr(A)}return E.set(u,B),this.size=E.size,this}function cw(u){var B=this.__data__=new jr(u);this.size=B.size}function Wuu(u){return this.__data__.set(u,wO4),this}function Suu(u){return this.__data__.has(u)}function lR(u){var B=-1,E=u==null?0:u.length;this.__data__=new Vr;while(++B<E)this.add(u[B])}function Ruu(u,B){var E=-1,A=u==null?0:u.length;while(++E<A)if(B(u[E],E,u))return!0;return!1}function Tuu(u,B){return u.has(B)}function Iuu(u,B,E,A,C,D){var F=E&qO4,U=u.length,z=B.length;if(U!=z&&!(F&&z>U))return!1;var k=D.get(u),f=D.get(B);if(k&&f)return k==B&&f==u;var M=-1,b=!0,Z=E&lO4?new Yuu:void 0;D.set(u,B),D.set(B,u);while(++M<U){var J=u[M],K=B[M];if(A)var w=F?A(K,J,M,B,u,D):A(J,K,M,u,B,D);if(w!==void 0){if(w)continue;b=!1;break}if(Z){if(!HO4(B,function(Q,G){if(!Ouu(Z,G)&&(J===Q||C(J,Q,E,A,D)))return Z.push(G)})){b=!1;break}}else if(!(J===K||C(J,K,E,A,D))){b=!1;break}}return D.delete(u),D.delete(B),b}function juu(u){var B=-1,E=Array(u.size);return u.forEach(function(A,C){E[++B]=[C,A]}),E}function Nuu(u){var B=-1,E=Array(u.size);return u.forEach(function(A){E[++B]=A}),E}function Vuu(u,B,E,A,C,D,F){switch(E){case VO4:if(u.byteLength!=B.byteLength||u.byteOffset!=B.byteOffset)return!1;u=u.buffer,B=B.buffer;case NO4:if(u.byteLength!=B.byteLength||!D(new lp0(u),new lp0(B)))return!1;return!0;case WO4:case SO4:case TO4:return g0u(+u,+B);case YO4:return u.name==B.name&&u.message==B.message;case OO4:case PO4:return u==B+"";case RO4:var U=XO4;case IO4:var z=A&vO4;if(U||(U=gA0),u.size!=B.size&&!z)return!1;var k=F.get(u);if(k)return k==B;A|=xO4,F.set(u,B);var f=Puu(U(u),U(B),A,C,D,F);return F.delete(u),f;case jO4:if(m70)return m70.call(u)==m70.call(B)}return!1}function huu(u,B){var E=-1,A=B.length,C=u.length;while(++E<A)u[C+E]=B[E];return u}function auu(u,B,E){var A=B(u);return VB(u)?A:iuu(A,E(u))}function muu(u,B){var E=-1,A=u==null?0:u.length,C=0,D=[];while(++E<A){var F=u[E];if(B(F,E,u))D[C++]=F}return D}function yuu(){return[]}function ruu(u,B){var E=-1,A=Array(u);while(++E<u)A[E]=B(E);return A}function guu(u){return u!=null&&typeof u=="object"}function cuu(u){return rl(u)&&el(u)==_O4}function puu(){return!1}function duu(u,B){var E=typeof u;return B=B==null?uI4:B,!!B&&(E=="number"||E!="symbol"&&BI4.test(u))&&(u>-1&&u%1==0&&u<B)}function ouu(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=EI4}function tuu(u){return rl(u)&&cA0(u.length)&&!!_6[el(u)]}function euu(u){return function(B){return u(B)}}function B4u(u,B){var E=VB(u),A=!E&&hr(u),C=!E&&!A&&Cy(u),D=!E&&!A&&!C&&_A0(u),F=E||A||C||D,U=F?cO4(u.length,String):[],z=U.length;for(var k in u)if((B||PI4.call(u,k))&&!(F&&(k=="length"||C&&(k=="offset"||k=="parent")||D&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||suu(k,z))))U.push(k);return U}function E4u(u){var B=u&&u.constructor,E=typeof B=="function"&&B.prototype||NI4;return u===E}function C4u(u,B){return function(E){return u(B(E))}}function D4u(u){if(!A4u(u))return iI4(u);var B=[];for(var E in Object(u))if(mI4.call(u,E)&&E!="constructor")B.push(E);return B}function U4u(u){return u!=null&&cA0(u.length)&&!Uuu(u)}function z4u(u){return ir(u)?jI4(u):F4u(u)}function k4u(u){return aO4(u,pA0,gO4)}function f4u(u,B,E,A,C,D){var F=E&$I4,U=Rp0(u),z=U.length,k=Rp0(B),f=k.length;if(z!=f&&!F)return!1;var M=z;while(M--){var b=U[M];if(!(F?b in B:rI4.call(B,b)))return!1}var Z=D.get(u),J=D.get(B);if(Z&&J)return Z==B&&J==u;var K=!0;D.set(u,B),D.set(B,u);var w=F;while(++M<z){b=U[M];var Q=u[b],G=B[b];if(A)var H=F?A(G,Q,b,B,u,D):A(Q,G,b,u,B,D);if(!(H===void 0?Q===G||C(Q,G,E,A,D):H)){K=!1;break}w||(w=b=="constructor")}if(K&&!w){var l=u.constructor,q=B.constructor;if(l!=q&&(("constructor"in u)&&("constructor"in B))&&!(typeof l=="function"&&l instanceof l&&typeof q=="function"&&q instanceof q))K=!1}return D.delete(u),D.delete(B),K}function M4u(u,B,E,A,C,D){var F=VB(u),U=VB(B),z=F?Vp0:S80(u),k=U?Vp0:S80(B);z=z==Np0?pm:z,k=k==Np0?pm:k;var f=z==pm,M=k==pm,b=z==k;if(b&&Cy(u)){if(!Cy(B))return!1;F=!0,f=!1}if(b&&!f)return D||(D=new L$),F||_A0(u)?Puu(u,B,E,A,C,D):hO4(u,B,z,E,A,C,D);if(!(E&BP4)){var Z=f&&hp0.call(u,"__wrapped__"),J=M&&hp0.call(B,"__wrapped__");if(Z||J){var K=Z?u.value():u,w=J?B.value():B;return D||(D=new L$),C(K,w,E,A,D)}}if(!b)return!1;return D||(D=new L$),gI4(u,B,E,A,C,D)}function nA0(u,B,E,A,C){if(u===B)return!0;if(u==null||B==null||!rl(u)&&!rl(B))return u!==u&&B!==B;return AP4(u,B,E,A,nA0,C)}function Z4u(u,B,E,A){var C=E.length,D=C,F=!A;if(u==null)return!D;u=Object(u);while(C--){var U=E[C];if(F&&U[2]?U[1]!==u[U[0]]:!(U[0]in u))return!1}while(++C<D){U=E[C];var z=U[0],k=u[z],f=U[1];if(F&&U[2]){if(k===void 0&&!(z in u))return!1}else{var M=new L$;if(A)var b=A(k,f,z,u,B,M);if(!(b===void 0?b4u(f,k,CP4|DP4,A,M):b))return!1}}return!0}function J4u(u){return u===u&&!rA0(u)}function w4u(u){var B=pA0(u),E=B.length;while(E--){var A=B[E],C=u[A];B[E]=[A,C,K4u(C)]}return B}function Q4u(u,B){return function(E){if(E==null)return!1;return E[u]===B&&(B!==void 0||(u in Object(E)))}}function H4u(u){var B=UP4(u);if(B.length==1&&B[0][2])return G4u(B[0][0],B[0][1]);return function(E){return E===u||FP4(E,u,B)}}function q4u(u){return typeof u=="symbol"||rl(u)&&el(u)==kP4}function l4u(u,B){if(VB(u))return!1;var E=typeof u;if(E=="number"||E=="symbol"||E=="boolean"||u==null||ar(u))return!0;return MP4.test(u)||!fP4.test(u)||B!=null&&u in Object(B)}function mr(u,B){if(typeof u!="function"||B!=null&&typeof B!="function")throw TypeError(bP4);var E=N(function(){var A=arguments,C=B?B.apply(this,A):A[0],D=E.cache;if(D.has(C))return D.get(C);var F=u.apply(this,A);return E.cache=D.set(C,F)||D,F},"memoized");return E.cache=new(mr.Cache||Vr),E}function L4u(u){var B=ZP4(u,function(A){if(E.size===JP4)E.clear();return A}),E=B.cache;return B}function sA0(u){if(typeof u=="string")return u;if(VB(u))return $0u(u,sA0)+"";if(ar(u))return ap0?ap0.call(u):"";var B=u+"";return B=="0"&&1/u==-qP4?"-0":B}function X4u(u){return u==null?"":lP4(u)}function v4u(u,B){if(VB(u))return u;return dA0(u,B)?[u]:HP4(LP4(u))}function W4u(u){if(typeof u=="string"||ar(u))return u;var B=u+"";return B=="0"&&1/u==-XP4?"-0":B}function S4u(u,B){B=x4u(B,u);var E=0,A=B.length;while(u!=null&&E<A)u=u[$r(B[E++])];return E&&E==A?u:void 0}function R4u(u,B,E){var A=u==null?void 0:Y4u(u,B);return A===void 0?E:A}function T4u(u,B){return u!=null&&B in Object(u)}function O4u(u,B,E){B=x4u(B,u);var A=-1,C=B.length,D=!1;while(++A<C){var F=$r(B[A]);if(!(D=u!=null&&E(u,F)))break;u=u[F]}if(D||++A!=C)return D;return C=u==null?0:u.length,!!C&&cA0(C)&&suu(F,C)&&(VB(u)||hr(u))}function I4u(u,B){return u!=null&&WP4(u,B,xP4)}function P4u(u,B){if(dA0(u)&&K4u(B))return G4u($r(u),B);return function(E){var A=vP4(E,u);return A===void 0&&A===B?SP4(E,u):b4u(B,A,YP4|RP4)}}function j4u(u){return u}function N4u(u){return function(B){return B==null?void 0:B[u]}}function V4u(u){return function(B){return Y4u(B,u)}}function h4u(u){return dA0(u)?OP4($r(u)):IP4(u)}function i4u(u){if(typeof u=="function")return u;if(u==null)return oA0;if(typeof u=="object")return VB(u)?TP4(u[0],u[1]):zP4(u);return PP4(u)}function a4u(u){return function(B,E,A){var C=-1,D=Object(B),F=A(B),U=F.length;while(U--){var z=F[u?U:++C];if(E(D[z],z,D)===!1)break}return B}}function m4u(u,B){return u&&VP4(u,B,pA0)}function $4u(u,B){return function(E,A){if(E==null)return E;if(!ir(E))return u(E,A);var C=E.length,D=B?C:-1,F=Object(E);while(B?D--:++D<C)if(A(F[D],D,F)===!1)break;return E}}function y4u(u,B){var E=-1,A=ir(u)?Array(u.length):[];return rr(u,function(C,D,F){A[++E]=B(C,D,F)}),A}function r4u(u,B){var E=VB(u)?$0u:mP4;return E(u,yr(B,3))}function g4u(u,B){var E=[];return rr(u,function(A,C,D){if(B(A,C,D))E.push(A)}),E}function c4u(u,B){var E=VB(u)?$uu:$P4;return E(u,yr(B,3))}function Ww(u,B,E){return`${u.name}_${B}_${E}`}function s4u(u){let B={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};o4u(B,u);let E=u.length;for(let A=0;A<E;A++){let C=u[A],D=Vb(B,C,C);if(D===void 0)continue;z3u(B,C,D)}return B}function o4u(u,B){let E=B.length;for(let A=0;A<E;A++){let C=B[A],D=A5(u,C,void 0,{type:rP4}),F=A5(u,C,void 0,{type:_R});D.stop=F,u.ruleToStartState.set(C,D),u.ruleToStopState.set(C,F)}}function BC0(u,B,E){if(E instanceof p6)return gr(u,B,E.terminalType,E);else if(E instanceof jB)return U3u(u,B,E);else if(E instanceof O8)return E3u(u,B,E);else if(E instanceof Z7)return A3u(u,B,E);else if(E instanceof r9)return t4u(u,B,E);else if(E instanceof T8)return e4u(u,B,E);else if(E instanceof WE)return u3u(u,B,E);else if(E instanceof SE)return B3u(u,B,E);else return Vb(u,B,E)}function t4u(u,B,E){let A=A5(u,B,E,{type:p4u});Nk(u,A);let C=_w(u,B,A,E,Vb(u,B,E));return AC0(u,B,E,C)}function e4u(u,B,E){let A=A5(u,B,E,{type:p4u});Nk(u,A);let C=_w(u,B,A,E,Vb(u,B,E)),D=gr(u,B,E.separator,E);return AC0(u,B,E,C,D)}function u3u(u,B,E){let A=A5(u,B,E,{type:_4u});Nk(u,A);let C=_w(u,B,A,E,Vb(u,B,E));return EC0(u,B,E,C)}function B3u(u,B,E){let A=A5(u,B,E,{type:_4u});Nk(u,A);let C=_w(u,B,A,E,Vb(u,B,E)),D=gr(u,B,E.separator,E);return EC0(u,B,E,C,D)}function E3u(u,B,E){let A=A5(u,B,E,{type:Tb});Nk(u,A);let C=lk(E.definition,(F)=>BC0(u,B,F));return _w(u,B,A,E,...C)}function A3u(u,B,E){let A=A5(u,B,E,{type:Tb});Nk(u,A);let C=_w(u,B,A,E,Vb(u,B,E));return C3u(u,B,E,C)}function Vb(u,B,E){let A=yP4(lk(E.definition,(C)=>BC0(u,B,C)),(C)=>C!==void 0);if(A.length===1)return A[0];else if(A.length===0)return;else return F3u(u,A)}function EC0(u,B,E,A,C){let{left:D,right:F}=A,U=A5(u,B,E,{type:pP4});Nk(u,U);let z=A5(u,B,E,{type:n4u});if(D.loopback=U,z.loopback=U,u.decisionMap[Ww(B,C?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",E.idx)]=U,U2(F,U),C===void 0)U2(U,D),U2(U,z);else U2(U,z),U2(U,C.left),U2(C.right,D);return{left:D,right:z}}function AC0(u,B,E,A,C){let{left:D,right:F}=A,U=A5(u,B,E,{type:_P4});Nk(u,U);let z=A5(u,B,E,{type:n4u}),k=A5(u,B,E,{type:cP4});if(U.loopback=k,z.loopback=k,U2(U,D),U2(U,z),U2(F,k),C!==void 0)U2(k,z),U2(k,C.left),U2(C.right,D);else U2(k,U);return u.decisionMap[Ww(B,C?"RepetitionWithSeparator":"Repetition",E.idx)]=U,{left:U,right:z}}function C3u(u,B,E,A){let{left:C,right:D}=A;return U2(C,D),u.decisionMap[Ww(B,"Option",E.idx)]=C,A}function Nk(u,B){return u.decisionStates.push(B),B.decision=u.decisionStates.length-1,B.decision}function _w(u,B,E,A,...C){let D=A5(u,B,A,{type:gP4,start:E});E.end=D;for(let U of C)if(U!==void 0)U2(E,U.left),U2(U.right,D);else U2(E,D);let F={left:E,right:D};return u.decisionMap[Ww(B,D3u(A),A.idx)]=E,F}function D3u(u){if(u instanceof O8)return"Alternation";else if(u instanceof Z7)return"Option";else if(u instanceof r9)return"Repetition";else if(u instanceof T8)return"RepetitionWithSeparator";else if(u instanceof WE)return"RepetitionMandatory";else if(u instanceof SE)return"RepetitionMandatoryWithSeparator";else throw Error("Invalid production type encountered")}function F3u(u,B){let E=B.length;for(let D=0;D<E-1;D++){let F=B[D],U;if(F.left.transitions.length===1)U=F.left.transitions[0];let z=U instanceof uC0,k=U,f=B[D+1].left;if(F.left.type===Tb&&F.right.type===Tb&&U!==void 0&&(z&&k.followState===F.right||U.target===F.right)){if(z)k.followState=f;else U.target=f;k3u(u,F.right)}else U2(F.right,f)}let A=B[0],C=B[E-1];return{left:A.left,right:C.right}}function gr(u,B,E,A){let C=A5(u,B,A,{type:Tb}),D=A5(u,B,A,{type:Tb});return cr(C,new eA0(D,E)),{left:C,right:D}}function U3u(u,B,E){let A=E.referencedRule,C=u.ruleToStartState.get(A),D=A5(u,B,E,{type:Tb}),F=A5(u,B,E,{type:Tb}),U=new uC0(C,A,F);return cr(D,U),{left:D,right:F}}function z3u(u,B,E){let A=u.ruleToStartState.get(B);U2(A,E.left);let C=u.ruleToStopState.get(B);return U2(E.right,C),{left:A,right:C}}function U2(u,B){let E=new d4u(B);cr(u,E)}function A5(u,B,E,A){let C=Object.assign({atn:u,production:E,epsilonOnlyTransitions:!1,rule:B,transitions:[],nextTokenWithinRule:[],stateNumber:u.states.length},A);return u.states.push(C),C}function cr(u,B){if(u.transitions.length===0)u.epsilonOnlyTransitions=B.isEpsilon();u.transitions.push(B)}function k3u(u,B){u.states.splice(u.states.indexOf(B),1)}function CC0(u,B=!0){return`${B?`a${u.alt}`:""}s${u.state.stateNumber}:${u.stack.map((E)=>E.stateNumber.toString()).join("_")}`}function f3u(u,B,E){var A=-1,C=u.length;while(++A<C){var D=u[A],F=B(D);if(F!=null&&(U===void 0?F===F&&!ar(F):E(F,U)))var U=F,z=D}return z}function M3u(u,B){return u<B}function b3u(u){return u&&u.length?nP4(u,oA0,dP4):void 0}function Z3u(u){return VB(u)||hr(u)||!!(mp0&&u&&u[mp0])}function DC0(u,B,E,A,C){var D=-1,F=u.length;E||(E=oP4),C||(C=[]);while(++D<F){var U=u[D];if(B>0&&E(U))if(B>1)DC0(U,B-1,E,A,C);else iuu(C,U);else if(!A)C[C.length]=U}return C}function K3u(u,B){return J3u(lk(u,B),1)}function w3u(u,B,E,A){var C=u.length,D=E+(A?1:-1);while(A?D--:++D<C)if(B(u[D],D,u))return D;return-1}function Q3u(u){return u!==u}function G3u(u,B,E){var A=E-1,C=u.length;while(++A<C)if(u[A]===B)return A;return-1}function H3u(u,B,E){return B===B?Bj4(u,B,E):eP4(u,uj4,E)}function q3u(u,B){var E=u==null?0:u.length;return!!E&&Ej4(u,B,0)>-1}function l3u(u,B,E){var A=-1,C=u==null?0:u.length;while(++A<C)if(E(B,u[A]))return!0;return!1}function L3u(){}function X3u(u,B,E){var A=-1,C=Aj4,D=u.length,F=!0,U=[],z=U;if(E)F=!1,C=Cj4;else if(D>=kj4){var k=B?null:zj4(u);if(k)return gA0(k);F=!1,C=Ouu,z=new Yuu}else z=B?[]:U;u:while(++A<D){var f=u[A],M=B?B(f):f;if(f=E||f!==0?f:0,F&&M===M){var b=z.length;while(b--)if(z[b]===M)continue u;if(B)z.push(M);U.push(f)}else if(!C(z,M,E)){if(z!==U)z.push(M);U.push(f)}}return U}function v3u(u,B){return u&&u.length?fj4(u,yr(B,2)):[]}function x3u(u){var B=u==null?0:u.length;return B?J3u(u,1):[]}function W3u(u,B){var E=-1,A=u==null?0:u.length;while(++E<A)if(B(u[E],E,u)===!1)break;return u}function S3u(u){return typeof u=="function"?u:oA0}function Y3u(u,B){var E=VB(u)?Zj4:rr;return E(u,Jj4(B))}function R3u(u){if(u==null)return!0;if(ir(u)&&(VB(u)||typeof u=="string"||typeof u.splice=="function"||Cy(u)||_A0(u)||hr(u)))return!u.length;var B=S80(u);if(B==Kj4||B==wj4)return!u.size;if(A4u(u))return!F4u(u).length;for(var E in u)if(Gj4.call(u,E))return!1;return!0}function T3u(u,B,E,A){var C=-1,D=u==null?0:u.length;if(A&&D)E=u[++C];while(++C<D)E=B(E,u[C],C,u);return E}function O3u(u,B,E,A,C){return C(u,function(D,F,U){E=A?(A=!1,D):B(E,D,F,U)}),E}function I3u(u,B,E){var A=VB(u)?qj4:lj4,C=arguments.length<3;return A(u,yr(B,4),E,C,rr)}function P3u(u,B){let E={};return(A)=>{let C=A.toString(),D=E[C];if(D!==void 0)return D;else return D={atnStartState:u,decision:B,states:{}},E[C]=D,D}}function R80(u,B=!0){let E=new Set;for(let A of u){let C=new Set;for(let D of A){if(D===void 0)if(B)break;else return!1;let F=[D.tokenTypeIdx].concat(D.categoryMatches);for(let U of F)if(E.has(U)){if(!C.has(U))return!1}else E.add(U),C.add(U)}}return!0}function N3u(u){let B=u.decisionStates.length,E=Array(B);for(let A=0;A<B;A++)E[A]=P3u(u.decisionStates[A],A);return E}function X$(u,B,E,A){let C=u[B](E),D=C.start;if(D===void 0){let U=_3u(C.atnStartState);D=UC0(C,FC0(U)),C.start=D}return V3u.apply(this,[C,D,E,A])}function V3u(u,B,E,A){let C=B,D=1,F=[],U=this.LA(D++);while(!0){let z=y3u(C,U);if(z===void 0)z=h3u.apply(this,[u,C,U,D,E,A]);if(z===Dy)return $3u(F,C,U);if(z.isAcceptState===!0)return z.prediction;C=z,F.push(U),U=this.LA(D++)}}function h3u(u,B,E,A,C,D){let F=r3u(B.configs,E,C);if(F.size===0)return T80(u,B,E,Dy),Dy;let U=FC0(F),z=c3u(F,C);if(z!==void 0)U.isAcceptState=!0,U.prediction=z,U.configs.uniqueAlt=z;else if(s3u(F)){let k=sP4(F.alts);U.isAcceptState=!0,U.prediction=k,U.configs.uniqueAlt=k,i3u.apply(this,[u,A,F.alts,D])}return U=T80(u,B,E,U),U}function i3u(u,B,E,A){let C=[];for(let k=1;k<=B;k++)C.push(this.LA(k).tokenType);let D=u.atnStartState,F=D.rule,U=D.production,z=a3u({topLevelRule:F,ambiguityIndices:E,production:U,prefixPath:C});A(z)}function a3u(u){let B=lk(u.prefixPath,(C)=>lw(C)).join(", "),E=u.production.idx===0?"":u.production.idx,A=`Ambiguous Alternatives Detected: <${u.ambiguityIndices.join(", ")}> in <${m3u(u.production)}${E}> inside <${u.topLevelRule.name}> Rule,
<${B}> may appears as a prefix path in all these alternatives.
`;return A=A+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,A}function m3u(u){if(u instanceof jB)return"SUBRULE";else if(u instanceof Z7)return"OPTION";else if(u instanceof O8)return"OR";else if(u instanceof WE)return"AT_LEAST_ONE";else if(u instanceof SE)return"AT_LEAST_ONE_SEP";else if(u instanceof T8)return"MANY_SEP";else if(u instanceof r9)return"MANY";else if(u instanceof p6)return"CONSUME";else throw Error("non exhaustive match")}function $3u(u,B,E){let A=tP4(B.configs.elements,(D)=>D.state.transitions),C=Mj4(A.filter((D)=>D instanceof eA0).map((D)=>D.tokenType),(D)=>D.tokenTypeIdx);return{actualToken:E,possibleTokenTypes:C,tokenPath:u}}function y3u(u,B){return u.edges[B.tokenTypeIdx]}function r3u(u,B,E){let A=new Y80,C=[];for(let F of u.elements){if(E.is(F.alt)===!1)continue;if(F.state.type===_R){C.push(F);continue}let U=F.state.transitions.length;for(let z=0;z<U;z++){let k=F.state.transitions[z],f=g3u(k,B);if(f!==void 0)A.add({state:f,alt:F.alt,stack:F.stack})}}let D;if(C.length===0&&A.size===1)D=A;if(D===void 0){D=new Y80;for(let F of A.elements)LR(F,D)}if(C.length>0&&!n3u(D))for(let F of C)D.add(F);return D}function g3u(u,B){if(u instanceof eA0&&PA0(B,u.tokenType))return u.target;return}function c3u(u,B){let E;for(let A of u.elements)if(B.is(A.alt)===!0){if(E===void 0)E=A.alt;else if(E!==A.alt)return}return E}function FC0(u){return{configs:u,edges:{},isAcceptState:!1,prediction:-1}}function T80(u,B,E,A){return A=UC0(u,A),B.edges[E.tokenTypeIdx]=A,A}function UC0(u,B){if(B===Dy)return B;let E=B.configs.key,A=u.states[E];if(A!==void 0)return A;return B.configs.finalize(),u.states[E]=B,B}function _3u(u){let B=new Y80,E=u.transitions.length;for(let A=0;A<E;A++){let D={state:u.transitions[A].target,alt:A,stack:[]};LR(D,B)}return B}function LR(u,B){let E=u.state;if(E.type===_R){if(u.stack.length>0){let C=[...u.stack],F={state:C.pop(),alt:u.alt,stack:C};LR(F,B)}else B.add(u);return}if(!E.epsilonOnlyTransitions)B.add(u);let A=E.transitions.length;for(let C=0;C<A;C++){let D=E.transitions[C],F=p3u(u,D);if(F!==void 0)LR(F,B)}}function p3u(u,B){if(B instanceof d4u)return{state:B.target,alt:u.alt,stack:u.stack};else if(B instanceof uC0){let E=[...u.stack,B.followState];return{state:B.target,alt:u.alt,stack:E}}return}function n3u(u){for(let B of u.elements)if(B.state.type===_R)return!0;return!1}function d3u(u){for(let B of u.elements)if(B.state.type!==_R)return!1;return!0}function s3u(u){if(d3u(u))return!0;let B=o3u(u.elements);return t3u(B)&&!e3u(B)}function o3u(u){let B=new Map;for(let E of u){let A=CC0(E,!1),C=B.get(A);if(C===void 0)C={},B.set(A,C);C[E.alt]=!0}return B}function t3u(u){for(let B of Array.from(u.values()))if(Object.keys(B).length>1)return!0;return!1}function e3u(u){for(let B of Array.from(u.values()))if(Object.keys(B).length===1)return!0;return!1}function v$(u){return u.$type===Uy}function pr(u,B,E){return F1u({parser:B,tokens:E,ruleNames:new Map},u),B}function F1u(u,B){let E=zr(B,!1),A=z6(B.rules).filter(PB).filter((D)=>E.has(D));for(let D of A){let F={...u,consume:1,optional:1,subrule:1,many:1,or:1};u.parser.rule(D,Ob(F,D.definition))}let C=z6(B.rules).filter(il).filter((D)=>E.has(D));for(let D of C)u.parser.rule(D,U1u(u,D))}function U1u(u,B){let E=B.call.rule.ref;if(!E)throw Error("Could not resolve reference to infix operator rule: "+B.call.rule.$refText);if(YA(E))throw Error("Cannot use terminal rule in infix expression");let A=B.operators.precedences.flatMap((Z)=>Z.operators),C={$type:"Group",elements:[]},D={$container:C,$type:"Assignment",feature:"parts",operator:"+=",terminal:B.call},F={$container:C,$type:"Group",elements:[],cardinality:"*"};C.elements.push(D,F);let z={$container:F,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:A}},k={...D,$container:F};F.elements.push(z,k);let M=A.map((Z)=>u.tokens[Z.value]).map((Z,J)=>({ALT:N(()=>u.parser.consume(J,Z,z),"ALT")})),b;return(Z)=>{b??(b=nr(u,E)),u.parser.subrule(0,b,!1,D,Z),u.parser.many(0,{DEF:N(()=>{u.parser.alternatives(0,M),u.parser.subrule(1,b,!1,k,Z)},"DEF")})}}function Ob(u,B,E=!1){let A;if(vk(B))A=J1u(u,B);else if(Sb(B))A=z1u(u,B);else if(Xk(B))A=Ob(u,B.terminal);else if(Ow(B))A=bC0(u,B);else if(xk(B))A=k1u(u,B);else if(ey(B))A=M1u(u,B);else if(Ar(B))A=b1u(u,B);else if(Iw(B))A=Z1u(u,B);else if(KE0(B)){let C=u.consume++;A=N(()=>u.parser.consume(C,Rb,B),"method")}else throw new Dr(B.$cstNode,`Unexpected element type: ${B.$type}`);return ZC0(u,E?void 0:XR(B),A,B.cardinality)}function z1u(u,B){let E=Xw(B);return()=>u.parser.action(E,B)}function k1u(u,B){let E=B.rule.ref;if(Tw(E)){let A=u.subrule++,C=PB(E)&&E.fragment,D=B.arguments.length>0?f1u(E,B.arguments):()=>({}),F;return(U)=>{F??(F=nr(u,E)),u.parser.subrule(A,F,C,B,D(U))}}else if(YA(E)){let A=u.consume++,C=zy(u,E.name);return()=>u.parser.consume(A,C,B)}else if(!E)throw new Dr(B.$cstNode,`Undefined rule: ${B.rule.$refText}`);else Pb(E)}function f1u(u,B){if(B.some((A)=>A.calledByName)){let A=B.map((C)=>({parameterName:C.parameter?.ref?.name,predicate:gC(C.value)}));return(C)=>{let D={};for(let{parameterName:F,predicate:U}of A)if(F)D[F]=U(C);return D}}else{let A=B.map((C)=>gC(C.value));return(C)=>{let D={};for(let F=0;F<A.length;F++)if(F<u.parameters.length){let U=u.parameters[F].name,z=A[F];D[U]=z(C)}return D}}}function gC(u){if(JE0(u)){let B=gC(u.left),E=gC(u.right);return(A)=>B(A)||E(A)}else if(ZE0(u)){let B=gC(u.left),E=gC(u.right);return(A)=>B(A)&&E(A)}else if(GE0(u)){let B=gC(u.value);return(E)=>!B(E)}else if(HE0(u)){let B=u.parameter.ref.name;return(E)=>E!==void 0&&E[B]===!0}else if(ME0(u)){let B=Boolean(u.true);return()=>B}Pb(u)}function M1u(u,B){if(B.elements.length===1)return Ob(u,B.elements[0]);else{let E=[];for(let C of B.elements){let D={ALT:Ob(u,C,!0)},F=XR(C);if(F)D.GATE=gC(F);E.push(D)}let A=u.or++;return(C)=>u.parser.alternatives(A,E.map((D)=>{let F={ALT:N(()=>D.ALT(C),"ALT")},U=D.GATE;if(U)F.GATE=()=>U(C);return F}))}}function b1u(u,B){if(B.elements.length===1)return Ob(u,B.elements[0]);let E=[];for(let U of B.elements){let z={ALT:Ob(u,U,!0)},k=XR(U);if(k)z.GATE=gC(k);E.push(z)}let A=u.or++,C=N((U,z)=>{let k=z.getRuleStack().join("-");return`uGroup_${U}_${k}`},"idFunc"),D=N((U)=>u.parser.alternatives(A,E.map((z,k)=>{let f={ALT:N(()=>!0,"ALT")},M=u.parser;f.ALT=()=>{if(z.ALT(U),!M.isRecording()){let Z=C(A,M);if(!M.unorderedGroups.get(Z))M.unorderedGroups.set(Z,[]);let J=M.unorderedGroups.get(Z);if(typeof J?.[k]>"u")J[k]=!0}};let b=z.GATE;if(b)f.GATE=()=>b(U);else f.GATE=()=>{return!M.unorderedGroups.get(C(A,M))?.[k]};return f})),"alternatives"),F=ZC0(u,XR(B),D,"*");return(U)=>{if(F(U),!u.parser.isRecording())u.parser.unorderedGroups.delete(C(A,u.parser))}}function Z1u(u,B){let E=B.elements.map((A)=>Ob(u,A));return(A)=>E.forEach((C)=>C(A))}function XR(u){if(Iw(u))return u.guardCondition;return}function bC0(u,B,E=B.terminal){if(!E){if(!B.type.ref)throw Error("Could not resolve reference to type: "+B.type.$refText);let C=br(B.type.ref)?.terminal;if(!C)throw Error("Could not find name assignment for type: "+Xw(B.type.ref));return bC0(u,B,C)}else if(xk(E)&&PB(E.rule.ref)){let A=E.rule.ref,C=u.subrule++,D;return(F)=>{D??(D=nr(u,A)),u.parser.subrule(C,D,!1,B,F)}}else if(xk(E)&&YA(E.rule.ref)){let A=u.consume++,C=zy(u,E.rule.ref.name);return()=>u.parser.consume(A,C,B)}else if(vk(E)){let A=u.consume++,C=zy(u,E.value);return()=>u.parser.consume(A,C,B)}else throw Error("Could not build cross reference parser")}function J1u(u,B){let E=u.consume++,A=u.tokens[B.value];if(!A)throw Error("Could not find token for keyword: "+B.value);return()=>u.parser.consume(E,A,B)}function ZC0(u,B,E,A){let C=B&&gC(B);if(!A)if(C){let D=u.or++;return(F)=>u.parser.alternatives(D,[{ALT:N(()=>E(F),"ALT"),GATE:N(()=>C(F),"GATE")},{ALT:X80(),GATE:N(()=>!C(F),"GATE")}])}else return E;if(A==="*"){let D=u.many++;return(F)=>u.parser.many(D,{DEF:N(()=>E(F),"DEF"),GATE:C?()=>C(F):void 0})}else if(A==="+"){let D=u.many++;if(C){let F=u.or++;return(U)=>u.parser.alternatives(F,[{ALT:N(()=>u.parser.atLeastOne(D,{DEF:N(()=>E(U),"DEF")}),"ALT"),GATE:N(()=>C(U),"GATE")},{ALT:X80(),GATE:N(()=>!C(U),"GATE")}])}else return(F)=>u.parser.atLeastOne(D,{DEF:N(()=>E(F),"DEF")})}else if(A==="?"){let D=u.optional++;return(F)=>u.parser.optional(D,{DEF:N(()=>E(F),"DEF"),GATE:C?()=>C(F):void 0})}else Pb(A)}function nr(u,B){let E=K1u(u,B),A=u.parser.getRule(E);if(!A)throw Error(`Rule "${E}" not found."`);return A}function K1u(u,B){if(Tw(B))return B.name;else if(u.ruleNames.has(B))return u.ruleNames.get(B);else{let E=B,A=E.$container,C=B.$type;while(!PB(A)){if(Iw(A)||ey(A)||Ar(A))C=A.elements.indexOf(E).toString()+":"+C;E=A,A=A.$container}return C=A.name+":"+C,u.ruleNames.set(B,C),C}}function zy(u,B){let E=u.tokens[B];if(!E)throw Error(`Token "${B}" not found."`);return E}function JC0(u){let B=u.Grammar,E=u.parser.Lexer,A=new C1u(u);return pr(B,A,E.definition),A.finalize(),A}function KC0(u){let B=wC0(u);return B.finalize(),B}function wC0(u){let B=u.Grammar,E=u.parser.Lexer,A=new E1u(u);return pr(B,A,E.definition)}function sr(){return new Promise((u)=>{if(typeof setImmediate>"u")setTimeout(u,0);else setImmediate(u)})}function or(){return x$=performance.now(),new P6.CancellationTokenSource}function GC0(u){w1u=u}function pw(u){return u===fU}async function j5(u){if(u===P6.CancellationToken.None)return;let B=performance.now();if(B-x$>=w1u)x$=B,await sr(),x$=performance.now();if(u.isCancellationRequested)throw fU}function fy(u,B){if(u.length<=1)return u;let E=u.length/2|0,A=u.slice(0,E),C=u.slice(E);fy(A,B),fy(C,B);let D=0,F=0,U=0;while(D<A.length&&F<C.length)if(B(A[D],C[F])<=0)u[U++]=A[D++];else u[U++]=C[F++];while(D<A.length)u[U++]=A[D++];while(F<C.length)u[U++]=C[F++];return u}function O80(u,B,E=0){let A=B?[E]:[];for(let C=0;C<u.length;C++){let D=u.charCodeAt(C);if(HC0(D)){if(D===13&&C+1<u.length&&u.charCodeAt(C+1)===10)C++;A.push(E+C+1)}}return A}function HC0(u){return u===13||u===10}function qC0(u){let{start:B,end:E}=u;if(B.line>E.line||B.line===E.line&&B.character>E.character)return{start:E,end:B};return u}function Q1u(u){let B=qC0(u.range);if(B!==u.range)return{newText:u.newText,range:B};return u}function LC0(u){return typeof u.name==="string"}function xC0(u){return typeof u.$comment==="string"}function P80(u){return typeof u==="object"&&!!u&&(("$ref"in u)||("$error"in u))}function Qw(u){return{code:u}}function WC0(u){if(u.range)return u.range;let B;if(typeof u.property==="string")B=kr(u.node.$cstNode,u.property,u.index);else if(typeof u.keyword==="string")B=dE0(u.node.$cstNode,u.keyword,u.index);if(B??(B=u.node.$cstNode),!B)return{start:{line:0,character:0},end:{line:0,character:0}};return B.range}function tY(u){switch(u){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+u)}}function SC0(u){switch(u){case"error":return Qw(vA.LexingError);case"warning":return Qw(vA.LexingWarning);case"info":return Qw(vA.LexingInfo);case"hint":return Qw(vA.LexingHint);default:throw Error("Invalid diagnostic severity: "+u)}}function Bg(u){return Array.isArray(u)&&(u.length===0||("name"in u[0]))}function Eg(u){return u&&"modes"in u&&"defaultMode"in u}function Zy(u){return!Bg(u)&&!Eg(u)}function TC0(u,B,E){let A,C;if(typeof u==="string")C=B,A=E;else C=u.range.start,A=B;if(!C)C=t1.create(0,0);let D=IC0(u),F=Ag(A),U=$1u({lines:D,position:C,options:F});return g1u({index:0,tokens:U,position:C})}function OC0(u,B){let E=Ag(B),A=IC0(u);if(A.length===0)return!1;let C=A[0],D=A[A.length-1],F=E.start,U=E.end;return Boolean(F?.exec(C))&&Boolean(U?.exec(D))}function IC0(u){let B="";if(typeof u==="string")B=u;else B=u.text;return B.split(cn0)}function $1u(u){let B=[],E=u.position.line,A=u.position.character;for(let C=0;C<u.lines.length;C++){let D=C===0,F=C===u.lines.length-1,U=u.lines[C],z=0;if(D&&u.options.start){let f=u.options.start?.exec(U);if(f)z=f.index+f[0].length}else{let f=u.options.line?.exec(U);if(f)z=f.index+f[0].length}if(F){let f=u.options.end?.exec(U);if(f)U=U.substring(0,f.index)}if(U=U.substring(0,r1u(U)),Jy(U,z)>=U.length){if(B.length>0){let f=t1.create(E,A);B.push({type:"break",content:"",range:b1.create(f,f)})}}else{cp0.lastIndex=z;let f=cp0.exec(U);if(f){let M=f[0],b=f[1],Z=t1.create(E,A+z),J=t1.create(E,A+z+M.length);B.push({type:"tag",content:b,range:b1.create(Z,J)}),z+=M.length,z=Jy(U,z)}if(z<U.length){let M=U.substring(z),b=Array.from(M.matchAll(Yj4));B.push(...y1u(b,M,E,A+z))}}E++,A=0}if(B.length>0&&B[B.length-1].type==="break")return B.slice(0,-1);return B}function y1u(u,B,E,A){let C=[];if(u.length===0){let D=t1.create(E,A),F=t1.create(E,A+B.length);C.push({type:"text",content:B,range:b1.create(D,F)})}else{let D=0;for(let U of u){let z=U.index,k=B.substring(D,z);if(k.length>0)C.push({type:"text",content:B.substring(D,z),range:b1.create(t1.create(E,D+A),t1.create(E,z+A))});let f=k.length+1,M=U[1];if(C.push({type:"inline-tag",content:M,range:b1.create(t1.create(E,D+f+A),t1.create(E,D+f+M.length+A))}),f+=M.length,U.length===4){f+=U[2].length;let b=U[3];C.push({type:"text",content:b,range:b1.create(t1.create(E,D+f+A),t1.create(E,D+f+b.length+A))})}else C.push({type:"text",content:"",range:b1.create(t1.create(E,D+f+A),t1.create(E,D+f+A))});D=z+U[0].length}let F=B.substring(D);if(F.length>0)C.push({type:"text",content:F,range:b1.create(t1.create(E,D+A),t1.create(E,D+A+F.length))})}return C}function Jy(u,B){let E=u.substring(B).match(Rj4);if(E)return B+E.index;else return u.length}function r1u(u){let B=u.match(Tj4);if(B&&typeof B.index==="number")return B.index;return}function g1u(u){let B=t1.create(u.position.line,u.position.character);if(u.tokens.length===0)return new _p0([],b1.create(B,B));let E=[];while(u.index<u.tokens.length){let D=c1u(u,E[E.length-1]);if(D)E.push(D)}let A=E[0]?.range.start??B,C=E[E.length-1]?.range.end??B;return new _p0(E,b1.create(A,C))}function c1u(u,B){let E=u.tokens[u.index];if(E.type==="tag")return jC0(u,!1);else if(E.type==="text"||E.type==="inline-tag")return PC0(u);else{_1u(E,B),u.index++;return}}function _1u(u,B){if(B){let E=new s1u("",u.range);if("inlines"in B)B.inlines.push(E);else B.content.inlines.push(E)}}function PC0(u){let B=u.tokens[u.index],E=B,A=B,C=[];while(B&&B.type!=="break"&&B.type!=="tag")C.push(p1u(u)),A=B,B=u.tokens[u.index];return new j80(C,b1.create(E.range.start,A.range.end))}function p1u(u){if(u.tokens[u.index].type==="inline-tag")return jC0(u,!0);else return NC0(u)}function jC0(u,B){let E=u.tokens[u.index++],A=E.content.substring(1);if(u.tokens[u.index]?.type==="text")if(B){let D=NC0(u);return new r70(A,new j80([D],D.range),B,b1.create(E.range.start,D.range.end))}else{let D=PC0(u);return new r70(A,D,B,b1.create(E.range.start,D.range.end))}else{let D=E.range;return new r70(A,new j80([],D),B,D)}}function NC0(u){let B=u.tokens[u.index++];return new s1u(B.content,B.range)}function Ag(u){if(!u)return Ag({start:"/**",end:"*/",line:"*"});let{start:B,end:E,line:A}=u;return{start:W$(B,!0),end:W$(E,!1),line:W$(A,!0)}}function W$(u,B){if(typeof u==="string"||typeof u==="object"){let E=typeof u==="string"?pl(u):u.source;if(B)return new RegExp(`^\\s*${E}`);else return new RegExp(`\\s*${E}\\s*$`)}else return u}function n1u(u,B,E){if(u==="linkplain"||u==="linkcode"||u==="link"){let A=B.indexOf(" "),C=B;if(A>0){let F=Jy(B,A);C=B.substring(F),B=B.substring(0,A)}if(u==="linkcode"||u==="link"&&E.link==="code")C=`\`${C}\``;return E.renderLink?.(B,C)??d1u(B,C)}return}function d1u(u,B){try{return LE.parse(u,!0),`[${B}](${u})`}catch{return u}}function N80(u){if(u.endsWith(`
`))return`
`;else return`
`}function H1(u){return{documentation:{CommentProvider:N((B)=>new t1u(B),"CommentProvider"),DocumentationProvider:N((B)=>new o1u(B),"DocumentationProvider")},parser:{AsyncParser:N((B)=>new e1u(B),"AsyncParser"),GrammarConfig:N((B)=>AA0(B),"GrammarConfig"),LangiumParser:N((B)=>KC0(B),"LangiumParser"),CompletionParser:N((B)=>JC0(B),"CompletionParser"),ValueConverter:N(()=>new QC0,"ValueConverter"),TokenBuilder:N(()=>new dr,"TokenBuilder"),Lexer:N((B)=>new RC0(B),"Lexer"),ParserErrorMessageProvider:N(()=>new MC0,"ParserErrorMessageProvider"),LexerErrorMessageProvider:N(()=>new m1u,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:N(()=>new N1u,"AstNodeLocator"),AstNodeDescriptionProvider:N((B)=>new P1u(B),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:N((B)=>new j1u(B),"ReferenceDescriptionProvider")},references:{Linker:N((B)=>new l1u(B),"Linker"),NameProvider:N(()=>new L1u,"NameProvider"),ScopeProvider:N((B)=>new S1u(B),"ScopeProvider"),ScopeComputation:N((B)=>new v1u(B),"ScopeComputation"),References:N((B)=>new X1u(B),"References")},serializer:{Hydrator:N((B)=>new B6u(B),"Hydrator"),JsonSerializer:N((B)=>new Y1u(B),"JsonSerializer")},validation:{DocumentValidator:N((B)=>new I1u(B),"DocumentValidator"),ValidationRegistry:N((B)=>new T1u(B),"ValidationRegistry")},shared:N(()=>u.shared,"shared")}}function q1(u){return{ServiceRegistry:N((B)=>new R1u(B),"ServiceRegistry"),workspace:{LangiumDocuments:N((B)=>new q1u(B),"LangiumDocuments"),LangiumDocumentFactory:N((B)=>new H1u(B),"LangiumDocumentFactory"),DocumentBuilder:N((B)=>new h1u(B),"DocumentBuilder"),IndexManager:N((B)=>new i1u(B),"IndexManager"),WorkspaceManager:N((B)=>new a1u(B),"WorkspaceManager"),FileSystemProvider:N((B)=>u.fileSystemProvider(B),"FileSystemProvider"),WorkspaceLock:N(()=>new u6u,"WorkspaceLock"),ConfigurationProvider:N((B)=>new V1u(B),"ConfigurationProvider")},profilers:{}}}function G3(u,B,E,A,C,D,F,U,z){let k=[u,B,E,A,C,D,F,U,z].reduce(gl,{});return hC0(k)}function VC0(u){if(u&&u[E6u])for(let B of Object.values(u))VC0(B);return u}function hC0(u,B){let E=new Proxy({},{deleteProperty:N(()=>!1,"deleteProperty"),set:N(()=>{throw Error("Cannot set property on injected service container")},"set"),get:N((A,C)=>{if(C===E6u)return!0;else return h80(A,C,u,B||E)},"get"),getOwnPropertyDescriptor:N((A,C)=>(h80(A,C,u,B||E),Object.getOwnPropertyDescriptor(A,C)),"getOwnPropertyDescriptor"),has:N((A,C)=>(C in u),"has"),ownKeys:N(()=>[...Object.getOwnPropertyNames(u)],"ownKeys")});return E}function h80(u,B,E,A){if(B in u){if(u[B]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+u[B]);if(u[B]===pp0)throw Error('Cycle detected. Please make "'+String(B)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return u[B]}else if(B in E){let C=E[B];u[B]=pp0;try{u[B]=typeof C==="function"?C(A):hC0(C,A)}catch(D){throw u[B]=D instanceof Error?D:void 0,D}return u[B]}else return}function gl(u,B){if(B){for(let[E,A]of Object.entries(B))if(A!==void 0&&A!==null)if(typeof A==="object"){let C=u[E];if(typeof C==="object"&&C!==null)u[E]=gl(C,A);else u[E]=gl({},A)}else u[E]=A}return u}function D6u(){let u=G3(q1(T1),Nj4),B=G3(H1({shared:u}),jj4);return u.ServiceRegistry.register(B),B}function V5(u){let B=D6u(),E=B.serializer.JsonSerializer.deserialize(u);return B.shared.workspace.LangiumDocumentFactory.fromModel(E,LE.parse(`memory:/${E.name??"grammar"}.langium`)),E}function aC0(u){return z2.isInstance(u,XA.$type)}function mC0(u){return z2.isInstance(u,Ol.$type)}function $C0(u){return z2.isInstance(u,Gb.$type)}function yC0(u){return z2.isInstance(u,Gk.$type)}function rC0(u){return z2.isInstance(u,Il.$type)}function gC0(u){return z2.isInstance(u,vR.$type)}function cC0(u){return u==="rmo"||u==="readmodel"||u==="ui"||u==="cmd"||u==="command"||u==="evt"||u==="event"||u==="pcr"||u==="processor"}function pR(u){return z2.isInstance(u,bk.$type)}function _C0(u){return z2.isInstance(u,Hk.$type)}function pC0(u){return z2.isInstance(u,Hw.$type)}function nC0(u){return z2.isInstance(u,Hb.$type)}function dC0(u){return z2.isInstance(u,qb.$type)}function sC0(u){return z2.isInstance(u,lb.$type)}function oC0(u){return z2.isInstance(u,qk.$type)}function tC0(u){return z2.isInstance(u,Pl.$type)}function eC0(u){return z2.isInstance(u,Lb.$type)}function uD0(u){return z2.isInstance(u,Xb.$type)}function BD0(u){return z2.isInstance(u,vb.$type)}function ED0(u){return z2.isInstance(u,xb.$type)}function AD0(u){return z2.isInstance(u,qw.$type)}function CD0(u){return z2.isInstance(u,Wb.$type)}function DD0(u){return z2.isInstance(u,B5.$type)}var qL4,xR,lL4,uE0,LL4,XL4,N=(u,B)=>xR(u,"name",{value:B,configurable:!0}),vL4=(u,B)=>function(){return u&&(B=(0,u[uE0(u)[0]])(u=0)),B},y3=(u,B)=>function(){return B||(0,u[uE0(u)[0]])((B={exports:{}}).exports,B),B.exports},Ib=(u,B)=>{for(var E in B)xR(u,E,{get:B[E],enumerable:!0})},S$=(u,B,E,A)=>{if(B&&typeof B==="object"||typeof B==="function"){for(let C of uE0(B))if(!XL4.call(u,C)&&C!==E)xR(u,C,{get:()=>B[C],enumerable:!(A=lL4(B,C))||A.enumerable})}return u},ny=(u,B,E)=>(S$(u,B,"default"),E&&S$(E,B,"default")),BE0=(u,B,E)=>(E=u!=null?qL4(LL4(u)):{},S$(B||!u||!u.__esModule?xR(E,"default",{value:u,enumerable:!0}):E,u)),EE0=(u)=>S$(xR({},"__esModule",{value:!0}),u),dy,EB0,U$,AB0,WY,t1,b1,SY,CB0,z$,DB0,FB0,UB0,zB0,k$,kB0,fB0,MB0,YY,nK,DU,dK,M7,Mk,RY,Zl,Jl,Kl,f$,QY,j70,Zn0,bB0,ZB0,TY,JB0,M$,wl,KB0,wB0,QB0,GB0,HB0,qB0,lB0,LB0,OY,XB0,vB0,xB0,WB0,SB0,YB0,RB0,TB0,OB0,IB0,PB0,IY,jB0,NB0,VB0,hB0,iB0,aB0,mB0,$B0,yB0,rB0,gB0,cB0,_B0,b$,Z$,pB0,nB0,dB0,sB0,oB0,tB0,eB0,u80,Jn0,B80,L_0,Gu,WR,Sw,SR,cl,sy,Kn0,wn0,xL4,WL4,Qn0,SL4,YL4,RL4,TL4,E80,OL4,_l,X_0,X9,AE0,IL4,PL4,jL4,NL4,VL4,hL4,iL4,aL4,mL4,$L4,yL4,rL4,gL4,cL4,_L4,pL4,nL4,dL4,sL4,oL4,tL4,eL4,uX4,BX4,EX4,N5,CE0,FE0,kU,jl,RB,Nl,zR,UE0,qn0,AX4,W8,iY,Hl,lE,kb,aY,O$,I$,fb,P$,Mb,bb,mY,Zb,$Y,j$,Zk,N$,Bw,V$,FU,yY,h$,ql,ll,Ll,Ew,i$,a$,Xl,m$,mC,rY,Aw,$$,Cw,vl,y$,Dw,S8,Fw,Jk,Uw,gY,zw,kw,r$,cY,fw,Mw,xl,YE0,f3,zU,IE0,hE0,Dr,aE0,c$,_$,v_0,CX4,rm,DX4,gn0,Fr,cn0,_n0,FX4,Kw,nn0,EA0,UX4,Ud0,zX4,kX4,JU,fX4,WA,zd0,MX4,bX4,GY,ZX4,JX4,KX4,wX4,QX4="[object Null]",GX4="[object Undefined]",x_0,jb,dC,HX4="[object Symbol]",Zr,PR,qX4,R1,lX4=1/0,W_0,S_0,LX4,XX4,vX4,xX4,WX4,SA,Y_0=NaN,SX4,YX4,RX4,TX4,OX4,R_0=1/0,IX4=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,PX4,jR,NR,jX4="[object AsyncFunction]",NX4="[object Function]",VX4="[object GeneratorFunction]",hX4="[object Proxy]",Pk,iX4,N70,T_0,aX4,mX4,$X4,jw,yX4,rX4,gX4,cX4,_X4,pX4,nX4,dX4,sX4,Nw,oX4,D80,O_0,tX4,eX4,uv4,P5,Bv4,Ev4=800,Av4=16,Cv4,Dv4,Fv4,Uv4,n$,zv4,kv4,fv4,Mv4,jd0,Vd0,bv4,Zv4,DA0,$d0,Jv4=9007199254740991,Kv4,Jr,FA0,VR,wv4,Qv4,Kr,hR,I_0,Gv4,UA0,Hv4=9007199254740991,zA0,KU,wr,qv4,lv4,iR,Lv4,Xv4="[object Arguments]",P_0,Es0,vv4,xv4,Wv4,Qr,Sv4,Cs0,j_0,Yv4,N_0,Rv4,Tv4,fR,Ov4="[object Arguments]",Iv4="[object Array]",Pv4="[object Boolean]",jv4="[object Date]",Nv4="[object Error]",Vv4="[object Function]",hv4="[object Map]",iv4="[object Number]",av4="[object Object]",mv4="[object RegExp]",$v4="[object Set]",yv4="[object String]",rv4="[object WeakMap]",gv4="[object ArrayBuffer]",cv4="[object DataView]",_v4="[object Float32Array]",pv4="[object Float64Array]",nv4="[object Int8Array]",dv4="[object Int16Array]",sv4="[object Int32Array]",ov4="[object Uint8Array]",tv4="[object Uint8ClampedArray]",ev4="[object Uint16Array]",ux4="[object Uint32Array]",c6,Bx4,aR,Us0,_Y,Ex4,V70,Ax4,Yb,V_0,Cx4,kA0,Dx4,Fx4,ks0,Ms0,Ux4,zx4,kx4,fx4,Zs0,XE,Mx4,bx4,Zx4,vE,Jx4,Kx4,wx4,Qx4,Gr,Gx4,Hx4,fA0,qx4,MR,lx4,Lx4,Xx4="__lodash_hash_undefined__",vx4,xx4,Wx4,Sx4,Yx4,Rx4,Tx4="__lodash_hash_undefined__",Ox4,h_0,Ix4,Hr,Px4,jx4,Nx4,Vx4,hx4,ix4,qr,ax4,bR,mx4,$x4,lr,yx4,rx4,gx4,cx4,Lr,_x4="Expected a function",px4,nx4=500,dx4,sx4,ox4,tx4,ex4,uW4,vr,BW4=1/0,mR,MA0,EW4,bA0,i_0,AW4,JA0,pC,CW4,_s0,ns0,DW4,FW4,UW4,zW4,kW4,fW4=200,MW4,pY,bW4,ZW4,Ao0,a_0,JW4,m_0,$_0,KW4,KA0,Uo0,wW4,QW4,y_0,GW4,wA0,HW4,qW4,lW4,ko0,LW4,bo0,F80,Ko0,XW4,U80,vW4,z80,xW4,Yl,r_0="[object Map]",WW4="[object Object]",g_0="[object Promise]",c_0="[object Set]",__0="[object WeakMap]",p_0="[object DataView]",SW4,YW4,RW4,TW4,OW4,oK,$l,IW4,PW4,jW4,NW4,d$,QA0,VW4,hW4,iW4,n_0,d_0,aW4,mW4,$W4="[object Boolean]",yW4="[object Date]",rW4="[object Map]",gW4="[object Number]",cW4="[object RegExp]",_W4="[object Set]",pW4="[object String]",nW4="[object Symbol]",dW4="[object ArrayBuffer]",sW4="[object DataView]",oW4="[object Float32Array]",tW4="[object Float64Array]",eW4="[object Int8Array]",uS4="[object Int16Array]",BS4="[object Int32Array]",ES4="[object Uint8Array]",AS4="[object Uint8ClampedArray]",CS4="[object Uint16Array]",DS4="[object Uint32Array]",FS4,US4,zS4="[object Map]",kS4,s_0,fS4,MS4,bS4="[object Set]",ZS4,o_0,JS4,KS4,wS4=1,QS4=2,GS4=4,Wo0="[object Arguments]",HS4="[object Array]",qS4="[object Boolean]",lS4="[object Date]",LS4="[object Error]",So0="[object Function]",XS4="[object GeneratorFunction]",vS4="[object Map]",xS4="[object Number]",Yo0="[object Object]",WS4="[object RegExp]",SS4="[object Set]",YS4="[object String]",RS4="[object Symbol]",TS4="[object WeakMap]",OS4="[object ArrayBuffer]",IS4="[object DataView]",PS4="[object Float32Array]",jS4="[object Float64Array]",NS4="[object Int8Array]",VS4="[object Int16Array]",hS4="[object Int32Array]",iS4="[object Uint8Array]",aS4="[object Uint8ClampedArray]",mS4="[object Uint16Array]",$S4="[object Uint32Array]",I6,yS4,rS4=4,J7,$R,gS4="__lodash_hash_undefined__",cS4,_S4,GA0,jo0,HA0,pS4=1,nS4=2,ho0,dS4,qA0,sS4=1,oS4=2,tS4="[object Boolean]",eS4="[object Date]",uY4="[object Error]",BY4="[object Map]",EY4="[object Number]",AY4="[object RegExp]",CY4="[object Set]",DY4="[object String]",FY4="[object Symbol]",UY4="[object ArrayBuffer]",zY4="[object DataView]",t_0,h70,kY4,fY4=1,MY4,bY4,ZY4,JY4=1,e_0="[object Arguments]",up0="[object Array]",gm="[object Object]",KY4,Bp0,wY4,ro0,QY4=1,GY4=2,HY4,_o0,qY4,do0,lY4,LY4,eo0,XY4,vY4=1,xY4=2,WY4,SY4,YY4,RY4,wU,TY4,OY4,IY4,PY4,jY4,NY4,VY4,mw,hY4,iY4,bt0,aY4,mY4,LA0,Ep0,Kt0,$Y4=200,yY4,rY4,xr,vw,b7,JR,gY4,x3,cY4,_Y4,nC,Wt0,RA,pY4,nY4,dY4,sY4,yl,sC,oY4,p4,xA,tY4,eY4,uR4,BR4,ER4,AR4,CR4,Z3,DR4="[object String]",Y8,FR4,E5,UR4,hB,zR4,Ap0,kR4="[object Map]",fR4="[object Set]",MR4,bR4,j6,ZR4="[object RegExp]",JR4,Cp0,KR4,Wk,Sk,wR4="Expected a function",QR4,GR4,HR4,oC,qR4,xE,Wr,lR4,et0,LR4=1/0,XR4,vR4,xR4=200,WR4,XA0,QU,jB,nl,R8,Z7,WE,SE,r9,T8,O8,p6,dl,Sr,fe0="_~IN~_",SR4,w$,YR4,Je0="Complement Sets are not supported for first char optimization",o$=`Unable to use "first char" lexer optimizations:
`,RR4,xw="PATTERN",NY="defaultMode",cm="modes",TR4,OR4,IR4,VY=256,G$,Dp0=1,ae0,Z80,g9,hY,IB,PR4="parent",Fp0="categories",Up0="label",zp0="group",kp0="push_mode",fp0="pop_mode",Mp0="longer_alt",bp0="line_breaks",Zp0="start_chars_hint",Rb,Wl,jR4,ww,NR4,VR4,hR4,Rr,iR4,Jp0,aR4,Kp0,L9,mR4,u0u,$R4,aA0,yR4,G0u="MismatchedTokenException",H0u="NoViableAltException",q0u="EarlyExitException",l0u="NotAllInputParsedException",L0u,Or,X0u,rR4,gR4,cR4,i70,v0u="InRuleRecoveryException",_R4,pR4,nR4=4,Nb=8,dR4=8,W0u,S0u,w80,Q80,G80,q$,ED1,mA0,sR4,oR4,_m,tR4="name",l80,eR4,uT4,BT4,ET4,AT4,CT4,Ir,wp0=!0,Qp0,V0u,h0u,DT4,FT4,UT4,Ey,Rk,Ay,NB,yA0,zT4,$0u,kT4,g0u,Pr,fT4,MT4,bT4,ZT4,JT4,KT4,jr,wT4,QT4,GT4,HT4,qT4,uuu,lT4,LT4,jk,XT4,ZU,Buu,vT4,xT4,HY,WT4,ST4,YT4,RT4,TT4="[object Null]",OT4="[object Undefined]",Gp0,el,rA0,IT4="[object AsyncFunction]",PT4="[object Function]",jT4="[object GeneratorFunction]",NT4="[object Proxy]",Uuu,VT4,a70,Hp0,hT4,iT4,aT4,yw,mT4,$T4,yT4,rT4,gT4,cT4,_T4,pT4,nT4,uL,dT4,HR,sT4,qR,oT4,tT4,eT4="__lodash_hash_undefined__",uO4,BO4,EO4,AO4,CO4,DO4,FO4="__lodash_hash_undefined__",UO4,qp0,zO4,kO4,Nr,fO4,MO4,bO4,ZO4,Vr,JO4=200,KO4,L$,wO4="__lodash_hash_undefined__",QO4,GO4,Yuu,HO4,Ouu,qO4=1,lO4=2,Puu,LO4,lp0,XO4,gA0,vO4=1,xO4=2,WO4="[object Boolean]",SO4="[object Date]",YO4="[object Error]",RO4="[object Map]",TO4="[object Number]",OO4="[object RegExp]",IO4="[object Set]",PO4="[object String]",jO4="[object Symbol]",NO4="[object ArrayBuffer]",VO4="[object DataView]",Lp0,m70,hO4,iuu,iO4,VB,aO4,$uu,mO4,$O4,yO4,Xp0,rO4,gO4,cO4,rl,_O4="[object Arguments]",vp0,_uu,pO4,nO4,dO4,hr,sO4,nuu,xp0,oO4,Wp0,tO4,eO4,Cy,uI4=9007199254740991,BI4,suu,EI4=9007199254740991,cA0,AI4="[object Arguments]",CI4="[object Array]",DI4="[object Boolean]",FI4="[object Date]",UI4="[object Error]",zI4="[object Function]",kI4="[object Map]",fI4="[object Number]",MI4="[object Object]",bI4="[object RegExp]",ZI4="[object Set]",JI4="[object String]",KI4="[object WeakMap]",wI4="[object ArrayBuffer]",QI4="[object DataView]",GI4="[object Float32Array]",HI4="[object Float64Array]",qI4="[object Int8Array]",lI4="[object Int16Array]",LI4="[object Int32Array]",XI4="[object Uint8Array]",vI4="[object Uint8ClampedArray]",xI4="[object Uint16Array]",WI4="[object Uint32Array]",_6,SI4,YI4,u4u,oY,RI4,$70,TI4,Sp0,Yp0,OI4,_A0,II4,PI4,jI4,NI4,A4u,VI4,hI4,iI4,aI4,mI4,F4u,ir,pA0,Rp0,$I4=1,yI4,rI4,gI4,cI4,v80,_I4,x80,pI4,Tl,nI4,W80,Tp0="[object Map]",dI4="[object Object]",Op0="[object Promise]",Ip0="[object Set]",Pp0="[object WeakMap]",jp0="[object DataView]",sI4,oI4,tI4,eI4,uP4,tK,S80,BP4=1,Np0="[object Arguments]",Vp0="[object Array]",pm="[object Object]",EP4,hp0,AP4,b4u,CP4=1,DP4=2,FP4,K4u,UP4,G4u,zP4,kP4="[object Symbol]",ar,fP4,MP4,dA0,bP4="Expected a function",ZP4,JP4=500,KP4,wP4,QP4,GP4,HP4,qP4=1/0,ip0,ap0,lP4,LP4,x4u,XP4=1/0,$r,Y4u,vP4,xP4,WP4,SP4,YP4=1,RP4=2,TP4,oA0,OP4,IP4,PP4,yr,jP4,NP4,VP4,hP4,iP4,aP4,rr,mP4,lk,$P4,yP4,Tb=1,rP4=2,_4u=4,p4u=5,_R=7,gP4=8,cP4=9,_P4=10,pP4=11,n4u=12,tA0,eA0,d4u,uC0,Dy,Y80,nP4,dP4,sP4,mp0,oP4,J3u,tP4,eP4,uj4,Bj4,Ej4,Aj4,Cj4,Dj4,Fj4=1/0,Uj4,zj4,kj4=200,fj4,Mj4,bj4,Zj4,Jj4,y70,Kj4="[object Map]",wj4="[object Set]",Qj4,Gj4,Hj4,qj4,lj4,$p0,j3u,yp0,Lj4,u1u,zC0,Fy,_r,Xj4,kC0,Uy,rp0="",B1u,fC0,E1u,A1u,MC0,C1u,vj4,D1u,xj4,dr,QC0,UU,P6,x$=0,w1u=10,fU,Tk,gp0,ky,G1u,LE,qY,OB,lC0,A1,H1u,q1u,eK,l1u,L1u,X1u,Ok,My,v1u,I80,Wj4,x1u,Sj4,tr,XC0,er,W1u,vC0,S1u,Y1u,R1u,by,T1u,O1u,I1u,vA,P1u,j1u,N1u,ug,V1u,nm,Lw,h1u,i1u,a1u,m1u,YC0,RC0,cp0,Yj4,Rj4,Tj4,_p0,r70,j80,s1u,o1u,t1u,e1u,Oj4,Ij4,u6u,B6u,V80,E6u,pp0,i80,Gw,A6u,Pj4,iC0,C6u,T1,jj4,Nj4,Vj4,F6u,a80,m80,$80,y80,r80,g80,c80,_80,p80,n80,d80,s80,o80,t80,e80,AD1,Ky,wy,eY,Qy,Gy,Hy,Jb,uR,qy,ly,dm,g70,sm,lY,c70,XA,om,Ol,np0,tm,_70,Gb,em,_K,u$,Gk,B$,dp0,Ml,Il,vR,Ly,Xy,vy,xy,Wy,Sy,Yy,bw,Kk,Ry,BR,Ty,Oy,ER,Iy,Py,CU,Kb,wk,LY,sp0,p70,E$,bk,zb,n70,$C,op0,A$,d70,Hk,XY,Hw,vY,s70,xY,C$,pK,Hb,D$,o70,qb,lb,jy,Ny,Vy,hy,iy,AR,Zw,CR,ay,DR,qk,Pl,t70,F$,Qk,Lb,Xb,my,vb,yC,$y,yy,ry,xb,FR,gy,cy,_y,py,e70,bl,uB0,wb,qw,Wb,BB0,Qb,Jw,B5,U6u,z2,tp0,hj4,ep0,ij4,un0,aj4,Bn0,mj4,En0,$j4,An0,yj4,Cn0,rj4,Dn0,gj4,Fn0,cj4,Un0,_j4,zn0,pj4,kn0,nj4,fn0,dj4,Mn0,sj4,bn0,oj4,tj4,ej4,uN4,BN4,EN4,AN4,CN4,DN4,FN4,UN4,zN4,kN4,fN4,MN4,bN4,y1,Cg,Dg,Fg,Ug,zg,kg,fg,Mg,bg,Zg,Jg,Kg,wg,Qg,Gg,ZN4,JN4,KN4,wN4,k2,I8,e1,z6u;var r1=g(()=>{qL4=Object.create,xR=Object.defineProperty,lL4=Object.getOwnPropertyDescriptor,uE0=Object.getOwnPropertyNames,LL4=Object.getPrototypeOf,XL4=Object.prototype.hasOwnProperty,dy={};Ib(dy,{AnnotatedTextEdit:()=>Mk,ChangeAnnotation:()=>dK,ChangeAnnotationIdentifier:()=>M7,CodeAction:()=>NB0,CodeActionContext:()=>jB0,CodeActionKind:()=>PB0,CodeActionTriggerKind:()=>IY,CodeDescription:()=>MB0,CodeLens:()=>VB0,Color:()=>z$,ColorInformation:()=>DB0,ColorPresentation:()=>FB0,Command:()=>nK,CompletionItem:()=>lB0,CompletionItemKind:()=>KB0,CompletionItemLabelDetails:()=>qB0,CompletionItemTag:()=>QB0,CompletionList:()=>LB0,CreateFile:()=>Zl,DeleteFile:()=>Kl,Diagnostic:()=>YY,DiagnosticRelatedInformation:()=>k$,DiagnosticSeverity:()=>kB0,DiagnosticTag:()=>fB0,DocumentHighlight:()=>SB0,DocumentHighlightKind:()=>WB0,DocumentLink:()=>iB0,DocumentSymbol:()=>IB0,DocumentUri:()=>EB0,EOL:()=>Jn0,FoldingRange:()=>zB0,FoldingRangeKind:()=>UB0,FormattingOptions:()=>hB0,Hover:()=>XB0,InlayHint:()=>pB0,InlayHintKind:()=>b$,InlayHintLabelPart:()=>Z$,InlineCompletionContext:()=>eB0,InlineCompletionItem:()=>dB0,InlineCompletionList:()=>sB0,InlineCompletionTriggerKind:()=>oB0,InlineValueContext:()=>_B0,InlineValueEvaluatableExpression:()=>cB0,InlineValueText:()=>rB0,InlineValueVariableLookup:()=>gB0,InsertReplaceEdit:()=>GB0,InsertTextFormat:()=>wB0,InsertTextMode:()=>HB0,Location:()=>SY,LocationLink:()=>CB0,MarkedString:()=>OY,MarkupContent:()=>wl,MarkupKind:()=>M$,OptionalVersionedTextDocumentIdentifier:()=>TY,ParameterInformation:()=>vB0,Position:()=>t1,Range:()=>b1,RenameFile:()=>Jl,SelectedCompletionInfo:()=>tB0,SelectionRange:()=>aB0,SemanticTokenModifiers:()=>$B0,SemanticTokenTypes:()=>mB0,SemanticTokens:()=>yB0,SignatureInformation:()=>xB0,StringValue:()=>nB0,SymbolInformation:()=>TB0,SymbolKind:()=>YB0,SymbolTag:()=>RB0,TextDocument:()=>B80,TextDocumentEdit:()=>RY,TextDocumentIdentifier:()=>bB0,TextDocumentItem:()=>JB0,TextEdit:()=>DU,URI:()=>U$,VersionedTextDocumentIdentifier:()=>ZB0,WorkspaceChange:()=>Zn0,WorkspaceEdit:()=>f$,WorkspaceFolder:()=>u80,WorkspaceSymbol:()=>OB0,integer:()=>AB0,uinteger:()=>WY});WR=vL4({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){(function(u){function B(E){return typeof E==="string"}N(B,"is"),u.is=B})(EB0||(EB0={})),function(u){function B(E){return typeof E==="string"}N(B,"is"),u.is=B}(U$||(U$={})),function(u){u.MIN_VALUE=-2147483648,u.MAX_VALUE=2147483647;function B(E){return typeof E==="number"&&u.MIN_VALUE<=E&&E<=u.MAX_VALUE}N(B,"is"),u.is=B}(AB0||(AB0={})),function(u){u.MIN_VALUE=0,u.MAX_VALUE=2147483647;function B(E){return typeof E==="number"&&u.MIN_VALUE<=E&&E<=u.MAX_VALUE}N(B,"is"),u.is=B}(WY||(WY={})),function(u){function B(A,C){if(A===Number.MAX_VALUE)A=WY.MAX_VALUE;if(C===Number.MAX_VALUE)C=WY.MAX_VALUE;return{line:A,character:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&Gu.uinteger(C.line)&&Gu.uinteger(C.character)}N(E,"is"),u.is=E}(t1||(t1={})),function(u){function B(A,C,D,F){if(Gu.uinteger(A)&&Gu.uinteger(C)&&Gu.uinteger(D)&&Gu.uinteger(F))return{start:t1.create(A,C),end:t1.create(D,F)};else if(t1.is(A)&&t1.is(C))return{start:A,end:C};else throw Error(`Range#create called with invalid arguments[${A}, ${C}, ${D}, ${F}]`)}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&t1.is(C.start)&&t1.is(C.end)}N(E,"is"),u.is=E}(b1||(b1={})),function(u){function B(A,C){return{uri:A,range:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&b1.is(C.range)&&(Gu.string(C.uri)||Gu.undefined(C.uri))}N(E,"is"),u.is=E}(SY||(SY={})),function(u){function B(A,C,D,F){return{targetUri:A,targetRange:C,targetSelectionRange:D,originSelectionRange:F}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&b1.is(C.targetRange)&&Gu.string(C.targetUri)&&b1.is(C.targetSelectionRange)&&(b1.is(C.originSelectionRange)||Gu.undefined(C.originSelectionRange))}N(E,"is"),u.is=E}(CB0||(CB0={})),function(u){function B(A,C,D,F){return{red:A,green:C,blue:D,alpha:F}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&Gu.numberRange(C.red,0,1)&&Gu.numberRange(C.green,0,1)&&Gu.numberRange(C.blue,0,1)&&Gu.numberRange(C.alpha,0,1)}N(E,"is"),u.is=E}(z$||(z$={})),function(u){function B(A,C){return{range:A,color:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&b1.is(C.range)&&z$.is(C.color)}N(E,"is"),u.is=E}(DB0||(DB0={})),function(u){function B(A,C,D){return{label:A,textEdit:C,additionalTextEdits:D}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&Gu.string(C.label)&&(Gu.undefined(C.textEdit)||DU.is(C))&&(Gu.undefined(C.additionalTextEdits)||Gu.typedArray(C.additionalTextEdits,DU.is))}N(E,"is"),u.is=E}(FB0||(FB0={})),function(u){u.Comment="comment",u.Imports="imports",u.Region="region"}(UB0||(UB0={})),function(u){function B(A,C,D,F,U,z){let k={startLine:A,endLine:C};if(Gu.defined(D))k.startCharacter=D;if(Gu.defined(F))k.endCharacter=F;if(Gu.defined(U))k.kind=U;if(Gu.defined(z))k.collapsedText=z;return k}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&Gu.uinteger(C.startLine)&&Gu.uinteger(C.startLine)&&(Gu.undefined(C.startCharacter)||Gu.uinteger(C.startCharacter))&&(Gu.undefined(C.endCharacter)||Gu.uinteger(C.endCharacter))&&(Gu.undefined(C.kind)||Gu.string(C.kind))}N(E,"is"),u.is=E}(zB0||(zB0={})),function(u){function B(A,C){return{location:A,message:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&SY.is(C.location)&&Gu.string(C.message)}N(E,"is"),u.is=E}(k$||(k$={})),function(u){u.Error=1,u.Warning=2,u.Information=3,u.Hint=4}(kB0||(kB0={})),function(u){u.Unnecessary=1,u.Deprecated=2}(fB0||(fB0={})),function(u){function B(E){let A=E;return Gu.objectLiteral(A)&&Gu.string(A.href)}N(B,"is"),u.is=B}(MB0||(MB0={})),function(u){function B(A,C,D,F,U,z){let k={range:A,message:C};if(Gu.defined(D))k.severity=D;if(Gu.defined(F))k.code=F;if(Gu.defined(U))k.source=U;if(Gu.defined(z))k.relatedInformation=z;return k}N(B,"create"),u.create=B;function E(A){var C;let D=A;return Gu.defined(D)&&b1.is(D.range)&&Gu.string(D.message)&&(Gu.number(D.severity)||Gu.undefined(D.severity))&&(Gu.integer(D.code)||Gu.string(D.code)||Gu.undefined(D.code))&&(Gu.undefined(D.codeDescription)||Gu.string((C=D.codeDescription)===null||C===void 0?void 0:C.href))&&(Gu.string(D.source)||Gu.undefined(D.source))&&(Gu.undefined(D.relatedInformation)||Gu.typedArray(D.relatedInformation,k$.is))}N(E,"is"),u.is=E}(YY||(YY={})),function(u){function B(A,C,...D){let F={title:A,command:C};if(Gu.defined(D)&&D.length>0)F.arguments=D;return F}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&Gu.string(C.title)&&Gu.string(C.command)}N(E,"is"),u.is=E}(nK||(nK={})),function(u){function B(D,F){return{range:D,newText:F}}N(B,"replace"),u.replace=B;function E(D,F){return{range:{start:D,end:D},newText:F}}N(E,"insert"),u.insert=E;function A(D){return{range:D,newText:""}}N(A,"del"),u.del=A;function C(D){let F=D;return Gu.objectLiteral(F)&&Gu.string(F.newText)&&b1.is(F.range)}N(C,"is"),u.is=C}(DU||(DU={})),function(u){function B(A,C,D){let F={label:A};if(C!==void 0)F.needsConfirmation=C;if(D!==void 0)F.description=D;return F}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&Gu.string(C.label)&&(Gu.boolean(C.needsConfirmation)||C.needsConfirmation===void 0)&&(Gu.string(C.description)||C.description===void 0)}N(E,"is"),u.is=E}(dK||(dK={})),function(u){function B(E){let A=E;return Gu.string(A)}N(B,"is"),u.is=B}(M7||(M7={})),function(u){function B(D,F,U){return{range:D,newText:F,annotationId:U}}N(B,"replace"),u.replace=B;function E(D,F,U){return{range:{start:D,end:D},newText:F,annotationId:U}}N(E,"insert"),u.insert=E;function A(D,F){return{range:D,newText:"",annotationId:F}}N(A,"del"),u.del=A;function C(D){let F=D;return DU.is(F)&&(dK.is(F.annotationId)||M7.is(F.annotationId))}N(C,"is"),u.is=C}(Mk||(Mk={})),function(u){function B(A,C){return{textDocument:A,edits:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&TY.is(C.textDocument)&&Array.isArray(C.edits)}N(E,"is"),u.is=E}(RY||(RY={})),function(u){function B(A,C,D){let F={kind:"create",uri:A};if(C!==void 0&&(C.overwrite!==void 0||C.ignoreIfExists!==void 0))F.options=C;if(D!==void 0)F.annotationId=D;return F}N(B,"create"),u.create=B;function E(A){let C=A;return C&&C.kind==="create"&&Gu.string(C.uri)&&(C.options===void 0||(C.options.overwrite===void 0||Gu.boolean(C.options.overwrite))&&(C.options.ignoreIfExists===void 0||Gu.boolean(C.options.ignoreIfExists)))&&(C.annotationId===void 0||M7.is(C.annotationId))}N(E,"is"),u.is=E}(Zl||(Zl={})),function(u){function B(A,C,D,F){let U={kind:"rename",oldUri:A,newUri:C};if(D!==void 0&&(D.overwrite!==void 0||D.ignoreIfExists!==void 0))U.options=D;if(F!==void 0)U.annotationId=F;return U}N(B,"create"),u.create=B;function E(A){let C=A;return C&&C.kind==="rename"&&Gu.string(C.oldUri)&&Gu.string(C.newUri)&&(C.options===void 0||(C.options.overwrite===void 0||Gu.boolean(C.options.overwrite))&&(C.options.ignoreIfExists===void 0||Gu.boolean(C.options.ignoreIfExists)))&&(C.annotationId===void 0||M7.is(C.annotationId))}N(E,"is"),u.is=E}(Jl||(Jl={})),function(u){function B(A,C,D){let F={kind:"delete",uri:A};if(C!==void 0&&(C.recursive!==void 0||C.ignoreIfNotExists!==void 0))F.options=C;if(D!==void 0)F.annotationId=D;return F}N(B,"create"),u.create=B;function E(A){let C=A;return C&&C.kind==="delete"&&Gu.string(C.uri)&&(C.options===void 0||(C.options.recursive===void 0||Gu.boolean(C.options.recursive))&&(C.options.ignoreIfNotExists===void 0||Gu.boolean(C.options.ignoreIfNotExists)))&&(C.annotationId===void 0||M7.is(C.annotationId))}N(E,"is"),u.is=E}(Kl||(Kl={})),function(u){function B(E){let A=E;return A&&(A.changes!==void 0||A.documentChanges!==void 0)&&(A.documentChanges===void 0||A.documentChanges.every((C)=>{if(Gu.string(C.kind))return Zl.is(C)||Jl.is(C)||Kl.is(C);else return RY.is(C)}))}N(B,"is"),u.is=B}(f$||(f$={})),QY=class{static{N(this,"TextEditChangeImpl")}constructor(u,B){this.edits=u,this.changeAnnotations=B}insert(u,B,E){let A,C;if(E===void 0)A=DU.insert(u,B);else if(M7.is(E))C=E,A=Mk.insert(u,B,E);else this.assertChangeAnnotations(this.changeAnnotations),C=this.changeAnnotations.manage(E),A=Mk.insert(u,B,C);if(this.edits.push(A),C!==void 0)return C}replace(u,B,E){let A,C;if(E===void 0)A=DU.replace(u,B);else if(M7.is(E))C=E,A=Mk.replace(u,B,E);else this.assertChangeAnnotations(this.changeAnnotations),C=this.changeAnnotations.manage(E),A=Mk.replace(u,B,C);if(this.edits.push(A),C!==void 0)return C}delete(u,B){let E,A;if(B===void 0)E=DU.del(u);else if(M7.is(B))A=B,E=Mk.del(u,B);else this.assertChangeAnnotations(this.changeAnnotations),A=this.changeAnnotations.manage(B),E=Mk.del(u,A);if(this.edits.push(E),A!==void 0)return A}add(u){this.edits.push(u)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(u){if(u===void 0)throw Error("Text edit change is not configured to manage change annotations.")}},j70=class{static{N(this,"ChangeAnnotations")}constructor(u){this._annotations=u===void 0?Object.create(null):u,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(u,B){let E;if(M7.is(u))E=u;else E=this.nextId(),B=u;if(this._annotations[E]!==void 0)throw Error(`Id ${E} is already in use.`);if(B===void 0)throw Error(`No annotation provided for id ${E}`);return this._annotations[E]=B,this._size++,E}nextId(){return this._counter++,this._counter.toString()}},Zn0=class{static{N(this,"WorkspaceChange")}constructor(u){if(this._textEditChanges=Object.create(null),u!==void 0){if(this._workspaceEdit=u,u.documentChanges)this._changeAnnotations=new j70(u.changeAnnotations),u.changeAnnotations=this._changeAnnotations.all(),u.documentChanges.forEach((B)=>{if(RY.is(B)){let E=new QY(B.edits,this._changeAnnotations);this._textEditChanges[B.textDocument.uri]=E}});else if(u.changes)Object.keys(u.changes).forEach((B)=>{let E=new QY(u.changes[B]);this._textEditChanges[B]=E})}else this._workspaceEdit={}}get edit(){if(this.initDocumentChanges(),this._changeAnnotations!==void 0)if(this._changeAnnotations.size===0)this._workspaceEdit.changeAnnotations=void 0;else this._workspaceEdit.changeAnnotations=this._changeAnnotations.all();return this._workspaceEdit}getTextEditChange(u){if(TY.is(u)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error("Workspace edit is not configured for document changes.");let B={uri:u.uri,version:u.version},E=this._textEditChanges[B.uri];if(!E){let A=[],C={textDocument:B,edits:A};this._workspaceEdit.documentChanges.push(C),E=new QY(A,this._changeAnnotations),this._textEditChanges[B.uri]=E}return E}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw Error("Workspace edit is not configured for normal text edit changes.");let B=this._textEditChanges[u];if(!B){let E=[];this._workspaceEdit.changes[u]=E,B=new QY(E),this._textEditChanges[u]=B}return B}}initDocumentChanges(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0)this._changeAnnotations=new j70,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()}initChanges(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0)this._workspaceEdit.changes=Object.create(null)}createFile(u,B,E){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error("Workspace edit is not configured for document changes.");let A;if(dK.is(B)||M7.is(B))A=B;else E=B;let C,D;if(A===void 0)C=Zl.create(u,E);else D=M7.is(A)?A:this._changeAnnotations.manage(A),C=Zl.create(u,E,D);if(this._workspaceEdit.documentChanges.push(C),D!==void 0)return D}renameFile(u,B,E,A){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error("Workspace edit is not configured for document changes.");let C;if(dK.is(E)||M7.is(E))C=E;else A=E;let D,F;if(C===void 0)D=Jl.create(u,B,A);else F=M7.is(C)?C:this._changeAnnotations.manage(C),D=Jl.create(u,B,A,F);if(this._workspaceEdit.documentChanges.push(D),F!==void 0)return F}deleteFile(u,B,E){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error("Workspace edit is not configured for document changes.");let A;if(dK.is(B)||M7.is(B))A=B;else E=B;let C,D;if(A===void 0)C=Kl.create(u,E);else D=M7.is(A)?A:this._changeAnnotations.manage(A),C=Kl.create(u,E,D);if(this._workspaceEdit.documentChanges.push(C),D!==void 0)return D}},function(u){function B(A){return{uri:A}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&Gu.string(C.uri)}N(E,"is"),u.is=E}(bB0||(bB0={})),function(u){function B(A,C){return{uri:A,version:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&Gu.string(C.uri)&&Gu.integer(C.version)}N(E,"is"),u.is=E}(ZB0||(ZB0={})),function(u){function B(A,C){return{uri:A,version:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&Gu.string(C.uri)&&(C.version===null||Gu.integer(C.version))}N(E,"is"),u.is=E}(TY||(TY={})),function(u){function B(A,C,D,F){return{uri:A,languageId:C,version:D,text:F}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&Gu.string(C.uri)&&Gu.string(C.languageId)&&Gu.integer(C.version)&&Gu.string(C.text)}N(E,"is"),u.is=E}(JB0||(JB0={})),function(u){u.PlainText="plaintext",u.Markdown="markdown";function B(E){let A=E;return A===u.PlainText||A===u.Markdown}N(B,"is"),u.is=B}(M$||(M$={})),function(u){function B(E){let A=E;return Gu.objectLiteral(E)&&M$.is(A.kind)&&Gu.string(A.value)}N(B,"is"),u.is=B}(wl||(wl={})),function(u){u.Text=1,u.Method=2,u.Function=3,u.Constructor=4,u.Field=5,u.Variable=6,u.Class=7,u.Interface=8,u.Module=9,u.Property=10,u.Unit=11,u.Value=12,u.Enum=13,u.Keyword=14,u.Snippet=15,u.Color=16,u.File=17,u.Reference=18,u.Folder=19,u.EnumMember=20,u.Constant=21,u.Struct=22,u.Event=23,u.Operator=24,u.TypeParameter=25}(KB0||(KB0={})),function(u){u.PlainText=1,u.Snippet=2}(wB0||(wB0={})),function(u){u.Deprecated=1}(QB0||(QB0={})),function(u){function B(A,C,D){return{newText:A,insert:C,replace:D}}N(B,"create"),u.create=B;function E(A){let C=A;return C&&Gu.string(C.newText)&&b1.is(C.insert)&&b1.is(C.replace)}N(E,"is"),u.is=E}(GB0||(GB0={})),function(u){u.asIs=1,u.adjustIndentation=2}(HB0||(HB0={})),function(u){function B(E){let A=E;return A&&(Gu.string(A.detail)||A.detail===void 0)&&(Gu.string(A.description)||A.description===void 0)}N(B,"is"),u.is=B}(qB0||(qB0={})),function(u){function B(E){return{label:E}}N(B,"create"),u.create=B}(lB0||(lB0={})),function(u){function B(E,A){return{items:E?E:[],isIncomplete:!!A}}N(B,"create"),u.create=B}(LB0||(LB0={})),function(u){function B(A){return A.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}N(B,"fromPlainText"),u.fromPlainText=B;function E(A){let C=A;return Gu.string(C)||Gu.objectLiteral(C)&&Gu.string(C.language)&&Gu.string(C.value)}N(E,"is"),u.is=E}(OY||(OY={})),function(u){function B(E){let A=E;return!!A&&Gu.objectLiteral(A)&&(wl.is(A.contents)||OY.is(A.contents)||Gu.typedArray(A.contents,OY.is))&&(E.range===void 0||b1.is(E.range))}N(B,"is"),u.is=B}(XB0||(XB0={})),function(u){function B(E,A){return A?{label:E,documentation:A}:{label:E}}N(B,"create"),u.create=B}(vB0||(vB0={})),function(u){function B(E,A,...C){let D={label:E};if(Gu.defined(A))D.documentation=A;if(Gu.defined(C))D.parameters=C;else D.parameters=[];return D}N(B,"create"),u.create=B}(xB0||(xB0={})),function(u){u.Text=1,u.Read=2,u.Write=3}(WB0||(WB0={})),function(u){function B(E,A){let C={range:E};if(Gu.number(A))C.kind=A;return C}N(B,"create"),u.create=B}(SB0||(SB0={})),function(u){u.File=1,u.Module=2,u.Namespace=3,u.Package=4,u.Class=5,u.Method=6,u.Property=7,u.Field=8,u.Constructor=9,u.Enum=10,u.Interface=11,u.Function=12,u.Variable=13,u.Constant=14,u.String=15,u.Number=16,u.Boolean=17,u.Array=18,u.Object=19,u.Key=20,u.Null=21,u.EnumMember=22,u.Struct=23,u.Event=24,u.Operator=25,u.TypeParameter=26}(YB0||(YB0={})),function(u){u.Deprecated=1}(RB0||(RB0={})),function(u){function B(E,A,C,D,F){let U={name:E,kind:A,location:{uri:D,range:C}};if(F)U.containerName=F;return U}N(B,"create"),u.create=B}(TB0||(TB0={})),function(u){function B(E,A,C,D){return D!==void 0?{name:E,kind:A,location:{uri:C,range:D}}:{name:E,kind:A,location:{uri:C}}}N(B,"create"),u.create=B}(OB0||(OB0={})),function(u){function B(A,C,D,F,U,z){let k={name:A,detail:C,kind:D,range:F,selectionRange:U};if(z!==void 0)k.children=z;return k}N(B,"create"),u.create=B;function E(A){let C=A;return C&&Gu.string(C.name)&&Gu.number(C.kind)&&b1.is(C.range)&&b1.is(C.selectionRange)&&(C.detail===void 0||Gu.string(C.detail))&&(C.deprecated===void 0||Gu.boolean(C.deprecated))&&(C.children===void 0||Array.isArray(C.children))&&(C.tags===void 0||Array.isArray(C.tags))}N(E,"is"),u.is=E}(IB0||(IB0={})),function(u){u.Empty="",u.QuickFix="quickfix",u.Refactor="refactor",u.RefactorExtract="refactor.extract",u.RefactorInline="refactor.inline",u.RefactorRewrite="refactor.rewrite",u.Source="source",u.SourceOrganizeImports="source.organizeImports",u.SourceFixAll="source.fixAll"}(PB0||(PB0={})),function(u){u.Invoked=1,u.Automatic=2}(IY||(IY={})),function(u){function B(A,C,D){let F={diagnostics:A};if(C!==void 0&&C!==null)F.only=C;if(D!==void 0&&D!==null)F.triggerKind=D;return F}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&Gu.typedArray(C.diagnostics,YY.is)&&(C.only===void 0||Gu.typedArray(C.only,Gu.string))&&(C.triggerKind===void 0||C.triggerKind===IY.Invoked||C.triggerKind===IY.Automatic)}N(E,"is"),u.is=E}(jB0||(jB0={})),function(u){function B(A,C,D){let F={title:A},U=!0;if(typeof C==="string")U=!1,F.kind=C;else if(nK.is(C))F.command=C;else F.edit=C;if(U&&D!==void 0)F.kind=D;return F}N(B,"create"),u.create=B;function E(A){let C=A;return C&&Gu.string(C.title)&&(C.diagnostics===void 0||Gu.typedArray(C.diagnostics,YY.is))&&(C.kind===void 0||Gu.string(C.kind))&&(C.edit!==void 0||C.command!==void 0)&&(C.command===void 0||nK.is(C.command))&&(C.isPreferred===void 0||Gu.boolean(C.isPreferred))&&(C.edit===void 0||f$.is(C.edit))}N(E,"is"),u.is=E}(NB0||(NB0={})),function(u){function B(A,C){let D={range:A};if(Gu.defined(C))D.data=C;return D}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&b1.is(C.range)&&(Gu.undefined(C.command)||nK.is(C.command))}N(E,"is"),u.is=E}(VB0||(VB0={})),function(u){function B(A,C){return{tabSize:A,insertSpaces:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&Gu.uinteger(C.tabSize)&&Gu.boolean(C.insertSpaces)}N(E,"is"),u.is=E}(hB0||(hB0={})),function(u){function B(A,C,D){return{range:A,target:C,data:D}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&b1.is(C.range)&&(Gu.undefined(C.target)||Gu.string(C.target))}N(E,"is"),u.is=E}(iB0||(iB0={})),function(u){function B(A,C){return{range:A,parent:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&b1.is(C.range)&&(C.parent===void 0||u.is(C.parent))}N(E,"is"),u.is=E}(aB0||(aB0={})),function(u){u.namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",u.decorator="decorator"}(mB0||(mB0={})),function(u){u.declaration="declaration",u.definition="definition",u.readonly="readonly",u.static="static",u.deprecated="deprecated",u.abstract="abstract",u.async="async",u.modification="modification",u.documentation="documentation",u.defaultLibrary="defaultLibrary"}($B0||($B0={})),function(u){function B(E){let A=E;return Gu.objectLiteral(A)&&(A.resultId===void 0||typeof A.resultId==="string")&&Array.isArray(A.data)&&(A.data.length===0||typeof A.data[0]==="number")}N(B,"is"),u.is=B}(yB0||(yB0={})),function(u){function B(A,C){return{range:A,text:C}}N(B,"create"),u.create=B;function E(A){let C=A;return C!==void 0&&C!==null&&b1.is(C.range)&&Gu.string(C.text)}N(E,"is"),u.is=E}(rB0||(rB0={})),function(u){function B(A,C,D){return{range:A,variableName:C,caseSensitiveLookup:D}}N(B,"create"),u.create=B;function E(A){let C=A;return C!==void 0&&C!==null&&b1.is(C.range)&&Gu.boolean(C.caseSensitiveLookup)&&(Gu.string(C.variableName)||C.variableName===void 0)}N(E,"is"),u.is=E}(gB0||(gB0={})),function(u){function B(A,C){return{range:A,expression:C}}N(B,"create"),u.create=B;function E(A){let C=A;return C!==void 0&&C!==null&&b1.is(C.range)&&(Gu.string(C.expression)||C.expression===void 0)}N(E,"is"),u.is=E}(cB0||(cB0={})),function(u){function B(A,C){return{frameId:A,stoppedLocation:C}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.defined(C)&&b1.is(A.stoppedLocation)}N(E,"is"),u.is=E}(_B0||(_B0={})),function(u){u.Type=1,u.Parameter=2;function B(E){return E===1||E===2}N(B,"is"),u.is=B}(b$||(b$={})),function(u){function B(A){return{value:A}}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&(C.tooltip===void 0||Gu.string(C.tooltip)||wl.is(C.tooltip))&&(C.location===void 0||SY.is(C.location))&&(C.command===void 0||nK.is(C.command))}N(E,"is"),u.is=E}(Z$||(Z$={})),function(u){function B(A,C,D){let F={position:A,label:C};if(D!==void 0)F.kind=D;return F}N(B,"create"),u.create=B;function E(A){let C=A;return Gu.objectLiteral(C)&&t1.is(C.position)&&(Gu.string(C.label)||Gu.typedArray(C.label,Z$.is))&&(C.kind===void 0||b$.is(C.kind))&&C.textEdits===void 0||Gu.typedArray(C.textEdits,DU.is)&&(C.tooltip===void 0||Gu.string(C.tooltip)||wl.is(C.tooltip))&&(C.paddingLeft===void 0||Gu.boolean(C.paddingLeft))&&(C.paddingRight===void 0||Gu.boolean(C.paddingRight))}N(E,"is"),u.is=E}(pB0||(pB0={})),function(u){function B(E){return{kind:"snippet",value:E}}N(B,"createSnippet"),u.createSnippet=B}(nB0||(nB0={})),function(u){function B(E,A,C,D){return{insertText:E,filterText:A,range:C,command:D}}N(B,"create"),u.create=B}(dB0||(dB0={})),function(u){function B(E){return{items:E}}N(B,"create"),u.create=B}(sB0||(sB0={})),function(u){u.Invoked=0,u.Automatic=1}(oB0||(oB0={})),function(u){function B(E,A){return{range:E,text:A}}N(B,"create"),u.create=B}(tB0||(tB0={})),function(u){function B(E,A){return{triggerKind:E,selectedCompletionInfo:A}}N(B,"create"),u.create=B}(eB0||(eB0={})),function(u){function B(E){let A=E;return Gu.objectLiteral(A)&&U$.is(A.uri)&&Gu.string(A.name)}N(B,"is"),u.is=B}(u80||(u80={})),Jn0=[`
`,`\r
`,"\r"],function(u){function B(D,F,U,z){return new L_0(D,F,U,z)}N(B,"create"),u.create=B;function E(D){let F=D;return Gu.defined(F)&&Gu.string(F.uri)&&(Gu.undefined(F.languageId)||Gu.string(F.languageId))&&Gu.uinteger(F.lineCount)&&Gu.func(F.getText)&&Gu.func(F.positionAt)&&Gu.func(F.offsetAt)?!0:!1}N(E,"is"),u.is=E;function A(D,F){let U=D.getText(),z=C(F,(f,M)=>{let b=f.range.start.line-M.range.start.line;if(b===0)return f.range.start.character-M.range.start.character;return b}),k=U.length;for(let f=z.length-1;f>=0;f--){let M=z[f],b=D.offsetAt(M.range.start),Z=D.offsetAt(M.range.end);if(Z<=k)U=U.substring(0,b)+M.newText+U.substring(Z,U.length);else throw Error("Overlapping edit");k=b}return U}N(A,"applyEdits"),u.applyEdits=A;function C(D,F){if(D.length<=1)return D;let U=D.length/2|0,z=D.slice(0,U),k=D.slice(U);C(z,F),C(k,F);let f=0,M=0,b=0;while(f<z.length&&M<k.length)if(F(z[f],k[M])<=0)D[b++]=z[f++];else D[b++]=k[M++];while(f<z.length)D[b++]=z[f++];while(M<k.length)D[b++]=k[M++];return D}N(C,"mergeSort")}(B80||(B80={})),L_0=class{static{N(this,"FullTextDocument")}constructor(u,B,E,A){this._uri=u,this._languageId=B,this._version=E,this._content=A,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(u){if(u){let B=this.offsetAt(u.start),E=this.offsetAt(u.end);return this._content.substring(B,E)}return this._content}update(u,B){this._content=u.text,this._version=B,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let u=[],B=this._content,E=!0;for(let A=0;A<B.length;A++){if(E)u.push(A),E=!1;let C=B.charAt(A);if(E=C==="\r"||C===`
`,C==="\r"&&A+1<B.length&&B.charAt(A+1)===`
`)A++}if(E&&B.length>0)u.push(B.length);this._lineOffsets=u}return this._lineOffsets}positionAt(u){u=Math.max(Math.min(u,this._content.length),0);let B=this.getLineOffsets(),E=0,A=B.length;if(A===0)return t1.create(0,u);while(E<A){let D=Math.floor((E+A)/2);if(B[D]>u)A=D;else E=D+1}let C=E-1;return t1.create(C,u-B[C])}offsetAt(u){let B=this.getLineOffsets();if(u.line>=B.length)return this._content.length;else if(u.line<0)return 0;let E=B[u.line],A=u.line+1<B.length?B[u.line+1]:this._content.length;return Math.max(Math.min(E+u.character,A),E)}get lineCount(){return this.getLineOffsets().length}},function(u){let B=Object.prototype.toString;function E(Z){return typeof Z<"u"}N(E,"defined"),u.defined=E;function A(Z){return typeof Z>"u"}N(A,"undefined"),u.undefined=A;function C(Z){return Z===!0||Z===!1}N(C,"boolean"),u.boolean=C;function D(Z){return B.call(Z)==="[object String]"}N(D,"string"),u.string=D;function F(Z){return B.call(Z)==="[object Number]"}N(F,"number"),u.number=F;function U(Z,J,K){return B.call(Z)==="[object Number]"&&J<=Z&&Z<=K}N(U,"numberRange"),u.numberRange=U;function z(Z){return B.call(Z)==="[object Number]"&&-2147483648<=Z&&Z<=2147483647}N(z,"integer"),u.integer=z;function k(Z){return B.call(Z)==="[object Number]"&&0<=Z&&Z<=2147483647}N(k,"uinteger"),u.uinteger=k;function f(Z){return B.call(Z)==="[object Function]"}N(f,"func"),u.func=f;function M(Z){return Z!==null&&typeof Z==="object"}N(M,"objectLiteral"),u.objectLiteral=M;function b(Z,J){return Array.isArray(Z)&&Z.every(J)}N(b,"typedArray"),u.typedArray=b}(Gu||(Gu={}))}}),Sw=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(u){Object.defineProperty(u,"__esModule",{value:!0});var B;function E(){if(B===void 0)throw Error("No runtime abstraction layer installed");return B}N(E,"RAL"),function(A){function C(D){if(D===void 0)throw Error("No runtime abstraction layer provided");B=D}N(C,"install"),A.install=C}(E||(E={})),u.default=E}}),SR=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.stringArray=u.array=u.func=u.error=u.number=u.string=u.boolean=void 0;function B(z){return z===!0||z===!1}N(B,"boolean"),u.boolean=B;function E(z){return typeof z==="string"||z instanceof String}N(E,"string"),u.string=E;function A(z){return typeof z==="number"||z instanceof Number}N(A,"number"),u.number=A;function C(z){return z instanceof Error}N(C,"error"),u.error=C;function D(z){return typeof z==="function"}N(D,"func"),u.func=D;function F(z){return Array.isArray(z)}N(F,"array"),u.array=F;function U(z){return F(z)&&z.every((k)=>E(k))}N(U,"stringArray"),u.stringArray=U}}),cl=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.Emitter=u.Event=void 0;var B=Sw(),E;(function(D){let F={dispose(){}};D.None=function(){return F}})(E||(u.Event=E={}));var A=class{static{N(this,"CallbackList")}add(D,F=null,U){if(!this._callbacks)this._callbacks=[],this._contexts=[];if(this._callbacks.push(D),this._contexts.push(F),Array.isArray(U))U.push({dispose:N(()=>this.remove(D,F),"dispose")})}remove(D,F=null){if(!this._callbacks)return;let U=!1;for(let z=0,k=this._callbacks.length;z<k;z++)if(this._callbacks[z]===D)if(this._contexts[z]===F){this._callbacks.splice(z,1),this._contexts.splice(z,1);return}else U=!0;if(U)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...D){if(!this._callbacks)return[];let F=[],U=this._callbacks.slice(0),z=this._contexts.slice(0);for(let k=0,f=U.length;k<f;k++)try{F.push(U[k].apply(z[k],D))}catch(M){(0,B.default)().console.error(M)}return F}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},C=class D{static{N(this,"Emitter")}constructor(F){this._options=F}get event(){if(!this._event)this._event=(F,U,z)=>{if(!this._callbacks)this._callbacks=new A;if(this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty())this._options.onFirstListenerAdd(this);this._callbacks.add(F,U);let k={dispose:N(()=>{if(!this._callbacks)return;if(this._callbacks.remove(F,U),k.dispose=D._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty())this._options.onLastListenerRemove(this)},"dispose")};if(Array.isArray(z))z.push(k);return k};return this._event}fire(F){if(this._callbacks)this._callbacks.invoke.call(this._callbacks,F)}dispose(){if(this._callbacks)this._callbacks.dispose(),this._callbacks=void 0}};u.Emitter=C,C._noop=function(){}}}),sy=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.CancellationTokenSource=u.CancellationToken=void 0;var B=Sw(),E=SR(),A=cl(),C;(function(z){z.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:A.Event.None}),z.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:A.Event.None});function k(f){let M=f;return M&&(M===z.None||M===z.Cancelled||E.boolean(M.isCancellationRequested)&&!!M.onCancellationRequested)}N(k,"is"),z.is=k})(C||(u.CancellationToken=C={}));var D=Object.freeze(function(z,k){let f=(0,B.default)().timer.setTimeout(z.bind(k),0);return{dispose(){f.dispose()}}}),F=class{static{N(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){if(!this._isCancelled){if(this._isCancelled=!0,this._emitter)this._emitter.fire(void 0),this.dispose()}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled)return D;if(!this._emitter)this._emitter=new A.Emitter;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=void 0}},U=class{static{N(this,"CancellationTokenSource")}get token(){if(!this._token)this._token=new F;return this._token}cancel(){if(!this._token)this._token=C.Cancelled;else this._token.cancel()}dispose(){if(!this._token)this._token=C.None;else if(this._token instanceof F)this._token.dispose()}};u.CancellationTokenSource=U}}),Kn0=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.Message=u.NotificationType9=u.NotificationType8=u.NotificationType7=u.NotificationType6=u.NotificationType5=u.NotificationType4=u.NotificationType3=u.NotificationType2=u.NotificationType1=u.NotificationType0=u.NotificationType=u.RequestType9=u.RequestType8=u.RequestType7=u.RequestType6=u.RequestType5=u.RequestType4=u.RequestType3=u.RequestType2=u.RequestType1=u.RequestType=u.RequestType0=u.AbstractMessageSignature=u.ParameterStructures=u.ResponseError=u.ErrorCodes=void 0;var B=SR(),E;(function(Y){Y.ParseError=-32700,Y.InvalidRequest=-32600,Y.MethodNotFound=-32601,Y.InvalidParams=-32602,Y.InternalError=-32603,Y.jsonrpcReservedErrorRangeStart=-32099,Y.serverErrorStart=-32099,Y.MessageWriteError=-32099,Y.MessageReadError=-32098,Y.PendingResponseRejected=-32097,Y.ConnectionInactive=-32096,Y.ServerNotInitialized=-32002,Y.UnknownErrorCode=-32001,Y.jsonrpcReservedErrorRangeEnd=-32000,Y.serverErrorEnd=-32000})(E||(u.ErrorCodes=E={}));var A=class Y extends Error{static{N(this,"ResponseError")}constructor(h,I,O){super(I);this.code=B.number(h)?h:E.UnknownErrorCode,this.data=O,Object.setPrototypeOf(this,Y.prototype)}toJson(){let h={code:this.code,message:this.message};if(this.data!==void 0)h.data=this.data;return h}};u.ResponseError=A;var C=class Y{static{N(this,"ParameterStructures")}constructor(h){this.kind=h}static is(h){return h===Y.auto||h===Y.byName||h===Y.byPosition}toString(){return this.kind}};u.ParameterStructures=C,C.auto=new C("auto"),C.byPosition=new C("byPosition"),C.byName=new C("byName");var D=class{static{N(this,"AbstractMessageSignature")}constructor(Y,h){this.method=Y,this.numberOfParams=h}get parameterStructures(){return C.auto}};u.AbstractMessageSignature=D;var F=class extends D{static{N(this,"RequestType0")}constructor(Y){super(Y,0)}};u.RequestType0=F;var U=class extends D{static{N(this,"RequestType")}constructor(Y,h=C.auto){super(Y,1);this._parameterStructures=h}get parameterStructures(){return this._parameterStructures}};u.RequestType=U;var z=class extends D{static{N(this,"RequestType1")}constructor(Y,h=C.auto){super(Y,1);this._parameterStructures=h}get parameterStructures(){return this._parameterStructures}};u.RequestType1=z;var k=class extends D{static{N(this,"RequestType2")}constructor(Y){super(Y,2)}};u.RequestType2=k;var f=class extends D{static{N(this,"RequestType3")}constructor(Y){super(Y,3)}};u.RequestType3=f;var M=class extends D{static{N(this,"RequestType4")}constructor(Y){super(Y,4)}};u.RequestType4=M;var b=class extends D{static{N(this,"RequestType5")}constructor(Y){super(Y,5)}};u.RequestType5=b;var Z=class extends D{static{N(this,"RequestType6")}constructor(Y){super(Y,6)}};u.RequestType6=Z;var J=class extends D{static{N(this,"RequestType7")}constructor(Y){super(Y,7)}};u.RequestType7=J;var K=class extends D{static{N(this,"RequestType8")}constructor(Y){super(Y,8)}};u.RequestType8=K;var w=class extends D{static{N(this,"RequestType9")}constructor(Y){super(Y,9)}};u.RequestType9=w;var Q=class extends D{static{N(this,"NotificationType")}constructor(Y,h=C.auto){super(Y,1);this._parameterStructures=h}get parameterStructures(){return this._parameterStructures}};u.NotificationType=Q;var G=class extends D{static{N(this,"NotificationType0")}constructor(Y){super(Y,0)}};u.NotificationType0=G;var H=class extends D{static{N(this,"NotificationType1")}constructor(Y,h=C.auto){super(Y,1);this._parameterStructures=h}get parameterStructures(){return this._parameterStructures}};u.NotificationType1=H;var l=class extends D{static{N(this,"NotificationType2")}constructor(Y){super(Y,2)}};u.NotificationType2=l;var q=class extends D{static{N(this,"NotificationType3")}constructor(Y){super(Y,3)}};u.NotificationType3=q;var L=class extends D{static{N(this,"NotificationType4")}constructor(Y){super(Y,4)}};u.NotificationType4=L;var v=class extends D{static{N(this,"NotificationType5")}constructor(Y){super(Y,5)}};u.NotificationType5=v;var x=class extends D{static{N(this,"NotificationType6")}constructor(Y){super(Y,6)}};u.NotificationType6=x;var S=class extends D{static{N(this,"NotificationType7")}constructor(Y){super(Y,7)}};u.NotificationType7=S;var W=class extends D{static{N(this,"NotificationType8")}constructor(Y){super(Y,8)}};u.NotificationType8=W;var T=class extends D{static{N(this,"NotificationType9")}constructor(Y){super(Y,9)}};u.NotificationType9=T;var R;(function(Y){function h(V){let j=V;return j&&B.string(j.method)&&(B.string(j.id)||B.number(j.id))}N(h,"isRequest"),Y.isRequest=h;function I(V){let j=V;return j&&B.string(j.method)&&V.id===void 0}N(I,"isNotification"),Y.isNotification=I;function O(V){let j=V;return j&&(j.result!==void 0||!!j.error)&&(B.string(j.id)||B.number(j.id)||j.id===null)}N(O,"isResponse"),Y.isResponse=O})(R||(u.Message=R={}))}}),wn0=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(u){var B;Object.defineProperty(u,"__esModule",{value:!0}),u.LRUCache=u.LinkedMap=u.Touch=void 0;var E;(function(D){D.None=0,D.First=1,D.AsOld=D.First,D.Last=2,D.AsNew=D.Last})(E||(u.Touch=E={}));var A=class{static{N(this,"LinkedMap")}constructor(){this[B]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(D){return this._map.has(D)}get(D,F=E.None){let U=this._map.get(D);if(!U)return;if(F!==E.None)this.touch(U,F);return U.value}set(D,F,U=E.None){let z=this._map.get(D);if(z){if(z.value=F,U!==E.None)this.touch(z,U)}else{switch(z={key:D,value:F,next:void 0,previous:void 0},U){case E.None:this.addItemLast(z);break;case E.First:this.addItemFirst(z);break;case E.Last:this.addItemLast(z);break;default:this.addItemLast(z);break}this._map.set(D,z),this._size++}return this}delete(D){return!!this.remove(D)}remove(D){let F=this._map.get(D);if(!F)return;return this._map.delete(D),this.removeItem(F),this._size--,F.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let D=this._head;return this._map.delete(D.key),this.removeItem(D),this._size--,D.value}forEach(D,F){let U=this._state,z=this._head;while(z){if(F)D.bind(F)(z.value,z.key,this);else D(z.value,z.key,this);if(this._state!==U)throw Error("LinkedMap got modified during iteration.");z=z.next}}keys(){let D=this._state,F=this._head,U={[Symbol.iterator]:()=>{return U},next:N(()=>{if(this._state!==D)throw Error("LinkedMap got modified during iteration.");if(F){let z={value:F.key,done:!1};return F=F.next,z}else return{value:void 0,done:!0}},"next")};return U}values(){let D=this._state,F=this._head,U={[Symbol.iterator]:()=>{return U},next:N(()=>{if(this._state!==D)throw Error("LinkedMap got modified during iteration.");if(F){let z={value:F.value,done:!1};return F=F.next,z}else return{value:void 0,done:!0}},"next")};return U}entries(){let D=this._state,F=this._head,U={[Symbol.iterator]:()=>{return U},next:N(()=>{if(this._state!==D)throw Error("LinkedMap got modified during iteration.");if(F){let z={value:[F.key,F.value],done:!1};return F=F.next,z}else return{value:void 0,done:!0}},"next")};return U}[(B=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(D){if(D>=this.size)return;if(D===0){this.clear();return}let F=this._head,U=this.size;while(F&&U>D)this._map.delete(F.key),F=F.next,U--;if(this._head=F,this._size=U,F)F.previous=void 0;this._state++}addItemFirst(D){if(!this._head&&!this._tail)this._tail=D;else if(!this._head)throw Error("Invalid list");else D.next=this._head,this._head.previous=D;this._head=D,this._state++}addItemLast(D){if(!this._head&&!this._tail)this._head=D;else if(!this._tail)throw Error("Invalid list");else D.previous=this._tail,this._tail.next=D;this._tail=D,this._state++}removeItem(D){if(D===this._head&&D===this._tail)this._head=void 0,this._tail=void 0;else if(D===this._head){if(!D.next)throw Error("Invalid list");D.next.previous=void 0,this._head=D.next}else if(D===this._tail){if(!D.previous)throw Error("Invalid list");D.previous.next=void 0,this._tail=D.previous}else{let{next:F,previous:U}=D;if(!F||!U)throw Error("Invalid list");F.previous=U,U.next=F}D.next=void 0,D.previous=void 0,this._state++}touch(D,F){if(!this._head||!this._tail)throw Error("Invalid list");if(F!==E.First&&F!==E.Last)return;if(F===E.First){if(D===this._head)return;let{next:U,previous:z}=D;if(D===this._tail)z.next=void 0,this._tail=z;else U.previous=z,z.next=U;D.previous=void 0,D.next=this._head,this._head.previous=D,this._head=D,this._state++}else if(F===E.Last){if(D===this._tail)return;let{next:U,previous:z}=D;if(D===this._head)U.previous=void 0,this._head=U;else U.previous=z,z.next=U;D.next=void 0,D.previous=this._tail,this._tail.next=D,this._tail=D,this._state++}}toJSON(){let D=[];return this.forEach((F,U)=>{D.push([U,F])}),D}fromJSON(D){this.clear();for(let[F,U]of D)this.set(F,U)}};u.LinkedMap=A;var C=class extends A{static{N(this,"LRUCache")}constructor(D,F=1){super();this._limit=D,this._ratio=Math.min(Math.max(0,F),1)}get limit(){return this._limit}set limit(D){this._limit=D,this.checkTrim()}get ratio(){return this._ratio}set ratio(D){this._ratio=Math.min(Math.max(0,D),1),this.checkTrim()}get(D,F=E.AsNew){return super.get(D,F)}peek(D){return super.get(D,E.None)}set(D,F){return super.set(D,F,E.Last),this.checkTrim(),this}checkTrim(){if(this.size>this._limit)this.trimOld(Math.round(this._limit*this._ratio))}};u.LRUCache=C}}),xL4=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.Disposable=void 0;var B;(function(E){function A(C){return{dispose:C}}N(A,"create"),E.create=A})(B||(u.Disposable=B={}))}}),WL4=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.SharedArrayReceiverStrategy=u.SharedArraySenderStrategy=void 0;var B=sy(),E;(function(U){U.Continue=0,U.Cancelled=1})(E||(E={}));var A=class{static{N(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(U){if(U.id===null)return;let z=new SharedArrayBuffer(4),k=new Int32Array(z,0,1);k[0]=E.Continue,this.buffers.set(U.id,z),U.$cancellationData=z}async sendCancellation(U,z){let k=this.buffers.get(z);if(k===void 0)return;let f=new Int32Array(k,0,1);Atomics.store(f,0,E.Cancelled)}cleanup(U){this.buffers.delete(U)}dispose(){this.buffers.clear()}};u.SharedArraySenderStrategy=A;var C=class{static{N(this,"SharedArrayBufferCancellationToken")}constructor(U){this.data=new Int32Array(U,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===E.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},D=class{static{N(this,"SharedArrayBufferCancellationTokenSource")}constructor(U){this.token=new C(U)}cancel(){}dispose(){}},F=class{static{N(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(U){let z=U.$cancellationData;if(z===void 0)return new B.CancellationTokenSource;return new D(z)}};u.SharedArrayReceiverStrategy=F}}),Qn0=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.Semaphore=void 0;var B=Sw(),E=class{static{N(this,"Semaphore")}constructor(A=1){if(A<=0)throw Error("Capacity must be greater than 0");this._capacity=A,this._active=0,this._waiting=[]}lock(A){return new Promise((C,D)=>{this._waiting.push({thunk:A,resolve:C,reject:D}),this.runNext()})}get active(){return this._active}runNext(){if(this._waiting.length===0||this._active===this._capacity)return;(0,B.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let A=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let C=A.thunk();if(C instanceof Promise)C.then((D)=>{this._active--,A.resolve(D),this.runNext()},(D)=>{this._active--,A.reject(D),this.runNext()});else this._active--,A.resolve(C),this.runNext()}catch(C){this._active--,A.reject(C),this.runNext()}}};u.Semaphore=E}}),SL4=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.ReadableStreamMessageReader=u.AbstractMessageReader=u.MessageReader=void 0;var B=Sw(),E=SR(),A=cl(),C=Qn0(),D;(function(k){function f(M){let b=M;return b&&E.func(b.listen)&&E.func(b.dispose)&&E.func(b.onError)&&E.func(b.onClose)&&E.func(b.onPartialMessage)}N(f,"is"),k.is=f})(D||(u.MessageReader=D={}));var F=class{static{N(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new A.Emitter,this.closeEmitter=new A.Emitter,this.partialMessageEmitter=new A.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(k){this.errorEmitter.fire(this.asError(k))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(k){this.partialMessageEmitter.fire(k)}asError(k){if(k instanceof Error)return k;else return Error(`Reader received error. Reason: ${E.string(k.message)?k.message:"unknown"}`)}};u.AbstractMessageReader=F;var U;(function(k){function f(M){let b,Z,J,K=new Map,w,Q=new Map;if(M===void 0||typeof M==="string")b=M??"utf-8";else{if(b=M.charset??"utf-8",M.contentDecoder!==void 0)J=M.contentDecoder,K.set(J.name,J);if(M.contentDecoders!==void 0)for(let G of M.contentDecoders)K.set(G.name,G);if(M.contentTypeDecoder!==void 0)w=M.contentTypeDecoder,Q.set(w.name,w);if(M.contentTypeDecoders!==void 0)for(let G of M.contentTypeDecoders)Q.set(G.name,G)}if(w===void 0)w=(0,B.default)().applicationJson.decoder,Q.set(w.name,w);return{charset:b,contentDecoder:J,contentDecoders:K,contentTypeDecoder:w,contentTypeDecoders:Q}}N(f,"fromOptions"),k.fromOptions=f})(U||(U={}));var z=class extends F{static{N(this,"ReadableStreamMessageReader")}constructor(k,f){super();this.readable=k,this.options=U.fromOptions(f),this.buffer=(0,B.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new C.Semaphore(1)}set partialMessageTimeout(k){this._partialMessageTimeout=k}get partialMessageTimeout(){return this._partialMessageTimeout}listen(k){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=k;let f=this.readable.onData((M)=>{this.onData(M)});return this.readable.onError((M)=>this.fireError(M)),this.readable.onClose(()=>this.fireClose()),f}onData(k){try{this.buffer.append(k);while(!0){if(this.nextMessageLength===-1){let M=this.buffer.tryReadHeaders(!0);if(!M)return;let b=M.get("content-length");if(!b){this.fireError(Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(M))}`));return}let Z=parseInt(b);if(isNaN(Z)){this.fireError(Error(`Content-Length value must be a number. Got ${b}`));return}this.nextMessageLength=Z}let f=this.buffer.tryReadBody(this.nextMessageLength);if(f===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let M=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(f):f,b=await this.options.contentTypeDecoder.decode(M,this.options);this.callback(b)}).catch((M)=>{this.fireError(M)})}}catch(f){this.fireError(f)}}clearPartialMessageTimer(){if(this.partialMessageTimer)this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0}setPartialMessageTimer(){if(this.clearPartialMessageTimer(),this._partialMessageTimeout<=0)return;this.partialMessageTimer=(0,B.default)().timer.setTimeout((k,f)=>{if(this.partialMessageTimer=void 0,k===this.messageToken)this.firePartialMessage({messageToken:k,waitingTime:f}),this.setPartialMessageTimer()},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout)}};u.ReadableStreamMessageReader=z}}),YL4=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.WriteableStreamMessageWriter=u.AbstractMessageWriter=u.MessageWriter=void 0;var B=Sw(),E=SR(),A=Qn0(),C=cl(),D="Content-Length: ",F=`\r
`,U;(function(M){function b(Z){let J=Z;return J&&E.func(J.dispose)&&E.func(J.onClose)&&E.func(J.onError)&&E.func(J.write)}N(b,"is"),M.is=b})(U||(u.MessageWriter=U={}));var z=class{static{N(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new C.Emitter,this.closeEmitter=new C.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(M,b,Z){this.errorEmitter.fire([this.asError(M),b,Z])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(M){if(M instanceof Error)return M;else return Error(`Writer received error. Reason: ${E.string(M.message)?M.message:"unknown"}`)}};u.AbstractMessageWriter=z;var k;(function(M){function b(Z){if(Z===void 0||typeof Z==="string")return{charset:Z??"utf-8",contentTypeEncoder:(0,B.default)().applicationJson.encoder};else return{charset:Z.charset??"utf-8",contentEncoder:Z.contentEncoder,contentTypeEncoder:Z.contentTypeEncoder??(0,B.default)().applicationJson.encoder}}N(b,"fromOptions"),M.fromOptions=b})(k||(k={}));var f=class extends z{static{N(this,"WriteableStreamMessageWriter")}constructor(M,b){super();this.writable=M,this.options=k.fromOptions(b),this.errorCount=0,this.writeSemaphore=new A.Semaphore(1),this.writable.onError((Z)=>this.fireError(Z)),this.writable.onClose(()=>this.fireClose())}async write(M){return this.writeSemaphore.lock(async()=>{return this.options.contentTypeEncoder.encode(M,this.options).then((Z)=>{if(this.options.contentEncoder!==void 0)return this.options.contentEncoder.encode(Z);else return Z}).then((Z)=>{let J=[];return J.push(D,Z.byteLength.toString(),F),J.push(F),this.doWrite(M,J,Z)},(Z)=>{throw this.fireError(Z),Z})})}async doWrite(M,b,Z){try{return await this.writable.write(b.join(""),"ascii"),this.writable.write(Z)}catch(J){return this.handleError(J,M),Promise.reject(J)}}handleError(M,b){this.errorCount++,this.fireError(M,b,this.errorCount)}end(){this.writable.end()}};u.WriteableStreamMessageWriter=f}}),RL4=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.AbstractMessageBuffer=void 0;var B=13,E=10,A=`\r
`,C=class{static{N(this,"AbstractMessageBuffer")}constructor(D="utf-8"){this._encoding=D,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(D){let F=typeof D==="string"?this.fromString(D,this._encoding):D;this._chunks.push(F),this._totalLength+=F.byteLength}tryReadHeaders(D=!1){if(this._chunks.length===0)return;let F=0,U=0,z=0,k=0;u:while(U<this._chunks.length){let Z=this._chunks[U];z=0;B:while(z<Z.length){switch(Z[z]){case B:switch(F){case 0:F=1;break;case 2:F=3;break;default:F=0}break;case E:switch(F){case 1:F=2;break;case 3:F=4,z++;break u;default:F=0}break;default:F=0}z++}k+=Z.byteLength,U++}if(F!==4)return;let f=this._read(k+z),M=new Map,b=this.toString(f,"ascii").split(A);if(b.length<2)return M;for(let Z=0;Z<b.length-2;Z++){let J=b[Z],K=J.indexOf(":");if(K===-1)throw Error(`Message header must separate key and value using ':'
${J}`);let w=J.substr(0,K),Q=J.substr(K+1).trim();M.set(D?w.toLowerCase():w,Q)}return M}tryReadBody(D){if(this._totalLength<D)return;return this._read(D)}get numberOfBytes(){return this._totalLength}_read(D){if(D===0)return this.emptyBuffer();if(D>this._totalLength)throw Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===D){let k=this._chunks[0];return this._chunks.shift(),this._totalLength-=D,this.asNative(k)}if(this._chunks[0].byteLength>D){let k=this._chunks[0],f=this.asNative(k,D);return this._chunks[0]=k.slice(D),this._totalLength-=D,f}let F=this.allocNative(D),U=0,z=0;while(D>0){let k=this._chunks[z];if(k.byteLength>D){let f=k.slice(0,D);F.set(f,U),U+=D,this._chunks[z]=k.slice(D),this._totalLength-=D,D-=D}else F.set(k,U),U+=k.byteLength,this._chunks.shift(),this._totalLength-=k.byteLength,D-=k.byteLength}return F}};u.AbstractMessageBuffer=C}}),TL4=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.createMessageConnection=u.ConnectionOptions=u.MessageStrategy=u.CancellationStrategy=u.CancellationSenderStrategy=u.CancellationReceiverStrategy=u.RequestCancellationReceiverStrategy=u.IdCancellationReceiverStrategy=u.ConnectionStrategy=u.ConnectionError=u.ConnectionErrors=u.LogTraceNotification=u.SetTraceNotification=u.TraceFormat=u.TraceValues=u.Trace=u.NullLogger=u.ProgressType=u.ProgressToken=void 0;var B=Sw(),E=SR(),A=Kn0(),C=wn0(),D=cl(),F=sy(),U;(function(Y){Y.type=new A.NotificationType("$/cancelRequest")})(U||(U={}));var z;(function(Y){function h(I){return typeof I==="string"||typeof I==="number"}N(h,"is"),Y.is=h})(z||(u.ProgressToken=z={}));var k;(function(Y){Y.type=new A.NotificationType("$/progress")})(k||(k={}));var f=class{static{N(this,"ProgressType")}constructor(){}};u.ProgressType=f;var M;(function(Y){function h(I){return E.func(I)}N(h,"is"),Y.is=h})(M||(M={})),u.NullLogger=Object.freeze({error:N(()=>{},"error"),warn:N(()=>{},"warn"),info:N(()=>{},"info"),log:N(()=>{},"log")});var b;(function(Y){Y[Y.Off=0]="Off",Y[Y.Messages=1]="Messages",Y[Y.Compact=2]="Compact",Y[Y.Verbose=3]="Verbose"})(b||(u.Trace=b={}));var Z;(function(Y){Y.Off="off",Y.Messages="messages",Y.Compact="compact",Y.Verbose="verbose"})(Z||(u.TraceValues=Z={})),function(Y){function h(O){if(!E.string(O))return Y.Off;switch(O=O.toLowerCase(),O){case"off":return Y.Off;case"messages":return Y.Messages;case"compact":return Y.Compact;case"verbose":return Y.Verbose;default:return Y.Off}}N(h,"fromString"),Y.fromString=h;function I(O){switch(O){case Y.Off:return"off";case Y.Messages:return"messages";case Y.Compact:return"compact";case Y.Verbose:return"verbose";default:return"off"}}N(I,"toString"),Y.toString=I}(b||(u.Trace=b={}));var J;(function(Y){Y.Text="text",Y.JSON="json"})(J||(u.TraceFormat=J={})),function(Y){function h(I){if(!E.string(I))return Y.Text;if(I=I.toLowerCase(),I==="json")return Y.JSON;else return Y.Text}N(h,"fromString"),Y.fromString=h}(J||(u.TraceFormat=J={}));var K;(function(Y){Y.type=new A.NotificationType("$/setTrace")})(K||(u.SetTraceNotification=K={}));var w;(function(Y){Y.type=new A.NotificationType("$/logTrace")})(w||(u.LogTraceNotification=w={}));var Q;(function(Y){Y[Y.Closed=1]="Closed",Y[Y.Disposed=2]="Disposed",Y[Y.AlreadyListening=3]="AlreadyListening"})(Q||(u.ConnectionErrors=Q={}));var G=class Y extends Error{static{N(this,"ConnectionError")}constructor(h,I){super(I);this.code=h,Object.setPrototypeOf(this,Y.prototype)}};u.ConnectionError=G;var H;(function(Y){function h(I){let O=I;return O&&E.func(O.cancelUndispatched)}N(h,"is"),Y.is=h})(H||(u.ConnectionStrategy=H={}));var l;(function(Y){function h(I){let O=I;return O&&(O.kind===void 0||O.kind==="id")&&E.func(O.createCancellationTokenSource)&&(O.dispose===void 0||E.func(O.dispose))}N(h,"is"),Y.is=h})(l||(u.IdCancellationReceiverStrategy=l={}));var q;(function(Y){function h(I){let O=I;return O&&O.kind==="request"&&E.func(O.createCancellationTokenSource)&&(O.dispose===void 0||E.func(O.dispose))}N(h,"is"),Y.is=h})(q||(u.RequestCancellationReceiverStrategy=q={}));var L;(function(Y){Y.Message=Object.freeze({createCancellationTokenSource(I){return new F.CancellationTokenSource}});function h(I){return l.is(I)||q.is(I)}N(h,"is"),Y.is=h})(L||(u.CancellationReceiverStrategy=L={}));var v;(function(Y){Y.Message=Object.freeze({sendCancellation(I,O){return I.sendNotification(U.type,{id:O})},cleanup(I){}});function h(I){let O=I;return O&&E.func(O.sendCancellation)&&E.func(O.cleanup)}N(h,"is"),Y.is=h})(v||(u.CancellationSenderStrategy=v={}));var x;(function(Y){Y.Message=Object.freeze({receiver:L.Message,sender:v.Message});function h(I){let O=I;return O&&L.is(O.receiver)&&v.is(O.sender)}N(h,"is"),Y.is=h})(x||(u.CancellationStrategy=x={}));var S;(function(Y){function h(I){let O=I;return O&&E.func(O.handleMessage)}N(h,"is"),Y.is=h})(S||(u.MessageStrategy=S={}));var W;(function(Y){function h(I){let O=I;return O&&(x.is(O.cancellationStrategy)||H.is(O.connectionStrategy)||S.is(O.messageStrategy))}N(h,"is"),Y.is=h})(W||(u.ConnectionOptions=W={}));var T;(function(Y){Y[Y.New=1]="New",Y[Y.Listening=2]="Listening",Y[Y.Closed=3]="Closed",Y[Y.Disposed=4]="Disposed"})(T||(T={}));function R(Y,h,I,O){let V=I!==void 0?I:u.NullLogger,j=0,i=0,a=0,$="2.0",m=void 0,y=new Map,r=void 0,_=new Map,e=new Map,p,b0=new C.LinkedMap,B0=new Map,k0=new Set,f0=new Map,D0=b.Off,P0=J.Text,L0,m0=T.New,h0=new D.Emitter,_0=new D.Emitter,w0=new D.Emitter,x0=new D.Emitter,T0=new D.Emitter,J0=O&&O.cancellationStrategy?O.cancellationStrategy:x.Message;function F0(I0){if(I0===null)throw Error("Can't send requests with id null since the response can't be correlated.");return"req-"+I0.toString()}N(F0,"createRequestQueueKey");function u0(I0){if(I0===null)return"res-unknown-"+(++a).toString();else return"res-"+I0.toString()}N(u0,"createResponseQueueKey");function Z0(){return"not-"+(++i).toString()}N(Z0,"createNotificationQueueKey");function X0(I0,Mu){if(A.Message.isRequest(Mu))I0.set(F0(Mu.id),Mu);else if(A.Message.isResponse(Mu))I0.set(u0(Mu.id),Mu);else I0.set(Z0(),Mu)}N(X0,"addMessageToQueue");function W0(I0){return}N(W0,"cancelUndispatched");function Y0(){return m0===T.Listening}N(Y0,"isListening");function a0(){return m0===T.Closed}N(a0,"isClosed");function K0(){return m0===T.Disposed}N(K0,"isDisposed");function n(){if(m0===T.New||m0===T.Listening)m0=T.Closed,_0.fire(void 0)}N(n,"closeHandler");function d(I0){h0.fire([I0,void 0,void 0])}N(d,"readErrorHandler");function q0(I0){h0.fire(I0)}N(q0,"writeErrorHandler"),Y.onClose(n),Y.onError(d),h.onClose(n),h.onError(q0);function o(){if(p||b0.size===0)return;p=(0,B.default)().timer.setImmediate(()=>{p=void 0,E0()})}N(o,"triggerMessageQueue");function l0(I0){if(A.Message.isRequest(I0))g0(I0);else if(A.Message.isNotification(I0))c0(I0);else if(A.Message.isResponse(I0))n0(I0);else Bu(I0)}N(l0,"handleMessage");function E0(){if(b0.size===0)return;let I0=b0.shift();try{let Mu=O?.messageStrategy;if(S.is(Mu))Mu.handleMessage(I0,l0);else l0(I0)}finally{o()}}N(E0,"processMessageQueue");let $0=N((I0)=>{try{if(A.Message.isNotification(I0)&&I0.method===U.type.method){let Mu=I0.params.id,qu=F0(Mu),Ru=b0.get(qu);if(A.Message.isRequest(Ru)){let $u=O?.connectionStrategy,L4=$u&&$u.cancelUndispatched?$u.cancelUndispatched(Ru,W0):W0(Ru);if(L4&&(L4.error!==void 0||L4.result!==void 0)){b0.delete(qu),f0.delete(Mu),L4.id=Ru.id,zu(L4,I0.method,Date.now()),h.write(L4).catch(()=>V.error("Sending response for canceled message failed."));return}}let S4=f0.get(Mu);if(S4!==void 0){S4.cancel(),yu(I0);return}else k0.add(Mu)}X0(b0,I0)}finally{o()}},"callback");function g0(I0){if(K0())return;function Mu(V4,b4,P4){let bu={jsonrpc:$,id:I0.id};if(V4 instanceof A.ResponseError)bu.error=V4.toJson();else bu.result=V4===void 0?null:V4;zu(bu,b4,P4),h.write(bu).catch(()=>V.error("Sending response failed."))}N(Mu,"reply");function qu(V4,b4,P4){let bu={jsonrpc:$,id:I0.id,error:V4.toJson()};zu(bu,b4,P4),h.write(bu).catch(()=>V.error("Sending response failed."))}N(qu,"replyError");function Ru(V4,b4,P4){if(V4===void 0)V4=null;let bu={jsonrpc:$,id:I0.id,result:V4};zu(bu,b4,P4),h.write(bu).catch(()=>V.error("Sending response failed."))}N(Ru,"replySuccess"),S0(I0);let S4=y.get(I0.method),$u,L4;if(S4)$u=S4.type,L4=S4.handler;let F3=Date.now();if(L4||m){let V4=I0.id??String(Date.now()),b4=l.is(J0.receiver)?J0.receiver.createCancellationTokenSource(V4):J0.receiver.createCancellationTokenSource(I0);if(I0.id!==null&&k0.has(I0.id))b4.cancel();if(I0.id!==null)f0.set(V4,b4);try{let P4;if(L4)if(I0.params===void 0){if($u!==void 0&&$u.numberOfParams!==0){qu(new A.ResponseError(A.ErrorCodes.InvalidParams,`Request ${I0.method} defines ${$u.numberOfParams} params but received none.`),I0.method,F3);return}P4=L4(b4.token)}else if(Array.isArray(I0.params)){if($u!==void 0&&$u.parameterStructures===A.ParameterStructures.byName){qu(new A.ResponseError(A.ErrorCodes.InvalidParams,`Request ${I0.method} defines parameters by name but received parameters by position`),I0.method,F3);return}P4=L4(...I0.params,b4.token)}else{if($u!==void 0&&$u.parameterStructures===A.ParameterStructures.byPosition){qu(new A.ResponseError(A.ErrorCodes.InvalidParams,`Request ${I0.method} defines parameters by position but received parameters by name`),I0.method,F3);return}P4=L4(I0.params,b4.token)}else if(m)P4=m(I0.method,I0.params,b4.token);let bu=P4;if(!P4)f0.delete(V4),Ru(P4,I0.method,F3);else if(bu.then)bu.then((Lu)=>{f0.delete(V4),Mu(Lu,I0.method,F3)},(Lu)=>{if(f0.delete(V4),Lu instanceof A.ResponseError)qu(Lu,I0.method,F3);else if(Lu&&E.string(Lu.message))qu(new A.ResponseError(A.ErrorCodes.InternalError,`Request ${I0.method} failed with message: ${Lu.message}`),I0.method,F3);else qu(new A.ResponseError(A.ErrorCodes.InternalError,`Request ${I0.method} failed unexpectedly without providing any details.`),I0.method,F3)});else f0.delete(V4),Mu(P4,I0.method,F3)}catch(P4){if(f0.delete(V4),P4 instanceof A.ResponseError)Mu(P4,I0.method,F3);else if(P4&&E.string(P4.message))qu(new A.ResponseError(A.ErrorCodes.InternalError,`Request ${I0.method} failed with message: ${P4.message}`),I0.method,F3);else qu(new A.ResponseError(A.ErrorCodes.InternalError,`Request ${I0.method} failed unexpectedly without providing any details.`),I0.method,F3)}}else qu(new A.ResponseError(A.ErrorCodes.MethodNotFound,`Unhandled method ${I0.method}`),I0.method,F3)}N(g0,"handleRequest");function n0(I0){if(K0())return;if(I0.id===null)if(I0.error)V.error(`Received response message without id: Error is:
${JSON.stringify(I0.error,void 0,4)}`);else V.error("Received response message without id. No further error information provided.");else{let Mu=I0.id,qu=B0.get(Mu);if(V0(I0,qu),qu!==void 0){B0.delete(Mu);try{if(I0.error){let Ru=I0.error;qu.reject(new A.ResponseError(Ru.code,Ru.message,Ru.data))}else if(I0.result!==void 0)qu.resolve(I0.result);else throw Error("Should never happen.")}catch(Ru){if(Ru.message)V.error(`Response handler '${qu.method}' failed with message: ${Ru.message}`);else V.error(`Response handler '${qu.method}' failed unexpectedly.`)}}}}N(n0,"handleResponse");function c0(I0){if(K0())return;let Mu=void 0,qu;if(I0.method===U.type.method){let Ru=I0.params.id;k0.delete(Ru),yu(I0);return}else{let Ru=_.get(I0.method);if(Ru)qu=Ru.handler,Mu=Ru.type}if(qu||r)try{if(yu(I0),qu)if(I0.params===void 0){if(Mu!==void 0){if(Mu.numberOfParams!==0&&Mu.parameterStructures!==A.ParameterStructures.byName)V.error(`Notification ${I0.method} defines ${Mu.numberOfParams} params but received none.`)}qu()}else if(Array.isArray(I0.params)){let Ru=I0.params;if(I0.method===k.type.method&&Ru.length===2&&z.is(Ru[0]))qu({token:Ru[0],value:Ru[1]});else{if(Mu!==void 0){if(Mu.parameterStructures===A.ParameterStructures.byName)V.error(`Notification ${I0.method} defines parameters by name but received parameters by position`);if(Mu.numberOfParams!==I0.params.length)V.error(`Notification ${I0.method} defines ${Mu.numberOfParams} params but received ${Ru.length} arguments`)}qu(...Ru)}}else{if(Mu!==void 0&&Mu.parameterStructures===A.ParameterStructures.byPosition)V.error(`Notification ${I0.method} defines parameters by position but received parameters by name`);qu(I0.params)}else if(r)r(I0.method,I0.params)}catch(Ru){if(Ru.message)V.error(`Notification handler '${I0.method}' failed with message: ${Ru.message}`);else V.error(`Notification handler '${I0.method}' failed unexpectedly.`)}else w0.fire(I0)}N(c0,"handleNotification");function Bu(I0){if(!I0){V.error("Received empty message.");return}V.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(I0,null,4)}`);let Mu=I0;if(E.string(Mu.id)||E.number(Mu.id)){let qu=Mu.id,Ru=B0.get(qu);if(Ru)Ru.reject(Error("The received response has neither a result nor an error property."))}}N(Bu,"handleInvalidMessage");function p0(I0){if(I0===void 0||I0===null)return;switch(D0){case b.Verbose:return JSON.stringify(I0,null,4);case b.Compact:return JSON.stringify(I0);default:return}}N(p0,"stringifyTrace");function e0(I0){if(D0===b.Off||!L0)return;if(P0===J.Text){let Mu=void 0;if((D0===b.Verbose||D0===b.Compact)&&I0.params)Mu=`Params: ${p0(I0.params)}
`;L0.log(`Sending request '${I0.method} - (${I0.id})'.`,Mu)}else xu("send-request",I0)}N(e0,"traceSendingRequest");function t0(I0){if(D0===b.Off||!L0)return;if(P0===J.Text){let Mu=void 0;if(D0===b.Verbose||D0===b.Compact)if(I0.params)Mu=`Params: ${p0(I0.params)}
`;else Mu=`No parameters provided.
`;L0.log(`Sending notification '${I0.method}'.`,Mu)}else xu("send-notification",I0)}N(t0,"traceSendingNotification");function zu(I0,Mu,qu){if(D0===b.Off||!L0)return;if(P0===J.Text){let Ru=void 0;if(D0===b.Verbose||D0===b.Compact){if(I0.error&&I0.error.data)Ru=`Error data: ${p0(I0.error.data)}
`;else if(I0.result)Ru=`Result: ${p0(I0.result)}
`;else if(I0.error===void 0)Ru=`No result returned.
`}L0.log(`Sending response '${Mu} - (${I0.id})'. Processing request took ${Date.now()-qu}ms`,Ru)}else xu("send-response",I0)}N(zu,"traceSendingResponse");function S0(I0){if(D0===b.Off||!L0)return;if(P0===J.Text){let Mu=void 0;if((D0===b.Verbose||D0===b.Compact)&&I0.params)Mu=`Params: ${p0(I0.params)}
`;L0.log(`Received request '${I0.method} - (${I0.id})'.`,Mu)}else xu("receive-request",I0)}N(S0,"traceReceivedRequest");function yu(I0){if(D0===b.Off||!L0||I0.method===w.type.method)return;if(P0===J.Text){let Mu=void 0;if(D0===b.Verbose||D0===b.Compact)if(I0.params)Mu=`Params: ${p0(I0.params)}
`;else Mu=`No parameters provided.
`;L0.log(`Received notification '${I0.method}'.`,Mu)}else xu("receive-notification",I0)}N(yu,"traceReceivedNotification");function V0(I0,Mu){if(D0===b.Off||!L0)return;if(P0===J.Text){let qu=void 0;if(D0===b.Verbose||D0===b.Compact){if(I0.error&&I0.error.data)qu=`Error data: ${p0(I0.error.data)}
`;else if(I0.result)qu=`Result: ${p0(I0.result)}
`;else if(I0.error===void 0)qu=`No result returned.
`}if(Mu){let Ru=I0.error?` Request failed: ${I0.error.message} (${I0.error.code}).`:"";L0.log(`Received response '${Mu.method} - (${I0.id})' in ${Date.now()-Mu.timerStart}ms.${Ru}`,qu)}else L0.log(`Received response ${I0.id} without active response promise.`,qu)}else xu("receive-response",I0)}N(V0,"traceReceivedResponse");function xu(I0,Mu){if(!L0||D0===b.Off)return;let qu={isLSPMessage:!0,type:I0,message:Mu,timestamp:Date.now()};L0.log(qu)}N(xu,"logLSPMessage");function gu(){if(a0())throw new G(Q.Closed,"Connection is closed.");if(K0())throw new G(Q.Disposed,"Connection is disposed.")}N(gu,"throwIfClosedOrDisposed");function Du(){if(Y0())throw new G(Q.AlreadyListening,"Connection is already listening")}N(Du,"throwIfListening");function Nu(){if(!Y0())throw Error("Call listen() first.")}N(Nu,"throwIfNotListening");function du(I0){if(I0===void 0)return null;else return I0}N(du,"undefinedToNull");function Iu(I0){if(I0===null)return;else return I0}N(Iu,"nullToUndefined");function v0(I0){return I0!==void 0&&I0!==null&&!Array.isArray(I0)&&typeof I0==="object"}N(v0,"isNamedParam");function Tu(I0,Mu){switch(I0){case A.ParameterStructures.auto:if(v0(Mu))return Iu(Mu);else return[du(Mu)];case A.ParameterStructures.byName:if(!v0(Mu))throw Error("Received parameters by name but param is not an object literal.");return Iu(Mu);case A.ParameterStructures.byPosition:return[du(Mu)];default:throw Error(`Unknown parameter structure ${I0.toString()}`)}}N(Tu,"computeSingleParam");function iu(I0,Mu){let qu,Ru=I0.numberOfParams;switch(Ru){case 0:qu=void 0;break;case 1:qu=Tu(I0.parameterStructures,Mu[0]);break;default:qu=[];for(let S4=0;S4<Mu.length&&S4<Ru;S4++)qu.push(du(Mu[S4]));if(Mu.length<Ru)for(let S4=Mu.length;S4<Ru;S4++)qu.push(null);break}return qu}N(iu,"computeMessageParams");let Ju={sendNotification:N((I0,...Mu)=>{gu();let qu,Ru;if(E.string(I0)){qu=I0;let $u=Mu[0],L4=0,F3=A.ParameterStructures.auto;if(A.ParameterStructures.is($u))L4=1,F3=$u;let V4=Mu.length,b4=V4-L4;switch(b4){case 0:Ru=void 0;break;case 1:Ru=Tu(F3,Mu[L4]);break;default:if(F3===A.ParameterStructures.byName)throw Error(`Received ${b4} parameters for 'by Name' notification parameter structure.`);Ru=Mu.slice(L4,V4).map((P4)=>du(P4));break}}else{let $u=Mu;qu=I0.method,Ru=iu(I0,$u)}let S4={jsonrpc:$,method:qu,params:Ru};return t0(S4),h.write(S4).catch(($u)=>{throw V.error("Sending notification failed."),$u})},"sendNotification"),onNotification:N((I0,Mu)=>{gu();let qu;if(E.func(I0))r=I0;else if(Mu)if(E.string(I0))qu=I0,_.set(I0,{type:void 0,handler:Mu});else qu=I0.method,_.set(I0.method,{type:I0,handler:Mu});return{dispose:N(()=>{if(qu!==void 0)_.delete(qu);else r=void 0},"dispose")}},"onNotification"),onProgress:N((I0,Mu,qu)=>{if(e.has(Mu))throw Error(`Progress handler for token ${Mu} already registered`);return e.set(Mu,qu),{dispose:N(()=>{e.delete(Mu)},"dispose")}},"onProgress"),sendProgress:N((I0,Mu,qu)=>{return Ju.sendNotification(k.type,{token:Mu,value:qu})},"sendProgress"),onUnhandledProgress:x0.event,sendRequest:N((I0,...Mu)=>{gu(),Nu();let qu,Ru,S4=void 0;if(E.string(I0)){qu=I0;let V4=Mu[0],b4=Mu[Mu.length-1],P4=0,bu=A.ParameterStructures.auto;if(A.ParameterStructures.is(V4))P4=1,bu=V4;let Lu=Mu.length;if(F.CancellationToken.is(b4))Lu=Lu-1,S4=b4;let pu=Lu-P4;switch(pu){case 0:Ru=void 0;break;case 1:Ru=Tu(bu,Mu[P4]);break;default:if(bu===A.ParameterStructures.byName)throw Error(`Received ${pu} parameters for 'by Name' request parameter structure.`);Ru=Mu.slice(P4,Lu).map((g4)=>du(g4));break}}else{let V4=Mu;qu=I0.method,Ru=iu(I0,V4);let b4=I0.numberOfParams;S4=F.CancellationToken.is(V4[b4])?V4[b4]:void 0}let $u=j++,L4;if(S4)L4=S4.onCancellationRequested(()=>{let V4=J0.sender.sendCancellation(Ju,$u);if(V4===void 0)return V.log(`Received no promise from cancellation strategy when cancelling id ${$u}`),Promise.resolve();else return V4.catch(()=>{V.log(`Sending cancellation messages for id ${$u} failed`)})});let F3={jsonrpc:$,id:$u,method:qu,params:Ru};if(e0(F3),typeof J0.sender.enableCancellation==="function")J0.sender.enableCancellation(F3);return new Promise(async(V4,b4)=>{let P4=N((pu)=>{V4(pu),J0.sender.cleanup($u),L4?.dispose()},"resolveWithCleanup"),bu=N((pu)=>{b4(pu),J0.sender.cleanup($u),L4?.dispose()},"rejectWithCleanup"),Lu={method:qu,timerStart:Date.now(),resolve:P4,reject:bu};try{await h.write(F3),B0.set($u,Lu)}catch(pu){throw V.error("Sending request failed."),Lu.reject(new A.ResponseError(A.ErrorCodes.MessageWriteError,pu.message?pu.message:"Unknown reason")),pu}})},"sendRequest"),onRequest:N((I0,Mu)=>{gu();let qu=null;if(M.is(I0))qu=void 0,m=I0;else if(E.string(I0)){if(qu=null,Mu!==void 0)qu=I0,y.set(I0,{handler:Mu,type:void 0})}else if(Mu!==void 0)qu=I0.method,y.set(I0.method,{type:I0,handler:Mu});return{dispose:N(()=>{if(qu===null)return;if(qu!==void 0)y.delete(qu);else m=void 0},"dispose")}},"onRequest"),hasPendingResponse:N(()=>{return B0.size>0},"hasPendingResponse"),trace:N(async(I0,Mu,qu)=>{let Ru=!1,S4=J.Text;if(qu!==void 0)if(E.boolean(qu))Ru=qu;else Ru=qu.sendNotification||!1,S4=qu.traceFormat||J.Text;if(D0=I0,P0=S4,D0===b.Off)L0=void 0;else L0=Mu;if(Ru&&!a0()&&!K0())await Ju.sendNotification(K.type,{value:b.toString(I0)})},"trace"),onError:h0.event,onClose:_0.event,onUnhandledNotification:w0.event,onDispose:T0.event,end:N(()=>{h.end()},"end"),dispose:N(()=>{if(K0())return;m0=T.Disposed,T0.fire(void 0);let I0=new A.ResponseError(A.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let Mu of B0.values())Mu.reject(I0);if(B0=new Map,f0=new Map,k0=new Set,b0=new C.LinkedMap,E.func(h.dispose))h.dispose();if(E.func(Y.dispose))Y.dispose()},"dispose"),listen:N(()=>{gu(),Du(),m0=T.Listening,Y.listen($0)},"listen"),inspect:N(()=>{(0,B.default)().console.log("inspect")},"inspect")};return Ju.onNotification(w.type,(I0)=>{if(D0===b.Off||!L0)return;let Mu=D0===b.Verbose||D0===b.Compact;L0.log(I0.message,Mu?I0.verbose:void 0)}),Ju.onNotification(k.type,(I0)=>{let Mu=e.get(I0.token);if(Mu)Mu(I0.value);else x0.fire(I0)}),Ju}N(R,"createMessageConnection"),u.createMessageConnection=R}}),E80=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.ProgressType=u.ProgressToken=u.createMessageConnection=u.NullLogger=u.ConnectionOptions=u.ConnectionStrategy=u.AbstractMessageBuffer=u.WriteableStreamMessageWriter=u.AbstractMessageWriter=u.MessageWriter=u.ReadableStreamMessageReader=u.AbstractMessageReader=u.MessageReader=u.SharedArrayReceiverStrategy=u.SharedArraySenderStrategy=u.CancellationToken=u.CancellationTokenSource=u.Emitter=u.Event=u.Disposable=u.LRUCache=u.Touch=u.LinkedMap=u.ParameterStructures=u.NotificationType9=u.NotificationType8=u.NotificationType7=u.NotificationType6=u.NotificationType5=u.NotificationType4=u.NotificationType3=u.NotificationType2=u.NotificationType1=u.NotificationType0=u.NotificationType=u.ErrorCodes=u.ResponseError=u.RequestType9=u.RequestType8=u.RequestType7=u.RequestType6=u.RequestType5=u.RequestType4=u.RequestType3=u.RequestType2=u.RequestType1=u.RequestType0=u.RequestType=u.Message=u.RAL=void 0,u.MessageStrategy=u.CancellationStrategy=u.CancellationSenderStrategy=u.CancellationReceiverStrategy=u.ConnectionError=u.ConnectionErrors=u.LogTraceNotification=u.SetTraceNotification=u.TraceFormat=u.TraceValues=u.Trace=void 0;var B=Kn0();Object.defineProperty(u,"Message",{enumerable:!0,get:N(function(){return B.Message},"get")}),Object.defineProperty(u,"RequestType",{enumerable:!0,get:N(function(){return B.RequestType},"get")}),Object.defineProperty(u,"RequestType0",{enumerable:!0,get:N(function(){return B.RequestType0},"get")}),Object.defineProperty(u,"RequestType1",{enumerable:!0,get:N(function(){return B.RequestType1},"get")}),Object.defineProperty(u,"RequestType2",{enumerable:!0,get:N(function(){return B.RequestType2},"get")}),Object.defineProperty(u,"RequestType3",{enumerable:!0,get:N(function(){return B.RequestType3},"get")}),Object.defineProperty(u,"RequestType4",{enumerable:!0,get:N(function(){return B.RequestType4},"get")}),Object.defineProperty(u,"RequestType5",{enumerable:!0,get:N(function(){return B.RequestType5},"get")}),Object.defineProperty(u,"RequestType6",{enumerable:!0,get:N(function(){return B.RequestType6},"get")}),Object.defineProperty(u,"RequestType7",{enumerable:!0,get:N(function(){return B.RequestType7},"get")}),Object.defineProperty(u,"RequestType8",{enumerable:!0,get:N(function(){return B.RequestType8},"get")}),Object.defineProperty(u,"RequestType9",{enumerable:!0,get:N(function(){return B.RequestType9},"get")}),Object.defineProperty(u,"ResponseError",{enumerable:!0,get:N(function(){return B.ResponseError},"get")}),Object.defineProperty(u,"ErrorCodes",{enumerable:!0,get:N(function(){return B.ErrorCodes},"get")}),Object.defineProperty(u,"NotificationType",{enumerable:!0,get:N(function(){return B.NotificationType},"get")}),Object.defineProperty(u,"NotificationType0",{enumerable:!0,get:N(function(){return B.NotificationType0},"get")}),Object.defineProperty(u,"NotificationType1",{enumerable:!0,get:N(function(){return B.NotificationType1},"get")}),Object.defineProperty(u,"NotificationType2",{enumerable:!0,get:N(function(){return B.NotificationType2},"get")}),Object.defineProperty(u,"NotificationType3",{enumerable:!0,get:N(function(){return B.NotificationType3},"get")}),Object.defineProperty(u,"NotificationType4",{enumerable:!0,get:N(function(){return B.NotificationType4},"get")}),Object.defineProperty(u,"NotificationType5",{enumerable:!0,get:N(function(){return B.NotificationType5},"get")}),Object.defineProperty(u,"NotificationType6",{enumerable:!0,get:N(function(){return B.NotificationType6},"get")}),Object.defineProperty(u,"NotificationType7",{enumerable:!0,get:N(function(){return B.NotificationType7},"get")}),Object.defineProperty(u,"NotificationType8",{enumerable:!0,get:N(function(){return B.NotificationType8},"get")}),Object.defineProperty(u,"NotificationType9",{enumerable:!0,get:N(function(){return B.NotificationType9},"get")}),Object.defineProperty(u,"ParameterStructures",{enumerable:!0,get:N(function(){return B.ParameterStructures},"get")});var E=wn0();Object.defineProperty(u,"LinkedMap",{enumerable:!0,get:N(function(){return E.LinkedMap},"get")}),Object.defineProperty(u,"LRUCache",{enumerable:!0,get:N(function(){return E.LRUCache},"get")}),Object.defineProperty(u,"Touch",{enumerable:!0,get:N(function(){return E.Touch},"get")});var A=xL4();Object.defineProperty(u,"Disposable",{enumerable:!0,get:N(function(){return A.Disposable},"get")});var C=cl();Object.defineProperty(u,"Event",{enumerable:!0,get:N(function(){return C.Event},"get")}),Object.defineProperty(u,"Emitter",{enumerable:!0,get:N(function(){return C.Emitter},"get")});var D=sy();Object.defineProperty(u,"CancellationTokenSource",{enumerable:!0,get:N(function(){return D.CancellationTokenSource},"get")}),Object.defineProperty(u,"CancellationToken",{enumerable:!0,get:N(function(){return D.CancellationToken},"get")});var F=WL4();Object.defineProperty(u,"SharedArraySenderStrategy",{enumerable:!0,get:N(function(){return F.SharedArraySenderStrategy},"get")}),Object.defineProperty(u,"SharedArrayReceiverStrategy",{enumerable:!0,get:N(function(){return F.SharedArrayReceiverStrategy},"get")});var U=SL4();Object.defineProperty(u,"MessageReader",{enumerable:!0,get:N(function(){return U.MessageReader},"get")}),Object.defineProperty(u,"AbstractMessageReader",{enumerable:!0,get:N(function(){return U.AbstractMessageReader},"get")}),Object.defineProperty(u,"ReadableStreamMessageReader",{enumerable:!0,get:N(function(){return U.ReadableStreamMessageReader},"get")});var z=YL4();Object.defineProperty(u,"MessageWriter",{enumerable:!0,get:N(function(){return z.MessageWriter},"get")}),Object.defineProperty(u,"AbstractMessageWriter",{enumerable:!0,get:N(function(){return z.AbstractMessageWriter},"get")}),Object.defineProperty(u,"WriteableStreamMessageWriter",{enumerable:!0,get:N(function(){return z.WriteableStreamMessageWriter},"get")});var k=RL4();Object.defineProperty(u,"AbstractMessageBuffer",{enumerable:!0,get:N(function(){return k.AbstractMessageBuffer},"get")});var f=TL4();Object.defineProperty(u,"ConnectionStrategy",{enumerable:!0,get:N(function(){return f.ConnectionStrategy},"get")}),Object.defineProperty(u,"ConnectionOptions",{enumerable:!0,get:N(function(){return f.ConnectionOptions},"get")}),Object.defineProperty(u,"NullLogger",{enumerable:!0,get:N(function(){return f.NullLogger},"get")}),Object.defineProperty(u,"createMessageConnection",{enumerable:!0,get:N(function(){return f.createMessageConnection},"get")}),Object.defineProperty(u,"ProgressToken",{enumerable:!0,get:N(function(){return f.ProgressToken},"get")}),Object.defineProperty(u,"ProgressType",{enumerable:!0,get:N(function(){return f.ProgressType},"get")}),Object.defineProperty(u,"Trace",{enumerable:!0,get:N(function(){return f.Trace},"get")}),Object.defineProperty(u,"TraceValues",{enumerable:!0,get:N(function(){return f.TraceValues},"get")}),Object.defineProperty(u,"TraceFormat",{enumerable:!0,get:N(function(){return f.TraceFormat},"get")}),Object.defineProperty(u,"SetTraceNotification",{enumerable:!0,get:N(function(){return f.SetTraceNotification},"get")}),Object.defineProperty(u,"LogTraceNotification",{enumerable:!0,get:N(function(){return f.LogTraceNotification},"get")}),Object.defineProperty(u,"ConnectionErrors",{enumerable:!0,get:N(function(){return f.ConnectionErrors},"get")}),Object.defineProperty(u,"ConnectionError",{enumerable:!0,get:N(function(){return f.ConnectionError},"get")}),Object.defineProperty(u,"CancellationReceiverStrategy",{enumerable:!0,get:N(function(){return f.CancellationReceiverStrategy},"get")}),Object.defineProperty(u,"CancellationSenderStrategy",{enumerable:!0,get:N(function(){return f.CancellationSenderStrategy},"get")}),Object.defineProperty(u,"CancellationStrategy",{enumerable:!0,get:N(function(){return f.CancellationStrategy},"get")}),Object.defineProperty(u,"MessageStrategy",{enumerable:!0,get:N(function(){return f.MessageStrategy},"get")});var M=Sw();u.RAL=M.default}}),OL4=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(u){Object.defineProperty(u,"__esModule",{value:!0});var B=E80(),E=class z extends B.AbstractMessageBuffer{static{N(this,"MessageBuffer")}constructor(k="utf-8"){super(k);this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return z.emptyBuffer}fromString(k,f){return new TextEncoder().encode(k)}toString(k,f){if(f==="ascii")return this.asciiDecoder.decode(k);else return new TextDecoder(f).decode(k)}asNative(k,f){if(f===void 0)return k;else return k.slice(0,f)}allocNative(k){return new Uint8Array(k)}};E.emptyBuffer=new Uint8Array(0);var A=class{static{N(this,"ReadableStreamWrapper")}constructor(z){this.socket=z,this._onData=new B.Emitter,this._messageListener=(k)=>{k.data.arrayBuffer().then((M)=>{this._onData.fire(new Uint8Array(M))},()=>{(0,B.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(z){return this.socket.addEventListener("close",z),B.Disposable.create(()=>this.socket.removeEventListener("close",z))}onError(z){return this.socket.addEventListener("error",z),B.Disposable.create(()=>this.socket.removeEventListener("error",z))}onEnd(z){return this.socket.addEventListener("end",z),B.Disposable.create(()=>this.socket.removeEventListener("end",z))}onData(z){return this._onData.event(z)}},C=class{static{N(this,"WritableStreamWrapper")}constructor(z){this.socket=z}onClose(z){return this.socket.addEventListener("close",z),B.Disposable.create(()=>this.socket.removeEventListener("close",z))}onError(z){return this.socket.addEventListener("error",z),B.Disposable.create(()=>this.socket.removeEventListener("error",z))}onEnd(z){return this.socket.addEventListener("end",z),B.Disposable.create(()=>this.socket.removeEventListener("end",z))}write(z,k){if(typeof z==="string"){if(k!==void 0&&k!=="utf-8")throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${k}`);this.socket.send(z)}else this.socket.send(z);return Promise.resolve()}end(){this.socket.close()}},D=new TextEncoder,F=Object.freeze({messageBuffer:Object.freeze({create:N((z)=>new E(z),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:N((z,k)=>{if(k.charset!=="utf-8")throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${k.charset}`);return Promise.resolve(D.encode(JSON.stringify(z,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:N((z,k)=>{if(!(z instanceof Uint8Array))throw Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(k.charset).decode(z)))},"decode")})}),stream:Object.freeze({asReadableStream:N((z)=>new A(z),"asReadableStream"),asWritableStream:N((z)=>new C(z),"asWritableStream")}),console,timer:Object.freeze({setTimeout(z,k,...f){let M=setTimeout(z,k,...f);return{dispose:N(()=>clearTimeout(M),"dispose")}},setImmediate(z,...k){let f=setTimeout(z,0,...k);return{dispose:N(()=>clearTimeout(f),"dispose")}},setInterval(z,k,...f){let M=setInterval(z,k,...f);return{dispose:N(()=>clearInterval(M),"dispose")}}})});function U(){return F}N(U,"RIL"),function(z){function k(){B.RAL.install(F)}N(k,"install"),z.install=k}(U||(U={})),u.default=U}}),_l=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(u){var B=u&&u.__createBinding||(Object.create?function(z,k,f,M){if(M===void 0)M=f;var b=Object.getOwnPropertyDescriptor(k,f);if(!b||("get"in b?!k.__esModule:b.writable||b.configurable))b={enumerable:!0,get:N(function(){return k[f]},"get")};Object.defineProperty(z,M,b)}:function(z,k,f,M){if(M===void 0)M=f;z[M]=k[f]}),E=u&&u.__exportStar||function(z,k){for(var f in z)if(f!=="default"&&!Object.prototype.hasOwnProperty.call(k,f))B(k,z,f)};Object.defineProperty(u,"__esModule",{value:!0}),u.createMessageConnection=u.BrowserMessageWriter=u.BrowserMessageReader=void 0;var A=OL4();A.default.install();var C=E80();E(E80(),u);var D=class extends C.AbstractMessageReader{static{N(this,"BrowserMessageReader")}constructor(z){super();this._onData=new C.Emitter,this._messageListener=(k)=>{this._onData.fire(k.data)},z.addEventListener("error",(k)=>this.fireError(k)),z.onmessage=this._messageListener}listen(z){return this._onData.event(z)}};u.BrowserMessageReader=D;var F=class extends C.AbstractMessageWriter{static{N(this,"BrowserMessageWriter")}constructor(z){super();this.port=z,this.errorCount=0,z.addEventListener("error",(k)=>this.fireError(k))}write(z){try{return this.port.postMessage(z),Promise.resolve()}catch(k){return this.handleError(k,z),Promise.reject(k)}}handleError(z,k){this.errorCount++,this.fireError(z,k,this.errorCount)}end(){}};u.BrowserMessageWriter=F;function U(z,k,f,M){if(f===void 0)f=C.NullLogger;if(C.ConnectionStrategy.is(M))M={connectionStrategy:M};return(0,C.createMessageConnection)(z,k,f,M)}N(U,"createMessageConnection"),u.createMessageConnection=U}}),X_0=y3({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(u,B){B.exports=_l()}}),X9=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.ProtocolNotificationType=u.ProtocolNotificationType0=u.ProtocolRequestType=u.ProtocolRequestType0=u.RegistrationType=u.MessageDirection=void 0;var B=_l(),E;(function(z){z.clientToServer="clientToServer",z.serverToClient="serverToClient",z.both="both"})(E||(u.MessageDirection=E={}));var A=class{static{N(this,"RegistrationType")}constructor(z){this.method=z}};u.RegistrationType=A;var C=class extends B.RequestType0{static{N(this,"ProtocolRequestType0")}constructor(z){super(z)}};u.ProtocolRequestType0=C;var D=class extends B.RequestType{static{N(this,"ProtocolRequestType")}constructor(z){super(z,B.ParameterStructures.byName)}};u.ProtocolRequestType=D;var F=class extends B.NotificationType0{static{N(this,"ProtocolNotificationType0")}constructor(z){super(z)}};u.ProtocolNotificationType0=F;var U=class extends B.NotificationType{static{N(this,"ProtocolNotificationType")}constructor(z){super(z,B.ParameterStructures.byName)}};u.ProtocolNotificationType=U}}),AE0=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.objectLiteral=u.typedArray=u.stringArray=u.array=u.func=u.error=u.number=u.string=u.boolean=void 0;function B(f){return f===!0||f===!1}N(B,"boolean"),u.boolean=B;function E(f){return typeof f==="string"||f instanceof String}N(E,"string"),u.string=E;function A(f){return typeof f==="number"||f instanceof Number}N(A,"number"),u.number=A;function C(f){return f instanceof Error}N(C,"error"),u.error=C;function D(f){return typeof f==="function"}N(D,"func"),u.func=D;function F(f){return Array.isArray(f)}N(F,"array"),u.array=F;function U(f){return F(f)&&f.every((M)=>E(M))}N(U,"stringArray"),u.stringArray=U;function z(f,M){return Array.isArray(f)&&f.every(M)}N(z,"typedArray"),u.typedArray=z;function k(f){return f!==null&&typeof f==="object"}N(k,"objectLiteral"),u.objectLiteral=k}}),IL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.ImplementationRequest=void 0;var B=X9(),E;(function(A){A.method="textDocument/implementation",A.messageDirection=B.MessageDirection.clientToServer,A.type=new B.ProtocolRequestType(A.method)})(E||(u.ImplementationRequest=E={}))}}),PL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.TypeDefinitionRequest=void 0;var B=X9(),E;(function(A){A.method="textDocument/typeDefinition",A.messageDirection=B.MessageDirection.clientToServer,A.type=new B.ProtocolRequestType(A.method)})(E||(u.TypeDefinitionRequest=E={}))}}),jL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.DidChangeWorkspaceFoldersNotification=u.WorkspaceFoldersRequest=void 0;var B=X9(),E;(function(C){C.method="workspace/workspaceFolders",C.messageDirection=B.MessageDirection.serverToClient,C.type=new B.ProtocolRequestType0(C.method)})(E||(u.WorkspaceFoldersRequest=E={}));var A;(function(C){C.method="workspace/didChangeWorkspaceFolders",C.messageDirection=B.MessageDirection.clientToServer,C.type=new B.ProtocolNotificationType(C.method)})(A||(u.DidChangeWorkspaceFoldersNotification=A={}))}}),NL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.ConfigurationRequest=void 0;var B=X9(),E;(function(A){A.method="workspace/configuration",A.messageDirection=B.MessageDirection.serverToClient,A.type=new B.ProtocolRequestType(A.method)})(E||(u.ConfigurationRequest=E={}))}}),VL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.ColorPresentationRequest=u.DocumentColorRequest=void 0;var B=X9(),E;(function(C){C.method="textDocument/documentColor",C.messageDirection=B.MessageDirection.clientToServer,C.type=new B.ProtocolRequestType(C.method)})(E||(u.DocumentColorRequest=E={}));var A;(function(C){C.method="textDocument/colorPresentation",C.messageDirection=B.MessageDirection.clientToServer,C.type=new B.ProtocolRequestType(C.method)})(A||(u.ColorPresentationRequest=A={}))}}),hL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.FoldingRangeRefreshRequest=u.FoldingRangeRequest=void 0;var B=X9(),E;(function(C){C.method="textDocument/foldingRange",C.messageDirection=B.MessageDirection.clientToServer,C.type=new B.ProtocolRequestType(C.method)})(E||(u.FoldingRangeRequest=E={}));var A;(function(C){C.method="workspace/foldingRange/refresh",C.messageDirection=B.MessageDirection.serverToClient,C.type=new B.ProtocolRequestType0(C.method)})(A||(u.FoldingRangeRefreshRequest=A={}))}}),iL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.DeclarationRequest=void 0;var B=X9(),E;(function(A){A.method="textDocument/declaration",A.messageDirection=B.MessageDirection.clientToServer,A.type=new B.ProtocolRequestType(A.method)})(E||(u.DeclarationRequest=E={}))}}),aL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.SelectionRangeRequest=void 0;var B=X9(),E;(function(A){A.method="textDocument/selectionRange",A.messageDirection=B.MessageDirection.clientToServer,A.type=new B.ProtocolRequestType(A.method)})(E||(u.SelectionRangeRequest=E={}))}}),mL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.WorkDoneProgressCancelNotification=u.WorkDoneProgressCreateRequest=u.WorkDoneProgress=void 0;var B=_l(),E=X9(),A;(function(F){F.type=new B.ProgressType;function U(z){return z===F.type}N(U,"is"),F.is=U})(A||(u.WorkDoneProgress=A={}));var C;(function(F){F.method="window/workDoneProgress/create",F.messageDirection=E.MessageDirection.serverToClient,F.type=new E.ProtocolRequestType(F.method)})(C||(u.WorkDoneProgressCreateRequest=C={}));var D;(function(F){F.method="window/workDoneProgress/cancel",F.messageDirection=E.MessageDirection.clientToServer,F.type=new E.ProtocolNotificationType(F.method)})(D||(u.WorkDoneProgressCancelNotification=D={}))}}),$L4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.CallHierarchyOutgoingCallsRequest=u.CallHierarchyIncomingCallsRequest=u.CallHierarchyPrepareRequest=void 0;var B=X9(),E;(function(D){D.method="textDocument/prepareCallHierarchy",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(E||(u.CallHierarchyPrepareRequest=E={}));var A;(function(D){D.method="callHierarchy/incomingCalls",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(A||(u.CallHierarchyIncomingCallsRequest=A={}));var C;(function(D){D.method="callHierarchy/outgoingCalls",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(C||(u.CallHierarchyOutgoingCallsRequest=C={}))}}),yL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.SemanticTokensRefreshRequest=u.SemanticTokensRangeRequest=u.SemanticTokensDeltaRequest=u.SemanticTokensRequest=u.SemanticTokensRegistrationType=u.TokenFormat=void 0;var B=X9(),E;(function(z){z.Relative="relative"})(E||(u.TokenFormat=E={}));var A;(function(z){z.method="textDocument/semanticTokens",z.type=new B.RegistrationType(z.method)})(A||(u.SemanticTokensRegistrationType=A={}));var C;(function(z){z.method="textDocument/semanticTokens/full",z.messageDirection=B.MessageDirection.clientToServer,z.type=new B.ProtocolRequestType(z.method),z.registrationMethod=A.method})(C||(u.SemanticTokensRequest=C={}));var D;(function(z){z.method="textDocument/semanticTokens/full/delta",z.messageDirection=B.MessageDirection.clientToServer,z.type=new B.ProtocolRequestType(z.method),z.registrationMethod=A.method})(D||(u.SemanticTokensDeltaRequest=D={}));var F;(function(z){z.method="textDocument/semanticTokens/range",z.messageDirection=B.MessageDirection.clientToServer,z.type=new B.ProtocolRequestType(z.method),z.registrationMethod=A.method})(F||(u.SemanticTokensRangeRequest=F={}));var U;(function(z){z.method="workspace/semanticTokens/refresh",z.messageDirection=B.MessageDirection.serverToClient,z.type=new B.ProtocolRequestType0(z.method)})(U||(u.SemanticTokensRefreshRequest=U={}))}}),rL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.ShowDocumentRequest=void 0;var B=X9(),E;(function(A){A.method="window/showDocument",A.messageDirection=B.MessageDirection.serverToClient,A.type=new B.ProtocolRequestType(A.method)})(E||(u.ShowDocumentRequest=E={}))}}),gL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.LinkedEditingRangeRequest=void 0;var B=X9(),E;(function(A){A.method="textDocument/linkedEditingRange",A.messageDirection=B.MessageDirection.clientToServer,A.type=new B.ProtocolRequestType(A.method)})(E||(u.LinkedEditingRangeRequest=E={}))}}),cL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.WillDeleteFilesRequest=u.DidDeleteFilesNotification=u.DidRenameFilesNotification=u.WillRenameFilesRequest=u.DidCreateFilesNotification=u.WillCreateFilesRequest=u.FileOperationPatternKind=void 0;var B=X9(),E;(function(k){k.file="file",k.folder="folder"})(E||(u.FileOperationPatternKind=E={}));var A;(function(k){k.method="workspace/willCreateFiles",k.messageDirection=B.MessageDirection.clientToServer,k.type=new B.ProtocolRequestType(k.method)})(A||(u.WillCreateFilesRequest=A={}));var C;(function(k){k.method="workspace/didCreateFiles",k.messageDirection=B.MessageDirection.clientToServer,k.type=new B.ProtocolNotificationType(k.method)})(C||(u.DidCreateFilesNotification=C={}));var D;(function(k){k.method="workspace/willRenameFiles",k.messageDirection=B.MessageDirection.clientToServer,k.type=new B.ProtocolRequestType(k.method)})(D||(u.WillRenameFilesRequest=D={}));var F;(function(k){k.method="workspace/didRenameFiles",k.messageDirection=B.MessageDirection.clientToServer,k.type=new B.ProtocolNotificationType(k.method)})(F||(u.DidRenameFilesNotification=F={}));var U;(function(k){k.method="workspace/didDeleteFiles",k.messageDirection=B.MessageDirection.clientToServer,k.type=new B.ProtocolNotificationType(k.method)})(U||(u.DidDeleteFilesNotification=U={}));var z;(function(k){k.method="workspace/willDeleteFiles",k.messageDirection=B.MessageDirection.clientToServer,k.type=new B.ProtocolRequestType(k.method)})(z||(u.WillDeleteFilesRequest=z={}))}}),_L4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.MonikerRequest=u.MonikerKind=u.UniquenessLevel=void 0;var B=X9(),E;(function(D){D.document="document",D.project="project",D.group="group",D.scheme="scheme",D.global="global"})(E||(u.UniquenessLevel=E={}));var A;(function(D){D.$import="import",D.$export="export",D.local="local"})(A||(u.MonikerKind=A={}));var C;(function(D){D.method="textDocument/moniker",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(C||(u.MonikerRequest=C={}))}}),pL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.TypeHierarchySubtypesRequest=u.TypeHierarchySupertypesRequest=u.TypeHierarchyPrepareRequest=void 0;var B=X9(),E;(function(D){D.method="textDocument/prepareTypeHierarchy",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(E||(u.TypeHierarchyPrepareRequest=E={}));var A;(function(D){D.method="typeHierarchy/supertypes",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(A||(u.TypeHierarchySupertypesRequest=A={}));var C;(function(D){D.method="typeHierarchy/subtypes",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(C||(u.TypeHierarchySubtypesRequest=C={}))}}),nL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.InlineValueRefreshRequest=u.InlineValueRequest=void 0;var B=X9(),E;(function(C){C.method="textDocument/inlineValue",C.messageDirection=B.MessageDirection.clientToServer,C.type=new B.ProtocolRequestType(C.method)})(E||(u.InlineValueRequest=E={}));var A;(function(C){C.method="workspace/inlineValue/refresh",C.messageDirection=B.MessageDirection.serverToClient,C.type=new B.ProtocolRequestType0(C.method)})(A||(u.InlineValueRefreshRequest=A={}))}}),dL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.InlayHintRefreshRequest=u.InlayHintResolveRequest=u.InlayHintRequest=void 0;var B=X9(),E;(function(D){D.method="textDocument/inlayHint",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(E||(u.InlayHintRequest=E={}));var A;(function(D){D.method="inlayHint/resolve",D.messageDirection=B.MessageDirection.clientToServer,D.type=new B.ProtocolRequestType(D.method)})(A||(u.InlayHintResolveRequest=A={}));var C;(function(D){D.method="workspace/inlayHint/refresh",D.messageDirection=B.MessageDirection.serverToClient,D.type=new B.ProtocolRequestType0(D.method)})(C||(u.InlayHintRefreshRequest=C={}))}}),sL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.DiagnosticRefreshRequest=u.WorkspaceDiagnosticRequest=u.DocumentDiagnosticRequest=u.DocumentDiagnosticReportKind=u.DiagnosticServerCancellationData=void 0;var B=_l(),E=AE0(),A=X9(),C;(function(k){function f(M){let b=M;return b&&E.boolean(b.retriggerRequest)}N(f,"is"),k.is=f})(C||(u.DiagnosticServerCancellationData=C={}));var D;(function(k){k.Full="full",k.Unchanged="unchanged"})(D||(u.DocumentDiagnosticReportKind=D={}));var F;(function(k){k.method="textDocument/diagnostic",k.messageDirection=A.MessageDirection.clientToServer,k.type=new A.ProtocolRequestType(k.method),k.partialResult=new B.ProgressType})(F||(u.DocumentDiagnosticRequest=F={}));var U;(function(k){k.method="workspace/diagnostic",k.messageDirection=A.MessageDirection.clientToServer,k.type=new A.ProtocolRequestType(k.method),k.partialResult=new B.ProgressType})(U||(u.WorkspaceDiagnosticRequest=U={}));var z;(function(k){k.method="workspace/diagnostic/refresh",k.messageDirection=A.MessageDirection.serverToClient,k.type=new A.ProtocolRequestType0(k.method)})(z||(u.DiagnosticRefreshRequest=z={}))}}),oL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.DidCloseNotebookDocumentNotification=u.DidSaveNotebookDocumentNotification=u.DidChangeNotebookDocumentNotification=u.NotebookCellArrayChange=u.DidOpenNotebookDocumentNotification=u.NotebookDocumentSyncRegistrationType=u.NotebookDocument=u.NotebookCell=u.ExecutionSummary=u.NotebookCellKind=void 0;var B=(WR(),EE0(dy)),E=AE0(),A=X9(),C;(function(J){J.Markup=1,J.Code=2;function K(w){return w===1||w===2}N(K,"is"),J.is=K})(C||(u.NotebookCellKind=C={}));var D;(function(J){function K(G,H){let l={executionOrder:G};if(H===!0||H===!1)l.success=H;return l}N(K,"create"),J.create=K;function w(G){let H=G;return E.objectLiteral(H)&&B.uinteger.is(H.executionOrder)&&(H.success===void 0||E.boolean(H.success))}N(w,"is"),J.is=w;function Q(G,H){if(G===H)return!0;if(G===null||G===void 0||H===null||H===void 0)return!1;return G.executionOrder===H.executionOrder&&G.success===H.success}N(Q,"equals"),J.equals=Q})(D||(u.ExecutionSummary=D={}));var F;(function(J){function K(H,l){return{kind:H,document:l}}N(K,"create"),J.create=K;function w(H){let l=H;return E.objectLiteral(l)&&C.is(l.kind)&&B.DocumentUri.is(l.document)&&(l.metadata===void 0||E.objectLiteral(l.metadata))}N(w,"is"),J.is=w;function Q(H,l){let q=new Set;if(H.document!==l.document)q.add("document");if(H.kind!==l.kind)q.add("kind");if(H.executionSummary!==l.executionSummary)q.add("executionSummary");if((H.metadata!==void 0||l.metadata!==void 0)&&!G(H.metadata,l.metadata))q.add("metadata");if((H.executionSummary!==void 0||l.executionSummary!==void 0)&&!D.equals(H.executionSummary,l.executionSummary))q.add("executionSummary");return q}N(Q,"diff"),J.diff=Q;function G(H,l){if(H===l)return!0;if(H===null||H===void 0||l===null||l===void 0)return!1;if(typeof H!==typeof l)return!1;if(typeof H!=="object")return!1;let q=Array.isArray(H),L=Array.isArray(l);if(q!==L)return!1;if(q&&L){if(H.length!==l.length)return!1;for(let v=0;v<H.length;v++)if(!G(H[v],l[v]))return!1}if(E.objectLiteral(H)&&E.objectLiteral(l)){let v=Object.keys(H),x=Object.keys(l);if(v.length!==x.length)return!1;if(v.sort(),x.sort(),!G(v,x))return!1;for(let S=0;S<v.length;S++){let W=v[S];if(!G(H[W],l[W]))return!1}}return!0}N(G,"equalsMetadata")})(F||(u.NotebookCell=F={}));var U;(function(J){function K(Q,G,H,l){return{uri:Q,notebookType:G,version:H,cells:l}}N(K,"create"),J.create=K;function w(Q){let G=Q;return E.objectLiteral(G)&&E.string(G.uri)&&B.integer.is(G.version)&&E.typedArray(G.cells,F.is)}N(w,"is"),J.is=w})(U||(u.NotebookDocument=U={}));var z;(function(J){J.method="notebookDocument/sync",J.messageDirection=A.MessageDirection.clientToServer,J.type=new A.RegistrationType(J.method)})(z||(u.NotebookDocumentSyncRegistrationType=z={}));var k;(function(J){J.method="notebookDocument/didOpen",J.messageDirection=A.MessageDirection.clientToServer,J.type=new A.ProtocolNotificationType(J.method),J.registrationMethod=z.method})(k||(u.DidOpenNotebookDocumentNotification=k={}));var f;(function(J){function K(Q){let G=Q;return E.objectLiteral(G)&&B.uinteger.is(G.start)&&B.uinteger.is(G.deleteCount)&&(G.cells===void 0||E.typedArray(G.cells,F.is))}N(K,"is"),J.is=K;function w(Q,G,H){let l={start:Q,deleteCount:G};if(H!==void 0)l.cells=H;return l}N(w,"create"),J.create=w})(f||(u.NotebookCellArrayChange=f={}));var M;(function(J){J.method="notebookDocument/didChange",J.messageDirection=A.MessageDirection.clientToServer,J.type=new A.ProtocolNotificationType(J.method),J.registrationMethod=z.method})(M||(u.DidChangeNotebookDocumentNotification=M={}));var b;(function(J){J.method="notebookDocument/didSave",J.messageDirection=A.MessageDirection.clientToServer,J.type=new A.ProtocolNotificationType(J.method),J.registrationMethod=z.method})(b||(u.DidSaveNotebookDocumentNotification=b={}));var Z;(function(J){J.method="notebookDocument/didClose",J.messageDirection=A.MessageDirection.clientToServer,J.type=new A.ProtocolNotificationType(J.method),J.registrationMethod=z.method})(Z||(u.DidCloseNotebookDocumentNotification=Z={}))}}),tL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.InlineCompletionRequest=void 0;var B=X9(),E;(function(A){A.method="textDocument/inlineCompletion",A.messageDirection=B.MessageDirection.clientToServer,A.type=new B.ProtocolRequestType(A.method)})(E||(u.InlineCompletionRequest=E={}))}}),eL4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.WorkspaceSymbolRequest=u.CodeActionResolveRequest=u.CodeActionRequest=u.DocumentSymbolRequest=u.DocumentHighlightRequest=u.ReferencesRequest=u.DefinitionRequest=u.SignatureHelpRequest=u.SignatureHelpTriggerKind=u.HoverRequest=u.CompletionResolveRequest=u.CompletionRequest=u.CompletionTriggerKind=u.PublishDiagnosticsNotification=u.WatchKind=u.RelativePattern=u.FileChangeType=u.DidChangeWatchedFilesNotification=u.WillSaveTextDocumentWaitUntilRequest=u.WillSaveTextDocumentNotification=u.TextDocumentSaveReason=u.DidSaveTextDocumentNotification=u.DidCloseTextDocumentNotification=u.DidChangeTextDocumentNotification=u.TextDocumentContentChangeEvent=u.DidOpenTextDocumentNotification=u.TextDocumentSyncKind=u.TelemetryEventNotification=u.LogMessageNotification=u.ShowMessageRequest=u.ShowMessageNotification=u.MessageType=u.DidChangeConfigurationNotification=u.ExitNotification=u.ShutdownRequest=u.InitializedNotification=u.InitializeErrorCodes=u.InitializeRequest=u.WorkDoneProgressOptions=u.TextDocumentRegistrationOptions=u.StaticRegistrationOptions=u.PositionEncodingKind=u.FailureHandlingKind=u.ResourceOperationKind=u.UnregistrationRequest=u.RegistrationRequest=u.DocumentSelector=u.NotebookCellTextDocumentFilter=u.NotebookDocumentFilter=u.TextDocumentFilter=void 0,u.MonikerRequest=u.MonikerKind=u.UniquenessLevel=u.WillDeleteFilesRequest=u.DidDeleteFilesNotification=u.WillRenameFilesRequest=u.DidRenameFilesNotification=u.WillCreateFilesRequest=u.DidCreateFilesNotification=u.FileOperationPatternKind=u.LinkedEditingRangeRequest=u.ShowDocumentRequest=u.SemanticTokensRegistrationType=u.SemanticTokensRefreshRequest=u.SemanticTokensRangeRequest=u.SemanticTokensDeltaRequest=u.SemanticTokensRequest=u.TokenFormat=u.CallHierarchyPrepareRequest=u.CallHierarchyOutgoingCallsRequest=u.CallHierarchyIncomingCallsRequest=u.WorkDoneProgressCancelNotification=u.WorkDoneProgressCreateRequest=u.WorkDoneProgress=u.SelectionRangeRequest=u.DeclarationRequest=u.FoldingRangeRefreshRequest=u.FoldingRangeRequest=u.ColorPresentationRequest=u.DocumentColorRequest=u.ConfigurationRequest=u.DidChangeWorkspaceFoldersNotification=u.WorkspaceFoldersRequest=u.TypeDefinitionRequest=u.ImplementationRequest=u.ApplyWorkspaceEditRequest=u.ExecuteCommandRequest=u.PrepareRenameRequest=u.RenameRequest=u.PrepareSupportDefaultBehavior=u.DocumentOnTypeFormattingRequest=u.DocumentRangesFormattingRequest=u.DocumentRangeFormattingRequest=u.DocumentFormattingRequest=u.DocumentLinkResolveRequest=u.DocumentLinkRequest=u.CodeLensRefreshRequest=u.CodeLensResolveRequest=u.CodeLensRequest=u.WorkspaceSymbolResolveRequest=void 0,u.InlineCompletionRequest=u.DidCloseNotebookDocumentNotification=u.DidSaveNotebookDocumentNotification=u.DidChangeNotebookDocumentNotification=u.NotebookCellArrayChange=u.DidOpenNotebookDocumentNotification=u.NotebookDocumentSyncRegistrationType=u.NotebookDocument=u.NotebookCell=u.ExecutionSummary=u.NotebookCellKind=u.DiagnosticRefreshRequest=u.WorkspaceDiagnosticRequest=u.DocumentDiagnosticRequest=u.DocumentDiagnosticReportKind=u.DiagnosticServerCancellationData=u.InlayHintRefreshRequest=u.InlayHintResolveRequest=u.InlayHintRequest=u.InlineValueRefreshRequest=u.InlineValueRequest=u.TypeHierarchySupertypesRequest=u.TypeHierarchySubtypesRequest=u.TypeHierarchyPrepareRequest=void 0;var B=X9(),E=(WR(),EE0(dy)),A=AE0(),C=IL4();Object.defineProperty(u,"ImplementationRequest",{enumerable:!0,get:N(function(){return C.ImplementationRequest},"get")});var D=PL4();Object.defineProperty(u,"TypeDefinitionRequest",{enumerable:!0,get:N(function(){return D.TypeDefinitionRequest},"get")});var F=jL4();Object.defineProperty(u,"WorkspaceFoldersRequest",{enumerable:!0,get:N(function(){return F.WorkspaceFoldersRequest},"get")}),Object.defineProperty(u,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:N(function(){return F.DidChangeWorkspaceFoldersNotification},"get")});var U=NL4();Object.defineProperty(u,"ConfigurationRequest",{enumerable:!0,get:N(function(){return U.ConfigurationRequest},"get")});var z=VL4();Object.defineProperty(u,"DocumentColorRequest",{enumerable:!0,get:N(function(){return z.DocumentColorRequest},"get")}),Object.defineProperty(u,"ColorPresentationRequest",{enumerable:!0,get:N(function(){return z.ColorPresentationRequest},"get")});var k=hL4();Object.defineProperty(u,"FoldingRangeRequest",{enumerable:!0,get:N(function(){return k.FoldingRangeRequest},"get")}),Object.defineProperty(u,"FoldingRangeRefreshRequest",{enumerable:!0,get:N(function(){return k.FoldingRangeRefreshRequest},"get")});var f=iL4();Object.defineProperty(u,"DeclarationRequest",{enumerable:!0,get:N(function(){return f.DeclarationRequest},"get")});var M=aL4();Object.defineProperty(u,"SelectionRangeRequest",{enumerable:!0,get:N(function(){return M.SelectionRangeRequest},"get")});var b=mL4();Object.defineProperty(u,"WorkDoneProgress",{enumerable:!0,get:N(function(){return b.WorkDoneProgress},"get")}),Object.defineProperty(u,"WorkDoneProgressCreateRequest",{enumerable:!0,get:N(function(){return b.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(u,"WorkDoneProgressCancelNotification",{enumerable:!0,get:N(function(){return b.WorkDoneProgressCancelNotification},"get")});var Z=$L4();Object.defineProperty(u,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:N(function(){return Z.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(u,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:N(function(){return Z.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(u,"CallHierarchyPrepareRequest",{enumerable:!0,get:N(function(){return Z.CallHierarchyPrepareRequest},"get")});var J=yL4();Object.defineProperty(u,"TokenFormat",{enumerable:!0,get:N(function(){return J.TokenFormat},"get")}),Object.defineProperty(u,"SemanticTokensRequest",{enumerable:!0,get:N(function(){return J.SemanticTokensRequest},"get")}),Object.defineProperty(u,"SemanticTokensDeltaRequest",{enumerable:!0,get:N(function(){return J.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(u,"SemanticTokensRangeRequest",{enumerable:!0,get:N(function(){return J.SemanticTokensRangeRequest},"get")}),Object.defineProperty(u,"SemanticTokensRefreshRequest",{enumerable:!0,get:N(function(){return J.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(u,"SemanticTokensRegistrationType",{enumerable:!0,get:N(function(){return J.SemanticTokensRegistrationType},"get")});var K=rL4();Object.defineProperty(u,"ShowDocumentRequest",{enumerable:!0,get:N(function(){return K.ShowDocumentRequest},"get")});var w=gL4();Object.defineProperty(u,"LinkedEditingRangeRequest",{enumerable:!0,get:N(function(){return w.LinkedEditingRangeRequest},"get")});var Q=cL4();Object.defineProperty(u,"FileOperationPatternKind",{enumerable:!0,get:N(function(){return Q.FileOperationPatternKind},"get")}),Object.defineProperty(u,"DidCreateFilesNotification",{enumerable:!0,get:N(function(){return Q.DidCreateFilesNotification},"get")}),Object.defineProperty(u,"WillCreateFilesRequest",{enumerable:!0,get:N(function(){return Q.WillCreateFilesRequest},"get")}),Object.defineProperty(u,"DidRenameFilesNotification",{enumerable:!0,get:N(function(){return Q.DidRenameFilesNotification},"get")}),Object.defineProperty(u,"WillRenameFilesRequest",{enumerable:!0,get:N(function(){return Q.WillRenameFilesRequest},"get")}),Object.defineProperty(u,"DidDeleteFilesNotification",{enumerable:!0,get:N(function(){return Q.DidDeleteFilesNotification},"get")}),Object.defineProperty(u,"WillDeleteFilesRequest",{enumerable:!0,get:N(function(){return Q.WillDeleteFilesRequest},"get")});var G=_L4();Object.defineProperty(u,"UniquenessLevel",{enumerable:!0,get:N(function(){return G.UniquenessLevel},"get")}),Object.defineProperty(u,"MonikerKind",{enumerable:!0,get:N(function(){return G.MonikerKind},"get")}),Object.defineProperty(u,"MonikerRequest",{enumerable:!0,get:N(function(){return G.MonikerRequest},"get")});var H=pL4();Object.defineProperty(u,"TypeHierarchyPrepareRequest",{enumerable:!0,get:N(function(){return H.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(u,"TypeHierarchySubtypesRequest",{enumerable:!0,get:N(function(){return H.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(u,"TypeHierarchySupertypesRequest",{enumerable:!0,get:N(function(){return H.TypeHierarchySupertypesRequest},"get")});var l=nL4();Object.defineProperty(u,"InlineValueRequest",{enumerable:!0,get:N(function(){return l.InlineValueRequest},"get")}),Object.defineProperty(u,"InlineValueRefreshRequest",{enumerable:!0,get:N(function(){return l.InlineValueRefreshRequest},"get")});var q=dL4();Object.defineProperty(u,"InlayHintRequest",{enumerable:!0,get:N(function(){return q.InlayHintRequest},"get")}),Object.defineProperty(u,"InlayHintResolveRequest",{enumerable:!0,get:N(function(){return q.InlayHintResolveRequest},"get")}),Object.defineProperty(u,"InlayHintRefreshRequest",{enumerable:!0,get:N(function(){return q.InlayHintRefreshRequest},"get")});var L=sL4();Object.defineProperty(u,"DiagnosticServerCancellationData",{enumerable:!0,get:N(function(){return L.DiagnosticServerCancellationData},"get")}),Object.defineProperty(u,"DocumentDiagnosticReportKind",{enumerable:!0,get:N(function(){return L.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(u,"DocumentDiagnosticRequest",{enumerable:!0,get:N(function(){return L.DocumentDiagnosticRequest},"get")}),Object.defineProperty(u,"WorkspaceDiagnosticRequest",{enumerable:!0,get:N(function(){return L.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(u,"DiagnosticRefreshRequest",{enumerable:!0,get:N(function(){return L.DiagnosticRefreshRequest},"get")});var v=oL4();Object.defineProperty(u,"NotebookCellKind",{enumerable:!0,get:N(function(){return v.NotebookCellKind},"get")}),Object.defineProperty(u,"ExecutionSummary",{enumerable:!0,get:N(function(){return v.ExecutionSummary},"get")}),Object.defineProperty(u,"NotebookCell",{enumerable:!0,get:N(function(){return v.NotebookCell},"get")}),Object.defineProperty(u,"NotebookDocument",{enumerable:!0,get:N(function(){return v.NotebookDocument},"get")}),Object.defineProperty(u,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:N(function(){return v.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(u,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:N(function(){return v.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(u,"NotebookCellArrayChange",{enumerable:!0,get:N(function(){return v.NotebookCellArrayChange},"get")}),Object.defineProperty(u,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:N(function(){return v.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(u,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:N(function(){return v.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(u,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:N(function(){return v.DidCloseNotebookDocumentNotification},"get")});var x=tL4();Object.defineProperty(u,"InlineCompletionRequest",{enumerable:!0,get:N(function(){return x.InlineCompletionRequest},"get")});var S;(function(v0){function Tu(iu){let Ju=iu;return A.string(Ju)||(A.string(Ju.language)||A.string(Ju.scheme)||A.string(Ju.pattern))}N(Tu,"is"),v0.is=Tu})(S||(u.TextDocumentFilter=S={}));var W;(function(v0){function Tu(iu){let Ju=iu;return A.objectLiteral(Ju)&&(A.string(Ju.notebookType)||A.string(Ju.scheme)||A.string(Ju.pattern))}N(Tu,"is"),v0.is=Tu})(W||(u.NotebookDocumentFilter=W={}));var T;(function(v0){function Tu(iu){let Ju=iu;return A.objectLiteral(Ju)&&(A.string(Ju.notebook)||W.is(Ju.notebook))&&(Ju.language===void 0||A.string(Ju.language))}N(Tu,"is"),v0.is=Tu})(T||(u.NotebookCellTextDocumentFilter=T={}));var R;(function(v0){function Tu(iu){if(!Array.isArray(iu))return!1;for(let Ju of iu)if(!A.string(Ju)&&!S.is(Ju)&&!T.is(Ju))return!1;return!0}N(Tu,"is"),v0.is=Tu})(R||(u.DocumentSelector=R={}));var Y;(function(v0){v0.method="client/registerCapability",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolRequestType(v0.method)})(Y||(u.RegistrationRequest=Y={}));var h;(function(v0){v0.method="client/unregisterCapability",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolRequestType(v0.method)})(h||(u.UnregistrationRequest=h={}));var I;(function(v0){v0.Create="create",v0.Rename="rename",v0.Delete="delete"})(I||(u.ResourceOperationKind=I={}));var O;(function(v0){v0.Abort="abort",v0.Transactional="transactional",v0.TextOnlyTransactional="textOnlyTransactional",v0.Undo="undo"})(O||(u.FailureHandlingKind=O={}));var V;(function(v0){v0.UTF8="utf-8",v0.UTF16="utf-16",v0.UTF32="utf-32"})(V||(u.PositionEncodingKind=V={}));var j;(function(v0){function Tu(iu){let Ju=iu;return Ju&&A.string(Ju.id)&&Ju.id.length>0}N(Tu,"hasId"),v0.hasId=Tu})(j||(u.StaticRegistrationOptions=j={}));var i;(function(v0){function Tu(iu){let Ju=iu;return Ju&&(Ju.documentSelector===null||R.is(Ju.documentSelector))}N(Tu,"is"),v0.is=Tu})(i||(u.TextDocumentRegistrationOptions=i={}));var a;(function(v0){function Tu(Ju){let I0=Ju;return A.objectLiteral(I0)&&(I0.workDoneProgress===void 0||A.boolean(I0.workDoneProgress))}N(Tu,"is"),v0.is=Tu;function iu(Ju){let I0=Ju;return I0&&A.boolean(I0.workDoneProgress)}N(iu,"hasWorkDoneProgress"),v0.hasWorkDoneProgress=iu})(a||(u.WorkDoneProgressOptions=a={}));var $;(function(v0){v0.method="initialize",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})($||(u.InitializeRequest=$={}));var m;(function(v0){v0.unknownProtocolVersion=1})(m||(u.InitializeErrorCodes=m={}));var y;(function(v0){v0.method="initialized",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(y||(u.InitializedNotification=y={}));var r;(function(v0){v0.method="shutdown",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType0(v0.method)})(r||(u.ShutdownRequest=r={}));var _;(function(v0){v0.method="exit",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType0(v0.method)})(_||(u.ExitNotification=_={}));var e;(function(v0){v0.method="workspace/didChangeConfiguration",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(e||(u.DidChangeConfigurationNotification=e={}));var p;(function(v0){v0.Error=1,v0.Warning=2,v0.Info=3,v0.Log=4,v0.Debug=5})(p||(u.MessageType=p={}));var b0;(function(v0){v0.method="window/showMessage",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolNotificationType(v0.method)})(b0||(u.ShowMessageNotification=b0={}));var B0;(function(v0){v0.method="window/showMessageRequest",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolRequestType(v0.method)})(B0||(u.ShowMessageRequest=B0={}));var k0;(function(v0){v0.method="window/logMessage",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolNotificationType(v0.method)})(k0||(u.LogMessageNotification=k0={}));var f0;(function(v0){v0.method="telemetry/event",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolNotificationType(v0.method)})(f0||(u.TelemetryEventNotification=f0={}));var D0;(function(v0){v0.None=0,v0.Full=1,v0.Incremental=2})(D0||(u.TextDocumentSyncKind=D0={}));var P0;(function(v0){v0.method="textDocument/didOpen",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(P0||(u.DidOpenTextDocumentNotification=P0={}));var L0;(function(v0){function Tu(Ju){let I0=Ju;return I0!==void 0&&I0!==null&&typeof I0.text==="string"&&I0.range!==void 0&&(I0.rangeLength===void 0||typeof I0.rangeLength==="number")}N(Tu,"isIncremental"),v0.isIncremental=Tu;function iu(Ju){let I0=Ju;return I0!==void 0&&I0!==null&&typeof I0.text==="string"&&I0.range===void 0&&I0.rangeLength===void 0}N(iu,"isFull"),v0.isFull=iu})(L0||(u.TextDocumentContentChangeEvent=L0={}));var m0;(function(v0){v0.method="textDocument/didChange",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(m0||(u.DidChangeTextDocumentNotification=m0={}));var h0;(function(v0){v0.method="textDocument/didClose",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(h0||(u.DidCloseTextDocumentNotification=h0={}));var _0;(function(v0){v0.method="textDocument/didSave",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(_0||(u.DidSaveTextDocumentNotification=_0={}));var w0;(function(v0){v0.Manual=1,v0.AfterDelay=2,v0.FocusOut=3})(w0||(u.TextDocumentSaveReason=w0={}));var x0;(function(v0){v0.method="textDocument/willSave",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(x0||(u.WillSaveTextDocumentNotification=x0={}));var T0;(function(v0){v0.method="textDocument/willSaveWaitUntil",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(T0||(u.WillSaveTextDocumentWaitUntilRequest=T0={}));var J0;(function(v0){v0.method="workspace/didChangeWatchedFiles",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolNotificationType(v0.method)})(J0||(u.DidChangeWatchedFilesNotification=J0={}));var F0;(function(v0){v0.Created=1,v0.Changed=2,v0.Deleted=3})(F0||(u.FileChangeType=F0={}));var u0;(function(v0){function Tu(iu){let Ju=iu;return A.objectLiteral(Ju)&&(E.URI.is(Ju.baseUri)||E.WorkspaceFolder.is(Ju.baseUri))&&A.string(Ju.pattern)}N(Tu,"is"),v0.is=Tu})(u0||(u.RelativePattern=u0={}));var Z0;(function(v0){v0.Create=1,v0.Change=2,v0.Delete=4})(Z0||(u.WatchKind=Z0={}));var X0;(function(v0){v0.method="textDocument/publishDiagnostics",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolNotificationType(v0.method)})(X0||(u.PublishDiagnosticsNotification=X0={}));var W0;(function(v0){v0.Invoked=1,v0.TriggerCharacter=2,v0.TriggerForIncompleteCompletions=3})(W0||(u.CompletionTriggerKind=W0={}));var Y0;(function(v0){v0.method="textDocument/completion",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(Y0||(u.CompletionRequest=Y0={}));var a0;(function(v0){v0.method="completionItem/resolve",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(a0||(u.CompletionResolveRequest=a0={}));var K0;(function(v0){v0.method="textDocument/hover",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(K0||(u.HoverRequest=K0={}));var n;(function(v0){v0.Invoked=1,v0.TriggerCharacter=2,v0.ContentChange=3})(n||(u.SignatureHelpTriggerKind=n={}));var d;(function(v0){v0.method="textDocument/signatureHelp",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(d||(u.SignatureHelpRequest=d={}));var q0;(function(v0){v0.method="textDocument/definition",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(q0||(u.DefinitionRequest=q0={}));var o;(function(v0){v0.method="textDocument/references",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(o||(u.ReferencesRequest=o={}));var l0;(function(v0){v0.method="textDocument/documentHighlight",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(l0||(u.DocumentHighlightRequest=l0={}));var E0;(function(v0){v0.method="textDocument/documentSymbol",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(E0||(u.DocumentSymbolRequest=E0={}));var $0;(function(v0){v0.method="textDocument/codeAction",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})($0||(u.CodeActionRequest=$0={}));var g0;(function(v0){v0.method="codeAction/resolve",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(g0||(u.CodeActionResolveRequest=g0={}));var n0;(function(v0){v0.method="workspace/symbol",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(n0||(u.WorkspaceSymbolRequest=n0={}));var c0;(function(v0){v0.method="workspaceSymbol/resolve",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(c0||(u.WorkspaceSymbolResolveRequest=c0={}));var Bu;(function(v0){v0.method="textDocument/codeLens",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(Bu||(u.CodeLensRequest=Bu={}));var p0;(function(v0){v0.method="codeLens/resolve",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(p0||(u.CodeLensResolveRequest=p0={}));var e0;(function(v0){v0.method="workspace/codeLens/refresh",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolRequestType0(v0.method)})(e0||(u.CodeLensRefreshRequest=e0={}));var t0;(function(v0){v0.method="textDocument/documentLink",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(t0||(u.DocumentLinkRequest=t0={}));var zu;(function(v0){v0.method="documentLink/resolve",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(zu||(u.DocumentLinkResolveRequest=zu={}));var S0;(function(v0){v0.method="textDocument/formatting",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(S0||(u.DocumentFormattingRequest=S0={}));var yu;(function(v0){v0.method="textDocument/rangeFormatting",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(yu||(u.DocumentRangeFormattingRequest=yu={}));var V0;(function(v0){v0.method="textDocument/rangesFormatting",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(V0||(u.DocumentRangesFormattingRequest=V0={}));var xu;(function(v0){v0.method="textDocument/onTypeFormatting",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(xu||(u.DocumentOnTypeFormattingRequest=xu={}));var gu;(function(v0){v0.Identifier=1})(gu||(u.PrepareSupportDefaultBehavior=gu={}));var Du;(function(v0){v0.method="textDocument/rename",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(Du||(u.RenameRequest=Du={}));var Nu;(function(v0){v0.method="textDocument/prepareRename",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(Nu||(u.PrepareRenameRequest=Nu={}));var du;(function(v0){v0.method="workspace/executeCommand",v0.messageDirection=B.MessageDirection.clientToServer,v0.type=new B.ProtocolRequestType(v0.method)})(du||(u.ExecuteCommandRequest=du={}));var Iu;(function(v0){v0.method="workspace/applyEdit",v0.messageDirection=B.MessageDirection.serverToClient,v0.type=new B.ProtocolRequestType("workspace/applyEdit")})(Iu||(u.ApplyWorkspaceEditRequest=Iu={}))}}),uX4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(u){Object.defineProperty(u,"__esModule",{value:!0}),u.createProtocolConnection=void 0;var B=_l();function E(A,C,D,F){if(B.ConnectionStrategy.is(F))F={connectionStrategy:F};return(0,B.createMessageConnection)(A,C,D,F)}N(E,"createProtocolConnection"),u.createProtocolConnection=E}}),BX4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(u){var B=u&&u.__createBinding||(Object.create?function(D,F,U,z){if(z===void 0)z=U;var k=Object.getOwnPropertyDescriptor(F,U);if(!k||("get"in k?!F.__esModule:k.writable||k.configurable))k={enumerable:!0,get:N(function(){return F[U]},"get")};Object.defineProperty(D,z,k)}:function(D,F,U,z){if(z===void 0)z=U;D[z]=F[U]}),E=u&&u.__exportStar||function(D,F){for(var U in D)if(U!=="default"&&!Object.prototype.hasOwnProperty.call(F,U))B(F,D,U)};Object.defineProperty(u,"__esModule",{value:!0}),u.LSPErrorCodes=u.createProtocolConnection=void 0,E(_l(),u),E((WR(),EE0(dy)),u),E(X9(),u),E(eL4(),u);var A=uX4();Object.defineProperty(u,"createProtocolConnection",{enumerable:!0,get:N(function(){return A.createProtocolConnection},"get")});var C;(function(D){D.lspReservedErrorRangeStart=-32899,D.RequestFailed=-32803,D.ServerCancelled=-32802,D.ContentModified=-32801,D.RequestCancelled=-32800,D.lspReservedErrorRangeEnd=-32800})(C||(u.LSPErrorCodes=C={}))}}),EX4=y3({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(u){var B=u&&u.__createBinding||(Object.create?function(D,F,U,z){if(z===void 0)z=U;var k=Object.getOwnPropertyDescriptor(F,U);if(!k||("get"in k?!F.__esModule:k.writable||k.configurable))k={enumerable:!0,get:N(function(){return F[U]},"get")};Object.defineProperty(D,z,k)}:function(D,F,U,z){if(z===void 0)z=U;D[z]=F[U]}),E=u&&u.__exportStar||function(D,F){for(var U in D)if(U!=="default"&&!Object.prototype.hasOwnProperty.call(F,U))B(F,D,U)};Object.defineProperty(u,"__esModule",{value:!0}),u.createProtocolConnection=void 0;var A=X_0();E(X_0(),u),E(BX4(),u);function C(D,F,U,z){return(0,A.createMessageConnection)(D,F,U,z)}N(C,"createProtocolConnection"),u.createProtocolConnection=C}}),N5={};Ib(N5,{AbstractAstReflection:()=>FE0,AbstractCstNode:()=>zC0,AbstractLangiumParser:()=>fC0,AbstractParserErrorMessageProvider:()=>A1u,AbstractThreadedAsyncParser:()=>Oj4,AstUtils:()=>UE0,BiMap:()=>My,Cancellation:()=>P6,CompositeCstNodeImpl:()=>_r,ContextCache:()=>er,CstNodeBuilder:()=>u1u,CstUtils:()=>CE0,DEFAULT_TOKENIZE_OPTIONS:()=>YC0,DONE_RESULT:()=>RB,DatatypeSymbol:()=>Uy,DefaultAstNodeDescriptionProvider:()=>P1u,DefaultAstNodeLocator:()=>N1u,DefaultAsyncParser:()=>e1u,DefaultCommentProvider:()=>t1u,DefaultConfigurationProvider:()=>V1u,DefaultDocumentBuilder:()=>h1u,DefaultDocumentValidator:()=>I1u,DefaultHydrator:()=>B6u,DefaultIndexManager:()=>i1u,DefaultJsonSerializer:()=>Y1u,DefaultLangiumDocumentFactory:()=>H1u,DefaultLangiumDocuments:()=>q1u,DefaultLangiumProfiler:()=>Vj4,DefaultLexer:()=>RC0,DefaultLexerErrorMessageProvider:()=>m1u,DefaultLinker:()=>l1u,DefaultNameProvider:()=>L1u,DefaultReferenceDescriptionProvider:()=>j1u,DefaultReferences:()=>X1u,DefaultScopeComputation:()=>v1u,DefaultScopeProvider:()=>S1u,DefaultServiceRegistry:()=>R1u,DefaultTokenBuilder:()=>dr,DefaultValueConverter:()=>QC0,DefaultWorkspaceLock:()=>u6u,DefaultWorkspaceManager:()=>a1u,Deferred:()=>Tk,Disposable:()=>Lw,DisposableCache:()=>tr,DocumentCache:()=>W1u,DocumentState:()=>A1,DocumentValidator:()=>vA,EMPTY_SCOPE:()=>Sj4,EMPTY_STREAM:()=>jl,EmptyFileSystem:()=>T1,EmptyFileSystemProvider:()=>C6u,ErrorWithLocation:()=>Dr,GrammarAST:()=>qn0,GrammarUtils:()=>hE0,IndentationAwareLexer:()=>Pj4,IndentationAwareTokenBuilder:()=>A6u,JSDocDocumentationProvider:()=>o1u,LangiumCompletionParser:()=>C1u,LangiumParser:()=>E1u,LangiumParserErrorMessageProvider:()=>MC0,LeafCstNodeImpl:()=>Fy,LexingMode:()=>Gw,MapScope:()=>Wj4,Module:()=>V80,MultiMap:()=>Ok,MultiMapScope:()=>x1u,OperationCancelled:()=>fU,ParserWorker:()=>Ij4,ProfilingTask:()=>F6u,Reduction:()=>zR,RefResolving:()=>eK,RegExpUtils:()=>aE0,RootCstNodeImpl:()=>kC0,SimpleCache:()=>XC0,StreamImpl:()=>kU,StreamScope:()=>I80,TextDocument:()=>ky,TreeStreamImpl:()=>Nl,URI:()=>LE,UriTrie:()=>lC0,UriUtils:()=>OB,VALIDATE_EACH_NODE:()=>O1u,ValidationCategory:()=>by,ValidationRegistry:()=>T1u,ValueConverter:()=>UU,WorkspaceCache:()=>vC0,assertCondition:()=>iE0,assertUnreachable:()=>Pb,createCompletionParser:()=>JC0,createDefaultCoreModule:()=>H1,createDefaultSharedCoreModule:()=>q1,createGrammarConfig:()=>AA0,createLangiumParser:()=>KC0,createParser:()=>pr,delayNextTick:()=>sr,diagnosticData:()=>Qw,eagerLoad:()=>VC0,getDiagnosticRange:()=>WC0,indentationBuilderDefaultOptions:()=>i80,inject:()=>G3,interruptAndCheck:()=>j5,isAstNode:()=>T2,isAstNodeDescription:()=>DE0,isAstNodeWithComment:()=>xC0,isCompositeCstNode:()=>Lk,isIMultiModeLexerDefinition:()=>Eg,isJSDoc:()=>OC0,isLeafCstNode:()=>Yw,isLinkingError:()=>uw,isMultiReference:()=>MU,isNamed:()=>LC0,isOperationCancelled:()=>pw,isReference:()=>TB,isRootCstNode:()=>oy,isTokenTypeArray:()=>Bg,isTokenTypeDictionary:()=>Zy,loadGrammarFromJson:()=>V5,parseJSDoc:()=>TC0,prepareLangiumParser:()=>wC0,setInterruptionPeriod:()=>GC0,startCancelableOperation:()=>or,stream:()=>z6,toDiagnosticData:()=>SC0,toDiagnosticSeverity:()=>tY});CE0={};Ib(CE0,{DefaultNameRegexp:()=>IE0,RangeComparison:()=>zU,compareRange:()=>TE0,findCommentNode:()=>PE0,findDeclarationNodeAtOffset:()=>an0,findLeafNodeAtOffset:()=>Cr,findLeafNodeBeforeOffset:()=>jE0,flattenCst:()=>in0,getDatatypeNode:()=>hn0,getInteriorNodes:()=>yn0,getNextNode:()=>mn0,getPreviousNode:()=>VE0,getStartlineNode:()=>$n0,inRange:()=>OE0,isChildNode:()=>RE0,isCommentNode:()=>g$,streamCst:()=>al,toDocumentSegment:()=>ml,tokenToRange:()=>kR});N(T2,"isAstNode");N(TB,"isReference");N(MU,"isMultiReference");N(DE0,"isAstNodeDescription");N(uw,"isLinkingError");FE0=class{static{N(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(u){let B=this.types[u.container.$type];if(!B)throw Error(`Type ${u.container.$type||"undefined"} not found.`);let E=B.properties[u.property]?.referenceType;if(!E)throw Error(`Property ${u.property||"undefined"} of type ${u.container.$type} is not a reference.`);return E}getTypeMetaData(u){let B=this.types[u];if(!B)return{name:u,properties:{},superTypes:[]};return B}isInstance(u,B){return T2(u)&&this.isSubtype(u.$type,B)}isSubtype(u,B){if(u===B)return!0;let E=this.subtypes[u];if(!E)E=this.subtypes[u]={};let A=E[B];if(A!==void 0)return A;else{let C=this.types[u],D=C?C.superTypes.some((F)=>this.isSubtype(F,B)):!1;return E[B]=D,D}}getAllSubTypes(u){let B=this.allSubtypes[u];if(B)return B;else{let E=this.getAllTypes(),A=[];for(let C of E)if(this.isSubtype(C,u))A.push(C);return this.allSubtypes[u]=A,A}}};N(Lk,"isCompositeCstNode");N(Yw,"isLeafCstNode");N(oy,"isRootCstNode");kU=class u{static{N(this,"StreamImpl")}constructor(B,E){this.startFn=B,this.nextFn=E}iterator(){let B={state:this.startFn(),next:N(()=>this.nextFn(B.state),"next"),[Symbol.iterator]:()=>B};return B}[Symbol.iterator](){return this.iterator()}isEmpty(){let B=this.iterator();return Boolean(B.next().done)}count(){let B=this.iterator(),E=0,A=B.next();while(!A.done)E++,A=B.next();return E}toArray(){let B=[],E=this.iterator(),A;do if(A=E.next(),A.value!==void 0)B.push(A.value);while(!A.done);return B}toSet(){return new Set(this)}toMap(B,E){let A=this.map((C)=>[B?B(C):C,E?E(C):C]);return new Map(A)}toString(){return this.join()}concat(B){return new u(()=>({first:this.startFn(),firstDone:!1,iterator:B[Symbol.iterator]()}),(E)=>{let A;if(!E.firstDone){do if(A=this.nextFn(E.first),!A.done)return A;while(!A.done);E.firstDone=!0}do if(A=E.iterator.next(),!A.done)return A;while(!A.done);return RB})}join(B=","){let E=this.iterator(),A="",C,D=!1;do{if(C=E.next(),!C.done){if(D)A+=B;A+=Gn0(C.value)}D=!0}while(!C.done);return A}indexOf(B,E=0){let A=this.iterator(),C=0,D=A.next();while(!D.done){if(C>=E&&D.value===B)return C;D=A.next(),C++}return-1}every(B){let E=this.iterator(),A=E.next();while(!A.done){if(!B(A.value))return!1;A=E.next()}return!0}some(B){let E=this.iterator(),A=E.next();while(!A.done){if(B(A.value))return!0;A=E.next()}return!1}forEach(B){let E=this.iterator(),A=0,C=E.next();while(!C.done)B(C.value,A),C=E.next(),A++}map(B){return new u(this.startFn,(E)=>{let{done:A,value:C}=this.nextFn(E);if(A)return RB;else return{done:!1,value:B(C)}})}filter(B){return new u(this.startFn,(E)=>{let A;do if(A=this.nextFn(E),!A.done&&B(A.value))return A;while(!A.done);return RB})}nonNullable(){return this.filter((B)=>B!==void 0&&B!==null)}reduce(B,E){let A=this.iterator(),C=E,D=A.next();while(!D.done){if(C===void 0)C=D.value;else C=B(C,D.value);D=A.next()}return C}reduceRight(B,E){return this.recursiveReduce(this.iterator(),B,E)}recursiveReduce(B,E,A){let C=B.next();if(C.done)return A;let D=this.recursiveReduce(B,E,A);if(D===void 0)return C.value;return E(D,C.value)}find(B){let E=this.iterator(),A=E.next();while(!A.done){if(B(A.value))return A.value;A=E.next()}return}findIndex(B){let E=this.iterator(),A=0,C=E.next();while(!C.done){if(B(C.value))return A;C=E.next(),A++}return-1}includes(B){let E=this.iterator(),A=E.next();while(!A.done){if(A.value===B)return!0;A=E.next()}return!1}flatMap(B){return new u(()=>({this:this.startFn()}),(E)=>{do{if(E.iterator){let D=E.iterator.next();if(D.done)E.iterator=void 0;else return D}let{done:A,value:C}=this.nextFn(E.this);if(!A){let D=B(C);if(UR(D))E.iterator=D[Symbol.iterator]();else return{done:!1,value:D}}}while(E.iterator);return RB})}flat(B){if(B===void 0)B=1;if(B<=0)return this;let E=B>1?this.flat(B-1):this;return new u(()=>({this:E.startFn()}),(A)=>{do{if(A.iterator){let F=A.iterator.next();if(F.done)A.iterator=void 0;else return F}let{done:C,value:D}=E.nextFn(A.this);if(!C)if(UR(D))A.iterator=D[Symbol.iterator]();else return{done:!1,value:D}}while(A.iterator);return RB})}head(){let E=this.iterator().next();if(E.done)return;return E.value}tail(B=1){return new u(()=>{let E=this.startFn();for(let A=0;A<B;A++)if(this.nextFn(E).done)return E;return E},this.nextFn)}limit(B){return new u(()=>({size:0,state:this.startFn()}),(E)=>{if(E.size++,E.size>B)return RB;return this.nextFn(E.state)})}distinct(B){return new u(()=>({set:new Set,internalState:this.startFn()}),(E)=>{let A;do if(A=this.nextFn(E.internalState),!A.done){let C=B?B(A.value):A.value;if(!E.set.has(C))return E.set.add(C),A}while(!A.done);return RB})}exclude(B,E){let A=new Set;for(let C of B){let D=E?E(C):C;A.add(D)}return this.filter((C)=>{let D=E?E(C):C;return!A.has(D)})}};N(Gn0,"toString");N(UR,"isIterable");jl=new kU(()=>{return},()=>RB),RB=Object.freeze({done:!0,value:void 0});N(z6,"stream");Nl=class extends kU{static{N(this,"TreeStreamImpl")}constructor(u,B,E){super(()=>({iterators:E?.includeRoot?[[u][Symbol.iterator]()]:[B(u)[Symbol.iterator]()],pruned:!1}),(A)=>{if(A.pruned)A.iterators.pop(),A.pruned=!1;while(A.iterators.length>0){let D=A.iterators[A.iterators.length-1].next();if(D.done)A.iterators.pop();else return A.iterators.push(B(D.value)[Symbol.iterator]()),D}return RB})}iterator(){let u={state:this.startFn(),next:N(()=>this.nextFn(u.state),"next"),prune:N(()=>{u.state.pruned=!0},"prune"),[Symbol.iterator]:()=>u};return u}};(function(u){function B(D){return D.reduce((F,U)=>F+U,0)}N(B,"sum"),u.sum=B;function E(D){return D.reduce((F,U)=>F*U,0)}N(E,"product"),u.product=E;function A(D){return D.reduce((F,U)=>Math.min(F,U))}N(A,"min"),u.min=A;function C(D){return D.reduce((F,U)=>Math.max(F,U))}N(C,"max"),u.max=C})(zR||(zR={}));UE0={};Ib(UE0,{assignMandatoryProperties:()=>zE0,copyAstNode:()=>T$,findRootNode:()=>Sl,getContainerOfType:()=>Rw,getDocument:()=>cC,getReferenceNodes:()=>Y$,hasContainerOfType:()=>Hn0,linkContentToContainer:()=>Vl,streamAllContents:()=>Ik,streamAst:()=>_C,streamContents:()=>YR,streamReferences:()=>hl});N(Vl,"linkContentToContainer");N(Rw,"getContainerOfType");N(Hn0,"hasContainerOfType");N(cC,"getDocument");N(Sl,"findRootNode");N(Y$,"getReferenceNodes");N(YR,"streamContents");N(Ik,"streamAllContents");N(_C,"streamAst");N(R$,"isAstNodeInRange");N(hl,"streamReferences");N(zE0,"assignMandatoryProperties");N(kE0,"copyDefaultValue");N(T$,"copyAstNode");qn0={};Ib(qn0,{AbstractElement:()=>W8,AbstractParserRule:()=>iY,AbstractRule:()=>Hl,AbstractType:()=>lE,Action:()=>kb,Alternatives:()=>aY,ArrayLiteral:()=>O$,ArrayType:()=>I$,Assignment:()=>fb,BooleanLiteral:()=>P$,CharacterRange:()=>Mb,Condition:()=>bb,Conjunction:()=>mY,CrossReference:()=>Zb,Disjunction:()=>$Y,EndOfFile:()=>j$,Grammar:()=>Zk,GrammarImport:()=>N$,Group:()=>Bw,InferredType:()=>V$,InfixRule:()=>FU,InfixRuleOperatorList:()=>yY,InfixRuleOperators:()=>h$,Interface:()=>ql,Keyword:()=>ll,LangiumGrammarAstReflection:()=>YE0,LangiumGrammarTerminals:()=>AX4,NamedArgument:()=>Ll,NegatedToken:()=>Ew,Negation:()=>i$,NumberLiteral:()=>a$,Parameter:()=>Xl,ParameterReference:()=>m$,ParserRule:()=>mC,ReferenceType:()=>rY,RegexToken:()=>Aw,ReturnType:()=>$$,RuleCall:()=>Cw,SimpleType:()=>vl,StringLiteral:()=>y$,TerminalAlternatives:()=>Dw,TerminalElement:()=>S8,TerminalGroup:()=>Fw,TerminalRule:()=>Jk,TerminalRuleCall:()=>Uw,Type:()=>gY,TypeAttribute:()=>zw,TypeDefinition:()=>kw,UnionType:()=>r$,UnorderedGroup:()=>cY,UntilToken:()=>fw,ValueLiteral:()=>Mw,Wildcard:()=>xl,isAbstractElement:()=>ty,isAbstractParserRule:()=>Tw,isAbstractRule:()=>ln0,isAbstractType:()=>Ln0,isAction:()=>Sb,isAlternatives:()=>ey,isArrayLiteral:()=>Xn0,isArrayType:()=>fE0,isAssignment:()=>Xk,isBooleanLiteral:()=>ME0,isCharacterRange:()=>bE0,isCondition:()=>vn0,isConjunction:()=>ZE0,isCrossReference:()=>Ow,isDisjunction:()=>JE0,isEndOfFile:()=>KE0,isGrammar:()=>xn0,isGrammarImport:()=>Wn0,isGroup:()=>Iw,isInferredType:()=>RR,isInfixRule:()=>il,isInfixRuleOperatorList:()=>Sn0,isInfixRuleOperators:()=>Yn0,isInterface:()=>wE0,isKeyword:()=>vk,isNamedArgument:()=>Rn0,isNegatedToken:()=>QE0,isNegation:()=>GE0,isNumberLiteral:()=>Tn0,isParameter:()=>On0,isParameterReference:()=>HE0,isParserRule:()=>PB,isReferenceType:()=>qE0,isRegexToken:()=>lE0,isReturnType:()=>LE0,isRuleCall:()=>xk,isSimpleType:()=>ur,isStringLiteral:()=>In0,isTerminalAlternatives:()=>XE0,isTerminalElement:()=>Pn0,isTerminalGroup:()=>vE0,isTerminalRule:()=>YA,isTerminalRuleCall:()=>Br,isType:()=>Er,isTypeAttribute:()=>jn0,isTypeDefinition:()=>Nn0,isUnionType:()=>xE0,isUnorderedGroup:()=>Ar,isUntilToken:()=>WE0,isValueLiteral:()=>Vn0,isWildcard:()=>SE0,reflection:()=>f3});AX4={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},W8={$type:"AbstractElement",cardinality:"cardinality"};N(ty,"isAbstractElement");iY={$type:"AbstractParserRule"};N(Tw,"isAbstractParserRule");Hl={$type:"AbstractRule"};N(ln0,"isAbstractRule");lE={$type:"AbstractType"};N(Ln0,"isAbstractType");kb={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};N(Sb,"isAction");aY={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};N(ey,"isAlternatives");O$={$type:"ArrayLiteral",elements:"elements"};N(Xn0,"isArrayLiteral");I$={$type:"ArrayType",elementType:"elementType"};N(fE0,"isArrayType");fb={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};N(Xk,"isAssignment");P$={$type:"BooleanLiteral",true:"true"};N(ME0,"isBooleanLiteral");Mb={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};N(bE0,"isCharacterRange");bb={$type:"Condition"};N(vn0,"isCondition");mY={$type:"Conjunction",left:"left",right:"right"};N(ZE0,"isConjunction");Zb={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};N(Ow,"isCrossReference");$Y={$type:"Disjunction",left:"left",right:"right"};N(JE0,"isDisjunction");j$={$type:"EndOfFile",cardinality:"cardinality"};N(KE0,"isEndOfFile");Zk={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};N(xn0,"isGrammar");N$={$type:"GrammarImport",path:"path"};N(Wn0,"isGrammarImport");Bw={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};N(Iw,"isGroup");V$={$type:"InferredType",name:"name"};N(RR,"isInferredType");FU={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};N(il,"isInfixRule");yY={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};N(Sn0,"isInfixRuleOperatorList");h$={$type:"InfixRuleOperators",precedences:"precedences"};N(Yn0,"isInfixRuleOperators");ql={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};N(wE0,"isInterface");ll={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};N(vk,"isKeyword");Ll={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};N(Rn0,"isNamedArgument");Ew={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};N(QE0,"isNegatedToken");i$={$type:"Negation",value:"value"};N(GE0,"isNegation");a$={$type:"NumberLiteral",value:"value"};N(Tn0,"isNumberLiteral");Xl={$type:"Parameter",name:"name"};N(On0,"isParameter");m$={$type:"ParameterReference",parameter:"parameter"};N(HE0,"isParameterReference");mC={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};N(PB,"isParserRule");rY={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};N(qE0,"isReferenceType");Aw={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};N(lE0,"isRegexToken");$$={$type:"ReturnType",name:"name"};N(LE0,"isReturnType");Cw={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};N(xk,"isRuleCall");vl={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};N(ur,"isSimpleType");y$={$type:"StringLiteral",value:"value"};N(In0,"isStringLiteral");Dw={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};N(XE0,"isTerminalAlternatives");S8={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};N(Pn0,"isTerminalElement");Fw={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};N(vE0,"isTerminalGroup");Jk={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};N(YA,"isTerminalRule");Uw={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};N(Br,"isTerminalRuleCall");gY={$type:"Type",name:"name",type:"type"};N(Er,"isType");zw={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};N(jn0,"isTypeAttribute");kw={$type:"TypeDefinition"};N(Nn0,"isTypeDefinition");r$={$type:"UnionType",types:"types"};N(xE0,"isUnionType");cY={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};N(Ar,"isUnorderedGroup");fw={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};N(WE0,"isUntilToken");Mw={$type:"ValueLiteral"};N(Vn0,"isValueLiteral");xl={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};N(SE0,"isWildcard");YE0=class extends FE0{static{N(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments);this.types={AbstractElement:{name:W8.$type,properties:{cardinality:{name:W8.cardinality}},superTypes:[]},AbstractParserRule:{name:iY.$type,properties:{},superTypes:[Hl.$type,lE.$type]},AbstractRule:{name:Hl.$type,properties:{},superTypes:[]},AbstractType:{name:lE.$type,properties:{},superTypes:[]},Action:{name:kb.$type,properties:{cardinality:{name:kb.cardinality},feature:{name:kb.feature},inferredType:{name:kb.inferredType},operator:{name:kb.operator},type:{name:kb.type,referenceType:lE.$type}},superTypes:[W8.$type]},Alternatives:{name:aY.$type,properties:{cardinality:{name:aY.cardinality},elements:{name:aY.elements,defaultValue:[]}},superTypes:[W8.$type]},ArrayLiteral:{name:O$.$type,properties:{elements:{name:O$.elements,defaultValue:[]}},superTypes:[Mw.$type]},ArrayType:{name:I$.$type,properties:{elementType:{name:I$.elementType}},superTypes:[kw.$type]},Assignment:{name:fb.$type,properties:{cardinality:{name:fb.cardinality},feature:{name:fb.feature},operator:{name:fb.operator},predicate:{name:fb.predicate},terminal:{name:fb.terminal}},superTypes:[W8.$type]},BooleanLiteral:{name:P$.$type,properties:{true:{name:P$.true,defaultValue:!1}},superTypes:[bb.$type,Mw.$type]},CharacterRange:{name:Mb.$type,properties:{cardinality:{name:Mb.cardinality},left:{name:Mb.left},lookahead:{name:Mb.lookahead},parenthesized:{name:Mb.parenthesized,defaultValue:!1},right:{name:Mb.right}},superTypes:[S8.$type]},Condition:{name:bb.$type,properties:{},superTypes:[]},Conjunction:{name:mY.$type,properties:{left:{name:mY.left},right:{name:mY.right}},superTypes:[bb.$type]},CrossReference:{name:Zb.$type,properties:{cardinality:{name:Zb.cardinality},deprecatedSyntax:{name:Zb.deprecatedSyntax,defaultValue:!1},isMulti:{name:Zb.isMulti,defaultValue:!1},terminal:{name:Zb.terminal},type:{name:Zb.type,referenceType:lE.$type}},superTypes:[W8.$type]},Disjunction:{name:$Y.$type,properties:{left:{name:$Y.left},right:{name:$Y.right}},superTypes:[bb.$type]},EndOfFile:{name:j$.$type,properties:{cardinality:{name:j$.cardinality}},superTypes:[W8.$type]},Grammar:{name:Zk.$type,properties:{imports:{name:Zk.imports,defaultValue:[]},interfaces:{name:Zk.interfaces,defaultValue:[]},isDeclared:{name:Zk.isDeclared,defaultValue:!1},name:{name:Zk.name},rules:{name:Zk.rules,defaultValue:[]},types:{name:Zk.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:N$.$type,properties:{path:{name:N$.path}},superTypes:[]},Group:{name:Bw.$type,properties:{cardinality:{name:Bw.cardinality},elements:{name:Bw.elements,defaultValue:[]},guardCondition:{name:Bw.guardCondition},predicate:{name:Bw.predicate}},superTypes:[W8.$type]},InferredType:{name:V$.$type,properties:{name:{name:V$.name}},superTypes:[lE.$type]},InfixRule:{name:FU.$type,properties:{call:{name:FU.call},dataType:{name:FU.dataType},inferredType:{name:FU.inferredType},name:{name:FU.name},operators:{name:FU.operators},parameters:{name:FU.parameters,defaultValue:[]},returnType:{name:FU.returnType,referenceType:lE.$type}},superTypes:[iY.$type]},InfixRuleOperatorList:{name:yY.$type,properties:{associativity:{name:yY.associativity},operators:{name:yY.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:h$.$type,properties:{precedences:{name:h$.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ql.$type,properties:{attributes:{name:ql.attributes,defaultValue:[]},name:{name:ql.name},superTypes:{name:ql.superTypes,defaultValue:[],referenceType:lE.$type}},superTypes:[lE.$type]},Keyword:{name:ll.$type,properties:{cardinality:{name:ll.cardinality},predicate:{name:ll.predicate},value:{name:ll.value}},superTypes:[W8.$type]},NamedArgument:{name:Ll.$type,properties:{calledByName:{name:Ll.calledByName,defaultValue:!1},parameter:{name:Ll.parameter,referenceType:Xl.$type},value:{name:Ll.value}},superTypes:[]},NegatedToken:{name:Ew.$type,properties:{cardinality:{name:Ew.cardinality},lookahead:{name:Ew.lookahead},parenthesized:{name:Ew.parenthesized,defaultValue:!1},terminal:{name:Ew.terminal}},superTypes:[S8.$type]},Negation:{name:i$.$type,properties:{value:{name:i$.value}},superTypes:[bb.$type]},NumberLiteral:{name:a$.$type,properties:{value:{name:a$.value}},superTypes:[Mw.$type]},Parameter:{name:Xl.$type,properties:{name:{name:Xl.name}},superTypes:[]},ParameterReference:{name:m$.$type,properties:{parameter:{name:m$.parameter,referenceType:Xl.$type}},superTypes:[bb.$type]},ParserRule:{name:mC.$type,properties:{dataType:{name:mC.dataType},definition:{name:mC.definition},entry:{name:mC.entry,defaultValue:!1},fragment:{name:mC.fragment,defaultValue:!1},inferredType:{name:mC.inferredType},name:{name:mC.name},parameters:{name:mC.parameters,defaultValue:[]},returnType:{name:mC.returnType,referenceType:lE.$type}},superTypes:[iY.$type]},ReferenceType:{name:rY.$type,properties:{isMulti:{name:rY.isMulti,defaultValue:!1},referenceType:{name:rY.referenceType}},superTypes:[kw.$type]},RegexToken:{name:Aw.$type,properties:{cardinality:{name:Aw.cardinality},lookahead:{name:Aw.lookahead},parenthesized:{name:Aw.parenthesized,defaultValue:!1},regex:{name:Aw.regex}},superTypes:[S8.$type]},ReturnType:{name:$$.$type,properties:{name:{name:$$.name}},superTypes:[]},RuleCall:{name:Cw.$type,properties:{arguments:{name:Cw.arguments,defaultValue:[]},cardinality:{name:Cw.cardinality},predicate:{name:Cw.predicate},rule:{name:Cw.rule,referenceType:Hl.$type}},superTypes:[W8.$type]},SimpleType:{name:vl.$type,properties:{primitiveType:{name:vl.primitiveType},stringType:{name:vl.stringType},typeRef:{name:vl.typeRef,referenceType:lE.$type}},superTypes:[kw.$type]},StringLiteral:{name:y$.$type,properties:{value:{name:y$.value}},superTypes:[Mw.$type]},TerminalAlternatives:{name:Dw.$type,properties:{cardinality:{name:Dw.cardinality},elements:{name:Dw.elements,defaultValue:[]},lookahead:{name:Dw.lookahead},parenthesized:{name:Dw.parenthesized,defaultValue:!1}},superTypes:[S8.$type]},TerminalElement:{name:S8.$type,properties:{cardinality:{name:S8.cardinality},lookahead:{name:S8.lookahead},parenthesized:{name:S8.parenthesized,defaultValue:!1}},superTypes:[W8.$type]},TerminalGroup:{name:Fw.$type,properties:{cardinality:{name:Fw.cardinality},elements:{name:Fw.elements,defaultValue:[]},lookahead:{name:Fw.lookahead},parenthesized:{name:Fw.parenthesized,defaultValue:!1}},superTypes:[S8.$type]},TerminalRule:{name:Jk.$type,properties:{definition:{name:Jk.definition},fragment:{name:Jk.fragment,defaultValue:!1},hidden:{name:Jk.hidden,defaultValue:!1},name:{name:Jk.name},type:{name:Jk.type}},superTypes:[Hl.$type]},TerminalRuleCall:{name:Uw.$type,properties:{cardinality:{name:Uw.cardinality},lookahead:{name:Uw.lookahead},parenthesized:{name:Uw.parenthesized,defaultValue:!1},rule:{name:Uw.rule,referenceType:Jk.$type}},superTypes:[S8.$type]},Type:{name:gY.$type,properties:{name:{name:gY.name},type:{name:gY.type}},superTypes:[lE.$type]},TypeAttribute:{name:zw.$type,properties:{defaultValue:{name:zw.defaultValue},isOptional:{name:zw.isOptional,defaultValue:!1},name:{name:zw.name},type:{name:zw.type}},superTypes:[]},TypeDefinition:{name:kw.$type,properties:{},superTypes:[]},UnionType:{name:r$.$type,properties:{types:{name:r$.types,defaultValue:[]}},superTypes:[kw.$type]},UnorderedGroup:{name:cY.$type,properties:{cardinality:{name:cY.cardinality},elements:{name:cY.elements,defaultValue:[]}},superTypes:[W8.$type]},UntilToken:{name:fw.$type,properties:{cardinality:{name:fw.cardinality},lookahead:{name:fw.lookahead},parenthesized:{name:fw.parenthesized,defaultValue:!1},terminal:{name:fw.terminal}},superTypes:[S8.$type]},ValueLiteral:{name:Mw.$type,properties:{},superTypes:[]},Wildcard:{name:xl.$type,properties:{cardinality:{name:xl.cardinality},lookahead:{name:xl.lookahead},parenthesized:{name:xl.parenthesized,defaultValue:!1}},superTypes:[S8.$type]}}}},f3=new YE0;N(hn0,"getDatatypeNode");N(al,"streamCst");N(in0,"flattenCst");N(RE0,"isChildNode");N(kR,"tokenToRange");N(ml,"toDocumentSegment");(function(u){u[u.Before=0]="Before",u[u.After=1]="After",u[u.OverlapFront=2]="OverlapFront",u[u.OverlapBack=3]="OverlapBack",u[u.Inside=4]="Inside",u[u.Outside=5]="Outside"})(zU||(zU={}));N(TE0,"compareRange");N(OE0,"inRange");IE0=/^[\w\p{L}]$/u;N(an0,"findDeclarationNodeAtOffset");N(PE0,"findCommentNode");N(g$,"isCommentNode");N(Cr,"findLeafNodeAtOffset");N(jE0,"findLeafNodeBeforeOffset");N(NE0,"binarySearch");N(VE0,"getPreviousNode");N(mn0,"getNextNode");N($n0,"getStartlineNode");N(yn0,"getInteriorNodes");N(rn0,"getCommonParent");N(A80,"getParentChain");hE0={};Ib(hE0,{findAssignment:()=>sE0,findNameAssignment:()=>br,findNodeForKeyword:()=>dE0,findNodeForProperty:()=>kr,findNodesForKeyword:()=>sn0,findNodesForKeywordInternal:()=>Mr,findNodesForProperty:()=>nE0,getActionAtElement:()=>tE0,getActionType:()=>uA0,getAllReachableRules:()=>zr,getAllRulesUsedForCrossReferences:()=>dn0,getCrossReferenceTerminal:()=>_E0,getEntryRule:()=>rE0,getExplicitRuleType:()=>OR,getHiddenRules:()=>gE0,getRuleType:()=>BA0,getRuleTypeName:()=>Bd0,getTypeName:()=>Xw,isArrayCardinality:()=>tn0,isArrayOperator:()=>en0,isCommentTerminal:()=>pE0,isDataType:()=>ud0,isDataTypeRule:()=>TR,isOptionalCardinality:()=>on0,terminalRegex:()=>IR});Dr=class extends Error{static{N(this,"ErrorWithLocation")}constructor(u,B){super(u?`${B} at ${u.range.start.line}:${u.range.start.character}`:B)}};N(Pb,"assertUnreachable");N(iE0,"assertCondition");aE0={};Ib(aE0,{NEWLINE_REGEXP:()=>cn0,escapeRegExp:()=>pl,getTerminalParts:()=>pn0,isMultilineComment:()=>mE0,isWhitespace:()=>Ur,partialMatches:()=>$E0,partialRegExp:()=>yE0,whitespaceCharacters:()=>nn0});N(v3,"cc");N(J$,"insertToSet");N(Ql,"addFlag");N(sK,"ASSERT_EXISTS");N(PY,"ASSERT_NEVER_REACH_HERE");N(C80,"isCharacter");c$=[];for(let u=v3("0");u<=v3("9");u++)c$.push(u);_$=[v3("_")].concat(c$);for(let u=v3("a");u<=v3("z");u++)_$.push(u);for(let u=v3("A");u<=v3("Z");u++)_$.push(u);v_0=[v3(" "),v3("\f"),v3(`
`),v3("\r"),v3("\t"),v3("\v"),v3("\t"),v3(" "),v3(""),v3(" "),v3(""),v3(""),v3(""),v3(""),v3(""),v3(""),v3(""),v3(""),v3(""),v3(""),v3("\u2028"),v3("\u2029"),v3(""),v3(""),v3(" "),v3("\uFEFF")],CX4=/[0-9a-fA-F]/,rm=/[0-9]/,DX4=/[1-9]/,gn0=class{static{N(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(u){this.idx=u.idx,this.input=u.input,this.groupIdx=u.groupIdx}pattern(u){this.idx=0,this.input=u,this.groupIdx=0,this.consumeChar("/");let B=this.disjunction();this.consumeChar("/");let E={type:"Flags",loc:{begin:this.idx,end:u.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};while(this.isRegExpFlag())switch(this.popChar()){case"g":Ql(E,"global");break;case"i":Ql(E,"ignoreCase");break;case"m":Ql(E,"multiLine");break;case"u":Ql(E,"unicode");break;case"y":Ql(E,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:E,value:B,loc:this.loc(0)}}disjunction(){let u=[],B=this.idx;u.push(this.alternative());while(this.peekChar()==="|")this.consumeChar("|"),u.push(this.alternative());return{type:"Disjunction",value:u,loc:this.loc(B)}}alternative(){let u=[],B=this.idx;while(this.isTerm())u.push(this.term());return{type:"Alternative",value:u,loc:this.loc(B)}}term(){if(this.isAssertion())return this.assertion();else return this.atom()}assertion(){let u=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(u)};case"$":return{type:"EndAnchor",loc:this.loc(u)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(u)};case"B":return{type:"NonWordBoundary",loc:this.loc(u)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let B;switch(this.popChar()){case"=":B="Lookahead";break;case"!":B="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":B="Lookbehind";break;case"!":B="NegativeLookbehind"}break}}sK(B);let E=this.disjunction();return this.consumeChar(")"),{type:B,value:E,loc:this.loc(u)}}return PY()}quantifier(u=!1){let B=void 0,E=this.idx;switch(this.popChar()){case"*":B={atLeast:0,atMost:1/0};break;case"+":B={atLeast:1,atMost:1/0};break;case"?":B={atLeast:0,atMost:1};break;case"{":let A=this.integerIncludingZero();switch(this.popChar()){case"}":B={atLeast:A,atMost:A};break;case",":let C;if(this.isDigit())C=this.integerIncludingZero(),B={atLeast:A,atMost:C};else B={atLeast:A,atMost:1/0};this.consumeChar("}");break}if(u===!0&&B===void 0)return;sK(B);break}if(u===!0&&B===void 0)return;if(sK(B)){if(this.peekChar(0)==="?")this.consumeChar("?"),B.greedy=!1;else B.greedy=!0;return B.type="Quantifier",B.loc=this.loc(E),B}}atom(){let u,B=this.idx;switch(this.peekChar()){case".":u=this.dotAll();break;case"\\":u=this.atomEscape();break;case"[":u=this.characterClass();break;case"(":u=this.group();break}if(u===void 0&&this.isPatternCharacter())u=this.patternCharacter();if(sK(u)){if(u.loc=this.loc(B),this.isQuantifier())u.quantifier=this.quantifier();return u}return PY()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[v3(`
`),v3("\r"),v3("\u2028"),v3("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let u,B=!1;switch(this.popChar()){case"d":u=c$;break;case"D":u=c$,B=!0;break;case"s":u=v_0;break;case"S":u=v_0,B=!0;break;case"w":u=_$;break;case"W":u=_$,B=!0;break}if(sK(u))return{type:"Set",value:u,complement:B};return PY()}controlEscapeAtom(){let u;switch(this.popChar()){case"f":u=v3("\f");break;case"n":u=v3(`
`);break;case"r":u=v3("\r");break;case"t":u=v3("\t");break;case"v":u=v3("\v");break}if(sK(u))return{type:"Character",value:u};return PY()}controlLetterEscapeAtom(){this.consumeChar("c");let u=this.popChar();if(/[a-zA-Z]/.test(u)===!1)throw Error("Invalid ");return{type:"Character",value:u.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:v3("\x00")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let u=this.popChar();return{type:"Character",value:v3(u)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let u=this.popChar();return{type:"Character",value:v3(u)}}}characterClass(){let u=[],B=!1;if(this.consumeChar("["),this.peekChar(0)==="^")this.consumeChar("^"),B=!0;while(this.isClassAtom()){let E=this.classAtom(),A=E.type==="Character";if(C80(E)&&this.isRangeDash()){this.consumeChar("-");let C=this.classAtom(),D=C.type==="Character";if(C80(C)){if(C.value<E.value)throw Error("Range out of order in character class");u.push({from:E.value,to:C.value})}else J$(E.value,u),u.push(v3("-")),J$(C.value,u)}else J$(E.value,u)}return this.consumeChar("]"),{type:"Set",complement:B,value:u}}classAtom(){switch(this.peekChar()){case"]":case`
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:v3("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let u=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),u=!1;break;default:this.groupIdx++;break}let B=this.disjunction();this.consumeChar(")");let E={type:"Group",capturing:u,value:B};if(u)E.idx=this.groupIdx;return E}positiveInteger(){let u=this.popChar();if(DX4.test(u)===!1)throw Error("Expecting a positive integer");while(rm.test(this.peekChar(0)))u+=this.popChar();return parseInt(u,10)}integerIncludingZero(){let u=this.popChar();if(rm.test(u)===!1)throw Error("Expecting an integer");while(rm.test(this.peekChar(0)))u+=this.popChar();return parseInt(u,10)}patternCharacter(){let u=this.popChar();switch(u){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:v3(u)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return rm.test(this.peekChar(0))}isClassAtom(u=0){switch(this.peekChar(u)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){let u=this.saveState();try{return this.quantifier(!0)!==void 0}catch(B){return!1}finally{this.restoreState(u)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(u){let B="";for(let A=0;A<u;A++){let C=this.popChar();if(CX4.test(C)===!1)throw Error("Expecting a HexDecimal digits");B+=C}return{type:"Character",value:parseInt(B,16)}}peekChar(u=0){return this.input[this.idx+u]}popChar(){let u=this.peekChar(0);return this.consumeChar(void 0),u}consumeChar(u){if(u!==void 0&&this.input[this.idx]!==u)throw Error("Expected: '"+u+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(u){return{begin:u,end:this.idx}}},Fr=class{static{N(this,"BaseRegExpVisitor")}visitChildren(u){for(let B in u){let E=u[B];if(u.hasOwnProperty(B)){if(E.type!==void 0)this.visit(E);else if(Array.isArray(E))E.forEach((A)=>{this.visit(A)},this)}}}visit(u){switch(u.type){case"Pattern":this.visitPattern(u);break;case"Flags":this.visitFlags(u);break;case"Disjunction":this.visitDisjunction(u);break;case"Alternative":this.visitAlternative(u);break;case"StartAnchor":this.visitStartAnchor(u);break;case"EndAnchor":this.visitEndAnchor(u);break;case"WordBoundary":this.visitWordBoundary(u);break;case"NonWordBoundary":this.visitNonWordBoundary(u);break;case"Lookahead":this.visitLookahead(u);break;case"NegativeLookahead":this.visitNegativeLookahead(u);break;case"Lookbehind":this.visitLookbehind(u);break;case"NegativeLookbehind":this.visitNegativeLookbehind(u);break;case"Character":this.visitCharacter(u);break;case"Set":this.visitSet(u);break;case"Group":this.visitGroup(u);break;case"GroupBackReference":this.visitGroupBackReference(u);break;case"Quantifier":this.visitQuantifier(u);break}this.visitChildren(u)}visitPattern(u){}visitFlags(u){}visitDisjunction(u){}visitAlternative(u){}visitStartAnchor(u){}visitEndAnchor(u){}visitWordBoundary(u){}visitNonWordBoundary(u){}visitLookahead(u){}visitNegativeLookahead(u){}visitLookbehind(u){}visitNegativeLookbehind(u){}visitCharacter(u){}visitSet(u){}visitGroup(u){}visitGroupBackReference(u){}visitQuantifier(u){}},cn0=/\r?\n/gm,_n0=new gn0,FX4=class extends Fr{static{N(this,"TerminalRegExpVisitor")}constructor(){super(...arguments);this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(u){this.multiline=!1,this.regex=u,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(u){if(u.quantifier)this.isStarting=!1,this.endRegexpStack=[]}visitCharacter(u){let B=String.fromCharCode(u.value);if(!this.multiline&&B===`
`)this.multiline=!0;if(u.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let E=pl(B);if(this.endRegexpStack.push(E),this.isStarting)this.startRegexp+=E}}visitSet(u){if(!this.multiline){let B=this.regex.substring(u.loc.begin,u.loc.end),E=new RegExp(B);this.multiline=Boolean(`
`.match(E))}if(u.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let B=this.regex.substring(u.loc.begin,u.loc.end);if(this.endRegexpStack.push(B),this.isStarting)this.startRegexp+=B}}visitChildren(u){if(u.type==="Group"){if(u.quantifier)return}super.visitChildren(u)}},Kw=new FX4;N(pn0,"getTerminalParts");N(mE0,"isMultilineComment");nn0=`\f
\r \v   \u2028\u2029 \uFEFF`.split("");N(Ur,"isWhitespace");N(pl,"escapeRegExp");N($E0,"partialMatches");N(yE0,"partialRegExp");N(rE0,"getEntryRule");N(gE0,"getHiddenRules");N(zr,"getAllReachableRules");N(cE0,"ruleDfs");N(dn0,"getAllRulesUsedForCrossReferences");N(_E0,"getCrossReferenceTerminal");N(pE0,"isCommentTerminal");N(nE0,"findNodesForProperty");N(kr,"findNodeForProperty");N(fr,"findNodesForPropertyInternal");N(sn0,"findNodesForKeyword");N(dE0,"findNodeForKeyword");N(Mr,"findNodesForKeywordInternal");N(sE0,"findAssignment");N(br,"findNameAssignment");N(oE0,"findNameAssignmentInternal");N(tE0,"getActionAtElement");N(on0,"isOptionalCardinality");N(tn0,"isArrayCardinality");N(en0,"isArrayOperator");N(TR,"isDataTypeRule");N(eE0,"isDataTypeRuleInternal");N(ud0,"isDataType");N(p$,"isDataTypeInternal");N(OR,"getExplicitRuleType");N(Xw,"getTypeName");N(uA0,"getActionType");N(Bd0,"getRuleTypeName");N(BA0,"getRuleType");N(IR,"terminalRegex");EA0=/[\s\S]/.source;N(Pw,"abstractElementToRegex");N(Ed0,"terminalAlternativesToRegex");N(Ad0,"terminalGroupToRegex");N(Cd0,"untilTokenToRegex");N(Dd0,"negateTokenToRegex");N(Fd0,"characterRangeToRegex");N(K$,"keywordToRegex");N(bU,"withCardinality");N(AA0,"createGrammarConfig");UX4=typeof global=="object"&&global&&global.Object===Object&&global,Ud0=UX4,zX4=typeof self=="object"&&self&&self.Object===Object&&self,kX4=Ud0||zX4||Function("return this")(),JU=kX4,fX4=JU.Symbol,WA=fX4,zd0=Object.prototype,MX4=zd0.hasOwnProperty,bX4=zd0.toString,GY=WA?WA.toStringTag:void 0;N(kd0,"getRawTag");ZX4=kd0,JX4=Object.prototype,KX4=JX4.toString;N(fd0,"objectToString");wX4=fd0,x_0=WA?WA.toStringTag:void 0;N(Md0,"baseGetTag");jb=Md0;N(bd0,"isObjectLike");dC=bd0;N(Zd0,"isSymbol");Zr=Zd0;N(Jd0,"arrayMap");PR=Jd0,qX4=Array.isArray,R1=qX4,W_0=WA?WA.prototype:void 0,S_0=W_0?W_0.toString:void 0;N(CA0,"baseToString");LX4=CA0,XX4=/\s/;N(Kd0,"trimmedEndIndex");vX4=Kd0,xX4=/^\s+/;N(wd0,"baseTrim");WX4=wd0;N(Qd0,"isObject");SA=Qd0,SX4=/^[-+]0x[0-9a-f]+$/i,YX4=/^0b[01]+$/i,RX4=/^0o[0-7]+$/i,TX4=parseInt;N(Gd0,"toNumber");OX4=Gd0;N(Hd0,"toFinite");PX4=Hd0;N(qd0,"toInteger");jR=qd0;N(ld0,"identity");NR=ld0;N(Ld0,"isFunction");Pk=Ld0,iX4=JU["__core-js_shared__"],N70=iX4,T_0=function(){var u=/[^.]+$/.exec(N70&&N70.keys&&N70.keys.IE_PROTO||"");return u?"Symbol(src)_1."+u:""}();N(Xd0,"isMasked");aX4=Xd0,mX4=Function.prototype,$X4=mX4.toString;N(vd0,"toSource");jw=vd0,yX4=/[\\^$.*+?()[\]{}|]/g,rX4=/^\[object .+?Constructor\]$/,gX4=Function.prototype,cX4=Object.prototype,_X4=gX4.toString,pX4=cX4.hasOwnProperty,nX4=RegExp("^"+_X4.call(pX4).replace(yX4,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");N(xd0,"baseIsNative");dX4=xd0;N(Wd0,"getValue");sX4=Wd0;N(Sd0,"getNative");Nw=Sd0,oX4=Nw(JU,"WeakMap"),D80=oX4,O_0=Object.create,tX4=function(){function u(){}return N(u,"object"),function(B){if(!SA(B))return{};if(O_0)return O_0(B);u.prototype=B;var E=new u;return u.prototype=void 0,E}}(),eX4=tX4;N(Yd0,"apply");uv4=Yd0;N(Rd0,"noop");P5=Rd0;N(Td0,"copyArray");Bv4=Td0,Cv4=Date.now;N(Od0,"shortOut");Dv4=Od0;N(Id0,"constant");Fv4=Id0,Uv4=function(){try{var u=Nw(Object,"defineProperty");return u({},"",{}),u}catch(B){}}(),n$=Uv4,zv4=!n$?NR:function(u,B){return n$(u,"toString",{configurable:!0,enumerable:!1,value:Fv4(B),writable:!0})},kv4=zv4,fv4=Dv4(kv4),Mv4=fv4;N(Pd0,"arrayEach");jd0=Pd0;N(Nd0,"baseFindIndex");Vd0=Nd0;N(hd0,"baseIsNaN");bv4=hd0;N(id0,"strictIndexOf");Zv4=id0;N(ad0,"baseIndexOf");DA0=ad0;N(md0,"arrayIncludes");$d0=md0,Kv4=/^(?:0|[1-9]\d*)$/;N(yd0,"isIndex");Jr=yd0;N(rd0,"baseAssignValue");FA0=rd0;N(gd0,"eq");VR=gd0,wv4=Object.prototype,Qv4=wv4.hasOwnProperty;N(cd0,"assignValue");Kr=cd0;N(_d0,"copyObject");hR=_d0,I_0=Math.max;N(pd0,"overRest");Gv4=pd0;N(nd0,"baseRest");UA0=nd0;N(dd0,"isLength");zA0=dd0;N(sd0,"isArrayLike");KU=sd0;N(od0,"isIterateeCall");wr=od0;N(td0,"createAssigner");qv4=td0,lv4=Object.prototype;N(ed0,"isPrototype");iR=ed0;N(us0,"baseTimes");Lv4=us0;N(Bs0,"baseIsArguments");P_0=Bs0,Es0=Object.prototype,vv4=Es0.hasOwnProperty,xv4=Es0.propertyIsEnumerable,Wv4=P_0(function(){return arguments}())?P_0:function(u){return dC(u)&&vv4.call(u,"callee")&&!xv4.call(u,"callee")},Qr=Wv4;N(As0,"stubFalse");Sv4=As0,Cs0=typeof $7=="object"&&$7&&!$7.nodeType&&$7,j_0=Cs0&&typeof O2=="object"&&O2&&!O2.nodeType&&O2,Yv4=j_0&&j_0.exports===Cs0,N_0=Yv4?JU.Buffer:void 0,Rv4=N_0?N_0.isBuffer:void 0,Tv4=Rv4||Sv4,fR=Tv4,c6={};c6[_v4]=c6[pv4]=c6[nv4]=c6[dv4]=c6[sv4]=c6[ov4]=c6[tv4]=c6[ev4]=c6[ux4]=!0;c6[Ov4]=c6[Iv4]=c6[gv4]=c6[Pv4]=c6[cv4]=c6[jv4]=c6[Nv4]=c6[Vv4]=c6[hv4]=c6[iv4]=c6[av4]=c6[mv4]=c6[$v4]=c6[yv4]=c6[rv4]=!1;N(Ds0,"baseIsTypedArray");Bx4=Ds0;N(Fs0,"baseUnary");aR=Fs0,Us0=typeof $7=="object"&&$7&&!$7.nodeType&&$7,_Y=Us0&&typeof O2=="object"&&O2&&!O2.nodeType&&O2,Ex4=_Y&&_Y.exports===Us0,V70=Ex4&&Ud0.process,Ax4=function(){try{var u=_Y&&_Y.require&&_Y.require("util").types;if(u)return u;return V70&&V70.binding&&V70.binding("util")}catch(B){}}(),Yb=Ax4,V_0=Yb&&Yb.isTypedArray,Cx4=V_0?aR(V_0):Bx4,kA0=Cx4,Dx4=Object.prototype,Fx4=Dx4.hasOwnProperty;N(zs0,"arrayLikeKeys");ks0=zs0;N(fs0,"overArg");Ms0=fs0,Ux4=Ms0(Object.keys,Object),zx4=Ux4,kx4=Object.prototype,fx4=kx4.hasOwnProperty;N(bs0,"baseKeys");Zs0=bs0;N(Js0,"keys");XE=Js0,Mx4=Object.prototype,bx4=Mx4.hasOwnProperty,Zx4=qv4(function(u,B){if(iR(B)||KU(B)){hR(B,XE(B),u);return}for(var E in B)if(bx4.call(B,E))Kr(u,E,B[E])}),vE=Zx4;N(Ks0,"nativeKeysIn");Jx4=Ks0,Kx4=Object.prototype,wx4=Kx4.hasOwnProperty;N(ws0,"baseKeysIn");Qx4=ws0;N(Qs0,"keysIn");Gr=Qs0,Gx4=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hx4=/^\w*$/;N(Gs0,"isKey");fA0=Gs0,qx4=Nw(Object,"create"),MR=qx4;N(Hs0,"hashClear");lx4=Hs0;N(qs0,"hashDelete");Lx4=qs0,vx4=Object.prototype,xx4=vx4.hasOwnProperty;N(ls0,"hashGet");Wx4=ls0,Sx4=Object.prototype,Yx4=Sx4.hasOwnProperty;N(Ls0,"hashHas");Rx4=Ls0;N(Xs0,"hashSet");Ox4=Xs0;N(Vw,"Hash");Vw.prototype.clear=lx4;Vw.prototype.delete=Lx4;Vw.prototype.get=Wx4;Vw.prototype.has=Rx4;Vw.prototype.set=Ox4;h_0=Vw;N(vs0,"listCacheClear");Ix4=vs0;N(xs0,"assocIndexOf");Hr=xs0,Px4=Array.prototype,jx4=Px4.splice;N(Ws0,"listCacheDelete");Nx4=Ws0;N(Ss0,"listCacheGet");Vx4=Ss0;N(Ys0,"listCacheHas");hx4=Ys0;N(Rs0,"listCacheSet");ix4=Rs0;N(hw,"ListCache");hw.prototype.clear=Ix4;hw.prototype.delete=Nx4;hw.prototype.get=Vx4;hw.prototype.has=hx4;hw.prototype.set=ix4;qr=hw,ax4=Nw(JU,"Map"),bR=ax4;N(Ts0,"mapCacheClear");mx4=Ts0;N(Os0,"isKeyable");$x4=Os0;N(Is0,"getMapData");lr=Is0;N(Ps0,"mapCacheDelete");yx4=Ps0;N(js0,"mapCacheGet");rx4=js0;N(Ns0,"mapCacheHas");gx4=Ns0;N(Vs0,"mapCacheSet");cx4=Vs0;N(iw,"MapCache");iw.prototype.clear=mx4;iw.prototype.delete=yx4;iw.prototype.get=rx4;iw.prototype.has=gx4;iw.prototype.set=cx4;Lr=iw;N(Xr,"memoize");Xr.Cache=Lr;px4=Xr;N(hs0,"memoizeCapped");dx4=hs0,sx4=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ox4=/\\(\\)?/g,tx4=dx4(function(u){var B=[];if(u.charCodeAt(0)===46)B.push("");return u.replace(sx4,function(E,A,C,D){B.push(C?D.replace(ox4,"$1"):A||E)}),B}),ex4=tx4;N(is0,"toString");uW4=is0;N(as0,"castPath");vr=as0;N(ms0,"toKey");mR=ms0;N($s0,"baseGet");MA0=$s0;N(ys0,"get");EW4=ys0;N(rs0,"arrayPush");bA0=rs0,i_0=WA?WA.isConcatSpreadable:void 0;N(gs0,"isFlattenable");AW4=gs0;N(ZA0,"baseFlatten");JA0=ZA0;N(cs0,"flatten");pC=cs0,CW4=Ms0(Object.getPrototypeOf,Object),_s0=CW4;N(ps0,"baseSlice");ns0=ps0;N(ds0,"arrayReduce");DW4=ds0;N(ss0,"stackClear");FW4=ss0;N(os0,"stackDelete");UW4=os0;N(ts0,"stackGet");zW4=ts0;N(es0,"stackHas");kW4=es0;N(uo0,"stackSet");MW4=uo0;N(aw,"Stack");aw.prototype.clear=FW4;aw.prototype.delete=UW4;aw.prototype.get=zW4;aw.prototype.has=kW4;aw.prototype.set=MW4;pY=aw;N(Bo0,"baseAssign");bW4=Bo0;N(Eo0,"baseAssignIn");ZW4=Eo0,Ao0=typeof $7=="object"&&$7&&!$7.nodeType&&$7,a_0=Ao0&&typeof O2=="object"&&O2&&!O2.nodeType&&O2,JW4=a_0&&a_0.exports===Ao0,m_0=JW4?JU.Buffer:void 0,$_0=m_0?m_0.allocUnsafe:void 0;N(Co0,"cloneBuffer");KW4=Co0;N(Do0,"arrayFilter");KA0=Do0;N(Fo0,"stubArray");Uo0=Fo0,wW4=Object.prototype,QW4=wW4.propertyIsEnumerable,y_0=Object.getOwnPropertySymbols,GW4=!y_0?Uo0:function(u){if(u==null)return[];return u=Object(u),KA0(y_0(u),function(B){return QW4.call(u,B)})},wA0=GW4;N(zo0,"copySymbols");HW4=zo0,qW4=Object.getOwnPropertySymbols,lW4=!qW4?Uo0:function(u){var B=[];while(u)bA0(B,wA0(u)),u=_s0(u);return B},ko0=lW4;N(fo0,"copySymbolsIn");LW4=fo0;N(Mo0,"baseGetAllKeys");bo0=Mo0;N(Zo0,"getAllKeys");F80=Zo0;N(Jo0,"getAllKeysIn");Ko0=Jo0,XW4=Nw(JU,"DataView"),U80=XW4,vW4=Nw(JU,"Promise"),z80=vW4,xW4=Nw(JU,"Set"),Yl=xW4,SW4=jw(U80),YW4=jw(bR),RW4=jw(z80),TW4=jw(Yl),OW4=jw(D80),oK=jb;if(U80&&oK(new U80(new ArrayBuffer(1)))!=p_0||bR&&oK(new bR)!=r_0||z80&&oK(z80.resolve())!=g_0||Yl&&oK(new Yl)!=c_0||D80&&oK(new D80)!=__0)oK=N(function(u){var B=jb(u),E=B==WW4?u.constructor:void 0,A=E?jw(E):"";if(A)switch(A){case SW4:return p_0;case YW4:return r_0;case RW4:return g_0;case TW4:return c_0;case OW4:return __0}return B},"getTag");$l=oK,IW4=Object.prototype,PW4=IW4.hasOwnProperty;N(wo0,"initCloneArray");jW4=wo0,NW4=JU.Uint8Array,d$=NW4;N(Qo0,"cloneArrayBuffer");QA0=Qo0;N(Go0,"cloneDataView");VW4=Go0,hW4=/\w*$/;N(Ho0,"cloneRegExp");iW4=Ho0,n_0=WA?WA.prototype:void 0,d_0=n_0?n_0.valueOf:void 0;N(qo0,"cloneSymbol");aW4=qo0;N(lo0,"cloneTypedArray");mW4=lo0;N(Lo0,"initCloneByTag");FS4=Lo0;N(Xo0,"initCloneObject");US4=Xo0;N(vo0,"baseIsMap");kS4=vo0,s_0=Yb&&Yb.isMap,fS4=s_0?aR(s_0):kS4,MS4=fS4;N(xo0,"baseIsSet");ZS4=xo0,o_0=Yb&&Yb.isSet,JS4=o_0?aR(o_0):ZS4,KS4=JS4,I6={};I6[Wo0]=I6[HS4]=I6[OS4]=I6[IS4]=I6[qS4]=I6[lS4]=I6[PS4]=I6[jS4]=I6[NS4]=I6[VS4]=I6[hS4]=I6[vS4]=I6[xS4]=I6[Yo0]=I6[WS4]=I6[SS4]=I6[YS4]=I6[RS4]=I6[iS4]=I6[aS4]=I6[mS4]=I6[$S4]=!0;I6[LS4]=I6[So0]=I6[TS4]=!1;N(nY,"baseClone");yS4=nY;N(Ro0,"clone");J7=Ro0;N(To0,"compact");$R=To0;N(Oo0,"setCacheAdd");cS4=Oo0;N(Io0,"setCacheHas");_S4=Io0;N(ZR,"SetCache");ZR.prototype.add=ZR.prototype.push=cS4;ZR.prototype.has=_S4;GA0=ZR;N(Po0,"arraySome");jo0=Po0;N(No0,"cacheHas");HA0=No0;N(Vo0,"equalArrays");ho0=Vo0;N(io0,"mapToArray");dS4=io0;N(ao0,"setToArray");qA0=ao0,t_0=WA?WA.prototype:void 0,h70=t_0?t_0.valueOf:void 0;N(mo0,"equalByTag");kY4=mo0,MY4=Object.prototype,bY4=MY4.hasOwnProperty;N($o0,"equalObjects");ZY4=$o0,KY4=Object.prototype,Bp0=KY4.hasOwnProperty;N(yo0,"baseIsEqualDeep");wY4=yo0;N(lA0,"baseIsEqual");ro0=lA0;N(go0,"baseIsMatch");HY4=go0;N(co0,"isStrictComparable");_o0=co0;N(po0,"getMatchData");qY4=po0;N(no0,"matchesStrictComparable");do0=no0;N(so0,"baseMatches");lY4=so0;N(oo0,"baseHasIn");LY4=oo0;N(to0,"hasPath");eo0=to0;N(ut0,"hasIn");XY4=ut0;N(Bt0,"baseMatchesProperty");WY4=Bt0;N(Et0,"baseProperty");SY4=Et0;N(At0,"basePropertyDeep");YY4=At0;N(Ct0,"property");RY4=Ct0;N(Dt0,"baseIteratee");wU=Dt0;N(Ft0,"arrayAggregator");TY4=Ft0;N(Ut0,"createBaseFor");OY4=Ut0,IY4=OY4(),PY4=IY4;N(zt0,"baseForOwn");jY4=zt0;N(kt0,"createBaseEach");NY4=kt0,VY4=NY4(jY4),mw=VY4;N(ft0,"baseAggregator");hY4=ft0;N(Mt0,"createAggregator");iY4=Mt0,bt0=Object.prototype,aY4=bt0.hasOwnProperty,mY4=UA0(function(u,B){u=Object(u);var E=-1,A=B.length,C=A>2?B[2]:void 0;if(C&&wr(B[0],B[1],C))A=1;while(++E<A){var D=B[E],F=Gr(D),U=-1,z=F.length;while(++U<z){var k=F[U],f=u[k];if(f===void 0||VR(f,bt0[k])&&!aY4.call(u,k))u[k]=D[k]}}return u}),LA0=mY4;N(Zt0,"isArrayLikeObject");Ep0=Zt0;N(Jt0,"arrayIncludesWith");Kt0=Jt0;N(wt0,"baseDifference");yY4=wt0,rY4=UA0(function(u,B){return Ep0(u)?yY4(u,JA0(B,1,Ep0,!0)):[]}),xr=rY4;N(Qt0,"last");vw=Qt0;N(Gt0,"drop");b7=Gt0;N(Ht0,"dropRight");JR=Ht0;N(qt0,"castFunction");gY4=qt0;N(lt0,"forEach");x3=lt0;N(Lt0,"arrayEvery");cY4=Lt0;N(Xt0,"baseEvery");_Y4=Xt0;N(vt0,"every");nC=vt0;N(xt0,"baseFilter");Wt0=xt0;N(St0,"filter");RA=St0;N(Yt0,"createFind");pY4=Yt0,nY4=Math.max;N(Rt0,"findIndex");dY4=Rt0,sY4=pY4(dY4),yl=sY4;N(Tt0,"head");sC=Tt0;N(Ot0,"baseMap");oY4=Ot0;N(It0,"map");p4=It0;N(Pt0,"flatMap");xA=Pt0,tY4=Object.prototype,eY4=tY4.hasOwnProperty,uR4=iY4(function(u,B,E){if(eY4.call(u,E))u[E].push(B);else FA0(u,E,[B])}),BR4=uR4,ER4=Object.prototype,AR4=ER4.hasOwnProperty;N(jt0,"baseHas");CR4=jt0;N(Nt0,"has");Z3=Nt0;N(Vt0,"isString");Y8=Vt0;N(ht0,"baseValues");FR4=ht0;N(it0,"values");E5=it0,UR4=Math.max;N(at0,"includes");hB=at0,zR4=Math.max;N(mt0,"indexOf");Ap0=mt0,MR4=Object.prototype,bR4=MR4.hasOwnProperty;N($t0,"isEmpty");j6=$t0;N(yt0,"baseIsRegExp");JR4=yt0,Cp0=Yb&&Yb.isRegExp,KR4=Cp0?aR(Cp0):JR4,Wk=KR4;N(rt0,"isUndefined");Sk=rt0;N(gt0,"negate");QR4=gt0;N(ct0,"baseSet");GR4=ct0;N(_t0,"basePickBy");HR4=_t0;N(pt0,"pickBy");oC=pt0;N(nt0,"baseReduce");qR4=nt0;N(dt0,"reduce");xE=dt0;N(st0,"reject");Wr=st0;N(ot0,"baseSome");lR4=ot0;N(tt0,"some");et0=tt0,XR4=!(Yl&&1/qA0(new Yl([,-0]))[1]==LR4)?P5:function(u){return new Yl(u)},vR4=XR4;N(ue0,"baseUniq");WR4=ue0;N(Be0,"uniq");XA0=Be0;N(s$,"PRINT_ERROR");N(vA0,"PRINT_WARNING");N(xA0,"timer");N(WA0,"toFastProperties");N(Ee0,"tokenLabel");N(Ae0,"hasTokenLabel");QU=class{static{N(this,"AbstractProduction")}get definition(){return this._definition}set definition(u){this._definition=u}constructor(u){this._definition=u}accept(u){u.visit(this),x3(this.definition,(B)=>{B.accept(u)})}},jB=class extends QU{static{N(this,"NonTerminal")}constructor(u){super([]);this.idx=1,vE(this,oC(u,(B)=>B!==void 0))}set definition(u){}get definition(){if(this.referencedRule!==void 0)return this.referencedRule.definition;return[]}accept(u){u.visit(this)}},nl=class extends QU{static{N(this,"Rule")}constructor(u){super(u.definition);this.orgText="",vE(this,oC(u,(B)=>B!==void 0))}},R8=class extends QU{static{N(this,"Alternative")}constructor(u){super(u.definition);this.ignoreAmbiguities=!1,vE(this,oC(u,(B)=>B!==void 0))}},Z7=class extends QU{static{N(this,"Option")}constructor(u){super(u.definition);this.idx=1,vE(this,oC(u,(B)=>B!==void 0))}},WE=class extends QU{static{N(this,"RepetitionMandatory")}constructor(u){super(u.definition);this.idx=1,vE(this,oC(u,(B)=>B!==void 0))}},SE=class extends QU{static{N(this,"RepetitionMandatoryWithSeparator")}constructor(u){super(u.definition);this.idx=1,vE(this,oC(u,(B)=>B!==void 0))}},r9=class extends QU{static{N(this,"Repetition")}constructor(u){super(u.definition);this.idx=1,vE(this,oC(u,(B)=>B!==void 0))}},T8=class extends QU{static{N(this,"RepetitionWithSeparator")}constructor(u){super(u.definition);this.idx=1,vE(this,oC(u,(B)=>B!==void 0))}},O8=class extends QU{static{N(this,"Alternation")}get definition(){return this._definition}set definition(u){this._definition=u}constructor(u){super(u.definition);this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,vE(this,oC(u,(B)=>B!==void 0))}},p6=class{static{N(this,"Terminal")}constructor(u){this.idx=1,vE(this,oC(u,(B)=>B!==void 0))}accept(u){u.visit(this)}};N(Ce0,"serializeGrammar");N(dY,"serializeProduction");dl=class{static{N(this,"GAstVisitor")}visit(u){let B=u;switch(B.constructor){case jB:return this.visitNonTerminal(B);case R8:return this.visitAlternative(B);case Z7:return this.visitOption(B);case WE:return this.visitRepetitionMandatory(B);case SE:return this.visitRepetitionMandatoryWithSeparator(B);case T8:return this.visitRepetitionWithSeparator(B);case r9:return this.visitRepetition(B);case O8:return this.visitAlternation(B);case p6:return this.visitTerminal(B);case nl:return this.visitRule(B);default:throw Error("non exhaustive match")}}visitNonTerminal(u){}visitAlternative(u){}visitOption(u){}visitRepetition(u){}visitRepetitionMandatory(u){}visitRepetitionMandatoryWithSeparator(u){}visitRepetitionWithSeparator(u){}visitAlternation(u){}visitTerminal(u){}visitRule(u){}};N(De0,"isSequenceProd");N(KR,"isOptionalProd");N(Fe0,"isBranchingProd");N(rC,"getProductionDslName");Sr=class{static{N(this,"RestWalker")}walk(u,B=[]){x3(u.definition,(E,A)=>{let C=b7(u.definition,A+1);if(E instanceof jB)this.walkProdRef(E,C,B);else if(E instanceof p6)this.walkTerminal(E,C,B);else if(E instanceof R8)this.walkFlat(E,C,B);else if(E instanceof Z7)this.walkOption(E,C,B);else if(E instanceof WE)this.walkAtLeastOne(E,C,B);else if(E instanceof SE)this.walkAtLeastOneSep(E,C,B);else if(E instanceof T8)this.walkManySep(E,C,B);else if(E instanceof r9)this.walkMany(E,C,B);else if(E instanceof O8)this.walkOr(E,C,B);else throw Error("non exhaustive match")})}walkTerminal(u,B,E){}walkProdRef(u,B,E){}walkFlat(u,B,E){let A=B.concat(E);this.walk(u,A)}walkOption(u,B,E){let A=B.concat(E);this.walk(u,A)}walkAtLeastOne(u,B,E){let A=[new Z7({definition:u.definition})].concat(B,E);this.walk(u,A)}walkAtLeastOneSep(u,B,E){let A=k80(u,B,E);this.walk(u,A)}walkMany(u,B,E){let A=[new Z7({definition:u.definition})].concat(B,E);this.walk(u,A)}walkManySep(u,B,E){let A=k80(u,B,E);this.walk(u,A)}walkOr(u,B,E){let A=B.concat(E);x3(u.definition,(C)=>{let D=new R8({definition:[C]});this.walk(D,A)})}};N(k80,"restForRepetitionWithSeparator");N(sl,"first");N(Ue0,"firstForSequence");N(ze0,"firstForBranching");N(ke0,"firstForTerminal");SR4=class extends Sr{static{N(this,"ResyncFollowsWalker")}constructor(u){super();this.topProd=u,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(u,B,E){}walkProdRef(u,B,E){let A=be0(u.referencedRule,u.idx)+this.topProd.name,C=B.concat(E),D=new R8({definition:C}),F=sl(D);this.follows[A]=F}};N(Me0,"computeAllProdsFollows");N(be0,"buildBetweenProdsFollowPrefix");w$={},YR4=new gn0;N(yR,"getRegExpAst");N(Ze0,"clearRegExpParserCache");N(Ke0,"getOptimizedStartCodesIndices");N(t$,"firstCharOptimizedIndices");N(jY,"addOptimizedIdxToResult");N(we0,"handleIgnoreCase");N(f80,"findCode");N(e$,"isWholeOptional");RR4=class extends Fr{static{N(this,"CharCodeFinder")}constructor(u){super();this.targetCharCodes=u,this.found=!1}visitChildren(u){if(this.found===!0)return;switch(u.type){case"Lookahead":this.visitLookahead(u);return;case"NegativeLookahead":this.visitNegativeLookahead(u);return;case"Lookbehind":this.visitLookbehind(u);return;case"NegativeLookbehind":this.visitNegativeLookbehind(u);return}super.visitChildren(u)}visitCharacter(u){if(hB(this.targetCharCodes,u.value))this.found=!0}visitSet(u){if(u.complement){if(f80(u,this.targetCharCodes)===void 0)this.found=!0}else if(f80(u,this.targetCharCodes)!==void 0)this.found=!0}};N(Yr,"canMatchCharCode");N(Qe0,"analyzeTokenTypes");N(Ge0,"validatePatterns");N(He0,"validateRegExpPattern");N(qe0,"findMissingPatterns");N(le0,"findInvalidPatterns");TR4=/[^\\][$]/;N(Le0,"findEndOfInputAnchor");N(Xe0,"findEmptyMatchRegExps");OR4=/[^\\[][\^]|^\^/;N(ve0,"findStartOfInputAnchor");N(xe0,"findUnsupportedFlags");N(We0,"findDuplicatePatterns");N(Se0,"findInvalidGroupType");N(Ye0,"findModesThatDoNotExist");N(Re0,"findUnreachablePatterns");N(Te0,"tryToMatchStrToPattern");N(Oe0,"noMetaChar");N(Ie0,"usesLookAheadOrBehind");N(M80,"addStickyFlag");N(Pe0,"performRuntimeChecks");N(je0,"performWarningRuntimeChecks");N(Ne0,"cloneEmptyGroups");N(SA0,"isCustomPattern");N(Ve0,"isShortPattern");IR4={test:N(function(u){let B=u.length;for(let E=this.lastIndex;E<B;E++){let A=u.charCodeAt(E);if(A===10)return this.lastIndex=E+1,!0;else if(A===13){if(u.charCodeAt(E+1)===10)this.lastIndex=E+2;else this.lastIndex=E+1;return!0}}return!1},"test"),lastIndex:0};N(YA0,"checkLineBreaksIssues");N(he0,"buildLineBreakIssueMessage");N(RA0,"getCharCodes");N(Q$,"addToMapOfArrays");G$=[];N(Yk,"charCodeToOptimizedIndex");N(ie0,"initCharCodeToOptimizedIndexMap");N(ol,"tokenStructuredMatcher");N(wR,"tokenStructuredMatcherNoCategories");ae0={};N(tl,"augmentTokenTypes");N(me0,"expandCategories");N($e0,"assignTokenDefaultProps");N(ye0,"assignCategoriesTokensProp");N(re0,"assignCategoriesMapProp");N(TA0,"singleAssignCategoriesToksMap");N(OA0,"hasShortKeyProperty");N(b80,"hasCategoriesProperty");N(ge0,"hasExtendingTokensTypesProperty");N(ce0,"hasExtendingTokensTypesMapProperty");N(_e0,"isTokenType");Z80={buildUnableToPopLexerModeMessage(u){return`Unable to pop Lexer Mode after encountering Token ->${u.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(u,B,E,A,C,D){return`unexpected character: ->${u.charAt(B)}<- at offset: ${B}, skipped ${E} characters.`}};(function(u){u[u.MISSING_PATTERN=0]="MISSING_PATTERN",u[u.INVALID_PATTERN=1]="INVALID_PATTERN",u[u.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",u[u.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",u[u.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",u[u.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",u[u.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",u[u.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",u[u.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",u[u.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",u[u.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",u[u.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",u[u.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",u[u.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",u[u.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",u[u.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",u[u.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",u[u.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(g9||(g9={}));hY={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Z80,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(hY);IB=class{static{N(this,"Lexer")}constructor(u,B=hY){if(this.lexerDefinition=u,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(A,C)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let D=Array(this.traceInitIndent+1).join("\t");if(this.traceInitIndent<this.traceInitMaxIdent)console.log(`${D}--> <${A}>`);let{time:F,value:U}=xA0(C),z=F>10?console.warn:console.log;if(this.traceInitIndent<this.traceInitMaxIdent)z(`${D}<-- <${A}> time: ${F}ms`);return this.traceInitIndent--,U}else return C()},typeof B==="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=vE({},hY,B);let E=this.config.traceInitPerf;if(E===!0)this.traceInitMaxIdent=1/0,this.traceInitPerf=!0;else if(typeof E==="number")this.traceInitMaxIdent=E,this.traceInitPerf=!0;this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let A,C=!0;if(this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===hY.lineTerminatorsPattern)this.config.lineTerminatorsPattern=IR4;else if(this.config.lineTerminatorCharacters===hY.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(B.safeMode&&B.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');if(this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),R1(u))A={modes:{defaultMode:J7(u)},defaultMode:NY};else C=!1,A=J7(u)}),this.config.skipValidations===!1)this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Pe0(A,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(je0(A,this.trackStartLines,this.config.lineTerminatorCharacters))});A.modes=A.modes?A.modes:{},x3(A.modes,(F,U)=>{A.modes[U]=Wr(F,(z)=>Sk(z))});let D=XE(A.modes);if(x3(A.modes,(F,U)=>{this.TRACE_INIT(`Mode: <${U}> processing`,()=>{if(this.modes.push(U),this.config.skipValidations===!1)this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Ge0(F,D))});if(j6(this.lexerDefinitionErrors)){tl(F);let z;this.TRACE_INIT("analyzeTokenTypes",()=>{z=Qe0(F,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:B.positionTracking,ensureOptimizations:B.ensureOptimizations,safeMode:B.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[U]=z.patternIdxToConfig,this.charCodeToPatternIdxToConfig[U]=z.charCodeToPatternIdxToConfig,this.emptyGroups=vE({},this.emptyGroups,z.emptyGroups),this.hasCustom=z.hasCustom||this.hasCustom,this.canModeBeOptimized[U]=z.canBeOptimized}})}),this.defaultMode=A.defaultMode,!j6(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let U=p4(this.lexerDefinitionErrors,(z)=>{return z.message}).join(`-----------------------
`);throw Error(`Errors detected in definition of Lexer:
`+U)}x3(this.lexerDefinitionWarning,(F)=>{vA0(F.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(C)this.handleModes=P5;if(this.trackStartLines===!1)this.computeNewColumn=NR;if(this.trackEndLines===!1)this.updateTokenEndLineColumnLocation=P5;if(/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);if(this.hasCustom)this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom;else this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let F=xE(this.canModeBeOptimized,(U,z,k)=>{if(z===!1)U.push(k);return U},[]);if(B.ensureOptimizations&&!j6(F))throw Error(`Lexer Modes: < ${F.join(", ")} > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Ze0()}),this.TRACE_INIT("toFastProperties",()=>{WA0(this)})})}tokenize(u,B=this.defaultMode){if(!j6(this.lexerDefinitionErrors)){let A=p4(this.lexerDefinitionErrors,(C)=>{return C.message}).join(`-----------------------
`);throw Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+A)}return this.tokenizeInternal(u,B)}tokenizeInternal(u,B){let E,A,C,D,F,U,z,k,f,M,b,Z,J,K,w,Q=u,G=Q.length,H=0,l=0,q=this.hasCustom?0:Math.floor(u.length/10),L=Array(q),v=[],x=this.trackStartLines?1:void 0,S=this.trackStartLines?1:void 0,W=Ne0(this.emptyGroups),T=this.trackStartLines,R=this.config.lineTerminatorsPattern,Y=0,h=[],I=[],O=[],V=[];Object.freeze(V);let j=!1,i=N((y)=>{if(O.length===1&&y.tokenType.PUSH_MODE===void 0){let r=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(y);v.push({offset:y.startOffset,line:y.startLine,column:y.startColumn,length:y.image.length,message:r})}else{O.pop();let r=vw(O);h=this.patternIdxToConfig[r],I=this.charCodeToPatternIdxToConfig[r],Y=h.length;let _=this.canModeBeOptimized[r]&&this.config.safeMode===!1;if(I&&_)j=!0;else j=!1}},"pop_mode");function a(y){O.push(y),I=this.charCodeToPatternIdxToConfig[y],h=this.patternIdxToConfig[y],Y=h.length,Y=h.length;let r=this.canModeBeOptimized[y]&&this.config.safeMode===!1;if(I&&r)j=!0;else j=!1}N(a,"push_mode"),a.call(this,B);let $,m=this.config.recoveryEnabled;while(H<G){U=null,f=-1;let y=Q.charCodeAt(H),r;if(j){let e=Yk(y),p=I[e];r=p!==void 0?p:V}else r=h;let _=r.length;for(E=0;E<_;E++){$=r[E];let e=$.pattern;z=null;let p=$.short;if(p!==!1){if(y===p)f=1,U=e}else if($.isCustom===!0)if(w=e.exec(Q,H,L,W),w!==null){if(U=w[0],f=U.length,w.payload!==void 0)z=w.payload}else U=null;else e.lastIndex=H,f=this.matchLength(e,u,H);if(f!==-1){if(F=$.longerAlt,F!==void 0){U=u.substring(H,H+f);let b0=F.length;for(C=0;C<b0;C++){let B0=h[F[C]],k0=B0.pattern;if(k=null,B0.isCustom===!0)if(w=k0.exec(Q,H,L,W),w!==null){if(D=w[0],w.payload!==void 0)k=w.payload}else D=null;else k0.lastIndex=H,D=this.match(k0,u,H);if(D&&D.length>U.length){U=D,f=D.length,z=k,$=B0;break}}}break}}if(f!==-1){if(M=$.group,M!==void 0)if(U=U!==null?U:u.substring(H,H+f),b=$.tokenTypeIdx,Z=this.createTokenInstance(U,H,b,$.tokenType,x,S,f),this.handlePayload(Z,z),M===!1)l=this.addToken(L,l,Z);else W[M].push(Z);if(T===!0&&$.canLineTerminator===!0){let e=0,p,b0;R.lastIndex=0;do if(U=U!==null?U:u.substring(H,H+f),p=R.test(U),p===!0)b0=R.lastIndex-1,e++;while(p===!0);if(e!==0)x=x+e,S=f-b0,this.updateTokenEndLineColumnLocation(Z,M,b0,e,x,S,f);else S=this.computeNewColumn(S,f)}else S=this.computeNewColumn(S,f);H=H+f,this.handleModes($,i,a,Z)}else{let e=H,p=x,b0=S,B0=m===!1;while(B0===!1&&H<G){H++;for(A=0;A<Y;A++){let k0=h[A],f0=k0.pattern,D0=k0.short;if(D0!==!1){if(Q.charCodeAt(H)===D0)B0=!0}else if(k0.isCustom===!0)B0=f0.exec(Q,H,L,W)!==null;else f0.lastIndex=H,B0=f0.exec(u)!==null;if(B0===!0)break}}if(J=H-e,S=this.computeNewColumn(S,J),K=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(Q,e,J,p,b0,vw(O)),v.push({offset:e,line:p,column:b0,length:J,message:K}),m===!1)break}}if(!this.hasCustom)L.length=l;return{tokens:L,groups:W,errors:v}}handleModes(u,B,E,A){if(u.pop===!0){let C=u.push;if(B(A),C!==void 0)E.call(this,C)}else if(u.push!==void 0)E.call(this,u.push)}updateTokenEndLineColumnLocation(u,B,E,A,C,D,F){let U,z;if(B!==void 0){if(U=E===F-1,z=U?-1:0,!(A===1&&U===!0))u.endLine=C+z,u.endColumn=D-1+-z}}computeNewColumn(u,B){return u+B}createOffsetOnlyToken(u,B,E,A){return{image:u,startOffset:B,tokenTypeIdx:E,tokenType:A}}createStartOnlyToken(u,B,E,A,C,D){return{image:u,startOffset:B,startLine:C,startColumn:D,tokenTypeIdx:E,tokenType:A}}createFullToken(u,B,E,A,C,D,F){return{image:u,startOffset:B,endOffset:B+F-1,startLine:C,endLine:C,startColumn:D,endColumn:D+F-1,tokenTypeIdx:E,tokenType:A}}addTokenUsingPush(u,B,E){return u.push(E),B}addTokenUsingMemberAccess(u,B,E){return u[B]=E,B++,B}handlePayloadNoCustom(u,B){}handlePayloadWithCustom(u,B){if(B!==null)u.payload=B}match(u,B,E){if(u.test(B)===!0)return B.substring(E,u.lastIndex);return null}matchLength(u,B,E){if(u.test(B)===!0)return u.lastIndex-E;return-1}};IB.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";IB.NA=/NOT_APPLICABLE/;N(lw,"tokenLabel");N(IA0,"hasTokenLabel");N(Rl,"createToken");N(pe0,"createTokenInternal");Rb=Rl({name:"EOF",pattern:IB.NA});tl([Rb]);N(rR,"createTokenInstance");N(PA0,"tokenMatcher");Wl={buildMismatchTokenMessage({expected:u,actual:B,previous:E,ruleName:A}){return`Expecting ${IA0(u)?`--> ${lw(u)} <--`:`token of type --> ${u.name} <--`} but found --> '${B.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:u,ruleName:B}){return"Redundant input, expecting EOF but found: "+u.image},buildNoViableAltMessage({expectedPathsPerAlt:u,actual:B,previous:E,customUserDescription:A,ruleName:C}){let U=`
but found: '`+sC(B).image+"'";if(A)return"Expecting: "+A+U;else{let z=xE(u,(b,Z)=>b.concat(Z),[]),k=p4(z,(b)=>`[${p4(b,(Z)=>lw(Z)).join(", ")}]`);return`Expecting: one of these possible Token sequences:
${p4(k,(b,Z)=>` ${Z+1}. ${b}`).join(`
`)}`+U}},buildEarlyExitMessage({expectedIterationPaths:u,actual:B,customUserDescription:E,ruleName:A}){let F=`
but found: '`+sC(B).image+"'";if(E)return"Expecting: "+E+F;else return`Expecting: expecting at least one iteration which starts with one of these possible Token sequences::
<${p4(u,(k)=>`[${p4(k,(f)=>lw(f)).join(",")}]`).join(" ,")}>`+F}};Object.freeze(Wl);jR4={buildRuleNotFoundError(u,B){return"Invalid grammar, reference to a rule which is not defined: ->"+B.nonTerminalName+`<-
inside top level rule: ->`+u.name+"<-"}},ww={buildDuplicateFoundError(u,B){function E(f){if(f instanceof p6)return f.terminalType.name;else if(f instanceof jB)return f.nonTerminalName;else return""}N(E,"getExtraProductionArgument");let A=u.name,C=sC(B),D=C.idx,F=rC(C),U=E(C),z=D>0,k=`->${F}${z?D:""}<- ${U?`with argument: ->${U}<-`:""}
appears more than once (${B.length} times) in the top level rule: ->${A}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return k=k.replace(/[ \t]+/g," "),k=k.replace(/\s\s+/g,`
`),k},buildNamespaceConflictError(u){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${u.name}>.
To resolve this make sure each Terminal and Non-Terminal names are unique
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(u){let B=p4(u.prefixPath,(C)=>lw(C)).join(", "),E=u.alternation.idx===0?"":u.alternation.idx;return`Ambiguous alternatives: <${u.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${E}> inside <${u.topLevelRule.name}> Rule,
<${B}> may appears as a prefix path in all these alternatives.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
For Further details.`},buildAlternationAmbiguityError(u){let B=u.alternation.idx===0?"":u.alternation.idx,E=u.prefixPath.length===0,A=`Ambiguous Alternatives Detected: <${u.ambiguityIndices.join(" ,")}> in <OR${B}> inside <${u.topLevelRule.name}> Rule,
`;if(E)A+=`These alternatives are all empty (match no tokens), making them indistinguishable.
Only the last alternative may be empty.
`;else{let C=p4(u.prefixPath,(D)=>lw(D)).join(", ");A+=`<${C}> may appears as a prefix path in all these alternatives.
`}return A+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,A},buildEmptyRepetitionError(u){let B=rC(u.repetition);if(u.repetition.idx!==0)B+=u.repetition.idx;return`The repetition <${B}> within Rule <${u.topLevelRule.name}> can never consume any tokens.
This could lead to an infinite loop.`},buildTokenNameError(u){return"deprecated"},buildEmptyAlternationError(u){return`Ambiguous empty alternative: <${u.emptyChoiceIdx+1}> in <OR${u.alternation.idx}> inside <${u.topLevelRule.name}> Rule.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(u){return`An Alternation cannot have more than 256 alternatives:
<OR${u.alternation.idx}> inside <${u.topLevelRule.name}> Rule.
has ${u.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(u){let B=u.topLevelRule.name,E=p4(u.leftRecursionPath,(D)=>D.name),A=`${B} --> ${E.concat([B]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${B}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is:
${A}
To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(u){return"deprecated"},buildDuplicateRuleNameError(u){let B;if(u.topLevelRule instanceof nl)B=u.topLevelRule.name;else B=u.topLevelRule;return`Duplicate definition, rule: ->${B}<- is already defined in the grammar: ->${u.grammarName}<-`}};N(ne0,"resolveGrammar");NR4=class extends dl{static{N(this,"GastRefResolverVisitor")}constructor(u,B){super();this.nameToTopRule=u,this.errMsgProvider=B,this.errors=[]}resolveRefs(){x3(E5(this.nameToTopRule),(u)=>{this.currTopLevel=u,u.accept(this)})}visitNonTerminal(u){let B=this.nameToTopRule[u.nonTerminalName];if(!B){let E=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,u);this.errors.push({message:E,type:NB.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:u.nonTerminalName})}else u.referencedRule=B}},VR4=class extends Sr{static{N(this,"AbstractNextPossibleTokensWalker")}constructor(u,B){super();this.topProd=u,this.path=B,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=J7(this.path.ruleStack).reverse(),this.occurrenceStack=J7(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(u,B=[]){if(!this.found)super.walk(u,B)}walkProdRef(u,B,E){if(u.referencedRule.name===this.nextProductionName&&u.idx===this.nextProductionOccurrence){let A=B.concat(E);this.updateExpectedNext(),this.walk(u.referencedRule,A)}}updateExpectedNext(){if(j6(this.ruleStack))this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0;else this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop()}},hR4=class extends VR4{static{N(this,"NextAfterTokenWalker")}constructor(u,B){super(u,B);this.path=B,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(u,B,E){if(this.isAtEndOfPath&&u.terminalType.name===this.nextTerminalName&&u.idx===this.nextTerminalOccurrence&&!this.found){let A=B.concat(E),C=new R8({definition:A});this.possibleTokTypes=sl(C),this.found=!0}}},Rr=class extends Sr{static{N(this,"AbstractNextTerminalAfterProductionWalker")}constructor(u,B){super();this.topRule=u,this.occurrence=B,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},iR4=class extends Rr{static{N(this,"NextTerminalAfterManyWalker")}walkMany(u,B,E){if(u.idx===this.occurrence){let A=sC(B.concat(E));if(this.result.isEndOfRule=A===void 0,A instanceof p6)this.result.token=A.terminalType,this.result.occurrence=A.idx}else super.walkMany(u,B,E)}},Jp0=class extends Rr{static{N(this,"NextTerminalAfterManySepWalker")}walkManySep(u,B,E){if(u.idx===this.occurrence){let A=sC(B.concat(E));if(this.result.isEndOfRule=A===void 0,A instanceof p6)this.result.token=A.terminalType,this.result.occurrence=A.idx}else super.walkManySep(u,B,E)}},aR4=class extends Rr{static{N(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(u,B,E){if(u.idx===this.occurrence){let A=sC(B.concat(E));if(this.result.isEndOfRule=A===void 0,A instanceof p6)this.result.token=A.terminalType,this.result.occurrence=A.idx}else super.walkAtLeastOne(u,B,E)}},Kp0=class extends Rr{static{N(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(u,B,E){if(u.idx===this.occurrence){let A=sC(B.concat(E));if(this.result.isEndOfRule=A===void 0,A instanceof p6)this.result.token=A.terminalType,this.result.occurrence=A.idx}else super.walkAtLeastOneSep(u,B,E)}};N(uy,"possiblePathsFrom");N(jA0,"nextPossibleTokensAfter");N(de0,"expandTopLevelRule");(function(u){u[u.OPTION=0]="OPTION",u[u.REPETITION=1]="REPETITION",u[u.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",u[u.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",u[u.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",u[u.ALTERNATION=5]="ALTERNATION"})(L9||(L9={}));N(Tr,"getProdType");N(J80,"getLookaheadPaths");N(se0,"buildLookaheadFuncForOr");N(oe0,"buildLookaheadFuncForOptionalProd");N(te0,"buildAlternativesLookAheadFunc");N(ee0,"buildSingleAlternativeLookaheadFunction");mR4=class extends Sr{static{N(this,"RestDefinitionFinderWalker")}constructor(u,B,E){super();this.topProd=u,this.targetOccurrence=B,this.targetProdType=E}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(u,B,E,A){if(u.idx===this.targetOccurrence&&this.targetProdType===B)return this.restDef=E.concat(A),!0;return!1}walkOption(u,B,E){if(!this.checkIsTarget(u,L9.OPTION,B,E))super.walkOption(u,B,E)}walkAtLeastOne(u,B,E){if(!this.checkIsTarget(u,L9.REPETITION_MANDATORY,B,E))super.walkOption(u,B,E)}walkAtLeastOneSep(u,B,E){if(!this.checkIsTarget(u,L9.REPETITION_MANDATORY_WITH_SEPARATOR,B,E))super.walkOption(u,B,E)}walkMany(u,B,E){if(!this.checkIsTarget(u,L9.REPETITION,B,E))super.walkOption(u,B,E)}walkManySep(u,B,E){if(!this.checkIsTarget(u,L9.REPETITION_WITH_SEPARATOR,B,E))super.walkOption(u,B,E)}},u0u=class extends dl{static{N(this,"InsideDefinitionFinderVisitor")}constructor(u,B,E){super();this.targetOccurrence=u,this.targetProdType=B,this.targetRef=E,this.result=[]}checkIsTarget(u,B){if(u.idx===this.targetOccurrence&&this.targetProdType===B&&(this.targetRef===void 0||u===this.targetRef))this.result=u.definition}visitOption(u){this.checkIsTarget(u,L9.OPTION)}visitRepetition(u){this.checkIsTarget(u,L9.REPETITION)}visitRepetitionMandatory(u){this.checkIsTarget(u,L9.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(u){this.checkIsTarget(u,L9.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(u){this.checkIsTarget(u,L9.REPETITION_WITH_SEPARATOR)}visitAlternation(u){this.checkIsTarget(u,L9.ALTERNATION)}};N(K80,"initializeArrayOfArrays");N(H$,"pathToHashKeys");N(B0u,"isUniquePrefixHash");N(NA0,"lookAheadSequenceFromAlternatives");N(gR,"getLookaheadPathsForOr");N(cR,"getLookaheadPathsForOptionalProd");N(By,"containsPath");N(E0u,"isStrictPrefixOfPath");N(VA0,"areTokenCategoriesNotUsed");N(A0u,"validateLookahead");N(C0u,"validateGrammar");N(D0u,"validateDuplicateProductions");N(F0u,"identifyProductionForDuplicates");N(hA0,"getExtraProductionArgument");$R4=class extends dl{static{N(this,"OccurrenceValidationCollector")}constructor(){super(...arguments);this.allProductions=[]}visitNonTerminal(u){this.allProductions.push(u)}visitOption(u){this.allProductions.push(u)}visitRepetitionWithSeparator(u){this.allProductions.push(u)}visitRepetitionMandatory(u){this.allProductions.push(u)}visitRepetitionMandatoryWithSeparator(u){this.allProductions.push(u)}visitRepetition(u){this.allProductions.push(u)}visitAlternation(u){this.allProductions.push(u)}visitTerminal(u){this.allProductions.push(u)}};N(U0u,"validateRuleDoesNotAlreadyExist");N(z0u,"validateRuleIsOverridden");N(iA0,"validateNoLeftRecursion");N(sY,"getFirstNoneTerminal");aA0=class extends dl{static{N(this,"OrCollector")}constructor(){super(...arguments);this.alternations=[]}visitAlternation(u){this.alternations.push(u)}};N(k0u,"validateEmptyOrAlternative");N(f0u,"validateAmbiguousAlternationAlternatives");yR4=class extends dl{static{N(this,"RepetitionCollector")}constructor(){super(...arguments);this.allProductions=[]}visitRepetitionWithSeparator(u){this.allProductions.push(u)}visitRepetitionMandatory(u){this.allProductions.push(u)}visitRepetitionMandatoryWithSeparator(u){this.allProductions.push(u)}visitRepetition(u){this.allProductions.push(u)}};N(M0u,"validateTooManyAlts");N(b0u,"validateSomeNonEmptyLookaheadPath");N(Z0u,"checkAlternativesAmbiguities");N(J0u,"checkPrefixAlternativesAmbiguities");N(K0u,"checkTerminalAndNoneTerminalsNameSpace");N(w0u,"resolveGrammar");N(Q0u,"validateGrammar");L0u=[G0u,H0u,q0u,l0u];Object.freeze(L0u);N(QR,"isRecognitionException");Or=class extends Error{static{N(this,"RecognitionException")}constructor(u,B){super(u);if(this.token=B,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}},X0u=class extends Or{static{N(this,"MismatchedTokenException")}constructor(u,B,E){super(u,B);this.previousToken=E,this.name=G0u}},rR4=class extends Or{static{N(this,"NoViableAltException")}constructor(u,B,E){super(u,B);this.previousToken=E,this.name=H0u}},gR4=class extends Or{static{N(this,"NotAllInputParsedException")}constructor(u,B){super(u,B);this.name=l0u}},cR4=class extends Or{static{N(this,"EarlyExitException")}constructor(u,B,E){super(u,B);this.previousToken=E,this.name=q0u}},i70={},_R4=class extends Error{static{N(this,"InRuleRecoveryException")}constructor(u){super(u);this.name=v0u}},pR4=class{static{N(this,"Recoverable")}initRecoverable(u){if(this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Z3(u,"recoveryEnabled")?u.recoveryEnabled:Rk.recoveryEnabled,this.recoveryEnabled)this.attemptInRepetitionRecovery=x0u}getTokenToInsert(u){let B=rR(u,"",NaN,NaN,NaN,NaN,NaN,NaN);return B.isInsertedInRecovery=!0,B}canTokenTypeBeInsertedInRecovery(u){return!0}canTokenTypeBeDeletedInRecovery(u){return!0}tryInRepetitionRecovery(u,B,E,A){let C=this.findReSyncTokenType(),D=this.exportLexerState(),F=[],U=!1,z=this.LA(1),k=this.LA(1),f=N(()=>{let M=this.LA(0),b=this.errorMessageProvider.buildMismatchTokenMessage({expected:A,actual:z,previous:M,ruleName:this.getCurrRuleFullName()}),Z=new X0u(b,z,this.LA(0));Z.resyncedTokens=JR(F),this.SAVE_ERROR(Z)},"generateErrorMessage");while(!U)if(this.tokenMatcher(k,A)){f();return}else if(E.call(this)){f(),u.apply(this,B);return}else if(this.tokenMatcher(k,C))U=!0;else k=this.SKIP_TOKEN(),this.addToResyncTokens(k,F);this.importLexerState(D)}shouldInRepetitionRecoveryBeTried(u,B,E){if(E===!1)return!1;if(this.tokenMatcher(this.LA(1),u))return!1;if(this.isBackTracking())return!1;if(this.canPerformInRuleRecovery(u,this.getFollowsForInRuleRecovery(u,B)))return!1;return!0}getFollowsForInRuleRecovery(u,B){let E=this.getCurrentGrammarPath(u,B);return this.getNextPossibleTokenTypes(E)}tryInRuleRecovery(u,B){if(this.canRecoverWithSingleTokenInsertion(u,B))return this.getTokenToInsert(u);if(this.canRecoverWithSingleTokenDeletion(u)){let E=this.SKIP_TOKEN();return this.consumeToken(),E}throw new _R4("sad sad panda")}canPerformInRuleRecovery(u,B){return this.canRecoverWithSingleTokenInsertion(u,B)||this.canRecoverWithSingleTokenDeletion(u)}canRecoverWithSingleTokenInsertion(u,B){if(!this.canTokenTypeBeInsertedInRecovery(u))return!1;if(j6(B))return!1;let E=this.LA(1);return yl(B,(C)=>{return this.tokenMatcher(E,C)})!==void 0}canRecoverWithSingleTokenDeletion(u){if(!this.canTokenTypeBeDeletedInRecovery(u))return!1;return this.tokenMatcher(this.LA(2),u)}isInCurrentRuleReSyncSet(u){let B=this.getCurrFollowKey(),E=this.getFollowSetFromFollowKey(B);return hB(E,u)}findReSyncTokenType(){let u=this.flattenFollowSet(),B=this.LA(1),E=2;while(!0){let A=yl(u,(C)=>{return PA0(B,C)});if(A!==void 0)return A;B=this.LA(E),E++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return i70;let u=this.getLastExplicitRuleShortName(),B=this.getLastExplicitRuleOccurrenceIndex(),E=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(u),idxInCallingRule:B,inRule:this.shortRuleNameToFullName(E)}}buildFullFollowKeyStack(){let u=this.RULE_STACK,B=this.RULE_OCCURRENCE_STACK;return p4(u,(E,A)=>{if(A===0)return i70;return{ruleName:this.shortRuleNameToFullName(E),idxInCallingRule:B[A],inRule:this.shortRuleNameToFullName(u[A-1])}})}flattenFollowSet(){let u=p4(this.buildFullFollowKeyStack(),(B)=>{return this.getFollowSetFromFollowKey(B)});return pC(u)}getFollowSetFromFollowKey(u){if(u===i70)return[Rb];let B=u.ruleName+u.idxInCallingRule+fe0+u.inRule;return this.resyncFollows[B]}addToResyncTokens(u,B){if(!this.tokenMatcher(u,Rb))B.push(u);return B}reSyncTo(u){let B=[],E=this.LA(1);while(this.tokenMatcher(E,u)===!1)E=this.SKIP_TOKEN(),this.addToResyncTokens(E,B);return JR(B)}attemptInRepetitionRecovery(u,B,E,A,C,D,F){}getCurrentGrammarPath(u,B){let E=this.getHumanReadableRuleStack(),A=J7(this.RULE_OCCURRENCE_STACK);return{ruleStack:E,occurrenceStack:A,lastTok:u,lastTokOccurrence:B}}getHumanReadableRuleStack(){return p4(this.RULE_STACK,(u)=>this.shortRuleNameToFullName(u))}};N(x0u,"attemptInRepetitionRecovery");W0u=1<<Nb,S0u=2<<Nb,w80=3<<Nb,Q80=4<<Nb,G80=5<<Nb,q$=6<<Nb;N(l$,"getKeyForAutomaticLookahead");ED1=32-dR4,mA0=class{static{N(this,"LLkLookaheadStrategy")}constructor(u){var B;this.maxLookahead=(B=u===null||u===void 0?void 0:u.maxLookahead)!==null&&B!==void 0?B:Rk.maxLookahead}validate(u){let B=this.validateNoLeftRecursion(u.rules);if(j6(B)){let E=this.validateEmptyOrAlternatives(u.rules),A=this.validateAmbiguousAlternationAlternatives(u.rules,this.maxLookahead),C=this.validateSomeNonEmptyLookaheadPath(u.rules,this.maxLookahead);return[...B,...E,...A,...C]}return B}validateNoLeftRecursion(u){return xA(u,(B)=>iA0(B,B,ww))}validateEmptyOrAlternatives(u){return xA(u,(B)=>k0u(B,ww))}validateAmbiguousAlternationAlternatives(u,B){return xA(u,(E)=>f0u(E,B,ww))}validateSomeNonEmptyLookaheadPath(u,B){return b0u(u,B,ww)}buildLookaheadForAlternation(u){return se0(u.prodOccurrence,u.rule,u.maxLookahead,u.hasPredicates,u.dynamicTokensEnabled,te0)}buildLookaheadForOptional(u){return oe0(u.prodOccurrence,u.rule,u.maxLookahead,u.dynamicTokensEnabled,Tr(u.prodType),ee0)}},sR4=class{static{N(this,"LooksAhead")}initLooksAhead(u){this.dynamicTokensEnabled=Z3(u,"dynamicTokensEnabled")?u.dynamicTokensEnabled:Rk.dynamicTokensEnabled,this.maxLookahead=Z3(u,"maxLookahead")?u.maxLookahead:Rk.maxLookahead,this.lookaheadStrategy=Z3(u,"lookaheadStrategy")?u.lookaheadStrategy:new mA0({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(u){x3(u,(B)=>{this.TRACE_INIT(`${B.name} Rule Lookahead`,()=>{let{alternation:E,repetition:A,option:C,repetitionMandatory:D,repetitionMandatoryWithSeparator:F,repetitionWithSeparator:U}=Y0u(B);x3(E,(z)=>{let k=z.idx===0?"":z.idx;this.TRACE_INIT(`${rC(z)}${k}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:z.idx,rule:B,maxLookahead:z.maxLookahead||this.maxLookahead,hasPredicates:z.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),M=l$(this.fullRuleNameToShort[B.name],W0u,z.idx);this.setLaFuncCache(M,f)})}),x3(A,(z)=>{this.computeLookaheadFunc(B,z.idx,w80,"Repetition",z.maxLookahead,rC(z))}),x3(C,(z)=>{this.computeLookaheadFunc(B,z.idx,S0u,"Option",z.maxLookahead,rC(z))}),x3(D,(z)=>{this.computeLookaheadFunc(B,z.idx,Q80,"RepetitionMandatory",z.maxLookahead,rC(z))}),x3(F,(z)=>{this.computeLookaheadFunc(B,z.idx,q$,"RepetitionMandatoryWithSeparator",z.maxLookahead,rC(z))}),x3(U,(z)=>{this.computeLookaheadFunc(B,z.idx,G80,"RepetitionWithSeparator",z.maxLookahead,rC(z))})})})}computeLookaheadFunc(u,B,E,A,C,D){this.TRACE_INIT(`${D}${B===0?"":B}`,()=>{let F=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:B,rule:u,maxLookahead:C||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:A}),U=l$(this.fullRuleNameToShort[u.name],E,B);this.setLaFuncCache(U,F)})}getKeyForAutomaticLookahead(u,B){let E=this.getLastExplicitRuleShortName();return l$(E,u,B)}getLaFuncFromCache(u){return this.lookAheadFuncsCache.get(u)}setLaFuncCache(u,B){this.lookAheadFuncsCache.set(u,B)}},oR4=class extends dl{static{N(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments);this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(u){this.dslMethods.option.push(u)}visitRepetitionWithSeparator(u){this.dslMethods.repetitionWithSeparator.push(u)}visitRepetitionMandatory(u){this.dslMethods.repetitionMandatory.push(u)}visitRepetitionMandatoryWithSeparator(u){this.dslMethods.repetitionMandatoryWithSeparator.push(u)}visitRepetition(u){this.dslMethods.repetition.push(u)}visitAlternation(u){this.dslMethods.alternation.push(u)}},_m=new oR4;N(Y0u,"collectMethods");N(H80,"setNodeLocationOnlyOffset");N(q80,"setNodeLocationFull");N(R0u,"addTerminalToCst");N(T0u,"addNoneTerminalToCst");N($A0,"defineNameProp");N(O0u,"defaultVisit");N(I0u,"createBaseSemanticVisitorConstructor");N(P0u,"createBaseVisitorConstructorWithDefaults");(function(u){u[u.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",u[u.MISSING_METHOD=1]="MISSING_METHOD"})(l80||(l80={}));N(j0u,"validateVisitor");N(N0u,"validateMissingCstMethods");eR4=class{static{N(this,"TreeBuilder")}initTreeBuilder(u){if(this.CST_STACK=[],this.outputCst=u.outputCst,this.nodeLocationTracking=Z3(u,"nodeLocationTracking")?u.nodeLocationTracking:Rk.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=P5,this.cstFinallyStateUpdate=P5,this.cstPostTerminal=P5,this.cstPostNonTerminal=P5,this.cstPostRule=P5;else if(/full/i.test(this.nodeLocationTracking))if(this.recoveryEnabled)this.setNodeLocationFromToken=q80,this.setNodeLocationFromNode=q80,this.cstPostRule=P5,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery;else this.setNodeLocationFromToken=P5,this.setNodeLocationFromNode=P5,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular;else if(/onlyOffset/i.test(this.nodeLocationTracking))if(this.recoveryEnabled)this.setNodeLocationFromToken=H80,this.setNodeLocationFromNode=H80,this.cstPostRule=P5,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery;else this.setNodeLocationFromToken=P5,this.setNodeLocationFromNode=P5,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular;else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=P5,this.setNodeLocationFromNode=P5,this.cstPostRule=P5,this.setInitialNodeLocation=P5;else throw Error(`Invalid <nodeLocationTracking> config option: "${u.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(u){u.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(u){u.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(u){u.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(u){let B=this.LA(1);u.location={startOffset:B.startOffset,startLine:B.startLine,startColumn:B.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(u){let B={name:u,children:Object.create(null)};this.setInitialNodeLocation(B),this.CST_STACK.push(B)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(u){let B=this.LA(0),E=u.location;if(E.startOffset<=B.startOffset===!0)E.endOffset=B.endOffset,E.endLine=B.endLine,E.endColumn=B.endColumn;else E.startOffset=NaN,E.startLine=NaN,E.startColumn=NaN}cstPostRuleOnlyOffset(u){let B=this.LA(0),E=u.location;if(E.startOffset<=B.startOffset===!0)E.endOffset=B.endOffset;else E.startOffset=NaN}cstPostTerminal(u,B){let E=this.CST_STACK[this.CST_STACK.length-1];R0u(E,B,u),this.setNodeLocationFromToken(E.location,B)}cstPostNonTerminal(u,B){let E=this.CST_STACK[this.CST_STACK.length-1];T0u(E,B,u),this.setNodeLocationFromNode(E.location,u.location)}getBaseCstVisitorConstructor(){if(Sk(this.baseCstVisitorConstructor)){let u=I0u(this.className,XE(this.gastProductionsCache));return this.baseCstVisitorConstructor=u,u}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Sk(this.baseCstVisitorWithDefaultsConstructor)){let u=P0u(this.className,XE(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=u,u}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let u=this.RULE_STACK;return u[u.length-1]}getPreviousExplicitRuleShortName(){let u=this.RULE_STACK;return u[u.length-2]}getLastExplicitRuleOccurrenceIndex(){let u=this.RULE_OCCURRENCE_STACK;return u[u.length-1]}},uT4=class{static{N(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(u){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=u,this.tokVectorLength=u.length}get input(){return this.tokVector}SKIP_TOKEN(){if(this.currIdx<=this.tokVector.length-2)return this.consumeToken(),this.LA(1);else return Ey}LA(u){let B=this.currIdx+u;if(B<0||this.tokVectorLength<=B)return Ey;else return this.tokVector[B]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(u){this.currIdx=u}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},BT4=class{static{N(this,"RecognizerApi")}ACTION(u){return u.call(this)}consume(u,B,E){return this.consumeInternal(B,u,E)}subrule(u,B,E){return this.subruleInternal(B,u,E)}option(u,B){return this.optionInternal(B,u)}or(u,B){return this.orInternal(B,u)}many(u,B){return this.manyInternal(u,B)}atLeastOne(u,B){return this.atLeastOneInternal(u,B)}CONSUME(u,B){return this.consumeInternal(u,0,B)}CONSUME1(u,B){return this.consumeInternal(u,1,B)}CONSUME2(u,B){return this.consumeInternal(u,2,B)}CONSUME3(u,B){return this.consumeInternal(u,3,B)}CONSUME4(u,B){return this.consumeInternal(u,4,B)}CONSUME5(u,B){return this.consumeInternal(u,5,B)}CONSUME6(u,B){return this.consumeInternal(u,6,B)}CONSUME7(u,B){return this.consumeInternal(u,7,B)}CONSUME8(u,B){return this.consumeInternal(u,8,B)}CONSUME9(u,B){return this.consumeInternal(u,9,B)}SUBRULE(u,B){return this.subruleInternal(u,0,B)}SUBRULE1(u,B){return this.subruleInternal(u,1,B)}SUBRULE2(u,B){return this.subruleInternal(u,2,B)}SUBRULE3(u,B){return this.subruleInternal(u,3,B)}SUBRULE4(u,B){return this.subruleInternal(u,4,B)}SUBRULE5(u,B){return this.subruleInternal(u,5,B)}SUBRULE6(u,B){return this.subruleInternal(u,6,B)}SUBRULE7(u,B){return this.subruleInternal(u,7,B)}SUBRULE8(u,B){return this.subruleInternal(u,8,B)}SUBRULE9(u,B){return this.subruleInternal(u,9,B)}OPTION(u){return this.optionInternal(u,0)}OPTION1(u){return this.optionInternal(u,1)}OPTION2(u){return this.optionInternal(u,2)}OPTION3(u){return this.optionInternal(u,3)}OPTION4(u){return this.optionInternal(u,4)}OPTION5(u){return this.optionInternal(u,5)}OPTION6(u){return this.optionInternal(u,6)}OPTION7(u){return this.optionInternal(u,7)}OPTION8(u){return this.optionInternal(u,8)}OPTION9(u){return this.optionInternal(u,9)}OR(u){return this.orInternal(u,0)}OR1(u){return this.orInternal(u,1)}OR2(u){return this.orInternal(u,2)}OR3(u){return this.orInternal(u,3)}OR4(u){return this.orInternal(u,4)}OR5(u){return this.orInternal(u,5)}OR6(u){return this.orInternal(u,6)}OR7(u){return this.orInternal(u,7)}OR8(u){return this.orInternal(u,8)}OR9(u){return this.orInternal(u,9)}MANY(u){this.manyInternal(0,u)}MANY1(u){this.manyInternal(1,u)}MANY2(u){this.manyInternal(2,u)}MANY3(u){this.manyInternal(3,u)}MANY4(u){this.manyInternal(4,u)}MANY5(u){this.manyInternal(5,u)}MANY6(u){this.manyInternal(6,u)}MANY7(u){this.manyInternal(7,u)}MANY8(u){this.manyInternal(8,u)}MANY9(u){this.manyInternal(9,u)}MANY_SEP(u){this.manySepFirstInternal(0,u)}MANY_SEP1(u){this.manySepFirstInternal(1,u)}MANY_SEP2(u){this.manySepFirstInternal(2,u)}MANY_SEP3(u){this.manySepFirstInternal(3,u)}MANY_SEP4(u){this.manySepFirstInternal(4,u)}MANY_SEP5(u){this.manySepFirstInternal(5,u)}MANY_SEP6(u){this.manySepFirstInternal(6,u)}MANY_SEP7(u){this.manySepFirstInternal(7,u)}MANY_SEP8(u){this.manySepFirstInternal(8,u)}MANY_SEP9(u){this.manySepFirstInternal(9,u)}AT_LEAST_ONE(u){this.atLeastOneInternal(0,u)}AT_LEAST_ONE1(u){return this.atLeastOneInternal(1,u)}AT_LEAST_ONE2(u){this.atLeastOneInternal(2,u)}AT_LEAST_ONE3(u){this.atLeastOneInternal(3,u)}AT_LEAST_ONE4(u){this.atLeastOneInternal(4,u)}AT_LEAST_ONE5(u){this.atLeastOneInternal(5,u)}AT_LEAST_ONE6(u){this.atLeastOneInternal(6,u)}AT_LEAST_ONE7(u){this.atLeastOneInternal(7,u)}AT_LEAST_ONE8(u){this.atLeastOneInternal(8,u)}AT_LEAST_ONE9(u){this.atLeastOneInternal(9,u)}AT_LEAST_ONE_SEP(u){this.atLeastOneSepFirstInternal(0,u)}AT_LEAST_ONE_SEP1(u){this.atLeastOneSepFirstInternal(1,u)}AT_LEAST_ONE_SEP2(u){this.atLeastOneSepFirstInternal(2,u)}AT_LEAST_ONE_SEP3(u){this.atLeastOneSepFirstInternal(3,u)}AT_LEAST_ONE_SEP4(u){this.atLeastOneSepFirstInternal(4,u)}AT_LEAST_ONE_SEP5(u){this.atLeastOneSepFirstInternal(5,u)}AT_LEAST_ONE_SEP6(u){this.atLeastOneSepFirstInternal(6,u)}AT_LEAST_ONE_SEP7(u){this.atLeastOneSepFirstInternal(7,u)}AT_LEAST_ONE_SEP8(u){this.atLeastOneSepFirstInternal(8,u)}AT_LEAST_ONE_SEP9(u){this.atLeastOneSepFirstInternal(9,u)}RULE(u,B,E=Ay){if(hB(this.definedRulesNames,u)){let D={message:ww.buildDuplicateRuleNameError({topLevelRule:u,grammarName:this.className}),type:NB.DUPLICATE_RULE_NAME,ruleName:u};this.definitionErrors.push(D)}this.definedRulesNames.push(u);let A=this.defineRule(u,B,E);return this[u]=A,A}OVERRIDE_RULE(u,B,E=Ay){let A=z0u(u,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(A);let C=this.defineRule(u,B,E);return this[u]=C,C}BACKTRACK(u,B){return function(){this.isBackTrackingStack.push(1);let E=this.saveRecogState();try{return u.apply(this,B),!0}catch(A){if(QR(A))return!1;else throw A}finally{this.reloadRecogState(E),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Ce0(E5(this.gastProductionsCache))}},ET4=class{static{N(this,"RecognizerEngine")}initRecognizerEngine(u,B){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=wR,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Z3(B,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(R1(u)){if(j6(u))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor
is no longer a Token vector (since v4.0).`);if(typeof u[0].startOffset==="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(R1(u))this.tokensMap=xE(u,(C,D)=>{return C[D.name]=D,C},{});else if(Z3(u,"modes")&&nC(pC(E5(u.modes)),_e0)){let C=pC(E5(u.modes)),D=XA0(C);this.tokensMap=xE(D,(F,U)=>{return F[U.name]=U,F},{})}else if(SA(u))this.tokensMap=J7(u);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Rb;let E=Z3(u,"modes")?pC(E5(u.modes)):E5(u),A=nC(E,(C)=>j6(C.categoryMatches));this.tokenMatcher=A?wR:ol,tl(E5(this.tokensMap))}defineRule(u,B,E){if(this.selfAnalysisDone)throw Error(`Grammar rule <${u}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let A=Z3(E,"resyncEnabled")?E.resyncEnabled:Ay.resyncEnabled,C=Z3(E,"recoveryValueFunc")?E.recoveryValueFunc:Ay.recoveryValueFunc,D=this.ruleShortNameIdx<<nR4+Nb;this.ruleShortNameIdx++,this.shortRuleNameToFull[D]=u,this.fullRuleNameToShort[u]=D;let F;if(this.outputCst===!0)F=N(function(...k){try{this.ruleInvocationStateUpdate(D,u,this.subruleIdx),B.apply(this,k);let f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,A,C)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry");else F=N(function(...k){try{return this.ruleInvocationStateUpdate(D,u,this.subruleIdx),B.apply(this,k)}catch(f){return this.invokeRuleCatch(f,A,C)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst");return Object.assign(F,{ruleName:u,originalGrammarAction:B})}invokeRuleCatch(u,B,E){let A=this.RULE_STACK.length===1,C=B&&!this.isBackTracking()&&this.recoveryEnabled;if(QR(u)){let D=u;if(C){let F=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(F))if(D.resyncedTokens=this.reSyncTo(F),this.outputCst){let U=this.CST_STACK[this.CST_STACK.length-1];return U.recoveredNode=!0,U}else return E(u);else{if(this.outputCst){let U=this.CST_STACK[this.CST_STACK.length-1];U.recoveredNode=!0,D.partialCstResult=U}throw D}}else if(A)return this.moveToTerminatedState(),E(u);else throw D}else throw u}optionInternal(u,B){let E=this.getKeyForAutomaticLookahead(S0u,B);return this.optionInternalLogic(u,B,E)}optionInternalLogic(u,B,E){let A=this.getLaFuncFromCache(E),C;if(typeof u!=="function"){C=u.DEF;let D=u.GATE;if(D!==void 0){let F=A;A=N(()=>{return D.call(this)&&F.call(this)},"lookAheadFunc")}}else C=u;if(A.call(this)===!0)return C.call(this);return}atLeastOneInternal(u,B){let E=this.getKeyForAutomaticLookahead(Q80,u);return this.atLeastOneInternalLogic(u,B,E)}atLeastOneInternalLogic(u,B,E){let A=this.getLaFuncFromCache(E),C;if(typeof B!=="function"){C=B.DEF;let D=B.GATE;if(D!==void 0){let F=A;A=N(()=>{return D.call(this)&&F.call(this)},"lookAheadFunc")}}else C=B;if(A.call(this)===!0){let D=this.doSingleRepetition(C);while(A.call(this)===!0&&D===!0)D=this.doSingleRepetition(C)}else throw this.raiseEarlyExitException(u,L9.REPETITION_MANDATORY,B.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[u,B],A,Q80,u,aR4)}atLeastOneSepFirstInternal(u,B){let E=this.getKeyForAutomaticLookahead(q$,u);this.atLeastOneSepFirstInternalLogic(u,B,E)}atLeastOneSepFirstInternalLogic(u,B,E){let{DEF:A,SEP:C}=B;if(this.getLaFuncFromCache(E).call(this)===!0){A.call(this);let F=N(()=>{return this.tokenMatcher(this.LA(1),C)},"separatorLookAheadFunc");while(this.tokenMatcher(this.LA(1),C)===!0)this.CONSUME(C),A.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[u,C,F,A,Kp0],F,q$,u,Kp0)}else throw this.raiseEarlyExitException(u,L9.REPETITION_MANDATORY_WITH_SEPARATOR,B.ERR_MSG)}manyInternal(u,B){let E=this.getKeyForAutomaticLookahead(w80,u);return this.manyInternalLogic(u,B,E)}manyInternalLogic(u,B,E){let A=this.getLaFuncFromCache(E),C;if(typeof B!=="function"){C=B.DEF;let F=B.GATE;if(F!==void 0){let U=A;A=N(()=>{return F.call(this)&&U.call(this)},"lookaheadFunction")}}else C=B;let D=!0;while(A.call(this)===!0&&D===!0)D=this.doSingleRepetition(C);this.attemptInRepetitionRecovery(this.manyInternal,[u,B],A,w80,u,iR4,D)}manySepFirstInternal(u,B){let E=this.getKeyForAutomaticLookahead(G80,u);this.manySepFirstInternalLogic(u,B,E)}manySepFirstInternalLogic(u,B,E){let{DEF:A,SEP:C}=B;if(this.getLaFuncFromCache(E).call(this)===!0){A.call(this);let F=N(()=>{return this.tokenMatcher(this.LA(1),C)},"separatorLookAheadFunc");while(this.tokenMatcher(this.LA(1),C)===!0)this.CONSUME(C),A.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[u,C,F,A,Jp0],F,G80,u,Jp0)}}repetitionSepSecondInternal(u,B,E,A,C){while(E())this.CONSUME(B),A.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[u,B,E,A,C],E,q$,u,C)}doSingleRepetition(u){let B=this.getLexerPosition();return u.call(this),this.getLexerPosition()>B}orInternal(u,B){let E=this.getKeyForAutomaticLookahead(W0u,B),A=R1(u)?u:u.DEF,D=this.getLaFuncFromCache(E).call(this,A);if(D!==void 0)return A[D].ALT.call(this);this.raiseNoAltException(B,u.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let u=this.LA(1),B=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:u,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new gR4(B,u))}}subruleInternal(u,B,E){let A;try{let C=E!==void 0?E.ARGS:void 0;return this.subruleIdx=B,A=u.apply(this,C),this.cstPostNonTerminal(A,E!==void 0&&E.LABEL!==void 0?E.LABEL:u.ruleName),A}catch(C){throw this.subruleInternalError(C,E,u.ruleName)}}subruleInternalError(u,B,E){if(QR(u)&&u.partialCstResult!==void 0)this.cstPostNonTerminal(u.partialCstResult,B!==void 0&&B.LABEL!==void 0?B.LABEL:E),delete u.partialCstResult;throw u}consumeInternal(u,B,E){let A;try{let C=this.LA(1);if(this.tokenMatcher(C,u)===!0)this.consumeToken(),A=C;else this.consumeInternalError(u,C,E)}catch(C){A=this.consumeInternalRecovery(u,B,C)}return this.cstPostTerminal(E!==void 0&&E.LABEL!==void 0?E.LABEL:u.name,A),A}consumeInternalError(u,B,E){let A,C=this.LA(0);if(E!==void 0&&E.ERR_MSG)A=E.ERR_MSG;else A=this.errorMessageProvider.buildMismatchTokenMessage({expected:u,actual:B,previous:C,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new X0u(A,B,C))}consumeInternalRecovery(u,B,E){if(this.recoveryEnabled&&E.name==="MismatchedTokenException"&&!this.isBackTracking()){let A=this.getFollowsForInRuleRecovery(u,B);try{return this.tryInRuleRecovery(u,A)}catch(C){if(C.name===v0u)throw E;else throw C}}else throw E}saveRecogState(){let u=this.errors,B=J7(this.RULE_STACK);return{errors:u,lexerState:this.exportLexerState(),RULE_STACK:B,CST_STACK:this.CST_STACK}}reloadRecogState(u){this.errors=u.errors,this.importLexerState(u.lexerState),this.RULE_STACK=u.RULE_STACK}ruleInvocationStateUpdate(u,B,E){this.RULE_OCCURRENCE_STACK.push(E),this.RULE_STACK.push(u),this.cstInvocationStateUpdate(B)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let u=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[u]}shortRuleNameToFullName(u){return this.shortRuleNameToFull[u]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Rb)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},AT4=class{static{N(this,"ErrorHandler")}initErrorHandler(u){this._errors=[],this.errorMessageProvider=Z3(u,"errorMessageProvider")?u.errorMessageProvider:Rk.errorMessageProvider}SAVE_ERROR(u){if(QR(u))return u.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:J7(this.RULE_OCCURRENCE_STACK)},this._errors.push(u),u;else throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return J7(this._errors)}set errors(u){this._errors=u}raiseEarlyExitException(u,B,E){let A=this.getCurrRuleFullName(),C=this.getGAstProductions()[A],F=cR(u,C,B,this.maxLookahead)[0],U=[];for(let k=1;k<=this.maxLookahead;k++)U.push(this.LA(k));let z=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:F,actual:U,previous:this.LA(0),customUserDescription:E,ruleName:A});throw this.SAVE_ERROR(new cR4(z,this.LA(1),this.LA(0)))}raiseNoAltException(u,B){let E=this.getCurrRuleFullName(),A=this.getGAstProductions()[E],C=gR(u,A,this.maxLookahead),D=[];for(let z=1;z<=this.maxLookahead;z++)D.push(this.LA(z));let F=this.LA(0),U=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:C,actual:D,previous:F,customUserDescription:B,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new rR4(U,this.LA(1),F))}},CT4=class{static{N(this,"ContentAssist")}initContentAssist(){}computeContentAssist(u,B){let E=this.gastProductionsCache[u];if(Sk(E))throw Error(`Rule ->${u}<- does not exist in this grammar.`);return jA0([E],B,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(u){let B=sC(u.ruleStack),A=this.getGAstProductions()[B];return new hR4(A,u).startWalking()}},Ir={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(Ir);Qp0=Math.pow(2,Nb)-1,V0u=Rl({name:"RECORDING_PHASE_TOKEN",pattern:IB.NA});tl([V0u]);h0u=rR(V0u,`This IToken indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(h0u);DT4={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},FT4=class{static{N(this,"GastRecorder")}initGastRecorder(u){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let u=0;u<10;u++){let B=u>0?u:"";this[`CONSUME${B}`]=function(E,A){return this.consumeInternalRecord(E,u,A)},this[`SUBRULE${B}`]=function(E,A){return this.subruleInternalRecord(E,u,A)},this[`OPTION${B}`]=function(E){return this.optionInternalRecord(E,u)},this[`OR${B}`]=function(E){return this.orInternalRecord(E,u)},this[`MANY${B}`]=function(E){this.manyInternalRecord(u,E)},this[`MANY_SEP${B}`]=function(E){this.manySepFirstInternalRecord(u,E)},this[`AT_LEAST_ONE${B}`]=function(E){this.atLeastOneInternalRecord(u,E)},this[`AT_LEAST_ONE_SEP${B}`]=function(E){this.atLeastOneSepFirstInternalRecord(u,E)}}this.consume=function(u,B,E){return this.consumeInternalRecord(B,u,E)},this.subrule=function(u,B,E){return this.subruleInternalRecord(B,u,E)},this.option=function(u,B){return this.optionInternalRecord(B,u)},this.or=function(u,B){return this.orInternalRecord(B,u)},this.many=function(u,B){this.manyInternalRecord(u,B)},this.atLeastOne=function(u,B){this.atLeastOneInternalRecord(u,B)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let u=this;for(let B=0;B<10;B++){let E=B>0?B:"";delete u[`CONSUME${E}`],delete u[`SUBRULE${E}`],delete u[`OPTION${E}`],delete u[`OR${E}`],delete u[`MANY${E}`],delete u[`MANY_SEP${E}`],delete u[`AT_LEAST_ONE${E}`],delete u[`AT_LEAST_ONE_SEP${E}`]}delete u.consume,delete u.subrule,delete u.option,delete u.or,delete u.many,delete u.atLeastOne,delete u.ACTION,delete u.BACKTRACK,delete u.LA})}ACTION_RECORD(u){}BACKTRACK_RECORD(u,B){return()=>!0}LA_RECORD(u){return Ey}topLevelRuleRecord(u,B){try{let E=new nl({definition:[],name:u});return E.name=u,this.recordingProdStack.push(E),B.call(this),this.recordingProdStack.pop(),E}catch(E){if(E.KNOWN_RECORDER_ERROR!==!0)try{E.message=E.message+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(A){throw E}throw E}}optionInternalRecord(u,B){return Gl.call(this,Z7,u,B)}atLeastOneInternalRecord(u,B){Gl.call(this,WE,B,u)}atLeastOneSepFirstInternalRecord(u,B){Gl.call(this,SE,B,u,wp0)}manyInternalRecord(u,B){Gl.call(this,r9,B,u)}manySepFirstInternalRecord(u,B){Gl.call(this,T8,B,u,wp0)}orInternalRecord(u,B){return i0u.call(this,u,B)}subruleInternalRecord(u,B,E){if(GR(B),!u||Z3(u,"ruleName")===!1){let F=Error(`<SUBRULE${L80(B)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(u)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw F.KNOWN_RECORDER_ERROR=!0,F}let A=vw(this.recordingProdStack),C=u.ruleName,D=new jB({idx:B,nonTerminalName:C,label:E===null||E===void 0?void 0:E.LABEL,referencedRule:void 0});return A.definition.push(D),this.outputCst?DT4:Ir}consumeInternalRecord(u,B,E){if(GR(B),!OA0(u)){let D=Error(`<CONSUME${L80(B)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(u)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw D.KNOWN_RECORDER_ERROR=!0,D}let A=vw(this.recordingProdStack),C=new p6({idx:B,terminalType:u,label:E===null||E===void 0?void 0:E.LABEL});return A.definition.push(C),h0u}};N(Gl,"recordProd");N(i0u,"recordOrProd");N(L80,"getIdxSuffix");N(GR,"assertMethodIdxIsValid");UT4=class{static{N(this,"PerformanceTracer")}initPerformanceTracer(u){if(Z3(u,"traceInitPerf")){let B=u.traceInitPerf,E=typeof B==="number";this.traceInitMaxIdent=E?B:1/0,this.traceInitPerf=E?B>0:B}else this.traceInitMaxIdent=0,this.traceInitPerf=Rk.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(u,B){if(this.traceInitPerf===!0){this.traceInitIndent++;let E=Array(this.traceInitIndent+1).join("\t");if(this.traceInitIndent<this.traceInitMaxIdent)console.log(`${E}--> <${u}>`);let{time:A,value:C}=xA0(B),D=A>10?console.warn:console.log;if(this.traceInitIndent<this.traceInitMaxIdent)D(`${E}<-- <${u}> time: ${A}ms`);return this.traceInitIndent--,C}else return B()}};N(a0u,"applyMixins");Ey=rR(Rb,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ey);Rk=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Wl,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ay=Object.freeze({recoveryValueFunc:N(()=>{return},"recoveryValueFunc"),resyncEnabled:!0});(function(u){u[u.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",u[u.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",u[u.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",u[u.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",u[u.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",u[u.LEFT_RECURSION=5]="LEFT_RECURSION",u[u.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",u[u.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",u[u.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",u[u.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",u[u.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",u[u.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",u[u.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",u[u.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(NB||(NB={}));N(X80,"EMPTY_ALT");yA0=class u{static{N(this,"Parser")}static performSelfAnalysis(B){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let B;this.selfAnalysisDone=!0;let E=this.className;this.TRACE_INIT("toFastProps",()=>{WA0(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),x3(this.definedRulesNames,(C)=>{let F=this[C].originalGrammarAction,U;this.TRACE_INIT(`${C} Rule`,()=>{U=this.topLevelRuleRecord(C,F)}),this.gastProductionsCache[C]=U})}finally{this.disableRecording()}});let A=[];if(this.TRACE_INIT("Grammar Resolving",()=>{A=w0u({rules:E5(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(A)}),this.TRACE_INIT("Grammar Validations",()=>{if(j6(A)&&this.skipValidations===!1){let C=Q0u({rules:E5(this.gastProductionsCache),tokenTypes:E5(this.tokensMap),errMsgProvider:ww,grammarName:E}),D=A0u({lookaheadStrategy:this.lookaheadStrategy,rules:E5(this.gastProductionsCache),tokenTypes:E5(this.tokensMap),grammarName:E});this.definitionErrors=this.definitionErrors.concat(C,D)}}),j6(this.definitionErrors)){if(this.recoveryEnabled)this.TRACE_INIT("computeAllProdsFollows",()=>{let C=Me0(E5(this.gastProductionsCache));this.resyncFollows=C});this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var C,D;(D=(C=this.lookaheadStrategy).initialize)===null||D===void 0||D.call(C,{rules:E5(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(E5(this.gastProductionsCache))})}if(!u.DEFER_DEFINITION_ERRORS_HANDLING&&!j6(this.definitionErrors))throw B=p4(this.definitionErrors,(C)=>C.message),Error(`Parser Definition Errors detected:
${B.join(`
-------------------------------
`)}`)})}constructor(B,E){this.definitionErrors=[],this.selfAnalysisDone=!1;let A=this;if(A.initErrorHandler(E),A.initLexerAdapter(),A.initLooksAhead(E),A.initRecognizerEngine(B,E),A.initRecoverable(E),A.initTreeBuilder(E),A.initContentAssist(),A.initGastRecorder(E),A.initPerformanceTracer(E),Z3(E,"ignoredIssues"))throw Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=Z3(E,"skipValidations")?E.skipValidations:Rk.skipValidations}};yA0.DEFER_DEFINITION_ERRORS_HANDLING=!1;a0u(yA0,[pR4,sR4,eR4,uT4,ET4,BT4,AT4,CT4,FT4,UT4]);zT4=class extends yA0{static{N(this,"EmbeddedActionsParser")}constructor(u,B=Rk){let E=J7(B);E.outputCst=!1;super(u,E)}};N(m0u,"arrayMap");$0u=m0u;N(y0u,"listCacheClear");kT4=y0u;N(r0u,"eq");g0u=r0u;N(c0u,"assocIndexOf");Pr=c0u,fT4=Array.prototype,MT4=fT4.splice;N(_0u,"listCacheDelete");bT4=_0u;N(p0u,"listCacheGet");ZT4=p0u;N(n0u,"listCacheHas");JT4=n0u;N(d0u,"listCacheSet");KT4=d0u;N($w,"ListCache");$w.prototype.clear=kT4;$w.prototype.delete=bT4;$w.prototype.get=ZT4;$w.prototype.has=JT4;$w.prototype.set=KT4;jr=$w;N(s0u,"stackClear");wT4=s0u;N(o0u,"stackDelete");QT4=o0u;N(t0u,"stackGet");GT4=t0u;N(e0u,"stackHas");HT4=e0u,qT4=typeof global=="object"&&global&&global.Object===Object&&global,uuu=qT4,lT4=typeof self=="object"&&self&&self.Object===Object&&self,LT4=uuu||lT4||Function("return this")(),jk=LT4,XT4=jk.Symbol,ZU=XT4,Buu=Object.prototype,vT4=Buu.hasOwnProperty,xT4=Buu.toString,HY=ZU?ZU.toStringTag:void 0;N(Euu,"getRawTag");WT4=Euu,ST4=Object.prototype,YT4=ST4.toString;N(Auu,"objectToString");RT4=Auu,Gp0=ZU?ZU.toStringTag:void 0;N(Cuu,"baseGetTag");el=Cuu;N(Duu,"isObject");rA0=Duu;N(Fuu,"isFunction");Uuu=Fuu,VT4=jk["__core-js_shared__"],a70=VT4,Hp0=function(){var u=/[^.]+$/.exec(a70&&a70.keys&&a70.keys.IE_PROTO||"");return u?"Symbol(src)_1."+u:""}();N(zuu,"isMasked");hT4=zuu,iT4=Function.prototype,aT4=iT4.toString;N(kuu,"toSource");yw=kuu,mT4=/[\\^$.*+?()[\]{}|]/g,$T4=/^\[object .+?Constructor\]$/,yT4=Function.prototype,rT4=Object.prototype,gT4=yT4.toString,cT4=rT4.hasOwnProperty,_T4=RegExp("^"+gT4.call(cT4).replace(mT4,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");N(fuu,"baseIsNative");pT4=fuu;N(Muu,"getValue");nT4=Muu;N(buu,"getNative");uL=buu,dT4=uL(jk,"Map"),HR=dT4,sT4=uL(Object,"create"),qR=sT4;N(Zuu,"hashClear");oT4=Zuu;N(Juu,"hashDelete");tT4=Juu,uO4=Object.prototype,BO4=uO4.hasOwnProperty;N(Kuu,"hashGet");EO4=Kuu,AO4=Object.prototype,CO4=AO4.hasOwnProperty;N(wuu,"hashHas");DO4=wuu;N(Quu,"hashSet");UO4=Quu;N(rw,"Hash");rw.prototype.clear=oT4;rw.prototype.delete=tT4;rw.prototype.get=EO4;rw.prototype.has=DO4;rw.prototype.set=UO4;qp0=rw;N(Guu,"mapCacheClear");zO4=Guu;N(Huu,"isKeyable");kO4=Huu;N(quu,"getMapData");Nr=quu;N(luu,"mapCacheDelete");fO4=luu;N(Luu,"mapCacheGet");MO4=Luu;N(Xuu,"mapCacheHas");bO4=Xuu;N(vuu,"mapCacheSet");ZO4=vuu;N(gw,"MapCache");gw.prototype.clear=zO4;gw.prototype.delete=fO4;gw.prototype.get=MO4;gw.prototype.has=bO4;gw.prototype.set=ZO4;Vr=gw;N(xuu,"stackSet");KO4=xuu;N(cw,"Stack");cw.prototype.clear=wT4;cw.prototype.delete=QT4;cw.prototype.get=GT4;cw.prototype.has=HT4;cw.prototype.set=KO4;L$=cw;N(Wuu,"setCacheAdd");QO4=Wuu;N(Suu,"setCacheHas");GO4=Suu;N(lR,"SetCache");lR.prototype.add=lR.prototype.push=QO4;lR.prototype.has=GO4;Yuu=lR;N(Ruu,"arraySome");HO4=Ruu;N(Tuu,"cacheHas");Ouu=Tuu;N(Iuu,"equalArrays");Puu=Iuu,LO4=jk.Uint8Array,lp0=LO4;N(juu,"mapToArray");XO4=juu;N(Nuu,"setToArray");gA0=Nuu,Lp0=ZU?ZU.prototype:void 0,m70=Lp0?Lp0.valueOf:void 0;N(Vuu,"equalByTag");hO4=Vuu;N(huu,"arrayPush");iuu=huu,iO4=Array.isArray,VB=iO4;N(auu,"baseGetAllKeys");aO4=auu;N(muu,"arrayFilter");$uu=muu;N(yuu,"stubArray");mO4=yuu,$O4=Object.prototype,yO4=$O4.propertyIsEnumerable,Xp0=Object.getOwnPropertySymbols,rO4=!Xp0?mO4:function(u){if(u==null)return[];return u=Object(u),$uu(Xp0(u),function(B){return yO4.call(u,B)})},gO4=rO4;N(ruu,"baseTimes");cO4=ruu;N(guu,"isObjectLike");rl=guu;N(cuu,"baseIsArguments");vp0=cuu,_uu=Object.prototype,pO4=_uu.hasOwnProperty,nO4=_uu.propertyIsEnumerable,dO4=vp0(function(){return arguments}())?vp0:function(u){return rl(u)&&pO4.call(u,"callee")&&!nO4.call(u,"callee")},hr=dO4;N(puu,"stubFalse");sO4=puu,nuu=typeof $7=="object"&&$7&&!$7.nodeType&&$7,xp0=nuu&&typeof O2=="object"&&O2&&!O2.nodeType&&O2,oO4=xp0&&xp0.exports===nuu,Wp0=oO4?jk.Buffer:void 0,tO4=Wp0?Wp0.isBuffer:void 0,eO4=tO4||sO4,Cy=eO4,BI4=/^(?:0|[1-9]\d*)$/;N(duu,"isIndex");suu=duu;N(ouu,"isLength");cA0=ouu,_6={};_6[GI4]=_6[HI4]=_6[qI4]=_6[lI4]=_6[LI4]=_6[XI4]=_6[vI4]=_6[xI4]=_6[WI4]=!0;_6[AI4]=_6[CI4]=_6[wI4]=_6[DI4]=_6[QI4]=_6[FI4]=_6[UI4]=_6[zI4]=_6[kI4]=_6[fI4]=_6[MI4]=_6[bI4]=_6[ZI4]=_6[JI4]=_6[KI4]=!1;N(tuu,"baseIsTypedArray");SI4=tuu;N(euu,"baseUnary");YI4=euu,u4u=typeof $7=="object"&&$7&&!$7.nodeType&&$7,oY=u4u&&typeof O2=="object"&&O2&&!O2.nodeType&&O2,RI4=oY&&oY.exports===u4u,$70=RI4&&uuu.process,TI4=function(){try{var u=oY&&oY.require&&oY.require("util").types;if(u)return u;return $70&&$70.binding&&$70.binding("util")}catch(B){}}(),Sp0=TI4,Yp0=Sp0&&Sp0.isTypedArray,OI4=Yp0?YI4(Yp0):SI4,_A0=OI4,II4=Object.prototype,PI4=II4.hasOwnProperty;N(B4u,"arrayLikeKeys");jI4=B4u,NI4=Object.prototype;N(E4u,"isPrototype");A4u=E4u;N(C4u,"overArg");VI4=C4u,hI4=VI4(Object.keys,Object),iI4=hI4,aI4=Object.prototype,mI4=aI4.hasOwnProperty;N(D4u,"baseKeys");F4u=D4u;N(U4u,"isArrayLike");ir=U4u;N(z4u,"keys");pA0=z4u;N(k4u,"getAllKeys");Rp0=k4u,yI4=Object.prototype,rI4=yI4.hasOwnProperty;N(f4u,"equalObjects");gI4=f4u,cI4=uL(jk,"DataView"),v80=cI4,_I4=uL(jk,"Promise"),x80=_I4,pI4=uL(jk,"Set"),Tl=pI4,nI4=uL(jk,"WeakMap"),W80=nI4,sI4=yw(v80),oI4=yw(HR),tI4=yw(x80),eI4=yw(Tl),uP4=yw(W80),tK=el;if(v80&&tK(new v80(new ArrayBuffer(1)))!=jp0||HR&&tK(new HR)!=Tp0||x80&&tK(x80.resolve())!=Op0||Tl&&tK(new Tl)!=Ip0||W80&&tK(new W80)!=Pp0)tK=N(function(u){var B=el(u),E=B==dI4?u.constructor:void 0,A=E?yw(E):"";if(A)switch(A){case sI4:return jp0;case oI4:return Tp0;case tI4:return Op0;case eI4:return Ip0;case uP4:return Pp0}return B},"getTag");S80=tK,EP4=Object.prototype,hp0=EP4.hasOwnProperty;N(M4u,"baseIsEqualDeep");AP4=M4u;N(nA0,"baseIsEqual");b4u=nA0;N(Z4u,"baseIsMatch");FP4=Z4u;N(J4u,"isStrictComparable");K4u=J4u;N(w4u,"getMatchData");UP4=w4u;N(Q4u,"matchesStrictComparable");G4u=Q4u;N(H4u,"baseMatches");zP4=H4u;N(q4u,"isSymbol");ar=q4u,fP4=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,MP4=/^\w*$/;N(l4u,"isKey");dA0=l4u;N(mr,"memoize");mr.Cache=Vr;ZP4=mr;N(L4u,"memoizeCapped");KP4=L4u,wP4=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QP4=/\\(\\)?/g,GP4=KP4(function(u){var B=[];if(u.charCodeAt(0)===46)B.push("");return u.replace(wP4,function(E,A,C,D){B.push(C?D.replace(QP4,"$1"):A||E)}),B}),HP4=GP4,ip0=ZU?ZU.prototype:void 0,ap0=ip0?ip0.toString:void 0;N(sA0,"baseToString");lP4=sA0;N(X4u,"toString");LP4=X4u;N(v4u,"castPath");x4u=v4u;N(W4u,"toKey");$r=W4u;N(S4u,"baseGet");Y4u=S4u;N(R4u,"get");vP4=R4u;N(T4u,"baseHasIn");xP4=T4u;N(O4u,"hasPath");WP4=O4u;N(I4u,"hasIn");SP4=I4u;N(P4u,"baseMatchesProperty");TP4=P4u;N(j4u,"identity");oA0=j4u;N(N4u,"baseProperty");OP4=N4u;N(V4u,"basePropertyDeep");IP4=V4u;N(h4u,"property");PP4=h4u;N(i4u,"baseIteratee");yr=i4u;N(a4u,"createBaseFor");jP4=a4u,NP4=jP4(),VP4=NP4;N(m4u,"baseForOwn");hP4=m4u;N($4u,"createBaseEach");iP4=$4u,aP4=iP4(hP4),rr=aP4;N(y4u,"baseMap");mP4=y4u;N(r4u,"map");lk=r4u;N(g4u,"baseFilter");$P4=g4u;N(c4u,"filter");yP4=c4u;N(Ww,"buildATNKey");tA0=class{static{N(this,"AbstractTransition")}constructor(u){this.target=u}isEpsilon(){return!1}},eA0=class extends tA0{static{N(this,"AtomTransition")}constructor(u,B){super(u);this.tokenType=B}},d4u=class extends tA0{static{N(this,"EpsilonTransition")}constructor(u){super(u)}isEpsilon(){return!0}},uC0=class extends tA0{static{N(this,"RuleTransition")}constructor(u,B,E){super(u);this.rule=B,this.followState=E}isEpsilon(){return!0}};N(s4u,"createATN");N(o4u,"createRuleStartAndStopATNStates");N(BC0,"atom");N(t4u,"repetition");N(e4u,"repetitionSep");N(u3u,"repetitionMandatory");N(B3u,"repetitionMandatorySep");N(E3u,"alternation");N(A3u,"option");N(Vb,"block");N(EC0,"plus");N(AC0,"star");N(C3u,"optional");N(Nk,"defineDecisionState");N(_w,"makeAlts");N(D3u,"getProdType");N(F3u,"makeBlock");N(gr,"tokenRef");N(U3u,"ruleRef");N(z3u,"buildRuleHandle");N(U2,"epsilon");N(A5,"newState");N(cr,"addTransition");N(k3u,"removeState");Dy={},Y80=class{static{N(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(u){let B=CC0(u);if(!(B in this.map))this.map[B]=this.configs.length,this.configs.push(u)}get elements(){return this.configs}get alts(){return lk(this.configs,(u)=>u.alt)}get key(){let u="";for(let B in this.map)u+=B+":";return u}};N(CC0,"getATNConfigKey");N(f3u,"baseExtremum");nP4=f3u;N(M3u,"baseLt");dP4=M3u;N(b3u,"min");sP4=b3u,mp0=ZU?ZU.isConcatSpreadable:void 0;N(Z3u,"isFlattenable");oP4=Z3u;N(DC0,"baseFlatten");J3u=DC0;N(K3u,"flatMap");tP4=K3u;N(w3u,"baseFindIndex");eP4=w3u;N(Q3u,"baseIsNaN");uj4=Q3u;N(G3u,"strictIndexOf");Bj4=G3u;N(H3u,"baseIndexOf");Ej4=H3u;N(q3u,"arrayIncludes");Aj4=q3u;N(l3u,"arrayIncludesWith");Cj4=l3u;N(L3u,"noop");Dj4=L3u,Uj4=!(Tl&&1/gA0(new Tl([,-0]))[1]==Fj4)?Dj4:function(u){return new Tl(u)},zj4=Uj4;N(X3u,"baseUniq");fj4=X3u;N(v3u,"uniqBy");Mj4=v3u;N(x3u,"flatten");bj4=x3u;N(W3u,"arrayEach");Zj4=W3u;N(S3u,"castFunction");Jj4=S3u;N(Y3u,"forEach");y70=Y3u,Qj4=Object.prototype,Gj4=Qj4.hasOwnProperty;N(R3u,"isEmpty");Hj4=R3u;N(T3u,"arrayReduce");qj4=T3u;N(O3u,"baseReduce");lj4=O3u;N(I3u,"reduce");$p0=I3u;N(P3u,"createDFACache");j3u=class{static{N(this,"PredicateSet")}constructor(){this.predicates=[]}is(u){return u>=this.predicates.length||this.predicates[u]}set(u,B){this.predicates[u]=B}toString(){let u="",B=this.predicates.length;for(let E=0;E<B;E++)u+=this.predicates[E]===!0?"1":"0";return u}},yp0=new j3u,Lj4=class extends mA0{static{N(this,"LLStarLookaheadStrategy")}constructor(u){var B;super();this.logging=(B=u===null||u===void 0?void 0:u.logging)!==null&&B!==void 0?B:(E)=>console.log(E)}initialize(u){this.atn=s4u(u.rules),this.dfas=N3u(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(u){let{prodOccurrence:B,rule:E,hasPredicates:A,dynamicTokensEnabled:C}=u,D=this.dfas,F=this.logging,U=Ww(E,"Alternation",B),k=this.atn.decisionMap[U].decision,f=lk(J80({maxLookahead:1,occurrence:B,prodType:"Alternation",rule:E}),(M)=>lk(M,(b)=>b[0]));if(R80(f,!1)&&!C){let M=$p0(f,(b,Z,J)=>{return y70(Z,(K)=>{if(K)b[K.tokenTypeIdx]=J,y70(K.categoryMatches,(w)=>{b[w]=J})}),b},{});if(A)return function(b){var Z;let J=this.LA(1),K=M[J.tokenTypeIdx];if(b!==void 0&&K!==void 0){let w=(Z=b[K])===null||Z===void 0?void 0:Z.GATE;if(w!==void 0&&w.call(this)===!1)return}return K};else return function(){let b=this.LA(1);return M[b.tokenTypeIdx]}}else if(A)return function(M){let b=new j3u,Z=M===void 0?0:M.length;for(let K=0;K<Z;K++){let w=M===null||M===void 0?void 0:M[K].GATE;b.set(K,w===void 0||w.call(this))}let J=X$.call(this,D,k,b,F);return typeof J==="number"?J:void 0};else return function(){let M=X$.call(this,D,k,yp0,F);return typeof M==="number"?M:void 0}}buildLookaheadForOptional(u){let{prodOccurrence:B,rule:E,prodType:A,dynamicTokensEnabled:C}=u,D=this.dfas,F=this.logging,U=Ww(E,A,B),k=this.atn.decisionMap[U].decision,f=lk(J80({maxLookahead:1,occurrence:B,prodType:A,rule:E}),(M)=>{return lk(M,(b)=>b[0])});if(R80(f)&&f[0][0]&&!C){let M=f[0],b=bj4(M);if(b.length===1&&Hj4(b[0].categoryMatches)){let J=b[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===J}}else{let Z=$p0(b,(J,K)=>{if(K!==void 0)J[K.tokenTypeIdx]=!0,y70(K.categoryMatches,(w)=>{J[w]=!0});return J},{});return function(){let J=this.LA(1);return Z[J.tokenTypeIdx]===!0}}}return function(){let M=X$.call(this,D,k,yp0,F);return typeof M==="object"?!1:M===0}}};N(R80,"isLL1Sequence");N(N3u,"initATNSimulator");N(X$,"adaptivePredict");N(V3u,"performLookahead");N(h3u,"computeLookaheadTarget");N(i3u,"reportLookaheadAmbiguity");N(a3u,"buildAmbiguityError");N(m3u,"getProductionDslName");N($3u,"buildAdaptivePredictError");N(y3u,"getExistingTargetState");N(r3u,"computeReachSet");N(g3u,"getReachableTarget");N(c3u,"getUniqueAlt");N(FC0,"newDFAState");N(T80,"addDFAEdge");N(UC0,"addDFAState");N(_3u,"computeStartState");N(LR,"closure");N(p3u,"getEpsilonTarget");N(n3u,"hasConfigInRuleStopState");N(d3u,"allConfigsInRuleStopStates");N(s3u,"hasConflictTerminatingPrediction");N(o3u,"getConflictingAltSets");N(t3u,"hasConflictingAltSet");N(e3u,"hasStateAssociatedWithOneAlt");WR();u1u=class{static{N(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(u){return this.rootNode=new kC0(u),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(u){let B=new _r;return B.grammarSource=u,B.root=this.rootNode,this.current.content.push(B),this.nodeStack.push(B),B}buildLeafNode(u,B){let E=new Fy(u.startOffset,u.image.length,kR(u),u.tokenType,!B);return E.grammarSource=B,E.root=this.rootNode,this.current.content.push(E),E}removeNode(u){let B=u.container;if(B){let E=B.content.indexOf(u);if(E>=0)B.content.splice(E,1)}}addHiddenNodes(u){let B=[];for(let C of u){let D=new Fy(C.startOffset,C.image.length,kR(C),C.tokenType,!0);D.root=this.rootNode,B.push(D)}let E=this.current,A=!1;if(E.content.length>0){E.content.push(...B);return}while(E.container){let C=E.container.content.indexOf(E);if(C>0){E.container.content.splice(C,0,...B),A=!0;break}E=E.container}if(!A)this.rootNode.content.unshift(...B)}construct(u){let B=this.current;if(typeof u.$type==="string"&&!u.$infixName)this.current.astNode=u;u.$cstNode=B;let E=this.nodeStack.pop();if(E?.content.length===0)this.removeNode(E)}},zC0=class{static{N(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let u=typeof this._astNode?.$type==="string"?this._astNode:this.container?.astNode;if(!u)throw Error("This node has no associated AST element");return u}set astNode(u){this._astNode=u}get text(){return this.root.fullText.substring(this.offset,this.end)}},Fy=class extends zC0{static{N(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(u,B,E,A,C=!1){super();this._hidden=C,this._offset=u,this._tokenType=A,this._length=B,this._range=E}},_r=class extends zC0{static{N(this,"CompositeCstNodeImpl")}constructor(){super(...arguments);this.content=new Xj4(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let u=this.firstNonHiddenNode,B=this.lastNonHiddenNode;if(u&&B){if(this._rangeCache===void 0){let{range:E}=u,{range:A}=B;this._rangeCache={start:E.start,end:A.end.line<E.start.line?E.start:A.end}}return this._rangeCache}else return{start:t1.create(0,0),end:t1.create(0,0)}}get firstNonHiddenNode(){for(let u of this.content)if(!u.hidden)return u;return this.content[0]}get lastNonHiddenNode(){for(let u=this.content.length-1;u>=0;u--){let B=this.content[u];if(!B.hidden)return B}return this.content[this.content.length-1]}},Xj4=class u extends Array{static{N(this,"CstNodeContainer")}constructor(B){super();this.parent=B,Object.setPrototypeOf(this,u.prototype)}push(...B){return this.addParents(B),super.push(...B)}unshift(...B){return this.addParents(B),super.unshift(...B)}splice(B,E,...A){return this.addParents(A),super.splice(B,E,...A)}addParents(B){for(let E of B)E.container=this.parent}},kC0=class extends _r{static{N(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(u){super();this._text="",this._text=u??""}},Uy=Symbol("Datatype");N(v$,"isDataTypeNode");B1u=N((u)=>u.endsWith(rp0)?u:u+rp0,"withRuleSuffix"),fC0=class{static{N(this,"AbstractLangiumParser")}constructor(u){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=u.parser.Lexer;let B=this.lexer.definition,E=u.LanguageMetaData.mode==="production";if(u.shared.profilers.LangiumProfiler?.isActive("parsing"))this.wrapper=new xj4(B,{...u.parser.ParserConfig,skipValidations:E,errorMessageProvider:u.parser.ParserErrorMessageProvider},u.shared.profilers.LangiumProfiler.createTask("parsing",u.LanguageMetaData.languageId));else this.wrapper=new D1u(B,{...u.parser.ParserConfig,skipValidations:E,errorMessageProvider:u.parser.ParserErrorMessageProvider})}alternatives(u,B){this.wrapper.wrapOr(u,B)}optional(u,B){this.wrapper.wrapOption(u,B)}many(u,B){this.wrapper.wrapMany(u,B)}atLeastOne(u,B){this.wrapper.wrapAtLeastOne(u,B)}getRule(u){return this.allRules.get(u)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},E1u=class extends fC0{static{N(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(u){super(u);this.nodeBuilder=new u1u,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=u.references.Linker,this.converter=u.parser.ValueConverter,this.astReflection=u.shared.AstReflection}rule(u,B){let E=this.computeRuleType(u),A=void 0;if(il(u))A=u.name,this.registerPrecedenceMap(u);let C=this.wrapper.DEFINE_RULE(B1u(u.name),this.startImplementation(E,A,B).bind(this));if(this.allRules.set(u.name,C),PB(u)&&u.entry)this.mainRule=C;return C}registerPrecedenceMap(u){let B=u.name,E=new Map;for(let A=0;A<u.operators.precedences.length;A++){let C=u.operators.precedences[A];for(let D of C.operators)E.set(D.value,{precedence:A,rightAssoc:C.associativity==="right"})}this.operatorPrecedence.set(B,E)}computeRuleType(u){if(il(u))return Xw(u);else if(u.fragment)return;else if(TR(u))return Uy;else return Xw(u)}parse(u,B={}){this.nodeBuilder.buildRootNode(u);let E=this.lexerResult=this.lexer.tokenize(u);this.wrapper.input=E.tokens;let A=B.rule?this.allRules.get(B.rule):this.mainRule;if(!A)throw Error(B.rule?`No rule found with name '${B.rule}'`:"No main rule available.");let C=this.doParse(A);return this.nodeBuilder.addHiddenNodes(E.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,Vl(C,{deep:!0}),{value:C,lexerErrors:E.errors,lexerReport:E.report,parserErrors:this.wrapper.errors}}doParse(u){let B=this.wrapper.rule(u);if(this.stack.length>0)B=this.construct();if(B===void 0)throw Error("No result from parser");else if(this.stack.length>0)throw Error("Parser stack is not empty after parsing");return B}startImplementation(u,B,E){return(A)=>{let C=!this.isRecording()&&u!==void 0;if(C){let D={$type:u};if(this.stack.push(D),u===Uy)D.value="";else if(B!==void 0)D.$infixName=B}return E(A),C?this.construct():void 0}}extractHiddenTokens(u){let B=this.lexerResult.hidden;if(!B.length)return[];let E=u.startOffset;for(let A=0;A<B.length;A++)if(B[A].startOffset>E)return B.splice(0,A);return B.splice(0,B.length)}consume(u,B,E){let A=this.wrapper.wrapConsume(u,B);if(!this.isRecording()&&this.isValidToken(A)){let C=this.extractHiddenTokens(A);this.nodeBuilder.addHiddenNodes(C);let D=this.nodeBuilder.buildLeafNode(A,E),{assignment:F,crossRef:U}=this.getAssignment(E),z=this.current;if(F){let k=vk(E)?A.image:this.converter.convert(A.image,D);this.assign(F.operator,F.feature,k,D,U)}else if(v$(z)){let k=A.image;if(!vk(E))k=this.converter.convert(k,D).toString();z.value+=k}}}isValidToken(u){return!u.isInsertedInRecovery&&!isNaN(u.startOffset)&&typeof u.endOffset==="number"&&!isNaN(u.endOffset)}subrule(u,B,E,A,C){let D;if(!this.isRecording()&&!E)D=this.nodeBuilder.buildCompositeNode(A);let F;try{F=this.wrapper.wrapSubrule(u,B,C)}finally{if(!this.isRecording()){if(F===void 0&&!E)F=this.construct();if(F!==void 0&&D&&D.length>0)this.performSubruleAssignment(F,A,D)}}}performSubruleAssignment(u,B,E){let{assignment:A,crossRef:C}=this.getAssignment(B);if(A)this.assign(A.operator,A.feature,u,E,C);else if(!A){let D=this.current;if(v$(D))D.value+=u.toString();else if(typeof u==="object"&&u){let U=this.assignWithoutOverride(u,D);this.stack.pop(),this.stack.push(U)}}}action(u,B){if(!this.isRecording()){let E=this.current;if(B.feature&&B.operator){E=this.construct(),this.nodeBuilder.removeNode(E.$cstNode),this.nodeBuilder.buildCompositeNode(B).content.push(E.$cstNode);let C={$type:u};this.stack.push(C),this.assign(B.operator,B.feature,E,E.$cstNode)}else E.$type=u}}construct(){if(this.isRecording())return;let u=this.stack.pop();if(this.nodeBuilder.construct(u),"$infixName"in u)return this.constructInfix(u,this.operatorPrecedence.get(u.$infixName));else if(v$(u))return this.converter.convert(u.value,u.$cstNode);else zE0(this.astReflection,u);return u}constructInfix(u,B){let E=u.parts;if(!Array.isArray(E)||E.length===0)return;let A=u.operators;if(!Array.isArray(A)||E.length<2)return E[0];let C=0,D=-1;for(let J=0;J<A.length;J++){let K=A[J],w=B.get(K)??{precedence:1/0,rightAssoc:!1};if(w.precedence>D)D=w.precedence,C=J;else if(w.precedence===D){if(!w.rightAssoc)C=J}}let F=A.slice(0,C),U=A.slice(C+1),z=E.slice(0,C+1),k=E.slice(C+1),f={$infixName:u.$infixName,$type:u.$type,$cstNode:u.$cstNode,parts:z,operators:F},M={$infixName:u.$infixName,$type:u.$type,$cstNode:u.$cstNode,parts:k,operators:U},b=this.constructInfix(f,B),Z=this.constructInfix(M,B);return{$type:u.$type,$cstNode:u.$cstNode,left:b,operator:A[C],right:Z}}getAssignment(u){if(!this.assignmentMap.has(u)){let B=Rw(u,Xk);this.assignmentMap.set(u,{assignment:B,crossRef:B&&Ow(B.terminal)?B.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(u)}assign(u,B,E,A,C){let D=this.current,F;if(C==="single"&&typeof E==="string")F=this.linker.buildReference(D,B,A,E);else if(C==="multi"&&typeof E==="string")F=this.linker.buildMultiReference(D,B,A,E);else F=E;switch(u){case"=":{D[B]=F;break}case"?=":{D[B]=!0;break}case"+=":{if(!Array.isArray(D[B]))D[B]=[];D[B].push(F)}}}assignWithoutOverride(u,B){for(let[A,C]of Object.entries(B)){let D=u[A];if(D===void 0)u[A]=C;else if(Array.isArray(D)&&Array.isArray(C))C.push(...D),u[A]=C}let E=u.$cstNode;if(E)E.astNode=void 0,u.$cstNode=void 0;return u}get definitionErrors(){return this.wrapper.definitionErrors}},A1u=class{static{N(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(u){return Wl.buildMismatchTokenMessage(u)}buildNotAllInputParsedMessage(u){return Wl.buildNotAllInputParsedMessage(u)}buildNoViableAltMessage(u){return Wl.buildNoViableAltMessage(u)}buildEarlyExitMessage(u){return Wl.buildEarlyExitMessage(u)}},MC0=class extends A1u{static{N(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:u,actual:B}){return`Expecting ${u.LABEL?"`"+u.LABEL+"`":u.name.endsWith(":KW")?`keyword '${u.name.substring(0,u.name.length-3)}'`:`token of type '${u.name}'`} but found \`${B.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:u}){return`Expecting end of file but found \`${u.image}\`.`}},C1u=class extends fC0{static{N(this,"LangiumCompletionParser")}constructor(){super(...arguments);this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){return}parse(u){this.resetState();let B=this.lexer.tokenize(u,{mode:"partial"});return this.tokens=B.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(u,B){let E=this.wrapper.DEFINE_RULE(B1u(u.name),this.startImplementation(B).bind(this));if(this.allRules.set(u.name,E),u.entry)this.mainRule=E;return E}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(u){return(B)=>{let E=this.keepStackSize();try{u(B)}finally{this.resetStackSize(E)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let u=this.elementStack.length;return this.stackSize=u,u}resetStackSize(u){this.removeUnexpectedElements(),this.stackSize=u}consume(u,B,E){if(this.wrapper.wrapConsume(u,B),!this.isRecording())this.lastElementStack=[...this.elementStack,E],this.nextTokenIndex=this.currIdx+1}subrule(u,B,E,A,C){this.before(A),this.wrapper.wrapSubrule(u,B,C),this.after(A)}before(u){if(!this.isRecording())this.elementStack.push(u)}after(u){if(!this.isRecording()){let B=this.elementStack.lastIndexOf(u);if(B>=0)this.elementStack.splice(B)}}get currIdx(){return this.wrapper.currIdx}},vj4={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new MC0},D1u=class extends zT4{static{N(this,"ChevrotainWrapper")}constructor(u,B){let E=B&&"maxLookahead"in B;super(u,{...vj4,lookaheadStrategy:E?new mA0({maxLookahead:B.maxLookahead}):new Lj4({logging:B.skipValidations?()=>{}:void 0}),...B})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(u,B,E){return this.RULE(u,B,E)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(u,B){return this.consume(u,B,void 0)}wrapSubrule(u,B,E){return this.subrule(u,B,{ARGS:[E]})}wrapOr(u,B){this.or(u,B)}wrapOption(u,B){this.option(u,B)}wrapMany(u,B){this.many(u,B)}wrapAtLeastOne(u,B){this.atLeastOne(u,B)}rule(u){return u.call(this,{})}},xj4=class extends D1u{static{N(this,"ProfilerWrapper")}constructor(u,B,E){super(u,B);this.task=E}rule(u){this.task.start(),this.task.startSubTask(this.ruleName(u));try{return super.rule(u)}finally{this.task.stopSubTask(this.ruleName(u)),this.task.stop()}}ruleName(u){return u.ruleName}subrule(u,B,E){this.task.startSubTask(this.ruleName(B));try{return super.subrule(u,B,E)}finally{this.task.stopSubTask(this.ruleName(B))}}};N(pr,"createParser");N(F1u,"buildRules");N(U1u,"buildInfixRule");N(Ob,"buildElement");N(z1u,"buildAction");N(k1u,"buildRuleCall");N(f1u,"buildRuleCallPredicate");N(gC,"buildPredicate");N(M1u,"buildAlternatives");N(b1u,"buildUnorderedGroup");N(Z1u,"buildGroup");N(XR,"getGuardCondition");N(bC0,"buildCrossReference");N(J1u,"buildKeyword");N(ZC0,"wrap");N(nr,"getRule");N(K1u,"getRuleName");N(zy,"getToken");N(JC0,"createCompletionParser");N(KC0,"createLangiumParser");N(wC0,"prepareLangiumParser");dr=class{static{N(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(u,B){let E=z6(zr(u,!1)),A=this.buildTerminalTokens(E),C=this.buildKeywordTokens(E,A,B);return C.push(...A),C}flushLexingReport(u){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let u=[...this.diagnostics];return this.diagnostics=[],u}buildTerminalTokens(u){return u.filter(YA).filter((B)=>!B.fragment).map((B)=>this.buildTerminalToken(B)).toArray()}buildTerminalToken(u){let B=IR(u),E=this.requiresCustomPattern(B)?this.regexPatternFunction(B):B,A={name:u.name,PATTERN:E};if(typeof E==="function")A.LINE_BREAKS=!0;if(u.hidden)A.GROUP=Ur(B)?IB.SKIPPED:"hidden";return A}requiresCustomPattern(u){if(u.flags.includes("u")||u.flags.includes("s"))return!0;else return!1}regexPatternFunction(u){let B=new RegExp(u,u.flags+"y");return(E,A)=>{return B.lastIndex=A,B.exec(E)}}buildKeywordTokens(u,B,E){return u.filter(Tw).flatMap((A)=>Ik(A).filter(vk)).distinct((A)=>A.value).toArray().sort((A,C)=>C.value.length-A.value.length).map((A)=>this.buildKeywordToken(A,B,Boolean(E?.caseInsensitive)))}buildKeywordToken(u,B,E){let A=this.buildKeywordPattern(u,E),C={name:u.value,PATTERN:A,LONGER_ALT:this.findLongerAlt(u,B)};if(typeof A==="function")C.LINE_BREAKS=!0;return C}buildKeywordPattern(u,B){return B?new RegExp(pl(u.value),"i"):u.value}findLongerAlt(u,B){return B.reduce((E,A)=>{let C=A?.PATTERN;if(C?.source&&$E0("^"+C.source+"$",u.value))E.push(A);return E},[])}},QC0=class{static{N(this,"DefaultValueConverter")}convert(u,B){let E=B.grammarSource;if(Ow(E))E=_E0(E);if(xk(E)){let A=E.rule.ref;if(!A)throw Error("This cst node was not parsed by a rule.");return this.runConverter(A,u,B)}return u}runConverter(u,B,E){switch(u.name.toUpperCase()){case"INT":return UU.convertInt(B);case"STRING":return UU.convertString(B);case"ID":return UU.convertID(B)}switch(BA0(u)?.toLowerCase()){case"number":return UU.convertNumber(B);case"boolean":return UU.convertBoolean(B);case"bigint":return UU.convertBigint(B);case"date":return UU.convertDate(B);default:return B}}};(function(u){function B(k){let f="";for(let M=1;M<k.length-1;M++){let b=k.charAt(M);if(b==="\\"){let Z=k.charAt(++M);f+=E(Z)}else f+=b}return f}N(B,"convertString"),u.convertString=B;function E(k){switch(k){case"b":return"\b";case"f":return"\f";case"n":return`
`;case"r":return"\r";case"t":return"\t";case"v":return"\v";case"0":return"\x00";default:return k}}N(E,"convertEscapeCharacter");function A(k){if(k.charAt(0)==="^")return k.substring(1);else return k}N(A,"convertID"),u.convertID=A;function C(k){return parseInt(k)}N(C,"convertInt"),u.convertInt=C;function D(k){return BigInt(k)}N(D,"convertBigint"),u.convertBigint=D;function F(k){return new Date(k)}N(F,"convertDate"),u.convertDate=F;function U(k){return Number(k)}N(U,"convertNumber"),u.convertNumber=U;function z(k){return k.toLowerCase()==="true"}N(z,"convertBoolean"),u.convertBoolean=z})(UU||(UU={}));P6={};ny(P6,BE0(sy(),1));N(sr,"delayNextTick");N(or,"startCancelableOperation");N(GC0,"setInterruptionPeriod");fU=Symbol("OperationCancelled");N(pw,"isOperationCancelled");N(j5,"interruptAndCheck");Tk=class{static{N(this,"Deferred")}constructor(){this.promise=new Promise((u,B)=>{this.resolve=(E)=>{return u(E),this},this.reject=(E)=>{return B(E),this}})}},gp0=class u{static{N(this,"FullTextDocument")}constructor(B,E,A,C){this._uri=B,this._languageId=E,this._version=A,this._content=C,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(B){if(B){let E=this.offsetAt(B.start),A=this.offsetAt(B.end);return this._content.substring(E,A)}return this._content}update(B,E){for(let A of B)if(u.isIncremental(A)){let C=qC0(A.range),D=this.offsetAt(C.start),F=this.offsetAt(C.end);this._content=this._content.substring(0,D)+A.text+this._content.substring(F,this._content.length);let U=Math.max(C.start.line,0),z=Math.max(C.end.line,0),k=this._lineOffsets,f=O80(A.text,!1,D);if(z-U===f.length)for(let b=0,Z=f.length;b<Z;b++)k[b+U+1]=f[b];else if(f.length<1e4)k.splice(U+1,z-U,...f);else this._lineOffsets=k=k.slice(0,U+1).concat(f,k.slice(z+1));let M=A.text.length-(F-D);if(M!==0)for(let b=U+1+f.length,Z=k.length;b<Z;b++)k[b]=k[b]+M}else if(u.isFull(A))this._content=A.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=E}getLineOffsets(){if(this._lineOffsets===void 0)this._lineOffsets=O80(this._content,!0);return this._lineOffsets}positionAt(B){B=Math.max(Math.min(B,this._content.length),0);let E=this.getLineOffsets(),A=0,C=E.length;if(C===0)return{line:0,character:B};while(A<C){let F=Math.floor((A+C)/2);if(E[F]>B)C=F;else A=F+1}let D=A-1;return B=this.ensureBeforeEOL(B,E[D]),{line:D,character:B-E[D]}}offsetAt(B){let E=this.getLineOffsets();if(B.line>=E.length)return this._content.length;else if(B.line<0)return 0;let A=E[B.line];if(B.character<=0)return A;let C=B.line+1<E.length?E[B.line+1]:this._content.length,D=Math.min(A+B.character,C);return this.ensureBeforeEOL(D,A)}ensureBeforeEOL(B,E){while(B>E&&HC0(this._content.charCodeAt(B-1)))B--;return B}get lineCount(){return this.getLineOffsets().length}static isIncremental(B){let E=B;return E!==void 0&&E!==null&&typeof E.text==="string"&&E.range!==void 0&&(E.rangeLength===void 0||typeof E.rangeLength==="number")}static isFull(B){let E=B;return E!==void 0&&E!==null&&typeof E.text==="string"&&E.range===void 0&&E.rangeLength===void 0}};(function(u){function B(C,D,F,U){return new gp0(C,D,F,U)}N(B,"create"),u.create=B;function E(C,D,F){if(C instanceof gp0)return C.update(D,F),C;else throw Error("TextDocument.update: document must be created by TextDocument.create")}N(E,"update"),u.update=E;function A(C,D){let F=C.getText(),U=fy(D.map(Q1u),(f,M)=>{let b=f.range.start.line-M.range.start.line;if(b===0)return f.range.start.character-M.range.start.character;return b}),z=0,k=[];for(let f of U){let M=C.offsetAt(f.range.start);if(M<z)throw Error("Overlapping edit");else if(M>z)k.push(F.substring(z,M));if(f.newText.length)k.push(f.newText);z=C.offsetAt(f.range.end)}return k.push(F.substr(z)),k.join("")}N(A,"applyEdits"),u.applyEdits=A})(ky||(ky={}));N(fy,"mergeSort");N(O80,"computeLineOffsets");N(HC0,"isEOL");N(qC0,"getWellformedRange");N(Q1u,"getWellformedEdit");(()=>{var u={975:(T)=>{function R(I){if(typeof I!="string")throw TypeError("Path must be a string. Received "+JSON.stringify(I))}N(R,"e");function Y(I,O){for(var V,j="",i=0,a=-1,$=0,m=0;m<=I.length;++m){if(m<I.length)V=I.charCodeAt(m);else{if(V===47)break;V=47}if(V===47){if(a===m-1||$===1);else if(a!==m-1&&$===2){if(j.length<2||i!==2||j.charCodeAt(j.length-1)!==46||j.charCodeAt(j.length-2)!==46){if(j.length>2){var y=j.lastIndexOf("/");if(y!==j.length-1){y===-1?(j="",i=0):i=(j=j.slice(0,y)).length-1-j.lastIndexOf("/"),a=m,$=0;continue}}else if(j.length===2||j.length===1){j="",i=0,a=m,$=0;continue}}O&&(j.length>0?j+="/..":j="..",i=2)}else j.length>0?j+="/"+I.slice(a+1,m):j=I.slice(a+1,m),i=m-a-1;a=m,$=0}else V===46&&$!==-1?++$:$=-1}return j}N(Y,"r");var h={resolve:N(function(){for(var I,O="",V=!1,j=arguments.length-1;j>=-1&&!V;j--){var i;j>=0?i=arguments[j]:(I===void 0&&(I=process.cwd()),i=I),R(i),i.length!==0&&(O=i+"/"+O,V=i.charCodeAt(0)===47)}return O=Y(O,!V),V?O.length>0?"/"+O:"/":O.length>0?O:"."},"resolve"),normalize:N(function(I){if(R(I),I.length===0)return".";var O=I.charCodeAt(0)===47,V=I.charCodeAt(I.length-1)===47;return(I=Y(I,!O)).length!==0||O||(I="."),I.length>0&&V&&(I+="/"),O?"/"+I:I},"normalize"),isAbsolute:N(function(I){return R(I),I.length>0&&I.charCodeAt(0)===47},"isAbsolute"),join:N(function(){if(arguments.length===0)return".";for(var I,O=0;O<arguments.length;++O){var V=arguments[O];R(V),V.length>0&&(I===void 0?I=V:I+="/"+V)}return I===void 0?".":h.normalize(I)},"join"),relative:N(function(I,O){if(R(I),R(O),I===O)return"";if((I=h.resolve(I))===(O=h.resolve(O)))return"";for(var V=1;V<I.length&&I.charCodeAt(V)===47;++V);for(var j=I.length,i=j-V,a=1;a<O.length&&O.charCodeAt(a)===47;++a);for(var $=O.length-a,m=i<$?i:$,y=-1,r=0;r<=m;++r){if(r===m){if($>m){if(O.charCodeAt(a+r)===47)return O.slice(a+r+1);if(r===0)return O.slice(a+r)}else i>m&&(I.charCodeAt(V+r)===47?y=r:r===0&&(y=0));break}var _=I.charCodeAt(V+r);if(_!==O.charCodeAt(a+r))break;_===47&&(y=r)}var e="";for(r=V+y+1;r<=j;++r)r!==j&&I.charCodeAt(r)!==47||(e.length===0?e+="..":e+="/..");return e.length>0?e+O.slice(a+y):(a+=y,O.charCodeAt(a)===47&&++a,O.slice(a))},"relative"),_makeLong:N(function(I){return I},"_makeLong"),dirname:N(function(I){if(R(I),I.length===0)return".";for(var O=I.charCodeAt(0),V=O===47,j=-1,i=!0,a=I.length-1;a>=1;--a)if((O=I.charCodeAt(a))===47){if(!i){j=a;break}}else i=!1;return j===-1?V?"/":".":V&&j===1?"//":I.slice(0,j)},"dirname"),basename:N(function(I,O){if(O!==void 0&&typeof O!="string")throw TypeError('"ext" argument must be a string');R(I);var V,j=0,i=-1,a=!0;if(O!==void 0&&O.length>0&&O.length<=I.length){if(O.length===I.length&&O===I)return"";var $=O.length-1,m=-1;for(V=I.length-1;V>=0;--V){var y=I.charCodeAt(V);if(y===47){if(!a){j=V+1;break}}else m===-1&&(a=!1,m=V+1),$>=0&&(y===O.charCodeAt($)?--$==-1&&(i=V):($=-1,i=m))}return j===i?i=m:i===-1&&(i=I.length),I.slice(j,i)}for(V=I.length-1;V>=0;--V)if(I.charCodeAt(V)===47){if(!a){j=V+1;break}}else i===-1&&(a=!1,i=V+1);return i===-1?"":I.slice(j,i)},"basename"),extname:N(function(I){R(I);for(var O=-1,V=0,j=-1,i=!0,a=0,$=I.length-1;$>=0;--$){var m=I.charCodeAt($);if(m!==47)j===-1&&(i=!1,j=$+1),m===46?O===-1?O=$:a!==1&&(a=1):O!==-1&&(a=-1);else if(!i){V=$+1;break}}return O===-1||j===-1||a===0||a===1&&O===j-1&&O===V+1?"":I.slice(O,j)},"extname"),format:N(function(I){if(I===null||typeof I!="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof I);return function(O,V){var j=V.dir||V.root,i=V.base||(V.name||"")+(V.ext||"");return j?j===V.root?j+i:j+"/"+i:i}(0,I)},"format"),parse:N(function(I){R(I);var O={root:"",dir:"",base:"",ext:"",name:""};if(I.length===0)return O;var V,j=I.charCodeAt(0),i=j===47;i?(O.root="/",V=1):V=0;for(var a=-1,$=0,m=-1,y=!0,r=I.length-1,_=0;r>=V;--r)if((j=I.charCodeAt(r))!==47)m===-1&&(y=!1,m=r+1),j===46?a===-1?a=r:_!==1&&(_=1):a!==-1&&(_=-1);else if(!y){$=r+1;break}return a===-1||m===-1||_===0||_===1&&a===m-1&&a===$+1?m!==-1&&(O.base=O.name=$===0&&i?I.slice(1,m):I.slice($,m)):($===0&&i?(O.name=I.slice(1,a),O.base=I.slice(1,m)):(O.name=I.slice($,a),O.base=I.slice($,m)),O.ext=I.slice(a,m)),$>0?O.dir=I.slice(0,$-1):i&&(O.dir="/"),O},"parse"),sep:"/",delimiter:":",win32:null,posix:null};h.posix=h,T.exports=h}},B={};function E(T){var R=B[T];if(R!==void 0)return R.exports;var Y=B[T]={exports:{}};return u[T](Y,Y.exports,E),Y.exports}N(E,"r"),E.d=(T,R)=>{for(var Y in R)E.o(R,Y)&&!E.o(T,Y)&&Object.defineProperty(T,Y,{enumerable:!0,get:R[Y]})},E.o=(T,R)=>Object.prototype.hasOwnProperty.call(T,R),E.r=(T)=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(T,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(T,"__esModule",{value:!0})};var A={};let C;if(E.r(A),E.d(A,{URI:N(()=>b,"URI"),Utils:N(()=>W,"Utils")}),typeof process=="object")C=process.platform==="win32";else if(typeof navigator=="object")C=navigator.userAgent.indexOf("Windows")>=0;let D=/^\w[\w\d+.-]*$/,F=/^\//,U=/^\/\//;function z(T,R){if(!T.scheme&&R)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${T.authority}", path: "${T.path}", query: "${T.query}", fragment: "${T.fragment}"}`);if(T.scheme&&!D.test(T.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(T.path){if(T.authority){if(!F.test(T.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(U.test(T.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}N(z,"a");let k="",f="/",M=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class b{static{N(this,"l")}static isUri(T){return T instanceof b||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,R,Y,h,I,O=!1){typeof T=="object"?(this.scheme=T.scheme||k,this.authority=T.authority||k,this.path=T.path||k,this.query=T.query||k,this.fragment=T.fragment||k):(this.scheme=function(V,j){return V||j?V:"file"}(T,O),this.authority=R||k,this.path=function(V,j){switch(V){case"https":case"http":case"file":j?j[0]!==f&&(j=f+j):j=f}return j}(this.scheme,Y||k),this.query=h||k,this.fragment=I||k,z(this,O))}get fsPath(){return G(this,!1)}with(T){if(!T)return this;let{scheme:R,authority:Y,path:h,query:I,fragment:O}=T;return R===void 0?R=this.scheme:R===null&&(R=k),Y===void 0?Y=this.authority:Y===null&&(Y=k),h===void 0?h=this.path:h===null&&(h=k),I===void 0?I=this.query:I===null&&(I=k),O===void 0?O=this.fragment:O===null&&(O=k),R===this.scheme&&Y===this.authority&&h===this.path&&I===this.query&&O===this.fragment?this:new J(R,Y,h,I,O)}static parse(T,R=!1){let Y=M.exec(T);return Y?new J(Y[2]||k,L(Y[4]||k),L(Y[5]||k),L(Y[7]||k),L(Y[9]||k),R):new J(k,k,k,k,k)}static file(T){let R=k;if(C&&(T=T.replace(/\\/g,f)),T[0]===f&&T[1]===f){let Y=T.indexOf(f,2);Y===-1?(R=T.substring(2),T=f):(R=T.substring(2,Y),T=T.substring(Y)||f)}return new J("file",R,T,k,k)}static from(T){let R=new J(T.scheme,T.authority,T.path,T.query,T.fragment);return z(R,!0),R}toString(T=!1){return H(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof b)return T;{let R=new J(T);return R._formatted=T.external,R._fsPath=T._sep===Z?T.fsPath:null,R}}return T}}let Z=C?1:void 0;class J extends b{static{N(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=G(this,!1)),this._fsPath}toString(T=!1){return T?H(this,!0):(this._formatted||(this._formatted=H(this,!1)),this._formatted)}toJSON(){let T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=Z),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}let K={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function w(T,R,Y){let h,I=-1;for(let O=0;O<T.length;O++){let V=T.charCodeAt(O);if(V>=97&&V<=122||V>=65&&V<=90||V>=48&&V<=57||V===45||V===46||V===95||V===126||R&&V===47||Y&&V===91||Y&&V===93||Y&&V===58)I!==-1&&(h+=encodeURIComponent(T.substring(I,O)),I=-1),h!==void 0&&(h+=T.charAt(O));else{h===void 0&&(h=T.substr(0,O));let j=K[V];j!==void 0?(I!==-1&&(h+=encodeURIComponent(T.substring(I,O)),I=-1),h+=j):I===-1&&(I=O)}}return I!==-1&&(h+=encodeURIComponent(T.substring(I))),h!==void 0?h:T}N(w,"m");function Q(T){let R;for(let Y=0;Y<T.length;Y++){let h=T.charCodeAt(Y);h===35||h===63?(R===void 0&&(R=T.substr(0,Y)),R+=K[h]):R!==void 0&&(R+=T[Y])}return R!==void 0?R:T}N(Q,"y");function G(T,R){let Y;return Y=T.authority&&T.path.length>1&&T.scheme==="file"?`//${T.authority}${T.path}`:T.path.charCodeAt(0)===47&&(T.path.charCodeAt(1)>=65&&T.path.charCodeAt(1)<=90||T.path.charCodeAt(1)>=97&&T.path.charCodeAt(1)<=122)&&T.path.charCodeAt(2)===58?R?T.path.substr(1):T.path[1].toLowerCase()+T.path.substr(2):T.path,C&&(Y=Y.replace(/\//g,"\\")),Y}N(G,"v");function H(T,R){let Y=R?Q:w,h="",{scheme:I,authority:O,path:V,query:j,fragment:i}=T;if(I&&(h+=I,h+=":"),(O||I==="file")&&(h+=f,h+=f),O){let a=O.indexOf("@");if(a!==-1){let $=O.substr(0,a);O=O.substr(a+1),a=$.lastIndexOf(":"),a===-1?h+=Y($,!1,!1):(h+=Y($.substr(0,a),!1,!1),h+=":",h+=Y($.substr(a+1),!1,!0)),h+="@"}O=O.toLowerCase(),a=O.lastIndexOf(":"),a===-1?h+=Y(O,!1,!0):(h+=Y(O.substr(0,a),!1,!0),h+=O.substr(a))}if(V){if(V.length>=3&&V.charCodeAt(0)===47&&V.charCodeAt(2)===58){let a=V.charCodeAt(1);a>=65&&a<=90&&(V=`/${String.fromCharCode(a+32)}:${V.substr(3)}`)}else if(V.length>=2&&V.charCodeAt(1)===58){let a=V.charCodeAt(0);a>=65&&a<=90&&(V=`${String.fromCharCode(a+32)}:${V.substr(2)}`)}h+=Y(V,!0,!1)}return j&&(h+="?",h+=Y(j,!1,!1)),i&&(h+="#",h+=R?i:w(i,!1,!1)),h}N(H,"b");function l(T){try{return decodeURIComponent(T)}catch{return T.length>3?T.substr(0,3)+l(T.substr(3)):T}}N(l,"C");let q=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function L(T){return T.match(q)?T.replace(q,(R)=>l(R)):T}N(L,"w");var v=E(975);let x=v.posix||v,S="/";var W;(function(T){T.joinPath=function(R,...Y){return R.with({path:x.join(R.path,...Y)})},T.resolvePath=function(R,...Y){let h=R.path,I=!1;h[0]!==S&&(h=S+h,I=!0);let O=x.resolve(h,...Y);return I&&O[0]===S&&!R.authority&&(O=O.substring(1)),R.with({path:O})},T.dirname=function(R){if(R.path.length===0||R.path===S)return R;let Y=x.dirname(R.path);return Y.length===1&&Y.charCodeAt(0)===46&&(Y=""),R.with({path:Y})},T.basename=function(R){return x.basename(R.path)},T.extname=function(R){return x.extname(R.path)}})(W||(W={})),G1u=A})();({URI:LE,Utils:qY}=G1u);(function(u){u.basename=qY.basename,u.dirname=qY.dirname,u.extname=qY.extname,u.joinPath=qY.joinPath,u.resolvePath=qY.resolvePath;let B=typeof process==="object"&&process?.platform==="win32";function E(F,U){return F?.toString()===U?.toString()}N(E,"equals"),u.equals=E;function A(F,U){let z=typeof F==="string"?LE.parse(F).path:F.path,k=typeof U==="string"?LE.parse(U).path:U.path,f=z.split("/").filter((K)=>K.length>0),M=k.split("/").filter((K)=>K.length>0);if(B){let K=/^[A-Z]:$/;if(f[0]&&K.test(f[0]))f[0]=f[0].toLowerCase();if(M[0]&&K.test(M[0]))M[0]=M[0].toLowerCase();if(f[0]!==M[0])return k.substring(1)}let b=0;for(;b<f.length;b++)if(f[b]!==M[b])break;let Z="../".repeat(f.length-b),J=M.slice(b).join("/");return Z+J}N(A,"relative"),u.relative=A;function C(F){return LE.parse(F.toString()).toString()}N(C,"normalize"),u.normalize=C;function D(F,U){let z=typeof F==="string"?F:F.path,k=typeof U==="string"?U:U.path;if(k.charAt(k.length-1)==="/")k=k.slice(0,-1);if(z.charAt(z.length-1)==="/")z=z.slice(0,-1);if(k===z)return!0;if(k.length<z.length)return!1;if(k.charAt(z.length)!=="/")return!1;return k.startsWith(z)}N(D,"contains"),u.contains=D})(OB||(OB={}));lC0=class{static{N(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(u){return OB.normalize(u)}clear(){this.root.children.clear()}insert(u,B){let E=this.getNode(this.normalizeUri(u),!0);E.element=B}delete(u){let B=this.getNode(this.normalizeUri(u),!1);if(B?.parent)B.parent.children.delete(B.name)}has(u){return this.getNode(this.normalizeUri(u),!1)?.element!==void 0}hasNode(u){return this.getNode(this.normalizeUri(u),!1)!==void 0}find(u){return this.getNode(this.normalizeUri(u),!1)?.element}findNode(u){let B=this.normalizeUri(u),E=this.getNode(B,!1);if(!E)return;return{name:E.name,uri:OB.joinPath(LE.parse(B),E.name).toString(),element:E.element}}findChildren(u){let B=this.normalizeUri(u),E=this.getNode(B,!1);if(!E)return[];return Array.from(E.children.values()).map((A)=>({name:A.name,uri:OB.joinPath(LE.parse(B),A.name).toString(),element:A.element}))}all(){return this.collectValues(this.root)}findAll(u){let B=this.getNode(OB.normalize(u),!1);if(!B)return[];return this.collectValues(B)}getNode(u,B){let E=u.split("/");if(u.charAt(u.length-1)==="/")E.pop();let A=this.root;for(let C of E){let D=A.children.get(C);if(!D)if(B)D={name:C,children:new Map,parent:A},A.children.set(C,D);else return;A=D}return A}collectValues(u){let B=[];if(u.element)B.push(u.element);for(let E of u.children.values())B.push(...this.collectValues(E));return B}};(function(u){u[u.Changed=0]="Changed",u[u.Parsed=1]="Parsed",u[u.IndexedContent=2]="IndexedContent",u[u.ComputedScopes=3]="ComputedScopes",u[u.Linked=4]="Linked",u[u.IndexedReferences=5]="IndexedReferences",u[u.Validated=6]="Validated"})(A1||(A1={}));H1u=class{static{N(this,"DefaultLangiumDocumentFactory")}constructor(u){this.serviceRegistry=u.ServiceRegistry,this.textDocuments=u.workspace.TextDocuments,this.fileSystemProvider=u.workspace.FileSystemProvider}async fromUri(u,B=P6.CancellationToken.None){let E=await this.fileSystemProvider.readFile(u);return this.createAsync(u,E,B)}fromTextDocument(u,B,E){if(B=B??LE.parse(u.uri),P6.CancellationToken.is(E))return this.createAsync(B,u,E);else return this.create(B,u,E)}fromString(u,B,E){if(P6.CancellationToken.is(E))return this.createAsync(B,u,E);else return this.create(B,u,E)}fromModel(u,B){return this.create(B,{$model:u})}create(u,B,E){if(typeof B==="string"){let A=this.parse(u,B,E);return this.createLangiumDocument(A,u,void 0,B)}else if("$model"in B){let A={value:B.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(A,u)}else{let A=this.parse(u,B.getText(),E);return this.createLangiumDocument(A,u,B)}}async createAsync(u,B,E){if(typeof B==="string"){let A=await this.parseAsync(u,B,E);return this.createLangiumDocument(A,u,void 0,B)}else{let A=await this.parseAsync(u,B.getText(),E);return this.createLangiumDocument(A,u,B)}}createLangiumDocument(u,B,E,A){let C;if(E)C={parseResult:u,uri:B,state:A1.Parsed,references:[],textDocument:E};else{let D=this.createTextDocumentGetter(B,A);C={parseResult:u,uri:B,state:A1.Parsed,references:[],get textDocument(){return D()}}}return u.value.$document=C,C}async update(u,B){let E=u.parseResult.value.$cstNode?.root.fullText,A=this.textDocuments?.get(u.uri.toString()),C=A?A.getText():await this.fileSystemProvider.readFile(u.uri);if(A)Object.defineProperty(u,"textDocument",{value:A});else{let D=this.createTextDocumentGetter(u.uri,C);Object.defineProperty(u,"textDocument",{get:D})}if(E!==C)u.parseResult=await this.parseAsync(u.uri,C,B),u.parseResult.value.$document=u;return u.state=A1.Parsed,u}parse(u,B,E){return this.serviceRegistry.getServices(u).parser.LangiumParser.parse(B,E)}parseAsync(u,B,E){return this.serviceRegistry.getServices(u).parser.AsyncParser.parse(B,E)}createTextDocumentGetter(u,B){let E=this.serviceRegistry,A=void 0;return()=>{return A??(A=ky.create(u.toString(),E.getServices(u).LanguageMetaData.languageId,0,B??""))}}},q1u=class{static{N(this,"DefaultLangiumDocuments")}constructor(u){this.documentTrie=new lC0,this.services=u,this.langiumDocumentFactory=u.workspace.LangiumDocumentFactory,this.documentBuilder=()=>u.workspace.DocumentBuilder}get all(){return z6(this.documentTrie.all())}addDocument(u){let B=u.uri.toString();if(this.documentTrie.has(B))throw Error(`A document with the URI '${B}' is already present.`);this.documentTrie.insert(B,u)}getDocument(u){let B=u.toString();return this.documentTrie.find(B)}getDocuments(u){let B=u.toString();return this.documentTrie.findAll(B)}async getOrCreateDocument(u,B){let E=this.getDocument(u);if(E)return E;return E=await this.langiumDocumentFactory.fromUri(u,B),this.addDocument(E),E}createDocument(u,B,E){if(E)return this.langiumDocumentFactory.fromString(B,u,E).then((A)=>{return this.addDocument(A),A});else{let A=this.langiumDocumentFactory.fromString(B,u);return this.addDocument(A),A}}hasDocument(u){return this.documentTrie.has(u.toString())}invalidateDocument(u){let B=u.toString(),E=this.documentTrie.find(B);if(E)this.documentBuilder().resetToState(E,A1.Changed);return E}deleteDocument(u){let B=u.toString(),E=this.documentTrie.find(B);if(E)E.state=A1.Changed,this.documentTrie.delete(B);return E}deleteDocuments(u){let B=u.toString(),E=this.documentTrie.findAll(B);for(let A of E)A.state=A1.Changed;return this.documentTrie.delete(B),E}},eK=Symbol("RefResolving"),l1u=class{static{N(this,"DefaultLinker")}constructor(u){this.reflection=u.shared.AstReflection,this.langiumDocuments=()=>u.shared.workspace.LangiumDocuments,this.scopeProvider=u.references.ScopeProvider,this.astNodeLocator=u.workspace.AstNodeLocator,this.profiler=u.shared.profilers.LangiumProfiler,this.languageId=u.LanguageMetaData.languageId}async link(u,B=P6.CancellationToken.None){if(this.profiler?.isActive("linking")){let E=this.profiler.createTask("linking",this.languageId);E.start();try{for(let A of _C(u.parseResult.value))await j5(B),hl(A).forEach((C)=>{let D=`${A.$type}:${C.property}`;E.startSubTask(D);try{this.doLink(C,u)}finally{E.stopSubTask(D)}})}finally{E.stop()}}else for(let E of _C(u.parseResult.value))await j5(B),hl(E).forEach((A)=>this.doLink(A,u))}doLink(u,B){let E=u.reference;if("_ref"in E&&E._ref===void 0){E._ref=eK;try{let A=this.getCandidate(u);if(uw(A))E._ref=A;else{E._nodeDescription=A;let C=this.loadAstNode(A);E._ref=C??this.createLinkingError(u,A)}}catch(A){console.error(`An error occurred while resolving reference to '${E.$refText}':`,A);let C=A.message??String(A);E._ref={info:u,message:`An error occurred while resolving reference to '${E.$refText}': ${C}`}}B.references.push(E)}else if("_items"in E&&E._items===void 0){E._items=eK;try{let A=this.getCandidates(u),C=[];if(uw(A))E._linkingError=A;else for(let D of A){let F=this.loadAstNode(D);if(F)C.push({ref:F,$nodeDescription:D})}E._items=C}catch(A){E._linkingError={info:u,message:`An error occurred while resolving reference to '${E.$refText}': ${A}`},E._items=[]}B.references.push(E)}}unlink(u){for(let B of u.references)if("_ref"in B)B._ref=void 0,delete B._nodeDescription;else if("_items"in B)B._items=void 0,delete B._linkingError;u.references=[]}getCandidate(u){return this.scopeProvider.getScope(u).getElement(u.reference.$refText)??this.createLinkingError(u)}getCandidates(u){let E=this.scopeProvider.getScope(u).getElements(u.reference.$refText).distinct((A)=>`${A.documentUri}#${A.path}`).toArray();return E.length>0?E:this.createLinkingError(u)}buildReference(u,B,E,A){let C=this,D={$refNode:E,$refText:A,_ref:void 0,get ref(){if(T2(this._ref))return this._ref;else if(DE0(this._nodeDescription)){let F=C.loadAstNode(this._nodeDescription);this._ref=F??C.createLinkingError({reference:D,container:u,property:B},this._nodeDescription)}else if(this._ref===void 0){this._ref=eK;let F=Sl(u).$document,U=C.getLinkedNode({reference:D,container:u,property:B});if(U.error&&F&&F.state<A1.ComputedScopes)return this._ref=void 0;this._ref=U.node??U.error,this._nodeDescription=U.descr,F?.references.push(this)}else if(this._ref===eK)C.throwCyclicReferenceError(u,B,A);return T2(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return uw(this._ref)?this._ref:void 0}};return D}buildMultiReference(u,B,E,A){let C=this,D={$refNode:E,$refText:A,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;else if(this._items===void 0){this._items=eK;let F=Sl(u).$document,U=C.getCandidates({reference:D,container:u,property:B}),z=[];if(uw(U))this._linkingError=U;else for(let k of U){let f=C.loadAstNode(k);if(f)z.push({ref:f,$nodeDescription:k})}this._items=z,F?.references.push(this)}else if(this._items===eK)C.throwCyclicReferenceError(u,B,A);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(this.items.length>0)return;else return this._linkingError=C.createLinkingError({reference:D,container:u,property:B})}};return D}throwCyclicReferenceError(u,B,E){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(u)}/${B} (symbol '${E}')`)}getLinkedNode(u){try{let B=this.getCandidate(u);if(uw(B))return{error:B};let E=this.loadAstNode(B);if(E)return{node:E,descr:B};else return{descr:B,error:this.createLinkingError(u,B)}}catch(B){console.error(`An error occurred while resolving reference to '${u.reference.$refText}':`,B);let E=B.message??String(B);return{error:{info:u,message:`An error occurred while resolving reference to '${u.reference.$refText}': ${E}`}}}}loadAstNode(u){if(u.node)return u.node;let B=this.langiumDocuments().getDocument(u.documentUri);if(!B)return;return this.astNodeLocator.getAstNode(B.parseResult.value,u.path)}createLinkingError(u,B){let E=Sl(u.container).$document;if(E&&E.state<A1.ComputedScopes)console.warn(`Attempted reference resolution before document reached ComputedScopes state (${E.uri}).`);let A=this.reflection.getReferenceType(u);return{info:u,message:`Could not resolve reference to ${A} named '${u.reference.$refText}'.`,targetDescription:B}}};N(LC0,"isNamed");L1u=class{static{N(this,"DefaultNameProvider")}getName(u){if(LC0(u))return u.name;return}getNameNode(u){return kr(u.$cstNode,"name")}},X1u=class{static{N(this,"DefaultReferences")}constructor(u){this.nameProvider=u.references.NameProvider,this.index=u.shared.workspace.IndexManager,this.nodeLocator=u.workspace.AstNodeLocator,this.documents=u.shared.workspace.LangiumDocuments,this.hasMultiReference=_C(u.Grammar).some((B)=>Ow(B)&&B.isMulti)}findDeclarations(u){if(u){let B=sE0(u),E=u.astNode;if(B&&E){let A=E[B.feature];if(TB(A)||MU(A))return Y$(A);else if(Array.isArray(A)){for(let C of A)if((TB(C)||MU(C))&&C.$refNode&&C.$refNode.offset<=u.offset&&C.$refNode.end>=u.end)return Y$(C)}}if(E){let A=this.nameProvider.getNameNode(E);if(A&&(A===u||RE0(u,A)))return this.getSelfNodes(E)}}return[]}getSelfNodes(u){if(!this.hasMultiReference)return[u];else{let B=this.index.findAllReferences(u,this.nodeLocator.getAstNodePath(u)),E=this.getNodeFromReferenceDescription(B.head());if(E){for(let A of hl(E))if(MU(A.reference)&&A.reference.items.some((C)=>C.ref===u))return A.reference.items.map((C)=>C.ref)}return[u]}}getNodeFromReferenceDescription(u){if(!u)return;let B=this.documents.getDocument(u.sourceUri);if(B)return this.nodeLocator.getAstNode(B.parseResult.value,u.sourcePath);return}findDeclarationNodes(u){let B=this.findDeclarations(u),E=[];for(let A of B){let C=this.nameProvider.getNameNode(A)??A.$cstNode;if(C)E.push(C)}return E}findReferences(u,B){let E=[];if(B.includeDeclaration)E.push(...this.getSelfReferences(u));let A=this.index.findAllReferences(u,this.nodeLocator.getAstNodePath(u));if(B.documentUri)A=A.filter((C)=>OB.equals(C.sourceUri,B.documentUri));return E.push(...A),z6(E)}getSelfReferences(u){let B=this.getSelfNodes(u),E=[];for(let A of B){let C=this.nameProvider.getNameNode(A);if(C){let D=cC(A),F=this.nodeLocator.getAstNodePath(A);E.push({sourceUri:D.uri,sourcePath:F,targetUri:D.uri,targetPath:F,segment:ml(C),local:!0})}}return E}},Ok=class{static{N(this,"MultiMap")}constructor(u){if(this.map=new Map,u)for(let[B,E]of u)this.add(B,E)}get size(){return zR.sum(z6(this.map.values()).map((u)=>u.length))}clear(){this.map.clear()}delete(u,B){if(B===void 0)return this.map.delete(u);else{let E=this.map.get(u);if(E){let A=E.indexOf(B);if(A>=0){if(E.length===1)this.map.delete(u);else E.splice(A,1);return!0}}return!1}}get(u){return this.map.get(u)??[]}getStream(u){let B=this.map.get(u);return B?z6(B):jl}has(u,B){if(B===void 0)return this.map.has(u);else{let E=this.map.get(u);if(E)return E.indexOf(B)>=0;return!1}}add(u,B){if(this.map.has(u))this.map.get(u).push(B);else this.map.set(u,[B]);return this}addAll(u,B){if(this.map.has(u))this.map.get(u).push(...B);else this.map.set(u,Array.from(B));return this}forEach(u){this.map.forEach((B,E)=>B.forEach((A)=>u(A,E,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return z6(this.map.entries()).flatMap(([u,B])=>B.map((E)=>[u,E]))}keys(){return z6(this.map.keys())}values(){return z6(this.map.values()).flat()}entriesGroupedByKey(){return z6(this.map.entries())}},My=class{static{N(this,"BiMap")}get size(){return this.map.size}constructor(u){if(this.map=new Map,this.inverse=new Map,u)for(let[B,E]of u)this.set(B,E)}clear(){this.map.clear(),this.inverse.clear()}set(u,B){return this.map.set(u,B),this.inverse.set(B,u),this}get(u){return this.map.get(u)}getKey(u){return this.inverse.get(u)}delete(u){let B=this.map.get(u);if(B!==void 0)return this.map.delete(u),this.inverse.delete(B),!0;return!1}},v1u=class{static{N(this,"DefaultScopeComputation")}constructor(u){this.nameProvider=u.references.NameProvider,this.descriptions=u.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(u,B=P6.CancellationToken.None){return this.collectExportedSymbolsForNode(u.parseResult.value,u,void 0,B)}async collectExportedSymbolsForNode(u,B,E=YR,A=P6.CancellationToken.None){let C=[];this.addExportedSymbol(u,C,B);for(let D of E(u))await j5(A),this.addExportedSymbol(D,C,B);return C}addExportedSymbol(u,B,E){let A=this.nameProvider.getName(u);if(A)B.push(this.descriptions.createDescription(u,A,E))}async collectLocalSymbols(u,B=P6.CancellationToken.None){let E=u.parseResult.value,A=new Ok;for(let C of Ik(E))await j5(B),this.addLocalSymbol(C,u,A);return A}addLocalSymbol(u,B,E){let A=u.$container;if(A){let C=this.nameProvider.getName(u);if(C)E.add(A,this.descriptions.createDescription(u,C,B))}}},I80=class{static{N(this,"StreamScope")}constructor(u,B,E){this.elements=u,this.outerScope=B,this.caseInsensitive=E?.caseInsensitive??!1,this.concatOuterScope=E?.concatOuterScope??!0}getAllElements(){if(this.outerScope)return this.elements.concat(this.outerScope.getAllElements());else return this.elements}getElement(u){let B=this.caseInsensitive?u.toLowerCase():u,E=this.caseInsensitive?this.elements.find((A)=>A.name.toLowerCase()===B):this.elements.find((A)=>A.name===u);if(E)return E;if(this.outerScope)return this.outerScope.getElement(u);return}getElements(u){let B=this.caseInsensitive?u.toLowerCase():u,E=this.caseInsensitive?this.elements.filter((A)=>A.name.toLowerCase()===B):this.elements.filter((A)=>A.name===u);if((this.concatOuterScope||E.isEmpty())&&this.outerScope)return E.concat(this.outerScope.getElements(u));else return E}},Wj4=class{static{N(this,"MapScope")}constructor(u,B,E){this.elements=new Map,this.caseInsensitive=E?.caseInsensitive??!1,this.concatOuterScope=E?.concatOuterScope??!0;for(let A of u){let C=this.caseInsensitive?A.name.toLowerCase():A.name;this.elements.set(C,A)}this.outerScope=B}getElement(u){let B=this.caseInsensitive?u.toLowerCase():u,E=this.elements.get(B);if(E)return E;if(this.outerScope)return this.outerScope.getElement(u);return}getElements(u){let B=this.caseInsensitive?u.toLowerCase():u,E=this.elements.get(B),A=E?[E]:[];if((this.concatOuterScope||A.length>0)&&this.outerScope)return z6(A).concat(this.outerScope.getElements(u));else return z6(A)}getAllElements(){let u=z6(this.elements.values());if(this.outerScope)u=u.concat(this.outerScope.getAllElements());return u}},x1u=class{static{N(this,"MultiMapScope")}constructor(u,B,E){this.elements=new Ok,this.caseInsensitive=E?.caseInsensitive??!1,this.concatOuterScope=E?.concatOuterScope??!0;for(let A of u){let C=this.caseInsensitive?A.name.toLowerCase():A.name;this.elements.add(C,A)}this.outerScope=B}getElement(u){let B=this.caseInsensitive?u.toLowerCase():u,E=this.elements.get(B)[0];if(E)return E;if(this.outerScope)return this.outerScope.getElement(u);return}getElements(u){let B=this.caseInsensitive?u.toLowerCase():u,E=this.elements.get(B);if((this.concatOuterScope||E.length===0)&&this.outerScope)return z6(E).concat(this.outerScope.getElements(u));else return z6(E)}getAllElements(){let u=z6(this.elements.values());if(this.outerScope)u=u.concat(this.outerScope.getAllElements());return u}},Sj4={getElement(){return},getElements(){return jl},getAllElements(){return jl}},tr=class{static{N(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(u){this.toDispose.push(u)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach((u)=>u.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}},XC0=class extends tr{static{N(this,"SimpleCache")}constructor(){super(...arguments);this.cache=new Map}has(u){return this.throwIfDisposed(),this.cache.has(u)}set(u,B){this.throwIfDisposed(),this.cache.set(u,B)}get(u,B){if(this.throwIfDisposed(),this.cache.has(u))return this.cache.get(u);else if(B){let E=B();return this.cache.set(u,E),E}else return}delete(u){return this.throwIfDisposed(),this.cache.delete(u)}clear(){this.throwIfDisposed(),this.cache.clear()}},er=class extends tr{static{N(this,"ContextCache")}constructor(u){super();this.cache=new Map,this.converter=u??((B)=>B)}has(u,B){return this.throwIfDisposed(),this.cacheForContext(u).has(B)}set(u,B,E){this.throwIfDisposed(),this.cacheForContext(u).set(B,E)}get(u,B,E){this.throwIfDisposed();let A=this.cacheForContext(u);if(A.has(B))return A.get(B);else if(E){let C=E();return A.set(B,C),C}else return}delete(u,B){return this.throwIfDisposed(),this.cacheForContext(u).delete(B)}clear(u){if(this.throwIfDisposed(),u){let B=this.converter(u);this.cache.delete(B)}else this.cache.clear()}cacheForContext(u){let B=this.converter(u),E=this.cache.get(B);if(!E)E=new Map,this.cache.set(B,E);return E}},W1u=class extends er{static{N(this,"DocumentCache")}constructor(u,B){super((E)=>E.toString());if(B)this.toDispose.push(u.workspace.DocumentBuilder.onDocumentPhase(B,(E)=>{this.clear(E.uri.toString())})),this.toDispose.push(u.workspace.DocumentBuilder.onUpdate((E,A)=>{for(let C of A)this.clear(C)}));else this.toDispose.push(u.workspace.DocumentBuilder.onUpdate((E,A)=>{let C=E.concat(A);for(let D of C)this.clear(D)}))}},vC0=class extends XC0{static{N(this,"WorkspaceCache")}constructor(u,B){super();if(B)this.toDispose.push(u.workspace.DocumentBuilder.onBuildPhase(B,()=>{this.clear()})),this.toDispose.push(u.workspace.DocumentBuilder.onUpdate((E,A)=>{if(A.length>0)this.clear()}));else this.toDispose.push(u.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},S1u=class{static{N(this,"DefaultScopeProvider")}constructor(u){this.reflection=u.shared.AstReflection,this.nameProvider=u.references.NameProvider,this.descriptions=u.workspace.AstNodeDescriptionProvider,this.indexManager=u.shared.workspace.IndexManager,this.globalScopeCache=new vC0(u.shared)}getScope(u){let B=[],E=this.reflection.getReferenceType(u),A=cC(u.container).localSymbols;if(A){let D=u.container;do{if(A.has(D))B.push(A.getStream(D).filter((F)=>this.reflection.isSubtype(F.type,E)));D=D.$container}while(D)}let C=this.getGlobalScope(E,u);for(let D=B.length-1;D>=0;D--)C=this.createScope(B[D],C);return C}createScope(u,B,E){return new I80(z6(u),B,E)}createScopeForNodes(u,B,E){let A=z6(u).map((C)=>{let D=this.nameProvider.getName(C);if(D)return this.descriptions.createDescription(C,D);return}).nonNullable();return new I80(A,B,E)}getGlobalScope(u,B){return this.globalScopeCache.get(u,()=>new x1u(this.indexManager.allElements(u)))}};N(xC0,"isAstNodeWithComment");N(P80,"isIntermediateReference");Y1u=class{static{N(this,"DefaultJsonSerializer")}constructor(u){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=u.shared.workspace.LangiumDocuments,this.astNodeLocator=u.workspace.AstNodeLocator,this.nameProvider=u.references.NameProvider,this.commentProvider=u.documentation.CommentProvider}serialize(u,B){let E=B??{},A=B?.replacer,C=N((F,U)=>this.replacer(F,U,E),"defaultReplacer"),D=A?(F,U)=>A(F,U,C):C;try{return this.currentDocument=cC(u),JSON.stringify(u,D,B?.space)}finally{this.currentDocument=void 0}}deserialize(u,B){let E=B??{},A=JSON.parse(u);return this.linkNode(A,A,E),A}replacer(u,B,{refText:E,sourceText:A,textRegions:C,comments:D,uriConverter:F}){if(this.ignoreProperties.has(u))return;else if(TB(B)){let U=B.ref,z=E?B.$refText:void 0;if(U){let k=cC(U),f="";if(this.currentDocument&&this.currentDocument!==k)if(F)f=F(k.uri,U);else f=k.uri.toString();let M=this.astNodeLocator.getAstNodePath(U);return{$ref:`${f}#${M}`,$refText:z}}else return{$error:B.error?.message??"Could not resolve reference",$refText:z}}else if(MU(B)){let U=E?B.$refText:void 0,z=[];for(let k of B.items){let f=k.ref,M=cC(k.ref),b="";if(this.currentDocument&&this.currentDocument!==M)if(F)b=F(M.uri,f);else b=M.uri.toString();let Z=this.astNodeLocator.getAstNodePath(f);z.push(`${b}#${Z}`)}return{$refs:z,$refText:U}}else if(T2(B)){let U=void 0;if(C){if(U=this.addAstNodeRegionWithAssignmentsTo({...B}),(!u||B.$document)&&U?.$textRegion)U.$textRegion.documentURI=this.currentDocument?.uri.toString()}if(A&&!u)U??(U={...B}),U.$sourceText=B.$cstNode?.text;if(D){U??(U={...B});let z=this.commentProvider.getComment(B);if(z)U.$comment=z.replace(/\r/g,"")}return U??B}else return B}addAstNodeRegionWithAssignmentsTo(u){let B=N((E)=>({offset:E.offset,end:E.end,length:E.length,range:E.range}),"createDocumentSegment");if(u.$cstNode){let E=u.$textRegion=B(u.$cstNode),A=E.assignments={};return Object.keys(u).filter((C)=>!C.startsWith("$")).forEach((C)=>{let D=nE0(u.$cstNode,C).map(B);if(D.length!==0)A[C]=D}),u}return}linkNode(u,B,E,A,C,D){for(let[U,z]of Object.entries(u))if(Array.isArray(z))for(let k=0;k<z.length;k++){let f=z[k];if(P80(f))z[k]=this.reviveReference(u,U,B,f,E);else if(T2(f))this.linkNode(f,B,E,u,U,k)}else if(P80(z))u[U]=this.reviveReference(u,U,B,z,E);else if(T2(z))this.linkNode(z,B,E,u,U);let F=u;F.$container=A,F.$containerProperty=C,F.$containerIndex=D}reviveReference(u,B,E,A,C){let{$refText:D,$error:F}=A,U;if(A.$ref){let z=this.getRefNode(E,A.$ref,C.uriConverter);if(T2(z)){if(!D)D=this.nameProvider.getName(z);return{$refText:D??"",ref:z}}else F=z}else if(A.$refs){let z=[];for(let k of A.$refs){let f=this.getRefNode(E,k,C.uriConverter);if(T2(f))z.push({ref:f})}if(z.length===0)U={$refText:D??"",items:z},F??(F="Could not resolve multi-reference");else return{$refText:D??"",items:z}}if(F)return U??(U={$refText:D??"",ref:void 0}),U.error={info:{container:u,property:B,reference:U},message:F},U;else return}getRefNode(u,B,E){try{let A=B.indexOf("#");if(A===0){let U=this.astNodeLocator.getAstNode(u,B.substring(1));if(!U)return"Could not resolve path: "+B;return U}if(A<0){let U=E?E(B):LE.parse(B),z=this.langiumDocuments.getDocument(U);if(!z)return"Could not find document for URI: "+B;return z.parseResult.value}let C=E?E(B.substring(0,A)):LE.parse(B.substring(0,A)),D=this.langiumDocuments.getDocument(C);if(!D)return"Could not find document for URI: "+B;if(A===B.length-1)return D.parseResult.value;let F=this.astNodeLocator.getAstNode(D.parseResult.value,B.substring(A+1));if(!F)return"Could not resolve URI: "+B;return F}catch(A){return String(A)}}},R1u=class{static{N(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(u){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=u?.workspace.TextDocuments}register(u){let B=u.LanguageMetaData;for(let E of B.fileExtensions){if(this.fileExtensionMap.has(E))console.warn(`The file extension ${E} is used by multiple languages. It is now assigned to '${B.languageId}'.`);this.fileExtensionMap.set(E,u)}if(B.fileNames)for(let E of B.fileNames){if(this.fileNameMap.has(E))console.warn(`The file name ${E} is used by multiple languages. It is now assigned to '${B.languageId}'.`);this.fileNameMap.set(E,u)}this.languageIdMap.set(B.languageId,u)}getServices(u){if(this.languageIdMap.size===0)throw Error("The service registry is empty. Use `register` to register the services of a language.");let B=this.textDocuments?.get(u)?.languageId;if(B!==void 0){let D=this.languageIdMap.get(B);if(D)return D}let E=OB.extname(u),A=OB.basename(u),C=this.fileNameMap.get(A)??this.fileExtensionMap.get(E);if(!C)if(B)throw Error(`The service registry contains no services for the extension '${E}' for language '${B}'.`);else throw Error(`The service registry contains no services for the extension '${E}'.`);return C}hasServices(u){try{return this.getServices(u),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};N(Qw,"diagnosticData");(function(u){u.defaults=["fast","slow","built-in"],u.all=u.defaults})(by||(by={}));T1u=class{static{N(this,"ValidationRegistry")}constructor(u){this.entries=new Ok,this.knownCategories=new Set(by.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=u.shared.AstReflection}register(u,B=this,E="fast"){if(E==="built-in")throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(E);for(let[A,C]of Object.entries(u)){let D=C;if(Array.isArray(D))for(let F of D){let U={check:this.wrapValidationException(F,B),category:E};this.addEntry(A,U)}else if(typeof D==="function"){let F={check:this.wrapValidationException(D,B),category:E};this.addEntry(A,F)}else Pb(D)}}wrapValidationException(u,B){return async(E,A,C)=>{await this.handleException(()=>u.call(B,E,A,C),"An error occurred during validation",A,E)}}async handleException(u,B,E,A){try{await u()}catch(C){if(pw(C))throw C;if(console.error(`${B}:`,C),C instanceof Error&&C.stack)console.error(C.stack);let D=C instanceof Error?C.message:String(C);E("error",`${B}: ${D}`,{node:A})}}addEntry(u,B){if(u==="AstNode"){this.entries.add("AstNode",B);return}for(let E of this.reflection.getAllSubTypes(u))this.entries.add(E,B)}getChecks(u,B){let E=z6(this.entries.get(u)).concat(this.entries.get("AstNode"));if(B)E=E.filter((A)=>B.includes(A.category));return E.map((A)=>A.check)}registerBeforeDocument(u,B=this){this.entriesBefore.push(this.wrapPreparationException(u,"An error occurred during set-up of the validation",B))}registerAfterDocument(u,B=this){this.entriesAfter.push(this.wrapPreparationException(u,"An error occurred during tear-down of the validation",B))}wrapPreparationException(u,B,E){return async(A,C,D,F)=>{await this.handleException(()=>u.call(E,A,C,D,F),B,C,A)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(u){return this.knownCategories}},O1u=Object.freeze({validateNode:!0,validateChildren:!0}),I1u=class{static{N(this,"DefaultDocumentValidator")}constructor(u){this.validationRegistry=u.validation.ValidationRegistry,this.metadata=u.LanguageMetaData,this.profiler=u.shared.profilers.LangiumProfiler,this.languageId=u.LanguageMetaData.languageId}async validateDocument(u,B={},E=P6.CancellationToken.None){let A=u.parseResult,C=[];if(await j5(E),!B.categories||B.categories.includes("built-in")){if(this.processLexingErrors(A,C,B),B.stopAfterLexingErrors&&C.some((D)=>D.data?.code===vA.LexingError))return C;if(this.processParsingErrors(A,C,B),B.stopAfterParsingErrors&&C.some((D)=>D.data?.code===vA.ParsingError))return C;if(this.processLinkingErrors(u,C,B),B.stopAfterLinkingErrors&&C.some((D)=>D.data?.code===vA.LinkingError))return C}try{C.push(...await this.validateAst(A.value,B,E))}catch(D){if(pw(D))throw D;console.error("An error occurred during validation:",D)}return await j5(E),C}processLexingErrors(u,B,E){let A=[...u.lexerErrors,...u.lexerReport?.diagnostics??[]];for(let C of A){let D=C.severity??"error",F={severity:tY(D),range:{start:{line:C.line-1,character:C.column-1},end:{line:C.line-1,character:C.column+C.length-1}},message:C.message,data:SC0(D),source:this.getSource()};B.push(F)}}processParsingErrors(u,B,E){for(let A of u.parserErrors){let C=void 0;if(isNaN(A.token.startOffset)){if("previousToken"in A){let D=A.previousToken;if(!isNaN(D.startOffset)){let F={line:D.endLine-1,character:D.endColumn};C={start:F,end:F}}else{let F={line:0,character:0};C={start:F,end:F}}}}else C=kR(A.token);if(C){let D={severity:tY("error"),range:C,message:A.message,data:Qw(vA.ParsingError),source:this.getSource()};B.push(D)}}}processLinkingErrors(u,B,E){for(let A of u.references){let C=A.error;if(C){let D={node:C.info.container,range:A.$refNode?.range,property:C.info.property,index:C.info.index,data:{code:vA.LinkingError,containerType:C.info.container.$type,property:C.info.property,refText:C.info.reference.$refText}};B.push(this.toDiagnostic("error",C.message,D))}}}async validateAst(u,B,E=P6.CancellationToken.None){let A=[],C=N((D,F,U)=>{A.push(this.toDiagnostic(D,F,U))},"acceptor");return await this.validateAstBefore(u,B,C,E),await this.validateAstNodes(u,B,C,E),await this.validateAstAfter(u,B,C,E),A}async validateAstBefore(u,B,E,A=P6.CancellationToken.None){let C=this.validationRegistry.checksBefore;for(let D of C)await j5(A),await D(u,E,B.categories??[],A)}async validateAstNodes(u,B,E,A=P6.CancellationToken.None){if(this.profiler?.isActive("validating")){let C=this.profiler.createTask("validating",this.languageId);C.start();try{let D=_C(u).iterator();for(let F of D){C.startSubTask(F.$type);let U=this.validateSingleNodeOptions(F,B);if(U.validateNode)try{let z=this.validationRegistry.getChecks(F.$type,B.categories);for(let k of z)await k(F,E,A)}finally{C.stopSubTask(F.$type)}if(!U.validateChildren)D.prune()}}finally{C.stop()}}else{let C=_C(u).iterator();for(let D of C){await j5(A);let F=this.validateSingleNodeOptions(D,B);if(F.validateNode){let U=this.validationRegistry.getChecks(D.$type,B.categories);for(let z of U)await z(D,E,A)}if(!F.validateChildren)C.prune()}}}validateSingleNodeOptions(u,B){return O1u}async validateAstAfter(u,B,E,A=P6.CancellationToken.None){let C=this.validationRegistry.checksAfter;for(let D of C)await j5(A),await D(u,E,B.categories??[],A)}toDiagnostic(u,B,E){return{message:B,range:WC0(E),severity:tY(u),code:E.code,codeDescription:E.codeDescription,tags:E.tags,relatedInformation:E.relatedInformation,data:E.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};N(WC0,"getDiagnosticRange");N(tY,"toDiagnosticSeverity");N(SC0,"toDiagnosticData");(function(u){u.LexingError="lexing-error",u.LexingWarning="lexing-warning",u.LexingInfo="lexing-info",u.LexingHint="lexing-hint",u.ParsingError="parsing-error",u.LinkingError="linking-error"})(vA||(vA={}));P1u=class{static{N(this,"DefaultAstNodeDescriptionProvider")}constructor(u){this.astNodeLocator=u.workspace.AstNodeLocator,this.nameProvider=u.references.NameProvider}createDescription(u,B,E){let A=E??cC(u);B??(B=this.nameProvider.getName(u));let C=this.astNodeLocator.getAstNodePath(u);if(!B)throw Error(`Node at path ${C} has no name.`);let D,F=N(()=>D??(D=ml(this.nameProvider.getNameNode(u)??u.$cstNode)),"nameSegmentGetter");return{node:u,name:B,get nameSegment(){return F()},selectionSegment:ml(u.$cstNode),type:u.$type,documentUri:A.uri,path:C}}},j1u=class{static{N(this,"DefaultReferenceDescriptionProvider")}constructor(u){this.nodeLocator=u.workspace.AstNodeLocator}async createDescriptions(u,B=P6.CancellationToken.None){let E=[],A=u.parseResult.value;for(let C of _C(A))await j5(B),hl(C).forEach((D)=>{if(!D.reference.error)E.push(...this.createInfoDescriptions(D))});return E}createInfoDescriptions(u){let B=u.reference;if(B.error||!B.$refNode)return[];let E=[];if(TB(B)&&B.$nodeDescription)E=[B.$nodeDescription];else if(MU(B))E=B.items.map((U)=>U.$nodeDescription).filter((U)=>U!==void 0);let A=cC(u.container).uri,C=this.nodeLocator.getAstNodePath(u.container),D=[],F=ml(B.$refNode);for(let U of E)D.push({sourceUri:A,sourcePath:C,targetUri:U.documentUri,targetPath:U.path,segment:F,local:OB.equals(U.documentUri,A)});return D}},N1u=class{static{N(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(u){if(u.$container){let B=this.getAstNodePath(u.$container),E=this.getPathSegment(u);return B+this.segmentSeparator+E}return""}getPathSegment({$containerProperty:u,$containerIndex:B}){if(!u)throw Error("Missing '$containerProperty' in AST node.");if(B!==void 0)return u+this.indexSeparator+B;return u}getAstNode(u,B){return B.split(this.segmentSeparator).reduce((A,C)=>{if(!A||C.length===0)return A;let D=C.indexOf(this.indexSeparator);if(D>0){let F=C.substring(0,D),U=parseInt(C.substring(D+1));return A[F]?.[U]}return A[C]},u)}},ug={};ny(ug,BE0(cl(),1));V1u=class{static{N(this,"DefaultConfigurationProvider")}constructor(u){this._ready=new Tk,this.onConfigurationSectionUpdateEmitter=new ug.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=u.ServiceRegistry}get ready(){return this._ready.promise}initialize(u){this.workspaceConfig=u.capabilities.workspace?.configuration??!1}async initialized(u){if(this.workspaceConfig){if(u.register){let B=this.serviceRegistry.all;u.register({section:B.map((E)=>this.toSectionName(E.LanguageMetaData.languageId))})}if(u.fetchConfiguration){let B=this.serviceRegistry.all.map((A)=>({section:this.toSectionName(A.LanguageMetaData.languageId)})),E=await u.fetchConfiguration(B);B.forEach((A,C)=>{this.updateSectionConfiguration(A.section,E[C])})}}this._ready.resolve()}updateConfiguration(u){if(typeof u.settings!=="object"||u.settings===null)return;Object.entries(u.settings).forEach(([B,E])=>{this.updateSectionConfiguration(B,E),this.onConfigurationSectionUpdateEmitter.fire({section:B,configuration:E})})}updateSectionConfiguration(u,B){this.settings[u]=B}async getConfiguration(u,B){await this.ready;let E=this.toSectionName(u);if(this.settings[E])return this.settings[E][B]}toSectionName(u){return`${u}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},nm=BE0(EX4(),1);(function(u){function B(E){return{dispose:N(async()=>await E(),"dispose")}}N(B,"create"),u.create=B})(Lw||(Lw={}));h1u=class{static{N(this,"DefaultDocumentBuilder")}constructor(u){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ok,this.documentPhaseListeners=new Ok,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=A1.Changed,this.langiumDocuments=u.workspace.LangiumDocuments,this.langiumDocumentFactory=u.workspace.LangiumDocumentFactory,this.textDocuments=u.workspace.TextDocuments,this.indexManager=u.workspace.IndexManager,this.fileSystemProvider=u.workspace.FileSystemProvider,this.workspaceManager=()=>u.workspace.WorkspaceManager,this.serviceRegistry=u.ServiceRegistry}async build(u,B={},E=P6.CancellationToken.None){for(let A of u){let C=A.uri.toString();if(A.state===A1.Validated){if(typeof B.validation==="boolean"&&B.validation)this.resetToState(A,A1.IndexedReferences);else if(typeof B.validation==="object"){let D=this.findMissingValidationCategories(A,B);if(D.length>0)this.buildState.set(C,{completed:!1,options:{validation:{categories:D}},result:this.buildState.get(C)?.result}),A.state=A1.IndexedReferences}}else this.buildState.delete(C)}this.currentState=A1.Changed,await this.emitUpdate(u.map((A)=>A.uri),[]),await this.buildDocuments(u,B,E)}async update(u,B,E=P6.CancellationToken.None){this.currentState=A1.Changed;let A=[];for(let U of B){let z=this.langiumDocuments.deleteDocuments(U);for(let k of z)A.push(k.uri),this.cleanUpDeleted(k)}let C=(await Promise.all(u.map((U)=>this.findChangedUris(U)))).flat();for(let U of C){let z=this.langiumDocuments.getDocument(U);if(z===void 0)z=this.langiumDocumentFactory.fromModel({$type:"INVALID"},U),z.state=A1.Changed,this.langiumDocuments.addDocument(z);this.resetToState(z,A1.Changed)}let D=z6(C).concat(A).map((U)=>U.toString()).toSet();this.langiumDocuments.all.filter((U)=>!D.has(U.uri.toString())&&this.shouldRelink(U,D)).forEach((U)=>this.resetToState(U,A1.ComputedScopes)),await this.emitUpdate(C,A),await j5(E);let F=this.sortDocuments(this.langiumDocuments.all.filter((U)=>U.state<A1.Validated||!this.buildState.get(U.uri.toString())?.completed||this.resultsAreIncomplete(U,this.updateBuildOptions)).toArray());await this.buildDocuments(F,this.updateBuildOptions,E)}resultsAreIncomplete(u,B){return this.findMissingValidationCategories(u,B).length>=1}findMissingValidationCategories(u,B){let E=this.buildState.get(u.uri.toString()),A=this.serviceRegistry.getServices(u.uri).validation.ValidationRegistry.getAllValidationCategories(u),C=E?.result?.validationChecks?new Set(E?.result?.validationChecks):E?.completed?A:new Set,D=B===void 0||B.validation===!0?A:typeof B.validation==="object"?B.validation.categories??A:[];return z6(D).filter((F)=>!C.has(F)).toArray()}async findChangedUris(u){if(this.langiumDocuments.getDocument(u)??this.textDocuments?.get(u))return[u];try{let E=await this.fileSystemProvider.stat(u);if(E.isDirectory)return await this.workspaceManager().searchFolder(u);else if(this.workspaceManager().shouldIncludeEntry(E))return[u]}catch{}return[]}async emitUpdate(u,B){await Promise.all(this.updateListeners.map((E)=>E(u,B)))}sortDocuments(u){let B=0,E=u.length-1;while(B<E){while(B<u.length&&this.hasTextDocument(u[B]))B++;while(E>=0&&!this.hasTextDocument(u[E]))E--;if(B<E)[u[B],u[E]]=[u[E],u[B]]}return u}hasTextDocument(u){return Boolean(this.textDocuments?.get(u.uri))}shouldRelink(u,B){if(u.references.some((E)=>E.error!==void 0))return!0;return this.indexManager.isAffected(u,B)}onUpdate(u){return this.updateListeners.push(u),Lw.create(()=>{let B=this.updateListeners.indexOf(u);if(B>=0)this.updateListeners.splice(B,1)})}resetToState(u,B){switch(B){case A1.Changed:case A1.Parsed:this.indexManager.removeContent(u.uri);case A1.IndexedContent:u.localSymbols=void 0;case A1.ComputedScopes:this.serviceRegistry.getServices(u.uri).references.Linker.unlink(u);case A1.Linked:this.indexManager.removeReferences(u.uri);case A1.IndexedReferences:u.diagnostics=void 0,this.buildState.delete(u.uri.toString());case A1.Validated:}if(u.state>B)u.state=B}cleanUpDeleted(u){this.buildState.delete(u.uri.toString()),this.indexManager.remove(u.uri),u.state=A1.Changed}async buildDocuments(u,B,E){this.prepareBuild(u,B),await this.runCancelable(u,A1.Parsed,E,(D)=>this.langiumDocumentFactory.update(D,E)),await this.runCancelable(u,A1.IndexedContent,E,(D)=>this.indexManager.updateContent(D,E)),await this.runCancelable(u,A1.ComputedScopes,E,async(D)=>{let F=this.serviceRegistry.getServices(D.uri).references.ScopeComputation;D.localSymbols=await F.collectLocalSymbols(D,E)});let A=u.filter((D)=>this.shouldLink(D));await this.runCancelable(A,A1.Linked,E,(D)=>{return this.serviceRegistry.getServices(D.uri).references.Linker.link(D,E)}),await this.runCancelable(A,A1.IndexedReferences,E,(D)=>this.indexManager.updateReferences(D,E));let C=u.filter((D)=>{if(this.shouldValidate(D))return!0;else return this.markAsCompleted(D),!1});await this.runCancelable(C,A1.Validated,E,async(D)=>{await this.validate(D,E),this.markAsCompleted(D)})}markAsCompleted(u){let B=this.buildState.get(u.uri.toString());if(B)B.completed=!0}prepareBuild(u,B){for(let E of u){let A=E.uri.toString(),C=this.buildState.get(A);if(!C||C.completed)this.buildState.set(A,{completed:!1,options:B,result:C?.result})}}async runCancelable(u,B,E,A){for(let D of u)if(D.state<B)await j5(E),await A(D),D.state=B,await this.notifyDocumentPhase(D,B,E);let C=u.filter((D)=>D.state===B);await this.notifyBuildPhase(C,B,E),this.currentState=B}onBuildPhase(u,B){return this.buildPhaseListeners.add(u,B),Lw.create(()=>{this.buildPhaseListeners.delete(u,B)})}onDocumentPhase(u,B){return this.documentPhaseListeners.add(u,B),Lw.create(()=>{this.documentPhaseListeners.delete(u,B)})}waitUntil(u,B,E){let A=void 0;if(B&&"path"in B)A=B;else E=B;if(E??(E=P6.CancellationToken.None),A)return this.awaitDocumentState(u,A,E);else return this.awaitBuilderState(u,E)}awaitDocumentState(u,B,E){let A=this.langiumDocuments.getDocument(B);if(!A)return Promise.reject(new nm.ResponseError(nm.LSPErrorCodes.ServerCancelled,`No document found for URI: ${B.toString()}`));else if(A.state>=u)return Promise.resolve(B);else if(E.isCancellationRequested)return Promise.reject(fU);else if(this.currentState>=u&&u>A.state)return Promise.reject(new nm.ResponseError(nm.LSPErrorCodes.RequestFailed,`Document state of ${B.toString()} is ${A1[A.state]}, requiring ${A1[u]}, but workspace state is already ${A1[this.currentState]}. Returning undefined.`));return new Promise((C,D)=>{let F=this.onDocumentPhase(u,(z)=>{if(OB.equals(z.uri,B))F.dispose(),U.dispose(),C(z.uri)}),U=E.onCancellationRequested(()=>{F.dispose(),U.dispose(),D(fU)})})}awaitBuilderState(u,B){if(this.currentState>=u)return Promise.resolve();else if(B.isCancellationRequested)return Promise.reject(fU);return new Promise((E,A)=>{let C=this.onBuildPhase(u,()=>{C.dispose(),D.dispose(),E()}),D=B.onCancellationRequested(()=>{C.dispose(),D.dispose(),A(fU)})})}async notifyDocumentPhase(u,B,E){let C=this.documentPhaseListeners.get(B).slice();for(let D of C)try{await j5(E),await D(u,E)}catch(F){if(!pw(F))throw F}}async notifyBuildPhase(u,B,E){if(u.length===0)return;let C=this.buildPhaseListeners.get(B).slice();for(let D of C)await j5(E),await D(u,E)}shouldLink(u){return this.getBuildOptions(u).eagerLinking??!0}shouldValidate(u){return Boolean(this.getBuildOptions(u).validation)}async validate(u,B){let E=this.serviceRegistry.getServices(u.uri).validation.DocumentValidator,A=this.getBuildOptions(u),C=typeof A.validation==="object"?{...A.validation}:{};C.categories=this.findMissingValidationCategories(u,A);let D=await E.validateDocument(u,C,B);if(u.diagnostics)u.diagnostics.push(...D);else u.diagnostics=D;let F=this.buildState.get(u.uri.toString());if(F)if(F.result??(F.result={}),F.result.validationChecks)F.result.validationChecks=z6(F.result.validationChecks).concat(C.categories).distinct().toArray();else F.result.validationChecks=[...C.categories]}getBuildOptions(u){return this.buildState.get(u.uri.toString())?.options??{}}},i1u=class{static{N(this,"DefaultIndexManager")}constructor(u){this.symbolIndex=new Map,this.symbolByTypeIndex=new er,this.referenceIndex=new Map,this.documents=u.workspace.LangiumDocuments,this.serviceRegistry=u.ServiceRegistry,this.astReflection=u.AstReflection}findAllReferences(u,B){let E=cC(u).uri,A=[];return this.referenceIndex.forEach((C)=>{C.forEach((D)=>{if(OB.equals(D.targetUri,E)&&D.targetPath===B)A.push(D)})}),z6(A)}allElements(u,B){let E=z6(this.symbolIndex.keys());if(B)E=E.filter((A)=>!B||B.has(A));return E.map((A)=>this.getFileDescriptions(A,u)).flat()}getFileDescriptions(u,B){if(!B)return this.symbolIndex.get(u)??[];return this.symbolByTypeIndex.get(u,B,()=>{return(this.symbolIndex.get(u)??[]).filter((C)=>this.astReflection.isSubtype(C.type,B))})}remove(u){this.removeContent(u),this.removeReferences(u)}removeContent(u){let B=u.toString();this.symbolIndex.delete(B),this.symbolByTypeIndex.clear(B)}removeReferences(u){let B=u.toString();this.referenceIndex.delete(B)}async updateContent(u,B=P6.CancellationToken.None){let A=await this.serviceRegistry.getServices(u.uri).references.ScopeComputation.collectExportedSymbols(u,B),C=u.uri.toString();this.symbolIndex.set(C,A),this.symbolByTypeIndex.clear(C)}async updateReferences(u,B=P6.CancellationToken.None){let A=await this.serviceRegistry.getServices(u.uri).workspace.ReferenceDescriptionProvider.createDescriptions(u,B);this.referenceIndex.set(u.uri.toString(),A)}isAffected(u,B){let E=this.referenceIndex.get(u.uri.toString());if(!E)return!1;return E.some((A)=>!A.local&&B.has(A.targetUri.toString()))}},a1u=class{static{N(this,"DefaultWorkspaceManager")}constructor(u){this.initialBuildOptions={},this._ready=new Tk,this.serviceRegistry=u.ServiceRegistry,this.langiumDocuments=u.workspace.LangiumDocuments,this.documentBuilder=u.workspace.DocumentBuilder,this.fileSystemProvider=u.workspace.FileSystemProvider,this.mutex=u.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(u){this.folders=u.workspaceFolders??void 0}initialized(u){return this.mutex.write((B)=>this.initializeWorkspace(this.folders??[],B))}async initializeWorkspace(u,B=P6.CancellationToken.None){let E=await this.performStartup(u);await j5(B),await this.documentBuilder.build(E,this.initialBuildOptions,B)}async performStartup(u){let B=[],E=N((D)=>{if(B.push(D),!this.langiumDocuments.hasDocument(D.uri))this.langiumDocuments.addDocument(D)},"collector");await this.loadAdditionalDocuments(u,E);let A=[];await Promise.all(u.map((D)=>this.getRootFolder(D)).map(async(D)=>this.traverseFolder(D,A)));let C=z6(A).distinct((D)=>D.toString()).filter((D)=>!this.langiumDocuments.hasDocument(D));return await this.loadWorkspaceDocuments(C,E),this._ready.resolve(),B}async loadWorkspaceDocuments(u,B){await Promise.all(u.map(async(E)=>{let A=await this.langiumDocuments.getOrCreateDocument(E);B(A)}))}loadAdditionalDocuments(u,B){return Promise.resolve()}getRootFolder(u){return LE.parse(u.uri)}async traverseFolder(u,B){try{let E=await this.fileSystemProvider.readDirectory(u);await Promise.all(E.map(async(A)=>{if(this.shouldIncludeEntry(A)){if(A.isDirectory)await this.traverseFolder(A.uri,B);else if(A.isFile)B.push(A.uri)}}))}catch(E){console.error("Failure to read directory content of "+u.toString(!0),E)}}async searchFolder(u){let B=[];return await this.traverseFolder(u,B),B}shouldIncludeEntry(u){let B=OB.basename(u.uri);if(B.startsWith("."))return!1;if(u.isDirectory)return B!=="node_modules"&&B!=="out";else if(u.isFile)return this.serviceRegistry.hasServices(u.uri);return!1}},m1u=class{static{N(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(u,B,E,A,C){return Z80.buildUnexpectedCharactersMessage(u,B,E,A,C)}buildUnableToPopLexerModeMessage(u){return Z80.buildUnableToPopLexerModeMessage(u)}},YC0={mode:"full"},RC0=class{static{N(this,"DefaultLexer")}constructor(u){this.errorMessageProvider=u.parser.LexerErrorMessageProvider,this.tokenBuilder=u.parser.TokenBuilder;let B=this.tokenBuilder.buildTokens(u.Grammar,{caseInsensitive:u.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(B);let E=Zy(B)?Object.values(B):B,A=u.LanguageMetaData.mode==="production";this.chevrotainLexer=new IB(E,{positionTracking:"full",skipValidations:A,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(u,B=YC0){let E=this.chevrotainLexer.tokenize(u);return{tokens:E.tokens,errors:E.errors,hidden:E.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(u)}}toTokenTypeDictionary(u){if(Zy(u))return u;let B=Eg(u)?Object.values(u.modes).flat():u,E={};return B.forEach((A)=>E[A.name]=A),E}};N(Bg,"isTokenTypeArray");N(Eg,"isIMultiModeLexerDefinition");N(Zy,"isTokenTypeDictionary");WR();N(TC0,"parseJSDoc");N(OC0,"isJSDoc");N(IC0,"getLines");cp0=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Yj4=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;N($1u,"tokenize");N(y1u,"buildInlineTokens");Rj4=/\S/,Tj4=/\s*$/;N(Jy,"skipWhitespace");N(r1u,"lastCharacter");N(g1u,"parseJSDocComment");N(c1u,"parseJSDocElement");N(_1u,"appendEmptyLine");N(PC0,"parseJSDocText");N(p1u,"parseJSDocInline");N(jC0,"parseJSDocTag");N(NC0,"parseJSDocLine");N(Ag,"normalizeOptions");N(W$,"normalizeOption");_p0=class{static{N(this,"JSDocCommentImpl")}constructor(u,B){this.elements=u,this.range=B}getTag(u){return this.getAllTags().find((B)=>B.name===u)}getTags(u){return this.getAllTags().filter((B)=>B.name===u)}getAllTags(){return this.elements.filter((u)=>("name"in u))}toString(){let u="";for(let B of this.elements)if(u.length===0)u=B.toString();else{let E=B.toString();u+=N80(u)+E}return u.trim()}toMarkdown(u){let B="";for(let E of this.elements)if(B.length===0)B=E.toMarkdown(u);else{let A=E.toMarkdown(u);B+=N80(B)+A}return B.trim()}},r70=class{static{N(this,"JSDocTagImpl")}constructor(u,B,E,A){this.name=u,this.content=B,this.inline=E,this.range=A}toString(){let u=`@${this.name}`,B=this.content.toString();if(this.content.inlines.length===1)u=`${u} ${B}`;else if(this.content.inlines.length>1)u=`${u}
${B}`;if(this.inline)return`{${u}}`;else return u}toMarkdown(u){return u?.renderTag?.(this)??this.toMarkdownDefault(u)}toMarkdownDefault(u){let B=this.content.toMarkdown(u);if(this.inline){let C=n1u(this.name,B,u??{});if(typeof C==="string")return C}let E="";if(u?.tag==="italic"||u?.tag===void 0)E="*";else if(u?.tag==="bold")E="**";else if(u?.tag==="bold-italic")E="***";let A=`${E}@${this.name}${E}`;if(this.content.inlines.length===1)A=`${A} — ${B}`;else if(this.content.inlines.length>1)A=`${A}
${B}`;if(this.inline)return`{${A}}`;else return A}};N(n1u,"renderInlineTag");N(d1u,"renderLinkDefault");j80=class{static{N(this,"JSDocTextImpl")}constructor(u,B){this.inlines=u,this.range=B}toString(){let u="";for(let B=0;B<this.inlines.length;B++){let E=this.inlines[B],A=this.inlines[B+1];if(u+=E.toString(),A&&A.range.start.line>E.range.start.line)u+=`
`}return u}toMarkdown(u){let B="";for(let E=0;E<this.inlines.length;E++){let A=this.inlines[E],C=this.inlines[E+1];if(B+=A.toMarkdown(u),C&&C.range.start.line>A.range.start.line)B+=`
`}return B}},s1u=class{static{N(this,"JSDocLineImpl")}constructor(u,B){this.text=u,this.range=B}toString(){return this.text}toMarkdown(){return this.text}};N(N80,"fillNewlines");o1u=class{static{N(this,"JSDocDocumentationProvider")}constructor(u){this.indexManager=u.shared.workspace.IndexManager,this.commentProvider=u.documentation.CommentProvider}getDocumentation(u){let B=this.commentProvider.getComment(u);if(B&&OC0(B))return TC0(B).toMarkdown({renderLink:N((A,C)=>{return this.documentationLinkRenderer(u,A,C)},"renderLink"),renderTag:N((A)=>{return this.documentationTagRenderer(u,A)},"renderTag")});return}documentationLinkRenderer(u,B,E){let A=this.findNameInLocalSymbols(u,B)??this.findNameInGlobalScope(u,B);if(A&&A.nameSegment){let C=A.nameSegment.range.start.line+1,D=A.nameSegment.range.start.character+1,F=A.documentUri.with({fragment:`L${C},${D}`});return`[${E}](${F.toString()})`}else return}documentationTagRenderer(u,B){return}findNameInLocalSymbols(u,B){let A=cC(u).localSymbols;if(!A)return;let C=u;do{let F=A.getStream(C).find((U)=>U.name===B);if(F)return F;C=C.$container}while(C);return}findNameInGlobalScope(u,B){return this.indexManager.allElements().find((A)=>A.name===B)}},t1u=class{static{N(this,"DefaultCommentProvider")}constructor(u){this.grammarConfig=()=>u.parser.GrammarConfig}getComment(u){if(xC0(u))return u.$comment;return PE0(u.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},e1u=class{static{N(this,"DefaultAsyncParser")}constructor(u){this.syncParser=u.parser.LangiumParser}parse(u,B){return Promise.resolve(this.syncParser.parse(u))}},Oj4=class{static{N(this,"AbstractThreadedAsyncParser")}constructor(u){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=u.serializer.Hydrator}initializeWorkers(){while(this.workerPool.length<this.threadCount){let u=this.createWorker();u.onReady(()=>{if(this.queue.length>0){let B=this.queue.shift();if(B)u.lock(),B.resolve(u)}}),this.workerPool.push(u)}}async parse(u,B){let E=await this.acquireParserWorker(B),A=new Tk,C,D=B.onCancellationRequested(()=>{C=setTimeout(()=>{this.terminateWorker(E)},this.terminationDelay)});return E.parse(u).then((F)=>{let U=this.hydrator.hydrate(F);A.resolve(U)}).catch((F)=>{A.reject(F)}).finally(()=>{D.dispose(),clearTimeout(C)}),A.promise}terminateWorker(u){u.terminate();let B=this.workerPool.indexOf(u);if(B>=0)this.workerPool.splice(B,1)}async acquireParserWorker(u){this.initializeWorkers();for(let E of this.workerPool)if(E.ready)return E.lock(),E;let B=new Tk;return u.onCancellationRequested(()=>{let E=this.queue.indexOf(B);if(E>=0)this.queue.splice(E,1);B.reject(fU)}),this.queue.push(B),B.promise}},Ij4=class{static{N(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(u,B,E,A){this.onReadyEmitter=new ug.Emitter,this.deferred=new Tk,this._ready=!0,this._parsing=!1,this.sendMessage=u,this._terminate=A,B((C)=>{let D=C;this.deferred.resolve(D),this.unlock()}),E((C)=>{this.deferred.reject(C),this.unlock()})}terminate(){this.deferred.reject(fU),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(u){if(this._parsing)throw Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Tk,this.sendMessage(u),this.deferred.promise}},u6u=class{static{N(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new P6.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(u){this.cancelWrite();let B=or();return this.previousTokenSource=B,this.enqueue(this.writeQueue,u,B.token)}read(u){return this.enqueue(this.readQueue,u)}enqueue(u,B,E=P6.CancellationToken.None){let A=new Tk,C={action:B,deferred:A,cancellationToken:E};return u.push(C),this.performNextOperation(),A.promise}async performNextOperation(){if(!this.done)return;let u=[];if(this.writeQueue.length>0)u.push(this.writeQueue.shift());else if(this.readQueue.length>0)u.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(u.map(async({action:B,deferred:E,cancellationToken:A})=>{try{let C=await Promise.resolve().then(()=>B(A));E.resolve(C)}catch(C){if(pw(C))E.resolve(void 0);else E.reject(C)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},B6u=class{static{N(this,"DefaultHydrator")}constructor(u){this.grammarElementIdMap=new My,this.tokenTypeIdMap=new My,this.grammar=u.Grammar,this.lexer=u.parser.Lexer,this.linker=u.references.Linker}dehydrate(u){return{lexerErrors:u.lexerErrors,lexerReport:u.lexerReport?this.dehydrateLexerReport(u.lexerReport):void 0,parserErrors:u.parserErrors.map((B)=>({...B,message:B.message})),value:this.dehydrateAstNode(u.value,this.createDehyrationContext(u.value))}}dehydrateLexerReport(u){return u}createDehyrationContext(u){let B=new Map,E=new Map;for(let A of _C(u))B.set(A,{});if(u.$cstNode)for(let A of al(u.$cstNode))E.set(A,{});return{astNodes:B,cstNodes:E}}dehydrateAstNode(u,B){let E=B.astNodes.get(u);if(E.$type=u.$type,E.$containerIndex=u.$containerIndex,E.$containerProperty=u.$containerProperty,u.$cstNode!==void 0)E.$cstNode=this.dehydrateCstNode(u.$cstNode,B);for(let[A,C]of Object.entries(u)){if(A.startsWith("$"))continue;if(Array.isArray(C)){let D=[];E[A]=D;for(let F of C)if(T2(F))D.push(this.dehydrateAstNode(F,B));else if(TB(F))D.push(this.dehydrateReference(F,B));else D.push(F)}else if(T2(C))E[A]=this.dehydrateAstNode(C,B);else if(TB(C))E[A]=this.dehydrateReference(C,B);else if(C!==void 0)E[A]=C}return E}dehydrateReference(u,B){let E={};if(E.$refText=u.$refText,u.$refNode)E.$refNode=B.cstNodes.get(u.$refNode);return E}dehydrateCstNode(u,B){let E=B.cstNodes.get(u);if(oy(u))E.fullText=u.fullText;else E.grammarSource=this.getGrammarElementId(u.grammarSource);if(E.hidden=u.hidden,E.astNode=B.astNodes.get(u.astNode),Lk(u))E.content=u.content.map((A)=>this.dehydrateCstNode(A,B));else if(Yw(u))E.tokenType=u.tokenType.name,E.offset=u.offset,E.length=u.length,E.startLine=u.range.start.line,E.startColumn=u.range.start.character,E.endLine=u.range.end.line,E.endColumn=u.range.end.character;return E}hydrate(u){let B=u.value,E=this.createHydrationContext(B);if("$cstNode"in B)this.hydrateCstNode(B.$cstNode,E);return{lexerErrors:u.lexerErrors,lexerReport:u.lexerReport,parserErrors:u.parserErrors,value:this.hydrateAstNode(B,E)}}createHydrationContext(u){let B=new Map,E=new Map;for(let C of _C(u))B.set(C,{});let A;if(u.$cstNode)for(let C of al(u.$cstNode)){let D;if("fullText"in C)D=new kC0(C.fullText),A=D;else if("content"in C)D=new _r;else if("tokenType"in C)D=this.hydrateCstLeafNode(C);if(D)E.set(C,D),D.root=A}return{astNodes:B,cstNodes:E}}hydrateAstNode(u,B){let E=B.astNodes.get(u);if(E.$type=u.$type,E.$containerIndex=u.$containerIndex,E.$containerProperty=u.$containerProperty,u.$cstNode)E.$cstNode=B.cstNodes.get(u.$cstNode);for(let[A,C]of Object.entries(u)){if(A.startsWith("$"))continue;if(Array.isArray(C)){let D=[];E[A]=D;for(let F of C)if(T2(F))D.push(this.setParent(this.hydrateAstNode(F,B),E));else if(TB(F))D.push(this.hydrateReference(F,E,A,B));else D.push(F)}else if(T2(C))E[A]=this.setParent(this.hydrateAstNode(C,B),E);else if(TB(C))E[A]=this.hydrateReference(C,E,A,B);else if(C!==void 0)E[A]=C}return E}setParent(u,B){return u.$container=B,u}hydrateReference(u,B,E,A){return this.linker.buildReference(B,E,A.cstNodes.get(u.$refNode),u.$refText)}hydrateCstNode(u,B,E=0){let A=B.cstNodes.get(u);if(typeof u.grammarSource==="number")A.grammarSource=this.getGrammarElement(u.grammarSource);if(A.astNode=B.astNodes.get(u.astNode),Lk(A))for(let C of u.content){let D=this.hydrateCstNode(C,B,E++);A.content.push(D)}return A}hydrateCstLeafNode(u){let B=this.getTokenType(u.tokenType),E=u.offset,A=u.length,C=u.startLine,D=u.startColumn,F=u.endLine,U=u.endColumn,z=u.hidden;return new Fy(E,A,{start:{line:C,character:D},end:{line:F,character:U}},B,z)}getTokenType(u){return this.lexer.definition[u]}getGrammarElementId(u){if(!u)return;if(this.grammarElementIdMap.size===0)this.createGrammarElementIdMap();return this.grammarElementIdMap.get(u)}getGrammarElement(u){if(this.grammarElementIdMap.size===0)this.createGrammarElementIdMap();return this.grammarElementIdMap.getKey(u)}createGrammarElementIdMap(){let u=0;for(let B of _C(this.grammar))if(ty(B))this.grammarElementIdMap.set(B,u++)}};N(H1,"createDefaultCoreModule");N(q1,"createDefaultSharedCoreModule");(function(u){u.merge=(B,E)=>gl(gl({},B),E)})(V80||(V80={}));N(G3,"inject");E6u=Symbol("isProxy");N(VC0,"eagerLoad");N(hC0,"_inject");pp0=Symbol();N(h80,"_resolve");N(gl,"_merge");i80={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(u){u.REGULAR="indentation-sensitive",u.IGNORE_INDENTATION="ignore-indentation"})(Gw||(Gw={}));A6u=class extends dr{static{N(this,"IndentationAwareTokenBuilder")}constructor(u=i80){super();this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...i80,...u},this.indentTokenType=Rl({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Rl({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(u,B){let E=super.buildTokens(u,B);if(!Bg(E))throw Error("Invalid tokens built by default builder");let{indentTokenName:A,dedentTokenName:C,whitespaceTokenName:D,ignoreIndentationDelimiters:F}=this.options,U,z,k,f=[];for(let M of E){for(let[b,Z]of F)if(M.name===b)M.PUSH_MODE=Gw.IGNORE_INDENTATION;else if(M.name===Z)M.POP_MODE=!0;if(M.name===C)U=M;else if(M.name===A)z=M;else if(M.name===D)k=M;else f.push(M)}if(!U||!z||!k)throw Error("Some indentation/whitespace tokens not found!");if(F.length>0)return{modes:{[Gw.REGULAR]:[U,z,...f,k],[Gw.IGNORE_INDENTATION]:[...f,k]},defaultMode:Gw.REGULAR};else return[U,z,k,...f]}flushLexingReport(u){return{...super.flushLexingReport(u),remainingDedents:this.flushRemainingDedents(u)}}isStartOfLine(u,B){return B===0||`\r
`.includes(u[B-1])}matchWhitespace(u,B,E,A){this.whitespaceRegExp.lastIndex=B;let C=this.whitespaceRegExp.exec(u);return{currIndentLevel:C?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:C}}createIndentationTokenInstance(u,B,E,A){let C=this.getLineNumber(B,A);return rR(u,E,A,A+E.length,C,C,1,E.length)}getLineNumber(u,B){return u.substring(0,B).split(/\r\n|\r|\n/).length}indentMatcher(u,B,E,A){if(!this.isStartOfLine(u,B))return null;let{currIndentLevel:C,prevIndentLevel:D,match:F}=this.matchWhitespace(u,B,E,A);if(C<=D)return null;return this.indentationStack.push(C),F}dedentMatcher(u,B,E,A){if(!this.isStartOfLine(u,B))return null;let{currIndentLevel:C,prevIndentLevel:D,match:F}=this.matchWhitespace(u,B,E,A);if(C>=D)return null;let U=this.indentationStack.lastIndexOf(C);if(U===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${C} at offset: ${B}. Current indentation stack: ${this.indentationStack}`,offset:B,length:F?.[0]?.length??0,line:this.getLineNumber(u,B),column:1}),null;let z=this.indentationStack.length-U-1,k=u.substring(0,B).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<z;f++){let M=this.createIndentationTokenInstance(this.dedentTokenType,u,"",B-(k-1));E.push(M),this.indentationStack.pop()}return null}buildTerminalToken(u){let B=super.buildTerminalToken(u),{indentTokenName:E,dedentTokenName:A,whitespaceTokenName:C}=this.options;if(B.name===E)return this.indentTokenType;else if(B.name===A)return this.dedentTokenType;else if(B.name===C)return Rl({name:C,pattern:this.whitespaceRegExp,group:IB.SKIPPED});return B}flushRemainingDedents(u){let B=[];while(this.indentationStack.length>1)B.push(this.createIndentationTokenInstance(this.dedentTokenType,u,"",u.length)),this.indentationStack.pop();return this.indentationStack=[0],B}},Pj4=class extends RC0{static{N(this,"IndentationAwareLexer")}constructor(u){super(u);if(u.parser.TokenBuilder instanceof A6u)this.indentationTokenBuilder=u.parser.TokenBuilder;else throw Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(u,B=YC0){let E=super.tokenize(u),A=E.report;if(B?.mode==="full")E.tokens.push(...A.remainingDedents);A.remainingDedents=[];let{indentTokenType:C,dedentTokenType:D}=this.indentationTokenBuilder,F=C.tokenTypeIdx,U=D.tokenTypeIdx,z=[],k=E.tokens.length-1;for(let f=0;f<k;f++){let M=E.tokens[f],b=E.tokens[f+1];if(M.tokenTypeIdx===F&&b.tokenTypeIdx===U){f++;continue}z.push(M)}if(k>=0)z.push(E.tokens[k]);return E.tokens=z,E}},iC0={};Ib(iC0,{AstUtils:()=>UE0,BiMap:()=>My,Cancellation:()=>P6,ContextCache:()=>er,CstUtils:()=>CE0,DONE_RESULT:()=>RB,Deferred:()=>Tk,Disposable:()=>Lw,DisposableCache:()=>tr,DocumentCache:()=>W1u,EMPTY_STREAM:()=>jl,ErrorWithLocation:()=>Dr,GrammarUtils:()=>hE0,MultiMap:()=>Ok,OperationCancelled:()=>fU,Reduction:()=>zR,RegExpUtils:()=>aE0,SimpleCache:()=>XC0,StreamImpl:()=>kU,TreeStreamImpl:()=>Nl,URI:()=>LE,UriTrie:()=>lC0,UriUtils:()=>OB,WorkspaceCache:()=>vC0,assertCondition:()=>iE0,assertUnreachable:()=>Pb,delayNextTick:()=>sr,interruptAndCheck:()=>j5,isOperationCancelled:()=>pw,loadGrammarFromJson:()=>V5,setInterruptionPeriod:()=>GC0,startCancelableOperation:()=>or,stream:()=>z6});ny(iC0,ug);C6u=class{static{N(this,"EmptyFileSystemProvider")}stat(u){throw Error("No file system is available.")}statSync(u){throw Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error("No file system is available.")}readBinarySync(){throw Error("No file system is available.")}readFile(){throw Error("No file system is available.")}readFileSync(){throw Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},T1={fileSystemProvider:N(()=>new C6u,"fileSystemProvider")},jj4={Grammar:N(()=>{return},"Grammar"),LanguageMetaData:N(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Nj4={AstReflection:N(()=>new YE0,"AstReflection")};N(D6u,"createMinimalGrammarServices");N(V5,"loadGrammarFromJson");ny(N5,iC0);Vj4=class{static{N(this,"DefaultLangiumProfiler")}constructor(u){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=u??new Set(this.allCategories),this.records=new Ok}isActive(u){return this.activeCategories.has(u)}start(...u){if(!u)this.activeCategories=new Set(this.allCategories);else u.forEach((B)=>this.activeCategories.add(B))}stop(...u){if(!u)this.activeCategories.clear();else u.forEach((B)=>this.activeCategories.delete(B))}createTask(u,B){if(!this.isActive(u))throw Error(`Category "${u}" is not active.`);return console.log(`Creating profiling task for '${u}.${B}'.`),new F6u((E)=>this.records.add(u,this.dumpRecord(u,E)),B)}dumpRecord(u,B){console.info(`Task ${u}.${B.identifier} executed in ${B.duration.toFixed(2)}ms and ended at ${B.date.toISOString()}`);let E=[];for(let D of B.entries.keys()){let F=B.entries.get(D),U=F.reduce((z,k)=>z+k);E.push({name:`${B.identifier}.${D}`,count:F.length,duration:U})}let A=B.duration-E.map((D)=>D.duration).reduce((D,F)=>D+F,0);E.push({name:B.identifier,count:1,duration:A}),E.sort((D,F)=>F.duration-D.duration);function C(D){return Math.round(100*D)/100}return N(C,"Round"),console.table(E.map((D)=>{return{Element:D.name,Count:D.count,"Self %":C(100*D.duration/B.duration),"Time (ms)":C(D.duration)}})),B}getRecords(...u){if(u.length===0)return this.records.values();else return this.records.entries().filter((B)=>u.some((E)=>E===B[0])).flatMap((B)=>B[1])}},F6u=class{static{N(this,"ProfilingTask")}constructor(u,B){this.stack=[],this.entries=new Ok,this.addRecord=u,this.identifier=B}start(){if(this.startTime!==void 0)throw Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map((B)=>B.id).join(", ")}.`);let u={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(u),this.startTime=void 0,this.entries.clear()}startSubTask(u){this.stack.push({id:u,start:performance.now(),content:0})}stopSubTask(u){let B=this.stack.pop();if(!B)throw Error(`Task "${this.identifier}.${u}" was not started.`);if(B.id!==u)throw Error(`Sub-Task "${B.id}" is not already stopped.`);let E=performance.now()-B.start;if(this.stack.at(-1)!==void 0)this.stack[this.stack.length-1].content+=E;let A=E-B.content;this.entries.add(u,A)}};((u)=>{u.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/}})(a80||(a80={}));((u)=>{u.Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(m80||(m80={}));((u)=>{u.Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/}})($80||($80={}));((u)=>{u.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(y80||(y80={}));((u)=>{u.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(r80||(r80={}));((u)=>{u.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(g80||(g80={}));((u)=>{u.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(c80||(c80={}));((u)=>{u.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(_80||(_80={}));((u)=>{u.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/}})(p80||(p80={}));((u)=>{u.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/}})(n80||(n80={}));((u)=>{u.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//}})(d80||(d80={}));((u)=>{u.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/}})(s80||(s80={}));((u)=>{u.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(o80||(o80={}));((u)=>{u.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/}})(t80||(t80={}));((u)=>{u.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(e80||(e80={}));AD1={...a80.Terminals,...m80.Terminals,...$80.Terminals,...y80.Terminals,...r80.Terminals,...g80.Terminals,...c80.Terminals,..._80.Terminals,...p80.Terminals,...n80.Terminals,...d80.Terminals,...s80.Terminals,...t80.Terminals,...o80.Terminals,...e80.Terminals},Ky={$type:"AbnfAlternation",alternatives:"alternatives"},wy={$type:"AbnfConcatenation",elements:"elements"},eY={$type:"AbnfElement",primary:"primary",repeat:"repeat"},Qy={$type:"AbnfGroup",element:"element"},Gy={$type:"AbnfNumVal",value:"value"},Hy={$type:"AbnfOptionalGroup",element:"element"},Jb={$type:"AbnfPrimary"},uR={$type:"AbnfRule",definition:"definition",name:"name"},qy={$type:"AbnfRuleName",name:"name"},ly={$type:"AbnfStringLiteral",value:"value"},dm={$type:"Accelerator",name:"name",x:"x",y:"y"},g70={$type:"Alignment",direction:"direction",members:"members"},sm={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},lY={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},c70={$type:"Annotations",x:"x",y:"y"},XA={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",alignments:"alignments",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};N(aC0,"isArchitecture");om={$type:"Axis",label:"label",name:"name"},Ol={$type:"Branch",name:"name",order:"order"};N(mC0,"isBranch");np0={$type:"Checkout",branch:"branch"},tm={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},_70={$type:"ClassDefStatement",className:"className",styleText:"styleText"},Gb={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};N($C0,"isCommit");em={$type:"Common",accDescr:"accDescr",accTitle:"accTitle",title:"title"},_K={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},u$={$type:"Curve",entries:"entries",label:"label",name:"name"},Gk={$type:"Cynefin",accDescr:"accDescr",accTitle:"accTitle",domains:"domains",title:"title",transitions:"transitions"};N(yC0,"isCynefin");B$={$type:"Deaccelerator",name:"name",x:"x",y:"y"},dp0={$type:"Decorator",strategy:"strategy"},Ml={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Il={$type:"DomainBlock",domain:"domain",items:"items"};N(rC0,"isDomainBlock");vR={$type:"DomainItem",label:"label"};N(gC0,"isDomainItem");Ly={$type:"EbnfChoice",alternatives:"alternatives"},Xy={$type:"EbnfExceptionPostfix",except:"except"},vy={$type:"EbnfGroup",element:"element"},xy={$type:"EbnfNonTerminal",name:"name"},Wy={$type:"EbnfOneOrMorePostfix",operator:"operator"},Sy={$type:"EbnfOptional",element:"element"},Yy={$type:"EbnfOptionalPostfix",operator:"operator"},bw={$type:"EbnfPostfix"},Kk={$type:"EbnfPrimary"},Ry={$type:"EbnfRepetition",element:"element"},BR={$type:"EbnfRule",definition:"definition",name:"name"},Ty={$type:"EbnfSequence",elements:"elements"},Oy={$type:"EbnfSpecial",text:"text"},ER={$type:"EbnfTerm",base:"base",postfixes:"postfixes"},Iy={$type:"EbnfTerminal",value:"value"},Py={$type:"EbnfZeroOrMorePostfix",operator:"operator"},CU={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},Kb={$type:"EmDataEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",name:"name"},wk={$type:"EmFrame"},LY={$type:"EmGwt",givenStatements:"givenStatements",sourceFrame:"sourceFrame",thenStatements:"thenStatements",whenStatements:"whenStatements"},sp0={$type:"EmGwtStatement",entityIdentifier:"entityIdentifier"},p70={$type:"EmModelEntity",name:"name"};N(cC0,"isEmModelEntityType");E$={$type:"EmNoteEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",sourceFrame:"sourceFrame"},bk={$type:"EmResetFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};N(pR,"isEmResetFrame");zb={$type:"EmTimeFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"},n70={$type:"Entry",axis:"axis",value:"value"},$C={$type:"EventModel",accDescr:"accDescr",accTitle:"accTitle",dataEntities:"dataEntities",frames:"frames",gwtEntities:"gwtEntities",modelEntities:"modelEntities",noteEntities:"noteEntities",title:"title"},op0={$type:"Evolution",stages:"stages"},A$={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},d70={$type:"Evolve",component:"component",target:"target"},Hk={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};N(_C0,"isGitGraph");XY={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Hw={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};N(pC0,"isInfo");vY={$type:"Item",classSelector:"classSelector",name:"name"},s70={$type:"Junction",id:"id",in:"in"},xY={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},C$={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},pK={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},Hb={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};N(nC0,"isMerge");D$={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},o70={$type:"Option",name:"name",value:"value"},qb={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};N(dC0,"isPacket");lb={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};N(sC0,"isPacketBlock");jy={$type:"PegAny",dot:"dot"},Ny={$type:"PegGroup",element:"element"},Vy={$type:"PegIdentifier",name:"name"},hy={$type:"PegLiteral",value:"value"},iy={$type:"PegOrderedChoice",alternatives:"alternatives"},AR={$type:"PegPrefix",operator:"operator",suffix:"suffix"},Zw={$type:"PegPrimary"},CR={$type:"PegRule",definition:"definition",name:"name"},ay={$type:"PegSequence",elements:"elements"},DR={$type:"PegSuffix",operator:"operator",primary:"primary"},qk={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};N(oC0,"isPie");Pl={$type:"PieSection",label:"label",value:"value"};N(tC0,"isPieSection");t70={$type:"Pipeline",components:"components",parent:"parent"},F$={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},Qk={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},Lb={$type:"Railroad",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};N(eC0,"isRailroad");Xb={$type:"RailroadAbnf",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};N(uD0,"isRailroadAbnf");my={$type:"RailroadChoiceExpr",alternatives:"alternatives"},vb={$type:"RailroadEbnf",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};N(BD0,"isRailroadEbnf");yC={$type:"RailroadExpression"},$y={$type:"RailroadNonTerminalExpr",name:"name"},yy={$type:"RailroadOneOrMoreExpr",element:"element"},ry={$type:"RailroadOptionalExpr",element:"element"},xb={$type:"RailroadPeg",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};N(ED0,"isRailroadPeg");FR={$type:"RailroadRule",definition:"definition",name:"name"},gy={$type:"RailroadSequenceExpr",elements:"elements"},cy={$type:"RailroadSpecialExpr",text:"text"},_y={$type:"RailroadTerminalExpr",value:"value"},py={$type:"RailroadZeroOrMoreExpr",element:"element"},e70={$type:"Section",classSelector:"classSelector",name:"name"},bl={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},uB0={$type:"Size",height:"height",width:"width"},wb={$type:"Statement"},qw={$type:"Transition",from:"from",label:"label",to:"to"};N(AD0,"isTransition");Wb={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};N(CD0,"isTreemap");BB0={$type:"TreemapRow",indent:"indent",item:"item"},Qb={$type:"TreeNode",classAnnotation:"classAnnotation",descAnnotation:"descAnnotation",iconAnnotation:"iconAnnotation",indent:"indent",name:"name"},Jw={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},B5={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};N(DD0,"isWardley");U6u=class extends FE0{constructor(){super(...arguments);this.types={AbnfAlternation:{name:Ky.$type,properties:{alternatives:{name:Ky.alternatives,defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:wy.$type,properties:{elements:{name:wy.elements,defaultValue:[]}},superTypes:[]},AbnfElement:{name:eY.$type,properties:{primary:{name:eY.primary},repeat:{name:eY.repeat}},superTypes:[]},AbnfGroup:{name:Qy.$type,properties:{element:{name:Qy.element}},superTypes:[Jb.$type]},AbnfNumVal:{name:Gy.$type,properties:{value:{name:Gy.value}},superTypes:[Jb.$type]},AbnfOptionalGroup:{name:Hy.$type,properties:{element:{name:Hy.element}},superTypes:[Jb.$type]},AbnfPrimary:{name:Jb.$type,properties:{},superTypes:[]},AbnfRule:{name:uR.$type,properties:{definition:{name:uR.definition},name:{name:uR.name}},superTypes:[]},AbnfRuleName:{name:qy.$type,properties:{name:{name:qy.name}},superTypes:[Jb.$type]},AbnfStringLiteral:{name:ly.$type,properties:{value:{name:ly.value}},superTypes:[Jb.$type]},Accelerator:{name:dm.$type,properties:{name:{name:dm.name},x:{name:dm.x},y:{name:dm.y}},superTypes:[]},Alignment:{name:g70.$type,properties:{direction:{name:g70.direction},members:{name:g70.members,defaultValue:[]}},superTypes:[]},Anchor:{name:sm.$type,properties:{evolution:{name:sm.evolution},name:{name:sm.name},visibility:{name:sm.visibility}},superTypes:[]},Annotation:{name:lY.$type,properties:{number:{name:lY.number},text:{name:lY.text},x:{name:lY.x},y:{name:lY.y}},superTypes:[]},Annotations:{name:c70.$type,properties:{x:{name:c70.x},y:{name:c70.y}},superTypes:[]},Architecture:{name:XA.$type,properties:{accDescr:{name:XA.accDescr},accTitle:{name:XA.accTitle},alignments:{name:XA.alignments,defaultValue:[]},edges:{name:XA.edges,defaultValue:[]},groups:{name:XA.groups,defaultValue:[]},junctions:{name:XA.junctions,defaultValue:[]},services:{name:XA.services,defaultValue:[]},title:{name:XA.title}},superTypes:[]},Axis:{name:om.$type,properties:{label:{name:om.label},name:{name:om.name}},superTypes:[]},Branch:{name:Ol.$type,properties:{name:{name:Ol.name},order:{name:Ol.order}},superTypes:[wb.$type]},Checkout:{name:np0.$type,properties:{branch:{name:np0.branch}},superTypes:[wb.$type]},CherryPicking:{name:tm.$type,properties:{id:{name:tm.id},parent:{name:tm.parent},tags:{name:tm.tags,defaultValue:[]}},superTypes:[wb.$type]},ClassDefStatement:{name:_70.$type,properties:{className:{name:_70.className},styleText:{name:_70.styleText}},superTypes:[]},Commit:{name:Gb.$type,properties:{id:{name:Gb.id},message:{name:Gb.message},tags:{name:Gb.tags,defaultValue:[]},type:{name:Gb.type}},superTypes:[wb.$type]},Common:{name:em.$type,properties:{accDescr:{name:em.accDescr},accTitle:{name:em.accTitle},title:{name:em.title}},superTypes:[]},Component:{name:_K.$type,properties:{decorator:{name:_K.decorator},evolution:{name:_K.evolution},inertia:{name:_K.inertia,defaultValue:!1},label:{name:_K.label},name:{name:_K.name},visibility:{name:_K.visibility}},superTypes:[]},Curve:{name:u$.$type,properties:{entries:{name:u$.entries,defaultValue:[]},label:{name:u$.label},name:{name:u$.name}},superTypes:[]},Cynefin:{name:Gk.$type,properties:{accDescr:{name:Gk.accDescr},accTitle:{name:Gk.accTitle},domains:{name:Gk.domains,defaultValue:[]},title:{name:Gk.title},transitions:{name:Gk.transitions,defaultValue:[]}},superTypes:[]},Deaccelerator:{name:B$.$type,properties:{name:{name:B$.name},x:{name:B$.x},y:{name:B$.y}},superTypes:[]},Decorator:{name:dp0.$type,properties:{strategy:{name:dp0.strategy}},superTypes:[]},Direction:{name:Ml.$type,properties:{accDescr:{name:Ml.accDescr},accTitle:{name:Ml.accTitle},dir:{name:Ml.dir},statements:{name:Ml.statements,defaultValue:[]},title:{name:Ml.title}},superTypes:[Hk.$type]},DomainBlock:{name:Il.$type,properties:{domain:{name:Il.domain},items:{name:Il.items,defaultValue:[]}},superTypes:[]},DomainItem:{name:vR.$type,properties:{label:{name:vR.label}},superTypes:[]},EbnfChoice:{name:Ly.$type,properties:{alternatives:{name:Ly.alternatives,defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:Xy.$type,properties:{except:{name:Xy.except}},superTypes:[bw.$type]},EbnfGroup:{name:vy.$type,properties:{element:{name:vy.element}},superTypes:[Kk.$type]},EbnfNonTerminal:{name:xy.$type,properties:{name:{name:xy.name}},superTypes:[Kk.$type]},EbnfOneOrMorePostfix:{name:Wy.$type,properties:{operator:{name:Wy.operator}},superTypes:[bw.$type]},EbnfOptional:{name:Sy.$type,properties:{element:{name:Sy.element}},superTypes:[Kk.$type]},EbnfOptionalPostfix:{name:Yy.$type,properties:{operator:{name:Yy.operator}},superTypes:[bw.$type]},EbnfPostfix:{name:bw.$type,properties:{},superTypes:[]},EbnfPrimary:{name:Kk.$type,properties:{},superTypes:[]},EbnfRepetition:{name:Ry.$type,properties:{element:{name:Ry.element}},superTypes:[Kk.$type]},EbnfRule:{name:BR.$type,properties:{definition:{name:BR.definition},name:{name:BR.name}},superTypes:[]},EbnfSequence:{name:Ty.$type,properties:{elements:{name:Ty.elements,defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:Oy.$type,properties:{text:{name:Oy.text}},superTypes:[Kk.$type]},EbnfTerm:{name:ER.$type,properties:{base:{name:ER.base},postfixes:{name:ER.postfixes,defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:Iy.$type,properties:{value:{name:Iy.value}},superTypes:[Kk.$type]},EbnfZeroOrMorePostfix:{name:Py.$type,properties:{operator:{name:Py.operator}},superTypes:[bw.$type]},Edge:{name:CU.$type,properties:{lhsDir:{name:CU.lhsDir},lhsGroup:{name:CU.lhsGroup,defaultValue:!1},lhsId:{name:CU.lhsId},lhsInto:{name:CU.lhsInto,defaultValue:!1},rhsDir:{name:CU.rhsDir},rhsGroup:{name:CU.rhsGroup,defaultValue:!1},rhsId:{name:CU.rhsId},rhsInto:{name:CU.rhsInto,defaultValue:!1},title:{name:CU.title}},superTypes:[]},EmDataEntity:{name:Kb.$type,properties:{dataBlockValue:{name:Kb.dataBlockValue},dataType:{name:Kb.dataType},name:{name:Kb.name}},superTypes:[]},EmFrame:{name:wk.$type,properties:{},superTypes:[]},EmGwt:{name:LY.$type,properties:{givenStatements:{name:LY.givenStatements,defaultValue:[]},sourceFrame:{name:LY.sourceFrame,referenceType:wk.$type},thenStatements:{name:LY.thenStatements,defaultValue:[]},whenStatements:{name:LY.whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:sp0.$type,properties:{entityIdentifier:{name:sp0.entityIdentifier,referenceType:p70.$type}},superTypes:[]},EmModelEntity:{name:p70.$type,properties:{name:{name:p70.name}},superTypes:[]},EmNoteEntity:{name:E$.$type,properties:{dataBlockValue:{name:E$.dataBlockValue},dataType:{name:E$.dataType},sourceFrame:{name:E$.sourceFrame,referenceType:wk.$type}},superTypes:[]},EmResetFrame:{name:bk.$type,properties:{dataInlineValue:{name:bk.dataInlineValue},dataReference:{name:bk.dataReference,referenceType:Kb.$type},dataType:{name:bk.dataType},entityIdentifier:{name:bk.entityIdentifier},modelEntityType:{name:bk.modelEntityType},name:{name:bk.name},sourceFrames:{name:bk.sourceFrames,defaultValue:[],referenceType:wk.$type}},superTypes:[wk.$type]},EmTimeFrame:{name:zb.$type,properties:{dataInlineValue:{name:zb.dataInlineValue},dataReference:{name:zb.dataReference,referenceType:Kb.$type},dataType:{name:zb.dataType},entityIdentifier:{name:zb.entityIdentifier},modelEntityType:{name:zb.modelEntityType},name:{name:zb.name},sourceFrames:{name:zb.sourceFrames,defaultValue:[],referenceType:wk.$type}},superTypes:[wk.$type]},Entry:{name:n70.$type,properties:{axis:{name:n70.axis,referenceType:om.$type},value:{name:n70.value}},superTypes:[]},EventModel:{name:$C.$type,properties:{accDescr:{name:$C.accDescr},accTitle:{name:$C.accTitle},dataEntities:{name:$C.dataEntities,defaultValue:[]},frames:{name:$C.frames,defaultValue:[]},gwtEntities:{name:$C.gwtEntities,defaultValue:[]},modelEntities:{name:$C.modelEntities,defaultValue:[]},noteEntities:{name:$C.noteEntities,defaultValue:[]},title:{name:$C.title}},superTypes:[]},Evolution:{name:op0.$type,properties:{stages:{name:op0.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:A$.$type,properties:{boundary:{name:A$.boundary},name:{name:A$.name},secondName:{name:A$.secondName}},superTypes:[]},Evolve:{name:d70.$type,properties:{component:{name:d70.component},target:{name:d70.target}},superTypes:[]},GitGraph:{name:Hk.$type,properties:{accDescr:{name:Hk.accDescr},accTitle:{name:Hk.accTitle},statements:{name:Hk.statements,defaultValue:[]},title:{name:Hk.title}},superTypes:[]},Group:{name:XY.$type,properties:{icon:{name:XY.icon},id:{name:XY.id},in:{name:XY.in},title:{name:XY.title}},superTypes:[]},Info:{name:Hw.$type,properties:{accDescr:{name:Hw.accDescr},accTitle:{name:Hw.accTitle},title:{name:Hw.title}},superTypes:[]},Item:{name:vY.$type,properties:{classSelector:{name:vY.classSelector},name:{name:vY.name}},superTypes:[]},Junction:{name:s70.$type,properties:{id:{name:s70.id},in:{name:s70.in}},superTypes:[]},Label:{name:xY.$type,properties:{negX:{name:xY.negX,defaultValue:!1},negY:{name:xY.negY,defaultValue:!1},offsetX:{name:xY.offsetX},offsetY:{name:xY.offsetY}},superTypes:[]},Leaf:{name:C$.$type,properties:{classSelector:{name:C$.classSelector},name:{name:C$.name},value:{name:C$.value}},superTypes:[vY.$type]},Link:{name:pK.$type,properties:{arrow:{name:pK.arrow},from:{name:pK.from},fromPort:{name:pK.fromPort},linkLabel:{name:pK.linkLabel},to:{name:pK.to},toPort:{name:pK.toPort}},superTypes:[]},Merge:{name:Hb.$type,properties:{branch:{name:Hb.branch},id:{name:Hb.id},tags:{name:Hb.tags,defaultValue:[]},type:{name:Hb.type}},superTypes:[wb.$type]},Note:{name:D$.$type,properties:{evolution:{name:D$.evolution},text:{name:D$.text},visibility:{name:D$.visibility}},superTypes:[]},Option:{name:o70.$type,properties:{name:{name:o70.name},value:{name:o70.value,defaultValue:!1}},superTypes:[]},Packet:{name:qb.$type,properties:{accDescr:{name:qb.accDescr},accTitle:{name:qb.accTitle},blocks:{name:qb.blocks,defaultValue:[]},title:{name:qb.title}},superTypes:[]},PacketBlock:{name:lb.$type,properties:{bits:{name:lb.bits},end:{name:lb.end},label:{name:lb.label},start:{name:lb.start}},superTypes:[]},PegAny:{name:jy.$type,properties:{dot:{name:jy.dot}},superTypes:[Zw.$type]},PegGroup:{name:Ny.$type,properties:{element:{name:Ny.element}},superTypes:[Zw.$type]},PegIdentifier:{name:Vy.$type,properties:{name:{name:Vy.name}},superTypes:[Zw.$type]},PegLiteral:{name:hy.$type,properties:{value:{name:hy.value}},superTypes:[Zw.$type]},PegOrderedChoice:{name:iy.$type,properties:{alternatives:{name:iy.alternatives,defaultValue:[]}},superTypes:[]},PegPrefix:{name:AR.$type,properties:{operator:{name:AR.operator},suffix:{name:AR.suffix}},superTypes:[]},PegPrimary:{name:Zw.$type,properties:{},superTypes:[]},PegRule:{name:CR.$type,properties:{definition:{name:CR.definition},name:{name:CR.name}},superTypes:[]},PegSequence:{name:ay.$type,properties:{elements:{name:ay.elements,defaultValue:[]}},superTypes:[]},PegSuffix:{name:DR.$type,properties:{operator:{name:DR.operator},primary:{name:DR.primary}},superTypes:[]},Pie:{name:qk.$type,properties:{accDescr:{name:qk.accDescr},accTitle:{name:qk.accTitle},sections:{name:qk.sections,defaultValue:[]},showData:{name:qk.showData,defaultValue:!1},title:{name:qk.title}},superTypes:[]},PieSection:{name:Pl.$type,properties:{label:{name:Pl.label},value:{name:Pl.value}},superTypes:[]},Pipeline:{name:t70.$type,properties:{components:{name:t70.components,defaultValue:[]},parent:{name:t70.parent}},superTypes:[]},PipelineComponent:{name:F$.$type,properties:{evolution:{name:F$.evolution},label:{name:F$.label},name:{name:F$.name}},superTypes:[]},Radar:{name:Qk.$type,properties:{accDescr:{name:Qk.accDescr},accTitle:{name:Qk.accTitle},axes:{name:Qk.axes,defaultValue:[]},curves:{name:Qk.curves,defaultValue:[]},options:{name:Qk.options,defaultValue:[]},title:{name:Qk.title}},superTypes:[]},Railroad:{name:Lb.$type,properties:{accDescr:{name:Lb.accDescr},accTitle:{name:Lb.accTitle},rules:{name:Lb.rules,defaultValue:[]},title:{name:Lb.title}},superTypes:[]},RailroadAbnf:{name:Xb.$type,properties:{accDescr:{name:Xb.accDescr},accTitle:{name:Xb.accTitle},rules:{name:Xb.rules,defaultValue:[]},title:{name:Xb.title}},superTypes:[]},RailroadChoiceExpr:{name:my.$type,properties:{alternatives:{name:my.alternatives,defaultValue:[]}},superTypes:[yC.$type]},RailroadEbnf:{name:vb.$type,properties:{accDescr:{name:vb.accDescr},accTitle:{name:vb.accTitle},rules:{name:vb.rules,defaultValue:[]},title:{name:vb.title}},superTypes:[]},RailroadExpression:{name:yC.$type,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:$y.$type,properties:{name:{name:$y.name}},superTypes:[yC.$type]},RailroadOneOrMoreExpr:{name:yy.$type,properties:{element:{name:yy.element}},superTypes:[yC.$type]},RailroadOptionalExpr:{name:ry.$type,properties:{element:{name:ry.element}},superTypes:[yC.$type]},RailroadPeg:{name:xb.$type,properties:{accDescr:{name:xb.accDescr},accTitle:{name:xb.accTitle},rules:{name:xb.rules,defaultValue:[]},title:{name:xb.title}},superTypes:[]},RailroadRule:{name:FR.$type,properties:{definition:{name:FR.definition},name:{name:FR.name}},superTypes:[]},RailroadSequenceExpr:{name:gy.$type,properties:{elements:{name:gy.elements,defaultValue:[]}},superTypes:[yC.$type]},RailroadSpecialExpr:{name:cy.$type,properties:{text:{name:cy.text}},superTypes:[yC.$type]},RailroadTerminalExpr:{name:_y.$type,properties:{value:{name:_y.value}},superTypes:[yC.$type]},RailroadZeroOrMoreExpr:{name:py.$type,properties:{element:{name:py.element}},superTypes:[yC.$type]},Section:{name:e70.$type,properties:{classSelector:{name:e70.classSelector},name:{name:e70.name}},superTypes:[vY.$type]},Service:{name:bl.$type,properties:{icon:{name:bl.icon},iconText:{name:bl.iconText},id:{name:bl.id},in:{name:bl.in},title:{name:bl.title}},superTypes:[]},Size:{name:uB0.$type,properties:{height:{name:uB0.height},width:{name:uB0.width}},superTypes:[]},Statement:{name:wb.$type,properties:{},superTypes:[]},Transition:{name:qw.$type,properties:{from:{name:qw.from},label:{name:qw.label},to:{name:qw.to}},superTypes:[]},TreeNode:{name:Qb.$type,properties:{classAnnotation:{name:Qb.classAnnotation},descAnnotation:{name:Qb.descAnnotation},iconAnnotation:{name:Qb.iconAnnotation},indent:{name:Qb.indent},name:{name:Qb.name}},superTypes:[]},TreeView:{name:Jw.$type,properties:{accDescr:{name:Jw.accDescr},accTitle:{name:Jw.accTitle},nodes:{name:Jw.nodes,defaultValue:[]},title:{name:Jw.title}},superTypes:[]},Treemap:{name:Wb.$type,properties:{accDescr:{name:Wb.accDescr},accTitle:{name:Wb.accTitle},title:{name:Wb.title},TreemapRows:{name:Wb.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:BB0.$type,properties:{indent:{name:BB0.indent},item:{name:BB0.item}},superTypes:[]},Wardley:{name:B5.$type,properties:{accDescr:{name:B5.accDescr},accelerators:{name:B5.accelerators,defaultValue:[]},accTitle:{name:B5.accTitle},anchors:{name:B5.anchors,defaultValue:[]},annotation:{name:B5.annotation,defaultValue:[]},annotations:{name:B5.annotations,defaultValue:[]},components:{name:B5.components,defaultValue:[]},deaccelerators:{name:B5.deaccelerators,defaultValue:[]},evolution:{name:B5.evolution},evolves:{name:B5.evolves,defaultValue:[]},links:{name:B5.links,defaultValue:[]},notes:{name:B5.notes,defaultValue:[]},pipelines:{name:B5.pipelines,defaultValue:[]},size:{name:B5.size},title:{name:B5.title}},superTypes:[]}}}static{N(this,"MermaidAstReflection")}},z2=new U6u,hj4=N(()=>tp0??(tp0=V5('{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'|[^\\\\[\\\\]\\\\r\\\\n]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"ArchitectureGrammarGrammar"),ij4=N(()=>ep0??(ep0=V5('{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"-->"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"CynefinGrammarGrammar"),aj4=N(()=>un0??(un0=V5('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),mj4=N(()=>Bn0??(Bn0=V5('{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}')),"GitGraphGrammarGrammar"),$j4=N(()=>En0??(En0=V5('{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"InfoGrammarGrammar"),yj4=N(()=>An0??(An0=V5('{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PacketGrammarGrammar"),rj4=N(()=>Cn0??(Cn0=V5('{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"PieGrammarGrammar"),gj4=N(()=>Dn0??(Dn0=V5('{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}')),"RadarGrammarGrammar"),cj4=N(()=>Fn0??(Fn0=V5('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),_j4=N(()=>Un0??(Un0=V5('{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadEbnfGrammarGrammar"),pj4=N(()=>zn0??(zn0=V5('{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadGrammarGrammar"),nj4=N(()=>kn0??(kn0=V5('{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadPegGrammarGrammar"),dj4=N(()=>fn0??(fn0=V5('{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}')),"TreemapGrammarGrammar"),sj4=N(()=>Mn0??(Mn0=V5('{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"\'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}')),"TreeViewGrammarGrammar"),oj4=N(()=>bn0??(bn0=V5('{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+\'[^\']*\'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|\'([^\'\\\\\\\\]|\\\\\\\\.)*\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}')),"WardleyGrammarGrammar"),tj4={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ej4={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},uN4={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},BN4={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EN4={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AN4={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CN4={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},DN4={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},FN4={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},UN4={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},zN4={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kN4={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},fN4={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MN4={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bN4={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},y1={AstReflection:N(()=>new U6u,"AstReflection")},Cg={Grammar:N(()=>hj4(),"Grammar"),LanguageMetaData:N(()=>tj4,"LanguageMetaData"),parser:{}},Dg={Grammar:N(()=>ij4(),"Grammar"),LanguageMetaData:N(()=>ej4,"LanguageMetaData"),parser:{}},Fg={Grammar:N(()=>aj4(),"Grammar"),LanguageMetaData:N(()=>uN4,"LanguageMetaData"),parser:{}},Ug={Grammar:N(()=>mj4(),"Grammar"),LanguageMetaData:N(()=>BN4,"LanguageMetaData"),parser:{}},zg={Grammar:N(()=>$j4(),"Grammar"),LanguageMetaData:N(()=>EN4,"LanguageMetaData"),parser:{}},kg={Grammar:N(()=>yj4(),"Grammar"),LanguageMetaData:N(()=>AN4,"LanguageMetaData"),parser:{}},fg={Grammar:N(()=>rj4(),"Grammar"),LanguageMetaData:N(()=>CN4,"LanguageMetaData"),parser:{}},Mg={Grammar:N(()=>gj4(),"Grammar"),LanguageMetaData:N(()=>DN4,"LanguageMetaData"),parser:{}},bg={Grammar:N(()=>cj4(),"Grammar"),LanguageMetaData:N(()=>FN4,"LanguageMetaData"),parser:{}},Zg={Grammar:N(()=>_j4(),"Grammar"),LanguageMetaData:N(()=>UN4,"LanguageMetaData"),parser:{}},Jg={Grammar:N(()=>pj4(),"Grammar"),LanguageMetaData:N(()=>zN4,"LanguageMetaData"),parser:{}},Kg={Grammar:N(()=>nj4(),"Grammar"),LanguageMetaData:N(()=>kN4,"LanguageMetaData"),parser:{}},wg={Grammar:N(()=>dj4(),"Grammar"),LanguageMetaData:N(()=>fN4,"LanguageMetaData"),parser:{}},Qg={Grammar:N(()=>sj4(),"Grammar"),LanguageMetaData:N(()=>MN4,"LanguageMetaData"),parser:{}},Gg={Grammar:N(()=>oj4(),"Grammar"),LanguageMetaData:N(()=>bN4,"LanguageMetaData"),parser:{}},ZN4=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,JN4=/accTitle[\t ]*:([^\n\r]*)/,KN4=/title([\t ][^\n\r]*|)/,wN4={ACC_DESCR:ZN4,ACC_TITLE:JN4,TITLE:KN4},k2=class extends QC0{static{N(this,"AbstractMermaidValueConverter")}runConverter(u,B,E){let A=this.runCommonConverter(u,B,E);if(A===void 0)A=this.runCustomConverter(u,B,E);if(A===void 0)return super.runConverter(u,B,E);return A}runCommonConverter(u,B,E){let A=wN4[u.name];if(A===void 0)return;let C=A.exec(B);if(C===null)return;if(C[1]!==void 0)return C[1].trim().replace(/[\t ]{2,}/gm," ");if(C[2]!==void 0)return C[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
`);return}},I8=class extends k2{static{N(this,"CommonValueConverter")}runCustomConverter(u,B,E){return}},e1=class extends dr{static{N(this,"AbstractMermaidTokenBuilder")}constructor(u){super();this.keywords=new Set(u)}buildKeywordTokens(u,B,E){let A=super.buildKeywordTokens(u,B,E);return A.forEach((C)=>{if(this.keywords.has(C.name)&&C.PATTERN!==void 0)C.PATTERN=new RegExp(C.PATTERN.toString()+"(?:(?=%%)|(?!\\S))")}),A}},z6u=class extends e1{static{N(this,"CommonTokenBuilder")}};/*! Bundled license information:
lodash-es/lodash.js:
(**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="es" -o ./`
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*)
*/});function lg(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Mg,qg);return B.ServiceRegistry.register(E),{shared:B,Radar:E}}var QN4,qg;var FD0=g(()=>{r1();QN4=class extends e1{static{N(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},qg={parser:{TokenBuilder:N(()=>new QN4,"TokenBuilder"),ValueConverter:N(()=>new I8,"ValueConverter")}};N(lg,"createRadarServices")});function BL(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Jg,Lg);return B.ServiceRegistry.register(E),{shared:B,Railroad:E}}var GN4,k6u,HN4,Lg;var UD0=g(()=>{r1();GN4=class extends e1{static{N(this,"RailroadTokenBuilder")}constructor(){super(["railroad-beta"])}},k6u=N((u)=>{let B=u.slice(1,-1),E="";for(let A=0;A<B.length;A++){let C=B[A];if(C==="\\"&&A+1<B.length){A++;let D=B[A];switch(D){case"n":E+=`
`;break;case"r":E+="\r";break;case"t":E+="\t";break;default:E+=D}continue}E+=C}return E},"decodeEscapedString"),HN4=class extends k2{static{N(this,"RailroadValueConverter")}runConverter(u,B,E){let A=super.runConverter(u,B,E);if(u.name==="TITLE"&&typeof A==="string"){let C=A.trim();if(C.startsWith('"')&&C.endsWith('"')||C.startsWith("'")&&C.endsWith("'"))return k6u(C)}return A}runCustomConverter(u,B,E){if(u.name==="RR_STRING")return k6u(B);return}},Lg={parser:{TokenBuilder:N(()=>new GN4,"TokenBuilder"),ValueConverter:N(()=>new HN4,"ValueConverter")}};N(BL,"createRailroadServices")});function EL(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Zg,Xg);return B.ServiceRegistry.register(E),{shared:B,RailroadEbnf:E}}var qN4,f6u,lN4,Xg;var zD0=g(()=>{r1();qN4=class extends e1{static{N(this,"RailroadEbnfTokenBuilder")}constructor(){super(["railroad-ebnf-beta"])}},f6u=N((u)=>{let B=u.slice(1,-1),E="";for(let A=0;A<B.length;A++){let C=B[A];if(C==="\\"&&A+1<B.length){A++;let D=B[A];switch(D){case"n":E+=`
`;break;case"r":E+="\r";break;case"t":E+="\t";break;default:E+=D}continue}E+=C}return E},"decodeEscapedString"),lN4=class extends k2{static{N(this,"RailroadEbnfValueConverter")}runConverter(u,B,E){let A=super.runConverter(u,B,E);if(u.name==="TITLE"&&typeof A==="string"){let C=A.trim();if(C.startsWith('"')&&C.endsWith('"')||C.startsWith("'")&&C.endsWith("'"))return f6u(C)}return A}runCustomConverter(u,B,E){if(u.name==="EBNF_STRING")return f6u(B);if(u.name==="EBNF_SPECIAL_SEQUENCE")return B.slice(1,-1).trim();return}},Xg={parser:{TokenBuilder:N(()=>new qN4,"TokenBuilder"),ValueConverter:N(()=>new lN4,"ValueConverter")}};N(EL,"createRailroadEbnfServices")});function AL(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),bg,vg);return B.ServiceRegistry.register(E),{shared:B,RailroadAbnf:E}}var LN4,XN4,vg;var kD0=g(()=>{r1();LN4=class extends e1{static{N(this,"RailroadAbnfTokenBuilder")}constructor(){super(["railroad-abnf-beta"])}},XN4=class extends k2{static{N(this,"RailroadAbnfValueConverter")}runConverter(u,B,E){let A=super.runConverter(u,B,E);if(u.name==="TITLE"&&typeof A==="string"){let C=A.trim();if(C.startsWith('"')&&C.endsWith('"')||C.startsWith("'")&&C.endsWith("'"))return C.slice(1,-1)}return A}runCustomConverter(u,B,E){if(u.name==="ABNF_STRING")return B.slice(1,-1);return}},vg={parser:{TokenBuilder:N(()=>new LN4,"TokenBuilder"),ValueConverter:N(()=>new XN4,"ValueConverter")}};N(AL,"createRailroadAbnfServices")});function CL(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Kg,xg);return B.ServiceRegistry.register(E),{shared:B,RailroadPeg:E}}var vN4,M6u,xN4,xg;var fD0=g(()=>{r1();vN4=class extends e1{static{N(this,"RailroadPegTokenBuilder")}constructor(){super(["railroad-peg-beta"])}},M6u=N((u)=>{let B=u.slice(1,-1),E="";for(let A=0;A<B.length;A++){let C=B[A];if(C==="\\"&&A+1<B.length){A++;let D=B[A];switch(D){case"n":E+=`
`;break;case"r":E+="\r";break;case"t":E+="\t";break;default:E+=D}continue}E+=C}return E},"decodeEscapedString"),xN4=class extends k2{static{N(this,"RailroadPegValueConverter")}runConverter(u,B,E){let A=super.runConverter(u,B,E);if(u.name==="TITLE"&&typeof A==="string"){let C=A.trim();if(C.startsWith('"')&&C.endsWith('"')||C.startsWith("'")&&C.endsWith("'"))return M6u(C)}return A}runCustomConverter(u,B,E){if(u.name==="PEG_STRING")return M6u(B);return}},xg={parser:{TokenBuilder:N(()=>new vN4,"TokenBuilder"),ValueConverter:N(()=>new xN4,"ValueConverter")}};N(CL,"createRailroadPegServices")});function b6u(u){let B=u.validation.TreemapValidator,E=u.validation.ValidationRegistry;if(E){let A={Treemap:B.checkSingleRoot.bind(B)};E.register(A,B)}}function Sg(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),wg,Wg);return B.ServiceRegistry.register(E),b6u(E),{shared:B,Treemap:E}}var WN4,SN4,YN4,RN4,Wg;var MD0=g(()=>{r1();WN4=class extends e1{static{N(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},SN4=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,YN4=class extends k2{static{N(this,"TreemapValueConverter")}runCustomConverter(u,B,E){if(u.name==="NUMBER2")return parseFloat(B.replace(/,/g,""));else if(u.name==="SEPARATOR")return B.substring(1,B.length-1);else if(u.name==="STRING2")return B.substring(1,B.length-1);else if(u.name==="INDENTATION")return B.length;else if(u.name==="ClassDef"){if(typeof B!=="string")return B;let A=SN4.exec(B);if(A)return{$type:"ClassDefStatement",className:A[1],styleText:A[2]||void 0}}return}};N(b6u,"registerValidationChecks");RN4=class{static{N(this,"TreemapValidator")}checkSingleRoot(u,B){let E;for(let A of u.TreemapRows){if(!A.item)continue;if(E===void 0&&A.indent===void 0)E=0;else if(A.indent===void 0)B("error","Multiple root nodes are not allowed in a treemap.",{node:A,property:"item"});else if(E!==void 0&&E>=parseInt(A.indent,10))B("error","Multiple root nodes are not allowed in a treemap.",{node:A,property:"item"})}}},Wg={parser:{TokenBuilder:N(()=>new WN4,"TokenBuilder"),ValueConverter:N(()=>new YN4,"ValueConverter")},validation:{TreemapValidator:N(()=>new RN4,"TreemapValidator")}};N(Sg,"createTreemapServices")});function Rg(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Gg,Yg);return B.ServiceRegistry.register(E),{shared:B,Wardley:E}}var TN4,Yg;var bD0=g(()=>{r1();TN4=class extends k2{static{N(this,"WardleyValueConverter")}runCustomConverter(u,B,E){switch(u.name.toUpperCase()){case"LINK_LABEL":return B.substring(1).trim();default:return}}},Yg={parser:{ValueConverter:N(()=>new TN4,"ValueConverter")}};N(Rg,"createWardleyServices")});function Og(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Dg,Tg);return B.ServiceRegistry.register(E),{shared:B,Cynefin:E}}var ON4,Tg;var ZD0=g(()=>{r1();ON4=class extends e1{static{N(this,"CynefinTokenBuilder")}constructor(){super(["cynefin-beta"])}},Tg={parser:{TokenBuilder:N(()=>new ON4,"TokenBuilder"),ValueConverter:N(()=>new I8,"ValueConverter")}};N(Og,"createCynefinServices")});function Pg(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Ug,Ig);return B.ServiceRegistry.register(E),{shared:B,GitGraph:E}}var IN4,Ig;var JD0=g(()=>{r1();IN4=class extends e1{static{N(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},Ig={parser:{TokenBuilder:N(()=>new IN4,"TokenBuilder"),ValueConverter:N(()=>new I8,"ValueConverter")}};N(Pg,"createGitGraphServices")});function Ng(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),zg,jg);return B.ServiceRegistry.register(E),{shared:B,Info:E}}var PN4,jg;var KD0=g(()=>{r1();PN4=class extends e1{static{N(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},jg={parser:{TokenBuilder:N(()=>new PN4,"TokenBuilder"),ValueConverter:N(()=>new I8,"ValueConverter")}};N(Ng,"createInfoServices")});function hg(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),kg,Vg);return B.ServiceRegistry.register(E),{shared:B,Packet:E}}var jN4,Vg;var wD0=g(()=>{r1();jN4=class extends e1{static{N(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},Vg={parser:{TokenBuilder:N(()=>new jN4,"TokenBuilder"),ValueConverter:N(()=>new I8,"ValueConverter")}};N(hg,"createPacketServices")});function ag(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),fg,ig);return B.ServiceRegistry.register(E),{shared:B,Pie:E}}var NN4,VN4,ig;var QD0=g(()=>{r1();NN4=class extends e1{static{N(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},VN4=class extends k2{static{N(this,"PieValueConverter")}runCustomConverter(u,B,E){if(u.name!=="PIE_SECTION_LABEL")return;return B.replace(/"/g,"").trim()}},ig={parser:{TokenBuilder:N(()=>new NN4,"TokenBuilder"),ValueConverter:N(()=>new VN4,"ValueConverter")}};N(ag,"createPieServices")});function $g(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Qg,mg);return B.ServiceRegistry.register(E),{shared:B,TreeView:E}}var hN4,iN4,mg;var GD0=g(()=>{r1();hN4=class extends k2{static{N(this,"TreeViewValueConverter")}runCustomConverter(u,B,E){if(u.name==="INDENTATION")return B?.length||0;if(u.name==="QUOTED_NAME")return B.substring(1,B.length-1);if(u.name==="BARE_NAME")return B.replace(/[\t ]+$/,"");if(u.name==="CLASS_ANNOTATION")return B.trim().substring(3).trim();if(u.name==="ICON_ANNOTATION"){let A=B.trim();return A.substring(5,A.length-1)}if(u.name==="DESC_ANNOTATION")return B.trim().substring(2).trim();return}},iN4=class extends e1{static{N(this,"TreeViewTokenBuilder")}constructor(){super(["treeView-beta"])}},mg={parser:{TokenBuilder:N(()=>new iN4,"TokenBuilder"),ValueConverter:N(()=>new hN4,"ValueConverter")}};N($g,"createTreeViewServices")});function rg(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Cg,yg);return B.ServiceRegistry.register(E),{shared:B,Architecture:E}}var aN4,mN4,yg;var HD0=g(()=>{r1();aN4=class extends e1{static{N(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},mN4=class extends k2{static{N(this,"ArchitectureValueConverter")}runCustomConverter(u,B,E){if(u.name==="ARCH_ICON")return B.replace(/[()]/g,"").trim();else if(u.name==="ARCH_TEXT_ICON")return B.replace(/["()]/g,"");else if(u.name==="ARCH_TITLE"){let A=B.replace(/^\[|]$/g,"").trim();if(A.startsWith('"')&&A.endsWith('"')||A.startsWith("'")&&A.endsWith("'"))A=A.slice(1,-1),A=A.replace(/\\"/g,'"').replace(/\\'/g,"'");return A.trim()}return}},yg={parser:{TokenBuilder:N(()=>new aN4,"TokenBuilder"),ValueConverter:N(()=>new mN4,"ValueConverter")}};N(rg,"createArchitectureServices")});function Q6u(u){let B=u.validation.EventModelingValidator,E=u.validation.ValidationRegistry;if(E){let A={EmTimeFrame:B.checkSourceFrameTypes.bind(B),EmResetFrame:B.checkSourceFrameTypes.bind(B)};E.register(A,B)}}function cg(u=T1){let B=G3(q1(u),y1),E=G3(H1({shared:B}),Fg,gg);return B.ServiceRegistry.register(E),Q6u(E),{shared:B,EventModel:E}}var $N4,Z6u,J6u,qD0,K6u,w6u,yN4,gg;var lD0=g(()=>{r1();$N4=class extends e1{static{N(this,"EventModelingTokenBuilder")}constructor(){super(["eventmodeling"])}},Z6u=new Set(["cmd","command"]),J6u=new Set(["evt","event"]),qD0=new Set(["rmo","readmodel"]),K6u=new Set(["pcr","processor"]),w6u=new Set(["ui"]);N(Q6u,"registerValidationChecks");yN4=class{static{N(this,"EventModelingValidator")}checkSourceFrameTypes(u,B){if(u.sourceFrames.length===0)return;if(Z6u.has(u.modelEntityType))this.validateSources(u,new Set([...w6u,...K6u]),"command","ui or processor",B);else if(J6u.has(u.modelEntityType))this.validateSources(u,Z6u,"event","command",B);else if(qD0.has(u.modelEntityType))this.validateSources(u,J6u,"read model","event",B);else if(K6u.has(u.modelEntityType))this.validateSources(u,qD0,"processor","read model",B);else if(w6u.has(u.modelEntityType))this.validateSources(u,qD0,"ui","read model",B)}validateSources(u,B,E,A,C){for(let D of u.sourceFrames){let F=D.ref;if(F!==void 0&&!B.has(F.modelEntityType))C("error",`A ${E} can only receive input from a ${A}, not from '${F.modelEntityType}'.`,{node:u,property:"sourceFrames"})}}},gg={parser:{TokenBuilder:N(()=>new $N4,"TokenBuilder"),ValueConverter:N(()=>new I8,"ValueConverter")},validation:{EventModelingValidator:N(()=>new yN4,"EventModelingValidator")}};N(cg,"createEventModelingServices")});var G6u={};ju(G6u,{createInfoServices:()=>Ng,InfoModule:()=>jg});var H6u=g(()=>{KD0();r1()});var q6u={};ju(q6u,{createPacketServices:()=>hg,PacketModule:()=>Vg});var l6u=g(()=>{wD0();r1()});var L6u={};ju(L6u,{createPieServices:()=>ag,PieModule:()=>ig});var X6u=g(()=>{QD0();r1()});var v6u={};ju(v6u,{createTreeViewServices:()=>$g,TreeViewModule:()=>mg});var x6u=g(()=>{GD0();r1()});var W6u={};ju(W6u,{createArchitectureServices:()=>rg,ArchitectureModule:()=>yg});var S6u=g(()=>{HD0();r1()});var Y6u={};ju(Y6u,{createGitGraphServices:()=>Pg,GitGraphModule:()=>Ig});var R6u=g(()=>{JD0();r1()});var T6u={};ju(T6u,{createEventModelingServices:()=>cg,EventModelingModule:()=>gg});var O6u=g(()=>{lD0();r1()});var I6u={};ju(I6u,{createRadarServices:()=>lg,RadarModule:()=>qg});var P6u=g(()=>{FD0();r1()});var j6u={};ju(j6u,{createRailroadServices:()=>BL,RailroadModule:()=>Lg});var N6u=g(()=>{UD0();r1()});var V6u={};ju(V6u,{createRailroadEbnfServices:()=>EL,RailroadEbnfModule:()=>Xg});var h6u=g(()=>{zD0();r1()});var i6u={};ju(i6u,{createRailroadAbnfServices:()=>AL,RailroadAbnfModule:()=>vg});var a6u=g(()=>{kD0();r1()});var m6u={};ju(m6u,{createRailroadPegServices:()=>CL,RailroadPegModule:()=>xg});var $6u=g(()=>{fD0();r1()});var y6u={};ju(y6u,{createTreemapServices:()=>Sg,TreemapModule:()=>Wg});var r6u=g(()=>{MD0();r1()});var g6u={};ju(g6u,{createWardleyServices:()=>Rg,WardleyModule:()=>Yg});var c6u=g(()=>{bD0();r1()});var _6u={};ju(_6u,{createCynefinServices:()=>Og,CynefinModule:()=>Tg});var p6u=g(()=>{ZD0();r1()});async function v9(u,B){let E=rN4[u];if(!E)throw Error(`Unknown diagram type: ${u}`);if(!K7[u])await E();let C=K7[u].parse(B);if(C.lexerErrors.length>0||C.parserErrors.length>0)throw new Vk(C);return C.value}var K7,rN4,Vk;var w7=g(()=>{FD0();UD0();zD0();kD0();fD0();MD0();bD0();ZD0();JD0();KD0();wD0();QD0();GD0();HD0();lD0();r1();K7={},rN4={info:N(async()=>{let{createInfoServices:u}=await Promise.resolve().then(() => (H6u(),G6u)),B=u().Info.parser.LangiumParser;K7.info=B},"info"),packet:N(async()=>{let{createPacketServices:u}=await Promise.resolve().then(() => (l6u(),q6u)),B=u().Packet.parser.LangiumParser;K7.packet=B},"packet"),pie:N(async()=>{let{createPieServices:u}=await Promise.resolve().then(() => (X6u(),L6u)),B=u().Pie.parser.LangiumParser;K7.pie=B},"pie"),treeView:N(async()=>{let{createTreeViewServices:u}=await Promise.resolve().then(() => (x6u(),v6u)),B=u().TreeView.parser.LangiumParser;K7.treeView=B},"treeView"),architecture:N(async()=>{let{createArchitectureServices:u}=await Promise.resolve().then(() => (S6u(),W6u)),B=u().Architecture.parser.LangiumParser;K7.architecture=B},"architecture"),gitGraph:N(async()=>{let{createGitGraphServices:u}=await Promise.resolve().then(() => (R6u(),Y6u)),B=u().GitGraph.parser.LangiumParser;K7.gitGraph=B},"gitGraph"),eventmodeling:N(async()=>{let{createEventModelingServices:u}=await Promise.resolve().then(() => (O6u(),T6u)),B=u().EventModel.parser.LangiumParser;K7.eventmodeling=B},"eventmodeling"),radar:N(async()=>{let{createRadarServices:u}=await Promise.resolve().then(() => (P6u(),I6u)),B=u().Radar.parser.LangiumParser;K7.radar=B},"radar"),railroad:N(async()=>{let{createRailroadServices:u}=await Promise.resolve().then(() => (N6u(),j6u)),B=u().Railroad.parser.LangiumParser;K7.railroad=B},"railroad"),railroadEbnf:N(async()=>{let{createRailroadEbnfServices:u}=await Promise.resolve().then(() => (h6u(),V6u)),B=u().RailroadEbnf.parser.LangiumParser;K7.railroadEbnf=B},"railroadEbnf"),railroadAbnf:N(async()=>{let{createRailroadAbnfServices:u}=await Promise.resolve().then(() => (a6u(),i6u)),B=u().RailroadAbnf.parser.LangiumParser;K7.railroadAbnf=B},"railroadAbnf"),railroadPeg:N(async()=>{let{createRailroadPegServices:u}=await Promise.resolve().then(() => ($6u(),m6u)),B=u().RailroadPeg.parser.LangiumParser;K7.railroadPeg=B},"railroadPeg"),treemap:N(async()=>{let{createTreemapServices:u}=await Promise.resolve().then(() => (r6u(),y6u)),B=u().Treemap.parser.LangiumParser;K7.treemap=B},"treemap"),wardley:N(async()=>{let{createWardleyServices:u}=await Promise.resolve().then(() => (c6u(),g6u)),B=u().Wardley.parser.LangiumParser;K7.wardley=B},"wardley"),cynefin:N(async()=>{let{createCynefinServices:u}=await Promise.resolve().then(() => (p6u(),_6u)),B=u().Cynefin.parser.LangiumParser;K7.cynefin=B},"cynefin")};N(v9,"parse");Vk=class extends Error{constructor(u){let B=u.lexerErrors.map((A)=>{let C=A.line!==void 0&&!isNaN(A.line)?A.line:"?",D=A.column!==void 0&&!isNaN(A.column)?A.column:"?";return`Lexer error on line ${C}, column ${D}: ${A.message}`}).join(`
`),E=u.parserErrors.map((A)=>{let C=A.token.startLine!==void 0&&!isNaN(A.token.startLine)?A.token.startLine:"?",D=A.token.startColumn!==void 0&&!isNaN(A.token.startColumn)?A.token.startColumn:"?";return`Parse error on line ${C}, column ${D}: ${A.message}`}).join(`
`);super(`Parsing failed: ${B} ${E}`);this.result=u}static{N(this,"MermaidParseError")}}});var A9u={};ju(A9u,{diagram:()=>gV4});function ng(){return q30({length:7})}function d6u(u,B){let E=Object.create(null);return u.reduce((A,C)=>{let D=B(C);if(!E[D])E[D]=!0,A.push(C);return A},[])}function LD0(u,B,E){let A=u.indexOf(B);if(A===-1)u.push(E);else u.splice(A,1,E)}function vD0(u){let B=u.reduce((C,D)=>{if(C.seq>D.seq)return C;return D},u[0]),E="";u.forEach(function(C){if(C===B)E+="\t*";else E+="\t|"});let A=[E,B.id,B.seq];for(let C in w4.records.branches)if(w4.records.branches.get(C)===B.id)A.push(C);if(z0.debug(A.join(" ")),B.parents&&B.parents.length==2&&B.parents[0]&&B.parents[1]){let C=w4.records.commits.get(B.parents[0]);if(LD0(u,B,C),B.parents[1])u.push(w4.records.commits.get(B.parents[1]))}else if(B.parents.length==0)return;else if(B.parents[0]){let C=w4.records.commits.get(B.parents[0]);LD0(u,B,C)}u=d6u(u,(C)=>C.id),vD0(u)}var K6,gN4,sw,w4,cN4,_N4,pN4,nN4,dN4,sN4,oN4,s6u,tN4,eN4,uV4,BV4,EV4,o6u,AV4,CV4,DV4,t6u,FV4,UV4,zV4,kV4,fV4,MV4,bV4,ZV4,hb=10,ib=40,GU=4,hk=2,nw=8,dg,XD0=12,xD0,JV4,dw,P8,j8,_g=30,nR,pg,ik=0,D1="LR",KV4,e6u,u9u,wV4,QV4,GV4,HV4,qV4,lV4,LV4,XV4,vV4,xV4,WV4,SV4,n6u,YV4,dR,RV4,TV4,OV4,IV4,PV4,jV4,B9u=8,E9u,NV4,VV4,hV4,iV4,aV4,mV4,$V4,yV4,rV4,gV4;var C9u=g(()=>{ym();YB();e3();s4();o4();Y4();w7();V3();K6={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},gN4=t4.gitGraph,sw=X(()=>{return E1({...gN4,...F4().gitGraph})},"getConfig"),w4=new fl(()=>{let u=sw(),B=u.mainBranchName,E=u.mainBranchOrder;return{mainBranchName:B,commits:new Map,head:null,branchConfig:new Map([[B,{name:B,order:E}]]),branches:new Map([[B,null]]),currBranch:B,direction:"LR",seq:0,options:{}}});X(ng,"getID");X(d6u,"uniqBy");cN4=X(function(u){w4.records.direction=u},"setDirection"),_N4=X(function(u){z0.debug("options str",u),u=u?.trim(),u=u||"{}";try{w4.records.options=JSON.parse(u)}catch(B){z0.error("error while parsing gitGraph options",B.message)}},"setOptions"),pN4=X(function(){return w4.records.options},"getOptions"),nN4=X(function(u){let{msg:B,id:E,type:A,tags:C}=u;z0.info("commit",B,E,A,C),z0.debug("Entering commit:",B,E,A,C);let D=sw();E=ru.sanitizeText(E,D),B=ru.sanitizeText(B,D),C=C?.map((U)=>ru.sanitizeText(U,D));let F={id:E?E:w4.records.seq+"-"+ng(),message:B,seq:w4.records.seq++,type:A??K6.NORMAL,tags:C??[],parents:w4.records.head==null?[]:[w4.records.head.id],branch:w4.records.currBranch};if(w4.records.head=F,z0.info("main branch",D.mainBranchName),w4.records.commits.has(F.id))z0.warn(`Commit ID ${F.id} already exists`);w4.records.commits.set(F.id,F),w4.records.branches.set(w4.records.currBranch,F.id),z0.debug("in pushCommit "+F.id)},"commit"),dN4=X(function(u){let{name:B,order:E}=u;if(B=ru.sanitizeText(B,sw()),w4.records.branches.has(B))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${B}")`);w4.records.branches.set(B,w4.records.head!=null?w4.records.head.id:null),w4.records.branchConfig.set(B,{name:B,order:E}),s6u(B),z0.debug("in createBranch")},"branch"),sN4=X((u)=>{let{branch:B,id:E,type:A,tags:C}=u,D=sw();if(B=ru.sanitizeText(B,D),E)E=ru.sanitizeText(E,D);let F=w4.records.branches.get(w4.records.currBranch),U=w4.records.branches.get(B),z=F?w4.records.commits.get(F):void 0,k=U?w4.records.commits.get(U):void 0;if(z&&k&&z.branch===B)throw Error(`Cannot merge branch '${B}' into itself.`);if(w4.records.currBranch===B){let b=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw b.hash={text:`merge ${B}`,token:`merge ${B}`,expected:["branch abc"]},b}if(z===void 0||!z){let b=Error(`Incorrect usage of "merge". Current branch (${w4.records.currBranch})has no commits`);throw b.hash={text:`merge ${B}`,token:`merge ${B}`,expected:["commit"]},b}if(!w4.records.branches.has(B)){let b=Error('Incorrect usage of "merge". Branch to be merged ('+B+") does not exist");throw b.hash={text:`merge ${B}`,token:`merge ${B}`,expected:[`branch ${B}`]},b}if(k===void 0||!k){let b=Error('Incorrect usage of "merge". Branch to be merged ('+B+") has no commits");throw b.hash={text:`merge ${B}`,token:`merge ${B}`,expected:['"commit"']},b}if(z===k){let b=Error('Incorrect usage of "merge". Both branches have same head');throw b.hash={text:`merge ${B}`,token:`merge ${B}`,expected:["branch abc"]},b}if(E&&w4.records.commits.has(E)){let b=Error('Incorrect usage of "merge". Commit with id:'+E+" already exists, use different custom id");throw b.hash={text:`merge ${B} ${E} ${A} ${C?.join(" ")}`,token:`merge ${B} ${E} ${A} ${C?.join(" ")}`,expected:[`merge ${B} ${E}_UNIQUE ${A} ${C?.join(" ")}`]},b}let f=U?U:"",M={id:E||`${w4.records.seq}-${ng()}`,message:`merged branch ${B} into ${w4.records.currBranch}`,seq:w4.records.seq++,parents:w4.records.head==null?[]:[w4.records.head.id,f],branch:w4.records.currBranch,type:K6.MERGE,customType:A,customId:E?!0:!1,tags:C??[]};w4.records.head=M,w4.records.commits.set(M.id,M),w4.records.branches.set(w4.records.currBranch,M.id),z0.debug(w4.records.branches),z0.debug("in mergeBranch")},"merge"),oN4=X(function(u){let{id:B,targetId:E,tags:A,parent:C}=u;z0.debug("Entering cherryPick:",B,E,A);let D=sw();if(B=ru.sanitizeText(B,D),E=ru.sanitizeText(E,D),A=A?.map((z)=>ru.sanitizeText(z,D)),C=ru.sanitizeText(C,D),!B||!w4.records.commits.has(B)){let z=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw z.hash={text:`cherryPick ${B} ${E}`,token:`cherryPick ${B} ${E}`,expected:["cherry-pick abc"]},z}let F=w4.records.commits.get(B);if(F===void 0||!F)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(C&&!(Array.isArray(F.parents)&&F.parents.includes(C)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let U=F.branch;if(F.type===K6.MERGE&&!C)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!E||!w4.records.commits.has(E)){if(U===w4.records.currBranch){let M=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw M.hash={text:`cherryPick ${B} ${E}`,token:`cherryPick ${B} ${E}`,expected:["cherry-pick abc"]},M}let z=w4.records.branches.get(w4.records.currBranch);if(z===void 0||!z){let M=Error(`Incorrect usage of "cherry-pick". Current branch (${w4.records.currBranch})has no commits`);throw M.hash={text:`cherryPick ${B} ${E}`,token:`cherryPick ${B} ${E}`,expected:["cherry-pick abc"]},M}let k=w4.records.commits.get(z);if(k===void 0||!k){let M=Error(`Incorrect usage of "cherry-pick". Current branch (${w4.records.currBranch})has no commits`);throw M.hash={text:`cherryPick ${B} ${E}`,token:`cherryPick ${B} ${E}`,expected:["cherry-pick abc"]},M}let f={id:w4.records.seq+"-"+ng(),message:`cherry-picked ${F?.message} into ${w4.records.currBranch}`,seq:w4.records.seq++,parents:w4.records.head==null?[]:[w4.records.head.id,F.id],branch:w4.records.currBranch,type:K6.CHERRY_PICK,tags:A?A.filter(Boolean):[`cherry-pick:${F.id}${F.type===K6.MERGE?`|parent:${C}`:""}`]};w4.records.head=f,w4.records.commits.set(f.id,f),w4.records.branches.set(w4.records.currBranch,f.id),z0.debug(w4.records.branches),z0.debug("in cherryPick")}},"cherryPick"),s6u=X(function(u){if(u=ru.sanitizeText(u,sw()),!w4.records.branches.has(u)){let B=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${u}")`);throw B.hash={text:`checkout ${u}`,token:`checkout ${u}`,expected:[`branch ${u}`]},B}else{w4.records.currBranch=u;let B=w4.records.branches.get(w4.records.currBranch);if(B===void 0||!B)w4.records.head=null;else w4.records.head=w4.records.commits.get(B)??null}},"checkout");X(LD0,"upsert");X(vD0,"prettyPrintCommitHistory");tN4=X(function(){z0.debug(w4.records.commits);let u=o6u()[0];vD0([u])},"prettyPrint"),eN4=X(function(){w4.reset(),D3()},"clear"),uV4=X(function(){return[...w4.records.branchConfig.values()].map((B,E)=>{if(B.order!==null&&B.order!==void 0)return B;return{...B,order:parseFloat(`0.${E}`)}}).sort((B,E)=>(B.order??0)-(E.order??0)).map(({name:B})=>({name:B}))},"getBranchesAsObjArray"),BV4=X(function(){return w4.records.branches},"getBranches"),EV4=X(function(){return w4.records.commits},"getCommits"),o6u=X(function(){let u=[...w4.records.commits.values()];return u.forEach(function(B){z0.debug(B.id)}),u.sort((B,E)=>B.seq-E.seq),u},"getCommitsArray"),AV4=X(function(){return w4.records.currBranch},"getCurrentBranch"),CV4=X(function(){return w4.records.direction},"getDirection"),DV4=X(function(){return w4.records.head},"getHead"),t6u={commitType:K6,getConfig:sw,setDirection:cN4,setOptions:_N4,getOptions:pN4,commit:nN4,branch:dN4,merge:sN4,cherryPick:oN4,checkout:s6u,prettyPrint:tN4,clear:eN4,getBranchesAsObjArray:uV4,getBranches:BV4,getCommits:EV4,getCommitsArray:o6u,getCurrentBranch:AV4,getDirection:CV4,getHead:DV4,setAccTitle:w3,getAccTitle:q3,getAccDescription:L3,setAccDescription:l3,setDiagramTitle:T3,getDiagramTitle:X3},FV4=X((u,B)=>{if(U6(u,B),u.dir)B.setDirection(u.dir);for(let E of u.statements)UV4(E,B)},"populate"),UV4=X((u,B)=>{let A={Commit:X((C)=>B.commit(zV4(C)),"Commit"),Branch:X((C)=>B.branch(kV4(C)),"Branch"),Merge:X((C)=>B.merge(fV4(C)),"Merge"),Checkout:X((C)=>B.checkout(MV4(C)),"Checkout"),CherryPicking:X((C)=>B.cherryPick(bV4(C)),"CherryPicking")}[u.$type];if(A)A(u);else z0.error(`Unknown statement type: ${u.$type}`)},"parseStatement"),zV4=X((u)=>{return{id:u.id,msg:u.message??"",type:u.type!==void 0?K6[u.type]:K6.NORMAL,tags:u.tags??void 0}},"parseCommit"),kV4=X((u)=>{return{name:u.name,order:u.order??0}},"parseBranch"),fV4=X((u)=>{return{branch:u.branch,id:u.id??"",type:u.type!==void 0?K6[u.type]:void 0,tags:u.tags??void 0}},"parseMerge"),MV4=X((u)=>{return u.branch},"parseCheckout"),bV4=X((u)=>{return{id:u.id,targetId:"",tags:u.tags?.length===0?void 0:u.tags,parent:u.parent}},"parseCherryPicking"),ZV4={parse:X(async(u)=>{let B=await v9("gitGraph",u);z0.debug(B),FV4(B,t6u)},"parse")},dg=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),xD0=new Set(["redux-color","redux-dark-color"]),JV4=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),dw=X((u,B,E=!1)=>{if(E&&u>0)return(u-1)%(B-1)+1;return u%B},"calcColorIndex"),P8=new Map,j8=new Map,nR=new Map,pg=[],KV4=X(()=>{P8.clear(),j8.clear(),nR.clear(),ik=0,pg=[],D1="LR"},"clear"),e6u=X((u)=>{let B=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof u==="string"?u.split(/\\n|\n|<br\s*\/?>/gi):u).forEach((A)=>{let C=document.createElementNS("http://www.w3.org/2000/svg","tspan");C.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),C.setAttribute("dy","1em"),C.setAttribute("x","0"),C.setAttribute("class","row"),C.textContent=A.trim(),B.appendChild(C)}),B},"drawText"),u9u=X((u)=>{let B,E,A;if(D1==="BT")E=X((C,D)=>C<=D,"comparisonFunc"),A=1/0;else E=X((C,D)=>C>=D,"comparisonFunc"),A=0;return u.forEach((C)=>{let D=D1==="TB"||D1=="BT"?j8.get(C)?.y:j8.get(C)?.x;if(D!==void 0&&E(D,A))B=C,A=D}),B},"findClosestParent"),wV4=X((u)=>{let B="",E=1/0;return u.forEach((A)=>{let C=j8.get(A).y;if(C<=E)B=A,E=C}),B||void 0},"findClosestParentBT"),QV4=X((u,B,E)=>{let A=E,C=E,D=[];u.forEach((F)=>{let U=B.get(F);if(!U)throw Error(`Commit not found for key ${F}`);if(U.parents.length)A=HV4(U),C=Math.max(A,C);else D.push(U);qV4(U,A)}),A=C,D.forEach((F)=>{lV4(F,A,E)}),u.forEach((F)=>{let U=B.get(F);if(U?.parents.length){let z=wV4(U.parents);if(A=j8.get(z).y-ib,A<=C)C=A;let k=P8.get(U.branch).pos,f=A-hb;j8.set(U.id,{x:k,y:f})}})},"setParallelBTPos"),GV4=X((u)=>{let B=u9u(u.parents.filter((A)=>A!==null));if(!B)throw Error(`Closest parent not found for commit ${u.id}`);let E=j8.get(B)?.y;if(E===void 0)throw Error(`Closest parent position not found for commit ${u.id}`);return E},"findClosestParentPos"),HV4=X((u)=>{return GV4(u)+ib},"calculateCommitPosition"),qV4=X((u,B)=>{let E=P8.get(u.branch);if(!E)throw Error(`Branch not found for commit ${u.id}`);let A=E.pos,C=B+hb;return j8.set(u.id,{x:A,y:C}),{x:A,y:C}},"setCommitPosition"),lV4=X((u,B,E)=>{let A=P8.get(u.branch);if(!A)throw Error(`Branch not found for commit ${u.id}`);let C=B+E,D=A.pos;j8.set(u.id,{x:D,y:C})},"setRootPosition"),LV4=X((u,B,E,A,C,D)=>{let{theme:F}=y0(),U=dg.has(F??""),z=xD0.has(F??""),k=JV4.has(F??"");if(D===K6.HIGHLIGHT)u.append("rect").attr("x",E.x-10+(U?3:0)).attr("y",E.y-10+(U?3:0)).attr("width",U?14:20).attr("height",U?14:20).attr("class",`commit ${B.id} commit-highlight${dw(C,nw,z)} ${A}-outer`),u.append("rect").attr("x",E.x-6+(U?2:0)).attr("y",E.y-6+(U?2:0)).attr("width",U?8:12).attr("height",U?8:12).attr("class",`commit ${B.id} commit${dw(C,nw,z)} ${A}-inner`);else if(D===K6.CHERRY_PICK)u.append("circle").attr("cx",E.x).attr("cy",E.y).attr("r",U?7:10).attr("class",`commit ${B.id} ${A}`),u.append("circle").attr("cx",E.x-3).attr("cy",E.y+2).attr("r",U?2.5:2.75).attr("fill",k?"#000000":"#fff").attr("class",`commit ${B.id} ${A}`),u.append("circle").attr("cx",E.x+3).attr("cy",E.y+2).attr("r",U?2.5:2.75).attr("fill",k?"#000000":"#fff").attr("class",`commit ${B.id} ${A}`),u.append("line").attr("x1",E.x+3).attr("y1",E.y+1).attr("x2",E.x).attr("y2",E.y-5).attr("stroke",k?"#000000":"#fff").attr("class",`commit ${B.id} ${A}`),u.append("line").attr("x1",E.x-3).attr("y1",E.y+1).attr("x2",E.x).attr("y2",E.y-5).attr("stroke",k?"#000000":"#fff").attr("class",`commit ${B.id} ${A}`);else{let f=u.append("circle");if(f.attr("cx",E.x),f.attr("cy",E.y),f.attr("r",U?7:10),f.attr("class",`commit ${B.id} commit${dw(C,nw,z)}`),D===K6.MERGE){let M=u.append("circle");M.attr("cx",E.x),M.attr("cy",E.y),M.attr("r",U?5:6),M.attr("class",`commit ${A} ${B.id} commit${dw(C,nw,z)}`)}if(D===K6.REVERSE){let M=u.append("path"),b=U?4:5;M.attr("d",`M ${E.x-b},${E.y-b}L${E.x+b},${E.y+b}M${E.x-b},${E.y+b}L${E.x+b},${E.y-b}`).attr("class",`commit ${A} ${B.id} commit${dw(C,nw,z)}`)}}},"drawCommitBullet"),XV4=X((u,B,E,A,C)=>{if(B.type!==K6.CHERRY_PICK&&(B.customId&&B.type===K6.MERGE||B.type!==K6.MERGE)&&C.showCommitLabel){let D=u.append("g"),F=D.insert("rect").attr("class","commit-label-bkg"),U=D.append("text").attr("x",A).attr("y",E.y+25).attr("class","commit-label").text(B.id),z=U.node()?.getBBox();if(z){if(F.attr("x",E.posWithOffset-z.width/2-hk).attr("y",E.y+13.5).attr("width",z.width+2*hk).attr("height",z.height+2*hk),D1==="TB"||D1==="BT")F.attr("x",E.x-(z.width+4*GU+5)).attr("y",E.y-12),U.attr("x",E.x-(z.width+4*GU)).attr("y",E.y+z.height-12);else U.attr("x",E.posWithOffset-z.width/2);if(C.rotateCommitLabel)if(D1==="TB"||D1==="BT")U.attr("transform","rotate(-45, "+E.x+", "+E.y+")"),F.attr("transform","rotate(-45, "+E.x+", "+E.y+")");else{let k=-7.5-(z.width+10)/25*9.5,f=10+z.width/25*8.5;D.attr("transform","translate("+k+", "+f+") rotate(-45, "+A+", "+E.y+")")}}}},"drawCommitLabel"),vV4=X((u,B,E,A)=>{if(B.tags.length>0){let C=0,D=0,F=0,U=[];for(let z of B.tags.reverse()){let k=u.insert("polygon"),f=u.append("circle"),M=u.append("text").attr("y",E.y-16-C).attr("class","tag-label").text(z),b=M.node()?.getBBox();if(!b)throw Error("Tag bbox not found");D=Math.max(D,b.width),F=Math.max(F,b.height),M.attr("x",E.posWithOffset-b.width/2),U.push({tag:M,hole:f,rect:k,yOffset:C}),C+=20}for(let{tag:z,hole:k,rect:f,yOffset:M}of U){let b=F/2,Z=E.y-19.2-M;if(f.attr("class","tag-label-bkg").attr("points",`
${A-D/2-GU/2},${Z+hk}
${A-D/2-GU/2},${Z-hk}
${E.posWithOffset-D/2-GU},${Z-b-hk}
${E.posWithOffset+D/2+GU},${Z-b-hk}
${E.posWithOffset+D/2+GU},${Z+b+hk}
${E.posWithOffset-D/2-GU},${Z+b+hk}`),k.attr("cy",Z).attr("cx",A-D/2+GU/2).attr("r",1.5).attr("class","tag-hole"),D1==="TB"||D1==="BT"){let J=A+M;f.attr("class","tag-label-bkg").attr("points",`
${E.x},${J+2}
${E.x},${J-2}
${E.x+hb},${J-b-2}
${E.x+hb+D+4},${J-b-2}
${E.x+hb+D+4},${J+b+2}
${E.x+hb},${J+b+2}`).attr("transform","translate(12,12) rotate(45, "+E.x+","+A+")"),k.attr("cx",E.x+GU/2).attr("cy",J).attr("transform","translate(12,12) rotate(45, "+E.x+","+A+")"),z.attr("x",E.x+5).attr("y",J+3).attr("transform","translate(14,14) rotate(45, "+E.x+","+A+")")}}}},"drawCommitTags"),xV4=X((u)=>{switch(u.customType??u.type){case K6.NORMAL:return"commit-normal";case K6.REVERSE:return"commit-reverse";case K6.HIGHLIGHT:return"commit-highlight";case K6.MERGE:return"commit-merge";case K6.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),WV4=X((u,B,E,A)=>{let C={x:0,y:0};if(u.parents.length>0){let D=u9u(u.parents);if(D){let F=A.get(D)??C;if(B==="TB")return F.y+ib;else if(B==="BT")return(A.get(u.id)??C).y-ib;else return F.x+ib}}else if(B==="TB")return _g;else if(B==="BT")return(A.get(u.id)??C).y-ib;else return 0;return 0},"calculatePosition"),SV4=X((u,B,E)=>{let A=D1==="BT"&&E?B:B+hb,C=P8.get(u.branch)?.pos,D=D1==="TB"||D1==="BT"?P8.get(u.branch)?.pos:A;if(D===void 0||C===void 0)throw Error(`Position were undefined for commit ${u.id}`);let F=dg.has(y0().theme??""),U=D1==="TB"||D1==="BT"?A:C+(F?XD0/2+1:-2);return{x:D,y:U,posWithOffset:A}},"getCommitPosition"),n6u=X((u,B,E,A)=>{let C=u.append("g").attr("class","commit-bullets"),D=u.append("g").attr("class","commit-labels"),F=D1==="TB"||D1==="BT"?_g:0,U=[...B.keys()],z=A.parallelCommits??!1,k=X((M,b)=>{let Z=B.get(M)?.seq,J=B.get(b)?.seq;return Z!==void 0&&J!==void 0?Z-J:0},"sortKeys"),f=U.sort(k);if(D1==="BT"){if(z)QV4(f,B,F);f=f.reverse()}f.forEach((M)=>{let b=B.get(M);if(!b)throw Error(`Commit not found for key ${M}`);if(z)F=WV4(b,D1,F,j8);let Z=SV4(b,F,z);if(E){let J=xV4(b),K=b.customType??b.type,w=P8.get(b.branch)?.index??0;LV4(C,b,Z,J,w,K),XV4(D,b,Z,F,A),vV4(D,b,Z,F)}if(D1==="TB"||D1==="BT")j8.set(b.id,{x:Z.x,y:Z.posWithOffset});else j8.set(b.id,{x:Z.posWithOffset,y:Z.y});if(F=D1==="BT"&&z?F+ib:F+ib+hb,F>ik)ik=F})},"drawCommits"),YV4=X((u,B,E,A,C)=>{let F=(D1==="TB"||D1==="BT"?E.x<A.x:E.y<A.y)?B.branch:u.branch,U=X((k)=>k.branch===F,"isOnBranchToGetCurve"),z=X((k)=>k.seq>u.seq&&k.seq<B.seq,"isBetweenCommits");return[...C.values()].some((k)=>{return z(k)&&U(k)})},"shouldRerouteArrow"),dR=X((u,B,E=0)=>{let A=u+Math.abs(u-B)/2;if(E>5)return A;if(pg.every((F)=>Math.abs(F-A)>=10))return pg.push(A),A;let D=Math.abs(u-B);return dR(u,B-D/5,E+1)},"findLane"),RV4=X((u,B,E,A)=>{let{theme:C}=y0(),D=xD0.has(C??""),F=j8.get(B.id),U=j8.get(E.id);if(F===void 0||U===void 0)throw Error(`Commit positions not found for commits ${B.id} and ${E.id}`);let z=YV4(B,E,F,U,A),k="",f="",M=0,b=0,Z=P8.get(E.branch)?.index;if(E.type===K6.MERGE&&B.id!==E.parents[0])Z=P8.get(B.branch)?.index;let J;if(z){k="A 10 10, 0, 0, 0,",f="A 10 10, 0, 0, 1,",M=10,b=10;let K=F.y<U.y?dR(F.y,U.y):dR(U.y,F.y),w=F.x<U.x?dR(F.x,U.x):dR(U.x,F.x);if(D1==="TB")if(F.x<U.x)J=`M ${F.x} ${F.y} L ${w-M} ${F.y} ${f} ${w} ${F.y+b} L ${w} ${U.y-M} ${k} ${w+b} ${U.y} L ${U.x} ${U.y}`;else Z=P8.get(B.branch)?.index,J=`M ${F.x} ${F.y} L ${w+M} ${F.y} ${k} ${w} ${F.y+b} L ${w} ${U.y-M} ${f} ${w-b} ${U.y} L ${U.x} ${U.y}`;else if(D1==="BT")if(F.x<U.x)J=`M ${F.x} ${F.y} L ${w-M} ${F.y} ${k} ${w} ${F.y-b} L ${w} ${U.y+M} ${f} ${w+b} ${U.y} L ${U.x} ${U.y}`;else Z=P8.get(B.branch)?.index,J=`M ${F.x} ${F.y} L ${w+M} ${F.y} ${f} ${w} ${F.y-b} L ${w} ${U.y+M} ${k} ${w-b} ${U.y} L ${U.x} ${U.y}`;else if(F.y<U.y)J=`M ${F.x} ${F.y} L ${F.x} ${K-M} ${k} ${F.x+b} ${K} L ${U.x-M} ${K} ${f} ${U.x} ${K+b} L ${U.x} ${U.y}`;else Z=P8.get(B.branch)?.index,J=`M ${F.x} ${F.y} L ${F.x} ${K+M} ${f} ${F.x+b} ${K} L ${U.x-M} ${K} ${k} ${U.x} ${K-b} L ${U.x} ${U.y}`}else if(k="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",M=20,b=20,D1==="TB"){if(F.x<U.x)if(E.type===K6.MERGE&&B.id!==E.parents[0])J=`M ${F.x} ${F.y} L ${F.x} ${U.y-M} ${k} ${F.x+b} ${U.y} L ${U.x} ${U.y}`;else J=`M ${F.x} ${F.y} L ${U.x-M} ${F.y} ${f} ${U.x} ${F.y+b} L ${U.x} ${U.y}`;if(F.x>U.x)if(k="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",M=20,b=20,E.type===K6.MERGE&&B.id!==E.parents[0])J=`M ${F.x} ${F.y} L ${F.x} ${U.y-M} ${f} ${F.x-b} ${U.y} L ${U.x} ${U.y}`;else J=`M ${F.x} ${F.y} L ${U.x+M} ${F.y} ${k} ${U.x} ${F.y+b} L ${U.x} ${U.y}`;if(F.x===U.x)J=`M ${F.x} ${F.y} L ${U.x} ${U.y}`}else if(D1==="BT"){if(F.x<U.x)if(E.type===K6.MERGE&&B.id!==E.parents[0])J=`M ${F.x} ${F.y} L ${F.x} ${U.y+M} ${f} ${F.x+b} ${U.y} L ${U.x} ${U.y}`;else J=`M ${F.x} ${F.y} L ${U.x-M} ${F.y} ${k} ${U.x} ${F.y-b} L ${U.x} ${U.y}`;if(F.x>U.x)if(k="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",M=20,b=20,E.type===K6.MERGE&&B.id!==E.parents[0])J=`M ${F.x} ${F.y} L ${F.x} ${U.y+M} ${k} ${F.x-b} ${U.y} L ${U.x} ${U.y}`;else J=`M ${F.x} ${F.y} L ${U.x+M} ${F.y} ${f} ${U.x} ${F.y-b} L ${U.x} ${U.y}`;if(F.x===U.x)J=`M ${F.x} ${F.y} L ${U.x} ${U.y}`}else{if(F.y<U.y)if(E.type===K6.MERGE&&B.id!==E.parents[0])J=`M ${F.x} ${F.y} L ${U.x-M} ${F.y} ${f} ${U.x} ${F.y+b} L ${U.x} ${U.y}`;else J=`M ${F.x} ${F.y} L ${F.x} ${U.y-M} ${k} ${F.x+b} ${U.y} L ${U.x} ${U.y}`;if(F.y>U.y)if(E.type===K6.MERGE&&B.id!==E.parents[0])J=`M ${F.x} ${F.y} L ${U.x-M} ${F.y} ${k} ${U.x} ${F.y-b} L ${U.x} ${U.y}`;else J=`M ${F.x} ${F.y} L ${F.x} ${U.y+M} ${f} ${F.x+b} ${U.y} L ${U.x} ${U.y}`;if(F.y===U.y)J=`M ${F.x} ${F.y} L ${U.x} ${U.y}`}if(J===void 0)throw Error("Line definition not found");u.append("path").attr("d",J).attr("class","arrow arrow"+dw(Z,nw,D))},"drawArrow"),TV4=X((u,B)=>{let E=u.append("g").attr("class","commit-arrows");[...B.keys()].forEach((A)=>{let C=B.get(A);if(C.parents&&C.parents.length>0)C.parents.forEach((D)=>{RV4(E,B.get(D),C,B)})})},"drawArrows"),OV4=X((u,B,E,A)=>{let{look:C,theme:D,themeVariables:F}=y0(),{dropShadow:U,THEME_COLOR_LIMIT:z}=F,k=dg.has(D??""),f=xD0.has(D??""),M=u.append("g");B.forEach((b,Z)=>{let J=dw(Z,k?z:nw,f),K=P8.get(b.name)?.pos;if(K===void 0)throw Error(`Position not found for branch ${b.name}`);let w=D1==="TB"||D1==="BT"?K:k?K+XD0/2+1:K-2,Q=M.append("line");if(Q.attr("x1",0),Q.attr("y1",w),Q.attr("x2",ik),Q.attr("y2",w),Q.attr("class","branch branch"+J),D1==="TB")Q.attr("y1",_g),Q.attr("x1",K),Q.attr("y2",ik),Q.attr("x2",K);else if(D1==="BT")Q.attr("y1",ik),Q.attr("x1",K),Q.attr("y2",_g),Q.attr("x2",K);pg.push(w);let G=b.name,H=e6u(G),l=M.insert("rect"),L=M.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+J);L.node().appendChild(H);let v=H.getBBox(),x=k?0:4,S=k?16:0,W=k?XD0:0;if(C==="neo")l.attr("data-look","neo");if(l.attr("class","branchLabelBkg label"+J).attr("style",C==="neo"?`filter:${k?`url(#${A}-drop-shadow)`:U}`:"").attr("rx",x).attr("ry",x).attr("x",-v.width-4-(E.rotateCommitLabel===!0?30:0)).attr("y",-v.height/2+10).attr("width",v.width+18+S).attr("height",v.height+4+W),L.attr("transform","translate("+(-v.width-14-(E.rotateCommitLabel===!0?30:0)+S/2)+", "+(w-v.height/2-2)+")"),D1==="TB"){if(l.attr("x",K-v.width/2-10).attr("y",0),L.attr("transform","translate("+(K-v.width/2-5)+", 0)"),k)l.attr("transform",`translate(${-S/2-3}, ${-W-10})`),L.attr("transform","translate("+(K-v.width/2-5)+", "+(-W*2+7)+")")}else if(D1==="BT"){if(l.attr("x",K-v.width/2-10).attr("y",ik),L.attr("transform","translate("+(K-v.width/2-5)+", "+ik+")"),k)l.attr("transform",`translate(${-S/2-3}, ${W+10})`),L.attr("transform","translate("+(K-v.width/2-5)+", "+(ik+W*2+4)+")")}else l.attr("transform","translate(-19, "+(w-12-W/2)+")")})},"drawBranches"),IV4=X(function(u,B,E,A,C){return P8.set(u,{pos:B,index:E}),B+=50+(C?40:0)+(D1==="TB"||D1==="BT"?A.width/2:0),B},"setBranchPosition"),PV4=X(function(u,B,E,A){KV4(),z0.debug("in gitgraph renderer",u+`
`,"id:",B,E);let C=A.db;if(!C.getConfig){z0.error("getConfig method is not available on db");return}let D=C.getConfig(),F=D.rotateCommitLabel??!1;nR=C.getCommits();let U=C.getBranchesAsObjArray();D1=C.getDirection();let z=Qu(`[id="${B}"]`),{look:k,theme:f,themeVariables:M}=y0(),{useGradient:b,gradientStart:Z,gradientStop:J,filterColor:K}=M;if(b){let Q=z.append("defs").append("linearGradient").attr("id",B+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");Q.append("stop").attr("offset","0%").attr("stop-color",Z).attr("stop-opacity",1),Q.append("stop").attr("offset","100%").attr("stop-color",J).attr("stop-opacity",1)}if(k==="neo"&&dg.has(f??""))z.append("defs").append("filter").attr("id",B+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",K);let w=0;if(U.forEach((Q,G)=>{let H=e6u(Q.name),l=z.append("g"),q=l.insert("g").attr("class","branchLabel"),L=q.insert("g").attr("class","label branch-label");L.node()?.appendChild(H);let v=H.getBBox();w=IV4(Q.name,w,G,v,F),L.remove(),q.remove(),l.remove()}),n6u(z,nR,!1,D),D.showBranches)OV4(z,U,D,B);TV4(z,nR),n6u(z,nR,!0,D),R4.insertTitle(z,"gitTitleText",D.titleTopMargin??0,C.getDiagramTitle()),Rx(void 0,z,D.diagramPadding,D.useMaxWidth)},"draw"),jV4={draw:PV4},E9u=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),NV4=new Set(["redux-color","redux-dark-color"]),VV4=new Set(["neo","neo-dark"]),hV4=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),iV4=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),aV4=X((u)=>{let{svgId:B}=u,E="";if(u.useGradient&&B)for(let A=0;A<u.THEME_COLOR_LIMIT;A++)E+=`
.label${A} { fill: ${u.mainBkg}; stroke: url(${B}-gradient); stroke-width: ${u.strokeWidth};}
`;return E},"genGitGraphGradient"),mV4=X((u)=>{let B=F4(),{theme:E,themeVariables:A}=B,{borderColorArray:C}=A,D=E9u.has(E);if(VV4.has(E)){let F="";for(let U=0;U<u.THEME_COLOR_LIMIT;U++)if(U===0)F+=`
.branch-label${U} { fill: ${u.nodeBorder};}
.commit${U} { stroke: ${u.nodeBorder}; }
.commit-highlight${U} { stroke: ${u.nodeBorder}; fill: ${u.nodeBorder}; }
.arrow${U} { stroke: ${u.nodeBorder}; }
.commit-bullets { fill: ${u.nodeBorder}; }
.commit-cherry-pick${U} { stroke: ${u.nodeBorder}; }
${aV4(u)}`;else{let z=U%B9u;F+=`
.branch-label${U} { fill: ${u["gitBranchLabel"+z]}; }
.commit${U} { stroke: ${u["git"+z]}; fill: ${u["git"+z]}; }
.commit-highlight${U} { stroke: ${u["gitInv"+z]}; fill: ${u["gitInv"+z]}; }
.arrow${U} { stroke: ${u["git"+z]}; }
`}return F}else if(!NV4.has(E)){let F="";for(let U=0;U<u.THEME_COLOR_LIMIT;U++)F+=`
.branch-label${U} { fill: ${u.nodeBorder}; ${D?`font-weight:${u.noteFontWeight}`:""} }
.commit${U} { stroke: ${u.nodeBorder}; }
.commit-highlight${U} { stroke: ${u.nodeBorder}; fill: ${u.nodeBorder}; }
.label${U} { fill: ${u.mainBkg}; stroke: ${u.nodeBorder}; stroke-width: ${u.strokeWidth}; ${D?`font-weight:${u.noteFontWeight}`:""}}
.arrow${U} { stroke: ${u.nodeBorder}; }
.commit-bullets { fill: ${u.nodeBorder}; }
.commit-cherry-pick${U} { stroke: ${u.nodeBorder}; }
`;return F}else{let F="";for(let U=0;U<u.THEME_COLOR_LIMIT;U++)if(U===0)F+=`
.branch-label${U} { fill: ${u.nodeBorder}; ${D?`font-weight:${u.noteFontWeight}`:""} }
.commit${U} { stroke: ${u.nodeBorder}; }
.commit-highlight${U} { stroke: ${u.nodeBorder}; fill: ${u.mainBkg}; }
.label${U} { fill: ${u.mainBkg}; stroke: ${u.nodeBorder}; stroke-width: ${u.strokeWidth}; ${D?`font-weight:${u.noteFontWeight}`:""} }
.arrow${U} { stroke: ${u.nodeBorder}; }
.commit-bullets { fill: ${u.nodeBorder}; }
`;else{let z=U%C.length;F+=`
.branch-label${U} { fill: ${u.nodeBorder}; ${D?`font-weight:${u.noteFontWeight}`:""} }
.commit${U} { stroke: ${C[z]}; fill: ${C[z]}; }
.commit-highlight${U} { stroke: ${C[z]}; fill: ${C[z]}; }
.label${U} { fill: ${hV4.has(E)?u.mainBkg:C[z]}; stroke: ${C[z]}; stroke-width: ${u.strokeWidth}; }
.arrow${U} { stroke: ${C[z]}; }
`}return F}},"genColor"),$V4=X((u)=>{return`${Array.from({length:u.THEME_COLOR_LIMIT},(B,E)=>E).map((B)=>{let E=B%B9u;return`
.branch-label${B} { fill: ${u["gitBranchLabel"+E]}; }
.commit${B} { stroke: ${u["git"+E]}; fill: ${u["git"+E]}; }
.commit-highlight${B} { stroke: ${u["gitInv"+E]}; fill: ${u["gitInv"+E]}; }
.label${B} { fill: ${u["git"+E]}; }
.arrow${B} { stroke: ${u["git"+E]}; }
`}).join(`
`)}`},"normalTheme"),yV4=X((u)=>{let B=F4(),{theme:E}=B,A=iV4.has(E);return`
.commit-id,
.commit-msg,
.branch-label {
fill: lightgrey;
color: lightgrey;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
${A?mV4(u):$V4(u)}
.branch {
stroke-width: ${u.strokeWidth};
stroke: ${u.commitLineColor??u.lineColor};
stroke-dasharray: ${A?"4 2":"2"};
}
.commit-label { font-size: ${u.commitLabelFontSize}; fill: ${A?u.nodeBorder:u.commitLabelColor}; ${A?`font-weight:${u.noteFontWeight};`:""}}
.commit-label-bkg { font-size: ${u.commitLabelFontSize}; fill: ${A?"transparent":u.commitLabelBackground}; opacity: ${A?"":0.5}; }
.tag-label { font-size: ${u.tagLabelFontSize}; fill: ${u.tagLabelColor};}
.tag-label-bkg { fill: ${A?u.mainBkg:u.tagLabelBackground}; stroke: ${A?u.nodeBorder:u.tagLabelBorder}; ${A?`filter:${u.dropShadow}`:""} }
.tag-hole { fill: ${u.textColor}; }
.commit-merge {
stroke: ${A?u.mainBkg:u.primaryColor};
fill: ${A?u.mainBkg:u.primaryColor};
}
.commit-reverse {
stroke: ${A?u.mainBkg:u.primaryColor};
fill: ${A?u.mainBkg:u.primaryColor};
stroke-width: ${A?u.strokeWidth:3};
}
.commit-highlight-outer {
}
.commit-highlight-inner {
stroke: ${A?u.mainBkg:u.primaryColor};
fill: ${A?u.mainBkg:u.primaryColor};
}
.arrow {
/* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */
stroke-width: ${E9u.has(E)?u.strokeWidth:8};
stroke-linecap: round;
fill: none
}
.gitTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${u.textColor};
}
`},"getStyles"),rV4=yV4,gV4={parser:ZV4,db:t6u,renderer:jV4,styles:rV4}});var D9u=N1((WD0,SD0)=>{(function(u,B){typeof WD0=="object"&&typeof SD0<"u"?SD0.exports=B():typeof define=="function"&&define.amd?define(B):(u=typeof globalThis<"u"?globalThis:u||self).dayjs_plugin_isoWeek=B()})(WD0,function(){var u="day";return function(B,E,A){var C=function(U){return U.add(4-U.isoWeekday(),u)},D=E.prototype;D.isoWeekYear=function(){return C(this).year()},D.isoWeek=function(U){if(!this.$utils().u(U))return this.add(7*(U-this.isoWeek()),u);var z,k,f,M,b=C(this),Z=(z=this.isoWeekYear(),k=this.$u,f=(k?A.utc:A)().year(z).startOf("year"),M=4-f.isoWeekday(),f.isoWeekday()>4&&(M+=7),f.add(M,u));return b.diff(Z,"week")+1},D.isoWeekday=function(U){return this.$utils().u(U)?this.day()||7:this.day(this.day()%7?U:U-7)};var F=D.startOf;D.startOf=function(U,z){var k=this.$utils(),f=!!k.u(z)||z;return k.p(U)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(U,z)}}})});var F9u=N1((YD0,RD0)=>{(function(u,B){typeof YD0=="object"&&typeof RD0<"u"?RD0.exports=B():typeof define=="function"&&define.amd?define(B):(u=typeof globalThis<"u"?globalThis:u||self).dayjs_plugin_customParseFormat=B()})(YD0,function(){var u={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},B=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,E=/\d/,A=/\d\d/,C=/\d\d?/,D=/\d*[^-_:/,()\s\d]+/,F={},U=function(J){return(J=+J)+(J>68?1900:2000)},z=function(J){return function(K){this[J]=+K}},k=[/[+-]\d\d:?(\d\d)?|Z/,function(J){(this.zone||(this.zone={})).offset=function(K){if(!K)return 0;if(K==="Z")return 0;var w=K.match(/([+-]|\d\d)/g),Q=60*w[1]+(+w[2]||0);return Q===0?0:w[0]==="+"?-Q:Q}(J)}],f=function(J){var K=F[J];return K&&(K.indexOf?K:K.s.concat(K.f))},M=function(J,K){var w,Q=F.meridiem;if(Q){for(var G=1;G<=24;G+=1)if(J.indexOf(Q(G,0,K))>-1){w=G>12;break}}else w=J===(K?"pm":"PM");return w},b={A:[D,function(J){this.afternoon=M(J,!1)}],a:[D,function(J){this.afternoon=M(J,!0)}],Q:[E,function(J){this.month=3*(J-1)+1}],S:[E,function(J){this.milliseconds=100*+J}],SS:[A,function(J){this.milliseconds=10*+J}],SSS:[/\d{3}/,function(J){this.milliseconds=+J}],s:[C,z("seconds")],ss:[C,z("seconds")],m:[C,z("minutes")],mm:[C,z("minutes")],H:[C,z("hours")],h:[C,z("hours")],HH:[C,z("hours")],hh:[C,z("hours")],D:[C,z("day")],DD:[A,z("day")],Do:[D,function(J){var K=F.ordinal,w=J.match(/\d+/);if(this.day=w[0],K)for(var Q=1;Q<=31;Q+=1)K(Q).replace(/\[|\]/g,"")===J&&(this.day=Q)}],w:[C,z("week")],ww:[A,z("week")],M:[C,z("month")],MM:[A,z("month")],MMM:[D,function(J){var K=f("months"),w=(f("monthsShort")||K.map(function(Q){return Q.slice(0,3)})).indexOf(J)+1;if(w<1)throw Error();this.month=w%12||w}],MMMM:[D,function(J){var K=f("months").indexOf(J)+1;if(K<1)throw Error();this.month=K%12||K}],Y:[/[+-]?\d+/,z("year")],YY:[A,function(J){this.year=U(J)}],YYYY:[/\d{4}/,z("year")],Z:k,ZZ:k};function Z(J){var K,w;K=J,w=F&&F.formats;for(var Q=(J=K.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(x,S,W){var T=W&&W.toUpperCase();return S||w[W]||u[W]||w[T].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(R,Y,h){return Y||h.slice(1)})})).match(B),G=Q.length,H=0;H<G;H+=1){var l=Q[H],q=b[l],L=q&&q[0],v=q&&q[1];Q[H]=v?{regex:L,parser:v}:l.replace(/^\[|\]$/g,"")}return function(x){for(var S={},W=0,T=0;W<G;W+=1){var R=Q[W];if(typeof R=="string")T+=R.length;else{var{regex:Y,parser:h}=R,I=x.slice(T),O=Y.exec(I)[0];h.call(S,O),x=x.replace(O,"")}}return function(V){var j=V.afternoon;if(j!==void 0){var i=V.hours;j?i<12&&(V.hours+=12):i===12&&(V.hours=0),delete V.afternoon}}(S),S}}return function(J,K,w){w.p.customParseFormat=!0,J&&J.parseTwoDigitYear&&(U=J.parseTwoDigitYear);var Q=K.prototype,G=Q.parse;Q.parse=function(H){var{date:l,utc:q,args:L}=H;this.$u=q;var v=L[1];if(typeof v=="string"){var x=L[2]===!0,S=L[3]===!0,W=x||S,T=L[2];S&&(T=L[2]),F=this.$locale(),!x&&T&&(F=w.Ls[T]),this.$d=function(I,O,V,j){try{if(["x","X"].indexOf(O)>-1)return new Date((O==="X"?1000:1)*I);var i=Z(O)(I),a=i.year,$=i.month,m=i.day,y=i.hours,r=i.minutes,_=i.seconds,e=i.milliseconds,p=i.zone,b0=i.week,B0=new Date,k0=m||(a||$?1:B0.getDate()),f0=a||B0.getFullYear(),D0=0;a&&!$||(D0=$>0?$-1:B0.getMonth());var P0,L0=y||0,m0=r||0,h0=_||0,_0=e||0;return p?new Date(Date.UTC(f0,D0,k0,L0,m0,h0,_0+60*p.offset*1000)):V?new Date(Date.UTC(f0,D0,k0,L0,m0,h0,_0)):(P0=new Date(f0,D0,k0,L0,m0,h0,_0),b0&&(P0=j(P0).week(b0).toDate()),P0)}catch(w0){return new Date("")}}(l,v,q,w),this.init(),T&&T!==!0&&(this.$L=this.locale(T).$L),W&&l!=this.format(v)&&(this.$d=new Date("")),F={}}else if(v instanceof Array)for(var R=v.length,Y=1;Y<=R;Y+=1){L[1]=v[Y-1];var h=w.apply(this,L);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}Y===R&&(this.$d=new Date(""))}else G.call(this,H)}}})});var U9u=N1((TD0,OD0)=>{(function(u,B){typeof TD0=="object"&&typeof OD0<"u"?OD0.exports=B():typeof define=="function"&&define.amd?define(B):(u=typeof globalThis<"u"?globalThis:u||self).dayjs_plugin_advancedFormat=B()})(TD0,function(){return function(u,B){var E=B.prototype,A=E.format;E.format=function(C){var D=this,F=this.$locale();if(!this.isValid())return A.bind(this)(C);var U=this.$utils(),z=(C||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(k){switch(k){case"Q":return Math.ceil((D.$M+1)/3);case"Do":return F.ordinal(D.$D);case"gggg":return D.weekYear();case"GGGG":return D.isoWeekYear();case"wo":return F.ordinal(D.week(),"W");case"w":case"ww":return U.s(D.week(),k==="w"?1:2,"0");case"W":case"WW":return U.s(D.isoWeek(),k==="W"?1:2,"0");case"k":case"kk":return U.s(String(D.$H===0?24:D.$H),k==="k"?1:2,"0");case"X":return Math.floor(D.$d.getTime()/1000);case"x":return D.$d.getTime();case"z":return"["+D.offsetName()+"]";case"zzz":return"["+D.offsetName("long")+"]";default:return k}});return A.bind(this)(z)}}})});var z9u=N1((ID0,PD0)=>{(function(u,B){typeof ID0=="object"&&typeof PD0<"u"?PD0.exports=B():typeof define=="function"&&define.amd?define(B):(u=typeof globalThis<"u"?globalThis:u||self).dayjs_plugin_duration=B()})(ID0,function(){var u,B,E=1000,A=60000,C=3600000,D=86400000,F=31536000000,U=2628000000,z=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,k=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,f={years:F,months:U,days:D,hours:C,minutes:A,seconds:E,milliseconds:1,weeks:604800000},M=function(l){return l instanceof G},b=function(l,q,L){return new G(l,L,q.$l)},Z=function(l){return B.p(l)+"s"},J=function(l){return l<0},K=function(l){return J(l)?Math.ceil(l):Math.floor(l)},w=function(l){return Math.abs(l)},Q=function(l,q){return l?J(l)?{negative:!0,format:""+w(l)+q}:{negative:!1,format:""+l+q}:{negative:!1,format:""}},G=function(){function l(L,v,x){var S=this;if(this.$d={},this.$l=x,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),v)return b(L*f[Z(v)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach(function(R){S.$d[Z(R)]=L[R]}),this.calMilliseconds(),this;if(typeof L=="string"){var W=L.match(z);if(W){var T=W.slice(2).map(function(R){return R!=null?Number(R):0});return this.$d.years=T[0],this.$d.months=T[1],this.$d.weeks=T[2],this.$d.days=T[3],this.$d.hours=T[4],this.$d.minutes=T[5],this.$d.seconds=T[6],this.calMilliseconds(),this}}return this}var q=l.prototype;return q.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce(function(v,x){return v+(L.$d[x]||0)*f[x]},0)},q.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=K(L/F),L%=F,this.$d.months=K(L/U),L%=U,this.$d.days=K(L/D),L%=D,this.$d.hours=K(L/C),L%=C,this.$d.minutes=K(L/A),L%=A,this.$d.seconds=K(L/E),L%=E,this.$d.milliseconds=L},q.toISOString=function(){var L=Q(this.$d.years,"Y"),v=Q(this.$d.months,"M"),x=+this.$d.days||0;this.$d.weeks&&(x+=7*this.$d.weeks);var S=Q(x,"D"),W=Q(this.$d.hours,"H"),T=Q(this.$d.minutes,"M"),R=this.$d.seconds||0;this.$d.milliseconds&&(R+=this.$d.milliseconds/1000,R=Math.round(1000*R)/1000);var Y=Q(R,"S"),h=L.negative||v.negative||S.negative||W.negative||T.negative||Y.negative,I=W.format||T.format||Y.format?"T":"",O=(h?"-":"")+"P"+L.format+v.format+S.format+I+W.format+T.format+Y.format;return O==="P"||O==="-P"?"P0D":O},q.toJSON=function(){return this.toISOString()},q.format=function(L){var v=L||"YYYY-MM-DDTHH:mm:ss",x={Y:this.$d.years,YY:B.s(this.$d.years,2,"0"),YYYY:B.s(this.$d.years,4,"0"),M:this.$d.months,MM:B.s(this.$d.months,2,"0"),D:this.$d.days,DD:B.s(this.$d.days,2,"0"),H:this.$d.hours,HH:B.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:B.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:B.s(this.$d.seconds,2,"0"),SSS:B.s(this.$d.milliseconds,3,"0")};return v.replace(k,function(S,W){return W||String(x[S])})},q.as=function(L){return this.$ms/f[Z(L)]},q.get=function(L){var v=this.$ms,x=Z(L);return x==="milliseconds"?v%=1000:v=x==="weeks"?K(v/f[x]):this.$d[x],v||0},q.add=function(L,v,x){var S;return S=v?L*f[Z(v)]:M(L)?L.$ms:b(L,this).$ms,b(this.$ms+S*(x?-1:1),this)},q.subtract=function(L,v){return this.add(L,v,!0)},q.locale=function(L){var v=this.clone();return v.$l=L,v},q.clone=function(){return b(this.$ms,this)},q.humanize=function(L){return u().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},q.valueOf=function(){return this.asMilliseconds()},q.milliseconds=function(){return this.get("milliseconds")},q.asMilliseconds=function(){return this.as("milliseconds")},q.seconds=function(){return this.get("seconds")},q.asSeconds=function(){return this.as("seconds")},q.minutes=function(){return this.get("minutes")},q.asMinutes=function(){return this.as("minutes")},q.hours=function(){return this.get("hours")},q.asHours=function(){return this.as("hours")},q.days=function(){return this.get("days")},q.asDays=function(){return this.as("days")},q.weeks=function(){return this.get("weeks")},q.asWeeks=function(){return this.as("weeks")},q.months=function(){return this.get("months")},q.asMonths=function(){return this.as("months")},q.years=function(){return this.get("years")},q.asYears=function(){return this.as("years")},l}(),H=function(l,q,L){return l.add(q.years()*L,"y").add(q.months()*L,"M").add(q.days()*L,"d").add(q.hours()*L,"h").add(q.minutes()*L,"m").add(q.seconds()*L,"s").add(q.milliseconds()*L,"ms")};return function(l,q,L){u=L,B=L().$utils(),L.duration=function(S,W){var T=L.locale();return b(S,{$l:T},W)},L.isDuration=M;var v=q.prototype.add,x=q.prototype.subtract;q.prototype.add=function(S,W){return M(S)?H(this,S,1):v.bind(this)(S,W)},q.prototype.subtract=function(S,W){return M(S)?H(this,S,-1):x.bind(this)(S,W)}}})});var W9u={};ju(W9u,{diagram:()=>Nh4});function nD0(u,B,E){let A=!0;while(A)A=!1,E.forEach(function(C){let D="^\\s*"+C+"\\s*$",F=new RegExp(D);if(u[0].match(F))B[C]=!0,u.shift(1),A=!0})}var b9u,YE,Z9u,J9u,K9u,FL,x9u,ND0,cV4,k9u,HU="",aD0="",mD0=void 0,$D0="",zL,kL,yD0,rD0,tg,fL="",gD0="",w9u,cD0,DL="",sR=!1,_D0=!1,pD0="sunday",eg="saturday",VD0=0,_V4,pV4,nV4,dV4,sV4,oV4,tV4,eV4,uh4,Bh4,Eh4,Ah4,Ch4,Dh4,Fh4,Uh4,Q9u,zh4,kh4,fh4,Mh4,bh4,Zh4,Jh4,Kh4,G9u,wh4,Qh4,Gh4,H9u,Hh4,hD0,q9u,l9u,sg=0,UL,qh4,lh4,iD0,og,C5,L9u,Lh4,ow,Xh4,f9u,vh4,X9u,xh4,v9u,Wh4,Sh4,Yh4,Rh4,M9u,Th4,ak,jD0=1e4,Oh4,Ih4,Ph4,jh4,Nh4;var S9u=g(()=>{e3();s4();o4();Y4();V3();b9u=Eu(VH(),1),YE=Eu(kj(),1),Z9u=Eu(D9u(),1),J9u=Eu(F9u(),1),K9u=Eu(U9u(),1),FL=Eu(kj(),1),x9u=Eu(z9u(),1),ND0=function(){var u=X(function(Y,h,I,O){for(I=I||{},O=Y.length;O--;I[Y[O]]=h);return I},"o"),B=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],E=[1,26],A=[1,27],C=[1,28],D=[1,29],F=[1,30],U=[1,31],z=[1,32],k=[1,33],f=[1,34],M=[1,9],b=[1,10],Z=[1,11],J=[1,12],K=[1,13],w=[1,14],Q=[1,15],G=[1,16],H=[1,19],l=[1,20],q=[1,21],L=[1,22],v=[1,23],x=[1,25],S=[1,35],W={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:X(function(h,I,O,V,j,i,a){var $=i.length-1;switch(j){case 1:return i[$-1];case 2:this.$=[];break;case 3:i[$-1].push(i[$]),this.$=i[$-1];break;case 4:case 5:this.$=i[$];break;case 6:case 7:this.$=[];break;case 8:V.setWeekday("monday");break;case 9:V.setWeekday("tuesday");break;case 10:V.setWeekday("wednesday");break;case 11:V.setWeekday("thursday");break;case 12:V.setWeekday("friday");break;case 13:V.setWeekday("saturday");break;case 14:V.setWeekday("sunday");break;case 15:V.setWeekend("friday");break;case 16:V.setWeekend("saturday");break;case 17:V.setDateFormat(i[$].substr(11)),this.$=i[$].substr(11);break;case 18:V.enableInclusiveEndDates(),this.$=i[$].substr(18);break;case 19:V.TopAxis(),this.$=i[$].substr(8);break;case 20:V.setAxisFormat(i[$].substr(11)),this.$=i[$].substr(11);break;case 21:V.setTickInterval(i[$].substr(13)),this.$=i[$].substr(13);break;case 22:V.setExcludes(i[$].substr(9)),this.$=i[$].substr(9);break;case 23:V.setIncludes(i[$].substr(9)),this.$=i[$].substr(9);break;case 24:V.setTodayMarker(i[$].substr(12)),this.$=i[$].substr(12);break;case 27:V.setDiagramTitle(i[$].substr(6)),this.$=i[$].substr(6);break;case 28:this.$=i[$].trim(),V.setAccTitle(this.$);break;case 29:case 30:this.$=i[$].trim(),V.setAccDescription(this.$);break;case 31:V.addSection(i[$].substr(8)),this.$=i[$].substr(8);break;case 33:V.addTask(i[$-1],i[$]),this.$="task";break;case 34:this.$=i[$-1],V.setClickEvent(i[$-1],i[$],null);break;case 35:this.$=i[$-2],V.setClickEvent(i[$-2],i[$-1],i[$]);break;case 36:this.$=i[$-2],V.setClickEvent(i[$-2],i[$-1],null),V.setLink(i[$-2],i[$]);break;case 37:this.$=i[$-3],V.setClickEvent(i[$-3],i[$-2],i[$-1]),V.setLink(i[$-3],i[$]);break;case 38:this.$=i[$-2],V.setClickEvent(i[$-2],i[$],null),V.setLink(i[$-2],i[$-1]);break;case 39:this.$=i[$-3],V.setClickEvent(i[$-3],i[$-1],i[$]),V.setLink(i[$-3],i[$-2]);break;case 40:this.$=i[$-1],V.setLink(i[$-1],i[$]);break;case 41:case 47:this.$=i[$-1]+" "+i[$];break;case 42:case 43:case 45:this.$=i[$-2]+" "+i[$-1]+" "+i[$];break;case 44:case 46:this.$=i[$-3]+" "+i[$-2]+" "+i[$-1]+" "+i[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},u(B,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:E,13:A,14:C,15:D,16:F,17:U,18:z,19:18,20:k,21:f,22:M,23:b,24:Z,25:J,26:K,27:w,28:Q,29:G,30:H,31:l,33:q,35:L,36:v,37:24,38:x,40:S},u(B,[2,7],{1:[2,1]}),u(B,[2,3]),{9:36,11:17,12:E,13:A,14:C,15:D,16:F,17:U,18:z,19:18,20:k,21:f,22:M,23:b,24:Z,25:J,26:K,27:w,28:Q,29:G,30:H,31:l,33:q,35:L,36:v,37:24,38:x,40:S},u(B,[2,5]),u(B,[2,6]),u(B,[2,17]),u(B,[2,18]),u(B,[2,19]),u(B,[2,20]),u(B,[2,21]),u(B,[2,22]),u(B,[2,23]),u(B,[2,24]),u(B,[2,25]),u(B,[2,26]),u(B,[2,27]),{32:[1,37]},{34:[1,38]},u(B,[2,30]),u(B,[2,31]),u(B,[2,32]),{39:[1,39]},u(B,[2,8]),u(B,[2,9]),u(B,[2,10]),u(B,[2,11]),u(B,[2,12]),u(B,[2,13]),u(B,[2,14]),u(B,[2,15]),u(B,[2,16]),{41:[1,40],43:[1,41]},u(B,[2,4]),u(B,[2,28]),u(B,[2,29]),u(B,[2,33]),u(B,[2,34],{42:[1,42],43:[1,43]}),u(B,[2,40],{41:[1,44]}),u(B,[2,35],{43:[1,45]}),u(B,[2,36]),u(B,[2,38],{42:[1,46]}),u(B,[2,37]),u(B,[2,39])],defaultActions:{},parseError:X(function(h,I){if(I.recoverable)this.trace(h);else{var O=Error(h);throw O.hash=I,O}},"parseError"),parse:X(function(h){var I=this,O=[0],V=[],j=[null],i=[],a=this.table,$="",m=0,y=0,r=0,_=2,e=1,p=i.slice.call(arguments,1),b0=Object.create(this.lexer),B0={yy:{}};for(var k0 in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,k0))B0.yy[k0]=this.yy[k0];if(b0.setInput(h,B0.yy),B0.yy.lexer=b0,B0.yy.parser=this,typeof b0.yylloc>"u")b0.yylloc={};var f0=b0.yylloc;i.push(f0);var D0=b0.options&&b0.options.ranges;if(typeof B0.yy.parseError==="function")this.parseError=B0.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function P0(Y0){O.length=O.length-2*Y0,j.length=j.length-Y0,i.length=i.length-Y0}X(P0,"popStack");function L0(){var Y0=V.pop()||b0.lex()||e;if(typeof Y0!=="number"){if(Y0 instanceof Array)V=Y0,Y0=V.pop();Y0=I.symbols_[Y0]||Y0}return Y0}X(L0,"lex");var m0,h0,_0,w0,x0,T0,J0={},F0,u0,Z0,X0;while(!0){if(_0=O[O.length-1],this.defaultActions[_0])w0=this.defaultActions[_0];else{if(m0===null||typeof m0>"u")m0=L0();w0=a[_0]&&a[_0][m0]}if(typeof w0>"u"||!w0.length||!w0[0]){var W0="";X0=[];for(F0 in a[_0])if(this.terminals_[F0]&&F0>_)X0.push("'"+this.terminals_[F0]+"'");if(b0.showPosition)W0="Parse error on line "+(m+1)+`:
`+b0.showPosition()+`
Expecting `+X0.join(", ")+", got '"+(this.terminals_[m0]||m0)+"'";else W0="Parse error on line "+(m+1)+": Unexpected "+(m0==e?"end of input":"'"+(this.terminals_[m0]||m0)+"'");this.parseError(W0,{text:b0.match,token:this.terminals_[m0]||m0,line:b0.yylineno,loc:f0,expected:X0})}if(w0[0]instanceof Array&&w0.length>1)throw Error("Parse Error: multiple actions possible at state: "+_0+", token: "+m0);switch(w0[0]){case 1:if(O.push(m0),j.push(b0.yytext),i.push(b0.yylloc),O.push(w0[1]),m0=null,!h0){if(y=b0.yyleng,$=b0.yytext,m=b0.yylineno,f0=b0.yylloc,r>0)r--}else m0=h0,h0=null;break;case 2:if(u0=this.productions_[w0[1]][1],J0.$=j[j.length-u0],J0._$={first_line:i[i.length-(u0||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(u0||1)].first_column,last_column:i[i.length-1].last_column},D0)J0._$.range=[i[i.length-(u0||1)].range[0],i[i.length-1].range[1]];if(T0=this.performAction.apply(J0,[$,y,m,B0.yy,w0[1],j,i].concat(p)),typeof T0<"u")return T0;if(u0)O=O.slice(0,-1*u0*2),j=j.slice(0,-1*u0),i=i.slice(0,-1*u0);O.push(this.productions_[w0[1]][0]),j.push(J0.$),i.push(J0._$),Z0=a[O[O.length-2]][O[O.length-1]],O.push(Z0);break;case 3:return!0}}return!0},"parse")},T=function(){var Y={EOF:1,parseError:X(function(I,O){if(this.yy.parser)this.yy.parser.parseError(I,O);else throw Error(I)},"parseError"),setInput:X(function(h,I){if(this.yy=I||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var I=h.match(/(?:\r\n?|\n).*/g);if(I)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),h},"input"),unput:X(function(h){var I=h.length,O=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var V=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1)this.yylineno-=O.length-1;var j=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===V.length?this.yylloc.first_column:0)+V[V.length-O.length].length-O[0].length:this.yylloc.first_column-I},this.options.ranges)this.yylloc.range=[j[0],j[0]+this.yyleng-I];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(h){this.unput(this.match.slice(h))},"less"),pastInput:X(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var h=this.match;if(h.length<20)h+=this._input.substr(0,20-h.length);return(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var h=this.pastInput(),I=Array(h.length+1).join("-");return h+this.upcomingInput()+`
`+I+"^"},"showPosition"),test_match:X(function(h,I){var O,V,j;if(this.options.backtrack_lexer){if(j={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)j.yylloc.range=this.yylloc.range.slice(0)}if(V=h[0].match(/(?:\r\n?|\n).*/g),V)this.yylineno+=V.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:V?V[V.length-1].length-V[V.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+h[0].length},this.yytext+=h[0],this.match+=h[0],this.matches=h,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(h[0].length),this.matched+=h[0],O=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(O)return O;else if(this._backtrack){for(var i in j)this[i]=j[i];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var h,I,O,V;if(!this._more)this.yytext="",this.match="";var j=this._currentRules();for(var i=0;i<j.length;i++)if(O=this._input.match(this.rules[j[i]]),O&&(!I||O[0].length>I[0].length)){if(I=O,V=i,this.options.backtrack_lexer)if(h=this.test_match(O,j[i]),h!==!1)return h;else if(this._backtrack){I=!1;continue}else return!1;else if(!this.options.flex)break}if(I){if(h=this.test_match(I,j[V]),h!==!1)return h;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var I=this.next();if(I)return I;else return this.lex()},"lex"),begin:X(function(I){this.conditionStack.push(I)},"begin"),popState:X(function(){var I=this.conditionStack.length-1;if(I>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(I){if(I=this.conditionStack.length-1-Math.abs(I||0),I>=0)return this.conditionStack[I];else return"INITIAL"},"topState"),pushState:X(function(I){this.begin(I)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(I,O,V,j){var i=j;switch(V){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return Y}();W.lexer=T;function R(){this.yy={}}return X(R,"Parser"),R.prototype=W,W.Parser=R,new R}();ND0.parser=ND0;cV4=ND0;YE.default.extend(Z9u.default);YE.default.extend(J9u.default);YE.default.extend(K9u.default);k9u={friday:5,saturday:6},zL=[],kL=[],yD0=new Map,rD0=[],tg=[],w9u=["active","done","crit","milestone","vert"],cD0=[],_V4=X(function(){rD0=[],tg=[],fL="",cD0=[],sg=0,iD0=void 0,og=void 0,C5=[],HU="",aD0="",gD0="",mD0=void 0,$D0="",zL=[],kL=[],sR=!1,_D0=!1,VD0=0,yD0=new Map,DL="",D3(),pD0="sunday",eg="saturday"},"clear"),pV4=X(function(u){DL=u},"setDiagramId"),nV4=X(function(u){aD0=u},"setAxisFormat"),dV4=X(function(){return aD0},"getAxisFormat"),sV4=X(function(u){mD0=u},"setTickInterval"),oV4=X(function(){return mD0},"getTickInterval"),tV4=X(function(u){$D0=u},"setTodayMarker"),eV4=X(function(){return $D0},"getTodayMarker"),uh4=X(function(u){HU=u},"setDateFormat"),Bh4=X(function(){sR=!0},"enableInclusiveEndDates"),Eh4=X(function(){return sR},"endDatesAreInclusive"),Ah4=X(function(){_D0=!0},"enableTopAxis"),Ch4=X(function(){return _D0},"topAxisEnabled"),Dh4=X(function(u){gD0=u},"setDisplayMode"),Fh4=X(function(){return gD0},"getDisplayMode"),Uh4=X(function(){return HU},"getDateFormat"),Q9u=X((u,B)=>{let E=B.toLowerCase().split(/[\s,]+/).filter((A)=>A!=="");return[...new Set([...u,...E])]},"mergeTokens"),zh4=X(function(u){zL=Q9u(zL,u)},"setIncludes"),kh4=X(function(){return zL},"getIncludes"),fh4=X(function(u){kL=Q9u(kL,u)},"setExcludes"),Mh4=X(function(){return kL},"getExcludes"),bh4=X(function(){return yD0},"getLinks"),Zh4=X(function(u){fL=u,rD0.push(u)},"addSection"),Jh4=X(function(){return rD0},"getSections"),Kh4=X(function(){let u=f9u(),B=10,E=0;while(!u&&E<B)u=f9u(),E++;return tg=C5,tg},"getTasks"),G9u=X(function(u,B,E,A){let C=u.format(B.trim()),D=u.format("YYYY-MM-DD");if(A.includes(C)||A.includes(D))return!1;if(E.includes("weekends")&&(u.isoWeekday()===k9u[eg]||u.isoWeekday()===k9u[eg]+1))return!0;if(E.includes(u.format("dddd").toLowerCase()))return!0;return E.includes(C)||E.includes(D)},"isInvalidDate"),wh4=X(function(u){pD0=u},"setWeekday"),Qh4=X(function(){return pD0},"getWeekday"),Gh4=X(function(u){eg=u},"setWeekend"),H9u=X(function(u,B,E,A){if(!E.length||u.manualEndTime)return;let C;if(u.startTime instanceof Date)C=YE.default(u.startTime);else C=YE.default(u.startTime,B,!0);C=C.add(1,"d");let D;if(u.endTime instanceof Date)D=YE.default(u.endTime);else D=YE.default(u.endTime,B,!0);let[F,U]=Hh4(C,D,B,E,A);u.endTime=F.toDate(),u.renderEndTime=U},"checkTaskDates"),Hh4=X(function(u,B,E,A,C){let D=!1,F=null,U=B.add(1e4,"d");while(u<=B){if(!D)F=B.toDate();if(D=G9u(u,E,A,C),D){if(B=B.add(1,"d"),B>U)throw Error("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.")}u=u.add(1,"d")}return[B,F]},"fixTaskDates"),hD0=X(function(u,B,E){if(E=E.trim(),X((U)=>{let z=U.trim();return z==="x"||z==="X"},"isTimestampFormat")(B)&&/^\d+$/.test(E))return new Date(Number(E));let D=/^after\s+(?<ids>[\d\w- ]+)/.exec(E);if(D!==null){let U=null;for(let k of D.groups.ids.split(" ")){let f=ow(k);if(f!==void 0&&(!U||f.endTime>U.endTime))U=f}if(U)return U.endTime;let z=new Date;return z.setHours(0,0,0,0),z}let F=YE.default(E,B.trim(),!0);if(F.isValid())return F.toDate();else{z0.debug("Invalid date:"+E),z0.debug("With date format:"+B.trim());let U=new Date(E);if(U===void 0||isNaN(U.getTime())||U.getFullYear()<-1e4||U.getFullYear()>1e4)throw Error("Invalid date:"+E);return U}},"getStartDate"),q9u=X(function(u){let B=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(u.trim());if(B!==null)return[Number.parseFloat(B[1]),B[2]];return[NaN,"ms"]},"parseDuration"),l9u=X(function(u,B,E,A=!1){E=E.trim();let D=/^until\s+(?<ids>[\d\w- ]+)/.exec(E);if(D!==null){let f=null;for(let b of D.groups.ids.split(" ")){let Z=ow(b);if(Z!==void 0&&(!f||Z.startTime<f.startTime))f=Z}if(f)return f.startTime;let M=new Date;return M.setHours(0,0,0,0),M}let F=YE.default(E,B.trim(),!0);if(F.isValid()){if(A)F=F.add(1,"d");return F.toDate()}let U=YE.default(u),[z,k]=q9u(E);if(!Number.isNaN(z)){let f=U.add(z,k);if(f.isValid())U=f}return U.toDate()},"getEndDate"),UL=X(function(u){if(u===void 0)return sg=sg+1,"task"+sg;return u},"parseId"),qh4=X(function(u,B){let E;if(B.substr(0,1)===":")E=B.substr(1,B.length);else E=B;let A=E.split(","),C={};nD0(A,C,w9u);for(let F=0;F<A.length;F++)A[F]=A[F].trim();let D="";switch(A.length){case 1:C.id=UL(),C.startTime=u.endTime,D=A[0];break;case 2:C.id=UL(),C.startTime=hD0(void 0,HU,A[0]),D=A[1];break;case 3:C.id=UL(A[0]),C.startTime=hD0(void 0,HU,A[1]),D=A[2];break;default:}if(D)C.endTime=l9u(C.startTime,HU,D,sR),C.manualEndTime=YE.default(D,"YYYY-MM-DD",!0).isValid(),H9u(C,HU,kL,zL);return C},"compileData"),lh4=X(function(u,B){let E;if(B.substr(0,1)===":")E=B.substr(1,B.length);else E=B;let A=E.split(","),C={};nD0(A,C,w9u);for(let D=0;D<A.length;D++)A[D]=A[D].trim();switch(A.length){case 1:C.id=UL(),C.startTime={type:"prevTaskEnd",id:u},C.endTime={data:A[0]};break;case 2:C.id=UL(),C.startTime={type:"getStartDate",startData:A[0]},C.endTime={data:A[1]};break;case 3:C.id=UL(A[0]),C.startTime={type:"getStartDate",startData:A[1]},C.endTime={data:A[2]};break;default:}return C},"parseData"),C5=[],L9u={},Lh4=X(function(u,B){let E={section:fL,type:fL,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:B},task:u,classes:[]},A=lh4(og,B);if(E.raw.startTime=A.startTime,E.raw.endTime=A.endTime,E.id=A.id,E.prevTaskId=og,E.active=A.active,E.done=A.done,E.crit=A.crit,E.milestone=A.milestone,E.vert=A.vert,E.vert)E.order=-1;else E.order=VD0,VD0++;let C=C5.push(E);og=E.id,L9u[E.id]=C-1},"addTask"),ow=X(function(u){let B=L9u[u];return C5[B]},"findTaskById"),Xh4=X(function(u,B){let E={section:fL,type:fL,description:u,task:u,classes:[]},A=qh4(iD0,B);E.startTime=A.startTime,E.endTime=A.endTime,E.id=A.id,E.active=A.active,E.done=A.done,E.crit=A.crit,E.milestone=A.milestone,E.vert=A.vert,iD0=E,tg.push(E)},"addTaskOrg"),f9u=X(function(){let u=X(function(E){let A=C5[E],C="";switch(C5[E].raw.startTime.type){case"prevTaskEnd":{let D=ow(A.prevTaskId);A.startTime=D.endTime;break}case"getStartDate":if(C=hD0(void 0,HU,C5[E].raw.startTime.startData),C)C5[E].startTime=C;break}if(C5[E].startTime){if(C5[E].endTime=l9u(C5[E].startTime,HU,C5[E].raw.endTime.data,sR),C5[E].endTime)C5[E].processed=!0,C5[E].manualEndTime=YE.default(C5[E].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),H9u(C5[E],HU,kL,zL)}return C5[E].processed},"compileTask"),B=!0;for(let[E,A]of C5.entries())u(E),B=B&&A.processed;return B},"compileTasks"),vh4=X(function(u,B){let E=B;if(y0().securityLevel!=="loose")E=b9u.sanitizeUrl(B);u.split(",").forEach(function(A){if(ow(A)!==void 0)v9u(A,()=>{window.open(E,"_self")}),yD0.set(A,E)}),X9u(u,"clickable")},"setLink"),X9u=X(function(u,B){u.split(",").forEach(function(E){let A=ow(E);if(A!==void 0)A.classes.push(B)})},"setClass"),xh4=X(function(u,B,E){if(y0().securityLevel!=="loose")return;if(B===void 0)return;let A=[];if(typeof E==="string"){A=E.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let D=0;D<A.length;D++){let F=A[D].trim();if(F.startsWith('"')&&F.endsWith('"'))F=F.substr(1,F.length-2);A[D]=F}}if(A.length===0)A.push(u);if(ow(u)!==void 0)v9u(u,()=>{R4.runFunc(B,...A)})},"setClickFun"),v9u=X(function(u,B){cD0.push(function(){let E=DL?`${DL}-${u}`:u,A=document.querySelector(`[id="${E}"]`);if(A!==null)A.addEventListener("click",function(){B()})},function(){let E=DL?`${DL}-${u}`:u,A=document.querySelector(`[id="${E}-text"]`);if(A!==null)A.addEventListener("click",function(){B()})})},"pushFun"),Wh4=X(function(u,B,E){u.split(",").forEach(function(A){xh4(A,B,E)}),X9u(u,"clickable")},"setClickEvent"),Sh4=X(function(u){cD0.forEach(function(B){B(u)})},"bindFunctions"),Yh4={getConfig:X(()=>y0().gantt,"getConfig"),clear:_V4,setDateFormat:uh4,getDateFormat:Uh4,enableInclusiveEndDates:Bh4,endDatesAreInclusive:Eh4,enableTopAxis:Ah4,topAxisEnabled:Ch4,setAxisFormat:nV4,getAxisFormat:dV4,setTickInterval:sV4,getTickInterval:oV4,setTodayMarker:tV4,getTodayMarker:eV4,setAccTitle:w3,getAccTitle:q3,setDiagramTitle:T3,getDiagramTitle:X3,setDiagramId:pV4,setDisplayMode:Dh4,getDisplayMode:Fh4,setAccDescription:l3,getAccDescription:L3,addSection:Zh4,getSections:Jh4,getTasks:Kh4,addTask:Lh4,findTaskById:ow,addTaskOrg:Xh4,setIncludes:zh4,getIncludes:kh4,setExcludes:fh4,getExcludes:Mh4,setClickEvent:Wh4,setLink:vh4,getLinks:bh4,bindFunctions:Sh4,parseDuration:q9u,isInvalidDate:G9u,setWeekday:wh4,getWeekday:Qh4,setWeekend:Gh4};X(nD0,"getTaskTags");FL.default.extend(x9u.default);Rh4=X(function(){z0.debug("Something is calling, setConf, remove the call")},"setConf"),M9u={monday:ef,tuesday:oN,wednesday:tN,thursday:WF,friday:eN,saturday:uV,sunday:qC},Th4=X((u,B)=>{let E=[...u].map(()=>-1/0),A=[...u].sort((D,F)=>D.startTime-F.startTime||D.order-F.order),C=0;for(let D of A)for(let F=0;F<E.length;F++)if(D.startTime>=E[F]){if(E[F]=D.endTime,D.order=F+B,F>C)C=F;break}return C},"getMaxIntersections"),Oh4=X(function(u,B,E,A){let C=y0().gantt;A.db.setDiagramId(B);let D=y0().securityLevel,F;if(D==="sandbox")F=Qu("#i"+B);let U=D==="sandbox"?Qu(F.nodes()[0].contentDocument.body):Qu("body"),z=D==="sandbox"?F.nodes()[0].contentDocument:document,k=z.getElementById(B);if(ak=k.parentElement.offsetWidth,ak===void 0)ak=1200;if(C.useWidth!==void 0)ak=C.useWidth;let f=A.db.getTasks(),M=f.filter((W)=>!W.vert),b=[];for(let W of M)b.push(W.type);b=S(b);let Z={},J=2*C.topPadding;if(A.db.getDisplayMode()==="compact"||C.displayMode==="compact"){let W={};for(let R of M)if(W[R.section]===void 0)W[R.section]=[R];else W[R.section].push(R);let T=0;for(let R of Object.keys(W)){let Y=Th4(W[R],T)+1;T+=Y,J+=Y*(C.barHeight+C.barGap),Z[R]=Y}}else{J+=M.length*(C.barHeight+C.barGap);for(let W of b)Z[W]=M.filter((T)=>T.type===W).length}k.setAttribute("viewBox","0 0 "+ak+" "+J);let K=U.select(`[id="${B}"]`),w=AV().domain([zN(f,function(W){return W.startTime}),UN(f,function(W){return W.endTime})]).rangeRound([0,ak-C.leftPadding-C.rightPadding]);function Q(W,T){let R=W.startTime,Y=T.startTime,h=0;if(R>Y)h=1;else if(R<Y)h=-1;return h}X(Q,"taskCompare"),f.sort(Q),G(f,ak,J),g3(K,J,ak,C.useMaxWidth),K.append("text").text(A.db.getDiagramTitle()).attr("x",ak/2).attr("y",C.titleTopMargin).attr("class","titleText");function G(W,T,R){let Y=C.barHeight,h=Y+C.barGap,I=C.topPadding,O=C.leftPadding,V=HC().domain([0,b.length]).range(["#00B9FA","#F95002"]).interpolate(m00);l(h,I,O,T,R,W,A.db.getExcludes(),A.db.getIncludes()),L(O,I,T,R),H(W,h,I,O,Y,V,T,R),v(h,I,O,Y,V),x(O,I,T,R)}X(G,"makeGantt");function H(W,T,R,Y,h,I,O){W.sort((y,r)=>y.vert===r.vert?0:y.vert?1:-1);let V=W.filter((y)=>!y.vert),i=[...new Set(V.map((y)=>y.order))].map((y)=>V.find((r)=>r.order===y));K.append("g").selectAll("rect").data(i).enter().append("rect").attr("x",0).attr("y",function(y,r){return r=y.order,r*T+R-2}).attr("width",function(){return O-C.rightPadding/2}).attr("height",T).attr("class",function(y){for(let[r,_]of b.entries())if(y.type===_)return"section section"+r%C.numberSectionStyles;return"section section0"}).enter();let a=K.append("g").selectAll("rect").data(W).enter(),$=A.db.getLinks();if(a.append("rect").attr("id",function(y){return B+"-"+y.id}).attr("rx",3).attr("ry",3).attr("x",function(y){if(y.milestone)return w(y.startTime)+Y+0.5*(w(y.endTime)-w(y.startTime))-0.5*h;return w(y.startTime)+Y}).attr("y",function(y,r){if(r=y.order,y.vert)return C.gridLineStartPadding;return r*T+R}).attr("width",function(y){if(y.milestone)return h;if(y.vert)return 0.08*h;return w(y.renderEndTime||y.endTime)-w(y.startTime)}).attr("height",function(y){if(y.vert)return V.length*(C.barHeight+C.barGap)+C.barHeight*2;return h}).attr("transform-origin",function(y,r){return r=y.order,(w(y.startTime)+Y+0.5*(w(y.endTime)-w(y.startTime))).toString()+"px "+(r*T+R+0.5*h).toString()+"px"}).attr("class",function(y){let _="";if(y.classes.length>0)_=y.classes.join(" ");let e=0;for(let[b0,B0]of b.entries())if(y.type===B0)e=b0%C.numberSectionStyles;let p="";if(y.active)if(y.crit)p+=" activeCrit";else p=" active";else if(y.done)if(y.crit)p=" doneCrit";else p=" done";else if(y.crit)p+=" crit";if(p.length===0)p=" task";if(y.milestone)p=" milestone "+p;if(y.vert)p=" vert "+p;return p+=e,p+=" "+_,"task"+p}),a.append("text").attr("id",function(y){return B+"-"+y.id+"-text"}).text(function(y){return y.task}).attr("font-size",C.fontSize).attr("x",function(y){let r=w(y.startTime),_=w(y.renderEndTime||y.endTime);if(y.milestone)r+=0.5*(w(y.endTime)-w(y.startTime))-0.5*h,_=r+h;if(y.vert)return w(y.startTime)+Y;let e=this.getBBox().width;if(e>_-r)if(_+e+1.5*C.leftPadding>O)return r+Y-5;else return _+Y+5;else return(_-r)/2+r+Y}).attr("y",function(y,r){if(y.vert)return C.gridLineStartPadding+V.length*(C.barHeight+C.barGap)+60;return r=y.order,r*T+C.barHeight/2+(C.fontSize/2-2)+R}).attr("text-height",h).attr("class",function(y){let r=w(y.startTime),_=w(y.endTime);if(y.milestone)_=r+h;let e=this.getBBox().width,p="";if(y.classes.length>0)p=y.classes.join(" ");let b0=0;for(let[k0,f0]of b.entries())if(y.type===f0)b0=k0%C.numberSectionStyles;let B0="";if(y.active)if(y.crit)B0="activeCritText"+b0;else B0="activeText"+b0;if(y.done)if(y.crit)B0=B0+" doneCritText"+b0;else B0=B0+" doneText"+b0;else if(y.crit)B0=B0+" critText"+b0;if(y.milestone)B0+=" milestoneText";if(y.vert)B0+=" vertText";if(e>_-r)if(_+e+1.5*C.leftPadding>O)return p+" taskTextOutsideLeft taskTextOutside"+b0+" "+B0;else return p+" taskTextOutsideRight taskTextOutside"+b0+" "+B0+" width-"+e;else return p+" taskText taskText"+b0+" "+B0+" width-"+e}),y0().securityLevel==="sandbox"){let y;y=Qu("#i"+B);let r=y.nodes()[0].contentDocument;a.filter(function(_){return $.has(_.id)}).each(function(_){var e=r.querySelector("#"+CSS.escape(B+"-"+_.id)),p=r.querySelector("#"+CSS.escape(B+"-"+_.id+"-text"));let b0=e.parentNode;var B0=r.createElement("a");B0.setAttribute("xlink:href",$.get(_.id)),B0.setAttribute("target","_top"),b0.appendChild(B0),B0.appendChild(e),B0.appendChild(p)})}}X(H,"drawRects");function l(W,T,R,Y,h,I,O,V){if(O.length===0&&V.length===0)return;let j,i;for(let{startTime:_,endTime:e}of I){if(j===void 0||_<j)j=_;if(i===void 0||e>i)i=e}if(!j||!i)return;if(FL.default(i).diff(FL.default(j),"year")>5){z0.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let a=A.db.getDateFormat(),$=[],m=null,y=FL.default(j);while(y.valueOf()<=i){if(A.db.isInvalidDate(y,a,O,V))if(!m)m={start:y,end:y};else m.end=y;else if(m)$.push(m),m=null;y=y.add(1,"d")}K.append("g").selectAll("rect").data($).enter().append("rect").attr("id",(_)=>B+"-exclude-"+_.start.format("YYYY-MM-DD")).attr("x",(_)=>w(_.start.startOf("day"))+R).attr("y",C.gridLineStartPadding).attr("width",(_)=>w(_.end.endOf("day"))-w(_.start.startOf("day"))).attr("height",h-T-C.gridLineStartPadding).attr("transform-origin",function(_,e){return(w(_.start)+R+0.5*(w(_.end)-w(_.start))).toString()+"px "+(e*W+0.5*h).toString()+"px"}).attr("class","exclude-range")}X(l,"drawExcludeDays");function q(W,T,R,Y){if(R<=0||W>T)return 1/0;let h=T-W,I=FL.default.duration({[Y??"day"]:R}).asMilliseconds();if(I<=0)return 1/0;return Math.ceil(h/I)}X(q,"getEstimatedTickCount");function L(W,T,R,Y){let h=A.db.getDateFormat(),I=A.db.getAxisFormat(),O;if(I)O=I;else if(h==="D")O="%d";else O=C.axisFormat??"%Y-%m-%d";let V=Se(w).tickSize(-Y+T+C.gridLineStartPadding).tickFormat(sJ(O)),i=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(A.db.getTickInterval()||C.tickInterval);if(i!==null){let a=parseInt(i[1],10);if(isNaN(a)||a<=0)z0.warn(`Invalid tick interval value: "${i[1]}". Skipping custom tick interval.`);else{let $=i[2],m=A.db.getWeekday()||C.weekday,y=w.domain(),r=y[0],_=y[1],e=q(r,_,a,$);if(e>jD0)z0.warn(`The tick interval "${a}${$}" would generate ${e} ticks, which exceeds the maximum allowed (${jD0}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch($){case"millisecond":V.ticks(vF.every(a));break;case"second":V.ticks(UE.every(a));break;case"minute":V.ticks(hz.every(a));break;case"hour":V.ticks(iz.every(a));break;case"day":V.ticks(EA.every(a));break;case"week":V.ticks(M9u[m].every(a));break;case"month":V.ticks(az.every(a));break}}}if(K.append("g").attr("class","grid").attr("transform","translate("+W+", "+(Y-50)+")").call(V).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),A.db.topAxisEnabled()||C.topAxis){let a=We(w).tickSize(-Y+T+C.gridLineStartPadding).tickFormat(sJ(O));if(i!==null){let $=parseInt(i[1],10);if(isNaN($)||$<=0)z0.warn(`Invalid tick interval value: "${i[1]}". Skipping custom tick interval.`);else{let m=i[2],y=A.db.getWeekday()||C.weekday,r=w.domain(),_=r[0],e=r[1];if(q(_,e,$,m)<=jD0)switch(m){case"millisecond":a.ticks(vF.every($));break;case"second":a.ticks(UE.every($));break;case"minute":a.ticks(hz.every($));break;case"hour":a.ticks(iz.every($));break;case"day":a.ticks(EA.every($));break;case"week":a.ticks(M9u[y].every($));break;case"month":a.ticks(az.every($));break}}}K.append("g").attr("class","grid").attr("transform","translate("+W+", "+T+")").call(a).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}X(L,"makeGrid");function v(W,T){let R=0,Y=Object.keys(Z).map((h)=>[h,Z[h]]);K.append("g").selectAll("text").data(Y).enter().append(function(h){let I=h[0].split(ru.lineBreakRegex),O=-(I.length-1)/2,V=z.createElementNS("http://www.w3.org/2000/svg","text");V.setAttribute("dy",O+"em");for(let[j,i]of I.entries()){let a=z.createElementNS("http://www.w3.org/2000/svg","tspan");if(a.setAttribute("alignment-baseline","central"),a.setAttribute("x","10"),j>0)a.setAttribute("dy","1em");a.textContent=i,V.appendChild(a)}return V}).attr("x",10).attr("y",function(h,I){if(I>0)for(let O=0;O<I;O++)return R+=Y[I-1][1],h[1]*W/2+R*W+T;else return h[1]*W/2+T}).attr("font-size",C.sectionFontSize).attr("class",function(h){for(let[I,O]of b.entries())if(h[0]===O)return"sectionTitle sectionTitle"+I%C.numberSectionStyles;return"sectionTitle"})}X(v,"vertLabels");function x(W,T,R,Y){let h=A.db.getTodayMarker();if(h==="off")return;let I=K.append("g").attr("class","today"),O=new Date,V=I.append("line");if(V.attr("x1",w(O)+W).attr("x2",w(O)+W).attr("y1",C.titleTopMargin).attr("y2",Y-C.titleTopMargin).attr("class","today"),h!=="")V.attr("style",h.replace(/,/g,";"))}X(x,"drawToday");function S(W){let T={},R=[];for(let Y=0,h=W.length;Y<h;++Y)if(!Object.prototype.hasOwnProperty.call(T,W[Y]))T[W[Y]]=!0,R.push(W[Y]);return R}X(S,"checkUnique")},"draw"),Ih4={setConf:Rh4,draw:Oh4},Ph4=X((u)=>`
.mermaid-main-font {
font-family: ${u.fontFamily};
}
.exclude-range {
fill: ${u.excludeBkgColor};
}
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: ${u.sectionBkgColor};
}
.section2 {
fill: ${u.sectionBkgColor2};
}
.section1,
.section3 {
fill: ${u.altSectionBkgColor};
opacity: 0.2;
}
.sectionTitle0 {
fill: ${u.titleColor};
}
.sectionTitle1 {
fill: ${u.titleColor};
}
.sectionTitle2 {
fill: ${u.titleColor};
}
.sectionTitle3 {
fill: ${u.titleColor};
}
.sectionTitle {
text-anchor: start;
font-family: ${u.fontFamily};
}
/* Grid and axis */
.grid .tick {
stroke: ${u.gridColor};
opacity: 0.8;
shape-rendering: crispEdges;
}
.grid .tick text {
font-family: ${u.fontFamily};
fill: ${u.textColor};
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: ${u.todayLineColor};
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-family: ${u.fontFamily};
}
.taskTextOutsideRight {
fill: ${u.taskTextDarkColor};
text-anchor: start;
font-family: ${u.fontFamily};
}
.taskTextOutsideLeft {
fill: ${u.taskTextDarkColor};
text-anchor: end;
}
/* Special case clickable */
.task.clickable {
cursor: pointer;
}
.taskText.clickable {
cursor: pointer;
fill: ${u.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideLeft.clickable {
cursor: pointer;
fill: ${u.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideRight.clickable {
cursor: pointer;
fill: ${u.taskTextClickableColor} !important;
font-weight: bold;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: ${u.taskTextColor};
}
.task0,
.task1,
.task2,
.task3 {
fill: ${u.taskBkgColor};
stroke: ${u.taskBorderColor};
}
.taskTextOutside0,
.taskTextOutside2
{
fill: ${u.taskTextOutsideColor};
}
.taskTextOutside1,
.taskTextOutside3 {
fill: ${u.taskTextOutsideColor};
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: ${u.activeTaskBkgColor};
stroke: ${u.activeTaskBorderColor};
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: ${u.taskTextDarkColor} !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: ${u.doneTaskBorderColor};
fill: ${u.doneTaskBkgColor};
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: ${u.taskTextDarkColor} !important;
}
/* Done task text displayed outside the bar sits against the diagram background,
not against the done-task bar, so it must use the outside/contrast color. */
.doneText0.taskTextOutsideLeft,
.doneText0.taskTextOutsideRight,
.doneText1.taskTextOutsideLeft,
.doneText1.taskTextOutsideRight,
.doneText2.taskTextOutsideLeft,
.doneText2.taskTextOutsideRight,
.doneText3.taskTextOutsideLeft,
.doneText3.taskTextOutsideRight {
fill: ${u.taskTextOutsideColor} !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: ${u.critBorderColor};
fill: ${u.critBkgColor};
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: ${u.critBorderColor};
fill: ${u.activeTaskBkgColor};
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: ${u.critBorderColor};
fill: ${u.doneTaskBkgColor};
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.milestone {
transform: rotate(45deg) scale(0.8,0.8);
}
.milestoneText {
font-style: italic;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: ${u.taskTextDarkColor} !important;
}
/* Done-crit task text outside the bar — same reasoning as doneText above. */
.doneCritText0.taskTextOutsideLeft,
.doneCritText0.taskTextOutsideRight,
.doneCritText1.taskTextOutsideLeft,
.doneCritText1.taskTextOutsideRight,
.doneCritText2.taskTextOutsideLeft,
.doneCritText2.taskTextOutsideRight,
.doneCritText3.taskTextOutsideLeft,
.doneCritText3.taskTextOutsideRight {
fill: ${u.taskTextOutsideColor} !important;
}
.vert {
stroke: ${u.vertLineColor};
}
.vertText {
font-size: 15px;
text-anchor: middle;
fill: ${u.vertLineColor} !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: ${u.taskTextDarkColor} !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: ${u.titleColor||u.textColor};
font-family: ${u.fontFamily};
}
`,"getStyles"),jh4=Ph4,Nh4={parser:cV4,db:Yh4,renderer:Ih4,styles:jh4}});var Y9u={};ju(Y9u,{diagram:()=>yh4});var Vh4,hh4,ih4,ah4,mh4,$h4,yh4;var R9u=g(()=>{A2();s4();o4();Y4();w7();Vh4={parse:X(async(u)=>{let B=await v9("info",u);z0.debug(B)},"parse")},hh4={version:"11.16.1"},ih4=X(()=>hh4.version,"getVersion"),ah4={getVersion:ih4},mh4=X((u,B,E)=>{z0.debug(`rendering info diagram
`+u);let A=h1(B);g3(A,100,400,!0),A.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${E}`)},"draw"),$h4={draw:mh4},yh4={parser:Vh4,db:ah4,renderer:$h4}});var I9u={};ju(I9u,{diagram:()=>Ai4});var T9u,dD0,uc,sD0,rh4,gh4,ch4,_h4,ph4,nh4,dh4,O9u,sh4,oh4,th4,eh4,ui4,Bi4,Ei4,Ai4;var P9u=g(()=>{YB();A2();e3();s4();o4();Y4();w7();V3();T9u=t4.pie,dD0={sections:new Map,showData:!1,config:T9u},uc=dD0.sections,sD0=dD0.showData,rh4=structuredClone(T9u),gh4=X(()=>structuredClone(rh4),"getConfig"),ch4=X(()=>{uc=new Map,sD0=dD0.showData,D3()},"clear"),_h4=X(({label:u,value:B})=>{if(B<0)throw Error(`"${u}" has invalid value: ${B}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);if(!uc.has(u))uc.set(u,B),z0.debug(`added new section: ${u}, with value: ${B}`)},"addSection"),ph4=X(()=>uc,"getSections"),nh4=X((u)=>{sD0=u},"setShowData"),dh4=X(()=>sD0,"getShowData"),O9u={getConfig:gh4,clear:ch4,setDiagramTitle:T3,getDiagramTitle:X3,setAccTitle:w3,getAccTitle:q3,setAccDescription:l3,getAccDescription:L3,addSection:_h4,getSections:ph4,setShowData:nh4,getShowData:dh4},sh4=X((u,B)=>{U6(u,B),B.setShowData(u.showData),u.sections.map(B.addSection)},"populateDb"),oh4={parse:X(async(u)=>{let B=await v9("pie",u);z0.debug(B),sh4(B,O9u)},"parse")},th4=X((u)=>`
.pieCircle{
stroke: ${u.pieStrokeColor};
stroke-width : ${u.pieStrokeWidth};
opacity : ${u.pieOpacity};
}
.pieCircle.highlighted{
scale: 1.05;
opacity: 1;
}
.pieCircle.highlightedOnHover:hover{
transition-duration: 250ms;
scale: 1.05;
opacity: 1;
}
.pieOuterCircle{
stroke: ${u.pieOuterStrokeColor};
stroke-width: ${u.pieOuterStrokeWidth};
fill: none;
}
.pieTitleText {
text-anchor: middle;
font-size: ${u.pieTitleTextSize};
fill: ${u.pieTitleTextColor};
font-family: ${u.fontFamily};
}
.slice {
font-family: ${u.fontFamily};
fill: ${u.pieSectionTextColor};
font-size:${u.pieSectionTextSize};
// fill: white;
}
.legend text {
fill: ${u.pieLegendTextColor};
font-family: ${u.fontFamily};
font-size: ${u.pieLegendTextSize};
}
`,"getStyles"),eh4=th4,ui4=X((u)=>{let B=[...u.values()].reduce((C,D)=>C+D,0),E=[...u.entries()].map(([C,D])=>({label:C,value:D})).filter((C)=>C.value/B*100>=1);return zV().value((C)=>C.value).sort(null)(E)},"createPieArcs"),Bi4=X((u,B,E,A)=>{z0.debug(`rendering pie chart
`+u);let C=A.db,D=y0(),F=E1(C.getConfig(),D.pie),U=40,z=18,k=4,f=450,M=f,b=h1(B),Z=b.append("g");Z.attr("transform","translate("+M/2+","+f/2+")");let{themeVariables:J}=D,[K]=f8(J.pieOuterStrokeWidth);K??=2;let{legendPosition:w,textPosition:Q}=F,G=F.donutHole>0&&F.donutHole<=0.9?F.donutHole:0,H=Math.min(M,f)/2-U,l=XC().innerRadius(G*H).outerRadius(H),q=XC().innerRadius(H*Q).outerRadius(H*Q),L=Z.append("g");L.append("circle").attr("cx",0).attr("cy",0).attr("r",H+K/2).attr("class","pieOuterCircle");let v=C.getSections(),x=ui4(v),S=[J.pie1,J.pie2,J.pie3,J.pie4,J.pie5,J.pie6,J.pie7,J.pie8,J.pie9,J.pie10,J.pie11,J.pie12],W=0;v.forEach((p)=>{W+=p});let T=x.filter((p)=>(p.data.value/W*100).toFixed(0)!=="0"),R=FE(S).domain([...v.keys()]);L.selectAll("mySlices").data(T).enter().append("path").attr("d",l).attr("fill",(p)=>{return R(p.data.label)}).attr("class",(p)=>{let b0="pieCircle";if(F.highlightSlice==="hover")b0+=" highlightedOnHover";else if(F.highlightSlice===p.data.label)b0+=" highlighted";return b0}),L.selectAll("mySlices").data(T).enter().append("text").text((p)=>{return(p.data.value/W*100).toFixed(0)+"%"}).attr("transform",(p)=>{return"translate("+q.centroid(p)+")"}).style("text-anchor","middle").attr("class","slice");let Y=Z.append("text").text(C.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText"),h=[...v.entries()].map(([p,b0])=>({label:p,value:b0})),I=Z.selectAll(".legend").data(h).enter().append("g").attr("class","legend");I.append("rect").attr("width",z).attr("height",z).style("fill",(p)=>R(p.label)).style("stroke",(p)=>R(p.label)),I.append("text").attr("x",z+k).attr("y",z-k).text((p)=>{if(C.getShowData())return`${p.label} [${p.value}]`;return p.label});let O=Math.max(...I.selectAll("text").nodes().map((p)=>p?.getBoundingClientRect().width??0)),V=f,j=M+U,i=z+k,a=h.length*i;switch(w){case"center":I.attr("transform",(p,b0)=>{let B0=i*h.length/2,k0=-O/2-(z+k),f0=b0*i-B0;return"translate("+k0+","+f0+")"});break;case"top":V+=a,I.attr("transform",(p,b0)=>{let B0=H,k0=-O/2-(z+k),f0=b0*i-B0;return`translate(${k0}, ${f0})`}),L.attr("transform",()=>{return`translate(0, ${a+i})`});break;case"bottom":V+=a,I.attr("transform",(p,b0)=>{let B0=-H-i,k0=-O/2-(z+k),f0=b0*i-B0;return"translate("+k0+","+f0+")"});break;case"left":j+=z+k+O,I.attr("transform",(p,b0)=>{let B0=i*h.length/2,k0=-H-(z+k),f0=b0*i-B0;return"translate("+k0+","+f0+")"}),L.attr("transform",()=>{return`translate(${O+z+k}, 0)`});break;case"right":default:j+=z+k+O,I.attr("transform",(p,b0)=>{let B0=i*h.length/2,k0=12*z,f0=b0*i-B0;return"translate("+k0+","+f0+")"});break}let $=Y.node()?.getBoundingClientRect().width??0,m=M/2-$/2,y=M/2+$/2,r=Math.min(0,m),e=Math.max(j,y)-r;b.attr("viewBox",`${r} 0 ${e} ${V}`),g3(b,V,e,F.useMaxWidth)},"draw"),Ei4={draw:Bi4},Ai4={parser:oh4,db:O9u,renderer:Ei4,styles:eh4}});var d9u={};ju(d9u,{diagram:()=>fi4});function tD0(u){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(u)}function j9u(u){return!/^\d+$/.test(u)}function N9u(u){return!/^\d+px$/.test(u)}function qU(u){return C3(u.trim(),y0())}function V9u(u){Q7.setData({quadrant1Text:qU(u.text)})}function h9u(u){Q7.setData({quadrant2Text:qU(u.text)})}function i9u(u){Q7.setData({quadrant3Text:qU(u.text)})}function a9u(u){Q7.setData({quadrant4Text:qU(u.text)})}function m9u(u){Q7.setData({xAxisLeftText:qU(u.text)})}function $9u(u){Q7.setData({xAxisRightText:qU(u.text)})}function y9u(u){Q7.setData({yAxisTopText:qU(u.text)})}function r9u(u){Q7.setData({yAxisBottomText:qU(u.text)})}function Ec(u){let B={};for(let E of u){let[A,C]=E.trim().split(/\s*:\s*/);if(A==="radius"){if(j9u(C))throw new Bc(A,C,"number");B.radius=parseInt(C)}else if(A==="color"){if(tD0(C))throw new Bc(A,C,"hex code");B.color=C}else if(A==="stroke-color"){if(tD0(C))throw new Bc(A,C,"hex code");B.strokeColor=C}else if(A==="stroke-width"){if(N9u(C))throw new Bc(A,C,"number of pixels (eg. 10px)");B.strokeWidth=C}else throw Error(`style named ${A} is not supported.`)}return B}function g9u(u,B,E,A,C){let D=Ec(C);Q7.addPoints([{x:E,y:A,text:qU(u.text),className:B,...D}])}function c9u(u,B){Q7.addClass(u,Ec(B))}function _9u(u){Q7.setConfig({chartWidth:u})}function p9u(u){Q7.setConfig({chartHeight:u})}function n9u(){let u=y0(),{themeVariables:B,quadrantChart:E}=u;if(E)Q7.setConfig(E);return Q7.setThemeConfig({quadrant1Fill:B.quadrant1Fill,quadrant2Fill:B.quadrant2Fill,quadrant3Fill:B.quadrant3Fill,quadrant4Fill:B.quadrant4Fill,quadrant1TextFill:B.quadrant1TextFill,quadrant2TextFill:B.quadrant2TextFill,quadrant3TextFill:B.quadrant3TextFill,quadrant4TextFill:B.quadrant4TextFill,quadrantPointFill:B.quadrantPointFill,quadrantPointTextFill:B.quadrantPointTextFill,quadrantXAxisTextFill:B.quadrantXAxisTextFill,quadrantYAxisTextFill:B.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:B.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:B.quadrantInternalBorderStrokeFill,quadrantTitleFill:B.quadrantTitleFill}),Q7.setData({titleText:X3()}),Q7.build()}var oD0,Ci4,iB,Di4,Bc,Q7,Fi4,Ui4,zi4,ki4,fi4;var s9u=g(()=>{s4();o4();Y4();V3();V3();oD0=function(){var u=X(function(o,l0,E0,$0){for(E0=E0||{},$0=o.length;$0--;E0[o[$0]]=l0);return E0},"o"),B=[1,3],E=[1,4],A=[1,5],C=[1,6],D=[1,7],F=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],U=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],z=[55,56,57],k=[2,36],f=[1,37],M=[1,36],b=[1,38],Z=[1,35],J=[1,43],K=[1,41],w=[1,45],Q=[1,14],G=[1,23],H=[1,18],l=[1,19],q=[1,20],L=[1,21],v=[1,22],x=[1,24],S=[1,25],W=[1,26],T=[1,27],R=[1,28],Y=[1,29],h=[1,32],I=[1,33],O=[1,34],V=[1,39],j=[1,40],i=[1,42],a=[1,44],$=[1,63],m=[1,62],y=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],r=[1,66],_=[1,67],e=[1,68],p=[1,69],b0=[1,70],B0=[1,71],k0=[1,72],f0=[1,73],D0=[1,74],P0=[1,75],L0=[1,76],m0=[1,77],h0=[4,5,6,7,8,9,10,11,12,13,14,15,18],_0=[1,91],w0=[1,92],x0=[1,93],T0=[1,100],J0=[1,94],F0=[1,97],u0=[1,95],Z0=[1,96],X0=[1,98],W0=[1,99],Y0=[1,103],a0=[10,55,56,57],K0=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],n={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:X(function(l0,E0,$0,g0,n0,c0,Bu){var p0=c0.length-1;switch(n0){case 23:this.$=c0[p0];break;case 24:this.$=c0[p0-1]+""+c0[p0];break;case 26:this.$=c0[p0-1]+c0[p0];break;case 27:this.$=[c0[p0].trim()];break;case 28:c0[p0-2].push(c0[p0].trim()),this.$=c0[p0-2];break;case 29:this.$=c0[p0-4],g0.addClass(c0[p0-2],c0[p0]);break;case 37:this.$=[];break;case 42:this.$=c0[p0].trim(),g0.setDiagramTitle(this.$);break;case 43:this.$=c0[p0].trim(),g0.setAccTitle(this.$);break;case 44:case 45:this.$=c0[p0].trim(),g0.setAccDescription(this.$);break;case 46:g0.addSection(c0[p0].substr(8)),this.$=c0[p0].substr(8);break;case 47:g0.addPoint(c0[p0-3],"",c0[p0-1],c0[p0],[]);break;case 48:g0.addPoint(c0[p0-4],c0[p0-3],c0[p0-1],c0[p0],[]);break;case 49:g0.addPoint(c0[p0-4],"",c0[p0-2],c0[p0-1],c0[p0]);break;case 50:g0.addPoint(c0[p0-5],c0[p0-4],c0[p0-2],c0[p0-1],c0[p0]);break;case 51:g0.setXAxisLeftText(c0[p0-2]),g0.setXAxisRightText(c0[p0]);break;case 52:c0[p0-1].text+=" ⟶ ",g0.setXAxisLeftText(c0[p0-1]);break;case 53:g0.setXAxisLeftText(c0[p0]);break;case 54:g0.setYAxisBottomText(c0[p0-2]),g0.setYAxisTopText(c0[p0]);break;case 55:c0[p0-1].text+=" ⟶ ",g0.setYAxisBottomText(c0[p0-1]);break;case 56:g0.setYAxisBottomText(c0[p0]);break;case 57:g0.setQuadrant1Text(c0[p0]);break;case 58:g0.setQuadrant2Text(c0[p0]);break;case 59:g0.setQuadrant3Text(c0[p0]);break;case 60:g0.setQuadrant4Text(c0[p0]);break;case 64:this.$={text:c0[p0],type:"text"};break;case 65:this.$={text:c0[p0-1].text+""+c0[p0],type:c0[p0-1].type};break;case 66:this.$={text:c0[p0],type:"text"};break;case 67:this.$={text:c0[p0],type:"markdown"};break;case 68:this.$=c0[p0];break;case 69:this.$=c0[p0-1]+""+c0[p0];break}},"anonymous"),table:[{18:B,26:1,27:2,28:E,55:A,56:C,57:D},{1:[3]},{18:B,26:8,27:2,28:E,55:A,56:C,57:D},{18:B,26:9,27:2,28:E,55:A,56:C,57:D},u(F,[2,33],{29:10}),u(U,[2,61]),u(U,[2,62]),u(U,[2,63]),{1:[2,30]},{1:[2,31]},u(z,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:M,10:b,12:Z,13:J,14:K,15:w,18:Q,25:G,35:H,37:l,39:q,41:L,42:v,48:x,50:S,51:W,52:T,53:R,54:Y,60:h,61:I,63:O,64:V,65:j,66:i,67:a}),u(F,[2,34]),{27:46,55:A,56:C,57:D},u(z,[2,37]),u(z,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:f,5:M,10:b,12:Z,13:J,14:K,15:w,18:Q,25:G,35:H,37:l,39:q,41:L,42:v,48:x,50:S,51:W,52:T,53:R,54:Y,60:h,61:I,63:O,64:V,65:j,66:i,67:a}),u(z,[2,39]),u(z,[2,40]),u(z,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},u(z,[2,45]),u(z,[2,46]),{18:[1,51]},{4:f,5:M,10:b,12:Z,13:J,14:K,15:w,43:52,58:31,60:h,61:I,63:O,64:V,65:j,66:i,67:a},{4:f,5:M,10:b,12:Z,13:J,14:K,15:w,43:53,58:31,60:h,61:I,63:O,64:V,65:j,66:i,67:a},{4:f,5:M,10:b,12:Z,13:J,14:K,15:w,43:54,58:31,60:h,61:I,63:O,64:V,65:j,66:i,67:a},{4:f,5:M,10:b,12:Z,13:J,14:K,15:w,43:55,58:31,60:h,61:I,63:O,64:V,65:j,66:i,67:a},{4:f,5:M,10:b,12:Z,13:J,14:K,15:w,43:56,58:31,60:h,61:I,63:O,64:V,65:j,66:i,67:a},{4:f,5:M,10:b,12:Z,13:J,14:K,15:w,43:57,58:31,60:h,61:I,63:O,64:V,65:j,66:i,67:a},{4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,44:[1,58],47:[1,59],58:61,59:60,63:O,64:V,65:j,66:i,67:a},u(y,[2,64]),u(y,[2,66]),u(y,[2,67]),u(y,[2,70]),u(y,[2,71]),u(y,[2,72]),u(y,[2,73]),u(y,[2,74]),u(y,[2,75]),u(y,[2,76]),u(y,[2,77]),u(y,[2,78]),u(y,[2,79]),u(y,[2,80]),u(y,[2,81]),u(F,[2,35]),u(z,[2,38]),u(z,[2,42]),u(z,[2,43]),u(z,[2,44]),{3:65,4:r,5:_,6:e,7:p,8:b0,9:B0,10:k0,11:f0,12:D0,13:P0,14:L0,15:m0,21:64},u(z,[2,53],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,49:[1,78],63:O,64:V,65:j,66:i,67:a}),u(z,[2,56],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,49:[1,79],63:O,64:V,65:j,66:i,67:a}),u(z,[2,57],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,63:O,64:V,65:j,66:i,67:a}),u(z,[2,58],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,63:O,64:V,65:j,66:i,67:a}),u(z,[2,59],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,63:O,64:V,65:j,66:i,67:a}),u(z,[2,60],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,63:O,64:V,65:j,66:i,67:a}),{45:[1,80]},{44:[1,81]},u(y,[2,65]),u(y,[2,82]),u(y,[2,83]),u(y,[2,84]),{3:83,4:r,5:_,6:e,7:p,8:b0,9:B0,10:k0,11:f0,12:D0,13:P0,14:L0,15:m0,18:[1,82]},u(h0,[2,23]),u(h0,[2,1]),u(h0,[2,2]),u(h0,[2,3]),u(h0,[2,4]),u(h0,[2,5]),u(h0,[2,6]),u(h0,[2,7]),u(h0,[2,8]),u(h0,[2,9]),u(h0,[2,10]),u(h0,[2,11]),u(h0,[2,12]),u(z,[2,52],{58:31,43:84,4:f,5:M,10:b,12:Z,13:J,14:K,15:w,60:h,61:I,63:O,64:V,65:j,66:i,67:a}),u(z,[2,55],{58:31,43:85,4:f,5:M,10:b,12:Z,13:J,14:K,15:w,60:h,61:I,63:O,64:V,65:j,66:i,67:a}),{46:[1,86]},{45:[1,87]},{4:_0,5:w0,6:x0,8:T0,11:J0,13:F0,16:90,17:u0,18:Z0,19:X0,20:W0,22:89,23:88},u(h0,[2,24]),u(z,[2,51],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,63:O,64:V,65:j,66:i,67:a}),u(z,[2,54],{59:60,58:61,4:f,5:M,8:$,10:b,12:Z,13:J,14:K,15:w,18:m,63:O,64:V,65:j,66:i,67:a}),u(z,[2,47],{22:89,16:90,23:101,4:_0,5:w0,6:x0,8:T0,11:J0,13:F0,17:u0,18:Z0,19:X0,20:W0}),{46:[1,102]},u(z,[2,29],{10:Y0}),u(a0,[2,27],{16:104,4:_0,5:w0,6:x0,8:T0,11:J0,13:F0,17:u0,18:Z0,19:X0,20:W0}),u(K0,[2,25]),u(K0,[2,13]),u(K0,[2,14]),u(K0,[2,15]),u(K0,[2,16]),u(K0,[2,17]),u(K0,[2,18]),u(K0,[2,19]),u(K0,[2,20]),u(K0,[2,21]),u(K0,[2,22]),u(z,[2,49],{10:Y0}),u(z,[2,48],{22:89,16:90,23:105,4:_0,5:w0,6:x0,8:T0,11:J0,13:F0,17:u0,18:Z0,19:X0,20:W0}),{4:_0,5:w0,6:x0,8:T0,11:J0,13:F0,16:90,17:u0,18:Z0,19:X0,20:W0,22:106},u(K0,[2,26]),u(z,[2,50],{10:Y0}),u(a0,[2,28],{16:104,4:_0,5:w0,6:x0,8:T0,11:J0,13:F0,17:u0,18:Z0,19:X0,20:W0})],defaultActions:{8:[2,30],9:[2,31]},parseError:X(function(l0,E0){if(E0.recoverable)this.trace(l0);else{var $0=Error(l0);throw $0.hash=E0,$0}},"parseError"),parse:X(function(l0){var E0=this,$0=[0],g0=[],n0=[null],c0=[],Bu=this.table,p0="",e0=0,t0=0,zu=0,S0=2,yu=1,V0=c0.slice.call(arguments,1),xu=Object.create(this.lexer),gu={yy:{}};for(var Du in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Du))gu.yy[Du]=this.yy[Du];if(xu.setInput(l0,gu.yy),gu.yy.lexer=xu,gu.yy.parser=this,typeof xu.yylloc>"u")xu.yylloc={};var Nu=xu.yylloc;c0.push(Nu);var du=xu.options&&xu.options.ranges;if(typeof gu.yy.parseError==="function")this.parseError=gu.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function Iu(b4){$0.length=$0.length-2*b4,n0.length=n0.length-b4,c0.length=c0.length-b4}X(Iu,"popStack");function v0(){var b4=g0.pop()||xu.lex()||yu;if(typeof b4!=="number"){if(b4 instanceof Array)g0=b4,b4=g0.pop();b4=E0.symbols_[b4]||b4}return b4}X(v0,"lex");var Tu,iu,Ju,I0,Mu,qu,Ru={},S4,$u,L4,F3;while(!0){if(Ju=$0[$0.length-1],this.defaultActions[Ju])I0=this.defaultActions[Ju];else{if(Tu===null||typeof Tu>"u")Tu=v0();I0=Bu[Ju]&&Bu[Ju][Tu]}if(typeof I0>"u"||!I0.length||!I0[0]){var V4="";F3=[];for(S4 in Bu[Ju])if(this.terminals_[S4]&&S4>S0)F3.push("'"+this.terminals_[S4]+"'");if(xu.showPosition)V4="Parse error on line "+(e0+1)+`:
`+xu.showPosition()+`
Expecting `+F3.join(", ")+", got '"+(this.terminals_[Tu]||Tu)+"'";else V4="Parse error on line "+(e0+1)+": Unexpected "+(Tu==yu?"end of input":"'"+(this.terminals_[Tu]||Tu)+"'");this.parseError(V4,{text:xu.match,token:this.terminals_[Tu]||Tu,line:xu.yylineno,loc:Nu,expected:F3})}if(I0[0]instanceof Array&&I0.length>1)throw Error("Parse Error: multiple actions possible at state: "+Ju+", token: "+Tu);switch(I0[0]){case 1:if($0.push(Tu),n0.push(xu.yytext),c0.push(xu.yylloc),$0.push(I0[1]),Tu=null,!iu){if(t0=xu.yyleng,p0=xu.yytext,e0=xu.yylineno,Nu=xu.yylloc,zu>0)zu--}else Tu=iu,iu=null;break;case 2:if($u=this.productions_[I0[1]][1],Ru.$=n0[n0.length-$u],Ru._$={first_line:c0[c0.length-($u||1)].first_line,last_line:c0[c0.length-1].last_line,first_column:c0[c0.length-($u||1)].first_column,last_column:c0[c0.length-1].last_column},du)Ru._$.range=[c0[c0.length-($u||1)].range[0],c0[c0.length-1].range[1]];if(qu=this.performAction.apply(Ru,[p0,t0,e0,gu.yy,I0[1],n0,c0].concat(V0)),typeof qu<"u")return qu;if($u)$0=$0.slice(0,-1*$u*2),n0=n0.slice(0,-1*$u),c0=c0.slice(0,-1*$u);$0.push(this.productions_[I0[1]][0]),n0.push(Ru.$),c0.push(Ru._$),L4=Bu[$0[$0.length-2]][$0[$0.length-1]],$0.push(L4);break;case 3:return!0}}return!0},"parse")},d=function(){var o={EOF:1,parseError:X(function(E0,$0){if(this.yy.parser)this.yy.parser.parseError(E0,$0);else throw Error(E0)},"parseError"),setInput:X(function(l0,E0){if(this.yy=E0||this.yy||{},this._input=l0,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var l0=this._input[0];this.yytext+=l0,this.yyleng++,this.offset++,this.match+=l0,this.matched+=l0;var E0=l0.match(/(?:\r\n?|\n).*/g);if(E0)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),l0},"input"),unput:X(function(l0){var E0=l0.length,$0=l0.split(/(?:\r\n?|\n)/g);this._input=l0+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E0),this.offset-=E0;var g0=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),$0.length-1)this.yylineno-=$0.length-1;var n0=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:$0?($0.length===g0.length?this.yylloc.first_column:0)+g0[g0.length-$0.length].length-$0[0].length:this.yylloc.first_column-E0},this.options.ranges)this.yylloc.range=[n0[0],n0[0]+this.yyleng-E0];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(l0){this.unput(this.match.slice(l0))},"less"),pastInput:X(function(){var l0=this.matched.substr(0,this.matched.length-this.match.length);return(l0.length>20?"...":"")+l0.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var l0=this.match;if(l0.length<20)l0+=this._input.substr(0,20-l0.length);return(l0.substr(0,20)+(l0.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var l0=this.pastInput(),E0=Array(l0.length+1).join("-");return l0+this.upcomingInput()+`
`+E0+"^"},"showPosition"),test_match:X(function(l0,E0){var $0,g0,n0;if(this.options.backtrack_lexer){if(n0={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)n0.yylloc.range=this.yylloc.range.slice(0)}if(g0=l0[0].match(/(?:\r\n?|\n).*/g),g0)this.yylineno+=g0.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g0?g0[g0.length-1].length-g0[g0.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l0[0].length},this.yytext+=l0[0],this.match+=l0[0],this.matches=l0,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(l0[0].length),this.matched+=l0[0],$0=this.performAction.call(this,this.yy,this,E0,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if($0)return $0;else if(this._backtrack){for(var c0 in n0)this[c0]=n0[c0];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var l0,E0,$0,g0;if(!this._more)this.yytext="",this.match="";var n0=this._currentRules();for(var c0=0;c0<n0.length;c0++)if($0=this._input.match(this.rules[n0[c0]]),$0&&(!E0||$0[0].length>E0[0].length)){if(E0=$0,g0=c0,this.options.backtrack_lexer)if(l0=this.test_match($0,n0[c0]),l0!==!1)return l0;else if(this._backtrack){E0=!1;continue}else return!1;else if(!this.options.flex)break}if(E0){if(l0=this.test_match(E0,n0[g0]),l0!==!1)return l0;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var E0=this.next();if(E0)return E0;else return this.lex()},"lex"),begin:X(function(E0){this.conditionStack.push(E0)},"begin"),popState:X(function(){var E0=this.conditionStack.length-1;if(E0>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(E0){if(E0=this.conditionStack.length-1-Math.abs(E0||0),E0>=0)return this.conditionStack[E0];else return"INITIAL"},"topState"),pushState:X(function(E0){this.begin(E0)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(E0,$0,g0,n0){var c0=n0;switch(g0){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:return 65;case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return o}();n.lexer=d;function q0(){this.yy={}}return X(q0,"Parser"),q0.prototype=n,n.Parser=q0,new q0}();oD0.parser=oD0;Ci4=oD0,iB=O7(),Di4=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{X(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:t4.quadrantChart?.chartWidth||500,chartWidth:t4.quadrantChart?.chartHeight||500,titlePadding:t4.quadrantChart?.titlePadding||10,titleFontSize:t4.quadrantChart?.titleFontSize||20,quadrantPadding:t4.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:t4.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:t4.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:t4.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:t4.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:t4.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:t4.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:t4.quadrantChart?.pointTextPadding||5,pointLabelFontSize:t4.quadrantChart?.pointLabelFontSize||12,pointRadius:t4.quadrantChart?.pointRadius||5,xAxisPosition:t4.quadrantChart?.xAxisPosition||"top",yAxisPosition:t4.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:t4.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:t4.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:iB.quadrant1Fill,quadrant2Fill:iB.quadrant2Fill,quadrant3Fill:iB.quadrant3Fill,quadrant4Fill:iB.quadrant4Fill,quadrant1TextFill:iB.quadrant1TextFill,quadrant2TextFill:iB.quadrant2TextFill,quadrant3TextFill:iB.quadrant3TextFill,quadrant4TextFill:iB.quadrant4TextFill,quadrantPointFill:iB.quadrantPointFill,quadrantPointTextFill:iB.quadrantPointTextFill,quadrantXAxisTextFill:iB.quadrantXAxisTextFill,quadrantYAxisTextFill:iB.quadrantYAxisTextFill,quadrantTitleFill:iB.quadrantTitleFill,quadrantInternalBorderStrokeFill:iB.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:iB.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,z0.info("clear called")}setData(u){this.data={...this.data,...u}}addPoints(u){this.data.points=[...u,...this.data.points]}addClass(u,B){this.classes.set(u,B)}setConfig(u){z0.trace("setConfig called with: ",u),this.config={...this.config,...u}}setThemeConfig(u){z0.trace("setThemeConfig called with: ",u),this.themeConfig={...this.themeConfig,...u}}calculateSpace(u,B,E,A){let C=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,D={top:u==="top"&&B?C:0,bottom:u==="bottom"&&B?C:0},F=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,U={left:this.config.yAxisPosition==="left"&&E?F:0,right:this.config.yAxisPosition==="right"&&E?F:0},z=this.config.titleFontSize+this.config.titlePadding*2,k={top:A?z:0},f=this.config.quadrantPadding+U.left,M=this.config.quadrantPadding+D.top+k.top,b=this.config.chartWidth-this.config.quadrantPadding*2-U.left-U.right,Z=this.config.chartHeight-this.config.quadrantPadding*2-D.top-D.bottom-k.top,J=b/2,K=Z/2;return{xAxisSpace:D,yAxisSpace:U,titleSpace:k,quadrantSpace:{quadrantLeft:f,quadrantTop:M,quadrantWidth:b,quadrantHalfWidth:J,quadrantHeight:Z,quadrantHalfHeight:K}}}getAxisLabels(u,B,E,A){let{quadrantSpace:C,titleSpace:D}=A,{quadrantHalfHeight:F,quadrantHeight:U,quadrantLeft:z,quadrantHalfWidth:k,quadrantTop:f,quadrantWidth:M}=C,b=Boolean(this.data.xAxisRightText),Z=Boolean(this.data.yAxisTopText),J=[];if(this.data.xAxisLeftText&&B)J.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:z+(b?k/2:0),y:u==="top"?this.config.xAxisLabelPadding+D.top:this.config.xAxisLabelPadding+f+U+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:b?"center":"left",horizontalPos:"top",rotation:0});if(this.data.xAxisRightText&&B)J.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:z+k+(b?k/2:0),y:u==="top"?this.config.xAxisLabelPadding+D.top:this.config.xAxisLabelPadding+f+U+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:b?"center":"left",horizontalPos:"top",rotation:0});if(this.data.yAxisBottomText&&E)J.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+z+M+this.config.quadrantPadding,y:f+U-(Z?F/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:Z?"center":"left",horizontalPos:"top",rotation:-90});if(this.data.yAxisTopText&&E)J.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+z+M+this.config.quadrantPadding,y:f+F-(Z?F/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:Z?"center":"left",horizontalPos:"top",rotation:-90});return J}getQuadrants(u){let{quadrantSpace:B}=u,{quadrantHalfHeight:E,quadrantLeft:A,quadrantHalfWidth:C,quadrantTop:D}=B,F=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:A+C,y:D,width:C,height:E,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:A,y:D,width:C,height:E,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:A,y:D+E,width:C,height:E,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:A+C,y:D+E,width:C,height:E,fill:this.themeConfig.quadrant4Fill}];for(let U of F)if(U.text.x=U.x+U.width/2,this.data.points.length===0)U.text.y=U.y+U.height/2,U.text.horizontalPos="middle";else U.text.y=U.y+this.config.quadrantTextTopPadding,U.text.horizontalPos="top";return F}getQuadrantPoints(u){let{quadrantSpace:B}=u,{quadrantHeight:E,quadrantLeft:A,quadrantTop:C,quadrantWidth:D}=B,F=HC().domain([0,1]).range([A,D+A]),U=HC().domain([0,1]).range([E+C,C]);return this.data.points.map((k)=>{let f=this.classes.get(k.className);if(f)k={...f,...k};return{x:F(k.x),y:U(k.y),fill:k.color??this.themeConfig.quadrantPointFill,radius:k.radius??this.config.pointRadius,text:{text:k.text,fill:this.themeConfig.quadrantPointTextFill,x:F(k.x),y:U(k.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:k.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:k.strokeWidth??"0px"}})}getBorders(u){let B=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:E}=u,{quadrantHalfHeight:A,quadrantHeight:C,quadrantLeft:D,quadrantHalfWidth:F,quadrantTop:U,quadrantWidth:z}=E;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:D-B,y1:U,x2:D+z+B,y2:U},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:D+z,y1:U+B,x2:D+z,y2:U+C-B},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:D-B,y1:U+C,x2:D+z+B,y2:U+C},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:D,y1:U+B,x2:D,y2:U+C-B},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:D+F,y1:U+B,x2:D+F,y2:U+C-B},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:D+B,y1:U+A,x2:D+z-B,y2:U+A}]}getTitle(u){if(u)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2};return}build(){let u=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),B=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),E=this.config.showTitle&&!!this.data.titleText,A=this.data.points.length>0?"bottom":this.config.xAxisPosition,C=this.calculateSpace(A,u,B,E);return{points:this.getQuadrantPoints(C),quadrants:this.getQuadrants(C),axisLabels:this.getAxisLabels(A,u,B,C),borderLines:this.getBorders(C),title:this.getTitle(E)}}},Bc=class extends Error{static{X(this,"InvalidStyleError")}constructor(u,B,E){super(`value for ${u} ${B} is invalid, please use a valid ${E}`);this.name="InvalidStyleError"}};X(tD0,"validateHexCode");X(j9u,"validateNumber");X(N9u,"validateSizeInPixels");X(qU,"textSanitizer");Q7=new Di4;X(V9u,"setQuadrant1Text");X(h9u,"setQuadrant2Text");X(i9u,"setQuadrant3Text");X(a9u,"setQuadrant4Text");X(m9u,"setXAxisLeftText");X($9u,"setXAxisRightText");X(y9u,"setYAxisTopText");X(r9u,"setYAxisBottomText");X(Ec,"parseStyles");X(g9u,"addPoint");X(c9u,"addClass");X(_9u,"setWidth");X(p9u,"setHeight");X(n9u,"getQuadrantData");Fi4=X(function(){Q7.clear(),D3()},"clear"),Ui4={setWidth:_9u,setHeight:p9u,setQuadrant1Text:V9u,setQuadrant2Text:h9u,setQuadrant3Text:i9u,setQuadrant4Text:a9u,setXAxisLeftText:m9u,setXAxisRightText:$9u,setYAxisTopText:y9u,setYAxisBottomText:r9u,parseStyles:Ec,addPoint:g9u,addClass:c9u,getQuadrantData:n9u,clear:Fi4,setAccTitle:w3,getAccTitle:q3,setDiagramTitle:T3,getDiagramTitle:X3,getAccDescription:L3,setAccDescription:l3},zi4=X((u,B,E,A)=>{function C(x){return x==="top"?"hanging":"middle"}X(C,"getDominantBaseLine");function D(x){return x==="left"?"start":"middle"}X(D,"getTextAnchor");function F(x){return`translate(${x.x}, ${x.y}) rotate(${x.rotation||0})`}X(F,"getTransformation");let U=y0();z0.debug(`Rendering quadrant chart
`+u);let z=U.securityLevel,k;if(z==="sandbox")k=Qu("#i"+B);let M=(z==="sandbox"?Qu(k.nodes()[0].contentDocument.body):Qu("body")).select(`[id="${B}"]`),b=M.append("g").attr("class","main"),Z=U.quadrantChart?.chartWidth??500,J=U.quadrantChart?.chartHeight??500;g3(M,J,Z,U.quadrantChart?.useMaxWidth??!0),M.attr("viewBox","0 0 "+Z+" "+J),A.db.setHeight(J),A.db.setWidth(Z);let K=A.db.getQuadrantData(),w=b.append("g").attr("class","quadrants"),Q=b.append("g").attr("class","border"),G=b.append("g").attr("class","data-points"),H=b.append("g").attr("class","labels"),l=b.append("g").attr("class","title");if(K.title)l.append("text").attr("x",0).attr("y",0).attr("fill",K.title.fill).attr("font-size",K.title.fontSize).attr("dominant-baseline",C(K.title.horizontalPos)).attr("text-anchor",D(K.title.verticalPos)).attr("transform",F(K.title)).text(K.title.text);if(K.borderLines)Q.selectAll("line").data(K.borderLines).enter().append("line").attr("x1",(x)=>x.x1).attr("y1",(x)=>x.y1).attr("x2",(x)=>x.x2).attr("y2",(x)=>x.y2).style("stroke",(x)=>x.strokeFill).style("stroke-width",(x)=>x.strokeWidth);let q=w.selectAll("g.quadrant").data(K.quadrants).enter().append("g").attr("class","quadrant");q.append("rect").attr("x",(x)=>x.x).attr("y",(x)=>x.y).attr("width",(x)=>x.width).attr("height",(x)=>x.height).attr("fill",(x)=>x.fill),q.append("text").attr("x",0).attr("y",0).attr("fill",(x)=>x.text.fill).attr("font-size",(x)=>x.text.fontSize).attr("dominant-baseline",(x)=>C(x.text.horizontalPos)).attr("text-anchor",(x)=>D(x.text.verticalPos)).attr("transform",(x)=>F(x.text)).text((x)=>x.text.text),H.selectAll("g.label").data(K.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((x)=>x.text).attr("fill",(x)=>x.fill).attr("font-size",(x)=>x.fontSize).attr("dominant-baseline",(x)=>C(x.horizontalPos)).attr("text-anchor",(x)=>D(x.verticalPos)).attr("transform",(x)=>F(x));let v=G.selectAll("g.data-point").data(K.points).enter().append("g").attr("class","data-point");v.append("circle").attr("cx",(x)=>x.x).attr("cy",(x)=>x.y).attr("r",(x)=>x.radius).attr("fill",(x)=>x.fill).attr("stroke",(x)=>x.strokeColor).attr("stroke-width",(x)=>x.strokeWidth),v.append("text").attr("x",0).attr("y",0).text((x)=>x.text.text).attr("fill",(x)=>x.text.fill).attr("font-size",(x)=>x.text.fontSize).attr("dominant-baseline",(x)=>C(x.text.horizontalPos)).attr("text-anchor",(x)=>D(x.text.verticalPos)).attr("transform",(x)=>F(x.text))},"draw"),ki4={draw:zi4},fi4={parser:Ci4,db:Ui4,renderer:ki4,styles:X(()=>"","styles")}});var Q2u={};ju(Q2u,{diagram:()=>vi4});function uF0(u){return u.type==="bar"}function Ac(u){return u.type==="band"}function ML(u){return u.type==="linear"}function BF0(u,B,E,A){let C=new e9u(A);if(Ac(u))return new bi4(B,E,u.categories,u.title,C);return new Zi4(B,E,[u.min,u.max],u.title,C)}function B2u(u,B,E,A){let C=new e9u(A);return new Ji4(C,u,B,E)}function E2u(u,B,E){return new Qi4(u,B,E)}function CF0(){let u=O7(),B=F4();return E1(u.xyChart,B.themeVariables.xyChart)}function DF0(){let u=F4();return E1(t4.xyChart,u.xyChart)}function FF0(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function uT(u){let B=F4();return C3(u.trim(),B)}function C2u(u){A2u=u}function D2u(u){if(u==="horizontal")tR.chartOrientation="horizontal";else tR.chartOrientation="vertical"}function F2u(u){O1.xAxis.title=uT(u.text)}function UF0(u,B){O1.xAxis={type:"linear",title:O1.xAxis.title,min:u,max:B},Cc=!0}function U2u(u){O1.xAxis={type:"band",title:O1.xAxis.title,categories:u.map((B)=>uT(B.text))},Cc=!0}function z2u(u){O1.yAxis.title=uT(u.text)}function k2u(u,B){O1.yAxis={type:"linear",title:O1.yAxis.title,min:u,max:B},AF0=!0}function f2u(u){let B=Math.min(...u),E=Math.max(...u),A=ML(O1.yAxis)?O1.yAxis.min:1/0,C=ML(O1.yAxis)?O1.yAxis.max:-1/0;O1.yAxis={type:"linear",title:O1.yAxis.title,min:Math.min(A,B),max:Math.max(C,E)}}function zF0(u){let B=[];if(u.length===0)return B;if(!Cc){let E=ML(O1.xAxis)?O1.xAxis.min:1/0,A=ML(O1.xAxis)?O1.xAxis.max:-1/0;UF0(Math.min(E,1),Math.max(A,u.length))}if(Ac(O1.xAxis)&&u.length>O1.xAxis.categories.length)u=u.slice(0,O1.xAxis.categories.length);if(!AF0)f2u(u);if(Ac(O1.xAxis))B=O1.xAxis.categories.map((E,A)=>[E,u[A]]);if(ML(O1.xAxis)){let E=O1.xAxis.min,A=O1.xAxis.max;if(u.length===1)B=[[`${E}`,u[0]]];else{let C=(A-E)/(u.length-1);B=u.map((D,F)=>[`${E+F*C}`,D])}}return B}function kF0(u){return EF0[u===0?0:u%EF0.length]}function M2u(u,B){let E=B.map((F)=>F.value),A=B.map((F)=>F.label?uT(F.label):""),C=zF0(E),D=A.some((F)=>F!=="");O1.plots.push({type:"line",strokeFill:kF0(oR),strokeWidth:2,data:C,...D?{pointLabels:A}:{}}),oR++}function b2u(u,B){let E=B.map((C)=>C.value),A=zF0(E);O1.plots.push({type:"bar",fill:kF0(oR),data:A}),oR++}function Z2u(){if(O1.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return O1.title=X3(),Hi4.build(tR,O1,eR,A2u)}function J2u(){return eR}function K2u(){return tR}function w2u(){return O1}var eD0,Mi4,e9u,o9u=0.7,t9u=0.2,u2u,bi4,Zi4,Ji4,Ki4,wi4,Qi4,Gi4,Hi4,oR=0,A2u,tR,eR,O1,EF0,Cc=!1,AF0=!1,qi4,li4,Li4,Xi4,vi4;var G2u=g(()=>{A2();s2();X2();e3();s4();o4();Y4();V3();V3();V3();eD0=function(){var u=X(function(O,V,j,i){for(j=j||{},i=O.length;i--;j[O[i]]=V);return j},"o"),B=[1,10,12,14,16,18,19,21,23],E=[2,6],A=[1,3],C=[1,5],D=[1,6],F=[1,7],U=[1,5,10,12,14,16,18,19,21,23,36,37,38],z=[1,25],k=[1,26],f=[1,28],M=[1,29],b=[1,30],Z=[1,31],J=[1,32],K=[1,33],w=[1,34],Q=[1,35],G=[1,36],H=[1,37],l=[1,43],q=[1,42],L=[1,47],v=[1,50],x=[1,10,12,14,16,18,19,21,23,36,37,38],S=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],W=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],T=[1,65],R=[26,28],Y={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:X(function(V,j,i,a,$,m,y){var r=m.length-1;switch($){case 5:a.setOrientation(m[r]);break;case 9:a.setDiagramTitle(m[r].text.trim());break;case 12:a.setLineData({text:"",type:"text"},m[r]);break;case 13:a.setLineData(m[r-1],m[r]);break;case 14:a.setBarData({text:"",type:"text"},m[r]);break;case 15:a.setBarData(m[r-1],m[r]);break;case 16:this.$=m[r].trim(),a.setAccTitle(this.$);break;case 17:case 18:this.$=m[r].trim(),a.setAccDescription(this.$);break;case 19:this.$=m[r-1];break;case 20:case 30:this.$=[m[r-2],...m[r]];break;case 21:case 31:this.$=[m[r]];break;case 22:this.$={value:Number(m[r-1]),label:m[r]};break;case 23:this.$={value:Number(m[r]),label:""};break;case 24:a.setXAxisTitle(m[r]);break;case 25:a.setXAxisTitle(m[r-1]);break;case 26:a.setXAxisTitle({type:"text",text:""});break;case 27:a.setXAxisBand(m[r]);break;case 28:a.setXAxisRangeData(Number(m[r-2]),Number(m[r]));break;case 29:this.$=m[r-1];break;case 32:a.setYAxisTitle(m[r]);break;case 33:a.setYAxisTitle(m[r-1]);break;case 34:a.setYAxisTitle({type:"text",text:""});break;case 35:a.setYAxisRangeData(Number(m[r-2]),Number(m[r]));break;case 39:this.$={text:m[r],type:"text"};break;case 40:this.$={text:m[r],type:"text"};break;case 41:this.$={text:m[r],type:"markdown"};break;case 42:this.$=m[r];break;case 43:this.$=m[r-1]+""+m[r];break}},"anonymous"),table:[u(B,E,{3:1,4:2,7:4,5:A,36:C,37:D,38:F}),{1:[3]},u(B,E,{4:2,7:4,3:8,5:A,36:C,37:D,38:F}),u(B,E,{4:2,7:4,6:9,3:10,5:A,8:[1,11],36:C,37:D,38:F}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},u(U,[2,36]),u(U,[2,37]),u(U,[2,38]),{1:[2,1]},u(B,E,{4:2,7:4,3:21,5:A,36:C,37:D,38:F}),{1:[2,3]},u(U,[2,5]),u(B,[2,7],{4:22,36:C,37:D,38:F}),{11:23,30:z,39:24,40:k,41:27,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H},{11:39,13:38,24:l,29:q,30:z,31:40,32:41,39:24,40:k,41:27,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H},{11:45,15:44,29:L,30:z,35:46,39:24,40:k,41:27,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H},{11:49,17:48,24:v,30:z,39:24,40:k,41:27,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H},{11:52,17:51,24:v,30:z,39:24,40:k,41:27,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H},{20:[1,53]},{22:[1,54]},u(x,[2,18]),{1:[2,2]},u(x,[2,8]),u(x,[2,9]),u(S,[2,39],{41:55,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H}),u(S,[2,40]),u(S,[2,41]),u(W,[2,42]),u(W,[2,44]),u(W,[2,45]),u(W,[2,46]),u(W,[2,47]),u(W,[2,48]),u(W,[2,49]),u(W,[2,50]),u(W,[2,51]),u(W,[2,52]),u(W,[2,53]),u(x,[2,10]),u(x,[2,24],{32:41,31:56,24:l,29:q}),u(x,[2,26]),u(x,[2,27]),{33:[1,57]},{11:59,30:z,34:58,39:24,40:k,41:27,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H},u(x,[2,11]),u(x,[2,32],{35:60,29:L}),u(x,[2,34]),{33:[1,61]},u(x,[2,12]),{17:62,24:v},{25:63,27:64,29:T},u(x,[2,14]),{17:66,24:v},u(x,[2,16]),u(x,[2,17]),u(W,[2,43]),u(x,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},u(x,[2,33]),{29:[1,70]},u(x,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},u(R,[2,23],{30:[1,73]}),u(x,[2,15]),u(x,[2,28]),u(x,[2,29]),{11:59,30:z,34:74,39:24,40:k,41:27,42:f,43:M,44:b,45:Z,46:J,47:K,48:w,49:Q,50:G,51:H},u(x,[2,35]),u(x,[2,19]),{25:75,27:64,29:T},u(R,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:X(function(V,j){if(j.recoverable)this.trace(V);else{var i=Error(V);throw i.hash=j,i}},"parseError"),parse:X(function(V){var j=this,i=[0],a=[],$=[null],m=[],y=this.table,r="",_=0,e=0,p=0,b0=2,B0=1,k0=m.slice.call(arguments,1),f0=Object.create(this.lexer),D0={yy:{}};for(var P0 in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,P0))D0.yy[P0]=this.yy[P0];if(f0.setInput(V,D0.yy),D0.yy.lexer=f0,D0.yy.parser=this,typeof f0.yylloc>"u")f0.yylloc={};var L0=f0.yylloc;m.push(L0);var m0=f0.options&&f0.options.ranges;if(typeof D0.yy.parseError==="function")this.parseError=D0.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function h0(n){i.length=i.length-2*n,$.length=$.length-n,m.length=m.length-n}X(h0,"popStack");function _0(){var n=a.pop()||f0.lex()||B0;if(typeof n!=="number"){if(n instanceof Array)a=n,n=a.pop();n=j.symbols_[n]||n}return n}X(_0,"lex");var w0,x0,T0,J0,F0,u0,Z0={},X0,W0,Y0,a0;while(!0){if(T0=i[i.length-1],this.defaultActions[T0])J0=this.defaultActions[T0];else{if(w0===null||typeof w0>"u")w0=_0();J0=y[T0]&&y[T0][w0]}if(typeof J0>"u"||!J0.length||!J0[0]){var K0="";a0=[];for(X0 in y[T0])if(this.terminals_[X0]&&X0>b0)a0.push("'"+this.terminals_[X0]+"'");if(f0.showPosition)K0="Parse error on line "+(_+1)+`:
`+f0.showPosition()+`
Expecting `+a0.join(", ")+", got '"+(this.terminals_[w0]||w0)+"'";else K0="Parse error on line "+(_+1)+": Unexpected "+(w0==B0?"end of input":"'"+(this.terminals_[w0]||w0)+"'");this.parseError(K0,{text:f0.match,token:this.terminals_[w0]||w0,line:f0.yylineno,loc:L0,expected:a0})}if(J0[0]instanceof Array&&J0.length>1)throw Error("Parse Error: multiple actions possible at state: "+T0+", token: "+w0);switch(J0[0]){case 1:if(i.push(w0),$.push(f0.yytext),m.push(f0.yylloc),i.push(J0[1]),w0=null,!x0){if(e=f0.yyleng,r=f0.yytext,_=f0.yylineno,L0=f0.yylloc,p>0)p--}else w0=x0,x0=null;break;case 2:if(W0=this.productions_[J0[1]][1],Z0.$=$[$.length-W0],Z0._$={first_line:m[m.length-(W0||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(W0||1)].first_column,last_column:m[m.length-1].last_column},m0)Z0._$.range=[m[m.length-(W0||1)].range[0],m[m.length-1].range[1]];if(u0=this.performAction.apply(Z0,[r,e,_,D0.yy,J0[1],$,m].concat(k0)),typeof u0<"u")return u0;if(W0)i=i.slice(0,-1*W0*2),$=$.slice(0,-1*W0),m=m.slice(0,-1*W0);i.push(this.productions_[J0[1]][0]),$.push(Z0.$),m.push(Z0._$),Y0=y[i[i.length-2]][i[i.length-1]],i.push(Y0);break;case 3:return!0}}return!0},"parse")},h=function(){var O={EOF:1,parseError:X(function(j,i){if(this.yy.parser)this.yy.parser.parseError(j,i);else throw Error(j)},"parseError"),setInput:X(function(V,j){if(this.yy=j||this.yy||{},this._input=V,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var V=this._input[0];this.yytext+=V,this.yyleng++,this.offset++,this.match+=V,this.matched+=V;var j=V.match(/(?:\r\n?|\n).*/g);if(j)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),V},"input"),unput:X(function(V){var j=V.length,i=V.split(/(?:\r\n?|\n)/g);this._input=V+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j),this.offset-=j;var a=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1)this.yylineno-=i.length-1;var $=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-j},this.options.ranges)this.yylloc.range=[$[0],$[0]+this.yyleng-j];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(V){this.unput(this.match.slice(V))},"less"),pastInput:X(function(){var V=this.matched.substr(0,this.matched.length-this.match.length);return(V.length>20?"...":"")+V.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var V=this.match;if(V.length<20)V+=this._input.substr(0,20-V.length);return(V.substr(0,20)+(V.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var V=this.pastInput(),j=Array(V.length+1).join("-");return V+this.upcomingInput()+`
`+j+"^"},"showPosition"),test_match:X(function(V,j){var i,a,$;if(this.options.backtrack_lexer){if($={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)$.yylloc.range=this.yylloc.range.slice(0)}if(a=V[0].match(/(?:\r\n?|\n).*/g),a)this.yylineno+=a.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+V[0].length},this.yytext+=V[0],this.match+=V[0],this.matches=V,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(V[0].length),this.matched+=V[0],i=this.performAction.call(this,this.yy,this,j,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(i)return i;else if(this._backtrack){for(var m in $)this[m]=$[m];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var V,j,i,a;if(!this._more)this.yytext="",this.match="";var $=this._currentRules();for(var m=0;m<$.length;m++)if(i=this._input.match(this.rules[$[m]]),i&&(!j||i[0].length>j[0].length)){if(j=i,a=m,this.options.backtrack_lexer)if(V=this.test_match(i,$[m]),V!==!1)return V;else if(this._backtrack){j=!1;continue}else return!1;else if(!this.options.flex)break}if(j){if(V=this.test_match(j,$[a]),V!==!1)return V;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var j=this.next();if(j)return j;else return this.lex()},"lex"),begin:X(function(j){this.conditionStack.push(j)},"begin"),popState:X(function(){var j=this.conditionStack.length-1;if(j>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(j){if(j=this.conditionStack.length-1-Math.abs(j||0),j>=0)return this.conditionStack[j];else return"INITIAL"},"topState"),pushState:X(function(j){this.begin(j)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(j,i,a,$){var m=$;switch(a){case 0:break;case 1:break;case 2:return this.popState(),36;break;case 3:return this.popState(),36;break;case 4:return 36;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 33;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 29;case 25:return this.popState(),26;break;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 44;case 33:return"COLON";case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 44:break;case 45:return 37;case 46:return 38}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\})/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return O}();Y.lexer=h;function I(){this.yy={}}return X(I,"Parser"),I.prototype=Y,Y.Parser=I,new I}();eD0.parser=eD0;Mi4=eD0;X(uF0,"isBarPlot");X(Ac,"isBandAxisData");X(ML,"isLinearAxisData");e9u=class{constructor(u){this.parentGroup=u}static{X(this,"TextDimensionCalculatorWithFont")}getMaxDimension(u,B){if(!this.parentGroup)return{width:u.reduce((C,D)=>Math.max(D.length,C),0)*B,height:B};let E={width:0,height:0},A=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",B);for(let C of u){let D=c30(A,1,C),F=D?D.width:C.length*B,U=D?D.height:B;E.width=Math.max(E.width,F),E.height=Math.max(E.height,U)}return A.remove(),E}},u2u=class{constructor(u,B,E,A){this.axisConfig=u,this.title=B,this.textDimensionCalculator=E,this.axisThemeConfig=A,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}static{X(this,"BaseAxis")}setRange(u){if(this.range=u,this.axisPosition==="left"||this.axisPosition==="right")this.boundingRect.height=u[1]-u[0];else this.boundingRect.width=u[1]-u[0];this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(u){this.axisPosition=u,this.setRange(this.range)}getTickDistance(){let u=this.getRange();return Math.abs(u[0]-u[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map((u)=>u.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){if(o9u*this.getTickDistance()>this.outerPadding*2)this.outerPadding=Math.floor(o9u*this.getTickDistance()/2);this.recalculateScale()}calculateSpaceIfDrawnHorizontally(u){let B=u.height;if(this.axisConfig.showAxisLine&&B>this.axisConfig.axisLineWidth)B-=this.axisConfig.axisLineWidth,this.showAxisLine=!0;if(this.axisConfig.showLabel){let E=this.getLabelDimension(),A=t9u*u.width;this.outerPadding=Math.min(E.width/2,A);let C=E.height;if(this.axisPosition==="bottom"&&this.normalizedLabelRotationInRad!==0)C=Math.max(C,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*E.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*E.height));if(C+=this.axisConfig.labelPadding*2,this.labelTextHeight=E.height,C<=B)B-=C,this.showLabel=!0}if(this.axisConfig.showTick&&B>=this.axisConfig.tickLength)this.showTick=!0,B-=this.axisConfig.tickLength;if(this.axisConfig.showTitle&&this.title){let E=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),A=E.height+this.axisConfig.titlePadding*2;if(this.titleTextHeight=E.height,A<=B)B-=A,this.showTitle=!0}this.boundingRect.width=u.width,this.boundingRect.height=u.height-B}calculateSpaceIfDrawnVertical(u){let B=u.width;if(this.axisConfig.showAxisLine&&B>this.axisConfig.axisLineWidth)B-=this.axisConfig.axisLineWidth,this.showAxisLine=!0;if(this.axisConfig.showLabel){let E=this.getLabelDimension(),A=t9u*u.height;this.outerPadding=Math.min(E.height/2,A);let C=E.width+this.axisConfig.labelPadding*2;if(C<=B)B-=C,this.showLabel=!0}if(this.axisConfig.showTick&&B>=this.axisConfig.tickLength)this.showTick=!0,B-=this.axisConfig.tickLength;if(this.axisConfig.showTitle&&this.title){let E=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),A=E.height+this.axisConfig.titlePadding*2;if(this.titleTextHeight=E.height,A<=B)B-=A,this.showTitle=!0}this.boundingRect.width=u.width-B,this.boundingRect.height=u.height}calculateSpace(u){if(this.axisPosition==="left"||this.axisPosition==="right")this.calculateSpaceIfDrawnVertical(u);else this.calculateSpaceIfDrawnHorizontally(u);return this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(u){this.boundingRect.x=u.x,this.boundingRect.y=u.y}calculateOffsetByRotation(u){let B=this.normalizedLabelRotationInRad;if(B===0)return 0;return Math.sin(B)*this.getLabelDimension()[u]/2}getDrawableElementsForLeftAxis(){let u=[];if(this.showAxisLine){let B=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;u.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${B},${this.boundingRect.y} L ${B},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel)u.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map((B)=>({text:B.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(B),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))});if(this.showTick){let B=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);u.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map((E)=>({path:`M ${B},${this.getScaleValue(E)} L ${B-this.axisConfig.tickLength},${this.getScaleValue(E)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}if(this.showTitle)u.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]});return u}getDrawableElementsForBottomAxis(){let u=[];if(this.showAxisLine){let B=this.boundingRect.y+this.axisConfig.axisLineWidth/2;u.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${B} L ${this.boundingRect.x+this.boundingRect.width},${B}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel)u.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map((B)=>({text:B.toString(),x:this.getScaleValue(B)+this.calculateOffsetByRotation("height"),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation("width")),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:this.normalizedLabelRotationInRad*180/Math.PI,verticalPos:"top",horizontalPos:"center"}))});if(this.showTick){let B=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);u.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map((E)=>({path:`M ${this.getScaleValue(E)},${B} L ${this.getScaleValue(E)},${B+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}if(this.showTitle)u.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]});return u}getDrawableElementsForTopAxis(){let u=[];if(this.showAxisLine){let B=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;u.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${B} L ${this.boundingRect.x+this.boundingRect.width},${B}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel)u.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map((B)=>({text:B.toString(),x:this.getScaleValue(B),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))});if(this.showTick){let B=this.boundingRect.y;u.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map((E)=>({path:`M ${this.getScaleValue(E)},${B+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(E)},${B+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}if(this.showTitle)u.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]});return u}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");if(this.axisPosition==="bottom")return this.getDrawableElementsForBottomAxis();if(this.axisPosition==="top")return this.getDrawableElementsForTopAxis();return[]}},bi4=class extends u2u{static{X(this,"BandAxis")}constructor(u,B,E,A,C){super(u,A,C,B);this.categories=E,this.scale=LH().domain(this.categories).range(this.getRange())}setRange(u){super.setRange(u)}recalculateScale(){this.scale=LH().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(0.5),z0.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(u){return this.scale(u)??this.getRange()[0]}},Zi4=class extends u2u{static{X(this,"LinearAxis")}constructor(u,B,E,A,C){super(u,A,C,B);this.domain=E,this.scale=HC().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let u=[...this.domain];if(this.axisPosition==="left")u.reverse();this.scale=HC().domain(u).range(this.getRange())}getScaleValue(u){return this.scale(u)}};X(BF0,"getAxis");Ji4=class{constructor(u,B,E,A){this.textDimensionCalculator=u,this.chartConfig=B,this.chartData=E,this.chartThemeConfig=A,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{X(this,"ChartTitle")}setBoundingBoxXY(u){this.boundingRect.x=u.x,this.boundingRect.y=u.y}calculateSpace(u){let B=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),E=Math.max(B.width,u.width),A=B.height+2*this.chartConfig.titlePadding;if(B.width<=E&&B.height<=A&&this.chartConfig.showTitle&&this.chartData.title)this.boundingRect.width=E,this.boundingRect.height=A,this.showChartTitle=!0;return{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let u=[];if(this.showChartTitle)u.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]});return u}};X(B2u,"getChartTitleComponent");Ki4=class{constructor(u,B,E,A,C){this.plotData=u,this.xAxis=B,this.yAxis=E,this.orientation=A,this.plotIndex=C}static{X(this,"LinePlot")}getDrawableElement(){let u=this.plotData.data.map((A)=>[this.xAxis.getScaleValue(A[0]),this.yAxis.getScaleValue(A[1])]),B;if(this.orientation==="horizontal")B=vC().y((A)=>A[0]).x((A)=>A[1])(u);else B=vC().x((A)=>A[0]).y((A)=>A[1])(u);if(!B)return[];let E=[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:B,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){let D=[];for(let[F,[U,z]]of u.entries()){let k=this.plotData.pointLabels[F];if(!k)continue;if(this.orientation==="horizontal")D.push({x:z+10,y:U,text:k,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"left",fontSize:12,rotation:0});else D.push({x:U,y:z-10,text:k,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"center",fontSize:12,rotation:0})}if(D.length>0)E.push({groupTexts:["plot",`line-plot-${this.plotIndex}`,"labels"],type:"text",data:D})}return E}},wi4=class{constructor(u,B,E,A,C,D){this.barData=u,this.boundingRect=B,this.xAxis=E,this.yAxis=A,this.orientation=C,this.plotIndex=D}static{X(this,"BarPlot")}getDrawableElement(){let u=this.barData.data.map((C)=>[this.xAxis.getScaleValue(C[0]),this.yAxis.getScaleValue(C[1])]),B=0.05,E=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*0.95,A=E/2;if(this.orientation==="horizontal")return[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:u.map((C)=>({x:this.boundingRect.x,y:C[0]-A,height:E,width:C[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}];return[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:u.map((C)=>({x:C[0]-A,y:C[1],width:E,height:this.boundingRect.y+this.boundingRect.height-C[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},Qi4=class{constructor(u,B,E){this.chartConfig=u,this.chartData=B,this.chartThemeConfig=E,this.boundingRect={x:0,y:0,width:0,height:0}}static{X(this,"BasePlot")}setAxes(u,B){this.xAxis=u,this.yAxis=B}setBoundingBoxXY(u){this.boundingRect.x=u.x,this.boundingRect.y=u.y}calculateSpace(u){return this.boundingRect.width=u.width,this.boundingRect.height=u.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let u=[];for(let[B,E]of this.chartData.plots.entries())switch(E.type){case"line":{let A=new Ki4(E,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,B);u.push(...A.getDrawableElement())}break;case"bar":{let A=new wi4(E,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,B);u.push(...A.getDrawableElement())}break}return u}};X(E2u,"getPlotComponent");Gi4=class{constructor(u,B,E,A){this.chartConfig=u,this.chartData=B,this.componentStore={title:B2u(u,B,E,A),plot:E2u(u,B,E),xAxis:BF0(B.xAxis,u.xAxis,{titleColor:E.xAxisTitleColor,labelColor:E.xAxisLabelColor,tickColor:E.xAxisTickColor,axisLineColor:E.xAxisLineColor},A),yAxis:BF0(B.yAxis,u.yAxis,{titleColor:E.yAxisTitleColor,labelColor:E.yAxisLabelColor,tickColor:E.yAxisTickColor,axisLineColor:E.yAxisLineColor},A)}}static{X(this,"Orchestrator")}calculateVerticalSpace(){let u=this.chartConfig.width,B=this.chartConfig.height,E=0,A=0,C=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),D=Math.floor(B*this.chartConfig.plotReservedSpacePercent/100),F=this.componentStore.plot.calculateSpace({width:C,height:D});if(u-=F.width,B-=F.height,F=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:B}),A=F.height,B-=F.height,this.componentStore.xAxis.setAxisPosition("bottom"),F=this.componentStore.xAxis.calculateSpace({width:u,height:B}),B-=F.height,this.componentStore.yAxis.setAxisPosition("left"),F=this.componentStore.yAxis.calculateSpace({width:u,height:B}),E=F.width,u-=F.width,u>0)C+=u,u=0;if(B>0)D+=B,B=0;if(this.componentStore.plot.calculateSpace({width:C,height:D}),this.componentStore.plot.setBoundingBoxXY({x:E,y:A}),this.componentStore.xAxis.setRange([E,E+C]),this.componentStore.xAxis.setBoundingBoxXY({x:E,y:A+D}),this.componentStore.yAxis.setRange([A,A+D]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:A}),this.chartData.plots.some((U)=>uF0(U)))this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let u=this.chartConfig.width,B=this.chartConfig.height,E=0,A=0,C=0,D=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),F=Math.floor(B*this.chartConfig.plotReservedSpacePercent/100),U=this.componentStore.plot.calculateSpace({width:D,height:F});if(u-=U.width,B-=U.height,U=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:B}),E=U.height,B-=U.height,this.componentStore.xAxis.setAxisPosition("left"),U=this.componentStore.xAxis.calculateSpace({width:u,height:B}),u-=U.width,A=U.width,this.componentStore.yAxis.setAxisPosition("top"),U=this.componentStore.yAxis.calculateSpace({width:u,height:B}),B-=U.height,C=E+U.height,u>0)D+=u,u=0;if(B>0)F+=B,B=0;if(this.componentStore.plot.calculateSpace({width:D,height:F}),this.componentStore.plot.setBoundingBoxXY({x:A,y:C}),this.componentStore.yAxis.setRange([A,A+D]),this.componentStore.yAxis.setBoundingBoxXY({x:A,y:E}),this.componentStore.xAxis.setRange([C,C+F]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:C}),this.chartData.plots.some((z)=>uF0(z)))this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){if(this.chartConfig.chartOrientation==="horizontal")this.calculateHorizontalSpace();else this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let u=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let B of Object.values(this.componentStore))u.push(...B.getDrawableElements());return u}},Hi4=class{static{X(this,"XYChartBuilder")}static build(u,B,E,A){return new Gi4(u,B,E,A).getDrawableElement()}},tR=DF0(),eR=CF0(),O1=FF0(),EF0=eR.plotColorPalette.split(",").map((u)=>u.trim());X(CF0,"getChartDefaultThemeConfig");X(DF0,"getChartDefaultConfig");X(FF0,"getChartDefaultData");X(uT,"textSanitizer");X(C2u,"setTmpSVGG");X(D2u,"setOrientation");X(F2u,"setXAxisTitle");X(UF0,"setXAxisRangeData");X(U2u,"setXAxisBand");X(z2u,"setYAxisTitle");X(k2u,"setYAxisRangeData");X(f2u,"setYAxisRangeFromPlotData");X(zF0,"transformDataWithoutCategory");X(kF0,"getPlotColorFromPalette");X(M2u,"setLineData");X(b2u,"setBarData");X(Z2u,"getDrawableElem");X(J2u,"getChartThemeConfig");X(K2u,"getChartConfig");X(w2u,"getXYChartData");qi4=X(function(){D3(),oR=0,tR=DF0(),O1=FF0(),eR=CF0(),EF0=eR.plotColorPalette.split(",").map((u)=>u.trim()),Cc=!1,AF0=!1},"clear"),li4={getDrawableElem:Z2u,clear:qi4,setAccTitle:w3,getAccTitle:q3,setDiagramTitle:T3,getDiagramTitle:X3,getAccDescription:L3,setAccDescription:l3,setOrientation:D2u,setXAxisTitle:F2u,setXAxisRangeData:UF0,setXAxisBand:U2u,setYAxisTitle:z2u,setYAxisRangeData:k2u,setLineData:M2u,setBarData:b2u,setTmpSVGG:C2u,getChartThemeConfig:J2u,getChartConfig:K2u,getXYChartData:w2u},Li4=X((u,B,E,A)=>{let C=A.db,D=C.getChartThemeConfig(),F=C.getChartConfig(),U=C.getXYChartData().plots[0].data.map((H)=>H[1]);function z(H){return H==="top"?"text-before-edge":"middle"}X(z,"getDominantBaseLine");function k(H){return H==="left"?"start":H==="right"?"end":"middle"}X(k,"getTextAnchor");function f(H){return`translate(${H.x}, ${H.y}) rotate(${H.rotation||0})`}X(f,"getTextTransformation"),z0.debug(`Rendering xychart chart
`+u);let M=h1(B),b=M.append("g").attr("class","main"),Z=b.append("rect").attr("width",F.width).attr("height",F.height).attr("class","background");g3(M,F.height,F.width,!0),M.attr("viewBox",`0 0 ${F.width} ${F.height}`),Z.attr("fill",D.backgroundColor),C.setTmpSVGG(M.append("g").attr("class","mermaid-tmp-group"));let J=C.getDrawableElem(),K={};function w(H){let l=b,q="";for(let[L]of H.entries()){let v=b;if(L>0&&K[q])v=K[q];if(q+=H[L],l=K[q],!l)l=K[q]=v.append("g").attr("class",H[L])}return l}X(w,"getGroup");for(let H of J){if(H.data.length===0)continue;let l=w(H.groupTexts);switch(H.type){case"rect":if(l.selectAll("rect").data(H.data).enter().append("rect").attr("x",(q)=>q.x).attr("y",(q)=>q.y).attr("width",(q)=>q.width).attr("height",(q)=>q.height).attr("fill",(q)=>q.fill).attr("stroke",(q)=>q.strokeFill).attr("stroke-width",(q)=>q.strokeWidth),F.showDataLabel){let q=F.showDataLabelOutsideBar;if(F.chartOrientation==="horizontal"){let L=function(Y,h){let{data:I,label:O}=Y;return h*O.length*v<=I.width-x};var Q=L;X(L,"fitsHorizontally");let v=0.7,x=10,S=H.data.map((Y,h)=>({data:Y,label:U[h].toString()})).filter((Y)=>Y.data.width>0&&Y.data.height>0),W=S.map((Y)=>{let{data:h}=Y,I=h.height*0.7;while(!L(Y,I)&&I>0)I-=1;return I}),T=Math.floor(Math.min(...W)),R=X((Y)=>{if(q)return Y.data.x+Y.data.width+x;else return Y.data.x+Y.data.width-x},"determineLabelXPosition");l.selectAll("text").data(S).enter().append("text").attr("x",R).attr("y",(Y)=>Y.data.y+Y.data.height/2).attr("text-anchor",q?"start":"end").attr("dominant-baseline","middle").attr("fill",D.dataLabelColor).attr("font-size",`${T}px`).text((Y)=>Y.label)}else{let L=function(R,Y,h){let{data:I,label:O}=R,V=0.7,j=Y*O.length*0.7,i=I.x+I.width/2,a=i-j/2,$=i+j/2,m=a>=I.x&&$<=I.x+I.width,y=I.y+h+Y<=I.y+I.height;return m&&y};var G=L;X(L,"fitsInBar");let v=10,x=H.data.map((R,Y)=>({data:R,label:U[Y].toString()})).filter((R)=>R.data.width>0&&R.data.height>0),S=x.map((R)=>{let{data:Y,label:h}=R,I=Y.width/(h.length*0.7);while(!L(R,I,v)&&I>0)I-=1;return I}),W=Math.floor(Math.min(...S)),T=X((R)=>{if(q)return R.data.y-v;else return R.data.y+v},"determineLabelYPosition");l.selectAll("text").data(x).enter().append("text").attr("x",(R)=>R.data.x+R.data.width/2).attr("y",T).attr("text-anchor","middle").attr("dominant-baseline",q?"auto":"hanging").attr("fill",D.dataLabelColor).attr("font-size",`${W}px`).text((R)=>R.label)}}break;case"text":l.selectAll("text").data(H.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",(q)=>q.fill).attr("font-size",(q)=>q.fontSize).attr("dominant-baseline",(q)=>z(q.verticalPos)).attr("text-anchor",(q)=>k(q.horizontalPos)).attr("transform",(q)=>f(q)).text((q)=>q.text);break;case"path":l.selectAll("path").data(H.data).enter().append("path").attr("d",(q)=>q.path).attr("fill",(q)=>q.fill?q.fill:"none").attr("stroke",(q)=>q.strokeFill).attr("stroke-width",(q)=>q.strokeWidth);break}}},"draw"),Xi4={draw:Li4},vi4={parser:Mi4,db:li4,renderer:Xi4}});var q2u={};ju(q2u,{diagram:()=>Oi4});var fF0,xi4,Wi4,Si4,Yi4,Ri4,H2u,Ti4,Oi4;var l2u=g(()=>{qE();x8();L8();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();fF0=function(){var u=X(function(K0,n,d,q0){for(d=d||{},q0=K0.length;q0--;d[K0[q0]]=n);return d},"o"),B=[1,3],E=[1,4],A=[1,5],C=[1,6],D=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],F=[1,22],U=[2,7],z=[1,26],k=[1,27],f=[1,28],M=[1,29],b=[1,33],Z=[1,34],J=[1,35],K=[1,36],w=[1,37],Q=[1,38],G=[1,24],H=[1,31],l=[1,32],q=[1,30],L=[1,39],v=[1,40],x=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],S=[1,61],W=[89,90],T=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],R=[27,29],Y=[1,70],h=[1,71],I=[1,72],O=[1,73],V=[1,74],j=[1,75],i=[1,76],a=[1,83],$=[1,80],m=[1,84],y=[1,85],r=[1,86],_=[1,87],e=[1,88],p=[1,89],b0=[1,90],B0=[1,91],k0=[1,92],f0=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],D0=[63,64],P0=[1,101],L0=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],m0=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],h0=[1,110],_0=[1,106],w0=[1,107],x0=[1,108],T0=[1,109],J0=[1,111],F0=[1,116],u0=[1,117],Z0=[1,114],X0=[1,115],W0={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:X(function(n,d,q0,o,l0,E0,$0){var g0=E0.length-1;switch(l0){case 4:this.$=E0[g0].trim(),o.setAccTitle(this.$);break;case 5:case 6:this.$=E0[g0].trim(),o.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:o.setDirection("TB");break;case 18:o.setDirection("BT");break;case 19:o.setDirection("RL");break;case 20:o.setDirection("LR");break;case 21:o.addRequirement(E0[g0-3],E0[g0-4]);break;case 22:o.addRequirement(E0[g0-5],E0[g0-6]),o.setClass([E0[g0-5]],E0[g0-3]);break;case 23:o.setNewReqId(E0[g0-2]);break;case 24:o.setNewReqText(E0[g0-2]);break;case 25:o.setNewReqRisk(E0[g0-2]);break;case 26:o.setNewReqVerifyMethod(E0[g0-2]);break;case 29:this.$=o.RequirementType.REQUIREMENT;break;case 30:this.$=o.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=o.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=o.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=o.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=o.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=o.RiskLevel.LOW_RISK;break;case 36:this.$=o.RiskLevel.MED_RISK;break;case 37:this.$=o.RiskLevel.HIGH_RISK;break;case 38:this.$=o.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=o.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=o.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=o.VerifyType.VERIFY_TEST;break;case 42:o.addElement(E0[g0-3]);break;case 43:o.addElement(E0[g0-5]),o.setClass([E0[g0-5]],E0[g0-3]);break;case 44:o.setNewElementType(E0[g0-2]);break;case 45:o.setNewElementDocRef(E0[g0-2]);break;case 48:o.addRelationship(E0[g0-2],E0[g0],E0[g0-4]);break;case 49:o.addRelationship(E0[g0-2],E0[g0-4],E0[g0]);break;case 50:this.$=o.Relationships.CONTAINS;break;case 51:this.$=o.Relationships.COPIES;break;case 52:this.$=o.Relationships.DERIVES;break;case 53:this.$=o.Relationships.SATISFIES;break;case 54:this.$=o.Relationships.VERIFIES;break;case 55:this.$=o.Relationships.REFINES;break;case 56:this.$=o.Relationships.TRACES;break;case 57:this.$=E0[g0-2],o.defineClass(E0[g0-1],E0[g0]);break;case 58:o.setClass(E0[g0-1],E0[g0]);break;case 59:o.setClass([E0[g0-2]],E0[g0]);break;case 60:case 62:this.$=[E0[g0]];break;case 61:case 63:this.$=E0[g0-2].concat([E0[g0]]);break;case 64:this.$=E0[g0-2],o.setCssStyle(E0[g0-1],E0[g0]);break;case 65:this.$=[E0[g0]];break;case 66:E0[g0-2].push(E0[g0]),this.$=E0[g0-2];break;case 68:this.$=E0[g0-1]+E0[g0];break}},"anonymous"),table:[{3:1,4:2,6:B,9:E,11:A,13:C},{1:[3]},{3:8,4:2,5:[1,7],6:B,9:E,11:A,13:C},{5:[1,9]},{10:[1,10]},{12:[1,11]},u(D,[2,6]),{3:12,4:2,6:B,9:E,11:A,13:C},{1:[2,2]},{4:17,5:F,7:13,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},u(D,[2,4]),u(D,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:F,7:42,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:43,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:44,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:45,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:46,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:47,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:48,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:49,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{4:17,5:F,7:50,8:U,9:E,11:A,13:C,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:z,22:k,23:f,24:M,25:23,33:25,41:b,42:Z,43:J,44:K,45:w,46:Q,54:G,72:H,74:l,77:q,89:L,90:v},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},u(x,[2,17]),u(x,[2,18]),u(x,[2,19]),u(x,[2,20]),{30:60,33:62,75:S,89:L,90:v},{30:63,33:62,75:S,89:L,90:v},{30:64,33:62,75:S,89:L,90:v},u(W,[2,29]),u(W,[2,30]),u(W,[2,31]),u(W,[2,32]),u(W,[2,33]),u(W,[2,34]),u(T,[2,81]),u(T,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},u(R,[2,79]),u(R,[2,80]),{27:[1,67],29:[1,68]},u(R,[2,85]),u(R,[2,86]),{62:69,65:Y,66:h,67:I,68:O,69:V,70:j,71:i},{62:77,65:Y,66:h,67:I,68:O,69:V,70:j,71:i},{30:78,33:62,75:S,89:L,90:v},{73:79,75:a,76:$,78:81,79:82,80:m,81:y,82:r,83:_,84:e,85:p,86:b0,87:B0,88:k0},u(f0,[2,60]),u(f0,[2,62]),{73:93,75:a,76:$,78:81,79:82,80:m,81:y,82:r,83:_,84:e,85:p,86:b0,87:B0,88:k0},{30:94,33:62,75:S,76:$,89:L,90:v},{5:[1,95]},{30:96,33:62,75:S,89:L,90:v},{5:[1,97]},{30:98,33:62,75:S,89:L,90:v},{63:[1,99]},u(D0,[2,50]),u(D0,[2,51]),u(D0,[2,52]),u(D0,[2,53]),u(D0,[2,54]),u(D0,[2,55]),u(D0,[2,56]),{64:[1,100]},u(x,[2,59],{76:$}),u(x,[2,64],{76:P0}),{33:103,75:[1,102],89:L,90:v},u(L0,[2,65],{79:104,75:a,80:m,81:y,82:r,83:_,84:e,85:p,86:b0,87:B0,88:k0}),u(m0,[2,67]),u(m0,[2,69]),u(m0,[2,70]),u(m0,[2,71]),u(m0,[2,72]),u(m0,[2,73]),u(m0,[2,74]),u(m0,[2,75]),u(m0,[2,76]),u(m0,[2,77]),u(m0,[2,78]),u(x,[2,57],{76:P0}),u(x,[2,58],{76:$}),{5:h0,28:105,31:_0,34:w0,36:x0,38:T0,40:J0},{27:[1,112],76:$},{5:F0,40:u0,56:113,57:Z0,59:X0},{27:[1,118],76:$},{33:119,89:L,90:v},{33:120,89:L,90:v},{75:a,78:121,79:82,80:m,81:y,82:r,83:_,84:e,85:p,86:b0,87:B0,88:k0},u(f0,[2,61]),u(f0,[2,63]),u(m0,[2,68]),u(x,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:h0,28:126,31:_0,34:w0,36:x0,38:T0,40:J0},u(x,[2,28]),{5:[1,127]},u(x,[2,42]),{32:[1,128]},{32:[1,129]},{5:F0,40:u0,56:130,57:Z0,59:X0},u(x,[2,47]),{5:[1,131]},u(x,[2,48]),u(x,[2,49]),u(L0,[2,66],{79:104,75:a,80:m,81:y,82:r,83:_,84:e,85:p,86:b0,87:B0,88:k0}),{33:132,89:L,90:v},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},u(x,[2,27]),{5:h0,28:145,31:_0,34:w0,36:x0,38:T0,40:J0},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},u(x,[2,46]),{5:F0,40:u0,56:152,57:Z0,59:X0},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},u(x,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},u(x,[2,43]),{5:h0,28:159,31:_0,34:w0,36:x0,38:T0,40:J0},{5:h0,28:160,31:_0,34:w0,36:x0,38:T0,40:J0},{5:h0,28:161,31:_0,34:w0,36:x0,38:T0,40:J0},{5:h0,28:162,31:_0,34:w0,36:x0,38:T0,40:J0},{5:F0,40:u0,56:163,57:Z0,59:X0},{5:F0,40:u0,56:164,57:Z0,59:X0},u(x,[2,23]),u(x,[2,24]),u(x,[2,25]),u(x,[2,26]),u(x,[2,44]),u(x,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:X(function(n,d){if(d.recoverable)this.trace(n);else{var q0=Error(n);throw q0.hash=d,q0}},"parseError"),parse:X(function(n){var d=this,q0=[0],o=[],l0=[null],E0=[],$0=this.table,g0="",n0=0,c0=0,Bu=0,p0=2,e0=1,t0=E0.slice.call(arguments,1),zu=Object.create(this.lexer),S0={yy:{}};for(var yu in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,yu))S0.yy[yu]=this.yy[yu];if(zu.setInput(n,S0.yy),S0.yy.lexer=zu,S0.yy.parser=this,typeof zu.yylloc>"u")zu.yylloc={};var V0=zu.yylloc;E0.push(V0);var xu=zu.options&&zu.options.ranges;if(typeof S0.yy.parseError==="function")this.parseError=S0.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function gu($u){q0.length=q0.length-2*$u,l0.length=l0.length-$u,E0.length=E0.length-$u}X(gu,"popStack");function Du(){var $u=o.pop()||zu.lex()||e0;if(typeof $u!=="number"){if($u instanceof Array)o=$u,$u=o.pop();$u=d.symbols_[$u]||$u}return $u}X(Du,"lex");var Nu,du,Iu,v0,Tu,iu,Ju={},I0,Mu,qu,Ru;while(!0){if(Iu=q0[q0.length-1],this.defaultActions[Iu])v0=this.defaultActions[Iu];else{if(Nu===null||typeof Nu>"u")Nu=Du();v0=$0[Iu]&&$0[Iu][Nu]}if(typeof v0>"u"||!v0.length||!v0[0]){var S4="";Ru=[];for(I0 in $0[Iu])if(this.terminals_[I0]&&I0>p0)Ru.push("'"+this.terminals_[I0]+"'");if(zu.showPosition)S4="Parse error on line "+(n0+1)+`:
`+zu.showPosition()+`
Expecting `+Ru.join(", ")+", got '"+(this.terminals_[Nu]||Nu)+"'";else S4="Parse error on line "+(n0+1)+": Unexpected "+(Nu==e0?"end of input":"'"+(this.terminals_[Nu]||Nu)+"'");this.parseError(S4,{text:zu.match,token:this.terminals_[Nu]||Nu,line:zu.yylineno,loc:V0,expected:Ru})}if(v0[0]instanceof Array&&v0.length>1)throw Error("Parse Error: multiple actions possible at state: "+Iu+", token: "+Nu);switch(v0[0]){case 1:if(q0.push(Nu),l0.push(zu.yytext),E0.push(zu.yylloc),q0.push(v0[1]),Nu=null,!du){if(c0=zu.yyleng,g0=zu.yytext,n0=zu.yylineno,V0=zu.yylloc,Bu>0)Bu--}else Nu=du,du=null;break;case 2:if(Mu=this.productions_[v0[1]][1],Ju.$=l0[l0.length-Mu],Ju._$={first_line:E0[E0.length-(Mu||1)].first_line,last_line:E0[E0.length-1].last_line,first_column:E0[E0.length-(Mu||1)].first_column,last_column:E0[E0.length-1].last_column},xu)Ju._$.range=[E0[E0.length-(Mu||1)].range[0],E0[E0.length-1].range[1]];if(iu=this.performAction.apply(Ju,[g0,c0,n0,S0.yy,v0[1],l0,E0].concat(t0)),typeof iu<"u")return iu;if(Mu)q0=q0.slice(0,-1*Mu*2),l0=l0.slice(0,-1*Mu),E0=E0.slice(0,-1*Mu);q0.push(this.productions_[v0[1]][0]),l0.push(Ju.$),E0.push(Ju._$),qu=$0[q0[q0.length-2]][q0[q0.length-1]],q0.push(qu);break;case 3:return!0}}return!0},"parse")},Y0=function(){var K0={EOF:1,parseError:X(function(d,q0){if(this.yy.parser)this.yy.parser.parseError(d,q0);else throw Error(d)},"parseError"),setInput:X(function(n,d){if(this.yy=d||this.yy||{},this._input=n,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var d=n.match(/(?:\r\n?|\n).*/g);if(d)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),n},"input"),unput:X(function(n){var d=n.length,q0=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var o=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),q0.length-1)this.yylineno-=q0.length-1;var l0=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:q0?(q0.length===o.length?this.yylloc.first_column:0)+o[o.length-q0.length].length-q0[0].length:this.yylloc.first_column-d},this.options.ranges)this.yylloc.range=[l0[0],l0[0]+this.yyleng-d];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(n){this.unput(this.match.slice(n))},"less"),pastInput:X(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var n=this.match;if(n.length<20)n+=this._input.substr(0,20-n.length);return(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var n=this.pastInput(),d=Array(n.length+1).join("-");return n+this.upcomingInput()+`
`+d+"^"},"showPosition"),test_match:X(function(n,d){var q0,o,l0;if(this.options.backtrack_lexer){if(l0={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)l0.yylloc.range=this.yylloc.range.slice(0)}if(o=n[0].match(/(?:\r\n?|\n).*/g),o)this.yylineno+=o.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-o[o.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],q0=this.performAction.call(this,this.yy,this,d,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(q0)return q0;else if(this._backtrack){for(var E0 in l0)this[E0]=l0[E0];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var n,d,q0,o;if(!this._more)this.yytext="",this.match="";var l0=this._currentRules();for(var E0=0;E0<l0.length;E0++)if(q0=this._input.match(this.rules[l0[E0]]),q0&&(!d||q0[0].length>d[0].length)){if(d=q0,o=E0,this.options.backtrack_lexer)if(n=this.test_match(q0,l0[E0]),n!==!1)return n;else if(this._backtrack){d=!1;continue}else return!1;else if(!this.options.flex)break}if(d){if(n=this.test_match(d,l0[o]),n!==!1)return n;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var d=this.next();if(d)return d;else return this.lex()},"lex"),begin:X(function(d){this.conditionStack.push(d)},"begin"),popState:X(function(){var d=this.conditionStack.length-1;if(d>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(d){if(d=this.conditionStack.length-1-Math.abs(d||0),d>=0)return this.conditionStack[d];else return"INITIAL"},"topState"),pushState:X(function(d){this.begin(d)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(d,q0,o,l0){var E0=l0;switch(o){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return q0.yytext=q0.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return K0}();W0.lexer=Y0;function a0(){this.yy={}}return X(a0,"Parser"),a0.prototype=W0,W0.Parser=a0,new a0}();fF0.parser=fF0;xi4=fF0,Wi4=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=w3,this.getAccTitle=q3,this.setAccDescription=l3,this.getAccDescription=L3,this.setDiagramTitle=T3,this.getDiagramTitle=X3,this.getConfig=X(()=>y0().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{X(this,"RequirementDB")}getDirection(){return this.direction}setDirection(u){this.direction=u}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(u,B){if(!this.requirements.has(u))this.requirements.set(u,{name:u,type:B,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]});return this.resetLatestRequirement(),this.requirements.get(u)}getRequirements(){return this.requirements}setNewReqId(u){if(this.latestRequirement!==void 0)this.latestRequirement.requirementId=u}setNewReqText(u){if(this.latestRequirement!==void 0)this.latestRequirement.text=u}setNewReqRisk(u){if(this.latestRequirement!==void 0)this.latestRequirement.risk=u}setNewReqVerifyMethod(u){if(this.latestRequirement!==void 0)this.latestRequirement.verifyMethod=u}addElement(u){if(!this.elements.has(u))this.elements.set(u,{name:u,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),z0.info("Added new element: ",u);return this.resetLatestElement(),this.elements.get(u)}getElements(){return this.elements}setNewElementType(u){if(this.latestElement!==void 0)this.latestElement.type=u}setNewElementDocRef(u){if(this.latestElement!==void 0)this.latestElement.docRef=u}addRelationship(u,B,E){this.relations.push({type:u,src:B,dst:E})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,D3()}setCssStyle(u,B){for(let E of u){let A=this.requirements.get(E)??this.elements.get(E);if(!B||!A)return;for(let C of B)if(C.includes(","))A.cssStyles.push(...C.split(","));else A.cssStyles.push(C)}}setClass(u,B){for(let E of u){let A=this.requirements.get(E)??this.elements.get(E);if(A)for(let C of B){A.classes.push(C);let D=this.classes.get(C)?.styles;if(D)A.cssStyles.push(...D)}}}defineClass(u,B){for(let E of u){let A=this.classes.get(E);if(A===void 0)A={id:E,styles:[],textStyles:[]},this.classes.set(E,A);if(B)B.forEach(function(C){if(/color/.exec(C)){let D=C.replace("fill","bgFill");A.textStyles.push(D)}A.styles.push(C)});this.requirements.forEach((C)=>{if(C.classes.includes(E))C.cssStyles.push(...B.flatMap((D)=>D.split(",")))}),this.elements.forEach((C)=>{if(C.classes.includes(E))C.cssStyles.push(...B.flatMap((D)=>D.split(",")))})}}getClasses(){return this.classes}getData(){let u=y0(),B=[],E=[];for(let A of this.requirements.values()){let C=A;C.id=A.name,C.cssStyles=A.cssStyles,C.cssClasses=A.classes.join(" "),C.shape="requirementBox",C.look=u.look,C.colorIndex=B.length,B.push(C)}for(let A of this.elements.values()){let C=A;C.shape="requirementBox",C.look=u.look,C.id=A.name,C.cssStyles=A.cssStyles,C.cssClasses=A.classes.join(" "),C.colorIndex=B.length,B.push(C)}for(let A of this.relations){let C=0,D=A.type===this.Relationships.CONTAINS,F={id:`${A.src}-${A.dst}-${C}`,start:this.requirements.get(A.src)?.name??this.elements.get(A.src)?.name,end:this.requirements.get(A.dst)?.name??this.elements.get(A.dst)?.name,label:`&lt;&lt;${A.type}&gt;&gt;`,classes:"relationshipLine",style:["fill:none",D?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:D?"normal":"dashed",arrowTypeStart:D?"requirement_contains":"",arrowTypeEnd:D?"":"requirement_arrow",look:u.look,labelType:"markdown"};E.push(F),C++}return{nodes:B,edges:E,other:{},config:u,direction:this.getDirection()}}},Si4=X((u)=>{let B=F4(),{themeVariables:E,look:A}=B,{bkgColorArray:C,borderColorArray:D}=E;if(!D?.length)return"";let F="";for(let U=0;U<u.THEME_COLOR_LIMIT;U++)F+=`
[data-look="${A}"][data-color-id="color-${U}"].node path {
stroke: ${D[U]};
fill: ${C?.length?C[U]:""};
}
[data-look="${A}"][data-color-id="color-${U}"].node rect {
stroke: ${D[U]};
fill: ${C?.length?C[U]:""};
}
`;return F},"genColor"),Yi4=X((u)=>{let B=F4(),{look:E,themeVariables:A}=B,{requirementEdgeLabelBackground:C}=A;return`
${Si4(u)}
marker {
fill: ${u.relationColor};
stroke: ${u.relationColor};
}
marker.cross {
stroke: ${u.lineColor};
}
svg {
font-family: ${u.fontFamily};
font-size: ${u.fontSize};
}
.reqBox {
fill: ${u.requirementBackground};
fill-opacity: 1.0;
stroke: ${u.requirementBorderColor};
stroke-width: ${u.requirementBorderSize};
}
.reqTitle, .reqLabel{
fill: ${u.requirementTextColor};
}
.reqLabelBox {
fill: ${u.relationLabelBackground};
fill-opacity: 1.0;
}
.req-title-line {
stroke: ${u.requirementBorderColor};
stroke-width: ${u.requirementBorderSize};
}
.relationshipLine {
stroke: ${u.relationColor};
stroke-width: ${E==="neo"?u.strokeWidth:"1px"};
}
.relationshipLabel {
fill: ${u.relationLabelColor};
}
.edgeLabel {
background-color: ${u.edgeLabelBackground};
}
.edgeLabel .label rect {
fill: ${u.edgeLabelBackground};
}
.edgeLabel .label text {
fill: ${u.relationLabelColor};
}
.divider {
stroke: ${u.nodeBorder};
stroke-width: 1;
}
.label {
font-family: ${u.fontFamily};
color: ${u.nodeTextColor||u.textColor};
}
.label text,span {
fill: ${u.nodeTextColor||u.textColor};
color: ${u.nodeTextColor||u.textColor};
}
.labelBkg {
background-color: ${C??u.edgeLabelBackground};
}
`},"getStyles"),Ri4=Yi4,H2u={};jf(H2u,{draw:()=>Ti4});Ti4=X(async function(u,B,E,A){z0.info("REF0:"),z0.info("Drawing requirement diagram (unified)",B);let{securityLevel:C,state:D,layout:F,look:U}=y0(),z=A.db.getData(),k=LA(B,C);z.type=A.type,z.layoutAlgorithm=eF(F),z.nodeSpacing=D?.nodeSpacing??50,z.rankSpacing=D?.rankSpacing??50,z.markers=U==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],z.diagramId=B,await QA(z,k);let f=8;R4.insertTitle(k,"requirementDiagramTitleText",D?.titleTopMargin??25,A.db.getDiagramTitle()),v8(k,f,"requirementDiagram",D?.useMaxWidth??!0)},"draw"),Oi4={parser:xi4,get db(){return new Wi4},renderer:H2u,styles:Ri4}});var N2u={};ju(N2u,{diagram:()=>Wa4});async function Y2u(u,B){_u.bumpVerticalPos(10);let{startx:E,stopx:A,message:C}=B,D=ru.splitBreaks(C).length,F=D9(C),U=F?await CH(C,y0()):R4.calculateTextDimensions(C,uQ(Uu));if(!F){let M=U.height/D;B.height+=M,_u.bumpVerticalPos(M)}let z,k=U.height-10,f=U.width;if(E===A){if(z=_u.getVerticalPos()+k,!Uu.rightAngles)k+=Uu.boxMargin,z=_u.getVerticalPos()+k;k+=30;let M=ru.getMax(f/2,Uu.width/2);_u.insert(E-M,_u.getVerticalPos()-10+k,A+M,_u.getVerticalPos()+30+k)}else k+=Uu.boxMargin,z=_u.getVerticalPos()+k,_u.insert(E,z-10,A,z);return _u.bumpVerticalPos(k),B.height+=k,B.stopy=B.starty+B.height,_u.insert(B.fromBounds,B.starty,B.toBounds,B.stopy),z}function tC(u,B,E,A,C){_u.bumpVerticalPos(E);let D=A;if(B.id&&B.message&&u[B.id]){let F=u[B.id].width,U=uQ(Uu);B.message=R4.wrapLabel(`[${B.message}]`,F-2*Uu.wrapPadding,U),B.width=F,B.wrap=!0;let z=R4.calculateTextDimensions(B.message,U),k=ru.getMax(z.height,Uu.labelBoxHeight);D=A+k,z0.debug(`${k} - ${B.message}`)}C(B),_u.bumpVerticalPos(D)}function O2u(u,B,E,A,C,D,F){function U(f,M){if(f.x<C.get(u.from).x)_u.insert(B.stopx-M,B.starty,B.startx,B.stopy+f.height/2+Uu.noteMargin),B.stopx=B.stopx+M;else _u.insert(B.startx,B.starty,B.stopx+M,B.stopy+f.height/2+Uu.noteMargin),B.stopx=B.stopx-M}X(U,"receiverAdjustment");function z(f,M){if(f.x<C.get(u.to).x)_u.insert(B.startx-M,B.starty,B.stopx,B.stopy+f.height/2+Uu.noteMargin),B.startx=B.startx+M;else _u.insert(B.stopx,B.starty,B.startx+M,B.stopy+f.height/2+Uu.noteMargin),B.startx=B.startx-M}X(z,"senderAdjustment");let k=[Dc.ACTOR,Dc.CONTROL,Dc.ENTITY,Dc.DATABASE];if(D.get(u.to)==A){let f=C.get(u.to),M=k.includes(f.type)?tw/2+3:f.width/2+3;U(f,M),f.starty=E-f.height/2,_u.bumpVerticalPos(f.height/2)}else if(F.get(u.from)==A){let f=C.get(u.from);if(Uu.mirrorActors){let M=k.includes(f.type)?tw/2:f.width/2;z(f,M)}f.stopy=E-f.height/2,_u.bumpVerticalPos(f.height/2)}else if(F.get(u.to)==A){let f=C.get(u.to);if(Uu.mirrorActors){let M=k.includes(f.type)?tw/2+3:f.width/2+3;U(f,M)}f.stopy=E-f.height/2,_u.bumpVerticalPos(f.height/2)}}async function I2u(u,B,E){let A={};for(let C of B)if(u.get(C.to)&&u.get(C.from)){let D=u.get(C.to);if(C.placement===E.db.PLACEMENT.LEFTOF&&!D.prevActor)continue;if(C.placement===E.db.PLACEMENT.RIGHTOF&&!D.nextActor)continue;let F=C.placement!==void 0,U=!F,z=F?bL(Uu):uQ(Uu),k=C.wrap?R4.wrapLabel(C.message,Uu.width-2*Uu.wrapPadding,z):C.message,M=(D9(k)?await CH(C.message,y0()):R4.calculateTextDimensions(k,z)).width+2*Uu.wrapPadding;if(U&&C.from===D.nextActor)A[C.to]=ru.getMax(A[C.to]||0,M);else if(U&&C.from===D.prevActor)A[C.from]=ru.getMax(A[C.from]||0,M);else if(U&&C.from===C.to)A[C.from]=ru.getMax(A[C.from]||0,M/2),A[C.to]=ru.getMax(A[C.to]||0,M/2);else if(C.placement===E.db.PLACEMENT.RIGHTOF)A[C.from]=ru.getMax(A[C.from]||0,M);else if(C.placement===E.db.PLACEMENT.LEFTOF)A[D.prevActor]=ru.getMax(A[D.prevActor]||0,M);else if(C.placement===E.db.PLACEMENT.OVER){if(D.prevActor)A[D.prevActor]=ru.getMax(A[D.prevActor]||0,M/2);if(D.nextActor)A[C.from]=ru.getMax(A[C.from]||0,M/2)}}return z0.debug("maxMessageWidthPerActor:",A),A}async function P2u(u,B,E){let A=0;for(let D of u.keys()){let F=u.get(D);if(F.wrap)F.description=R4.wrapLabel(F.description,Uu.width-2*Uu.wrapPadding,ZF0(Uu));let U=D9(F.description)?await CH(F.description,y0()):R4.calculateTextDimensions(F.description,ZF0(Uu));F.width=F.wrap?Uu.width:ru.getMax(Uu.width,U.width+2*Uu.wrapPadding),F.height=F.wrap?ru.getMax(U.height,Uu.height):Uu.height,A=ru.getMax(A,F.height)}for(let D in B){let F=u.get(D);if(!F)continue;let U=u.get(F.nextActor);if(!U){let M=B[D]+Uu.actorMargin-F.width/2;F.margin=ru.getMax(M,Uu.actorMargin);continue}let k=B[D]+Uu.actorMargin-F.width/2-U.width/2;F.margin=ru.getMax(k,Uu.actorMargin)}let C=0;return E.forEach((D)=>{let F=uQ(Uu),U=D.actorKeys.reduce((M,b)=>{return M+=u.get(b).width+(u.get(b).margin||0)},0),z=Uu.boxMargin*8;if(U+=z,U-=2*Uu.boxTextMargin,D.wrap)D.name=R4.wrapLabel(D.name,U-2*Uu.wrapPadding,F);let k=R4.calculateTextDimensions(D.name,F);C=ru.getMax(k.height,C);let f=ru.getMax(U,k.width+2*Uu.wrapPadding);if(D.margin=Uu.boxTextMargin,U<f){let M=(f-U)/2;D.margin+=M}}),E.forEach((D)=>D.textMaxHeight=C),ru.getMax(A,Uu.height)}var KF0,bF0,Ii4,Pi4,ji4,Ni4,Dc,Vi4,hi4,ii4,tw=36,ab="actor-top",mb="actor-bottom",Uc="actor-box",ew="actor-man",mk,BT,ai4,zc,Fc,ZL,v2u,U1=-1,x2u,mi4,$i4,yi4,ri4,gi4,ci4,_i4,pi4,ni4,di4,si4,oi4,ti4,W2u,ei4,ua4,Ba4,Ea4,Aa4,Ca4,Da4,Fa4,S2u,Ua4,$k,za4,ka4,fa4,Ma4,ba4,N6,Uu,_u,Za4,L2u,uQ,bL,ZF0,Ja4,Ka4,JF0,R2u,T2u,kc,X2u,wa4,Qa4,Ga4,Ha4=4,qa4=6,MF0,la4,j2u,La4,Xa4,va4,xa4,Wa4;var V2u=g(()=>{ym();EK();HE();e3();s4();o4();Y4();V3();KF0=Eu(VH(),1),bF0=function(){var u=X(function(c0,Bu,p0,e0){for(p0=p0||{},e0=c0.length;e0--;p0[c0[e0]]=Bu);return p0},"o"),B=[1,2],E=[1,3],A=[1,4],C=[2,4],D=[1,9],F=[1,11],U=[1,12],z=[1,14],k=[1,15],f=[1,17],M=[1,18],b=[1,19],Z=[1,25],J=[1,26],K=[1,27],w=[1,28],Q=[1,29],G=[1,30],H=[1,31],l=[1,32],q=[1,33],L=[1,34],v=[1,35],x=[1,36],S=[1,37],W=[1,38],T=[1,39],R=[1,40],Y=[1,42],h=[1,43],I=[1,44],O=[1,45],V=[1,46],j=[1,47],i=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],a=[1,74],$=[1,80],m=[1,81],y=[1,82],r=[1,83],_=[1,84],e=[1,85],p=[1,86],b0=[1,87],B0=[1,88],k0=[1,89],f0=[1,90],D0=[1,91],P0=[1,92],L0=[1,93],m0=[1,94],h0=[1,95],_0=[1,96],w0=[1,97],x0=[1,98],T0=[1,99],J0=[1,100],F0=[1,101],u0=[1,102],Z0=[1,103],X0=[1,104],W0=[1,105],Y0=[2,78],a0=[4,5,17,51,53,54],K0=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],n=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],d=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],q0=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],o=[5,52],l0=[70,71,72,73],E0=[1,151],$0={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement:29,title:30,legacy_title:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,loop:37,rect:38,opt:39,alt:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:X(function(Bu,p0,e0,t0,zu,S0,yu){var V0=S0.length-1;switch(zu){case 3:return t0.apply(S0[V0]),S0[V0];break;case 4:case 10:this.$=[];break;case 5:case 11:S0[V0-1].push(S0[V0]),this.$=S0[V0-1];break;case 6:case 7:case 12:case 13:this.$=S0[V0];break;case 8:case 9:case 14:this.$=[];break;case 16:S0[V0].type="createParticipant",this.$=S0[V0];break;case 17:S0[V0-1].unshift({type:"boxStart",boxData:t0.parseBoxData(S0[V0-2])}),S0[V0-1].push({type:"boxEnd",boxText:S0[V0-2]}),this.$=S0[V0-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(S0[V0-2]),sequenceIndexStep:Number(S0[V0-1]),sequenceVisible:!0,signalType:t0.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(S0[V0-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:t0.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:t0.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:t0.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:t0.LINETYPE.ACTIVE_START,actor:S0[V0-1].actor};break;case 24:this.$={type:"activeEnd",signalType:t0.LINETYPE.ACTIVE_END,actor:S0[V0-1].actor};break;case 30:t0.setDiagramTitle(S0[V0].substring(6)),this.$=S0[V0].substring(6);break;case 31:t0.setDiagramTitle(S0[V0].substring(7)),this.$=S0[V0].substring(7);break;case 32:this.$=S0[V0].trim(),t0.setAccTitle(this.$);break;case 33:case 34:this.$=S0[V0].trim(),t0.setAccDescription(this.$);break;case 35:S0[V0-1].unshift({type:"loopStart",loopText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.LOOP_START}),S0[V0-1].push({type:"loopEnd",loopText:S0[V0-2],signalType:t0.LINETYPE.LOOP_END}),this.$=S0[V0-1];break;case 36:S0[V0-1].unshift({type:"rectStart",color:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.RECT_START}),S0[V0-1].push({type:"rectEnd",color:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.RECT_END}),this.$=S0[V0-1];break;case 37:S0[V0-1].unshift({type:"optStart",optText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.OPT_START}),S0[V0-1].push({type:"optEnd",optText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.OPT_END}),this.$=S0[V0-1];break;case 38:S0[V0-1].unshift({type:"altStart",altText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.ALT_START}),S0[V0-1].push({type:"altEnd",signalType:t0.LINETYPE.ALT_END}),this.$=S0[V0-1];break;case 39:S0[V0-1].unshift({type:"parStart",parText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.PAR_START}),S0[V0-1].push({type:"parEnd",signalType:t0.LINETYPE.PAR_END}),this.$=S0[V0-1];break;case 40:S0[V0-1].unshift({type:"parStart",parText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.PAR_OVER_START}),S0[V0-1].push({type:"parEnd",signalType:t0.LINETYPE.PAR_END}),this.$=S0[V0-1];break;case 41:S0[V0-1].unshift({type:"criticalStart",criticalText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.CRITICAL_START}),S0[V0-1].push({type:"criticalEnd",signalType:t0.LINETYPE.CRITICAL_END}),this.$=S0[V0-1];break;case 42:S0[V0-1].unshift({type:"breakStart",breakText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.BREAK_START}),S0[V0-1].push({type:"breakEnd",optText:t0.parseMessage(S0[V0-2]),signalType:t0.LINETYPE.BREAK_END}),this.$=S0[V0-1];break;case 44:this.$=S0[V0-3].concat([{type:"option",optionText:t0.parseMessage(S0[V0-1]),signalType:t0.LINETYPE.CRITICAL_OPTION},S0[V0]]);break;case 46:this.$=S0[V0-3].concat([{type:"and",parText:t0.parseMessage(S0[V0-1]),signalType:t0.LINETYPE.PAR_AND},S0[V0]]);break;case 48:this.$=S0[V0-3].concat([{type:"else",altText:t0.parseMessage(S0[V0-1]),signalType:t0.LINETYPE.ALT_ELSE},S0[V0]]);break;case 49:S0[V0-3].draw="participant",S0[V0-3].type="addParticipant",S0[V0-3].description=t0.parseMessage(S0[V0-1]),this.$=S0[V0-3];break;case 50:S0[V0-1].draw="participant",S0[V0-1].type="addParticipant",this.$=S0[V0-1];break;case 51:S0[V0-3].draw="actor",S0[V0-3].type="addParticipant",S0[V0-3].description=t0.parseMessage(S0[V0-1]),this.$=S0[V0-3];break;case 52:case 57:S0[V0-1].draw="actor",S0[V0-1].type="addParticipant",this.$=S0[V0-1];break;case 53:S0[V0-1].type="destroyParticipant",this.$=S0[V0-1];break;case 54:S0[V0-3].draw="participant",S0[V0-3].type="addParticipant",S0[V0-3].description=t0.parseMessage(S0[V0-1]),this.$=S0[V0-3];break;case 55:S0[V0-1].draw="participant",S0[V0-1].type="addParticipant",this.$=S0[V0-1];break;case 56:S0[V0-3].draw="actor",S0[V0-3].type="addParticipant",S0[V0-3].description=t0.parseMessage(S0[V0-1]),this.$=S0[V0-3];break;case 58:this.$=[S0[V0-1],{type:"addNote",placement:S0[V0-2],actor:S0[V0-1].actor,text:S0[V0]}];break;case 59:S0[V0-2]=[].concat(S0[V0-1],S0[V0-1]).slice(0,2),S0[V0-2][0]=S0[V0-2][0].actor,S0[V0-2][1]=S0[V0-2][1].actor,this.$=[S0[V0-1],{type:"addNote",placement:t0.PLACEMENT.OVER,actor:S0[V0-2].slice(0,2),text:S0[V0]}];break;case 60:this.$=[S0[V0-1],{type:"addLinks",actor:S0[V0-1].actor,text:S0[V0]}];break;case 61:this.$=[S0[V0-1],{type:"addALink",actor:S0[V0-1].actor,text:S0[V0]}];break;case 62:this.$=[S0[V0-1],{type:"addProperties",actor:S0[V0-1].actor,text:S0[V0]}];break;case 63:this.$=[S0[V0-1],{type:"addDetails",actor:S0[V0-1].actor,text:S0[V0]}];break;case 66:this.$=[S0[V0-2],S0[V0]];break;case 67:this.$=S0[V0];break;case 68:this.$=t0.PLACEMENT.LEFTOF;break;case 69:this.$=t0.PLACEMENT.RIGHTOF;break;case 70:this.$=[S0[V0-4],S0[V0-1],{type:"addMessage",from:S0[V0-4].actor,to:S0[V0-1].actor,signalType:S0[V0-3],msg:S0[V0],activate:!0},{type:"activeStart",signalType:t0.LINETYPE.ACTIVE_START,actor:S0[V0-1].actor}];break;case 71:this.$=[S0[V0-4],S0[V0-1],{type:"addMessage",from:S0[V0-4].actor,to:S0[V0-1].actor,signalType:S0[V0-3],msg:S0[V0]},{type:"activeEnd",signalType:t0.LINETYPE.ACTIVE_END,actor:S0[V0-4].actor}];break;case 72:this.$=[S0[V0-4],S0[V0-1],{type:"addMessage",from:S0[V0-4].actor,to:S0[V0-1].actor,signalType:S0[V0-3],msg:S0[V0],activate:!0,centralConnection:t0.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:t0.LINETYPE.CENTRAL_CONNECTION,actor:S0[V0-1].actor}];break;case 73:this.$=[S0[V0-4],S0[V0-1],{type:"addMessage",from:S0[V0-4].actor,to:S0[V0-1].actor,signalType:S0[V0-2],msg:S0[V0],activate:!1,centralConnection:t0.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:t0.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:S0[V0-4].actor}];break;case 74:this.$=[S0[V0-5],S0[V0-1],{type:"addMessage",from:S0[V0-5].actor,to:S0[V0-1].actor,signalType:S0[V0-3],msg:S0[V0],activate:!0,centralConnection:t0.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:t0.LINETYPE.CENTRAL_CONNECTION,actor:S0[V0-1].actor},{type:"centralConnectionReverse",signalType:t0.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:S0[V0-5].actor}];break;case 75:this.$=[S0[V0-3],S0[V0-1],{type:"addMessage",from:S0[V0-3].actor,to:S0[V0-1].actor,signalType:S0[V0-2],msg:S0[V0]}];break;case 76:this.$={type:"addParticipant",actor:S0[V0-1],config:S0[V0]};break;case 77:this.$=S0[V0-1].trim();break;case 78:this.$={type:"addParticipant",actor:S0[V0]};break;case 79:this.$=t0.LINETYPE.SOLID_OPEN;break;case 80:this.$=t0.LINETYPE.DOTTED_OPEN;break;case 81:this.$=t0.LINETYPE.SOLID;break;case 82:this.$=t0.LINETYPE.SOLID_TOP;break;case 83:this.$=t0.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=t0.LINETYPE.STICK_TOP;break;case 85:this.$=t0.LINETYPE.STICK_BOTTOM;break;case 86:this.$=t0.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=t0.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=t0.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=t0.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=t0.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=t0.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=t0.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=t0.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=t0.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=t0.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=t0.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=t0.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=t0.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=t0.LINETYPE.DOTTED;break;case 100:this.$=t0.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=t0.LINETYPE.SOLID_CROSS;break;case 102:this.$=t0.LINETYPE.DOTTED_CROSS;break;case 103:this.$=t0.LINETYPE.SOLID_POINT;break;case 104:this.$=t0.LINETYPE.DOTTED_POINT;break;case 105:this.$=t0.parseMessage(S0[V0].trim().substring(1));break}},"anonymous"),table:[{3:1,4:B,5:E,6:A},{1:[3]},{3:5,4:B,5:E,6:A},{3:6,4:B,5:E,6:A},u([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],C,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},u(i,[2,5]),{9:48,13:13,14:z,15:k,18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},u(i,[2,7]),u(i,[2,8]),u(i,[2,9]),u(i,[2,15]),{13:49,51:W,53:T,54:R},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:j},{23:56,73:j},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},u(i,[2,30]),u(i,[2,31]),{33:[1,62]},{35:[1,63]},u(i,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:a},{23:75,55:76,73:a},{23:77,73:j},{69:78,72:[1,79],78:$,79:m,80:y,81:r,82:_,83:e,84:p,85:b0,86:B0,87:k0,88:f0,89:D0,90:P0,91:L0,92:m0,93:h0,94:_0,95:w0,96:x0,97:T0,98:J0,99:F0,100:u0,101:Z0,102:X0,103:W0},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:j},{23:111,73:j},{23:112,73:j},{23:113,73:j},u([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],Y0),u(i,[2,6]),u(i,[2,16]),u(a0,[2,10],{11:114}),u(i,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},u(i,[2,22]),{5:[1,118]},{5:[1,119]},u(i,[2,25]),u(i,[2,26]),u(i,[2,27]),u(i,[2,28]),u(i,[2,29]),u(i,[2,32]),u(i,[2,33]),u(K0,C,{7:120}),u(K0,C,{7:121}),u(K0,C,{7:122}),u(n,C,{41:123,7:124}),u(d,C,{43:125,7:126}),u(d,C,{7:126,43:127}),u(q0,C,{46:128,7:129}),u(K0,C,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},u(o,Y0,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:j},{69:146,78:$,79:m,80:y,81:r,82:_,83:e,84:p,85:b0,86:B0,87:k0,88:f0,89:D0,90:P0,91:L0,92:m0,93:h0,94:_0,95:w0,96:x0,97:T0,98:J0,99:F0,100:u0,101:Z0,102:X0,103:W0},u(l0,[2,79]),u(l0,[2,80]),u(l0,[2,81]),u(l0,[2,82]),u(l0,[2,83]),u(l0,[2,84]),u(l0,[2,85]),u(l0,[2,86]),u(l0,[2,87]),u(l0,[2,88]),u(l0,[2,89]),u(l0,[2,90]),u(l0,[2,91]),u(l0,[2,92]),u(l0,[2,93]),u(l0,[2,94]),u(l0,[2,95]),u(l0,[2,96]),u(l0,[2,97]),u(l0,[2,98]),u(l0,[2,99]),u(l0,[2,100]),u(l0,[2,101]),u(l0,[2,102]),u(l0,[2,103]),u(l0,[2,104]),{23:147,73:j},{23:149,60:148,73:j},{73:[2,68]},{73:[2,69]},{58:150,104:E0},{58:152,104:E0},{58:153,104:E0},{58:154,104:E0},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:W,53:T,54:R},{5:[1,160]},u(i,[2,20]),u(i,[2,21]),u(i,[2,23]),u(i,[2,24]),{4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,17:[1,161],18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},{4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,17:[1,162],18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},{4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,17:[1,163],18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},{17:[1,164]},{4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,17:[2,47],18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,50:[1,165],51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},{17:[1,166]},{4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,17:[2,45],18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,49:[1,167],51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},{17:[1,168]},{17:[1,169]},{4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,17:[2,43],18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,48:[1,170],51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},{4:D,5:F,8:8,9:10,10:U,13:13,14:z,15:k,17:[1,171],18:16,19:f,22:M,23:41,24:b,25:20,26:21,27:22,28:23,29:24,30:Z,31:J,32:K,34:w,36:Q,37:G,38:H,39:l,40:q,42:L,44:v,45:x,47:S,51:W,53:T,54:R,56:Y,61:h,62:I,63:O,64:V,73:j},{16:[1,172]},u(i,[2,50]),{16:[1,173]},u(i,[2,55]),u(o,[2,76]),{76:[1,174]},{16:[1,175]},u(i,[2,52]),{16:[1,176]},u(i,[2,57]),u(i,[2,53]),{23:177,73:j},{23:178,73:j},{23:179,73:j},{58:180,104:E0},{23:181,72:[1,182],73:j},{58:183,104:E0},{58:184,104:E0},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},u(i,[2,17]),u(a0,[2,11]),{13:186,51:W,53:T,54:R},u(a0,[2,13]),u(a0,[2,14]),u(i,[2,19]),u(i,[2,35]),u(i,[2,36]),u(i,[2,37]),u(i,[2,38]),{16:[1,187]},u(i,[2,39]),{16:[1,188]},u(i,[2,40]),u(i,[2,41]),{16:[1,189]},u(i,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:E0},{58:196,104:E0},{58:197,104:E0},{5:[2,75]},{58:198,104:E0},{23:199,73:j},{5:[2,58]},{5:[2,59]},{23:200,73:j},u(a0,[2,12]),u(n,C,{7:124,41:201}),u(d,C,{7:126,43:202}),u(q0,C,{7:129,46:203}),u(i,[2,49]),u(i,[2,54]),u(o,[2,77]),u(i,[2,51]),u(i,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:E0},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:X(function(Bu,p0){if(p0.recoverable)this.trace(Bu);else{var e0=Error(Bu);throw e0.hash=p0,e0}},"parseError"),parse:X(function(Bu){var p0=this,e0=[0],t0=[],zu=[null],S0=[],yu=this.table,V0="",xu=0,gu=0,Du=0,Nu=2,du=1,Iu=S0.slice.call(arguments,1),v0=Object.create(this.lexer),Tu={yy:{}};for(var iu in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,iu))Tu.yy[iu]=this.yy[iu];if(v0.setInput(Bu,Tu.yy),Tu.yy.lexer=v0,Tu.yy.parser=this,typeof v0.yylloc>"u")v0.yylloc={};var Ju=v0.yylloc;S0.push(Ju);var I0=v0.options&&v0.options.ranges;if(typeof Tu.yy.parseError==="function")this.parseError=Tu.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function Mu(y4){e0.length=e0.length-2*y4,zu.length=zu.length-y4,S0.length=S0.length-y4}X(Mu,"popStack");function qu(){var y4=t0.pop()||v0.lex()||du;if(typeof y4!=="number"){if(y4 instanceof Array)t0=y4,y4=t0.pop();y4=p0.symbols_[y4]||y4}return y4}X(qu,"lex");var Ru,S4,$u,L4,F3,V4,b4={},P4,bu,Lu,pu;while(!0){if($u=e0[e0.length-1],this.defaultActions[$u])L4=this.defaultActions[$u];else{if(Ru===null||typeof Ru>"u")Ru=qu();L4=yu[$u]&&yu[$u][Ru]}if(typeof L4>"u"||!L4.length||!L4[0]){var g4="";pu=[];for(P4 in yu[$u])if(this.terminals_[P4]&&P4>Nu)pu.push("'"+this.terminals_[P4]+"'");if(v0.showPosition)g4="Parse error on line "+(xu+1)+`:
`+v0.showPosition()+`
Expecting `+pu.join(", ")+", got '"+(this.terminals_[Ru]||Ru)+"'";else g4="Parse error on line "+(xu+1)+": Unexpected "+(Ru==du?"end of input":"'"+(this.terminals_[Ru]||Ru)+"'");this.parseError(g4,{text:v0.match,token:this.terminals_[Ru]||Ru,line:v0.yylineno,loc:Ju,expected:pu})}if(L4[0]instanceof Array&&L4.length>1)throw Error("Parse Error: multiple actions possible at state: "+$u+", token: "+Ru);switch(L4[0]){case 1:if(e0.push(Ru),zu.push(v0.yytext),S0.push(v0.yylloc),e0.push(L4[1]),Ru=null,!S4){if(gu=v0.yyleng,V0=v0.yytext,xu=v0.yylineno,Ju=v0.yylloc,Du>0)Du--}else Ru=S4,S4=null;break;case 2:if(bu=this.productions_[L4[1]][1],b4.$=zu[zu.length-bu],b4._$={first_line:S0[S0.length-(bu||1)].first_line,last_line:S0[S0.length-1].last_line,first_column:S0[S0.length-(bu||1)].first_column,last_column:S0[S0.length-1].last_column},I0)b4._$.range=[S0[S0.length-(bu||1)].range[0],S0[S0.length-1].range[1]];if(V4=this.performAction.apply(b4,[V0,gu,xu,Tu.yy,L4[1],zu,S0].concat(Iu)),typeof V4<"u")return V4;if(bu)e0=e0.slice(0,-1*bu*2),zu=zu.slice(0,-1*bu),S0=S0.slice(0,-1*bu);e0.push(this.productions_[L4[1]][0]),zu.push(b4.$),S0.push(b4._$),Lu=yu[e0[e0.length-2]][e0[e0.length-1]],e0.push(Lu);break;case 3:return!0}}return!0},"parse")},g0=function(){var c0={EOF:1,parseError:X(function(p0,e0){if(this.yy.parser)this.yy.parser.parseError(p0,e0);else throw Error(p0)},"parseError"),setInput:X(function(Bu,p0){if(this.yy=p0||this.yy||{},this._input=Bu,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var Bu=this._input[0];this.yytext+=Bu,this.yyleng++,this.offset++,this.match+=Bu,this.matched+=Bu;var p0=Bu.match(/(?:\r\n?|\n).*/g);if(p0)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),Bu},"input"),unput:X(function(Bu){var p0=Bu.length,e0=Bu.split(/(?:\r\n?|\n)/g);this._input=Bu+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p0),this.offset-=p0;var t0=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e0.length-1)this.yylineno-=e0.length-1;var zu=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e0?(e0.length===t0.length?this.yylloc.first_column:0)+t0[t0.length-e0.length].length-e0[0].length:this.yylloc.first_column-p0},this.options.ranges)this.yylloc.range=[zu[0],zu[0]+this.yyleng-p0];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(Bu){this.unput(this.match.slice(Bu))},"less"),pastInput:X(function(){var Bu=this.matched.substr(0,this.matched.length-this.match.length);return(Bu.length>20?"...":"")+Bu.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var Bu=this.match;if(Bu.length<20)Bu+=this._input.substr(0,20-Bu.length);return(Bu.substr(0,20)+(Bu.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var Bu=this.pastInput(),p0=Array(Bu.length+1).join("-");return Bu+this.upcomingInput()+`
`+p0+"^"},"showPosition"),test_match:X(function(Bu,p0){var e0,t0,zu;if(this.options.backtrack_lexer){if(zu={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)zu.yylloc.range=this.yylloc.range.slice(0)}if(t0=Bu[0].match(/(?:\r\n?|\n).*/g),t0)this.yylineno+=t0.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:t0?t0[t0.length-1].length-t0[t0.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Bu[0].length},this.yytext+=Bu[0],this.match+=Bu[0],this.matches=Bu,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(Bu[0].length),this.matched+=Bu[0],e0=this.performAction.call(this,this.yy,this,p0,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(e0)return e0;else if(this._backtrack){for(var S0 in zu)this[S0]=zu[S0];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var Bu,p0,e0,t0;if(!this._more)this.yytext="",this.match="";var zu=this._currentRules();for(var S0=0;S0<zu.length;S0++)if(e0=this._input.match(this.rules[zu[S0]]),e0&&(!p0||e0[0].length>p0[0].length)){if(p0=e0,t0=S0,this.options.backtrack_lexer)if(Bu=this.test_match(e0,zu[S0]),Bu!==!1)return Bu;else if(this._backtrack){p0=!1;continue}else return!1;else if(!this.options.flex)break}if(p0){if(Bu=this.test_match(p0,zu[t0]),Bu!==!1)return Bu;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var p0=this.next();if(p0)return p0;else return this.lex()},"lex"),begin:X(function(p0){this.conditionStack.push(p0)},"begin"),popState:X(function(){var p0=this.conditionStack.length-1;if(p0>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(p0){if(p0=this.conditionStack.length-1-Math.abs(p0||0),p0>=0)return this.conditionStack[p0];else return"INITIAL"},"topState"),pushState:X(function(p0){this.begin(p0)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(p0,e0,t0,zu){var S0=zu;switch(t0){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;break;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;break;case 10:return this.popState(),this.popState(),77;break;case 11:return e0.yytext=e0.yytext.trim(),73;break;case 12:return e0.yytext=e0.yytext.trim(),this.begin("ALIAS"),73;break;case 13:return e0.yytext=e0.yytext.trim(),this.popState(),73;break;case 14:return this.popState(),10;break;case 15:return e0.yytext=e0.yytext.trim(),this.popState(),10;break;case 16:return this.begin("LINE"),15;break;case 17:return this.begin("ID"),51;break;case 18:return this.begin("ID"),53;break;case 19:return 14;case 20:return this.begin("ID"),54;break;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;break;case 22:return this.popState(),this.popState(),5;break;case 23:return this.begin("LINE"),37;break;case 24:return this.begin("LINE"),38;break;case 25:return this.begin("LINE"),39;break;case 26:return this.begin("LINE"),40;break;case 27:return this.begin("LINE"),50;break;case 28:return this.begin("LINE"),42;break;case 29:return this.begin("LINE"),44;break;case 30:return this.begin("LINE"),49;break;case 31:return this.begin("LINE"),45;break;case 32:return this.begin("LINE"),48;break;case 33:return this.begin("LINE"),47;break;case 34:return this.popState(),16;break;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;break;case 45:return this.begin("ID"),24;break;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;break;case 49:return this.popState(),"acc_title_value";break;case 50:return this.begin("acc_descr"),34;break;case 51:return this.popState(),"acc_descr_value";break;case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return e0.yytext=e0.yytext.trim(),73;break;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\/\\\+\()\+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)|-\|\\|-\\|-\/|-\/\/|-\|\/|\/\|-|\\\|-|\/\/-|\\\\-|\/\|-|--\|\\|--|\(\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return c0}();$0.lexer=g0;function n0(){this.yy={}}return X(n0,"Parser"),n0.prototype=$0,$0.Parser=n0,new n0}();bF0.parser=bF0;Ii4=bF0,Pi4={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},ji4={FILLED:0,OPEN:1},Ni4={LEFTOF:0,RIGHTOF:1,OVER:2},Dc={ACTOR:"actor",BOUNDARY:"boundary",COLLECTIONS:"collections",CONTROL:"control",DATABASE:"database",ENTITY:"entity",PARTICIPANT:"participant",QUEUE:"queue"},Vi4=class{constructor(){this.state=new fl(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=w3,this.setAccDescription=l3,this.setDiagramTitle=T3,this.getAccTitle=q3,this.getAccDescription=L3,this.getDiagramTitle=X3,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(y0().wrap),this.LINETYPE=Pi4,this.ARROWTYPE=ji4,this.PLACEMENT=Ni4}static{X(this,"SequenceDB")}addBox(u){this.state.records.boxes.push({name:u.text,wrap:u.wrap??this.autoWrap(),fill:u.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(u,B,E,A,C){let D=this.state.records.currentBox,F;if(C!==void 0){let z;if(!C.includes(`
`))z=`{
`+C+`
}`;else z=C+`
`;F=FM(z,{schema:DM})}if(A=F?.type??A,F?.alias&&(!E||E.text===B))E={text:F.alias,wrap:E?.wrap,type:A};let U=this.state.records.actors.get(u);if(U){if(this.state.records.currentBox&&U.box&&this.state.records.currentBox!==U.box)throw Error(`A same participant should only be defined in one Box: ${U.name} can't be in '${U.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(D=U.box?U.box:this.state.records.currentBox,U.box=D,U&&B===U.name&&E==null)return}if(E?.text==null)E={text:B,type:A};if(A==null||E.text==null)E={text:B,type:A};if(this.state.records.actors.set(u,{box:D,name:B,description:E.text,wrap:E.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:A??"participant"}),this.state.records.prevActor){let z=this.state.records.actors.get(this.state.records.prevActor);if(z)z.nextActor=u}if(this.state.records.currentBox)this.state.records.currentBox.actorKeys.push(u);this.state.records.prevActor=u}activationCount(u){let B,E=0;if(!u)return 0;for(B=0;B<this.state.records.messages.length;B++){if(this.state.records.messages[B].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[B].from===u)E++;if(this.state.records.messages[B].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[B].from===u)E--}return E}addMessage(u,B,E,A){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:u,to:B,message:E.text,wrap:E.wrap??this.autoWrap(),answer:A})}addSignal(u,B,E,A,C=!1,D){if(A===this.LINETYPE.ACTIVE_END){if(this.activationCount(u??"")<1){let U=Error("Trying to inactivate an inactive participant ("+u+")");throw U.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},U}}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:u,to:B,message:E?.text??"",wrap:E?.wrap??this.autoWrap(),type:A,activate:C,centralConnection:D??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some((u)=>u.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(u){return this.state.records.actors.get(u)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(u){this.state.records.wrapEnabled=u}extractWrap(u){if(u===void 0)return{};u=u.trim();let B=/^:?wrap:/.exec(u)!==null?!0:/^:?nowrap:/.exec(u)!==null?!1:void 0;return{cleanedText:(B===void 0?u:u.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:B}}autoWrap(){if(this.state.records.wrapEnabled!==void 0)return this.state.records.wrapEnabled;return y0().sequence?.wrap??!1}clear(){this.state.reset(),D3()}parseMessage(u){let B=u.trim(),{wrap:E,cleanedText:A}=this.extractWrap(B),C={text:A,wrap:E};return z0.debug(`parseMessage: ${JSON.stringify(C)}`),C}parseBoxData(u){let B=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(u),E=B?.[1]?B[1].trim():"transparent",A=B?.[2]?B[2].trim():void 0;if(window?.CSS){if(!window.CSS.supports("color",E))E="transparent",A=u.trim()}else{let F=new Option().style;if(F.color=E,F.color!==E)E="transparent",A=u.trim()}let{wrap:C,cleanedText:D}=this.extractWrap(A);return{text:D?C3(D,y0()):void 0,color:E,wrap:C}}addNote(u,B,E){let A={actor:u,placement:B,message:E.text,wrap:E.wrap??this.autoWrap()},C=[].concat(u,u);this.state.records.notes.push(A),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:C[0],to:C[1],message:E.text,wrap:E.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:B})}addLinks(u,B){let E=this.getActor(u);try{let A=C3(B.text,y0());A=A.replace(/&equals;/g,"="),A=A.replace(/&amp;/g,"&");let C=JSON.parse(A);this.insertLinks(E,C)}catch(A){z0.error("error while parsing actor link text",A)}}addALink(u,B){let E=this.getActor(u);try{let A={},C=C3(B.text,y0()),D=C.indexOf("@");C=C.replace(/&equals;/g,"="),C=C.replace(/&amp;/g,"&");let F=C.slice(0,D-1).trim(),U=C.slice(D+1).trim();A[F]=U,this.insertLinks(E,A)}catch(A){z0.error("error while parsing actor link text",A)}}insertLinks(u,B){if(u.links==null)u.links=B;else for(let E in B)u.links[E]=B[E]}addProperties(u,B){let E=this.getActor(u);try{let A=C3(B.text,y0()),C=JSON.parse(A);this.insertProperties(E,C)}catch(A){z0.error("error while parsing actor properties text",A)}}insertProperties(u,B){if(u.properties==null)u.properties=B;else for(let E in B)u.properties[E]=B[E]}boxEnd(){this.state.records.currentBox=void 0}addDetails(u,B){let E=this.getActor(u),A=document.getElementById(B.text);try{let C=A.innerHTML,D=JSON.parse(C);if(D.properties)this.insertProperties(E,D.properties);if(D.links)this.insertLinks(E,D.links)}catch(C){z0.error("error while parsing actor details text",C)}}getActorProperty(u,B){if(u?.properties!==void 0)return u.properties[B];return}apply(u){if(Array.isArray(u))u.forEach((B)=>{this.apply(B)});else switch(u.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:u.sequenceIndex,step:u.sequenceIndexStep,visible:u.sequenceVisible},wrap:!1,type:u.signalType});break;case"addParticipant":this.addActor(u.actor,u.actor,u.description,u.draw,u.config);break;case"createParticipant":if(this.state.records.actors.has(u.actor))throw Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=u.actor,this.addActor(u.actor,u.actor,u.description,u.draw,u.config),this.state.records.createdActors.set(u.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=u.actor,this.state.records.destroyedActors.set(u.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(u.actor,void 0,void 0,u.signalType);break;case"centralConnection":this.addSignal(u.actor,void 0,void 0,u.signalType);break;case"centralConnectionReverse":this.addSignal(u.actor,void 0,void 0,u.signalType);break;case"activeEnd":this.addSignal(u.actor,void 0,void 0,u.signalType);break;case"addNote":this.addNote(u.actor,u.placement,u.text);break;case"addLinks":this.addLinks(u.actor,u.text);break;case"addALink":this.addALink(u.actor,u.text);break;case"addProperties":this.addProperties(u.actor,u.text);break;case"addDetails":this.addDetails(u.actor,u.text);break;case"addMessage":if(this.state.records.lastCreated)if(u.to!==this.state.records.lastCreated)throw Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");else this.state.records.lastCreated=void 0;else if(this.state.records.lastDestroyed)if(u.to!==this.state.records.lastDestroyed&&u.from!==this.state.records.lastDestroyed)throw Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");else this.state.records.lastDestroyed=void 0;this.addSignal(u.from,u.to,u.msg,u.signalType,u.activate,u.centralConnection);break;case"boxStart":this.addBox(u.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,u.loopText,u.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,u.signalType);break;case"rectStart":this.addSignal(void 0,void 0,u.color,u.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,u.signalType);break;case"optStart":this.addSignal(void 0,void 0,u.optText,u.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,u.signalType);break;case"altStart":this.addSignal(void 0,void 0,u.altText,u.signalType);break;case"else":this.addSignal(void 0,void 0,u.altText,u.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,u.signalType);break;case"setAccTitle":w3(u.text);break;case"parStart":this.addSignal(void 0,void 0,u.parText,u.signalType);break;case"and":this.addSignal(void 0,void 0,u.parText,u.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,u.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,u.criticalText,u.signalType);break;case"option":this.addSignal(void 0,void 0,u.optionText,u.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,u.signalType);break;case"breakStart":this.addSignal(void 0,void 0,u.breakText,u.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,u.signalType);break}}getConfig(){return y0().sequence}},hi4=X((u)=>{let B=u.dropShadow??"none",{look:E}=y0();return`.actor {
stroke: ${u.actorBorder};
fill: ${u.actorBkg};
stroke-width: ${u.strokeWidth??1};
}
rect.actor.outer-path[data-look="neo"] {
filter: ${B};
}
rect.note[data-look="neo"] {
stroke:${u.noteBorderColor};
fill:${u.noteBkgColor};
filter: ${B};
}
text.actor > tspan {
fill: ${u.actorTextColor};
stroke: none;
}
.actor-line {
stroke: ${u.actorLineColor};
}
.innerArc {
stroke-width: 1.5;
stroke-dasharray: none;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: none;
stroke: ${u.signalColor};
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: 2, 2;
stroke: ${u.signalColor};
}
[id$="-arrowhead"] path {
fill: ${u.signalColor};
stroke: ${u.signalColor};
}
.sequenceNumber {
fill: ${u.sequenceNumberColor};
}
[id$="-sequencenumber"] {
fill: ${u.signalColor};
}
[id$="-crosshead"] path {
fill: ${u.signalColor};
stroke: ${u.signalColor};
}
.messageText {
fill: ${u.signalTextColor};
stroke: none;
}
.labelBox {
stroke: ${u.labelBoxBorderColor};
fill: ${u.labelBoxBkgColor};
filter: ${E==="neo"?B:"none"};
}
.labelText, .labelText > tspan {
fill: ${u.labelTextColor};
stroke: none;
}
.loopText, .loopText > tspan {
fill: ${u.loopTextColor};
stroke: none;
}
.sectionTitle, .sectionTitle > tspan {
fill: ${u.loopTextColor};
stroke: none;
}
.loopLine {
stroke-width: 2px;
stroke-dasharray: 2, 2;
stroke: ${u.labelBoxBorderColor};
fill: ${u.labelBoxBorderColor};
}
.note {
//stroke: #decc93;
stroke: ${u.noteBorderColor};
fill: ${u.noteBkgColor};
}
.noteText, .noteText > tspan {
fill: ${u.noteTextColor};
stroke: none;
${u.noteFontWeight?`font-weight: ${u.noteFontWeight};`:""}
}
.activation0 {
fill: ${u.activationBkgColor};
stroke: ${u.activationBorderColor};
}
.activation1 {
fill: ${u.activationBkgColor};
stroke: ${u.activationBorderColor};
}
.activation2 {
fill: ${u.activationBkgColor};
stroke: ${u.activationBorderColor};
}
.actorPopupMenu {
position: absolute;
}
.actorPopupMenuPanel {
position: absolute;
fill: ${u.actorBkg};
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
}
.actor-man circle, line {
fill: ${u.actorBkg};
stroke-width: 2px;
}
g rect.rect {
filter: ${B};
stroke: ${u.nodeBorder};
}
`},"getStyles"),ii4=hi4,mk=new Set(["redux-color","redux-dark-color"]),BT=X(function(u,B){let E=cK(u,B);if(F4().look==="neo")E.attr("data-look","neo");return E},"drawRect"),ai4=X(function(u,B,E,A,C){if(B.links===void 0||B.links===null||Object.keys(B.links).length===0)return{height:0,width:0};let{links:D,actorCnt:F,rectData:U}=B;var z="none";if(C)z="block !important";let k=u.append("g");k.attr("id","actor"+F+"_popup"),k.attr("class","actorPopupMenu"),k.attr("display",z);var f="";if(U.class!==void 0)f=" "+U.class;let M=U.width>E?U.width:E,b=k.append("rect");if(b.attr("class","actorPopupMenuPanel"+f),b.attr("x",U.x),b.attr("y",U.height),b.attr("fill",U.fill),b.attr("stroke",U.stroke),b.attr("width",M),b.attr("height",U.height),b.attr("rx",U.rx),b.attr("ry",U.ry),D!=null){var Z=20;for(let w in D){var J=k.append("a"),K=KF0.sanitizeUrl(D[w]);J.attr("xlink:href",K),J.attr("target","_blank"),za4(A)(w,J,U.x+10,U.height+Z,M,20,{class:"actor"},A),Z+=30}}return b.attr("height",Z),{height:U.height+Z,width:M}},"drawPopup"),zc=X(function(u){return"var pu = document.getElementById('"+u+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),Fc=X(async function(u,B,E=null){let A=u.append("foreignObject"),C=await DH(B.text,F4()),F=A.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(C).node().getBoundingClientRect();if(A.attr("height",Math.round(F.height)).attr("width",Math.round(F.width)),B.class==="noteText"){let U=u.node().firstChild;U.setAttribute("height",F.height+2*B.textMargin);let z=U.getBBox();A.attr("x",Math.round(z.x+z.width/2-F.width/2)).attr("y",Math.round(z.y+z.height/2-F.height/2))}else if(E){let{startx:U,stopx:z,starty:k}=E;if(U>z){let f=U;U=z,z=f}if(A.attr("x",Math.round(U+Math.abs(U-z)/2-F.width/2)),B.class==="loopText")A.attr("y",Math.round(k));else A.attr("y",Math.round(k-F.height))}return[A]},"drawKatex"),ZL=X(function(u,B){let E=0,A=0,C=B.text.split(ru.lineBreakRegex),[D,F]=f8(B.fontSize),U=[],z=0,k=X(()=>B.y,"yfunc");if(B.valign!==void 0&&B.textMargin!==void 0&&B.textMargin>0)switch(B.valign){case"top":case"start":k=X(()=>Math.round(B.y+B.textMargin),"yfunc");break;case"middle":case"center":k=X(()=>Math.round(B.y+(E+A+B.textMargin)/2),"yfunc");break;case"bottom":case"end":k=X(()=>Math.round(B.y+(E+A+2*B.textMargin)-B.textMargin),"yfunc");break}if(B.anchor!==void 0&&B.textMargin!==void 0&&B.width!==void 0)switch(B.anchor){case"left":case"start":B.x=Math.round(B.x+B.textMargin),B.anchor="start",B.dominantBaseline="middle",B.alignmentBaseline="middle";break;case"middle":case"center":B.x=Math.round(B.x+B.width/2),B.anchor="middle",B.dominantBaseline="middle",B.alignmentBaseline="middle";break;case"right":case"end":B.x=Math.round(B.x+B.width-B.textMargin),B.anchor="end",B.dominantBaseline="middle",B.alignmentBaseline="middle";break}for(let[f,M]of C.entries()){if(B.textMargin!==void 0&&B.textMargin===0&&D!==void 0)z=f*D;let b=u.append("text");if(b.attr("x",B.x),b.attr("y",k()),B.anchor!==void 0)b.attr("text-anchor",B.anchor).attr("dominant-baseline",B.dominantBaseline).attr("alignment-baseline",B.alignmentBaseline);if(B.fontFamily!==void 0)b.style("font-family",B.fontFamily);if(F!==void 0)b.style("font-size",F);if(B.fontWeight!==void 0)b.style("font-weight",B.fontWeight);if(B.fill!==void 0)b.attr("fill",B.fill);if(B.class!==void 0)b.attr("class",B.class);if(B.dy!==void 0)b.attr("dy",B.dy);else if(z!==0)b.attr("dy",z);let Z=M||w30;if(B.tspan){let J=b.append("tspan");if(J.attr("x",B.x),B.fill!==void 0)J.attr("fill",B.fill);J.text(Z)}else b.text(Z);if(B.valign!==void 0&&B.textMargin!==void 0&&B.textMargin>0)A+=(b._groups||b)[0][0].getBBox().height,E=A;U.push(b)}return U},"drawText"),v2u=X(function(u,B){function E(C,D,F,U,z){return C+","+D+" "+(C+F)+","+D+" "+(C+F)+","+(D+U-z)+" "+(C+F-z*1.2)+","+(D+U)+" "+C+","+(D+U)}X(E,"genPoints");let A=u.append("polygon");return A.attr("points",E(B.x,B.y,B.width,B.height,7)),A.attr("class","labelBox"),B.y=B.y+B.height/2,ZL(u,B),A},"drawLabel"),x2u=X((u,B,E,A)=>{if(!u.select)return;E.forEach((C)=>{let D=B.get(C),F=u.select("#actor"+D.actorCnt);if(!A.mirrorActors&&D.stopy)F.attr("y2",D.stopy+D.height/2);else if(A.mirrorActors)F.attr("y2",D.stopy)})},"fixLifeLineHeights"),mi4=X(function(u,B,E,A,C){let D=A?B.stopy:B.starty,F=B.x+B.width/2,U=D+B.height,{look:z,theme:k,themeVariables:f}=E,{bkgColorArray:M,borderColorArray:b}=f,Z=u.append("g").lower();var J=Z;if(!A){if(U1++,Object.keys(B.links||{}).length&&!E.forceMenus)J.attr("onclick",zc(`actor${U1}_popup`)).attr("cursor","pointer");if(J.append("line").attr("id","actor"+U1).attr("x1",F).attr("y1",U).attr("x2",F).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),J=Z.append("g"),B.actorCnt=U1,B.links!=null)J.attr("id","root-"+U1);if(z==="neo")J.attr("data-look","neo")}let K=m7();var w="actor";if(B.properties?.class)w=B.properties.class;else K.fill="#eaeaea";if(A)w+=` ${mb}`;else w+=` ${ab}`;if(K.x=B.x,K.y=D,K.width=B.width,K.height=B.height,K.class=w,K.rx=3,K.ry=3,K.name=B.name,z==="neo")K.rx=6,K.ry=6;let Q=BT(J,K),G=C.get(B.name)??0;if(mk.has(k))Q.style("stroke",b[G%b.length]),Q.style("fill",M[G%b.length]);if(z==="neo")Q.attr("filter","url(#drop-shadow)");if(B.rectData=K,B.properties?.icon){let l=B.properties.icon.trim();if(l.charAt(0)==="@")Om(J,K.x+K.width-20,K.y+10,l.substr(1));else Tm(J,K.x+K.width-20,K.y+10,l)}if(!A)J.attr("data-et","participant"),J.attr("data-type","participant"),J.attr("data-id",B.name);$k(E,D9(B.description))(B.description,J,K.x,K.y,K.width,K.height,{class:`actor ${Uc}`},E);let H=B.height;if(Q.node){let l=Q.node().getBBox();B.height=l.height,H=l.height}return H},"drawActorTypeParticipant"),$i4=X(function(u,B,E,A,C){let D=A?B.stopy:B.starty,F=B.x+B.width/2,U=D+B.height,{look:z,theme:k,themeVariables:f}=E,{bkgColorArray:M,borderColorArray:b}=f,Z=u.append("g").lower();var J=Z;if(!A){if(U1++,Object.keys(B.links||{}).length&&!E.forceMenus)J.attr("onclick",zc(`actor${U1}_popup`)).attr("cursor","pointer");if(J.append("line").attr("id","actor"+U1).attr("x1",F).attr("y1",U).attr("x2",F).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),J=Z.append("g"),B.actorCnt=U1,B.links!=null)J.attr("id","root-"+U1);if(z==="neo")J.attr("data-look","neo")}let K=m7();var w="actor";if(B.properties?.class)w=B.properties.class;else K.fill="#eaeaea";if(A)w+=` ${mb}`;else w+=` ${ab}`;K.x=B.x,K.y=D,K.width=B.width,K.height=B.height,K.class=w,K.name=B.name;let Q=6,G={...K,x:K.x+(A?-Q:-Q),y:K.y+(A?+Q:+Q),class:"actor"},H=BT(J,K),l=BT(J,G);if(B.rectData=K,z==="neo")J.attr("filter","url(#drop-shadow)");let q=C.get(B.name)??0;if(mk.has(k))H.style("stroke",b[q%b.length]),H.style("fill",M[q%b.length]),l.style("stroke",b[q%b.length]),l.style("fill",M[q%b.length]);if(B.properties?.icon){let v=B.properties.icon.trim();if(v.charAt(0)==="@")Om(J,K.x+K.width-20,K.y+10,v.substr(1));else Tm(J,K.x+K.width-20,K.y+10,v)}$k(E,D9(B.description))(B.description,J,K.x-Q,K.y+Q,K.width,K.height,{class:`actor ${Uc}`},E);let L=B.height;if(H.node){let v=H.node().getBBox();B.height=v.height,L=v.height}if(!A)J.attr("data-et","participant"),J.attr("data-type","collections"),J.attr("data-id",B.name);return L},"drawActorTypeCollections"),yi4=X(function(u,B,E,A,C){let D=A?B.stopy:B.starty,F=B.x+B.width/2,U=D+B.height,{look:z,theme:k,themeVariables:f}=E,{bkgColorArray:M,borderColorArray:b}=f,Z=u.append("g").lower(),J=Z;if(!A){if(U1++,Object.keys(B.links||{}).length&&!E.forceMenus)J.attr("onclick",zc(`actor${U1}_popup`)).attr("cursor","pointer");if(J.append("line").attr("id","actor"+U1).attr("x1",F).attr("y1",U).attr("x2",F).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),J=Z.append("g"),B.actorCnt=U1,B.links!=null)J.attr("id","root-"+U1);if(z==="neo")J.attr("data-look","neo")}let K=m7(),w="actor";if(B.properties?.class)w=B.properties.class;else K.fill="#eaeaea";if(A)w+=` ${mb}`;else w+=` ${ab}`;J.attr("class",w),K.x=B.x,K.y=D,K.width=B.width,K.height=B.height,K.name=B.name;let Q=K.height/2,G=Q/(2.5+K.height/50),H=J.append("g"),l=J.append("g"),q=`M ${K.x},${K.y+Q}
a ${G},${Q} 0 0 0 0,${K.height}
h ${K.width-2*G}
a ${G},${Q} 0 0 0 0,-${K.height}
Z
`;if(H.append("path").attr("d",q),l.append("path").attr("d",`M ${K.x},${K.y+Q}
a ${G},${Q} 0 0 0 0,${K.height}`),H.attr("transform",`translate(${G}, ${-(K.height/2)})`),l.attr("transform",`translate(${K.width-G}, ${-K.height/2})`),B.rectData=K,z==="neo")H.attr("filter","url(#drop-shadow)");let L=C.get(B.name)??0;if(mk.has(k))H.style("stroke",b[L%b.length]),H.style("fill",M[L%b.length]),l.style("stroke",b[L%b.length]),l.style("fill",M[L%b.length]);if(B.properties?.icon){let S=B.properties.icon.trim(),W=K.x+K.width-20,T=K.y+10;if(S.charAt(0)==="@")Om(J,W,T,S.substr(1));else Tm(J,W,T,S)}$k(E,D9(B.description))(B.description,J,K.x,K.y,K.width,K.height,{class:`actor ${Uc}`},E);let v=B.height,x=H.select("path:last-child");if(x.node()){let S=x.node().getBBox();B.height=S.height,v=S.height}if(!A)J.attr("data-et","participant"),J.attr("data-type","queue"),J.attr("data-id",B.name);return v},"drawActorTypeQueue"),ri4=X(function(u,B,E,A,C,D){let F=A?B.stopy:B.starty,U=B.x+B.width/2,z=F+75,{look:k,theme:f,themeVariables:M}=E,{bkgColorArray:b,borderColorArray:Z,actorBorder:J,actorBkg:K}=M,w=u.append("g").lower();if(!A)U1++,w.append("line").attr("id","actor"+U1).attr("x1",U).attr("y1",z).attr("x2",U).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),B.actorCnt=U1;let Q=u.append("g"),G=ew;if(A)G+=` ${mb}`;else G+=` ${ab}`;Q.attr("class",G),Q.attr("name",B.name);let H=m7();H.x=B.x,H.y=F,H.fill="#eaeaea",H.width=B.width,H.height=B.height,H.class="actor";let l=B.x+B.width/2,q=F+32,L=22;Q.append("defs").append("marker").attr("id",C+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),Q.append("circle").attr("cx",l).attr("cy",q).attr("r",L).attr("filter",`${k==="neo"?"url(#drop-shadow)":""}`),Q.append("line").attr("marker-end","url(#"+C+"-filled-head-control)").attr("transform",`translate(${l}, ${q-L})`);let v=D.get(B.name)??0;if(mk.has(f))Q.style("stroke",Z[v%Z.length]),Q.style("fill",b[v%Z.length]);else Q.style("stroke",J),Q.style("fill",K);let x=Q.node().getBBox();if(B.height=x.height+2*(E?.sequence?.labelBoxHeight??0),$k(E,D9(B.description))(B.description,Q,H.x,H.y+L+(!A?12:5),H.width,H.height,{class:`actor ${ew}`},E),!A)Q.attr("data-et","participant"),Q.attr("data-type","control"),Q.attr("data-id",B.name);return B.height},"drawActorTypeControl"),gi4=X(function(u,B,E,A,C){let D=A?B.stopy:B.starty,F=B.x+B.width/2,U=D+75,{look:z,theme:k,themeVariables:f}=E,{bkgColorArray:M,borderColorArray:b}=f,Z=u.append("g").lower(),J=u.append("g"),K="actor";if(A)K+=` ${mb}`;else K+=` ${ab}`;J.attr("class",K),J.attr("name",B.name);let w=m7();w.x=B.x,w.y=D,w.fill="#eaeaea",w.width=B.width,w.height=B.height,w.class="actor";let Q=B.x+B.width/2,G=D+(!A?25:10),H=22;if(J.append("circle").attr("cx",Q).attr("cy",G).attr("r",H).attr("width",B.width).attr("height",B.height),J.append("line").attr("x1",Q-H).attr("x2",Q+H).attr("y1",G+H).attr("y2",G+H).attr("stroke-width",2),z==="neo")J.attr("filter","url(#drop-shadow)");let l=C.get(B.name)??0;if(mk.has(k))J.style("stroke",b[l%b.length]),J.style("fill",M[l%b.length]);let q=J.node().getBBox();if(B.height=q.height+(E?.sequence?.labelBoxHeight??0),!A)U1++,Z.append("line").attr("id","actor"+U1).attr("x1",F).attr("y1",U).attr("x2",F).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),B.actorCnt=U1;if($k(E,D9(B.description))(B.description,J,w.x,w.y+(!A?30:15),w.width,w.height,{class:`actor ${ew}`},E),!A)J.attr("transform",`translate(0, ${H/2-5})`),J.attr("data-et","participant"),J.attr("data-type","entity"),J.attr("data-id",B.name);else J.attr("transform",`translate(0, ${H})`);return B.height},"drawActorTypeEntity"),ci4=X(function(u,B,E,A,C){let D=A?B.stopy:B.starty,F=B.x+B.width/2,U=D+B.height+2*E.boxTextMargin,{theme:z,themeVariables:k,look:f}=E,{bkgColorArray:M,borderColorArray:b,actorBorder:Z}=k,J=u.append("g").lower(),K=J;if(!A){if(U1++,Object.keys(B.links||{}).length&&!E.forceMenus)K.attr("onclick",zc(`actor${U1}_popup`)).attr("cursor","pointer");if(K.append("line").attr("id","actor"+U1).attr("x1",F).attr("y1",U).attr("x2",F).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),K=J.append("g"),B.actorCnt=U1,B.links!=null)K.attr("id","root-"+U1);if(f==="neo")K.attr("data-look","neo")}let w=m7(),Q="actor";if(B.properties?.class)Q=B.properties.class;else w.fill="#eaeaea";if(A)Q+=` ${mb}`;else Q+=` ${ab}`;w.x=B.x,w.y=D,w.width=B.width,w.height=B.height,w.class=Q,w.name=B.name,w.x=B.x,w.y=D;let G=w.width/3,H=w.width/3,l=G/2,q=l/(2.5+G/50),L=K.append("g");L.attr("class",Q);let v=`
M ${w.x},${w.y+q}
a ${l},${q} 0 0 0 ${G},0
a ${l},${q} 0 0 0 -${G},0
l 0,${H-2*q}
a ${l},${q} 0 0 0 ${G},0
l 0,-${H-2*q}
`;if(L.append("path").attr("d",v),f==="neo")L.attr("filter","url(#drop-shadow)");let x=C.get(B.name)??0;if(mk.has(z))L.style("stroke",b[x%b.length]),L.style("fill",M[x%b.length]);else L.style("stroke",Z);L.attr("transform",`translate(${G}, ${q})`),B.rectData=w,$k(E,D9(B.description))(B.description,K,w.x,w.y+35,w.width,w.height,{class:`actor ${Uc}`},E);let S=L.select("path:last-child");if(S.node()){let W=S.node().getBBox();B.height=W.height+(E.sequence.labelBoxHeight??0)}if(!A)K.attr("data-et","participant"),K.attr("data-type","database"),K.attr("data-id",B.name);return B.height},"drawActorTypeDatabase"),_i4=X(function(u,B,E,A,C){let D=A?B.stopy:B.starty,F=B.x+B.width/2,U=D+80,z=22,k=u.append("g").lower(),{look:f,theme:M,themeVariables:b}=E,{bkgColorArray:Z,borderColorArray:J,actorBorder:K}=b;if(!A)U1++,k.append("line").attr("id","actor"+U1).attr("x1",F).attr("y1",U).attr("x2",F).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),B.actorCnt=U1;let w=u.append("g"),Q=ew;if(A)Q+=` ${mb}`;else Q+=` ${ab}`;w.attr("class",Q),w.attr("name",B.name);let G=m7();if(G.x=B.x,G.y=D,G.fill="#eaeaea",G.width=B.width,G.height=B.height,G.class="actor",w.append("line").attr("id","actor-man-torso"+U1).attr("x1",B.x+B.width/2-55).attr("y1",D+12).attr("x2",B.x+B.width/2-15).attr("y2",D+12),w.append("line").attr("id","actor-man-arms"+U1).attr("x1",B.x+B.width/2-55).attr("y1",D+2).attr("x2",B.x+B.width/2-55).attr("y2",D+22),w.append("circle").attr("cx",B.x+B.width/2).attr("cy",D+12).attr("r",22),f==="neo")w.attr("filter","url(#drop-shadow)");let H=C.get(B.name)??0;if(mk.has(M))w.style("stroke",J[H%J.length]),w.style("fill",Z[H%J.length]);else w.style("stroke",K);let l=w.node().getBBox();if(B.height=l.height+(E.sequence.labelBoxHeight??0),$k(E,D9(B.description))(B.description,w,G.x,G.y+15,G.width,G.height,{class:`actor ${ew}`},E),w.attr("transform","translate(0,21)"),!A)w.attr("data-et","participant"),w.attr("data-type","boundary"),w.attr("data-id",B.name);return B.height},"drawActorTypeBoundary"),pi4=X(function(u,B,E,A,C){let D=A?B.stopy:B.starty,F=B.x+B.width/2,U=D+80,{look:z,theme:k,themeVariables:f}=E,{bkgColorArray:M,borderColorArray:b,actorBorder:Z}=f,J=u.append("g").lower();if(!A)U1++,J.append("line").attr("id","actor"+U1).attr("x1",F).attr("y1",U).attr("x2",F).attr("y2",2000).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",B.name).attr("data-et","life-line").attr("data-id",B.name),B.actorCnt=U1;let K=u.append("g"),w=ew;if(A)w+=` ${mb}`;else w+=` ${ab}`;if(K.attr("class",w),K.attr("name",B.name),!A)K.attr("data-et","participant").attr("data-type","actor").attr("data-id",B.name);let Q=z==="neo"?0.5:1,G=z==="neo"?D+(1-Q)*30:D;K.append("line").attr("id","actor-man-torso"+U1).attr("x1",F).attr("y1",G+25*Q).attr("x2",F).attr("y2",G+45*Q),K.append("line").attr("id","actor-man-arms"+U1).attr("x1",F-tw/2*Q).attr("y1",G+33*Q).attr("x2",F+tw/2*Q).attr("y2",G+33*Q),K.append("line").attr("x1",F-tw/2*Q).attr("y1",G+60*Q).attr("x2",F).attr("y2",G+45*Q),K.append("line").attr("x1",F).attr("y1",G+45*Q).attr("x2",F+(tw/2-2)*Q).attr("y2",G+60*Q);let H=K.append("circle");H.attr("cx",B.x+B.width/2),H.attr("cy",G+10*Q),H.attr("r",15*Q),H.attr("width",B.width*Q),H.attr("height",B.height*Q);let l=K.node().getBBox();B.height=l.height;let q=m7();q.x=B.x,q.y=G,q.fill="#eaeaea",q.width=B.width,q.height=B.height/Q,q.class="actor",q.rx=3,q.ry=3;let L=C.get(B.name)??0;if(mk.has(k))K.style("stroke",b[L%b.length]),K.style("fill",M[L%b.length]);else K.style("stroke",Z);return $k(E,D9(B.description))(B.description,K,q.x,G+35*Q-(z==="neo"?10:0),q.width,q.height,{class:`actor ${ew}`},E),B.height},"drawActorTypeActor"),ni4=X(async function(u,B,E,A,C,D,F){let U=F??new Map([...D.db.getActors().values()].map((z,k)=>[z.name,k]));switch(B.type){case"actor":return await pi4(u,B,E,A,U);case"participant":return await mi4(u,B,E,A,U);case"boundary":return await _i4(u,B,E,A,U);case"control":return await ri4(u,B,E,A,C,U);case"entity":return await gi4(u,B,E,A,U);case"database":return await ci4(u,B,E,A,U);case"collections":return await $i4(u,B,E,A,U);case"queue":return await yi4(u,B,E,A,U)}},"drawActor"),di4=X(function(u,B,E){let C=u.append("g");if(W2u(C,B),B.name)$k(E)(B.name,C,B.x,B.y+E.boxTextMargin+(B.textMaxHeight||0)/2,B.width,0,{class:"text"},E);C.lower()},"drawBox"),si4=X(function(u){return u.append("g")},"anchorElement"),oi4=X(function(u,B,E,A,C,D,F){let{theme:U,themeVariables:z}=A,{bkgColorArray:k,borderColorArray:f,mainBkg:M}=z,b=m7(),Z=B.anchored,J=B.actor;b.x=B.startx,b.y=B.starty,b.class="activation"+C%3,b.width=B.stopx-B.startx,b.height=E-B.starty;let K=BT(Z,b),Q=(F??new Map([...D.db.getActors().values()].map((G,H)=>[G.name,H]))).get(J)??0;if(mk.has(U))K.style("stroke",f[Q%f.length]),K.style("fill",k[Q%f.length]??M)},"drawActivation"),ti4=X(async function(u,B,E,A,C){let{boxMargin:D,boxTextMargin:F,labelBoxHeight:U,labelBoxWidth:z,messageFontFamily:k,messageFontSize:f,messageFontWeight:M}=A,b=u.append("g").attr("data-et","control-structure").attr("data-id","i"+C.id),Z=X(function(w,Q,G,H){return b.append("line").attr("x1",w).attr("y1",Q).attr("x2",G).attr("y2",H).attr("class","loopLine")},"drawLoopLine");if(Z(B.startx,B.starty,B.stopx,B.starty),Z(B.stopx,B.starty,B.stopx,B.stopy),Z(B.startx,B.stopy,B.stopx,B.stopy),Z(B.startx,B.starty,B.startx,B.stopy),B.sections!==void 0)B.sections.forEach(function(w){Z(B.startx,w.y,B.stopx,w.y).style("stroke-dasharray","3, 3")});let J=Im();J.text=E,J.x=B.startx,J.y=B.starty,J.fontFamily=k,J.fontSize=f,J.fontWeight=M,J.anchor="middle",J.valign="middle",J.tspan=!1,J.width=Math.max(z??0,50),J.height=U+(A.look==="neo"?15:0)||20,J.textMargin=F,J.class="labelText",v2u(b,J),J=S2u(),J.text=B.title,J.x=B.startx+z/2+(B.stopx-B.startx)/2,J.y=B.starty+D+F,J.anchor="middle",J.valign="middle",J.textMargin=F,J.class="loopText",J.fontFamily=k,J.fontSize=f,J.fontWeight=M,J.wrap=!0;let K=D9(J.text)?await Fc(b,J,B):ZL(b,J);if(B.sectionTitles!==void 0){for(let[w,Q]of Object.entries(B.sectionTitles))if(Q.message){if(J.text=Q.message,J.x=B.startx+(B.stopx-B.startx)/2,J.y=B.sections[w].y+D+F,J.class="sectionTitle",J.anchor="middle",J.valign="middle",J.tspan=!1,J.fontFamily=k,J.fontSize=f,J.fontWeight=M,J.wrap=B.wrap,D9(J.text))B.starty=B.sections[w].y,await Fc(b,J,B);else ZL(b,J);let G=Math.round(K.map((H)=>(H._groups||H)[0][0].getBBox().height).reduce((H,l)=>H+l));B.sections[w].height+=G-(D+F)}}return B.height=Math.round(B.stopy-B.starty),b},"drawLoop"),W2u=X(function(u,B){Rm(u,B)},"drawBackgroundRect"),ei4=X(function(u,B){u.append("defs").append("symbol").attr("id",B+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),ua4=X(function(u,B){u.append("defs").append("symbol").attr("id",B+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),Ba4=X(function(u,B){u.append("defs").append("symbol").attr("id",B+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),Ea4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),Aa4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),Ca4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),Da4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Fa4=X(function(u,B){let{theme:E}=B;u.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${E==="redux"||E==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),S2u=X(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),Ua4=X(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),$k=function(){function u(D,F,U,z,k,f,M){let b=F.append("text").attr("x",U+k/2).attr("y",z+f/2+5).style("text-anchor","middle").text(D);C(b,M)}X(u,"byText");function B(D,F,U,z,k,f,M,b){let{actorFontSize:Z,actorFontFamily:J,actorFontWeight:K}=b,[w,Q]=f8(Z),G=D.split(ru.lineBreakRegex);for(let H=0;H<G.length;H++){let l=H*w-w*(G.length-1)/2,q=F.append("text").attr("x",U+k/2).attr("y",z).style("text-anchor","middle").style("font-size",Q).style("font-weight",K).style("font-family",J);q.append("tspan").attr("x",U+k/2).attr("dy",l).text(G[H]),q.attr("y",z+f/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),C(q,M)}}X(B,"byTspan");function E(D,F,U,z,k,f,M,b){let Z=F.append("switch"),K=Z.append("foreignObject").attr("x",U).attr("y",z).attr("width",k).attr("height",f).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");K.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(D),B(D,Z,U,z,k,f,M,b),C(K,M)}X(E,"byFo");async function A(D,F,U,z,k,f,M,b){let Z=await CH(D,F4()),J=F.append("switch"),w=J.append("foreignObject").attr("x",U+k/2-Z.width/2).attr("y",z+f/2-Z.height/2).attr("width",Z.width).attr("height",Z.height).append("xhtml:div").style("height","100%").style("width","100%");w.append("div").style("text-align","center").style("vertical-align","middle").html(await DH(D,F4())),B(D,J,U,z,k,f,M,b),C(w,M)}X(A,"byKatex");function C(D,F){for(let U in F)if(F.hasOwnProperty(U))D.attr(U,F[U])}return X(C,"_setTextAttrs"),function(D,F=!1){if(F)return A;return D.textPlacement==="fo"?E:D.textPlacement==="old"?u:B}}(),za4=function(){function u(C,D,F,U,z,k,f){let M=D.append("text").attr("x",F).attr("y",U).style("text-anchor","start").text(C);A(M,f)}X(u,"byText");function B(C,D,F,U,z,k,f,M){let{actorFontSize:b,actorFontFamily:Z,actorFontWeight:J}=M,K=C.split(ru.lineBreakRegex);for(let w=0;w<K.length;w++){let Q=w*b-b*(K.length-1)/2,G=D.append("text").attr("x",F).attr("y",U).style("text-anchor","start").style("font-size",b).style("font-weight",J).style("font-family",Z);G.append("tspan").attr("x",F).attr("dy",Q).text(K[w]),G.attr("y",U+k/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),A(G,f)}}X(B,"byTspan");function E(C,D,F,U,z,k,f,M){let b=D.append("switch"),J=b.append("foreignObject").attr("x",F).attr("y",U).attr("width",z).attr("height",k).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");J.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(C),B(C,b,F,U,z,k,f,M),A(J,f)}X(E,"byFo");function A(C,D){for(let F in D)if(D.hasOwnProperty(F))C.attr(F,D[F])}return X(A,"_setTextAttrs"),function(C){return C.textPlacement==="fo"?E:C.textPlacement==="old"?u:B}}(),ka4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-solidTopArrowHead").attr("refX",7.9).attr("refY",7.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 8 L 0 8 z")},"insertSolidTopArrowHead"),fa4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-solidBottomArrowHead").attr("refX",7.9).attr("refY",0.75).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 0 L 0 8 z")},"insertSolidBottomArrowHead"),Ma4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-stickTopArrowHead").attr("refX",7.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 7 7").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickTopArrowHead"),ba4=X(function(u,B){u.append("defs").append("marker").attr("id",B+"-stickBottomArrowHead").attr("refX",7.5).attr("refY",0).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 7 L 7 0").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickBottomArrowHead"),N6={drawRect:BT,drawText:ZL,drawLabel:v2u,drawActor:ni4,drawBox:di4,drawPopup:ai4,anchorElement:si4,drawActivation:oi4,drawLoop:ti4,drawBackgroundRect:W2u,insertArrowHead:Ea4,insertArrowFilledHead:Aa4,insertSequenceNumber:Ca4,insertArrowCrossHead:Da4,insertDatabaseIcon:ei4,insertComputerIcon:ua4,insertClockIcon:Ba4,getTextObj:S2u,getNoteRect:Ua4,fixLifeLineHeights:x2u,sanitizeUrl:KF0.sanitizeUrl,insertDropShadow:Fa4,insertSolidTopArrowHead:ka4,insertSolidBottomArrowHead:fa4,insertStickTopArrowHead:Ma4,insertStickBottomArrowHead:ba4},Uu={},_u={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:X(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map((u)=>u.height||0))+(this.loops.length===0?0:this.loops.map((u)=>u.height||0).reduce((u,B)=>u+B))+(this.messages.length===0?0:this.messages.map((u)=>u.height||0).reduce((u,B)=>u+B))+(this.notes.length===0?0:this.notes.map((u)=>u.height||0).reduce((u,B)=>u+B))},"getHeight"),clear:X(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:X(function(u){this.boxes.push(u)},"addBox"),addActor:X(function(u){this.actors.push(u)},"addActor"),addLoop:X(function(u){this.loops.push(u)},"addLoop"),addMessage:X(function(u){this.messages.push(u)},"addMessage"),addNote:X(function(u){this.notes.push(u)},"addNote"),lastActor:X(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:X(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:X(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:X(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:X(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,T2u(y0())},"init"),updateVal:X(function(u,B,E,A){if(u[B]===void 0)u[B]=E;else u[B]=A(E,u[B])},"updateVal"),updateBounds:X(function(u,B,E,A){let C=this,D=0;function F(U){return X(function(k){D++;let f=C.sequenceItems.length-D+1;if(C.updateVal(k,"starty",B-f*Uu.boxMargin,Math.min),C.updateVal(k,"stopy",A+f*Uu.boxMargin,Math.max),C.updateVal(_u.data,"startx",u-f*Uu.boxMargin,Math.min),C.updateVal(_u.data,"stopx",E+f*Uu.boxMargin,Math.max),U!=="activation")C.updateVal(k,"startx",u-f*Uu.boxMargin,Math.min),C.updateVal(k,"stopx",E+f*Uu.boxMargin,Math.max),C.updateVal(_u.data,"starty",B-f*Uu.boxMargin,Math.min),C.updateVal(_u.data,"stopy",A+f*Uu.boxMargin,Math.max)},"updateItemBounds")}X(F,"updateFn"),this.sequenceItems.forEach(F()),this.activations.forEach(F("activation"))},"updateBounds"),insert:X(function(u,B,E,A){let C=ru.getMin(u,E),D=ru.getMax(u,E),F=ru.getMin(B,A),U=ru.getMax(B,A);this.updateVal(_u.data,"startx",C,Math.min),this.updateVal(_u.data,"starty",F,Math.min),this.updateVal(_u.data,"stopx",D,Math.max),this.updateVal(_u.data,"stopy",U,Math.max),this.updateBounds(C,F,D,U)},"insert"),newActivation:X(function(u,B,E){let A=E.get(u.from),C=kc(u.from).length||0,D=A.x+A.width/2+(C-1)*Uu.activationWidth/2;this.activations.push({startx:D,starty:this.verticalPos+2,stopx:D+Uu.activationWidth,stopy:void 0,actor:u.from,anchored:N6.anchorElement(B)})},"newActivation"),endActivation:X(function(u){let B=this.activations.map(function(E){return E.actor}).lastIndexOf(u.from);return this.activations.splice(B,1)[0]},"endActivation"),createLoop:X(function(u={message:void 0,wrap:!1,width:void 0},B){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:u.message,wrap:u.wrap,width:u.width,height:0,fill:B}},"createLoop"),newLoop:X(function(u={message:void 0,wrap:!1,width:void 0},B){this.sequenceItems.push(this.createLoop(u,B))},"newLoop"),endLoop:X(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:X(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:X(function(u){let B=this.sequenceItems.pop();B.sections=B.sections||[],B.sectionTitles=B.sectionTitles||[],B.sections.push({y:_u.getVerticalPos(),height:0}),B.sectionTitles.push(u),this.sequenceItems.push(B)},"addSectionToLoop"),saveVerticalPos:X(function(){if(this.isLoopOverlap())this.savedVerticalPos=this.verticalPos},"saveVerticalPos"),resetVerticalPos:X(function(){if(this.isLoopOverlap())this.verticalPos=this.savedVerticalPos},"resetVerticalPos"),bumpVerticalPos:X(function(u){this.verticalPos=this.verticalPos+u,this.data.stopy=ru.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:X(function(){return this.verticalPos},"getVerticalPos"),getBounds:X(function(){return{bounds:this.data,models:this.models}},"getBounds")},Za4=X(async function(u,B,E){_u.bumpVerticalPos(Uu.boxMargin),B.height=Uu.boxMargin,B.starty=_u.getVerticalPos();let A=m7();A.x=B.startx,A.y=B.starty,A.width=B.width||Uu.width,A.class="note";let C=u.append("g");C.attr("data-et","note"),C.attr("data-id","i"+E);let D=N6.drawRect(C,A),F=Im();F.x=B.startx,F.y=B.starty,F.width=A.width,F.dy="1em",F.text=B.message,F.class="noteText",F.fontFamily=Uu.noteFontFamily,F.fontSize=Uu.noteFontSize,F.fontWeight=Uu.noteFontWeight,F.anchor=Uu.noteAlign,F.textMargin=Uu.noteMargin,F.valign="center";let U=D9(F.text)?await Fc(C,F):ZL(C,F),z=Math.round(U.map((k)=>(k._groups||k)[0][0].getBBox().height).reduce((k,f)=>k+f));D.attr("height",z+2*Uu.noteMargin),B.height+=z+2*Uu.noteMargin,_u.bumpVerticalPos(z+2*Uu.noteMargin),B.stopy=B.starty+z+2*Uu.noteMargin,B.stopx=B.startx+A.width,_u.insert(B.startx,B.starty,B.stopx,B.stopy),_u.models.addNote(B)},"drawNote"),L2u=X(function(u,B,E,A,C,D,F){let U=A.db.getActors(),z=U.get(B.from),k=U.get(B.to),f=E.sequenceVisible,M=z.x+z.width/2,b=k.x+k.width/2,Z=M<=b,J=j2u(B,A),K=u.append("g"),w=16.5,Q=X((L,v)=>{let x=L?w:-w;return v?-x:x},"getCircleOffset"),G=X((L)=>{K.append("circle").attr("cx",L).attr("cy",F).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:H,CENTRAL_CONNECTION_REVERSE:l,CENTRAL_CONNECTION_DUAL:q}=A.db.LINETYPE;if(f)switch(B.centralConnection){case H:if(J)b+=Q(Z,!0);break;case l:if(!J)M+=Q(Z,!1);break;case q:if(J)b+=Q(Z,!0);else M+=Q(Z,!1);break}switch(B.centralConnection){case H:G(b);break;case l:G(M);break;case q:G(M),G(b);break}},"drawCentralConnection"),uQ=X((u)=>{return{fontFamily:u.messageFontFamily,fontSize:u.messageFontSize,fontWeight:u.messageFontWeight}},"messageFont"),bL=X((u)=>{return{fontFamily:u.noteFontFamily,fontSize:u.noteFontSize,fontWeight:u.noteFontWeight}},"noteFont"),ZF0=X((u)=>{return{fontFamily:u.actorFontFamily,fontSize:u.actorFontSize,fontWeight:u.actorFontWeight}},"actorFont");X(Y2u,"boundMessage");Ja4=X(async function(u,B,E,A,C,D){let{startx:F,stopx:U,starty:z,message:k,type:f,sequenceIndex:M,sequenceVisible:b}=B,Z=R4.calculateTextDimensions(k,uQ(Uu)),J=Im();if(J.x=Math.min(F,U),J.y=z+10,J.width=Math.abs(U-F),J.class="messageText",J.dy="1em",J.text=k,J.fontFamily=Uu.messageFontFamily,J.fontSize=Uu.messageFontSize,J.fontWeight=Uu.messageFontWeight,J.anchor=Uu.messageAlign,J.valign="center",J.textMargin=Uu.wrapPadding,J.tspan=!1,D9(J.text))await Fc(u,J,{startx:F,stopx:U,starty:E});else ZL(u,J);let K=Z.width,w;if(F===U){let G=b||Uu.showSequenceNumbers,H=j2u(C,A),l=La4(C,A),q=F+(G&&(H||l)?10:0);if(Uu.rightAngles)w=u.append("path").attr("d",`M ${q},${E} H ${F+ru.getMax(Uu.width/2,K/2)} V ${E+25} H ${F}`);else w=u.append("path").attr("d","M "+q+","+E+" C "+(q+60)+","+(E-10)+" "+(F+60)+","+(E+30)+" "+F+","+(E+20));if(MF0(C,A))L2u(u,C,B,A,F,U,E)}else if(w=u.append("line"),w.attr("x1",F),w.attr("y1",E),w.attr("x2",U),w.attr("y2",E),MF0(C,A))L2u(u,C,B,A,F,U,E);if(f===A.db.LINETYPE.DOTTED||f===A.db.LINETYPE.DOTTED_CROSS||f===A.db.LINETYPE.DOTTED_POINT||f===A.db.LINETYPE.DOTTED_OPEN||f===A.db.LINETYPE.BIDIRECTIONAL_DOTTED||f===A.db.LINETYPE.SOLID_TOP_DOTTED||f===A.db.LINETYPE.SOLID_BOTTOM_DOTTED||f===A.db.LINETYPE.STICK_TOP_DOTTED||f===A.db.LINETYPE.STICK_BOTTOM_DOTTED||f===A.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||f===A.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||f===A.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||f===A.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)w.style("stroke-dasharray","3, 3"),w.attr("class","messageLine1");else w.attr("class","messageLine0");w.attr("data-et","message"),w.attr("data-id","i"+B.id),w.attr("data-from",B.from),w.attr("data-to",B.to);let Q="";if(Uu.arrowMarkerAbsolute)Q=hJ(!0);if(w.attr("stroke-width",2),w.attr("stroke","none"),w.style("fill","none"),f===A.db.LINETYPE.SOLID_TOP||f===A.db.LINETYPE.SOLID_TOP_DOTTED)w.attr("marker-end","url("+Q+"#"+D+"-solidTopArrowHead)");if(f===A.db.LINETYPE.SOLID_BOTTOM||f===A.db.LINETYPE.SOLID_BOTTOM_DOTTED)w.attr("marker-end","url("+Q+"#"+D+"-solidBottomArrowHead)");if(f===A.db.LINETYPE.STICK_TOP||f===A.db.LINETYPE.STICK_TOP_DOTTED)w.attr("marker-end","url("+Q+"#"+D+"-stickTopArrowHead)");if(f===A.db.LINETYPE.STICK_BOTTOM||f===A.db.LINETYPE.STICK_BOTTOM_DOTTED)w.attr("marker-end","url("+Q+"#"+D+"-stickBottomArrowHead)");if(f===A.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||f===A.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)w.attr("marker-start","url("+Q+"#"+D+"-solidBottomArrowHead)");if(f===A.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||f===A.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)w.attr("marker-start","url("+Q+"#"+D+"-solidTopArrowHead)");if(f===A.db.LINETYPE.STICK_ARROW_TOP_REVERSE||f===A.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)w.attr("marker-start","url("+Q+"#"+D+"-stickBottomArrowHead)");if(f===A.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||f===A.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)w.attr("marker-start","url("+Q+"#"+D+"-stickTopArrowHead)");if(f===A.db.LINETYPE.SOLID||f===A.db.LINETYPE.DOTTED)w.attr("marker-end","url("+Q+"#"+D+"-arrowhead)");if(f===A.db.LINETYPE.BIDIRECTIONAL_SOLID||f===A.db.LINETYPE.BIDIRECTIONAL_DOTTED)w.attr("marker-start","url("+Q+"#"+D+"-arrowhead)"),w.attr("marker-end","url("+Q+"#"+D+"-arrowhead)");if(f===A.db.LINETYPE.SOLID_POINT||f===A.db.LINETYPE.DOTTED_POINT)w.attr("marker-end","url("+Q+"#"+D+"-filled-head)");if(f===A.db.LINETYPE.SOLID_CROSS||f===A.db.LINETYPE.DOTTED_CROSS)w.attr("marker-end","url("+Q+"#"+D+"-crosshead)");if(b||Uu.showSequenceNumbers){let G=f===A.db.LINETYPE.BIDIRECTIONAL_SOLID||f===A.db.LINETYPE.BIDIRECTIONAL_DOTTED,H=f===A.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||f===A.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||f===A.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||f===A.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||f===A.db.LINETYPE.STICK_ARROW_TOP_REVERSE||f===A.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||f===A.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||f===A.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,l=6,q=MF0(C,A),L=F,v=U;if(G){if(F<U)L=F+12;else L=F-6+(q?-5:0),L+=C?.centralConnection===A.db.LINETYPE.CENTRAL_CONNECTION_DUAL||C?.centralConnection===A.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0;w.attr("x1",L)}else if(H){if(U>F)v=U-12;else v=U-6,L+=C?.centralConnection===A.db.LINETYPE.CENTRAL_CONNECTION_DUAL||C?.centralConnection===A.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0;v+=q?15:0,w.attr("x2",v),w.attr("x1",L)}else w.attr("x1",F+6);let x=0,S=F===U,W=F<=U;if(S)x=B.fromBounds+1;else if(H)x=W?B.toBounds-1:B.fromBounds+1;else x=W?B.fromBounds+1:B.toBounds-1;let T="12px",R=M.toString().length;if(R>5)T="7px";else if(R>3)T="9px";u.append("line").attr("x1",x).attr("y1",E).attr("x2",x).attr("y2",E).attr("stroke-width",0).attr("marker-start","url("+Q+"#"+D+"-sequencenumber)"),u.append("text").attr("x",x).attr("y",E+4).attr("font-family","sans-serif").attr("font-size",T).attr("text-anchor","middle").attr("class","sequenceNumber").text(M)}},"drawMessage"),Ka4=X(function(u,B,E,A,C,D,F){let U=0,z=0,k=void 0,f=0;for(let M of A){let b=B.get(M),Z=b.box;if(k&&k!=Z){if(!F)_u.models.addBox(k);z+=Uu.boxMargin+k.margin}if(Z&&Z!=k){if(!F)Z.x=U+z,Z.y=C;z+=Z.margin}if(b.width=ru.getMax(b.width||Uu.width,Uu.width),b.height=ru.getMax(b.height||Uu.height,Uu.height),b.margin=b.margin||Uu.actorMargin,f=ru.getMax(f,b.height),E.get(b.name))z+=b.width/2;if(b.x=U+z,b.starty=_u.getVerticalPos(),_u.insert(b.x,C,b.x+b.width,b.height),U+=b.width+z,b.box)b.box.width=U+Z.margin-b.box.x;z=b.margin,k=b.box,_u.models.addActor(b)}if(k&&!F)_u.models.addBox(k);_u.bumpVerticalPos(f)},"addActorRenderingData"),JF0=X(async function(u,B,E,A,C,D,F){if(!A)for(let U of E){let z=B.get(U);await N6.drawActor(u,z,Uu,!1,C,D,F)}else{let U=0;_u.bumpVerticalPos(Uu.boxMargin*2);for(let z of E){let k=B.get(z);if(!k.stopy)k.stopy=_u.getVerticalPos();let f=await N6.drawActor(u,k,Uu,!0,C,D,F);U=ru.getMax(U,f)}_u.bumpVerticalPos(U+Uu.boxMargin)}},"drawActors"),R2u=X(function(u,B,E,A){let C=0,D=0;for(let F of E){let U=B.get(F),z=Qa4(U),k=N6.drawPopup(u,U,z,Uu,Uu.forceMenus,A);if(k.height>C)C=k.height;if(k.width+U.x>D)D=k.width+U.x}return{maxHeight:C,maxWidth:D}},"drawActorsPopup"),T2u=X(function(u){if(C9(Uu,u),u.fontFamily)Uu.actorFontFamily=Uu.noteFontFamily=Uu.messageFontFamily=u.fontFamily;if(u.fontSize)Uu.actorFontSize=Uu.noteFontSize=Uu.messageFontSize=u.fontSize;if(u.fontWeight)Uu.actorFontWeight=Uu.noteFontWeight=Uu.messageFontWeight=u.fontWeight},"setConf"),kc=X(function(u){return _u.activations.filter(function(B){return B.actor===u})},"actorActivations"),X2u=X(function(u,B){let E=B.get(u),A=kc(u),C=A.reduce(function(F,U){return ru.getMin(F,U.startx)},E.x+E.width/2-1),D=A.reduce(function(F,U){return ru.getMax(F,U.stopx)},E.x+E.width/2+1);return[C,D]},"activationBounds");X(tC,"adjustLoopHeightForWrap");X(O2u,"adjustCreatedDestroyedData");wa4=X(async function(u,B,E,A){let{securityLevel:C,sequence:D,look:F,themeVariables:U}=y0();Uu=D;let z;if(C==="sandbox")z=Qu("#i"+B);let k=C==="sandbox"?Qu(z.nodes()[0].contentDocument.body):Qu("body"),f=C==="sandbox"?z.nodes()[0].contentDocument:document;_u.init(),z0.debug(A.db);let M=C==="sandbox"?k.select(`[id="${B}"]`):Qu(`[id="${B}"]`),b=A.db.getActors(),Z=A.db.getCreatedActors(),J=A.db.getDestroyedActors(),K=A.db.getBoxes(),w=A.db.getActorKeys(),Q=A.db.getMessages(),G=A.db.getDiagramTitle(),H=A.db.hasAtLeastOneBox(),l=A.db.hasAtLeastOneBoxWithTitle(),q=await I2u(b,Q,A);if(Uu.height=await P2u(b,q,K),N6.insertComputerIcon(M,B),N6.insertDatabaseIcon(M,B),N6.insertClockIcon(M,B),H){if(_u.bumpVerticalPos(Uu.boxMargin),l)_u.bumpVerticalPos(K[0].textMaxHeight)}if(Uu.hideUnusedParticipants===!0){let m=new Set;Q.forEach((y)=>{m.add(y.from),m.add(y.to)}),w=w.filter((y)=>m.has(y))}let L=new Map(w.map((m,y)=>[b.get(m)?.name??m,y]));Ka4(M,b,Z,w,0,Q,!1);let v=await va4(Q,b,q,A);if(N6.insertArrowHead(M,B),N6.insertArrowCrossHead(M,B),N6.insertArrowFilledHead(M,B),N6.insertSequenceNumber(M,B),N6.insertSolidTopArrowHead(M,B),N6.insertSolidBottomArrowHead(M,B),N6.insertStickTopArrowHead(M,B),N6.insertStickBottomArrowHead(M,B),F==="neo")N6.insertDropShadow(M,Uu);function x(m,y){let r=_u.endActivation(m);if(r.starty+18>y)r.starty=y-6,y+=12;N6.drawActivation(M,r,y,Uu,kc(m.from).length,A,L),_u.insert(r.startx,y-10,r.stopx,y)}X(x,"activeEnd");let S=1,W=1,T=[],R=[],Y=0;for(let m of Q){let y,r,_;switch(m.type){case A.db.LINETYPE.NOTE:_u.resetVerticalPos(),r=m.noteModel,await Za4(M,r,m.id);break;case A.db.LINETYPE.ACTIVE_START:_u.newActivation(m,M,b);break;case A.db.LINETYPE.CENTRAL_CONNECTION:_u.newActivation(m,M,b);break;case A.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:_u.newActivation(m,M,b);break;case A.db.LINETYPE.ACTIVE_END:x(m,_u.getVerticalPos());break;case A.db.LINETYPE.LOOP_START:tC(v,m,Uu.boxMargin,Uu.boxMargin+Uu.boxTextMargin,(e)=>_u.newLoop(e));break;case A.db.LINETYPE.LOOP_END:y=_u.endLoop(),await N6.drawLoop(M,y,"loop",Uu,m),_u.bumpVerticalPos(y.stopy-_u.getVerticalPos()),_u.models.addLoop(y);break;case A.db.LINETYPE.RECT_START:tC(v,m,Uu.boxMargin,Uu.boxMargin,(e)=>{let p=e.message;if(!p)p=U?.rectBkgColor||U?.actorBkg||"rgba(128, 128, 128, 0.5)";_u.newLoop(void 0,p)});break;case A.db.LINETYPE.RECT_END:y=_u.endLoop(),R.push(y),_u.models.addLoop(y),_u.bumpVerticalPos(y.stopy-_u.getVerticalPos());break;case A.db.LINETYPE.OPT_START:tC(v,m,Uu.boxMargin,Uu.boxMargin+Uu.boxTextMargin,(e)=>_u.newLoop(e));break;case A.db.LINETYPE.OPT_END:y=_u.endLoop(),await N6.drawLoop(M,y,"opt",Uu,m),_u.bumpVerticalPos(y.stopy-_u.getVerticalPos()),_u.models.addLoop(y);break;case A.db.LINETYPE.ALT_START:tC(v,m,Uu.boxMargin,Uu.boxMargin+Uu.boxTextMargin,(e)=>_u.newLoop(e));break;case A.db.LINETYPE.ALT_ELSE:tC(v,m,Uu.boxMargin+Uu.boxTextMargin,Uu.boxMargin,(e)=>_u.addSectionToLoop(e));break;case A.db.LINETYPE.ALT_END:y=_u.endLoop(),await N6.drawLoop(M,y,"alt",Uu,m),_u.bumpVerticalPos(y.stopy-_u.getVerticalPos()),_u.models.addLoop(y);break;case A.db.LINETYPE.PAR_START:case A.db.LINETYPE.PAR_OVER_START:tC(v,m,Uu.boxMargin,Uu.boxMargin+Uu.boxTextMargin,(e)=>_u.newLoop(e)),_u.saveVerticalPos();break;case A.db.LINETYPE.PAR_AND:tC(v,m,Uu.boxMargin+Uu.boxTextMargin,Uu.boxMargin,(e)=>_u.addSectionToLoop(e));break;case A.db.LINETYPE.PAR_END:y=_u.endLoop(),await N6.drawLoop(M,y,"par",Uu,m),_u.bumpVerticalPos(y.stopy-_u.getVerticalPos()),_u.models.addLoop(y);break;case A.db.LINETYPE.AUTONUMBER:if(S=m.message.start||S,W=m.message.step||W,m.message.visible)A.db.enableSequenceNumbers();else A.db.disableSequenceNumbers();break;case A.db.LINETYPE.CRITICAL_START:tC(v,m,Uu.boxMargin,Uu.boxMargin+Uu.boxTextMargin,(e)=>_u.newLoop(e));break;case A.db.LINETYPE.CRITICAL_OPTION:tC(v,m,Uu.boxMargin+Uu.boxTextMargin,Uu.boxMargin,(e)=>_u.addSectionToLoop(e));break;case A.db.LINETYPE.CRITICAL_END:y=_u.endLoop(),await N6.drawLoop(M,y,"critical",Uu,m),_u.bumpVerticalPos(y.stopy-_u.getVerticalPos()),_u.models.addLoop(y);break;case A.db.LINETYPE.BREAK_START:tC(v,m,Uu.boxMargin,Uu.boxMargin+Uu.boxTextMargin,(e)=>_u.newLoop(e));break;case A.db.LINETYPE.BREAK_END:y=_u.endLoop(),await N6.drawLoop(M,y,"break",Uu,m),_u.bumpVerticalPos(y.stopy-_u.getVerticalPos()),_u.models.addLoop(y);break;default:try{_=m.msgModel,_.starty=_u.getVerticalPos(),_.sequenceIndex=S,_.sequenceVisible=A.db.showSequenceNumbers(),_.id=m.id,_.from=m.from,_.to=m.to;let e=await Y2u(M,_);O2u(m,_,e,Y,b,Z,J),T.push({messageModel:_,lineStartY:e,msg:m}),_u.models.addMessage(_)}catch(e){z0.error("error while drawing message",e)}}if([A.db.LINETYPE.SOLID_OPEN,A.db.LINETYPE.DOTTED_OPEN,A.db.LINETYPE.SOLID,A.db.LINETYPE.SOLID_TOP,A.db.LINETYPE.SOLID_BOTTOM,A.db.LINETYPE.STICK_TOP,A.db.LINETYPE.STICK_BOTTOM,A.db.LINETYPE.SOLID_TOP_DOTTED,A.db.LINETYPE.SOLID_BOTTOM_DOTTED,A.db.LINETYPE.STICK_TOP_DOTTED,A.db.LINETYPE.STICK_BOTTOM_DOTTED,A.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,A.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,A.db.LINETYPE.STICK_ARROW_TOP_REVERSE,A.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,A.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,A.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,A.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,A.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,A.db.LINETYPE.DOTTED,A.db.LINETYPE.SOLID_CROSS,A.db.LINETYPE.DOTTED_CROSS,A.db.LINETYPE.SOLID_POINT,A.db.LINETYPE.DOTTED_POINT,A.db.LINETYPE.BIDIRECTIONAL_SOLID,A.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(m.type))S=Math.round((S+W)*100)/100;Y++}z0.debug("createdActors",Z),z0.debug("destroyedActors",J),await JF0(M,b,w,!1,B,A,L);for(let m of T)await Ja4(M,m.messageModel,m.lineStartY,A,m.msg,B);if(Uu.mirrorActors)await JF0(M,b,w,!0,B,A,L);R.forEach((m)=>N6.drawBackgroundRect(M,m)),x2u(M,b,w,Uu);for(let m of _u.models.boxes){m.height=_u.getVerticalPos()-m.y,_u.insert(m.x,m.y,m.x+m.width,m.height);let y=Uu.boxMargin*2;m.startx=m.x-y,m.starty=m.y-y*0.25,m.stopx=m.startx+m.width+2*y,m.stopy=m.starty+m.height+y*0.75,m.stroke="rgb(0,0,0, 0.5)",N6.drawBox(M,m,Uu)}if(H)_u.bumpVerticalPos(Uu.boxMargin);let h=R2u(M,b,w,f),{bounds:I}=_u.getBounds();if(I.startx===void 0)I.startx=0;if(I.starty===void 0)I.starty=0;if(I.stopx===void 0)I.stopx=0;if(I.stopy===void 0)I.stopy=0;let O=I.stopy-I.starty;if(O<h.maxHeight)O=h.maxHeight;let V=O+2*Uu.diagramMarginY;if(Uu.mirrorActors)V=V-Uu.boxMargin+Uu.bottomMarginAdj;let j=I.stopx-I.startx;if(j<h.maxWidth)j=h.maxWidth;let i=j+2*Uu.diagramMarginX;if(G)M.append("text").text(G).attr("x",(I.stopx-I.startx)/2-2*Uu.diagramMarginX).attr("y",-25);g3(M,V,i,Uu.useMaxWidth);let a=G?40:0,$=b.size&&F==="neo"?30:0;M.attr("viewBox",I.startx-Uu.diagramMarginX+" -"+(Uu.diagramMarginY+a)+" "+i+" "+(V+a+$)),z0.debug("models:",_u.models)},"draw");X(I2u,"getMaxMessageWidthPerActor");Qa4=X(function(u){let B=0,E=ZF0(Uu);for(let A in u.links){let D=R4.calculateTextDimensions(A,E).width+2*Uu.wrapPadding+2*Uu.boxMargin;if(B<D)B=D}return B},"getRequiredPopupWidth");X(P2u,"calculateActorMargins");Ga4=X(async function(u,B,E){let A=B.get(u.from),C=B.get(u.to),D=A.x,F=C.x,U=u.wrap&&u.message,z=D9(u.message)?await CH(u.message,y0()):R4.calculateTextDimensions(U?R4.wrapLabel(u.message,Uu.width,bL(Uu)):u.message,bL(Uu)),k={width:U?Uu.width:ru.getMax(Uu.width,z.width+2*Uu.noteMargin),height:0,startx:A.x,stopx:0,starty:0,stopy:0,message:u.message};if(u.placement===E.db.PLACEMENT.RIGHTOF)k.width=U?ru.getMax(Uu.width,z.width):ru.getMax(A.width/2+C.width/2,z.width+2*Uu.noteMargin),k.startx=D+(A.width+Uu.actorMargin)/2;else if(u.placement===E.db.PLACEMENT.LEFTOF)k.width=U?ru.getMax(Uu.width,z.width+2*Uu.noteMargin):ru.getMax(A.width/2+C.width/2,z.width+2*Uu.noteMargin),k.startx=D-k.width+(A.width-Uu.actorMargin)/2;else if(u.to===u.from)z=R4.calculateTextDimensions(U?R4.wrapLabel(u.message,ru.getMax(Uu.width,A.width),bL(Uu)):u.message,bL(Uu)),k.width=U?ru.getMax(Uu.width,A.width):ru.getMax(A.width,Uu.width,z.width+2*Uu.noteMargin),k.startx=D+(A.width-k.width)/2;else k.width=Math.abs(D+A.width/2-(F+C.width/2))+Uu.actorMargin,k.startx=D<F?D+A.width/2-Uu.actorMargin/2:F+C.width/2-Uu.actorMargin/2;if(U)k.message=R4.wrapLabel(u.message,k.width-2*Uu.wrapPadding,bL(Uu));return z0.debug(`NM:[${k.startx},${k.stopx},${k.starty},${k.stopy}:${k.width},${k.height}=${u.message}]`),k},"buildNoteModel"),MF0=X(function(u,B){let{CENTRAL_CONNECTION:E,CENTRAL_CONNECTION_REVERSE:A,CENTRAL_CONNECTION_DUAL:C}=B.db.LINETYPE;return[E,A,C].includes(u.centralConnection)},"hasCentralConnection"),la4=X(function(u,B,E){let{CENTRAL_CONNECTION_REVERSE:A,CENTRAL_CONNECTION_DUAL:C,BIDIRECTIONAL_SOLID:D,BIDIRECTIONAL_DOTTED:F}=B.db.LINETYPE,U=0;if(u.centralConnection===A||u.centralConnection===C)U+=Ha4;if((u.centralConnection===A||u.centralConnection===C)&&(u.type===D||u.type===F))U+=E?0:-qa4;return U},"calculateCentralConnectionOffset"),j2u=X(function(u,B){let{SOLID_ARROW_TOP_REVERSE:E,SOLID_ARROW_TOP_REVERSE_DOTTED:A,SOLID_ARROW_BOTTOM_REVERSE:C,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:D,STICK_ARROW_TOP_REVERSE:F,STICK_ARROW_TOP_REVERSE_DOTTED:U,STICK_ARROW_BOTTOM_REVERSE:z,STICK_ARROW_BOTTOM_REVERSE_DOTTED:k}=B.db.LINETYPE;return[E,A,C,D,F,U,z,k].includes(u.type)},"isReverseArrowType"),La4=X(function(u,B){let{BIDIRECTIONAL_SOLID:E,BIDIRECTIONAL_DOTTED:A}=B.db.LINETYPE;return[E,A].includes(u.type)},"isBidirectionalArrowType"),Xa4=X(function(u,B,E){let{look:A}=y0();if(![E.db.LINETYPE.SOLID_OPEN,E.db.LINETYPE.DOTTED_OPEN,E.db.LINETYPE.SOLID,E.db.LINETYPE.SOLID_TOP,E.db.LINETYPE.SOLID_BOTTOM,E.db.LINETYPE.STICK_TOP,E.db.LINETYPE.STICK_BOTTOM,E.db.LINETYPE.SOLID_TOP_DOTTED,E.db.LINETYPE.SOLID_BOTTOM_DOTTED,E.db.LINETYPE.STICK_TOP_DOTTED,E.db.LINETYPE.STICK_BOTTOM_DOTTED,E.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,E.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,E.db.LINETYPE.STICK_ARROW_TOP_REVERSE,E.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,E.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,E.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,E.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,E.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E.db.LINETYPE.DOTTED,E.db.LINETYPE.SOLID_CROSS,E.db.LINETYPE.DOTTED_CROSS,E.db.LINETYPE.SOLID_POINT,E.db.LINETYPE.DOTTED_POINT,E.db.LINETYPE.BIDIRECTIONAL_SOLID,E.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(u.type))return{};let[C,D]=X2u(u.from,B),[F,U]=X2u(u.to,B),z=C<=F,k=z?D:C,f=z?F:U;if(A==="neo"){if(u.type!==E.db.LINETYPE.SOLID_OPEN)f+=z?-3:3;if(u.type===E.db.LINETYPE.BIDIRECTIONAL_SOLID||u.type===E.db.LINETYPE.BIDIRECTIONAL_DOTTED)k+=z?3:-3}k+=la4(u,E,z);let M=Math.abs(F-U)>2,b=X((w)=>{return z?-w:w},"adjustValue");if(u.from===u.to)f=k;else{if(u.activate&&!M)f+=b(Uu.activationWidth/2-1);if(![E.db.LINETYPE.SOLID_OPEN,E.db.LINETYPE.DOTTED_OPEN,E.db.LINETYPE.STICK_TOP,E.db.LINETYPE.STICK_BOTTOM,E.db.LINETYPE.STICK_TOP_DOTTED,E.db.LINETYPE.STICK_BOTTOM_DOTTED,E.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,E.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,E.db.LINETYPE.STICK_ARROW_TOP_REVERSE,E.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,E.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,E.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,E.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,E.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(u.type))f+=b(3);if([E.db.LINETYPE.BIDIRECTIONAL_SOLID,E.db.LINETYPE.BIDIRECTIONAL_DOTTED,E.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,E.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,E.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,E.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(u.type))k-=b(3)}let Z=[C,D,F,U],J=Math.abs(k-f);if(u.wrap&&u.message)u.message=R4.wrapLabel(u.message,ru.getMax(J+2*Uu.wrapPadding,Uu.width),uQ(Uu));let K=R4.calculateTextDimensions(u.message,uQ(Uu));return{width:ru.getMax(u.wrap?0:K.width+2*Uu.wrapPadding,J+2*Uu.wrapPadding,Uu.width),height:0,startx:k,stopx:f,starty:0,stopy:0,message:u.message,type:u.type,wrap:u.wrap,fromBounds:Math.min.apply(null,Z),toBounds:Math.max.apply(null,Z)}},"buildMessageModel"),va4=X(async function(u,B,E,A){let C={},D=[],F,U,z;for(let k of u){switch(k.type){case A.db.LINETYPE.LOOP_START:case A.db.LINETYPE.ALT_START:case A.db.LINETYPE.OPT_START:case A.db.LINETYPE.PAR_START:case A.db.LINETYPE.PAR_OVER_START:case A.db.LINETYPE.CRITICAL_START:case A.db.LINETYPE.BREAK_START:D.push({id:k.id,msg:k.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case A.db.LINETYPE.ALT_ELSE:case A.db.LINETYPE.PAR_AND:case A.db.LINETYPE.CRITICAL_OPTION:if(k.message)F=D.pop(),C[F.id]=F,C[k.id]=F,D.push(F);break;case A.db.LINETYPE.LOOP_END:case A.db.LINETYPE.ALT_END:case A.db.LINETYPE.OPT_END:case A.db.LINETYPE.PAR_END:case A.db.LINETYPE.CRITICAL_END:case A.db.LINETYPE.BREAK_END:F=D.pop(),C[F.id]=F;break;case A.db.LINETYPE.ACTIVE_START:{let M=B.get(k.from?k.from:k.to.actor),b=kc(k.from?k.from:k.to.actor).length,Z=M.x+M.width/2+(b-1)*Uu.activationWidth/2,J={startx:Z,stopx:Z+Uu.activationWidth,actor:k.from,enabled:!0};_u.activations.push(J)}break;case A.db.LINETYPE.ACTIVE_END:{let M=_u.activations.map((b)=>b.actor).lastIndexOf(k.from);_u.activations.splice(M,1).splice(0,1)}break}if(k.placement!==void 0)U=await Ga4(k,B,A),k.noteModel=U,D.forEach((M)=>{F=M,F.from=ru.getMin(F.from,U.startx),F.to=ru.getMax(F.to,U.startx+U.width),F.width=ru.getMax(F.width,Math.abs(F.from-F.to))-Uu.labelBoxWidth});else if(z=Xa4(k,B,A),k.msgModel=z,z.startx&&z.stopx&&D.length>0)D.forEach((M)=>{if(F=M,z.startx===z.stopx){let b=B.get(k.from),Z=B.get(k.to);F.from=ru.getMin(b.x-z.width/2,b.x-b.width/2,F.from),F.to=ru.getMax(Z.x+z.width/2,Z.x+b.width/2,F.to),F.width=ru.getMax(F.width,Math.abs(F.to-F.from))-Uu.labelBoxWidth}else F.from=ru.getMin(z.startx,F.from),F.to=ru.getMax(z.stopx,F.to),F.width=ru.getMax(F.width,z.width)-Uu.labelBoxWidth})}return _u.activations=[],z0.debug("Loop type widths:",C),C},"calculateLoopBounds"),xa4={bounds:_u,drawActors:JF0,drawActorsPopup:R2u,setConf:T2u,draw:wa4},Wa4={parser:Ii4,get db(){return new Vi4},renderer:xa4,styles:ii4,init:X((u)=>{if(!u.sequence)u.sequence={};if(u.wrap)u.sequence.wrap=u.wrap,Yx({sequence:{wrap:u.wrap}})},"init")}});var wF0,Mc,h2u,i2u,fc="classId-",a2u=0,BQ,bc,Sa4,Zc,Ya4,Ra4,Ta4,Jc;var QF0=g(()=>{AU();qE();x8();L8();HE();e3();s4();o4();Y4();V3();pG();wF0=function(){var u=X(function(Y0,a0,K0,n){for(K0=K0||{},n=Y0.length;n--;K0[Y0[n]]=a0);return K0},"o"),B=[1,18],E=[1,19],A=[1,20],C=[1,41],D=[1,26],F=[1,42],U=[1,24],z=[1,25],k=[1,32],f=[1,33],M=[1,34],b=[1,45],Z=[1,35],J=[1,36],K=[1,37],w=[1,38],Q=[1,27],G=[1,28],H=[1,29],l=[1,30],q=[1,31],L=[1,44],v=[1,46],x=[1,43],S=[1,47],W=[1,9],T=[1,8,9],R=[1,58],Y=[1,59],h=[1,60],I=[1,61],O=[1,62],V=[1,63],j=[1,64],i=[1,8,9,41],a=[1,77],$=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],m=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],y=[13,60,86,100,102,103],r=[13,60,73,74,86,100,102,103],_=[13,60,68,69,70,71,72,86,100,102,103],e=[1,103],p=[1,121],b0=[1,117],B0=[1,113],k0=[1,119],f0=[1,114],D0=[1,115],P0=[1,116],L0=[1,118],m0=[1,120],h0=[22,50,60,61,82,86,87,88,89,90],_0=[1,128],w0=[12,39],x0=[1,8,9,39,41,44,46],T0=[1,8,9,22],J0=[1,153],F0=[1,8,9,61],u0=[1,8,9,22,50,60,61,82,86,87,88,89,90],Z0={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:X(function(a0,K0,n,d,q0,o,l0){var E0=o.length-1;switch(q0){case 8:this.$=o[E0-1];break;case 9:case 10:case 13:case 15:this.$=o[E0];break;case 11:case 14:this.$=o[E0-2]+"."+o[E0];break;case 12:case 16:this.$=o[E0-1]+o[E0];break;case 17:case 18:this.$=o[E0-1]+"~"+o[E0]+"~";break;case 19:d.addRelation(o[E0]);break;case 20:o[E0-1].title=d.cleanupLabel(o[E0]),d.addRelation(o[E0-1]);break;case 31:this.$=o[E0].trim(),d.setAccTitle(this.$);break;case 32:case 33:this.$=o[E0].trim(),d.setAccDescription(this.$);break;case 34:d.addClassesToNamespace(o[E0-3],o[E0-1][0],o[E0-1][1]),d.popNamespace();break;case 35:d.addClassesToNamespace(o[E0-4],o[E0-1][0],o[E0-1][1]),d.popNamespace();break;case 36:this.$=d.addNamespace(o[E0]);break;case 37:this.$=d.addNamespace(o[E0-1],o[E0]);break;case 38:this.$=[[o[E0]],[]];break;case 39:this.$=[[o[E0-1]],[]];break;case 40:o[E0][0].unshift(o[E0-2]),this.$=o[E0];break;case 41:this.$=[[],[o[E0]]];break;case 42:this.$=[[],[o[E0-1]]];break;case 43:o[E0][1].unshift(o[E0-2]),this.$=o[E0];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=o[E0];break;case 48:d.setCssClass(o[E0-2],o[E0]);break;case 49:d.addMembers(o[E0-3],o[E0-1]);break;case 51:d.setCssClass(o[E0-5],o[E0-3]),d.addMembers(o[E0-5],o[E0-1]);break;case 52:d.addAnnotation(o[E0-3],o[E0-1]);break;case 53:d.addAnnotation(o[E0-6],o[E0-4]),d.addMembers(o[E0-6],o[E0-1]);break;case 54:d.addAnnotation(o[E0-5],o[E0-3]);break;case 55:this.$=o[E0],d.addClass(o[E0]);break;case 56:this.$=o[E0-1],d.addClass(o[E0-1]),d.setClassLabel(o[E0-1],o[E0]);break;case 60:d.addAnnotation(o[E0],o[E0-2]);break;case 61:case 74:this.$=[o[E0]];break;case 62:o[E0].push(o[E0-1]),this.$=o[E0];break;case 63:break;case 64:d.addMember(o[E0-1],d.cleanupLabel(o[E0]));break;case 65:break;case 66:break;case 67:this.$={id1:o[E0-2],id2:o[E0],relation:o[E0-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:o[E0-3],id2:o[E0],relation:o[E0-1],relationTitle1:o[E0-2],relationTitle2:"none"};break;case 69:this.$={id1:o[E0-3],id2:o[E0],relation:o[E0-2],relationTitle1:"none",relationTitle2:o[E0-1]};break;case 70:this.$={id1:o[E0-4],id2:o[E0],relation:o[E0-2],relationTitle1:o[E0-3],relationTitle2:o[E0-1]};break;case 71:this.$=d.addNote(o[E0],o[E0-1]);break;case 72:this.$=d.addNote(o[E0]);break;case 73:this.$=o[E0-2],d.defineClass(o[E0-1],o[E0]);break;case 75:this.$=o[E0-2].concat([o[E0]]);break;case 76:d.setDirection("TB");break;case 77:d.setDirection("BT");break;case 78:d.setDirection("RL");break;case 79:d.setDirection("LR");break;case 80:this.$={type1:o[E0-2],type2:o[E0],lineType:o[E0-1]};break;case 81:this.$={type1:"none",type2:o[E0],lineType:o[E0-1]};break;case 82:this.$={type1:o[E0-1],type2:"none",lineType:o[E0]};break;case 83:this.$={type1:"none",type2:"none",lineType:o[E0]};break;case 84:this.$=d.relationType.AGGREGATION;break;case 85:this.$=d.relationType.EXTENSION;break;case 86:this.$=d.relationType.COMPOSITION;break;case 87:this.$=d.relationType.DEPENDENCY;break;case 88:this.$=d.relationType.LOLLIPOP;break;case 89:this.$=d.lineType.LINE;break;case 90:this.$=d.lineType.DOTTED_LINE;break;case 91:case 97:this.$=o[E0-2],d.setClickEvent(o[E0-1],o[E0]);break;case 92:case 98:this.$=o[E0-3],d.setClickEvent(o[E0-2],o[E0-1]),d.setTooltip(o[E0-2],o[E0]);break;case 93:this.$=o[E0-2],d.setLink(o[E0-1],o[E0]);break;case 94:this.$=o[E0-3],d.setLink(o[E0-2],o[E0-1],o[E0]);break;case 95:this.$=o[E0-3],d.setLink(o[E0-2],o[E0-1]),d.setTooltip(o[E0-2],o[E0]);break;case 96:this.$=o[E0-4],d.setLink(o[E0-3],o[E0-2],o[E0]),d.setTooltip(o[E0-3],o[E0-1]);break;case 99:this.$=o[E0-3],d.setClickEvent(o[E0-2],o[E0-1],o[E0]);break;case 100:this.$=o[E0-4],d.setClickEvent(o[E0-3],o[E0-2],o[E0-1]),d.setTooltip(o[E0-3],o[E0]);break;case 101:this.$=o[E0-3],d.setLink(o[E0-2],o[E0]);break;case 102:this.$=o[E0-4],d.setLink(o[E0-3],o[E0-1],o[E0]);break;case 103:this.$=o[E0-4],d.setLink(o[E0-3],o[E0-1]),d.setTooltip(o[E0-3],o[E0]);break;case 104:this.$=o[E0-5],d.setLink(o[E0-4],o[E0-2],o[E0]),d.setTooltip(o[E0-4],o[E0-1]);break;case 105:this.$=o[E0-2],d.setCssStyle(o[E0-1],o[E0]);break;case 106:d.setCssClass(o[E0-1],o[E0]);break;case 107:this.$=[o[E0]];break;case 108:o[E0-2].push(o[E0]),this.$=o[E0-2];break;case 110:this.$=o[E0-1]+o[E0];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:B,35:E,37:A,38:22,42:C,43:23,46:D,48:F,51:U,52:z,54:k,56:f,57:M,60:b,62:Z,63:J,64:K,65:w,75:Q,76:G,78:H,82:l,83:q,86:L,100:v,102:x,103:S},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},u(W,[2,5],{8:[1,48]}),{8:[1,49]},u(T,[2,19],{22:[1,50]}),u(T,[2,21]),u(T,[2,22]),u(T,[2,23]),u(T,[2,24]),u(T,[2,25]),u(T,[2,26]),u(T,[2,27]),u(T,[2,28]),u(T,[2,29]),u(T,[2,30]),{34:[1,51]},{36:[1,52]},u(T,[2,33]),u(T,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:R,69:Y,70:h,71:I,72:O,73:V,74:j}),{39:[1,65]},u(i,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),u(T,[2,65]),u(T,[2,66]),{16:69,60:b,86:L,100:v,102:x},{16:39,17:40,19:70,60:b,86:L,100:v,102:x,103:S},{16:39,17:40,19:71,60:b,86:L,100:v,102:x,103:S},{16:39,17:40,19:72,60:b,86:L,100:v,102:x,103:S},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:L,100:v,102:x,103:S},{13:a,55:76},{58:78,60:[1,79]},u(T,[2,76]),u(T,[2,77]),u(T,[2,78]),u(T,[2,79]),u($,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:L,100:v,102:x,103:S}),u($,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:L,100:v,102:x,103:S},{16:39,17:40,19:87,60:b,86:L,100:v,102:x,103:S},u(m,[2,133]),u(m,[2,134]),u(m,[2,135]),u(m,[2,136]),u([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),u(W,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:B,35:E,37:A,42:C,46:D,48:F,51:U,52:z,54:k,56:f,57:M,60:b,62:Z,63:J,64:K,65:w,75:Q,76:G,78:H,82:l,83:q,86:L,100:v,102:x,103:S}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:B,35:E,37:A,38:22,42:C,43:23,46:D,48:F,51:U,52:z,54:k,56:f,57:M,60:b,62:Z,63:J,64:K,65:w,75:Q,76:G,78:H,82:l,83:q,86:L,100:v,102:x,103:S},u(T,[2,20]),u(T,[2,31]),u(T,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:L,100:v,102:x,103:S},{53:92,66:56,67:57,68:R,69:Y,70:h,71:I,72:O,73:V,74:j},u(T,[2,64]),{67:93,73:V,74:j},u(y,[2,83],{66:94,68:R,69:Y,70:h,71:I,72:O}),u(r,[2,84]),u(r,[2,85]),u(r,[2,86]),u(r,[2,87]),u(r,[2,88]),u(_,[2,89]),u(_,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:C,43:23,48:F,54:k,56:f},{16:100,60:b,86:L,100:v,102:x},{41:[1,102],45:101,51:e},{16:104,60:b,86:L,100:v,102:x},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:p,50:b0,59:110,60:B0,82:k0,84:111,85:112,86:f0,87:D0,88:P0,89:L0,90:m0},{60:[1,122]},{13:a,55:123},u(i,[2,72]),u(i,[2,138]),{22:p,50:b0,59:124,60:B0,61:[1,125],82:k0,84:111,85:112,86:f0,87:D0,88:P0,89:L0,90:m0},u(h0,[2,74]),{16:39,17:40,19:126,60:b,86:L,100:v,102:x,103:S},u($,[2,16]),u($,[2,17]),u($,[2,18]),{11:127,12:_0,39:[2,36]},u(w0,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:L,100:v,102:x,103:S}),u(w0,[2,10]),u(x0,[2,55],{11:131,12:_0}),u(W,[2,7]),{9:[1,132]},u(T0,[2,67]),{16:39,17:40,19:133,60:b,86:L,100:v,102:x,103:S},{13:[1,135],16:39,17:40,19:134,60:b,86:L,100:v,102:x,103:S},u(y,[2,82],{66:136,68:R,69:Y,70:h,71:I,72:O}),u(y,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:C,43:23,48:F,54:k,56:f},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},u(i,[2,48],{39:[1,142]}),{41:[1,143]},u(i,[2,50]),{41:[2,61],45:144,51:e},{47:[1,145]},{16:39,17:40,19:146,60:b,86:L,100:v,102:x,103:S},u(T,[2,91],{13:[1,147]}),u(T,[2,93],{13:[1,149],77:[1,148]}),u(T,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},u(T,[2,105],{61:J0}),u(F0,[2,107],{85:154,22:p,50:b0,60:B0,82:k0,86:f0,87:D0,88:P0,89:L0,90:m0}),u(u0,[2,109]),u(u0,[2,111]),u(u0,[2,112]),u(u0,[2,113]),u(u0,[2,114]),u(u0,[2,115]),u(u0,[2,116]),u(u0,[2,117]),u(u0,[2,118]),u(u0,[2,119]),u(T,[2,106]),u(i,[2,71]),u(T,[2,73],{61:J0}),{60:[1,155]},u($,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:L,100:v,102:x,103:S},u(w0,[2,12]),u(x0,[2,56]),{1:[2,4]},u(T0,[2,69]),u(T0,[2,68]),{16:39,17:40,19:158,60:b,86:L,100:v,102:x,103:S},u(y,[2,80]),u(i,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:C,43:23,48:F,54:k,56:f},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:C,43:23,48:F,54:k,56:f},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:C,43:23,48:F,54:k,56:f},{45:163,51:e},u(i,[2,49]),{41:[2,62]},u(i,[2,52],{39:[1,164]}),u(T,[2,60]),u(T,[2,92]),u(T,[2,94]),u(T,[2,95],{77:[1,165]}),u(T,[2,98]),u(T,[2,99],{13:[1,166]}),u(T,[2,101],{13:[1,168],77:[1,167]}),{22:p,50:b0,60:B0,82:k0,84:169,85:112,86:f0,87:D0,88:P0,89:L0,90:m0},u(u0,[2,110]),u(h0,[2,75]),{14:[1,170]},u(w0,[2,11]),u(T0,[2,70]),u(i,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:e},u(T,[2,96]),u(T,[2,100]),u(T,[2,102]),u(T,[2,103],{77:[1,174]}),u(F0,[2,108],{85:154,22:p,50:b0,60:B0,82:k0,86:f0,87:D0,88:P0,89:L0,90:m0}),u(x0,[2,8]),u(i,[2,51]),{41:[1,175]},u(i,[2,54]),u(T,[2,104]),u(i,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:X(function(a0,K0){if(K0.recoverable)this.trace(a0);else{var n=Error(a0);throw n.hash=K0,n}},"parseError"),parse:X(function(a0){var K0=this,n=[0],d=[],q0=[null],o=[],l0=this.table,E0="",$0=0,g0=0,n0=0,c0=2,Bu=1,p0=o.slice.call(arguments,1),e0=Object.create(this.lexer),t0={yy:{}};for(var zu in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,zu))t0.yy[zu]=this.yy[zu];if(e0.setInput(a0,t0.yy),t0.yy.lexer=e0,t0.yy.parser=this,typeof e0.yylloc>"u")e0.yylloc={};var S0=e0.yylloc;o.push(S0);var yu=e0.options&&e0.options.ranges;if(typeof t0.yy.parseError==="function")this.parseError=t0.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function V0(Ru){n.length=n.length-2*Ru,q0.length=q0.length-Ru,o.length=o.length-Ru}X(V0,"popStack");function xu(){var Ru=d.pop()||e0.lex()||Bu;if(typeof Ru!=="number"){if(Ru instanceof Array)d=Ru,Ru=d.pop();Ru=K0.symbols_[Ru]||Ru}return Ru}X(xu,"lex");var gu,Du,Nu,du,Iu,v0,Tu={},iu,Ju,I0,Mu;while(!0){if(Nu=n[n.length-1],this.defaultActions[Nu])du=this.defaultActions[Nu];else{if(gu===null||typeof gu>"u")gu=xu();du=l0[Nu]&&l0[Nu][gu]}if(typeof du>"u"||!du.length||!du[0]){var qu="";Mu=[];for(iu in l0[Nu])if(this.terminals_[iu]&&iu>c0)Mu.push("'"+this.terminals_[iu]+"'");if(e0.showPosition)qu="Parse error on line "+($0+1)+`:
`+e0.showPosition()+`
Expecting `+Mu.join(", ")+", got '"+(this.terminals_[gu]||gu)+"'";else qu="Parse error on line "+($0+1)+": Unexpected "+(gu==Bu?"end of input":"'"+(this.terminals_[gu]||gu)+"'");this.parseError(qu,{text:e0.match,token:this.terminals_[gu]||gu,line:e0.yylineno,loc:S0,expected:Mu})}if(du[0]instanceof Array&&du.length>1)throw Error("Parse Error: multiple actions possible at state: "+Nu+", token: "+gu);switch(du[0]){case 1:if(n.push(gu),q0.push(e0.yytext),o.push(e0.yylloc),n.push(du[1]),gu=null,!Du){if(g0=e0.yyleng,E0=e0.yytext,$0=e0.yylineno,S0=e0.yylloc,n0>0)n0--}else gu=Du,Du=null;break;case 2:if(Ju=this.productions_[du[1]][1],Tu.$=q0[q0.length-Ju],Tu._$={first_line:o[o.length-(Ju||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(Ju||1)].first_column,last_column:o[o.length-1].last_column},yu)Tu._$.range=[o[o.length-(Ju||1)].range[0],o[o.length-1].range[1]];if(v0=this.performAction.apply(Tu,[E0,g0,$0,t0.yy,du[1],q0,o].concat(p0)),typeof v0<"u")return v0;if(Ju)n=n.slice(0,-1*Ju*2),q0=q0.slice(0,-1*Ju),o=o.slice(0,-1*Ju);n.push(this.productions_[du[1]][0]),q0.push(Tu.$),o.push(Tu._$),I0=l0[n[n.length-2]][n[n.length-1]],n.push(I0);break;case 3:return!0}}return!0},"parse")},X0=function(){var Y0={EOF:1,parseError:X(function(K0,n){if(this.yy.parser)this.yy.parser.parseError(K0,n);else throw Error(K0)},"parseError"),setInput:X(function(a0,K0){if(this.yy=K0||this.yy||{},this._input=a0,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var a0=this._input[0];this.yytext+=a0,this.yyleng++,this.offset++,this.match+=a0,this.matched+=a0;var K0=a0.match(/(?:\r\n?|\n).*/g);if(K0)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),a0},"input"),unput:X(function(a0){var K0=a0.length,n=a0.split(/(?:\r\n?|\n)/g);this._input=a0+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-K0),this.offset-=K0;var d=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1)this.yylineno-=n.length-1;var q0=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===d.length?this.yylloc.first_column:0)+d[d.length-n.length].length-n[0].length:this.yylloc.first_column-K0},this.options.ranges)this.yylloc.range=[q0[0],q0[0]+this.yyleng-K0];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(a0){this.unput(this.match.slice(a0))},"less"),pastInput:X(function(){var a0=this.matched.substr(0,this.matched.length-this.match.length);return(a0.length>20?"...":"")+a0.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var a0=this.match;if(a0.length<20)a0+=this._input.substr(0,20-a0.length);return(a0.substr(0,20)+(a0.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var a0=this.pastInput(),K0=Array(a0.length+1).join("-");return a0+this.upcomingInput()+`
`+K0+"^"},"showPosition"),test_match:X(function(a0,K0){var n,d,q0;if(this.options.backtrack_lexer){if(q0={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)q0.yylloc.range=this.yylloc.range.slice(0)}if(d=a0[0].match(/(?:\r\n?|\n).*/g),d)this.yylineno+=d.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a0[0].length},this.yytext+=a0[0],this.match+=a0[0],this.matches=a0,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(a0[0].length),this.matched+=a0[0],n=this.performAction.call(this,this.yy,this,K0,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(n)return n;else if(this._backtrack){for(var o in q0)this[o]=q0[o];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var a0,K0,n,d;if(!this._more)this.yytext="",this.match="";var q0=this._currentRules();for(var o=0;o<q0.length;o++)if(n=this._input.match(this.rules[q0[o]]),n&&(!K0||n[0].length>K0[0].length)){if(K0=n,d=o,this.options.backtrack_lexer)if(a0=this.test_match(n,q0[o]),a0!==!1)return a0;else if(this._backtrack){K0=!1;continue}else return!1;else if(!this.options.flex)break}if(K0){if(a0=this.test_match(K0,q0[d]),a0!==!1)return a0;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var K0=this.next();if(K0)return K0;else return this.lex()},"lex"),begin:X(function(K0){this.conditionStack.push(K0)},"begin"),popState:X(function(){var K0=this.conditionStack.length-1;if(K0>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(K0){if(K0=this.conditionStack.length-1-Math.abs(K0||0),K0>=0)return this.conditionStack[K0];else return"INITIAL"},"topState"),pushState:X(function(K0){this.begin(K0)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:X(function(K0,n,d,q0){var o=q0;switch(d){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;break;case 35:return"EOF_IN_STRUCT";case 36:return 8;case 37:break;case 38:return"EDGE_STATE";case 39:return this.begin("class"),48;break;case 40:return this.popState(),8;break;case 41:break;case 42:return this.popState(),this.popState(),41;break;case 43:return this.begin("class-body"),39;break;case 44:return this.popState(),41;break;case 45:return"EOF_IN_STRUCT";case 46:return"EDGE_STATE";case 47:return"OPEN_IN_STRUCT";case 48:break;case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 59:this.popState();break;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 62:this.popState();break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 77;case 69:return 69;case 70:return 69;case 71:return 71;case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:return 89;case 86:return 89;case 87:return 90;case 88:return"EQUALS";case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:return 50;case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}};return Y0}();Z0.lexer=X0;function W0(){this.yy={}}return X(W0,"Parser"),W0.prototype=Z0,Z0.Parser=W0,new W0}();wF0.parser=wF0;Mc=wF0,h2u=["#","+","~","-",""],i2u=class{static{X(this,"ClassMember")}constructor(u,B){this.memberType=B,this.visibility="",this.classifier="",this.text="";let E=C3(u,y0());this.parseMember(E)}getDisplayDetails(){let u=this.visibility+GF(this.id);if(this.memberType==="method"){if(u+=`(${GF(this.parameters.trim())})`,this.returnType)u+=" : "+GF(this.returnType)}u=u.trim();let B=this.parseClassifier();return{displayText:u,cssStyle:B}}parseMember(u){let B="";if(this.memberType==="method"){let C=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(u);if(C){let D=C[1]?C[1].trim():"";if(h2u.includes(D))this.visibility=D;if(this.id=C[2],this.parameters=C[3]?C[3].trim():"",B=C[4]?C[4].trim():"",this.returnType=C[5]?C[5].trim():"",B===""){let F=this.returnType.substring(this.returnType.length-1);if(/[$*]/.exec(F))B=F,this.returnType=this.returnType.substring(0,this.returnType.length-1)}}}else{let A=u.length,C=u.substring(0,1),D=u.substring(A-1);if(h2u.includes(C))this.visibility=C;if(/[$*]/.exec(D))B=D;this.id=u.substring(this.visibility===""?0:1,B===""?A:A-1)}this.classifier=B,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let E=`${this.visibility?"\\"+this.visibility:""}${GF(this.id)}${this.memberType==="method"?`(${GF(this.parameters)})${this.returnType?" : "+GF(this.returnType):""}`:""}`;if(this.text=E.replaceAll("<","&lt;").replaceAll(">","&gt;"),this.text.startsWith("\\&lt;"))this.text=this.text.replace("\\&lt;","~")}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},BQ=X((u)=>ru.sanitizeText(u,y0()),"sanitizeText"),bc=class u{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=X((B)=>{let E=kl();Qu(B).select("svg").selectAll("g").filter(function(){return Qu(this).attr("title")!==null}).on("mouseover",(D)=>{let F=Qu(D.currentTarget),U=F.attr("title");if(!U)return;let z=D.currentTarget.getBoundingClientRect();E.transition().duration(200).style("opacity",".9"),E.html(C8.sanitize(U)).style("left",`${window.scrollX+z.left+z.width/2}px`).style("top",`${window.scrollY+z.bottom+4}px`),F.classed("hover",!0)}).on("mouseout",(D)=>{E.transition().duration(500).style("opacity",0),Qu(D.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=w3,this.getAccTitle=q3,this.setAccDescription=l3,this.getAccDescription=L3,this.setDiagramTitle=T3,this.getDiagramTitle=X3,this.getConfig=X(()=>y0().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{X(this,"ClassDB")}splitClassNameAndType(B){let E=ru.sanitizeText(B,y0()),A="",C=E;if(E.indexOf("~")>0){let D=E.split("~");C=BQ(D[0]),A=BQ(D[1])}return{className:C,type:A}}setClassLabel(B,E){let A=ru.sanitizeText(B,y0());if(E)E=BQ(E);let{className:C}=this.splitClassNameAndType(A);this.classes.get(C).label=E,this.classes.get(C).text=`${E}${this.classes.get(C).type?`<${this.classes.get(C).type}>`:""}`}addClass(B){let E=ru.sanitizeText(B,y0()),{className:A,type:C}=this.splitClassNameAndType(E);if(this.classes.has(A))return;let D=ru.sanitizeText(A,y0());this.classes.set(D,{id:D,type:C,label:D,text:`${D}${C?`&lt;${C}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:fc+D+"-"+a2u}),a2u++}addInterface(B,E){let A={id:`interface${this.interfaces.length}`,label:B,classId:E};this.interfaces.push(A)}setDiagramId(B){this.diagramId=B}lookUpDomId(B){let E=ru.sanitizeText(B,y0());if(this.classes.has(E)){let A=this.classes.get(E).domId;return this.diagramId?`${this.diagramId}-${A}`:A}throw Error("Class not found: "+E)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",D3()}getClass(B){return this.classes.get(B)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(B){let E=typeof B==="number"?`note${B}`:B;return this.notes.get(E)}getNotes(){return this.notes}addRelation(B){z0.debug("Adding relation: "+JSON.stringify(B));let E=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];if(B.relation.type1===this.relationType.LOLLIPOP&&!E.includes(B.relation.type2))this.addClass(B.id2),this.addInterface(B.id1,B.id2),B.id1=`interface${this.interfaces.length-1}`;else if(B.relation.type2===this.relationType.LOLLIPOP&&!E.includes(B.relation.type1))this.addClass(B.id1),this.addInterface(B.id2,B.id1),B.id2=`interface${this.interfaces.length-1}`;else this.addClass(B.id1),this.addClass(B.id2);B.id1=this.splitClassNameAndType(B.id1).className,B.id2=this.splitClassNameAndType(B.id2).className,B.relationTitle1=ru.sanitizeText(B.relationTitle1.trim(),y0()),B.relationTitle2=ru.sanitizeText(B.relationTitle2.trim(),y0()),this.relations.push(B)}addAnnotation(B,E){let A=this.splitClassNameAndType(B).className;this.classes.get(A).annotations.push(E)}addMember(B,E){this.addClass(B);let A=this.splitClassNameAndType(B).className,C=this.classes.get(A);if(typeof E==="string"){let D=E.trim();if(D.startsWith("<<")&&D.endsWith(">>"))C.annotations.push(BQ(D.substring(2,D.length-2)));else if(D.indexOf(")")>0)C.methods.push(new i2u(D,"method"));else if(D)C.members.push(new i2u(D,"attribute"))}}addMembers(B,E){if(Array.isArray(E))E.reverse(),E.forEach((A)=>this.addMember(B,A))}addNote(B,E){let A=this.notes.size,C={id:`note${A}`,class:E,text:B,index:A};return this.notes.set(C.id,C),C.id}cleanupLabel(B){if(B.startsWith(":"))B=B.substring(1);return BQ(B.trim())}setCssClass(B,E){B.split(",").forEach((A)=>{let C=A;if(/\d/.exec(A[0]))C=fc+C;C=this.splitClassNameAndType(C).className;let D=this.classes.get(C);if(D)D.cssClasses+=" "+E})}defineClass(B,E){for(let A of B){let C=this.styleClasses.get(A);if(C===void 0)C={id:A,styles:[],textStyles:[]},this.styleClasses.set(A,C);if(E)E.forEach((D)=>{if(/color/.exec(D)){let F=D.replace("fill","bgFill");C.textStyles.push(F)}C.styles.push(D)});this.classes.forEach((D)=>{if(D.cssClasses.includes(A))D.styles.push(...E.flatMap((F)=>F.split(",")))})}}setTooltip(B,E){B.split(",").forEach((A)=>{if(E!==void 0){let C=this.splitClassNameAndType(A).className,D=this.classes.get(C);if(D)D.tooltip=BQ(E)}})}getTooltip(B,E){if(E&&this.namespaces.has(E))return this.namespaces.get(E).classes.get(B).tooltip;return this.classes.get(B).tooltip}setLink(B,E,A){let C=y0();B.split(",").forEach((D)=>{let F=D;if(/\d/.exec(D[0]))F=fc+F;F=this.splitClassNameAndType(F).className;let U=this.classes.get(F);if(U)if(U.link=R4.formatUrl(E,C),C.securityLevel==="sandbox")U.linkTarget="_top";else if(typeof A==="string")U.linkTarget=BQ(A);else U.linkTarget="_blank"}),this.setCssClass(B,"clickable")}setClickEvent(B,E,A){B.split(",").forEach((C)=>{this.setClickFunc(C,E,A);let D=this.splitClassNameAndType(C).className,F=this.classes.get(D);if(F)F.haveCallback=!0}),this.setCssClass(B,"clickable")}setClickFunc(B,E,A){let C=ru.sanitizeText(B,y0());if(y0().securityLevel!=="loose")return;if(E===void 0)return;let F=this.splitClassNameAndType(C).className;if(this.classes.has(F)){let U=[];if(typeof A==="string"){U=A.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let z=0;z<U.length;z++){let k=U[z].trim();if(k.startsWith('"')&&k.endsWith('"'))k=k.substr(1,k.length-2);U[z]=k}}if(U.length===0)U.push(F);this.functions.push(()=>{let z=this.lookUpDomId(F),k=document.querySelector(`[id="${z}"]`);if(k!==null)k.addEventListener("click",()=>{R4.runFunc(E,...U)},!1)})}}bindFunctions(B){this.functions.forEach((E)=>{E(B)})}escapeHtml(B){return B.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}getDirection(){return this.direction}setDirection(B){this.direction=B}static resolveQualifiedId(B,E){let A=E.at(-1);return A?`${A}.${B}`:B}static getAncestorIds(B){let E=B.split("."),A=Array(E.length);A[0]=E[0];for(let C=1;C<E.length;C++)A[C]=`${A[C-1]}.${E[C]}`;return A}createNamespaceNode(B,E,A,C=!1){return{id:B,label:E,classes:new Map,notes:new Map,children:new Map,domId:fc+B+"-"+this.namespaceCounter++,parent:A,explicit:C}}linkParentChild(B,E){let A=this.namespaces.get(B),C=this.namespaces.get(E);if(!A||!C)return;if(!A.children.has(E))A.children.set(E,C);C.parent??=B}addNamespace(B,E){let A=u.resolveQualifiedId(B,this.namespaceStack);if(this.namespaceStack.push(A),this.namespaces.has(A)){let F=this.namespaces.get(A);if(F.explicit=!0,E)F.label=E;return A}let C=A.split("."),D=u.getAncestorIds(A);for(let F=0;F<D.length;F++){let U=D[F],z=F>0?D[F-1]:void 0,k=F===D.length-1,f=k&&E?E:C[F];if(!this.namespaces.has(U))this.namespaces.set(U,this.createNamespaceNode(U,f,z,k));else if(k)this.namespaces.get(U).explicit=!0;if(z)this.linkParentChild(z,U)}return A}popNamespace(){this.namespaceStack.pop()}getNamespace(B){return this.namespaces.get(B)}getNamespaces(){return this.namespaces}addClassesToNamespace(B,E,A){if(!this.namespaces.has(B))return;for(let C of E){let{className:D}=this.splitClassNameAndType(C),F=this.getClass(D);F.parent=B,this.namespaces.get(B).classes.set(D,F)}for(let C of A){let D=this.getNote(C);D.parent=B,this.namespaces.get(B).notes.set(C,D)}}setCssStyle(B,E){let A=this.classes.get(B);if(!E||!A)return;for(let C of E)if(C.includes(","))A.styles.push(...C.split(","));else A.styles.push(C)}getArrowMarker(B){let E;switch(B){case 0:E="aggregation";break;case 1:E="extension";break;case 2:E="composition";break;case 3:E="dependency";break;case 4:E="lollipop";break;default:E="none"}return E}resolveExplicitAncestor(B){let E=B;while(E){let A=this.namespaces.get(E);if(!A)return;if(A.explicit)return E;E=A.parent}return}getData(){let B=[],E=[],A=y0(),C=A.class?.hierarchicalNamespaces??!0;for(let F of this.namespaces.values()){if(!C&&!F.explicit)continue;let U={id:F.id,label:C?F.label:F.id,isGroup:!0,padding:A.class.padding??16,shape:"rect",cssStyles:[],look:A.look,parentId:C?F.parent:void 0};B.push(U)}for(let F of this.classes.values()){let U=C?F.parent:this.resolveExplicitAncestor(F.parent),z={...F,type:void 0,isGroup:!1,parentId:U,look:A.look};B.push(z)}for(let F of this.notes.values()){let U=C?F.parent:this.resolveExplicitAncestor(F.parent),z={id:F.id,label:F.text,isGroup:!1,shape:"note",padding:A.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${A.themeVariables.noteBkgColor}`,`stroke: ${A.themeVariables.noteBorderColor}`],look:A.look,parentId:U,labelType:"markdown"};B.push(z);let k=this.classes.get(F.class)?.id;if(k){let f={id:`edgeNote${F.index}`,start:F.id,end:k,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:A.look};E.push(f)}}for(let F of this.interfaces){let U={id:F.id,label:F.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:A.look};B.push(U)}let D=0;for(let F of this.relations){D++;let U={id:RF(F.id1,F.id2,{prefix:"id",counter:D}),start:F.id1,end:F.id2,type:"normal",label:F.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(F.relation.type1),arrowTypeEnd:this.getArrowMarker(F.relation.type2),startLabelRight:F.relationTitle1==="none"?"":F.relationTitle1,endLabelLeft:F.relationTitle2==="none"?"":F.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:F.style||"",pattern:F.relation.lineType==1?"dashed":"solid",look:A.look,labelType:"markdown"};E.push(U)}return{nodes:B,edges:E,other:{},config:A,direction:this.getDirection()}}},Sa4=X((u)=>`g.classGroup text {
fill: ${u.nodeBorder||u.classText};
stroke: none;
font-family: ${u.fontFamily};
font-size: 10px;
.title {
font-weight: bolder;
}
}
.cluster-label text {
fill: ${u.titleColor};
}
.cluster-label span {
color: ${u.titleColor};
}
.cluster-label span p {
background-color: transparent;
}
.cluster rect {
fill: ${u.clusterBkg};
stroke: ${u.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${u.titleColor};
}
.cluster span {
color: ${u.titleColor};
}
.nodeLabel, .edgeLabel {
color: ${u.classText};
}
.noteLabel .nodeLabel, .noteLabel .edgeLabel {
color: ${u.noteTextColor};
}
.edgeLabel .label rect {
fill: ${u.mainBkg};
}
.label text {
fill: ${u.classText};
}
.labelBkg {
background: ${u.mainBkg};
}
.edgeLabel .label span {
background: ${u.mainBkg};
}
.classTitle {
font-weight: bolder;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
stroke-width: ${u.strokeWidth};
}
.divider {
stroke: ${u.nodeBorder};
stroke-width: 1;
}
g.clickable {
cursor: pointer;
}
g.classGroup rect {
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
}
g.classGroup line {
stroke: ${u.nodeBorder};
stroke-width: 1;
}
.classLabel .box {
stroke: none;
stroke-width: 0;
fill: ${u.mainBkg};
opacity: 0.5;
}
.classLabel .label {
fill: ${u.nodeBorder};
font-size: 10px;
}
.relation {
stroke: ${u.lineColor};
stroke-width: ${u.strokeWidth};
fill: none;
}
.dashed-line{
stroke-dasharray: 3;
}
.dotted-line{
stroke-dasharray: 1 2;
}
[id$="-compositionStart"], .composition {
fill: ${u.lineColor} !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-compositionEnd"], .composition {
fill: ${u.lineColor} !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-dependencyStart"], .dependency {
fill: ${u.lineColor} !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-dependencyEnd"], .dependency {
fill: ${u.lineColor} !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-extensionStart"], .extension {
fill: transparent !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-extensionEnd"], .extension {
fill: transparent !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-aggregationStart"], .aggregation {
fill: transparent !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-aggregationEnd"], .aggregation {
fill: transparent !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-lollipopStart"], .lollipop {
fill: ${u.mainBkg} !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
[id$="-lollipopEnd"], .lollipop {
fill: ${u.mainBkg} !important;
stroke: ${u.lineColor} !important;
stroke-width: 1;
}
.edgeTerminals {
font-size: 11px;
line-height: initial;
}
.classTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${u.textColor};
}
.edgeLabel[data-look="neo"] {
background-color: ${u.edgeLabelBackground};
p {
background-color: ${u.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${u.edgeLabelBackground};
fill: ${u.edgeLabelBackground};
}
text-align: center;
}
${EU()}
`,"getStyles"),Zc=Sa4,Ya4=X((u,B="TB")=>{if(!u.doc)return B;let E=B;for(let A of u.doc)if(A.stmt==="dir")E=A.value;return E},"getDir"),Ra4=X(function(u,B){return B.db.getClasses()},"getClasses"),Ta4=X(async function(u,B,E,A){z0.info("REF0:"),z0.info("Drawing class diagram (v3)",B);let{securityLevel:C,state:D,layout:F}=y0();A.db.setDiagramId(B);let U=A.db.getData(),z=LA(B,C);U.type=A.type,U.layoutAlgorithm=eF(F),U.nodeSpacing=D?.nodeSpacing||50,U.rankSpacing=D?.rankSpacing||50,U.markers=["aggregation","extension","composition","dependency","lollipop"],U.diagramId=B,await QA(U,z);let k=8;R4.insertTitle(z,"classDiagramTitleText",D?.titleTopMargin??25,A.db.getDiagramTitle()),v8(z,k,"classDiagram",D?.useMaxWidth??!0)},"draw"),Jc={getClasses:Ra4,draw:Ta4,getDir:Ya4}});var m2u={};ju(m2u,{diagram:()=>Oa4});var Oa4;var $2u=g(()=>{QF0();AU();qE();x8();L8();HE();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();Oa4={parser:Mc,get db(){return new bc},renderer:Jc,styles:Zc,init:X((u)=>{if(!u.class)u.class={};u.class.arrowMarkerAbsolute=u.arrowMarkerAbsolute},"init")}});var y2u={};ju(y2u,{diagram:()=>Ia4});var Ia4;var r2u=g(()=>{QF0();AU();qE();x8();L8();HE();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();Ia4={parser:Mc,get db(){return new bc},renderer:Jc,styles:Zc,init:X((u)=>{if(!u.class)u.class={};u.class.arrowMarkerAbsolute=u.arrowMarkerAbsolute},"init")}});function Qc(u="",B=0,E="",A=LF0){let C=E!==null&&E.length>0?`${A}${E}`:"";return`${oa4}-${u}${C}-${B}`}function ET(u,B,E){if(!B.id||B.id==="</join></fork>"||B.id==="</choice>")return;if(B.cssClasses){if(!Array.isArray(B.cssCompiledStyles))B.cssCompiledStyles=[];B.cssClasses.split(" ").forEach((C)=>{let D=E.get(C);if(D)B.cssCompiledStyles=[...B.cssCompiledStyles??[],...D.styles]})}let A=u.find((C)=>C.id===B.id);if(A)Object.assign(A,B);else u.push(B)}function k5u(u){return u?.classes?.join(" ")??""}function f5u(u){return u?.styles??[]}var qF0,Gc,Pa4="TB",o2u="TB",g2u="dir",KL="state",JL="root",lF0="relation",ja4="classDef",Na4="style",Va4="applyClass",CT="default",t2u="divider",e2u="fill:none",u5u="fill: #333",B5u="c",E5u="markdown",A5u="normal",GF0="rect",HF0="rectWithTitle",ha4="stateStart",ia4="stateEnd",c2u="divider",_2u="roundedWithTitle",aa4="note",ma4="noteGroup",DT="statediagram",$a4="state",ya4,C5u="transition",ra4="note",ga4="note-edge",ca4,_a4,pa4="cluster",na4,da4="cluster-alt",sa4,D5u="parent",F5u="note",oa4="state",LF0="----",ta4,p2u,U5u,ea4,um4,z5u,wc,$b=0,Bm4,n2u,AT,Em4,aB,d2u,s2u,Kc,yk,Am4,Hc;var XF0=g(()=>{qE();x8();L8();HE();e3();s4();o4();Y4();V3();pG();qF0=function(){var u=X(function(i,a,$,m){for($=$||{},m=i.length;m--;$[i[m]]=a);return $},"o"),B=[1,2],E=[1,3],A=[1,4],C=[2,4],D=[1,9],F=[1,11],U=[1,16],z=[1,17],k=[1,18],f=[1,19],M=[1,33],b=[1,20],Z=[1,21],J=[1,22],K=[1,23],w=[1,24],Q=[1,26],G=[1,27],H=[1,28],l=[1,29],q=[1,30],L=[1,31],v=[1,32],x=[1,35],S=[1,36],W=[1,37],T=[1,38],R=[1,34],Y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],h=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],O={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:X(function(a,$,m,y,r,_,e){var p=_.length-1;switch(r){case 3:return y.setRootDoc(_[p]),_[p];break;case 4:this.$=[];break;case 5:if(_[p]!="nl")_[p-1].push(_[p]),this.$=_[p-1];break;case 6:case 7:this.$=_[p];break;case 8:this.$="nl";break;case 12:this.$=_[p];break;case 13:let f0=_[p-1];f0.description=y.trimColon(_[p]),this.$=f0;break;case 14:this.$={stmt:"relation",state1:_[p-2],state2:_[p]};break;case 15:let D0=y.trimColon(_[p]);this.$={stmt:"relation",state1:_[p-3],state2:_[p-1],description:D0};break;case 19:this.$={stmt:"state",id:_[p-3],type:"default",description:"",doc:_[p-1]};break;case 20:var b0=_[p],B0=_[p-2].trim();if(_[p].match(":")){var k0=_[p].split(":");b0=k0[0],B0=[B0,k0[1]]}this.$={stmt:"state",id:b0,type:"default",description:B0};break;case 21:this.$={stmt:"state",id:_[p-3],type:"default",description:_[p-5],doc:_[p-1]};break;case 22:this.$={stmt:"state",id:_[p],type:"fork"};break;case 23:this.$={stmt:"state",id:_[p],type:"join"};break;case 24:this.$={stmt:"state",id:_[p],type:"choice"};break;case 25:this.$={stmt:"state",id:y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:_[p-1].trim(),note:{position:_[p-2].trim(),text:_[p].trim()}};break;case 29:this.$=_[p].trim(),y.setAccTitle(this.$);break;case 30:case 31:this.$=_[p].trim(),y.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:_[p-3],url:_[p-2],tooltip:_[p-1]};break;case 33:this.$={stmt:"click",id:_[p-3],url:_[p-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:_[p-1].trim(),classes:_[p].trim()};break;case 36:this.$={stmt:"style",id:_[p-1].trim(),styleClass:_[p].trim()};break;case 37:this.$={stmt:"applyClass",id:_[p-1].trim(),styleClass:_[p].trim()};break;case 38:y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:_[p].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:_[p-2].trim(),classes:[_[p].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:_[p-2].trim(),classes:[_[p].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:B,5:E,6:A},{1:[3]},{3:5,4:B,5:E,6:A},{3:6,4:B,5:E,6:A},u([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],C,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:D,5:F,8:8,9:10,10:12,11:13,12:14,13:15,16:U,17:z,19:k,22:f,24:M,25:b,26:Z,27:J,28:K,29:w,32:25,33:Q,35:G,37:H,38:l,41:q,45:L,48:v,51:x,52:S,53:W,54:T,57:R},u(Y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:U,17:z,19:k,22:f,24:M,25:b,26:Z,27:J,28:K,29:w,32:25,33:Q,35:G,37:H,38:l,41:q,45:L,48:v,51:x,52:S,53:W,54:T,57:R},u(Y,[2,7]),u(Y,[2,8]),u(Y,[2,9]),u(Y,[2,10]),u(Y,[2,11]),u(Y,[2,12],{14:[1,40],15:[1,41]}),u(Y,[2,16]),{18:[1,42]},u(Y,[2,18],{20:[1,43]}),{23:[1,44]},u(Y,[2,22]),u(Y,[2,23]),u(Y,[2,24]),u(Y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},u(Y,[2,28]),{34:[1,49]},{36:[1,50]},u(Y,[2,31]),{13:51,24:M,57:R},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},u(h,[2,44],{58:[1,56]}),u(h,[2,45],{58:[1,57]}),u(Y,[2,38]),u(Y,[2,39]),u(Y,[2,40]),u(Y,[2,41]),u(Y,[2,6]),u(Y,[2,13]),{13:58,24:M,57:R},u(Y,[2,17]),u(I,C,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},u(Y,[2,29]),u(Y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},u(Y,[2,14],{14:[1,71]}),{4:D,5:F,8:8,9:10,10:12,11:13,12:14,13:15,16:U,17:z,19:k,21:[1,72],22:f,24:M,25:b,26:Z,27:J,28:K,29:w,32:25,33:Q,35:G,37:H,38:l,41:q,45:L,48:v,51:x,52:S,53:W,54:T,57:R},u(Y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},u(Y,[2,34]),u(Y,[2,35]),u(Y,[2,36]),u(Y,[2,37]),u(h,[2,46]),u(h,[2,47]),u(Y,[2,15]),u(Y,[2,19]),u(I,C,{7:78}),u(Y,[2,26]),u(Y,[2,27]),{5:[1,79]},{5:[1,80]},{4:D,5:F,8:8,9:10,10:12,11:13,12:14,13:15,16:U,17:z,19:k,21:[1,81],22:f,24:M,25:b,26:Z,27:J,28:K,29:w,32:25,33:Q,35:G,37:H,38:l,41:q,45:L,48:v,51:x,52:S,53:W,54:T,57:R},u(Y,[2,32]),u(Y,[2,33]),u(Y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:X(function(a,$){if($.recoverable)this.trace(a);else{var m=Error(a);throw m.hash=$,m}},"parseError"),parse:X(function(a){var $=this,m=[0],y=[],r=[null],_=[],e=this.table,p="",b0=0,B0=0,k0=0,f0=2,D0=1,P0=_.slice.call(arguments,1),L0=Object.create(this.lexer),m0={yy:{}};for(var h0 in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,h0))m0.yy[h0]=this.yy[h0];if(L0.setInput(a,m0.yy),m0.yy.lexer=L0,m0.yy.parser=this,typeof L0.yylloc>"u")L0.yylloc={};var _0=L0.yylloc;_.push(_0);var w0=L0.options&&L0.options.ranges;if(typeof m0.yy.parseError==="function")this.parseError=m0.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function x0(o){m.length=m.length-2*o,r.length=r.length-o,_.length=_.length-o}X(x0,"popStack");function T0(){var o=y.pop()||L0.lex()||D0;if(typeof o!=="number"){if(o instanceof Array)y=o,o=y.pop();o=$.symbols_[o]||o}return o}X(T0,"lex");var J0,F0,u0,Z0,X0,W0,Y0={},a0,K0,n,d;while(!0){if(u0=m[m.length-1],this.defaultActions[u0])Z0=this.defaultActions[u0];else{if(J0===null||typeof J0>"u")J0=T0();Z0=e[u0]&&e[u0][J0]}if(typeof Z0>"u"||!Z0.length||!Z0[0]){var q0="";d=[];for(a0 in e[u0])if(this.terminals_[a0]&&a0>f0)d.push("'"+this.terminals_[a0]+"'");if(L0.showPosition)q0="Parse error on line "+(b0+1)+`:
`+L0.showPosition()+`
Expecting `+d.join(", ")+", got '"+(this.terminals_[J0]||J0)+"'";else q0="Parse error on line "+(b0+1)+": Unexpected "+(J0==D0?"end of input":"'"+(this.terminals_[J0]||J0)+"'");this.parseError(q0,{text:L0.match,token:this.terminals_[J0]||J0,line:L0.yylineno,loc:_0,expected:d})}if(Z0[0]instanceof Array&&Z0.length>1)throw Error("Parse Error: multiple actions possible at state: "+u0+", token: "+J0);switch(Z0[0]){case 1:if(m.push(J0),r.push(L0.yytext),_.push(L0.yylloc),m.push(Z0[1]),J0=null,!F0){if(B0=L0.yyleng,p=L0.yytext,b0=L0.yylineno,_0=L0.yylloc,k0>0)k0--}else J0=F0,F0=null;break;case 2:if(K0=this.productions_[Z0[1]][1],Y0.$=r[r.length-K0],Y0._$={first_line:_[_.length-(K0||1)].first_line,last_line:_[_.length-1].last_line,first_column:_[_.length-(K0||1)].first_column,last_column:_[_.length-1].last_column},w0)Y0._$.range=[_[_.length-(K0||1)].range[0],_[_.length-1].range[1]];if(W0=this.performAction.apply(Y0,[p,B0,b0,m0.yy,Z0[1],r,_].concat(P0)),typeof W0<"u")return W0;if(K0)m=m.slice(0,-1*K0*2),r=r.slice(0,-1*K0),_=_.slice(0,-1*K0);m.push(this.productions_[Z0[1]][0]),r.push(Y0.$),_.push(Y0._$),n=e[m[m.length-2]][m[m.length-1]],m.push(n);break;case 3:return!0}}return!0},"parse")},V=function(){var i={EOF:1,parseError:X(function($,m){if(this.yy.parser)this.yy.parser.parseError($,m);else throw Error($)},"parseError"),setInput:X(function(a,$){if(this.yy=$||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var $=a.match(/(?:\r\n?|\n).*/g);if($)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),a},"input"),unput:X(function(a){var $=a.length,m=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var y=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),m.length-1)this.yylineno-=m.length-1;var r=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:m?(m.length===y.length?this.yylloc.first_column:0)+y[y.length-m.length].length-m[0].length:this.yylloc.first_column-$},this.options.ranges)this.yylloc.range=[r[0],r[0]+this.yyleng-$];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(a){this.unput(this.match.slice(a))},"less"),pastInput:X(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var a=this.match;if(a.length<20)a+=this._input.substr(0,20-a.length);return(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var a=this.pastInput(),$=Array(a.length+1).join("-");return a+this.upcomingInput()+`
`+$+"^"},"showPosition"),test_match:X(function(a,$){var m,y,r;if(this.options.backtrack_lexer){if(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)r.yylloc.range=this.yylloc.range.slice(0)}if(y=a[0].match(/(?:\r\n?|\n).*/g),y)this.yylineno+=y.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],m=this.performAction.call(this,this.yy,this,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(m)return m;else if(this._backtrack){for(var _ in r)this[_]=r[_];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var a,$,m,y;if(!this._more)this.yytext="",this.match="";var r=this._currentRules();for(var _=0;_<r.length;_++)if(m=this._input.match(this.rules[r[_]]),m&&(!$||m[0].length>$[0].length)){if($=m,y=_,this.options.backtrack_lexer)if(a=this.test_match(m,r[_]),a!==!1)return a;else if(this._backtrack){$=!1;continue}else return!1;else if(!this.options.flex)break}if($){if(a=this.test_match($,r[y]),a!==!1)return a;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var $=this.next();if($)return $;else return this.lex()},"lex"),begin:X(function($){this.conditionStack.push($)},"begin"),popState:X(function(){var $=this.conditionStack.length-1;if($>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function($){if($=this.conditionStack.length-1-Math.abs($||0),$>=0)return this.conditionStack[$];else return"INITIAL"},"topState"),pushState:X(function($){this.begin($)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function($,m,y,r){function _(){let p=m.yytext.indexOf("%%");if(p===0)return!1;if(p>0){let b0=m.yytext.slice(0,p),B0=m.yytext.slice(p);if(B0)$.lexer.unput(B0);m.yytext=b0}return!0}X(_,"processId");var e=r;switch(y){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:break;case 13:return this.pushState("SCALE"),17;break;case 14:return 18;case 15:this.popState();break;case 16:return this.begin("acc_title"),33;break;case 17:return this.popState(),"acc_title_value";break;case 18:return this.begin("acc_descr"),35;break;case 19:return this.popState(),"acc_descr_value";break;case 20:this.begin("acc_descr_multiline");break;case 21:this.popState();break;case 22:return"acc_descr_multiline_value";case 23:return this.pushState("CLASSDEF"),41;break;case 24:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 25:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 26:return this.popState(),43;break;case 27:return this.pushState("CLASS"),48;break;case 28:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 29:return this.popState(),50;break;case 30:return this.pushState("STYLE"),45;break;case 31:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 32:return this.popState(),47;break;case 33:return this.pushState("SCALE"),17;break;case 34:return 18;case 35:this.popState();break;case 36:this.pushState("STATE");break;case 37:return this.popState(),m.yytext=m.yytext.slice(0,-8).trim(),25;break;case 38:return this.popState(),m.yytext=m.yytext.slice(0,-8).trim(),26;break;case 39:return this.popState(),m.yytext=m.yytext.slice(0,-10).trim(),27;break;case 40:return this.popState(),m.yytext=m.yytext.slice(0,-8).trim(),25;break;case 41:return this.popState(),m.yytext=m.yytext.slice(0,-8).trim(),26;break;case 42:return this.popState(),m.yytext=m.yytext.slice(0,-10).trim(),27;break;case 43:return 51;case 44:return 52;case 45:return 53;case 46:return 54;case 47:this.pushState("STATE_STRING");break;case 48:return this.pushState("STATE_ID"),"AS";break;case 49:if(!_())return;return this.popState(),"ID";break;case 50:this.popState();break;case 51:return"STATE_DESCR";case 52:throw Error('Error: State name must be a single word. Found: "'+m.yytext.trim()+'"');case 53:return 19;case 54:this.popState();break;case 55:return this.popState(),this.pushState("struct"),20;break;case 56:return this.popState(),21;break;case 57:break;case 58:return this.begin("NOTE"),29;break;case 59:return this.popState(),this.pushState("NOTE_ID"),59;break;case 60:return this.popState(),this.pushState("NOTE_ID"),60;break;case 61:this.popState(),this.pushState("FLOATING_NOTE");break;case 62:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 63:break;case 64:return"NOTE_TEXT";case 65:if(!_())return;return this.popState(),"ID";break;case 66:if(!_())return;return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 67:return this.popState(),m.yytext=m.yytext.substr(2).trim(),31;break;case 68:return this.popState(),m.yytext=m.yytext.slice(0,-8).trim(),31;break;case 69:return 6;case 70:return 6;case 71:return 16;case 72:return 57;case 73:if(!_())return;return 24;case 74:return m.yytext=m.yytext.trim(),14;break;case 75:return 15;case 76:return 28;case 77:return 58;case 78:return 5;case 79:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\w+\s+\w+.*?\{)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?\n\s*end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[10,11,12],inclusive:!1},struct:{rules:[10,11,12,23,27,30,36,43,44,45,46,56,57,58,72,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[65],inclusive:!1},FLOATING_NOTE:{rules:[62,63,64],inclusive:!1},NOTE_TEXT:{rules:[67,68],inclusive:!1},NOTE_ID:{rules:[66],inclusive:!1},NOTE:{rules:[59,60,61],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[32],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[31],inclusive:!1},CLASS_STYLE:{rules:[29],inclusive:!1},CLASS:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[26],inclusive:!1},CLASSDEF:{rules:[24,25],inclusive:!1},acc_descr_multiline:{rules:[21,22],inclusive:!1},acc_descr:{rules:[19],inclusive:!1},acc_title:{rules:[17],inclusive:!1},SCALE:{rules:[14,15,34,35],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[49],inclusive:!1},STATE_STRING:{rules:[50,51],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[10,11,12,37,38,39,40,41,42,47,48,52,53,54,55],inclusive:!1},ID:{rules:[10,11,12],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,12,13,16,18,20,23,27,30,33,36,55,58,69,70,71,72,73,74,75,77,78,79],inclusive:!0}}};return i}();O.lexer=V;function j(){this.yy={}}return X(j,"Parser"),j.prototype=O,O.Parser=j,new j}();qF0.parser=qF0;Gc=qF0,ya4=`${DT}-${$a4}`,ca4=`${C5u} ${ga4}`,_a4=`${DT}-${ra4}`,na4=`${DT}-${pa4}`,sa4=`${DT}-${da4}`,ta4=`${LF0}${F5u}`,p2u=`${LF0}${D5u}`,U5u=X((u,B=o2u)=>{if(!u.doc)return B;let E=B;for(let A of u.doc)if(A.stmt==="dir")E=A.value;return E},"getDir"),ea4=X(function(u,B){return B.db.getClasses()},"getClasses"),um4=X(async function(u,B,E,A){z0.info("REF0:"),z0.info("Drawing state diagram (v2)",B);let{securityLevel:C,state:D,layout:F}=y0();A.db.extract(A.db.getRootDocV2());let U=A.db.getData(),z=LA(B,C);if(U.type=A.type,U.layoutAlgorithm=F,U.nodeSpacing=D?.nodeSpacing||50,U.rankSpacing=D?.rankSpacing||50,y0().look==="neo")U.markers=["barbNeo"];else U.markers=["barb"];U.diagramId=B,await QA(U,z);let f=8;try{(typeof A.db.getLinks==="function"?A.db.getLinks():new Map).forEach((b,Z)=>{let J=typeof Z==="string"?Z:typeof Z?.id==="string"?Z.id:"",K=U.nodes.find((q)=>q.id===J);if(!J){z0.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(Z));return}let w=z.node()?.querySelectorAll("g.node, g.rough-node"),Q;if(w?.forEach((q)=>{let L=q.textContent?.trim();if(q.id===K?.domId||L===J)Q=q}),!Q){z0.warn("⚠️ Could not find node matching text:",J);return}let G=Q.parentNode;if(!G){z0.warn("⚠️ Node has no parent, cannot wrap:",J);return}let H=document.createElementNS("http://www.w3.org/2000/svg","a"),l=b.url.replace(/^"+|"+$/g,"");if(H.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l),H.setAttribute("target","_blank"),b.tooltip){let q=b.tooltip.replace(/^"+|"+$/g,"");H.setAttribute("title",q),Q.setAttribute("title",q)}G.replaceChild(H,Q),H.appendChild(Q),z0.info("\uD83D\uDD17 Wrapped node in <a> tag for:",J,b.url)})}catch(M){z0.error("❌ Error injecting clickable links:",M)}R4.insertTitle(z,"statediagramTitleText",D?.titleTopMargin??25,A.db.getDiagramTitle()),v8(z,f,DT,D?.useMaxWidth??!0)},"draw"),z5u={getClasses:ea4,draw:um4,getDir:U5u},wc=new Map;X(Qc,"stateDomId");Bm4=X((u,B,E,A,C,D,F,U)=>{z0.trace("items",B),B.forEach((z)=>{switch(z.stmt){case KL:AT(u,z,E,A,C,D,F,U);break;case CT:AT(u,z,E,A,C,D,F,U);break;case lF0:{AT(u,z.state1,E,A,C,D,F,U),AT(u,z.state2,E,A,C,D,F,U);let k=F==="neo",f={id:"edge"+$b,start:z.state1.id,end:z.state2.id,arrowhead:"normal",arrowTypeEnd:k?"arrow_barb_neo":"arrow_barb",style:e2u,labelStyle:"",label:ru.sanitizeText(z.description??"",y0()),arrowheadStyle:u5u,labelpos:B5u,labelType:E5u,thickness:A5u,classes:C5u,look:F};C.push(f),$b++}break}})},"setupDoc"),n2u=X((u,B=o2u)=>{let E=B;if(u.doc){for(let A of u.doc)if(A.stmt==="dir")E=A.value}return E},"getDir");X(ET,"insertOrUpdateNode");X(k5u,"getClassesFromDbInfo");X(f5u,"getStylesFromDbInfo");AT=X((u,B,E,A,C,D,F,U)=>{let z=B.id,k=E.get(z),f=k5u(k),M=f5u(k),b=y0();if(z0.info("dataFetcher parsedItem",B,k,M),z!=="root"){let Z=GF0;if(B.start===!0)Z=ha4;else if(B.start===!1)Z=ia4;if(B.type!==CT)Z=B.type;if(!wc.get(z))wc.set(z,{id:z,shape:Z,description:ru.sanitizeText(z,b),cssClasses:`${f} ${ya4}`,cssStyles:M});let J=wc.get(z);if(B.description){if(Array.isArray(J.description))J.shape=HF0,J.description.push(B.description);else if(J.description?.length&&J.description.length>0)if(J.shape=HF0,J.description===z)J.description=[B.description];else J.description=[J.description,B.description];else J.shape=GF0,J.description=B.description;J.description=ru.sanitizeTextOrArray(J.description,b)}if(J.description?.length===1&&J.shape===HF0)if(J.type==="group")J.shape=_2u;else J.shape=GF0;if(!J.type&&B.doc)z0.info("Setting cluster for XCX",z,n2u(B)),J.type="group",J.isGroup=!0,J.dir=n2u(B),J.explicitDir=B.doc.some((w)=>w.stmt==="dir"),J.shape=B.type===t2u?c2u:_2u,J.cssClasses=`${J.cssClasses} ${na4} ${D?sa4:""}`;let K={labelStyle:"",shape:J.shape,label:J.description,cssClasses:J.cssClasses,cssCompiledStyles:[],cssStyles:J.cssStyles,id:z,dir:J.dir,domId:Qc(z,$b),type:J.type,isGroup:J.type==="group",padding:8,rx:10,ry:10,look:F,labelType:"markdown"};if(K.shape===c2u)K.label="";if(u&&u.id!=="root")z0.trace("Setting node ",z," to be child of its parent ",u.id),K.parentId=u.id;if(K.centerLabel=!0,B.note){let w={labelStyle:"",shape:aa4,label:B.note.text,labelType:"markdown",cssClasses:_a4,cssStyles:[],cssCompiledStyles:[],id:z+ta4+"-"+$b,domId:Qc(z,$b,F5u),type:J.type,isGroup:J.type==="group",padding:b.flowchart?.padding,look:F,position:B.note.position},Q=z+p2u,G={labelStyle:"",shape:ma4,label:B.note.text,cssClasses:J.cssClasses,cssStyles:[],id:z+p2u,domId:Qc(z,$b,D5u),type:"group",isGroup:!0,padding:16,look:F,position:B.note.position};$b++,G.id=Q,w.parentId=Q,ET(A,G,U),ET(A,w,U),ET(A,K,U);let H=z,l=w.id;if(B.note.position==="left of")H=w.id,l=z;C.push({id:H+"-"+l,start:H,end:l,arrowhead:"none",arrowTypeEnd:"",style:e2u,labelStyle:"",classes:ca4,arrowheadStyle:u5u,labelpos:B5u,labelType:E5u,thickness:A5u,look:F})}else ET(A,K,U)}if(B.doc)z0.trace("Adding nodes children "),Bm4(B,B.doc,E,A,C,!D,F,U)},"dataFetcher"),Em4=X(()=>{wc.clear(),$b=0},"reset"),aB={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},d2u=X(()=>new Map,"newClassesList"),s2u=X(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),Kc=X((u)=>JSON.parse(JSON.stringify(u)),"clone"),yk=class{constructor(u){this.version=u,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=d2u(),this.documents={root:s2u()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.funs=[],this.getAccTitle=q3,this.setAccTitle=w3,this.getAccDescription=L3,this.setAccDescription=l3,this.setDiagramTitle=T3,this.getDiagramTitle=X3,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this),this.bindFunctions=this.bindFunctions.bind(this)}static{X(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(u){this.clear(!0);for(let A of Array.isArray(u)?u:u.doc)switch(A.stmt){case KL:this.addState(A.id.trim(),A.type,A.doc,A.description,A.note);break;case lF0:this.addRelation(A.state1,A.state2,A.description);break;case ja4:this.addStyleClass(A.id.trim(),A.classes);break;case Na4:this.handleStyleDef(A);break;case Va4:this.setCssClass(A.id.trim(),A.styleClass);break;case"click":this.addLink(A.id,A.url,A.tooltip);break}let B=this.getStates(),E=y0();Em4(),AT(void 0,this.getRootDocV2(),B,this.nodes,this.edges,!0,E.look,this.classes);for(let A of this.nodes){if(!Array.isArray(A.label))continue;if(A.description=A.label.slice(1),A.isGroup&&A.description.length>0)throw Error(`Group nodes can only have label. Remove the additional description for node [${A.id}]`);A.label=A.label[0]}}handleStyleDef(u){let B=u.id.trim().split(","),E=u.styleClass.split(",");for(let A of B){let C=this.getState(A);if(!C){let D=A.trim();this.addState(D),C=this.getState(D)}if(C)C.styles=E.map((D)=>D.replace(/;/g,"")?.trim())}}setRootDoc(u){if(z0.info("Setting root doc",u),this.rootDoc=u,this.version===1)this.extract(u);else this.extract(this.getRootDocV2())}docTranslator(u,B,E){if(B.stmt===lF0){this.docTranslator(u,B.state1,!0),this.docTranslator(u,B.state2,!1);return}if(B.stmt===KL)if(B.id===aB.START_NODE)B.id=u.id+(E?"_start":"_end"),B.start=E;else B.id=B.id.trim();if(B.stmt!==JL&&B.stmt!==KL||!B.doc)return;let A=[],C=[];for(let D of B.doc)if(D.type===t2u){let F=Kc(D);F.doc=Kc(C),A.push(F),C=[]}else C.push(D);if(A.length>0&&C.length>0){let D={stmt:KL,id:H30(),type:"divider",doc:Kc(C)};A.push(Kc(D)),B.doc=A}B.doc.forEach((D)=>this.docTranslator(B,D,!0))}getRootDocV2(){return this.docTranslator({id:JL,stmt:JL},{id:JL,stmt:JL,doc:this.rootDoc},!0),{id:JL,doc:this.rootDoc}}addState(u,B=CT,E=void 0,A=void 0,C=void 0,D=void 0,F=void 0,U=void 0){let z=u?.trim();if(!this.currentDocument.states.has(z))z0.info("Adding state ",z,A),this.currentDocument.states.set(z,{stmt:KL,id:z,descriptions:[],type:B,doc:E,note:C,classes:[],styles:[],textStyles:[]});else{let k=this.currentDocument.states.get(z);if(!k)throw Error(`State not found: ${z}`);if(!k.doc)k.doc=E;if(!k.type)k.type=B}if(A)z0.info("Setting state description",z,A),(Array.isArray(A)?A:[A]).forEach((f)=>this.addDescription(z,f.trim()));if(C){let k=this.currentDocument.states.get(z);if(!k)throw Error(`State not found: ${z}`);k.note=C,k.note.text=ru.sanitizeText(k.note.text,y0())}if(D)z0.info("Setting state classes",z,D),(Array.isArray(D)?D:[D]).forEach((f)=>this.setCssClass(z,f.trim()));if(F)z0.info("Setting state styles",z,F),(Array.isArray(F)?F:[F]).forEach((f)=>this.setStyle(z,f.trim()));if(U)z0.info("Setting state styles",z,F),(Array.isArray(U)?U:[U]).forEach((f)=>this.setTextStyle(z,f.trim()))}clear(u){if(this.nodes=[],this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.documents={root:s2u()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=d2u(),!u)this.links=new Map,D3()}getState(u){return this.currentDocument.states.get(u)}getStates(){return this.currentDocument.states}logDocuments(){z0.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(u,B,E){this.links.set(u,{url:B,tooltip:E}),z0.warn("Adding link",u,B,E)}getLinks(){return this.links}startIdIfNeeded(u=""){if(u===aB.START_NODE)return this.startEndCount++,`${aB.START_TYPE}${this.startEndCount}`;return u}startTypeIfNeeded(u="",B=CT){return u===aB.START_NODE?aB.START_TYPE:B}endIdIfNeeded(u=""){if(u===aB.END_NODE)return this.startEndCount++,`${aB.END_TYPE}${this.startEndCount}`;return u}endTypeIfNeeded(u="",B=CT){return u===aB.END_NODE?aB.END_TYPE:B}addRelationObjs(u,B,E=""){let A=this.startIdIfNeeded(u.id.trim()),C=this.startTypeIfNeeded(u.id.trim(),u.type),D=this.startIdIfNeeded(B.id.trim()),F=this.startTypeIfNeeded(B.id.trim(),B.type);this.addState(A,C,u.doc,u.description,u.note,u.classes,u.styles,u.textStyles),this.addState(D,F,B.doc,B.description,B.note,B.classes,B.styles,B.textStyles),this.currentDocument.relations.push({id1:A,id2:D,relationTitle:ru.sanitizeText(E,y0())})}addRelation(u,B,E){if(typeof u==="object"&&typeof B==="object")this.addRelationObjs(u,B,E);else if(typeof u==="string"&&typeof B==="string"){let A=this.startIdIfNeeded(u.trim()),C=this.startTypeIfNeeded(u),D=this.endIdIfNeeded(B.trim()),F=this.endTypeIfNeeded(B);this.addState(A,C),this.addState(D,F),this.currentDocument.relations.push({id1:A,id2:D,relationTitle:E?ru.sanitizeText(E,y0()):void 0})}}addDescription(u,B){let E=this.currentDocument.states.get(u),A=B.startsWith(":")?B.replace(":","").trim():B;E?.descriptions?.push(ru.sanitizeText(A,y0()))}cleanupLabel(u){return u.startsWith(":")?u.slice(2).trim():u.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(u,B=""){if(!this.classes.has(u))this.classes.set(u,{id:u,styles:[],textStyles:[]});let E=this.classes.get(u);if(B&&E)B.split(aB.STYLECLASS_SEP).forEach((A)=>{let C=A.replace(/([^;]*);/,"$1").trim();if(RegExp(aB.COLOR_KEYWORD).exec(A)){let F=C.replace(aB.FILL_KEYWORD,aB.BG_FILL).replace(aB.COLOR_KEYWORD,aB.FILL_KEYWORD);E.textStyles.push(F)}E.styles.push(C)})}getClasses(){return this.classes}setupToolTips(u){let B=kl();Qu(u).select("svg").selectAll("g.node, g.rough-node").on("mouseover",(C)=>{let D=Qu(C.currentTarget),F=D.attr("title");if(F===null)return;let U=C.currentTarget?.getBoundingClientRect();B.transition().duration(200).style("opacity",".9"),B.style("left",window.scrollX+U.left+(U.right-U.left)/2+"px").style("top",window.scrollY+U.bottom+"px"),B.html(C8.sanitize(F)),D.classed("hover",!0)}).on("mouseout",(C)=>{B.transition().duration(500).style("opacity",0),Qu(C.currentTarget).classed("hover",!1)})}setCssClass(u,B){u.split(",").forEach((E)=>{let A=this.getState(E);if(!A){let C=E.trim();this.addState(C),A=this.getState(C)}A?.classes?.push(B)})}setStyle(u,B){this.getState(u)?.styles?.push(B)}setTextStyle(u,B){this.getState(u)?.textStyles?.push(B)}bindFunctions(u){this.funs.forEach((B)=>{B(u)})}getDirectionStatement(){return this.rootDoc.find((u)=>u.stmt===g2u)}getDirection(){return this.getDirectionStatement()?.value??Pa4}setDirection(u){let B=this.getDirectionStatement();if(B)B.value=u;else this.rootDoc.unshift({stmt:g2u,value:u})}trimColon(u){return u.startsWith(":")?u.slice(1).trim():u.trim()}getData(){let u=y0();return{nodes:this.nodes,edges:this.edges,other:{},config:u,direction:U5u(this.getRootDocV2())}}getConfig(){return y0().state}},Am4=X((u)=>`
defs [id$="-barbEnd"] {
fill: ${u.transitionColor};
stroke: ${u.transitionColor};
}
g.stateGroup text {
fill: ${u.nodeBorder};
stroke: none;
font-size: 10px;
}
g.stateGroup text {
fill: ${u.textColor};
stroke: none;
font-size: 10px;
}
g.stateGroup .state-title {
font-weight: bolder;
fill: ${u.stateLabelColor};
}
g.stateGroup rect {
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
}
g.stateGroup line {
stroke: ${u.lineColor};
stroke-width: ${u.strokeWidth||1};
}
.transition {
stroke: ${u.transitionColor};
stroke-width: ${u.strokeWidth||1};
fill: none;
}
.stateGroup .composit {
fill: ${u.background};
border-bottom: 1px
}
.stateGroup .alt-composit {
fill: #e0e0e0;
border-bottom: 1px
}
.state-note {
stroke: ${u.noteBorderColor};
fill: ${u.noteBkgColor};
text {
fill: ${u.noteTextColor};
stroke: none;
font-size: 10px;
}
}
.stateLabel .box {
stroke: none;
stroke-width: 0;
fill: ${u.mainBkg};
opacity: 0.5;
}
.edgeLabel .label rect {
fill: ${u.labelBackgroundColor};
opacity: 0.5;
}
.edgeLabel {
background-color: ${u.edgeLabelBackground};
p {
background-color: ${u.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${u.edgeLabelBackground};
fill: ${u.edgeLabelBackground};
}
text-align: center;
}
.edgeLabel .label text {
fill: ${u.transitionLabelColor||u.tertiaryTextColor};
}
.label div .edgeLabel {
color: ${u.transitionLabelColor||u.tertiaryTextColor};
}
.stateLabel text {
fill: ${u.stateLabelColor};
font-size: 10px;
font-weight: bold;
}
.node circle.state-start {
fill: ${u.specialStateColor};
stroke: ${u.specialStateColor};
}
.node .fork-join {
fill: ${u.specialStateColor};
stroke: ${u.specialStateColor};
}
.node circle.state-end {
fill: ${u.innerEndBackground};
stroke: ${u.background};
stroke-width: 1.5
}
.end-state-inner {
fill: ${u.compositeBackground||u.background};
// stroke: ${u.background};
stroke-width: 1.5
}
.node rect {
fill: ${u.stateBkg||u.mainBkg};
stroke: ${u.stateBorder||u.nodeBorder};
stroke-width: ${u.strokeWidth||1}px;
}
.node polygon {
fill: ${u.mainBkg};
stroke: ${u.stateBorder||u.nodeBorder};;
stroke-width: ${u.strokeWidth||1}px;
}
[id$="-barbEnd"] {
fill: ${u.lineColor};
}
.statediagram-cluster rect {
fill: ${u.compositeTitleBackground};
stroke: ${u.stateBorder||u.nodeBorder};
stroke-width: ${u.strokeWidth||1}px;
}
.cluster-label, .nodeLabel {
color: ${u.stateLabelColor};
// line-height: 1;
}
.statediagram-cluster rect.outer {
rx: 5px;
ry: 5px;
}
.statediagram-state .divider {
stroke: ${u.stateBorder||u.nodeBorder};
}
.statediagram-state .title-state {
rx: 5px;
ry: 5px;
}
.statediagram-cluster.statediagram-cluster .inner {
fill: ${u.compositeBackground||u.background};
}
.statediagram-cluster.statediagram-cluster-alt .inner {
fill: ${u.altBackground?u.altBackground:"#efefef"};
}
.statediagram-cluster .inner {
rx:0;
ry:0;
}
.statediagram-state rect.basic {
rx: 5px;
ry: 5px;
}
.statediagram-state rect.divider {
stroke-dasharray: 10,10;
fill: ${u.altBackground?u.altBackground:"#efefef"};
}
.note-edge {
stroke-dasharray: 5;
}
.statediagram-note rect {
fill: ${u.noteBkgColor};
stroke: ${u.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note rect {
fill: ${u.noteBkgColor};
stroke: ${u.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note text {
fill: ${u.noteTextColor};
}
.statediagram-note .nodeLabel {
color: ${u.noteTextColor};
}
.statediagram .edgeLabel {
color: red; // ${u.noteTextColor};
}
[id$="-dependencyStart"], [id$="-dependencyEnd"] {
fill: ${u.lineColor};
stroke: ${u.lineColor};
stroke-width: ${u.strokeWidth||1};
}
.statediagramTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${u.textColor};
}
[data-look="neo"].statediagram-cluster rect {
fill: ${u.mainBkg};
stroke: ${u.useGradient?"url("+u.svgId+"-gradient)":u.stateBorder||u.nodeBorder};
stroke-width: ${u.strokeWidth??1};
}
[data-look="neo"].statediagram-cluster rect.outer {
rx: ${u.radius}px;
ry: ${u.radius}px;
filter: ${u.dropShadow?u.dropShadow.replace("url(#drop-shadow)",`url(${u.svgId}-drop-shadow)`):"none"}
}
`,"getStyles"),Hc=Am4});var J5u={};ju(J5u,{diagram:()=>Hm4});var Cm4,Dm4,Fm4,Um4,zm4,km4,fm4,Mm4,bm4,M5u,b5u=0,Zm4,RE,vF0,Jm4,Km4,wm4,Qm4,Z5u,Gm4,Hm4;var K5u=g(()=>{XF0();qE();x8();L8();HE();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();V3();$60();wE();V3();Cm4=X((u)=>u.append("circle").attr("class","start-state").attr("r",y0().state.sizeUnit).attr("cx",y0().state.padding+y0().state.sizeUnit).attr("cy",y0().state.padding+y0().state.sizeUnit),"drawStartState"),Dm4=X((u)=>u.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",y0().state.textHeight).attr("class","divider").attr("x2",y0().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Fm4=X((u,B)=>{let E=u.append("text").attr("x",2*y0().state.padding).attr("y",y0().state.textHeight+2*y0().state.padding).attr("font-size",y0().state.fontSize).attr("class","state-title").text(B.id),A=E.node().getBBox();return u.insert("rect",":first-child").attr("x",y0().state.padding).attr("y",y0().state.padding).attr("width",A.width+2*y0().state.padding).attr("height",A.height+2*y0().state.padding).attr("rx",y0().state.radius),E},"drawSimpleState"),Um4=X((u,B)=>{let E=X(function(b,Z,J){let K=b.append("tspan").attr("x",2*y0().state.padding).text(Z);if(!J)K.attr("dy",y0().state.textHeight)},"addTspan"),C=u.append("text").attr("x",2*y0().state.padding).attr("y",y0().state.textHeight+1.3*y0().state.padding).attr("font-size",y0().state.fontSize).attr("class","state-title").text(B.descriptions[0]).node().getBBox(),D=C.height,F=u.append("text").attr("x",y0().state.padding).attr("y",D+y0().state.padding*0.4+y0().state.dividerMargin+y0().state.textHeight).attr("class","state-description"),U=!0,z=!0;B.descriptions.forEach(function(b){if(!U)E(F,b,z),z=!1;U=!1});let k=u.append("line").attr("x1",y0().state.padding).attr("y1",y0().state.padding+D+y0().state.dividerMargin/2).attr("y2",y0().state.padding+D+y0().state.dividerMargin/2).attr("class","descr-divider"),f=F.node().getBBox(),M=Math.max(f.width,C.width);return k.attr("x2",M+3*y0().state.padding),u.insert("rect",":first-child").attr("x",y0().state.padding).attr("y",y0().state.padding).attr("width",M+2*y0().state.padding).attr("height",f.height+D+2*y0().state.padding).attr("rx",y0().state.radius),u},"drawDescrState"),zm4=X((u,B,E)=>{let A=y0().state.padding,C=2*y0().state.padding,D=u.node().getBBox(),F=D.width,U=D.x,z=u.append("text").attr("x",0).attr("y",y0().state.titleShift).attr("font-size",y0().state.fontSize).attr("class","state-title").text(B.id),f=z.node().getBBox().width+C,M=Math.max(f,F);if(M===F)M=M+C;let b,Z=u.node().getBBox();if(B.doc);if(b=U-A,f>F)b=(F-M)/2+A;if(Math.abs(U-Z.x)<A&&f>F)b=U-(f-F)/2;let J=1-y0().state.textHeight;if(u.insert("rect",":first-child").attr("x",b).attr("y",J).attr("class",E?"alt-composit":"composit").attr("width",M).attr("height",Z.height+y0().state.textHeight+y0().state.titleShift+1).attr("rx","0"),z.attr("x",b+A),f<=F)z.attr("x",U+(M-C)/2-f/2+A);return u.insert("rect",":first-child").attr("x",b).attr("y",y0().state.titleShift-y0().state.textHeight-y0().state.padding).attr("width",M).attr("height",y0().state.textHeight*3).attr("rx",y0().state.radius),u.insert("rect",":first-child").attr("x",b).attr("y",y0().state.titleShift-y0().state.textHeight-y0().state.padding).attr("width",M).attr("height",Z.height+3+2*y0().state.textHeight).attr("rx",y0().state.radius),u},"addTitleAndBox"),km4=X((u)=>{return u.append("circle").attr("class","end-state-outer").attr("r",y0().state.sizeUnit+y0().state.miniPadding).attr("cx",y0().state.padding+y0().state.sizeUnit+y0().state.miniPadding).attr("cy",y0().state.padding+y0().state.sizeUnit+y0().state.miniPadding),u.append("circle").attr("class","end-state-inner").attr("r",y0().state.sizeUnit).attr("cx",y0().state.padding+y0().state.sizeUnit+2).attr("cy",y0().state.padding+y0().state.sizeUnit+2)},"drawEndState"),fm4=X((u,B)=>{let E=y0().state.forkWidth,A=y0().state.forkHeight;if(B.parentId){let C=E;E=A,A=C}return u.append("rect").style("stroke","black").style("fill","black").attr("width",E).attr("height",A).attr("x",y0().state.padding).attr("y",y0().state.padding)},"drawForkJoinState"),Mm4=X((u,B,E,A)=>{let C=0,D=A.append("text");D.style("text-anchor","start"),D.attr("class","noteText");let F=u.replace(/\r\n/g,"<br/>");F=F.replace(/\n/g,"<br/>");let U=F.split(ru.lineBreakRegex),z=1.25*y0().state.noteMargin;for(let k of U){let f=k.trim();if(f.length>0){let M=D.append("tspan");if(M.text(f),z===0){let b=M.node().getBBox();z+=b.height}C+=z,M.attr("x",B+y0().state.noteMargin),M.attr("y",E+C+1.25*y0().state.noteMargin)}}return{textWidth:D.node().getBBox().width,textHeight:C}},"_drawLongText"),bm4=X((u,B)=>{B.attr("class","state-note");let E=B.append("rect").attr("x",0).attr("y",y0().state.padding),A=B.append("g"),{textWidth:C,textHeight:D}=Mm4(u,0,0,A);return E.attr("height",D+2*y0().state.noteMargin),E.attr("width",C+y0().state.noteMargin*2),E},"drawNote"),M5u=X(function(u,B){let E=B.id,A={id:E,label:B.id,width:0,height:0},C=u.append("g").attr("id",E).attr("class","stateGroup");if(B.type==="start")Cm4(C);if(B.type==="end")km4(C);if(B.type==="fork"||B.type==="join")fm4(C,B);if(B.type==="note")bm4(B.note.text,C);if(B.type==="divider")Dm4(C);if(B.type==="default"&&B.descriptions.length===0)Fm4(C,B);if(B.type==="default"&&B.descriptions.length>0)Um4(C,B);let D=C.node().getBBox();return A.width=D.width+2*y0().state.padding,A.height=D.height+2*y0().state.padding,A},"drawState"),Zm4=X(function(u,B,E){let A=X(function(z){switch(z){case yk.relationType.AGGREGATION:return"aggregation";case yk.relationType.EXTENSION:return"extension";case yk.relationType.COMPOSITION:return"composition";case yk.relationType.DEPENDENCY:return"dependency"}},"getRelationType");B.points=B.points.filter((z)=>!Number.isNaN(z.y));let C=B.points,D=vC().x(function(z){return z.x}).y(function(z){return z.y}).curve(xC),F=u.append("path").attr("d",D(C)).attr("id","edge"+b5u).attr("class","transition"),U="";if(y0().state.arrowMarkerAbsolute)U=hJ(!0);if(F.attr("marker-end","url("+U+"#"+A(yk.relationType.DEPENDENCY)+"End)"),E.title!==void 0){let z=u.append("g").attr("class","stateLabel"),{x:k,y:f}=R4.calcLabelPosition(B.points),M=ru.getRows(E.title),b=0,Z=[],J=0,K=0;for(let G=0;G<=M.length;G++){let H=z.append("text").attr("text-anchor","middle").text(M[G]).attr("x",k).attr("y",f+b),l=H.node().getBBox();if(J=Math.max(J,l.width),K=Math.min(K,l.x),z0.info(l.x,k,f+b),b===0)b=H.node().getBBox().height,z0.info("Title height",b,f);Z.push(H)}let w=b*M.length;if(M.length>1){let G=(M.length-1)*b*0.5;Z.forEach((H,l)=>H.attr("y",f+l*b-G)),w=b*M.length}let Q=z.node().getBBox();z.insert("rect",":first-child").attr("class","box").attr("x",k-J/2-y0().state.padding/2).attr("y",f-w/2-y0().state.padding/2-3.5).attr("width",J+y0().state.padding).attr("height",w+y0().state.padding),z0.info(Q)}b5u++},"drawEdge"),vF0={},Jm4=X(function(){},"setConf"),Km4=X(function(u){u.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),wm4=X(function(u,B,E,A){RE=y0().state;let C=y0().securityLevel,D;if(C==="sandbox")D=Qu("#i"+B);let F=C==="sandbox"?Qu(D.nodes()[0].contentDocument.body):Qu("body"),U=C==="sandbox"?D.nodes()[0].contentDocument:document;z0.debug("Rendering diagram "+u);let z=F.select(`[id='${B}']`);Km4(z);let k=A.db.getRootDoc(),f=z.append("g").attr("id",B+"-root");Z5u(k,f,void 0,!1,F,U,A);let M=RE.padding,b=z.node().getBBox(),Z=b.width+M*2,J=b.height+M*2,K=Z*1.75;g3(z,J,K,RE.useMaxWidth),z.attr("viewBox",`${b.x-RE.padding} ${b.y-RE.padding} `+Z+" "+J)},"draw"),Qm4=X((u)=>{return u?u.length*RE.fontSizeFactor:1},"getLabelWidth"),Z5u=X((u,B,E,A,C,D,F)=>{let U=new m1({compound:!0,multigraph:!0}),z,k=!0;for(z=0;z<u.length;z++)if(u[z].stmt==="relation"){k=!1;break}if(E)U.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:k?1:RE.edgeLengthFactor,nodeSep:k?1:50,isMultiGraph:!0});else U.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:k?1:RE.edgeLengthFactor,nodeSep:k?1:50,ranker:"tight-tree",isMultiGraph:!0});U.setDefaultEdgeLabel(function(){return{}});let f=F.db.getStates(),M=F.db.getRelations(),b=Object.keys(f),Z=!0;for(let G of b){let H=f[G];if(E)H.parentId=E;let l;if(H.doc){let q=B.append("g").attr("id",H.id).attr("class","stateGroup");if(l=Z5u(H.doc,q,H.id,!A,C,D,F),Z){q=zm4(q,H,A);let L=q.node().getBBox();l.width=L.width,l.height=L.height+RE.padding/2,vF0[H.id]={y:RE.compositTitleSize}}else{let L=q.node().getBBox();l.width=L.width,l.height=L.height}}else l=M5u(B,H,U);if(H.note){let q={descriptions:[],id:H.id+"-note",note:H.note,type:"note"},L=M5u(B,q,U);if(H.note.position==="left of")U.setNode(l.id+"-note",L),U.setNode(l.id,l);else U.setNode(l.id,l),U.setNode(l.id+"-note",L);U.setParent(l.id,l.id+"-group"),U.setParent(l.id+"-note",l.id+"-group")}else U.setNode(l.id,l)}z0.debug("Count=",U.nodeCount(),U);let J=0;M.forEach(function(G){J++,z0.debug("Setting edge",G),U.setEdge(G.id1,G.id2,{relation:G,width:Qm4(G.title),height:RE.labelHeight*ru.getRows(G.title).length,labelpos:"c"},"id"+J)}),XS(U),z0.debug("Graph after layout",U.nodes());let K=B.node();U.nodes().forEach(function(G){if(G!==void 0&&U.node(G)!==void 0)z0.warn("Node "+G+": "+JSON.stringify(U.node(G))),C.select("#"+K.id+" #"+G).attr("transform","translate("+(U.node(G).x-U.node(G).width/2)+","+(U.node(G).y+(vF0[G]?vF0[G].y:0)-U.node(G).height/2)+" )"),C.select("#"+K.id+" #"+G).attr("data-x-shift",U.node(G).x-U.node(G).width/2),D.querySelectorAll("#"+K.id+" #"+G+" .divider").forEach((l)=>{let q=l.parentElement,L=0,v=0;if(q){if(q.parentElement)L=q.parentElement.getBBox().width;if(v=parseInt(q.getAttribute("data-x-shift"),10),Number.isNaN(v))v=0}l.setAttribute("x1",0-v+8),l.setAttribute("x2",L-v-8)});else z0.debug("No Node "+G+": "+JSON.stringify(U.node(G)))});let w=K.getBBox();U.edges().forEach(function(G){if(G!==void 0&&U.edge(G)!==void 0)z0.debug("Edge "+G.v+" -> "+G.w+": "+JSON.stringify(U.edge(G))),Zm4(B,U.edge(G),U.edge(G).relation)}),w=K.getBBox();let Q={id:E?E:"root",label:E?E:"root",width:0,height:0};return Q.width=w.width+2*RE.padding,Q.height=w.height+2*RE.padding,z0.debug("Doc rendered",Q,U),Q},"renderDoc"),Gm4={setConf:Jm4,draw:wm4},Hm4={parser:Gc,get db(){return new yk(1)},renderer:Gm4,styles:Hc,init:X((u)=>{if(!u.state)u.state={};u.state.arrowMarkerAbsolute=u.arrowMarkerAbsolute},"init")}});var w5u={};ju(w5u,{diagram:()=>qm4});var qm4;var Q5u=g(()=>{XF0();qE();x8();L8();HE();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();qm4={parser:Gc,get db(){return new yk(2)},renderer:z5u,styles:Hc,init:X((u)=>{if(!u.state)u.state={};u.state.arrowMarkerAbsolute=u.arrowMarkerAbsolute},"init")}});var W5u={};ju(W5u,{diagram:()=>$m4});function x5u(u){let B=y0().journey,E=B.maxLabelWidth;qc=0;let A=60;Object.keys(rk).forEach((C)=>{let D=rk[C].color,F={cx:20,cy:A,r:7,fill:D,stroke:"#000",pos:rk[C].position};zT.drawCircle(u,F);let U=u.append("text").attr("visibility","hidden").text(C),z=U.node().getBoundingClientRect().width;U.remove();let k=[];if(z<=E)k=[C];else{let f=C.split(" "),M="";if(U=u.append("text").attr("visibility","hidden"),f.forEach((b)=>{let Z=M?`${M} ${b}`:b;if(U.text(Z),U.node().getBoundingClientRect().width>E){if(M)k.push(M);if(M=b,U.text(b),U.node().getBoundingClientRect().width>E){let K="";for(let w of b)if(K+=w,U.text(K+"-"),U.node().getBoundingClientRect().width>E)k.push(K.slice(0,-1)+"-"),K=w;M=K}}else M=Z}),M)k.push(M);U.remove()}k.forEach((f,M)=>{let b={x:40,y:A+7+M*20,fill:"#666",text:f,textMargin:B.boxTextMargin??5},J=zT.drawText(u,b).node().getBoundingClientRect().width;if(J>qc&&J>B.leftMargin-J)qc=J}),A+=Math.max(20,k.length*20)})}var WF0,lm4,wL="",YF0,FT,UT,Lm4,Xm4,vm4,xm4,Wm4,Sm4,Ym4,G5u,Rm4,H5u,Tm4,Om4,RF0,Im4,L5u,X5u,Pm4,jm4,SF0=-1,Nm4,Vm4,v5u,hm4,zT,im4,rk,qc=0,eC,yb=0,am4,TA,xF0,q5u,mm4,l5u,$m4;var S5u=g(()=>{AU();HE();s4();o4();Y4();V3();V3();WF0=function(){var u=X(function(M,b,Z,J){for(Z=Z||{},J=M.length;J--;Z[M[J]]=b);return Z},"o"),B=[6,8,10,11,12,14,16,17,18],E=[1,9],A=[1,10],C=[1,11],D=[1,12],F=[1,13],U=[1,14],z={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:X(function(b,Z,J,K,w,Q,G){var H=Q.length-1;switch(w){case 1:return Q[H-1];case 2:this.$=[];break;case 3:Q[H-1].push(Q[H]),this.$=Q[H-1];break;case 4:case 5:this.$=Q[H];break;case 6:case 7:this.$=[];break;case 8:K.setDiagramTitle(Q[H].substr(6)),this.$=Q[H].substr(6);break;case 9:this.$=Q[H].trim(),K.setAccTitle(this.$);break;case 10:case 11:this.$=Q[H].trim(),K.setAccDescription(this.$);break;case 12:K.addSection(Q[H].substr(8)),this.$=Q[H].substr(8);break;case 13:K.addTask(Q[H-1],Q[H]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},u(B,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:E,12:A,14:C,16:D,17:F,18:U},u(B,[2,7],{1:[2,1]}),u(B,[2,3]),{9:15,11:E,12:A,14:C,16:D,17:F,18:U},u(B,[2,5]),u(B,[2,6]),u(B,[2,8]),{13:[1,16]},{15:[1,17]},u(B,[2,11]),u(B,[2,12]),{19:[1,18]},u(B,[2,4]),u(B,[2,9]),u(B,[2,10]),u(B,[2,13])],defaultActions:{},parseError:X(function(b,Z){if(Z.recoverable)this.trace(b);else{var J=Error(b);throw J.hash=Z,J}},"parseError"),parse:X(function(b){var Z=this,J=[0],K=[],w=[null],Q=[],G=this.table,H="",l=0,q=0,L=0,v=2,x=1,S=Q.slice.call(arguments,1),W=Object.create(this.lexer),T={yy:{}};for(var R in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,R))T.yy[R]=this.yy[R];if(W.setInput(b,T.yy),T.yy.lexer=W,T.yy.parser=this,typeof W.yylloc>"u")W.yylloc={};var Y=W.yylloc;Q.push(Y);var h=W.options&&W.options.ranges;if(typeof T.yy.parseError==="function")this.parseError=T.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function I(B0){J.length=J.length-2*B0,w.length=w.length-B0,Q.length=Q.length-B0}X(I,"popStack");function O(){var B0=K.pop()||W.lex()||x;if(typeof B0!=="number"){if(B0 instanceof Array)K=B0,B0=K.pop();B0=Z.symbols_[B0]||B0}return B0}X(O,"lex");var V,j,i,a,$,m,y={},r,_,e,p;while(!0){if(i=J[J.length-1],this.defaultActions[i])a=this.defaultActions[i];else{if(V===null||typeof V>"u")V=O();a=G[i]&&G[i][V]}if(typeof a>"u"||!a.length||!a[0]){var b0="";p=[];for(r in G[i])if(this.terminals_[r]&&r>v)p.push("'"+this.terminals_[r]+"'");if(W.showPosition)b0="Parse error on line "+(l+1)+`:
`+W.showPosition()+`
Expecting `+p.join(", ")+", got '"+(this.terminals_[V]||V)+"'";else b0="Parse error on line "+(l+1)+": Unexpected "+(V==x?"end of input":"'"+(this.terminals_[V]||V)+"'");this.parseError(b0,{text:W.match,token:this.terminals_[V]||V,line:W.yylineno,loc:Y,expected:p})}if(a[0]instanceof Array&&a.length>1)throw Error("Parse Error: multiple actions possible at state: "+i+", token: "+V);switch(a[0]){case 1:if(J.push(V),w.push(W.yytext),Q.push(W.yylloc),J.push(a[1]),V=null,!j){if(q=W.yyleng,H=W.yytext,l=W.yylineno,Y=W.yylloc,L>0)L--}else V=j,j=null;break;case 2:if(_=this.productions_[a[1]][1],y.$=w[w.length-_],y._$={first_line:Q[Q.length-(_||1)].first_line,last_line:Q[Q.length-1].last_line,first_column:Q[Q.length-(_||1)].first_column,last_column:Q[Q.length-1].last_column},h)y._$.range=[Q[Q.length-(_||1)].range[0],Q[Q.length-1].range[1]];if(m=this.performAction.apply(y,[H,q,l,T.yy,a[1],w,Q].concat(S)),typeof m<"u")return m;if(_)J=J.slice(0,-1*_*2),w=w.slice(0,-1*_),Q=Q.slice(0,-1*_);J.push(this.productions_[a[1]][0]),w.push(y.$),Q.push(y._$),e=G[J[J.length-2]][J[J.length-1]],J.push(e);break;case 3:return!0}}return!0},"parse")},k=function(){var M={EOF:1,parseError:X(function(Z,J){if(this.yy.parser)this.yy.parser.parseError(Z,J);else throw Error(Z)},"parseError"),setInput:X(function(b,Z){if(this.yy=Z||this.yy||{},this._input=b,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var Z=b.match(/(?:\r\n?|\n).*/g);if(Z)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),b},"input"),unput:X(function(b){var Z=b.length,J=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Z),this.offset-=Z;var K=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),J.length-1)this.yylineno-=J.length-1;var w=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:J?(J.length===K.length?this.yylloc.first_column:0)+K[K.length-J.length].length-J[0].length:this.yylloc.first_column-Z},this.options.ranges)this.yylloc.range=[w[0],w[0]+this.yyleng-Z];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(b){this.unput(this.match.slice(b))},"less"),pastInput:X(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var b=this.match;if(b.length<20)b+=this._input.substr(0,20-b.length);return(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var b=this.pastInput(),Z=Array(b.length+1).join("-");return b+this.upcomingInput()+`
`+Z+"^"},"showPosition"),test_match:X(function(b,Z){var J,K,w;if(this.options.backtrack_lexer){if(w={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)w.yylloc.range=this.yylloc.range.slice(0)}if(K=b[0].match(/(?:\r\n?|\n).*/g),K)this.yylineno+=K.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:K?K[K.length-1].length-K[K.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],J=this.performAction.call(this,this.yy,this,Z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(J)return J;else if(this._backtrack){for(var Q in w)this[Q]=w[Q];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var b,Z,J,K;if(!this._more)this.yytext="",this.match="";var w=this._currentRules();for(var Q=0;Q<w.length;Q++)if(J=this._input.match(this.rules[w[Q]]),J&&(!Z||J[0].length>Z[0].length)){if(Z=J,K=Q,this.options.backtrack_lexer)if(b=this.test_match(J,w[Q]),b!==!1)return b;else if(this._backtrack){Z=!1;continue}else return!1;else if(!this.options.flex)break}if(Z){if(b=this.test_match(Z,w[K]),b!==!1)return b;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var Z=this.next();if(Z)return Z;else return this.lex()},"lex"),begin:X(function(Z){this.conditionStack.push(Z)},"begin"),popState:X(function(){var Z=this.conditionStack.length-1;if(Z>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(Z){if(Z=this.conditionStack.length-1-Math.abs(Z||0),Z>=0)return this.conditionStack[Z];else return"INITIAL"},"topState"),pushState:X(function(Z){this.begin(Z)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(Z,J,K,w){var Q=w;switch(K){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return M}();z.lexer=k;function f(){this.yy={}}return X(f,"Parser"),f.prototype=z,z.Parser=f,new f}();WF0.parser=WF0;lm4=WF0,YF0=[],FT=[],UT=[],Lm4=X(function(){YF0.length=0,FT.length=0,wL="",UT.length=0,D3()},"clear"),Xm4=X(function(u){wL=u,YF0.push(u)},"addSection"),vm4=X(function(){return YF0},"getSections"),xm4=X(function(){let u=G5u(),B=100,E=0;while(!u&&E<B)u=G5u(),E++;return FT.push(...UT),FT},"getTasks"),Wm4=X(function(){let u=[];return FT.forEach((E)=>{if(E.people)u.push(...E.people)}),[...new Set(u)].sort()},"updateActors"),Sm4=X(function(u,B){let E=B.substr(1).split(":"),A=0,C=[];if(E.length===1)A=Number(E[0]),C=[];else A=Number(E[0]),C=E[1].split(",");let D=C.map((U)=>U.trim()),F={section:wL,type:wL,people:D,task:u,score:A};UT.push(F)},"addTask"),Ym4=X(function(u){let B={section:wL,type:wL,description:u,task:u,classes:[]};FT.push(B)},"addTaskOrg"),G5u=X(function(){let u=X(function(E){return UT[E].processed},"compileTask"),B=!0;for(let[E,A]of UT.entries())u(E),B=B&&A.processed;return B},"compileTasks"),Rm4=X(function(){return Wm4()},"getActors"),H5u={getConfig:X(()=>y0().journey,"getConfig"),clear:Lm4,setDiagramTitle:T3,getDiagramTitle:X3,setAccTitle:w3,getAccTitle:q3,setAccDescription:l3,getAccDescription:L3,addSection:Xm4,getSections:vm4,getTasks:xm4,addTask:Sm4,addTaskOrg:Ym4,getActors:Rm4},Tm4=X((u)=>`.label {
font-family: ${u.fontFamily};
color: ${u.textColor};
}
.mouth {
stroke: #666;
}
line {
stroke: ${u.textColor}
}
.legend {
fill: ${u.textColor};
font-family: ${u.fontFamily};
}
.label text {
fill: #333;
}
.label {
color: ${u.textColor}
}
.face {
${u.faceColor?`fill: ${u.faceColor}`:"fill: #FFF8DC"};
stroke: #999;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${u.arrowheadColor};
}
.edgePath .path {
stroke: ${u.lineColor};
stroke-width: 1.5px;
}
.flowchart-link {
stroke: ${u.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${u.edgeLabelBackground};
rect {
opacity: 0.5;
}
text-align: center;
}
.cluster rect {
}
.cluster text {
fill: ${u.titleColor};
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${u.fontFamily};
font-size: 12px;
background: ${u.tertiaryColor};
border: 1px solid ${u.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.task-type-0, .section-type-0 {
${u.fillType0?`fill: ${u.fillType0}`:""};
}
.task-type-1, .section-type-1 {
${u.fillType0?`fill: ${u.fillType1}`:""};
}
.task-type-2, .section-type-2 {
${u.fillType0?`fill: ${u.fillType2}`:""};
}
.task-type-3, .section-type-3 {
${u.fillType0?`fill: ${u.fillType3}`:""};
}
.task-type-4, .section-type-4 {
${u.fillType0?`fill: ${u.fillType4}`:""};
}
.task-type-5, .section-type-5 {
${u.fillType0?`fill: ${u.fillType5}`:""};
}
.task-type-6, .section-type-6 {
${u.fillType0?`fill: ${u.fillType6}`:""};
}
.task-type-7, .section-type-7 {
${u.fillType0?`fill: ${u.fillType7}`:""};
}
.actor-0 {
${u.actor0?`fill: ${u.actor0}`:""};
}
.actor-1 {
${u.actor1?`fill: ${u.actor1}`:""};
}
.actor-2 {
${u.actor2?`fill: ${u.actor2}`:""};
}
.actor-3 {
${u.actor3?`fill: ${u.actor3}`:""};
}
.actor-4 {
${u.actor4?`fill: ${u.actor4}`:""};
}
.actor-5 {
${u.actor5?`fill: ${u.actor5}`:""};
}
${EU()}
`,"getStyles"),Om4=Tm4,RF0=X(function(u,B){return cK(u,B)},"drawRect"),Im4=X(function(u,B){let A=u.append("circle").attr("cx",B.cx).attr("cy",B.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),C=u.append("g");C.append("circle").attr("cx",B.cx-5).attr("cy",B.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),C.append("circle").attr("cx",B.cx+5).attr("cy",B.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function D(z){let k=XC().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);z.append("path").attr("class","mouth").attr("d",k).attr("transform","translate("+B.cx+","+(B.cy+2)+")")}X(D,"smile");function F(z){let k=XC().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);z.append("path").attr("class","mouth").attr("d",k).attr("transform","translate("+B.cx+","+(B.cy+7)+")")}X(F,"sad");function U(z){z.append("line").attr("class","mouth").attr("stroke",2).attr("x1",B.cx-5).attr("y1",B.cy+7).attr("x2",B.cx+5).attr("y2",B.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}if(X(U,"ambivalent"),B.score>3)D(C);else if(B.score<3)F(C);else U(C);return A},"drawFace"),L5u=X(function(u,B){let E=u.append("circle");if(E.attr("cx",B.cx),E.attr("cy",B.cy),E.attr("class","actor-"+B.pos),E.attr("fill",B.fill),E.attr("stroke",B.stroke),E.attr("r",B.r),E.class!==void 0)E.attr("class",E.class);if(B.title!==void 0)E.append("title").text(B.title);return E},"drawCircle"),X5u=X(function(u,B){return ec0(u,B)},"drawText"),Pm4=X(function(u,B){function E(C,D,F,U,z){return C+","+D+" "+(C+F)+","+D+" "+(C+F)+","+(D+U-z)+" "+(C+F-z*1.2)+","+(D+U)+" "+C+","+(D+U)}X(E,"genPoints");let A=u.append("polygon");A.attr("points",E(B.x,B.y,50,20,7)),A.attr("class","labelBox"),B.y=B.y+B.labelMargin,B.x=B.x+0.5*B.labelMargin,X5u(u,B)},"drawLabel"),jm4=X(function(u,B,E){let A=u.append("g"),C=m7();C.x=B.x,C.y=B.y,C.fill=B.fill,C.width=E.width*B.taskCount+E.diagramMarginX*(B.taskCount-1),C.height=E.height,C.class="journey-section section-type-"+B.num,C.rx=3,C.ry=3,RF0(A,C),v5u(E)(B.text,A,C.x,C.y,C.width,C.height,{class:"journey-section section-type-"+B.num},E,B.colour)},"drawSection"),Nm4=X(function(u,B,E,A){let C=B.x+E.width/2,D=u.append("g");SF0++;let F=450;D.append("line").attr("id",A+"-task"+SF0).attr("x1",C).attr("y1",B.y).attr("x2",C).attr("y2",F).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Im4(D,{cx:C,cy:300+(5-B.score)*30,score:B.score});let U=m7();U.x=B.x,U.y=B.y,U.fill=B.fill,U.width=E.width,U.height=E.height,U.class="task task-type-"+B.num,U.rx=3,U.ry=3,RF0(D,U);let z=B.x+14;B.people.forEach((k)=>{let f=B.actors[k].color,M={cx:z,cy:B.y,r:7,fill:f,stroke:"#000",title:k,pos:B.actors[k].position};L5u(D,M),z+=10}),v5u(E)(B.task,D,U.x,U.y,U.width,U.height,{class:"task"},E,B.colour)},"drawTask"),Vm4=X(function(u,B){Rm(u,B)},"drawBackgroundRect"),v5u=function(){function u(C,D,F,U,z,k,f,M){let b=D.append("text").attr("x",F+z/2).attr("y",U+k/2+5).style("font-color",M).style("text-anchor","middle").text(C);A(b,f)}X(u,"byText");function B(C,D,F,U,z,k,f,M,b){let{taskFontSize:Z,taskFontFamily:J}=M,K=C.split(/<br\s*\/?>/gi);for(let w=0;w<K.length;w++){let Q=w*Z-Z*(K.length-1)/2,G=D.append("text").attr("x",F+z/2).attr("y",U).attr("fill",b).style("text-anchor","middle").style("font-size",Z).style("font-family",J);G.append("tspan").attr("x",F+z/2).attr("dy",Q).text(K[w]),G.attr("y",U+k/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),A(G,f)}}X(B,"byTspan");function E(C,D,F,U,z,k,f,M){let b=D.append("switch"),J=b.append("foreignObject").attr("x",F).attr("y",U).attr("width",z).attr("height",k).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");J.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(C),B(C,b,F,U,z,k,f,M),A(J,f)}X(E,"byFo");function A(C,D){for(let F in D)if(F in D)C.attr(F,D[F])}return X(A,"_setTextAttrs"),function(C){return C.textPlacement==="fo"?E:C.textPlacement==="old"?u:B}}(),hm4=X(function(u,B){SF0=-1,u.append("defs").append("marker").attr("id",B+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),zT={drawRect:RF0,drawCircle:L5u,drawSection:jm4,drawText:X5u,drawLabel:Pm4,drawTask:Nm4,drawBackgroundRect:Vm4,initGraphics:hm4},im4=X(function(u){Object.keys(u).forEach(function(E){eC[E]=u[E]})},"setConf"),rk={};X(x5u,"drawActorLegend");eC=y0().journey,am4=X(function(u,B,E,A){let C=y0(),D=C.journey.titleColor,F=C.journey.titleFontSize,U=C.journey.titleFontFamily,z=C.securityLevel,k;if(z==="sandbox")k=Qu("#i"+B);let f=z==="sandbox"?Qu(k.nodes()[0].contentDocument.body):Qu("body");TA.init();let M=f.select("#"+B);zT.initGraphics(M,B);let b=A.db.getTasks(),Z=A.db.getDiagramTitle(),J=A.db.getActors();for(let l in rk)delete rk[l];let K=0;J.forEach((l)=>{rk[l]={color:eC.actorColours[K%eC.actorColours.length],position:K},K++}),x5u(M),yb=eC.leftMargin+qc,TA.insert(0,0,yb,Object.keys(rk).length*50),mm4(M,b,0,B);let w=TA.getBounds();if(Z)M.append("text").text(Z).attr("x",yb).attr("font-size",F).attr("font-weight","bold").attr("y",25).attr("fill",D).attr("font-family",U);let Q=w.stopy-w.starty+2*eC.diagramMarginY,G=yb+w.stopx+2*eC.diagramMarginX;g3(M,Q,G,eC.useMaxWidth),M.append("line").attr("x1",yb).attr("y1",eC.height*4).attr("x2",G-yb-4).attr("y2",eC.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+B+"-arrowhead)");let H=Z?70:0;M.attr("viewBox",`${w.startx} -25 ${G} ${Q+H}`),M.attr("preserveAspectRatio","xMinYMin meet"),M.attr("height",Q+H+25)},"draw"),TA={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:X(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:X(function(u,B,E,A){if(u[B]===void 0)u[B]=E;else u[B]=A(E,u[B])},"updateVal"),updateBounds:X(function(u,B,E,A){let C=y0().journey,D=this,F=0;function U(z){return X(function(f){F++;let M=D.sequenceItems.length-F+1;if(D.updateVal(f,"starty",B-M*C.boxMargin,Math.min),D.updateVal(f,"stopy",A+M*C.boxMargin,Math.max),D.updateVal(TA.data,"startx",u-M*C.boxMargin,Math.min),D.updateVal(TA.data,"stopx",E+M*C.boxMargin,Math.max),z!=="activation")D.updateVal(f,"startx",u-M*C.boxMargin,Math.min),D.updateVal(f,"stopx",E+M*C.boxMargin,Math.max),D.updateVal(TA.data,"starty",B-M*C.boxMargin,Math.min),D.updateVal(TA.data,"stopy",A+M*C.boxMargin,Math.max)},"updateItemBounds")}X(U,"updateFn"),this.sequenceItems.forEach(U())},"updateBounds"),insert:X(function(u,B,E,A){let C=Math.min(u,E),D=Math.max(u,E),F=Math.min(B,A),U=Math.max(B,A);this.updateVal(TA.data,"startx",C,Math.min),this.updateVal(TA.data,"starty",F,Math.min),this.updateVal(TA.data,"stopx",D,Math.max),this.updateVal(TA.data,"stopy",U,Math.max),this.updateBounds(C,F,D,U)},"insert"),bumpVerticalPos:X(function(u){this.verticalPos=this.verticalPos+u,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:X(function(){return this.verticalPos},"getVerticalPos"),getBounds:X(function(){return this.data},"getBounds")},xF0=eC.sectionFills,q5u=eC.sectionColours,mm4=X(function(u,B,E,A){let C=y0().journey,D="",F=C.height*2+C.diagramMarginY,U=E+F,z=0,k="#CCC",f="black",M=0;for(let[b,Z]of B.entries()){if(D!==Z.section){k=xF0[z%xF0.length],M=z%xF0.length,f=q5u[z%q5u.length];let K=0,w=Z.section;for(let G=b;G<B.length;G++)if(B[G].section==w)K=K+1;else break;let Q={x:b*C.taskMargin+b*C.width+yb,y:50,text:Z.section,fill:k,num:M,colour:f,taskCount:K};zT.drawSection(u,Q,C),D=Z.section,z++}let J=Z.people.reduce((K,w)=>{if(rk[w])K[w]=rk[w];return K},{});Z.x=b*C.taskMargin+b*C.width+yb,Z.y=U,Z.width=C.diagramMarginX,Z.height=C.diagramMarginY,Z.colour=f,Z.fill=k,Z.num=M,Z.actors=J,zT.drawTask(u,Z,C,A),TA.insert(Z.x,Z.y,Z.x+Z.width+C.taskMargin,450)}},"drawTasks"),l5u={setConf:im4,draw:am4},$m4={parser:lm4,db:H5u,renderer:l5u,styles:Om4,init:X((u)=>{l5u.setConf(u.journey),H5u.clear()},"init")}});var o5u={};ju(o5u,{diagram:()=>K$4});function NF0(u,B){u.each(function(){var E=Qu(this),A=E.text().split(/(\s+|<br>)/).reverse(),C,D=[],F=1.1,U=E.attr("y"),z=parseFloat(E.attr("dy")),k=E.text(null).append("tspan").attr("x",0).attr("y",U).attr("dy",z+"em");for(let f=0;f<A.length;f++)if(C=A[A.length-1-f],D.push(C),k.text(D.join(" ").trim()),k.node().getComputedTextLength()>B||C==="<br>"){if(D.pop(),k.text(D.join(" ").trim()),C==="<br>")D=[""];else D=[C];k=E.append("tspan").attr("x",0).attr("y",U).attr("dy",F+"em").text(C)}})}var TF0,ym4,P5u,QL="",j5u=0,IF0="LR",PF0,lc,GL,N5u,V5u,h5u,i5u,a5u,m5u,$5u,y5u,r5u,g5u,Y5u,rm4,c5u=0,Lc,gm4,cm4,_5u,_m4,pm4,OF0=-1,nm4,dm4,sm4,jF0,p5u,om4,tm4,em4,u$4,N8,B$4,R5u,E$4,A$4,Xc=200,gk=5,C$4,VF0,D$4,n5u=10,F$4=0,T5u=20,d5u=20,O5u=30,s5u=50,U$4,I5u,z$4,k$4,f$4,M$4,b$4,Z$4,J$4,K$4;var t5u=g(()=>{A2();e3();s4();o4();Y4();V3();V3();G2();TF0=function(){var u=X(function(b,Z,J,K){for(J=J||{},K=b.length;K--;J[b[K]]=Z);return J},"o"),B=[6,11,13,14,15,17,19,20,23,24],E=[1,12],A=[1,13],C=[1,14],D=[1,15],F=[1,16],U=[1,19],z=[1,20],k={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:X(function(Z,J,K,w,Q,G,H){var l=G.length-1;switch(Q){case 1:return G[l-1];case 3:w.setDirection("LR");break;case 4:w.setDirection("TD");break;case 5:this.$=[];break;case 6:G[l-1].push(G[l]),this.$=G[l-1];break;case 7:case 8:this.$=G[l];break;case 9:case 10:this.$=[];break;case 11:w.getCommonDb().setDiagramTitle(G[l].substr(6)),this.$=G[l].substr(6);break;case 12:this.$=G[l].trim(),w.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=G[l].trim(),w.getCommonDb().setAccDescription(this.$);break;case 15:w.addSection(G[l].substr(8)),this.$=G[l].substr(8);break;case 18:w.addTask(G[l],0,""),this.$=G[l];break;case 19:w.addEvent(G[l].substr(2)),this.$=G[l];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},u(B,[2,5],{5:6}),u(B,[2,2]),u(B,[2,3]),u(B,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:E,15:A,17:C,19:D,20:F,21:17,22:18,23:U,24:z},u(B,[2,10],{1:[2,1]}),u(B,[2,6]),{12:21,14:E,15:A,17:C,19:D,20:F,21:17,22:18,23:U,24:z},u(B,[2,8]),u(B,[2,9]),u(B,[2,11]),{16:[1,22]},{18:[1,23]},u(B,[2,14]),u(B,[2,15]),u(B,[2,16]),u(B,[2,17]),u(B,[2,18]),u(B,[2,19]),u(B,[2,7]),u(B,[2,12]),u(B,[2,13])],defaultActions:{},parseError:X(function(Z,J){if(J.recoverable)this.trace(Z);else{var K=Error(Z);throw K.hash=J,K}},"parseError"),parse:X(function(Z){var J=this,K=[0],w=[],Q=[null],G=[],H=this.table,l="",q=0,L=0,v=0,x=2,S=1,W=G.slice.call(arguments,1),T=Object.create(this.lexer),R={yy:{}};for(var Y in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Y))R.yy[Y]=this.yy[Y];if(T.setInput(Z,R.yy),R.yy.lexer=T,R.yy.parser=this,typeof T.yylloc>"u")T.yylloc={};var h=T.yylloc;G.push(h);var I=T.options&&T.options.ranges;if(typeof R.yy.parseError==="function")this.parseError=R.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function O(k0){K.length=K.length-2*k0,Q.length=Q.length-k0,G.length=G.length-k0}X(O,"popStack");function V(){var k0=w.pop()||T.lex()||S;if(typeof k0!=="number"){if(k0 instanceof Array)w=k0,k0=w.pop();k0=J.symbols_[k0]||k0}return k0}X(V,"lex");var j,i,a,$,m,y,r={},_,e,p,b0;while(!0){if(a=K[K.length-1],this.defaultActions[a])$=this.defaultActions[a];else{if(j===null||typeof j>"u")j=V();$=H[a]&&H[a][j]}if(typeof $>"u"||!$.length||!$[0]){var B0="";b0=[];for(_ in H[a])if(this.terminals_[_]&&_>x)b0.push("'"+this.terminals_[_]+"'");if(T.showPosition)B0="Parse error on line "+(q+1)+`:
`+T.showPosition()+`
Expecting `+b0.join(", ")+", got '"+(this.terminals_[j]||j)+"'";else B0="Parse error on line "+(q+1)+": Unexpected "+(j==S?"end of input":"'"+(this.terminals_[j]||j)+"'");this.parseError(B0,{text:T.match,token:this.terminals_[j]||j,line:T.yylineno,loc:h,expected:b0})}if($[0]instanceof Array&&$.length>1)throw Error("Parse Error: multiple actions possible at state: "+a+", token: "+j);switch($[0]){case 1:if(K.push(j),Q.push(T.yytext),G.push(T.yylloc),K.push($[1]),j=null,!i){if(L=T.yyleng,l=T.yytext,q=T.yylineno,h=T.yylloc,v>0)v--}else j=i,i=null;break;case 2:if(e=this.productions_[$[1]][1],r.$=Q[Q.length-e],r._$={first_line:G[G.length-(e||1)].first_line,last_line:G[G.length-1].last_line,first_column:G[G.length-(e||1)].first_column,last_column:G[G.length-1].last_column},I)r._$.range=[G[G.length-(e||1)].range[0],G[G.length-1].range[1]];if(y=this.performAction.apply(r,[l,L,q,R.yy,$[1],Q,G].concat(W)),typeof y<"u")return y;if(e)K=K.slice(0,-1*e*2),Q=Q.slice(0,-1*e),G=G.slice(0,-1*e);K.push(this.productions_[$[1]][0]),Q.push(r.$),G.push(r._$),p=H[K[K.length-2]][K[K.length-1]],K.push(p);break;case 3:return!0}}return!0},"parse")},f=function(){var b={EOF:1,parseError:X(function(J,K){if(this.yy.parser)this.yy.parser.parseError(J,K);else throw Error(J)},"parseError"),setInput:X(function(Z,J){if(this.yy=J||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var J=Z.match(/(?:\r\n?|\n).*/g);if(J)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),Z},"input"),unput:X(function(Z){var J=Z.length,K=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-J),this.offset-=J;var w=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),K.length-1)this.yylineno-=K.length-1;var Q=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:K?(K.length===w.length?this.yylloc.first_column:0)+w[w.length-K.length].length-K[0].length:this.yylloc.first_column-J},this.options.ranges)this.yylloc.range=[Q[0],Q[0]+this.yyleng-J];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(Z){this.unput(this.match.slice(Z))},"less"),pastInput:X(function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var Z=this.match;if(Z.length<20)Z+=this._input.substr(0,20-Z.length);return(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var Z=this.pastInput(),J=Array(Z.length+1).join("-");return Z+this.upcomingInput()+`
`+J+"^"},"showPosition"),test_match:X(function(Z,J){var K,w,Q;if(this.options.backtrack_lexer){if(Q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)Q.yylloc.range=this.yylloc.range.slice(0)}if(w=Z[0].match(/(?:\r\n?|\n).*/g),w)this.yylineno+=w.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:w?w[w.length-1].length-w[w.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],K=this.performAction.call(this,this.yy,this,J,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(K)return K;else if(this._backtrack){for(var G in Q)this[G]=Q[G];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var Z,J,K,w;if(!this._more)this.yytext="",this.match="";var Q=this._currentRules();for(var G=0;G<Q.length;G++)if(K=this._input.match(this.rules[Q[G]]),K&&(!J||K[0].length>J[0].length)){if(J=K,w=G,this.options.backtrack_lexer)if(Z=this.test_match(K,Q[G]),Z!==!1)return Z;else if(this._backtrack){J=!1;continue}else return!1;else if(!this.options.flex)break}if(J){if(Z=this.test_match(J,Q[w]),Z!==!1)return Z;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var J=this.next();if(J)return J;else return this.lex()},"lex"),begin:X(function(J){this.conditionStack.push(J)},"begin"),popState:X(function(){var J=this.conditionStack.length-1;if(J>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(J){if(J=this.conditionStack.length-1-Math.abs(J||0),J>=0)return this.conditionStack[J];else return"INITIAL"},"topState"),pushState:X(function(J){this.begin(J)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(J,K,w,Q){var G=Q;switch(w){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;break;case 10:return this.popState(),"acc_title_value";break;case 11:return this.begin("acc_descr"),17;break;case 12:return this.popState(),"acc_descr_value";break;case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return b}();k.lexer=f;function M(){this.yy={}}return X(M,"Parser"),M.prototype=k,k.Parser=M,new M}();TF0.parser=TF0;ym4=TF0,P5u={};jf(P5u,{addEvent:()=>r5u,addSection:()=>a5u,addTask:()=>y5u,addTaskOrg:()=>g5u,clear:()=>V5u,default:()=>rm4,getCommonDb:()=>N5u,getDirection:()=>i5u,getSections:()=>m5u,getTasks:()=>$5u,setDirection:()=>h5u});PF0=[],lc=[],GL=[],N5u=X(()=>BN,"getCommonDb"),V5u=X(function(){PF0.length=0,lc.length=0,QL="",GL.length=0,IF0="LR",D3()},"clear"),h5u=X(function(u){IF0=u},"setDirection"),i5u=X(function(){return IF0},"getDirection"),a5u=X(function(u){QL=u,PF0.push(u)},"addSection"),m5u=X(function(){return PF0},"getSections"),$5u=X(function(){let u=Y5u(),B=100,E=0;while(!u&&E<B)u=Y5u(),E++;return lc.push(...GL),lc},"getTasks"),y5u=X(function(u,B,E){let A={id:j5u++,section:QL,type:QL,task:u,score:B?B:0,events:E?[E]:[]};GL.push(A)},"addTask"),r5u=X(function(u){GL.find((E)=>E.id===j5u-1).events.push(u)},"addEvent"),g5u=X(function(u){let B={section:QL,type:QL,description:u,task:u,classes:[]};lc.push(B)},"addTaskOrg"),Y5u=X(function(){let u=X(function(E){return GL[E].processed},"compileTask"),B=!0;for(let[E,A]of GL.entries())u(E),B=B&&A.processed;return B},"compileTasks"),rm4={clear:V5u,getCommonDb:N5u,getDirection:i5u,setDirection:h5u,addSection:a5u,getSections:m5u,getTasks:$5u,addTask:y5u,addTaskOrg:g5u,addEvent:r5u},Lc=X(function(u,B){let E=u.append("rect");if(E.attr("x",B.x),E.attr("y",B.y),E.attr("fill",B.fill),E.attr("stroke",B.stroke),E.attr("width",B.width),E.attr("height",B.height),E.attr("rx",B.rx),E.attr("ry",B.ry),B.class!==void 0)E.attr("class",B.class);return E},"drawRect"),gm4=X(function(u,B){let A=u.append("circle").attr("cx",B.cx).attr("cy",B.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),C=u.append("g");C.append("circle").attr("cx",B.cx-5).attr("cy",B.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),C.append("circle").attr("cx",B.cx+5).attr("cy",B.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function D(z){let k=XC().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);z.append("path").attr("class","mouth").attr("d",k).attr("transform","translate("+B.cx+","+(B.cy+2)+")")}X(D,"smile");function F(z){let k=XC().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);z.append("path").attr("class","mouth").attr("d",k).attr("transform","translate("+B.cx+","+(B.cy+7)+")")}X(F,"sad");function U(z){z.append("line").attr("class","mouth").attr("stroke",2).attr("x1",B.cx-5).attr("y1",B.cy+7).attr("x2",B.cx+5).attr("y2",B.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}if(X(U,"ambivalent"),B.score>3)D(C);else if(B.score<3)F(C);else U(C);return A},"drawFace"),cm4=X(function(u,B){let E=u.append("circle");if(E.attr("cx",B.cx),E.attr("cy",B.cy),E.attr("class","actor-"+B.pos),E.attr("fill",B.fill),E.attr("stroke",B.stroke),E.attr("r",B.r),E.class!==void 0)E.attr("class",E.class);if(B.title!==void 0)E.append("title").text(B.title);return E},"drawCircle"),_5u=X(function(u,B){let E=B.text.replace(/<br\s*\/?>/gi," "),A=u.append("text");if(A.attr("x",B.x),A.attr("y",B.y),A.attr("class","legend"),A.style("text-anchor",B.anchor),B.class!==void 0)A.attr("class",B.class);let C=A.append("tspan");return C.attr("x",B.x+B.textMargin*2),C.text(E),A},"drawText"),_m4=X(function(u,B){function E(C,D,F,U,z){return C+","+D+" "+(C+F)+","+D+" "+(C+F)+","+(D+U-z)+" "+(C+F-z*1.2)+","+(D+U)+" "+C+","+(D+U)}X(E,"genPoints");let A=u.append("polygon");A.attr("points",E(B.x,B.y,50,20,7)),A.attr("class","labelBox"),B.y=B.y+B.labelMargin,B.x=B.x+0.5*B.labelMargin,_5u(u,B)},"drawLabel"),pm4=X(function(u,B,E){let A=u.append("g"),C=jF0();C.x=B.x,C.y=B.y,C.fill=B.fill,C.width=E.width,C.height=E.height,C.class="journey-section section-type-"+B.num,C.rx=3,C.ry=3,Lc(A,C),p5u(E)(B.text,A,C.x,C.y,C.width,C.height,{class:"journey-section section-type-"+B.num},E,B.colour)},"drawSection"),nm4=X(function(u,B,E,A){let C=B.x+E.width/2,D=u.append("g");OF0++;let F=450;D.append("line").attr("id",A+"-task"+OF0).attr("x1",C).attr("y1",B.y).attr("x2",C).attr("y2",F).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),gm4(D,{cx:C,cy:300+(5-B.score)*30,score:B.score});let U=jF0();U.x=B.x,U.y=B.y,U.fill=B.fill,U.width=E.width,U.height=E.height,U.class="task task-type-"+B.num,U.rx=3,U.ry=3,Lc(D,U),p5u(E)(B.task,D,U.x,U.y,U.width,U.height,{class:"task"},E,B.colour)},"drawTask"),dm4=X(function(u,B){Lc(u,{x:B.startx,y:B.starty,width:B.stopx-B.startx,height:B.stopy-B.starty,fill:B.fill,class:"rect"}).lower()},"drawBackgroundRect"),sm4=X(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),jF0=X(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),p5u=function(){function u(C,D,F,U,z,k,f,M){let b=D.append("text").attr("x",F+z/2).attr("y",U+k/2+5).style("font-color",M).style("text-anchor","middle").text(C);A(b,f)}X(u,"byText");function B(C,D,F,U,z,k,f,M,b){let{taskFontSize:Z,taskFontFamily:J}=M,K=C.split(/<br\s*\/?>/gi);for(let w=0;w<K.length;w++){let Q=w*Z-Z*(K.length-1)/2,G=D.append("text").attr("x",F+z/2).attr("y",U).attr("fill",b).style("text-anchor","middle").style("font-size",Z).style("font-family",J);G.append("tspan").attr("x",F+z/2).attr("dy",Q).text(K[w]),G.attr("y",U+k/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),A(G,f)}}X(B,"byTspan");function E(C,D,F,U,z,k,f,M){let b=D.append("switch"),J=b.append("foreignObject").attr("x",F).attr("y",U).attr("width",z).attr("height",k).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");J.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(C),B(C,b,F,U,z,k,f,M),A(J,f)}X(E,"byFo");function A(C,D){for(let F in D)if(F in D)C.attr(F,D[F])}return X(A,"_setTextAttrs"),function(C){return C.textPlacement==="fo"?E:C.textPlacement==="old"?u:B}}(),om4=X(function(u,B){c5u=0,OF0=-1,u.append("defs").append("marker").attr("id",B+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");X(NF0,"wrap");tm4=X(function(u,B,E,A,C,D=!1){let{theme:F,look:U}=A,z=F?.includes("redux"),k=A?.themeVariables?.THEME_COLOR_LIMIT??12,f=E%k-1,M=u.append("g");B.section=f,M.attr("class",(B.class?B.class+" ":"")+"timeline-node "+("section-"+f));let b=M.append("g"),Z=M.append("g"),K=Z.append("text").text(B.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(NF0,B.width).node().getBBox(),w=A.fontSize?.replace?A.fontSize.replace("px",""):A.fontSize;if(B.height=K.height+w*1.1*0.5+B.padding,B.height=Math.max(B.height,B.maxHeight),B.width=B.width+2*B.padding,Z.attr("transform","translate("+B.width/2+", "+B.padding/2+")"),z)Z.attr("transform",`translate(${B.width/2}, ${D?B.padding/2+3:B.padding})`);if(u$4(b,B,f,C,A),U==="neo"){if(M.attr("data-look","neo"),z){let Q=F.includes("dark"),G=u.node()?.ownerSVGElement??u.node(),H=Qu(G),l=H.attr("id")??"",q=l?`${l}-drop-shadow`:"drop-shadow";if(H.select(`#${q}`).empty()){let L=H.select("defs");(L.empty()?H.append("defs"):L).append("filter").attr("id",q).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",Q?"0.2":"0.06").attr("flood-color",Q?"#FFFFFF":"#000000")}}}return B},"drawNode"),em4=X(function(u,B,E){let A=u.append("g"),D=A.append("text").text(B.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(NF0,B.width).node().getBBox(),F=E.fontSize?.replace?E.fontSize.replace("px",""):E.fontSize;return A.remove(),D.height+F*1.1*0.5+B.padding},"getVirtualNodeHeight"),u$4=X(function(u,B,E,A,C){let{theme:D}=C,F=D?.includes("redux")?0:5,U=5,z=F>0?`M0 ${B.height-5} v${-B.height+10} q0,-${F},${F},-${F} h${B.width-10} q${F},0,${F},${F} v${B.height-5} H0 Z`:`M0 ${B.height-5} v${-(B.height-5)} h${B.width} v${B.height} H0 Z`;if(u.append("path").attr("id",A+"-node-"+c5u++).attr("class","node-bkg node-"+B.type).attr("d",z),!D?.includes("redux"))u.append("line").attr("class","node-line-"+E).attr("x1",0).attr("y1",B.height).attr("x2",B.width).attr("y2",B.height)},"defaultBkg"),N8={drawRect:Lc,drawCircle:cm4,drawSection:pm4,drawText:_5u,drawLabel:_m4,drawTask:nm4,drawBackgroundRect:dm4,getTextObj:sm4,getNoteRect:jF0,initGraphics:om4,drawNode:tm4,getVirtualNodeHeight:em4},B$4=X(function(u,B,E,A){let C=y0(),{look:D,theme:F,themeVariables:U}=C,{useGradient:z,gradientStart:k,gradientStop:f}=U,M=C.timeline?.leftMargin??50;z0.debug("timeline",A.db);let b=C.securityLevel,Z;if(b==="sandbox")Z=Qu("#i"+B);let K=(b==="sandbox"?Qu(Z.nodes()[0].contentDocument.body):Qu("body")).select("#"+B);K.append("g");let w=A.db.getTasks(),Q=A.db.getCommonDb().getDiagramTitle();z0.debug("task",w),N8.initGraphics(K,B);let G=A.db.getSections();z0.debug("sections",G);let H=0,l=0,q=0,L=0,v=50+M,x=50;L=50;let S=0,W=!0;G.forEach(function(I){let O={number:S,descr:I,section:S,width:150,padding:20,maxHeight:H},V=N8.getVirtualNodeHeight(K,O,C);z0.debug("sectionHeight before draw",V),H=Math.max(H,V+20)});let T=0,R=0;z0.debug("tasks.length",w.length);for(let[I,O]of w.entries()){let V={number:I,descr:O,section:O.section,width:150,padding:20,maxHeight:l},j=N8.getVirtualNodeHeight(K,V,C);z0.debug("taskHeight before draw",j),l=Math.max(l,j+20),T=Math.max(T,O.events.length);let i=0;for(let a of O.events){let $={descr:a,section:O.section,number:O.section,width:150,padding:20,maxHeight:50};i+=N8.getVirtualNodeHeight(K,$,C)}if(O.events.length>0)i+=(O.events.length-1)*10;R=Math.max(R,i)}if(z0.debug("maxSectionHeight before draw",H),z0.debug("maxTaskHeight before draw",l),G&&G.length>0)G.forEach((I)=>{let O=w.filter((a)=>a.section===I),V={number:S,descr:I,section:S,width:200*Math.max(O.length,1)-50,padding:20,maxHeight:H};z0.debug("sectionNode",V);let j=K.append("g"),i=N8.drawNode(j,V,S,C,B);if(z0.debug("sectionNode output",i),j.attr("transform",`translate(${v}, ${L})`),x+=H+50,O.length>0)R5u(K,O,S,v,x,l,C,T,R,H,!1,B);v+=200*Math.max(O.length,1),x=L,S++});else W=!1,R5u(K,w,S,v,x,l,C,T,R,H,!0,B);let Y=K.node().getBBox();if(z0.debug("bounds",Y),Q)K.append("text").text(Q).attr("x",D==="neo"?Y.x*2+M:Y.width/2-M).attr("font-size","4ex").attr("font-weight","bold").attr("y",20);if(q=W?H+l+150:l+100,K.append("g").attr("class","lineWrapper").append("line").attr("x1",M).attr("y1",q).attr("x2",Y.width+3*M).attr("y2",q).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${B}-arrowhead)`),D==="neo"&&z&&F!=="neutral"){let I=K.select("defs"),V=(I.empty()?K.append("defs"):I).append("linearGradient").attr("id",K.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");V.append("stop").attr("offset","0%").attr("stop-color",k).attr("stop-opacity",1),V.append("stop").attr("offset","100%").attr("stop-color",f).attr("stop-opacity",1)}HF(void 0,K,C.timeline?.padding??50,C.timeline?.useMaxWidth??!1)},"draw"),R5u=X(function(u,B,E,A,C,D,F,U,z,k,f,M){for(let b of B){let Z={descr:b.task,section:E,number:E,width:150,padding:20,maxHeight:D};z0.debug("taskNode",Z);let J=u.append("g").attr("class","taskWrapper"),w=N8.drawNode(J,Z,E,F,M).height;if(z0.debug("taskHeight after draw",w),J.attr("transform",`translate(${A}, ${C})`),D=Math.max(D,w),b.events){let Q=u.append("g").attr("class","lineWrapper"),G=D;C+=100,G=G+E$4(u,b.events,E,A,C,F,M),C-=100,Q.append("line").attr("x1",A+95).attr("y1",C+D).attr("x2",A+95).attr("y2",C+D+100+z+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${M}-arrowhead)`).attr("stroke-dasharray","5,5")}if(A=A+200,f&&!F.timeline?.disableMulticolor)E++}C=C-10},"drawTasks"),E$4=X(function(u,B,E,A,C,D,F){let U=0,z=C;C=C+100;for(let k of B){let f={descr:k,section:E,number:E,width:150,padding:20,maxHeight:50};z0.debug("eventNode",f);let M=u.append("g").attr("class","eventWrapper"),Z=N8.drawNode(M,f,E,D,F,!0).height;U=U+Z,M.attr("transform",`translate(${A}, ${C})`),C=C+10+Z}return C=z,U},"drawEvents"),A$4={setConf:X(()=>{},"setConf"),draw:B$4},C$4=Xc+gk*2,VF0=Xc+100,D$4=VF0+gk*2,U$4=X(function(u,B,E,A){let C=y0(),D=C.timeline?.leftMargin??50;z0.debug("timeline",A.db);let F=h1(B);F.append("g");let U=A.db.getTasks(),z=A.db.getCommonDb().getDiagramTitle();z0.debug("task",U),N8.initGraphics(F);let k=A.db.getSections();z0.debug("sections",k);let f=0,M=0,b=50+D,Z=50,J=Z,K=b,w=C$4+d5u,Q=D$4+s5u,G=K+w,H=0,l=k&&k.length>0,q=l?G:b+w,L=Math.max(50,w+Q-gk*2);k.forEach(function(I){let O={number:H,descr:I,section:H,width:L,padding:gk,maxHeight:f},V=N8.getVirtualNodeHeight(F,O,C);z0.debug("sectionHeight before draw",V),f=Math.max(f,V)});let v=0;z0.debug("tasks.length",U.length);for(let[I,O]of U.entries()){let V={number:I,descr:O,section:O.section,width:Xc,padding:gk,maxHeight:M},j=N8.getVirtualNodeHeight(F,V,C);z0.debug("taskHeight before draw",j),M=Math.max(M,j);let i=0;for(let a of O.events){let $={descr:a,section:O.section,number:O.section,width:VF0,padding:gk,maxHeight:50};i+=N8.getVirtualNodeHeight(F,$,C)}if(O.events.length>0)i+=(O.events.length-1)*n5u;v=Math.max(v,i)+F$4}z0.debug("maxSectionHeight before draw",f),z0.debug("maxTaskHeight before draw",M);let S=Math.max(M,v)+O5u;if(l)k.forEach((I)=>{let O=U.filter((r)=>r.section===I),V={number:H,descr:I,section:H,width:L,padding:gk,maxHeight:f};z0.debug("sectionNode",V);let j=F.append("g"),i=N8.drawNode(j,V,H,C);z0.debug("sectionNode output",i);let a=q-w;j.attr("transform",`translate(${a}, ${Z})`);let $=Z+i.height+T5u;if(O.length>0)I5u(F,O,H,q,$,M,C,S,!1);let m=O.length,y=i.height+T5u+S*Math.max(m,1)-(m>0?O5u*2:0);Z+=y,H++});else I5u(F,U,H,q,Z,M,C,S,!0);let W=F.node()?.getBBox();if(!W)throw Error("bbox not found");if(z0.debug("bounds",W),z){if(F.append("text").text(z).attr("x",W.width/2-D).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),W=F.node()?.getBBox(),!W)throw Error("bbox not found");z0.debug("bounds after title",W)}let[T]=f8(C.fontSize),R=(T??16)*2,Y=(T??16)*0.5+20,h=F.append("g").attr("class","lineWrapper");h.append("line").attr("x1",q).attr("y1",J-R).attr("x2",q).attr("y2",W.y+W.height+Y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),h.lower(),HF(void 0,F,C.timeline?.padding??50,C.timeline?.useMaxWidth??!1)},"draw"),I5u=X(function(u,B,E,A,C,D,F,U,z){for(let k of B){let f={descr:k.task,section:E,number:E,width:Xc,padding:gk,maxHeight:D};z0.debug("taskNode",f);let M=u.append("g").attr("class","taskWrapper"),b=N8.drawNode(M,f,E,F),Z=b.height;z0.debug("taskHeight after draw",Z);let J=A-d5u-b.width;if(M.attr("transform",`translate(${J}, ${C})`),D=Math.max(D,Z),k.events&&k.events.length>0){let K=C,w=A+s5u;z$4(u,k.events,E,A,w,K,F)}if(C=C+U,z&&!F.timeline?.disableMulticolor)E++}},"drawTasks"),z$4=X(function(u,B,E,A,C,D,F){let U=D;for(let z of B){let k={descr:z,section:E,number:E,width:VF0,padding:gk,maxHeight:0};z0.debug("eventNode",k);let f=u.append("g").attr("class","eventWrapper"),b=N8.drawNode(f,k,E,F).height;f.attr("transform",`translate(${C}, ${U})`);let Z=u.append("g").attr("class","lineWrapper"),J=U+b/2;Z.append("line").attr("x1",A).attr("y1",J).attr("x2",C).attr("y2",J).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),U=U+b+n5u}return U-D},"drawEvents"),k$4={setConf:X(()=>{},"setConf"),draw:U$4},f$4=X((u)=>{let{theme:B}=F4(),E=B?.includes("dark"),A=B?.includes("color"),C=u.svgId?.replace(/^#/,"")??"",D=C?`url(#${C}-drop-shadow)`:u.dropShadow??"none",F="";for(let U=0;U<u.THEME_COLOR_LIMIT;U++){let z=`${17-3*U}`,k=A?u.borderColorArray[U]:u.mainBkg,f=A?u.borderColorArray[U]:u.nodeBorder;F+=`
.section-${U-1} rect,
.section-${U-1} path,
.section-${U-1} circle {
fill: ${E&&A?u.mainBkg:k};
stroke: ${f};
stroke-width: ${u.strokeWidth};
filter: ${D};
}
.section-${U-1} text {
fill: ${u.nodeBorder};
font-weight: ${u.fontWeight}
}
.node-icon-${U-1} {
font-size: 40px;
color: ${u["cScaleLabel"+U]};
}
.section-edge-${U-1} {
stroke: ${u["cScale"+U]};
}
.edge-depth-${U-1} {
stroke-width: ${z};
}
.section-${U-1} line {
stroke: ${u["cScaleInv"+U]};
stroke-width: 3;
}
.lineWrapper line {
stroke: ${u.nodeBorder};
stroke-width:${u.strokeWidth}
}
.disabled,
.disabled circle,
.disabled text {
fill: ${u.tertiaryColor??"lightgray"};
}
.disabled text {
fill: ${u.clusterBorder??"#efefef"};
}
`}return F},"genReduxSections"),M$4=X((u)=>{let B="";for(let E=0;E<u.THEME_COLOR_LIMIT;E++)if(u["lineColor"+E]=u["lineColor"+E]||u["cScaleInv"+E],n1(u["lineColor"+E]))u["lineColor"+E]=Ku(u["lineColor"+E],20);else u["lineColor"+E]=wu(u["lineColor"+E],20);for(let E=0;E<u.THEME_COLOR_LIMIT;E++){let A=""+(17-3*E);B+=`
.section-${E-1} rect, .section-${E-1} path, .section-${E-1} circle, .section-${E-1} path {
fill: ${u["cScale"+E]};
}
.section-${E-1} text {
fill: ${u["cScaleLabel"+E]};
}
.node-icon-${E-1} {
font-size: 40px;
color: ${u["cScaleLabel"+E]};
}
.section-edge-${E-1}{
stroke: ${u["cScale"+E]};
}
.edge-depth-${E-1}{
stroke-width: ${A};
}
.section-${E-1} line {
stroke: ${u["cScaleInv"+E]} ;
stroke-width: 3;
}
.lineWrapper line{
stroke: ${u["cScaleLabel"+E]} ;
}
.disabled, .disabled circle, .disabled text {
fill: ${u.tertiaryColor??"lightgray"};
}
.disabled text {
fill: ${u.clusterBorder??"#efefef"};
}
`}return B},"genSections"),b$4=X((u)=>{let{theme:B}=F4(),E=B?.includes("redux"),A=B==="neutral",C=u.svgId?.replace(/^#/,"")??"",D="";if(u.useGradient&&C&&u.THEME_COLOR_LIMIT&&!A)for(let F=0;F<u.THEME_COLOR_LIMIT;F++)D+=`
.section-${F-1}[data-look="neo"] rect,
.section-${F-1}[data-look="neo"] path,
.section-${F-1}[data-look="neo"] circle {
fill: ${u.mainBkg};
stroke: url(#${C}-gradient);
stroke-width: 2;
}
.section-${F-1}[data-look="neo"] line {
stroke: url(#${C}-gradient);
stroke-width: 2;
}`;return`
.edge {
stroke-width: 3;
}
${E?f$4(u):M$4(u)}
${D}
.section-root rect, .section-root path, .section-root circle {
fill: ${u.git0};
}
.section-root text {
fill: ${u.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.eventWrapper {
filter: brightness(120%);
}
`},"getStyles"),Z$4=b$4,J$4={setConf:X(()=>{},"setConf"),draw:X((u,B,E,A)=>{if((A?.db?.getDirection?.()??"LR")==="TD")return k$4.draw(u,B,E,A);return A$4.draw(u,B,E,A)},"draw")},K$4={db:P5u,renderer:J$4,parser:ym4,styles:Z$4}});function hF0(){return crypto.getRandomValues(w$4)}var w$4;var e5u=g(()=>{w$4=new Uint8Array(16)});function u7u(u,B=0){return(G7[u[B+0]]+G7[u[B+1]]+G7[u[B+2]]+G7[u[B+3]]+"-"+G7[u[B+4]]+G7[u[B+5]]+"-"+G7[u[B+6]]+G7[u[B+7]]+"-"+G7[u[B+8]]+G7[u[B+9]]+"-"+G7[u[B+10]]+G7[u[B+11]]+G7[u[B+12]]+G7[u[B+13]]+G7[u[B+14]]+G7[u[B+15]]).toLowerCase()}var G7;var B7u=g(()=>{G7=[];for(let u=0;u<256;++u)G7.push((u+256).toString(16).slice(1))});function Q$4(u,B,E){if(!B&&!u&&crypto.randomUUID)return crypto.randomUUID();return G$4(u,B,E)}function G$4(u,B,E){u=u||{};let A=u.random??u.rng?.()??hF0();if(A.length<16)throw Error("Random bytes length must be >= 16");if(A[6]=A[6]&15|64,A[8]=A[8]&63|128,B){if(E=E||0,E<0||E+16>B.length)throw RangeError(`UUID byte range ${E}:${E+15} is out of buffer bounds`);for(let C=0;C<16;++C)B[E+C]=A[C];return B}return u7u(A)}var iF0;var E7u=g(()=>{e5u();B7u();iF0=Q$4});var A7u=g(()=>{E7u()});var C7u={};ju(C7u,{diagram:()=>Y$4});var aF0,H$4,q$4=12,ck,l$4,L$4,X$4,v$4,x$4,W$4,S$4,Y$4;var D7u=g(()=>{qE();x8();L8();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();A7u();G2();aF0=function(){var u=X(function(l,q,L,v){for(L=L||{},v=l.length;v--;L[l[v]]=q);return L},"o"),B=[1,4],E=[1,13],A=[1,12],C=[1,15],D=[1,16],F=[1,20],U=[1,19],z=[6,7,8],k=[1,26],f=[1,24],M=[1,25],b=[6,7,11],Z=[1,6,13,15,16,19,22],J=[1,33],K=[1,34],w=[1,6,7,11,13,15,16,19,22],Q={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:X(function(q,L,v,x,S,W,T){var R=W.length-1;switch(S){case 6:case 7:return x;case 8:x.getLogger().trace("Stop NL ");break;case 9:x.getLogger().trace("Stop EOF ");break;case 11:x.getLogger().trace("Stop NL2 ");break;case 12:x.getLogger().trace("Stop EOF2 ");break;case 15:x.getLogger().info("Node: ",W[R].id),x.addNode(W[R-1].length,W[R].id,W[R].descr,W[R].type);break;case 16:x.getLogger().trace("Icon: ",W[R]),x.decorateNode({icon:W[R]});break;case 17:case 21:x.decorateNode({class:W[R]});break;case 18:x.getLogger().trace("SPACELIST");break;case 19:x.getLogger().trace("Node: ",W[R].id),x.addNode(0,W[R].id,W[R].descr,W[R].type);break;case 20:x.decorateNode({icon:W[R]});break;case 25:x.getLogger().trace("node found ..",W[R-2]),this.$={id:W[R-1],descr:W[R-1],type:x.getType(W[R-2],W[R])};break;case 26:this.$={id:W[R],descr:W[R],type:x.nodeType.DEFAULT};break;case 27:x.getLogger().trace("node found ..",W[R-3]),this.$={id:W[R-3],descr:W[R-1],type:x.getType(W[R-2],W[R])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:B},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:B},{6:E,7:[1,10],9:9,12:11,13:A,14:14,15:C,16:D,17:17,18:18,19:F,22:U},u(z,[2,3]),{1:[2,2]},u(z,[2,4]),u(z,[2,5]),{1:[2,6],6:E,12:21,13:A,14:14,15:C,16:D,17:17,18:18,19:F,22:U},{6:E,9:22,12:11,13:A,14:14,15:C,16:D,17:17,18:18,19:F,22:U},{6:k,7:f,10:23,11:M},u(b,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:F,22:U}),u(b,[2,18]),u(b,[2,19]),u(b,[2,20]),u(b,[2,21]),u(b,[2,23]),u(b,[2,24]),u(b,[2,26],{19:[1,30]}),{20:[1,31]},{6:k,7:f,10:32,11:M},{1:[2,7],6:E,12:21,13:A,14:14,15:C,16:D,17:17,18:18,19:F,22:U},u(Z,[2,14],{7:J,11:K}),u(w,[2,8]),u(w,[2,9]),u(w,[2,10]),u(b,[2,15]),u(b,[2,16]),u(b,[2,17]),{20:[1,35]},{21:[1,36]},u(Z,[2,13],{7:J,11:K}),u(w,[2,11]),u(w,[2,12]),{21:[1,37]},u(b,[2,25]),u(b,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:X(function(q,L){if(L.recoverable)this.trace(q);else{var v=Error(q);throw v.hash=L,v}},"parseError"),parse:X(function(q){var L=this,v=[0],x=[],S=[null],W=[],T=this.table,R="",Y=0,h=0,I=0,O=2,V=1,j=W.slice.call(arguments,1),i=Object.create(this.lexer),a={yy:{}};for(var $ in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,$))a.yy[$]=this.yy[$];if(i.setInput(q,a.yy),a.yy.lexer=i,a.yy.parser=this,typeof i.yylloc>"u")i.yylloc={};var m=i.yylloc;W.push(m);var y=i.options&&i.options.ranges;if(typeof a.yy.parseError==="function")this.parseError=a.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function r(w0){v.length=v.length-2*w0,S.length=S.length-w0,W.length=W.length-w0}X(r,"popStack");function _(){var w0=x.pop()||i.lex()||V;if(typeof w0!=="number"){if(w0 instanceof Array)x=w0,w0=x.pop();w0=L.symbols_[w0]||w0}return w0}X(_,"lex");var e,p,b0,B0,k0,f0,D0={},P0,L0,m0,h0;while(!0){if(b0=v[v.length-1],this.defaultActions[b0])B0=this.defaultActions[b0];else{if(e===null||typeof e>"u")e=_();B0=T[b0]&&T[b0][e]}if(typeof B0>"u"||!B0.length||!B0[0]){var _0="";h0=[];for(P0 in T[b0])if(this.terminals_[P0]&&P0>O)h0.push("'"+this.terminals_[P0]+"'");if(i.showPosition)_0="Parse error on line "+(Y+1)+`:
`+i.showPosition()+`
Expecting `+h0.join(", ")+", got '"+(this.terminals_[e]||e)+"'";else _0="Parse error on line "+(Y+1)+": Unexpected "+(e==V?"end of input":"'"+(this.terminals_[e]||e)+"'");this.parseError(_0,{text:i.match,token:this.terminals_[e]||e,line:i.yylineno,loc:m,expected:h0})}if(B0[0]instanceof Array&&B0.length>1)throw Error("Parse Error: multiple actions possible at state: "+b0+", token: "+e);switch(B0[0]){case 1:if(v.push(e),S.push(i.yytext),W.push(i.yylloc),v.push(B0[1]),e=null,!p){if(h=i.yyleng,R=i.yytext,Y=i.yylineno,m=i.yylloc,I>0)I--}else e=p,p=null;break;case 2:if(L0=this.productions_[B0[1]][1],D0.$=S[S.length-L0],D0._$={first_line:W[W.length-(L0||1)].first_line,last_line:W[W.length-1].last_line,first_column:W[W.length-(L0||1)].first_column,last_column:W[W.length-1].last_column},y)D0._$.range=[W[W.length-(L0||1)].range[0],W[W.length-1].range[1]];if(f0=this.performAction.apply(D0,[R,h,Y,a.yy,B0[1],S,W].concat(j)),typeof f0<"u")return f0;if(L0)v=v.slice(0,-1*L0*2),S=S.slice(0,-1*L0),W=W.slice(0,-1*L0);v.push(this.productions_[B0[1]][0]),S.push(D0.$),W.push(D0._$),m0=T[v[v.length-2]][v[v.length-1]],v.push(m0);break;case 3:return!0}}return!0},"parse")},G=function(){var l={EOF:1,parseError:X(function(L,v){if(this.yy.parser)this.yy.parser.parseError(L,v);else throw Error(L)},"parseError"),setInput:X(function(q,L){if(this.yy=L||this.yy||{},this._input=q,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var q=this._input[0];this.yytext+=q,this.yyleng++,this.offset++,this.match+=q,this.matched+=q;var L=q.match(/(?:\r\n?|\n).*/g);if(L)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),q},"input"),unput:X(function(q){var L=q.length,v=q.split(/(?:\r\n?|\n)/g);this._input=q+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var x=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1)this.yylineno-=v.length-1;var S=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===x.length?this.yylloc.first_column:0)+x[x.length-v.length].length-v[0].length:this.yylloc.first_column-L},this.options.ranges)this.yylloc.range=[S[0],S[0]+this.yyleng-L];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(q){this.unput(this.match.slice(q))},"less"),pastInput:X(function(){var q=this.matched.substr(0,this.matched.length-this.match.length);return(q.length>20?"...":"")+q.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var q=this.match;if(q.length<20)q+=this._input.substr(0,20-q.length);return(q.substr(0,20)+(q.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var q=this.pastInput(),L=Array(q.length+1).join("-");return q+this.upcomingInput()+`
`+L+"^"},"showPosition"),test_match:X(function(q,L){var v,x,S;if(this.options.backtrack_lexer){if(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)S.yylloc.range=this.yylloc.range.slice(0)}if(x=q[0].match(/(?:\r\n?|\n).*/g),x)this.yylineno+=x.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+q[0].length},this.yytext+=q[0],this.match+=q[0],this.matches=q,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(q[0].length),this.matched+=q[0],v=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(v)return v;else if(this._backtrack){for(var W in S)this[W]=S[W];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var q,L,v,x;if(!this._more)this.yytext="",this.match="";var S=this._currentRules();for(var W=0;W<S.length;W++)if(v=this._input.match(this.rules[S[W]]),v&&(!L||v[0].length>L[0].length)){if(L=v,x=W,this.options.backtrack_lexer)if(q=this.test_match(v,S[W]),q!==!1)return q;else if(this._backtrack){L=!1;continue}else return!1;else if(!this.options.flex)break}if(L){if(q=this.test_match(L,S[x]),q!==!1)return q;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var L=this.next();if(L)return L;else return this.lex()},"lex"),begin:X(function(L){this.conditionStack.push(L)},"begin"),popState:X(function(){var L=this.conditionStack.length-1;if(L>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(L){if(L=this.conditionStack.length-1-Math.abs(L||0),L>=0)return this.conditionStack[L];else return"INITIAL"},"topState"),pushState:X(function(L){this.begin(L)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(L,v,x,S){var W=S;switch(x){case 0:return L.getLogger().trace("Found comment",v.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:L.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return L.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:L.getLogger().trace("end icon"),this.popState();break;case 10:return L.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return L.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return L.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return L.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:L.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return L.getLogger().trace("description:",v.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),L.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),L.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),L.getLogger().trace("node end ...",v.yytext),"NODE_DEND";break;case 30:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),L.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),L.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return L.getLogger().trace("Long description:",v.yytext),20;break;case 36:return L.getLogger().trace("Long description:",v.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return l}();Q.lexer=G;function H(){this.yy={}}return X(H,"Parser"),H.prototype=Q,Q.Parser=H,new H}();aF0.parser=aF0;H$4=aF0,ck={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},l$4=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=ck,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{X(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(u){for(let B=this.nodes.length-1;B>=0;B--)if(this.nodes[B].level<u)return this.nodes[B];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(u,B,E,A){z0.info("addNode",u,B,E,A);let C=!1;if(this.nodes.length===0)this.baseLevel=u,u=0,C=!0;else if(this.baseLevel!==void 0)u=u-this.baseLevel,C=!1;let D=y0(),F=D.mindmap?.padding??t4.mindmap.padding;switch(A){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:F*=2;break}let U={id:this.count++,nodeId:C3(B,D),level:u,descr:C3(E,D),type:A,children:[],width:D.mindmap?.maxNodeWidth??t4.mindmap.maxNodeWidth,padding:F,isRoot:C},z=this.getParent(u);if(z)z.children.push(U),this.nodes.push(U);else if(C)this.nodes.push(U);else throw Error(`There can be only one root. No parent could be found for ("${U.descr}")`)}getType(u,B){switch(z0.debug("In get type",u,B),u){case"[":return this.nodeType.RECT;case"(":return B===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(u,B){this.elements[u]=B}getElementById(u){return this.elements[u]}decorateNode(u){if(!u)return;let B=y0(),E=this.nodes[this.nodes.length-1];if(u.icon)E.icon=C3(u.icon,B);if(u.class)E.class=C3(u.class,B)}type2Str(u){switch(u){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(u,B){if(u.level===0)u.section=void 0;else u.section=B;if(u.children)for(let[E,A]of u.children.entries()){let C=u.level===0?E%(q$4-1):B;this.assignSections(A,C)}}flattenNodes(u,B){let E=y0(),A=["mindmap-node"];if(u.isRoot===!0)A.push("section-root","section--1");else if(u.section!==void 0)A.push(`section-${u.section}`);if(u.class)A.push(u.class);let C=A.join(" "),D=X((U)=>{let k=(E.theme?.toLowerCase()??"").includes("redux");switch(U){case ck.CIRCLE:return"mindmapCircle";case ck.RECT:return"rect";case ck.ROUNDED_RECT:return"rounded";case ck.CLOUD:return"cloud";case ck.BANG:return"bang";case ck.HEXAGON:return"hexagon";case ck.DEFAULT:return k?"rounded":"defaultMindmapNode";case ck.NO_BORDER:default:return"rect"}},"getShapeFromType"),F={id:u.id.toString(),domId:"node_"+u.id.toString(),label:u.descr,labelType:"markdown",isGroup:!1,shape:D(u.type),width:u.width,height:u.height??0,padding:u.padding,cssClasses:C,cssStyles:[],look:E.look,icon:u.icon,x:u.x,y:u.y,level:u.level,nodeId:u.nodeId,type:u.type,section:u.section};if(B.push(F),u.children)for(let U of u.children)this.flattenNodes(U,B)}generateEdges(u,B){if(!u.children)return;let E=y0();for(let A of u.children){let C="edge";if(A.section!==void 0)C+=` section-edge-${A.section}`;let D=u.level+1;C+=` edge-depth-${D}`;let F={id:`edge_${u.id}_${A.id}`,start:u.id.toString(),end:A.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:E.look,classes:C,depth:u.level,section:A.section};B.push(F),this.generateEdges(A,B)}}getData(){let u=this.getMindmap(),B=y0(),A=tj().layout!==void 0,C=B;if(!A)C.layout="cose-bilkent";if(!u)return{nodes:[],edges:[],config:C};z0.debug("getData: mindmapRoot",u,B),this.assignSections(u);let D=[],F=[];this.flattenNodes(u,D),this.generateEdges(u,F),z0.debug(`getData: processed ${D.length} nodes and ${F.length} edges`);let U=new Map;for(let z of D)U.set(z.id,{shape:z.shape,width:z.width,height:z.height,padding:z.padding});return{nodes:D,edges:F,config:C,rootNode:u,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(U),type:"mindmap",diagramId:"mindmap-"+iF0()}}getLogger(){return z0}},L$4=X(async(u,B,E,A)=>{z0.debug(`Rendering mindmap diagram
`+u);let C=A.db,D=C.getData(),F=LA(B,D.config.securityLevel);if(D.type=A.type,D.layoutAlgorithm=eF(D.config.layout,{fallback:"cose-bilkent"}),D.diagramId=B,!C.getMindmap())return;D.nodes.forEach((b)=>{if(b.shape==="rounded")b.radius=15,b.taper=15,b.stroke="none",b.width=0,b.padding=15;else if(b.shape==="circle")b.padding=10;else if(b.shape==="rect")b.width=0,b.padding=10;else if(b.shape==="hexagon")b.width=0,b.height=0}),await QA(D,F);let{themeVariables:z}=F4(),{useGradient:k,gradientStart:f,gradientStop:M}=z;if(k&&f&&M){let b=F.attr("id"),Z=F.append("defs").append("linearGradient").attr("id",`${b}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");Z.append("stop").attr("offset","0%").attr("stop-color",f).attr("stop-opacity",1),Z.append("stop").attr("offset","100%").attr("stop-color",M).attr("stop-opacity",1)}v8(F,D.config.mindmap?.padding??t4.mindmap.padding,"mindmapDiagram",D.config.mindmap?.useMaxWidth??t4.mindmap.useMaxWidth)},"draw"),X$4={draw:L$4},v$4=X((u)=>{let{theme:B,look:E}=u,A="";for(let C=0;C<u.THEME_COLOR_LIMIT;C++)if(u["lineColor"+C]=u["lineColor"+C]||u["cScaleInv"+C],n1(u["lineColor"+C]))u["lineColor"+C]=Ku(u["lineColor"+C],20);else u["lineColor"+C]=wu(u["lineColor"+C],20);for(let C=0;C<u.THEME_COLOR_LIMIT;C++){let D=""+(E==="neo"?Math.max(10-(C-1)*2,2):17-3*C);A+=`
.section-${C-1} rect, .section-${C-1} path, .section-${C-1} circle, .section-${C-1} polygon, .section-${C-1} path {
fill: ${u["cScale"+C]};
}
.section-${C-1} text {
fill: ${u["cScaleLabel"+C]};
}
.section-${C-1} span {
color: ${u["cScaleLabel"+C]};
}
.node-icon-${C-1} {
font-size: 40px;
color: ${u["cScaleLabel"+C]};
}
.section-edge-${C-1}{
stroke: ${u["cScale"+C]};
}
.edge-depth-${C-1}{
stroke-width: ${D};
}
.section-${C-1} line {
stroke: ${u["cScaleInv"+C]} ;
stroke-width: 3;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
[data-look="neo"].mindmap-node.section-${C-1} rect, [data-look="neo"].mindmap-node.section-${C-1} path, [data-look="neo"].mindmap-node.section-${C-1} circle, [data-look="neo"].mindmap-node.section-${C-1} polygon {
fill: ${B==="redux"||B==="redux-dark"||B==="neutral"?u.mainBkg:u["cScale"+C]};
stroke: ${B==="redux"||B==="redux-dark"?u.nodeBorder:u["cScale"+C]};
stroke-width: ${u.strokeWidth??2}px;
}
[data-look="neo"].section-edge-${C-1}{
stroke: ${B?.includes("redux")||B==="neo-dark"?u.nodeBorder:u["cScale"+C]};
}
[data-look="neo"].mindmap-node.section-${C-1} text {
fill: ${B==="redux"||B==="redux-dark"?u.nodeBorder:u["cScaleLabel"+(B==="neutral"?1:C)]};
}
`}return A},"genSections"),x$4=X((u,B,E)=>{let A="";for(let C=0;C<u;C++)A+=`
[data-look="neo"].mindmap-node.section-${C-1} rect, [data-look="neo"].mindmap-node.section-${C-1} path, [data-look="neo"].mindmap-node.section-${C-1} circle, [data-look="neo"].mindmap-node.section-${C-1} polygon {
stroke: url(${B}-gradient);
fill: ${E};
}
.section-${C-1} line {
stroke-width: 0;
}`;return A},"genGradient"),W$4=X((u)=>{let{theme:B}=u,E=u.svgId,A=u.dropShadow?u.dropShadow.replace("url(#drop-shadow)",`url(${E}-drop-shadow)`):"none";return`
.edge {
stroke-width: 3;
}
${v$4(u)}
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
fill: ${u.git0};
}
.section-root text {
fill: ${u.gitBranchLabel0};
}
.section-root span {
color: ${B?.includes("redux")?u.nodeBorder:u.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.mindmap-node-label {
dy: 1em;
alignment-baseline: middle;
text-anchor: middle;
dominant-baseline: middle;
text-align: center;
}
[data-look="neo"].mindmap-node {
filter: ${A};
}
[data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon {
fill: ${B?.includes("redux")?u.mainBkg:u.git0};
}
[data-look="neo"].mindmap-node.section-root .text-inner-tspan {
fill: ${B?.includes("redux")?u.nodeBorder:u["cScaleLabel"+(B==="neutral"?1:0)]};
}
${u.useGradient&&E&&u.mainBkg?x$4(u.THEME_COLOR_LIMIT,E,u.mainBkg):""}
`},"getStyles"),S$4=W$4,Y$4={get db(){return new l$4},renderer:X$4,parser:H$4,styles:S$4}});var U7u={};ju(U7u,{diagram:()=>p$4});var mF0,R$4,OA,yF0,$F0=0,rF0,T$4,O$4,F7u,I$4,P$4,D5,j$4,N$4,V$4,h$4,i$4,a$4,m$4,$$4,y$4,r$4,g$4,c$4,_$4,p$4;var z7u=g(()=>{A2();AU();EK();F7();E7();C7();s2();X2();e3();s4();o4();Y4();G2();mF0=function(){var u=X(function(v,x,S,W){for(S=S||{},W=v.length;W--;S[v[W]]=x);return S},"o"),B=[1,4],E=[1,13],A=[1,12],C=[1,15],D=[1,16],F=[1,20],U=[1,19],z=[6,7,8],k=[1,26],f=[1,24],M=[1,25],b=[6,7,11],Z=[1,31],J=[6,7,11,24],K=[1,6,13,16,17,20,23],w=[1,35],Q=[1,36],G=[1,6,7,11,13,16,17,20,23],H=[1,38],l={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:X(function(x,S,W,T,R,Y,h){var I=Y.length-1;switch(R){case 6:case 7:return T;case 8:T.getLogger().trace("Stop NL ");break;case 9:T.getLogger().trace("Stop EOF ");break;case 11:T.getLogger().trace("Stop NL2 ");break;case 12:T.getLogger().trace("Stop EOF2 ");break;case 15:T.getLogger().info("Node: ",Y[I-1].id),T.addNode(Y[I-2].length,Y[I-1].id,Y[I-1].descr,Y[I-1].type,Y[I]);break;case 16:T.getLogger().info("Node: ",Y[I].id),T.addNode(Y[I-1].length,Y[I].id,Y[I].descr,Y[I].type);break;case 17:T.getLogger().trace("Icon: ",Y[I]),T.decorateNode({icon:Y[I]});break;case 18:case 23:T.decorateNode({class:Y[I]});break;case 19:T.getLogger().trace("SPACELIST");break;case 20:T.getLogger().trace("Node: ",Y[I-1].id),T.addNode(0,Y[I-1].id,Y[I-1].descr,Y[I-1].type,Y[I]);break;case 21:T.getLogger().trace("Node: ",Y[I].id),T.addNode(0,Y[I].id,Y[I].descr,Y[I].type);break;case 22:T.decorateNode({icon:Y[I]});break;case 27:T.getLogger().trace("node found ..",Y[I-2]),this.$={id:Y[I-1],descr:Y[I-1],type:T.getType(Y[I-2],Y[I])};break;case 28:this.$={id:Y[I],descr:Y[I],type:0};break;case 29:T.getLogger().trace("node found ..",Y[I-3]),this.$={id:Y[I-3],descr:Y[I-1],type:T.getType(Y[I-2],Y[I])};break;case 30:this.$=Y[I-1]+Y[I];break;case 31:this.$=Y[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:B},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:B},{6:E,7:[1,10],9:9,12:11,13:A,14:14,16:C,17:D,18:17,19:18,20:F,23:U},u(z,[2,3]),{1:[2,2]},u(z,[2,4]),u(z,[2,5]),{1:[2,6],6:E,12:21,13:A,14:14,16:C,17:D,18:17,19:18,20:F,23:U},{6:E,9:22,12:11,13:A,14:14,16:C,17:D,18:17,19:18,20:F,23:U},{6:k,7:f,10:23,11:M},u(b,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:F,23:U}),u(b,[2,19]),u(b,[2,21],{15:30,24:Z}),u(b,[2,22]),u(b,[2,23]),u(J,[2,25]),u(J,[2,26]),u(J,[2,28],{20:[1,32]}),{21:[1,33]},{6:k,7:f,10:34,11:M},{1:[2,7],6:E,12:21,13:A,14:14,16:C,17:D,18:17,19:18,20:F,23:U},u(K,[2,14],{7:w,11:Q}),u(G,[2,8]),u(G,[2,9]),u(G,[2,10]),u(b,[2,16],{15:37,24:Z}),u(b,[2,17]),u(b,[2,18]),u(b,[2,20],{24:H}),u(J,[2,31]),{21:[1,39]},{22:[1,40]},u(K,[2,13],{7:w,11:Q}),u(G,[2,11]),u(G,[2,12]),u(b,[2,15],{24:H}),u(J,[2,30]),{22:[1,41]},u(J,[2,27]),u(J,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:X(function(x,S){if(S.recoverable)this.trace(x);else{var W=Error(x);throw W.hash=S,W}},"parseError"),parse:X(function(x){var S=this,W=[0],T=[],R=[null],Y=[],h=this.table,I="",O=0,V=0,j=0,i=2,a=1,$=Y.slice.call(arguments,1),m=Object.create(this.lexer),y={yy:{}};for(var r in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,r))y.yy[r]=this.yy[r];if(m.setInput(x,y.yy),y.yy.lexer=m,y.yy.parser=this,typeof m.yylloc>"u")m.yylloc={};var _=m.yylloc;Y.push(_);var e=m.options&&m.options.ranges;if(typeof y.yy.parseError==="function")this.parseError=y.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function p(J0){W.length=W.length-2*J0,R.length=R.length-J0,Y.length=Y.length-J0}X(p,"popStack");function b0(){var J0=T.pop()||m.lex()||a;if(typeof J0!=="number"){if(J0 instanceof Array)T=J0,J0=T.pop();J0=S.symbols_[J0]||J0}return J0}X(b0,"lex");var B0,k0,f0,D0,P0,L0,m0={},h0,_0,w0,x0;while(!0){if(f0=W[W.length-1],this.defaultActions[f0])D0=this.defaultActions[f0];else{if(B0===null||typeof B0>"u")B0=b0();D0=h[f0]&&h[f0][B0]}if(typeof D0>"u"||!D0.length||!D0[0]){var T0="";x0=[];for(h0 in h[f0])if(this.terminals_[h0]&&h0>i)x0.push("'"+this.terminals_[h0]+"'");if(m.showPosition)T0="Parse error on line "+(O+1)+`:
`+m.showPosition()+`
Expecting `+x0.join(", ")+", got '"+(this.terminals_[B0]||B0)+"'";else T0="Parse error on line "+(O+1)+": Unexpected "+(B0==a?"end of input":"'"+(this.terminals_[B0]||B0)+"'");this.parseError(T0,{text:m.match,token:this.terminals_[B0]||B0,line:m.yylineno,loc:_,expected:x0})}if(D0[0]instanceof Array&&D0.length>1)throw Error("Parse Error: multiple actions possible at state: "+f0+", token: "+B0);switch(D0[0]){case 1:if(W.push(B0),R.push(m.yytext),Y.push(m.yylloc),W.push(D0[1]),B0=null,!k0){if(V=m.yyleng,I=m.yytext,O=m.yylineno,_=m.yylloc,j>0)j--}else B0=k0,k0=null;break;case 2:if(_0=this.productions_[D0[1]][1],m0.$=R[R.length-_0],m0._$={first_line:Y[Y.length-(_0||1)].first_line,last_line:Y[Y.length-1].last_line,first_column:Y[Y.length-(_0||1)].first_column,last_column:Y[Y.length-1].last_column},e)m0._$.range=[Y[Y.length-(_0||1)].range[0],Y[Y.length-1].range[1]];if(L0=this.performAction.apply(m0,[I,V,O,y.yy,D0[1],R,Y].concat($)),typeof L0<"u")return L0;if(_0)W=W.slice(0,-1*_0*2),R=R.slice(0,-1*_0),Y=Y.slice(0,-1*_0);W.push(this.productions_[D0[1]][0]),R.push(m0.$),Y.push(m0._$),w0=h[W[W.length-2]][W[W.length-1]],W.push(w0);break;case 3:return!0}}return!0},"parse")},q=function(){var v={EOF:1,parseError:X(function(S,W){if(this.yy.parser)this.yy.parser.parseError(S,W);else throw Error(S)},"parseError"),setInput:X(function(x,S){if(this.yy=S||this.yy||{},this._input=x,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var S=x.match(/(?:\r\n?|\n).*/g);if(S)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),x},"input"),unput:X(function(x){var S=x.length,W=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var T=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),W.length-1)this.yylineno-=W.length-1;var R=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:W?(W.length===T.length?this.yylloc.first_column:0)+T[T.length-W.length].length-W[0].length:this.yylloc.first_column-S},this.options.ranges)this.yylloc.range=[R[0],R[0]+this.yyleng-S];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(x){this.unput(this.match.slice(x))},"less"),pastInput:X(function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var x=this.match;if(x.length<20)x+=this._input.substr(0,20-x.length);return(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var x=this.pastInput(),S=Array(x.length+1).join("-");return x+this.upcomingInput()+`
`+S+"^"},"showPosition"),test_match:X(function(x,S){var W,T,R;if(this.options.backtrack_lexer){if(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)R.yylloc.range=this.yylloc.range.slice(0)}if(T=x[0].match(/(?:\r\n?|\n).*/g),T)this.yylineno+=T.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:T?T[T.length-1].length-T[T.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+x[0].length},this.yytext+=x[0],this.match+=x[0],this.matches=x,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(x[0].length),this.matched+=x[0],W=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(W)return W;else if(this._backtrack){for(var Y in R)this[Y]=R[Y];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var x,S,W,T;if(!this._more)this.yytext="",this.match="";var R=this._currentRules();for(var Y=0;Y<R.length;Y++)if(W=this._input.match(this.rules[R[Y]]),W&&(!S||W[0].length>S[0].length)){if(S=W,T=Y,this.options.backtrack_lexer)if(x=this.test_match(W,R[Y]),x!==!1)return x;else if(this._backtrack){S=!1;continue}else return!1;else if(!this.options.flex)break}if(S){if(x=this.test_match(S,R[T]),x!==!1)return x;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var S=this.next();if(S)return S;else return this.lex()},"lex"),begin:X(function(S){this.conditionStack.push(S)},"begin"),popState:X(function(){var S=this.conditionStack.length-1;if(S>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(S){if(S=this.conditionStack.length-1-Math.abs(S||0),S>=0)return this.conditionStack[S];else return"INITIAL"},"topState"),pushState:X(function(S){this.begin(S)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(S,W,T,R){var Y=R;switch(T){case 0:return this.pushState("shapeData"),W.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let h=/\n\s*/g;return W.yytext=W.yytext.replace(h,"<br/>"),24;break;case 4:return 24;case 5:this.popState();break;case 6:return S.getLogger().trace("Found comment",W.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:S.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return S.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:S.getLogger().trace("end icon"),this.popState();break;case 16:return S.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return S.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return S.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return S.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:S.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return S.getLogger().trace("description:",W.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),S.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),S.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),S.getLogger().trace("node end ...",W.yytext),"NODE_DEND";break;case 36:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),S.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),S.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return S.getLogger().trace("Long description:",W.yytext),21;break;case 42:return S.getLogger().trace("Long description:",W.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return v}();l.lexer=q;function L(){this.yy={}}return X(L,"Parser"),L.prototype=l,l.Parser=L,new L}();mF0.parser=mF0;R$4=mF0,OA=[],yF0=[],rF0={},T$4=X(()=>{OA=[],yF0=[],$F0=0,rF0={}},"clear"),O$4=X((u)=>{if(OA.length===0)return null;let B=OA[0].level,E=null;for(let A=OA.length-1;A>=0;A--){if(OA[A].level===B&&!E)E=OA[A];if(OA[A].level<B)throw Error('Items without section detected, found section ("'+OA[A].label+'")')}if(u===E?.level)return null;return E},"getSection"),F7u=X(function(){return yF0},"getSections"),I$4=X(function(){let u=[],B=[],E=F7u(),A=y0();for(let C of E){let D={id:C.id,label:C3(C.label??"",A),labelType:"markdown",isGroup:!0,ticket:C.ticket,shape:"kanbanSection",level:C.level,look:A.look};B.push(D);let F=OA.filter((U)=>U.parentId===C.id);for(let U of F){let z={id:U.id,parentId:C.id,label:C3(U.label??"",A),labelType:"markdown",isGroup:!1,ticket:U?.ticket,priority:U?.priority,assigned:U?.assigned,icon:U?.icon,shape:"kanbanItem",level:U.level,rx:5,ry:5,cssStyles:["text-align: left"]};B.push(z)}}return{nodes:B,edges:u,other:{},config:y0()}},"getData"),P$4=X((u,B,E,A,C)=>{let D=y0(),F=D.mindmap?.padding??t4.mindmap.padding;switch(A){case D5.ROUNDED_RECT:case D5.RECT:case D5.HEXAGON:F*=2}let U={id:C3(B,D)||"kbn"+$F0++,level:u,label:C3(E,D),width:D.mindmap?.maxNodeWidth??t4.mindmap.maxNodeWidth,padding:F,isGroup:!1};if(C!==void 0){let k;if(!C.includes(`
`))k=`{
`+C+`
}`;else k=C+`
`;let f=FM(k,{schema:DM});if(f.shape&&(f.shape!==f.shape.toLowerCase()||f.shape.includes("_")))throw Error(`No such shape: ${f.shape}. Shape names should be lowercase.`);if(f?.shape&&f.shape==="kanbanItem")U.shape=f?.shape;if(f?.label)U.label=f?.label;if(f?.icon)U.icon=f?.icon.toString();if(f?.assigned)U.assigned=f?.assigned.toString();if(f?.ticket)U.ticket=f?.ticket.toString();if(f?.priority)U.priority=f?.priority}let z=O$4(u);if(z)U.parentId=z.id||"kbn"+$F0++;else yF0.push(U);OA.push(U)},"addNode"),D5={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},j$4=X((u,B)=>{switch(z0.debug("In get type",u,B),u){case"[":return D5.RECT;case"(":return B===")"?D5.ROUNDED_RECT:D5.CLOUD;case"((":return D5.CIRCLE;case")":return D5.CLOUD;case"))":return D5.BANG;case"{{":return D5.HEXAGON;default:return D5.DEFAULT}},"getType"),N$4=X((u,B)=>{rF0[u]=B},"setElementForId"),V$4=X((u)=>{if(!u)return;let B=y0(),E=OA[OA.length-1];if(u.icon)E.icon=C3(u.icon,B);if(u.class)E.cssClasses=C3(u.class,B)},"decorateNode"),h$4=X((u)=>{switch(u){case D5.DEFAULT:return"no-border";case D5.RECT:return"rect";case D5.ROUNDED_RECT:return"rounded-rect";case D5.CIRCLE:return"circle";case D5.CLOUD:return"cloud";case D5.BANG:return"bang";case D5.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),i$4=X(()=>z0,"getLogger"),a$4=X((u)=>rF0[u],"getElementById"),m$4={clear:T$4,addNode:P$4,getSections:F7u,getData:I$4,nodeType:D5,getType:j$4,setElementForId:N$4,decorateNode:V$4,type2Str:h$4,getLogger:i$4,getElementById:a$4},$$4=m$4,y$4=X(async(u,B,E,A)=>{z0.debug(`Rendering kanban diagram
`+u);let D=A.db.getData(),F=y0();F.htmlLabels=!1;let U=h1(B);for(let w of D.nodes)w.domId=`${B}-${w.id}`;let z=U.append("g");z.attr("class","sections");let k=U.append("g");k.attr("class","items");let f=D.nodes.filter((w)=>w.isGroup),M=0,b=10,Z=[],J=25;for(let w of f){let Q=F?.kanban?.sectionWidth||200;M=M+1,w.x=Q*M+(M-1)*b/2,w.width=Q,w.y=0,w.height=Q*3,w.rx=5,w.ry=5,w.cssClasses=w.cssClasses+" section-"+M;let G=await bM(z,w);J=Math.max(J,G?.labelBBox?.height),Z.push(G)}let K=0;for(let w of f){let Q=Z[K];K=K+1;let G=F?.kanban?.sectionWidth||200,H=-G*3/2+J,l=H,q=D.nodes.filter((x)=>x.parentId===w.id);for(let x of q){if(x.isGroup)throw Error("Groups within groups are not allowed in Kanban diagrams");x.x=w.x,x.width=G-1.5*b;let W=(await _z(k,x,{config:F})).node().getBBox();x.y=l+W.height/2,await MK(x),l=x.y+W.height/2+b/2}let L=Q.cluster.select("rect"),v=Math.max(l-H+3*b,50)+(J-25);L.attr("height",v)}HF(void 0,U,F.mindmap?.padding??t4.kanban.padding,F.mindmap?.useMaxWidth??t4.kanban.useMaxWidth)},"draw"),r$4={draw:y$4},g$4=X((u)=>{let B="";for(let A=0;A<u.THEME_COLOR_LIMIT;A++)if(u["lineColor"+A]=u["lineColor"+A]||u["cScaleInv"+A],n1(u["lineColor"+A]))u["lineColor"+A]=Ku(u["lineColor"+A],20);else u["lineColor"+A]=wu(u["lineColor"+A],20);let E=X((A,C)=>u.darkMode?wu(A,C):Ku(A,C),"adjuster");for(let A=0;A<u.THEME_COLOR_LIMIT;A++){let C=""+(17-3*A);B+=`
.section-${A-1} rect, .section-${A-1} path, .section-${A-1} circle, .section-${A-1} polygon, .section-${A-1} path {
fill: ${E(u["cScale"+A],10)};
stroke: ${E(u["cScale"+A],10)};
}
.section-${A-1} text {
fill: ${u["cScaleLabel"+A]};
}
.node-icon-${A-1} {
font-size: 40px;
color: ${u["cScaleLabel"+A]};
}
.section-edge-${A-1}{
stroke: ${u["cScale"+A]};
}
.edge-depth-${A-1}{
stroke-width: ${C};
}
.section-${A-1} line {
stroke: ${u["cScaleInv"+A]} ;
stroke-width: 3;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${u.background};
stroke: ${u.nodeBorder};
stroke-width: 1px;
}
.kanban-ticket-link {
fill: ${u.background};
stroke: ${u.nodeBorder};
text-decoration: underline;
}
`}return B},"genSections"),c$4=X((u)=>`
.edge {
stroke-width: 3;
}
${g$4(u)}
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
fill: ${u.git0};
}
.section-root text {
fill: ${u.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.cluster-label, .label {
color: ${u.textColor};
fill: ${u.textColor};
}
.kanban-label {
dy: 1em;
alignment-baseline: middle;
text-anchor: middle;
dominant-baseline: middle;
text-align: center;
}
${EU()}
`,"getStyles"),_$4=c$4,p$4={db:$$4,renderer:r$4,parser:R$4,styles:_$4}});function kT(u,B){let E;if(B===void 0){for(let A of u)if(A!=null&&(E<A||E===void 0&&A>=A))E=A}else{let A=-1;for(let C of u)if((C=B(C,++A,u))!=null&&(E<C||E===void 0&&C>=C))E=C}return E}function HL(u,B){let E;if(B===void 0){for(let A of u)if(A!=null&&(E>A||E===void 0&&A>=A))E=A}else{let A=-1;for(let C of u)if((C=B(C,++A,u))!=null&&(E>C||E===void 0&&C>=C))E=C}return E}function qL(u,B){let E=0;if(B===void 0){for(let A of u)if(A=+A)E+=A}else{let A=-1;for(let C of u)if(C=+B(C,++A,u))E+=C}return E}var gF0=()=>{};function n$4(u){return u.target.depth}function cF0(u){return u.depth}function _F0(u,B){return B-1-u.height}function fT(u,B){return u.sourceLinks.length?u.depth:B-1}function pF0(u){return u.targetLinks.length?u.depth:u.sourceLinks.length?HL(u.sourceLinks,n$4)-1:0}var nF0=g(()=>{gF0()});function lL(u){return function(){return u}}function k7u(u,B){return vc(u.source,B.source)||u.index-B.index}function f7u(u,B){return vc(u.target,B.target)||u.index-B.index}function vc(u,B){return u.y0-B.y0}function dF0(u){return u.value}function d$4(u){return u.index}function s$4(u){return u.nodes}function o$4(u){return u.links}function M7u(u,B){let E=u.get(B);if(!E)throw Error("missing: "+B);return E}function b7u({nodes:u}){for(let B of u){let E=B.y0,A=E;for(let C of B.sourceLinks)C.y0=E+C.width/2,E+=C.width;for(let C of B.targetLinks)C.y1=A+C.width/2,A+=C.width}}function xc(){let u=0,B=0,E=1,A=1,C=24,D=8,F,U=d$4,z=fT,k,f,M=s$4,b=o$4,Z=6;function J(){let I={nodes:M.apply(null,arguments),links:b.apply(null,arguments)};return K(I),w(I),Q(I),G(I),q(I),b7u(I),I}J.update=function(I){return b7u(I),I},J.nodeId=function(I){return arguments.length?(U=typeof I==="function"?I:lL(I),J):U},J.nodeAlign=function(I){return arguments.length?(z=typeof I==="function"?I:lL(I),J):z},J.nodeSort=function(I){return arguments.length?(k=I,J):k},J.nodeWidth=function(I){return arguments.length?(C=+I,J):C},J.nodePadding=function(I){return arguments.length?(D=F=+I,J):D},J.nodes=function(I){return arguments.length?(M=typeof I==="function"?I:lL(I),J):M},J.links=function(I){return arguments.length?(b=typeof I==="function"?I:lL(I),J):b},J.linkSort=function(I){return arguments.length?(f=I,J):f},J.size=function(I){return arguments.length?(u=B=0,E=+I[0],A=+I[1],J):[E-u,A-B]},J.extent=function(I){return arguments.length?(u=+I[0][0],E=+I[1][0],B=+I[0][1],A=+I[1][1],J):[[u,B],[E,A]]},J.iterations=function(I){return arguments.length?(Z=+I,J):Z};function K({nodes:I,links:O}){for(let[j,i]of I.entries())i.index=j,i.sourceLinks=[],i.targetLinks=[];let V=new Map(I.map((j,i)=>[U(j,i,I),j]));for(let[j,i]of O.entries()){i.index=j;let{source:a,target:$}=i;if(typeof a!=="object")a=i.source=M7u(V,a);if(typeof $!=="object")$=i.target=M7u(V,$);a.sourceLinks.push(i),$.targetLinks.push(i)}if(f!=null)for(let{sourceLinks:j,targetLinks:i}of I)j.sort(f),i.sort(f)}function w({nodes:I}){for(let O of I)O.value=O.fixedValue===void 0?Math.max(qL(O.sourceLinks,dF0),qL(O.targetLinks,dF0)):O.fixedValue}function Q({nodes:I}){let O=I.length,V=new Set(I),j=new Set,i=0;while(V.size){for(let a of V){a.depth=i;for(let{target:$}of a.sourceLinks)j.add($)}if(++i>O)throw Error("circular link");V=j,j=new Set}}function G({nodes:I}){let O=I.length,V=new Set(I),j=new Set,i=0;while(V.size){for(let a of V){a.height=i;for(let{source:$}of a.targetLinks)j.add($)}if(++i>O)throw Error("circular link");V=j,j=new Set}}function H({nodes:I}){let O=kT(I,(i)=>i.depth)+1,V=(E-u-C)/(O-1),j=Array(O);for(let i of I){let a=Math.max(0,Math.min(O-1,Math.floor(z.call(null,i,O))));if(i.layer=a,i.x0=u+a*V,i.x1=i.x0+C,j[a])j[a].push(i);else j[a]=[i]}if(k)for(let i of j)i.sort(k);return j}function l(I){let O=HL(I,(V)=>(A-B-(V.length-1)*F)/qL(V,dF0));for(let V of I){let j=B;for(let i of V){i.y0=j,i.y1=j+i.value*O,j=i.y1+F;for(let a of i.sourceLinks)a.width=a.value*O}j=(A-j+F)/(V.length+1);for(let i=0;i<V.length;++i){let a=V[i];a.y0+=j*(i+1),a.y1+=j*(i+1)}R(V)}}function q(I){let O=H(I);F=Math.min(D,(A-B)/(kT(O,(V)=>V.length)-1)),l(O);for(let V=0;V<Z;++V){let j=Math.pow(0.99,V),i=Math.max(1-j,(V+1)/Z);v(O,j,i),L(O,j,i)}}function L(I,O,V){for(let j=1,i=I.length;j<i;++j){let a=I[j];for(let $ of a){let m=0,y=0;for(let{source:_,value:e}of $.targetLinks){let p=e*($.layer-_.layer);m+=Y(_,$)*p,y+=p}if(!(y>0))continue;let r=(m/y-$.y0)*O;$.y0+=r,$.y1+=r,T($)}if(k===void 0)a.sort(vc);x(a,V)}}function v(I,O,V){for(let j=I.length,i=j-2;i>=0;--i){let a=I[i];for(let $ of a){let m=0,y=0;for(let{target:_,value:e}of $.sourceLinks){let p=e*(_.layer-$.layer);m+=h($,_)*p,y+=p}if(!(y>0))continue;let r=(m/y-$.y0)*O;$.y0+=r,$.y1+=r,T($)}if(k===void 0)a.sort(vc);x(a,V)}}function x(I,O){let V=I.length>>1,j=I[V];W(I,j.y0-F,V-1,O),S(I,j.y1+F,V+1,O),W(I,A,I.length-1,O),S(I,B,0,O)}function S(I,O,V,j){for(;V<I.length;++V){let i=I[V],a=(O-i.y0)*j;if(a>0.000001)i.y0+=a,i.y1+=a;O=i.y1+F}}function W(I,O,V,j){for(;V>=0;--V){let i=I[V],a=(i.y1-O)*j;if(a>0.000001)i.y0-=a,i.y1-=a;O=i.y0-F}}function T({sourceLinks:I,targetLinks:O}){if(f===void 0){for(let{source:{sourceLinks:V}}of O)V.sort(f7u);for(let{target:{targetLinks:V}}of I)V.sort(k7u)}}function R(I){if(f===void 0)for(let{sourceLinks:O,targetLinks:V}of I)O.sort(f7u),V.sort(k7u)}function Y(I,O){let V=I.y0-(I.sourceLinks.length-1)*F/2;for(let{target:j,width:i}of I.sourceLinks){if(j===O)break;V+=i+F}for(let{source:j,width:i}of O.targetLinks){if(j===I)break;V-=i}return V}function h(I,O){let V=O.y0-(O.targetLinks.length-1)*F/2;for(let{source:j,width:i}of O.targetLinks){if(j===I)break;V+=i+F}for(let{target:j,width:i}of I.sourceLinks){if(j===O)break;V-=i}return V}return J}var Z7u=g(()=>{gF0();nF0()});function tF0(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function J7u(){return new tF0}var sF0,oF0,EQ=0.000001,t$4,eF0;var K7u=g(()=>{sF0=Math.PI,oF0=2*sF0,t$4=oF0-EQ;tF0.prototype=J7u.prototype={constructor:tF0,moveTo:function(u,B){this._+="M"+(this._x0=this._x1=+u)+","+(this._y0=this._y1=+B)},closePath:function(){if(this._x1!==null)this._x1=this._x0,this._y1=this._y0,this._+="Z"},lineTo:function(u,B){this._+="L"+(this._x1=+u)+","+(this._y1=+B)},quadraticCurveTo:function(u,B,E,A){this._+="Q"+ +u+","+ +B+","+(this._x1=+E)+","+(this._y1=+A)},bezierCurveTo:function(u,B,E,A,C,D){this._+="C"+ +u+","+ +B+","+ +E+","+ +A+","+(this._x1=+C)+","+(this._y1=+D)},arcTo:function(u,B,E,A,C){u=+u,B=+B,E=+E,A=+A,C=+C;var D=this._x1,F=this._y1,U=E-u,z=A-B,k=D-u,f=F-B,M=k*k+f*f;if(C<0)throw Error("negative radius: "+C);if(this._x1===null)this._+="M"+(this._x1=u)+","+(this._y1=B);else if(!(M>EQ));else if(!(Math.abs(f*U-z*k)>EQ)||!C)this._+="L"+(this._x1=u)+","+(this._y1=B);else{var b=E-D,Z=A-F,J=U*U+z*z,K=b*b+Z*Z,w=Math.sqrt(J),Q=Math.sqrt(M),G=C*Math.tan((sF0-Math.acos((J+M-K)/(2*w*Q)))/2),H=G/Q,l=G/w;if(Math.abs(H-1)>EQ)this._+="L"+(u+H*k)+","+(B+H*f);this._+="A"+C+","+C+",0,0,"+ +(f*b>k*Z)+","+(this._x1=u+l*U)+","+(this._y1=B+l*z)}},arc:function(u,B,E,A,C,D){u=+u,B=+B,E=+E,D=!!D;var F=E*Math.cos(A),U=E*Math.sin(A),z=u+F,k=B+U,f=1^D,M=D?A-C:C-A;if(E<0)throw Error("negative radius: "+E);if(this._x1===null)this._+="M"+z+","+k;else if(Math.abs(this._x1-z)>EQ||Math.abs(this._y1-k)>EQ)this._+="L"+z+","+k;if(!E)return;if(M<0)M=M%oF0+oF0;if(M>t$4)this._+="A"+E+","+E+",0,1,"+f+","+(u-F)+","+(B-U)+"A"+E+","+E+",0,1,"+f+","+(this._x1=z)+","+(this._y1=k);else if(M>EQ)this._+="A"+E+","+E+",0,"+ +(M>=sF0)+","+f+","+(this._x1=u+E*Math.cos(C))+","+(this._y1=B+E*Math.sin(C))},rect:function(u,B,E,A){this._+="M"+(this._x0=this._x1=+u)+","+(this._y0=this._y1=+B)+"h"+ +E+"v"+ +A+"h"+-E+"Z"},toString:function(){return this._}};eF0=J7u});var w7u=g(()=>{K7u()});var Q7u;var G7u=g(()=>{Q7u=Array.prototype.slice});function Wc(u){return function(){return u}}function H7u(u){return u[0]}function q7u(u){return u[1]}function e$4(u){return u.source}function uy4(u){return u.target}function By4(u){var B=e$4,E=uy4,A=H7u,C=q7u,D=null;function F(){var U,z=Q7u.call(arguments),k=B.apply(this,z),f=E.apply(this,z);if(!D)D=U=eF0();if(u(D,+A.apply(this,(z[0]=k,z)),+C.apply(this,z),+A.apply(this,(z[0]=f,z)),+C.apply(this,z)),U)return D=null,U+""||null}return F.source=function(U){return arguments.length?(B=U,F):B},F.target=function(U){return arguments.length?(E=U,F):E},F.x=function(U){return arguments.length?(A=typeof U==="function"?U:Wc(+U),F):A},F.y=function(U){return arguments.length?(C=typeof U==="function"?U:Wc(+U),F):C},F.context=function(U){return arguments.length?(D=U==null?null:U,F):D},F}function Ey4(u,B,E,A,C){u.moveTo(B,E),u.bezierCurveTo(B=(B+A)/2,E,B,C,A,C)}function uU0(){return By4(Ey4)}var l7u=g(()=>{w7u();G7u()});var L7u=g(()=>{l7u()});function Ay4(u){return[u.source.x1,u.y0]}function Cy4(u){return[u.target.x0,u.y1]}function Sc(){return uU0().source(Ay4).target(Cy4)}var X7u=g(()=>{L7u()});var v7u=g(()=>{Z7u();nF0();X7u()});var W7u={};ju(W7u,{diagram:()=>Ly4});var BU0,Yc,Tc,Oc,Rc,Dy4,Fy4,Uy4,zy4,ky4,fy4,My4,by4,Zy4,x7u,Jy4,Ky4,wy4,Qy4,Gy4,Hy4,qy4,ly4,Ly4;var S7u=g(()=>{s4();o4();Y4();V3();v7u();BU0=function(){var u=X(function(U,z,k,f){for(k=k||{},f=U.length;f--;k[U[f]]=z);return k},"o"),B=[1,9],E=[1,10],A=[1,5,10,12],C={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:X(function(z,k,f,M,b,Z,J){var K=Z.length-1;switch(b){case 7:let w=M.findOrCreateNode(Z[K-4].trim().replaceAll('""','"')),Q=M.findOrCreateNode(Z[K-2].trim().replaceAll('""','"')),G=parseFloat(Z[K].trim());M.addLink(w,Q,G);break;case 8:case 9:case 11:this.$=Z[K];break;case 10:this.$=Z[K-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:B,20:E},{1:[2,6],7:11,10:[1,12]},u(E,[2,4],{9:13,5:[1,14]}),{12:[1,15]},u(A,[2,8]),u(A,[2,9]),{19:[1,16]},u(A,[2,11]),{1:[2,1]},{1:[2,5]},u(E,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:B,20:E},{15:18,16:7,17:8,18:B,20:E},{18:[1,19]},u(E,[2,3]),{12:[1,20]},u(A,[2,10]),{15:21,16:7,17:8,18:B,20:E},u([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:X(function(z,k){if(k.recoverable)this.trace(z);else{var f=Error(z);throw f.hash=k,f}},"parseError"),parse:X(function(z){var k=this,f=[0],M=[],b=[null],Z=[],J=this.table,K="",w=0,Q=0,G=0,H=2,l=1,q=Z.slice.call(arguments,1),L=Object.create(this.lexer),v={yy:{}};for(var x in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,x))v.yy[x]=this.yy[x];if(L.setInput(z,v.yy),v.yy.lexer=L,v.yy.parser=this,typeof L.yylloc>"u")L.yylloc={};var S=L.yylloc;Z.push(S);var W=L.options&&L.options.ranges;if(typeof v.yy.parseError==="function")this.parseError=v.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function T(_){f.length=f.length-2*_,b.length=b.length-_,Z.length=Z.length-_}X(T,"popStack");function R(){var _=M.pop()||L.lex()||l;if(typeof _!=="number"){if(_ instanceof Array)M=_,_=M.pop();_=k.symbols_[_]||_}return _}X(R,"lex");var Y,h,I,O,V,j,i={},a,$,m,y;while(!0){if(I=f[f.length-1],this.defaultActions[I])O=this.defaultActions[I];else{if(Y===null||typeof Y>"u")Y=R();O=J[I]&&J[I][Y]}if(typeof O>"u"||!O.length||!O[0]){var r="";y=[];for(a in J[I])if(this.terminals_[a]&&a>H)y.push("'"+this.terminals_[a]+"'");if(L.showPosition)r="Parse error on line "+(w+1)+`:
`+L.showPosition()+`
Expecting `+y.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'";else r="Parse error on line "+(w+1)+": Unexpected "+(Y==l?"end of input":"'"+(this.terminals_[Y]||Y)+"'");this.parseError(r,{text:L.match,token:this.terminals_[Y]||Y,line:L.yylineno,loc:S,expected:y})}if(O[0]instanceof Array&&O.length>1)throw Error("Parse Error: multiple actions possible at state: "+I+", token: "+Y);switch(O[0]){case 1:if(f.push(Y),b.push(L.yytext),Z.push(L.yylloc),f.push(O[1]),Y=null,!h){if(Q=L.yyleng,K=L.yytext,w=L.yylineno,S=L.yylloc,G>0)G--}else Y=h,h=null;break;case 2:if($=this.productions_[O[1]][1],i.$=b[b.length-$],i._$={first_line:Z[Z.length-($||1)].first_line,last_line:Z[Z.length-1].last_line,first_column:Z[Z.length-($||1)].first_column,last_column:Z[Z.length-1].last_column},W)i._$.range=[Z[Z.length-($||1)].range[0],Z[Z.length-1].range[1]];if(j=this.performAction.apply(i,[K,Q,w,v.yy,O[1],b,Z].concat(q)),typeof j<"u")return j;if($)f=f.slice(0,-1*$*2),b=b.slice(0,-1*$),Z=Z.slice(0,-1*$);f.push(this.productions_[O[1]][0]),b.push(i.$),Z.push(i._$),m=J[f[f.length-2]][f[f.length-1]],f.push(m);break;case 3:return!0}}return!0},"parse")},D=function(){var U={EOF:1,parseError:X(function(k,f){if(this.yy.parser)this.yy.parser.parseError(k,f);else throw Error(k)},"parseError"),setInput:X(function(z,k){if(this.yy=k||this.yy||{},this._input=z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var k=z.match(/(?:\r\n?|\n).*/g);if(k)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),z},"input"),unput:X(function(z){var k=z.length,f=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-k),this.offset-=k;var M=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1)this.yylineno-=f.length-1;var b=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===M.length?this.yylloc.first_column:0)+M[M.length-f.length].length-f[0].length:this.yylloc.first_column-k},this.options.ranges)this.yylloc.range=[b[0],b[0]+this.yyleng-k];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(z){this.unput(this.match.slice(z))},"less"),pastInput:X(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var z=this.match;if(z.length<20)z+=this._input.substr(0,20-z.length);return(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var z=this.pastInput(),k=Array(z.length+1).join("-");return z+this.upcomingInput()+`
`+k+"^"},"showPosition"),test_match:X(function(z,k){var f,M,b;if(this.options.backtrack_lexer){if(b={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)b.yylloc.range=this.yylloc.range.slice(0)}if(M=z[0].match(/(?:\r\n?|\n).*/g),M)this.yylineno+=M.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:M?M[M.length-1].length-M[M.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(z[0].length),this.matched+=z[0],f=this.performAction.call(this,this.yy,this,k,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(f)return f;else if(this._backtrack){for(var Z in b)this[Z]=b[Z];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var z,k,f,M;if(!this._more)this.yytext="",this.match="";var b=this._currentRules();for(var Z=0;Z<b.length;Z++)if(f=this._input.match(this.rules[b[Z]]),f&&(!k||f[0].length>k[0].length)){if(k=f,M=Z,this.options.backtrack_lexer)if(z=this.test_match(f,b[Z]),z!==!1)return z;else if(this._backtrack){k=!1;continue}else return!1;else if(!this.options.flex)break}if(k){if(z=this.test_match(k,b[M]),z!==!1)return z;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var k=this.next();if(k)return k;else return this.lex()},"lex"),begin:X(function(k){this.conditionStack.push(k)},"begin"),popState:X(function(){var k=this.conditionStack.length-1;if(k>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(k){if(k=this.conditionStack.length-1-Math.abs(k||0),k>=0)return this.conditionStack[k];else return"INITIAL"},"topState"),pushState:X(function(k){this.begin(k)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(k,f,M,b){var Z=b;switch(M){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return U}();C.lexer=D;function F(){this.yy={}}return X(F,"Parser"),F.prototype=C,C.Parser=F,new F}();BU0.parser=BU0;Yc=BU0,Tc=[],Oc=[],Rc=new Map,Dy4=X(()=>{Tc=[],Oc=[],Rc=new Map,D3()},"clear"),Fy4=class{constructor(u,B,E=0){this.source=u,this.target=B,this.value=E}static{X(this,"SankeyLink")}},Uy4=X((u,B,E)=>{Tc.push(new Fy4(u,B,E))},"addLink"),zy4=class{constructor(u){this.ID=u}static{X(this,"SankeyNode")}},ky4=X((u)=>{u=ru.sanitizeText(u,y0());let B=Rc.get(u);if(B===void 0)B=new zy4(u),Rc.set(u,B),Oc.push(B);return B},"findOrCreateNode"),fy4=X(()=>Oc,"getNodes"),My4=X(()=>Tc,"getLinks"),by4=X(()=>({nodes:Oc.map((u)=>({id:u.ID})),links:Tc.map((u)=>({source:u.source.ID,target:u.target.ID,value:u.value}))}),"getGraph"),Zy4={nodesMap:Rc,getConfig:X(()=>y0().sankey,"getConfig"),getNodes:fy4,getLinks:My4,getGraph:by4,addLink:Uy4,findOrCreateNode:ky4,getAccTitle:q3,setAccTitle:w3,getAccDescription:L3,setAccDescription:l3,getDiagramTitle:X3,setDiagramTitle:T3,clear:Dy4},x7u=class u{static{X(this,"Uid")}static{this.count=0}static next(B){return new u(B+ ++u.count)}constructor(B){this.id=B,this.href=`#${B}`}toString(){return"url("+this.href+")"}},Jy4={left:cF0,right:_F0,center:pF0,justify:fT},Ky4=X((u)=>{let B=0,E=0;for(let A of u){let C=A.value??0;if(C>B)B=C,E=A.layer??0}return E},"findCentralNodeLayer"),wy4=X(function(u,B,E,A){let{securityLevel:C,sankey:D}=y0(),F=EN.sankey,U;if(C==="sandbox")U=Qu("#i"+B);let z=C==="sandbox"?Qu(U.nodes()[0].contentDocument.body):Qu("body"),k=C==="sandbox"?z.select(`[id="${B}"]`):Qu(`[id="${B}"]`),f=D?.width??F.width,M=D?.height??F.width,b=D?.useMaxWidth??F.useMaxWidth,Z=D?.nodeAlignment??F.nodeAlignment,J=D?.prefix??F.prefix,K=D?.suffix??F.suffix,w=D?.showValues??F.showValues,Q=D?.nodeWidth??F.nodeWidth??10,G=D?.nodePadding??F.nodePadding??12,H=D?.labelStyle??F.labelStyle??"legacy",l=D?.nodeColors??{},q=A.db.getGraph(),L=Jy4[Z];xc().nodeId((j)=>j.id).nodeWidth(Q).nodePadding(G+(w?15:0)).nodeAlign(L).extent([[0,0],[f,M]])(q);let x=Ky4(q.nodes),S=FE(Q40),W=X((j)=>{return l[j]??S(j)},"getNodeColor");k.append("g").attr("class","nodes").selectAll(".node").data(q.nodes).join("g").attr("class","node").attr("id",(j)=>(j.uid=x7u.next("node-")).id).attr("transform",function(j){return"translate("+j.x0+","+j.y0+")"}).attr("x",(j)=>j.x0).attr("y",(j)=>j.y0).append("rect").attr("height",(j)=>{return j.y1-j.y0}).attr("width",(j)=>j.x1-j.x0).attr("fill",(j)=>W(j.id));let T=X(({id:j,value:i})=>{if(!w)return j;return`${j}
${J}${Math.round(i*100)/100}${K}`},"getText"),R=X((j)=>{if(H==="outlined"){if((j.layer??0)<x)return{x:j.x0-6,anchor:"end"};return{x:j.x1+6,anchor:"start"}}if(j.x0<f/2)return{x:j.x1+6,anchor:"start"};return{x:j.x0-6,anchor:"end"}},"getLabelPosition"),Y=k.append("g").attr("class","node-labels").attr("font-size",14),h=X((j)=>Y.selectAll(j?`.${j}`:"text").data(q.nodes).join("text").attr("class",j??null).attr("x",(i)=>R(i).x).attr("y",(i)=>(i.y1+i.y0)/2).attr("dy",`${w?"0":"0.35"}em`).attr("text-anchor",(i)=>R(i).anchor).text(T),"appendLabel");if(H==="outlined")h("sankey-label-bg"),h("sankey-label-fg");else h();let I=k.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",0.5).selectAll(".link").data(q.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),O=D?.linkColor??"gradient";if(O==="gradient"){let j=I.append("linearGradient").attr("id",(i)=>(i.uid=x7u.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",(i)=>i.source.x1).attr("x2",(i)=>i.target.x0);j.append("stop").attr("offset","0%").attr("stop-color",(i)=>W(i.source.id)),j.append("stop").attr("offset","100%").attr("stop-color",(i)=>W(i.target.id))}let V;switch(O){case"gradient":V=X((j)=>j.uid,"coloring");break;case"source":V=X((j)=>W(j.source.id),"coloring");break;case"target":V=X((j)=>W(j.target.id),"coloring");break;default:V=O}I.append("path").attr("d",Sc()).attr("stroke",V).attr("stroke-width",(j)=>Math.max(1,j.width)),HF(void 0,k,0,b)},"draw"),Qy4={draw:wy4},Gy4=X((u)=>{return u.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
`).trim()},"prepareTextForParsing"),Hy4=X((u)=>`.label {
font-family: ${u.fontFamily};
}
.node-labels {
font-family: ${u.fontFamily};
}
/* Outlined label style - background stroke for better readability */
.sankey-label-bg {
stroke: ${u.mainBkg||u.background||"#fff"};
stroke-width: 4px;
stroke-linejoin: round;
paint-order: stroke;
}
/* Foreground label text */
.sankey-label-fg {
fill: ${u.textColor};
}
/* Node styling */
.node rect {
shape-rendering: crispEdges;
}
/* Link styling */
.link {
fill: none;
stroke-opacity: 0.5;
mix-blend-mode: multiply;
}
`,"getStyles"),qy4=Hy4,ly4=Yc.parse.bind(Yc);Yc.parse=(u)=>ly4(Gy4(u));Ly4={styles:qy4,parser:Yc,db:Zy4,renderer:Qy4}});var T7u={};ju(T7u,{diagram:()=>Iy4});var Xy4,Y7u,vy4=1e4,xy4,Wy4,R7u,Sy4,Yy4,Ry4,Ty4,Oy4,Iy4;var O7u=g(()=>{YB();A2();e3();s4();o4();Y4();w7();Xy4=t4.packet,Y7u=class{constructor(){this.packet=[],this.setAccTitle=w3,this.getAccTitle=q3,this.setDiagramTitle=T3,this.getDiagramTitle=X3,this.getAccDescription=L3,this.setAccDescription=l3}static{X(this,"PacketDB")}getConfig(){let u=E1({...Xy4,...F4().packet});if(u.showBits)u.paddingY+=10;return u}getPacket(){return this.packet}pushWord(u){if(u.length>0)this.packet.push(u)}clear(){D3(),this.packet=[]}},xy4=X((u,B)=>{U6(u,B);let E=-1,A=[],C=1,{bitsPerRow:D}=B.getConfig();for(let{start:F,end:U,bits:z,label:k}of u.blocks){if(F!==void 0&&U!==void 0&&U<F)throw Error(`Packet block ${F} - ${U} is invalid. End must be greater than start.`);if(F??=E+1,F!==E+1)throw Error(`Packet block ${F} - ${U??F} is not contiguous. It should start from ${E+1}.`);if(z===0)throw Error(`Packet block ${F} is invalid. Cannot have a zero bit field.`);U??=F+(z??1)-1,z??=U-F+1,E=U,z0.debug(`Packet block ${F} - ${E} with label ${k}`);while(A.length<=D+1&&B.getPacket().length<vy4){let[f,M]=Wy4({start:F,end:U,bits:z,label:k},C,D);if(A.push(f),f.end+1===C*D)B.pushWord(A),A=[],C++;if(!M)break;({start:F,end:U,bits:z,label:k}=M)}}B.pushWord(A)},"populate"),Wy4=X((u,B,E)=>{if(u.start===void 0)throw Error("start should have been set during first phase");if(u.end===void 0)throw Error("end should have been set during first phase");if(u.start>u.end)throw Error(`Block start ${u.start} is greater than block end ${u.end}.`);if(u.end+1<=B*E)return[u,void 0];let A=B*E-1,C=B*E;return[{start:u.start,end:A,label:u.label,bits:A-u.start},{start:C,end:u.end,label:u.label,bits:u.end-C}]},"getNextFittingBlock"),R7u={parser:{yy:void 0},parse:X(async(u)=>{let B=await v9("packet",u),E=R7u.parser?.yy;if(!(E instanceof Y7u))throw Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");z0.debug(B),xy4(B,E)},"parse")},Sy4=X((u,B,E,A)=>{let C=A.db,D=C.getConfig(),{rowHeight:F,paddingY:U,bitWidth:z,bitsPerRow:k}=D,f=C.getPacket(),M=C.getDiagramTitle(),b=F+U,Z=b*(f.length+1)-(M?0:F),J=z*k+2,K=h1(B);K.attr("viewBox",`0 0 ${J} ${Z}`),g3(K,Z,J,D.useMaxWidth);for(let[w,Q]of f.entries())Yy4(K,Q,w,D);K.append("text").text(M).attr("x",J/2).attr("y",Z-b/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),Yy4=X((u,B,E,{rowHeight:A,paddingX:C,paddingY:D,bitWidth:F,bitsPerRow:U,showBits:z})=>{let k=u.append("g"),f=E*(A+D)+D;for(let M of B){let b=M.start%U*F+1,Z=(M.end-M.start+1)*F-C;if(k.append("rect").attr("x",b).attr("y",f).attr("width",Z).attr("height",A).attr("class","packetBlock"),k.append("text").attr("x",b+Z/2).attr("y",f+A/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(M.label),!z)continue;let J=M.end===M.start,K=f-2;if(k.append("text").attr("x",b+(J?Z/2:0)).attr("y",K).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",J?"middle":"start").text(M.start),!J)k.append("text").attr("x",b+Z).attr("y",K).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(M.end)}},"drawWord"),Ry4={draw:Sy4},Ty4={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},Oy4=X(({packet:u}={})=>{let B=E1(Ty4,u);return`
.packetByte {
font-size: ${B.byteFontSize};
}
.packetByte.start {
fill: ${B.startByteColor};
}
.packetByte.end {
fill: ${B.endByteColor};
}
.packetLabel {
fill: ${B.labelColor};
font-size: ${B.labelFontSize};
}
.packetTitle {
fill: ${B.titleColor};
font-size: ${B.titleFontSize};
}
.packetBlock {
stroke: ${B.blockStrokeColor};
stroke-width: ${B.blockStrokeWidth};
fill: ${B.blockFillColor};
}
`},"styles"),Iy4={parser:R7u,get db(){return new Y7u},renderer:Ry4,styles:Oy4}});var i7u={};ju(i7u,{diagram:()=>ty4});function j7u(u,B,E,A,C,D,F){let U=B.length,z=Math.min(F.width,F.height)/2;E.forEach((k,f)=>{if(k.entries.length!==U)return;let M=k.entries.map((b,Z)=>{let J=2*Math.PI*Z/U-Math.PI/2,K=N7u(b,A,C,z),w=K*Math.cos(J),Q=K*Math.sin(J);return{x:w,y:Q}});if(D==="circle")u.append("path").attr("d",V7u(M,F.curveTension)).attr("class",`radarCurve-${f}`);else if(D==="polygon")u.append("polygon").attr("points",M.map((b)=>`${b.x},${b.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function N7u(u,B,E,A){let C=Math.min(Math.max(u,B),E);return A*(C-B)/(E-B)}function V7u(u,B){let E=u.length,A=`M${u[0].x},${u[0].y}`;for(let C=0;C<E;C++){let D=u[(C-1+E)%E],F=u[C],U=u[(C+1)%E],z=u[(C+2)%E],k={x:F.x+(U.x-D.x)*B,y:F.y+(U.y-D.y)*B},f={x:U.x-(z.x-F.x)*B,y:U.y-(z.y-F.y)*B};A+=` C${k.x},${k.y} ${f.x},${f.y} ${U.x},${U.y}`}return`${A} Z`}function h7u(u,B,E,A){if(!E)return;let C=(A.width/2+A.marginRight)*3/4,D=-(A.height/2+A.marginTop)*3/4,F=20;B.forEach((U,z)=>{let k=u.append("g").attr("transform",`translate(${C}, ${D+z*F})`);k.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${z}`),k.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(U.label)})}var LL,Ic=32,I7u,lU,Py4,jy4,P7u,Ny4,Vy4,hy4,iy4,ay4,my4,$y4,MT,yy4,ry4,gy4,cy4,_y4,py4,ny4,dy4,sy4,oy4,ty4;var a7u=g(()=>{YB();A2();e3();s4();o4();Y4();w7();LL={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},I7u={axes:[],curves:[],options:LL},lU=structuredClone(I7u),Py4=t4.radar,jy4=X(()=>{return E1({...Py4,...F4().radar})},"getConfig"),P7u=X(()=>lU.axes,"getAxes"),Ny4=X(()=>lU.curves,"getCurves"),Vy4=X(()=>lU.options,"getOptions"),hy4=X((u)=>{lU.axes=u.map((B)=>{return{name:B.name,label:B.label??B.name}})},"setAxes"),iy4=X((u)=>{lU.curves=u.map((B)=>{return{name:B.name,label:B.label??B.name,entries:ay4(B.entries)}})},"setCurves"),ay4=X((u)=>{if(u[0].axis==null)return u.map((E)=>E.value);let B=P7u();if(B.length===0)throw Error("Axes must be populated before curves for reference entries");return B.map((E)=>{let A=u.find((C)=>C.axis?.$refText===E.name);if(A===void 0)throw Error("Missing entry for axis "+E.label);return A.value})},"computeCurveEntries"),my4=X((u)=>{let B=u.reduce((E,A)=>{return E[A.name]=A,E},{});if(lU.options={showLegend:B.showLegend?.value??LL.showLegend,ticks:B.ticks?.value??LL.ticks,max:B.max?.value??LL.max,min:B.min?.value??LL.min,graticule:B.graticule?.value??LL.graticule},lU.options.ticks>Ic)z0.warn(`Radar diagram ticks (${lU.options.ticks}) exceeds maximum allowed (${Ic}). Using ${Ic} instead.`),lU.options.ticks=Ic},"setOptions"),$y4=X(()=>{D3(),lU=structuredClone(I7u)},"clear"),MT={getAxes:P7u,getCurves:Ny4,getOptions:Vy4,setAxes:hy4,setCurves:iy4,setOptions:my4,getConfig:jy4,clear:$y4,setAccTitle:w3,getAccTitle:q3,setDiagramTitle:T3,getDiagramTitle:X3,getAccDescription:L3,setAccDescription:l3},yy4=X((u)=>{U6(u,MT);let{axes:B,curves:E,options:A}=u;MT.setAxes(B),MT.setCurves(E),MT.setOptions(A)},"populate"),ry4={parse:X(async(u)=>{let B=await v9("radar",u);z0.debug(B),yy4(B)},"parse")},gy4=X((u,B,E,A)=>{let C=A.db,D=C.getAxes(),F=C.getCurves(),U=C.getOptions(),z=C.getConfig(),k=C.getDiagramTitle(),f=h1(B),M=cy4(f,z),b=U.max??Math.max(...F.map((K)=>Math.max(...K.entries))),Z=U.min,J=Math.min(z.width,z.height)/2;_y4(M,D,J,U.ticks,U.graticule),py4(M,D,J,z),j7u(M,D,F,Z,b,U.graticule,z),h7u(M,F,U.showLegend,z),M.append("text").attr("class","radarTitle").text(k).attr("x",0).attr("y",-z.height/2-z.marginTop)},"draw"),cy4=X((u,B)=>{let E=B.width+B.marginLeft+B.marginRight,A=B.height+B.marginTop+B.marginBottom,C={x:B.marginLeft+B.width/2,y:B.marginTop+B.height/2};return g3(u,A,E,B.useMaxWidth??!0),u.attr("viewBox",`0 0 ${E} ${A}`).attr("overflow","visible"),u.append("g").attr("transform",`translate(${C.x}, ${C.y})`)},"drawFrame"),_y4=X((u,B,E,A,C)=>{if(C==="circle")for(let D=0;D<A;D++){let F=E*(D+1)/A;u.append("circle").attr("r",F).attr("class","radarGraticule")}else if(C==="polygon"){let D=B.length;for(let F=0;F<A;F++){let U=E*(F+1)/A,z=B.map((k,f)=>{let M=2*f*Math.PI/D-Math.PI/2,b=U*Math.cos(M),Z=U*Math.sin(M);return`${b},${Z}`}).join(" ");u.append("polygon").attr("points",z).attr("class","radarGraticule")}}},"drawGraticule"),py4=X((u,B,E,A)=>{let C=B.length;for(let D=0;D<C;D++){let F=B[D].label,U=2*D*Math.PI/C-Math.PI/2,z=Math.cos(U),k=Math.sin(U);u.append("line").attr("x1",0).attr("y1",0).attr("x2",E*A.axisScaleFactor*z).attr("y2",E*A.axisScaleFactor*k).attr("class","radarAxisLine");let f=z>0.01?"start":z<-0.01?"end":"middle",M=k>0.01?"hanging":k<-0.01?"auto":"central",b=4;u.append("text").text(F).attr("x",E*A.axisLabelFactor*z+b*z).attr("y",E*A.axisLabelFactor*k+b*k).attr("text-anchor",f).attr("dominant-baseline",M).attr("class","radarAxisLabel")}},"drawAxes");X(j7u,"drawCurves");X(N7u,"relativeRadius");X(V7u,"closedRoundCurve");X(h7u,"drawLegend");ny4={draw:gy4},dy4=X((u,B)=>{let E="";for(let A=0;A<u.THEME_COLOR_LIMIT;A++){let C=u[`cScale${A}`];E+=`
.radarCurve-${A} {
color: ${C};
fill: ${C};
fill-opacity: ${B.curveOpacity};
stroke: ${C};
stroke-width: ${B.curveStrokeWidth};
}
.radarLegendBox-${A} {
fill: ${C};
fill-opacity: ${B.curveOpacity};
stroke: ${C};
}
`}return E},"genIndexStyles"),sy4=X((u)=>{let B=O7(),E=F4(),A=E1(B,E.themeVariables),C=E1(A.radar,u);return{themeVariables:A,radarOptions:C}},"buildRadarStyleOptions"),oy4=X(({radar:u}={})=>{let{themeVariables:B,radarOptions:E}=sy4(u);return`
.radarTitle {
font-size: ${B.fontSize};
color: ${B.titleColor};
dominant-baseline: hanging;
text-anchor: middle;
}
.radarAxisLine {
stroke: ${E.axisColor};
stroke-width: ${E.axisStrokeWidth};
}
.radarAxisLabel {
font-size: ${E.axisLabelFontSize}px;
color: ${E.axisColor};
}
.radarGraticule {
fill: ${E.graticuleColor};
fill-opacity: ${E.graticuleOpacity};
stroke: ${E.graticuleColor};
stroke-width: ${E.graticuleStrokeWidth};
}
.radarLegendText {
text-anchor: start;
font-size: ${E.legendFontSize}px;
dominant-baseline: hanging;
}
${dy4(B,E)}
`},"styles"),ty4={parser:ry4,db:MT,renderer:ny4,styles:oy4}});var wBu={};ju(wBu,{diagram:()=>vg4});function o7u(u){switch(z0.debug("typeStr2Type",u),u){case"[]":return"square";case"()":return z0.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function t7u(u){switch(z0.debug("typeStr2Type",u),u){case"==":return"thick";default:return"normal"}}function e7u(u){switch(u.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}function uBu(u){switch(u.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}function BBu(u){return u.includes("==")?"thick":"normal"}function EBu(u){if(u.includes(".-"))return"dotted";return"solid"}function DU0(u,B){if(u===0||!Number.isInteger(u))throw Error("Columns must be an integer !== 0.");if(B<0||!Number.isInteger(B))throw Error("Position must be a non-negative integer."+B);if(u<0)return{px:B,py:0};if(u===1)return{px:0,py:B};let E=B%u,A=Math.floor(B/u);return{px:E,py:A}}function Nc(u,B,E=0,A=0,C=8){if(z0.debug("setBlockSizes abc95 (start)",u.id,u?.size?.x,"block width =",u?.size,"siblingWidth",E),!u?.size?.width)u.size={width:E,height:A,x:0,y:0};let D=0,F=0;if(u.children?.length>0){for(let J of u.children)Nc(J,B,0,0,C);let U=jr4(u);D=U.width,F=U.height,z0.debug("setBlockSizes abc95 maxWidth of",u.id,":s children is ",D,F);for(let J of u.children)if(J.size)z0.debug(`abc95 Setting size of children of ${u.id} id=${J.id} ${D} ${F} ${JSON.stringify(J.size)}`),J.size.width=D*(J.widthInColumns??1)+C*((J.widthInColumns??1)-1),J.size.height=F,J.size.x=0,J.size.y=0,z0.debug(`abc95 updating size of ${u.id} children child:${J.id} maxWidth:${D} maxHeight:${F}`);for(let J of u.children)Nc(J,B,D,F,C);let z=u.columns??-1,k=0;for(let J of u.children)k+=J.widthInColumns??1;let f=u.children.length;if(z>0&&z<k)f=z;let M=Math.ceil(k/f),b=f*(D+C)+C,Z=M*(F+C)+C;if(b<E){z0.debug(`Detected to small sibling: abc95 ${u.id} siblingWidth ${E} siblingHeight ${A} width ${b}`),b=E,Z=A;let J=(E-f*C-C)/f,K=(A-M*C-C)/M;z0.debug("Size indata abc88",u.id,"childWidth",J,"maxWidth",D),z0.debug("Size indata abc88",u.id,"childHeight",K,"maxHeight",F),z0.debug("Size indata abc88 xSize",f,"padding",C);for(let w of u.children)if(w.size)w.size.width=J,w.size.height=K,w.size.x=0,w.size.y=0}if(z0.debug(`abc95 (finale calc) ${u.id} xSize ${f} ySize ${M} columns ${z}${u.children.length} width=${Math.max(b,u.size?.width||0)}`),b<(u?.size?.width||0)){b=u?.size?.width||0;let J=z>0?Math.min(u.children.length,z):u.children.length;if(J>0){let K=(b-J*C-C)/J;z0.debug("abc95 (growing to fit) width",u.id,b,u.size?.width,K);for(let w of u.children)if(w.size)w.size.width=K}}u.size={width:b,height:Z,x:0,y:0}}z0.debug("setBlockSizes abc94 (done)",u.id,u?.size?.x,u?.size?.width,u?.size?.y,u?.size?.height)}function MU0(u,B,E=8){z0.debug(`abc85 layout blocks (=>layoutBlocks) ${u.id} x: ${u?.size?.x} y: ${u?.size?.y} width: ${u?.size?.width}`);let A=u.columns??-1;if(z0.debug("layoutBlocks columns abc95",u.id,"=>",A,u),u.children&&u.children.length>0){let C=u?.children[0]?.size?.width??0,D=u.children.length*C+(u.children.length-1)*E;z0.debug("widthOfChildren 88",D,"posX");let F=new Map;{let M=0;for(let b of u.children){if(!b.size)continue;let{py:Z}=DU0(A,M),J=F.get(Z)??0;if(b.size.height>J)F.set(Z,b.size.height);let K=b?.widthInColumns??1;if(A>0)K=Math.min(K,A-M%A);M+=K}}let U=new Map;{let M=0,b=[...F.keys()].sort((Z,J)=>Z-J);for(let Z of b)U.set(Z,M),M+=(F.get(Z)??0)+E}let z=0;z0.debug("abc91 block?.size?.x",u.id,u?.size?.x);let k=u?.size?.x?u?.size?.x+(-u?.size?.width/2||0):-E,f=0;for(let M of u.children){let b=u;if(!M.size)continue;let{width:Z,height:J}=M.size,{px:K,py:w}=DU0(A,z);if(w!=f)f=w,k=u?.size?.x?u?.size?.x+(-u?.size?.width/2||0):-E,z0.debug("New row in layout for block",u.id," and child ",M.id,f);if(z0.debug(`abc89 layout blocks (child) id: ${M.id} Pos: ${z} (px, py) ${K},${w} (${b?.size?.x},${b?.size?.y}) parent: ${b.id} width: ${Z}${E}`),b.size){let G=Z/2;M.size.x=k+E+G,z0.debug(`abc91 layout blocks (calc) px, pyid:${M.id} startingPos=X${k} new startingPosX${M.size.x} ${G} padding=${E} width=${Z} halfWidth=${G} => x:${M.size.x} y:${M.size.y} ${M.widthInColumns} (width * (child?.w || 1)) / 2 ${Z*(M?.widthInColumns??1)/2}`),k=M.size.x+G;let H=U.get(w)??0,l=F.get(w)??J;M.size.y=b.size.y-b.size.height/2+H+l/2+E,z0.debug(`abc88 layout blocks (calc) px, pyid:${M.id}startingPosX${k}${E}${G}=>x:${M.size.x}y:${M.size.y}${M.widthInColumns}(width * (child?.w || 1)) / 2${Z*(M?.widthInColumns??1)/2}`)}if(M.children)MU0(M,B,E);let Q=M?.widthInColumns??1;if(A>0)Q=Math.min(Q,A-z%A);z+=Q,z0.debug("abc88 columnsPos",M,z)}}z0.debug(`layout blocks (<==layoutBlocks) ${u.id} x: ${u?.size?.x} y: ${u?.size?.y} width: ${u?.size?.width}`)}function bU0(u,{minX:B,minY:E,maxX:A,maxY:C}={minX:0,minY:0,maxX:0,maxY:0}){if(u.size&&u.id!=="root"){let{x:D,y:F,width:U,height:z}=u.size;if(D-U/2<B)B=D-U/2;if(F-z/2<E)E=F-z/2;if(D+U/2>A)A=D+U/2;if(F+z/2>C)C=F+z/2}if(u.children)for(let D of u.children)({minX:B,minY:E,maxX:A,maxY:C}=bU0(D,{minX:B,minY:E,maxX:A,maxY:C}));return{minX:B,minY:E,maxX:A,maxY:C}}function ABu(u){let B=u.getBlock("root");if(!B)return;let E=y0()?.block?.padding??8;Nc(B,u,0,0,E),MU0(B,u,E),z0.debug("getBlocks",JSON.stringify(B,null,2));let{minX:A,minY:C,maxX:D,maxY:F}=bU0(B),U=F-C,z=D-A;return{x:A,y:C,width:z,height:U}}function bT(u,B){if(G1(y0())&&u)u.style.width=B.length*9+"px",u.style.height="12px"}function CBu(u,B){return u.intersect(B)}function DBu(u,B,E,A){var{x:C,y:D}=u,F=C-A.x,U=D-A.y,z=Math.sqrt(B*B*U*U+E*E*F*F),k=Math.abs(B*E*F/z);if(A.x<C)k=-k;var f=Math.abs(B*E*U/z);if(A.y<D)f=-f;return{x:C+k,y:D+f}}function UBu(u,B,E){return FBu(u,B,B,E)}function zBu(u,B,E,A){var C,D,F,U,z,k,f,M,b,Z,J,K,w,Q,G;if(C=B.y-u.y,F=u.x-B.x,z=B.x*u.y-u.x*B.y,b=C*E.x+F*E.y+z,Z=C*A.x+F*A.y+z,b!==0&&Z!==0&&UU0(b,Z))return;if(D=A.y-E.y,U=E.x-A.x,k=A.x*E.y-E.x*A.y,f=D*u.x+U*u.y+k,M=D*B.x+U*B.y+k,f!==0&&M!==0&&UU0(f,M))return;if(J=C*U-D*F,J===0)return;return K=Math.abs(J/2),w=F*k-U*z,Q=w<0?(w-K)/J:(w+K)/J,w=D*z-C*k,G=w<0?(w-K)/J:(w+K)/J,{x:Q,y:G}}function UU0(u,B){return u*B>0}function kBu(u,B,E){var{x:A,y:C}=u,D=[],F=Number.POSITIVE_INFINITY,U=Number.POSITIVE_INFINITY;if(typeof B.forEach==="function")B.forEach(function(J){F=Math.min(F,J.x),U=Math.min(U,J.y)});else F=Math.min(F,B.x),U=Math.min(U,B.y);var z=A-u.width/2-F,k=C-u.height/2-U;for(var f=0;f<B.length;f++){var M=B[f],b=B[f<B.length-1?f+1:0],Z=pr4(u,E,{x:z+M.x,y:k+M.y},{x:z+b.x,y:k+b.y});if(Z)D.push(Z)}if(!D.length)return u;if(D.length>1)D.sort(function(J,K){var w=J.x-E.x,Q=J.y-E.y,G=Math.sqrt(w*w+Q*Q),H=K.x-E.x,l=K.y-E.y,q=Math.sqrt(H*H+l*l);return G<q?-1:G===q?0:1});return D[0]}function ED(u,B,E,A){return u.insert("polygon",":first-child").attr("points",A.map(function(C){return C.x+","+C.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-B/2+","+E/2+")")}function Vc(u,B,E,A){let C=[],D=X((U)=>{C.push(U,0)},"addBorder"),F=X((U)=>{C.push(0,U)},"skipBorder");if(B.includes("t"))z0.debug("add top border"),D(E);else F(E);if(B.includes("r"))z0.debug("add right border"),D(A);else F(A);if(B.includes("b"))z0.debug("add bottom border"),D(E);else F(E);if(B.includes("l"))z0.debug("add left border"),D(A);else F(A);u.attr("stroke-dasharray",C.join(" "))}function ZU0(u,B,E=!1){let A=u,C="default";if((A?.classes?.length||0)>0)C=(A?.classes??[]).join(" ");C=C+" flowchart-label";let D=0,F="",U;switch(A.type){case"round":D=5,F="rect";break;case"composite":D=0,F="composite",U=0;break;case"square":F="rect";break;case"diamond":F="question";break;case"hexagon":F="hexagon";break;case"block_arrow":F="block_arrow";break;case"odd":F="rect_left_inv_arrow";break;case"lean_right":F="lean_right";break;case"lean_left":F="lean_left";break;case"trapezoid":F="trapezoid";break;case"inv_trapezoid":F="inv_trapezoid";break;case"rect_left_inv_arrow":F="rect_left_inv_arrow";break;case"circle":F="circle";break;case"ellipse":F="ellipse";break;case"stadium":F="stadium";break;case"subroutine":F="subroutine";break;case"cylinder":F="cylinder";break;case"group":F="rect";break;case"doublecircle":F="doublecircle";break;default:F="rect"}let z=Dh(A?.styles??[]),k=A.label,f=A.size??{width:0,height:0,x:0,y:0},M=B.getDiagramId();return{labelStyle:z.labelStyle,shape:F,labelText:k,rx:D,ry:D,class:C,style:z.style,id:A.id,domId:M?`${M}-${A.id}`:A.id,directions:A.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:E,intersect:void 0,type:A.type,padding:U??F4()?.block?.padding??0,widthInColumns:A.widthInColumns??1}}async function MBu(u,B,E){let A=ZU0(B,E,!1);if(A.type==="group")return;let C=F4(),D=await fBu(u,A,{config:C}),F=D.node().getBBox(),U=E.getBlock(A.id);U.size={width:F.width,height:F.height,x:0,y:0,node:D},E.setBlock(U),D.remove()}async function bBu(u,B,E){let A=ZU0(B,E,!0);if(E.getBlock(A.id).type!=="space"){let D=F4();await fBu(u,A,{config:D}),B.intersect=A?.intersect,qg4(A)}}async function hc(u,B,E,A){for(let C of B)if(await A(u,C,E),C.children)await hc(u,C.children,E,A)}async function ZBu(u,B,E){await hc(u,B,E,MBu)}async function JBu(u,B,E){await hc(u,B,E,bBu)}async function KBu(u,B,E,A,C){let D=new m1({multigraph:!0,compound:!0});D.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let F of E)if(F.size)D.setNode(F.id,{width:F.size.width,height:F.size.height,intersect:F.intersect});for(let F of B)if(F.start&&F.end){let U=A.getBlock(F.start),z=A.getBlock(F.end);if(U?.size&&z?.size){let k=U.size,f=z.size,M=[{x:k.x,y:k.y},{x:k.x+(f.x-k.x)/2,y:k.y+(f.y-k.y)/2},{x:f.x,y:f.y}],b=C?`${C}-${F.id}`:F.id,Z=F.thickness==="thick"?"edge-thickness-thick":"edge-thickness-normal",J=F.pattern==="dotted"?"edge-pattern-dotted":"edge-pattern-solid",K=`${Z} ${J} flowchart-link LS-a1 LE-b1`;if(yr4(u,{v:F.start,w:F.end,name:b},{...F,id:b,arrowTypeEnd:F.arrowTypeEnd,arrowTypeStart:F.arrowTypeStart,points:M,classes:K},void 0,"block",D,C),F.label)await ir4(u,{...F,label:F.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:F.arrowTypeEnd,arrowTypeStart:F.arrowTypeStart,points:M,classes:K}),ar4({...F,x:M[1].x,y:M[1].y},{originalPath:M})}}}var AU0,ey4,BD,zU0,CU0,m7u="color",$7u="fill",ur4="bgFill",d7u=",",jc,kU0="",Br4,Er4,Ar4,Cr4,s7u,fU0,ZT,Dr4,y7u=0,Fr4,Ur4,zr4,kr4,fr4,Mr4,br4,Zr4,Jr4,Kr4,wr4,Qr4,Gr4,Hr4,EU0,qr4,lr4,Lr4,Xr4,vr4,xr4,Wr4,Sr4,Yr4,Rr4,Tr4,Or4,Ir4,Pr4,jr4,Nr4,uD,Vr4,hr4,r7u,FU0,y7,ir4,ar4,mr4,$r4,g7u,yr4,rr4,gr4,cr4,FBu,_r4,pr4,nr4,dr4,sr4,k9,h5,c9,or4,tr4,c7u,TE,_7u,er4,ug4,Bg4,Eg4,Ag4,Cg4,Dg4,Fg4,Ug4,zg4,kg4,fg4,Mg4,bg4,Zg4,Jg4,Kg4,wg4,Qg4,p7u,Gg4,Hg4,n7u,Pc,fBu,qg4,lg4,Lg4,Xg4,vg4;var QBu=g(()=>{AU();HB();C7();s2();X2();e3();s4();o4();Y4();Eh();G2();V3();wE();V3();V3();V3();AU0=function(){var u=X(function(H,l,q,L){for(q=q||{},L=H.length;L--;q[H[L]]=l);return q},"o"),B=[1,15],E=[1,7],A=[1,13],C=[1,14],D=[1,19],F=[1,16],U=[1,17],z=[1,18],k=[8,30],f=[8,10,21,28,29,30,31,39,43,46],M=[1,23],b=[1,24],Z=[8,10,15,16,21,28,29,30,31,39,43,46],J=[8,10,15,16,21,27,28,29,30,31,39,43,46],K=[1,49],w={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:X(function(l,q,L,v,x,S,W){var T=S.length-1;switch(x){case 4:v.getLogger().debug("Rule: separator (NL) ");break;case 5:v.getLogger().debug("Rule: separator (Space) ");break;case 6:v.getLogger().debug("Rule: separator (EOF) ");break;case 7:v.getLogger().debug("Rule: hierarchy: ",S[T-1]),v.setHierarchy(S[T-1]);break;case 8:v.getLogger().debug("Stop NL ");break;case 9:v.getLogger().debug("Stop EOF ");break;case 10:v.getLogger().debug("Stop NL2 ");break;case 11:v.getLogger().debug("Stop EOF2 ");break;case 12:v.getLogger().debug("Rule: statement: ",S[T]),typeof S[T].length==="number"?this.$=S[T]:this.$=[S[T]];break;case 13:v.getLogger().debug("Rule: statement #2: ",S[T-1]),this.$=[S[T-1]].concat(S[T]);break;case 14:v.getLogger().debug("Rule: link: ",S[T],l),this.$={edgeTypeStr:S[T],label:""};break;case 15:v.getLogger().debug("Rule: LABEL link: ",S[T-3],S[T-1],S[T]),this.$={edgeTypeStr:S[T],label:S[T-1]};break;case 18:let R=parseInt(S[T]),Y=v.generateId();this.$={id:Y,type:"space",label:"",width:R,children:[]};break;case 23:v.getLogger().debug("Rule: (nodeStatement link node) ",S[T-2],S[T-1],S[T]," typestr: ",S[T-1].edgeTypeStr);let h=v.edgeStrToEdgeData(S[T-1].edgeTypeStr),I=v.edgeStrToEdgeStartData(S[T-1].edgeTypeStr),O=v.edgeStrToThickness(S[T-1].edgeTypeStr),V=v.edgeStrToPattern(S[T-1].edgeTypeStr);this.$=[{id:S[T-2].id,label:S[T-2].label,type:S[T-2].type,directions:S[T-2].directions},{id:S[T-2].id+"-"+S[T].id,start:S[T-2].id,end:S[T].id,label:S[T-1].label,type:"edge",thickness:O,pattern:V,directions:S[T].directions,arrowTypeEnd:h,arrowTypeStart:I},{id:S[T].id,label:S[T].label,type:v.typeStr2Type(S[T].typeStr),directions:S[T].directions}];break;case 24:v.getLogger().debug("Rule: nodeStatement (abc88 node size) ",S[T-1],S[T]),this.$={id:S[T-1].id,label:S[T-1].label,type:v.typeStr2Type(S[T-1].typeStr),directions:S[T-1].directions,widthInColumns:parseInt(S[T],10)};break;case 25:v.getLogger().debug("Rule: nodeStatement (node) ",S[T]),this.$={id:S[T].id,label:S[T].label,type:v.typeStr2Type(S[T].typeStr),directions:S[T].directions,widthInColumns:1};break;case 26:v.getLogger().debug("APA123",this?this:"na"),v.getLogger().debug("COLUMNS: ",S[T]),this.$={type:"column-setting",columns:S[T]==="auto"?-1:parseInt(S[T])};break;case 27:v.getLogger().debug("Rule: id-block statement : ",S[T-2],S[T-1]);let j=v.generateId();this.$={...S[T-2],type:"composite",children:S[T-1]};break;case 28:v.getLogger().debug("Rule: blockStatement : ",S[T-2],S[T-1],S[T]);let i=v.generateId();this.$={id:i,type:"composite",label:"",children:S[T-1]};break;case 29:v.getLogger().debug("Rule: node (NODE_ID separator): ",S[T]),this.$={id:S[T]};break;case 30:v.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",S[T-1],S[T]),this.$={id:S[T-1],label:S[T].label,typeStr:S[T].typeStr,directions:S[T].directions};break;case 31:v.getLogger().debug("Rule: dirList: ",S[T]),this.$=[S[T]];break;case 32:v.getLogger().debug("Rule: dirList: ",S[T-1],S[T]),this.$=[S[T-1]].concat(S[T]);break;case 33:v.getLogger().debug("Rule: nodeShapeNLabel: ",S[T-2],S[T-1],S[T]),this.$={typeStr:S[T-2]+S[T],label:S[T-1]};break;case 34:v.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",S[T-3],S[T-2]," #3:",S[T-1],S[T]),this.$={typeStr:S[T-3]+S[T],label:S[T-2],directions:S[T-1]};break;case 35:case 36:this.$={type:"classDef",id:S[T-1].trim(),css:S[T].trim()};break;case 37:this.$={type:"applyClass",id:S[T-1].trim(),styleClass:S[T].trim()};break;case 38:this.$={type:"applyStyles",id:S[T-1].trim(),stylesStr:S[T].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:B,11:3,13:4,19:5,20:6,21:E,22:8,23:9,24:10,25:11,26:12,28:A,29:C,31:D,39:F,43:U,46:z},{8:[1,20]},u(k,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:B,21:E,28:A,29:C,31:D,39:F,43:U,46:z}),u(f,[2,16],{14:22,15:M,16:b}),u(f,[2,17]),u(f,[2,18]),u(f,[2,19]),u(f,[2,20]),u(f,[2,21]),u(f,[2,22]),u(Z,[2,25],{27:[1,25]}),u(f,[2,26]),{19:26,26:12,31:D},{10:B,11:27,13:4,19:5,20:6,21:E,22:8,23:9,24:10,25:11,26:12,28:A,29:C,31:D,39:F,43:U,46:z},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},u(J,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},u(k,[2,13]),{26:35,31:D},{31:[2,14]},{17:[1,36]},u(Z,[2,24]),{10:B,11:37,13:4,14:22,15:M,16:b,19:5,20:6,21:E,22:8,23:9,24:10,25:11,26:12,28:A,29:C,31:D,39:F,43:U,46:z},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},u(J,[2,30]),{18:[1,43]},{18:[1,44]},u(Z,[2,23]),{18:[1,45]},{30:[1,46]},u(f,[2,28]),u(f,[2,35]),u(f,[2,36]),u(f,[2,37]),u(f,[2,38]),{36:[1,47]},{33:48,34:K},{15:[1,50]},u(f,[2,27]),u(J,[2,33]),{38:[1,51]},{33:52,34:K,38:[2,31]},{31:[2,15]},u(J,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:X(function(l,q){if(q.recoverable)this.trace(l);else{var L=Error(l);throw L.hash=q,L}},"parseError"),parse:X(function(l){var q=this,L=[0],v=[],x=[null],S=[],W=this.table,T="",R=0,Y=0,h=0,I=2,O=1,V=S.slice.call(arguments,1),j=Object.create(this.lexer),i={yy:{}};for(var a in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,a))i.yy[a]=this.yy[a];if(j.setInput(l,i.yy),i.yy.lexer=j,i.yy.parser=this,typeof j.yylloc>"u")j.yylloc={};var $=j.yylloc;S.push($);var m=j.options&&j.options.ranges;if(typeof i.yy.parseError==="function")this.parseError=i.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function y(_0){L.length=L.length-2*_0,x.length=x.length-_0,S.length=S.length-_0}X(y,"popStack");function r(){var _0=v.pop()||j.lex()||O;if(typeof _0!=="number"){if(_0 instanceof Array)v=_0,_0=v.pop();_0=q.symbols_[_0]||_0}return _0}X(r,"lex");var _,e,p,b0,B0,k0,f0={},D0,P0,L0,m0;while(!0){if(p=L[L.length-1],this.defaultActions[p])b0=this.defaultActions[p];else{if(_===null||typeof _>"u")_=r();b0=W[p]&&W[p][_]}if(typeof b0>"u"||!b0.length||!b0[0]){var h0="";m0=[];for(D0 in W[p])if(this.terminals_[D0]&&D0>I)m0.push("'"+this.terminals_[D0]+"'");if(j.showPosition)h0="Parse error on line "+(R+1)+`:
`+j.showPosition()+`
Expecting `+m0.join(", ")+", got '"+(this.terminals_[_]||_)+"'";else h0="Parse error on line "+(R+1)+": Unexpected "+(_==O?"end of input":"'"+(this.terminals_[_]||_)+"'");this.parseError(h0,{text:j.match,token:this.terminals_[_]||_,line:j.yylineno,loc:$,expected:m0})}if(b0[0]instanceof Array&&b0.length>1)throw Error("Parse Error: multiple actions possible at state: "+p+", token: "+_);switch(b0[0]){case 1:if(L.push(_),x.push(j.yytext),S.push(j.yylloc),L.push(b0[1]),_=null,!e){if(Y=j.yyleng,T=j.yytext,R=j.yylineno,$=j.yylloc,h>0)h--}else _=e,e=null;break;case 2:if(P0=this.productions_[b0[1]][1],f0.$=x[x.length-P0],f0._$={first_line:S[S.length-(P0||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(P0||1)].first_column,last_column:S[S.length-1].last_column},m)f0._$.range=[S[S.length-(P0||1)].range[0],S[S.length-1].range[1]];if(k0=this.performAction.apply(f0,[T,Y,R,i.yy,b0[1],x,S].concat(V)),typeof k0<"u")return k0;if(P0)L=L.slice(0,-1*P0*2),x=x.slice(0,-1*P0),S=S.slice(0,-1*P0);L.push(this.productions_[b0[1]][0]),x.push(f0.$),S.push(f0._$),L0=W[L[L.length-2]][L[L.length-1]],L.push(L0);break;case 3:return!0}}return!0},"parse")},Q=function(){var H={EOF:1,parseError:X(function(q,L){if(this.yy.parser)this.yy.parser.parseError(q,L);else throw Error(q)},"parseError"),setInput:X(function(l,q){if(this.yy=q||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var q=l.match(/(?:\r\n?|\n).*/g);if(q)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),l},"input"),unput:X(function(l){var q=l.length,L=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-q),this.offset-=q;var v=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),L.length-1)this.yylineno-=L.length-1;var x=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:L?(L.length===v.length?this.yylloc.first_column:0)+v[v.length-L.length].length-L[0].length:this.yylloc.first_column-q},this.options.ranges)this.yylloc.range=[x[0],x[0]+this.yyleng-q];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(l){this.unput(this.match.slice(l))},"less"),pastInput:X(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var l=this.match;if(l.length<20)l+=this._input.substr(0,20-l.length);return(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var l=this.pastInput(),q=Array(l.length+1).join("-");return l+this.upcomingInput()+`
`+q+"^"},"showPosition"),test_match:X(function(l,q){var L,v,x;if(this.options.backtrack_lexer){if(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)x.yylloc.range=this.yylloc.range.slice(0)}if(v=l[0].match(/(?:\r\n?|\n).*/g),v)this.yylineno+=v.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(l[0].length),this.matched+=l[0],L=this.performAction.call(this,this.yy,this,q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(L)return L;else if(this._backtrack){for(var S in x)this[S]=x[S];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var l,q,L,v;if(!this._more)this.yytext="",this.match="";var x=this._currentRules();for(var S=0;S<x.length;S++)if(L=this._input.match(this.rules[x[S]]),L&&(!q||L[0].length>q[0].length)){if(q=L,v=S,this.options.backtrack_lexer)if(l=this.test_match(L,x[S]),l!==!1)return l;else if(this._backtrack){q=!1;continue}else return!1;else if(!this.options.flex)break}if(q){if(l=this.test_match(q,x[v]),l!==!1)return l;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var q=this.next();if(q)return q;else return this.lex()},"lex"),begin:X(function(q){this.conditionStack.push(q)},"begin"),popState:X(function(){var q=this.conditionStack.length-1;if(q>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(q){if(q=this.conditionStack.length-1-Math.abs(q||0),q>=0)return this.conditionStack[q];else return"INITIAL"},"topState"),pushState:X(function(q){this.begin(q)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:X(function(q,L,v,x){var S=x;switch(v){case 0:return q.getLogger().debug("Found block-beta"),10;break;case 1:return q.getLogger().debug("Found id-block"),29;break;case 2:return q.getLogger().debug("Found block"),10;break;case 3:q.getLogger().debug(".",L.yytext);break;case 4:q.getLogger().debug("_",L.yytext);break;case 5:return 5;case 6:return L.yytext=-1,28;break;case 7:return L.yytext=L.yytext.replace(/columns\s+/,""),q.getLogger().debug("COLUMNS (LEX)",L.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:q.getLogger().debug("LEX: POPPING STR:",L.yytext),this.popState();break;case 13:return q.getLogger().debug("LEX: STR end:",L.yytext),"STR";break;case 14:return L.yytext=L.yytext.replace(/space\:/,""),q.getLogger().debug("SPACE NUM (LEX)",L.yytext),21;break;case 15:return L.yytext="1",q.getLogger().debug("COLUMNS (LEX)",L.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),q.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),q.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),q.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),q.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),q.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),q.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),q.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),q.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),q.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),q.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),q.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),q.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),q.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),q.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),q.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),q.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),q.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return q.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return q.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return q.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return q.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return q.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return q.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return q.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return q.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return q.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return q.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return q.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return q.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),q.getLogger().debug("LEX ARR START"),37;break;case 74:return q.getLogger().debug("Lex: NODE_ID",L.yytext),31;break;case 75:return q.getLogger().debug("Lex: EOF",L.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:q.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:q.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return q.getLogger().debug("LEX: NODE_DESCR:",L.yytext),"NODE_DESCR";break;case 83:q.getLogger().debug("LEX POPPING"),this.popState();break;case 84:q.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return L.yytext=L.yytext.replace(/^,\s*/,""),q.getLogger().debug("Lex (right): dir:",L.yytext),"DIR";break;case 86:return L.yytext=L.yytext.replace(/^,\s*/,""),q.getLogger().debug("Lex (left):",L.yytext),"DIR";break;case 87:return L.yytext=L.yytext.replace(/^,\s*/,""),q.getLogger().debug("Lex (x):",L.yytext),"DIR";break;case 88:return L.yytext=L.yytext.replace(/^,\s*/,""),q.getLogger().debug("Lex (y):",L.yytext),"DIR";break;case 89:return L.yytext=L.yytext.replace(/^,\s*/,""),q.getLogger().debug("Lex (up):",L.yytext),"DIR";break;case 90:return L.yytext=L.yytext.replace(/^,\s*/,""),q.getLogger().debug("Lex (down):",L.yytext),"DIR";break;case 91:return L.yytext="]>",q.getLogger().debug("Lex (ARROW_DIR end):",L.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return q.getLogger().debug("Lex: LINK","#"+L.yytext+"#"),15;break;case 93:return q.getLogger().debug("Lex: LINK",L.yytext),15;break;case 94:return q.getLogger().debug("Lex: LINK",L.yytext),15;break;case 95:return q.getLogger().debug("Lex: LINK",L.yytext),15;break;case 96:return q.getLogger().debug("Lex: START_LINK",L.yytext),this.pushState("LLABEL"),16;break;case 97:return q.getLogger().debug("Lex: START_LINK",L.yytext),this.pushState("LLABEL"),16;break;case 98:return q.getLogger().debug("Lex: START_LINK",L.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return q.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),q.getLogger().debug("Lex: LINK","#"+L.yytext+"#"),15;break;case 102:return this.popState(),q.getLogger().debug("Lex: LINK",L.yytext),15;break;case 103:return this.popState(),q.getLogger().debug("Lex: LINK",L.yytext),15;break;case 104:return q.getLogger().debug("Lex: COLON",L.yytext),L.yytext=L.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return H}();w.lexer=Q;function G(){this.yy={}}return X(G,"Parser"),G.prototype=w,w.Parser=G,new G}();AU0.parser=AU0;ey4=AU0,BD=new Map,zU0=[],CU0=new Map,jc=new Map,Br4=X((u)=>ru.sanitizeText(u,y0()),"sanitizeText"),Er4=X(function(u,B=""){let E=jc.get(u);if(!E)E={id:u,styles:[],textStyles:[]},jc.set(u,E);if(B!==void 0&&B!==null)B.split(d7u).forEach((A)=>{let C=A.replace(/([^;]*);/,"$1").trim();if(RegExp(m7u).exec(A)){let F=C.replace($7u,ur4).replace(m7u,$7u);E.textStyles.push(F)}E.styles.push(C)})},"addStyleClass"),Ar4=X(function(u,B=""){let E=BD.get(u);if(B!==void 0&&B!==null)E.styles=B.split(d7u)},"addStyle2Node"),Cr4=X(function(u,B){u.split(",").forEach(function(E){let A=BD.get(E);if(A===void 0){let C=E.trim();A={id:C,type:"na",children:[]},BD.set(C,A)}if(!A.classes)A.classes=[];A.classes.push(B)})},"setCssClass"),s7u=X((u,B)=>{let E=u.flat(),A=[],D=E.find((F)=>F?.type==="column-setting")?.columns??-1;for(let F of E){if(typeof D==="number"&&D>0&&F.type!=="column-setting"&&typeof F.widthInColumns==="number"&&F.widthInColumns>D)z0.warn(`Block ${F.id} width ${F.widthInColumns} exceeds configured column width ${D}`);if(F.label)F.label=Br4(F.label);if(F.type==="classDef"){Er4(F.id,F.css);continue}if(F.type==="applyClass"){Cr4(F.id,F?.styleClass??"");continue}if(F.type==="applyStyles"){if(F?.stylesStr)Ar4(F.id,F?.stylesStr);continue}if(F.type==="column-setting")B.columns=F.columns??-1;else if(F.type==="edge"){let U=(CU0.get(F.id)??0)+1;CU0.set(F.id,U),F.id=U+"-"+F.id,zU0.push(F)}else{if(!F.label)if(F.type==="composite")F.label="";else F.label=F.id;let U=BD.get(F.id);if(U===void 0)BD.set(F.id,F);else{if(F.type!=="na")U.type=F.type;if(F.label!==F.id)U.label=F.label}if(F.children)s7u(F.children,F);if(F.type==="space"){let z=F.width??1;for(let k=0;k<z;k++){let f=z30(F);f.id=f.id+"-"+k,BD.set(f.id,f),A.push(f)}}else if(U===void 0)A.push(F)}}B.children=A},"populateBlockDatabase"),fU0=[],ZT={id:"root",type:"composite",children:[],columns:-1},Dr4=X(()=>{z0.debug("Clear called"),D3(),ZT={id:"root",type:"composite",children:[],columns:-1},BD=new Map([["root",ZT]]),fU0=[],jc=new Map,zU0=[],CU0=new Map,kU0=""},"clear");X(o7u,"typeStr2Type");X(t7u,"edgeTypeStr2Type");X(e7u,"edgeStrToEdgeData");X(uBu,"edgeStrToEdgeStartData");X(BBu,"edgeStrToThickness");X(EBu,"edgeStrToPattern");Fr4=X(()=>{return y7u++,"id-"+Math.random().toString(36).substr(2,12)+"-"+y7u},"generateId"),Ur4=X((u)=>{ZT.children=u,s7u(u,ZT),fU0=ZT.children},"setHierarchy"),zr4=X((u)=>{let B=BD.get(u);if(!B)return-1;if(B.columns)return B.columns;if(!B.children)return-1;return B.children.length},"getColumns"),kr4=X(()=>{return[...BD.values()]},"getBlocksFlat"),fr4=X(()=>{return fU0||[]},"getBlocks"),Mr4=X(()=>{return zU0},"getEdges"),br4=X((u)=>{return BD.get(u)},"getBlock"),Zr4=X((u)=>{BD.set(u.id,u)},"setBlock"),Jr4=X((u)=>{kU0=u},"setDiagramId"),Kr4=X(()=>kU0,"getDiagramId"),wr4=X(()=>z0,"getLogger"),Qr4=X(function(){return jc},"getClasses"),Gr4={getConfig:X(()=>F4().block,"getConfig"),typeStr2Type:o7u,edgeTypeStr2Type:t7u,edgeStrToEdgeData:e7u,edgeStrToEdgeStartData:uBu,edgeStrToThickness:BBu,edgeStrToPattern:EBu,getLogger:wr4,getBlocksFlat:kr4,getBlocks:fr4,getEdges:Mr4,setHierarchy:Ur4,getBlock:br4,setBlock:Zr4,getColumns:zr4,getClasses:Qr4,clear:Dr4,generateId:Fr4,setDiagramId:Jr4,getDiagramId:Kr4},Hr4=Gr4,EU0=X((u,B)=>{let E=WJ,A=E(u,"r"),C=E(u,"g"),D=E(u,"b");return B2(A,C,D,B)},"fade"),qr4=X((u)=>`.label {
font-family: ${u.fontFamily};
color: ${u.nodeTextColor||u.textColor};
}
.cluster-label text {
fill: ${u.titleColor};
}
.cluster-label span,p {
color: ${u.titleColor};
}
.label text,span,p {
fill: ${u.nodeTextColor||u.textColor};
color: ${u.nodeTextColor||u.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${u.mainBkg};
stroke: ${u.nodeBorder};
stroke-width: 1px;
}
.flowchart-label text {
text-anchor: middle;
}
// .flowchart-label .text-outer-tspan {
// text-anchor: middle;
// }
// .flowchart-label .text-inner-tspan {
// text-anchor: start;
// }
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${u.arrowheadColor};
}
.edgePath .path {
stroke: ${u.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${u.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${u.edgeLabelBackground};
/*
* This is for backward compatibility with existing code that didn't
* add a \`<p>\` around edge labels.
*
* TODO: We should probably remove this in a future release.
*/
p {
margin: 0;
padding: 0;
display: inline;
}
rect {
opacity: 0.5;
background-color: ${u.edgeLabelBackground};
fill: ${u.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${u.edgeLabelBackground};
}
.node .cluster {
// fill: ${EU0(u.mainBkg,0.5)};
fill: ${EU0(u.clusterBkg,0.5)};
stroke: ${EU0(u.clusterBorder,0.2)};
box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
stroke-width: 1px;
}
.cluster text {
fill: ${u.titleColor};
}
.cluster span,p {
color: ${u.titleColor};
}
/* .cluster div {
color: ${u.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${u.fontFamily};
font-size: 12px;
background: ${u.tertiaryColor};
border: 1px solid ${u.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${u.textColor};
}
${EU()}
`,"getStyles"),lr4=qr4,Lr4=X((u,B,E,A)=>{B.forEach((C)=>{Ir4[C](u,E,A)})},"insertMarkers"),Xr4=X((u,B,E)=>{z0.trace("Making markers for ",E),u.append("defs").append("marker").attr("id",E+"_"+B+"-extensionStart").attr("class","marker extension "+B).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-extensionEnd").attr("class","marker extension "+B).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),vr4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-compositionStart").attr("class","marker composition "+B).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-compositionEnd").attr("class","marker composition "+B).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),xr4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-aggregationStart").attr("class","marker aggregation "+B).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-aggregationEnd").attr("class","marker aggregation "+B).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Wr4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-dependencyStart").attr("class","marker dependency "+B).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),u.append("defs").append("marker").attr("id",E+"_"+B+"-dependencyEnd").attr("class","marker dependency "+B).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Sr4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-lollipopStart").attr("class","marker lollipop "+B).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),u.append("defs").append("marker").attr("id",E+"_"+B+"-lollipopEnd").attr("class","marker lollipop "+B).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Yr4=X((u,B,E)=>{u.append("marker").attr("id",E+"_"+B+"-pointEnd").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-pointStart").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Rr4=X((u,B,E)=>{u.append("marker").attr("id",E+"_"+B+"-circleEnd").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-circleStart").attr("class","marker "+B).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Tr4=X((u,B,E)=>{u.append("marker").attr("id",E+"_"+B+"-crossEnd").attr("class","marker cross "+B).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),u.append("marker").attr("id",E+"_"+B+"-crossStart").attr("class","marker cross "+B).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Or4=X((u,B,E)=>{u.append("defs").append("marker").attr("id",E+"_"+B+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Ir4={extension:Xr4,composition:vr4,aggregation:xr4,dependency:Wr4,lollipop:Sr4,point:Yr4,circle:Rr4,cross:Tr4,barb:Or4},Pr4=Lr4;X(DU0,"calculateBlockPosition");jr4=X((u)=>{let B=0,E=0;for(let A of u.children){let{width:C,height:D,x:F,y:U}=A.size??{width:0,height:0,x:0,y:0};if(z0.debug("getMaxChildSize abc95 child:",A.id,"width:",C,"height:",D,"x:",F,"y:",U,A.type),A.type==="space")continue;let z=C/(A.widthInColumns??1);if(z>B)B=z;if(D>E)E=D}return{width:B,height:E}},"getMaxChildSize");X(Nc,"setBlockSizes");X(MU0,"layoutBlocks");X(bU0,"findBounds");X(ABu,"layout");Nr4=X(async(u,B,E,A=!1,C=!1)=>{let D=B||"";if(typeof D==="object")D=D[0];let F=y0(),U=G1(F);return await v2(u,D,{style:E,isTitle:A,useHtmlLabels:U,markdown:!1,isNode:C,width:Number.POSITIVE_INFINITY},F)},"createLabel"),uD=Nr4,Vr4=X((u,B,E,A,C)=>{if(B.arrowTypeStart)r7u(u,"start",B.arrowTypeStart,E,A,C);if(B.arrowTypeEnd)r7u(u,"end",B.arrowTypeEnd,E,A,C)},"addEdgeMarkers"),hr4={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},r7u=X((u,B,E,A,C,D)=>{let F=hr4[E];if(!F){z0.warn(`Unknown arrow type: ${E}`);return}let U=B==="start"?"Start":"End";u.attr(`marker-${B}`,`url(${A}#${C}_${D}-${F}${U})`)},"addEdgeMarker"),FU0={},y7={},ir4=X(async(u,B)=>{let E=y0(),A=G1(E),C=u.insert("g").attr("class","edgeLabel"),D=C.insert("g").attr("class","label"),F=B.labelType==="markdown",U=await v2(u,B.label,{style:B.labelStyle,useHtmlLabels:A,addSvgBackground:F,isNode:!1,markdown:F,width:F?void 0:Number.POSITIVE_INFINITY},E);D.node().appendChild(U);let z=U.getBBox(),k=z;if(A){let M=U.children[0],b=Qu(U);z=M.getBoundingClientRect(),k=z,b.attr("width",z.width),b.attr("height",z.height)}else{let M=Qu(U).select("text").node();if(M&&typeof M.getBBox==="function")k=M.getBBox()}D.attr("transform",CA(k,A)),FU0[B.id]=C,B.width=z.width,B.height=z.height;let f;if(B.startLabelLeft){let M=u.insert("g").attr("class","edgeTerminals"),b=M.insert("g").attr("class","inner"),Z=await uD(b,B.startLabelLeft,B.labelStyle);f=Z;let J=Z.getBBox();if(A){let K=Z.children[0],w=Qu(Z);J=K.getBoundingClientRect(),w.attr("width",J.width),w.attr("height",J.height)}if(b.attr("transform",CA(J,A)),!y7[B.id])y7[B.id]={};y7[B.id].startLeft=M,bT(f,B.startLabelLeft)}if(B.startLabelRight){let M=u.insert("g").attr("class","edgeTerminals"),b=M.insert("g").attr("class","inner"),Z=await uD(b,B.startLabelRight,B.labelStyle);f=Z;let J=Z.getBBox();if(A){let K=Z.children[0],w=Qu(Z);J=K.getBoundingClientRect(),w.attr("width",J.width),w.attr("height",J.height)}if(b.attr("transform",CA(J,A)),!y7[B.id])y7[B.id]={};y7[B.id].startRight=M,bT(f,B.startLabelRight)}if(B.endLabelLeft){let M=u.insert("g").attr("class","edgeTerminals"),b=M.insert("g").attr("class","inner"),Z=await uD(M,B.endLabelLeft,B.labelStyle);f=Z;let J=Z.getBBox();if(A){let K=Z.children[0],w=Qu(Z);J=K.getBoundingClientRect(),w.attr("width",J.width),w.attr("height",J.height)}if(b.attr("transform",CA(J,A)),!y7[B.id])y7[B.id]={};y7[B.id].endLeft=M,bT(f,B.endLabelLeft)}if(B.endLabelRight){let M=u.insert("g").attr("class","edgeTerminals"),b=M.insert("g").attr("class","inner"),Z=await uD(M,B.endLabelRight,B.labelStyle);f=Z;let J=Z.getBBox();if(A){let K=Z.children[0],w=Qu(Z);J=K.getBoundingClientRect(),w.attr("width",J.width),w.attr("height",J.height)}if(b.attr("transform",CA(J,A)),!y7[B.id])y7[B.id]={};y7[B.id].endRight=M,bT(f,B.endLabelRight)}return U},"insertEdgeLabel");X(bT,"setTerminalWidth");ar4=X((u,B)=>{z0.debug("Moving label abc88 ",u.id,u.label,FU0[u.id],B);let E=B.updatedPath?B.updatedPath:B.originalPath,A=y0(),{subGraphTitleTotalMargin:C}=SC(A);if(u.label){let D=FU0[u.id],F=u.x,U=u.y;if(E){let z=R4.calcLabelPosition(E);if(z0.debug("Moving label "+u.label+" from (",F,",",U,") to (",z.x,",",z.y,") abc88"),B.updatedPath)F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U+C/2})`)}if(u.startLabelLeft){let D=y7[u.id].startLeft,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeStart?10:0,"start_left",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.startLabelRight){let D=y7[u.id].startRight,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeStart?10:0,"start_right",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.endLabelLeft){let D=y7[u.id].endLeft,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeEnd?10:0,"end_left",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}if(u.endLabelRight){let D=y7[u.id].endRight,F=u.x,U=u.y;if(E){let z=R4.calcTerminalLabelPosition(u.arrowTypeEnd?10:0,"end_right",E);F=z.x,U=z.y}D.attr("transform",`translate(${F}, ${U})`)}},"positionEdgeLabel"),mr4=X((u,B)=>{let{x:E,y:A}=u,C=Math.abs(B.x-E),D=Math.abs(B.y-A),F=u.width/2,U=u.height/2;if(C>=F||D>=U)return!0;return!1},"outsideNode"),$r4=X((u,B,E)=>{z0.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(B)}
insidePoint : ${JSON.stringify(E)}
node : x:${u.x} y:${u.y} w:${u.width} h:${u.height}`);let{x:A,y:C}=u,D=Math.abs(A-E.x),F=u.width/2,U=E.x<B.x?F-D:F+D,z=u.height/2,k=Math.abs(B.y-E.y),f=Math.abs(B.x-E.x);if(Math.abs(C-B.y)*F>Math.abs(A-B.x)*z){let M=E.y<B.y?B.y-z-C:C-z-B.y;U=f*M/k;let b={x:E.x<B.x?E.x+U:E.x-f+U,y:E.y<B.y?E.y+k-M:E.y-k+M};if(U===0)b.x=B.x,b.y=B.y;if(f===0)b.x=B.x;if(k===0)b.y=B.y;return z0.debug(`abc89 topp/bott calc, Q ${k}, q ${M}, R ${f}, r ${U}`,b),b}else{if(E.x<B.x)U=B.x-F-A;else U=A-F-B.x;let M=k*U/f,b=E.x<B.x?E.x+f-U:E.x-f+U,Z=E.y<B.y?E.y+M:E.y-M;if(z0.debug(`sides calc abc89, Q ${k}, q ${M}, R ${f}, r ${U}`,{_x:b,_y:Z}),U===0)b=B.x,Z=B.y;if(f===0)b=B.x;if(k===0)Z=B.y;return{x:b,y:Z}}},"intersection"),g7u=X((u,B)=>{z0.debug("abc88 cutPathAtIntersect",u,B);let E=[],A=u[0],C=!1;return u.forEach((D)=>{if(!mr4(B,D)&&!C){let F=$r4(B,A,D),U=!1;if(E.forEach((z)=>{U=U||z.x===F.x&&z.y===F.y}),!E.some((z)=>z.x===F.x&&z.y===F.y))E.push(F);C=!0}else if(A=D,!C)E.push(D)}),E},"cutPathAtIntersect"),yr4=X(function(u,B,E,A,C,D,F){let U=E.points;z0.debug("abc88 InsertEdge: edge=",E,"e=",B);let z=!1,k=D.node(B.v);var f=D.node(B.w);if(f?.intersect&&k?.intersect)U=U.slice(1,E.points.length-1),U.unshift(k.intersect(U[0])),U.push(f.intersect(U[U.length-1]));if(E.toCluster)z0.debug("to cluster abc88",A[E.toCluster]),U=g7u(E.points,A[E.toCluster].node),z=!0;if(E.fromCluster)z0.debug("from cluster abc88",A[E.fromCluster]),U=g7u(U.reverse(),A[E.fromCluster].node).reverse(),z=!0;let M=U.filter((l)=>!Number.isNaN(l.y)),b=xC;if(E.curve&&(C==="graph"||C==="flowchart"))b=E.curve;let{x:Z,y:J}=Ph(E),K=vC().x(Z).y(J).curve(b),w;switch(E.thickness){case"normal":w="edge-thickness-normal";break;case"thick":w="edge-thickness-thick";break;case"invisible":w="edge-thickness-thick";break;default:w=""}switch(E.pattern){case"solid":w+=" edge-pattern-solid";break;case"dotted":w+=" edge-pattern-dotted";break;case"dashed":w+=" edge-pattern-dashed";break}let Q=u.append("path").attr("d",K(M)).attr("id",E.id).attr("class"," "+w+(E.classes?" "+E.classes:"")).attr("style",E.style),G="";if(y0().flowchart.arrowMarkerAbsolute||y0().state.arrowMarkerAbsolute)G=hJ(!0);Vr4(Q,E,G,F,C);let H={};if(z)H.updatedPath=U;return H.originalPath=E.points,H},"insertEdge"),rr4=X((u)=>{let B=new Set;for(let E of u)switch(E){case"x":B.add("right"),B.add("left");break;case"y":B.add("up"),B.add("down");break;default:B.add(E);break}return B},"expandAndDeduplicateDirections"),gr4=X((u,B,E,A)=>{let C=rr4(u),D=2,F=B.height+2*E.padding,U=F/2,z=A??B.width+2*U+E.padding,k=E.padding/2;if(C.has("right")&&C.has("left")&&C.has("up")&&C.has("down"))return[{x:0,y:0},{x:U,y:0},{x:z/2,y:2*k},{x:z-U,y:0},{x:z,y:0},{x:z,y:-F/3},{x:z+2*k,y:-F/2},{x:z,y:-2*F/3},{x:z,y:-F},{x:z-U,y:-F},{x:z/2,y:-F-2*k},{x:U,y:-F},{x:0,y:-F},{x:0,y:-2*F/3},{x:-2*k,y:-F/2},{x:0,y:-F/3}];if(C.has("right")&&C.has("left")&&C.has("up"))return[{x:U,y:0},{x:z-U,y:0},{x:z,y:-F/2},{x:z-U,y:-F},{x:U,y:-F},{x:0,y:-F/2}];if(C.has("right")&&C.has("left")&&C.has("down"))return[{x:0,y:0},{x:U,y:-F},{x:z-U,y:-F},{x:z,y:0}];if(C.has("right")&&C.has("up")&&C.has("down"))return[{x:0,y:0},{x:z,y:-U},{x:z,y:-F+U},{x:0,y:-F}];if(C.has("left")&&C.has("up")&&C.has("down"))return[{x:z,y:0},{x:0,y:-U},{x:0,y:-F+U},{x:z,y:-F}];if(C.has("right")&&C.has("left"))return[{x:U,y:0},{x:U,y:-k},{x:z-U,y:-k},{x:z-U,y:0},{x:z,y:-F/2},{x:z-U,y:-F},{x:z-U,y:-F+k},{x:U,y:-F+k},{x:U,y:-F},{x:0,y:-F/2}];if(C.has("up")&&C.has("down"))return[{x:z/2,y:0},{x:0,y:-k},{x:U,y:-k},{x:U,y:-F+k},{x:0,y:-F+k},{x:z/2,y:-F},{x:z,y:-F+k},{x:z-U,y:-F+k},{x:z-U,y:-k},{x:z,y:-k}];if(C.has("right")&&C.has("up"))return[{x:0,y:0},{x:z,y:-U},{x:0,y:-F}];if(C.has("right")&&C.has("down"))return[{x:0,y:0},{x:z,y:0},{x:0,y:-F}];if(C.has("left")&&C.has("up"))return[{x:z,y:0},{x:0,y:-U},{x:z,y:-F}];if(C.has("left")&&C.has("down"))return[{x:z,y:0},{x:0,y:0},{x:z,y:-F}];if(C.has("right"))return[{x:U,y:-k},{x:U,y:-k},{x:z-U,y:-k},{x:z-U,y:0},{x:z,y:-F/2},{x:z-U,y:-F},{x:z-U,y:-F+k},{x:U,y:-F+k},{x:U,y:-F+k}];if(C.has("left"))return[{x:U,y:0},{x:U,y:-k},{x:z-U,y:-k},{x:z-U,y:-F+k},{x:U,y:-F+k},{x:U,y:-F},{x:0,y:-F/2}];if(C.has("up"))return[{x:U,y:-k},{x:U,y:-F+k},{x:0,y:-F+k},{x:z/2,y:-F},{x:z,y:-F+k},{x:z-U,y:-F+k},{x:z-U,y:-k}];if(C.has("down"))return[{x:z/2,y:0},{x:0,y:-k},{x:U,y:-k},{x:U,y:-F+k},{x:z-U,y:-F+k},{x:z-U,y:-k},{x:z,y:-k}];return[{x:0,y:0}]},"getArrowPoints");X(CBu,"intersectNode");cr4=CBu;X(DBu,"intersectEllipse");FBu=DBu;X(UBu,"intersectCircle");_r4=UBu;X(zBu,"intersectLine");X(UU0,"sameSign");pr4=zBu,nr4=kBu;X(kBu,"intersectPolygon");dr4=X((u,B)=>{var{x:E,y:A}=u,C=B.x-E,D=B.y-A,F=u.width/2,U=u.height/2,z,k;if(Math.abs(D)*F>Math.abs(C)*U){if(D<0)U=-U;z=D===0?0:U*C/D,k=U}else{if(C<0)F=-F;z=F,k=C===0?0:F*D/C}return{x:E+z,y:A+k}},"intersectRect"),sr4=dr4,k9={node:cr4,circle:_r4,ellipse:FBu,polygon:nr4,rect:sr4},h5=X(async(u,B,E,A)=>{let C=y0(),D,F=B.useHtmlLabels||G1(C);if(!E)D="node default";else D=E;let U=u.insert("g").attr("class",D).attr("id",B.domId||B.id),z=U.insert("g").attr("class","label").attr("style",B.labelStyle),k;if(B.labelText===void 0)k="";else k=typeof B.labelText==="string"?B.labelText:B.labelText[0];let f;if(B.labelType==="markdown")f=v2(z,C3(fE(k),C),{useHtmlLabels:F,width:B.width||C.flowchart.wrappingWidth,classes:"markdown-node-label"},C);else f=await uD(z,C3(fE(k),C),B.labelStyle,!1,A);let M=f.getBBox(),b=B.padding/2;if(G1(C)){let Z=f.children[0],J=Qu(f);await PW(Z,k),M=Z.getBoundingClientRect(),J.attr("width",M.width),J.attr("height",M.height)}if(F)z.attr("transform","translate("+-M.width/2+", "+-M.height/2+")");else z.attr("transform","translate(0, "+-M.height/2+")");if(B.centerLabel)z.attr("transform","translate("+-M.width/2+", "+-M.height/2+")");return z.insert("rect",":first-child"),{shapeSvg:U,bbox:M,halfPadding:b,label:z}},"labelHelper"),c9=X((u,B)=>{let E=B.node().getBBox();u.width=E.width,u.height=E.height},"updateNodeBounds");X(ED,"insertPolygonShape");or4=X(async(u,B)=>{if(!(B.useHtmlLabels||G1(y0())))B.centerLabel=!0;let{shapeSvg:A,bbox:C,halfPadding:D}=await h5(u,B,"node "+B.classes,!0);z0.info("Classes = ",B.classes);let F=A.insert("rect",":first-child");return F.attr("rx",B.rx).attr("ry",B.ry).attr("x",-C.width/2-D).attr("y",-C.height/2-D).attr("width",C.width+B.padding).attr("height",C.height+B.padding),c9(B,F),B.intersect=function(U){return k9.rect(B,U)},A},"note"),tr4=or4,c7u=X((u)=>{if(u)return" "+u;return""},"formatClass"),TE=X((u,B)=>{return`${B?B:"node default"}${c7u(u.classes)} ${c7u(u.class)}`},"getClassesFromNode"),_7u=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=A.height+B.padding,F=C+D,U=[{x:F/2,y:0},{x:F,y:-F/2},{x:F/2,y:-F},{x:0,y:-F/2}];z0.info("Question main (Circle)");let z=ED(E,F,F,U);return z.attr("style",B.style),c9(B,z),B.intersect=function(k){return z0.warn("Intersect called"),k9.polygon(B,U,k)},E},"question"),er4=X((u,B)=>{let E=u.insert("g").attr("class","node default").attr("id",B.domId||B.id),A=28,C=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];return E.insert("polygon",":first-child").attr("points",C.map(function(F){return F.x+","+F.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),B.width=28,B.height=28,B.intersect=function(F){return k9.circle(B,14,F)},E},"choice"),ug4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=4,D=B.positioned?B.height:A.height+B.padding,F=D/4,U=B.positioned?B.width:A.width+2*F+B.padding,z=[{x:F,y:0},{x:U-F,y:0},{x:U,y:-D/2},{x:U-F,y:-D},{x:F,y:-D},{x:0,y:-D/2}],k=ED(E,U,D,z);return k.attr("style",B.style),c9(B,k),B.intersect=function(f){return k9.polygon(B,z,f)},E},"hexagon"),Bg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,void 0,!0),C=2,D=A.height+2*B.padding,F=D/2,U=A.width+2*F+B.padding,k=B.positioned&&(B.widthInColumns??1)>1&&B.width>U?B.width:U,f=gr4(B.directions,A,B,k),M=ED(E,k,D,f);return M.attr("style",B.style),c9(B,M),B.intersect=function(b){return k9.polygon(B,f,b)},E},"block_arrow"),Eg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=A.height+B.padding,F=[{x:-D/2,y:0},{x:C,y:0},{x:C,y:-D},{x:-D/2,y:-D},{x:0,y:-D/2}];return ED(E,C,D,F).attr("style",B.style),B.width=C+D,B.height=D,B.intersect=function(z){return k9.polygon(B,F,z)},E},"rect_left_inv_arrow"),Ag4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B),!0),C=A.width+B.padding,D=A.height+B.padding,F=[{x:-2*D/6,y:0},{x:C-D/6,y:0},{x:C+2*D/6,y:-D},{x:D/6,y:-D}],U=ED(E,C,D,F);return U.attr("style",B.style),c9(B,U),B.intersect=function(z){return k9.polygon(B,F,z)},E},"lean_right"),Cg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=A.height+B.padding,F=[{x:2*D/6,y:0},{x:C+D/6,y:0},{x:C-2*D/6,y:-D},{x:-D/6,y:-D}],U=ED(E,C,D,F);return U.attr("style",B.style),c9(B,U),B.intersect=function(z){return k9.polygon(B,F,z)},E},"lean_left"),Dg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=A.height+B.padding,F=[{x:-2*D/6,y:0},{x:C+2*D/6,y:0},{x:C-D/6,y:-D},{x:D/6,y:-D}],U=ED(E,C,D,F);return U.attr("style",B.style),c9(B,U),B.intersect=function(z){return k9.polygon(B,F,z)},E},"trapezoid"),Fg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=A.height+B.padding,F=[{x:D/6,y:0},{x:C-D/6,y:0},{x:C+2*D/6,y:-D},{x:-2*D/6,y:-D}],U=ED(E,C,D,F);return U.attr("style",B.style),c9(B,U),B.intersect=function(z){return k9.polygon(B,F,z)},E},"inv_trapezoid"),Ug4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=A.height+B.padding,F=[{x:0,y:0},{x:C+D/2,y:0},{x:C,y:-D/2},{x:C+D/2,y:-D},{x:0,y:-D}],U=ED(E,C,D,F);return U.attr("style",B.style),c9(B,U),B.intersect=function(z){return k9.polygon(B,F,z)},E},"rect_right_inv_arrow"),zg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=C/2,F=D/(2.5+C/50),U=A.height+F+B.padding,z="M 0,"+F+" a "+D+","+F+" 0,0,0 "+C+" 0 a "+D+","+F+" 0,0,0 "+-C+" 0 l 0,"+U+" a "+D+","+F+" 0,0,0 "+C+" 0 l 0,"+-U,k=E.attr("label-offset-y",F).insert("path",":first-child").attr("style",B.style).attr("d",z).attr("transform","translate("+-C/2+","+-(U/2+F)+")");return c9(B,k),B.intersect=function(f){let M=k9.rect(B,f),b=M.x-B.x;if(D!=0&&(Math.abs(b)<B.width/2||Math.abs(b)==B.width/2&&Math.abs(M.y-B.y)>B.height/2-F)){let Z=F*F*(1-b*b/(D*D));if(Z!=0)Z=Math.sqrt(Z);if(Z=F-Z,f.y-B.y>0)Z=-Z;M.y+=Z}return M},E},"cylinder"),kg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A,halfPadding:C}=await h5(u,B,"node "+B.classes+" "+B.class,!0),D=E.insert("rect",":first-child"),F=B.positioned?B.width:A.width+B.padding,U=B.positioned?B.height:A.height+B.padding,z=B.positioned?-F/2:-A.width/2-C,k=B.positioned?-U/2:-A.height/2-C;if(D.attr("class","basic label-container").attr("style",B.style).attr("rx",B.rx).attr("ry",B.ry).attr("x",z).attr("y",k).attr("width",F).attr("height",U),B.props){let f=new Set(Object.keys(B.props));if(B.props.borders)Vc(D,B.props.borders,F,U),f.delete("borders");f.forEach((M)=>{z0.warn(`Unknown node property ${M}`)})}return c9(B,D),B.intersect=function(f){return k9.rect(B,f)},E},"rect"),fg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A,halfPadding:C}=await h5(u,B,"node "+B.classes,!0),D=E.insert("rect",":first-child"),F=B.positioned?B.width:A.width+B.padding,U=B.positioned?B.height:A.height+B.padding,z=B.positioned?-F/2:-A.width/2-C,k=B.positioned?-U/2:-A.height/2-C;if(D.attr("class","basic cluster composite label-container").attr("style",B.style).attr("rx",B.rx).attr("ry",B.ry).attr("x",z).attr("y",k).attr("width",F).attr("height",U),B.props){let f=new Set(Object.keys(B.props));if(B.props.borders)Vc(D,B.props.borders,F,U),f.delete("borders");f.forEach((M)=>{z0.warn(`Unknown node property ${M}`)})}return c9(B,D),B.intersect=function(f){return k9.rect(B,f)},E},"composite"),Mg4=X(async(u,B)=>{let{shapeSvg:E}=await h5(u,B,"label",!0);z0.trace("Classes = ",B.class);let A=E.insert("rect",":first-child"),C=0,D=0;if(A.attr("width",C).attr("height",D),E.attr("class","label edgeLabel"),B.props){let F=new Set(Object.keys(B.props));if(B.props.borders)Vc(A,B.props.borders,C,D),F.delete("borders");F.forEach((U)=>{z0.warn(`Unknown node property ${U}`)})}return c9(B,A),B.intersect=function(F){return k9.rect(B,F)},E},"labelRect");X(Vc,"applyNodePropertyBorders");bg4=X(async(u,B)=>{let E;if(!B.classes)E="node default";else E="node "+B.classes;let A=u.insert("g").attr("class",E).attr("id",B.domId||B.id),C=A.insert("rect",":first-child"),D=A.insert("line"),F=A.insert("g").attr("class","label"),U=B.labelText.flat?B.labelText.flat():B.labelText,z="";if(typeof U==="object")z=U[0];else z=U;z0.info("Label text abc79",z,U,typeof U==="object");let k=await uD(F,z,B.labelStyle,!0,!0),f={width:0,height:0};if(G1(y0())){let K=k.children[0],w=Qu(k);f=K.getBoundingClientRect(),w.attr("width",f.width),w.attr("height",f.height)}z0.info("Text 2",U);let M=U.slice(1,U.length),b=k.getBBox(),Z=await uD(F,M.join?M.join("<br/>"):M,B.labelStyle,!0,!0);if(G1(y0())){let K=Z.children[0],w=Qu(Z);f=K.getBoundingClientRect(),w.attr("width",f.width),w.attr("height",f.height)}let J=B.padding/2;return Qu(Z).attr("transform","translate( "+(f.width>b.width?0:(b.width-f.width)/2)+", "+(b.height+J+5)+")"),Qu(k).attr("transform","translate( "+(f.width<b.width?0:-(b.width-f.width)/2)+", 0)"),f=F.node().getBBox(),F.attr("transform","translate("+-f.width/2+", "+(-f.height/2-J+3)+")"),C.attr("class","outer title-state").attr("x",-f.width/2-J).attr("y",-f.height/2-J).attr("width",f.width+B.padding).attr("height",f.height+B.padding),D.attr("class","divider").attr("x1",-f.width/2-J).attr("x2",f.width/2+J).attr("y1",-f.height/2-J+b.height+J).attr("y2",-f.height/2-J+b.height+J),c9(B,C),B.intersect=function(K){return k9.rect(B,K)},A},"rectWithTitle"),Zg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.height+B.padding,D=A.width+C/4+B.padding,F=E.insert("rect",":first-child").attr("style",B.style).attr("rx",C/2).attr("ry",C/2).attr("x",-D/2).attr("y",-C/2).attr("width",D).attr("height",C);return c9(B,F),B.intersect=function(U){return k9.rect(B,U)},E},"stadium"),Jg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A,halfPadding:C}=await h5(u,B,TE(B,void 0),!0),D=E.insert("circle",":first-child");return D.attr("style",B.style).attr("rx",B.rx).attr("ry",B.ry).attr("r",A.width/2+C).attr("width",A.width+B.padding).attr("height",A.height+B.padding),z0.info("Circle main"),c9(B,D),B.intersect=function(F){return z0.info("Circle intersect",B,A.width/2+C,F),k9.circle(B,A.width/2+C,F)},E},"circle"),Kg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A,halfPadding:C}=await h5(u,B,TE(B,void 0),!0),D=5,F=E.insert("g",":first-child"),U=F.insert("circle"),z=F.insert("circle");return F.attr("class",B.class),U.attr("style",B.style).attr("rx",B.rx).attr("ry",B.ry).attr("r",A.width/2+C+5).attr("width",A.width+B.padding+10).attr("height",A.height+B.padding+10),z.attr("style",B.style).attr("rx",B.rx).attr("ry",B.ry).attr("r",A.width/2+C).attr("width",A.width+B.padding).attr("height",A.height+B.padding),z0.info("DoubleCircle main"),c9(B,U),B.intersect=function(k){return z0.info("DoubleCircle intersect",B,A.width/2+C+5,k),k9.circle(B,A.width/2+C+5,k)},E},"doublecircle"),wg4=X(async(u,B)=>{let{shapeSvg:E,bbox:A}=await h5(u,B,TE(B,void 0),!0),C=A.width+B.padding,D=A.height+B.padding,F=[{x:0,y:0},{x:C,y:0},{x:C,y:-D},{x:0,y:-D},{x:0,y:0},{x:-8,y:0},{x:C+8,y:0},{x:C+8,y:-D},{x:-8,y:-D},{x:-8,y:0}],U=ED(E,C,D,F);return U.attr("style",B.style),c9(B,U),B.intersect=function(z){return k9.polygon(B,F,z)},E},"subroutine"),Qg4=X((u,B)=>{let E=u.insert("g").attr("class","node default").attr("id",B.domId||B.id),A=E.insert("circle",":first-child");return A.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),c9(B,A),B.intersect=function(C){return k9.circle(B,7,C)},E},"start"),p7u=X((u,B,E)=>{let A=u.insert("g").attr("class","node default").attr("id",B.domId||B.id),C=70,D=10;if(E==="LR")C=10,D=70;let F=A.append("rect").attr("x",-1*C/2).attr("y",-1*D/2).attr("width",C).attr("height",D).attr("class","fork-join");return c9(B,F),B.height=B.height+B.padding/2,B.width=B.width+B.padding/2,B.intersect=function(U){return k9.rect(B,U)},A},"forkJoin"),Gg4=X((u,B)=>{let E=u.insert("g").attr("class","node default").attr("id",B.domId||B.id),A=E.insert("circle",":first-child"),C=E.insert("circle",":first-child");return C.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),A.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),c9(B,C),B.intersect=function(D){return k9.circle(B,7,D)},E},"end"),Hg4=X(async(u,B)=>{let E=B.padding/2,A=4,C=8,D;if(!B.classes)D="node default";else D="node "+B.classes;let F=u.insert("g").attr("class",D).attr("id",B.domId||B.id),U=F.insert("rect",":first-child"),z=F.insert("line"),k=F.insert("line"),f=0,M=4,b=F.insert("g").attr("class","label"),Z=0,J=B.classData.annotations?.[0],K=B.classData.annotations[0]?"«"+B.classData.annotations[0]+"»":"",w=await uD(b,K,B.labelStyle,!0,!0),Q=w.getBBox();if(G1(y0())){let x=w.children[0],S=Qu(w);Q=x.getBoundingClientRect(),S.attr("width",Q.width),S.attr("height",Q.height)}if(B.classData.annotations[0])M+=Q.height+4,f+=Q.width;let G=B.classData.label;if(B.classData.type!==void 0&&B.classData.type!=="")if(G1(y0()))G+="&lt;"+B.classData.type+"&gt;";else G+="<"+B.classData.type+">";let H=await uD(b,G,B.labelStyle,!0,!0);Qu(H).attr("class","classTitle");let l=H.getBBox();if(G1(y0())){let x=H.children[0],S=Qu(H);l=x.getBoundingClientRect(),S.attr("width",l.width),S.attr("height",l.height)}if(M+=l.height+4,l.width>f)f=l.width;let q=[];B.classData.members.forEach(async(x)=>{let S=x.getDisplayDetails(),W=S.displayText;if(G1(y0()))W=W.replace(/</g,"&lt;").replace(/>/g,"&gt;");let T=await uD(b,W,S.cssStyle?S.cssStyle:B.labelStyle,!0,!0),R=T.getBBox();if(G1(y0())){let Y=T.children[0],h=Qu(T);R=Y.getBoundingClientRect(),h.attr("width",R.width),h.attr("height",R.height)}if(R.width>f)f=R.width;M+=R.height+4,q.push(T)}),M+=8;let L=[];if(B.classData.methods.forEach(async(x)=>{let S=x.getDisplayDetails(),W=S.displayText;if(G1(y0()))W=W.replace(/</g,"&lt;").replace(/>/g,"&gt;");let T=await uD(b,W,S.cssStyle?S.cssStyle:B.labelStyle,!0,!0),R=T.getBBox();if(G1(y0())){let Y=T.children[0],h=Qu(T);R=Y.getBoundingClientRect(),h.attr("width",R.width),h.attr("height",R.height)}if(R.width>f)f=R.width;M+=R.height+4,L.push(T)}),M+=8,J){let x=(f-Q.width)/2;Qu(w).attr("transform","translate( "+(-1*f/2+x)+", "+-1*M/2+")"),Z=Q.height+4}let v=(f-l.width)/2;return Qu(H).attr("transform","translate( "+(-1*f/2+v)+", "+(-1*M/2+Z)+")"),Z+=l.height+4,z.attr("class","divider").attr("x1",-f/2-E).attr("x2",f/2+E).attr("y1",-M/2-E+8+Z).attr("y2",-M/2-E+8+Z),Z+=8,q.forEach((x)=>{Qu(x).attr("transform","translate( "+-f/2+", "+(-1*M/2+Z+4)+")");let S=x?.getBBox();Z+=(S?.height??0)+4}),Z+=8,k.attr("class","divider").attr("x1",-f/2-E).attr("x2",f/2+E).attr("y1",-M/2-E+8+Z).attr("y2",-M/2-E+8+Z),Z+=8,L.forEach((x)=>{Qu(x).attr("transform","translate( "+-f/2+", "+(-1*M/2+Z)+")");let S=x?.getBBox();Z+=(S?.height??0)+4}),U.attr("style",B.style).attr("class","outer title-state").attr("x",-f/2-E).attr("y",-(M/2)-E).attr("width",f+B.padding).attr("height",M+B.padding),c9(B,U),B.intersect=function(x){return k9.rect(B,x)},F},"class_box"),n7u={rhombus:_7u,composite:fg4,question:_7u,rect:kg4,labelRect:Mg4,rectWithTitle:bg4,choice:er4,circle:Jg4,doublecircle:Kg4,stadium:Zg4,hexagon:ug4,block_arrow:Bg4,rect_left_inv_arrow:Eg4,lean_right:Ag4,lean_left:Cg4,trapezoid:Dg4,inv_trapezoid:Fg4,rect_right_inv_arrow:Ug4,cylinder:zg4,start:Qg4,end:Gg4,note:tr4,subroutine:wg4,fork:p7u,join:p7u,class_box:Hg4},Pc={},fBu=X(async(u,B,E)=>{let A,C;if(B.link){let D;if(y0().securityLevel==="sandbox")D="_top";else if(B.linkTarget)D=B.linkTarget||"_blank";A=u.insert("svg:a").attr("xlink:href",B.link).attr("target",D),C=await n7u[B.shape](A,B,E)}else C=await n7u[B.shape](u,B,E),A=C;if(B.tooltip)C.attr("title",B.tooltip);if(B.class)C.attr("class","node default "+B.class);if(Pc[B.id]=A,B.haveCallback)Pc[B.id].attr("class",Pc[B.id].attr("class")+" clickable");return A},"insertNode"),qg4=X((u)=>{let B=Pc[u.id];z0.trace("Transforming node",u.diff,u,"translate("+(u.x-u.width/2-5)+", "+u.width/2+")");let E=8,A=u.diff||0;if(u.clusterNode)B.attr("transform","translate("+(u.x+A-u.width/2)+", "+(u.y-u.height/2-E)+")");else B.attr("transform","translate("+u.x+", "+u.y+")");return A},"positionNode");X(ZU0,"getNodeFromBlock");X(MBu,"calculateBlockSize");X(bBu,"insertBlockPositioned");X(hc,"performOperations");X(ZBu,"calculateBlockSizes");X(JBu,"insertBlocks");X(KBu,"insertEdges");lg4=X(function(u,B){return B.db.getClasses()},"getClasses"),Lg4=X(async function(u,B,E,A){let{securityLevel:C,block:D}=F4(),F=A.db;F.setDiagramId(B);let U;if(C==="sandbox")U=Qu("#i"+B);let z=C==="sandbox"?Qu(U.nodes()[0].contentDocument.body):Qu("body"),k=C==="sandbox"?z.select(`[id="${B}"]`):Qu(`[id="${B}"]`);Pr4(k,["point","circle","cross"],A.type,B);let M=F.getBlocks(),b=F.getBlocksFlat(),Z=F.getEdges(),J=k.insert("g").attr("class","block");await ZBu(J,M,F);let K=ABu(F);if(await JBu(J,M,F),await KBu(J,Z,b,F,B),K){let w=K,Q=Math.max(1,Math.round(0.125*(w.width/w.height))),G=w.height+Q+10,H=w.width+10,{useMaxWidth:l}=D;g3(k,G,H,!!l),z0.debug("Here Bounds",K,w),k.attr("viewBox",`${w.x-5} ${w.y-5} ${w.width+10} ${w.height+10}`)}},"draw"),Xg4={draw:Lg4,getClasses:lg4},vg4={parser:ey4,db:Hr4,renderer:Xg4,styles:lr4}});var TBu={};ju(TBu,{diagram:()=>pg4});function vBu(u){return u.some((B)=>LBu.test(B))}function xBu(u){for(let B of u){let E=XBu.exec(B);if(E?.index&&E.index>0)return E.index}return 4}function WBu(u,B){return u.replace(/\bline\s+(\d+)\b/gi,(E,A)=>{let C=parseInt(A,10),D=B.get(C);return D?`line ${D}`:E})}function SBu(u){let B=u.split(`
`),E=new Map,A=-1;for(let[z,k]of B.entries())if(k.trim()==="treeView-beta"){A=z;break}if(A===-1)return{text:u,lineMap:E};let C=[];for(let z=A+1;z<B.length;z++){let k=B[z];if(k.trim()===""||qBu.test(k)||HBu.test(k))continue;if(GBu.test(k))continue;C.push(k.replace(/\t/g," "))}if(!vBu(C))return{text:u,lineMap:E};let D=xBu(C),F=[],U=0;for(let z=0;z<=A;z++)F.push(B[z]),U++,E.set(U,z+1);for(let z=A+1;z<B.length;z++){let k=B[z],f=k.trim(),M=z+1;if(f===""){F.push(k),U++,E.set(U,M);continue}if(qBu.test(k)){F.push(k),U++,E.set(U,M);continue}if(HBu.test(k)){F.push(k),U++,E.set(U,M);continue}if(GBu.test(k))continue;let b=k.replace(/\t/g," "),Z=XBu.exec(b);if(Z?.index!==void 0){let J=Z.index,K=Math.round(J/D)+1,w=J+1;while(w<b.length&&xg4.test(b[w]))w++;while(w<b.length&&b[w]===" ")w++;let Q=b.slice(w).trimEnd();if(!Q)throw Error(`Line ${M}: Empty node — expected a filename or directory name after the box-drawing prefix`);let G=Wg4.repeat(K);F.push(G+Q),U++,E.set(U,M)}else if(/^[\s─━│┃└┗├┣]+$/.test(b))continue;else if(LBu.test(b))F.push(k),U++,E.set(U,M);else if(/^\s+/.test(b))throw Error(`Line ${M}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);else F.push(k),U++,E.set(U,M)}return{text:F.join(`
`),lineMap:E}}function YBu(u,B){let E=B?.filenameIcons?.[u];if(E)return E;let A=u.lastIndexOf(".");if(A>0){let C=u.substring(A).toLowerCase(),D=B?.extensionIcons;return D?.[C]??D?.[C.slice(1)]}return}function KU0(u,B){if(u.includes(":"))return u;if(u in JT.icons||!B)return`${JT.prefix}:${u}`;return`${B}:${u}`}function QU0(u,B){if(u.icon==="none")return;if(u.icon)return KU0(u.icon,B.defaultIconPack);if(!B.showIcons)return;if(u.nodeType==="file"){let E=YBu(u.name,B);if(E==="none")return;if(E)return KU0(E,B.defaultIconPack)}return`${JT.prefix}:${u.nodeType==="directory"?"folder":"file"}`}var LBu,XBu,xg4,GBu,HBu,qBu,Wg4=" ",LU,Sg4,Yg4,Rg4,Tg4,Og4,Ig4,Pg4,JU0,jg4,Ng4,JT,wU0=14,Vg4=4,hg4=16,RBu,ig4,ag4,lBu,mg4,$g4,yg4,rg4,gg4,cg4,_g4,pg4;var OBu=g(()=>{ym();YB();A2();X2();e3();s4();o4();Y4();w7();LBu=/[─━│┃└┗├┣]/,XBu=/[└┗├┣]/,xg4=/[─━]/,GBu=/^[\s│┃]+$/,HBu=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,qBu=/^\s*%%/;X(vBu,"isBoxDrawingFormat");X(xBu,"inferSegmentWidth");X(WBu,"remapErrorLines");X(SBu,"preprocessBoxDrawing");LU=new fl(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),Sg4=X(()=>{LU.reset(),D3()},"clear"),Yg4=X(()=>{return LU.records.stack[0]},"getRoot"),Rg4=X(()=>LU.records.cnt,"getCount"),Tg4=t4.treeView,Og4=X(()=>{return E1(Tg4,F4().treeView)},"getConfig"),Ig4=X((u,B,E,A,C,D)=>{while(u<=LU.records.stack[LU.records.stack.length-1].level)LU.records.stack.pop();let F={id:LU.records.cnt++,level:u,name:B,nodeType:E,icon:C,cssClass:A,description:D,children:[]};LU.records.stack[LU.records.stack.length-1].children.push(F),LU.records.stack.push(F)},"addNode"),Pg4={clear:Sg4,addNode:Ig4,getRoot:Yg4,getCount:Rg4,getConfig:Og4,getAccTitle:q3,getAccDescription:L3,getDiagramTitle:X3,setAccDescription:l3,setAccTitle:w3,setDiagramTitle:T3},JU0=Pg4,jg4=X((u)=>{U6(u,JU0);for(let B of u.nodes){let E=typeof B.indent==="number"?B.indent:0,A=B.name,C=A.endsWith("/");if(C)A=A.slice(0,-1);let D=C?"directory":"file",F=B.classAnnotation||void 0,U=B.iconAnnotation,z=U!==void 0?U||"none":void 0,k=B.descAnnotation||void 0,f=k?C3(k,F4()):void 0;JU0.addNode(E,A,D,F,z,f)}},"populate"),Ng4={parse:X(async(u)=>{let{text:B,lineMap:E}=SBu(u);try{let A=await v9("treeView",B);z0.debug(A),jg4(A)}catch(A){if(E.size>0&&A instanceof Error)A.message=WBu(A.message,E);throw A}},"parse")},JT={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};X(YBu,"detectIcon");X(KU0,"qualifyIcon");X(QU0,"getNodeIcon");cH([{name:JT.prefix,icons:JT}]);RBu=X((u,B)=>`tv-icon-${u}-${B.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),ig4=X(async(u,B,E,A)=>{let C=new Set,D=X((z)=>{let k=QU0(z,E);if(k)C.add(k);z.children.forEach(D)},"collect");if(D(B),C.size===0)return;let F=await Promise.all([...C].map(async(z)=>({icon:z,svg:await ME(z,{height:wU0,width:wU0})}))),U=u.append("defs");for(let{icon:z,svg:k}of F)U.append("g").attr("id",RBu(A,z)).html(k)},"injectIconDefs"),ag4=X((u,B,E,A,C,D)=>{let F=A.append("g"),U="treeView-node-label";if(E.nodeType==="directory")U+=" treeView-node-dir";if(E.cssClass)U+=` ${E.cssClass}`;let z=wU0+Vg4,k=QU0(E,C),f=k!==void 0;if(k)F.append("use").attr("xlink:href",`#${RBu(D,k)}`).attr("x",u+C.paddingX).attr("y",B+C.paddingY).attr("class","treeView-node-icon");let M=F.append("text").text(E.name).attr("dominant-baseline","middle").attr("class",U),{height:b,width:Z}=M.node().getBBox(),J=b+C.paddingY*2,K=u+C.paddingX+(f?z:0);M.attr("x",K),M.attr("y",B+J/2);let w=K+Z,Q=Z+C.paddingX*2+(f?z:0);if(E.BBox={x:u,y:B,width:Q,height:J},E.cssClass?.split(/\s+/).includes("highlight"))F.insert("rect",":first-child").attr("x",u).attr("y",B+1).attr("width",0).attr("height",J-2).attr("rx",3).attr("class","treeView-highlight-bg");return{node:E,nodeGroup:F,labelRightEdge:w,centerY:B+J/2}},"positionLabel"),lBu=X((u,B,E,A,C,D)=>{return u.append("line").attr("x1",B).attr("y1",E).attr("x2",A).attr("y2",C).attr("stroke-width",D).attr("class","treeView-node-line")},"positionLine"),mg4=X((u,B,E,A)=>{let C=0,D=0,F=[],U=X((f,M,b,Z)=>{let J=Z*(b.rowIndent+b.paddingX),K=ag4(J,C,M,f,b,A);F.push(K);let{height:w,width:Q}=M.BBox;lBu(f,J-b.rowIndent,C+w/2,J,C+w/2,b.lineThickness),D=Math.max(D,J+Q),C+=w},"drawNode"),z=X((f,M=0)=>{U(u,f,E,M),f.children.forEach((K)=>{z(K,M+1)});let{x:b,y:Z,height:J}=f.BBox;if(f.children.length){let{y:K,height:w}=f.children[f.children.length-1].BBox;lBu(u,b+E.paddingX,Z+J,b+E.paddingX,K+w/2+E.lineThickness/2,E.lineThickness)}},"processNode");z(B);let k=F.filter((f)=>f.node.description);if(k.length>0){let M=Math.max(...F.map((b)=>b.labelRightEdge))+hg4;for(let b of k){let J=b.nodeGroup.append("text").text(b.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",M).attr("y",b.centerY).node().getBBox();D=Math.max(D,M+J.width+E.paddingX)}}for(let f of F)if(f.node.cssClass?.split(/\s+/).includes("highlight")){let M=f.nodeGroup.select(".treeView-highlight-bg");if(!M.empty()){let b=D-f.node.BBox.x+8;M.attr("width",b),D=Math.max(D,f.node.BBox.x+b+2)}}return{totalHeight:C,totalWidth:D}},"drawTree"),$g4=X(async(u,B,E,A)=>{z0.debug(`Rendering treeView diagram
`+u);let C=A.db,D=C.getRoot(),F=C.getConfig(),U=h1(B);await ig4(U,D,F,B);let z=U.append("g");z.attr("class","tree-view");let{totalHeight:k,totalWidth:f}=mg4(z,D,F,B);U.attr("viewBox",`-${F.lineThickness/2} 0 ${f} ${k}`),g3(U,k,f,F.useMaxWidth)},"draw"),yg4={draw:$g4},rg4=yg4,gg4={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},cg4=X(({treeView:u})=>{let{labelFontSize:B,labelColor:E,lineColor:A,iconColor:C,descriptionColor:D,highlightBg:F,highlightStroke:U}=E1(gg4,u);return`
.treeView-node-label {
font-size: ${B};
fill: ${E};
white-space: pre;
}
.treeView-node-dir {
font-weight: bold;
}
.treeView-node-line {
stroke: ${A};
}
.treeView-node-icon {
color: ${C};
}
.treeView-node-description {
font-size: ${B};
fill: ${D};
font-style: italic;
white-space: pre;
}
.treeView-highlight-bg {
fill: ${F};
stroke: ${U};
stroke-width: 1;
}
`},"styles"),_g4=cg4,pg4={db:JU0,renderer:rg4,parser:Ng4,styles:_g4}});var HU0=N1((KT,GU0)=>{(function(B,E){if(typeof KT==="object"&&typeof GU0==="object")GU0.exports=E();else if(typeof define==="function"&&define.amd)define([],E);else if(typeof KT==="object")KT.layoutBase=E();else B.layoutBase=E()})(KT,function(){return function(u){var B={};function E(A){if(B[A])return B[A].exports;var C=B[A]={i:A,l:!1,exports:{}};return u[A].call(C.exports,C,C.exports,E),C.l=!0,C.exports}return E.m=u,E.c=B,E.i=function(A){return A},E.d=function(A,C,D){if(!E.o(A,C))Object.defineProperty(A,C,{configurable:!1,enumerable:!0,get:D})},E.n=function(A){var C=A&&A.__esModule?function(){return A.default}:function(){return A};return E.d(C,"a",C),C},E.o=function(A,C){return Object.prototype.hasOwnProperty.call(A,C)},E.p="",E(E.s=28)}([function(u,B,E){function A(){}A.QUALITY=1,A.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,A.DEFAULT_INCREMENTAL=!1,A.DEFAULT_ANIMATION_ON_LAYOUT=!0,A.DEFAULT_ANIMATION_DURING_LAYOUT=!1,A.DEFAULT_ANIMATION_PERIOD=50,A.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,A.DEFAULT_GRAPH_MARGIN=15,A.NODE_DIMENSIONS_INCLUDE_LABELS=!1,A.SIMPLE_NODE_SIZE=40,A.SIMPLE_NODE_HALF_SIZE=A.SIMPLE_NODE_SIZE/2,A.EMPTY_COMPOUND_NODE_SIZE=40,A.MIN_EDGE_LENGTH=1,A.WORLD_BOUNDARY=1e6,A.INITIAL_WORLD_BOUNDARY=A.WORLD_BOUNDARY/1000,A.WORLD_CENTER_X=1200,A.WORLD_CENTER_Y=900,u.exports=A},function(u,B,E){var A=E(2),C=E(8),D=E(9);function F(z,k,f){A.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=z,this.target=k}F.prototype=Object.create(A.prototype);for(var U in A)F[U]=A[U];F.prototype.getSource=function(){return this.source},F.prototype.getTarget=function(){return this.target},F.prototype.isInterGraph=function(){return this.isInterGraph},F.prototype.getLength=function(){return this.length},F.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},F.prototype.getBendpoints=function(){return this.bendpoints},F.prototype.getLca=function(){return this.lca},F.prototype.getSourceInLca=function(){return this.sourceInLca},F.prototype.getTargetInLca=function(){return this.targetInLca},F.prototype.getOtherEnd=function(z){if(this.source===z)return this.target;else if(this.target===z)return this.source;else throw"Node is not incident with this edge"},F.prototype.getOtherEndInGraph=function(z,k){var f=this.getOtherEnd(z),M=k.getGraphManager().getRoot();while(!0){if(f.getOwner()==k)return f;if(f.getOwner()==M)break;f=f.getOwner().getParent()}return null},F.prototype.updateLength=function(){var z=[,,,,];if(this.isOverlapingSourceAndTarget=C.getIntersection(this.target.getRect(),this.source.getRect(),z),!this.isOverlapingSourceAndTarget){if(this.lengthX=z[0]-z[2],this.lengthY=z[1]-z[3],Math.abs(this.lengthX)<1)this.lengthX=D.sign(this.lengthX);if(Math.abs(this.lengthY)<1)this.lengthY=D.sign(this.lengthY);this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)}},F.prototype.updateLengthSimple=function(){if(this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1)this.lengthX=D.sign(this.lengthX);if(Math.abs(this.lengthY)<1)this.lengthY=D.sign(this.lengthY);this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},u.exports=F},function(u,B,E){function A(C){this.vGraphObject=C}u.exports=A},function(u,B,E){var A=E(2),C=E(10),D=E(13),F=E(0),U=E(16),z=E(5);function k(M,b,Z,J){if(Z==null&&J==null)J=b;if(A.call(this,J),M.graphManager!=null)M=M.graphManager;if(this.estimatedSize=C.MIN_VALUE,this.inclusionTreeDepth=C.MAX_VALUE,this.vGraphObject=J,this.edges=[],this.graphManager=M,Z!=null&&b!=null)this.rect=new D(b.x,b.y,Z.width,Z.height);else this.rect=new D}k.prototype=Object.create(A.prototype);for(var f in A)k[f]=A[f];k.prototype.getEdges=function(){return this.edges},k.prototype.getChild=function(){return this.child},k.prototype.getOwner=function(){return this.owner},k.prototype.getWidth=function(){return this.rect.width},k.prototype.setWidth=function(M){this.rect.width=M},k.prototype.getHeight=function(){return this.rect.height},k.prototype.setHeight=function(M){this.rect.height=M},k.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},k.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},k.prototype.getCenter=function(){return new z(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},k.prototype.getLocation=function(){return new z(this.rect.x,this.rect.y)},k.prototype.getRect=function(){return this.rect},k.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},k.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},k.prototype.setRect=function(M,b){this.rect.x=M.x,this.rect.y=M.y,this.rect.width=b.width,this.rect.height=b.height},k.prototype.setCenter=function(M,b){this.rect.x=M-this.rect.width/2,this.rect.y=b-this.rect.height/2},k.prototype.setLocation=function(M,b){this.rect.x=M,this.rect.y=b},k.prototype.moveBy=function(M,b){this.rect.x+=M,this.rect.y+=b},k.prototype.getEdgeListToNode=function(M){var b=[],Z,J=this;return J.edges.forEach(function(K){if(K.target==M){if(K.source!=J)throw"Incorrect edge source!";b.push(K)}}),b},k.prototype.getEdgesBetween=function(M){var b=[],Z,J=this;return J.edges.forEach(function(K){if(!(K.source==J||K.target==J))throw"Incorrect edge source and/or target";if(K.target==M||K.source==M)b.push(K)}),b},k.prototype.getNeighborsList=function(){var M=new Set,b=this;return b.edges.forEach(function(Z){if(Z.source==b)M.add(Z.target);else{if(Z.target!=b)throw"Incorrect incidency!";M.add(Z.source)}}),M},k.prototype.withChildren=function(){var M=new Set,b,Z;if(M.add(this),this.child!=null){var J=this.child.getNodes();for(var K=0;K<J.length;K++)b=J[K],Z=b.withChildren(),Z.forEach(function(w){M.add(w)})}return M},k.prototype.getNoOfChildren=function(){var M=0,b;if(this.child==null)M=1;else{var Z=this.child.getNodes();for(var J=0;J<Z.length;J++)b=Z[J],M+=b.getNoOfChildren()}if(M==0)M=1;return M},k.prototype.getEstimatedSize=function(){if(this.estimatedSize==C.MIN_VALUE)throw"assert failed";return this.estimatedSize},k.prototype.calcEstimatedSize=function(){if(this.child==null)return this.estimatedSize=(this.rect.width+this.rect.height)/2;else return this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize},k.prototype.scatter=function(){var M,b,Z=-F.INITIAL_WORLD_BOUNDARY,J=F.INITIAL_WORLD_BOUNDARY;M=F.WORLD_CENTER_X+U.nextDouble()*(J-Z)+Z;var K=-F.INITIAL_WORLD_BOUNDARY,w=F.INITIAL_WORLD_BOUNDARY;b=F.WORLD_CENTER_Y+U.nextDouble()*(w-K)+K,this.rect.x=M,this.rect.y=b},k.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var M=this.getChild();if(M.updateBounds(!0),this.rect.x=M.getLeft(),this.rect.y=M.getTop(),this.setWidth(M.getRight()-M.getLeft()),this.setHeight(M.getBottom()-M.getTop()),F.NODE_DIMENSIONS_INCLUDE_LABELS){var b=M.getRight()-M.getLeft(),Z=M.getBottom()-M.getTop();if(this.labelWidth){if(this.labelPosHorizontal=="left")this.rect.x-=this.labelWidth,this.setWidth(b+this.labelWidth);else if(this.labelPosHorizontal=="center"&&this.labelWidth>b)this.rect.x-=(this.labelWidth-b)/2,this.setWidth(this.labelWidth);else if(this.labelPosHorizontal=="right")this.setWidth(b+this.labelWidth)}if(this.labelHeight){if(this.labelPosVertical=="top")this.rect.y-=this.labelHeight,this.setHeight(Z+this.labelHeight);else if(this.labelPosVertical=="center"&&this.labelHeight>Z)this.rect.y-=(this.labelHeight-Z)/2,this.setHeight(this.labelHeight);else if(this.labelPosVertical=="bottom")this.setHeight(Z+this.labelHeight)}}}},k.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==C.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},k.prototype.transform=function(M){var b=this.rect.x;if(b>F.WORLD_BOUNDARY)b=F.WORLD_BOUNDARY;else if(b<-F.WORLD_BOUNDARY)b=-F.WORLD_BOUNDARY;var Z=this.rect.y;if(Z>F.WORLD_BOUNDARY)Z=F.WORLD_BOUNDARY;else if(Z<-F.WORLD_BOUNDARY)Z=-F.WORLD_BOUNDARY;var J=new z(b,Z),K=M.inverseTransformPoint(J);this.setLocation(K.x,K.y)},k.prototype.getLeft=function(){return this.rect.x},k.prototype.getRight=function(){return this.rect.x+this.rect.width},k.prototype.getTop=function(){return this.rect.y},k.prototype.getBottom=function(){return this.rect.y+this.rect.height},k.prototype.getParent=function(){if(this.owner==null)return null;return this.owner.getParent()},u.exports=k},function(u,B,E){var A=E(0);function C(){}for(var D in A)C[D]=A[D];C.MAX_ITERATIONS=2500,C.DEFAULT_EDGE_LENGTH=50,C.DEFAULT_SPRING_STRENGTH=0.45,C.DEFAULT_REPULSION_STRENGTH=4500,C.DEFAULT_GRAVITY_STRENGTH=0.4,C.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,C.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,C.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,C.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,C.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,C.DEFAULT_COOLING_FACTOR_INCREMENTAL=0.3,C.COOLING_ADAPTATION_FACTOR=0.33,C.ADAPTATION_LOWER_NODE_LIMIT=1000,C.ADAPTATION_UPPER_NODE_LIMIT=5000,C.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,C.MAX_NODE_DISPLACEMENT=C.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,C.MIN_REPULSION_DIST=C.DEFAULT_EDGE_LENGTH/10,C.CONVERGENCE_CHECK_PERIOD=100,C.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=0.1,C.MIN_EDGE_LENGTH=1,C.GRID_CALCULATION_CHECK_PERIOD=10,u.exports=C},function(u,B,E){function A(C,D){if(C==null&&D==null)this.x=0,this.y=0;else this.x=C,this.y=D}A.prototype.getX=function(){return this.x},A.prototype.getY=function(){return this.y},A.prototype.setX=function(C){this.x=C},A.prototype.setY=function(C){this.y=C},A.prototype.getDifference=function(C){return new DimensionD(this.x-C.x,this.y-C.y)},A.prototype.getCopy=function(){return new A(this.x,this.y)},A.prototype.translate=function(C){return this.x+=C.width,this.y+=C.height,this},u.exports=A},function(u,B,E){var A=E(2),C=E(10),D=E(0),F=E(7),U=E(3),z=E(1),k=E(13),f=E(12),M=E(11);function b(J,K,w){if(A.call(this,w),this.estimatedSize=C.MIN_VALUE,this.margin=D.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=J,K!=null&&K instanceof F)this.graphManager=K;else if(K!=null&&K instanceof Layout)this.graphManager=K.graphManager}b.prototype=Object.create(A.prototype);for(var Z in A)b[Z]=A[Z];b.prototype.getNodes=function(){return this.nodes},b.prototype.getEdges=function(){return this.edges},b.prototype.getGraphManager=function(){return this.graphManager},b.prototype.getParent=function(){return this.parent},b.prototype.getLeft=function(){return this.left},b.prototype.getRight=function(){return this.right},b.prototype.getTop=function(){return this.top},b.prototype.getBottom=function(){return this.bottom},b.prototype.isConnected=function(){return this.isConnected},b.prototype.add=function(J,K,w){if(K==null&&w==null){var Q=J;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(Q)>-1)throw"Node already in graph!";return Q.owner=this,this.getNodes().push(Q),Q}else{var G=J;if(!(this.getNodes().indexOf(K)>-1&&this.getNodes().indexOf(w)>-1))throw"Source or target not in graph!";if(!(K.owner==w.owner&&K.owner==this))throw"Both owners must be this graph!";if(K.owner!=w.owner)return null;if(G.source=K,G.target=w,G.isInterGraph=!1,this.getEdges().push(G),K.edges.push(G),w!=K)w.edges.push(G);return G}},b.prototype.remove=function(J){var K=J;if(J instanceof U){if(K==null)throw"Node is null!";if(!(K.owner!=null&&K.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";var w=K.edges.slice(),Q,G=w.length;for(var H=0;H<G;H++)if(Q=w[H],Q.isInterGraph)this.graphManager.remove(Q);else Q.source.owner.remove(Q);var l=this.nodes.indexOf(K);if(l==-1)throw"Node not in owner node list!";this.nodes.splice(l,1)}else if(J instanceof z){var Q=J;if(Q==null)throw"Edge is null!";if(!(Q.source!=null&&Q.target!=null))throw"Source and/or target is null!";if(!(Q.source.owner!=null&&Q.target.owner!=null&&Q.source.owner==this&&Q.target.owner==this))throw"Source and/or target owner is invalid!";var q=Q.source.edges.indexOf(Q),L=Q.target.edges.indexOf(Q);if(!(q>-1&&L>-1))throw"Source and/or target doesn't know this edge!";if(Q.source.edges.splice(q,1),Q.target!=Q.source)Q.target.edges.splice(L,1);var l=Q.source.owner.getEdges().indexOf(Q);if(l==-1)throw"Not in owner's edge list!";Q.source.owner.getEdges().splice(l,1)}},b.prototype.updateLeftTop=function(){var{MAX_VALUE:J,MAX_VALUE:K}=C,w,Q,G,H=this.getNodes(),l=H.length;for(var q=0;q<l;q++){var L=H[q];if(w=L.getTop(),Q=L.getLeft(),J>w)J=w;if(K>Q)K=Q}if(J==C.MAX_VALUE)return null;if(H[0].getParent().paddingLeft!=null)G=H[0].getParent().paddingLeft;else G=this.margin;return this.left=K-G,this.top=J-G,new f(this.left,this.top)},b.prototype.updateBounds=function(J){var K=C.MAX_VALUE,w=-C.MAX_VALUE,Q=C.MAX_VALUE,G=-C.MAX_VALUE,H,l,q,L,v,x=this.nodes,S=x.length;for(var W=0;W<S;W++){var T=x[W];if(J&&T.child!=null)T.updateBounds();if(H=T.getLeft(),l=T.getRight(),q=T.getTop(),L=T.getBottom(),K>H)K=H;if(w<l)w=l;if(Q>q)Q=q;if(G<L)G=L}var R=new k(K,Q,w-K,G-Q);if(K==C.MAX_VALUE)this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom();if(x[0].getParent().paddingLeft!=null)v=x[0].getParent().paddingLeft;else v=this.margin;this.left=R.x-v,this.right=R.x+R.width+v,this.top=R.y-v,this.bottom=R.y+R.height+v},b.calculateBounds=function(J){var K=C.MAX_VALUE,w=-C.MAX_VALUE,Q=C.MAX_VALUE,G=-C.MAX_VALUE,H,l,q,L,v=J.length;for(var x=0;x<v;x++){var S=J[x];if(H=S.getLeft(),l=S.getRight(),q=S.getTop(),L=S.getBottom(),K>H)K=H;if(w<l)w=l;if(Q>q)Q=q;if(G<L)G=L}var W=new k(K,Q,w-K,G-Q);return W},b.prototype.getInclusionTreeDepth=function(){if(this==this.graphManager.getRoot())return 1;else return this.parent.getInclusionTreeDepth()},b.prototype.getEstimatedSize=function(){if(this.estimatedSize==C.MIN_VALUE)throw"assert failed";return this.estimatedSize},b.prototype.calcEstimatedSize=function(){var J=0,K=this.nodes,w=K.length;for(var Q=0;Q<w;Q++){var G=K[Q];J+=G.calcEstimatedSize()}if(J==0)this.estimatedSize=D.EMPTY_COMPOUND_NODE_SIZE;else this.estimatedSize=J/Math.sqrt(this.nodes.length);return this.estimatedSize},b.prototype.updateConnected=function(){var J=this;if(this.nodes.length==0){this.isConnected=!0;return}var K=new M,w=new Set,Q=this.nodes[0],G,H,l=Q.withChildren();l.forEach(function(W){K.push(W),w.add(W)});while(K.length!==0){Q=K.shift(),G=Q.getEdges();var q=G.length;for(var L=0;L<q;L++){var v=G[L];if(H=v.getOtherEndInGraph(Q,this),H!=null&&!w.has(H)){var x=H.withChildren();x.forEach(function(W){K.push(W),w.add(W)})}}}if(this.isConnected=!1,w.size>=this.nodes.length){var S=0;if(w.forEach(function(W){if(W.owner==J)S++}),S==this.nodes.length)this.isConnected=!0}},u.exports=b},function(u,B,E){var A,C=E(1);function D(F){A=E(6),this.layout=F,this.graphs=[],this.edges=[]}D.prototype.addRoot=function(){var F=this.layout.newGraph(),U=this.layout.newNode(null),z=this.add(F,U);return this.setRootGraph(z),this.rootGraph},D.prototype.add=function(F,U,z,k,f){if(z==null&&k==null&&f==null){if(F==null)throw"Graph is null!";if(U==null)throw"Parent node is null!";if(this.graphs.indexOf(F)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(F),F.parent!=null)throw"Already has a parent!";if(U.child!=null)throw"Already has a child!";return F.parent=U,U.child=F,F}else{f=z,k=U,z=F;var M=k.getOwner(),b=f.getOwner();if(!(M!=null&&M.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(b!=null&&b.getGraphManager()==this))throw"Target not in this graph mgr!";if(M==b)return z.isInterGraph=!1,M.add(z,k,f);else{if(z.isInterGraph=!0,z.source=k,z.target=f,this.edges.indexOf(z)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(z),!(z.source!=null&&z.target!=null))throw"Edge source and/or target is null!";if(!(z.source.edges.indexOf(z)==-1&&z.target.edges.indexOf(z)==-1))throw"Edge already in source and/or target incidency list!";return z.source.edges.push(z),z.target.edges.push(z),z}}},D.prototype.remove=function(F){if(F instanceof A){var U=F;if(U.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(U==this.rootGraph||U.parent!=null&&U.parent.graphManager==this))throw"Invalid parent node!";var z=[];z=z.concat(U.getEdges());var k,f=z.length;for(var M=0;M<f;M++)k=z[M],U.remove(k);var b=[];b=b.concat(U.getNodes());var Z;f=b.length;for(var M=0;M<f;M++)Z=b[M],U.remove(Z);if(U==this.rootGraph)this.setRootGraph(null);var J=this.graphs.indexOf(U);this.graphs.splice(J,1),U.parent=null}else if(F instanceof C){if(k=F,k==null)throw"Edge is null!";if(!k.isInterGraph)throw"Not an inter-graph edge!";if(!(k.source!=null&&k.target!=null))throw"Source and/or target is null!";if(!(k.source.edges.indexOf(k)!=-1&&k.target.edges.indexOf(k)!=-1))throw"Source and/or target doesn't know this edge!";var J=k.source.edges.indexOf(k);if(k.source.edges.splice(J,1),J=k.target.edges.indexOf(k),k.target.edges.splice(J,1),!(k.source.owner!=null&&k.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(k.source.owner.getGraphManager().edges.indexOf(k)==-1)throw"Not in owner graph manager's edge list!";var J=k.source.owner.getGraphManager().edges.indexOf(k);k.source.owner.getGraphManager().edges.splice(J,1)}},D.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},D.prototype.getGraphs=function(){return this.graphs},D.prototype.getAllNodes=function(){if(this.allNodes==null){var F=[],U=this.getGraphs(),z=U.length;for(var k=0;k<z;k++)F=F.concat(U[k].getNodes());this.allNodes=F}return this.allNodes},D.prototype.resetAllNodes=function(){this.allNodes=null},D.prototype.resetAllEdges=function(){this.allEdges=null},D.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},D.prototype.getAllEdges=function(){if(this.allEdges==null){var F=[],U=this.getGraphs(),z=U.length;for(var k=0;k<U.length;k++)F=F.concat(U[k].getEdges());F=F.concat(this.edges),this.allEdges=F}return this.allEdges},D.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},D.prototype.setAllNodesToApplyGravitation=function(F){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=F},D.prototype.getRoot=function(){return this.rootGraph},D.prototype.setRootGraph=function(F){if(F.getGraphManager()!=this)throw"Root not in this graph mgr!";if(this.rootGraph=F,F.parent==null)F.parent=this.layout.newNode("Root node")},D.prototype.getLayout=function(){return this.layout},D.prototype.isOneAncestorOfOther=function(F,U){if(!(F!=null&&U!=null))throw"assert failed";if(F==U)return!0;var z=F.getOwner(),k;do{if(k=z.getParent(),k==null)break;if(k==U)return!0;if(z=k.getOwner(),z==null)break}while(!0);z=U.getOwner();do{if(k=z.getParent(),k==null)break;if(k==F)return!0;if(z=k.getOwner(),z==null)break}while(!0);return!1},D.prototype.calcLowestCommonAncestors=function(){var F,U,z,k,f,M=this.getAllEdges(),b=M.length;for(var Z=0;Z<b;Z++){if(F=M[Z],U=F.source,z=F.target,F.lca=null,F.sourceInLca=U,F.targetInLca=z,U==z){F.lca=U.getOwner();continue}k=U.getOwner();while(F.lca==null){F.targetInLca=z,f=z.getOwner();while(F.lca==null){if(f==k){F.lca=f;break}if(f==this.rootGraph)break;if(F.lca!=null)throw"assert failed";F.targetInLca=f.getParent(),f=F.targetInLca.getOwner()}if(k==this.rootGraph)break;if(F.lca==null)F.sourceInLca=k.getParent(),k=F.sourceInLca.getOwner()}if(F.lca==null)throw"assert failed"}},D.prototype.calcLowestCommonAncestor=function(F,U){if(F==U)return F.getOwner();var z=F.getOwner();do{if(z==null)break;var k=U.getOwner();do{if(k==null)break;if(k==z)return k;k=k.getParent().getOwner()}while(!0);z=z.getParent().getOwner()}while(!0);return z},D.prototype.calcInclusionTreeDepths=function(F,U){if(F==null&&U==null)F=this.rootGraph,U=1;var z,k=F.getNodes(),f=k.length;for(var M=0;M<f;M++)if(z=k[M],z.inclusionTreeDepth=U,z.child!=null)this.calcInclusionTreeDepths(z.child,U+1)},D.prototype.includesInvalidEdge=function(){var F,U=[],z=this.edges.length;for(var k=0;k<z;k++)if(F=this.edges[k],this.isOneAncestorOfOther(F.source,F.target))U.push(F);for(var k=0;k<U.length;k++)this.remove(U[k]);return!1},u.exports=D},function(u,B,E){var A=E(12);function C(){}C.calcSeparationAmount=function(D,F,U,z){if(!D.intersects(F))throw"assert failed";var k=[,,];if(this.decideDirectionsForOverlappingNodes(D,F,k),U[0]=Math.min(D.getRight(),F.getRight())-Math.max(D.x,F.x),U[1]=Math.min(D.getBottom(),F.getBottom())-Math.max(D.y,F.y),D.getX()<=F.getX()&&D.getRight()>=F.getRight())U[0]+=Math.min(F.getX()-D.getX(),D.getRight()-F.getRight());else if(F.getX()<=D.getX()&&F.getRight()>=D.getRight())U[0]+=Math.min(D.getX()-F.getX(),F.getRight()-D.getRight());if(D.getY()<=F.getY()&&D.getBottom()>=F.getBottom())U[1]+=Math.min(F.getY()-D.getY(),D.getBottom()-F.getBottom());else if(F.getY()<=D.getY()&&F.getBottom()>=D.getBottom())U[1]+=Math.min(D.getY()-F.getY(),F.getBottom()-D.getBottom());var f=Math.abs((F.getCenterY()-D.getCenterY())/(F.getCenterX()-D.getCenterX()));if(F.getCenterY()===D.getCenterY()&&F.getCenterX()===D.getCenterX())f=1;var M=f*U[0],b=U[1]/f;if(U[0]<b)b=U[0];else M=U[1];U[0]=-1*k[0]*(b/2+z),U[1]=-1*k[1]*(M/2+z)},C.decideDirectionsForOverlappingNodes=function(D,F,U){if(D.getCenterX()<F.getCenterX())U[0]=-1;else U[0]=1;if(D.getCenterY()<F.getCenterY())U[1]=-1;else U[1]=1},C.getIntersection2=function(D,F,U){var z=D.getCenterX(),k=D.getCenterY(),f=F.getCenterX(),M=F.getCenterY();if(D.intersects(F))return U[0]=z,U[1]=k,U[2]=f,U[3]=M,!0;var b=D.getX(),Z=D.getY(),J=D.getRight(),K=D.getX(),w=D.getBottom(),Q=D.getRight(),G=D.getWidthHalf(),H=D.getHeightHalf(),l=F.getX(),q=F.getY(),L=F.getRight(),v=F.getX(),x=F.getBottom(),S=F.getRight(),W=F.getWidthHalf(),T=F.getHeightHalf(),R=!1,Y=!1;if(z===f){if(k>M)return U[0]=z,U[1]=Z,U[2]=f,U[3]=x,!1;else if(k<M)return U[0]=z,U[1]=w,U[2]=f,U[3]=q,!1}else if(k===M){if(z>f)return U[0]=b,U[1]=k,U[2]=L,U[3]=M,!1;else if(z<f)return U[0]=J,U[1]=k,U[2]=l,U[3]=M,!1}else{var h=D.height/D.width,I=F.height/F.width,O=(M-k)/(f-z),V=void 0,j=void 0,i=void 0,a=void 0,$=void 0,m=void 0;if(-h===O)if(z>f)U[0]=K,U[1]=w,R=!0;else U[0]=J,U[1]=Z,R=!0;else if(h===O)if(z>f)U[0]=b,U[1]=Z,R=!0;else U[0]=Q,U[1]=w,R=!0;if(-I===O)if(f>z)U[2]=v,U[3]=x,Y=!0;else U[2]=L,U[3]=q,Y=!0;else if(I===O)if(f>z)U[2]=l,U[3]=q,Y=!0;else U[2]=S,U[3]=x,Y=!0;if(R&&Y)return!1;if(z>f)if(k>M)V=this.getCardinalDirection(h,O,4),j=this.getCardinalDirection(I,O,2);else V=this.getCardinalDirection(-h,O,3),j=this.getCardinalDirection(-I,O,1);else if(k>M)V=this.getCardinalDirection(-h,O,1),j=this.getCardinalDirection(-I,O,3);else V=this.getCardinalDirection(h,O,2),j=this.getCardinalDirection(I,O,4);if(!R)switch(V){case 1:a=Z,i=z+-H/O,U[0]=i,U[1]=a;break;case 2:i=Q,a=k+G*O,U[0]=i,U[1]=a;break;case 3:a=w,i=z+H/O,U[0]=i,U[1]=a;break;case 4:i=K,a=k+-G*O,U[0]=i,U[1]=a;break}if(!Y)switch(j){case 1:m=q,$=f+-T/O,U[2]=$,U[3]=m;break;case 2:$=S,m=M+W*O,U[2]=$,U[3]=m;break;case 3:m=x,$=f+T/O,U[2]=$,U[3]=m;break;case 4:$=v,m=M+-W*O,U[2]=$,U[3]=m;break}}return!1},C.getCardinalDirection=function(D,F,U){if(D>F)return U;else return 1+U%4},C.getIntersection=function(D,F,U,z){if(z==null)return this.getIntersection2(D,F,U);var{x:k,y:f}=D,M=F.x,b=F.y,Z=U.x,J=U.y,K=z.x,w=z.y,Q=void 0,G=void 0,H=void 0,l=void 0,q=void 0,L=void 0,v=void 0,x=void 0,S=void 0;if(H=b-f,q=k-M,v=M*f-k*b,l=w-J,L=Z-K,x=K*J-Z*w,S=H*L-l*q,S===0)return null;return Q=(q*x-L*v)/S,G=(l*v-H*x)/S,new A(Q,G)},C.angleOfVector=function(D,F,U,z){var k=void 0;if(D!==U){if(k=Math.atan((z-F)/(U-D)),U<D)k+=Math.PI;else if(z<F)k+=this.TWO_PI}else if(z<F)k=this.ONE_AND_HALF_PI;else k=this.HALF_PI;return k},C.doIntersect=function(D,F,U,z){var{x:k,y:f}=D,M=F.x,b=F.y,Z=U.x,J=U.y,K=z.x,w=z.y,Q=(M-k)*(w-J)-(K-Z)*(b-f);if(Q===0)return!1;else{var G=((w-J)*(K-k)+(Z-K)*(w-f))/Q,H=((f-b)*(K-k)+(M-k)*(w-f))/Q;return 0<G&&G<1&&0<H&&H<1}},C.findCircleLineIntersections=function(D,F,U,z,k,f,M){var b=(U-D)*(U-D)+(z-F)*(z-F),Z=2*((D-k)*(U-D)+(F-f)*(z-F)),J=(D-k)*(D-k)+(F-f)*(F-f)-M*M,K=Z*Z-4*b*J;if(K>=0){var w=(-Z+Math.sqrt(Z*Z-4*b*J))/(2*b),Q=(-Z-Math.sqrt(Z*Z-4*b*J))/(2*b),G=null;if(w>=0&&w<=1)return[w];if(Q>=0&&Q<=1)return[Q];return G}else return null},C.HALF_PI=0.5*Math.PI,C.ONE_AND_HALF_PI=1.5*Math.PI,C.TWO_PI=2*Math.PI,C.THREE_PI=3*Math.PI,u.exports=C},function(u,B,E){function A(){}A.sign=function(C){if(C>0)return 1;else if(C<0)return-1;else return 0},A.floor=function(C){return C<0?Math.ceil(C):Math.floor(C)},A.ceil=function(C){return C<0?Math.floor(C):Math.ceil(C)},u.exports=A},function(u,B,E){function A(){}A.MAX_VALUE=2147483647,A.MIN_VALUE=-2147483648,u.exports=A},function(u,B,E){var A=function(){function k(f,M){for(var b=0;b<M.length;b++){var Z=M[b];if(Z.enumerable=Z.enumerable||!1,Z.configurable=!0,"value"in Z)Z.writable=!0;Object.defineProperty(f,Z.key,Z)}}return function(f,M,b){if(M)k(f.prototype,M);if(b)k(f,b);return f}}();function C(k,f){if(!(k instanceof f))throw TypeError("Cannot call a class as a function")}var D=function(f){return{value:f,next:null,prev:null}},F=function(f,M,b,Z){if(f!==null)f.next=M;else Z.head=M;if(b!==null)b.prev=M;else Z.tail=M;return M.prev=f,M.next=b,Z.length++,M},U=function(f,M){var{prev:b,next:Z}=f;if(b!==null)b.next=Z;else M.head=Z;if(Z!==null)Z.prev=b;else M.tail=b;return f.prev=f.next=null,M.length--,f},z=function(){function k(f){var M=this;if(C(this,k),this.length=0,this.head=null,this.tail=null,f!=null)f.forEach(function(b){return M.push(b)})}return A(k,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(M,b){return F(b.prev,D(M),b,this)}},{key:"insertAfter",value:function(M,b){return F(b,D(M),b.next,this)}},{key:"insertNodeBefore",value:function(M,b){return F(b.prev,M,b,this)}},{key:"insertNodeAfter",value:function(M,b){return F(b,M,b.next,this)}},{key:"push",value:function(M){return F(this.tail,D(M),null,this)}},{key:"unshift",value:function(M){return F(null,D(M),this.head,this)}},{key:"remove",value:function(M){return U(M,this)}},{key:"pop",value:function(){return U(this.tail,this).value}},{key:"popNode",value:function(){return U(this.tail,this)}},{key:"shift",value:function(){return U(this.head,this).value}},{key:"shiftNode",value:function(){return U(this.head,this)}},{key:"get_object_at",value:function(M){if(M<=this.length()){var b=1,Z=this.head;while(b<M)Z=Z.next,b++;return Z.value}}},{key:"set_object_at",value:function(M,b){if(M<=this.length()){var Z=1,J=this.head;while(Z<M)J=J.next,Z++;J.value=b}}}]),k}();u.exports=z},function(u,B,E){function A(C,D,F){if(this.x=null,this.y=null,C==null&&D==null&&F==null)this.x=0,this.y=0;else if(typeof C=="number"&&typeof D=="number"&&F==null)this.x=C,this.y=D;else if(C.constructor.name=="Point"&&D==null&&F==null)F=C,this.x=F.x,this.y=F.y}A.prototype.getX=function(){return this.x},A.prototype.getY=function(){return this.y},A.prototype.getLocation=function(){return new A(this.x,this.y)},A.prototype.setLocation=function(C,D,F){if(C.constructor.name=="Point"&&D==null&&F==null)F=C,this.setLocation(F.x,F.y);else if(typeof C=="number"&&typeof D=="number"&&F==null)if(parseInt(C)==C&&parseInt(D)==D)this.move(C,D);else this.x=Math.floor(C+0.5),this.y=Math.floor(D+0.5)},A.prototype.move=function(C,D){this.x=C,this.y=D},A.prototype.translate=function(C,D){this.x+=C,this.y+=D},A.prototype.equals=function(C){if(C.constructor.name=="Point"){var D=C;return this.x==D.x&&this.y==D.y}return this==C},A.prototype.toString=function(){return new A().constructor.name+"[x="+this.x+",y="+this.y+"]"},u.exports=A},function(u,B,E){function A(C,D,F,U){if(this.x=0,this.y=0,this.width=0,this.height=0,C!=null&&D!=null&&F!=null&&U!=null)this.x=C,this.y=D,this.width=F,this.height=U}A.prototype.getX=function(){return this.x},A.prototype.setX=function(C){this.x=C},A.prototype.getY=function(){return this.y},A.prototype.setY=function(C){this.y=C},A.prototype.getWidth=function(){return this.width},A.prototype.setWidth=function(C){this.width=C},A.prototype.getHeight=function(){return this.height},A.prototype.setHeight=function(C){this.height=C},A.prototype.getRight=function(){return this.x+this.width},A.prototype.getBottom=function(){return this.y+this.height},A.prototype.intersects=function(C){if(this.getRight()<C.x)return!1;if(this.getBottom()<C.y)return!1;if(C.getRight()<this.x)return!1;if(C.getBottom()<this.y)return!1;return!0},A.prototype.getCenterX=function(){return this.x+this.width/2},A.prototype.getMinX=function(){return this.getX()},A.prototype.getMaxX=function(){return this.getX()+this.width},A.prototype.getCenterY=function(){return this.y+this.height/2},A.prototype.getMinY=function(){return this.getY()},A.prototype.getMaxY=function(){return this.getY()+this.height},A.prototype.getWidthHalf=function(){return this.width/2},A.prototype.getHeightHalf=function(){return this.height/2},u.exports=A},function(u,B,E){var A=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(D){return typeof D}:function(D){return D&&typeof Symbol==="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D};function C(){}C.lastID=0,C.createID=function(D){if(C.isPrimitive(D))return D;if(D.uniqueID!=null)return D.uniqueID;return D.uniqueID=C.getString(),C.lastID++,D.uniqueID},C.getString=function(D){if(D==null)D=C.lastID;return"Object#"+D},C.isPrimitive=function(D){var F=typeof D>"u"?"undefined":A(D);return D==null||F!="object"&&F!="function"},u.exports=C},function(u,B,E){function A(Z){if(Array.isArray(Z)){for(var J=0,K=Array(Z.length);J<Z.length;J++)K[J]=Z[J];return K}else return Array.from(Z)}var C=E(0),D=E(7),F=E(3),U=E(1),z=E(6),k=E(5),f=E(17),M=E(29);function b(Z){if(M.call(this),this.layoutQuality=C.QUALITY,this.createBendsAsNeeded=C.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=C.DEFAULT_INCREMENTAL,this.animationOnLayout=C.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=C.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=C.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=C.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new D(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,Z!=null)this.isRemoteUse=Z}b.RANDOM_SEED=1,b.prototype=Object.create(M.prototype),b.prototype.getGraphManager=function(){return this.graphManager},b.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},b.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},b.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},b.prototype.newGraphManager=function(){var Z=new D(this);return this.graphManager=Z,Z},b.prototype.newGraph=function(Z){return new z(null,this.graphManager,Z)},b.prototype.newNode=function(Z){return new F(this.graphManager,Z)},b.prototype.newEdge=function(Z){return new U(null,null,Z)},b.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},b.prototype.runLayout=function(){if(this.isLayoutFinished=!1,this.tilingPreLayout)this.tilingPreLayout();this.initParameters();var Z;if(this.checkLayoutSuccess())Z=!1;else Z=this.layout();if(C.ANIMATE==="during")return!1;if(Z){if(!this.isSubLayout)this.doPostLayout()}if(this.tilingPostLayout)this.tilingPostLayout();return this.isLayoutFinished=!0,Z},b.prototype.doPostLayout=function(){if(!this.incremental)this.transform();this.update()},b.prototype.update2=function(){if(this.createBendsAsNeeded)this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges();if(!this.isRemoteUse){var Z,J=this.graphManager.getAllEdges();for(var K=0;K<J.length;K++)Z=J[K];var w,Q=this.graphManager.getRoot().getNodes();for(var K=0;K<Q.length;K++)w=Q[K];this.update(this.graphManager.getRoot())}},b.prototype.update=function(Z){if(Z==null)this.update2();else if(Z instanceof F){var J=Z;if(J.getChild()!=null){var K=J.getChild().getNodes();for(var w=0;w<K.length;w++)update(K[w])}if(J.vGraphObject!=null){var Q=J.vGraphObject;Q.update(J)}}else if(Z instanceof U){var G=Z;if(G.vGraphObject!=null){var H=G.vGraphObject;H.update(G)}}else if(Z instanceof z){var l=Z;if(l.vGraphObject!=null){var q=l.vGraphObject;q.update(l)}}},b.prototype.initParameters=function(){if(!this.isSubLayout)this.layoutQuality=C.QUALITY,this.animationDuringLayout=C.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=C.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=C.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=C.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=C.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=C.DEFAULT_UNIFORM_LEAF_NODE_SIZES;if(this.animationDuringLayout)this.animationOnLayout=!1},b.prototype.transform=function(Z){if(Z==null)this.transform(new k(0,0));else{var J=new f,K=this.graphManager.getRoot().updateLeftTop();if(K!=null){J.setWorldOrgX(Z.x),J.setWorldOrgY(Z.y),J.setDeviceOrgX(K.x),J.setDeviceOrgY(K.y);var w=this.getAllNodes(),Q;for(var G=0;G<w.length;G++)Q=w[G],Q.transform(J)}}},b.prototype.positionNodesRandomly=function(Z){if(Z==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else{var J,K,w=Z.getNodes();for(var Q=0;Q<w.length;Q++)if(J=w[Q],K=J.getChild(),K==null)J.scatter();else if(K.getNodes().length==0)J.scatter();else this.positionNodesRandomly(K),J.updateBounds()}},b.prototype.getFlatForest=function(){var Z=[],J=!0,K=this.graphManager.getRoot().getNodes(),w=!0;for(var Q=0;Q<K.length;Q++)if(K[Q].getChild()!=null)w=!1;if(!w)return Z;var G=new Set,H=[],l=new Map,q=[];q=q.concat(K);while(q.length>0&&J){H.push(q[0]);while(H.length>0&&J){var L=H[0];H.splice(0,1),G.add(L);var v=L.getEdges();for(var Q=0;Q<v.length;Q++){var x=v[Q].getOtherEnd(L);if(l.get(L)!=x)if(!G.has(x))H.push(x),l.set(x,L);else{J=!1;break}}}if(!J)Z=[];else{var S=[].concat(A(G));Z.push(S);for(var Q=0;Q<S.length;Q++){var W=S[Q],T=q.indexOf(W);if(T>-1)q.splice(T,1)}G=new Set,l=new Map}}return Z},b.prototype.createDummyNodesForBendpoints=function(Z){var J=[],K=Z.source,w=this.graphManager.calcLowestCommonAncestor(Z.source,Z.target);for(var Q=0;Q<Z.bendpoints.length;Q++){var G=this.newNode(null);G.setRect(new Point(0,0),new Dimension(1,1)),w.add(G);var H=this.newEdge(null);this.graphManager.add(H,K,G),J.add(G),K=G}var H=this.newEdge(null);if(this.graphManager.add(H,K,Z.target),this.edgeToDummyNodes.set(Z,J),Z.isInterGraph())this.graphManager.remove(Z);else w.remove(Z);return J},b.prototype.createBendpointsFromDummyNodes=function(){var Z=[];Z=Z.concat(this.graphManager.getAllEdges()),Z=[].concat(A(this.edgeToDummyNodes.keys())).concat(Z);for(var J=0;J<Z.length;J++){var K=Z[J];if(K.bendpoints.length>0){var w=this.edgeToDummyNodes.get(K);for(var Q=0;Q<w.length;Q++){var G=w[Q],H=new k(G.getCenterX(),G.getCenterY()),l=K.bendpoints.get(Q);l.x=H.x,l.y=H.y,G.getOwner().remove(G)}this.graphManager.add(K,K.source,K.target)}}},b.transform=function(Z,J,K,w){if(K!=null&&w!=null){var Q=J;if(Z<=50){var G=J/K;Q-=(J-G)/50*(50-Z)}else{var H=J*w;Q+=(H-J)/50*(Z-50)}return Q}else{var l,q;if(Z<=50)l=9*J/500,q=J/10;else l=9*J/50,q=-8*J;return l*Z+q}},b.findCenterOfTree=function(Z){var J=[];J=J.concat(Z);var K=[],w=new Map,Q=!1,G=null;if(J.length==1||J.length==2)Q=!0,G=J[0];for(var H=0;H<J.length;H++){var l=J[H],q=l.getNeighborsList().size;if(w.set(l,l.getNeighborsList().size),q==1)K.push(l)}var L=[];L=L.concat(K);while(!Q){var v=[];v=v.concat(L),L=[];for(var H=0;H<J.length;H++){var l=J[H],x=J.indexOf(l);if(x>=0)J.splice(x,1);var S=l.getNeighborsList();S.forEach(function(R){if(K.indexOf(R)<0){var Y=w.get(R),h=Y-1;if(h==1)L.push(R);w.set(R,h)}})}if(K=K.concat(L),J.length==1||J.length==2)Q=!0,G=J[0]}return G},b.prototype.setGraphManager=function(Z){this.graphManager=Z},u.exports=b},function(u,B,E){function A(){}A.seed=1,A.x=0,A.nextDouble=function(){return A.x=Math.sin(A.seed++)*1e4,A.x-Math.floor(A.x)},u.exports=A},function(u,B,E){var A=E(5);function C(D,F){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}C.prototype.getWorldOrgX=function(){return this.lworldOrgX},C.prototype.setWorldOrgX=function(D){this.lworldOrgX=D},C.prototype.getWorldOrgY=function(){return this.lworldOrgY},C.prototype.setWorldOrgY=function(D){this.lworldOrgY=D},C.prototype.getWorldExtX=function(){return this.lworldExtX},C.prototype.setWorldExtX=function(D){this.lworldExtX=D},C.prototype.getWorldExtY=function(){return this.lworldExtY},C.prototype.setWorldExtY=function(D){this.lworldExtY=D},C.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},C.prototype.setDeviceOrgX=function(D){this.ldeviceOrgX=D},C.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},C.prototype.setDeviceOrgY=function(D){this.ldeviceOrgY=D},C.prototype.getDeviceExtX=function(){return this.ldeviceExtX},C.prototype.setDeviceExtX=function(D){this.ldeviceExtX=D},C.prototype.getDeviceExtY=function(){return this.ldeviceExtY},C.prototype.setDeviceExtY=function(D){this.ldeviceExtY=D},C.prototype.transformX=function(D){var F=0,U=this.lworldExtX;if(U!=0)F=this.ldeviceOrgX+(D-this.lworldOrgX)*this.ldeviceExtX/U;return F},C.prototype.transformY=function(D){var F=0,U=this.lworldExtY;if(U!=0)F=this.ldeviceOrgY+(D-this.lworldOrgY)*this.ldeviceExtY/U;return F},C.prototype.inverseTransformX=function(D){var F=0,U=this.ldeviceExtX;if(U!=0)F=this.lworldOrgX+(D-this.ldeviceOrgX)*this.lworldExtX/U;return F},C.prototype.inverseTransformY=function(D){var F=0,U=this.ldeviceExtY;if(U!=0)F=this.lworldOrgY+(D-this.ldeviceOrgY)*this.lworldExtY/U;return F},C.prototype.inverseTransformPoint=function(D){var F=new A(this.inverseTransformX(D.x),this.inverseTransformY(D.y));return F},u.exports=C},function(u,B,E){function A(M){if(Array.isArray(M)){for(var b=0,Z=Array(M.length);b<M.length;b++)Z[b]=M[b];return Z}else return Array.from(M)}var C=E(15),D=E(4),F=E(0),U=E(8),z=E(9);function k(){C.call(this),this.useSmartIdealEdgeLengthCalculation=D.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=D.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=D.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=D.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=D.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*D.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=D.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=D.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=D.MAX_ITERATIONS}k.prototype=Object.create(C.prototype);for(var f in C)k[f]=C[f];k.prototype.initParameters=function(){C.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=D.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},k.prototype.calcIdealEdgeLengths=function(){var M,b,Z,J,K,w,Q,G=this.getGraphManager().getAllEdges();for(var H=0;H<G.length;H++)if(M=G[H],b=M.idealLength,M.isInterGraph){if(J=M.getSource(),K=M.getTarget(),w=M.getSourceInLca().getEstimatedSize(),Q=M.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation)M.idealLength+=w+Q-2*F.SIMPLE_NODE_SIZE;Z=M.getLca().getInclusionTreeDepth(),M.idealLength+=b*D.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(J.getInclusionTreeDepth()+K.getInclusionTreeDepth()-2*Z)}},k.prototype.initSpringEmbedder=function(){var M=this.getAllNodes().length;if(this.incremental){if(M>D.ADAPTATION_LOWER_NODE_LIMIT)this.coolingFactor=Math.max(this.coolingFactor*D.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(M-D.ADAPTATION_LOWER_NODE_LIMIT)/(D.ADAPTATION_UPPER_NODE_LIMIT-D.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-D.COOLING_ADAPTATION_FACTOR));this.maxNodeDisplacement=D.MAX_NODE_DISPLACEMENT_INCREMENTAL}else{if(M>D.ADAPTATION_LOWER_NODE_LIMIT)this.coolingFactor=Math.max(D.COOLING_ADAPTATION_FACTOR,1-(M-D.ADAPTATION_LOWER_NODE_LIMIT)/(D.ADAPTATION_UPPER_NODE_LIMIT-D.ADAPTATION_LOWER_NODE_LIMIT)*(1-D.COOLING_ADAPTATION_FACTOR));else this.coolingFactor=1;this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=D.MAX_NODE_DISPLACEMENT}this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*D.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},k.prototype.calcSpringForces=function(){var M=this.getAllEdges(),b;for(var Z=0;Z<M.length;Z++)b=M[Z],this.calcSpringForce(b,b.idealLength)},k.prototype.calcRepulsionForces=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Z,J,K,w,Q=this.getAllNodes(),G;if(this.useFRGridVariant){if(this.totalIterations%D.GRID_CALCULATION_CHECK_PERIOD==1&&M)this.updateGrid();G=new Set;for(Z=0;Z<Q.length;Z++)K=Q[Z],this.calculateRepulsionForceOfANode(K,G,M,b),G.add(K)}else for(Z=0;Z<Q.length;Z++){K=Q[Z];for(J=Z+1;J<Q.length;J++){if(w=Q[J],K.getOwner()!=w.getOwner())continue;this.calcRepulsionForce(K,w)}}},k.prototype.calcGravitationalForces=function(){var M,b=this.getAllNodesToApplyGravitation();for(var Z=0;Z<b.length;Z++)M=b[Z],this.calcGravitationalForce(M)},k.prototype.moveNodes=function(){var M=this.getAllNodes(),b;for(var Z=0;Z<M.length;Z++)b=M[Z],b.move()},k.prototype.calcSpringForce=function(M,b){var Z=M.getSource(),J=M.getTarget(),K,w,Q,G;if(this.uniformLeafNodeSizes&&Z.getChild()==null&&J.getChild()==null)M.updateLengthSimple();else if(M.updateLength(),M.isOverlapingSourceAndTarget)return;if(K=M.getLength(),K==0)return;w=M.edgeElasticity*(K-b),Q=w*(M.lengthX/K),G=w*(M.lengthY/K),Z.springForceX+=Q,Z.springForceY+=G,J.springForceX-=Q,J.springForceY-=G},k.prototype.calcRepulsionForce=function(M,b){var Z=M.getRect(),J=b.getRect(),K=[,,],w=[,,,,],Q,G,H,l,q,L,v;if(Z.intersects(J)){U.calcSeparationAmount(Z,J,K,D.DEFAULT_EDGE_LENGTH/2),L=2*K[0],v=2*K[1];var x=M.noOfChildren*b.noOfChildren/(M.noOfChildren+b.noOfChildren);M.repulsionForceX-=x*L,M.repulsionForceY-=x*v,b.repulsionForceX+=x*L,b.repulsionForceY+=x*v}else{if(this.uniformLeafNodeSizes&&M.getChild()==null&&b.getChild()==null)Q=J.getCenterX()-Z.getCenterX(),G=J.getCenterY()-Z.getCenterY();else U.getIntersection(Z,J,w),Q=w[2]-w[0],G=w[3]-w[1];if(Math.abs(Q)<D.MIN_REPULSION_DIST)Q=z.sign(Q)*D.MIN_REPULSION_DIST;if(Math.abs(G)<D.MIN_REPULSION_DIST)G=z.sign(G)*D.MIN_REPULSION_DIST;H=Q*Q+G*G,l=Math.sqrt(H),q=(M.nodeRepulsion/2+b.nodeRepulsion/2)*M.noOfChildren*b.noOfChildren/H,L=q*Q/l,v=q*G/l,M.repulsionForceX-=L,M.repulsionForceY-=v,b.repulsionForceX+=L,b.repulsionForceY+=v}},k.prototype.calcGravitationalForce=function(M){var b,Z,J,K,w,Q,G,H;if(b=M.getOwner(),Z=(b.getRight()+b.getLeft())/2,J=(b.getTop()+b.getBottom())/2,K=M.getCenterX()-Z,w=M.getCenterY()-J,Q=Math.abs(K)+M.getWidth()/2,G=Math.abs(w)+M.getHeight()/2,M.getOwner()==this.graphManager.getRoot()){if(H=b.getEstimatedSize()*this.gravityRangeFactor,Q>H||G>H)M.gravitationForceX=-this.gravityConstant*K,M.gravitationForceY=-this.gravityConstant*w}else if(H=b.getEstimatedSize()*this.compoundGravityRangeFactor,Q>H||G>H)M.gravitationForceX=-this.gravityConstant*K*this.compoundGravityConstant,M.gravitationForceY=-this.gravityConstant*w*this.compoundGravityConstant},k.prototype.isConverged=function(){var M,b=!1;if(this.totalIterations>this.maxIterations/3)b=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2;return M=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,M||b},k.prototype.animate=function(){if(this.animationDuringLayout&&!this.isSubLayout)if(this.notAnimatedIterations==this.animationPeriod)this.update(),this.notAnimatedIterations=0;else this.notAnimatedIterations++},k.prototype.calcNoOfChildrenForAllNodes=function(){var M,b=this.graphManager.getAllNodes();for(var Z=0;Z<b.length;Z++)M=b[Z],M.noOfChildren=M.getNoOfChildren()},k.prototype.calcGrid=function(M){var b=0,Z=0;b=parseInt(Math.ceil((M.getRight()-M.getLeft())/this.repulsionRange)),Z=parseInt(Math.ceil((M.getBottom()-M.getTop())/this.repulsionRange));var J=Array(b);for(var K=0;K<b;K++)J[K]=Array(Z);for(var K=0;K<b;K++)for(var w=0;w<Z;w++)J[K][w]=[];return J},k.prototype.addNodeToGrid=function(M,b,Z){var J=0,K=0,w=0,Q=0;J=parseInt(Math.floor((M.getRect().x-b)/this.repulsionRange)),K=parseInt(Math.floor((M.getRect().width+M.getRect().x-b)/this.repulsionRange)),w=parseInt(Math.floor((M.getRect().y-Z)/this.repulsionRange)),Q=parseInt(Math.floor((M.getRect().height+M.getRect().y-Z)/this.repulsionRange));for(var G=J;G<=K;G++)for(var H=w;H<=Q;H++)this.grid[G][H].push(M),M.setGridCoordinates(J,K,w,Q)},k.prototype.updateGrid=function(){var M,b,Z=this.getAllNodes();this.grid=this.calcGrid(this.graphManager.getRoot());for(M=0;M<Z.length;M++)b=Z[M],this.addNodeToGrid(b,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},k.prototype.calculateRepulsionForceOfANode=function(M,b,Z,J){if(this.totalIterations%D.GRID_CALCULATION_CHECK_PERIOD==1&&Z||J){var K=new Set;M.surrounding=[];var w,Q=this.grid;for(var G=M.startX-1;G<M.finishX+2;G++)for(var H=M.startY-1;H<M.finishY+2;H++)if(!(G<0||H<0||G>=Q.length||H>=Q[0].length))for(var l=0;l<Q[G][H].length;l++){if(w=Q[G][H][l],M.getOwner()!=w.getOwner()||M==w)continue;if(!b.has(w)&&!K.has(w)){var q=Math.abs(M.getCenterX()-w.getCenterX())-(M.getWidth()/2+w.getWidth()/2),L=Math.abs(M.getCenterY()-w.getCenterY())-(M.getHeight()/2+w.getHeight()/2);if(q<=this.repulsionRange&&L<=this.repulsionRange)K.add(w)}}M.surrounding=[].concat(A(K))}for(G=0;G<M.surrounding.length;G++)this.calcRepulsionForce(M,M.surrounding[G])},k.prototype.calcRepulsionRange=function(){return 0},u.exports=k},function(u,B,E){var A=E(1),C=E(4);function D(U,z,k){A.call(this,U,z,k),this.idealLength=C.DEFAULT_EDGE_LENGTH,this.edgeElasticity=C.DEFAULT_SPRING_STRENGTH}D.prototype=Object.create(A.prototype);for(var F in A)D[F]=A[F];u.exports=D},function(u,B,E){var A=E(3),C=E(4);function D(U,z,k,f){A.call(this,U,z,k,f),this.nodeRepulsion=C.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}D.prototype=Object.create(A.prototype);for(var F in A)D[F]=A[F];D.prototype.setGridCoordinates=function(U,z,k,f){this.startX=U,this.finishX=z,this.startY=k,this.finishY=f},u.exports=D},function(u,B,E){function A(C,D){if(this.width=0,this.height=0,C!==null&&D!==null)this.height=D,this.width=C}A.prototype.getWidth=function(){return this.width},A.prototype.setWidth=function(C){this.width=C},A.prototype.getHeight=function(){return this.height},A.prototype.setHeight=function(C){this.height=C},u.exports=A},function(u,B,E){var A=E(14);function C(){this.map={},this.keys=[]}C.prototype.put=function(D,F){var U=A.createID(D);if(!this.contains(U))this.map[U]=F,this.keys.push(D)},C.prototype.contains=function(D){var F=A.createID(D);return this.map[D]!=null},C.prototype.get=function(D){var F=A.createID(D);return this.map[F]},C.prototype.keySet=function(){return this.keys},u.exports=C},function(u,B,E){var A=E(14);function C(){this.set={}}C.prototype.add=function(D){var F=A.createID(D);if(!this.contains(F))this.set[F]=D},C.prototype.remove=function(D){delete this.set[A.createID(D)]},C.prototype.clear=function(){this.set={}},C.prototype.contains=function(D){return this.set[A.createID(D)]==D},C.prototype.isEmpty=function(){return this.size()===0},C.prototype.size=function(){return Object.keys(this.set).length},C.prototype.addAllTo=function(D){var F=Object.keys(this.set),U=F.length;for(var z=0;z<U;z++)D.push(this.set[F[z]])},C.prototype.size=function(){return Object.keys(this.set).length},C.prototype.addAll=function(D){var F=D.length;for(var U=0;U<F;U++){var z=D[U];this.add(z)}},u.exports=C},function(u,B,E){function A(){}A.multMat=function(C,D){var F=[];for(var U=0;U<C.length;U++){F[U]=[];for(var z=0;z<D[0].length;z++){F[U][z]=0;for(var k=0;k<C[0].length;k++)F[U][z]+=C[U][k]*D[k][z]}}return F},A.transpose=function(C){var D=[];for(var F=0;F<C[0].length;F++){D[F]=[];for(var U=0;U<C.length;U++)D[F][U]=C[U][F]}return D},A.multCons=function(C,D){var F=[];for(var U=0;U<C.length;U++)F[U]=C[U]*D;return F},A.minusOp=function(C,D){var F=[];for(var U=0;U<C.length;U++)F[U]=C[U]-D[U];return F},A.dotProduct=function(C,D){var F=0;for(var U=0;U<C.length;U++)F+=C[U]*D[U];return F},A.mag=function(C){return Math.sqrt(this.dotProduct(C,C))},A.normalize=function(C){var D=[],F=this.mag(C);for(var U=0;U<C.length;U++)D[U]=C[U]/F;return D},A.multGamma=function(C){var D=[],F=0;for(var U=0;U<C.length;U++)F+=C[U];F*=-1/C.length;for(var z=0;z<C.length;z++)D[z]=F+C[z];return D},A.multL=function(C,D,F){var U=[],z=[],k=[];for(var f=0;f<D[0].length;f++){var M=0;for(var b=0;b<D.length;b++)M+=-0.5*D[b][f]*C[b];z[f]=M}for(var Z=0;Z<F.length;Z++){var J=0;for(var K=0;K<F.length;K++)J+=F[Z][K]*z[K];k[Z]=J}for(var w=0;w<D.length;w++){var Q=0;for(var G=0;G<D[0].length;G++)Q+=D[w][G]*k[G];U[w]=Q}return U},u.exports=A},function(u,B,E){var A=function(){function U(z,k){for(var f=0;f<k.length;f++){var M=k[f];if(M.enumerable=M.enumerable||!1,M.configurable=!0,"value"in M)M.writable=!0;Object.defineProperty(z,M.key,M)}}return function(z,k,f){if(k)U(z.prototype,k);if(f)U(z,f);return z}}();function C(U,z){if(!(U instanceof z))throw TypeError("Cannot call a class as a function")}var D=E(11),F=function(){function U(z,k){if(C(this,U),k!==null||k!==void 0)this.compareFunction=this._defaultCompareFunction;var f=void 0;if(z instanceof D)f=z.size();else f=z.length;this._quicksort(z,0,f-1)}return A(U,[{key:"_quicksort",value:function(k,f,M){if(f<M){var b=this._partition(k,f,M);this._quicksort(k,f,b),this._quicksort(k,b+1,M)}}},{key:"_partition",value:function(k,f,M){var b=this._get(k,f),Z=f,J=M;while(!0){while(this.compareFunction(b,this._get(k,J)))J--;while(this.compareFunction(this._get(k,Z),b))Z++;if(Z<J)this._swap(k,Z,J),Z++,J--;else return J}}},{key:"_get",value:function(k,f){if(k instanceof D)return k.get_object_at(f);else return k[f]}},{key:"_set",value:function(k,f,M){if(k instanceof D)k.set_object_at(f,M);else k[f]=M}},{key:"_swap",value:function(k,f,M){var b=this._get(k,f);this._set(k,f,this._get(k,M)),this._set(k,M,b)}},{key:"_defaultCompareFunction",value:function(k,f){return f>k}}]),U}();u.exports=F},function(u,B,E){function A(){}A.svd=function(C){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=C.length,this.n=C[0].length;var D=Math.min(this.m,this.n);this.s=function(du){var Iu=[];while(du-- >0)Iu.push(0);return Iu}(Math.min(this.m+1,this.n)),this.U=function(du){var Iu=function v0(Tu){if(Tu.length==0)return 0;else{var iu=[];for(var Ju=0;Ju<Tu[0];Ju++)iu.push(v0(Tu.slice(1)));return iu}};return Iu(du)}([this.m,D]),this.V=function(du){var Iu=function v0(Tu){if(Tu.length==0)return 0;else{var iu=[];for(var Ju=0;Ju<Tu[0];Ju++)iu.push(v0(Tu.slice(1)));return iu}};return Iu(du)}([this.n,this.n]);var F=function(du){var Iu=[];while(du-- >0)Iu.push(0);return Iu}(this.n),U=function(du){var Iu=[];while(du-- >0)Iu.push(0);return Iu}(this.m),z=!0,k=!0,f=Math.min(this.m-1,this.n),M=Math.max(0,Math.min(this.n-2,this.m));for(var b=0;b<Math.max(f,M);b++){if(b<f){this.s[b]=0;for(var Z=b;Z<this.m;Z++)this.s[b]=A.hypot(this.s[b],C[Z][b]);if(this.s[b]!==0){if(C[b][b]<0)this.s[b]=-this.s[b];for(var J=b;J<this.m;J++)C[J][b]/=this.s[b];C[b][b]+=1}this.s[b]=-this.s[b]}for(var K=b+1;K<this.n;K++){if(function(du,Iu){return du&&Iu}(b<f,this.s[b]!==0)){var w=0;for(var Q=b;Q<this.m;Q++)w+=C[Q][b]*C[Q][K];w=-w/C[b][b];for(var G=b;G<this.m;G++)C[G][K]+=w*C[G][b]}F[K]=C[b][K]}if(function(du,Iu){return du&&Iu}(z,b<f))for(var H=b;H<this.m;H++)this.U[H][b]=C[H][b];if(b<M){F[b]=0;for(var l=b+1;l<this.n;l++)F[b]=A.hypot(F[b],F[l]);if(F[b]!==0){if(F[b+1]<0)F[b]=-F[b];for(var q=b+1;q<this.n;q++)F[q]/=F[b];F[b+1]+=1}if(F[b]=-F[b],function(du,Iu){return du&&Iu}(b+1<this.m,F[b]!==0)){for(var L=b+1;L<this.m;L++)U[L]=0;for(var v=b+1;v<this.n;v++)for(var x=b+1;x<this.m;x++)U[x]+=F[v]*C[x][v];for(var S=b+1;S<this.n;S++){var W=-F[S]/F[b+1];for(var T=b+1;T<this.m;T++)C[T][S]+=W*U[T]}}if(k)for(var R=b+1;R<this.n;R++)this.V[R][b]=F[R]}}var Y=Math.min(this.n,this.m+1);if(f<this.n)this.s[f]=C[f][f];if(this.m<Y)this.s[Y-1]=0;if(M+1<Y)F[M]=C[M][Y-1];if(F[Y-1]=0,z){for(var h=f;h<D;h++){for(var I=0;I<this.m;I++)this.U[I][h]=0;this.U[h][h]=1}for(var O=f-1;O>=0;O--)if(this.s[O]!==0){for(var V=O+1;V<D;V++){var j=0;for(var i=O;i<this.m;i++)j+=this.U[i][O]*this.U[i][V];j=-j/this.U[O][O];for(var a=O;a<this.m;a++)this.U[a][V]+=j*this.U[a][O]}for(var $=O;$<this.m;$++)this.U[$][O]=-this.U[$][O];this.U[O][O]=1+this.U[O][O];for(var m=0;m<O-1;m++)this.U[m][O]=0}else{for(var y=0;y<this.m;y++)this.U[y][O]=0;this.U[O][O]=1}}if(k)for(var r=this.n-1;r>=0;r--){if(function(du,Iu){return du&&Iu}(r<M,F[r]!==0))for(var _=r+1;_<D;_++){var e=0;for(var p=r+1;p<this.n;p++)e+=this.V[p][r]*this.V[p][_];e=-e/this.V[r+1][r];for(var b0=r+1;b0<this.n;b0++)this.V[b0][_]+=e*this.V[b0][r]}for(var B0=0;B0<this.n;B0++)this.V[B0][r]=0;this.V[r][r]=1}var k0=Y-1,f0=0,D0=Math.pow(2,-52),P0=Math.pow(2,-966);while(Y>0){var L0=void 0,m0=void 0;for(L0=Y-2;L0>=-1;L0--){if(L0===-1)break;if(Math.abs(F[L0])<=P0+D0*(Math.abs(this.s[L0])+Math.abs(this.s[L0+1]))){F[L0]=0;break}}if(L0===Y-2)m0=4;else{var h0=void 0;for(h0=Y-1;h0>=L0;h0--){if(h0===L0)break;var _0=(h0!==Y?Math.abs(F[h0]):0)+(h0!==L0+1?Math.abs(F[h0-1]):0);if(Math.abs(this.s[h0])<=P0+D0*_0){this.s[h0]=0;break}}if(h0===L0)m0=3;else if(h0===Y-1)m0=1;else m0=2,L0=h0}switch(L0++,m0){case 1:{var w0=F[Y-2];F[Y-2]=0;for(var x0=Y-2;x0>=L0;x0--){var T0=A.hypot(this.s[x0],w0),J0=this.s[x0]/T0,F0=w0/T0;if(this.s[x0]=T0,x0!==L0)w0=-F0*F[x0-1],F[x0-1]=J0*F[x0-1];if(k)for(var u0=0;u0<this.n;u0++)T0=J0*this.V[u0][x0]+F0*this.V[u0][Y-1],this.V[u0][Y-1]=-F0*this.V[u0][x0]+J0*this.V[u0][Y-1],this.V[u0][x0]=T0}}break;case 2:{var Z0=F[L0-1];F[L0-1]=0;for(var X0=L0;X0<Y;X0++){var W0=A.hypot(this.s[X0],Z0),Y0=this.s[X0]/W0,a0=Z0/W0;if(this.s[X0]=W0,Z0=-a0*F[X0],F[X0]=Y0*F[X0],z)for(var K0=0;K0<this.m;K0++)W0=Y0*this.U[K0][X0]+a0*this.U[K0][L0-1],this.U[K0][L0-1]=-a0*this.U[K0][X0]+Y0*this.U[K0][L0-1],this.U[K0][X0]=W0}}break;case 3:{var n=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[Y-1]),Math.abs(this.s[Y-2])),Math.abs(F[Y-2])),Math.abs(this.s[L0])),Math.abs(F[L0])),d=this.s[Y-1]/n,q0=this.s[Y-2]/n,o=F[Y-2]/n,l0=this.s[L0]/n,E0=F[L0]/n,$0=((q0+d)*(q0-d)+o*o)/2,g0=d*o*(d*o),n0=0;if(function(du,Iu){return du||Iu}($0!==0,g0!==0)){if(n0=Math.sqrt($0*$0+g0),$0<0)n0=-n0;n0=g0/($0+n0)}var c0=(l0+d)*(l0-d)+n0,Bu=l0*E0;for(var p0=L0;p0<Y-1;p0++){var e0=A.hypot(c0,Bu),t0=c0/e0,zu=Bu/e0;if(p0!==L0)F[p0-1]=e0;if(c0=t0*this.s[p0]+zu*F[p0],F[p0]=t0*F[p0]-zu*this.s[p0],Bu=zu*this.s[p0+1],this.s[p0+1]=t0*this.s[p0+1],k)for(var S0=0;S0<this.n;S0++)e0=t0*this.V[S0][p0]+zu*this.V[S0][p0+1],this.V[S0][p0+1]=-zu*this.V[S0][p0]+t0*this.V[S0][p0+1],this.V[S0][p0]=e0;if(e0=A.hypot(c0,Bu),t0=c0/e0,zu=Bu/e0,this.s[p0]=e0,c0=t0*F[p0]+zu*this.s[p0+1],this.s[p0+1]=-zu*F[p0]+t0*this.s[p0+1],Bu=zu*F[p0+1],F[p0+1]=t0*F[p0+1],z&&p0<this.m-1)for(var yu=0;yu<this.m;yu++)e0=t0*this.U[yu][p0]+zu*this.U[yu][p0+1],this.U[yu][p0+1]=-zu*this.U[yu][p0]+t0*this.U[yu][p0+1],this.U[yu][p0]=e0}F[Y-2]=c0,f0=f0+1}break;case 4:{if(this.s[L0]<=0){if(this.s[L0]=this.s[L0]<0?-this.s[L0]:0,k)for(var V0=0;V0<=k0;V0++)this.V[V0][L0]=-this.V[V0][L0]}while(L0<k0){if(this.s[L0]>=this.s[L0+1])break;var xu=this.s[L0];if(this.s[L0]=this.s[L0+1],this.s[L0+1]=xu,k&&L0<this.n-1)for(var gu=0;gu<this.n;gu++)xu=this.V[gu][L0+1],this.V[gu][L0+1]=this.V[gu][L0],this.V[gu][L0]=xu;if(z&&L0<this.m-1)for(var Du=0;Du<this.m;Du++)xu=this.U[Du][L0+1],this.U[Du][L0+1]=this.U[Du][L0],this.U[Du][L0]=xu;L0++}f0=0,Y--}break}}var Nu={U:this.U,V:this.V,S:this.s};return Nu},A.hypot=function(C,D){var F=void 0;if(Math.abs(C)>Math.abs(D))F=D/C,F=Math.abs(C)*Math.sqrt(1+F*F);else if(D!=0)F=C/D,F=Math.abs(D)*Math.sqrt(1+F*F);else F=0;return F},u.exports=A},function(u,B,E){var A=function(){function F(U,z){for(var k=0;k<z.length;k++){var f=z[k];if(f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f)f.writable=!0;Object.defineProperty(U,f.key,f)}}return function(U,z,k){if(z)F(U.prototype,z);if(k)F(U,k);return U}}();function C(F,U){if(!(F instanceof U))throw TypeError("Cannot call a class as a function")}var D=function(){function F(U,z){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;C(this,F),this.sequence1=U,this.sequence2=z,this.match_score=k,this.mismatch_penalty=f,this.gap_penalty=M,this.iMax=U.length+1,this.jMax=z.length+1,this.grid=Array(this.iMax);for(var b=0;b<this.iMax;b++){this.grid[b]=Array(this.jMax);for(var Z=0;Z<this.jMax;Z++)this.grid[b][Z]=0}this.tracebackGrid=Array(this.iMax);for(var J=0;J<this.iMax;J++){this.tracebackGrid[J]=Array(this.jMax);for(var K=0;K<this.jMax;K++)this.tracebackGrid[J][K]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return A(F,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var z=1;z<this.jMax;z++)this.grid[0][z]=this.grid[0][z-1]+this.gap_penalty,this.tracebackGrid[0][z]=[!1,!1,!0];for(var k=1;k<this.iMax;k++)this.grid[k][0]=this.grid[k-1][0]+this.gap_penalty,this.tracebackGrid[k][0]=[!1,!0,!1];for(var f=1;f<this.iMax;f++)for(var M=1;M<this.jMax;M++){var b=void 0;if(this.sequence1[f-1]===this.sequence2[M-1])b=this.grid[f-1][M-1]+this.match_score;else b=this.grid[f-1][M-1]+this.mismatch_penalty;var Z=this.grid[f-1][M]+this.gap_penalty,J=this.grid[f][M-1]+this.gap_penalty,K=[b,Z,J],w=this.arrayAllMaxIndexes(K);this.grid[f][M]=K[w[0]],this.tracebackGrid[f][M]=[w.includes(0),w.includes(1),w.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var z=[];z.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});while(z[0]){var k=z[0],f=this.tracebackGrid[k.pos[0]][k.pos[1]];if(f[0])z.push({pos:[k.pos[0]-1,k.pos[1]-1],seq1:this.sequence1[k.pos[0]-1]+k.seq1,seq2:this.sequence2[k.pos[1]-1]+k.seq2});if(f[1])z.push({pos:[k.pos[0]-1,k.pos[1]],seq1:this.sequence1[k.pos[0]-1]+k.seq1,seq2:"-"+k.seq2});if(f[2])z.push({pos:[k.pos[0],k.pos[1]-1],seq1:"-"+k.seq1,seq2:this.sequence2[k.pos[1]-1]+k.seq2});if(k.pos[0]===0&&k.pos[1]===0)this.alignments.push({sequence1:k.seq1,sequence2:k.seq2});z.shift()}return this.alignments}},{key:"getAllIndexes",value:function(z,k){var f=[],M=-1;while((M=z.indexOf(k,M+1))!==-1)f.push(M);return f}},{key:"arrayAllMaxIndexes",value:function(z){return this.getAllIndexes(z,Math.max.apply(null,z))}}]),F}();u.exports=D},function(u,B,E){var A=function(){return};A.FDLayout=E(18),A.FDLayoutConstants=E(4),A.FDLayoutEdge=E(19),A.FDLayoutNode=E(20),A.DimensionD=E(21),A.HashMap=E(22),A.HashSet=E(23),A.IGeometry=E(8),A.IMath=E(9),A.Integer=E(10),A.Point=E(12),A.PointD=E(5),A.RandomSeed=E(16),A.RectangleD=E(13),A.Transform=E(17),A.UniqueIDGeneretor=E(14),A.Quicksort=E(25),A.LinkedList=E(11),A.LGraphObject=E(2),A.LGraph=E(6),A.LEdge=E(1),A.LGraphManager=E(7),A.LNode=E(3),A.Layout=E(15),A.LayoutConstants=E(0),A.NeedlemanWunsch=E(27),A.Matrix=E(24),A.SVD=E(26),u.exports=A},function(u,B,E){function A(){this.listeners=[]}var C=A.prototype;C.addListener=function(D,F){this.listeners.push({event:D,callback:F})},C.removeListener=function(D,F){for(var U=this.listeners.length;U>=0;U--){var z=this.listeners[U];if(z.event===D&&z.callback===F)this.listeners.splice(U,1)}},C.emit=function(D,F){for(var U=0;U<this.listeners.length;U++){var z=this.listeners[U];if(D===z.event)z.callback(F)}},u.exports=A}])})});var lU0=N1((wT,qU0)=>{(function(B,E){if(typeof wT==="object"&&typeof qU0==="object")qU0.exports=E(HU0());else if(typeof define==="function"&&define.amd)define(["layout-base"],E);else if(typeof wT==="object")wT.coseBase=E(HU0());else B.coseBase=E(B.layoutBase)})(wT,function(u){return(()=>{var B={45:(D,F,U)=>{var z={};z.layoutBase=U(551),z.CoSEConstants=U(806),z.CoSEEdge=U(767),z.CoSEGraph=U(880),z.CoSEGraphManager=U(578),z.CoSELayout=U(765),z.CoSENode=U(991),z.ConstraintHandler=U(902),D.exports=z},806:(D,F,U)=>{var z=U(551).FDLayoutConstants;function k(){}for(var f in z)k[f]=z[f];k.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,k.DEFAULT_RADIAL_SEPARATION=z.DEFAULT_EDGE_LENGTH,k.DEFAULT_COMPONENT_SEPERATION=60,k.TILE=!0,k.TILING_PADDING_VERTICAL=10,k.TILING_PADDING_HORIZONTAL=10,k.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,k.ENFORCE_CONSTRAINTS=!0,k.APPLY_LAYOUT=!0,k.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,k.TREE_REDUCTION_ON_INCREMENTAL=!0,k.PURE_INCREMENTAL=k.DEFAULT_INCREMENTAL,D.exports=k},767:(D,F,U)=>{var z=U(551).FDLayoutEdge;function k(M,b,Z){z.call(this,M,b,Z)}k.prototype=Object.create(z.prototype);for(var f in z)k[f]=z[f];D.exports=k},880:(D,F,U)=>{var z=U(551).LGraph;function k(M,b,Z){z.call(this,M,b,Z)}k.prototype=Object.create(z.prototype);for(var f in z)k[f]=z[f];D.exports=k},578:(D,F,U)=>{var z=U(551).LGraphManager;function k(M){z.call(this,M)}k.prototype=Object.create(z.prototype);for(var f in z)k[f]=z[f];D.exports=k},765:(D,F,U)=>{var z=U(551).FDLayout,k=U(578),f=U(880),M=U(991),b=U(767),Z=U(806),J=U(902),K=U(551).FDLayoutConstants,w=U(551).LayoutConstants,Q=U(551).Point,G=U(551).PointD,H=U(551).DimensionD,l=U(551).Layout,q=U(551).Integer,L=U(551).IGeometry,v=U(551).LGraph,x=U(551).Transform,S=U(551).LinkedList;function W(){z.call(this),this.toBeTiled={},this.constraints={}}W.prototype=Object.create(z.prototype);for(var T in z)W[T]=z[T];W.prototype.newGraphManager=function(){var R=new k(this);return this.graphManager=R,R},W.prototype.newGraph=function(R){return new f(null,this.graphManager,R)},W.prototype.newNode=function(R){return new M(this.graphManager,R)},W.prototype.newEdge=function(R){return new b(null,null,R)},W.prototype.initParameters=function(){if(z.prototype.initParameters.call(this,arguments),!this.isSubLayout){if(Z.DEFAULT_EDGE_LENGTH<10)this.idealEdgeLength=10;else this.idealEdgeLength=Z.DEFAULT_EDGE_LENGTH;this.useSmartIdealEdgeLengthCalculation=Z.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=K.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=K.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=K.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=K.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1}},W.prototype.initSpringEmbedder=function(){z.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/K.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=0.04,this.coolingAdjuster=1},W.prototype.layout=function(){var R=w.DEFAULT_CREATE_BENDS_AS_NEEDED;if(R)this.createBendpoints(),this.graphManager.resetAllEdges();return this.level=0,this.classicLayout()},W.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),!this.incremental){var R=this.getFlatForest();if(R.length>0)this.positionNodesRadially(R);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var Y=new Set(this.getAllNodes()),h=this.nodesWithGravity.filter(function(I){return Y.has(I)});this.graphManager.setAllNodesToApplyGravitation(h),this.positionNodesRandomly()}}else if(Z.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var Y=new Set(this.getAllNodes()),h=this.nodesWithGravity.filter(function(V){return Y.has(V)});this.graphManager.setAllNodesToApplyGravitation(h)}if(Object.keys(this.constraints).length>0)J.handleConstraints(this),this.initConstraintVariables();if(this.initSpringEmbedder(),Z.APPLY_LAYOUT)this.runSpringEmbedder();return!0},W.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%K.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.coolingCycle++,this.layoutQuality==0)this.coolingAdjuster=this.coolingCycle;else if(this.layoutQuality==1)this.coolingAdjuster=this.coolingCycle/3;this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var R=new Set(this.getAllNodes()),Y=this.nodesWithGravity.filter(function(O){return R.has(O)});if(this.graphManager.setAllNodesToApplyGravitation(Y),this.graphManager.updateBounds(),this.updateGrid(),Z.PURE_INCREMENTAL)this.coolingFactor=K.DEFAULT_COOLING_FACTOR_INCREMENTAL/2;else this.coolingFactor=K.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;if(this.afterGrowthIterations%10==0)this.graphManager.updateBounds(),this.updateGrid();if(Z.PURE_INCREMENTAL)this.coolingFactor=K.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100);else this.coolingFactor=K.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100);this.afterGrowthIterations++}var h=!this.isTreeGrowing&&!this.isGrowthFinished,I=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(h,I),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},W.prototype.getPositionsData=function(){var R=this.graphManager.getAllNodes(),Y={};for(var h=0;h<R.length;h++){var I=R[h].rect,O=R[h].id;Y[O]={id:O,x:I.getCenterX(),y:I.getCenterY(),w:I.width,h:I.height}}return Y},W.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var R=!1;if(K.ANIMATE==="during")this.emit("layoutstarted");else{while(!R)R=this.tick();this.graphManager.updateBounds()}},W.prototype.moveNodes=function(){var R=this.getAllNodes(),Y;for(var h=0;h<R.length;h++)Y=R[h],Y.calculateDisplacement();if(Object.keys(this.constraints).length>0)this.updateDisplacements();for(var h=0;h<R.length;h++)Y=R[h],Y.move()},W.prototype.initConstraintVariables=function(){var R=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;var Y=this.graphManager.getAllNodes();for(var h=0;h<Y.length;h++){var I=Y[h];this.idToNodeMap.set(I.id,I)}var O=function p(b0){var B0=b0.getChild().getNodes(),k0,f0=0;for(var D0=0;D0<B0.length;D0++)if(k0=B0[D0],k0.getChild()==null){if(R.fixedNodeSet.has(k0.id))f0+=100}else f0+=p(k0);return f0};if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(B0){R.fixedNodeSet.add(B0.nodeId)});var Y=this.graphManager.getAllNodes(),I;for(var h=0;h<Y.length;h++)if(I=Y[h],I.getChild()!=null){var V=O(I);if(V>0)I.fixedNodeWeight=V}}if(this.constraints.relativePlacementConstraint){var j=new Map,i=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(p){R.fixedNodesOnHorizontal.add(p),R.fixedNodesOnVertical.add(p)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var a=this.constraints.alignmentConstraint.vertical;for(var h=0;h<a.length;h++)this.dummyToNodeForVerticalAlignment.set("dummy"+h,[]),a[h].forEach(function(b0){if(j.set(b0,"dummy"+h),R.dummyToNodeForVerticalAlignment.get("dummy"+h).push(b0),R.fixedNodeSet.has(b0))R.fixedNodesOnHorizontal.add("dummy"+h)})}if(this.constraints.alignmentConstraint.horizontal){var $=this.constraints.alignmentConstraint.horizontal;for(var h=0;h<$.length;h++)this.dummyToNodeForHorizontalAlignment.set("dummy"+h,[]),$[h].forEach(function(b0){if(i.set(b0,"dummy"+h),R.dummyToNodeForHorizontalAlignment.get("dummy"+h).push(b0),R.fixedNodeSet.has(b0))R.fixedNodesOnVertical.add("dummy"+h)})}}if(Z.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(p){var b0,B0,k0;for(k0=p.length-1;k0>=2*p.length/3;k0--)b0=Math.floor(Math.random()*(k0+1)),B0=p[k0],p[k0]=p[b0],p[b0]=B0;return p},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(p){if(p.left){var b0=j.has(p.left)?j.get(p.left):p.left,B0=j.has(p.right)?j.get(p.right):p.right;if(!R.nodesInRelativeHorizontal.includes(b0))if(R.nodesInRelativeHorizontal.push(b0),R.nodeToRelativeConstraintMapHorizontal.set(b0,[]),R.dummyToNodeForVerticalAlignment.has(b0))R.nodeToTempPositionMapHorizontal.set(b0,R.idToNodeMap.get(R.dummyToNodeForVerticalAlignment.get(b0)[0]).getCenterX());else R.nodeToTempPositionMapHorizontal.set(b0,R.idToNodeMap.get(b0).getCenterX());if(!R.nodesInRelativeHorizontal.includes(B0))if(R.nodesInRelativeHorizontal.push(B0),R.nodeToRelativeConstraintMapHorizontal.set(B0,[]),R.dummyToNodeForVerticalAlignment.has(B0))R.nodeToTempPositionMapHorizontal.set(B0,R.idToNodeMap.get(R.dummyToNodeForVerticalAlignment.get(B0)[0]).getCenterX());else R.nodeToTempPositionMapHorizontal.set(B0,R.idToNodeMap.get(B0).getCenterX());R.nodeToRelativeConstraintMapHorizontal.get(b0).push({right:B0,gap:p.gap}),R.nodeToRelativeConstraintMapHorizontal.get(B0).push({left:b0,gap:p.gap})}else{var k0=i.has(p.top)?i.get(p.top):p.top,f0=i.has(p.bottom)?i.get(p.bottom):p.bottom;if(!R.nodesInRelativeVertical.includes(k0))if(R.nodesInRelativeVertical.push(k0),R.nodeToRelativeConstraintMapVertical.set(k0,[]),R.dummyToNodeForHorizontalAlignment.has(k0))R.nodeToTempPositionMapVertical.set(k0,R.idToNodeMap.get(R.dummyToNodeForHorizontalAlignment.get(k0)[0]).getCenterY());else R.nodeToTempPositionMapVertical.set(k0,R.idToNodeMap.get(k0).getCenterY());if(!R.nodesInRelativeVertical.includes(f0))if(R.nodesInRelativeVertical.push(f0),R.nodeToRelativeConstraintMapVertical.set(f0,[]),R.dummyToNodeForHorizontalAlignment.has(f0))R.nodeToTempPositionMapVertical.set(f0,R.idToNodeMap.get(R.dummyToNodeForHorizontalAlignment.get(f0)[0]).getCenterY());else R.nodeToTempPositionMapVertical.set(f0,R.idToNodeMap.get(f0).getCenterY());R.nodeToRelativeConstraintMapVertical.get(k0).push({bottom:f0,gap:p.gap}),R.nodeToRelativeConstraintMapVertical.get(f0).push({top:k0,gap:p.gap})}});else{var m=new Map,y=new Map;this.constraints.relativePlacementConstraint.forEach(function(p){if(p.left){var b0=j.has(p.left)?j.get(p.left):p.left,B0=j.has(p.right)?j.get(p.right):p.right;if(m.has(b0))m.get(b0).push(B0);else m.set(b0,[B0]);if(m.has(B0))m.get(B0).push(b0);else m.set(B0,[b0])}else{var k0=i.has(p.top)?i.get(p.top):p.top,f0=i.has(p.bottom)?i.get(p.bottom):p.bottom;if(y.has(k0))y.get(k0).push(f0);else y.set(k0,[f0]);if(y.has(f0))y.get(f0).push(k0);else y.set(f0,[k0])}});var r=function(b0,B0){var k0=[],f0=[],D0=new S,P0=new Set,L0=0;return b0.forEach(function(m0,h0){if(!P0.has(h0)){k0[L0]=[],f0[L0]=!1;var _0=h0;D0.push(_0),P0.add(_0),k0[L0].push(_0);while(D0.length!=0){if(_0=D0.shift(),B0.has(_0))f0[L0]=!0;var w0=b0.get(_0);w0.forEach(function(x0){if(!P0.has(x0))D0.push(x0),P0.add(x0),k0[L0].push(x0)})}L0++}}),{components:k0,isFixed:f0}},_=r(m,R.fixedNodesOnHorizontal);this.componentsOnHorizontal=_.components,this.fixedComponentsOnHorizontal=_.isFixed;var e=r(y,R.fixedNodesOnVertical);this.componentsOnVertical=e.components,this.fixedComponentsOnVertical=e.isFixed}}},W.prototype.updateDisplacements=function(){var R=this;if(this.constraints.fixedNodeConstraint)this.constraints.fixedNodeConstraint.forEach(function(e){var p=R.idToNodeMap.get(e.nodeId);p.displacementX=0,p.displacementY=0});if(this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var Y=this.constraints.alignmentConstraint.vertical;for(var h=0;h<Y.length;h++){var I=0;for(var O=0;O<Y[h].length;O++){if(this.fixedNodeSet.has(Y[h][O])){I=0;break}I+=this.idToNodeMap.get(Y[h][O]).displacementX}var V=I/Y[h].length;for(var O=0;O<Y[h].length;O++)this.idToNodeMap.get(Y[h][O]).displacementX=V}}if(this.constraints.alignmentConstraint.horizontal){var j=this.constraints.alignmentConstraint.horizontal;for(var h=0;h<j.length;h++){var i=0;for(var O=0;O<j[h].length;O++){if(this.fixedNodeSet.has(j[h][O])){i=0;break}i+=this.idToNodeMap.get(j[h][O]).displacementY}var a=i/j[h].length;for(var O=0;O<j[h].length;O++)this.idToNodeMap.get(j[h][O]).displacementY=a}}}if(this.constraints.relativePlacementConstraint)if(Z.RELAX_MOVEMENT_ON_CONSTRAINTS){if(this.totalIterations%10==0)this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical);this.nodesInRelativeHorizontal.forEach(function(e){if(!R.fixedNodesOnHorizontal.has(e)){var p=0;if(R.dummyToNodeForVerticalAlignment.has(e))p=R.idToNodeMap.get(R.dummyToNodeForVerticalAlignment.get(e)[0]).displacementX;else p=R.idToNodeMap.get(e).displacementX;if(R.nodeToRelativeConstraintMapHorizontal.get(e).forEach(function(b0){if(b0.right){var B0=R.nodeToTempPositionMapHorizontal.get(b0.right)-R.nodeToTempPositionMapHorizontal.get(e)-p;if(B0<b0.gap)p-=b0.gap-B0}else{var B0=R.nodeToTempPositionMapHorizontal.get(e)-R.nodeToTempPositionMapHorizontal.get(b0.left)+p;if(B0<b0.gap)p+=b0.gap-B0}}),R.nodeToTempPositionMapHorizontal.set(e,R.nodeToTempPositionMapHorizontal.get(e)+p),R.dummyToNodeForVerticalAlignment.has(e))R.dummyToNodeForVerticalAlignment.get(e).forEach(function(b0){R.idToNodeMap.get(b0).displacementX=p});else R.idToNodeMap.get(e).displacementX=p}}),this.nodesInRelativeVertical.forEach(function(e){if(!R.fixedNodesOnHorizontal.has(e)){var p=0;if(R.dummyToNodeForHorizontalAlignment.has(e))p=R.idToNodeMap.get(R.dummyToNodeForHorizontalAlignment.get(e)[0]).displacementY;else p=R.idToNodeMap.get(e).displacementY;if(R.nodeToRelativeConstraintMapVertical.get(e).forEach(function(b0){if(b0.bottom){var B0=R.nodeToTempPositionMapVertical.get(b0.bottom)-R.nodeToTempPositionMapVertical.get(e)-p;if(B0<b0.gap)p-=b0.gap-B0}else{var B0=R.nodeToTempPositionMapVertical.get(e)-R.nodeToTempPositionMapVertical.get(b0.top)+p;if(B0<b0.gap)p+=b0.gap-B0}}),R.nodeToTempPositionMapVertical.set(e,R.nodeToTempPositionMapVertical.get(e)+p),R.dummyToNodeForHorizontalAlignment.has(e))R.dummyToNodeForHorizontalAlignment.get(e).forEach(function(b0){R.idToNodeMap.get(b0).displacementY=p});else R.idToNodeMap.get(e).displacementY=p}})}else{for(var h=0;h<this.componentsOnHorizontal.length;h++){var $=this.componentsOnHorizontal[h];if(this.fixedComponentsOnHorizontal[h])for(var O=0;O<$.length;O++)if(this.dummyToNodeForVerticalAlignment.has($[O]))this.dummyToNodeForVerticalAlignment.get($[O]).forEach(function(b0){R.idToNodeMap.get(b0).displacementX=0});else this.idToNodeMap.get($[O]).displacementX=0;else{var m=0,y=0;for(var O=0;O<$.length;O++)if(this.dummyToNodeForVerticalAlignment.has($[O])){var r=this.dummyToNodeForVerticalAlignment.get($[O]);m+=r.length*this.idToNodeMap.get(r[0]).displacementX,y+=r.length}else m+=this.idToNodeMap.get($[O]).displacementX,y++;var _=m/y;for(var O=0;O<$.length;O++)if(this.dummyToNodeForVerticalAlignment.has($[O]))this.dummyToNodeForVerticalAlignment.get($[O]).forEach(function(b0){R.idToNodeMap.get(b0).displacementX=_});else this.idToNodeMap.get($[O]).displacementX=_}}for(var h=0;h<this.componentsOnVertical.length;h++){var $=this.componentsOnVertical[h];if(this.fixedComponentsOnVertical[h])for(var O=0;O<$.length;O++)if(this.dummyToNodeForHorizontalAlignment.has($[O]))this.dummyToNodeForHorizontalAlignment.get($[O]).forEach(function(B0){R.idToNodeMap.get(B0).displacementY=0});else this.idToNodeMap.get($[O]).displacementY=0;else{var m=0,y=0;for(var O=0;O<$.length;O++)if(this.dummyToNodeForHorizontalAlignment.has($[O])){var r=this.dummyToNodeForHorizontalAlignment.get($[O]);m+=r.length*this.idToNodeMap.get(r[0]).displacementY,y+=r.length}else m+=this.idToNodeMap.get($[O]).displacementY,y++;var _=m/y;for(var O=0;O<$.length;O++)if(this.dummyToNodeForHorizontalAlignment.has($[O]))this.dummyToNodeForHorizontalAlignment.get($[O]).forEach(function(D0){R.idToNodeMap.get(D0).displacementY=_});else this.idToNodeMap.get($[O]).displacementY=_}}}},W.prototype.calculateNodesToApplyGravitationTo=function(){var R=[],Y,h=this.graphManager.getGraphs(),I=h.length,O;for(O=0;O<I;O++)if(Y=h[O],Y.updateConnected(),!Y.isConnected)R=R.concat(Y.getNodes());return R},W.prototype.createBendpoints=function(){var R=[];R=R.concat(this.graphManager.getAllEdges());var Y=new Set,h;for(h=0;h<R.length;h++){var I=R[h];if(!Y.has(I)){var O=I.getSource(),V=I.getTarget();if(O==V)I.getBendpoints().push(new G),I.getBendpoints().push(new G),this.createDummyNodesForBendpoints(I),Y.add(I);else{var j=[];if(j=j.concat(O.getEdgeListToNode(V)),j=j.concat(V.getEdgeListToNode(O)),!Y.has(j[0])){if(j.length>1){var i;for(i=0;i<j.length;i++){var a=j[i];a.getBendpoints().push(new G),this.createDummyNodesForBendpoints(a)}}j.forEach(function($){Y.add($)})}}}if(Y.size==R.length)break}},W.prototype.positionNodesRadially=function(R){var Y=new Q(0,0),h=Math.ceil(Math.sqrt(R.length)),I=0,O=0,V=0,j=new G(0,0);for(var i=0;i<R.length;i++){if(i%h==0){if(V=0,O=I,i!=0)O+=Z.DEFAULT_COMPONENT_SEPERATION;I=0}var a=R[i],$=l.findCenterOfTree(a);if(Y.x=V,Y.y=O,j=W.radialLayout(a,$,Y),j.y>I)I=Math.floor(j.y);V=Math.floor(j.x+Z.DEFAULT_COMPONENT_SEPERATION)}this.transform(new G(w.WORLD_CENTER_X-j.x/2,w.WORLD_CENTER_Y-j.y/2))},W.radialLayout=function(R,Y,h){var I=Math.max(this.maxDiagonalInTree(R),Z.DEFAULT_RADIAL_SEPARATION);W.branchRadialLayout(Y,null,0,359,0,I);var O=v.calculateBounds(R),V=new x;V.setDeviceOrgX(O.getMinX()),V.setDeviceOrgY(O.getMinY()),V.setWorldOrgX(h.x),V.setWorldOrgY(h.y);for(var j=0;j<R.length;j++){var i=R[j];i.transform(V)}var a=new G(O.getMaxX(),O.getMaxY());return V.inverseTransformPoint(a)},W.branchRadialLayout=function(R,Y,h,I,O,V){var j=(I-h+1)/2;if(j<0)j+=180;var i=(j+h)%360,a=i*L.TWO_PI/360,$=Math.cos(a),m=O*Math.cos(a),y=O*Math.sin(a);R.setCenter(m,y);var r=[];r=r.concat(R.getEdges());var _=r.length;if(Y!=null)_--;var e=0,p=r.length,b0,B0=R.getEdgesBetween(Y);while(B0.length>1){var k0=B0[0];B0.splice(0,1);var f0=r.indexOf(k0);if(f0>=0)r.splice(f0,1);p--,_--}if(Y!=null)b0=(r.indexOf(B0[0])+1)%p;else b0=0;var D0=Math.abs(I-h)/_;for(var P0=b0;e!=_;P0=++P0%p){var L0=r[P0].getOtherEnd(R);if(L0==Y)continue;var m0=(h+e*D0)%360,h0=(m0+D0)%360;W.branchRadialLayout(L0,R,m0,h0,O+V,V),e++}},W.maxDiagonalInTree=function(R){var Y=q.MIN_VALUE;for(var h=0;h<R.length;h++){var I=R[h],O=I.getDiagonal();if(O>Y)Y=O}return Y},W.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},W.prototype.groupZeroDegreeMembers=function(){var R=this,Y={};this.memberGroups={},this.idToDummyNode={};var h=[],I=this.graphManager.getAllNodes();for(var O=0;O<I.length;O++){var V=I[O],j=V.getParent();if(this.getNodeDegreeWithChildren(V)===0&&(j.id==null||!this.getToBeTiled(j)))h.push(V)}for(var O=0;O<h.length;O++){var V=h[O],i=V.getParent().id;if(typeof Y[i]>"u")Y[i]=[];Y[i]=Y[i].concat(V)}Object.keys(Y).forEach(function(a){if(Y[a].length>1){var $="DummyCompound_"+a;R.memberGroups[$]=Y[a];var m=Y[a][0].getParent(),y=new M(R.graphManager);y.id=$,y.paddingLeft=m.paddingLeft||0,y.paddingRight=m.paddingRight||0,y.paddingBottom=m.paddingBottom||0,y.paddingTop=m.paddingTop||0,R.idToDummyNode[$]=y;var r=R.getGraphManager().add(R.newGraph(),y),_=m.getChild();_.add(y);for(var e=0;e<Y[a].length;e++){var p=Y[a][e];_.remove(p),r.add(p)}}})},W.prototype.clearCompounds=function(){var R={},Y={};this.performDFSOnCompounds();for(var h=0;h<this.compoundOrder.length;h++)Y[this.compoundOrder[h].id]=this.compoundOrder[h],R[this.compoundOrder[h].id]=[].concat(this.compoundOrder[h].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[h].getChild()),this.compoundOrder[h].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(R,Y)},W.prototype.clearZeroDegreeMembers=function(){var R=this,Y=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(h){var I=R.idToDummyNode[h];if(Y[h]=R.tileNodes(R.memberGroups[h],I.paddingLeft+I.paddingRight),I.rect.width=Y[h].width,I.rect.height=Y[h].height,I.setCenter(Y[h].centerX,Y[h].centerY),I.labelMarginLeft=0,I.labelMarginTop=0,Z.NODE_DIMENSIONS_INCLUDE_LABELS){var O=I.rect.width,V=I.rect.height;if(I.labelWidth){if(I.labelPosHorizontal=="left")I.rect.x-=I.labelWidth,I.setWidth(O+I.labelWidth),I.labelMarginLeft=I.labelWidth;else if(I.labelPosHorizontal=="center"&&I.labelWidth>O)I.rect.x-=(I.labelWidth-O)/2,I.setWidth(I.labelWidth),I.labelMarginLeft=(I.labelWidth-O)/2;else if(I.labelPosHorizontal=="right")I.setWidth(O+I.labelWidth)}if(I.labelHeight){if(I.labelPosVertical=="top")I.rect.y-=I.labelHeight,I.setHeight(V+I.labelHeight),I.labelMarginTop=I.labelHeight;else if(I.labelPosVertical=="center"&&I.labelHeight>V)I.rect.y-=(I.labelHeight-V)/2,I.setHeight(I.labelHeight),I.labelMarginTop=(I.labelHeight-V)/2;else if(I.labelPosVertical=="bottom")I.setHeight(V+I.labelHeight)}}})},W.prototype.repopulateCompounds=function(){for(var R=this.compoundOrder.length-1;R>=0;R--){var Y=this.compoundOrder[R],h=Y.id,I=Y.paddingLeft,O=Y.paddingTop,V=Y.labelMarginLeft,j=Y.labelMarginTop;this.adjustLocations(this.tiledMemberPack[h],Y.rect.x,Y.rect.y,I,O,V,j)}},W.prototype.repopulateZeroDegreeMembers=function(){var R=this,Y=this.tiledZeroDegreePack;Object.keys(Y).forEach(function(h){var I=R.idToDummyNode[h],O=I.paddingLeft,V=I.paddingTop,j=I.labelMarginLeft,i=I.labelMarginTop;R.adjustLocations(Y[h],I.rect.x,I.rect.y,O,V,j,i)})},W.prototype.getToBeTiled=function(R){var Y=R.id;if(this.toBeTiled[Y]!=null)return this.toBeTiled[Y];var h=R.getChild();if(h==null)return this.toBeTiled[Y]=!1,!1;var I=h.getNodes();for(var O=0;O<I.length;O++){var V=I[O];if(this.getNodeDegree(V)>0)return this.toBeTiled[Y]=!1,!1;if(V.getChild()==null){this.toBeTiled[V.id]=!1;continue}if(!this.getToBeTiled(V))return this.toBeTiled[Y]=!1,!1}return this.toBeTiled[Y]=!0,!0},W.prototype.getNodeDegree=function(R){var Y=R.id,h=R.getEdges(),I=0;for(var O=0;O<h.length;O++){var V=h[O];if(V.getSource().id!==V.getTarget().id)I=I+1}return I},W.prototype.getNodeDegreeWithChildren=function(R){var Y=this.getNodeDegree(R);if(R.getChild()==null)return Y;var h=R.getChild().getNodes();for(var I=0;I<h.length;I++){var O=h[I];Y+=this.getNodeDegreeWithChildren(O)}return Y},W.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},W.prototype.fillCompexOrderByDFS=function(R){for(var Y=0;Y<R.length;Y++){var h=R[Y];if(h.getChild()!=null)this.fillCompexOrderByDFS(h.getChild().getNodes());if(this.getToBeTiled(h))this.compoundOrder.push(h)}},W.prototype.adjustLocations=function(R,Y,h,I,O,V,j){Y+=I+V,h+=O+j;var i=Y;for(var a=0;a<R.rows.length;a++){var $=R.rows[a];Y=i;var m=0;for(var y=0;y<$.length;y++){var r=$[y];if(r.rect.x=Y,r.rect.y=h,Y+=r.rect.width+R.horizontalPadding,r.rect.height>m)m=r.rect.height}h+=m+R.verticalPadding}},W.prototype.tileCompoundMembers=function(R,Y){var h=this;this.tiledMemberPack=[],Object.keys(R).forEach(function(I){var O=Y[I];if(h.tiledMemberPack[I]=h.tileNodes(R[I],O.paddingLeft+O.paddingRight),O.rect.width=h.tiledMemberPack[I].width,O.rect.height=h.tiledMemberPack[I].height,O.setCenter(h.tiledMemberPack[I].centerX,h.tiledMemberPack[I].centerY),O.labelMarginLeft=0,O.labelMarginTop=0,Z.NODE_DIMENSIONS_INCLUDE_LABELS){var V=O.rect.width,j=O.rect.height;if(O.labelWidth){if(O.labelPosHorizontal=="left")O.rect.x-=O.labelWidth,O.setWidth(V+O.labelWidth),O.labelMarginLeft=O.labelWidth;else if(O.labelPosHorizontal=="center"&&O.labelWidth>V)O.rect.x-=(O.labelWidth-V)/2,O.setWidth(O.labelWidth),O.labelMarginLeft=(O.labelWidth-V)/2;else if(O.labelPosHorizontal=="right")O.setWidth(V+O.labelWidth)}if(O.labelHeight){if(O.labelPosVertical=="top")O.rect.y-=O.labelHeight,O.setHeight(j+O.labelHeight),O.labelMarginTop=O.labelHeight;else if(O.labelPosVertical=="center"&&O.labelHeight>j)O.rect.y-=(O.labelHeight-j)/2,O.setHeight(O.labelHeight),O.labelMarginTop=(O.labelHeight-j)/2;else if(O.labelPosVertical=="bottom")O.setHeight(j+O.labelHeight)}}})},W.prototype.tileNodes=function(R,Y){var h=this.tileNodesByFavoringDim(R,Y,!0),I=this.tileNodesByFavoringDim(R,Y,!1),O=this.getOrgRatio(h),V=this.getOrgRatio(I),j;if(V<O)j=I;else j=h;return j},W.prototype.getOrgRatio=function(R){var{width:Y,height:h}=R,I=Y/h;if(I<1)I=1/I;return I},W.prototype.calcIdealRowWidth=function(R,Y){var{TILING_PADDING_VERTICAL:h,TILING_PADDING_HORIZONTAL:I}=Z,O=R.length,V=0,j=0,i=0;R.forEach(function(e){if(V+=e.getWidth(),j+=e.getHeight(),e.getWidth()>i)i=e.getWidth()});var a=V/O,$=j/O,m=Math.pow(h-I,2)+4*(a+I)*($+h)*O,y=(I-h+Math.sqrt(m))/(2*(a+I)),r;if(Y){if(r=Math.ceil(y),r==y)r++}else r=Math.floor(y);var _=r*(a+I)-I;if(i>_)_=i;return _+=I*2,_},W.prototype.tileNodesByFavoringDim=function(R,Y,h){var{TILING_PADDING_VERTICAL:I,TILING_PADDING_HORIZONTAL:O,TILING_COMPARE_BY:V}=Z,j={rows:[],rowWidth:[],rowHeight:[],width:0,height:Y,verticalPadding:I,horizontalPadding:O,centerX:0,centerY:0};if(V)j.idealRowWidth=this.calcIdealRowWidth(R,h);var i=function(p){return p.rect.width*p.rect.height},a=function(p,b0){return i(b0)-i(p)};R.sort(function(e,p){var b0=a;if(j.idealRowWidth)return b0=V,b0(e.id,p.id);return b0(e,p)});var $=0,m=0;for(var y=0;y<R.length;y++){var r=R[y];$+=r.getCenterX(),m+=r.getCenterY()}j.centerX=$/R.length,j.centerY=m/R.length;for(var y=0;y<R.length;y++){var r=R[y];if(j.rows.length==0)this.insertNodeToRow(j,r,0,Y);else if(this.canAddHorizontal(j,r.rect.width,r.rect.height)){var _=j.rows.length-1;if(!j.idealRowWidth)_=this.getShortestRowIndex(j);this.insertNodeToRow(j,r,_,Y)}else this.insertNodeToRow(j,r,j.rows.length,Y);this.shiftToLastRow(j)}return j},W.prototype.insertNodeToRow=function(R,Y,h,I){var O=I;if(h==R.rows.length){var V=[];R.rows.push(V),R.rowWidth.push(O),R.rowHeight.push(0)}var j=R.rowWidth[h]+Y.rect.width;if(R.rows[h].length>0)j+=R.horizontalPadding;if(R.rowWidth[h]=j,R.width<j)R.width=j;var i=Y.rect.height;if(h>0)i+=R.verticalPadding;var a=0;if(i>R.rowHeight[h])a=R.rowHeight[h],R.rowHeight[h]=i,a=R.rowHeight[h]-a;R.height+=a,R.rows[h].push(Y)},W.prototype.getShortestRowIndex=function(R){var Y=-1,h=Number.MAX_VALUE;for(var I=0;I<R.rows.length;I++)if(R.rowWidth[I]<h)Y=I,h=R.rowWidth[I];return Y},W.prototype.getLongestRowIndex=function(R){var Y=-1,h=Number.MIN_VALUE;for(var I=0;I<R.rows.length;I++)if(R.rowWidth[I]>h)Y=I,h=R.rowWidth[I];return Y},W.prototype.canAddHorizontal=function(R,Y,h){if(R.idealRowWidth){var I=R.rows.length-1,O=R.rowWidth[I];return O+Y+R.horizontalPadding<=R.idealRowWidth}var V=this.getShortestRowIndex(R);if(V<0)return!0;var j=R.rowWidth[V];if(j+R.horizontalPadding+Y<=R.width)return!0;var i=0;if(R.rowHeight[V]<h){if(V>0)i=h+R.verticalPadding-R.rowHeight[V]}var a;if(R.width-j>=Y+R.horizontalPadding)a=(R.height+i)/(j+Y+R.horizontalPadding);else a=(R.height+i)/R.width;i=h+R.verticalPadding;var $;if(R.width<Y)$=(R.height+i)/Y;else $=(R.height+i)/R.width;if($<1)$=1/$;if(a<1)a=1/a;return a<$},W.prototype.shiftToLastRow=function(R){var Y=this.getLongestRowIndex(R),h=R.rowWidth.length-1,I=R.rows[Y],O=I[I.length-1],V=O.width+R.horizontalPadding;if(R.width-R.rowWidth[h]>V&&Y!=h){I.splice(-1,1),R.rows[h].push(O),R.rowWidth[Y]=R.rowWidth[Y]-V,R.rowWidth[h]=R.rowWidth[h]+V,R.width=R.rowWidth[instance.getLongestRowIndex(R)];var j=Number.MIN_VALUE;for(var i=0;i<I.length;i++)if(I[i].height>j)j=I[i].height;if(Y>0)j+=R.verticalPadding;var a=R.rowHeight[Y]+R.rowHeight[h];if(R.rowHeight[Y]=j,R.rowHeight[h]<O.height+R.verticalPadding)R.rowHeight[h]=O.height+R.verticalPadding;var $=R.rowHeight[Y]+R.rowHeight[h];R.height+=$-a,this.shiftToLastRow(R)}},W.prototype.tilingPreLayout=function(){if(Z.TILE)this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers()},W.prototype.tilingPostLayout=function(){if(Z.TILE)this.repopulateZeroDegreeMembers(),this.repopulateCompounds()},W.prototype.reduceTrees=function(){var R=[],Y=!0,h;while(Y){var I=this.graphManager.getAllNodes(),O=[];Y=!1;for(var V=0;V<I.length;V++)if(h=I[V],h.getEdges().length==1&&!h.getEdges()[0].isInterGraph&&h.getChild()==null){if(Z.PURE_INCREMENTAL){var j=h.getEdges()[0].getOtherEnd(h),i=new H(h.getCenterX()-j.getCenterX(),h.getCenterY()-j.getCenterY());O.push([h,h.getEdges()[0],h.getOwner(),i])}else O.push([h,h.getEdges()[0],h.getOwner()]);Y=!0}if(Y==!0){var a=[];for(var $=0;$<O.length;$++)if(O[$][0].getEdges().length==1)a.push(O[$]),O[$][0].getOwner().remove(O[$][0]);R.push(a),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=R},W.prototype.growTree=function(R){var Y=R.length,h=R[Y-1],I;for(var O=0;O<h.length;O++)I=h[O],this.findPlaceforPrunedNode(I),I[2].add(I[0]),I[2].add(I[1],I[1].source,I[1].target);R.splice(R.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},W.prototype.findPlaceforPrunedNode=function(R){var Y,h,I=R[0];if(I==R[1].source)h=R[1].target;else h=R[1].source;if(Z.PURE_INCREMENTAL)I.setCenter(h.getCenterX()+R[3].getWidth(),h.getCenterY()+R[3].getHeight());else{var{startX:O,finishX:V,startY:j,finishY:i}=h,a=0,$=0,m=0,y=0,r=[a,m,$,y];if(j>0)for(var _=O;_<=V;_++)r[0]+=this.grid[_][j-1].length+this.grid[_][j].length-1;if(V<this.grid.length-1)for(var _=j;_<=i;_++)r[1]+=this.grid[V+1][_].length+this.grid[V][_].length-1;if(i<this.grid[0].length-1)for(var _=O;_<=V;_++)r[2]+=this.grid[_][i+1].length+this.grid[_][i].length-1;if(O>0)for(var _=j;_<=i;_++)r[3]+=this.grid[O-1][_].length+this.grid[O][_].length-1;var e=q.MAX_VALUE,p,b0;for(var B0=0;B0<r.length;B0++)if(r[B0]<e)e=r[B0],p=1,b0=B0;else if(r[B0]==e)p++;if(p==3&&e==0){if(r[0]==0&&r[1]==0&&r[2]==0)Y=1;else if(r[0]==0&&r[1]==0&&r[3]==0)Y=0;else if(r[0]==0&&r[2]==0&&r[3]==0)Y=3;else if(r[1]==0&&r[2]==0&&r[3]==0)Y=2}else if(p==2&&e==0){var k0=Math.floor(Math.random()*2);if(r[0]==0&&r[1]==0)if(k0==0)Y=0;else Y=1;else if(r[0]==0&&r[2]==0)if(k0==0)Y=0;else Y=2;else if(r[0]==0&&r[3]==0)if(k0==0)Y=0;else Y=3;else if(r[1]==0&&r[2]==0)if(k0==0)Y=1;else Y=2;else if(r[1]==0&&r[3]==0)if(k0==0)Y=1;else Y=3;else if(k0==0)Y=2;else Y=3}else if(p==4&&e==0){var k0=Math.floor(Math.random()*4);Y=k0}else Y=b0;if(Y==0)I.setCenter(h.getCenterX(),h.getCenterY()-h.getHeight()/2-K.DEFAULT_EDGE_LENGTH-I.getHeight()/2);else if(Y==1)I.setCenter(h.getCenterX()+h.getWidth()/2+K.DEFAULT_EDGE_LENGTH+I.getWidth()/2,h.getCenterY());else if(Y==2)I.setCenter(h.getCenterX(),h.getCenterY()+h.getHeight()/2+K.DEFAULT_EDGE_LENGTH+I.getHeight()/2);else I.setCenter(h.getCenterX()-h.getWidth()/2-K.DEFAULT_EDGE_LENGTH-I.getWidth()/2,h.getCenterY())}},D.exports=W},991:(D,F,U)=>{var z=U(551).FDLayoutNode,k=U(551).IMath;function f(b,Z,J,K){z.call(this,b,Z,J,K)}f.prototype=Object.create(z.prototype);for(var M in z)f[M]=z[M];f.prototype.calculateDisplacement=function(){var b=this.graphManager.getLayout();if(this.getChild()!=null&&this.fixedNodeWeight)this.displacementX+=b.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=b.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight;else this.displacementX+=b.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=b.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren;if(Math.abs(this.displacementX)>b.coolingFactor*b.maxNodeDisplacement)this.displacementX=b.coolingFactor*b.maxNodeDisplacement*k.sign(this.displacementX);if(Math.abs(this.displacementY)>b.coolingFactor*b.maxNodeDisplacement)this.displacementY=b.coolingFactor*b.maxNodeDisplacement*k.sign(this.displacementY);if(this.child&&this.child.getNodes().length>0)this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(b,Z){var J=this.getChild().getNodes(),K;for(var w=0;w<J.length;w++)if(K=J[w],K.getChild()==null)K.displacementX+=b,K.displacementY+=Z;else K.propogateDisplacementToChildren(b,Z)},f.prototype.move=function(){var b=this.graphManager.getLayout();if(this.child==null||this.child.getNodes().length==0)this.moveBy(this.displacementX,this.displacementY),b.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY);this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},f.prototype.setPred1=function(b){this.pred1=b},f.prototype.getPred1=function(){return pred1},f.prototype.getPred2=function(){return pred2},f.prototype.setNext=function(b){this.next=b},f.prototype.getNext=function(){return next},f.prototype.setProcessed=function(b){this.processed=b},f.prototype.isProcessed=function(){return processed},D.exports=f},902:(D,F,U)=>{function z(J){if(Array.isArray(J)){for(var K=0,w=Array(J.length);K<J.length;K++)w[K]=J[K];return w}else return Array.from(J)}var k=U(806),f=U(551).LinkedList,M=U(551).Matrix,b=U(551).SVD;function Z(){}Z.handleConstraints=function(J){var K={};K.fixedNodeConstraint=J.constraints.fixedNodeConstraint,K.alignmentConstraint=J.constraints.alignmentConstraint,K.relativePlacementConstraint=J.constraints.relativePlacementConstraint;var w=new Map,Q=new Map,G=[],H=[],l=J.getAllNodes(),q=0;for(var L=0;L<l.length;L++){var v=l[L];if(v.getChild()==null)Q.set(v.id,q++),G.push(v.getCenterX()),H.push(v.getCenterY()),w.set(v.id,v)}if(K.relativePlacementConstraint)K.relativePlacementConstraint.forEach(function(n){if(!n.gap&&n.gap!=0)if(n.left)n.gap=k.DEFAULT_EDGE_LENGTH+w.get(n.left).getWidth()/2+w.get(n.right).getWidth()/2;else n.gap=k.DEFAULT_EDGE_LENGTH+w.get(n.top).getHeight()/2+w.get(n.bottom).getHeight()/2});var x=function(d,q0){return{x:d.x-q0.x,y:d.y-q0.y}},S=function(d){var q0=0,o=0;return d.forEach(function(l0){q0+=G[Q.get(l0)],o+=H[Q.get(l0)]}),{x:q0/d.size,y:o/d.size}},W=function(d,q0,o,l0,E0){function $0(zu,S0){var yu=new Set(zu),V0=!0,xu=!1,gu=void 0;try{for(var Du=S0[Symbol.iterator](),Nu;!(V0=(Nu=Du.next()).done);V0=!0){var du=Nu.value;yu.add(du)}}catch(Iu){xu=!0,gu=Iu}finally{try{if(!V0&&Du.return)Du.return()}finally{if(xu)throw gu}}return yu}var g0=new Map;d.forEach(function(zu,S0){g0.set(S0,0)}),d.forEach(function(zu,S0){zu.forEach(function(yu){g0.set(yu.id,g0.get(yu.id)+1)})});var n0=new Map,c0=new Map,Bu=new f;if(g0.forEach(function(zu,S0){if(zu==0){if(Bu.push(S0),!o)if(q0=="horizontal")n0.set(S0,Q.has(S0)?G[Q.get(S0)]:l0.get(S0));else n0.set(S0,Q.has(S0)?H[Q.get(S0)]:l0.get(S0))}else n0.set(S0,Number.NEGATIVE_INFINITY);if(o)c0.set(S0,new Set([S0]))}),o)E0.forEach(function(zu){var S0=[];if(zu.forEach(function(xu){if(o.has(xu))S0.push(xu)}),S0.length>0){var yu=0;S0.forEach(function(xu){if(q0=="horizontal")n0.set(xu,Q.has(xu)?G[Q.get(xu)]:l0.get(xu)),yu+=n0.get(xu);else n0.set(xu,Q.has(xu)?H[Q.get(xu)]:l0.get(xu)),yu+=n0.get(xu)}),yu=yu/S0.length,zu.forEach(function(xu){if(!o.has(xu))n0.set(xu,yu)})}else{var V0=0;zu.forEach(function(xu){if(q0=="horizontal")V0+=Q.has(xu)?G[Q.get(xu)]:l0.get(xu);else V0+=Q.has(xu)?H[Q.get(xu)]:l0.get(xu)}),V0=V0/zu.length,zu.forEach(function(xu){n0.set(xu,V0)})}});var p0=function(){var S0=Bu.shift(),yu=d.get(S0);yu.forEach(function(V0){if(n0.get(V0.id)<n0.get(S0)+V0.gap)if(o&&o.has(V0.id)){var xu=void 0;if(q0=="horizontal")xu=Q.has(V0.id)?G[Q.get(V0.id)]:l0.get(V0.id);else xu=Q.has(V0.id)?H[Q.get(V0.id)]:l0.get(V0.id);if(n0.set(V0.id,xu),xu<n0.get(S0)+V0.gap){var gu=n0.get(S0)+V0.gap-xu;c0.get(S0).forEach(function(Du){n0.set(Du,n0.get(Du)-gu)})}}else n0.set(V0.id,n0.get(S0)+V0.gap);if(g0.set(V0.id,g0.get(V0.id)-1),g0.get(V0.id)==0)Bu.push(V0.id);if(o)c0.set(V0.id,$0(c0.get(S0),c0.get(V0.id)))})};while(Bu.length!=0)p0();if(o){var e0=new Set;d.forEach(function(zu,S0){if(zu.length==0)e0.add(S0)});var t0=[];c0.forEach(function(zu,S0){if(e0.has(S0)){var yu=!1,V0=!0,xu=!1,gu=void 0;try{for(var Du=zu[Symbol.iterator](),Nu;!(V0=(Nu=Du.next()).done);V0=!0){var du=Nu.value;if(o.has(du))yu=!0}}catch(Tu){xu=!0,gu=Tu}finally{try{if(!V0&&Du.return)Du.return()}finally{if(xu)throw gu}}if(!yu){var Iu=!1,v0=void 0;if(t0.forEach(function(Tu,iu){if(Tu.has([].concat(z(zu))[0]))Iu=!0,v0=iu}),!Iu)t0.push(new Set(zu));else zu.forEach(function(Tu){t0[v0].add(Tu)})}}}),t0.forEach(function(zu,S0){var{POSITIVE_INFINITY:yu,POSITIVE_INFINITY:V0,NEGATIVE_INFINITY:xu,NEGATIVE_INFINITY:gu}=Number,Du=!0,Nu=!1,du=void 0;try{for(var Iu=zu[Symbol.iterator](),v0;!(Du=(v0=Iu.next()).done);Du=!0){var Tu=v0.value,iu=void 0;if(q0=="horizontal")iu=Q.has(Tu)?G[Q.get(Tu)]:l0.get(Tu);else iu=Q.has(Tu)?H[Q.get(Tu)]:l0.get(Tu);var Ju=n0.get(Tu);if(iu<yu)yu=iu;if(iu>xu)xu=iu;if(Ju<V0)V0=Ju;if(Ju>gu)gu=Ju}}catch(F3){Nu=!0,du=F3}finally{try{if(!Du&&Iu.return)Iu.return()}finally{if(Nu)throw du}}var I0=(yu+xu)/2-(V0+gu)/2,Mu=!0,qu=!1,Ru=void 0;try{for(var S4=zu[Symbol.iterator](),$u;!(Mu=($u=S4.next()).done);Mu=!0){var L4=$u.value;n0.set(L4,n0.get(L4)+I0)}}catch(F3){qu=!0,Ru=F3}finally{try{if(!Mu&&S4.return)S4.return()}finally{if(qu)throw Ru}}})}return n0},T=function(d){var q0=0,o=0,l0=0,E0=0;if(d.forEach(function(c0){if(c0.left)G[Q.get(c0.left)]-G[Q.get(c0.right)]>=0?q0++:o++;else H[Q.get(c0.top)]-H[Q.get(c0.bottom)]>=0?l0++:E0++}),q0>o&&l0>E0)for(var $0=0;$0<Q.size;$0++)G[$0]=-1*G[$0],H[$0]=-1*H[$0];else if(q0>o)for(var g0=0;g0<Q.size;g0++)G[g0]=-1*G[g0];else if(l0>E0)for(var n0=0;n0<Q.size;n0++)H[n0]=-1*H[n0]},R=function(d){var q0=[],o=new f,l0=new Set,E0=0;return d.forEach(function($0,g0){if(!l0.has(g0)){q0[E0]=[];var n0=g0;o.push(n0),l0.add(n0),q0[E0].push(n0);while(o.length!=0){n0=o.shift();var c0=d.get(n0);c0.forEach(function(Bu){if(!l0.has(Bu.id))o.push(Bu.id),l0.add(Bu.id),q0[E0].push(Bu.id)})}E0++}}),q0},Y=function(d){var q0=new Map;return d.forEach(function(o,l0){q0.set(l0,[])}),d.forEach(function(o,l0){o.forEach(function(E0){q0.get(l0).push(E0),q0.get(E0.id).push({id:l0,gap:E0.gap,direction:E0.direction})})}),q0},h=function(d){var q0=new Map;return d.forEach(function(o,l0){q0.set(l0,[])}),d.forEach(function(o,l0){o.forEach(function(E0){q0.get(E0.id).push({id:l0,gap:E0.gap,direction:E0.direction})})}),q0},I=[],O=[],V=!1,j=!1,i=new Set,a=new Map,$=new Map,m=[];if(K.fixedNodeConstraint)K.fixedNodeConstraint.forEach(function(n){i.add(n.nodeId)});if(K.relativePlacementConstraint)K.relativePlacementConstraint.forEach(function(n){if(n.left){if(a.has(n.left))a.get(n.left).push({id:n.right,gap:n.gap,direction:"horizontal"});else a.set(n.left,[{id:n.right,gap:n.gap,direction:"horizontal"}]);if(!a.has(n.right))a.set(n.right,[])}else{if(a.has(n.top))a.get(n.top).push({id:n.bottom,gap:n.gap,direction:"vertical"});else a.set(n.top,[{id:n.bottom,gap:n.gap,direction:"vertical"}]);if(!a.has(n.bottom))a.set(n.bottom,[])}}),$=Y(a),m=R($);if(k.TRANSFORM_ON_CONSTRAINT_HANDLING){if(K.fixedNodeConstraint&&K.fixedNodeConstraint.length>1)K.fixedNodeConstraint.forEach(function(n,d){I[d]=[n.position.x,n.position.y],O[d]=[G[Q.get(n.nodeId)],H[Q.get(n.nodeId)]]}),V=!0;else if(K.alignmentConstraint)(function(){var n=0;if(K.alignmentConstraint.vertical){var d=K.alignmentConstraint.vertical,q0=function(n0){var c0=new Set;d[n0].forEach(function(e0){c0.add(e0)});var Bu=new Set([].concat(z(c0)).filter(function(e0){return i.has(e0)})),p0=void 0;if(Bu.size>0)p0=G[Q.get(Bu.values().next().value)];else p0=S(c0).x;d[n0].forEach(function(e0){I[n]=[p0,H[Q.get(e0)]],O[n]=[G[Q.get(e0)],H[Q.get(e0)]],n++})};for(var o=0;o<d.length;o++)q0(o);V=!0}if(K.alignmentConstraint.horizontal){var l0=K.alignmentConstraint.horizontal,E0=function(n0){var c0=new Set;l0[n0].forEach(function(e0){c0.add(e0)});var Bu=new Set([].concat(z(c0)).filter(function(e0){return i.has(e0)})),p0=void 0;if(Bu.size>0)p0=G[Q.get(Bu.values().next().value)];else p0=S(c0).y;l0[n0].forEach(function(e0){I[n]=[G[Q.get(e0)],p0],O[n]=[G[Q.get(e0)],H[Q.get(e0)]],n++})};for(var $0=0;$0<l0.length;$0++)E0($0);V=!0}if(K.relativePlacementConstraint)j=!0})();else if(K.relativePlacementConstraint){var y=0,r=0;for(var _=0;_<m.length;_++)if(m[_].length>y)y=m[_].length,r=_;if(y<$.size/2)T(K.relativePlacementConstraint),V=!1,j=!1;else{var e=new Map,p=new Map,b0=[];m[r].forEach(function(n){a.get(n).forEach(function(d){if(d.direction=="horizontal"){if(e.has(n))e.get(n).push(d);else e.set(n,[d]);if(!e.has(d.id))e.set(d.id,[]);b0.push({left:n,right:d.id})}else{if(p.has(n))p.get(n).push(d);else p.set(n,[d]);if(!p.has(d.id))p.set(d.id,[]);b0.push({top:n,bottom:d.id})}})}),T(b0),j=!1;var B0=W(e,"horizontal"),k0=W(p,"vertical");m[r].forEach(function(n,d){if(O[d]=[G[Q.get(n)],H[Q.get(n)]],I[d]=[],B0.has(n))I[d][0]=B0.get(n);else I[d][0]=G[Q.get(n)];if(k0.has(n))I[d][1]=k0.get(n);else I[d][1]=H[Q.get(n)]}),V=!0}}if(V){var f0=void 0,D0=M.transpose(I),P0=M.transpose(O);for(var L0=0;L0<D0.length;L0++)D0[L0]=M.multGamma(D0[L0]),P0[L0]=M.multGamma(P0[L0]);var m0=M.multMat(D0,M.transpose(P0)),h0=b.svd(m0);f0=M.multMat(h0.V,M.transpose(h0.U));for(var _0=0;_0<Q.size;_0++){var w0=[G[_0],H[_0]],x0=[f0[0][0],f0[1][0]],T0=[f0[0][1],f0[1][1]];G[_0]=M.dotProduct(w0,x0),H[_0]=M.dotProduct(w0,T0)}if(j)T(K.relativePlacementConstraint)}}if(k.ENFORCE_CONSTRAINTS){if(K.fixedNodeConstraint&&K.fixedNodeConstraint.length>0){var J0={x:0,y:0};K.fixedNodeConstraint.forEach(function(n,d){var q0={x:G[Q.get(n.nodeId)],y:H[Q.get(n.nodeId)]},o=n.position,l0=x(o,q0);J0.x+=l0.x,J0.y+=l0.y}),J0.x/=K.fixedNodeConstraint.length,J0.y/=K.fixedNodeConstraint.length,G.forEach(function(n,d){G[d]+=J0.x}),H.forEach(function(n,d){H[d]+=J0.y}),K.fixedNodeConstraint.forEach(function(n){G[Q.get(n.nodeId)]=n.position.x,H[Q.get(n.nodeId)]=n.position.y})}if(K.alignmentConstraint){if(K.alignmentConstraint.vertical){var F0=K.alignmentConstraint.vertical,u0=function(d){var q0=new Set;F0[d].forEach(function(E0){q0.add(E0)});var o=new Set([].concat(z(q0)).filter(function(E0){return i.has(E0)})),l0=void 0;if(o.size>0)l0=G[Q.get(o.values().next().value)];else l0=S(q0).x;q0.forEach(function(E0){if(!i.has(E0))G[Q.get(E0)]=l0})};for(var Z0=0;Z0<F0.length;Z0++)u0(Z0)}if(K.alignmentConstraint.horizontal){var X0=K.alignmentConstraint.horizontal,W0=function(d){var q0=new Set;X0[d].forEach(function(E0){q0.add(E0)});var o=new Set([].concat(z(q0)).filter(function(E0){return i.has(E0)})),l0=void 0;if(o.size>0)l0=H[Q.get(o.values().next().value)];else l0=S(q0).y;q0.forEach(function(E0){if(!i.has(E0))H[Q.get(E0)]=l0})};for(var Y0=0;Y0<X0.length;Y0++)W0(Y0)}}if(K.relativePlacementConstraint)(function(){var n=new Map,d=new Map,q0=new Map,o=new Map,l0=new Map,E0=new Map,$0=new Set,g0=new Set;if(i.forEach(function(E3){$0.add(E3),g0.add(E3)}),K.alignmentConstraint){if(K.alignmentConstraint.vertical){var n0=K.alignmentConstraint.vertical,c0=function(eu){q0.set("dummy"+eu,[]),n0[eu].forEach(function(hu){if(n.set(hu,"dummy"+eu),q0.get("dummy"+eu).push(hu),i.has(hu))$0.add("dummy"+eu)}),l0.set("dummy"+eu,G[Q.get(n0[eu][0])])};for(var Bu=0;Bu<n0.length;Bu++)c0(Bu)}if(K.alignmentConstraint.horizontal){var p0=K.alignmentConstraint.horizontal,e0=function(eu){o.set("dummy"+eu,[]),p0[eu].forEach(function(hu){if(d.set(hu,"dummy"+eu),o.get("dummy"+eu).push(hu),i.has(hu))g0.add("dummy"+eu)}),E0.set("dummy"+eu,H[Q.get(p0[eu][0])])};for(var t0=0;t0<p0.length;t0++)e0(t0)}}var zu=new Map,S0=new Map,yu=function(eu){a.get(eu).forEach(function(hu){var f4=void 0,U4=void 0;if(hu.direction=="horizontal"){if(f4=n.get(eu)?n.get(eu):eu,n.get(hu.id))U4={id:n.get(hu.id),gap:hu.gap,direction:hu.direction};else U4=hu;if(zu.has(f4))zu.get(f4).push(U4);else zu.set(f4,[U4]);if(!zu.has(U4.id))zu.set(U4.id,[])}else{if(f4=d.get(eu)?d.get(eu):eu,d.get(hu.id))U4={id:d.get(hu.id),gap:hu.gap,direction:hu.direction};else U4=hu;if(S0.has(f4))S0.get(f4).push(U4);else S0.set(f4,[U4]);if(!S0.has(U4.id))S0.set(U4.id,[])}})},V0=!0,xu=!1,gu=void 0;try{for(var Du=a.keys()[Symbol.iterator](),Nu;!(V0=(Nu=Du.next()).done);V0=!0){var du=Nu.value;yu(du)}}catch(E3){xu=!0,gu=E3}finally{try{if(!V0&&Du.return)Du.return()}finally{if(xu)throw gu}}var Iu=Y(zu),v0=Y(S0),Tu=R(Iu),iu=R(v0),Ju=h(zu),I0=h(S0),Mu=[],qu=[];Tu.forEach(function(E3,eu){Mu[eu]=[],E3.forEach(function(hu){if(Ju.get(hu).length==0)Mu[eu].push(hu)})}),iu.forEach(function(E3,eu){qu[eu]=[],E3.forEach(function(hu){if(I0.get(hu).length==0)qu[eu].push(hu)})});var Ru=W(zu,"horizontal",$0,l0,Mu),S4=W(S0,"vertical",g0,E0,qu),$u=function(eu){if(q0.get(eu))q0.get(eu).forEach(function(hu){G[Q.get(hu)]=Ru.get(eu)});else G[Q.get(eu)]=Ru.get(eu)},L4=!0,F3=!1,V4=void 0;try{for(var b4=Ru.keys()[Symbol.iterator](),P4;!(L4=(P4=b4.next()).done);L4=!0){var bu=P4.value;$u(bu)}}catch(E3){F3=!0,V4=E3}finally{try{if(!L4&&b4.return)b4.return()}finally{if(F3)throw V4}}var Lu=function(eu){if(o.get(eu))o.get(eu).forEach(function(hu){H[Q.get(hu)]=S4.get(eu)});else H[Q.get(eu)]=S4.get(eu)},pu=!0,g4=!1,y4=void 0;try{for(var B3=S4.keys()[Symbol.iterator](),k1;!(pu=(k1=B3.next()).done);pu=!0){var bu=k1.value;Lu(bu)}}catch(E3){g4=!0,y4=E3}finally{try{if(!pu&&B3.return)B3.return()}finally{if(g4)throw y4}}})()}for(var a0=0;a0<l.length;a0++){var K0=l[a0];if(K0.getChild()==null)K0.setCenter(G[Q.get(K0.id)],H[Q.get(K0.id)])}},D.exports=Z},551:(D)=>{D.exports=u}},E={};function A(D){var F=E[D];if(F!==void 0)return F.exports;var U=E[D]={exports:{}};return B[D](U,U.exports,A),U.exports}var C=A(45);return C})()})});var IBu=N1((QT,LU0)=>{(function(B,E){if(typeof QT==="object"&&typeof LU0==="object")LU0.exports=E(lU0());else if(typeof define==="function"&&define.amd)define(["cose-base"],E);else if(typeof QT==="object")QT.cytoscapeFcose=E(lU0());else B.cytoscapeFcose=E(B.coseBase)})(QT,function(u){return(()=>{var B={658:(D)=>{D.exports=Object.assign!=null?Object.assign.bind(Object):function(F){for(var U=arguments.length,z=Array(U>1?U-1:0),k=1;k<U;k++)z[k-1]=arguments[k];return z.forEach(function(f){Object.keys(f).forEach(function(M){return F[M]=f[M]})}),F}},548:(D,F,U)=>{var z=function(){function M(b,Z){var J=[],K=!0,w=!1,Q=void 0;try{for(var G=b[Symbol.iterator](),H;!(K=(H=G.next()).done);K=!0)if(J.push(H.value),Z&&J.length===Z)break}catch(l){w=!0,Q=l}finally{try{if(!K&&G.return)G.return()}finally{if(w)throw Q}}return J}return function(b,Z){if(Array.isArray(b))return b;else if(Symbol.iterator in Object(b))return M(b,Z);else throw TypeError("Invalid attempt to destructure non-iterable instance")}}(),k=U(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(M){var b={};for(var Z=0;Z<M.length;Z++)b[M[Z].id()]=!0;var J=M.filter(function(K,w){if(typeof K==="number")K=w;var Q=K.parent()[0];while(Q!=null){if(b[Q.id()])return!1;Q=Q.parent()[0]}return!0});return J},f.connectComponents=function(M,b,Z,J){var K=new k,w=new Set,Q=[],G=void 0,H=void 0,l=void 0,q=!1,L=1,v=[],x=[],S=function(){var T=M.collection();x.push(T);var R=Z[0],Y=M.collection();Y.merge(R).merge(R.descendants().intersection(b)),Q.push(R),Y.forEach(function(O){K.push(O),w.add(O),T.merge(O)});var h=function(){R=K.shift();var V=M.collection();R.neighborhood().nodes().forEach(function($){if(b.intersection(R.edgesWith($)).length>0)V.merge($)});for(var j=0;j<V.length;j++){var i=V[j];if(G=Z.intersection(i.union(i.ancestors())),G!=null&&!w.has(G[0])){var a=G.union(G.descendants());a.forEach(function($){if(K.push($),w.add($),T.merge($),Z.has($))Q.push($)})}}};while(K.length!=0)h();if(T.forEach(function(O){b.intersection(O.connectedEdges()).forEach(function(V){if(T.has(V.source())&&T.has(V.target()))T.merge(V)})}),Q.length==Z.length)q=!0;if(!q||q&&L>1){H=Q[0],l=H.connectedEdges().length,Q.forEach(function(O){if(O.connectedEdges().length<l)l=O.connectedEdges().length,H=O}),v.push(H.id());var I=M.collection();I.merge(Q[0]),Q.forEach(function(O){I.merge(O)}),Q=[],Z=Z.difference(I),L++}};do S();while(!q);if(J){if(v.length>0)J.set("dummy"+(J.size+1),v)}return x},f.relocateComponent=function(M,b,Z){if(!Z.fixedNodeConstraint){var{POSITIVE_INFINITY:J,NEGATIVE_INFINITY:K,POSITIVE_INFINITY:w,NEGATIVE_INFINITY:Q}=Number;if(Z.quality=="draft"){var G=!0,H=!1,l=void 0;try{for(var q=b.nodeIndexes[Symbol.iterator](),L;!(G=(L=q.next()).done);G=!0){var v=L.value,x=z(v,2),S=x[0],W=x[1],T=Z.cy.getElementById(S);if(T){var R=T.boundingBox(),Y=b.xCoords[W]-R.w/2,h=b.xCoords[W]+R.w/2,I=b.yCoords[W]-R.h/2,O=b.yCoords[W]+R.h/2;if(Y<J)J=Y;if(h>K)K=h;if(I<w)w=I;if(O>Q)Q=O}}}catch($){H=!0,l=$}finally{try{if(!G&&q.return)q.return()}finally{if(H)throw l}}var V=M.x-(K+J)/2,j=M.y-(Q+w)/2;b.xCoords=b.xCoords.map(function($){return $+V}),b.yCoords=b.yCoords.map(function($){return $+j})}else{Object.keys(b).forEach(function($){var m=b[$],y=m.getRect().x,r=m.getRect().x+m.getRect().width,_=m.getRect().y,e=m.getRect().y+m.getRect().height;if(y<J)J=y;if(r>K)K=r;if(_<w)w=_;if(e>Q)Q=e});var i=M.x-(K+J)/2,a=M.y-(Q+w)/2;Object.keys(b).forEach(function($){var m=b[$];m.setCenter(m.getCenterX()+i,m.getCenterY()+a)})}}},f.calcBoundingBox=function(M,b,Z,J){var{MAX_SAFE_INTEGER:K,MIN_SAFE_INTEGER:w,MAX_SAFE_INTEGER:Q,MIN_SAFE_INTEGER:G}=Number,H=void 0,l=void 0,q=void 0,L=void 0,v=M.descendants().not(":parent"),x=v.length;for(var S=0;S<x;S++){var W=v[S];if(H=b[J.get(W.id())]-W.width()/2,l=b[J.get(W.id())]+W.width()/2,q=Z[J.get(W.id())]-W.height()/2,L=Z[J.get(W.id())]+W.height()/2,K>H)K=H;if(w<l)w=l;if(Q>q)Q=q;if(G<L)G=L}var T={};return T.topLeftX=K,T.topLeftY=Q,T.width=w-K,T.height=G-Q,T},f.calcParentsWithoutChildren=function(M,b){var Z=M.collection();return b.nodes(":parent").forEach(function(J){var K=!1;if(J.children().forEach(function(w){if(w.css("display")!="none")K=!0}),!K)Z.merge(J)}),Z},D.exports=f},816:(D,F,U)=>{var z=U(548),k=U(140).CoSELayout,f=U(140).CoSENode,M=U(140).layoutBase.PointD,b=U(140).layoutBase.DimensionD,Z=U(140).layoutBase.LayoutConstants,J=U(140).layoutBase.FDLayoutConstants,K=U(140).CoSEConstants,w=function(G,H){var{cy:l,eles:q}=G,L=q.nodes(),v=q.edges(),x=void 0,S=void 0,W=void 0,T={};if(G.randomize)x=H.nodeIndexes,S=H.xCoords,W=H.yCoords;var R=function($){return typeof $==="function"},Y=function($,m){if(R($))return $(m);else return $},h=z.calcParentsWithoutChildren(l,q),I=function a($,m,y,r){var _=m.length;for(var e=0;e<_;e++){var p=m[e],b0=null;if(p.intersection(h).length==0)b0=p.children();var B0=void 0,k0=p.layoutDimensions({nodeDimensionsIncludeLabels:r.nodeDimensionsIncludeLabels});if(p.outerWidth()!=null&&p.outerHeight()!=null)if(r.randomize)if(!p.isParent())B0=$.add(new f(y.graphManager,new M(S[x.get(p.id())]-k0.w/2,W[x.get(p.id())]-k0.h/2),new b(parseFloat(k0.w),parseFloat(k0.h))));else{var f0=z.calcBoundingBox(p,S,W,x);if(p.intersection(h).length==0)B0=$.add(new f(y.graphManager,new M(f0.topLeftX,f0.topLeftY),new b(f0.width,f0.height)));else B0=$.add(new f(y.graphManager,new M(f0.topLeftX,f0.topLeftY),new b(parseFloat(k0.w),parseFloat(k0.h))))}else B0=$.add(new f(y.graphManager,new M(p.position("x")-k0.w/2,p.position("y")-k0.h/2),new b(parseFloat(k0.w),parseFloat(k0.h))));else B0=$.add(new f(this.graphManager));if(B0.id=p.data("id"),B0.nodeRepulsion=Y(r.nodeRepulsion,p),B0.paddingLeft=parseInt(p.css("padding")),B0.paddingTop=parseInt(p.css("padding")),B0.paddingRight=parseInt(p.css("padding")),B0.paddingBottom=parseInt(p.css("padding")),r.nodeDimensionsIncludeLabels)B0.labelWidth=p.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,B0.labelHeight=p.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,B0.labelPosVertical=p.css("text-valign"),B0.labelPosHorizontal=p.css("text-halign");if(T[p.data("id")]=B0,isNaN(B0.rect.x))B0.rect.x=0;if(isNaN(B0.rect.y))B0.rect.y=0;if(b0!=null&&b0.length>0){var D0=void 0;D0=y.getGraphManager().add(y.newGraph(),B0),a(D0,b0,y,r)}}},O=function($,m,y){var r=0,_=0;for(var e=0;e<y.length;e++){var p=y[e],b0=T[p.data("source")],B0=T[p.data("target")];if(b0&&B0&&b0!==B0&&b0.getEdgesBetween(B0).length==0){var k0=m.add($.newEdge(),b0,B0);k0.id=p.id(),k0.idealLength=Y(G.idealEdgeLength,p),k0.edgeElasticity=Y(G.edgeElasticity,p),r+=k0.idealLength,_++}}if(G.idealEdgeLength!=null){if(_>0)K.DEFAULT_EDGE_LENGTH=J.DEFAULT_EDGE_LENGTH=r/_;else if(!R(G.idealEdgeLength))K.DEFAULT_EDGE_LENGTH=J.DEFAULT_EDGE_LENGTH=G.idealEdgeLength;else K.DEFAULT_EDGE_LENGTH=J.DEFAULT_EDGE_LENGTH=50;K.MIN_REPULSION_DIST=J.MIN_REPULSION_DIST=J.DEFAULT_EDGE_LENGTH/10,K.DEFAULT_RADIAL_SEPARATION=J.DEFAULT_EDGE_LENGTH}},V=function($,m){if(m.fixedNodeConstraint)$.constraints.fixedNodeConstraint=m.fixedNodeConstraint;if(m.alignmentConstraint)$.constraints.alignmentConstraint=m.alignmentConstraint;if(m.relativePlacementConstraint)$.constraints.relativePlacementConstraint=m.relativePlacementConstraint};if(G.nestingFactor!=null)K.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=J.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=G.nestingFactor;if(G.gravity!=null)K.DEFAULT_GRAVITY_STRENGTH=J.DEFAULT_GRAVITY_STRENGTH=G.gravity;if(G.numIter!=null)K.MAX_ITERATIONS=J.MAX_ITERATIONS=G.numIter;if(G.gravityRange!=null)K.DEFAULT_GRAVITY_RANGE_FACTOR=J.DEFAULT_GRAVITY_RANGE_FACTOR=G.gravityRange;if(G.gravityCompound!=null)K.DEFAULT_COMPOUND_GRAVITY_STRENGTH=J.DEFAULT_COMPOUND_GRAVITY_STRENGTH=G.gravityCompound;if(G.gravityRangeCompound!=null)K.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=J.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=G.gravityRangeCompound;if(G.initialEnergyOnIncremental!=null)K.DEFAULT_COOLING_FACTOR_INCREMENTAL=J.DEFAULT_COOLING_FACTOR_INCREMENTAL=G.initialEnergyOnIncremental;if(G.tilingCompareBy!=null)K.TILING_COMPARE_BY=G.tilingCompareBy;if(G.quality=="proof")Z.QUALITY=2;else Z.QUALITY=0;if(K.NODE_DIMENSIONS_INCLUDE_LABELS=J.NODE_DIMENSIONS_INCLUDE_LABELS=Z.NODE_DIMENSIONS_INCLUDE_LABELS=G.nodeDimensionsIncludeLabels,K.DEFAULT_INCREMENTAL=J.DEFAULT_INCREMENTAL=Z.DEFAULT_INCREMENTAL=!G.randomize,K.ANIMATE=J.ANIMATE=Z.ANIMATE=G.animate,K.TILE=G.tile,K.TILING_PADDING_VERTICAL=typeof G.tilingPaddingVertical==="function"?G.tilingPaddingVertical.call():G.tilingPaddingVertical,K.TILING_PADDING_HORIZONTAL=typeof G.tilingPaddingHorizontal==="function"?G.tilingPaddingHorizontal.call():G.tilingPaddingHorizontal,K.DEFAULT_INCREMENTAL=J.DEFAULT_INCREMENTAL=Z.DEFAULT_INCREMENTAL=!0,K.PURE_INCREMENTAL=!G.randomize,Z.DEFAULT_UNIFORM_LEAF_NODE_SIZES=G.uniformNodeDimensions,G.step=="transformed")K.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,K.ENFORCE_CONSTRAINTS=!1,K.APPLY_LAYOUT=!1;if(G.step=="enforced")K.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,K.ENFORCE_CONSTRAINTS=!0,K.APPLY_LAYOUT=!1;if(G.step=="cose")K.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,K.ENFORCE_CONSTRAINTS=!1,K.APPLY_LAYOUT=!0;if(G.step=="all"){if(G.randomize)K.TRANSFORM_ON_CONSTRAINT_HANDLING=!0;else K.TRANSFORM_ON_CONSTRAINT_HANDLING=!1;K.ENFORCE_CONSTRAINTS=!0,K.APPLY_LAYOUT=!0}if(G.fixedNodeConstraint||G.alignmentConstraint||G.relativePlacementConstraint)K.TREE_REDUCTION_ON_INCREMENTAL=!1;else K.TREE_REDUCTION_ON_INCREMENTAL=!0;var j=new k,i=j.newGraphManager();return I(i.addRoot(),z.getTopMostNodes(L),j,G),O(j,i,v),V(j,G),j.runLayout(),T};D.exports={coseLayout:w}},212:(D,F,U)=>{var z=function(){function G(H,l){for(var q=0;q<l.length;q++){var L=l[q];if(L.enumerable=L.enumerable||!1,L.configurable=!0,"value"in L)L.writable=!0;Object.defineProperty(H,L.key,L)}}return function(H,l,q){if(l)G(H.prototype,l);if(q)G(H,q);return H}}();function k(G,H){if(!(G instanceof H))throw TypeError("Cannot call a class as a function")}var f=U(658),M=U(548),b=U(657),Z=b.spectralLayout,J=U(816),K=J.coseLayout,w=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1000,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:0.0000001,nodeRepulsion:function(H){return 4500},idealEdgeLength:function(H){return 50},edgeElasticity:function(H){return 0.45},nestingFactor:0.1,gravity:0.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:0.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}}),Q=function(){function G(H){k(this,G),this.options=f({},w,H)}return z(G,[{key:"run",value:function(){var l=this,q=this.options,L=q.cy,v=q.eles,x=[],S=void 0,W=void 0,T=[],R=void 0,Y=[];if(q.fixedNodeConstraint&&(!Array.isArray(q.fixedNodeConstraint)||q.fixedNodeConstraint.length==0))q.fixedNodeConstraint=void 0;if(q.alignmentConstraint){if(q.alignmentConstraint.vertical&&(!Array.isArray(q.alignmentConstraint.vertical)||q.alignmentConstraint.vertical.length==0))q.alignmentConstraint.vertical=void 0;if(q.alignmentConstraint.horizontal&&(!Array.isArray(q.alignmentConstraint.horizontal)||q.alignmentConstraint.horizontal.length==0))q.alignmentConstraint.horizontal=void 0}if(q.relativePlacementConstraint&&(!Array.isArray(q.relativePlacementConstraint)||q.relativePlacementConstraint.length==0))q.relativePlacementConstraint=void 0;var h=q.fixedNodeConstraint||q.alignmentConstraint||q.relativePlacementConstraint;if(h)q.tile=!1,q.packComponents=!1;var I=void 0,O=!1;if(L.layoutUtilities&&q.packComponents){if(I=L.layoutUtilities("get"),!I)I=L.layoutUtilities();O=!0}if(v.nodes().length>0)if(!O){var V=q.eles.boundingBox();if(Y.push({x:V.x1+V.w/2,y:V.y1+V.h/2}),q.randomize){var j=Z(q);x.push(j)}if(q.quality=="default"||q.quality=="proof")T.push(K(q,x[0])),M.relocateComponent(Y[0],T[0],q);else M.relocateComponent(Y[0],x[0],q)}else{var i=M.getTopMostNodes(q.eles.nodes());if(R=M.connectComponents(L,q.eles,i),R.forEach(function(_0){var w0=_0.boundingBox();Y.push({x:w0.x1+w0.w/2,y:w0.y1+w0.h/2})}),q.randomize)R.forEach(function(_0){q.eles=_0,x.push(Z(q))});if(q.quality=="default"||q.quality=="proof"){var a=L.collection();if(q.tile){var $=new Map,m=[],y=[],r=0,_={nodeIndexes:$,xCoords:m,yCoords:y},e=[];if(R.forEach(function(_0,w0){if(_0.edges().length==0)_0.nodes().forEach(function(x0,T0){if(a.merge(_0.nodes()[T0]),!x0.isParent())_.nodeIndexes.set(_0.nodes()[T0].id(),r++),_.xCoords.push(_0.nodes()[0].position().x),_.yCoords.push(_0.nodes()[0].position().y)}),e.push(w0)}),a.length>1){var p=a.boundingBox();Y.push({x:p.x1+p.w/2,y:p.y1+p.h/2}),R.push(a),x.push(_);for(var b0=e.length-1;b0>=0;b0--)R.splice(e[b0],1),x.splice(e[b0],1),Y.splice(e[b0],1)}}R.forEach(function(_0,w0){q.eles=_0,T.push(K(q,x[w0])),M.relocateComponent(Y[w0],T[w0],q)})}else R.forEach(function(_0,w0){M.relocateComponent(Y[w0],x[w0],q)});var B0=new Set;if(R.length>1){var k0=[],f0=v.filter(function(_0){return _0.css("display")=="none"});R.forEach(function(_0,w0){var x0=void 0;if(q.quality=="draft")x0=x[w0].nodeIndexes;if(_0.nodes().not(f0).length>0){var T0={};T0.edges=[],T0.nodes=[];var J0=void 0;if(_0.nodes().not(f0).forEach(function(F0){if(q.quality=="draft")if(!F0.isParent())J0=x0.get(F0.id()),T0.nodes.push({x:x[w0].xCoords[J0]-F0.boundingbox().w/2,y:x[w0].yCoords[J0]-F0.boundingbox().h/2,width:F0.boundingbox().w,height:F0.boundingbox().h});else{var u0=M.calcBoundingBox(F0,x[w0].xCoords,x[w0].yCoords,x0);T0.nodes.push({x:u0.topLeftX,y:u0.topLeftY,width:u0.width,height:u0.height})}else if(T[w0][F0.id()])T0.nodes.push({x:T[w0][F0.id()].getLeft(),y:T[w0][F0.id()].getTop(),width:T[w0][F0.id()].getWidth(),height:T[w0][F0.id()].getHeight()})}),_0.edges().forEach(function(F0){var u0=F0.source(),Z0=F0.target();if(u0.css("display")!="none"&&Z0.css("display")!="none"){if(q.quality=="draft"){var X0=x0.get(u0.id()),W0=x0.get(Z0.id()),Y0=[],a0=[];if(u0.isParent()){var K0=M.calcBoundingBox(u0,x[w0].xCoords,x[w0].yCoords,x0);Y0.push(K0.topLeftX+K0.width/2),Y0.push(K0.topLeftY+K0.height/2)}else Y0.push(x[w0].xCoords[X0]),Y0.push(x[w0].yCoords[X0]);if(Z0.isParent()){var n=M.calcBoundingBox(Z0,x[w0].xCoords,x[w0].yCoords,x0);a0.push(n.topLeftX+n.width/2),a0.push(n.topLeftY+n.height/2)}else a0.push(x[w0].xCoords[W0]),a0.push(x[w0].yCoords[W0]);T0.edges.push({startX:Y0[0],startY:Y0[1],endX:a0[0],endY:a0[1]})}else if(T[w0][u0.id()]&&T[w0][Z0.id()])T0.edges.push({startX:T[w0][u0.id()].getCenterX(),startY:T[w0][u0.id()].getCenterY(),endX:T[w0][Z0.id()].getCenterX(),endY:T[w0][Z0.id()].getCenterY()})}}),T0.nodes.length>0)k0.push(T0),B0.add(w0)}});var D0=I.packComponents(k0,q.randomize).shifts;if(q.quality=="draft")x.forEach(function(_0,w0){var x0=_0.xCoords.map(function(J0){return J0+D0[w0].dx}),T0=_0.yCoords.map(function(J0){return J0+D0[w0].dy});_0.xCoords=x0,_0.yCoords=T0});else{var P0=0;B0.forEach(function(_0){Object.keys(T[_0]).forEach(function(w0){var x0=T[_0][w0];x0.setCenter(x0.getCenterX()+D0[P0].dx,x0.getCenterY()+D0[P0].dy)}),P0++})}}}var L0=function(w0,x0){if(q.quality=="default"||q.quality=="proof"){if(typeof w0==="number")w0=x0;var T0=void 0,J0=void 0,F0=w0.data("id");if(T.forEach(function(Z0){if(F0 in Z0)T0={x:Z0[F0].getRect().getCenterX(),y:Z0[F0].getRect().getCenterY()},J0=Z0[F0]}),q.nodeDimensionsIncludeLabels){if(J0.labelWidth){if(J0.labelPosHorizontal=="left")T0.x+=J0.labelWidth/2;else if(J0.labelPosHorizontal=="right")T0.x-=J0.labelWidth/2}if(J0.labelHeight){if(J0.labelPosVertical=="top")T0.y+=J0.labelHeight/2;else if(J0.labelPosVertical=="bottom")T0.y-=J0.labelHeight/2}}if(T0==null)T0={x:w0.position("x"),y:w0.position("y")};return{x:T0.x,y:T0.y}}else{var u0=void 0;if(x.forEach(function(Z0){var X0=Z0.nodeIndexes.get(w0.id());if(X0!=null)u0={x:Z0.xCoords[X0],y:Z0.yCoords[X0]}}),u0==null)u0={x:w0.position("x"),y:w0.position("y")};return{x:u0.x,y:u0.y}}};if(q.quality=="default"||q.quality=="proof"||q.randomize){var m0=M.calcParentsWithoutChildren(L,v),h0=v.filter(function(_0){return _0.css("display")=="none"});if(q.eles=v.not(h0),v.nodes().not(":parent").not(h0).layoutPositions(l,q,L0),m0.length>0)m0.forEach(function(_0){_0.position(L0(_0))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),G}();D.exports=Q},657:(D,F,U)=>{var z=U(548),k=U(140).layoutBase.Matrix,f=U(140).layoutBase.SVD,M=function(Z){var{cy:J,eles:K}=Z,w=K.nodes(),Q=K.nodes(":parent"),G=new Map,H=new Map,l=new Map,q=[],L=[],v=[],x=[],S=[],W=[],T=[],R=[],Y=void 0,h=void 0,I=1e8,O=0.000000001,V=Z.piTol,j=Z.samplingType,i=Z.nodeSeparation,a=void 0,$=function(){var q0=0,o=0,l0=!1;while(o<a){q0=Math.floor(Math.random()*h),l0=!1;for(var E0=0;E0<o;E0++)if(x[E0]==q0){l0=!0;break}if(!l0)x[o]=q0,o++;else continue}},m=function(q0,o,l0){var E0=[],$0=0,g0=0,n0=0,c0=void 0,Bu=[],p0=0,e0=1;for(var t0=0;t0<h;t0++)Bu[t0]=I;E0[g0]=q0,Bu[q0]=0;while(g0>=$0){n0=E0[$0++];var zu=q[n0];for(var S0=0;S0<zu.length;S0++)if(c0=H.get(zu[S0]),Bu[c0]==I)Bu[c0]=Bu[n0]+1,E0[++g0]=c0;W[n0][o]=Bu[n0]*i}if(l0){for(var yu=0;yu<h;yu++)if(W[yu][o]<S[yu])S[yu]=W[yu][o];for(var V0=0;V0<h;V0++)if(S[V0]>p0)p0=S[V0],e0=V0}return e0},y=function(q0){var o=void 0;if(!q0){$();for(var l0=0;l0<a;l0++)m(x[l0],l0,q0,!1)}else{o=Math.floor(Math.random()*h),Y=o;for(var E0=0;E0<h;E0++)S[E0]=I;for(var $0=0;$0<a;$0++)x[$0]=o,o=m(o,$0,q0)}for(var g0=0;g0<h;g0++)for(var n0=0;n0<a;n0++)W[g0][n0]*=W[g0][n0];for(var c0=0;c0<a;c0++)T[c0]=[];for(var Bu=0;Bu<a;Bu++)for(var p0=0;p0<a;p0++)T[Bu][p0]=W[x[p0]][Bu]},r=function(){var q0=f.svd(T),o=q0.S,l0=q0.U,E0=q0.V,$0=o[0]*o[0]*o[0],g0=[];for(var n0=0;n0<a;n0++){g0[n0]=[];for(var c0=0;c0<a;c0++)if(g0[n0][c0]=0,n0==c0)g0[n0][c0]=o[n0]/(o[n0]*o[n0]+$0/(o[n0]*o[n0]))}R=k.multMat(k.multMat(E0,g0),k.transpose(l0))},_=function(){var q0=void 0,o=void 0,l0=[],E0=[],$0=[],g0=[];for(var n0=0;n0<h;n0++)l0[n0]=Math.random(),E0[n0]=Math.random();l0=k.normalize(l0),E0=k.normalize(E0);var c0=0,Bu=O,p0=O,e0=void 0;while(!0){c0++;for(var t0=0;t0<h;t0++)$0[t0]=l0[t0];if(l0=k.multGamma(k.multL(k.multGamma($0),W,R)),q0=k.dotProduct($0,l0),l0=k.normalize(l0),Bu=k.dotProduct($0,l0),e0=Math.abs(Bu/p0),e0<=1+V&&e0>=1)break;p0=Bu}for(var zu=0;zu<h;zu++)$0[zu]=l0[zu];c0=0,p0=O;while(!0){c0++;for(var S0=0;S0<h;S0++)g0[S0]=E0[S0];if(g0=k.minusOp(g0,k.multCons($0,k.dotProduct($0,g0))),E0=k.multGamma(k.multL(k.multGamma(g0),W,R)),o=k.dotProduct(g0,E0),E0=k.normalize(E0),Bu=k.dotProduct(g0,E0),e0=Math.abs(Bu/p0),e0<=1+V&&e0>=1)break;p0=Bu}for(var yu=0;yu<h;yu++)g0[yu]=E0[yu];L=k.multCons($0,Math.sqrt(Math.abs(q0))),v=k.multCons(g0,Math.sqrt(Math.abs(o)))};z.connectComponents(J,K,z.getTopMostNodes(w),G),Q.forEach(function(d){z.connectComponents(J,K,z.getTopMostNodes(d.descendants().intersection(K)),G)});var e=0;for(var p=0;p<w.length;p++)if(!w[p].isParent())H.set(w[p].id(),e++);var b0=!0,B0=!1,k0=void 0;try{for(var f0=G.keys()[Symbol.iterator](),D0;!(b0=(D0=f0.next()).done);b0=!0){var P0=D0.value;H.set(P0,e++)}}catch(d){B0=!0,k0=d}finally{try{if(!b0&&f0.return)f0.return()}finally{if(B0)throw k0}}for(var L0=0;L0<H.size;L0++)q[L0]=[];Q.forEach(function(d){var q0=d.children().intersection(K);while(q0.nodes(":childless").length==0)q0=q0.nodes()[0].children().intersection(K);var o=0,l0=q0.nodes(":childless")[0].connectedEdges().length;q0.nodes(":childless").forEach(function(E0,$0){if(E0.connectedEdges().length<l0)l0=E0.connectedEdges().length,o=$0}),l.set(d.id(),q0.nodes(":childless")[o].id())}),w.forEach(function(d){var q0=void 0;if(d.isParent())q0=H.get(l.get(d.id()));else q0=H.get(d.id());d.neighborhood().nodes().forEach(function(o){if(K.intersection(d.edgesWith(o)).length>0)if(o.isParent())q[q0].push(l.get(o.id()));else q[q0].push(o.id())})});var m0=function(q0){var o=H.get(q0),l0=void 0;G.get(q0).forEach(function(E0){if(J.getElementById(E0).isParent())l0=l.get(E0);else l0=E0;q[o].push(l0),q[H.get(l0)].push(q0)})},h0=!0,_0=!1,w0=void 0;try{for(var x0=G.keys()[Symbol.iterator](),T0;!(h0=(T0=x0.next()).done);h0=!0){var J0=T0.value;m0(J0)}}catch(d){_0=!0,w0=d}finally{try{if(!h0&&x0.return)x0.return()}finally{if(_0)throw w0}}h=H.size;var F0=void 0;if(h>2){a=h<Z.sampleSize?h:Z.sampleSize;for(var u0=0;u0<h;u0++)W[u0]=[];for(var Z0=0;Z0<a;Z0++)R[Z0]=[];if(Z.quality=="draft"||Z.step=="all")y(j),r(),_(),F0={nodeIndexes:H,xCoords:L,yCoords:v};else H.forEach(function(d,q0){L.push(J.getElementById(q0).position("x")),v.push(J.getElementById(q0).position("y"))}),F0={nodeIndexes:H,xCoords:L,yCoords:v};return F0}else{var X0=H.keys(),W0=J.getElementById(X0.next().value),Y0=W0.position(),a0=W0.outerWidth();if(L.push(Y0.x),v.push(Y0.y),h==2){var K0=J.getElementById(X0.next().value),n=K0.outerWidth();L.push(Y0.x+a0/2+n/2+Z.idealEdgeLength),v.push(Y0.y)}return F0={nodeIndexes:H,xCoords:L,yCoords:v},F0}};D.exports={spectralLayout:M}},579:(D,F,U)=>{var z=U(212),k=function(M){if(!M)return;M("layout","fcose",z)};if(typeof cytoscape<"u")k(cytoscape);D.exports=k},140:(D)=>{D.exports=u}},E={};function A(D){var F=E[D];if(F!==void 0)return F.exports;var U=E[D]={exports:{}};return B[D](U,U.exports,A),U.exports}var C=A(579);return C})()})});var dBu={};ju(dBu,{diagram:()=>bc4});function vU0(u,B){if(u===0)return B();let E=Math.random,A=u>>>0;Math.random=function(){A=A+1831565813>>>0;let C=A;return C=Math.imul(C^C>>>15,C|1),C^=C+Math.imul(C^C>>>7,C|61),((C^C>>>14)>>>0)/4294967296};try{return B()}finally{Math.random=E}}function $Bu(u,B,E){u.forEach((A)=>{B.add({group:"nodes",data:{type:"service",id:A.id,icon:A.icon,label:A.title,parent:A.in,width:E.getConfigField("iconSize"),height:E.getConfigField("iconSize")},classes:"node-service"})})}function yBu(u,B,E){u.forEach((A)=>{B.add({group:"nodes",data:{type:"junction",id:A.id,parent:A.in,width:E.getConfigField("iconSize"),height:E.getConfigField("iconSize")},classes:"node-junction"})})}function rBu(u,B){B.nodes().map((E)=>{let A=vL(E);if(A.type==="group")return;A.x=E.position().x,A.y=E.position().y,u.getElementById(A.id).attr("transform","translate("+(A.x||0)+","+(A.y||0)+")")})}function gBu(u,B){u.forEach((E)=>{B.add({group:"nodes",data:{type:"group",id:E.id,icon:E.icon,label:E.title,parent:E.in},classes:"node-group"})})}function cBu(u,B){u.forEach((E)=>{let{lhsId:A,rhsId:C,lhsInto:D,lhsGroup:F,rhsInto:U,lhsDir:z,rhsDir:k,rhsGroup:f,title:M}=E,b=xU0(E.lhsDir,E.rhsDir)?"segments":"straight",Z={id:`${A}-${C}`,label:M,source:A,sourceDir:z,sourceArrow:D,sourceGroup:F,sourceEndpoint:z==="L"?"0 50%":z==="R"?"100% 50%":z==="T"?"50% 0":"50% 100%",target:C,targetDir:k,targetArrow:U,targetGroup:f,targetEndpoint:k==="L"?"0 50%":k==="R"?"100% 50%":k==="T"?"50% 0":"50% 100%"};B.add({group:"edges",data:Z,classes:b})})}function _Bu(u,B,E,A=[]){let C=X((b,Z)=>{let J=new Map;for(let[K,w]of b.entries()){let Q=`${K}`,G=0,H=[...w.entries()];if(H.length===1){J.set(Q,H[0][1]);continue}for(let l=0;l<H.length-1;l++)for(let q=l+1;q<H.length;q++){let[L,v]=H[l],[x,S]=H[q];if(E.get(VBu(L,x))===Z)J.set(Q,[...J.get(Q)??[],...v,...S]);else if(L==="default"||x==="default")J.set(Q,[...J.get(Q)??[],...v,...S]);else{let T=`${Q}-${G++}`;J.set(T,v);let R=`${Q}-${G++}`;J.set(R,S)}}}return J},"flattenAlignments"),D=B.map((b)=>{let Z=new Map,J=new Map;return b.forEach(([K,w],Q)=>{let G=u.getNode(Q)?.in??"default",H=Z.get(w)??new Map;if(!Z.has(w))Z.set(w,H);let l=J.get(K)??new Map;if(!J.has(K))J.set(K,l);for(let q of[H,l]){let L=q.get(G)??[];if(!q.has(G))q.set(G,L);L.push(Q)}}),{horiz:[...C(Z,"horizontal").values()].filter((K)=>K.length>1),vert:[...C(J,"vertical").values()].filter((K)=>K.length>1)}}),[F,U]=D.reduce(([b,Z],{horiz:J,vert:K})=>{return[[...b,...J],[...Z,...K]]},[[],[]]),z=new Set;A.forEach((b)=>b.members.forEach((Z)=>z.add(Z)));let k=X((b)=>b.filter((Z)=>!Z.some((J)=>z.has(J))),"dropOverlapping"),f=k(F),M=k(U);return A.forEach((b)=>{if(b.members.length<2)return;if(b.direction==="row")f.push([...b.members]);else M.push([...b.members])}),{horizontal:f,vertical:M}}function pBu(u,B,E=[]){let A=[],C=B.getConfigField("iconSize"),D=B.getConfigField("idealEdgeLengthMultiplier"),F=D*C,U=new Set;E.forEach((f)=>{for(let M=0;M<f.members.length-1;M++){let b=f.members[M],Z=f.members[M+1];if(U.add(`${b}|${Z}`),U.add(`${Z}|${b}`),f.direction==="row")A.push({left:b,right:Z,gap:F});else A.push({top:b,bottom:Z,gap:F})}});let z=X((f)=>`${f[0]},${f[1]}`,"posToStr"),k=X((f)=>f.split(",").map((M)=>parseInt(M)),"strToPos");return u.forEach((f)=>{let M=new Map([...f.entries()].map(([K,w])=>[z(w),K])),b=[z([0,0])],Z={},J={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};while(b.length>0){let K=b.shift();if(K){Z[K]=1;let w=M.get(K);if(w){let Q=k(K);Object.entries(J).forEach(([G,H])=>{let l=z([Q[0]+H[0],Q[1]+H[1]]),q=M.get(l);if(q&&!Z[l]){if(b.push(l),U.has(`${w}|${q}`))return;A.push({[PBu[G]]:q,[PBu[ng4(G)]]:w,gap:D*C})}})}}}}),A}function nBu(u,B,E,A,C,{spatialMaps:D,groupAlignments:F}){return new Promise((U)=>{let z=Qu("body").append("div").attr("id","cy").attr("style","display:none"),k=wA({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[0.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${C.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${C.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});z.remove(),gBu(E,k),$Bu(u,k,C),yBu(B,k,C),cBu(A,k);let f=C.getLayoutHints(),M=_Bu(C,D,F,f),b=pBu(D,C,f),Z=C.getConfigField("iconSize"),J=C.getConfigField("idealEdgeLengthMultiplier")*Z,K=0.5*Z,w=C.getConfigField("edgeElasticity"),Q=C.getConfigField("seed"),G=k.layout({name:"fcose",quality:"proof",randomize:C.getConfigField("randomize"),nodeSeparation:C.getConfigField("nodeSeparation"),numIter:C.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(H){let[l,q]=H.connectedNodes(),{parent:L}=vL(l),{parent:v}=vL(q);return L===v?J:K},edgeElasticity(H){let[l,q]=H.connectedNodes(),{parent:L}=vL(l),{parent:v}=vL(q);return L===v?w:0.001},alignmentConstraint:M,relativePlacementConstraint:b});G.one("layoutstop",()=>{function H(l,q,L,v){let x,S,{x:W,y:T}=l,{x:R,y:Y}=q;S=(v-T+(W-L)*(T-Y)/(W-R))/Math.sqrt(1+Math.pow((T-Y)/(W-R),2)),x=Math.sqrt(Math.pow(v-T,2)+Math.pow(L-W,2)-Math.pow(S,2));let h=Math.sqrt(Math.pow(R-W,2)+Math.pow(Y-T,2));x=x/h;let I=(R-W)*(v-T)-(Y-T)*(L-W);switch(!0){case I>=0:I=1;break;case I<0:I=-1;break}let O=(R-W)*(L-W)+(Y-T)*(v-T);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}return S=Math.abs(S)*I,x=x*O,{distances:S,weights:x}}X(H,"getSegmentWeights"),k.startBatch();for(let l of Object.values(k.edges()))if(l.data?.()){let{x:q,y:L}=l.source().position(),{x:v,y:x}=l.target().position();if(q!==v&&L!==x){let S=l.sourceEndpoint(),W=l.targetEndpoint(),{sourceDir:T}=hBu(l),[R,Y]=rb(T)?[S.x,W.y]:[W.x,S.y],{weights:h,distances:I}=H(S,W,R,Y);l.style("segment-distances",I),l.style("segment-weights",h)}}k.endBatch(),vU0(Q,()=>G.run())});try{vU0(Q,()=>G.run())}catch(H){if(H instanceof RangeError&&H.message.includes("Invalid array length"))throw Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis.");throw H}k.ready((H)=>{z0.info("Ready",H),U(k)})})}var mBu,PBu,jBu,ic,ng4,NBu,mB,rb,xU0,dg4,sg4,XU0,og4,tg4,eg4,uc4,Bc4,VBu,hBu,vL,Ec4,iBu,Ac4,aBu,Cc4,Dc4,XL,GT,Fc4,Uc4,zc4,kc4,fc4,Mc4,bc4;var sBu=g(()=>{YB();A2();s2();X2();e3();s4();o4();Y4();w7();Z70();V3();mBu=Eu(IBu(),1),PBu={L:"left",R:"right",T:"top",B:"bottom"},jBu={L:X((u)=>`${u},${u/2} 0,${u} 0,0`,"L"),R:X((u)=>`0,${u/2} ${u},0 ${u},${u}`,"R"),T:X((u)=>`0,0 ${u},0 ${u/2},${u}`,"T"),B:X((u)=>`${u/2},0 ${u},${u} 0,${u}`,"B")},ic={L:X((u,B)=>u-B+2,"L"),R:X((u,B)=>u-2,"R"),T:X((u,B)=>u-B+2,"T"),B:X((u,B)=>u-2,"B")},ng4=X(function(u){if(mB(u))return u==="L"?"R":"L";else return u==="T"?"B":"T"},"getOppositeArchitectureDirection"),NBu=X(function(u){let B=u;return B==="L"||B==="R"||B==="T"||B==="B"},"isArchitectureDirection"),mB=X(function(u){let B=u;return B==="L"||B==="R"},"isArchitectureDirectionX"),rb=X(function(u){let B=u;return B==="T"||B==="B"},"isArchitectureDirectionY"),xU0=X(function(u,B){let E=mB(u)&&rb(B),A=rb(u)&&mB(B);return E||A},"isArchitectureDirectionXY"),dg4=X(function(u){let B=u[0],E=u[1],A=mB(B)&&rb(E),C=rb(B)&&mB(E);return A||C},"isArchitecturePairXY"),sg4=X(function(u){return u!=="LL"&&u!=="RR"&&u!=="TT"&&u!=="BB"},"isValidArchitectureDirectionPair"),XU0=X(function(u,B){let E=`${u}${B}`;return sg4(E)?E:void 0},"getArchitectureDirectionPair"),og4=X(function([u,B],E){let A=E[0],C=E[1];if(mB(A))if(rb(C))return[u+(A==="L"?-1:1),B+(C==="T"?1:-1)];else return[u+(A==="L"?-1:1),B];else if(mB(C))return[u+(C==="L"?1:-1),B+(A==="T"?1:-1)];else return[u,B+(A==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),tg4=X(function(u){if(u==="LT"||u==="TL")return[1,1];else if(u==="BL"||u==="LB")return[1,-1];else if(u==="BR"||u==="RB")return[-1,-1];else return[-1,1]},"getArchitectureDirectionXYFactors"),eg4=X(function(u,B){if(xU0(u,B))return"bend";else if(mB(u))return"horizontal";return"vertical"},"getArchitectureDirectionAlignment"),uc4=X(function(u){return u.type==="service"},"isArchitectureService"),Bc4=X(function(u){return u.type==="junction"},"isArchitectureJunction"),VBu=X((u,B)=>{let[E,A]=[u,B].sort();return`${JSON.stringify(E)}-${JSON.stringify(A)}`},"architectureGroupAlignmentKey"),hBu=X((u)=>{return u.data()},"edgeData"),vL=X((u)=>{return u.data()},"nodeData"),Ec4=t4.architecture,iBu=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=w3,this.getAccTitle=q3,this.setDiagramTitle=T3,this.getDiagramTitle=X3,this.getAccDescription=L3,this.setAccDescription=l3,this.clear()}static{X(this,"ArchitectureDB")}setDiagramId(u){this.diagramId=u}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",D3()}addService({id:u,icon:B,in:E,title:A,iconText:C}){if(this.registeredIds.has(u))throw Error(`The service id [${u}] is already in use by another ${this.registeredIds.get(u)}`);if(E!==void 0){if(u===E)throw Error(`The service [${u}] cannot be placed within itself`);if(!this.registeredIds.has(E))throw Error(`The service [${u}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(E)==="node")throw Error(`The service [${u}]'s parent is not a group`)}this.registeredIds.set(u,"node"),this.nodes.set(u,{id:u,type:"service",icon:B,iconText:C,title:A,edges:[],in:E})}getServices(){return[...this.nodes.values()].filter(uc4)}addJunction({id:u,in:B}){if(this.registeredIds.has(u))throw Error(`The junction id [${u}] is already in use by another ${this.registeredIds.get(u)}`);if(B!==void 0){if(u===B)throw Error(`The junction [${u}] cannot be placed within itself`);if(!this.registeredIds.has(B))throw Error(`The junction [${u}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(B)==="node")throw Error(`The junction [${u}]'s parent is not a group`)}this.registeredIds.set(u,"node"),this.nodes.set(u,{id:u,type:"junction",edges:[],in:B})}getJunctions(){return[...this.nodes.values()].filter(Bc4)}getNodes(){return[...this.nodes.values()]}getNode(u){return this.nodes.get(u)??null}addGroup({id:u,icon:B,in:E,title:A}){if(this.registeredIds.has(u))throw Error(`The group id [${u}] is already in use by another ${this.registeredIds.get(u)}`);if(E!==void 0){if(u===E)throw Error(`The group [${u}] cannot be placed within itself`);if(!this.registeredIds.has(E))throw Error(`The group [${u}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(E)==="node")throw Error(`The group [${u}]'s parent is not a group`)}this.registeredIds.set(u,"group"),this.groups.set(u,{id:u,icon:B,title:A,in:E})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:u,rhsId:B,lhsDir:E,rhsDir:A,lhsInto:C,rhsInto:D,lhsGroup:F,rhsGroup:U,title:z}){if(!NBu(E))throw Error(`Invalid direction given for left hand side of edge ${u}--${B}. Expected (L,R,T,B) got ${String(E)}`);if(!NBu(A))throw Error(`Invalid direction given for right hand side of edge ${u}--${B}. Expected (L,R,T,B) got ${String(A)}`);if(!this.nodes.has(u)&&!this.groups.has(u))throw Error(`The left-hand id [${u}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(B)&&!this.groups.has(B))throw Error(`The right-hand id [${B}] does not yet exist. Please create the service/group before declaring an edge to it.`);let k=this.nodes.get(u).in,f=this.nodes.get(B).in;if(F&&k&&f&&k==f)throw Error(`The left-hand id [${u}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(U&&k&&f&&k==f)throw Error(`The right-hand id [${B}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let M={lhsId:u,lhsDir:E,lhsInto:C,lhsGroup:F,rhsId:B,rhsDir:A,rhsInto:D,rhsGroup:U,title:z};this.edges.push(M);let b=this.nodes.get(u),Z=this.nodes.get(B);if(b&&Z)b.edges.push(this.edges[this.edges.length-1]),Z.edges.push(this.edges[this.edges.length-1])}getEdges(){return this.edges}addLayoutHint(u){if(u.members.length<2)throw Error(`An align directive requires at least two members; got ${u.members.length}`);let B=new Set;u.members.forEach((E)=>{if(this.registeredIds.get(E)!=="node")throw Error(`align ${u.direction} references [${E}], which is not a service or junction`);if(B.has(E))throw Error(`align ${u.direction} lists [${E}] more than once`);B.add(E)}),this.layoutHints.push(u)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(this.dataStructures===void 0){let u=new Map,B=new Map;for(let[F,U]of this.nodes.entries()){let z=new Map;for(let k of U.edges){let f=this.getNode(k.lhsId)?.in,M=this.getNode(k.rhsId)?.in;if(f&&M&&f!==M){let b=eg4(k.lhsDir,k.rhsDir);if(b!=="bend")u.set(VBu(f,M),b)}if(k.lhsId===F){let b=XU0(k.lhsDir,k.rhsDir);if(b)z.set(b,k.rhsId)}else{let b=XU0(k.rhsDir,k.lhsDir);if(b)z.set(b,k.lhsId)}}B.set(F,z)}let E=new Set,A=new Set(B.keys()),C=X((F)=>{let U=new Map([[F,[0,0]]]),z=[F];while(z.length>0){let k=z.shift();if(k){E.add(k),A.delete(k);let f=B.get(k);if(!f)throw Error(`BFS error: adjacency list for id ${k} not found. Please report this as a bug.`);let M=U.get(k);if(!M)throw Error(`BFS error: position for id ${k} not found in spatial map. Please report this as a bug.`);let[b,Z]=M;f.forEach((J,K)=>{if(!E.has(J))U.set(J,og4([b,Z],K)),z.push(J)})}}return U},"BFS"),D=[];while(A.size>0){let F=A.values().next().value;D.push(C(F))}this.dataStructures={adjList:B,spatialMaps:D,groupAlignments:u}}return this.dataStructures}setElementForId(u,B){this.elements.set(u,B)}getElementById(u){return this.elements.get(u)}getConfig(){return E1({...Ec4,...F4().architecture})}getConfigField(u){return this.getConfig()[u]}},Ac4=X((u,B)=>{U6(u,B),u.groups.map((E)=>B.addGroup(E)),u.services.map((E)=>B.addService({...E,type:"service"})),u.junctions.map((E)=>B.addJunction({...E,type:"junction"})),u.edges.map((E)=>B.addEdge(E)),u.alignments?.map((E)=>B.addLayoutHint({direction:E.direction,members:[...E.members]}))},"populateDb"),aBu={parser:{yy:void 0},parse:X(async(u)=>{let B=await v9("architecture",u);z0.debug(B);let E=aBu.parser?.yy;if(!(E instanceof iBu))throw Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ac4(B,E)},"parse")},Cc4=X((u)=>`
.edge {
stroke-width: ${u.archEdgeWidth};
stroke: ${u.archEdgeColor};
fill: none;
}
.arrow {
fill: ${u.archEdgeArrowColor};
}
.node-bkg {
fill: none;
stroke: ${u.archGroupBorderColor};
stroke-width: ${u.archGroupBorderWidth};
stroke-dasharray: 8;
}
.node-icon-text {
display: flex;
align-items: center;
}
.node-icon-text > div {
color: #fff;
margin: 1px;
height: fit-content;
text-align: center;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
}
`,"getStyles"),Dc4=Cc4;X(vU0,"withSeededRandom");XL=X((u)=>{return`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${u}</g>`},"wrapIcon"),GT={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:XL('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:XL('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:XL('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:XL('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:XL('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:T30,blank:{body:XL("")}}},Fc4=X(async function(u,B,E,A){let C=E.getConfigField("padding"),D=E.getConfigField("iconSize"),F=D/2,U=D/6,z=U/2;await Promise.all(B.edges().map(async(k)=>{let{source:f,sourceDir:M,sourceArrow:b,sourceGroup:Z,target:J,targetDir:K,targetArrow:w,targetGroup:Q,label:G}=hBu(k),{x:H,y:l}=k[0].sourceEndpoint(),{x:q,y:L}=k[0].midpoint(),{x:v,y:x}=k[0].targetEndpoint(),S=C+4;if(Z)if(mB(M))H+=M==="L"?-S:S;else l+=M==="T"?-S:S+18;if(Q)if(mB(K))v+=K==="L"?-S:S;else x+=K==="T"?-S:S+18;if(!Z&&E.getNode(f)?.type==="junction")if(mB(M))H+=M==="L"?F:-F;else l+=M==="T"?F:-F;if(!Q&&E.getNode(J)?.type==="junction")if(mB(K))v+=K==="L"?F:-F;else x+=K==="T"?F:-F;if(k[0]._private.rscratch){let W=u.insert("g");if(W.insert("path").attr("d",`M ${H},${l} L ${q},${L} L${v},${x} `).attr("class","edge").attr("id",`${A}-${RF(f,J,{prefix:"L"})}`),b){let T=mB(M)?ic[M](H,U):H-z,R=rb(M)?ic[M](l,U):l-z;W.insert("polygon").attr("points",jBu[M](U)).attr("transform",`translate(${T},${R})`).attr("class","arrow")}if(w){let T=mB(K)?ic[K](v,U):v-z,R=rb(K)?ic[K](x,U):x-z;W.insert("polygon").attr("points",jBu[K](U)).attr("transform",`translate(${T},${R})`).attr("class","arrow")}if(G){let T=!xU0(M,K)?mB(M)?"X":"Y":"XY",R=0;if(T==="X")R=Math.abs(H-v);else if(T==="Y")R=Math.abs(l-x)/1.5;else R=Math.abs(H-v)/2;let Y=W.append("g");if(await v2(Y,G,{useHtmlLabels:!1,width:R,classes:"architecture-service-label"},y0()),Y.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),T==="X")Y.attr("transform","translate("+q+", "+L+")");else if(T==="Y")Y.attr("transform","translate("+q+", "+L+") rotate(-90)");else if(T==="XY"){let h=XU0(M,K);if(h&&dg4(h)){let I=Y.node().getBoundingClientRect(),[O,V]=tg4(h);Y.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*O*V*45})`);let j=Y.node().getBoundingClientRect();Y.attr("transform",`
translate(${q}, ${L-I.height/2})
translate(${O*j.width/2}, ${V*j.height/2})
rotate(${-1*O*V*45}, 0, ${I.height/2})
`)}}}}}))},"drawEdges"),Uc4=X(async function(u,B,E,A){let D=E.getConfigField("padding")*0.75,F=E.getConfigField("fontSize"),z=E.getConfigField("iconSize")/2;await Promise.all(B.nodes().map(async(k)=>{let f=vL(k);if(f.type==="group"){let{h:M,w:b,x1:Z,y1:J}=k.boundingBox(),K=u.append("rect");K.attr("id",`${A}-group-${f.id}`).attr("x",Z+z).attr("y",J+z).attr("width",b).attr("height",M).attr("class","node-bkg");let w=u.append("g"),Q=Z,G=J;if(f.icon){let H=w.append("g");H.html(`<g>${await ME(f.icon,{height:D,width:D,fallbackPrefix:GT.prefix})}</g>`),H.attr("transform","translate("+(Q+z+1)+", "+(G+z+1)+")"),Q+=D,G+=F/2-1-2}if(f.label){let H=w.append("g");await v2(H,f.label,{useHtmlLabels:!1,width:b,classes:"architecture-service-label"},y0()),H.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),H.attr("transform","translate("+(Q+z+4)+", "+(G+z+2)+")")}E.setElementForId(f.id,K)}}))},"drawGroups"),zc4=X(async function(u,B,E,A){let C=y0();for(let D of E){let F=B.append("g"),U=u.getConfigField("iconSize");if(D.title){let M=F.append("g");await v2(M,D.title,{useHtmlLabels:!1,width:U*1.5,classes:"architecture-service-label"},C),M.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),M.attr("transform","translate("+U/2+", "+U+")")}let z=F.append("g");if(D.icon)z.html(`<g>${await ME(D.icon,{height:U,width:U,fallbackPrefix:GT.prefix})}</g>`);else if(D.iconText){z.html(`<g>${await ME("blank",{height:U,width:U,fallbackPrefix:GT.prefix})}</g>`);let Z=z.append("g").append("foreignObject").attr("width",U).attr("height",U).append("div").attr("class","node-icon-text").attr("style",`height: ${U}px;`).append("div").html(C3(D.iconText,C)),J=parseInt(window.getComputedStyle(Z.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;Z.attr("style",`-webkit-line-clamp: ${Math.floor((U-2)/J)};`)}else z.append("path").attr("class","node-bkg").attr("id",`${A}-node-${D.id}`).attr("d",`M0,${U} V5 Q0,0 5,0 H${U-5} Q${U},0 ${U},5 V${U} Z`);F.attr("id",`${A}-service-${D.id}`).attr("class","architecture-service");let{width:k,height:f}=F.node().getBBox();D.width=k,D.height=f,u.setElementForId(D.id,F)}return 0},"drawServices"),kc4=X(function(u,B,E,A){E.forEach((C)=>{let D=B.append("g"),F=u.getConfigField("iconSize");D.append("g").append("rect").attr("id",`${A}-node-${C.id}`).attr("fill-opacity","0").attr("width",F).attr("height",F),D.attr("class","architecture-junction");let{width:z,height:k}=D._groups[0][0].getBBox();D.width=z,D.height=k,u.setElementForId(C.id,D)})},"drawJunctions");cH([{name:GT.prefix,icons:GT}]);wA.use(mBu.default);X($Bu,"addServices");X(yBu,"addJunctions");X(rBu,"positionNodes");X(gBu,"addGroups");X(cBu,"addEdges");X(_Bu,"getAlignments");X(pBu,"getRelativeConstraints");X(nBu,"layoutArchitecture");fc4=X(async(u,B,E,A)=>{let C=A.db;C.setDiagramId(B);let D=C.getServices(),F=C.getJunctions(),U=C.getGroups(),z=C.getEdges(),k=C.getDataStructures(),f=h1(B),M=f.append("g");M.attr("class","architecture-edges");let b=f.append("g");b.attr("class","architecture-services");let Z=f.append("g");Z.attr("class","architecture-groups"),await zc4(C,b,D,B),kc4(C,b,F,B);let J=await nBu(D,F,U,z,C,k);await Fc4(M,J,C,B),await Uc4(Z,J,C,B),rBu(C,J),HF(void 0,f,C.getConfigField("padding"),C.getConfigField("useMaxWidth"))},"draw"),Mc4={draw:fc4},bc4={parser:aBu,get db(){return new iBu},renderer:Mc4,styles:Dc4}});var v8u={};ju(v8u,{diagram:()=>Yc4});function u8u(){RU0={}}function B8u(){let u=Gc4,{ast:B}=RU0,E=TU0();if(!B)throw Error("No data for EventModel");return B.frames.forEach((A,C)=>{let D=z8u(A,B.dataEntities,E);u=mc(u,{$kind:oBu,index:C,frame:A,textProps:D});let F=void 0;if(J8u(A))z0.debug("source frame",A.sourceFrames),F=B.frames.filter((U)=>{return A.sourceFrames.some((z)=>z.$refText===U.name)}),F.forEach((U)=>{u=mc(u,{$kind:WU0,index:C,frame:A,sourceFrame:U})});else u=mc(u,{$kind:WU0,index:C,frame:A})}),u={...u,sortedSwimlanesArray:OU0(u.swimlanes)},u}function E8u(u){RU0.ast=u}function TU0(){return g1}function A8u(u){let B=u.split(".");if(B.length===2)return B[0];return}function C8u(u){let B=u.split(".");if(B.length===2)return B[1];return u}function D8u(u,B){if(!B||B.length===0)return;return Object.values(u).find((E)=>E.namespace===B)}function ac(u,B,E){return Math.max(B,...Object.keys(u).filter((A)=>{let C=Number.parseInt(A);return C>B&&C<E}).map((A)=>Number.parseInt(A)))+1}function F8u(u,B){let E=A8u(u.entityIdentifier),A=D8u(B,E);switch(u.modelEntityType){case"ui":case"pcr":case"processor":if(A)return{index:A.index,label:A.namespace||g1.labelUiAutomation};else if(E)return{index:ac(B,0,100),label:g1.labelUiAutomationPrefix+E};return{index:0,label:g1.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(A)return{index:A.index,label:A.namespace||g1.labelCommandReadModel};else if(E)return{index:ac(B,100,200),label:g1.labelCommandReadModelPrefix+E};return{index:100,label:g1.labelCommandReadModel};case"evt":case"event":default:if(A)return{index:A.index,label:A.namespace||g1.labelEvents};else if(E)return{index:ac(B,200,300),label:g1.labelEventsPrefix+E};return{index:200,label:g1.labelEvents}}}function U8u(u){let{themeVariables:B}=F4();switch(u.modelEntityType){case"ui":return{fill:B.emUiFill??"white",stroke:B.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:B.emProcessorFill??"#edb3f6",stroke:B.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:B.emReadModelFill??"#d3f1a2",stroke:B.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:B.emCommandFill??"#bcd6fe",stroke:B.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:B.emEventFill??"#ffb778",stroke:B.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function z8u(u,B,E){let A=F4(),C=C3(C8u(u.entityIdentifier)??"",A),D,F={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},z=`<b>${DK(C,E.textMaxWidth,F)}</b>`;if(u.dataInlineValue)D=u.dataInlineValue,D=D.substring(D.indexOf("{")+1),D=D.substring(0,D.lastIndexOf("}")-1),D=C3(D,A),D=DK(D,E.textMaxWidth,F),D=D.replaceAll(" ","&nbsp;");if(u.dataReference){let J=B.find((K)=>K.name===u.dataReference?.$refText);if(J)D=J.dataBlockValue,D=D.substring(D.indexOf(`{
`)+2),D=D.substring(0,D.lastIndexOf("}")-1),D=C3(D,A),D=DK(D,E.textMaxWidth,F),D=D.replaceAll(" ","&nbsp;"),D+="<br/>"}let k=D!==void 0;if(k)z+=`<br/><br/><code style="text-align: left; display: block;max-width:${E.textMaxWidth}px">${D}</code>`;let f={fontSize:F.fontSize,fontWeight:F.fontWeight,fontFamily:F.fontFamily},M=IW(z,f),b=k?M.width/3:M.width,Z={content:z,width:b,height:M.height};return z0.debug(`[${u.name}] ${u.entityIdentifier} text`,Z),Z}function k8u(u,B){let E=B,A=U8u(E.frame),C={width:E.textProps.width+2*g1.boxTextPadding,height:E.textProps.height+2*g1.boxTextPadding};return[{$kind:tBu,frame:E.frame,index:E.index,visual:A,dimension:C,textProps:E.textProps}]}function f8u(u,B,E){if(B===void 0)return g1.contentStartX;if(B.index===u.index&&u.r)return u.r+g1.boxPadding;if(E===void 0)return g1.contentStartX;return E.r-g1.boxOverlap+g1.boxPadding}function M8u(u,B){let E=[...u.map((A)=>A.r),B];return Math.max(...E)}function OU0(u){return Object.values(u).sort((B,E)=>B.index-E.index)}function b8u(u,B){let E=B,A=F8u(E.frame,u.swimlanes),C;if(A.index in u.swimlanes)C=u.swimlanes[A.index];else C={index:A.index,label:A.label,r:0,y:A.index*g1.swimlaneMinHeight+g1.swimlaneGap,height:g1.swimlaneMinHeight,maxHeight:g1.swimlaneMinHeight};let D=u.boxes.length>0?u.boxes[u.boxes.length-1]:void 0,F=u.previousSwimlaneNumber!==void 0?u.swimlanes[u.previousSwimlaneNumber]:void 0,U={width:Math.max(g1.boxMinWidth,Math.min(g1.boxMaxWidth,E.dimension.width))+2*g1.boxPadding,height:Math.max(g1.boxMinHeight,Math.min(g1.boxMaxHeight,E.dimension.height))+2*g1.boxPadding},z=f8u(C,F,D),k=z+U.width+g1.boxPadding,f=M8u(Object.values(u.swimlanes),k);C.r=z+U.width,C.maxHeight=Math.max(C.maxHeight,U.height),C.height=Math.max(g1.swimlaneMinHeight,C.maxHeight)+2*g1.swimlanePadding;let M={x:z,y:g1.swimlanePadding+C.y,r:k,dimension:U,leftSibling:!1,swimlane:C,visual:E.visual,text:E.textProps.content,frame:E.frame,index:E.index},b={...u,boxes:[...u.boxes,M],swimlanes:{...u.swimlanes,[`${C.index}`]:C},previousSwimlaneNumber:A.index,previousFrame:E.frame,maxR:f},Z=OU0(b.swimlanes);if(Z.length>0)Z[0].y=0;for(let J=1;J<Z.length;J++){let K=Z[J],w=Z[J-1];K.y=w.y+w.height+g1.swimlaneGap}return b}function Z8u(u,B){if(u===0&&B.sourceFrames.length===0)return!0;return!1}function J8u(u){return u.sourceFrames!==void 0&&u.sourceFrames!==null&&u.sourceFrames.length>0}function SU0(u,B){if(B===void 0||B===null)return;return u.find((E)=>E.frame.name===B.name)}function K8u(u,B,E){if(E<0)return;for(let A=E;A>=0;A--){let C=u[A];if(C.swimlane.index!==B)return C}return}function w8u(u,B){let E=B;if(pR(E.frame)||Z8u(E.index,E.frame))return[];let A=SU0(u.boxes,E.frame);if(A===void 0)throw Error(`Target box not found for frame ${E.frame.name}`);let C;if(E.sourceFrame)C=SU0(u.boxes,E.sourceFrame);else C=K8u(u.boxes,A.swimlane.index,E.index-1);if(C===void 0)return[];return[{$kind:eBu,frame:E.frame,index:E.index,sourceBox:C,targetBox:A}]}function Q8u(u,B){let E=B,A={visual:{fill:"none",stroke:"#000"},source:{x:E.sourceBox.x,y:E.sourceBox.y},target:{x:E.targetBox.x,y:E.targetBox.y},sourceBox:E.sourceBox,targetBox:E.targetBox};return{...u,relations:[...u.relations,A]}}function G8u(u,B){let E=Hc4[B.$kind];if(E===void 0||E===null)return[];let A=E(u,B);return z0.debug("decided events",A),A}function H8u(u,B){let E=B.reduce((A,C)=>{let D=qc4[C.$kind];if(D===void 0||D===null)return A;return D(A,C)},u);return z0.debug("evolve events",{state:u,newState:E,events:B}),E}function mc(u,B){let E=G8u(u,B);return H8u(u,E)}function q8u(u,B){return(E)=>{let A=E.swimlane.y+B.swimlanePadding,C=u.append("g").attr("class","em-box");C.append("rect").attr("x",E.x).attr("y",A).attr("rx","3").attr("width",E.dimension.width).attr("height",E.dimension.height).attr("stroke",E.visual.stroke).attr("fill",E.visual.fill),C.append("foreignObject").attr("x",E.x+B.boxPadding).attr("y",A+10).attr("width",E.dimension.width-2*B.boxPadding).attr("height",E.dimension.height-2*B.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(E.text)}}function l8u(u,B){return u>B}function L8u(u,B,E,A){return(C)=>{let D=C.sourceBox.swimlane.y+B.swimlanePadding,F=C.targetBox.swimlane.y+B.swimlanePadding,U=l8u(D,F),z=C.sourceBox.x+C.sourceBox.dimension.width*2/3,k=C.targetBox.x+C.targetBox.dimension.width/3,f,M;if(z0.debug(`rendering relation up=${U} for `,{sourceBox:C.sourceBox,targetBox:C.targetBox}),U)f=D,M=F+C.targetBox.dimension.height;else f=D+C.sourceBox.dimension.height,M=F;let b=A.emRelationStroke??C.visual.stroke;u.append("path").attr("class","em-relation").attr("fill",C.visual.fill).attr("stroke",b).attr("stroke-width","1").attr("marker-end",`url(#${E})`).attr("d",`M${z} ${f} L${k} ${M}`)}}function X8u(u,B,E,A){return(C)=>{let D=u.append("g").attr("class","em-swimlane"),F=A.emSwimlaneBackgroundOdd??"rgb(250,250,250)",U=A.emSwimlaneBackgroundStroke??"rgb(240,240,240)";D.append("rect").attr("x",0).attr("y",C.y).attr("rx","3").attr("width",B+E.swimlanePadding).attr("height",C.height).attr("fill",F).attr("stroke",U),D.append("text").attr("font-weight",E.swimlaneTextFontWeight).attr("x",30).attr("y",C.y+30).text(C.label)}}var oBu="position frame",tBu="frame positioned",WU0="position relation",eBu="relation positioned",Zc4,Jc4,Kc4,wc4,Qc4,RU0,g1,Gc4,Hc4,qc4,YU0,lc4,Lc4,Xc4,vc4,xc4,Wc4,Sc4,Yc4;var x8u=g(()=>{YB();e3();s4();o4();Y4();w7();w7();V3();Zc4=X(function(u){z0.debug("options str",u)},"setOptions"),Jc4=X(function(){return{}},"getOptions"),Kc4=X(function(){u8u(),D3()},"clear");X(u8u,"reset");wc4=t4.eventmodeling,Qc4=X(()=>{return E1({...wc4,...F4().eventmodeling})},"getConfig"),RU0={};X(B8u,"getState");X(E8u,"setAst");g1={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};X(TU0,"getDiagramProps");Gc4={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};X(A8u,"extractNamespace");X(C8u,"extractName");X(D8u,"findSwimlaneByNamespace");X(ac,"findNextAvailableIndex");X(F8u,"calculateSwimlaneProps");X(U8u,"calculateEntityVisualProps");X(z8u,"calculateTextProps");X(k8u,"decidePositionFrame");X(f8u,"calculateX");X(M8u,"calculateMaxRight");X(OU0,"sortedSwimlanesArray");X(b8u,"evolveFramePositioned");X(Z8u,"isFirstFrame");X(J8u,"hasSourceFrame");X(SU0,"findBoxByFrame");X(K8u,"findBoxByLineIndex");X(w8u,"decidePositionRelation");X(Q8u,"evolveRelationPositioned");Hc4={[oBu]:k8u,[WU0]:w8u},qc4={[tBu]:b8u,[eBu]:Q8u};X(G8u,"decide");X(H8u,"evolve");X(mc,"dispatch");YU0={getConfig:Qc4,setOptions:Zc4,getOptions:Jc4,clear:Kc4,setAccTitle:w3,getAccTitle:q3,getAccDescription:L3,setAccDescription:l3,setDiagramTitle:T3,getDiagramTitle:X3,setAst:E8u,getDiagramProps:TU0,getState:B8u},lc4={parse:X(async(u)=>{let B=await v9("eventmodeling",u);z0.debug(B),YU0.setAst(B),U6(B,YU0)},"parse")},Lc4=y0(),Xc4=Lc4?.eventmodeling;X(q8u,"renderD3Box");X(l8u,"dirUpwards");X(L8u,"renderD3Relation");X(X8u,"renderD3Swimlane");vc4=X(function(u,B,E,A){if(z0.debug("in eventmodeling renderer",u+`
`,"id:",B,E),!Xc4)throw Error("EventModeling config not found");let C=A.db,{themeVariables:D,eventmodeling:F}=y0(),U=Qu(`[id="${B}"]`),z=C.getDiagramProps(),k=C.getState(),f=`em-arrowhead-${B}`,M=D.emArrowhead??"#000000";k.sortedSwimlanesArray.forEach(X8u(U,k.maxR,z,D)),k.boxes.forEach(q8u(U,z)),k.relations.forEach(L8u(U,z,f,D)),U.append("defs").append("marker").attr("id",f).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",M),Rx(void 0,U,F?.padding??30,F?.useMaxWidth)},"draw"),xc4={draw:vc4},Wc4=X((u)=>"","getStyles"),Sc4=Wc4,Yc4={parser:lc4,db:YU0,renderer:xc4,styles:Sc4}});var P8u={};ju(P8u,{diagram:()=>gc4});var PU0,Rc4,Tc4,Oc4=14,xL=250,Ic4=30,Pc4=60,jc4=5,O8u,W8u,S8u,Y8u,Nc4,R8u,Vc4,hc4,ic4,IU0,ac4,mc4,I8u,$c,T8u,WL,$c4,yc4,rc4,gc4;var j8u=g(()=>{A2();e3();s4();o4();Y4();j4();PU0=function(){var u=X(function(Q,G,H,l){for(H=H||{},l=Q.length;l--;H[Q[l]]=G);return H},"o"),B=[1,4],E=[1,14],A=[1,12],C=[1,13],D=[6,7,8],F=[1,20],U=[1,18],z=[1,19],k=[6,7,11],f=[1,6,13,14],M=[1,23],b=[1,24],Z=[1,6,7,11,13,14],J={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:X(function(G,H,l,q,L,v,x){var S=v.length-1;switch(L){case 6:case 7:return q;case 15:q.addNode(v[S-1].length,v[S].trim());break;case 16:q.addNode(0,v[S].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:B},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:B},{6:E,7:[1,10],9:9,12:11,13:A,14:C},u(D,[2,3]),{1:[2,2]},u(D,[2,4]),u(D,[2,5]),{1:[2,6],6:E,12:15,13:A,14:C},{6:E,9:16,12:11,13:A,14:C},{6:F,7:U,10:17,11:z},u(k,[2,18],{14:[1,21]}),u(k,[2,16]),u(k,[2,17]),{6:F,7:U,10:22,11:z},{1:[2,7],6:E,12:15,13:A,14:C},u(f,[2,14],{7:M,11:b}),u(Z,[2,8]),u(Z,[2,9]),u(Z,[2,10]),u(k,[2,15]),u(f,[2,13],{7:M,11:b}),u(Z,[2,11]),u(Z,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:X(function(G,H){if(H.recoverable)this.trace(G);else{var l=Error(G);throw l.hash=H,l}},"parseError"),parse:X(function(G){var H=this,l=[0],q=[],L=[null],v=[],x=this.table,S="",W=0,T=0,R=0,Y=2,h=1,I=v.slice.call(arguments,1),O=Object.create(this.lexer),V={yy:{}};for(var j in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,j))V.yy[j]=this.yy[j];if(O.setInput(G,V.yy),V.yy.lexer=O,V.yy.parser=this,typeof O.yylloc>"u")O.yylloc={};var i=O.yylloc;v.push(i);var a=O.options&&O.options.ranges;if(typeof V.yy.parseError==="function")this.parseError=V.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function $(m0){l.length=l.length-2*m0,L.length=L.length-m0,v.length=v.length-m0}X($,"popStack");function m(){var m0=q.pop()||O.lex()||h;if(typeof m0!=="number"){if(m0 instanceof Array)q=m0,m0=q.pop();m0=H.symbols_[m0]||m0}return m0}X(m,"lex");var y,r,_,e,p,b0,B0={},k0,f0,D0,P0;while(!0){if(_=l[l.length-1],this.defaultActions[_])e=this.defaultActions[_];else{if(y===null||typeof y>"u")y=m();e=x[_]&&x[_][y]}if(typeof e>"u"||!e.length||!e[0]){var L0="";P0=[];for(k0 in x[_])if(this.terminals_[k0]&&k0>Y)P0.push("'"+this.terminals_[k0]+"'");if(O.showPosition)L0="Parse error on line "+(W+1)+`:
`+O.showPosition()+`
Expecting `+P0.join(", ")+", got '"+(this.terminals_[y]||y)+"'";else L0="Parse error on line "+(W+1)+": Unexpected "+(y==h?"end of input":"'"+(this.terminals_[y]||y)+"'");this.parseError(L0,{text:O.match,token:this.terminals_[y]||y,line:O.yylineno,loc:i,expected:P0})}if(e[0]instanceof Array&&e.length>1)throw Error("Parse Error: multiple actions possible at state: "+_+", token: "+y);switch(e[0]){case 1:if(l.push(y),L.push(O.yytext),v.push(O.yylloc),l.push(e[1]),y=null,!r){if(T=O.yyleng,S=O.yytext,W=O.yylineno,i=O.yylloc,R>0)R--}else y=r,r=null;break;case 2:if(f0=this.productions_[e[1]][1],B0.$=L[L.length-f0],B0._$={first_line:v[v.length-(f0||1)].first_line,last_line:v[v.length-1].last_line,first_column:v[v.length-(f0||1)].first_column,last_column:v[v.length-1].last_column},a)B0._$.range=[v[v.length-(f0||1)].range[0],v[v.length-1].range[1]];if(b0=this.performAction.apply(B0,[S,T,W,V.yy,e[1],L,v].concat(I)),typeof b0<"u")return b0;if(f0)l=l.slice(0,-1*f0*2),L=L.slice(0,-1*f0),v=v.slice(0,-1*f0);l.push(this.productions_[e[1]][0]),L.push(B0.$),v.push(B0._$),D0=x[l[l.length-2]][l[l.length-1]],l.push(D0);break;case 3:return!0}}return!0},"parse")},K=function(){var Q={EOF:1,parseError:X(function(H,l){if(this.yy.parser)this.yy.parser.parseError(H,l);else throw Error(H)},"parseError"),setInput:X(function(G,H){if(this.yy=H||this.yy||{},this._input=G,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var G=this._input[0];this.yytext+=G,this.yyleng++,this.offset++,this.match+=G,this.matched+=G;var H=G.match(/(?:\r\n?|\n).*/g);if(H)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),G},"input"),unput:X(function(G){var H=G.length,l=G.split(/(?:\r\n?|\n)/g);this._input=G+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-H),this.offset-=H;var q=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1)this.yylineno-=l.length-1;var L=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===q.length?this.yylloc.first_column:0)+q[q.length-l.length].length-l[0].length:this.yylloc.first_column-H},this.options.ranges)this.yylloc.range=[L[0],L[0]+this.yyleng-H];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(G){this.unput(this.match.slice(G))},"less"),pastInput:X(function(){var G=this.matched.substr(0,this.matched.length-this.match.length);return(G.length>20?"...":"")+G.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var G=this.match;if(G.length<20)G+=this._input.substr(0,20-G.length);return(G.substr(0,20)+(G.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var G=this.pastInput(),H=Array(G.length+1).join("-");return G+this.upcomingInput()+`
`+H+"^"},"showPosition"),test_match:X(function(G,H){var l,q,L;if(this.options.backtrack_lexer){if(L={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)L.yylloc.range=this.yylloc.range.slice(0)}if(q=G[0].match(/(?:\r\n?|\n).*/g),q)this.yylineno+=q.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:q?q[q.length-1].length-q[q.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+G[0].length},this.yytext+=G[0],this.match+=G[0],this.matches=G,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(G[0].length),this.matched+=G[0],l=this.performAction.call(this,this.yy,this,H,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(l)return l;else if(this._backtrack){for(var v in L)this[v]=L[v];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var G,H,l,q;if(!this._more)this.yytext="",this.match="";var L=this._currentRules();for(var v=0;v<L.length;v++)if(l=this._input.match(this.rules[L[v]]),l&&(!H||l[0].length>H[0].length)){if(H=l,q=v,this.options.backtrack_lexer)if(G=this.test_match(l,L[v]),G!==!1)return G;else if(this._backtrack){H=!1;continue}else return!1;else if(!this.options.flex)break}if(H){if(G=this.test_match(H,L[q]),G!==!1)return G;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var H=this.next();if(H)return H;else return this.lex()},"lex"),begin:X(function(H){this.conditionStack.push(H)},"begin"),popState:X(function(){var H=this.conditionStack.length-1;if(H>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(H){if(H=this.conditionStack.length-1-Math.abs(H||0),H>=0)return this.conditionStack[H];else return"INITIAL"},"topState"),pushState:X(function(H){this.begin(H)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(H,l,q,L){var v=L;switch(q){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return Q}();J.lexer=K;function w(){this.yy={}}return X(w,"Parser"),w.prototype=J,J.Parser=w,new w}();PU0.parser=PU0;Rc4=PU0,Tc4=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{X(this,"IshikawaDB")}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,D3()}getRoot(){return this.root}addNode(u,B){let E=ru.sanitizeText(B,y0());if(!this.root){this.root={text:E,children:[]},this.stack=[{level:0,node:this.root}],T3(E);return}this.baseLevel??=u;let A=u-this.baseLevel+1;if(A<=0)A=1;while(this.stack.length>1&&this.stack[this.stack.length-1].level>=A)this.stack.pop();let C=this.stack[this.stack.length-1].node,D={text:E,children:[]};C.children.push(D),this.stack.push({level:A,node:D})}getAccTitle(){return q3()}setAccTitle(u){w3(u)}getAccDescription(){return L3()}setAccDescription(u){l3(u)}getDiagramTitle(){return X3()}setDiagramTitle(u){T3(u)}},O8u=82*Math.PI/180,W8u=Math.cos(O8u),S8u=Math.sin(O8u),Y8u=X((u,B,E)=>{let A=u.node().getBBox(),C=A.width+B*2,D=A.height+B*2;g3(u,D,C,E),u.attr("viewBox",`${A.x-B} ${A.y-B} ${C} ${D}`)},"applyPaddedViewBox"),Nc4=X((u,B,E,A)=>{let D=A.db.getRoot();if(!D)return;let F=y0(),{look:U,handDrawnSeed:z,themeVariables:k}=F,f=f8(F.fontSize)[0]??Oc4,M=U==="handDrawn",b=D.children??[],Z=F.ishikawa?.diagramPadding??20,J=F.ishikawa?.useMaxWidth??!1,K=h1(B),w=K.append("g").attr("class","ishikawa"),Q=M?Ou.svg(K.node()):void 0,G=Q?{roughSvg:Q,seed:z??0,lineColor:k?.lineColor??"#333",fillColor:k?.mainBkg??"#fff"}:void 0,H=`ishikawa-arrow-${B}`;if(!M)w.append("defs").append("marker").attr("id",H).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let l=0,q=xL,L=M?void 0:WL(w,l,q,l,q,"ishikawa-spine");if(Vc4(w,l,q,D.text,f,G),!b.length){if(M)WL(w,l,q,l,q,"ishikawa-spine",G);Y8u(K,Z,J);return}l-=20;let v=b.filter((O,V)=>V%2===0),x=b.filter((O,V)=>V%2===1),S=R8u(v),W=R8u(x),T=S.total+W.total,R=xL,Y=xL;if(T>0){let O=xL*2,V=xL*0.3;R=Math.max(V,O*(S.total/T)),Y=Math.max(V,O*(W.total/T))}let h=f*2;if(R=Math.max(R,S.max*h),Y=Math.max(Y,W.max*h),q=Math.max(R,xL),L)L.attr("y1",q).attr("y2",q);w.select(".ishikawa-head-group").attr("transform",`translate(0,${q})`);let I=Math.ceil(b.length/2);for(let O=0;O<I;O++){let V=w.append("g").attr("class","ishikawa-pair");for(let[j,i,a]of[[b[O*2],-1,R],[b[O*2+1],1,Y]])if(j)ac4(V,j,l,q,i,a,f,G);l=V.selectAll("text").nodes().reduce((j,i)=>Math.min(j,i.getBBox().x),1/0)}if(M)WL(w,l,q,0,q,"ishikawa-spine",G);else{L.attr("x1",l);let O=`url(#${H})`;w.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",O)}Y8u(K,Z,J)},"draw"),R8u=X((u)=>{let B=X((E)=>E.children.reduce((A,C)=>A+1+B(C),0),"countDescendants");return u.reduce((E,A)=>{let C=B(A);return E.total+=C,E.max=Math.max(E.max,C),E},{total:0,max:0})},"sideStats"),Vc4=X((u,B,E,A,C,D)=>{let F=Math.max(6,Math.floor(110/(C*0.6))),U=u.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${B},${E})`),z=$c(U,I8u(A,F),0,0,"ishikawa-head-label","start",C),k=z.node().getBBox(),f=Math.max(60,k.width+6),M=Math.max(40,k.height*2+40),b=`M 0 ${-M/2} L 0 ${M/2} Q ${f*2.4} 0 0 ${-M/2} Z`;if(D){let Z=D.roughSvg.path(b,{roughness:1.5,seed:D.seed,fill:D.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:D.lineColor,strokeWidth:2});U.insert(()=>Z,":first-child").attr("class","ishikawa-head")}else U.insert("path",":first-child").attr("class","ishikawa-head").attr("d",b);z.attr("transform",`translate(${(f-k.width)/2-k.x+3},${-k.y-k.height/2})`)},"drawHead"),hc4=X((u,B)=>{let E=[],A=[],C=X((D,F,U)=>{let z=B===-1?[...D].reverse():D;for(let k of z){let f=E.length,M=k.children??[];if(E.push({depth:U,text:I8u(k.text,15),parentIndex:F,childCount:M.length}),U%2===0){if(A.push(f),M.length)C(M,f,U+1)}else{if(M.length)C(M,f,U+1);A.push(f)}}},"walk");return C(u,-1,2),{entries:E,yOrder:A}},"flattenTree"),ic4=X((u,B,E,A,C,D,F)=>{let U=u.append("g").attr("class","ishikawa-label-group"),k=$c(U,B,E,A+11*C,"ishikawa-label cause","middle",D).node().getBBox();if(F){let f=F.roughSvg.rectangle(k.x-20,k.y-2,k.width+40,k.height+4,{roughness:1.5,seed:F.seed,fill:F.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:F.lineColor,strokeWidth:2});U.insert(()=>f,":first-child").attr("class","ishikawa-label-box")}else U.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",k.x-20).attr("y",k.y-2).attr("width",k.width+40).attr("height",k.height+4)},"drawCauseLabel"),IU0=X((u,B,E,A,C,D)=>{let F=Math.sqrt(A*A+C*C);if(F===0)return;let U=A/F,z=C/F,k=6,f=-z*k,M=U*k,b=B,Z=E,J=`M ${b} ${Z} L ${b-U*k*2+f} ${Z-z*k*2+M} L ${b-U*k*2-f} ${Z-z*k*2-M} Z`,K=D.roughSvg.path(J,{roughness:1,seed:D.seed,fill:D.lineColor,fillStyle:"solid",stroke:D.lineColor,strokeWidth:1});u.append(()=>K)},"drawArrowMarker"),ac4=X((u,B,E,A,C,D,F,U)=>{let z=B.children??[],k=D*(z.length?1:0.2),f=-W8u*k,M=S8u*k*C,b=E+f,Z=A+M;if(WL(u,E,A,b,Z,"ishikawa-branch",U),U)IU0(u,E,A,E-b,A-Z,U);if(ic4(u,B.text,b,Z,C,F,U),!z.length)return;let{entries:J,yOrder:K}=hc4(z,C),w=J.length,Q=Array(w);for(let[L,v]of K.entries())Q[v]=A+M*((L+1)/(w+1));let G=new Map;G.set(-1,{x0:E,y0:A,x1:b,y1:Z,childCount:z.length,childrenDrawn:0});let H=-W8u,l=S8u*C,q=C<0?"ishikawa-label up":"ishikawa-label down";for(let[L,v]of J.entries()){let x=Q[L],S=G.get(v.parentIndex),W=u.append("g").attr("class","ishikawa-sub-group"),T=0,R=0,Y=0;if(v.depth%2===0){let h=S.y1-S.y0;if(T=T8u(S.x0,S.x1,h?(x-S.y0)/h:0.5),R=x,Y=T-(v.childCount>0?Pc4+v.childCount*jc4:Ic4),WL(W,T,x,Y,x,"ishikawa-sub-branch",U),U)IU0(W,T,x,1,0,U);$c(W,v.text,Y,x,"ishikawa-label align","end",F)}else{let h=S.childrenDrawn++;if(T=T8u(S.x0,S.x1,(S.childCount-h)/(S.childCount+1)),R=S.y0,Y=T+H*((x-R)/l),WL(W,T,R,Y,x,"ishikawa-sub-branch",U),U)IU0(W,T,R,T-Y,R-x,U);$c(W,v.text,Y,x,q,"end",F)}if(v.childCount>0)G.set(L,{x0:T,y0:R,x1:Y,y1:x,childCount:v.childCount,childrenDrawn:0})}},"drawBranch"),mc4=X((u)=>u.split(/<br\s*\/?>|\n/),"splitLines"),I8u=X((u,B)=>{if(u.length<=B)return u;let E=[];for(let A of u.split(/\s+/)){let C=E.length-1;if(C>=0&&E[C].length+1+A.length<=B)E[C]+=" "+A;else E.push(A)}return E.join(`
`)},"wrapText"),$c=X((u,B,E,A,C,D,F)=>{let U=mc4(B),z=F*1.05,k=u.append("text").attr("class",C).attr("text-anchor",D).attr("x",E).attr("y",A-(U.length-1)*z/2);for(let[f,M]of U.entries())k.append("tspan").attr("x",E).attr("dy",f===0?0:z).text(M);return k},"drawMultilineText"),T8u=X((u,B,E)=>u+(B-u)*E,"lerp"),WL=X((u,B,E,A,C,D,F)=>{if(F){let U=F.roughSvg.line(B,E,A,C,{roughness:1.5,seed:F.seed,stroke:F.lineColor,strokeWidth:2});u.append(()=>U).attr("class",D);return}return u.append("line").attr("class",D).attr("x1",B).attr("y1",E).attr("x2",A).attr("y2",C)},"drawLine"),$c4={draw:Nc4},yc4=X((u)=>`
.ishikawa .ishikawa-spine,
.ishikawa .ishikawa-branch,
.ishikawa .ishikawa-sub-branch {
stroke: ${u.lineColor};
stroke-width: 2;
fill: none;
}
.ishikawa .ishikawa-sub-branch {
stroke-width: 1;
}
.ishikawa .ishikawa-arrow {
fill: ${u.lineColor};
}
.ishikawa .ishikawa-head {
fill: ${u.mainBkg};
stroke: ${u.lineColor};
stroke-width: 2;
}
.ishikawa .ishikawa-label-box {
fill: ${u.mainBkg};
stroke: ${u.lineColor};
stroke-width: 2;
}
.ishikawa text {
font-family: ${u.fontFamily};
font-size: ${u.fontSize};
fill: ${u.textColor};
}
.ishikawa .ishikawa-head-label {
font-weight: 600;
text-anchor: middle;
dominant-baseline: middle;
font-size: 14px;
}
.ishikawa .ishikawa-label {
text-anchor: end;
}
.ishikawa .ishikawa-label.cause {
text-anchor: middle;
dominant-baseline: middle;
}
.ishikawa .ishikawa-label.align {
text-anchor: end;
dominant-baseline: middle;
}
.ishikawa .ishikawa-label.up {
dominant-baseline: baseline;
}
.ishikawa .ishikawa-label.down {
dominant-baseline: hanging;
}
`,"getStyles"),rc4=yc4,gc4={parser:Rc4,get db(){return new Tc4},renderer:$c4,styles:rc4}});function yc(u,B){let E=_c4(u),A=E.filter((U)=>cc4(U,u)),C=0,D=0,F=[];if(A.length>1){let U=i8u(A);for(let k=0;k<A.length;++k){let f=A[k];f.angle=Math.atan2(f.x-U.x,f.y-U.y)}A.sort((k,f)=>f.angle-k.angle);let z=A[A.length-1];for(let k=0;k<A.length;++k){let f=A[k];D+=(z.x+f.x)*(f.y-z.y);let M={x:(f.x+z.x)/2,y:(f.y+z.y)/2},b=null;for(let Z=0;Z<f.parentIndex.length;++Z)if(z.parentIndex.includes(f.parentIndex[Z])){let J=u[f.parentIndex[Z]],K=Math.atan2(f.x-J.x,f.y-J.y),w=Math.atan2(z.x-J.x,z.y-J.y),Q=w-K;if(Q<0)Q+=2*Math.PI;let G=w-Q/2,H=V8(M,{x:J.x+J.radius*Math.sin(G),y:J.y+J.radius*Math.cos(G)});if(H>J.radius*2)H=J.radius*2;if(b==null||b.width>H)b={circle:J,width:H,p1:f,p2:z,large:H>J.radius,sweep:!0}}if(b!=null)F.push(b),C+=VU0(b.circle.radius,b.width),z=f}}else{let U=u[0];for(let k=1;k<u.length;++k)if(u[k].radius<U.radius)U=u[k];let z=!1;for(let k=0;k<u.length;++k)if(V8(u[k],U)>Math.abs(U.radius-u[k].radius)){z=!0;break}if(z)C=D=0;else C=U.radius*U.radius*Math.PI,F.push({circle:U,p1:{x:U.x,y:U.y+U.radius},p2:{x:U.x-0.0000000001,y:U.y+U.radius},width:U.radius*2,large:!0,sweep:!0})}if(D/=2,B)B.area=C+D,B.arcArea=C,B.polygonArea=D,B.arcs=F,B.innerPoints=A,B.intersectionPoints=E;return C+D}function cc4(u,B){return B.every((E)=>V8(u,E)<E.radius+0.0000000001)}function _c4(u){let B=[];for(let E=0;E<u.length;++E)for(let A=E+1;A<u.length;++A){let C=h8u(u[E],u[A]);for(let D of C)D.parentIndex=[E,A],B.push(D)}return B}function VU0(u,B){return u*u*Math.acos(1-B/u)-(u-B)*Math.sqrt(B*(2*u-B))}function V8(u,B){return Math.sqrt((u.x-B.x)*(u.x-B.x)+(u.y-B.y)*(u.y-B.y))}function yU0(u,B,E){if(E>=u+B)return 0;if(E<=Math.abs(u-B))return Math.PI*Math.min(u,B)*Math.min(u,B);let A=u-(E*E-B*B+u*u)/(2*E),C=B-(E*E-u*u+B*B)/(2*E);return VU0(u,A)+VU0(B,C)}function h8u(u,B){let E=V8(u,B),A=u.radius,C=B.radius;if(E>=A+C||E<=Math.abs(A-C))return[];let D=(A*A-C*C+E*E)/(2*E),F=Math.sqrt(A*A-D*D),U=u.x+D*(B.x-u.x)/E,z=u.y+D*(B.y-u.y)/E,k=-(B.y-u.y)*(F/E),f=-(B.x-u.x)*(F/E);return[{x:U+k,y:z-f},{x:U-k,y:z+f}]}function i8u(u){let B={x:0,y:0};for(let E of u)B.x+=E.x,B.y+=E.y;return B.x/=u.length,B.y/=u.length,B}function pc4(u,B,E,A){A=A||{};let C=A.maxIterations||100,D=A.tolerance||0.0000000001,F=u(B),U=u(E),z=E-B;if(F*U>0)throw"Initial bisect points must have opposite signs";if(F===0)return B;if(U===0)return E;for(let k=0;k<C;++k){z/=2;let f=B+z,M=u(f);if(M*F>=0)B=f;if(Math.abs(z)<D||M===0)return f}return B+z}function hU0(u){let B=Array(u);for(let E=0;E<u;++E)B[E]=0;return B}function N8u(u,B){return hU0(u).map(()=>hU0(B))}function SL(u,B){let E=0;for(let A=0;A<u.length;++A)E+=u[A]*B[A];return E}function iU0(u){return Math.sqrt(SL(u,u))}function aU0(u,B,E){for(let A=0;A<B.length;++A)u[A]=B[A]*E}function _k(u,B,E,A,C){for(let D=0;D<u.length;++D)u[D]=B*E[D]+A*C[D]}function a8u(u,B,E){E=E||{};let A=E.maxIterations||B.length*200,C=E.nonZeroDelta||1.05,D=E.zeroDelta||0.001,F=E.minErrorDelta||0.000001,U=E.minErrorDelta||0.00001,z=E.rho!==void 0?E.rho:1,k=E.chi!==void 0?E.chi:2,f=E.psi!==void 0?E.psi:-0.5,M=E.sigma!==void 0?E.sigma:0.5,b,Z=B.length,J=Array(Z+1);J[0]=B,J[0].fx=u(B),J[0].id=0;for(let q=0;q<Z;++q){let L=B.slice();L[q]=L[q]?L[q]*C:D,J[q+1]=L,J[q+1].fx=u(L),J[q+1].id=q+1}function K(q){for(let L=0;L<q.length;L++)J[Z][L]=q[L];J[Z].fx=q.fx}let w=(q,L)=>q.fx-L.fx,Q=B.slice(),G=B.slice(),H=B.slice(),l=B.slice();for(let q=0;q<A;++q){if(J.sort(w),E.history){let v=J.map((x)=>{let S=x.slice();return S.fx=x.fx,S.id=x.id,S});v.sort((x,S)=>x.id-S.id),E.history.push({x:J[0].slice(),fx:J[0].fx,simplex:v})}b=0;for(let v=0;v<Z;++v)b=Math.max(b,Math.abs(J[0][v]-J[1][v]));if(Math.abs(J[0].fx-J[Z].fx)<F&&b<U)break;for(let v=0;v<Z;++v){Q[v]=0;for(let x=0;x<Z;++x)Q[v]+=J[x][v];Q[v]/=Z}let L=J[Z];if(_k(G,1+z,Q,-z,L),G.fx=u(G),G.fx<J[0].fx)if(_k(l,1+k,Q,-k,L),l.fx=u(l),l.fx<G.fx)K(l);else K(G);else if(G.fx>=J[Z-1].fx){let v=!1;if(G.fx>L.fx)if(_k(H,1+f,Q,-f,L),H.fx=u(H),H.fx<L.fx)K(H);else v=!0;else if(_k(H,1-f*z,Q,f*z,L),H.fx=u(H),H.fx<G.fx)K(H);else v=!0;if(v){if(M>=1)break;for(let x=1;x<J.length;++x)_k(J[x],1-M,J[0],M,J[x]),J[x].fx=u(J[x])}}else K(G)}return J.sort(w),{fx:J[0].fx,x:J[0]}}function nc4(u,B,E,A,C,D,F){let U=E.fx,z=SL(E.fxprime,B),k=U,f=U,M=z,b=0;C=C||1,D=D||0.000001,F=F||0.1;function Z(J,K,w){for(let Q=0;Q<16;++Q)if(C=(J+K)/2,_k(A.x,1,E.x,C,B),k=A.fx=u(A.x,A.fxprime),M=SL(A.fxprime,B),k>U+D*C*z||k>=w)K=C;else{if(Math.abs(M)<=-F*z)return C;if(M*(K-J)>=0)K=J;J=C,w=k}return 0}for(let J=0;J<10;++J){if(_k(A.x,1,E.x,C,B),k=A.fx=u(A.x,A.fxprime),M=SL(A.fxprime,B),k>U+D*C*z||J&&k>=f)return Z(b,C,f);if(Math.abs(M)<=-F*z)return C;if(M>=0)return Z(C,b,k);f=k,b=C,C*=2}return C}function dc4(u,B,E){let A={x:B.slice(),fx:0,fxprime:B.slice()},C={x:B.slice(),fx:0,fxprime:B.slice()},D=B.slice(),F,U,z=1,k;E=E||{},k=E.maxIterations||B.length*20,A.fx=u(A.x,A.fxprime),F=A.fxprime.slice(),aU0(F,A.fxprime,-1);for(let f=0;f<k;++f){if(z=nc4(u,F,A,C,z),E.history)E.history.push({x:A.x.slice(),fx:A.fx,fxprime:A.fxprime.slice(),alpha:z});if(!z)aU0(F,A.fxprime,-1);else{_k(D,1,C.fxprime,-1,A.fxprime);let M=SL(A.fxprime,A.fxprime),b=Math.max(0,SL(D,C.fxprime)/M);_k(F,b,F,-1,C.fxprime),U=A,A=C,C=U}if(iU0(A.fxprime)<=0.00001)break}if(E.history)E.history.push({x:A.x.slice(),fx:A.fx,fxprime:A.fxprime.slice(),alpha:z});return A}function m8u(u,B={}){B.maxIterations=B.maxIterations||500;let E=B.initialLayout||ec4,A=B.lossFunction||YL,C=sc4(u,B),D=E(C,B),F=Object.keys(D),U=[];for(let f of F)U.push(D[f].x),U.push(D[f].y);let k=a8u((f)=>{let M={};for(let b=0;b<F.length;++b){let Z=F[b];M[Z]={x:f[2*b],y:f[2*b+1],radius:D[Z].radius}}return A(M,C)},U,B).x;for(let f=0;f<F.length;++f){let M=F[f];D[M].x=k[2*f],D[M].y=k[2*f+1]}return D}function mU0(u,B,E){if(Math.min(u,B)*Math.min(u,B)*Math.PI<=E+$8u)return Math.abs(u-B);return pc4((A)=>yU0(u,B,A)-E,0,u+B)}function sc4(u,B={}){let E=B.distinct,A=u.map((U)=>Object.assign({},U));function C(U){return U.join(";")}if(E){let U=new Map;for(let z of A)for(let k=0;k<z.sets.length;k++){let f=String(z.sets[k]);U.set(f,z.size+(U.get(f)||0));for(let M=k+1;M<z.sets.length;M++){let b=String(z.sets[M]),Z=`${f};${b}`,J=`${b};${f}`;U.set(Z,z.size+(U.get(Z)||0)),U.set(J,z.size+(U.get(J)||0))}}for(let z of A)if(z.sets.length<3)z.size=U.get(C(z.sets))}let D=[],F=new Set;for(let U of A)if(U.sets.length===1)D.push(U.sets[0]);else if(U.sets.length===2){let z=U.sets[0],k=U.sets[1];F.add(C(U.sets)),F.add(C([k,z]))}D.sort((U,z)=>U===z?0:U<z?-1:1);for(let U=0;U<D.length;++U){let z=D[U];for(let k=U+1;k<D.length;++k){let f=D[k];if(!F.has(C([z,f])))A.push({sets:[z,f],size:0})}}return A}function oc4(u,B,E){let A=N8u(B.length,B.length),C=N8u(B.length,B.length);return u.filter((D)=>D.sets.length===2).forEach((D)=>{let F=E[D.sets[0]],U=E[D.sets[1]],z=Math.sqrt(B[F].size/Math.PI),k=Math.sqrt(B[U].size/Math.PI),f=mU0(z,k,D.size);A[F][U]=A[U][F]=f;let M=0;if(D.size+0.0000000001>=Math.min(B[F].size,B[U].size))M=1;else if(D.size<=0.0000000001)M=-1;C[F][U]=C[U][F]=M}),{distances:A,constraints:C}}function tc4(u,B,E,A){for(let D=0;D<B.length;++D)B[D]=0;let C=0;for(let D=0;D<E.length;++D){let F=u[2*D],U=u[2*D+1];for(let z=D+1;z<E.length;++z){let k=u[2*z],f=u[2*z+1],M=E[D][z],b=A[D][z],Z=(k-F)*(k-F)+(f-U)*(f-U),J=Math.sqrt(Z),K=Z-M*M;if(b>0&&J<=M||b<0&&J>=M)continue;C+=2*K*K,B[2*D]+=4*K*(F-k),B[2*D+1]+=4*K*(U-f),B[2*z]+=4*K*(k-F),B[2*z+1]+=4*K*(f-U)}}return C}function ec4(u,B={}){let E=B_4(u,B),A=B.lossFunction||YL;if(u.length>=8){let C=u_4(u,B),D=A(C,u),F=A(E,u);if(D+0.00000001<F)E=C}return E}function u_4(u,B={}){let E=B.restarts||10,A=[],C={};for(let b of u)if(b.sets.length===1)C[b.sets[0]]=A.length,A.push(b);let{distances:D,constraints:F}=oc4(u,A,C),U=iU0(D.map(iU0))/D.length;D=D.map((b)=>b.map((Z)=>Z/U));let z=(b,Z)=>tc4(b,Z,D,F),k=null;for(let b=0;b<E;++b){let Z=hU0(D.length*2).map(Math.random),J=dc4(z,Z,B);if(!k||J.fx<k.fx)k=J}let f=k.x,M={};for(let b=0;b<A.length;++b){let Z=A[b];M[Z.sets[0]]={x:f[2*b]*U,y:f[2*b+1]*U,radius:Math.sqrt(Z.size/Math.PI)}}if(B.history)for(let b of B.history)aU0(b.x,U);return M}function B_4(u,B){let E=B&&B.lossFunction?B.lossFunction:YL,A={},C={};for(let M of u)if(M.sets.length===1){let b=M.sets[0];A[b]={x:10000000000,y:10000000000,rowid:A.length,size:M.size,radius:Math.sqrt(M.size/Math.PI)},C[b]=[]}u=u.filter((M)=>M.sets.length===2);for(let M of u){let b=M.weight!=null?M.weight:1,Z=M.sets[0],J=M.sets[1];if(M.size+$8u>=Math.min(A[Z].size,A[J].size))b=0;C[Z].push({set:J,size:M.size,weight:b}),C[J].push({set:Z,size:M.size,weight:b})}let D=[];Object.keys(C).forEach((M)=>{let b=0;for(let Z=0;Z<C[M].length;++Z)b+=C[M][Z].size*C[M][Z].weight;D.push({set:M,size:b})});function F(M,b){return b.size-M.size}D.sort(F);let U={};function z(M){return M.set in U}function k(M,b){A[b].x=M.x,A[b].y=M.y,U[b]=!0}k({x:0,y:0},D[0].set);for(let M=1;M<D.length;++M){let b=D[M].set,Z=C[b].filter(z),J=A[b];if(Z.sort(F),Z.length===0)throw"ERROR: missing pairwise overlap information";let K=[];for(var f=0;f<Z.length;++f){let G=A[Z[f].set],H=mU0(J.radius,G.radius,Z[f].size);K.push({x:G.x+H,y:G.y}),K.push({x:G.x-H,y:G.y}),K.push({y:G.y+H,x:G.x}),K.push({y:G.y-H,x:G.x});for(let l=f+1;l<Z.length;++l){let q=A[Z[l].set],L=mU0(J.radius,q.radius,Z[l].size),v=h8u({x:G.x,y:G.y,radius:H},{x:q.x,y:q.y,radius:L});K.push(...v)}}let w=100000000000000000000000000000000000000000000000000,Q=K[0];for(let G of K){A[b].x=G.x,A[b].y=G.y;let H=E(A,u);if(H<w)w=H,Q=G}k(Q,b)}return A}function YL(u,B){let E=0;for(let A of B){if(A.sets.length===1)continue;let C;if(A.sets.length===2){let F=u[A.sets[0]],U=u[A.sets[1]];C=yU0(F.radius,U.radius,V8(F,U))}else C=yc(A.sets.map((F)=>u[F]));let D=A.weight!=null?A.weight:1;E+=D*(C-A.size)*(C-A.size)}return E}function y8u(u,B){let E=0;for(let A of B){if(A.sets.length===1)continue;let C;if(A.sets.length===2){let U=u[A.sets[0]],z=u[A.sets[1]];C=yU0(U.radius,z.radius,V8(U,z))}else C=yc(A.sets.map((U)=>u[U]));let D=A.weight!=null?A.weight:1,F=Math.log((C+1)/(A.size+1));E+=D*F*F}return E}function E_4(u,B,E){if(E==null)u.sort((C,D)=>D.radius-C.radius);else u.sort(E);if(u.length>0){let C=u[0].x,D=u[0].y;for(let F of u)F.x-=C,F.y-=D}if(u.length===2){if(V8(u[0],u[1])<Math.abs(u[1].radius-u[0].radius))u[1].x=u[0].x+u[0].radius-u[1].radius-0.0000000001,u[1].y=u[0].y}if(u.length>1){let C=Math.atan2(u[1].x,u[1].y)-B,D=Math.cos(C),F=Math.sin(C);for(let U of u){let{x:z,y:k}=U;U.x=D*z-F*k,U.y=F*z+D*k}}if(u.length>2){let C=Math.atan2(u[2].x,u[2].y)-B;while(C<0)C+=2*Math.PI;while(C>2*Math.PI)C-=2*Math.PI;if(C>Math.PI){let D=u[1].y/(0.0000000001+u[1].x);for(let F of u){var A=(F.x+D*F.y)/(1+D*D);F.x=2*A-F.x,F.y=2*A*D-F.y}}}}function A_4(u){u.forEach((C)=>{C.parent=C});function B(C){if(C.parent!==C)C.parent=B(C.parent);return C.parent}function E(C,D){let F=B(C),U=B(D);F.parent=U}for(let C=0;C<u.length;++C)for(let D=C+1;D<u.length;++D){let F=u[C].radius+u[D].radius;if(V8(u[C],u[D])+0.0000000001<F)E(u[D],u[C])}let A=new Map;for(let C=0;C<u.length;++C){let D=B(u[C]).parent.setid;if(!A.has(D))A.set(D,[]);A.get(D).push(u[C])}return u.forEach((C)=>{delete C.parent}),Array.from(A.values())}function $U0(u){let B=(E)=>{let A=u.reduce((D,F)=>Math.max(D,F[E]+F.radius),Number.NEGATIVE_INFINITY),C=u.reduce((D,F)=>Math.min(D,F[E]-F.radius),Number.POSITIVE_INFINITY);return{max:A,min:C}};return{xRange:B("x"),yRange:B("y")}}function r8u(u,B,E){if(B==null)B=Math.PI/2;let A=_8u(u).map((k)=>Object.assign({},k)),C=A_4(A);for(let k of C){E_4(k,B,E);let f=$U0(k);k.size=(f.xRange.max-f.xRange.min)*(f.yRange.max-f.yRange.min),k.bounds=f}C.sort((k,f)=>f.size-k.size),A=C[0];let D=A.bounds,F=(D.xRange.max-D.xRange.min)/50;function U(k,f,M){if(!k)return;let b=k.bounds,Z,J;if(f)Z=D.xRange.max-b.xRange.min+F;else{Z=D.xRange.max-b.xRange.max;let K=(b.xRange.max-b.xRange.min)/2-(D.xRange.max-D.xRange.min)/2;if(K<0)Z+=K}if(M)J=D.yRange.max-b.yRange.min+F;else{J=D.yRange.max-b.yRange.max;let K=(b.yRange.max-b.yRange.min)/2-(D.yRange.max-D.yRange.min)/2;if(K<0)J+=K}for(let K of k)K.x+=Z,K.y+=J,A.push(K)}let z=1;while(z<C.length)U(C[z],!0,!1),U(C[z+1],!1,!0),U(C[z+2],!0,!0),z+=3,D=$U0(A);return c8u(A)}function g8u(u,B,E,A,C){let D=_8u(u);B-=2*A,E-=2*A;let{xRange:F,yRange:U}=$U0(D);if(F.max===F.min||U.max===U.min)return console.log("not scaling solution: zero size detected"),u;let z,k;if(C){let Z=Math.sqrt(C/Math.PI)*2;z=B/Z,k=E/Z}else z=B/(F.max-F.min),k=E/(U.max-U.min);let f=Math.min(k,z),M=(B-(F.max-F.min)*f)/2,b=(E-(U.max-U.min)*f)/2;return c8u(D.map((Z)=>({radius:f*Z.radius,x:A+M+(Z.x-F.min)*f,y:A+b+(Z.y-U.min)*f,setid:Z.setid})))}function c8u(u){let B={};for(let E of u)B[E.setid]=E;return B}function _8u(u){return Object.keys(u).map((E)=>Object.assign(u[E],{setid:E}))}function p8u(u={}){let B=!1,E=600,A=350,C=15,D=1000,F=Math.PI/2,U=!0,z=null,k=!0,f=!0,M=null,b=null,Z=!1,J=null,K=u&&u.symmetricalTextCentre?u.symmetricalTextCentre:!1,w={},Q=u&&u.colourScheme?u.colourScheme:u&&u.colorScheme?u.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],G=0,H=function(v){if(v in w)return w[v];var x=w[v]=Q[G];if(G+=1,G>=Q.length)G=0;return x},l=m8u,q=YL;function L(v){let x=v.datum(),S=new Set;x.forEach((p)=>{if(p.size==0&&p.sets.length==1)S.add(p.sets[0])}),x=x.filter((p)=>!p.sets.some((b0)=>S.has(b0)));let W={},T={};if(x.length>0){let p=l(x,{lossFunction:q,distinct:Z});if(U)p=r8u(p,F,b);W=g8u(p,E,A,C,z),T=d8u(W,x,K)}let R={};x.forEach((p)=>{if(p.label)R[p.sets]=p.label});function Y(p){if(p.sets in R)return R[p.sets];if(p.sets.length==1)return""+p.sets[0]}v.selectAll("svg").data([W]).enter().append("svg");let h=v.select("svg");if(B)h.attr("viewBox",`0 0 ${E} ${A}`);else h.attr("width",E).attr("height",A);let I={},O=!1;h.selectAll(".venn-area path").each(function(p){let b0=this.getAttribute("d");if(p.sets.length==1&&b0&&!Z)O=!0,I[p.sets[0]]=F_4(b0)});function V(p){return(b0)=>{let B0=p.sets.map((k0)=>{let f0=I[k0],D0=W[k0];if(!f0)f0={x:E/2,y:A/2,radius:1};if(!D0)D0={x:E/2,y:A/2,radius:1};return{x:f0.x*(1-b0)+D0.x*b0,y:f0.y*(1-b0)+D0.y*b0,radius:f0.radius*(1-b0)+D0.radius*b0}});return V8u(B0,J)}}let j=h.selectAll(".venn-area").data(x,(p)=>p.sets),i=j.enter().append("g").attr("class",(p)=>`venn-area venn-${p.sets.length==1?"circle":"intersection"}${p.colour||p.color?" venn-coloured":""}`).attr("data-venn-sets",(p)=>p.sets.join("_")),a=i.append("path"),$=i.append("text").attr("class","label").text((p)=>Y(p)).attr("text-anchor","middle").attr("dy",".35em").attr("x",E/2).attr("y",A/2);if(f)a.style("fill-opacity","0").filter((p)=>p.sets.length==1).style("fill",(p)=>p.colour?p.colour:p.color?p.color:H(p.sets)).style("fill-opacity",".25"),$.style("fill",(p)=>{if(p.colour||p.color)return"#FFF";if(u.textFill)return u.textFill;return p.sets.length==1?H(p.sets):"#444"});function m(p){if(typeof p.transition==="function")return p.transition("venn").duration(D);return p}let y=v;if(O&&typeof y.transition==="function")y=m(v),y.selectAll("path").attrTween("d",V);else y.selectAll("path").attr("d",(p)=>V8u(p.sets.map((b0)=>W[b0])),J);let r=y.selectAll("text").filter((p)=>(p.sets in T)).text((p)=>Y(p)).attr("x",(p)=>Math.floor(T[p.sets].x)).attr("y",(p)=>Math.floor(T[p.sets].y));if(k)if(O)if("on"in r)r.on("end",jU0(W,Y));else r.each("end",jU0(W,Y));else r.each(jU0(W,Y));let _=m(j.exit()).remove();if(typeof j.transition==="function")_.selectAll("path").attrTween("d",V);let e=_.selectAll("text").attr("x",E/2).attr("y",A/2);if(M!==null)$.style("font-size","0px"),r.style("font-size",M),e.style("font-size","0px");return{circles:W,textCentres:T,nodes:j,enter:i,update:y,exit:_}}return L.wrap=function(v){if(!arguments.length)return k;return k=v,L},L.useViewBox=function(){return B=!0,L},L.width=function(v){if(!arguments.length)return E;return E=v,L},L.height=function(v){if(!arguments.length)return A;return A=v,L},L.padding=function(v){if(!arguments.length)return C;return C=v,L},L.distinct=function(v){if(!arguments.length)return Z;return Z=v,L},L.colours=function(v){if(!arguments.length)return H;return H=v,L},L.colors=function(v){if(!arguments.length)return H;return H=v,L},L.fontSize=function(v){if(!arguments.length)return M;return M=v,L},L.round=function(v){if(!arguments.length)return J;return J=v,L},L.duration=function(v){if(!arguments.length)return D;return D=v,L},L.layoutFunction=function(v){if(!arguments.length)return l;return l=v,L},L.normalize=function(v){if(!arguments.length)return U;return U=v,L},L.scaleToFit=function(v){if(!arguments.length)return z;return z=v,L},L.styled=function(v){if(!arguments.length)return f;return f=v,L},L.orientation=function(v){if(!arguments.length)return F;return F=v,L},L.orientationOrder=function(v){if(!arguments.length)return b;return b=v,L},L.lossFunction=function(v){if(!arguments.length)return q;return q=v==="default"?YL:v==="logRatio"?y8u:v,L},L}function jU0(u,B){return function(E){let A=this,C=u[E.sets[0]].radius||50,D=B(E)||"",F=D.split(/\s+/).reverse(),U=3,z=(D.length+F.length)/3,k=F.pop(),f=[k],M=0,b=1.1;A.textContent=null;let Z=[];function J(H){let l=A.ownerDocument.createElementNS(A.namespaceURI,"tspan");return l.textContent=H,Z.push(l),A.append(l),l}let K=J(k);while(!0){if(k=F.pop(),!k)break;f.push(k);let H=f.join(" ");if(K.textContent=H,H.length>z&&K.getComputedTextLength()>C)f.pop(),K.textContent=f.join(" "),f=[k],K=J(k),M++}let w=0.35-M*b/2,Q=A.getAttribute("x"),G=A.getAttribute("y");Z.forEach((H,l)=>{H.setAttribute("x",Q),H.setAttribute("y",G),H.setAttribute("dy",`${w+l*b}em`)})}}function NU0(u,B,E){let A=B[0].radius-V8(B[0],u);for(let C=1;C<B.length;++C){let D=B[C].radius-V8(B[C],u);if(D<=A)A=D}for(let C=0;C<E.length;++C){let D=V8(E[C],u)-E[C].radius;if(D<=A)A=D}return A}function n8u(u,B,E){let A=[];for(let f of u)A.push({x:f.x,y:f.y}),A.push({x:f.x+f.radius/2,y:f.y}),A.push({x:f.x-f.radius/2,y:f.y}),A.push({x:f.x,y:f.y+f.radius/2}),A.push({x:f.x,y:f.y-f.radius/2});let C=A[0],D=NU0(A[0],u,B);for(let f=1;f<A.length;++f){let M=NU0(A[f],u,B);if(M>=D)C=A[f],D=M}let F=a8u((f)=>-1*NU0({x:f[0],y:f[1]},u,B),[C.x,C.y],{maxIterations:500,minErrorDelta:0.0000000001}).x,U={x:E?0:F[0],y:F[1]},z=!0;for(let f of u)if(V8(U,f)>f.radius){z=!1;break}for(let f of B)if(V8(U,f)<f.radius){z=!1;break}if(z)return U;if(u.length==1)return{x:u[0].x,y:u[0].y};let k={};if(yc(u,k),k.arcs.length===0)return{x:0,y:-1000,disjoint:!0};if(k.arcs.length==1)return{x:k.arcs[0].circle.x,y:k.arcs[0].circle.y};if(B.length)return n8u(u,[]);return i8u(k.arcs.map((f)=>f.p1))}function C_4(u){let B={},E=Object.keys(u);for(let A of E)B[A]=[];for(let A=0;A<E.length;A++){let C=E[A],D=u[C];for(let F=A+1;F<E.length;++F){let U=E[F],z=u[U],k=V8(D,z);if(k+z.radius<=D.radius+0.0000000001)B[U].push(C);else if(k+D.radius<=z.radius+0.0000000001)B[C].push(U)}}return B}function d8u(u,B,E){let A={},C=C_4(u);for(let D=0;D<B.length;++D){let F=B[D].sets,U={},z={};for(let b=0;b<F.length;++b){U[F[b]]=!0;let Z=C[F[b]];for(let J=0;J<Z.length;++J)z[Z[J]]=!0}let k=[],f=[];for(let b in u)if(b in U)k.push(u[b]);else if(!(b in z))f.push(u[b]);let M=n8u(k,f,E);if(A[F]=M,M.disjoint&&B[D].size>0)console.log("WARNING: area "+F+" not represented on screen")}return A}function D_4(u,B,E){let A=[];return A.push(`
M`,u,B),A.push(`
m`,-E,0),A.push(`
a`,E,E,0,1,0,E*2,0),A.push(`
a`,E,E,0,1,0,-E*2,0),A.join(" ")}function F_4(u){let B=u.split(" ");return{x:Number.parseFloat(B[1]),y:Number.parseFloat(B[2]),radius:-Number.parseFloat(B[4])}}function s8u(u){if(u.length===0)return[];let B={};return yc(u,B),B.arcs}function o8u(u,B){if(u.length===0)return"M 0 0";let E=Math.pow(10,B||0),A=B!=null?(D)=>Math.round(D*E)/E:(D)=>D;if(u.length==1){let D=u[0].circle;return D_4(A(D.x),A(D.y),A(D.radius))}let C=[`
M`,A(u[0].p2.x),A(u[0].p2.y)];for(let D of u){let F=A(D.circle.radius);C.push(`
A`,F,F,0,D.large?1:0,D.sweep?1:0,A(D.p1.x),A(D.p1.y))}return C.join(" ")}function V8u(u,B){return o8u(s8u(u),B)}function t8u(u,B={}){let{lossFunction:E,layoutFunction:A=m8u,normalize:C=!0,orientation:D=Math.PI/2,orientationOrder:F,width:U=600,height:z=350,padding:k=15,scaleToFit:f=!1,symmetricalTextCentre:M=!1,distinct:b,round:Z=2}=B,J=A(u,{lossFunction:E==="default"||!E?YL:E==="logRatio"?y8u:E,distinct:b});if(C)J=r8u(J,D,F);let K=g8u(J,U,z,k,f),w=d8u(K,u,M),Q=new Map(Object.keys(K).map((l)=>[l,{set:l,x:K[l].x,y:K[l].y,radius:K[l].radius}])),G=u.map((l)=>{let q=l.sets.map((x)=>Q.get(x)),L=s8u(q),v=o8u(L,Z);return{circles:q,arcs:L,path:v,area:l,has:new Set(l.sets)}});function H(l){let q="";for(let L of G)if(L.has.size>l.length&&l.every((v)=>L.has.has(v)))q+=" "+L.path;return q}return G.map(({circles:l,arcs:q,path:L,area:v})=>{return{data:v,text:w[v.sets],circles:l,arcs:q,path:L,distinctPath:L+H(v.sets)}})}var $8u=0.0000000001;var e8u=()=>{};var CEu={};ju(CEu,{diagram:()=>S_4});function uEu(){return E1(q_4,F4().venn)}function BEu(u){let B=new Map;for(let E of u){let A=E.targets.join("|"),C=B.get(A);if(C)Object.assign(C,E.styles);else B.set(A,{...E.styles})}return B}function gb(u){return u.join("|")}function EEu(u,B,E,A,C,D){let F=u?.useDebugLayout??!1,z=E.select("svg").append("g").attr("class","venn-text-nodes"),k=new Map;for(let f of A){let M=gb(f.sets),b=k.get(M);if(b)b.push(f);else k.set(M,[f])}for(let[f,M]of k.entries()){let b=B.get(f);if(!b?.text)continue;let Z=b.text.x,J=b.text.y,K=Math.min(...b.circles.map((h)=>h.radius)),w=Math.min(...b.circles.map((h)=>h.radius-Math.hypot(Z-h.x,J-h.y))),Q=Number.isFinite(w)?Math.max(0,w):0;if(Q===0&&Number.isFinite(K))Q=K*0.6;let G=z.append("g").attr("class","venn-text-area").attr("font-size",`${40*C}px`);if(F)G.append("circle").attr("class","venn-text-debug-circle").attr("cx",Z).attr("cy",J).attr("r",Q).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*C).attr("stroke-dasharray",`${6*C} ${4*C}`);let H=Math.max(80*C,Q*2*0.95),l=Math.max(60*C,Q*2*0.95),v=(b.data.label&&b.data.label.length>0?Math.min(32*C,Q*0.25):0)+(M.length<=2?30*C:0),x=Z-H/2,S=J-l/2+v,W=Math.max(1,Math.ceil(Math.sqrt(M.length))),T=Math.max(1,Math.ceil(M.length/W)),R=H/W,Y=l/T;for(let[h,I]of M.entries()){let O=h%W,V=Math.floor(h/W),j=x+R*(O+0.5),i=S+Y*(V+0.5);if(F)G.append("rect").attr("class","venn-text-debug-cell").attr("x",x+R*O).attr("y",S+Y*V).attr("width",R).attr("height",Y).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*C).attr("stroke-dasharray",`${4*C} ${3*C}`);let a=R*0.9,$=Y*0.9,m=G.append("foreignObject").attr("class","venn-text-node-fo").attr("width",a).attr("height",$).attr("x",j-a/2).attr("y",i-$/2).attr("overflow","visible"),y=D.get(I.id)?.color,r=m.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(I.label??I.id);if(y)r.style("color",y)}}}function AEu(u){let B=new Set(u.map((C)=>[...C.sets].sort().join("|"))),E=new Map(u.filter((C)=>C.sets.length===1&&C.size!==void 0).map((C)=>[C.sets[0],C.size])),A=[];for(let C of u){if(C.sets.length<3)continue;let D=[...C.sets].sort();for(let F=0;F<D.length-1;F++)for(let U=F+1;U<D.length;U++){let z=[D[F],D[U]],k=z.join("|");if(!B.has(k)){B.add(k);let f=E.get(z[0]),M=E.get(z[1]),b=f!==void 0&&M!==void 0?Math.min(f,M)/4:2.5;A.push({sets:z,size:b,label:""})}}}return A.length>0?[...u,...A]:u}var rU0,z_4,gU0,cU0,_U0,pU0,nU0,dU0=!1,k_4,f_4,HT,M_4,b_4,Z_4,J_4,rc,K_4,w_4,Q_4,G_4,H_4,q_4,l_4,L_4,X_4,v_4,x_4,W_4,S_4;var DEu=g(()=>{A2();e3();s4();o4();Y4();V3();G2();e8u();j4();rU0=function(){var u=X(function(G,H,l,q){for(l=l||{},q=G.length;q--;l[G[q]]=H);return l},"o"),B=[5,8],E=[7,8,11,12,17,19,22,24],A=[1,17],C=[1,18],D=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],F=[1,31],U=[1,39],z=[7,8,11,12,17,19,22,24,27],k=[1,57],f=[1,56],M=[1,58],b=[1,59],Z=[1,60],J=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],K={trace:X(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:X(function(H,l,q,L,v,x,S){var W=x.length-1;switch(v){case 1:return x[W-1];case 2:case 3:case 4:this.$=[];break;case 5:x[W-1].push(x[W]),this.$=x[W-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=x[W];break;case 8:L.setDiagramTitle(x[W].substr(6)),this.$=x[W].substr(6);break;case 9:if(L.addSubsetData([x[W]],void 0,void 0),L.setIndentMode)L.setIndentMode(!0);break;case 10:if(L.addSubsetData([x[W-1]],x[W],void 0),L.setIndentMode)L.setIndentMode(!0);break;case 11:if(L.addSubsetData([x[W-2]],void 0,parseFloat(x[W])),L.setIndentMode)L.setIndentMode(!0);break;case 12:if(L.addSubsetData([x[W-3]],x[W-2],parseFloat(x[W])),L.setIndentMode)L.setIndentMode(!0);break;case 13:if(x[W].length<2)throw Error("union requires multiple identifiers");if(L.validateUnionIdentifiers)L.validateUnionIdentifiers(x[W]);if(L.addSubsetData(x[W],void 0,void 0),L.setIndentMode)L.setIndentMode(!0);break;case 14:if(x[W-1].length<2)throw Error("union requires multiple identifiers");if(L.validateUnionIdentifiers)L.validateUnionIdentifiers(x[W-1]);if(L.addSubsetData(x[W-1],x[W],void 0),L.setIndentMode)L.setIndentMode(!0);break;case 15:if(x[W-2].length<2)throw Error("union requires multiple identifiers");if(L.validateUnionIdentifiers)L.validateUnionIdentifiers(x[W-2]);if(L.addSubsetData(x[W-2],void 0,parseFloat(x[W])),L.setIndentMode)L.setIndentMode(!0);break;case 16:if(x[W-3].length<2)throw Error("union requires multiple identifiers");if(L.validateUnionIdentifiers)L.validateUnionIdentifiers(x[W-3]);if(L.addSubsetData(x[W-3],x[W-2],parseFloat(x[W])),L.setIndentMode)L.setIndentMode(!0);break;case 17:case 18:case 19:L.addTextData(x[W-1],x[W],void 0);break;case 20:case 21:L.addTextData(x[W-2],x[W-1],x[W]);break;case 23:L.addStyleData(x[W-1],x[W]);break;case 24:case 25:case 26:var T=L.getCurrentSets();if(!T)throw Error("text requires set");L.addTextData(T,x[W],void 0);break;case 27:case 28:var T=L.getCurrentSets();if(!T)throw Error("text requires set");L.addTextData(T,x[W-1],x[W]);break;case 29:case 41:this.$=[x[W]];break;case 30:case 42:this.$=[...x[W-2],x[W]];break;case 31:this.$=[x[W-2],x[W]];break;case 33:this.$=x[W].join(" ");break;case 34:this.$=[x[W]];break;case 35:x[W-1].push(x[W]),this.$=x[W-1];break;case 43:case 44:this.$=x[W];break}},"anonymous"),table:[u(B,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},u(E,[2,4],{6:5}),u(B,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},u(E,[2,5]),u(E,[2,6]),u(E,[2,7]),u(E,[2,8]),{13:16,20:A,21:C},{13:20,18:19,20:A,21:C},{13:20,18:21,20:A,21:C},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:A,21:C},u(E,[2,9],{14:[1,27],15:[1,28]}),u(D,[2,43]),u(D,[2,44]),u(E,[2,13],{14:[1,29],15:[1,30],27:F}),u(D,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:F},u(E,[2,22]),u(E,[2,24],{14:[1,35]}),u(E,[2,25],{14:[1,36]}),u(E,[2,26]),{20:U,25:37,26:38,27:F},u(E,[2,10],{15:[1,40]}),{16:[1,41]},u(E,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:A,21:C},u(E,[2,17],{14:[1,45]}),u(E,[2,18],{14:[1,46]}),u(E,[2,19]),u(E,[2,27]),u(E,[2,28]),u(E,[2,23],{27:[1,47]}),u(z,[2,29]),{15:[1,48]},{16:[1,49]},u(E,[2,11]),{16:[1,50]},u(E,[2,15]),u(D,[2,42]),u(E,[2,20]),u(E,[2,21]),{20:U,26:51},{16:k,20:f,21:[1,53],28:52,29:54,30:55,31:M,32:b,33:Z},u(E,[2,12]),u(E,[2,16]),u(z,[2,30]),u(z,[2,31]),u(z,[2,32]),u(z,[2,33],{30:61,16:k,20:f,31:M,32:b,33:Z}),u(J,[2,34]),u(J,[2,36]),u(J,[2,37]),u(J,[2,38]),u(J,[2,39]),u(J,[2,40]),u(J,[2,35])],defaultActions:{6:[2,1]},parseError:X(function(H,l){if(l.recoverable)this.trace(H);else{var q=Error(H);throw q.hash=l,q}},"parseError"),parse:X(function(H){var l=this,q=[0],L=[],v=[null],x=[],S=this.table,W="",T=0,R=0,Y=0,h=2,I=1,O=x.slice.call(arguments,1),V=Object.create(this.lexer),j={yy:{}};for(var i in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,i))j.yy[i]=this.yy[i];if(V.setInput(H,j.yy),j.yy.lexer=V,j.yy.parser=this,typeof V.yylloc>"u")V.yylloc={};var a=V.yylloc;x.push(a);var $=V.options&&V.options.ranges;if(typeof j.yy.parseError==="function")this.parseError=j.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function m(h0){q.length=q.length-2*h0,v.length=v.length-h0,x.length=x.length-h0}X(m,"popStack");function y(){var h0=L.pop()||V.lex()||I;if(typeof h0!=="number"){if(h0 instanceof Array)L=h0,h0=L.pop();h0=l.symbols_[h0]||h0}return h0}X(y,"lex");var r,_,e,p,b0,B0,k0={},f0,D0,P0,L0;while(!0){if(e=q[q.length-1],this.defaultActions[e])p=this.defaultActions[e];else{if(r===null||typeof r>"u")r=y();p=S[e]&&S[e][r]}if(typeof p>"u"||!p.length||!p[0]){var m0="";L0=[];for(f0 in S[e])if(this.terminals_[f0]&&f0>h)L0.push("'"+this.terminals_[f0]+"'");if(V.showPosition)m0="Parse error on line "+(T+1)+`:
`+V.showPosition()+`
Expecting `+L0.join(", ")+", got '"+(this.terminals_[r]||r)+"'";else m0="Parse error on line "+(T+1)+": Unexpected "+(r==I?"end of input":"'"+(this.terminals_[r]||r)+"'");this.parseError(m0,{text:V.match,token:this.terminals_[r]||r,line:V.yylineno,loc:a,expected:L0})}if(p[0]instanceof Array&&p.length>1)throw Error("Parse Error: multiple actions possible at state: "+e+", token: "+r);switch(p[0]){case 1:if(q.push(r),v.push(V.yytext),x.push(V.yylloc),q.push(p[1]),r=null,!_){if(R=V.yyleng,W=V.yytext,T=V.yylineno,a=V.yylloc,Y>0)Y--}else r=_,_=null;break;case 2:if(D0=this.productions_[p[1]][1],k0.$=v[v.length-D0],k0._$={first_line:x[x.length-(D0||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(D0||1)].first_column,last_column:x[x.length-1].last_column},$)k0._$.range=[x[x.length-(D0||1)].range[0],x[x.length-1].range[1]];if(B0=this.performAction.apply(k0,[W,R,T,j.yy,p[1],v,x].concat(O)),typeof B0<"u")return B0;if(D0)q=q.slice(0,-1*D0*2),v=v.slice(0,-1*D0),x=x.slice(0,-1*D0);q.push(this.productions_[p[1]][0]),v.push(k0.$),x.push(k0._$),P0=S[q[q.length-2]][q[q.length-1]],q.push(P0);break;case 3:return!0}}return!0},"parse")},w=function(){var G={EOF:1,parseError:X(function(l,q){if(this.yy.parser)this.yy.parser.parseError(l,q);else throw Error(l)},"parseError"),setInput:X(function(H,l){if(this.yy=l||this.yy||{},this._input=H,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:X(function(){var H=this._input[0];this.yytext+=H,this.yyleng++,this.offset++,this.match+=H,this.matched+=H;var l=H.match(/(?:\r\n?|\n).*/g);if(l)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),H},"input"),unput:X(function(H){var l=H.length,q=H.split(/(?:\r\n?|\n)/g);this._input=H+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var L=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),q.length-1)this.yylineno-=q.length-1;var v=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:q?(q.length===L.length?this.yylloc.first_column:0)+L[L.length-q.length].length-q[0].length:this.yylloc.first_column-l},this.options.ranges)this.yylloc.range=[v[0],v[0]+this.yyleng-l];return this.yyleng=this.yytext.length,this},"unput"),more:X(function(){return this._more=!0,this},"more"),reject:X(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:X(function(H){this.unput(this.match.slice(H))},"less"),pastInput:X(function(){var H=this.matched.substr(0,this.matched.length-this.match.length);return(H.length>20?"...":"")+H.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:X(function(){var H=this.match;if(H.length<20)H+=this._input.substr(0,20-H.length);return(H.substr(0,20)+(H.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:X(function(){var H=this.pastInput(),l=Array(H.length+1).join("-");return H+this.upcomingInput()+`
`+l+"^"},"showPosition"),test_match:X(function(H,l){var q,L,v;if(this.options.backtrack_lexer){if(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)v.yylloc.range=this.yylloc.range.slice(0)}if(L=H[0].match(/(?:\r\n?|\n).*/g),L)this.yylineno+=L.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+H[0].length},this.yytext+=H[0],this.match+=H[0],this.matches=H,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(H[0].length),this.matched+=H[0],q=this.performAction.call(this,this.yy,this,l,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(q)return q;else if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:X(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var H,l,q,L;if(!this._more)this.yytext="",this.match="";var v=this._currentRules();for(var x=0;x<v.length;x++)if(q=this._input.match(this.rules[v[x]]),q&&(!l||q[0].length>l[0].length)){if(l=q,L=x,this.options.backtrack_lexer)if(H=this.test_match(q,v[x]),H!==!1)return H;else if(this._backtrack){l=!1;continue}else return!1;else if(!this.options.flex)break}if(l){if(H=this.test_match(l,v[L]),H!==!1)return H;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:X(function(){var l=this.next();if(l)return l;else return this.lex()},"lex"),begin:X(function(l){this.conditionStack.push(l)},"begin"),popState:X(function(){var l=this.conditionStack.length-1;if(l>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:X(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:X(function(l){if(l=this.conditionStack.length-1-Math.abs(l||0),l>=0)return this.conditionStack[l];else return"INITIAL"},"topState"),pushState:X(function(l){this.begin(l)},"pushState"),stateStackSize:X(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:X(function(l,q,L,v){var x=v;switch(L){case 0:break;case 1:break;case 2:break;case 3:if(l.getIndentMode&&l.getIndentMode())return l.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:if(l.setIndentMode)l.setIndentMode(!1);this.begin("INITIAL"),this.unput(q.yytext);break;case 6:return this.begin("bol"),8;break;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(l.consumeIndentText)l.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return q.yytext=q.yytext.slice(2,-2),14;break;case 17:return q.yytext=q.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return G}();K.lexer=w;function Q(){this.yy={}}return X(Q,"Parser"),Q.prototype=K,K.Parser=Q,new Q}();rU0.parser=rU0;z_4=rU0,gU0=[],cU0=[],_U0=[],pU0=new Set,k_4=X((u,B,E)=>{let A=rc(u).sort(),C=E??10/Math.pow(u.length,2);if(nU0=A,A.length===1)pU0.add(A[0]);gU0.push({sets:A,size:C,label:B?HT(B):void 0})},"addSubsetData"),f_4=X(()=>{return gU0},"getSubsetData"),HT=X((u)=>{let B=u.trim();if(B.length>=2&&B.startsWith('"')&&B.endsWith('"'))return B.slice(1,-1);return B},"normalizeText"),M_4=X((u)=>{return u?HT(u):u},"normalizeStyleValue"),b_4=X((u,B,E)=>{let A=HT(B);cU0.push({sets:rc(u).sort(),id:A,label:E?HT(E):void 0})},"addTextData"),Z_4=X((u,B)=>{let E=rc(u).sort(),A={};for(let[C,D]of B)A[C]=M_4(D)??D;_U0.push({targets:E,styles:A})},"addStyleData"),J_4=X(()=>{return _U0},"getStyleData"),rc=X((u)=>{return u.map((B)=>HT(B))},"normalizeIdentifierList"),K_4=X((u)=>{let E=rc(u).filter((A)=>!pU0.has(A));if(E.length>0)throw Error(`unknown set identifier: ${E.join(", ")}`)},"validateUnionIdentifiers"),w_4=X(()=>{return cU0},"getTextData"),Q_4=X(()=>nU0,"getCurrentSets"),G_4=X(()=>dU0,"getIndentMode"),H_4=X((u)=>{dU0=u},"setIndentMode"),q_4=t4.venn;X(uEu,"getConfig");l_4=X(()=>{D3(),gU0.length=0,cU0.length=0,_U0.length=0,pU0.clear(),nU0=void 0,dU0=!1},"customClear"),L_4={getConfig:uEu,clear:l_4,setAccTitle:w3,getAccTitle:q3,setDiagramTitle:T3,getDiagramTitle:X3,getAccDescription:L3,setAccDescription:l3,addSubsetData:k_4,getSubsetData:f_4,addTextData:b_4,addStyleData:Z_4,validateUnionIdentifiers:K_4,getTextData:w_4,getStyleData:J_4,getCurrentSets:Q_4,getIndentMode:G_4,setIndentMode:H_4},X_4=X((u)=>`
.venn-title {
font-size: 32px;
fill: ${u.vennTitleTextColor};
font-family: ${u.fontFamily};
}
.venn-circle text {
font-size: 48px;
font-family: ${u.fontFamily};
}
.venn-intersection text {
font-size: 48px;
fill: ${u.vennSetTextColor};
font-family: ${u.fontFamily};
}
.venn-text-node {
font-family: ${u.fontFamily};
color: ${u.vennSetTextColor};
}
`,"getStyles"),v_4=X_4;X(BEu,"buildStyleByKey");x_4=X((u,B,E,A)=>{let C=A.db,D=C.getConfig?.(),{themeVariables:F,look:U,handDrawnSeed:z}=F4(),k=U==="handDrawn",f=[F.venn1,F.venn2,F.venn3,F.venn4,F.venn5,F.venn6,F.venn7,F.venn8].filter(Boolean),M=C.getDiagramTitle?.(),b=C.getSubsetData(),Z=C.getTextData(),J=BEu(C.getStyleData()),K=AEu(b),w=D?.width??800,Q=D?.height??450,G=1600,H=w/1600,l=M?48*H:0,q=F.primaryTextColor??F.textColor,L=h1(B);if(L.attr("viewBox",`0 0 ${w} ${Q}`),M)L.append("text").text(M).attr("class","venn-title").attr("font-size",`${32*H}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*H).style("fill",F.vennTitleTextColor||F.titleColor);let v=Qu(document.createElement("div")),x=p8u().width(w).height(Q-l);v.datum(K).call(x);let S=k?Ou.svg(v.select("svg").node()):void 0,W=t8u(K,{width:w,height:Q-l,padding:D?.padding??15}),T=new Map;for(let I of W){let O=gb([...I.data.sets].sort());T.set(O,I)}if(Z.length>0)EEu(D,T,v,Z,H,J);let R=n1(F.background||"#f4f4f4");if(v.selectAll(".venn-circle").each(function(I,O){let V=Qu(this),i=gb([...I.sets].sort()),a=J.get(i),$=a?.fill||f[O%f.length]||F.primaryColor;V.classed(`venn-set-${O%8}`,!0);let m=a?.["fill-opacity"]??0.1,y=a?.stroke||$,r=a?.["stroke-width"]||`${5*H}`;if(k&&S){let e=T.get(i);if(e&&e.circles.length>0){let p=e.circles[0],b0=S.circle(p.x,p.y,p.radius*2,{roughness:0.7,seed:z,fill:Kj($,0.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+O*60,stroke:y,strokeWidth:parseFloat(String(r))});V.select("path").remove(),V.node()?.insertBefore(b0,V.select("text").node())}}else V.select("path").style("fill",$).style("fill-opacity",m).style("stroke",y).style("stroke-width",r).style("stroke-opacity",0.95);let _=a?.color||(R?Ku($,30):wu($,30));V.select("text").style("font-size",`${48*H}px`).style("fill",_)}),k&&S)v.selectAll(".venn-intersection").each(function(I){let O=Qu(this),j=gb([...I.sets].sort()),i=J.get(j),a=i?.fill;if(a){let $=O.select("path"),m=$.attr("d");if(m){let y=S.path(m,{roughness:0.7,seed:z,fill:Kj(a,0.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),r=$.node();r?.parentNode?.insertBefore(y,r),$.remove()}}else O.select("path").style("fill-opacity",0);O.select("text").style("font-size",`${48*H}px`).style("fill",i?.color??F.vennSetTextColor??q)});else v.selectAll(".venn-intersection text").style("font-size",`${48*H}px`).style("fill",(I)=>{let V=gb([...I.sets].sort());return J.get(V)?.color??F.vennSetTextColor??q}),v.selectAll(".venn-intersection path").style("fill-opacity",(I)=>{let V=gb([...I.sets].sort());return J.get(V)?.fill?1:0}).style("fill",(I)=>{let V=gb([...I.sets].sort());return J.get(V)?.fill??"transparent"});let Y=L.append("g").attr("transform",`translate(0, ${l})`),h=v.select("svg").node();if(h&&"childNodes"in h)for(let I of[...h.childNodes])Y.node()?.appendChild(I);g3(L,Q,w,D?.useMaxWidth??!0)},"draw");X(gb,"stableSetsKey");X(EEu,"renderTextNodes");X(AEu,"ensurePairwiseSubsets");W_4={draw:x_4},S_4={parser:z_4,db:L_4,renderer:W_4,styles:v_4}});var kEu={};ju(kEu,{diagram:()=>h_4});function UEu(u){if(!u.length)return[];let B=[],E=[];return u.forEach((A)=>{let C={name:A.name,children:A.type==="Leaf"?void 0:[]};if(C.classSelector=A?.classSelector,A?.cssCompiledStyles)C.cssCompiledStyles=A.cssCompiledStyles;if(A.type==="Leaf"&&A.value!==void 0)C.value=A.value;while(E.length>0&&E[E.length-1].level>=A.level)E.pop();if(E.length===0)B.push(C);else{let D=E[E.length-1].node;if(D.children)D.children.push(C);else D.children=[C]}if(A.type!=="Leaf")E.push({node:C,level:A.level})}),B}var FEu,Y_4,R_4,zEu,T_4=10,RL=10,qT=25,O_4,I_4,P_4,j_4,N_4,V_4,h_4;var fEu=g(()=>{YB();A2();x8();E7();e3();s4();o4();Y4();w7();V3();FEu=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=w3,this.getAccTitle=q3,this.setDiagramTitle=T3,this.getDiagramTitle=X3,this.getAccDescription=L3,this.setAccDescription=l3}static{X(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let u=t4,B=F4();return E1({...u.treemap,...B.treemap??{}})}addNode(u,B){if(this.nodes.push(u),this.levels.set(u,B),B===0)this.outerNodes.push(u),this.root??=u}getRoot(){return{name:"",children:this.outerNodes}}addClass(u,B){let E=this.classes.get(u)??{id:u,styles:[],textStyles:[]},A=B.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");if(A)A.forEach((C)=>{if(WW(C))if(E?.textStyles)E.textStyles.push(C);else E.textStyles=[C];if(E?.styles)E.styles.push(C);else E.styles=[C]});this.classes.set(u,E)}getClasses(){return this.classes}getStylesForClass(u){return this.classes.get(u)?.styles??[]}clear(){D3(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};X(UEu,"buildHierarchy");Y_4=X((u,B)=>{U6(u,B);let E=[];for(let D of u.TreemapRows??[])if(D.$type==="ClassDefStatement")B.addClass(D.className??"",D.styleText??"");for(let D of u.TreemapRows??[]){let F=D.item;if(!F)continue;let U=D.indent?parseInt(D.indent):0,z=R_4(F),k=F.classSelector?B.getStylesForClass(F.classSelector):[],f=k.length>0?k:void 0,M={level:U,name:z,type:F.$type,value:F.value,classSelector:F.classSelector,cssCompiledStyles:f};E.push(M)}let A=UEu(E),C=X((D,F)=>{for(let U of D)if(B.addNode(U,F),U.children&&U.children.length>0)C(U.children,F+1)},"addNodesRecursively");C(A,0)},"populate"),R_4=X((u)=>{return u.name?String(u.name):""},"getItemName"),zEu={parser:{yy:void 0},parse:X(async(u)=>{try{let E=await v9("treemap",u);z0.debug("Treemap AST:",E);let A=zEu.parser?.yy;if(!(A instanceof FEu))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Y_4(E,A)}catch(B){throw z0.error("Error parsing treemap:",B),B}},"parse")},O_4=X((u,B,E,A)=>{let C=A.db,D=C.getConfig(),F=D.padding??T_4,U=C.getDiagramTitle(),z=C.getRoot(),{themeVariables:k}=F4();if(!z)return;let f=U?30:0,M=h1(B),b=D.nodeWidth?D.nodeWidth*RL:960,Z=D.nodeHeight?D.nodeHeight*RL:500,J=b,K=Z+f;M.attr("viewBox",`0 0 ${J} ${K}`),g3(M,K,J,D.useMaxWidth);let w;try{let m=D.valueFormat||",";if(m==="$0,0")w=X((y)=>"$"+XF(",")(y),"valueFormat");else if(m.startsWith("$")&&m.includes(",")){let y=/\.\d+/.exec(m),r=y?y[0]:"";w=X((_)=>"$"+XF(","+r)(_),"valueFormat")}else if(m.startsWith("$")){let y=m.substring(1);w=X((r)=>"$"+XF(y||"")(r),"valueFormat")}else w=XF(m)}catch(m){z0.error("Error creating format function:",m),w=XF(",")}let Q=FE().range(["transparent",k.cScale0,k.cScale1,k.cScale2,k.cScale3,k.cScale4,k.cScale5,k.cScale6,k.cScale7,k.cScale8,k.cScale9,k.cScale10,k.cScale11]),G=FE().range(["transparent",k.cScalePeer0,k.cScalePeer1,k.cScalePeer2,k.cScalePeer3,k.cScalePeer4,k.cScalePeer5,k.cScalePeer6,k.cScalePeer7,k.cScalePeer8,k.cScalePeer9,k.cScalePeer10,k.cScalePeer11]),H=FE().range([k.cScaleLabel0,k.cScaleLabel1,k.cScaleLabel2,k.cScaleLabel3,k.cScaleLabel4,k.cScaleLabel5,k.cScaleLabel6,k.cScaleLabel7,k.cScaleLabel8,k.cScaleLabel9,k.cScaleLabel10,k.cScaleLabel11]);if(U)M.append("text").attr("x",J/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(U);let l=M.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),q=qH(z).sum((m)=>m.value??0).sort((m,y)=>(y.value??0)-(m.value??0)),v=cN().size([b,Z]).paddingTop((m)=>m.children&&m.children.length>0?qT+RL:0).paddingInner(F).paddingLeft((m)=>m.children&&m.children.length>0?RL:0).paddingRight((m)=>m.children&&m.children.length>0?RL:0).paddingBottom((m)=>m.children&&m.children.length>0?RL:0).round(!0)(q),x=v.descendants().filter((m)=>m.children&&m.children.length>0),S=l.selectAll(".treemapSection").data(x).enter().append("g").attr("class","treemapSection").attr("transform",(m)=>`translate(${m.x0},${m.y0})`);if(S.append("rect").attr("width",(m)=>m.x1-m.x0).attr("height",qT).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",0.6).attr("stroke-width",0.6).attr("style",(m)=>{if(m.depth===0)return"display: none;";return""}),S.append("clipPath").attr("id",(m,y)=>`clip-section-${B}-${y}`).append("rect").attr("width",(m)=>Math.max(0,m.x1-m.x0-12)).attr("height",qT),S.append("rect").attr("width",(m)=>m.x1-m.x0).attr("height",(m)=>m.y1-m.y0).attr("class",(m,y)=>{return`treemapSection section${y}`}).attr("fill",(m)=>Q(m.data.name)).attr("fill-opacity",0.6).attr("stroke",(m)=>G(m.data.name)).attr("stroke-width",2).attr("stroke-opacity",0.4).attr("style",(m)=>{if(m.depth===0)return"display: none;";let y=q4({cssCompiledStyles:m.data.cssCompiledStyles});return y.nodeStyles+";"+y.borderStyles.join(";")}),S.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",qT/2).attr("dominant-baseline","middle").text((m)=>m.depth===0?"":m.data.name).attr("font-weight","bold").attr("clip-path",(m,y)=>`url(#clip-section-${B}-${y})`).attr("style",(m)=>{if(m.depth===0)return"display: none;";let y="dominant-baseline: middle; font-size: 12px; fill:"+H(m.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",r=q4({cssCompiledStyles:m.data.cssCompiledStyles});return y+r.labelStyles.replace("color:","fill:")}).each(function(m){if(m.depth===0)return;let y=Qu(this),r=m.data.name;y.text(r);let _=m.x1-m.x0,e=6,p;if(D.showValues!==!1&&m.value){let D0=_-10,P0=30,L0=10;p=D0-30-10-e}else p=_-e-6;let B0=Math.max(15,p),k0=y.node();if(k0.getComputedTextLength()>B0){let P0=r;while(P0.length>0){if(P0=r.substring(0,P0.length-1),P0.length===0){if(y.text("..."),k0.getComputedTextLength()>B0)y.text("");break}if(y.text(P0+"..."),k0.getComputedTextLength()<=B0)break}}}),D.showValues!==!1)S.append("text").attr("class","treemapSectionValue").attr("x",(m)=>m.x1-m.x0-10).attr("y",qT/2).attr("text-anchor","end").attr("dominant-baseline","middle").text((m)=>m.value?w(m.value):"").attr("font-style","italic").attr("style",(m)=>{if(m.depth===0)return"display: none;";let y="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+H(m.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",r=q4({cssCompiledStyles:m.data.cssCompiledStyles});return y+r.labelStyles.replace("color:","fill:")});let W=v.leaves(),T=W.length>20,R=T?16:38,Y=T?14:28,h=T?4:8,I=T?4:6,O=T?2:4,V=T?8:10,j=T?1:2,i=l.selectAll(".treemapLeafGroup").data(W).enter().append("g").attr("class",(m,y)=>{return`treemapNode treemapLeafGroup leaf${y}${m.data.classSelector?` ${m.data.classSelector}`:""}x`}).attr("transform",(m)=>`translate(${m.x0},${m.y0})`);if(i.append("rect").attr("width",(m)=>m.x1-m.x0).attr("height",(m)=>m.y1-m.y0).attr("class","treemapLeaf").attr("fill",(m)=>{return m.parent?Q(m.parent.data.name):Q(m.data.name)}).attr("style",(m)=>{return q4({cssCompiledStyles:m.data.cssCompiledStyles}).nodeStyles}).attr("fill-opacity",0.3).attr("stroke",(m)=>{return m.parent?Q(m.parent.data.name):Q(m.data.name)}).attr("stroke-width",3),i.append("clipPath").attr("id",(m,y)=>`clip-${B}-${y}`).append("rect").attr("width",(m)=>Math.max(0,m.x1-m.x0-4)).attr("height",(m)=>Math.max(0,m.y1-m.y0-4)),i.append("text").attr("class","treemapLabel").attr("x",(m)=>(m.x1-m.x0)/2).attr("y",(m)=>(m.y1-m.y0)/2).attr("style",(m)=>{let y=`text-anchor: middle; dominant-baseline: middle; font-size: ${R}px;fill:`+H(m.data.name)+";",r=q4({cssCompiledStyles:m.data.cssCompiledStyles});return y+r.labelStyles.replace("color:","fill:")}).attr("clip-path",(m,y)=>`url(#clip-${B}-${y})`).text((m)=>m.data.name).each(function(m){let y=Qu(this),r=m.x1-m.x0,_=m.y1-m.y0,e=y.node(),p=r-2*O,b0=_-2*O;if(p<V||b0<V){y.style("display","none");return}let B0=parseInt(y.style("font-size"),10),k0=0.6;while(e.getComputedTextLength()>p&&B0>h)B0--,y.style("font-size",`${B0}px`);let f0=Math.max(I,Math.min(Y,Math.round(B0*k0))),D0=B0+j+f0;while(D0>b0&&B0>h){if(B0--,f0=Math.max(I,Math.min(Y,Math.round(B0*k0))),f0<I&&B0===h)break;if(y.style("font-size",`${B0}px`),D0=B0+j+f0,f0<=I&&D0>b0);}if(y.style("font-size",`${B0}px`),T){if(B0<h||b0<h)y.style("display","none")}else if(e.getComputedTextLength()>p||B0<h||b0<B0)y.style("display","none")}),D.showValues!==!1)i.append("text").attr("class","treemapValue").attr("x",(y)=>(y.x1-y.x0)/2).attr("y",function(y){return(y.y1-y.y0)/2}).attr("style",(y)=>{let r=`text-anchor: middle; dominant-baseline: hanging; font-size: ${Y}px;fill:`+H(y.data.name)+";",_=q4({cssCompiledStyles:y.data.cssCompiledStyles});return r+_.labelStyles.replace("color:","fill:")}).attr("clip-path",(y,r)=>`url(#clip-${B}-${r})`).text((y)=>y.value?w(y.value):"").each(function(y){let r=Qu(this),_=this.parentNode;if(!_){r.style("display","none");return}let e=Qu(_).select(".treemapLabel");if(e.empty()||e.style("display")==="none"){r.style("display","none");return}let p=parseFloat(e.style("font-size")),B0=Math.max(I,Math.min(Y,Math.round(p*0.6)));r.style("font-size",`${B0}px`);let f0=(y.y1-y.y0)/2+p/2+j;r.attr("y",f0);let D0=y.x1-y.x0,m0=y.y1-y.y0-4,h0=D0-2*O;if(r.node().getComputedTextLength()>h0||f0+B0>m0||B0<I)r.style("display","none");else r.style("display",null)});let $=D.diagramPadding??8;v8(M,$,"flowchart",D?.useMaxWidth||!1)},"draw"),I_4=X(function(u,B){return B.db.getClasses()},"getClasses"),P_4={draw:O_4,getClasses:I_4},j_4={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},N_4=X(({treemap:u}={})=>{let B=O7(),E=F4(),A=E1(B,E.themeVariables),C=E1(j_4,u),D=C.titleColor??A.titleColor,F=C.labelColor??A.textColor,U=C.valueColor??A.textColor;return`
.treemapNode.section {
stroke: ${C.sectionStrokeColor};
stroke-width: ${C.sectionStrokeWidth};
fill: ${C.sectionFillColor};
}
.treemapNode.leaf {
stroke: ${C.leafStrokeColor};
stroke-width: ${C.leafStrokeWidth};
fill: ${C.leafFillColor};
}
.treemapLabel {
fill: ${F};
font-size: ${C.labelFontSize};
}
.treemapValue {
fill: ${U};
font-size: ${C.valueFontSize};
}
.treemapTitle {
fill: ${D};
font-size: ${C.titleFontSize};
}
`},"getStyles"),V_4=N_4,h_4={parser:zEu,get db(){return new FEu},renderer:P_4,styles:V_4}});var TEu={};ju(TEu,{diagram:()=>n_4});function ZEu(){return y0()["wardley-beta"]}function JEu(u,B,E,A,C,D,F,U,z){r7.addNode({id:u,label:B,x:E,y:A,className:C,labelOffsetX:D,labelOffsetY:F,inertia:U,sourceStrategy:z})}function KEu(u,B,E=!1,A,C){r7.addLink({source:u,target:B,dashed:E,label:A,flow:C})}function wEu(u,B,E){r7.addTrend({nodeId:u,targetX:B,targetY:E})}function QEu(u,B,E){r7.addAnnotation({number:u,coordinates:B,text:E})}function GEu(u,B,E){r7.addNote({text:u,x:B,y:E})}function HEu(u,B,E){r7.addAccelerator({name:u,x:B,y:E})}function qEu(u,B,E){r7.addDeaccelerator({name:u,x:B,y:E})}function lEu(u,B){r7.setAnnotationsBox(u,B)}function LEu(u,B){r7.setSize(u,B)}function XEu(u){r7.startPipeline(u)}function vEu(u,B){r7.addPipelineComponent(u,B)}function xEu(u){r7.setAxes(u)}function WEu(u){return r7.getNode(u)}function SEu(u){return r7.resolveNodeId(u)}function YEu(){return r7.build()}function REu(){r7.clear(),D3()}var gc,AQ,MEu,i_4,a_4,bEu,m_4,r7,$_4,y_4,r_4,g_4,c_4,__4,p_4,n_4;var OEu=g(()=>{YB();A2();e3();s4();o4();Y4();w7();gc=X((u,B)=>{let E=u<=1?u*100:u;if(E<0||E>100)throw Error(`${B} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${u}`);return E},"toPercent"),AQ=X((u,B,E)=>{return{x:gc(B,`${E} evolution`),y:gc(u,`${E} visibility`)}},"toCoordinates"),MEu=X((u)=>{if(!u)return;if(u==="+<>")return"bidirectional";if(u==="+<")return"backward";if(u==="+>")return"forward";return},"getFlowFromPort"),i_4=X((u)=>{if(!u?.startsWith("+"))return{};let E=/^\+'([^']*)'/.exec(u)?.[1];if(u.includes("<>"))return{flow:"bidirectional",label:E};if(u.includes("<"))return{flow:"backward",label:E};if(u.includes(">"))return{flow:"forward",label:E};return{label:E}},"extractFlowFromArrow"),a_4=X((u,B)=>{if(U6(u,B),u.size)B.setSize(u.size.width,u.size.height);if(u.evolution){let E=u.evolution.stages.map((C)=>{if(C.secondName)return`${C.name.trim()} / ${C.secondName.trim()}`;return C.name.trim()}),A=u.evolution.stages.filter((C)=>C.boundary!==void 0).map((C)=>C.boundary);B.updateAxes({stages:E,stageBoundaries:A})}if(u.anchors.forEach((E)=>{let A=AQ(E.visibility,E.evolution,`Anchor "${E.name}"`);B.addNode(E.name,E.name,A.x,A.y,"anchor")}),u.components.forEach((E)=>{let A=AQ(E.visibility,E.evolution,`Component "${E.name}"`),C=E.label?(E.label.negX?-1:1)*E.label.offsetX:void 0,D=E.label?(E.label.negY?-1:1)*E.label.offsetY:void 0,F=E.decorator?.strategy;B.addNode(E.name,E.name,A.x,A.y,"component",C,D,E.inertia,F)}),u.notes.forEach((E)=>{let A=AQ(E.visibility,E.evolution,`Note "${E.text}"`);B.addNote(E.text,A.x,A.y)}),u.pipelines.forEach((E)=>{let A=B.getNode(E.parent);if(!A||typeof A.y!=="number")throw Error(`Pipeline "${E.parent}" must reference an existing component with coordinates.`);let C=A.y;B.startPipeline(E.parent),E.components.forEach((D)=>{let F=`${E.parent}_${D.name}`,U=D.label?(D.label.negX?-1:1)*D.label.offsetX:void 0,z=D.label?(D.label.negY?-1:1)*D.label.offsetY:void 0,k=gc(D.evolution,`Pipeline component "${D.name}" evolution`);B.addNode(F,D.name,k,C,"pipeline-component",U,z),B.addPipelineComponent(E.parent,F)})}),u.links.forEach((E)=>{let A=!!E.arrow&&(E.arrow.includes("-.->")||E.arrow.includes(".-.")),C=MEu(E.fromPort)??MEu(E.toPort),{flow:D,label:F}=i_4(E.arrow);if(!C&&D)C=D;let U=E.linkLabel,z=F??U;B.addLink(B.resolveNodeId(E.from),B.resolveNodeId(E.to),A,z,C)}),u.evolves.forEach((E)=>{let A=B.getNode(E.component);if(A?.y!==void 0){let C=gc(E.target,`Evolve target for "${E.component}"`);B.addTrend(E.component,C,A.y)}}),u.annotations.length>0){let E=u.annotations[0],A=AQ(E.x,E.y,"Annotations box");B.setAnnotationsBox(A.x,A.y)}u.annotation.forEach((E)=>{let A=AQ(E.x,E.y,`Annotation ${E.number}`);B.addAnnotation(E.number,[{x:A.x,y:A.y}],E.text)}),u.accelerators.forEach((E)=>{let A=AQ(E.x,E.y,`Accelerator "${E.name}"`);B.addAccelerator(E.name,A.x,A.y)}),u.deaccelerators.forEach((E)=>{let A=AQ(E.x,E.y,`Deaccelerator "${E.name}"`);B.addDeaccelerator(E.name,A.x,A.y)})},"populateDb"),bEu={parser:{yy:void 0},parse:X(async(u)=>{let B=await v9("wardley",u);z0.debug(B);let E=bEu.parser?.yy;if(!E||typeof E.addNode!=="function")throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");a_4(B,E)},"parse")},m_4=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{X(this,"WardleyBuilder")}addNode(u){let B=this.nodes.get(u.id)??{id:u.id,label:u.label},E={...B,...u,className:u.className??B.className,labelOffsetX:u.labelOffsetX??B.labelOffsetX,labelOffsetY:u.labelOffsetY??B.labelOffsetY};this.nodes.set(u.id,E)}addLink(u){this.links.push(u)}addTrend(u){this.trends.set(u.nodeId,u)}startPipeline(u){this.pipelines.set(u,{nodeId:u,componentIds:[]});let B=this.nodes.get(u);if(B)B.isPipelineParent=!0}addPipelineComponent(u,B){let E=this.pipelines.get(u);if(E)E.componentIds.push(B);let A=this.nodes.get(B);if(A)A.inPipeline=!0}addAnnotation(u){this.annotations.push(u)}addNote(u){this.notes.push(u)}addAccelerator(u){this.accelerators.push(u)}addDeaccelerator(u){this.deaccelerators.push(u)}setAnnotationsBox(u,B){this.annotationsBox={x:u,y:B}}setAxes(u){this.axes={...this.axes,...u}}setSize(u,B){this.size={width:u,height:B}}getNode(u){return this.nodes.get(u)}resolveNodeId(u){if(this.nodes.has(u))return u;for(let[B,E]of this.nodes)if(E.label===u)return B;return u}build(){let u=[];for(let B of this.nodes.values()){if(typeof B.x!=="number"||typeof B.y!=="number")throw Error(`Node "${B.label}" is missing coordinates`);u.push(B)}return{nodes:u,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},r7=new m_4;X(ZEu,"getConfig");X(JEu,"addNode");X(KEu,"addLink");X(wEu,"addTrend");X(QEu,"addAnnotation");X(GEu,"addNote");X(HEu,"addAccelerator");X(qEu,"addDeaccelerator");X(lEu,"setAnnotationsBox");X(LEu,"setSize");X(XEu,"startPipeline");X(vEu,"addPipelineComponent");X(xEu,"updateAxes");X(WEu,"getNode");X(SEu,"resolveNodeId");X(YEu,"getWardleyData");X(REu,"clear");$_4={getConfig:ZEu,addNode:JEu,addLink:KEu,addTrend:wEu,addAnnotation:QEu,addNote:GEu,addAccelerator:HEu,addDeaccelerator:qEu,setAnnotationsBox:lEu,setSize:LEu,startPipeline:XEu,addPipelineComponent:vEu,updateAxes:xEu,getNode:WEu,resolveNodeId:SEu,getWardleyData:YEu,clear:REu,setAccTitle:w3,getAccTitle:q3,setDiagramTitle:T3,getDiagramTitle:X3,getAccDescription:L3,setAccDescription:l3},y_4=["Genesis","Custom Built","Product","Commodity"],r_4=X(()=>{let{themeVariables:u}=y0();return{backgroundColor:u.wardley?.backgroundColor??u.background??"#fff",axisColor:u.wardley?.axisColor??"#000",axisTextColor:u.wardley?.axisTextColor??u.primaryTextColor??"#222",gridColor:u.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:u.wardley?.componentFill??"#fff",componentStroke:u.wardley?.componentStroke??"#000",componentLabelColor:u.wardley?.componentLabelColor??u.primaryTextColor??"#222",linkStroke:u.wardley?.linkStroke??"#000",evolutionStroke:u.wardley?.evolutionStroke??"#dc3545",annotationStroke:u.wardley?.annotationStroke??"#000",annotationTextColor:u.wardley?.annotationTextColor??u.primaryTextColor??"#222",annotationFill:u.wardley?.annotationFill??u.background??"#fff"}},"getTheme"),g_4=X(()=>{let u=y0()["wardley-beta"];return{width:u?.width??900,height:u?.height??600,padding:u?.padding??48,nodeRadius:u?.nodeRadius??6,nodeLabelOffset:u?.nodeLabelOffset??8,axisFontSize:u?.axisFontSize??12,labelFontSize:u?.labelFontSize??10,showGrid:u?.showGrid??!1,useMaxWidth:u?.useMaxWidth??!0}},"getConfigValues"),c_4=X((u,B,E,A)=>{z0.debug(`Rendering Wardley map
`+u);let C=g_4(),D=r_4(),F=C.nodeRadius*1.6,U=A.db,z=U.getWardleyData(),k=U.getDiagramTitle(),f=z.size?.width??C.width,M=z.size?.height??C.height,b=h1(B);b.selectAll("*").remove(),g3(b,M,f,C.useMaxWidth),b.attr("viewBox",`0 0 ${f} ${M}`);let Z=b.append("g").attr("class","wardley-map"),J=b.append("defs");J.append("marker").attr("id",`arrow-${B}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",D.evolutionStroke).attr("stroke","none"),J.append("marker").attr("id",`link-arrow-end-${B}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",D.linkStroke).attr("stroke","none"),J.append("marker").attr("id",`link-arrow-start-${B}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",D.linkStroke).attr("stroke","none"),Z.append("rect").attr("class","wardley-background").attr("width",f).attr("height",M).attr("fill",D.backgroundColor);let K=f-C.padding*2,w=M-C.padding*2;if(k)Z.append("text").attr("class","wardley-title").attr("x",f/2).attr("y",C.padding/2).attr("fill",D.axisTextColor).attr("font-size",C.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(k);let Q=X((j)=>C.padding+j/100*K,"projectX"),G=X((j)=>M-C.padding-j/100*w,"projectY"),H=Z.append("g").attr("class","wardley-axes");H.append("line").attr("x1",C.padding).attr("x2",f-C.padding).attr("y1",M-C.padding).attr("y2",M-C.padding).attr("stroke",D.axisColor).attr("stroke-width",1),H.append("line").attr("x1",C.padding).attr("x2",C.padding).attr("y1",C.padding).attr("y2",M-C.padding).attr("stroke",D.axisColor).attr("stroke-width",1);let l=z.axes.xLabel??"Evolution",q=z.axes.yLabel??"Visibility";H.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",C.padding+K/2).attr("y",M-C.padding/4).attr("fill",D.axisTextColor).attr("font-size",C.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(l),H.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",C.padding/3).attr("y",C.padding+w/2).attr("fill",D.axisTextColor).attr("font-size",C.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${C.padding/3} ${C.padding+w/2})`).text(q);let L=z.axes.stages&&z.axes.stages.length>0?z.axes.stages:y_4;if(L.length>0){let j=Z.append("g").attr("class","wardley-stages"),i=z.axes.stageBoundaries,a=[];if(i&&i.length===L.length){let $=0;i.forEach((m)=>{a.push({start:$,end:m}),$=m})}else{let $=1/L.length;L.forEach((m,y)=>{a.push({start:y*$,end:(y+1)*$})})}L.forEach(($,m)=>{let y=a[m],r=C.padding+y.start*K,_=C.padding+y.end*K,e=(r+_)/2;if(m>0)j.append("line").attr("x1",r).attr("x2",r).attr("y1",C.padding).attr("y2",M-C.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",0.8);j.append("text").attr("class","wardley-stage-label").attr("x",e).attr("y",M-C.padding/1.5).attr("fill",D.axisTextColor).attr("font-size",C.axisFontSize-2).attr("text-anchor","middle").text($)})}if(C.showGrid){let j=Z.append("g").attr("class","wardley-grid");for(let i=1;i<4;i++){let a=i/4,$=C.padding+K*a;j.append("line").attr("x1",$).attr("x2",$).attr("y1",C.padding).attr("y2",M-C.padding).attr("stroke",D.gridColor).attr("stroke-dasharray","2 6"),j.append("line").attr("x1",C.padding).attr("x2",f-C.padding).attr("y1",M-C.padding-w*a).attr("y2",M-C.padding-w*a).attr("stroke",D.gridColor).attr("stroke-dasharray","2 6")}}let v=new Map;if(z.nodes.forEach((j)=>{v.set(j.id,{x:Q(j.x),y:G(j.y),node:j})}),z.pipelines.length>0){let j=Z.append("g").attr("class","wardley-pipelines"),i=Z.append("g").attr("class","wardley-pipeline-links");z.pipelines.forEach((a)=>{if(a.componentIds.length===0)return;let $=a.componentIds.map((_)=>({id:_,pos:v.get(_),node:z.nodes.find((e)=>e.id===_)})).filter((_)=>_.pos&&_.node).sort((_,e)=>_.node.x-e.node.x);for(let _=0;_<$.length-1;_++){let e=$[_],p=$[_+1];i.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",e.pos.x).attr("y1",e.pos.y).attr("x2",p.pos.x).attr("y2",p.pos.y).attr("stroke",D.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let m=1/0,y=-1/0,r=0;if(a.componentIds.forEach((_)=>{let e=v.get(_);if(e)m=Math.min(m,e.x),y=Math.max(y,e.x),r=e.y}),m!==1/0&&y!==-1/0){let e=C.nodeRadius*4,p=r-e/2,b0=v.get(a.nodeId);if(b0){let B0=(m+y)/2;b0.x=B0,b0.y=p-F/6}j.append("rect").attr("class","wardley-pipeline-box").attr("x",m-15).attr("y",p).attr("width",y-m+30).attr("height",e).attr("fill","none").attr("stroke",D.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let x=Z.append("g").attr("class","wardley-links"),S=new Map;z.pipelines.forEach((j)=>{S.set(j.nodeId,new Set(j.componentIds))});let W=z.links.filter((j)=>{if(!v.has(j.source)||!v.has(j.target))return!1;if(S.get(j.target)?.has(j.source))return!1;return!0});x.selectAll("line").data(W).enter().append("line").attr("class",(j)=>`wardley-link${j.dashed?" wardley-link--dashed":""}`).attr("x1",(j)=>{let i=v.get(j.source),a=v.get(j.target),m=z.nodes.find((e)=>e.id===j.source).isPipelineParent?F/Math.sqrt(2):C.nodeRadius,y=a.x-i.x,r=a.y-i.y,_=Math.sqrt(y*y+r*r);return i.x+y/_*m}).attr("y1",(j)=>{let i=v.get(j.source),a=v.get(j.target),m=z.nodes.find((e)=>e.id===j.source).isPipelineParent?F/Math.sqrt(2):C.nodeRadius,y=a.x-i.x,r=a.y-i.y,_=Math.sqrt(y*y+r*r);return i.y+r/_*m}).attr("x2",(j)=>{let i=v.get(j.source),a=v.get(j.target),m=z.nodes.find((e)=>e.id===j.target).isPipelineParent?F/Math.sqrt(2):C.nodeRadius,y=i.x-a.x,r=i.y-a.y,_=Math.sqrt(y*y+r*r);return a.x+y/_*m}).attr("y2",(j)=>{let i=v.get(j.source),a=v.get(j.target),m=z.nodes.find((e)=>e.id===j.target).isPipelineParent?F/Math.sqrt(2):C.nodeRadius,y=i.x-a.x,r=i.y-a.y,_=Math.sqrt(y*y+r*r);return a.y+r/_*m}).attr("stroke",D.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",(j)=>j.dashed?"6 6":null).attr("marker-end",(j)=>{if(j.flow==="forward"||j.flow==="bidirectional")return`url(#link-arrow-end-${B})`;return null}).attr("marker-start",(j)=>{if(j.flow==="backward"||j.flow==="bidirectional")return`url(#link-arrow-start-${B})`;return null}),x.selectAll("text").data(W.filter((j)=>j.label)).enter().append("text").attr("class","wardley-link-label").attr("x",(j)=>{let i=v.get(j.source),a=v.get(j.target),$=(i.x+a.x)/2,m=a.y-i.y,y=a.x-i.x,r=Math.sqrt(y*y+m*m),_=8,e=m/r;return $+e*8}).attr("y",(j)=>{let i=v.get(j.source),a=v.get(j.target),$=(i.y+a.y)/2,m=a.x-i.x,y=a.y-i.y,r=Math.sqrt(m*m+y*y),_=8,e=-m/r;return $+e*8}).attr("fill",D.axisTextColor).attr("font-size",C.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",(j)=>{let i=v.get(j.source),a=v.get(j.target),$=(i.x+a.x)/2,m=(i.y+a.y)/2,y=a.x-i.x,r=a.y-i.y,_=Math.sqrt(y*y+r*r),e=8,p=r/_,b0=-y/_,B0=$+p*8,k0=m+b0*8,f0=Math.atan2(r,y)*180/Math.PI;if(f0>90||f0<-90)f0+=180;return`rotate(${f0} ${B0} ${k0})`}).text((j)=>j.label);let T=Z.append("g").attr("class","wardley-trends"),R=z.trends.map((j)=>{let i=v.get(j.nodeId);if(!i)return null;let a=Q(j.targetX),$=G(j.targetY),m=a-i.x,y=$-i.y,r=Math.sqrt(m*m+y*y),_=C.nodeRadius+2,e=r>_?a-m/r*_:a,p=r>_?$-y/r*_:$;return{origin:i,targetX:a,targetY:$,adjustedX2:e,adjustedY2:p}}).filter((j)=>j!==null);T.selectAll("line").data(R).enter().append("line").attr("class","wardley-trend").attr("x1",(j)=>j.origin.x).attr("y1",(j)=>j.origin.y).attr("x2",(j)=>j.adjustedX2).attr("y2",(j)=>j.adjustedY2).attr("stroke",D.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${B})`);let h=Z.append("g").attr("class","wardley-nodes").selectAll("g").data(z.nodes).enter().append("g").attr("class",(j)=>["wardley-node",j.className?`wardley-node--${j.className}`:""].filter(Boolean).join(" "));h.filter((j)=>j.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",(j)=>v.get(j.id).x).attr("cy",(j)=>v.get(j.id).y).attr("r",C.nodeRadius*2).attr("fill","#666").attr("stroke",D.componentStroke).attr("stroke-width",1),h.filter((j)=>j.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",(j)=>v.get(j.id).x).attr("cy",(j)=>v.get(j.id).y).attr("r",C.nodeRadius*2).attr("fill","#ccc").attr("stroke",D.componentStroke).attr("stroke-width",1),h.filter((j)=>j.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",(j)=>v.get(j.id).x).attr("cy",(j)=>v.get(j.id).y).attr("r",C.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let I=h.filter((j)=>j.sourceStrategy==="market");I.append("circle").attr("class","wardley-market-overlay").attr("cx",(j)=>v.get(j.id).x).attr("cy",(j)=>v.get(j.id).y).attr("r",C.nodeRadius*2).attr("fill","white").attr("stroke",D.componentStroke).attr("stroke-width",1),h.filter((j)=>!j.isPipelineParent&&j.sourceStrategy!=="market"&&j.className!=="anchor").append("circle").attr("cx",(j)=>v.get(j.id).x).attr("cy",(j)=>v.get(j.id).y).attr("r",C.nodeRadius).attr("fill",D.componentFill).attr("stroke",D.componentStroke).attr("stroke-width",1);let O=C.nodeRadius*0.7,V=C.nodeRadius*1.2;if(I.append("line").attr("class","wardley-market-line").attr("x1",(j)=>v.get(j.id).x).attr("y1",(j)=>v.get(j.id).y-V).attr("x2",(j)=>v.get(j.id).x-V*Math.cos(Math.PI/6)).attr("y2",(j)=>v.get(j.id).y+V*Math.sin(Math.PI/6)).attr("stroke",D.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",(j)=>v.get(j.id).x-V*Math.cos(Math.PI/6)).attr("y1",(j)=>v.get(j.id).y+V*Math.sin(Math.PI/6)).attr("x2",(j)=>v.get(j.id).x+V*Math.cos(Math.PI/6)).attr("y2",(j)=>v.get(j.id).y+V*Math.sin(Math.PI/6)).attr("stroke",D.componentStroke).attr("stroke-width",1),I.append("line").attr("class","wardley-market-line").attr("x1",(j)=>v.get(j.id).x+V*Math.cos(Math.PI/6)).attr("y1",(j)=>v.get(j.id).y+V*Math.sin(Math.PI/6)).attr("x2",(j)=>v.get(j.id).x).attr("y2",(j)=>v.get(j.id).y-V).attr("stroke",D.componentStroke).attr("stroke-width",1),I.append("circle").attr("class","wardley-market-dot").attr("cx",(j)=>v.get(j.id).x).attr("cy",(j)=>v.get(j.id).y-V).attr("r",O).attr("fill","white").attr("stroke",D.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",(j)=>v.get(j.id).x-V*Math.cos(Math.PI/6)).attr("cy",(j)=>v.get(j.id).y+V*Math.sin(Math.PI/6)).attr("r",O).attr("fill","white").attr("stroke",D.componentStroke).attr("stroke-width",2),I.append("circle").attr("class","wardley-market-dot").attr("cx",(j)=>v.get(j.id).x+V*Math.cos(Math.PI/6)).attr("cy",(j)=>v.get(j.id).y+V*Math.sin(Math.PI/6)).attr("r",O).attr("fill","white").attr("stroke",D.componentStroke).attr("stroke-width",2),h.filter((j)=>j.isPipelineParent===!0).append("rect").attr("x",(j)=>v.get(j.id).x-F/2).attr("y",(j)=>v.get(j.id).y-F/2).attr("width",F).attr("height",F).attr("fill",D.componentFill).attr("stroke",D.componentStroke).attr("stroke-width",1),h.filter((j)=>j.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",(j)=>{let i=v.get(j.id),a=j.isPipelineParent?F/2+15:C.nodeRadius+15;if(j.sourceStrategy)a+=C.nodeRadius+10;return i.x+a}).attr("y1",(j)=>{let i=v.get(j.id),a=j.isPipelineParent?F:C.nodeRadius*2;return i.y-a/2}).attr("x2",(j)=>{let i=v.get(j.id),a=j.isPipelineParent?F/2+15:C.nodeRadius+15;if(j.sourceStrategy)a+=C.nodeRadius+10;return i.x+a}).attr("y2",(j)=>{let i=v.get(j.id),a=j.isPipelineParent?F:C.nodeRadius*2;return i.y+a/2}).attr("stroke",D.componentStroke).attr("stroke-width",6),h.append("text").attr("x",(j)=>{let i=v.get(j.id);if(j.className==="anchor")return j.labelOffsetX!==void 0?i.x+j.labelOffsetX:i.x;let a=C.nodeLabelOffset;if(j.sourceStrategy&&j.labelOffsetX===void 0)a+=10;let $=j.labelOffsetX??a;return i.x+$}).attr("y",(j)=>{let i=v.get(j.id);if(j.className==="anchor")return j.labelOffsetY!==void 0?i.y+j.labelOffsetY:i.y-3;let a=-C.nodeLabelOffset;if(j.sourceStrategy&&j.labelOffsetY===void 0)a-=10;let $=j.labelOffsetY??a;return i.y+$}).attr("class","wardley-node-label").attr("fill",(j)=>{if(j.className==="evolved")return D.evolutionStroke;if(j.className==="anchor")return"#000";return D.componentLabelColor}).attr("font-size",C.labelFontSize).attr("font-weight",(j)=>j.className==="anchor"?"bold":"normal").attr("text-anchor",(j)=>j.className==="anchor"?"middle":"start").attr("dominant-baseline",(j)=>j.className==="anchor"?"middle":"auto").text((j)=>j.label),z.annotations.length>0){let j=Z.append("g").attr("class","wardley-annotations");if(z.annotations.forEach((i)=>{let a=i.coordinates.map(($)=>({x:Q($.x),y:G($.y)}));if(a.length>1)for(let $=0;$<a.length-1;$++)j.append("line").attr("class","wardley-annotation-line").attr("x1",a[$].x).attr("y1",a[$].y).attr("x2",a[$+1].x).attr("y2",a[$+1].y).attr("stroke",D.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");a.forEach(($)=>{let m=j.append("g").attr("class","wardley-annotation");m.append("circle").attr("cx",$.x).attr("cy",$.y).attr("r",10).attr("fill","white").attr("stroke",D.axisColor).attr("stroke-width",1.5),m.append("text").attr("x",$.x).attr("y",$.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",D.axisTextColor).attr("font-weight","bold").text(i.number)})}),z.annotationsBox){let i=Q(z.annotationsBox.x),a=G(z.annotationsBox.y),$=10,m=16,y=11,r=j.append("g").attr("class","wardley-annotations-box"),_=[...z.annotations].filter((p)=>p.text).sort((p,b0)=>p.number-b0.number),e=[];if(_.forEach((p,b0)=>{let B0=r.append("text").attr("x",i+$).attr("y",a+$+(b0+1)*m).attr("font-size",y).attr("fill",D.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${p.number}. ${p.text}`);e.push(B0)}),e.length>0){let p=0,b0=0;e.forEach((m0)=>{let h0=m0.node(),_0=h0.getComputedTextLength();p=Math.max(p,_0);let w0=h0.getBBox();b0=Math.max(b0,w0.height)});let B0=p+$*2+105,k0=_.length*m+$*2+b0/2,f0=C.padding,D0=f-C.padding-B0,P0=C.padding,L0=M-C.padding-k0;i=Math.max(f0,Math.min(i,D0)),a=Math.max(P0,Math.min(a,L0)),e.forEach((m0,h0)=>{m0.attr("x",i+$).attr("y",a+$+(h0+1)*m)}),r.insert("rect","text").attr("x",i).attr("y",a).attr("width",B0).attr("height",k0).attr("fill","white").attr("stroke",D.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(z.notes.length>0){let j=Z.append("g").attr("class","wardley-notes");z.notes.forEach((i)=>{let a=Q(i.x),$=G(i.y);j.append("text").attr("x",a).attr("y",$).attr("text-anchor","start").attr("font-size",11).attr("fill",D.axisTextColor).attr("font-weight","bold").text(i.text)})}if(z.accelerators.length>0){let j=Z.append("g").attr("class","wardley-accelerators");z.accelerators.forEach((i)=>{let a=Q(i.x),$=G(i.y),m=60,y=30,r=20,_=`
M ${a} ${$-15}
L ${a+60-20} ${$-15}
L ${a+60-20} ${$-15-8}
L ${a+60} ${$}
L ${a+60-20} ${$+15+8}
L ${a+60-20} ${$+15}
L ${a} ${$+15}
Z
`;j.append("path").attr("d",_).attr("fill","white").attr("stroke",D.componentStroke).attr("stroke-width",1),j.append("text").attr("x",a+30).attr("y",$+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",D.axisTextColor).attr("font-weight","bold").text(i.name)})}if(z.deaccelerators.length>0){let j=Z.append("g").attr("class","wardley-deaccelerators");z.deaccelerators.forEach((i)=>{let a=Q(i.x),$=G(i.y),m=60,y=30,r=20,_=`
M ${a+60} ${$-15}
L ${a+20} ${$-15}
L ${a+20} ${$-15-8}
L ${a} ${$}
L ${a+20} ${$+15+8}
L ${a+20} ${$+15}
L ${a+60} ${$+15}
Z
`;j.append("path").attr("d",_).attr("fill","white").attr("stroke",D.componentStroke).attr("stroke-width",1),j.append("text").attr("x",a+30).attr("y",$+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",D.axisTextColor).attr("font-weight","bold").text(i.name)})}},"draw"),__4={draw:c_4},p_4=X(({wardley:u}={})=>{let B=O7(),E=F4(),A=E1(B,E.themeVariables),C=E1(A.wardley,u);return`
.wardley-background {
fill: ${C.backgroundColor};
}
.wardley-axes line, .wardley-axes path {
stroke: ${C.axisColor};
}
.wardley-axis-label {
fill: ${C.axisTextColor};
}
.wardley-stage-label {
fill: ${C.axisTextColor};
}
.wardley-grid line {
stroke: ${C.gridColor};
}
.wardley-node circle {
fill: ${C.componentFill};
stroke: ${C.componentStroke};
}
.wardley-node-label {
fill: ${C.componentLabelColor};
}
.wardley-link {
stroke: ${C.linkStroke};
}
.wardley-link--dashed {
stroke-dasharray: 4 4;
}
.wardley-link-label {
fill: ${C.axisTextColor};
}
.wardley-trend line {
stroke: ${C.evolutionStroke};
}
.wardley-annotation-line {
stroke: ${C.annotationStroke};
}
.wardley-annotation circle {
fill: ${C.annotationFill};
stroke: ${C.annotationStroke};
}
.wardley-annotation text {
fill: ${C.annotationTextColor};
}
.wardley-annotations-box rect {
fill: ${C.annotationFill};
stroke: ${C.annotationStroke};
}
.wardley-annotations-box text {
fill: ${C.annotationTextColor};
}
.wardley-pipeline-box {
stroke: ${C.componentStroke};
}
.wardley-notes text {
fill: ${C.axisTextColor};
}
`},"styles"),n_4={parser:bEu,db:$_4,renderer:__4,styles:p_4}});var mEu={};ju(mEu,{diagram:()=>fp4});function lT(u){let B=u+1831565813|0;return B=Math.imul(B^B>>>15,B|1),B^=B+Math.imul(B^B>>>7,B|61),((B^B>>>14)>>>0)/4294967296}function jEu(u){let B=0;for(let E=0;E<u.length;E++){let A=u.charCodeAt(E);B=(B<<5)-B+A,B|=0}return B}function NEu(u,B){if(typeof u==="number"&&Number.isFinite(u)&&u!==0)return u;return jEu(B)}function VEu(u,B,E,A){let C=u/2,D=A??u*0.015,F=7,U=B/7,z=[];for(let f=0;f<=7;f++){let M=lT(E+f*17)*D*2-D;z.push({x:C+M,y:f*U})}let k=`M${z[0].x},${z[0].y}`;for(let f=0;f<z.length-1;f++){let M=z[f],b=z[f+1],Z=(M.y+b.y)/2,J=f%2===0?1:-1,K=D*1.5*J*lT(E+f*31+7),w=M.x+K,Q=Z,G=b.x-K;k+=` C${w},${Q} ${G},${Z} ${b.x},${b.y}`}return k}function hEu(u,B,E,A){let C=B/2,D=A??B*0.015,F=7,U=u/7,z=[];for(let f=0;f<=7;f++){let M=lT(E+f*23)*D*2-D;z.push({x:f*U,y:C+M})}let k=`M${z[0].x},${z[0].y}`;for(let f=0;f<z.length-1;f++){let M=z[f],b=z[f+1],Z=(M.x+b.x)/2,J=f%2===0?1:-1,K=D*1.5*J*lT(E+f*37+11),w=Z,Q=M.y+K,G=Z,H=b.y-K;k+=` C${w},${Q} ${G},${H} ${b.x},${b.y}`}return k}function iEu(u,B){let E=u/2,A=B*0.5,C=B,D=u*0.03;return[`M${E},${A}`,`C${E+D},${A+(C-A)*0.2}`,`${E-D*1.5},${A+(C-A)*0.55}`,`${E+D*0.5},${A+(C-A)*0.75}`,`C${E-D},${A+(C-A)*0.85}`,`${E+D*0.3},${A+(C-A)*0.95}`,`${E},${C}`].join(" ")}function aEu(u,B,E,A){return[`M${u-E},${B}`,`A${E},${A} 0 1,1 ${u+E},${B}`,`A${E},${A} 0 1,1 ${u-E},${B}`,"Z"].join(" ")}var PEu,LT,d_4,s_4,o_4,t_4,e_4,up4,cc,Bp4,Ep4,IEu,Ap4,Cp4,sU0=3,Dp4,Fp4,Up4,zp4,kp4,fp4;var $Eu=g(()=>{YB();A2();e3();s4();o4();Y4();w7();PEu=X(()=>({domains:new Map,transitions:[]}),"createDefaultData"),LT=PEu(),d_4=X(()=>LT.domains,"getDomains"),s_4=X(()=>LT.transitions,"getTransitions"),o_4=X((u)=>{if(!u)return;for(let B of u){let E=B.domain,A=(B.items??[]).map((C)=>({label:C.label}));LT.domains.set(E,{name:E,items:A})}},"setDomains"),t_4=X((u)=>{if(!u)return;LT.transitions=u.filter((B)=>{if(B.from===B.to)return z0.warn(`Cynefin: self-loop transition on domain "${B.from}" is not meaningful and will be skipped.`),!1;return!0}).map((B)=>({from:B.from,to:B.to,label:B.label||void 0}))},"setTransitions"),e_4=X(()=>{return E1({...t4.cynefin,...F4().cynefin})},"getConfig"),up4=X(()=>{D3(),LT=PEu()},"clear"),cc={getDomains:d_4,getTransitions:s_4,setDomains:o_4,setTransitions:t_4,getConfig:e_4,clear:up4,setAccTitle:w3,getAccTitle:q3,setDiagramTitle:T3,getDiagramTitle:X3,getAccDescription:L3,setAccDescription:l3},Bp4=X((u)=>{U6(u,cc),cc.setDomains(u.domains),cc.setTransitions(u.transitions)},"populate"),Ep4={parse:X(async(u)=>{let B=await v9("cynefin",u);z0.debug(B),Bp4(B)},"parse")};X(lT,"seededRandom");X(jEu,"hashString");X(NEu,"resolveSeed");X(VEu,"generateFoldPath");X(hEu,"generateHorizontalBoundary");X(iEu,"generateCliffPath");X(aEu,"generateConfusionPath");IEu={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},Ap4=X((u,B)=>{let E=u/2,A=B/2;return{complex:{cx:E/2,cy:A/2,x:0,y:0,w:E,h:A},complicated:{cx:E+E/2,cy:A/2,x:E,y:0,w:E,h:A},chaotic:{cx:E/2,cy:A+A/2,x:0,y:A,w:E,h:A},clear:{cx:E+E/2,cy:A+A/2,x:E,y:A,w:E,h:A},confusion:{cx:E,cy:A,x:E*0.7,y:A*0.7,w:E*0.6,h:A*0.6}}},"getDomainLayouts"),Cp4=X(()=>{let u=O7(),B=F4();return E1(u,B.themeVariables).cynefin},"getCynefinDomainColors"),Dp4=X((u,B,E,A)=>{let C=A.db,D=C.getDomains(),F=C.getTransitions(),U=C.getDiagramTitle(),z=C.getAccTitle(),k=C.getAccDescription(),f=C.getConfig(),M=Cp4();z0.debug("Rendering Cynefin diagram");let{width:b,height:Z,padding:J,showDomainDescriptions:K,boundaryAmplitude:w}=f,Q=b+J*2,G=Z+J*2,H={complex:M.complexBg,complicated:M.complicatedBg,clear:M.clearBg,chaotic:M.chaoticBg,confusion:M.confusionBg},l=h1(B);if(g3(l,G,Q,f.useMaxWidth??!0),l.attr("viewBox",`0 0 ${Q} ${G}`),z)l.append("title").text(z);if(k)l.append("desc").text(k);let q=l.append("g").attr("transform",`translate(${J}, ${J})`),L=Ap4(b,Z),v=NEu(f.seed,B),x=q.append("g").attr("class","cynefin-backgrounds"),S=["complex","complicated","chaotic","clear"];for(let j of S){let i=L[j];x.append("rect").attr("class","cynefinDomain").attr("x",i.x).attr("y",i.y).attr("width",i.w).attr("height",i.h).attr("fill",H[j]).attr("fill-opacity",0.4).attr("stroke","none")}let W=q.append("g").attr("class","cynefin-boundaries");W.append("path").attr("class","cynefinBoundary").attr("d",VEu(b,Z,v,w)).attr("fill","none"),W.append("path").attr("class","cynefinBoundary").attr("d",hEu(b,Z,v+100,w)).attr("fill","none"),W.append("path").attr("class","cynefinCliff").attr("d",iEu(b,Z)).attr("fill","none");let T=b*0.15,R=Z*0.15;q.append("path").attr("class","cynefinConfusion").attr("d",aEu(b/2,Z/2,T,R)).attr("fill",H.confusion).attr("fill-opacity",0.5);let Y=q.append("g").attr("class","cynefin-labels");for(let j of S){let i=L[j];Y.append("text").attr("class","cynefinDomainLabel").attr("x",i.cx).attr("y",K?i.cy-30:i.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(j.charAt(0).toUpperCase()+j.slice(1))}if(Y.append("text").attr("class","cynefinDomainLabel").attr("x",b/2).attr("y",K?Z/2-10:Z/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),K){let j=q.append("g").attr("class","cynefin-subtitles");for(let i of S){let a=L[i],$=IEu[i];j.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text($.model),j.append("text").attr("class","cynefinSubtitle").attr("x",a.cx).attr("y",a.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text($.practice)}j.append("text").attr("class","cynefinSubtitle").attr("x",b/2).attr("y",Z/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(IEu.confusion.practice)}let h=q.append("g").attr("class","cynefin-items"),I=26,O=10,V=["complex","complicated","chaotic","clear","confusion"];for(let j of V){let i=D.get(j);if(!i||i.items.length===0)continue;let a=L[j],$=j==="confusion",m=i.items,y=0;if($&&i.items.length>sU0)y=i.items.length-sU0,m=i.items.slice(0,sU0);let r;if($){let _=K?22:14;r=a.cy+_}else r=a.cy+(K?25:15);if([...m].forEach((_,e)=>{let p=r+e*(I+4),b0=h.append("g"),B0=b0.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",I/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(_.label),k0=_.label.length*7,f0=B0.node();if(f0&&typeof f0.getBBox==="function"){let L0=f0.getBBox();if(L0.width>0)k0=L0.width}let D0=k0+O*2,P0=a.cx-D0/2;b0.attr("transform",`translate(${P0}, ${p})`),b0.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",D0).attr("height",I).attr("rx",4).attr("ry",4).attr("fill",H[j]).attr("fill-opacity",0.95),B0.attr("x",D0/2).attr("y",I/2)}),y>0){let _=r+m.length*(I+4),e=`+${y} more`,p=h.append("g"),b0=p.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",I/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(e),B0=e.length*7,k0=b0.node();if(k0&&typeof k0.getBBox==="function"){let P0=k0.getBBox();if(P0.width>0)B0=P0.width}let f0=B0+O*2,D0=a.cx-f0/2;p.attr("transform",`translate(${D0}, ${_})`),p.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f0).attr("height",I).attr("rx",4).attr("ry",4).attr("fill",H[j]).attr("fill-opacity",0.6),b0.attr("x",f0/2).attr("y",I/2)}}if(F.length>0){let j=l.select("defs").empty()?l.append("defs"):l.select("defs"),i=`cynefin-arrow-${B}`;j.append("marker").attr("id",i).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");let a=q.append("g").attr("class","cynefin-arrows");F.forEach(($)=>{let m=L[$.from],y=L[$.to];if(!m||!y)return;if($.from===$.to){z0.warn(`Cynefin renderer: skipping self-loop on domain "${$.from}"`);return}let{cx:r,cy:_}=m,e=y.cx,p=y.cy,b0=(r+e)/2,B0=(_+p)/2,k0=e-r,f0=p-_,D0=Math.sqrt(k0*k0+f0*f0),P0=D0*0.15,L0=-f0/D0,m0=k0/D0,h0=b0+L0*P0,_0=B0+m0*P0;if(a.append("path").attr("class","cynefinArrowLine").attr("d",`M${r},${_} Q${h0},${_0} ${e},${p}`).attr("fill","none").attr("marker-end",`url(#${i})`),$.label)a.append("text").attr("class","cynefinArrowLabel").attr("x",h0).attr("y",_0-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text($.label)})}if(U)q.append("text").attr("class","cynefinTitle").attr("x",b/2).attr("y",-J/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(U)},"draw"),Fp4={draw:Dp4},Up4=X(()=>{let u=O7(),B=F4();return E1(u,B.themeVariables).cynefin},"getCynefinTheme"),zp4=X(()=>{let u=Up4();return`
.cynefinDomain {
stroke: none;
}
.cynefinDomainLabel {
font-size: ${u.domainFontSize}px;
font-weight: bold;
fill: ${u.labelColor};
}
.cynefinSubtitle {
font-size: ${u.itemFontSize-1}px;
fill: ${u.textColor};
font-style: italic;
}
.cynefinItem {
fill-opacity: 0.95;
stroke: ${u.boundaryColor};
stroke-width: 1;
}
.cynefinItemText {
font-size: ${u.itemFontSize}px;
fill: ${u.textColor};
}
.cynefinItemOverflow {
fill-opacity: 0.6;
stroke: ${u.boundaryColor};
stroke-width: 1;
stroke-dasharray: 3 2;
}
.cynefinBoundary {
stroke: ${u.boundaryColor};
stroke-width: ${u.boundaryWidth};
stroke-dasharray: 6 3;
}
.cynefinCliff {
stroke: ${u.cliffColor};
stroke-width: ${u.cliffWidth};
}
.cynefinConfusion {
stroke: ${u.boundaryColor};
stroke-width: 1.5;
stroke-dasharray: 4 2;
}
.cynefinArrowLine {
stroke: ${u.arrowColor};
stroke-width: ${u.arrowWidth};
fill: none;
}
.cynefinArrowHead {
fill: ${u.arrowColor};
stroke: none;
}
.cynefinArrowLabel {
font-size: ${u.itemFontSize-1}px;
fill: ${u.textColor};
}
.cynefinTitle {
font-size: ${u.domainFontSize+2}px;
font-weight: bold;
fill: ${u.labelColor};
}
`},"styles"),kp4=zp4,fp4={parser:Ep4,db:cc,renderer:Fp4,styles:kp4}});var oU0="",tU0="",eU0="",uz0,_c,cb,TL,Mp4,rEu,gEu,bp4,Zp4,Jp4,Kp4,wp4,Qp4,Gp4,Hp4,qp4,k6,H7,lp4,Lp4,Xp4,cEu,vp4,xp4,w6,_Eu,CQ,Wp4,Sp4,Bz0,_b,IA,Yp4,yEu,Rp4,pb;var XT=g(()=>{A2();s4();o4();Y4();uz0=[],_c=new Map,cb=X((u)=>{return C3(u,y0())},"sanitizeText"),TL=X((u)=>{switch(u.type){case"terminal":return{...u,value:cb(u.value)};case"nonterminal":return{...u,name:cb(u.name)};case"sequence":return{...u,elements:u.elements.map(TL)};case"choice":return{...u,alternatives:u.alternatives.map(TL)};case"optional":return{...u,element:TL(u.element)};case"repetition":return{...u,element:TL(u.element),separator:u.separator?TL(u.separator):void 0};case"special":return{...u,text:cb(u.text)}}},"sanitizeAstNode"),Mp4=X(()=>{oU0="",tU0="",eU0="",uz0.length=0,_c.clear(),D3(),z0.debug("[Railroad] Database cleared")},"clear"),rEu=X((u)=>{oU0=cb(u),z0.debug("[Railroad] Title set:",u)},"setTitle"),gEu=X(()=>{return oU0},"getTitle"),bp4=X((u)=>{let B={...u,name:cb(u.name),definition:TL(u.definition),comment:u.comment?cb(u.comment):void 0};if(z0.debug("[Railroad] Adding rule:",B.name),_c.has(B.name))z0.warn(`[Railroad] Rule '${B.name}' is already defined. Overwriting.`);uz0.push(B),_c.set(B.name,B)},"addRule"),Zp4=X(()=>{return uz0},"getRules"),Jp4=X((u)=>{return _c.get(u)},"getRule"),Kp4=X((u)=>{tU0=cb(u).replace(/^\s+/g,""),z0.debug("[Railroad] Accessibility title set:",u)},"setAccTitle"),wp4=X(()=>{return tU0},"getAccTitle"),Qp4=X((u)=>{eU0=cb(u).replace(/\n\s+/g,`
`),z0.debug("[Railroad] Accessibility description set:",u)},"setAccDescription"),Gp4=X(()=>{return eU0},"getAccDescription"),Hp4=rEu,qp4=gEu,k6={clear:Mp4,setTitle:rEu,getTitle:gEu,addRule:bp4,getRules:Zp4,getRule:Jp4,setAccTitle:Kp4,getAccTitle:wp4,setAccDescription:Qp4,getAccDescription:Gp4,setDiagramTitle:Hp4,getDiagramTitle:qp4},H7={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},lp4=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,Lp4=/^[\w "',.-]+$/,Xp4=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),cEu=X((u)=>{if(!u)return!1;return Object.keys(u).every((B)=>B==="railroad"||Xp4.has(B))},"isRailroadStyleOptions"),vp4=X((u)=>{if(!u)return{};if("railroad"in u&&u.railroad)return u.railroad;return cEu(u)?u:{}},"extractRailroadOverrides"),xp4=X((u)=>{if(!u||cEu(u))return{};let{railroad:B,svgId:E,theme:A,look:C,...D}=u;return D},"extractThemeOverrides"),w6=X((u,B)=>{if(typeof u!=="string")return B;let E=u.trim();return lp4.test(E)?E:B},"sanitizeColorValue"),_Eu=X((u,B)=>{if(typeof u!=="string")return B;let E=u.trim();return Lp4.test(E)?E:B},"sanitizeFontFamilyValue"),CQ=X((u,B)=>{let E=typeof u==="number"?u:typeof u==="string"?Number.parseFloat(u):Number.NaN;return Number.isFinite(E)&&E>=0?E:B},"sanitizeNumberValue"),Wp4=X((u)=>{let B=typeof u==="number"?u:typeof u==="string"?Number.parseFloat(u):Number.NaN;return Number.isFinite(B)&&B>0?B:void 0},"parseThemeFontSize"),Sp4=X((u)=>{let B=_Eu(u.fontFamily,H7.fontFamily),E=Wp4(u.fontSize)??H7.fontSize;return{...H7,fontFamily:B,fontSize:E,terminalFill:w6(u.secondBkg??u.secondaryColor,H7.terminalFill),terminalStroke:w6(u.secondaryBorderColor??u.lineColor,H7.terminalStroke),terminalTextColor:w6(u.secondaryTextColor??u.textColor,H7.terminalTextColor),nonTerminalFill:w6(u.mainBkg??u.background,H7.nonTerminalFill),nonTerminalStroke:w6(u.primaryBorderColor??u.lineColor,H7.nonTerminalStroke),nonTerminalTextColor:w6(u.primaryTextColor??u.textColor,H7.nonTerminalTextColor),lineColor:w6(u.lineColor,H7.lineColor),markerFill:w6(u.lineColor,H7.markerFill),commentFill:w6(u.labelBackground??u.tertiaryColor,H7.commentFill),commentStroke:w6(u.tertiaryBorderColor??u.lineColor,H7.commentStroke),commentTextColor:w6(u.tertiaryTextColor??u.textColor,H7.commentTextColor),specialFill:w6(u.tertiaryColor??u.secondaryColor,H7.specialFill),specialStroke:w6(u.tertiaryBorderColor??u.secondaryBorderColor,H7.specialStroke),ruleNameColor:w6(u.titleColor??u.textColor,H7.ruleNameColor)}},"buildThemeDefaults"),Bz0=X((u)=>{let B=F4(),E={...O7(),...B.themeVariables??{},...xp4(u)},A=Sp4(E),C={...B.railroad??{},...vp4(u)};return{compactMode:C.compactMode??A.compactMode,padding:CQ(C.padding,A.padding),verticalSeparation:CQ(C.verticalSeparation,A.verticalSeparation),horizontalSeparation:CQ(C.horizontalSeparation,A.horizontalSeparation),arcRadius:CQ(C.arcRadius,A.arcRadius),fontSize:CQ(C.fontSize,A.fontSize),fontFamily:_Eu(C.fontFamily,A.fontFamily),terminalFill:w6(C.terminalFill,A.terminalFill),terminalStroke:w6(C.terminalStroke,A.terminalStroke),terminalTextColor:w6(C.terminalTextColor,A.terminalTextColor),nonTerminalFill:w6(C.nonTerminalFill,A.nonTerminalFill),nonTerminalStroke:w6(C.nonTerminalStroke,A.nonTerminalStroke),nonTerminalTextColor:w6(C.nonTerminalTextColor,A.nonTerminalTextColor),lineColor:w6(C.lineColor,A.lineColor),strokeWidth:CQ(C.strokeWidth,A.strokeWidth),markerFill:w6(C.markerFill,A.markerFill),commentFill:w6(C.commentFill,A.commentFill),commentStroke:w6(C.commentStroke,A.commentStroke),commentTextColor:w6(C.commentTextColor,A.commentTextColor),specialFill:w6(C.specialFill,A.specialFill),specialStroke:w6(C.specialStroke,A.specialStroke),ruleNameColor:w6(C.ruleNameColor,A.ruleNameColor),showMarkers:C.showMarkers??A.showMarkers,markerRadius:CQ(C.markerRadius,A.markerRadius)}},"buildRailroadStyleOptions"),_b=X((u)=>{let{fontFamily:B,fontSize:E,terminalFill:A,terminalStroke:C,terminalTextColor:D,nonTerminalFill:F,nonTerminalStroke:U,nonTerminalTextColor:z,lineColor:k,strokeWidth:f,markerFill:M,commentFill:b,commentStroke:Z,commentTextColor:J,specialFill:K,specialStroke:w,ruleNameColor:Q}=Bz0(u);return`
.railroad-diagram {
font-family: ${B};
font-size: ${E}px;
}
.railroad-terminal rect {
fill: ${A};
stroke: ${C};
stroke-width: ${f}px;
}
.railroad-terminal text {
fill: ${D};
font-family: ${B};
font-size: ${E}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-nonterminal rect {
fill: ${F};
stroke: ${U};
stroke-width: ${f}px;
}
.railroad-nonterminal text {
fill: ${z};
font-family: ${B};
font-size: ${E}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-line {
stroke: ${k};
stroke-width: ${f}px;
fill: none;
}
.railroad-start circle,
.railroad-end circle {
fill: ${M};
}
.railroad-comment ellipse {
fill: ${b};
stroke: ${Z};
stroke-width: ${f}px;
}
.railroad-comment text {
fill: ${J};
font-style: italic;
font-family: ${B};
font-size: ${E}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-special rect {
fill: ${K};
stroke: ${w};
stroke-width: ${f}px;
stroke-dasharray: 5,3;
}
.railroad-special text {
fill: ${z};
font-family: ${B};
font-size: ${E}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-rule-name {
font-weight: bold;
fill: ${Q};
font-family: ${B};
font-size: ${E}px;
}
.railroad-group {
/* Grouping container, no specific styles */
}
`},"getStyles"),IA=class{constructor(){this.d=""}static{X(this,"PathBuilder")}moveTo(u,B){return this.d+=`M ${u} ${B} `,this}lineTo(u,B){return this.d+=`L ${u} ${B} `,this}horizontalTo(u){return this.d+=`H ${u} `,this}verticalTo(u){return this.d+=`V ${u} `,this}arcTo(u,B,E,A,C,D,F){return this.d+=`A ${u} ${B} ${E} ${A?1:0} ${C?1:0} ${D} ${F} `,this}build(){return this.d.trim()}},Yp4=class{constructor(u,B=Bz0()){this.textCache=new Map,this.svg=u,this.config=B}static{X(this,"RailroadRenderer")}measureText(u){if(this.textCache.has(u))return this.textCache.get(u);let B=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(u),E=B.node().getBBox(),A={width:E.width,height:E.height};return B.remove(),this.textCache.set(u,A),A}renderTerminal(u,B){let E=this.measureText(B),A=E.width+this.config.padding*2,C=E.height+this.config.padding*2,D=u.append("g").attr("class","railroad-terminal");return D.append("rect").attr("x",0).attr("y",0).attr("width",A).attr("height",C).attr("rx",10).attr("ry",10),D.append("text").attr("x",A/2).attr("y",C/2).text(B),{element:D.node(),dimensions:{width:A,height:C,up:C/2,down:C/2}}}renderNonTerminal(u,B){let E=this.measureText(B),A=E.width+this.config.padding*2,C=E.height+this.config.padding*2,D=u.append("g").attr("class","railroad-nonterminal");return D.append("rect").attr("x",0).attr("y",0).attr("width",A).attr("height",C),D.append("text").attr("x",A/2).attr("y",C/2).text(B),{element:D.node(),dimensions:{width:A,height:C,up:C/2,down:C/2}}}renderSequence(u,B){let E=B.map((z)=>this.renderExpression(u,z)),A=0,C=0,D=0;for(let z of E)A+=z.dimensions.width,C=Math.max(C,z.dimensions.up),D=Math.max(D,z.dimensions.down);A+=(E.length-1)*this.config.horizontalSeparation;let F=u.append("g").attr("class","railroad-sequence"),U=0;for(let z=0;z<E.length;z++){let k=E[z],f=C-k.dimensions.up;if(F.node().appendChild(k.element).setAttribute("transform",`translate(${U}, ${f})`),z<E.length-1){let b=U+k.dimensions.width,Z=b+this.config.horizontalSeparation,J=C;F.append("path").attr("class","railroad-line").attr("d",new IA().moveTo(b,J).lineTo(Z,J).build())}U+=k.dimensions.width+this.config.horizontalSeparation}return{element:F.node(),dimensions:{width:A,height:C+D,up:C,down:D}}}renderChoice(u,B){let E=B.map((M)=>this.renderExpression(u,M)),A=0,C=0;for(let M of E)A=Math.max(A,M.dimensions.width),C+=M.dimensions.height;C+=(E.length-1)*this.config.verticalSeparation;let D=this.config.arcRadius,F=D*4,U=A+F,z=u.append("g").attr("class","railroad-choice"),k=0,f=C/2;for(let M of E){let b=k,Z=b+M.dimensions.up,J=D*2+(A-M.dimensions.width)/2;z.node().appendChild(M.element).setAttribute("transform",`translate(${J}, ${b})`);let w=new IA,Q=Z>f;if(Z===f)w.moveTo(0,f).lineTo(J,Z);else w.moveTo(0,f).arcTo(D,D,0,!1,Q,D,f+(Q?D:-D)).lineTo(D,Z-(Q?D:-D)).arcTo(D,D,0,!1,!Q,D*2,Z).lineTo(J,Z);z.append("path").attr("class","railroad-line").attr("d",w.build());let G=new IA,H=J+M.dimensions.width,l=U-D*2;if(Z===f)G.moveTo(H,Z).lineTo(U,f);else G.moveTo(H,Z).lineTo(l,Z).arcTo(D,D,0,!1,!Q,U-D,Z+(Q?-D:D)).lineTo(U-D,f+(Q?D:-D)).arcTo(D,D,0,!1,Q,U,f);z.append("path").attr("class","railroad-line").attr("d",G.build()),k+=M.dimensions.height+this.config.verticalSeparation}return{element:z.node(),dimensions:{width:U,height:C,up:f,down:C-f}}}renderOptional(u,B){let E=this.renderExpression(u,B),A=this.config.arcRadius,C=A*2,D=E.dimensions.width+A*4,F=E.dimensions.height+C,U=u.append("g").attr("class","railroad-optional"),z=A*2,k=C;U.node().appendChild(E.element).setAttribute("transform",`translate(${z}, ${k})`);let M=k+E.dimensions.up,b=new IA().moveTo(0,M).lineTo(A*2,M);U.append("path").attr("class","railroad-line").attr("d",b.build());let Z=new IA().moveTo(z+E.dimensions.width,M).lineTo(D,M);U.append("path").attr("class","railroad-line").attr("d",Z.build());let J=new IA().moveTo(0,M).arcTo(A,A,0,!1,!1,A,M-A).lineTo(A,A).arcTo(A,A,0,!1,!0,A*2,0).lineTo(D-A*2,0).arcTo(A,A,0,!1,!0,D-A,A).lineTo(D-A,M-A).arcTo(A,A,0,!1,!1,D,M);return U.append("path").attr("class","railroad-line").attr("d",J.build()),{element:U.node(),dimensions:{width:D,height:F,up:M,down:F-M}}}renderRepetition(u,B,E){let A=this.renderExpression(u,B),C=this.config.arcRadius,D=C*2,F=A.dimensions.width+C*4,U=E===0,z=A.dimensions.height+D+(U?D:0),k=u.append("g").attr("class","railroad-repetition"),f=C*2,M=U?D:0;k.node().appendChild(A.element).setAttribute("transform",`translate(${f}, ${M})`);let Z=M+A.dimensions.up;k.append("path").attr("class","railroad-line").attr("d",new IA().moveTo(0,Z).lineTo(C*2,Z).build()),k.append("path").attr("class","railroad-line").attr("d",new IA().moveTo(f+A.dimensions.width,Z).lineTo(F,Z).build());let J=M+A.dimensions.height+C,K=new IA().moveTo(f+A.dimensions.width,Z).arcTo(C,C,0,!1,!0,f+A.dimensions.width+C,Z+C).lineTo(f+A.dimensions.width+C,J).arcTo(C,C,0,!1,!0,f+A.dimensions.width,J+C).lineTo(C*2,J+C).arcTo(C,C,0,!1,!0,C,J).lineTo(C,Z+C).arcTo(C,C,0,!1,!0,C*2,Z);if(k.append("path").attr("class","railroad-line").attr("d",K.build()),U){let w=new IA().moveTo(0,Z).arcTo(C,C,0,!1,!1,C,Z-C).lineTo(C,C).arcTo(C,C,0,!1,!0,C*2,0).lineTo(F-C*2,0).arcTo(C,C,0,!1,!0,F-C,C).lineTo(F-C,Z-C).arcTo(C,C,0,!1,!1,F,Z);k.append("path").attr("class","railroad-line").attr("d",w.build())}return{element:k.node(),dimensions:{width:F,height:z,up:Z,down:z-Z}}}renderSpecial(u,B){let E=this.measureText("? "+B+" ?"),A=E.width+this.config.padding*2,C=E.height+this.config.padding*2,D=u.append("g").attr("class","railroad-special");return D.append("rect").attr("x",0).attr("y",0).attr("width",A).attr("height",C),D.append("text").attr("x",A/2).attr("y",C/2).text("? "+B+" ?"),{element:D.node(),dimensions:{width:A,height:C,up:C/2,down:C/2}}}renderExpression(u,B){switch(B.type){case"terminal":return this.renderTerminal(u,B.value);case"nonterminal":return this.renderNonTerminal(u,B.name);case"sequence":return this.renderSequence(u,B.elements);case"choice":return this.renderChoice(u,B.alternatives);case"optional":return this.renderOptional(u,B.element);case"repetition":return this.renderRepetition(u,B.element,B.min);case"special":return this.renderSpecial(u,B.text);default:throw Error(`Unknown node type: ${B.type}`)}}renderRule(u,B){let E=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${B})`),A=u.name+" =",C=this.measureText(A).width+20,D=C+20,F=E.append("g"),U=this.renderExpression(F,u.definition),z=Math.max(20,U.dimensions.up),k=z-U.dimensions.up;return F.attr("transform",`translate(${D}, ${k})`),E.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",z).text(A),E.append("g").attr("class","railroad-start").append("circle").attr("cx",C).attr("cy",z).attr("r",this.config.markerRadius),E.append("g").attr("class","railroad-end").append("circle").attr("cx",D+U.dimensions.width+10).attr("cy",z).attr("r",this.config.markerRadius),E.append("path").attr("class","railroad-line").attr("d",new IA().moveTo(C+this.config.markerRadius,z).lineTo(D,z).build()),E.append("path").attr("class","railroad-line").attr("d",new IA().moveTo(D+U.dimensions.width,z).lineTo(D+U.dimensions.width+10-this.config.markerRadius,z).build()),{height:Math.max(40,k+U.dimensions.height+this.config.padding*2),width:D+U.dimensions.width+10+this.config.markerRadius}}renderDiagram(u){let B=this.config.padding,E=0;for(let A of u){let C=this.renderRule(A,B);B+=C.height+this.config.verticalSeparation,E=Math.max(E,C.width)}return{width:E+this.config.padding*2,height:B+this.config.padding}}},yEu=X((u,B,E)=>{g3(u,B.height,B.width,E),u.attr("viewBox",`0 0 ${B.width} ${B.height}`)},"configureRailroadSvgSize"),Rp4=X((u,B,E)=>{z0.debug(`[Railroad] Rendering diagram
`+u);try{let A=h1(B);A.attr("class","railroad-diagram");let D=F4().railroad?.useMaxWidth??!0,F=k6.getRules();if(z0.debug(`[Railroad] Rendering ${F.length} rules`),F.length===0){z0.warn("[Railroad] No rules to render"),yEu(A,{height:100,width:200},D);return}let z=new Yp4(A,Bz0()).renderDiagram(F);yEu(A,z,D),z0.debug("[Railroad] Render complete")}catch(A){throw z0.error("[Railroad] Render error:",A),A}},"draw"),pb={draw:Rp4}});var nEu={};ju(nEu,{diagram:()=>pEu,default:()=>jp4});var Tp4,OL,Op4,Ip4,Pp4,pEu,jp4;var dEu=g(()=>{XT();YB();A2();s4();o4();Y4();w7();Tp4=BL().Railroad.parser.LangiumParser,OL=X((u)=>{switch(u.$type){case"RailroadTerminalExpr":return{type:"terminal",value:u.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:u.name};case"RailroadSpecialExpr":return{type:"special",text:u.text};case"RailroadSequenceExpr":{let B=u.elements.map(OL);return B.length===1?B[0]:{type:"sequence",elements:B}}case"RailroadChoiceExpr":{let B=u.alternatives.map(OL);return B.length===1?B[0]:{type:"choice",alternatives:B}}case"RailroadOptionalExpr":return{type:"optional",element:OL(u.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:OL(u.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:OL(u.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${u.$type}`)}},"transformExpression"),Op4=X((u)=>{return{name:u.name,definition:OL(u.definition)}},"transformRule"),Ip4=X((u)=>{if(U6(u,k6),u.title)k6.setTitle(u.title);u.rules.map((B)=>k6.addRule(Op4(B)))},"populateDb"),Pp4={parse:X((u)=>{k6.clear(),z0.debug("[Railroad Parser] Starting Langium parse");let B=Tp4.parse(u);if(B.lexerErrors.length>0||B.parserErrors.length>0)throw new Vk(B);let E=B.value;z0.debug("[Railroad Parser] Parsed rules:",E.rules.length),Ip4(E),z0.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:k6}},pEu={parser:Pp4,db:k6,renderer:pb,styles:_b},jp4=pEu});var oEu={};ju(oEu,{diagram:()=>yp4});var Np4,pc,Vp4,sEu,hp4,ip4,ap4,mp4,$p4,yp4;var tEu=g(()=>{XT();YB();A2();s4();o4();Y4();w7();Np4=EL().RailroadEbnf.parser.LangiumParser,pc=X((u)=>{let B=u.alternatives.map(Vp4);if(B.length===1)return B[0];return{type:"choice",alternatives:B}},"transformChoice"),Vp4=X((u)=>{let B=u.elements.map(ip4);if(B.length===1)return B[0];return{type:"sequence",elements:B}},"transformSequence"),sEu=X((u)=>{switch(u.$type){case"EbnfTerminal":return{type:"terminal",value:u.value};case"EbnfNonTerminal":return{type:"nonterminal",name:u.name};case"EbnfSpecial":return{type:"special",text:u.text};case"EbnfGroup":return pc(u.element);case"EbnfOptional":return{type:"optional",element:pc(u.element)};case"EbnfRepetition":return{type:"repetition",element:pc(u.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${u.$type}`)}},"transformPrimary"),hp4=X((u,B)=>{switch(B.$type){case"EbnfOptionalPostfix":return{type:"optional",element:u};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:u,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:u,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[u,{type:"terminal",value:"-"},sEu(B.except)]};default:throw Error(`Unsupported EBNF postfix node: ${B.$type}`)}},"transformPostfix"),ip4=X((u)=>{return u.postfixes.reduce((B,E)=>{return hp4(B,E)},sEu(u.base))},"transformTerm"),ap4=X((u)=>{return{name:u.name,definition:pc(u.definition)}},"transformRule"),mp4=X((u)=>{if(U6(u,k6),u.title)k6.setTitle(u.title);u.rules.map((B)=>k6.addRule(ap4(B)))},"populateDb"),$p4={parse:X((u)=>{k6.clear(),z0.debug("[EBNF Parser] Starting Langium parse");let B=Np4.parse(u);if(B.lexerErrors.length>0||B.parserErrors.length>0)throw new Vk(B);let E=B.value;z0.debug("[EBNF Parser] Parsed rules:",E.rules.length),mp4(E),z0.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:k6}},yp4={parser:$p4,db:k6,renderer:pb,styles:_b}});var eEu={};ju(eEu,{diagram:()=>op4});var rp4,Ez0,gp4,cp4,_p4,pp4,np4,dp4,sp4,op4;var uAu=g(()=>{XT();YB();A2();s4();o4();Y4();w7();rp4=AL().RailroadAbnf.parser.LangiumParser,Ez0=X((u)=>{let B=u.alternatives.map(gp4);if(B.length===1)return B[0];return{type:"choice",alternatives:B}},"transformAlternation"),gp4=X((u)=>{let B=u.elements.map(_p4);if(B.length===1)return B[0];return{type:"sequence",elements:B}},"transformConcatenation"),cp4=X((u)=>{if(u.includes("*")){let[E,A]=u.split("*"),C=E?parseInt(E,10):0,D=A?parseInt(A,10):1/0;return{min:C,max:D}}let B=parseInt(u,10);return{min:B,max:B}},"parseRepeat"),_p4=X((u)=>{let B=pp4(u.primary);if(!u.repeat)return B;let{min:E,max:A}=cp4(u.repeat);if(E===0&&A===1)return{type:"optional",element:B};return{type:"repetition",element:B,min:E,max:A}},"transformElement"),pp4=X((u)=>{switch(u.$type){case"AbnfStringLiteral":return{type:"terminal",value:u.value};case"AbnfNumVal":return{type:"terminal",value:u.value};case"AbnfRuleName":return{type:"nonterminal",name:u.name};case"AbnfGroup":return Ez0(u.element);case"AbnfOptionalGroup":return{type:"optional",element:Ez0(u.element)};default:throw Error(`Unsupported ABNF primary node: ${u.$type}`)}},"transformPrimary"),np4=X((u)=>{return{name:u.name,definition:Ez0(u.definition)}},"transformRule"),dp4=X((u)=>{if(U6(u,k6),u.title)k6.setTitle(u.title);u.rules.map((B)=>k6.addRule(np4(B)))},"populateDb"),sp4={parse:X((u)=>{k6.clear(),z0.debug("[ABNF Parser] Starting Langium parse");let B=rp4.parse(u);if(B.lexerErrors.length>0||B.parserErrors.length>0)throw new Vk(B);let E=B.value;z0.debug("[ABNF Parser] Parsed rules:",E.rules.length),dp4(E),z0.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:k6}},op4={parser:sp4,db:k6,renderer:pb,styles:_b}});var AAu={};ju(AAu,{diagram:()=>Fn4});var tp4,EAu,ep4,un4,BAu,Bn4,En4,An4,Cn4,Dn4,Fn4;var CAu=g(()=>{XT();YB();A2();s4();o4();Y4();w7();tp4=CL().RailroadPeg.parser.LangiumParser,EAu=X((u)=>{let B=u.alternatives.map(ep4);if(B.length===1)return B[0];return{type:"choice",alternatives:B}},"transformOrderedChoice"),ep4=X((u)=>{let B=u.elements.map(un4);if(B.length===1)return B[0];return{type:"sequence",elements:B}},"transformSequence"),un4=X((u)=>{let B=Bn4(u.suffix);if(!u.operator)return B;return{type:"special",text:u.operator==="&"?`&${BAu(B)}`:`!${BAu(B)}`}},"transformPrefix"),BAu=X((u)=>{switch(u.type){case"terminal":return`"${u.value}"`;case"nonterminal":return u.name;case"special":return u.text;default:return"(...)"}},"nodeToLabel"),Bn4=X((u)=>{let B=En4(u.primary);if(!u.operator)return B;switch(u.operator){case"?":return{type:"optional",element:B};case"*":return{type:"repetition",element:B,min:0,max:1/0};case"+":return{type:"repetition",element:B,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${u.operator}`)}},"transformSuffix"),En4=X((u)=>{switch(u.$type){case"PegLiteral":return{type:"terminal",value:u.value};case"PegIdentifier":return{type:"nonterminal",name:u.name};case"PegGroup":return EAu(u.element);case"PegAny":return{type:"special",text:u.dot};default:throw Error(`Unsupported PEG primary node: ${u.$type}`)}},"transformPrimary"),An4=X((u)=>{return{name:u.name,definition:EAu(u.definition)}},"transformRule"),Cn4=X((u)=>{if(U6(u,k6),u.title)k6.setTitle(u.title);u.rules.map((B)=>k6.addRule(An4(B)))},"populateDb"),Dn4={parse:X((u)=>{k6.clear(),z0.debug("[PEG Parser] Starting Langium parse");let B=tp4.parse(u);if(B.lexerErrors.length>0||B.parserErrors.length>0)throw new Vk(B);let E=B.value;z0.debug("[PEG Parser] Parsed rules:",E.rules.length),Cn4(E),z0.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:k6}},Fn4={parser:Dn4,db:k6,renderer:pb,styles:_b}});function nAu(u,B){if(u.attr("role",cs4),B!=="")u.attr("aria-roledescription",B)}function dAu(u,B,E,A){if(u.insert===void 0)return;if(E){let C=`chart-desc-${A}`;u.attr("aria-describedby",C),u.insert("desc",":first-child").attr("id",C).text(E)}if(B){let C=`chart-title-${A}`;u.attr("aria-labelledby",C),u.insert("title",":first-child").attr("id",C).text(B)}}function sAu(u){let B=u.match(Ze);if(!B)return{text:u,metadata:{}};let E=B[1],A=E?B[2].split(`
`).map((F)=>F.startsWith(E)?F.slice(E.length):F).join(`
`):B[2],C=FM(A,{schema:DM})??{};C=typeof C==="object"&&!Array.isArray(C)?C:{};let D={};if(C.displayMode)D.displayMode=C.displayMode.toString();if(C.title)D.title=C.title.toString();if(C.config)D.config=C.config;return{text:u.slice(B[0].length),metadata:D}}function Fz0(u){let B=ns4(u),E=ds4(B),A=ss4(E.text),C=E1(E.config,A.directive);return u=ps4(A.text),{code:u,title:E.title,config:C}}function oAu(u){let B=new TextEncoder().encode(u),E=Array.from(B,(A)=>String.fromCodePoint(A)).join("");return btoa(E)}function Uz0(u){let B=Fz0(u);return Wx(),pl0(B.config??{}),B}async function tAu(u,B){dc();try{let{code:E,config:A}=Uz0(u);return{diagramType:(await uCu(E)).type,config:A}}catch(E){if(B?.suppressErrors)return!1;throw E}}function Dz0(u,B){return u.append("iframe").attr("id",B).attr("style","width: 100%; height: 100%;").attr("sandbox","")}function eAu(u={}){let B=C9({},u);if(B?.fontFamily&&!B.themeVariables?.fontFamily){if(!B.themeVariables)B.themeVariables={};B.themeVariables.fontFamily=B.fontFamily}if(gl0(B),B?.theme&&B.theme in KF)B.themeVariables=KF[B.theme].getThemeVariables(B.themeVariables);else if(B)B.themeVariables=KF.default.getThemeVariables(B.themeVariables);let E=typeof B==="object"?rl0(B):Me();Ax(E.logLevel),dc()}function BCu(u,B,E,A){nAu(B,u),dAu(B,E,A,B.attr("id"))}var kAu="c4",Un4,zn4,kn4,fn4,fAu="flowchart",Mn4,bn4,Zn4,Jn4,MAu="flowchart-v2",Kn4,wn4,Qn4,Gn4,bAu="swimlane",Hn4,qn4,ln4,Ln4,ZAu="er",Xn4,vn4,xn4,Wn4,JAu="gitGraph",Sn4,Yn4,Rn4,Tn4,KAu="gantt",On4,In4,Pn4,jn4,wAu="info",Nn4,Vn4,hn4,QAu="pie",in4,an4,mn4,GAu="quadrantChart",$n4,yn4,rn4,gn4,HAu="xychart",cn4,_n4,pn4,nn4,qAu="requirement",dn4,sn4,on4,tn4,lAu="sequence",en4,ud4,Bd4,Ed4,LAu="class",Ad4,Cd4,Dd4,Fd4,XAu="classDiagram",Ud4,zd4,kd4,fd4,vAu="state",Md4,bd4,Zd4,Jd4,xAu="stateDiagram",Kd4,wd4,Qd4,Gd4,WAu="journey",Hd4,qd4,ld4,Ld4,Xd4,SAu,vd4,xd4,Wd4,YAu="flowchart-elk",Sd4,Yd4,Rd4,Td4,RAu="timeline",Od4,Id4,Pd4,jd4,TAu="mindmap",Nd4,Vd4,hd4,id4,OAu="kanban",ad4,md4,$d4,yd4,IAu="sankey",rd4,gd4,cd4,_d4,PAu="packet",pd4,nd4,dd4,jAu="radar",sd4,od4,td4,NAu="block",ed4,us4,Bs4,Es4,VAu="treeView",As4,Cs4,Ds4,Fs4,hAu="architecture",Us4,zs4,ks4,fs4,iAu="eventmodeling",Ms4,bs4,Zs4,Js4,aAu="ishikawa",Ks4,ws4,Qs4,mAu="venn",Gs4,Hs4,qs4,ls4,$Au="treemap",Ls4,Xs4,vs4,yAu="wardley",xs4,Ws4,Ss4,Ys4,rAu="cynefin",Rs4,Ts4,Os4,gAu="railroad",Is4,Ps4,js4,cAu="railroadEbnf",Ns4,Vs4,hs4,_Au="railroadAbnf",is4,as4,ms4,pAu="railroadPeg",$s4,ys4,rs4,DAu=!1,dc,gs4,cs4="graphics-document document",Cz0,FAu,_s4,ps4,ns4,ds4,ss4,os4=50000,ts4="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",es4="sandbox",uo4="loose",Bo4="http://www.w3.org/2000/svg",Eo4="http://www.w3.org/1999/xlink",Ao4="http://www.w3.org/1999/xhtml",Co4="100%",Do4="100%",Fo4="border:0;margin:0;",Uo4="margin:0",zo4="allow-top-navigation-by-user-activation allow-popups",ko4='The "iframe" tag is not supported by your browser.',fo4,Mo4,UAu,bo4,Zo4,Jo4,Ko4,wo4,zAu,Qo4,Go4,uCu,DQ,Ho4,ECu,qo4,ACu,lo4,Lo4,CCu,Xo4,nc,Az0=!1,DCu,vo4,FCu,xo4,pk,AD;var sc=g(()=>{A2();EK();L8();b8();F7();E7();HB();C7();s2();X2();e3();s4();o4();Y4();$30();V3();tc0();pG();Eh();Un4=X((u)=>{return/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(u)},"detector"),zn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (b_0(),M_0));return{id:kAu,diagram:u}},"loader"),kn4={id:kAu,detector:Un4,loader:zn4},fn4=kn4,Mn4=X((u,B)=>{if(B?.flowchart?.defaultRenderer==="dagre-wrapper"||B?.flowchart?.defaultRenderer==="elk")return!1;return/^\s*graph/.test(u)},"detector"),bn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (mm(),am));return{id:fAu,diagram:u}},"loader"),Zn4={id:fAu,detector:Mn4,loader:bn4},Jn4=Zn4,Kn4=X((u,B)=>{if(B?.flowchart?.defaultRenderer==="dagre-d3")return!1;if(B?.flowchart?.defaultRenderer==="elk")B.layout="elk";if(/^\s*graph/.test(u)&&B?.flowchart?.defaultRenderer==="dagre-wrapper")return!0;return/^\s*flowchart/.test(u)},"detector"),wn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (mm(),am));return{id:MAu,diagram:u}},"loader"),Qn4={id:MAu,detector:Kn4,loader:wn4},Gn4=Qn4,Hn4=X((u)=>{return/^\s*swimlane-beta\b/.test(u)},"detector"),qn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (Q_0(),w_0));return{id:bAu,diagram:u}},"loader"),ln4={id:bAu,detector:Hn4,loader:qn4},Ln4=ln4,Xn4=X((u)=>{return/^\s*erDiagram/.test(u)},"detector"),vn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (l_0(),q_0));return{id:ZAu,diagram:u}},"loader"),xn4={id:ZAu,detector:Xn4,loader:vn4},Wn4=xn4,Sn4=X((u)=>{return/^\s*gitGraph/.test(u)},"detector"),Yn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (C9u(),A9u));return{id:JAu,diagram:u}},"loader"),Rn4={id:JAu,detector:Sn4,loader:Yn4},Tn4=Rn4,On4=X((u)=>{return/^\s*gantt/.test(u)},"detector"),In4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (S9u(),W9u));return{id:KAu,diagram:u}},"loader"),Pn4={id:KAu,detector:On4,loader:In4},jn4=Pn4,Nn4=X((u)=>{return/^\s*info/.test(u)},"detector"),Vn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (R9u(),Y9u));return{id:wAu,diagram:u}},"loader"),hn4={id:wAu,detector:Nn4,loader:Vn4},in4=X((u)=>{return/^\s*pie/.test(u)},"detector"),an4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (P9u(),I9u));return{id:QAu,diagram:u}},"loader"),mn4={id:QAu,detector:in4,loader:an4},$n4=X((u)=>{return/^\s*quadrantChart/.test(u)},"detector"),yn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (s9u(),d9u));return{id:GAu,diagram:u}},"loader"),rn4={id:GAu,detector:$n4,loader:yn4},gn4=rn4,cn4=X((u)=>{return/^\s*xychart(-beta)?/.test(u)},"detector"),_n4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (G2u(),Q2u));return{id:HAu,diagram:u}},"loader"),pn4={id:HAu,detector:cn4,loader:_n4},nn4=pn4,dn4=X((u)=>{return/^\s*requirement(Diagram)?/.test(u)},"detector"),sn4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (l2u(),q2u));return{id:qAu,diagram:u}},"loader"),on4={id:qAu,detector:dn4,loader:sn4},tn4=on4,en4=X((u)=>{return/^\s*sequenceDiagram/.test(u)},"detector"),ud4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (V2u(),N2u));return{id:lAu,diagram:u}},"loader"),Bd4={id:lAu,detector:en4,loader:ud4},Ed4=Bd4,Ad4=X((u,B)=>{if(B?.class?.defaultRenderer==="dagre-wrapper")return!1;return/^\s*classDiagram/.test(u)},"detector"),Cd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => ($2u(),m2u));return{id:LAu,diagram:u}},"loader"),Dd4={id:LAu,detector:Ad4,loader:Cd4},Fd4=Dd4,Ud4=X((u,B)=>{if(/^\s*classDiagram/.test(u)&&B?.class?.defaultRenderer==="dagre-wrapper")return!0;return/^\s*classDiagram-v2/.test(u)},"detector"),zd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (r2u(),y2u));return{id:XAu,diagram:u}},"loader"),kd4={id:XAu,detector:Ud4,loader:zd4},fd4=kd4,Md4=X((u,B)=>{if(B?.state?.defaultRenderer==="dagre-wrapper")return!1;return/^\s*stateDiagram/.test(u)},"detector"),bd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (K5u(),J5u));return{id:vAu,diagram:u}},"loader"),Zd4={id:vAu,detector:Md4,loader:bd4},Jd4=Zd4,Kd4=X((u,B)=>{if(/^\s*stateDiagram-v2/.test(u))return!0;if(/^\s*stateDiagram/.test(u)&&B?.state?.defaultRenderer==="dagre-wrapper")return!0;return!1},"detector"),wd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (Q5u(),w5u));return{id:xAu,diagram:u}},"loader"),Qd4={id:xAu,detector:Kd4,loader:wd4},Gd4=Qd4,Hd4=X((u)=>{return/^\s*journey/.test(u)},"detector"),qd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (S5u(),W5u));return{id:WAu,diagram:u}},"loader"),ld4={id:WAu,detector:Hd4,loader:qd4},Ld4=ld4,Xd4=X((u,B,E)=>{z0.debug(`rendering svg for syntax error
`);let A=h1(B),C=A.append("g");A.attr("viewBox","0 0 2412 512"),g3(A,100,512,!0),C.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),C.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),C.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),C.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),C.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),C.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),C.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),C.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${E}`)},"draw"),SAu={draw:Xd4},vd4=SAu,xd4={db:{},renderer:SAu,parser:{parse:X(()=>{return},"parse")}},Wd4=xd4,Sd4=X((u,B={})=>{if(/^\s*flowchart-elk/.test(u)||/^\s*(flowchart|graph)/.test(u)&&B?.flowchart?.defaultRenderer==="elk")return B.layout="elk",!0;return!1},"detector"),Yd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (mm(),am));return{id:YAu,diagram:u}},"loader"),Rd4={id:YAu,detector:Sd4,loader:Yd4},Td4=Rd4,Od4=X((u)=>{return/^\s*timeline/.test(u)},"detector"),Id4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (t5u(),o5u));return{id:RAu,diagram:u}},"loader"),Pd4={id:RAu,detector:Od4,loader:Id4},jd4=Pd4,Nd4=X((u)=>{return/^\s*mindmap/.test(u)},"detector"),Vd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (D7u(),C7u));return{id:TAu,diagram:u}},"loader"),hd4={id:TAu,detector:Nd4,loader:Vd4},id4=hd4,ad4=X((u)=>{return/^\s*kanban/.test(u)},"detector"),md4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (z7u(),U7u));return{id:OAu,diagram:u}},"loader"),$d4={id:OAu,detector:ad4,loader:md4},yd4=$d4,rd4=X((u)=>{return/^\s*sankey(-beta)?/.test(u)},"detector"),gd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (S7u(),W7u));return{id:IAu,diagram:u}},"loader"),cd4={id:IAu,detector:rd4,loader:gd4},_d4=cd4,pd4=X((u)=>{return/^\s*packet(-beta)?/.test(u)},"detector"),nd4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (O7u(),T7u));return{id:PAu,diagram:u}},"loader"),dd4={id:PAu,detector:pd4,loader:nd4},sd4=X((u)=>{return/^\s*radar-beta/.test(u)},"detector"),od4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (a7u(),i7u));return{id:jAu,diagram:u}},"loader"),td4={id:jAu,detector:sd4,loader:od4},ed4=X((u)=>{return/^\s*block(-beta)?/.test(u)},"detector"),us4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (QBu(),wBu));return{id:NAu,diagram:u}},"loader"),Bs4={id:NAu,detector:ed4,loader:us4},Es4=Bs4,As4=X((u)=>{return/^\s*treeView-beta/.test(u)},"detector"),Cs4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (OBu(),TBu));return{id:VAu,diagram:u}},"loader"),Ds4={id:VAu,detector:As4,loader:Cs4},Fs4=Ds4,Us4=X((u)=>{return/^\s*architecture/.test(u)},"detector"),zs4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (sBu(),dBu));return{id:hAu,diagram:u}},"loader"),ks4={id:hAu,detector:Us4,loader:zs4},fs4=ks4,Ms4=X((u)=>{return/^\s*eventmodeling/.test(u)},"detector"),bs4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (x8u(),v8u));return{id:iAu,diagram:u}},"loader"),Zs4={id:iAu,detector:Ms4,loader:bs4},Js4=Zs4,Ks4=X((u)=>{return/^\s*ishikawa(-beta)?\b/i.test(u)},"detector"),ws4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (j8u(),P8u));return{id:aAu,diagram:u}},"loader"),Qs4={id:aAu,detector:Ks4,loader:ws4},Gs4=X((u)=>{return/^\s*venn-beta/.test(u)},"detector"),Hs4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (DEu(),CEu));return{id:mAu,diagram:u}},"loader"),qs4={id:mAu,detector:Gs4,loader:Hs4},ls4=qs4,Ls4=X((u)=>{return/^\s*treemap/.test(u)},"detector"),Xs4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (fEu(),kEu));return{id:$Au,diagram:u}},"loader"),vs4={id:$Au,detector:Ls4,loader:Xs4},xs4=X((u)=>{return/^\s*wardley-beta/i.test(u)},"detector"),Ws4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (OEu(),TEu));return{id:yAu,diagram:u}},"loader"),Ss4={id:yAu,detector:xs4,loader:Ws4},Ys4=Ss4,Rs4=X((u)=>{return/^\s*cynefin-beta(?:[\s:]|$)/.test(u)},"detector"),Ts4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => ($Eu(),mEu));return{id:rAu,diagram:u}},"loader"),Os4={id:rAu,detector:Rs4,loader:Ts4},Is4=X((u)=>{return/^\s*railroad-beta/i.test(u)},"detector"),Ps4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (dEu(),nEu));return{id:gAu,diagram:u}},"loader"),js4={id:gAu,detector:Is4,loader:Ps4},Ns4=X((u)=>{return/^\s*railroad-ebnf-beta/i.test(u)},"detector"),Vs4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (tEu(),oEu));return{id:cAu,diagram:u}},"loader"),hs4={id:cAu,detector:Ns4,loader:Vs4},is4=X((u)=>{return/^\s*railroad-abnf-beta/i.test(u)},"detector"),as4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (uAu(),eEu));return{id:_Au,diagram:u}},"loader"),ms4={id:_Au,detector:is4,loader:as4},$s4=X((u)=>{return/^\s*railroad-peg-beta/i.test(u)},"detector"),ys4=X(async()=>{let{diagram:u}=await Promise.resolve().then(() => (CAu(),AAu));return{id:pAu,diagram:u}},"loader"),rs4={id:pAu,detector:$s4,loader:ys4},dc=X(()=>{if(DAu)return;DAu=!0,Tx("error",Wd4,(u)=>{return u.toLowerCase().trim()==="error"}),Tx("---",{db:{clear:X(()=>{},"clear")},styles:{},renderer:{draw:X(()=>{},"draw")},parser:{parse:X(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:X(()=>null,"init")},(u)=>{return u.toLowerCase().trimStart().startsWith("---")}),ej(Td4,id4,fs4),ej(fn4,yd4,fd4,Fd4,Wn4,jn4,hn4,mn4,tn4,Ed4,Ln4,Gn4,Jn4,jd4,Tn4,Gd4,Jd4,Ld4,gn4,_d4,dd4,nn4,Es4,Js4,Fs4,td4,Qs4,vs4,js4,hs4,ms4,rs4,ls4,Ys4,Os4)},"addDiagrams"),gs4=X(async()=>{z0.debug("Loading registered diagrams");let B=(await Promise.allSettled(Object.entries(rf).map(async([E,{detector:A,loader:C}])=>{if(!C)return;try{CN(E)}catch{try{let{diagram:D,id:F}=await C();Tx(F,D,A)}catch(D){throw z0.error(`Failed to load external diagram with key ${E}. Removing from detectors.`),delete rf[E],D}}}))).filter((E)=>E.status==="rejected");if(B.length>0){z0.error(`Failed to load ${B.length} external diagrams`);for(let E of B)z0.error(E);throw Error(`Failed to load ${B.length} external diagrams`)}},"loadRegisteredDiagrams");X(nAu,"setA11yDiagramInfo");X(dAu,"addSVGa11yTitleDescription");Cz0=class u{constructor(B,E,A,C,D){this.type=B,this.text=E,this.db=A,this.parser=C,this.renderer=D}static{X(this,"Diagram")}static async fromText(B,E={}){let A=F4(),C=Sx(B,A);B=LY0(B)+`
`;try{CN(C)}catch{let k=sl0(C);if(!k)throw new Je(`Diagram ${C} not found.`);let{id:f,diagram:M}=await k();Tx(f,M)}let{db:D,parser:F,renderer:U,init:z}=CN(C);if(F.parser)F.parser.yy=D;if(D.clear?.(),z?.(A),E.title)D.setDiagramTitle?.(E.title);return await F.parse(B),new u(C,B,D,F,U)}async render(B,E){await this.renderer.draw(this.text,B,E,this)}getParser(){return this.parser}getType(){return this.type}},FAu=[],_s4=X(()=>{FAu.forEach((u)=>{u()}),FAu=[]},"attachFunctions"),ps4=X((u)=>{return u.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart()},"cleanupComments");X(sAu,"extractFrontMatter");ns4=X((u)=>{return u.replace(/\r\n?/g,`
`).replace(/<(\w+)([^>]*)>/g,(B,E,A)=>"<"+E+A.replace(/="([^"]*)"/g,"='$1'")+">")},"cleanupText"),ds4=X((u)=>{let{text:B,metadata:E}=sAu(u),{displayMode:A,title:C,config:D={}}=E;if(A){if(!D.gantt)D.gantt={};D.gantt.displayMode=A}return{title:C,config:D,text:B}},"processFrontmatter"),ss4=X((u)=>{let B=R4.detectInit(u)??{},E=R4.detectDirective(u,"wrap");if(Array.isArray(E))B.wrap=E.some(({type:A})=>A==="wrap");else if(E?.type==="wrap")B.wrap=!0;return{text:wY0(u),directive:B}},"processDirectives");X(Fz0,"preprocessDiagram");X(oAu,"toBase64");fo4=["foreignobject"],Mo4=["dominant-baseline"];X(Uz0,"processAndSetConfigs");X(tAu,"parse");UAu=X((u,B,E=[])=>{let A=fe(`{ ${E.join(" !important; ")} !important; }`);return`.${u} ${B} ${A}`},"cssImportantStyles"),bo4=X((u,B=new Map)=>{let E=new CSSStyleSheet;if(u.fontFamily!==void 0)E.insertRule(`:root { --mermaid-font-family: ${u.fontFamily}}`,E.cssRules.length);if(u.altFontFamily!==void 0)E.insertRule(`:root { --mermaid-alt-font-family: ${u.altFontFamily}}`,E.cssRules.length);if(B instanceof Map){let U=G1(u)?["> *","span"]:["rect","polygon","ellipse","circle","path"];B.forEach((z)=>{if(!Bh(z.styles))U.forEach((k)=>{E.insertRule(UAu(z.id,k,z.styles),E.cssRules.length)});if(!Bh(z.textStyles))E.insertRule(UAu(z.id,"tspan",(z?.textStyles||[]).map((k)=>k.replace("color","fill"))),E.cssRules.length)})}let A="";if(u.themeCSS!==void 0)if(typeof E.replaceSync==="function"){let C=new CSSStyleSheet;C.replaceSync(u.themeCSS),A=uN(C)+`
`}else A+=`${u.themeCSS}
`;return A+uN(E)},"createCssStyles"),Zo4=X((u,B)=>{return Ym(cc0(`${u}{${B}}`),sc0([X(function(A,C,D,F){if(A.type==="rule"&&Array.isArray(A.props)){if(A.parent&&A.parent.type===MY)return;A.props=A.props.map((U)=>{if(U===u&&Array.isArray(A.children)&&A.children.every((k)=>{if(k.type!=="decl")return!1;return new Set(["font-family","font-size","fill"]).has(k.props)}))return U;if(!((U.startsWith(`${u} `)||U.startsWith(`${u}>`))&&!U.startsWith(`${u} ||`)))return`${u} ${U}`;return U})}else if(A.type.startsWith("@")){if(![Yc0,Tc0,qm,Ic0,"@container","@starting-style",MY].includes(A.type))z0.warn(`Removing unsupported at-rule ${A.type} from CSS`),A.type=Al}},"addNamespace"),nc0]))},"compileCSS"),Jo4=X((u,B,E,A)=>{let C=bo4(u,E),D=uL0(B,C,{...u.themeVariables,theme:u.theme,look:u.look},A);return Zo4(A,D)},"createUserStyles"),Ko4=X((u="",B,E)=>{let A=u;if(!E&&!B)A=A.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#');return A=fE(A),A=A.replace(/<br>/g,"<br/>"),A},"cleanUpSvgCode"),wo4=X((u="",B)=>{let E=B?.viewBox?.baseVal?.height?B.viewBox.baseVal.height+"px":Do4,A=oAu(`<body style="${Uo4}">${u}</body>`);return`<iframe style="width:${Co4};height:${E};${Fo4}" src="data:text/html;charset=UTF-8;base64,${A}" sandbox="${zo4}">
${ko4}
</iframe>`},"putIntoIFrame"),zAu=X((u,B,E,A,C)=>{let D=u.append("div");if(D.attr("id",E),A)D.attr("style",A);let F=D.append("svg").attr("id",B).attr("width","100%").attr("xmlns",Bo4);if(C)F.attr("xmlns:xlink",C);return F.append("g"),u},"appendDivSvgG");X(Dz0,"sandboxedIframe");Qo4=X((u,B,E,A)=>{u.getElementById(B)?.remove(),u.getElementById(E)?.remove(),u.getElementById(A)?.remove()},"removeExistingElements"),Go4=X(async function(u,B,E){dc();let A=Uz0(B);B=A.code;let C=F4();if(z0.debug(C),B.length>(C?.maxTextSize??os4))B=ts4;let D=`#${u}`,F="i"+u,U="#"+F,z="d"+u,k="#"+z,f=X(()=>{let Y=Qu(b?U:k).node();if(Y&&"remove"in Y)Y.remove()},"removeTempElements"),M=Qu(document.body),b=C.securityLevel===es4,Z=C.securityLevel===uo4,J=C.fontFamily;if(E!==void 0){if(E)E.innerHTML="";if(b){let R=Dz0(Qu(E),F);M=Qu(R.nodes()[0].contentDocument.body),M.node().style.margin="0"}else M=Qu(E);zAu(M,u,z,`font-family: ${J}`,Eo4)}else{if(Qo4(document,u,z,F),b){let R=Dz0(Qu(document.body),F);M=Qu(R.nodes()[0].contentDocument.body),M.node().style.margin="0"}else M=Qu("body");zAu(M,u,z)}let K,w;try{K=await Cz0.fromText(B,{title:A.title})}catch(R){if(C.suppressErrorRendering)throw f(),R;K=await Cz0.fromText("error"),w=R}let Q=M.select(k).node(),G=K.type,H=Q.firstChild,l=H.firstChild,q=K.renderer.getClasses?.(B,K),L=Jo4(C,G,q,D),v=document.createElement("style");v.innerHTML=L,H.insertBefore(v,l);try{await K.renderer.draw(B,u,"11.16.1",K)}catch(R){if(C.suppressErrorRendering)f();else vd4.draw(B,u,"11.16.1");throw R}let x=M.select(`${k} svg`),S=K.db.getAccTitle?.(),W=K.db.getAccDescription?.();BCu(G,x,S,W),M.select(`[id="${u}"]`).selectAll("foreignobject > *").attr("xmlns",Ao4);let T=M.select(k).node().innerHTML;if(z0.debug("config.arrowMarkerAbsolute",C.arrowMarkerAbsolute),T=Ko4(T,b,uA(C.arrowMarkerAbsolute)),b){let R=M.select(k+" svg").node();T=wo4(T,R)}else if(!Z)T=C8.sanitize(T,{ADD_TAGS:fo4,ADD_ATTR:Mo4,HTML_INTEGRATION_POINTS:{foreignobject:!0}});if(_s4(),w)throw w;return f(),{diagramType:G,svg:T,bindFunctions:K.db.bindFunctions}},"render");X(eAu,"initialize");uCu=X((u,B={})=>{let{code:E}=Fz0(u);return Cz0.fromText(E,B)},"getDiagramFromText");X(BCu,"addA11yInfo");DQ=Object.freeze({render:Go4,parse:tAu,getDiagramFromText:uCu,initialize:eAu,getConfig:F4,setConfig:be,getSiteConfig:Me,updateSiteConfig:cl0,reset:X(()=>{Wx()},"reset"),globalReset:X(()=>{Wx(NJ)},"globalReset"),defaultConfig:NJ});Ax(F4().logLevel);Wx(F4());Ho4=X((u,B,E)=>{if(z0.warn(u),Fh(u)){if(E)E(u.str,u.hash);B.push({...u,message:u.str,error:u})}else{if(E)E(u);if(u instanceof Error)B.push({str:u.message,message:u.message,hash:u.name,error:u})}},"handleError"),ECu=X(async function(u={querySelector:".mermaid"}){try{await qo4(u)}catch(B){if(Fh(B))z0.error(B.str);if(pk.parseError)pk.parseError(B);if(!u.suppressErrors)throw z0.error("Use the suppressErrors option to suppress these errors"),B}},"run"),qo4=X(async function({postRenderCallback:u,querySelector:B,nodes:E}={querySelector:".mermaid"}){let A=DQ.getConfig();z0.debug(`${!u?"No ":""}Callback function found`);let C;if(E)C=E;else if(B)C=document.querySelectorAll(B);else throw Error("Nodes and querySelector are both undefined");if(z0.debug(`Found ${C.length} diagrams`),A?.startOnLoad!==void 0)z0.debug("Start On Load: "+A?.startOnLoad),DQ.updateSiteConfig({startOnLoad:A?.startOnLoad});let D=new R4.InitIDGenerator(A.deterministicIds,A.deterministicIDSeed),F,U=[];for(let z of Array.from(C)){if(z0.info("Rendering diagram: "+z.id),z.getAttribute("data-processed"))continue;z.setAttribute("data-processed","true");let k=`mermaid-${D.next()}`;F=z.innerHTML,F=Kh(R4.entityDecode(F)).trim().replace(/<br\s*\/?>/gi,"<br/>");let f=R4.detectInit(F);if(f)z0.debug("Detected early reinit: ",f);try{let{svg:M,bindFunctions:b}=await FCu(k,F,z);if(z.innerHTML=M,u)await u(k);if(b)b(z)}catch(M){Ho4(M,U,pk.parseError)}}if(U.length>0)throw U[0]},"runThrowsErrors"),ACu=X(function(u){DQ.initialize(u)},"initialize"),lo4=X(async function(u,B,E){if(z0.warn("mermaid.init is deprecated. Please use run instead."),u)ACu(u);let A={postRenderCallback:E,querySelector:".mermaid"};if(typeof B==="string")A.querySelector=B;else if(B)if(B instanceof HTMLElement)A.nodes=[B];else A.nodes=B;await ECu(A)},"init"),Lo4=X(async(u,{lazyLoad:B=!0}={})=>{if(dc(),ej(...u),B===!1)await gs4()},"registerExternalDiagrams"),CCu=X(function(){if(pk.startOnLoad){let{startOnLoad:u}=DQ.getConfig();if(u)pk.run().catch((B)=>z0.error("Mermaid failed to initialize",B))}},"contentLoaded");if(typeof document<"u")window.addEventListener("load",CCu,!1);Xo4=X(function(u){pk.parseError=u},"setParseErrorHandler"),nc=[],DCu=X(async()=>{if(Az0)return;Az0=!0;while(nc.length>0){let u=nc.shift();if(u)try{await u()}catch(B){z0.error("Error executing queue",B)}}Az0=!1},"executeQueue"),vo4=X(async(u,B)=>{return new Promise((E,A)=>{let C=X(()=>new Promise((D,F)=>{DQ.parse(u,B).then((U)=>{D(U),E(U)},(U)=>{z0.error("Error parsing",U),pk.parseError?.(U),F(U),A(U)})}),"performCall");nc.push(C),DCu().catch(A)})},"parse"),FCu=X((u,B,E)=>{return new Promise((A,C)=>{let D=X(()=>new Promise((F,U)=>{DQ.render(u,B,E).then((z)=>{F(z),A(z)},(z)=>{z0.error("Error parsing",z),pk.parseError?.(z),U(z),C(z)})}),"performCall");nc.push(D),DCu().catch(C)})},"render"),xo4=X(()=>{return Object.keys(rf).map((u)=>({id:u}))},"getRegisteredDiagramsMetadata"),pk={startOnLoad:!0,mermaidAPI:DQ,parse:vo4,render:FCu,init:lo4,run:ECu,registerExternalDiagrams:Lo4,registerLayoutLoaders:H70,initialize:ACu,parseError:void 0,contentLoaded:CCu,setParseErrorHandler:Xo4,detectType:Sx,registerIconPacks:cH,getRegisteredDiagramsMetadata:xo4},AD=pk;/*! Check if previously processed *//*!
* Wait for document loaded before starting the execution
*/});var zz0=N1((zCu)=>{Object.defineProperty(zCu,"__esModule",{value:!0});zCu.removeMarkdown=void 0;var Wo4=function(u,B){if(B===void 0)B={listUnicodeChar:""};B=B||{},B.listUnicodeChar=B.hasOwnProperty("listUnicodeChar")?B.listUnicodeChar:!1,B.stripListLeaders=B.hasOwnProperty("stripListLeaders")?B.stripListLeaders:!0,B.gfm=B.hasOwnProperty("gfm")?B.gfm:!0,B.useImgAltText=B.hasOwnProperty("useImgAltText")?B.useImgAltText:!0,B.preserveLinks=B.hasOwnProperty("preserveLinks")?B.preserveLinks:!1;var E=u||"";E=E.replace(/^(-\s*?|\*\s*?|_\s*?){3,}\s*$/gm,"");try{if(B.stripListLeaders)if(B.listUnicodeChar)E=E.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm,B.listUnicodeChar+" $1");else E=E.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm,"$1");if(B.gfm)E=E.replace(/\n={2,}/g,`
`).replace(/~{3}.*\n/g,"").replace(/~~/g,"").replace(/`{3}.*\n/g,"");if(B.preserveLinks)E=E.replace(/\[(.*?)\][\[\(](.*?)[\]\)]/g,"$1 ($2)");E=E.replace(/<[^>]*>/g,"").replace(/^[=\-]{2,}\s*$/g,"").replace(/\[\^.+?\](\: .*?$)?/g,"").replace(/\s{0,2}\[.*?\]: .*?$/g,"").replace(/\!\[(.*?)\][\[\(].*?[\]\)]/g,B.useImgAltText?"$1":"").replace(/\[(.*?)\][\[\(].*?[\]\)]/g,"$1").replace(/^\s{0,3}>\s?/g,"").replace(/(^|\n)\s{0,3}>\s?/g,`
`).replace(/^\s{1,2}\[(.*?)\]: (\S+)( ".*?")?\s*$/g,"").replace(/^(\n)?\s{0,}#{1,6}\s+| {0,}(\n)?\s{0,}#{0,} {0,}(\n)?\s{0,}$/gm,"$1$2$3").replace(/([\*_]{1,3})(\S.*?\S{0,1})\1/g,"$2").replace(/([\*_]{1,3})(\S.*?\S{0,1})\1/g,"$2").replace(/(`{3,})(.*?)\1/gm,"$2").replace(/`(.+?)`/g,"$1").replace(/\n{2,}/g,`
`)}catch(A){return console.error(A),u}return E};zCu.removeMarkdown=Wo4});var J3;var VL=g(()=>{J3={VITE_APP_BACKEND_V2_GET_URL:"https://json.excalidraw.com/api/v2/",VITE_APP_BACKEND_V2_POST_URL:"https://json.excalidraw.com/api/v2/post/",VITE_APP_LIBRARY_URL:"https://libraries.excalidraw.com",VITE_APP_LIBRARY_BACKEND:"https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries",VITE_APP_PLUS_LP:"https://plus.excalidraw.com",VITE_APP_PLUS_APP:"https://app.excalidraw.com",VITE_APP_AI_BACKEND:"https://oss-ai.excalidraw.com",VITE_APP_WS_SERVER_URL:"https://oss-collab.excalidraw.com",VITE_APP_FIREBASE_CONFIG:'{"apiKey":"AIzaSyAd15pYlMci_xIp9ko6wkEsDzAAA0Dn0RU","authDomain":"excalidraw-room-persistence.firebaseapp.com","databaseURL":"https://excalidraw-room-persistence.firebaseio.com","projectId":"excalidraw-room-persistence","storageBucket":"excalidraw-room-persistence.appspot.com","messagingSenderId":"654800341332","appId":"1:654800341332:web:4a692de832b55bd57ce0c1"}',VITE_APP_ENABLE_TRACKING:"false",VITE_APP_PLUS_EXPORT_PUBLIC_KEY:`MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApQ0jM9Qz8TdFLzcuAZZX
/WvuKSOJxiw6AR/ZcE3eFQWM/mbFdhQgyK8eHGkKQifKzH1xUZjCxyXcxW6ZO02t
kPOPxhz+nxUrIoWCD/V4NGmUA1lxwHuO21HN1gzKrN3xHg5EGjyouR9vibT9VDGF
gq6+4Ic/kJX+AD2MM7Yre2+FsOdysrmuW2Fu3ahuC1uQE7pOe1j0k7auNP0y1q53
PrB8Ts2LUpepWC1l7zIXFm4ViDULuyWXTEpUcHSsEH8vpd1tckjypxCwkipfZsXx
iPszy0o0Dx2iArPfWMXlFAI9mvyFCyFC3+nSvfyAUb2C4uZgCwAuyFh/ydPF4DEE
PQIDAQAB`,VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX:"false",VITE_APP_COLLAPSE_OVERLAY:"false",VITE_APP_ENABLE_ESLINT:"false",PKG_NAME:"@excalidraw/excalidraw",PKG_VERSION:"0.18.1",PROD:!0}});var zDu,Ae4=(u,B,E)=>(B in u)?zDu(u,B,{enumerable:!0,configurable:!0,writable:!0,value:E}):u[B]=E,Lz0,kDu=(u)=>(B)=>{var E=u[B];if(E)return E();throw Error("Module not found in bundle: "+B)},Xz0=(u,B)=>{for(var E in B)zDu(u,E,{get:B[E],enumerable:!0})},j0=(u,B,E)=>(Ae4(u,typeof B!="symbol"?B+"":B,E),E);var m4=g(()=>{zDu=Object.defineProperty,Lz0=((u)=>rG)(function(u){return rG.apply(this,arguments)})});var xz0=N1((vz0)=>{var fDu;(function(u){if(typeof DO_NOT_EXPORT_CRC>"u")if(typeof vz0==="object")u(vz0);else if(typeof define==="function"&&define.amd)define(function(){var B={};return u(B),B});else u(fDu={});else u(fDu={})})(function(u){u.version="0.3.0";function B(){var z=0,k=Array(256);for(var f=0;f!=256;++f)z=f,z=z&1?-306674912^z>>>1:z>>>1,z=z&1?-306674912^z>>>1:z>>>1,z=z&1?-306674912^z>>>1:z>>>1,z=z&1?-306674912^z>>>1:z>>>1,z=z&1?-306674912^z>>>1:z>>>1,z=z&1?-306674912^z>>>1:z>>>1,z=z&1?-306674912^z>>>1:z>>>1,z=z&1?-306674912^z>>>1:z>>>1,k[f]=z;return typeof Int32Array<"u"?new Int32Array(k):k}var E=B(),A=typeof Buffer<"u";function C(z){if(z.length>32768){if(A)return F(new Buffer(z))}var k=-1,f=z.length-1;for(var M=0;M<f;)k=E[(k^z.charCodeAt(M++))&255]^k>>>8,k=E[(k^z.charCodeAt(M++))&255]^k>>>8;if(M===f)k=k>>>8^E[(k^z.charCodeAt(M))&255];return k^-1}function D(z){if(z.length>1e4)return F(z);for(var k=-1,f=0,M=z.length-3;f<M;)k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255];while(f<M+3)k=k>>>8^E[(k^z[f++])&255];return k^-1}function F(z){for(var k=-1,f=0,M=z.length-7;f<M;)k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255],k=k>>>8^E[(k^z[f++])&255];while(f<M+7)k=k>>>8^E[(k^z[f++])&255];return k^-1}function U(z){for(var k=-1,f=0,M=z.length,b,Z;f<M;)if(b=z.charCodeAt(f++),b<128)k=k>>>8^E[(k^b)&255];else if(b<2048)k=k>>>8^E[(k^(192|b>>6&31))&255],k=k>>>8^E[(k^(128|b&63))&255];else if(b>=55296&&b<57344)b=(b&1023)+64,Z=z.charCodeAt(f++)&1023,k=k>>>8^E[(k^(240|b>>8&7))&255],k=k>>>8^E[(k^(128|b>>2&63))&255],k=k>>>8^E[(k^(128|Z>>6&15|b&3))&255],k=k>>>8^E[(k^(128|Z&63))&255];else k=k>>>8^E[(k^(224|b>>12&15))&255],k=k>>>8^E[(k^(128|b>>6&63))&255],k=k>>>8^E[(k^(128|b&63))&255];return k^-1}u.table=E,u.bstr=C,u.buf=D,u.str=U})});var bDu=N1((Ev1,MDu)=>{var Ce4=xz0();MDu.exports=Ue4;var WU=new Uint8Array(4),De4=new Int32Array(WU.buffer),Fe4=new Uint32Array(WU.buffer);function Ue4(u){if(u[0]!==137)throw Error("Invalid .png file header");if(u[1]!==80)throw Error("Invalid .png file header");if(u[2]!==78)throw Error("Invalid .png file header");if(u[3]!==71)throw Error("Invalid .png file header");if(u[4]!==13)throw Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(u[5]!==10)throw Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(u[6]!==26)throw Error("Invalid .png file header");if(u[7]!==10)throw Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");var B=!1,E=[],A=8;while(A<u.length){WU[3]=u[A++],WU[2]=u[A++],WU[1]=u[A++],WU[0]=u[A++];var C=Fe4[0]+4,D=new Uint8Array(C);D[0]=u[A++],D[1]=u[A++],D[2]=u[A++],D[3]=u[A++];var F=String.fromCharCode(D[0])+String.fromCharCode(D[1])+String.fromCharCode(D[2])+String.fromCharCode(D[3]);if(!E.length&&F!=="IHDR")throw Error("IHDR header missing");if(F==="IEND"){B=!0,E.push({name:F,data:new Uint8Array(0)});break}for(var U=4;U<C;U++)D[U]=u[A++];WU[3]=u[A++],WU[2]=u[A++],WU[1]=u[A++],WU[0]=u[A++];var z=De4[0],k=Ce4.buf(D);if(k!==z)throw Error("CRC values for "+F+" header do not match, PNG file is likely corrupted");var f=new Uint8Array(D.buffer.slice(4));E.push({name:F,data:f})}if(!B)throw Error(".png file ended prematurely: no IEND header was found");return E}});var JDu=N1((Av1,ZDu)=>{ZDu.exports=ze4;function ze4(u,B){if(u=String(u),B=String(B),!/^[\x00-\xFF]+$/.test(u)||!/^[\x00-\xFF]+$/.test(B))throw Error("Only Latin-1 characters are permitted in PNG tEXt chunks. You might want to consider base64 encoding and/or zEXt compression");if(u.length>=80)throw Error('Keyword "'+u+'" is longer than the 79-character limit imposed by the PNG specification');var E=u.length+B.length+1,A=new Uint8Array(E),C=0,D;for(var F=0;F<u.length;F++){if(!(D=u.charCodeAt(F)))throw Error("0x00 character is not permitted in tEXt keywords");A[C++]=D}A[C++]=0;for(var U=0;U<B.length;U++){if(!(D=B.charCodeAt(U)))throw Error("0x00 character is not permitted in tEXt content");A[C++]=D}return{name:"tEXt",data:A}}});var wDu=N1((Cv1,KDu)=>{KDu.exports=ke4;function ke4(u){if(u.data&&u.name)u=u.data;var B=!0,E="",A="";for(var C=0;C<u.length;C++){var D=u[C];if(B)if(D)A+=String.fromCharCode(D);else B=!1;else if(D)E+=String.fromCharCode(D);else throw Error("Invalid NULL character found. 0x00 character is not permitted in tEXt content")}return{keyword:A,text:E}}});var QDu=N1((fe4)=>{fe4.encode=JDu();fe4.decode=wDu()});var HDu=N1((Fv1,GDu)=>{GDu.exports=function(u,B,E){var A=[],C=u.length;if(C===0)return A;var D=B<0?Math.max(0,B+C):B||0;if(E!==void 0)C=E<0?E+C:E;while(C-- >D)A[C-D]=u[C];return A}});var lDu=N1((Uv1,qDu)=>{var Ze4=HDu(),Je4=xz0();qDu.exports=Qe4;var SU=new Uint8Array(4),Ke4=new Int32Array(SU.buffer),we4=new Uint32Array(SU.buffer);function Qe4(u){var B=8,E=B,A;for(A=0;A<u.length;A++)B+=u[A].data.length,B+=12;var C=new Uint8Array(B);C[0]=137,C[1]=80,C[2]=78,C[3]=71,C[4]=13,C[5]=10,C[6]=26,C[7]=10;for(A=0;A<u.length;A++){var D=u[A],F=D.name,U=D.data,z=U.length,k=[F.charCodeAt(0),F.charCodeAt(1),F.charCodeAt(2),F.charCodeAt(3)];we4[0]=z,C[E++]=SU[3],C[E++]=SU[2],C[E++]=SU[1],C[E++]=SU[0],C[E++]=k[0],C[E++]=k[1],C[E++]=k[2],C[E++]=k[3];for(var f=0;f<z;)C[E++]=U[f++];var M=k.concat(Ze4(U)),b=Je4.buf(M);Ke4[0]=b,C[E++]=SU[3],C[E++]=SU[2],C[E++]=SU[1],C[E++]=SU[0]}return C}});function mL(u){let B=u.length;while(--B>=0)u[B]=0}function Sz0(u,B,E,A,C){this.static_tree=u,this.extra_bits=B,this.extra_base=E,this.elems=A,this.max_length=C,this.has_stree=u&&u.length}function Yz0(u,B){this.dyn_tree=u,this.max_code=0,this.stat_desc=B}function YU(u,B,E,A,C){this.good_length=u,this.max_lazy=B,this.nice_length=E,this.max_chain=A,this.func=C}function L03(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Q_,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(b03*2),this.dyn_dtree=new Uint16Array((2*f03+1)*2),this.bl_tree=new Uint16Array((2*M03+1)*2),sb(this.dyn_ltree),sb(this.dyn_dtree),sb(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Z03+1),this.heap=new Uint16Array(2*yz0+1),sb(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*yz0+1),sb(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function g03(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function pT(u){this.options=H_.assign({level:s03,method:t03,chunkSize:16384,windowBits:15,memLevel:8,strategy:o03},u||{});let B=this.options;if(B.raw&&B.windowBits>0)B.windowBits=-B.windowBits;else if(B.gzip&&B.windowBits>0&&B.windowBits<16)B.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new WFu,this.strm.avail_out=0;let E=NT.deflateInit2(this.strm,B.level,B.method,B.windowBits,B.memLevel,B.strategy);if(E!==K_)throw Error(bQ[E]);if(B.header)NT.deflateSetHeader(this.strm,B.header);if(B.dictionary){let A;if(typeof B.dictionary==="string")A=rT.string2buf(B.dictionary);else if(SFu.call(B.dictionary)==="[object ArrayBuffer]")A=new Uint8Array(B.dictionary);else A=B.dictionary;if(E=NT.deflateSetDictionary(this.strm,A),E!==K_)throw Error(bQ[E]);this._dict_set=!0}}function nz0(u,B){let E=new pT(B);if(E.push(u,!0),E.err)throw E.msg||bQ[E.err];return E.result}function e03(u,B){return B=B||{},B.raw=!0,nz0(u,B)}function uu3(u,B){return B=B||{},B.gzip=!0,nz0(u,B)}function vu3(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function $u3(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function nT(u){this.options=H_.assign({chunkSize:65536,windowBits:15,to:""},u||{});let B=this.options;if(B.raw&&B.windowBits>=0&&B.windowBits<16){if(B.windowBits=-B.windowBits,B.windowBits===0)B.windowBits=-15}if(B.windowBits>=0&&B.windowBits<16&&!(u&&u.windowBits))B.windowBits+=32;if(B.windowBits>15&&B.windowBits<48){if((B.windowBits&15)===0)B.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new WFu,this.strm.avail_out=0;let E=tk.inflateInit2(this.strm,B.windowBits);if(E!==gT)throw Error(bQ[E]);if(this.header=new yu3,tk.inflateGetHeader(this.strm,this.header),B.dictionary){if(typeof B.dictionary==="string")B.dictionary=rT.string2buf(B.dictionary);else if(aFu.call(B.dictionary)==="[object ArrayBuffer]")B.dictionary=new Uint8Array(B.dictionary);if(B.raw){if(E=tk.inflateSetDictionary(this.strm,B.dictionary),E!==gT)throw Error(bQ[E])}}}function dz0(u,B){let E=new nT(B);if(E.push(u),E.err)throw E.msg||bQ[E.err];return E.result}function pu3(u,B){return B=B||{},B.raw=!0,dz0(u,B)}var Ge4=0,FFu=1,He4=2,qe4=3,le4=258,gz0=29,cT=256,hT,aL=30,cz0=19,UFu,fQ=15,Wz0=16,Le4=7,_z0=256,zFu=16,kFu=17,fFu=18,mz0,f_,Xe4,MFu,ve4=512,ok,jT,iT,aT,pz0,J_,bFu,ZFu,JFu,KFu=(u)=>{return u<256?iT[u]:iT[256+(u>>>7)]},mT=(u,B)=>{u.pending_buf[u.pending++]=B&255,u.pending_buf[u.pending++]=B>>>8&255},h8=(u,B,E)=>{if(u.bi_valid>Wz0-E)u.bi_buf|=B<<u.bi_valid&65535,mT(u,u.bi_buf),u.bi_buf=B>>Wz0-u.bi_valid,u.bi_valid+=E-Wz0;else u.bi_buf|=B<<u.bi_valid&65535,u.bi_valid+=E},RU=(u,B,E)=>{h8(u,E[B*2],E[B*2+1])},wFu=(u,B)=>{let E=0;do E|=u&1,u>>>=1,E<<=1;while(--B>0);return E>>>1},xe4=(u)=>{if(u.bi_valid===16)mT(u,u.bi_buf),u.bi_buf=0,u.bi_valid=0;else if(u.bi_valid>=8)u.pending_buf[u.pending++]=u.bi_buf&255,u.bi_buf>>=8,u.bi_valid-=8},We4=(u,B)=>{let{dyn_tree:E,max_code:A}=B,C=B.stat_desc.static_tree,D=B.stat_desc.has_stree,F=B.stat_desc.extra_bits,U=B.stat_desc.extra_base,z=B.stat_desc.max_length,k,f,M,b,Z,J,K=0;for(b=0;b<=fQ;b++)u.bl_count[b]=0;E[u.heap[u.heap_max]*2+1]=0;for(k=u.heap_max+1;k<UFu;k++){if(f=u.heap[k],b=E[E[f*2+1]*2+1]+1,b>z)b=z,K++;if(E[f*2+1]=b,f>A)continue;if(u.bl_count[b]++,Z=0,f>=U)Z=F[f-U];if(J=E[f*2],u.opt_len+=J*(b+Z),D)u.static_len+=J*(C[f*2+1]+Z)}if(K===0)return;do{b=z-1;while(u.bl_count[b]===0)b--;u.bl_count[b]--,u.bl_count[b+1]+=2,u.bl_count[z]--,K-=2}while(K>0);for(b=z;b!==0;b--){f=u.bl_count[b];while(f!==0){if(M=u.heap[--k],M>A)continue;if(E[M*2+1]!==b)u.opt_len+=(b-E[M*2+1])*E[M*2],E[M*2+1]=b;f--}}},QFu=(u,B,E)=>{let A=Array(fQ+1),C=0,D,F;for(D=1;D<=fQ;D++)A[D]=C=C+E[D-1]<<1;for(F=0;F<=B;F++){let U=u[F*2+1];if(U===0)continue;u[F*2]=wFu(A[U]++,U)}},Se4=()=>{let u,B,E,A,C,D=Array(fQ+1);E=0;for(A=0;A<gz0-1;A++){pz0[A]=E;for(u=0;u<1<<mz0[A];u++)aT[E++]=A}aT[E-1]=A,C=0;for(A=0;A<16;A++){J_[A]=C;for(u=0;u<1<<f_[A];u++)iT[C++]=A}C>>=7;for(;A<aL;A++){J_[A]=C<<7;for(u=0;u<1<<f_[A]-7;u++)iT[256+C++]=A}for(B=0;B<=fQ;B++)D[B]=0;u=0;while(u<=143)ok[u*2+1]=8,u++,D[8]++;while(u<=255)ok[u*2+1]=9,u++,D[9]++;while(u<=279)ok[u*2+1]=7,u++,D[7]++;while(u<=287)ok[u*2+1]=8,u++,D[8]++;QFu(ok,hT+1,D);for(u=0;u<aL;u++)jT[u*2+1]=5,jT[u*2]=wFu(u,5);bFu=new Sz0(ok,mz0,cT+1,hT,fQ),ZFu=new Sz0(jT,f_,0,aL,fQ),JFu=new Sz0([],Xe4,0,cz0,Le4)},GFu=(u)=>{let B;for(B=0;B<hT;B++)u.dyn_ltree[B*2]=0;for(B=0;B<aL;B++)u.dyn_dtree[B*2]=0;for(B=0;B<cz0;B++)u.bl_tree[B*2]=0;u.dyn_ltree[_z0*2]=1,u.opt_len=u.static_len=0,u.last_lit=u.matches=0},HFu=(u)=>{if(u.bi_valid>8)mT(u,u.bi_buf);else if(u.bi_valid>0)u.pending_buf[u.pending++]=u.bi_buf;u.bi_buf=0,u.bi_valid=0},Ye4=(u,B,E,A)=>{if(HFu(u),A)mT(u,E),mT(u,~E);u.pending_buf.set(u.window.subarray(B,B+E),u.pending),u.pending+=E},LDu=(u,B,E,A)=>{let C=B*2,D=E*2;return u[C]<u[D]||u[C]===u[D]&&A[B]<=A[E]},Rz0=(u,B,E)=>{let A=u.heap[E],C=E<<1;while(C<=u.heap_len){if(C<u.heap_len&&LDu(B,u.heap[C+1],u.heap[C],u.depth))C++;if(LDu(B,A,u.heap[C],u.depth))break;u.heap[E]=u.heap[C],E=C,C<<=1}u.heap[E]=A},XDu=(u,B,E)=>{let A,C,D=0,F,U;if(u.last_lit!==0)do if(A=u.pending_buf[u.d_buf+D*2]<<8|u.pending_buf[u.d_buf+D*2+1],C=u.pending_buf[u.l_buf+D],D++,A===0)RU(u,C,B);else{if(F=aT[C],RU(u,F+cT+1,B),U=mz0[F],U!==0)C-=pz0[F],h8(u,C,U);if(A--,F=KFu(A),RU(u,F,E),U=f_[F],U!==0)A-=J_[F],h8(u,A,U)}while(D<u.last_lit);RU(u,_z0,B)},$z0=(u,B)=>{let E=B.dyn_tree,A=B.stat_desc.static_tree,C=B.stat_desc.has_stree,D=B.stat_desc.elems,F,U,z=-1,k;u.heap_len=0,u.heap_max=UFu;for(F=0;F<D;F++)if(E[F*2]!==0)u.heap[++u.heap_len]=z=F,u.depth[F]=0;else E[F*2+1]=0;while(u.heap_len<2)if(k=u.heap[++u.heap_len]=z<2?++z:0,E[k*2]=1,u.depth[k]=0,u.opt_len--,C)u.static_len-=A[k*2+1];B.max_code=z;for(F=u.heap_len>>1;F>=1;F--)Rz0(u,E,F);k=D;do F=u.heap[1],u.heap[1]=u.heap[u.heap_len--],Rz0(u,E,1),U=u.heap[1],u.heap[--u.heap_max]=F,u.heap[--u.heap_max]=U,E[k*2]=E[F*2]+E[U*2],u.depth[k]=(u.depth[F]>=u.depth[U]?u.depth[F]:u.depth[U])+1,E[F*2+1]=E[U*2+1]=k,u.heap[1]=k++,Rz0(u,E,1);while(u.heap_len>=2);u.heap[--u.heap_max]=u.heap[1],We4(u,B),QFu(E,z,u.bl_count)},vDu=(u,B,E)=>{let A,C=-1,D,F=B[1],U=0,z=7,k=4;if(F===0)z=138,k=3;B[(E+1)*2+1]=65535;for(A=0;A<=E;A++){if(D=F,F=B[(A+1)*2+1],++U<z&&D===F)continue;else if(U<k)u.bl_tree[D*2]+=U;else if(D!==0){if(D!==C)u.bl_tree[D*2]++;u.bl_tree[zFu*2]++}else if(U<=10)u.bl_tree[kFu*2]++;else u.bl_tree[fFu*2]++;if(U=0,C=D,F===0)z=138,k=3;else if(D===F)z=6,k=3;else z=7,k=4}},xDu=(u,B,E)=>{let A,C=-1,D,F=B[1],U=0,z=7,k=4;if(F===0)z=138,k=3;for(A=0;A<=E;A++){if(D=F,F=B[(A+1)*2+1],++U<z&&D===F)continue;else if(U<k)do RU(u,D,u.bl_tree);while(--U!==0);else if(D!==0){if(D!==C)RU(u,D,u.bl_tree),U--;RU(u,zFu,u.bl_tree),h8(u,U-3,2)}else if(U<=10)RU(u,kFu,u.bl_tree),h8(u,U-3,3);else RU(u,fFu,u.bl_tree),h8(u,U-11,7);if(U=0,C=D,F===0)z=138,k=3;else if(D===F)z=6,k=3;else z=7,k=4}},Re4=(u)=>{let B;vDu(u,u.dyn_ltree,u.l_desc.max_code),vDu(u,u.dyn_dtree,u.d_desc.max_code),$z0(u,u.bl_desc);for(B=cz0-1;B>=3;B--)if(u.bl_tree[MFu[B]*2+1]!==0)break;return u.opt_len+=3*(B+1)+5+5+4,B},Te4=(u,B,E,A)=>{let C;h8(u,B-257,5),h8(u,E-1,5),h8(u,A-4,4);for(C=0;C<A;C++)h8(u,u.bl_tree[MFu[C]*2+1],3);xDu(u,u.dyn_ltree,B-1),xDu(u,u.dyn_dtree,E-1)},Oe4=(u)=>{let B=4093624447,E;for(E=0;E<=31;E++,B>>>=1)if(B&1&&u.dyn_ltree[E*2]!==0)return 0;if(u.dyn_ltree[18]!==0||u.dyn_ltree[20]!==0||u.dyn_ltree[26]!==0)return 1;for(E=32;E<cT;E++)if(u.dyn_ltree[E*2]!==0)return 1;return 0},WDu=!1,Ie4=(u)=>{if(!WDu)Se4(),WDu=!0;u.l_desc=new Yz0(u.dyn_ltree,bFu),u.d_desc=new Yz0(u.dyn_dtree,ZFu),u.bl_desc=new Yz0(u.bl_tree,JFu),u.bi_buf=0,u.bi_valid=0,GFu(u)},qFu=(u,B,E,A)=>{h8(u,(Ge4<<1)+(A?1:0),3),Ye4(u,B,E,!0)},Pe4=(u)=>{h8(u,FFu<<1,3),RU(u,_z0,ok),xe4(u)},je4=(u,B,E,A)=>{let C,D,F=0;if(u.level>0){if(u.strm.data_type===2)u.strm.data_type=Oe4(u);if($z0(u,u.l_desc),$z0(u,u.d_desc),F=Re4(u),C=u.opt_len+3+7>>>3,D=u.static_len+3+7>>>3,D<=C)C=D}else C=D=E+5;if(E+4<=C&&B!==-1)qFu(u,B,E,A);else if(u.strategy===4||D===C)h8(u,(FFu<<1)+(A?1:0),3),XDu(u,ok,jT);else h8(u,(He4<<1)+(A?1:0),3),Te4(u,u.l_desc.max_code+1,u.d_desc.max_code+1,F+1),XDu(u,u.dyn_ltree,u.dyn_dtree);if(GFu(u),A)HFu(u)},Ne4=(u,B,E)=>{if(u.pending_buf[u.d_buf+u.last_lit*2]=B>>>8&255,u.pending_buf[u.d_buf+u.last_lit*2+1]=B&255,u.pending_buf[u.l_buf+u.last_lit]=E&255,u.last_lit++,B===0)u.dyn_ltree[E*2]++;else u.matches++,B--,u.dyn_ltree[(aT[E]+cT+1)*2]++,u.dyn_dtree[KFu(B)*2]++;return u.last_lit===u.lit_bufsize-1},Ve4,he4,ie4,ae4,me4,$e4,ye4=(u,B,E,A)=>{let C=u&65535|0,D=u>>>16&65535|0,F=0;while(E!==0){F=E>2000?2000:E,E-=F;do C=C+B[A++]|0,D=D+C|0;while(--F);C%=65521,D%=65521}return C|D<<16|0},$T,re4=()=>{let u,B=[];for(var E=0;E<256;E++){u=E;for(var A=0;A<8;A++)u=u&1?3988292384^u>>>1:u>>>1;B[E]=u}return B},ge4,ce4=(u,B,E,A)=>{let C=ge4,D=A+E;u^=-1;for(let F=A;F<D;F++)u=u>>>8^C[(u^B[F])&255];return u^-1},m5,bQ,$L,_e4,pe4,ne4,eb,de4,wQ,se4,oe4,uZ,SDu,TU,YDu,PA,te4,Tz0,ee4,u03,D_,B03,E03,A03,C03,Q_,D03=9,F03=15,U03=8,z03=29,k03=256,yz0,f03=30,M03=19,b03,Z03=15,J1=3,ob=258,FD,J03=32,G_=42,rz0=69,M_=73,b_=91,Z_=103,MQ=113,IT=666,U5=1,_T=2,ZQ=3,yL=4,K03=3,tb=(u,B)=>{return u.msg=bQ[B],B},RDu=(u)=>{return(u<<1)-(u>4?9:0)},sb=(u)=>{let B=u.length;while(--B>=0)u[B]=0},w03=(u,B,E)=>(B<<u.hash_shift^E)&u.hash_mask,BZ,db=(u)=>{let B=u.state,E=B.pending;if(E>u.avail_out)E=u.avail_out;if(E===0)return;if(u.output.set(B.pending_buf.subarray(B.pending_out,B.pending_out+E),u.next_out),u.next_out+=E,B.pending_out+=E,u.total_out+=E,u.avail_out-=E,B.pending-=E,B.pending===0)B.pending_out=0},q7=(u,B)=>{ne4(u,u.block_start>=0?u.block_start:-1,u.strstart-u.block_start,B),u.block_start=u.strstart,db(u.strm)},c1=(u,B)=>{u.pending_buf[u.pending++]=B},OT=(u,B)=>{u.pending_buf[u.pending++]=B>>>8&255,u.pending_buf[u.pending++]=B&255},Q03=(u,B,E,A)=>{let C=u.avail_in;if(C>A)C=A;if(C===0)return 0;if(u.avail_in-=C,B.set(u.input.subarray(u.next_in,u.next_in+C),E),u.state.wrap===1)u.adler=$T(u.adler,B,C,E);else if(u.state.wrap===2)u.adler=m5(u.adler,B,C,E);return u.next_in+=C,u.total_in+=C,C},lFu=(u,B)=>{let{max_chain_length:E,strstart:A}=u,C,D,F=u.prev_length,U=u.nice_match,z=u.strstart>u.w_size-FD?u.strstart-(u.w_size-FD):0,k=u.window,f=u.w_mask,M=u.prev,b=u.strstart+ob,Z=k[A+F-1],J=k[A+F];if(u.prev_length>=u.good_match)E>>=2;if(U>u.lookahead)U=u.lookahead;do{if(C=B,k[C+F]!==J||k[C+F-1]!==Z||k[C]!==k[A]||k[++C]!==k[A+1])continue;A+=2,C++;do;while(k[++A]===k[++C]&&k[++A]===k[++C]&&k[++A]===k[++C]&&k[++A]===k[++C]&&k[++A]===k[++C]&&k[++A]===k[++C]&&k[++A]===k[++C]&&k[++A]===k[++C]&&A<b);if(D=ob-(b-A),A=b-ob,D>F){if(u.match_start=B,F=D,D>=U)break;Z=k[A+F-1],J=k[A+F]}}while((B=M[B&f])>z&&--E!==0);if(F<=u.lookahead)return F;return u.lookahead},JQ=(u)=>{let B=u.w_size,E,A,C,D,F;do{if(D=u.window_size-u.lookahead-u.strstart,u.strstart>=B+(B-FD)){u.window.set(u.window.subarray(B,B+B),0),u.match_start-=B,u.strstart-=B,u.block_start-=B,A=u.hash_size,E=A;do C=u.head[--E],u.head[E]=C>=B?C-B:0;while(--A);A=B,E=A;do C=u.prev[--E],u.prev[E]=C>=B?C-B:0;while(--A);D+=B}if(u.strm.avail_in===0)break;if(A=Q03(u.strm,u.window,u.strstart+u.lookahead,D),u.lookahead+=A,u.lookahead+u.insert>=J1){F=u.strstart-u.insert,u.ins_h=u.window[F],u.ins_h=BZ(u,u.ins_h,u.window[F+1]);while(u.insert)if(u.ins_h=BZ(u,u.ins_h,u.window[F+J1-1]),u.prev[F&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=F,F++,u.insert--,u.lookahead+u.insert<J1)break}}while(u.lookahead<FD&&u.strm.avail_in!==0)},G03=(u,B)=>{let E=65535;if(E>u.pending_buf_size-5)E=u.pending_buf_size-5;for(;;){if(u.lookahead<=1){if(JQ(u),u.lookahead===0&&B===wQ)return U5;if(u.lookahead===0)break}u.strstart+=u.lookahead,u.lookahead=0;let A=u.block_start+E;if(u.strstart===0||u.strstart>=A){if(u.lookahead=u.strstart-A,u.strstart=A,q7(u,!1),u.strm.avail_out===0)return U5}if(u.strstart-u.block_start>=u.w_size-FD){if(q7(u,!1),u.strm.avail_out===0)return U5}}if(u.insert=0,B===uZ){if(q7(u,!0),u.strm.avail_out===0)return ZQ;return yL}if(u.strstart>u.block_start){if(q7(u,!1),u.strm.avail_out===0)return U5}return U5},Oz0=(u,B)=>{let E,A;for(;;){if(u.lookahead<FD){if(JQ(u),u.lookahead<FD&&B===wQ)return U5;if(u.lookahead===0)break}if(E=0,u.lookahead>=J1)u.ins_h=BZ(u,u.ins_h,u.window[u.strstart+J1-1]),E=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart;if(E!==0&&u.strstart-E<=u.w_size-FD)u.match_length=lFu(u,E);if(u.match_length>=J1)if(A=eb(u,u.strstart-u.match_start,u.match_length-J1),u.lookahead-=u.match_length,u.match_length<=u.max_lazy_match&&u.lookahead>=J1){u.match_length--;do u.strstart++,u.ins_h=BZ(u,u.ins_h,u.window[u.strstart+J1-1]),E=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart;while(--u.match_length!==0);u.strstart++}else u.strstart+=u.match_length,u.match_length=0,u.ins_h=u.window[u.strstart],u.ins_h=BZ(u,u.ins_h,u.window[u.strstart+1]);else A=eb(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(A){if(q7(u,!1),u.strm.avail_out===0)return U5}}if(u.insert=u.strstart<J1-1?u.strstart:J1-1,B===uZ){if(q7(u,!0),u.strm.avail_out===0)return ZQ;return yL}if(u.last_lit){if(q7(u,!1),u.strm.avail_out===0)return U5}return _T},hL=(u,B)=>{let E,A,C;for(;;){if(u.lookahead<FD){if(JQ(u),u.lookahead<FD&&B===wQ)return U5;if(u.lookahead===0)break}if(E=0,u.lookahead>=J1)u.ins_h=BZ(u,u.ins_h,u.window[u.strstart+J1-1]),E=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart;if(u.prev_length=u.match_length,u.prev_match=u.match_start,u.match_length=J1-1,E!==0&&u.prev_length<u.max_lazy_match&&u.strstart-E<=u.w_size-FD){if(u.match_length=lFu(u,E),u.match_length<=5&&(u.strategy===u03||u.match_length===J1&&u.strstart-u.match_start>4096))u.match_length=J1-1}if(u.prev_length>=J1&&u.match_length<=u.prev_length){C=u.strstart+u.lookahead-J1,A=eb(u,u.strstart-1-u.prev_match,u.prev_length-J1),u.lookahead-=u.prev_length-1,u.prev_length-=2;do if(++u.strstart<=C)u.ins_h=BZ(u,u.ins_h,u.window[u.strstart+J1-1]),E=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart;while(--u.prev_length!==0);if(u.match_available=0,u.match_length=J1-1,u.strstart++,A){if(q7(u,!1),u.strm.avail_out===0)return U5}}else if(u.match_available){if(A=eb(u,0,u.window[u.strstart-1]),A)q7(u,!1);if(u.strstart++,u.lookahead--,u.strm.avail_out===0)return U5}else u.match_available=1,u.strstart++,u.lookahead--}if(u.match_available)A=eb(u,0,u.window[u.strstart-1]),u.match_available=0;if(u.insert=u.strstart<J1-1?u.strstart:J1-1,B===uZ){if(q7(u,!0),u.strm.avail_out===0)return ZQ;return yL}if(u.last_lit){if(q7(u,!1),u.strm.avail_out===0)return U5}return _T},H03=(u,B)=>{let E,A,C,D,F=u.window;for(;;){if(u.lookahead<=ob){if(JQ(u),u.lookahead<=ob&&B===wQ)return U5;if(u.lookahead===0)break}if(u.match_length=0,u.lookahead>=J1&&u.strstart>0){if(C=u.strstart-1,A=F[C],A===F[++C]&&A===F[++C]&&A===F[++C]){D=u.strstart+ob;do;while(A===F[++C]&&A===F[++C]&&A===F[++C]&&A===F[++C]&&A===F[++C]&&A===F[++C]&&A===F[++C]&&A===F[++C]&&C<D);if(u.match_length=ob-(D-C),u.match_length>u.lookahead)u.match_length=u.lookahead}}if(u.match_length>=J1)E=eb(u,1,u.match_length-J1),u.lookahead-=u.match_length,u.strstart+=u.match_length,u.match_length=0;else E=eb(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(E){if(q7(u,!1),u.strm.avail_out===0)return U5}}if(u.insert=0,B===uZ){if(q7(u,!0),u.strm.avail_out===0)return ZQ;return yL}if(u.last_lit){if(q7(u,!1),u.strm.avail_out===0)return U5}return _T},q03=(u,B)=>{let E;for(;;){if(u.lookahead===0){if(JQ(u),u.lookahead===0){if(B===wQ)return U5;break}}if(u.match_length=0,E=eb(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++,E){if(q7(u,!1),u.strm.avail_out===0)return U5}}if(u.insert=0,B===uZ){if(q7(u,!0),u.strm.avail_out===0)return ZQ;return yL}if(u.last_lit){if(q7(u,!1),u.strm.avail_out===0)return U5}return _T},PT,l03=(u)=>{u.window_size=2*u.w_size,sb(u.head),u.max_lazy_match=PT[u.level].max_lazy,u.good_match=PT[u.level].good_length,u.nice_match=PT[u.level].nice_length,u.max_chain_length=PT[u.level].max_chain,u.strstart=0,u.block_start=0,u.lookahead=0,u.insert=0,u.match_length=u.prev_length=J1-1,u.match_available=0,u.ins_h=0},LFu=(u)=>{if(!u||!u.state)return tb(u,PA);u.total_in=u.total_out=0,u.data_type=C03;let B=u.state;if(B.pending=0,B.pending_out=0,B.wrap<0)B.wrap=-B.wrap;return B.status=B.wrap?G_:MQ,u.adler=B.wrap===2?0:1,B.last_flush=wQ,_e4(B),TU},XFu=(u)=>{let B=LFu(u);if(B===TU)l03(u.state);return B},X03=(u,B)=>{if(!u||!u.state)return PA;if(u.state.wrap!==2)return PA;return u.state.gzhead=B,TU},vFu=(u,B,E,A,C,D)=>{if(!u)return PA;let F=1;if(B===ee4)B=6;if(A<0)F=0,A=-A;else if(A>15)F=2,A-=16;if(C<1||C>D03||E!==Q_||A<8||A>15||B<0||B>9||D<0||D>E03)return tb(u,PA);if(A===8)A=9;let U=new L03;return u.state=U,U.strm=u,U.wrap=F,U.gzhead=null,U.w_bits=A,U.w_size=1<<U.w_bits,U.w_mask=U.w_size-1,U.hash_bits=C+7,U.hash_size=1<<U.hash_bits,U.hash_mask=U.hash_size-1,U.hash_shift=~~((U.hash_bits+J1-1)/J1),U.window=new Uint8Array(U.w_size*2),U.head=new Uint16Array(U.hash_size),U.prev=new Uint16Array(U.w_size),U.lit_bufsize=1<<C+6,U.pending_buf_size=U.lit_bufsize*4,U.pending_buf=new Uint8Array(U.pending_buf_size),U.d_buf=1*U.lit_bufsize,U.l_buf=3*U.lit_bufsize,U.level=B,U.strategy=D,U.method=E,XFu(u)},v03=(u,B)=>{return vFu(u,B,Q_,F03,U03,A03)},x03=(u,B)=>{let E,A;if(!u||!u.state||B>SDu||B<0)return u?tb(u,PA):PA;let C=u.state;if(!u.output||!u.input&&u.avail_in!==0||C.status===IT&&B!==uZ)return tb(u,u.avail_out===0?Tz0:PA);C.strm=u;let D=C.last_flush;if(C.last_flush=B,C.status===G_)if(C.wrap===2)if(u.adler=0,c1(C,31),c1(C,139),c1(C,8),!C.gzhead)c1(C,0),c1(C,0),c1(C,0),c1(C,0),c1(C,0),c1(C,C.level===9?2:C.strategy>=D_||C.level<2?4:0),c1(C,K03),C.status=MQ;else{if(c1(C,(C.gzhead.text?1:0)+(C.gzhead.hcrc?2:0)+(!C.gzhead.extra?0:4)+(!C.gzhead.name?0:8)+(!C.gzhead.comment?0:16)),c1(C,C.gzhead.time&255),c1(C,C.gzhead.time>>8&255),c1(C,C.gzhead.time>>16&255),c1(C,C.gzhead.time>>24&255),c1(C,C.level===9?2:C.strategy>=D_||C.level<2?4:0),c1(C,C.gzhead.os&255),C.gzhead.extra&&C.gzhead.extra.length)c1(C,C.gzhead.extra.length&255),c1(C,C.gzhead.extra.length>>8&255);if(C.gzhead.hcrc)u.adler=m5(u.adler,C.pending_buf,C.pending,0);C.gzindex=0,C.status=rz0}else{let F=Q_+(C.w_bits-8<<4)<<8,U=-1;if(C.strategy>=D_||C.level<2)U=0;else if(C.level<6)U=1;else if(C.level===6)U=2;else U=3;if(F|=U<<6,C.strstart!==0)F|=J03;if(F+=31-F%31,C.status=MQ,OT(C,F),C.strstart!==0)OT(C,u.adler>>>16),OT(C,u.adler&65535);u.adler=1}if(C.status===rz0)if(C.gzhead.extra){E=C.pending;while(C.gzindex<(C.gzhead.extra.length&65535)){if(C.pending===C.pending_buf_size){if(C.gzhead.hcrc&&C.pending>E)u.adler=m5(u.adler,C.pending_buf,C.pending-E,E);if(db(u),E=C.pending,C.pending===C.pending_buf_size)break}c1(C,C.gzhead.extra[C.gzindex]&255),C.gzindex++}if(C.gzhead.hcrc&&C.pending>E)u.adler=m5(u.adler,C.pending_buf,C.pending-E,E);if(C.gzindex===C.gzhead.extra.length)C.gzindex=0,C.status=M_}else C.status=M_;if(C.status===M_)if(C.gzhead.name){E=C.pending;do{if(C.pending===C.pending_buf_size){if(C.gzhead.hcrc&&C.pending>E)u.adler=m5(u.adler,C.pending_buf,C.pending-E,E);if(db(u),E=C.pending,C.pending===C.pending_buf_size){A=1;break}}if(C.gzindex<C.gzhead.name.length)A=C.gzhead.name.charCodeAt(C.gzindex++)&255;else A=0;c1(C,A)}while(A!==0);if(C.gzhead.hcrc&&C.pending>E)u.adler=m5(u.adler,C.pending_buf,C.pending-E,E);if(A===0)C.gzindex=0,C.status=b_}else C.status=b_;if(C.status===b_)if(C.gzhead.comment){E=C.pending;do{if(C.pending===C.pending_buf_size){if(C.gzhead.hcrc&&C.pending>E)u.adler=m5(u.adler,C.pending_buf,C.pending-E,E);if(db(u),E=C.pending,C.pending===C.pending_buf_size){A=1;break}}if(C.gzindex<C.gzhead.comment.length)A=C.gzhead.comment.charCodeAt(C.gzindex++)&255;else A=0;c1(C,A)}while(A!==0);if(C.gzhead.hcrc&&C.pending>E)u.adler=m5(u.adler,C.pending_buf,C.pending-E,E);if(A===0)C.status=Z_}else C.status=Z_;if(C.status===Z_)if(C.gzhead.hcrc){if(C.pending+2>C.pending_buf_size)db(u);if(C.pending+2<=C.pending_buf_size)c1(C,u.adler&255),c1(C,u.adler>>8&255),u.adler=0,C.status=MQ}else C.status=MQ;if(C.pending!==0){if(db(u),u.avail_out===0)return C.last_flush=-1,TU}else if(u.avail_in===0&&RDu(B)<=RDu(D)&&B!==uZ)return tb(u,Tz0);if(C.status===IT&&u.avail_in!==0)return tb(u,Tz0);if(u.avail_in!==0||C.lookahead!==0||B!==wQ&&C.status!==IT){let F=C.strategy===D_?q03(C,B):C.strategy===B03?H03(C,B):PT[C.level].func(C,B);if(F===ZQ||F===yL)C.status=IT;if(F===U5||F===ZQ){if(u.avail_out===0)C.last_flush=-1;return TU}if(F===_T){if(B===se4)de4(C);else if(B!==SDu){if(pe4(C,0,0,!1),B===oe4){if(sb(C.head),C.lookahead===0)C.strstart=0,C.block_start=0,C.insert=0}}if(db(u),u.avail_out===0)return C.last_flush=-1,TU}}if(B!==uZ)return TU;if(C.wrap<=0)return YDu;if(C.wrap===2)c1(C,u.adler&255),c1(C,u.adler>>8&255),c1(C,u.adler>>16&255),c1(C,u.adler>>24&255),c1(C,u.total_in&255),c1(C,u.total_in>>8&255),c1(C,u.total_in>>16&255),c1(C,u.total_in>>24&255);else OT(C,u.adler>>>16),OT(C,u.adler&65535);if(db(u),C.wrap>0)C.wrap=-C.wrap;return C.pending!==0?TU:YDu},W03=(u)=>{if(!u||!u.state)return PA;let B=u.state.status;if(B!==G_&&B!==rz0&&B!==M_&&B!==b_&&B!==Z_&&B!==MQ&&B!==IT)return tb(u,PA);return u.state=null,B===MQ?tb(u,te4):TU},S03=(u,B)=>{let E=B.length;if(!u||!u.state)return PA;let A=u.state,C=A.wrap;if(C===2||C===1&&A.status!==G_||A.lookahead)return PA;if(C===1)u.adler=$T(u.adler,B,E,0);if(A.wrap=0,E>=A.w_size){if(C===0)sb(A.head),A.strstart=0,A.block_start=0,A.insert=0;let z=new Uint8Array(A.w_size);z.set(B.subarray(E-A.w_size,E),0),B=z,E=A.w_size}let{avail_in:D,next_in:F,input:U}=u;u.avail_in=E,u.next_in=0,u.input=B,JQ(A);while(A.lookahead>=J1){let z=A.strstart,k=A.lookahead-(J1-1);do A.ins_h=BZ(A,A.ins_h,A.window[z+J1-1]),A.prev[z&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=z,z++;while(--k);A.strstart=z,A.lookahead=J1-1,JQ(A)}return A.strstart+=A.lookahead,A.block_start=A.strstart,A.insert=A.lookahead,A.lookahead=0,A.match_length=A.prev_length=J1-1,A.match_available=0,u.next_in=F,u.input=U,u.avail_in=D,A.wrap=C,TU},Y03,R03,T03,O03,I03,P03,j03,N03,V03="pako deflate (from Nodeca project)",NT,h03=(u,B)=>{return Object.prototype.hasOwnProperty.call(u,B)},i03=function(u){let B=Array.prototype.slice.call(arguments,1);while(B.length){let E=B.shift();if(!E)continue;if(typeof E!=="object")throw TypeError(E+"must be non-object");for(let A in E)if(h03(E,A))u[A]=E[A]}return u},a03=(u)=>{let B=0;for(let A=0,C=u.length;A<C;A++)B+=u[A].length;let E=new Uint8Array(B);for(let A=0,C=0,D=u.length;A<D;A++){let F=u[A];E.set(F,C),C+=F.length}return E},H_,xFu=!0,yT,m03=(u)=>{let B,E,A,C,D,F=u.length,U=0;for(C=0;C<F;C++){if(E=u.charCodeAt(C),(E&64512)===55296&&C+1<F){if(A=u.charCodeAt(C+1),(A&64512)===56320)E=65536+(E-55296<<10)+(A-56320),C++}U+=E<128?1:E<2048?2:E<65536?3:4}B=new Uint8Array(U);for(D=0,C=0;D<U;C++){if(E=u.charCodeAt(C),(E&64512)===55296&&C+1<F){if(A=u.charCodeAt(C+1),(A&64512)===56320)E=65536+(E-55296<<10)+(A-56320),C++}if(E<128)B[D++]=E;else if(E<2048)B[D++]=192|E>>>6,B[D++]=128|E&63;else if(E<65536)B[D++]=224|E>>>12,B[D++]=128|E>>>6&63,B[D++]=128|E&63;else B[D++]=240|E>>>18,B[D++]=128|E>>>12&63,B[D++]=128|E>>>6&63,B[D++]=128|E&63}return B},$03=(u,B)=>{if(B<65534){if(u.subarray&&xFu)return String.fromCharCode.apply(null,u.length===B?u:u.subarray(0,B))}let E="";for(let A=0;A<B;A++)E+=String.fromCharCode(u[A]);return E},y03=(u,B)=>{let E,A,C=B||u.length,D=Array(C*2);for(A=0,E=0;E<C;){let F=u[E++];if(F<128){D[A++]=F;continue}let U=yT[F];if(U>4){D[A++]=65533,E+=U-1;continue}F&=U===2?31:U===3?15:7;while(U>1&&E<C)F=F<<6|u[E++]&63,U--;if(U>1){D[A++]=65533;continue}if(F<65536)D[A++]=F;else F-=65536,D[A++]=55296|F>>10&1023,D[A++]=56320|F&1023}return $03(D,A)},r03=(u,B)=>{if(B=B||u.length,B>u.length)B=u.length;let E=B-1;while(E>=0&&(u[E]&192)===128)E--;if(E<0)return B;if(E===0)return B;return E+yT[u[E]]>B?E:B},rT,WFu,SFu,c03,_03,p03,n03,K_,d03,s03,o03,t03,Bu3,Eu3,Au3,Cu3,Du3,Fu3,F_=30,Uu3=12,zu3=function(B,E){let A,C,D,F,U,z,k,f,M,b,Z,J,K,w,Q,G,H,l,q,L,v,x,S,W,T=B.state;A=B.next_in,S=B.input,C=A+(B.avail_in-5),D=B.next_out,W=B.output,F=D-(E-B.avail_out),U=D+(B.avail_out-257),z=T.dmax,k=T.wsize,f=T.whave,M=T.wnext,b=T.window,Z=T.hold,J=T.bits,K=T.lencode,w=T.distcode,Q=(1<<T.lenbits)-1,G=(1<<T.distbits)-1;u:do{if(J<15)Z+=S[A++]<<J,J+=8,Z+=S[A++]<<J,J+=8;H=K[Z&Q];B:for(;;){if(l=H>>>24,Z>>>=l,J-=l,l=H>>>16&255,l===0)W[D++]=H&65535;else if(l&16){if(q=H&65535,l&=15,l){if(J<l)Z+=S[A++]<<J,J+=8;q+=Z&(1<<l)-1,Z>>>=l,J-=l}if(J<15)Z+=S[A++]<<J,J+=8,Z+=S[A++]<<J,J+=8;H=w[Z&G];E:for(;;){if(l=H>>>24,Z>>>=l,J-=l,l=H>>>16&255,l&16){if(L=H&65535,l&=15,J<l){if(Z+=S[A++]<<J,J+=8,J<l)Z+=S[A++]<<J,J+=8}if(L+=Z&(1<<l)-1,L>z){B.msg="invalid distance too far back",T.mode=F_;break u}if(Z>>>=l,J-=l,l=D-F,L>l){if(l=L-l,l>f){if(T.sane){B.msg="invalid distance too far back",T.mode=F_;break u}}if(v=0,x=b,M===0){if(v+=k-l,l<q){q-=l;do W[D++]=b[v++];while(--l);v=D-L,x=W}}else if(M<l){if(v+=k+M-l,l-=M,l<q){q-=l;do W[D++]=b[v++];while(--l);if(v=0,M<q){l=M,q-=l;do W[D++]=b[v++];while(--l);v=D-L,x=W}}}else if(v+=M-l,l<q){q-=l;do W[D++]=b[v++];while(--l);v=D-L,x=W}while(q>2)W[D++]=x[v++],W[D++]=x[v++],W[D++]=x[v++],q-=3;if(q){if(W[D++]=x[v++],q>1)W[D++]=x[v++]}}else{v=D-L;do W[D++]=W[v++],W[D++]=W[v++],W[D++]=W[v++],q-=3;while(q>2);if(q){if(W[D++]=W[v++],q>1)W[D++]=W[v++]}}}else if((l&64)===0){H=w[(H&65535)+(Z&(1<<l)-1)];continue E}else{B.msg="invalid distance code",T.mode=F_;break u}break}}else if((l&64)===0){H=K[(H&65535)+(Z&(1<<l)-1)];continue B}else if(l&32){T.mode=Uu3;break u}else{B.msg="invalid literal/length code",T.mode=F_;break u}break}}while(A<C&&D<U);q=J>>3,A-=q,J-=q<<3,Z&=(1<<J)-1,B.next_in=A,B.next_out=D,B.avail_in=A<C?5+(C-A):5-(A-C),B.avail_out=D<U?257+(U-D):257-(D-U),T.hold=Z,T.bits=J;return},iL=15,TDu=852,ODu=592,IDu=0,Iz0=1,PDu=2,ku3,fu3,Mu3,bu3,Zu3=(u,B,E,A,C,D,F,U)=>{let z=U.bits,k=0,f=0,M=0,b=0,Z=0,J=0,K=0,w=0,Q=0,G=0,H,l,q,L,v,x=null,S=0,W,T=new Uint16Array(iL+1),R=new Uint16Array(iL+1),Y=null,h=0,I,O,V;for(k=0;k<=iL;k++)T[k]=0;for(f=0;f<A;f++)T[B[E+f]]++;Z=z;for(b=iL;b>=1;b--)if(T[b]!==0)break;if(Z>b)Z=b;if(b===0)return C[D++]=20971520,C[D++]=20971520,U.bits=1,0;for(M=1;M<b;M++)if(T[M]!==0)break;if(Z<M)Z=M;w=1;for(k=1;k<=iL;k++)if(w<<=1,w-=T[k],w<0)return-1;if(w>0&&(u===IDu||b!==1))return-1;R[1]=0;for(k=1;k<iL;k++)R[k+1]=R[k]+T[k];for(f=0;f<A;f++)if(B[E+f]!==0)F[R[B[E+f]]++]=f;if(u===IDu)x=Y=F,W=19;else if(u===Iz0)x=ku3,S-=257,Y=fu3,h-=257,W=256;else x=Mu3,Y=bu3,W=-1;if(G=0,f=0,k=M,v=D,J=Z,K=0,q=-1,Q=1<<Z,L=Q-1,u===Iz0&&Q>TDu||u===PDu&&Q>ODu)return 1;for(;;){if(I=k-K,F[f]<W)O=0,V=F[f];else if(F[f]>W)O=Y[h+F[f]],V=x[S+F[f]];else O=96,V=0;H=1<<k-K,l=1<<J,M=l;do l-=H,C[v+(G>>K)+l]=I<<24|O<<16|V|0;while(l!==0);H=1<<k-1;while(G&H)H>>=1;if(H!==0)G&=H-1,G+=H;else G=0;if(f++,--T[k]===0){if(k===b)break;k=B[E+F[f]]}if(k>Z&&(G&L)!==q){if(K===0)K=Z;v+=M,J=k-K,w=1<<J;while(J+K<b){if(w-=T[J+K],w<=0)break;J++,w<<=1}if(Q+=1<<J,u===Iz0&&Q>TDu||u===PDu&&Q>ODu)return 1;q=G&L,C[q]=Z<<24|J<<16|v-D|0}}if(G!==0)C[v+G]=k-K<<24|4194304|0;return U.bits=Z,0},VT,Ju3=0,YFu=1,RFu=2,jDu,Ku3,U_,KQ,wu3,Qu3,jA,TFu,OFu,Gu3,NDu,IFu=1,VDu=2,hDu=3,iDu=4,aDu=5,mDu=6,$Du=7,yDu=8,rDu=9,gDu=10,w_=11,sk=12,Pz0=13,cDu=14,jz0=15,_Du=16,pDu=17,nDu=18,dDu=19,z_=20,k_=21,sDu=22,oDu=23,tDu=24,eDu=25,uFu=26,Nz0=27,BFu=28,EFu=29,f9=30,PFu=31,Hu3=32,qu3=852,lu3=592,Lu3=15,Xu3,AFu=(u)=>{return(u>>>24&255)+(u>>>8&65280)+((u&65280)<<8)+((u&255)<<24)},jFu=(u)=>{if(!u||!u.state)return jA;let B=u.state;if(u.total_in=u.total_out=B.total=0,u.msg="",B.wrap)u.adler=B.wrap&1;return B.mode=IFu,B.last=0,B.havedict=0,B.dmax=32768,B.head=null,B.hold=0,B.bits=0,B.lencode=B.lendyn=new Int32Array(qu3),B.distcode=B.distdyn=new Int32Array(lu3),B.sane=1,B.back=-1,KQ},NFu=(u)=>{if(!u||!u.state)return jA;let B=u.state;return B.wsize=0,B.whave=0,B.wnext=0,jFu(u)},VFu=(u,B)=>{let E;if(!u||!u.state)return jA;let A=u.state;if(B<0)E=0,B=-B;else if(E=(B>>4)+1,B<48)B&=15;if(B&&(B<8||B>15))return jA;if(A.window!==null&&A.wbits!==B)A.window=null;return A.wrap=E,A.wbits=B,NFu(u)},hFu=(u,B)=>{if(!u)return jA;let E=new vu3;u.state=E,E.window=null;let A=VFu(u,B);if(A!==KQ)u.state=null;return A},xu3=(u)=>{return hFu(u,Xu3)},CFu=!0,Vz0,hz0,Wu3=(u)=>{if(CFu){Vz0=new Int32Array(512),hz0=new Int32Array(32);let B=0;while(B<144)u.lens[B++]=8;while(B<256)u.lens[B++]=9;while(B<280)u.lens[B++]=7;while(B<288)u.lens[B++]=8;VT(YFu,u.lens,0,288,Vz0,0,u.work,{bits:9}),B=0;while(B<32)u.lens[B++]=5;VT(RFu,u.lens,0,32,hz0,0,u.work,{bits:5}),CFu=!1}u.lencode=Vz0,u.lenbits=9,u.distcode=hz0,u.distbits=5},iFu=(u,B,E,A)=>{let C,D=u.state;if(D.window===null)D.wsize=1<<D.wbits,D.wnext=0,D.whave=0,D.window=new Uint8Array(D.wsize);if(A>=D.wsize)D.window.set(B.subarray(E-D.wsize,E),0),D.wnext=0,D.whave=D.wsize;else{if(C=D.wsize-D.wnext,C>A)C=A;if(D.window.set(B.subarray(E-A,E-A+C),D.wnext),A-=C,A)D.window.set(B.subarray(E-A,E),0),D.wnext=A,D.whave=D.wsize;else{if(D.wnext+=C,D.wnext===D.wsize)D.wnext=0;if(D.whave<D.wsize)D.whave+=C}}return 0},Su3=(u,B)=>{let E,A,C,D,F,U,z,k,f,M,b,Z,J,K,w=0,Q,G,H,l,q,L,v,x,S=new Uint8Array(4),W,T,R=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!u||!u.state||!u.output||!u.input&&u.avail_in!==0)return jA;if(E=u.state,E.mode===sk)E.mode=Pz0;F=u.next_out,C=u.output,z=u.avail_out,D=u.next_in,A=u.input,U=u.avail_in,k=E.hold,f=E.bits,M=U,b=z,x=KQ;u:for(;;)switch(E.mode){case IFu:if(E.wrap===0){E.mode=Pz0;break}while(f<16){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(E.wrap&2&&k===35615){E.check=0,S[0]=k&255,S[1]=k>>>8&255,E.check=m5(E.check,S,2,0),k=0,f=0,E.mode=VDu;break}if(E.flags=0,E.head)E.head.done=!1;if(!(E.wrap&1)||(((k&255)<<8)+(k>>8))%31){u.msg="incorrect header check",E.mode=f9;break}if((k&15)!==NDu){u.msg="unknown compression method",E.mode=f9;break}if(k>>>=4,f-=4,v=(k&15)+8,E.wbits===0)E.wbits=v;else if(v>E.wbits){u.msg="invalid window size",E.mode=f9;break}E.dmax=1<<E.wbits,u.adler=E.check=1,E.mode=k&512?gDu:sk,k=0,f=0;break;case VDu:while(f<16){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(E.flags=k,(E.flags&255)!==NDu){u.msg="unknown compression method",E.mode=f9;break}if(E.flags&57344){u.msg="unknown header flags set",E.mode=f9;break}if(E.head)E.head.text=k>>8&1;if(E.flags&512)S[0]=k&255,S[1]=k>>>8&255,E.check=m5(E.check,S,2,0);k=0,f=0,E.mode=hDu;case hDu:while(f<32){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(E.head)E.head.time=k;if(E.flags&512)S[0]=k&255,S[1]=k>>>8&255,S[2]=k>>>16&255,S[3]=k>>>24&255,E.check=m5(E.check,S,4,0);k=0,f=0,E.mode=iDu;case iDu:while(f<16){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(E.head)E.head.xflags=k&255,E.head.os=k>>8;if(E.flags&512)S[0]=k&255,S[1]=k>>>8&255,E.check=m5(E.check,S,2,0);k=0,f=0,E.mode=aDu;case aDu:if(E.flags&1024){while(f<16){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(E.length=k,E.head)E.head.extra_len=k;if(E.flags&512)S[0]=k&255,S[1]=k>>>8&255,E.check=m5(E.check,S,2,0);k=0,f=0}else if(E.head)E.head.extra=null;E.mode=mDu;case mDu:if(E.flags&1024){if(Z=E.length,Z>U)Z=U;if(Z){if(E.head){if(v=E.head.extra_len-E.length,!E.head.extra)E.head.extra=new Uint8Array(E.head.extra_len);E.head.extra.set(A.subarray(D,D+Z),v)}if(E.flags&512)E.check=m5(E.check,A,Z,D);U-=Z,D+=Z,E.length-=Z}if(E.length)break u}E.length=0,E.mode=$Du;case $Du:if(E.flags&2048){if(U===0)break u;Z=0;do if(v=A[D+Z++],E.head&&v&&E.length<65536)E.head.name+=String.fromCharCode(v);while(v&&Z<U);if(E.flags&512)E.check=m5(E.check,A,Z,D);if(U-=Z,D+=Z,v)break u}else if(E.head)E.head.name=null;E.length=0,E.mode=yDu;case yDu:if(E.flags&4096){if(U===0)break u;Z=0;do if(v=A[D+Z++],E.head&&v&&E.length<65536)E.head.comment+=String.fromCharCode(v);while(v&&Z<U);if(E.flags&512)E.check=m5(E.check,A,Z,D);if(U-=Z,D+=Z,v)break u}else if(E.head)E.head.comment=null;E.mode=rDu;case rDu:if(E.flags&512){while(f<16){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(k!==(E.check&65535)){u.msg="header crc mismatch",E.mode=f9;break}k=0,f=0}if(E.head)E.head.hcrc=E.flags>>9&1,E.head.done=!0;u.adler=E.check=0,E.mode=sk;break;case gDu:while(f<32){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}u.adler=E.check=AFu(k),k=0,f=0,E.mode=w_;case w_:if(E.havedict===0)return u.next_out=F,u.avail_out=z,u.next_in=D,u.avail_in=U,E.hold=k,E.bits=f,Qu3;u.adler=E.check=1,E.mode=sk;case sk:if(B===Ku3||B===U_)break u;case Pz0:if(E.last){k>>>=f&7,f-=f&7,E.mode=Nz0;break}while(f<3){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}switch(E.last=k&1,k>>>=1,f-=1,k&3){case 0:E.mode=cDu;break;case 1:if(Wu3(E),E.mode=z_,B===U_){k>>>=2,f-=2;break u}break;case 2:E.mode=pDu;break;case 3:u.msg="invalid block type",E.mode=f9}k>>>=2,f-=2;break;case cDu:k>>>=f&7,f-=f&7;while(f<32){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if((k&65535)!==(k>>>16^65535)){u.msg="invalid stored block lengths",E.mode=f9;break}if(E.length=k&65535,k=0,f=0,E.mode=jz0,B===U_)break u;case jz0:E.mode=_Du;case _Du:if(Z=E.length,Z){if(Z>U)Z=U;if(Z>z)Z=z;if(Z===0)break u;C.set(A.subarray(D,D+Z),F),U-=Z,D+=Z,z-=Z,F+=Z,E.length-=Z;break}E.mode=sk;break;case pDu:while(f<14){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(E.nlen=(k&31)+257,k>>>=5,f-=5,E.ndist=(k&31)+1,k>>>=5,f-=5,E.ncode=(k&15)+4,k>>>=4,f-=4,E.nlen>286||E.ndist>30){u.msg="too many length or distance symbols",E.mode=f9;break}E.have=0,E.mode=nDu;case nDu:while(E.have<E.ncode){while(f<3){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}E.lens[R[E.have++]]=k&7,k>>>=3,f-=3}while(E.have<19)E.lens[R[E.have++]]=0;if(E.lencode=E.lendyn,E.lenbits=7,W={bits:E.lenbits},x=VT(Ju3,E.lens,0,19,E.lencode,0,E.work,W),E.lenbits=W.bits,x){u.msg="invalid code lengths set",E.mode=f9;break}E.have=0,E.mode=dDu;case dDu:while(E.have<E.nlen+E.ndist){for(;;){if(w=E.lencode[k&(1<<E.lenbits)-1],Q=w>>>24,G=w>>>16&255,H=w&65535,Q<=f)break;if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(H<16)k>>>=Q,f-=Q,E.lens[E.have++]=H;else{if(H===16){T=Q+2;while(f<T){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(k>>>=Q,f-=Q,E.have===0){u.msg="invalid bit length repeat",E.mode=f9;break}v=E.lens[E.have-1],Z=3+(k&3),k>>>=2,f-=2}else if(H===17){T=Q+3;while(f<T){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}k>>>=Q,f-=Q,v=0,Z=3+(k&7),k>>>=3,f-=3}else{T=Q+7;while(f<T){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}k>>>=Q,f-=Q,v=0,Z=11+(k&127),k>>>=7,f-=7}if(E.have+Z>E.nlen+E.ndist){u.msg="invalid bit length repeat",E.mode=f9;break}while(Z--)E.lens[E.have++]=v}}if(E.mode===f9)break;if(E.lens[256]===0){u.msg="invalid code -- missing end-of-block",E.mode=f9;break}if(E.lenbits=9,W={bits:E.lenbits},x=VT(YFu,E.lens,0,E.nlen,E.lencode,0,E.work,W),E.lenbits=W.bits,x){u.msg="invalid literal/lengths set",E.mode=f9;break}if(E.distbits=6,E.distcode=E.distdyn,W={bits:E.distbits},x=VT(RFu,E.lens,E.nlen,E.ndist,E.distcode,0,E.work,W),E.distbits=W.bits,x){u.msg="invalid distances set",E.mode=f9;break}if(E.mode=z_,B===U_)break u;case z_:E.mode=k_;case k_:if(U>=6&&z>=258){if(u.next_out=F,u.avail_out=z,u.next_in=D,u.avail_in=U,E.hold=k,E.bits=f,zu3(u,b),F=u.next_out,C=u.output,z=u.avail_out,D=u.next_in,A=u.input,U=u.avail_in,k=E.hold,f=E.bits,E.mode===sk)E.back=-1;break}E.back=0;for(;;){if(w=E.lencode[k&(1<<E.lenbits)-1],Q=w>>>24,G=w>>>16&255,H=w&65535,Q<=f)break;if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(G&&(G&240)===0){l=Q,q=G,L=H;for(;;){if(w=E.lencode[L+((k&(1<<l+q)-1)>>l)],Q=w>>>24,G=w>>>16&255,H=w&65535,l+Q<=f)break;if(U===0)break u;U--,k+=A[D++]<<f,f+=8}k>>>=l,f-=l,E.back+=l}if(k>>>=Q,f-=Q,E.back+=Q,E.length=H,G===0){E.mode=uFu;break}if(G&32){E.back=-1,E.mode=sk;break}if(G&64){u.msg="invalid literal/length code",E.mode=f9;break}E.extra=G&15,E.mode=sDu;case sDu:if(E.extra){T=E.extra;while(f<T){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}E.length+=k&(1<<E.extra)-1,k>>>=E.extra,f-=E.extra,E.back+=E.extra}E.was=E.length,E.mode=oDu;case oDu:for(;;){if(w=E.distcode[k&(1<<E.distbits)-1],Q=w>>>24,G=w>>>16&255,H=w&65535,Q<=f)break;if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if((G&240)===0){l=Q,q=G,L=H;for(;;){if(w=E.distcode[L+((k&(1<<l+q)-1)>>l)],Q=w>>>24,G=w>>>16&255,H=w&65535,l+Q<=f)break;if(U===0)break u;U--,k+=A[D++]<<f,f+=8}k>>>=l,f-=l,E.back+=l}if(k>>>=Q,f-=Q,E.back+=Q,G&64){u.msg="invalid distance code",E.mode=f9;break}E.offset=H,E.extra=G&15,E.mode=tDu;case tDu:if(E.extra){T=E.extra;while(f<T){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}E.offset+=k&(1<<E.extra)-1,k>>>=E.extra,f-=E.extra,E.back+=E.extra}if(E.offset>E.dmax){u.msg="invalid distance too far back",E.mode=f9;break}E.mode=eDu;case eDu:if(z===0)break u;if(Z=b-z,E.offset>Z){if(Z=E.offset-Z,Z>E.whave){if(E.sane){u.msg="invalid distance too far back",E.mode=f9;break}}if(Z>E.wnext)Z-=E.wnext,J=E.wsize-Z;else J=E.wnext-Z;if(Z>E.length)Z=E.length;K=E.window}else K=C,J=F-E.offset,Z=E.length;if(Z>z)Z=z;z-=Z,E.length-=Z;do C[F++]=K[J++];while(--Z);if(E.length===0)E.mode=k_;break;case uFu:if(z===0)break u;C[F++]=E.length,z--,E.mode=k_;break;case Nz0:if(E.wrap){while(f<32){if(U===0)break u;U--,k|=A[D++]<<f,f+=8}if(b-=z,u.total_out+=b,E.total+=b,b)u.adler=E.check=E.flags?m5(E.check,C,b,F-b):$T(E.check,C,b,F-b);if(b=z,(E.flags?k:AFu(k))!==E.check){u.msg="incorrect data check",E.mode=f9;break}k=0,f=0}E.mode=BFu;case BFu:if(E.wrap&&E.flags){while(f<32){if(U===0)break u;U--,k+=A[D++]<<f,f+=8}if(k!==(E.total&4294967295)){u.msg="incorrect length check",E.mode=f9;break}k=0,f=0}E.mode=EFu;case EFu:x=wu3;break u;case f9:x=TFu;break u;case PFu:return OFu;case Hu3:default:return jA}if(u.next_out=F,u.avail_out=z,u.next_in=D,u.avail_in=U,E.hold=k,E.bits=f,E.wsize||b!==u.avail_out&&E.mode<f9&&(E.mode<Nz0||B!==jDu)){if(iFu(u,u.output,u.next_out,b-u.avail_out));}if(M-=u.avail_in,b-=u.avail_out,u.total_in+=M,u.total_out+=b,E.total+=b,E.wrap&&b)u.adler=E.check=E.flags?m5(E.check,C,b,u.next_out-b):$T(E.check,C,b,u.next_out-b);if(u.data_type=E.bits+(E.last?64:0)+(E.mode===sk?128:0)+(E.mode===z_||E.mode===jz0?256:0),(M===0&&b===0||B===jDu)&&x===KQ)x=Gu3;return x},Yu3=(u)=>{if(!u||!u.state)return jA;let B=u.state;if(B.window)B.window=null;return u.state=null,KQ},Ru3=(u,B)=>{if(!u||!u.state)return jA;let E=u.state;if((E.wrap&2)===0)return jA;return E.head=B,B.done=!1,KQ},Tu3=(u,B)=>{let E=B.length,A,C,D;if(!u||!u.state)return jA;if(A=u.state,A.wrap!==0&&A.mode!==w_)return jA;if(A.mode===w_){if(C=1,C=$T(C,B,E,0),C!==A.check)return TFu}if(D=iFu(u,B,E,E),D)return A.mode=PFu,OFu;return A.havedict=1,KQ},Ou3,Iu3,Pu3,ju3,Nu3,Vu3,hu3,iu3,au3,mu3="pako inflate (from Nodeca project)",tk,yu3,aFu,ru3,gu3,gT,iz0,az0,cu3,DFu,_u3,nu3,du3,su3,ou3,tu3,eu3,zv1,u43,kv1,fv1,Mv1,B43,bv1,Zv1,mFu,$Fu;var yFu=g(()=>{/*! pako 2.0.3 https://github.com/nodeca/pako @license (MIT AND Zlib) */hT=cT+1+gz0,UFu=2*hT+1,mz0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),f_=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Xe4=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),MFu=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ok=Array((hT+2)*2);mL(ok);jT=Array(aL*2);mL(jT);iT=Array(ve4);mL(iT);aT=Array(le4-qe4+1);mL(aT);pz0=Array(gz0);mL(pz0);J_=Array(aL);mL(J_);Ve4=Ie4,he4=qFu,ie4=je4,ae4=Ne4,me4=Pe4,$e4={_tr_init:Ve4,_tr_stored_block:he4,_tr_flush_block:ie4,_tr_tally:ae4,_tr_align:me4},$T=ye4,ge4=new Uint32Array(re4()),m5=ce4,bQ={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},$L={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:_e4,_tr_stored_block:pe4,_tr_flush_block:ne4,_tr_tally:eb,_tr_align:de4}=$e4,{Z_NO_FLUSH:wQ,Z_PARTIAL_FLUSH:se4,Z_FULL_FLUSH:oe4,Z_FINISH:uZ,Z_BLOCK:SDu,Z_OK:TU,Z_STREAM_END:YDu,Z_STREAM_ERROR:PA,Z_DATA_ERROR:te4,Z_BUF_ERROR:Tz0,Z_DEFAULT_COMPRESSION:ee4,Z_FILTERED:u03,Z_HUFFMAN_ONLY:D_,Z_RLE:B03,Z_FIXED:E03,Z_DEFAULT_STRATEGY:A03,Z_UNKNOWN:C03,Z_DEFLATED:Q_}=$L,yz0=k03+1+z03,b03=2*yz0+1,FD=ob+J1+1,BZ=w03;PT=[new YU(0,0,0,0,G03),new YU(4,4,8,4,Oz0),new YU(4,5,16,8,Oz0),new YU(4,6,32,32,Oz0),new YU(4,4,16,16,hL),new YU(8,16,32,32,hL),new YU(8,16,128,128,hL),new YU(8,32,128,256,hL),new YU(32,128,258,1024,hL),new YU(32,258,258,4096,hL)];Y03=v03,R03=vFu,T03=XFu,O03=LFu,I03=X03,P03=x03,j03=W03,N03=S03,NT={deflateInit:Y03,deflateInit2:R03,deflateReset:T03,deflateResetKeep:O03,deflateSetHeader:I03,deflate:P03,deflateEnd:j03,deflateSetDictionary:N03,deflateInfo:V03},H_={assign:i03,flattenChunks:a03};try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(u){xFu=!1}yT=new Uint8Array(256);for(let u=0;u<256;u++)yT[u]=u>=252?6:u>=248?5:u>=240?4:u>=224?3:u>=192?2:1;yT[254]=yT[254]=1;rT={string2buf:m03,buf2string:y03,utf8border:r03};WFu=g03,SFu=Object.prototype.toString,{Z_NO_FLUSH:c03,Z_SYNC_FLUSH:_03,Z_FULL_FLUSH:p03,Z_FINISH:n03,Z_OK:K_,Z_STREAM_END:d03,Z_DEFAULT_COMPRESSION:s03,Z_DEFAULT_STRATEGY:o03,Z_DEFLATED:t03}=$L;pT.prototype.push=function(u,B){let E=this.strm,A=this.options.chunkSize,C,D;if(this.ended)return!1;if(B===~~B)D=B;else D=B===!0?n03:c03;if(typeof u==="string")E.input=rT.string2buf(u);else if(SFu.call(u)==="[object ArrayBuffer]")E.input=new Uint8Array(u);else E.input=u;E.next_in=0,E.avail_in=E.input.length;for(;;){if(E.avail_out===0)E.output=new Uint8Array(A),E.next_out=0,E.avail_out=A;if((D===_03||D===p03)&&E.avail_out<=6){this.onData(E.output.subarray(0,E.next_out)),E.avail_out=0;continue}if(C=NT.deflate(E,D),C===d03){if(E.next_out>0)this.onData(E.output.subarray(0,E.next_out));return C=NT.deflateEnd(this.strm),this.onEnd(C),this.ended=!0,C===K_}if(E.avail_out===0){this.onData(E.output);continue}if(D>0&&E.next_out>0){this.onData(E.output.subarray(0,E.next_out)),E.avail_out=0;continue}if(E.avail_in===0)break}return!0};pT.prototype.onData=function(u){this.chunks.push(u)};pT.prototype.onEnd=function(u){if(u===K_)this.result=H_.flattenChunks(this.chunks);this.chunks=[],this.err=u,this.msg=this.strm.msg};Bu3=pT,Eu3=nz0,Au3=e03,Cu3=uu3,Du3=$L,Fu3={Deflate:Bu3,deflate:Eu3,deflateRaw:Au3,gzip:Cu3,constants:Du3},ku3=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),fu3=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Mu3=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),bu3=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),VT=Zu3,{Z_FINISH:jDu,Z_BLOCK:Ku3,Z_TREES:U_,Z_OK:KQ,Z_STREAM_END:wu3,Z_NEED_DICT:Qu3,Z_STREAM_ERROR:jA,Z_DATA_ERROR:TFu,Z_MEM_ERROR:OFu,Z_BUF_ERROR:Gu3,Z_DEFLATED:NDu}=$L,Xu3=Lu3;Ou3=NFu,Iu3=VFu,Pu3=jFu,ju3=xu3,Nu3=hFu,Vu3=Su3,hu3=Yu3,iu3=Ru3,au3=Tu3,tk={inflateReset:Ou3,inflateReset2:Iu3,inflateResetKeep:Pu3,inflateInit:ju3,inflateInit2:Nu3,inflate:Vu3,inflateEnd:hu3,inflateGetHeader:iu3,inflateSetDictionary:au3,inflateInfo:mu3};yu3=$u3,aFu=Object.prototype.toString,{Z_NO_FLUSH:ru3,Z_FINISH:gu3,Z_OK:gT,Z_STREAM_END:iz0,Z_NEED_DICT:az0,Z_STREAM_ERROR:cu3,Z_DATA_ERROR:DFu,Z_MEM_ERROR:_u3}=$L;nT.prototype.push=function(u,B){let E=this.strm,A=this.options.chunkSize,C=this.options.dictionary,D,F,U;if(this.ended)return!1;if(B===~~B)F=B;else F=B===!0?gu3:ru3;if(aFu.call(u)==="[object ArrayBuffer]")E.input=new Uint8Array(u);else E.input=u;E.next_in=0,E.avail_in=E.input.length;for(;;){if(E.avail_out===0)E.output=new Uint8Array(A),E.next_out=0,E.avail_out=A;if(D=tk.inflate(E,F),D===az0&&C){if(D=tk.inflateSetDictionary(E,C),D===gT)D=tk.inflate(E,F);else if(D===DFu)D=az0}while(E.avail_in>0&&D===iz0&&E.state.wrap>0&&u[E.next_in]!==0)tk.inflateReset(E),D=tk.inflate(E,F);switch(D){case cu3:case DFu:case az0:case _u3:return this.onEnd(D),this.ended=!0,!1}if(U=E.avail_out,E.next_out){if(E.avail_out===0||D===iz0)if(this.options.to==="string"){let z=rT.utf8border(E.output,E.next_out),k=E.next_out-z,f=rT.buf2string(E.output,z);if(E.next_out=k,E.avail_out=A-k,k)E.output.set(E.output.subarray(z,z+k),0);this.onData(f)}else this.onData(E.output.length===E.next_out?E.output:E.output.subarray(0,E.next_out))}if(D===gT&&U===0)continue;if(D===iz0)return D=tk.inflateEnd(this.strm),this.onEnd(D),this.ended=!0,!0;if(E.avail_in===0)break}return!0};nT.prototype.onData=function(u){this.chunks.push(u)};nT.prototype.onEnd=function(u){if(u===gT)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=H_.flattenChunks(this.chunks);this.chunks=[],this.err=u,this.msg=this.strm.msg};nu3=nT,du3=dz0,su3=pu3,ou3=dz0,tu3=$L,eu3={Inflate:nu3,inflate:du3,inflateRaw:su3,ungzip:ou3,constants:tu3},{Deflate:zv1,deflate:u43,deflateRaw:kv1,gzip:fv1}=Fu3,{Inflate:Mv1,inflate:B43,inflateRaw:bv1,ungzip:Zv1}=eu3,mFu=u43,$Fu=B43});var n6;var EZ=g(()=>{n6={white:"#ffffff",black:"#000000",gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]}});var rFu="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var rL=(u=21)=>{let B="",E=crypto.getRandomValues(new Uint8Array(u|=0));while(u--)B+=rFu[E[u]&63];return B};var q_=()=>{};var gL=N1((Hv1,pFu)=>{var _Fu="Expected a function",gFu=NaN,A43="[object Symbol]",C43=/^\s+|\s+$/g,D43=/^[-+]0x[0-9a-f]+$/i,F43=/^0b[01]+$/i,U43=/^0o[0-7]+$/i,z43=parseInt,k43=typeof global=="object"&&global&&global.Object===Object&&global,f43=typeof self=="object"&&self&&self.Object===Object&&self,M43=k43||f43||Function("return this")(),b43=Object.prototype,Z43=b43.toString,J43=Math.max,K43=Math.min,sz0=function(){return M43.Date.now()};function w43(u,B,E){var A,C,D,F,U,z,k=0,f=!1,M=!1,b=!0;if(typeof u!="function")throw TypeError(_Fu);if(B=cFu(B)||0,l_(E))f=!!E.leading,M="maxWait"in E,D=M?J43(cFu(E.maxWait)||0,B):D,b="trailing"in E?!!E.trailing:b;function Z(L){var v=A,x=C;return A=C=void 0,k=L,F=u.apply(x,v),F}function J(L){return k=L,U=setTimeout(Q,B),f?Z(L):F}function K(L){var v=L-z,x=L-k,S=B-v;return M?K43(S,D-x):S}function w(L){var v=L-z,x=L-k;return z===void 0||v>=B||v<0||M&&x>=D}function Q(){var L=sz0();if(w(L))return G(L);U=setTimeout(Q,K(L))}function G(L){if(U=void 0,b&&A)return Z(L);return A=C=void 0,F}function H(){if(U!==void 0)clearTimeout(U);k=0,A=z=C=U=void 0}function l(){return U===void 0?F:G(sz0())}function q(){var L=sz0(),v=w(L);if(A=arguments,C=this,z=L,v){if(U===void 0)return J(z);if(M)return U=setTimeout(Q,B),Z(z)}if(U===void 0)U=setTimeout(Q,B);return F}return q.cancel=H,q.flush=l,q}function Q43(u,B,E){var A=!0,C=!0;if(typeof u!="function")throw TypeError(_Fu);if(l_(E))A="leading"in E?!!E.leading:A,C="trailing"in E?!!E.trailing:C;return w43(u,B,{leading:A,maxWait:B,trailing:C})}function l_(u){var B=typeof u;return!!u&&(B=="object"||B=="function")}function G43(u){return!!u&&typeof u=="object"}function H43(u){return typeof u=="symbol"||G43(u)&&Z43.call(u)==A43}function cFu(u){if(typeof u=="number")return u;if(H43(u))return gFu;if(l_(u)){var B=typeof u.valueOf=="function"?u.valueOf():u;u=l_(B)?B+"":B}if(typeof u!="string")return u===0?u:+u;u=u.replace(C43,"");var E=F43.test(u);return E||U43.test(u)?z43(u.slice(2),E?2:8):D43.test(u)?gFu:+u}pFu.exports=Q43});var dFu=N1((oz0,nFu)=>{(function(u,B){if(typeof define==="function"&&define.amd)define([],B);else if(typeof oz0==="object")nFu.exports=B();else u.PromisePool=B(),u.promisePool=u.PromisePool})(oz0,function(){var u=function(){this._listeners={}};u.prototype.addEventListener=function(U,z){if(this._listeners[U]=this._listeners[U]||[],this._listeners[U].indexOf(z)<0)this._listeners[U].push(z)},u.prototype.removeEventListener=function(U,z){if(this._listeners[U]){var k=this._listeners[U].indexOf(z);if(k>=0)this._listeners[U].splice(k,1)}},u.prototype.dispatchEvent=function(U){if(this._listeners[U.type]&&this._listeners[U.type].length){var z=this._listeners[U.type].slice();for(var k=0,f=z.length;k<f;++k)z[k].call(this,U)}};var B=function(U){return typeof U.constructor==="function"&&U.constructor.name==="GeneratorFunction"},E=function(U){return{next:function(){var z=U();return z?{value:z}:{done:!0}}}},A=function(U){var z=!1;return{next:function(){if(z)return{done:!0};return z=!0,{value:U}}}},C=function(U,z){var k=typeof U;if(k==="object"){if(typeof U.next==="function")return U;if(typeof U.then==="function")return A(U)}if(k==="function")return B(U)?U():E(U);return A(z.resolve(U))},D=function(U,z,k){this.target=U,this.type=z,this.data=k},F=function(U,z,k){if(u.call(this),typeof z!=="number"||Math.floor(z)!==z||z<1)throw Error("Invalid concurrency");this._concurrency=z,this._options=k||{},this._options.promise=this._options.promise||Promise,this._iterator=C(U,this._options.promise),this._done=!1,this._size=0,this._promise=null,this._callbacks=null};return F.prototype=new u,F.prototype.constructor=F,F.prototype.concurrency=function(U){if(typeof U<"u"){if(this._concurrency=U,this.active())this._proceed()}return this._concurrency},F.prototype.size=function(){return this._size},F.prototype.active=function(){return!!this._promise},F.prototype.promise=function(){return this._promise},F.prototype.start=function(){var U=this,z=this._options.promise;return this._promise=new z(function(k,f){U._callbacks={reject:f,resolve:k},U._proceed()}),this._promise},F.prototype._fireEvent=function(U,z){this.dispatchEvent(new D(this,U,z))},F.prototype._settle=function(U){if(U)this._callbacks.reject(U);else this._callbacks.resolve();this._promise=null,this._callbacks=null},F.prototype._onPooledPromiseFulfilled=function(U,z){if(this._size--,this.active())this._fireEvent("fulfilled",{promise:U,result:z}),this._proceed()},F.prototype._onPooledPromiseRejected=function(U,z){if(this._size--,this.active())this._fireEvent("rejected",{promise:U,error:z}),this._settle(z||Error("Unknown error"))},F.prototype._trackPromise=function(U){var z=this;U.then(function(k){z._onPooledPromiseFulfilled(U,k)},function(k){z._onPooledPromiseRejected(U,k)}).catch(function(k){z._settle(Error("Promise processing failed: "+k))})},F.prototype._proceed=function(){if(!this._done){var U={done:!1};while(this._size<this._concurrency&&!(U=this._iterator.next()).done)this._size++,this._trackPromise(U.value);this._done=U===null||!!U.done}if(this._done&&this._size===0)this._settle()},F.PromisePoolEvent=D,F.PromisePool=F,F})});function tz0(u,B,E){if(u&&u.length){let[A,C]=B,D=Math.PI/180*E,F=Math.cos(D),U=Math.sin(D);for(let z of u){let[k,f]=z;z[0]=(k-A)*F-(f-C)*U+A,z[1]=(k-A)*U+(f-C)*F+C}}}function q43(u,B,E){let A=[];u.forEach((C)=>A.push(...C)),tz0(A,B,E)}function l43(u,B){return u[0]===B[0]&&u[1]===B[1]}function sFu(u,B,E,A=1){let C=E,D=Math.max(B,0.1),F=u[0]&&u[0][0]&&typeof u[0][0]==="number"?[u]:u,U=[0,0];if(C)for(let k of F)tz0(k,U,C);let z=L43(F,D,A);if(C){for(let k of F)tz0(k,U,-C);q43(z,U,-C)}return z}function L43(u,B,E){let A=[];for(let k of u){let f=[...k];if(!l43(f[0],f[f.length-1]))f.push([f[0][0],f[0][1]]);if(f.length>2)A.push(f)}let C=[];B=Math.max(B,0.1);let D=[];for(let k of A)for(let f=0;f<k.length-1;f++){let M=k[f],b=k[f+1];if(M[1]!==b[1]){let Z=Math.min(M[1],b[1]);D.push({ymin:Z,ymax:Math.max(M[1],b[1]),x:Z===M[1]?M[0]:b[0],islope:(b[0]-M[0])/(b[1]-M[1])})}}if(D.sort((k,f)=>{if(k.ymin<f.ymin)return-1;if(k.ymin>f.ymin)return 1;if(k.x<f.x)return-1;if(k.x>f.x)return 1;if(k.ymax===f.ymax)return 0;return(k.ymax-f.ymax)/Math.abs(k.ymax-f.ymax)}),!D.length)return C;let F=[],U=D[0].ymin,z=0;while(F.length||D.length){if(D.length){let k=-1;for(let M=0;M<D.length;M++){if(D[M].ymin>U)break;k=M}D.splice(0,k+1).forEach((M)=>{F.push({s:U,edge:M})})}if(F=F.filter((k)=>{if(k.edge.ymax<=U)return!1;return!0}),F.sort((k,f)=>{if(k.edge.x===f.edge.x)return 0;return(k.edge.x-f.edge.x)/Math.abs(k.edge.x-f.edge.x)}),E!==1||z%B===0){if(F.length>1)for(let k=0;k<F.length;k=k+2){let f=k+1;if(f>=F.length)break;let M=F[k].edge,b=F[f].edge;C.push([[Math.round(M.x),U],[Math.round(b.x),U]])}}U+=E,F.forEach((k)=>{k.edge.x=k.edge.x+E*k.edge.islope}),z++}return C}function OU(u,B){var E;let A=B.hachureAngle+90,C=B.hachureGap;if(C<0)C=B.strokeWidth*4;C=Math.max(C,0.1);let D=1;if(B.roughness>=1){if((((E=B.randomizer)===null||E===void 0?void 0:E.next())||Math.random())>0.7)D=C}return sFu(u,C,A,D||1)}var cL=()=>{};class QQ{constructor(u){this.helper=u}fillPolygons(u,B){return this._fillPolygons(u,B)}_fillPolygons(u,B){let E=OU(u,B);return{type:"fillSketch",ops:this.renderLines(E,B)}}renderLines(u,B){let E=[];for(let A of u)E.push(...this.helper.doubleLineOps(A[0][0],A[0][1],A[1][0],A[1][1],B));return E}}var L_=g(()=>{cL()});function AZ(u){let B=u[0],E=u[1];return Math.sqrt(Math.pow(B[0]-E[0],2)+Math.pow(B[1]-E[1],2))}var ez0;var oFu=g(()=>{L_();cL();ez0=class ez0 extends QQ{fillPolygons(u,B){let E=B.hachureGap;if(E<0)E=B.strokeWidth*4;E=Math.max(E,0.1);let A=Object.assign({},B,{hachureGap:E}),C=OU(u,A),D=Math.PI/180*B.hachureAngle,F=[],U=E*0.5*Math.cos(D),z=E*0.5*Math.sin(D);for(let[f,M]of C)if(AZ([f,M]))F.push([[f[0]-U,f[1]+z],[...M]],[[f[0]+U,f[1]-z],[...M]]);return{type:"fillSketch",ops:this.renderLines(F,B)}}}});var uk0;var tFu=g(()=>{L_();uk0=class uk0 extends QQ{fillPolygons(u,B){let E=this._fillPolygons(u,B),A=Object.assign({},B,{hachureAngle:B.hachureAngle+90}),C=this._fillPolygons(u,A);return E.ops=E.ops.concat(C.ops),E}}});class Bk0{constructor(u){this.helper=u}fillPolygons(u,B){B=Object.assign({},B,{hachureAngle:0});let E=OU(u,B);return this.dotsOnLines(E,B)}dotsOnLines(u,B){let E=[],A=B.hachureGap;if(A<0)A=B.strokeWidth*4;A=Math.max(A,0.1);let C=B.fillWeight;if(C<0)C=B.strokeWidth/2;let D=A/4;for(let F of u){let U=AZ(F),z=U/A,k=Math.ceil(z)-1,f=U-k*A,M=(F[0][0]+F[1][0])/2-A/4,b=Math.min(F[0][1],F[1][1]);for(let Z=0;Z<k;Z++){let J=b+f+Z*A,K=M-D+Math.random()*2*D,w=J-D+Math.random()*2*D,Q=this.helper.ellipse(K,w,C,C,B);E.push(...Q.ops)}}return{type:"fillSketch",ops:E}}}var eFu=g(()=>{cL()});class Ek0{constructor(u){this.helper=u}fillPolygons(u,B){let E=OU(u,B);return{type:"fillSketch",ops:this.dashedLine(E,B)}}dashedLine(u,B){let E=B.dashOffset<0?B.hachureGap<0?B.strokeWidth*4:B.hachureGap:B.dashOffset,A=B.dashGap<0?B.hachureGap<0?B.strokeWidth*4:B.hachureGap:B.dashGap,C=[];return u.forEach((D)=>{let F=AZ(D),U=Math.floor(F/(E+A)),z=(F+A-U*(E+A))/2,k=D[0],f=D[1];if(k[0]>f[0])k=D[1],f=D[0];let M=Math.atan((f[1]-k[1])/(f[0]-k[0]));for(let b=0;b<U;b++){let Z=b*(E+A),J=Z+E,K=[k[0]+Z*Math.cos(M)+z*Math.cos(M),k[1]+Z*Math.sin(M)+z*Math.sin(M)],w=[k[0]+J*Math.cos(M)+z*Math.cos(M),k[1]+J*Math.sin(M)+z*Math.sin(M)];C.push(...this.helper.doubleLineOps(K[0],K[1],w[0],w[1],B))}}),C}}var uUu=g(()=>{cL()});class Ak0{constructor(u){this.helper=u}fillPolygons(u,B){let E=B.hachureGap<0?B.strokeWidth*4:B.hachureGap,A=B.zigzagOffset<0?E:B.zigzagOffset;B=Object.assign({},B,{hachureGap:E+A});let C=OU(u,B);return{type:"fillSketch",ops:this.zigzagLines(C,A,B)}}zigzagLines(u,B,E){let A=[];return u.forEach((C)=>{let D=AZ(C),F=Math.round(D/(2*B)),U=C[0],z=C[1];if(U[0]>z[0])U=C[1],z=C[0];let k=Math.atan((z[1]-U[1])/(z[0]-U[0]));for(let f=0;f<F;f++){let M=f*2*B,b=(f+1)*2*B,Z=Math.sqrt(2*Math.pow(B,2)),J=[U[0]+M*Math.cos(k),U[1]+M*Math.sin(k)],K=[U[0]+b*Math.cos(k),U[1]+b*Math.sin(k)],w=[J[0]+Z*Math.cos(k+Math.PI/4),J[1]+Z*Math.sin(k+Math.PI/4)];A.push(...this.helper.doubleLineOps(J[0],J[1],w[0],w[1],E),...this.helper.doubleLineOps(w[0],w[1],K[0],K[1],E))}}),A}}var BUu=g(()=>{cL()});function EUu(u,B){let E=u.fillStyle||"hachure";if(!i8[E])switch(E){case"zigzag":if(!i8[E])i8[E]=new ez0(B);break;case"cross-hatch":if(!i8[E])i8[E]=new uk0(B);break;case"dots":if(!i8[E])i8[E]=new Bk0(B);break;case"dashed":if(!i8[E])i8[E]=new Ek0(B);break;case"zigzag-line":if(!i8[E])i8[E]=new Ak0(B);break;case"hachure":default:if(E="hachure",!i8[E])i8[E]=new QQ(B);break}return i8[E]}var i8;var AUu=g(()=>{L_();oFu();tFu();eFu();uUu();BUu();i8={}});function CUu(){return Math.floor(Math.random()*2147483648)}class dT{constructor(u){this.seed=u}next(){if(this.seed)return(2147483647&(this.seed=Math.imul(48271,this.seed)))/2147483648;else return Math.random()}}function X43(u){let B=[];while(u!=="")if(u.match(/^([ \t\r\n,]+)/))u=u.substr(RegExp.$1.length);else if(u.match(/^([aAcChHlLmMqQsStTvVzZ])/))B[B.length]={type:0,text:RegExp.$1},u=u.substr(RegExp.$1.length);else if(u.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))B[B.length]={type:1,text:`${parseFloat(RegExp.$1)}`},u=u.substr(RegExp.$1.length);else return[];return B[B.length]={type:2,text:""},B}function Ck0(u,B){return u.type===B}function _L(u){let B=[],E=X43(u),A="BOD",C=0,D=E[C];while(!Ck0(D,2)){let F=0,U=[];if(A==="BOD")if(D.text==="M"||D.text==="m")C++,F=X_[D.text],A=D.text;else return _L("M0,0"+u);else if(Ck0(D,1))F=X_[A];else C++,F=X_[D.text],A=D.text;if(C+F<E.length){for(let z=C;z<C+F;z++){let k=E[z];if(Ck0(k,1))U[U.length]=+k.text;else throw Error("Param not a number: "+A+","+k.text)}if(typeof X_[A]==="number"){let z={key:A,data:U};if(B.push(z),C+=F,D=E[C],A==="M")A="L";if(A==="m")A="l"}else throw Error("Bad segment: "+A)}else throw Error("Path data ended short")}return B}var X_;var DUu=g(()=>{X_={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0}});function sT(u){let B=0,E=0,A=0,C=0,D=[];for(let{key:F,data:U}of u)switch(F){case"M":D.push({key:"M",data:[...U]}),[B,E]=U,[A,C]=U;break;case"m":B+=U[0],E+=U[1],D.push({key:"M",data:[B,E]}),A=B,C=E;break;case"L":D.push({key:"L",data:[...U]}),[B,E]=U;break;case"l":B+=U[0],E+=U[1],D.push({key:"L",data:[B,E]});break;case"C":D.push({key:"C",data:[...U]}),B=U[4],E=U[5];break;case"c":{let z=U.map((k,f)=>f%2?k+E:k+B);D.push({key:"C",data:z}),B=z[4],E=z[5];break}case"Q":D.push({key:"Q",data:[...U]}),B=U[2],E=U[3];break;case"q":{let z=U.map((k,f)=>f%2?k+E:k+B);D.push({key:"Q",data:z}),B=z[2],E=z[3];break}case"A":D.push({key:"A",data:[...U]}),B=U[5],E=U[6];break;case"a":B+=U[5],E+=U[6],D.push({key:"A",data:[U[0],U[1],U[2],U[3],U[4],B,E]});break;case"H":D.push({key:"H",data:[...U]}),B=U[0];break;case"h":B+=U[0],D.push({key:"H",data:[B]});break;case"V":D.push({key:"V",data:[...U]}),E=U[0];break;case"v":E+=U[0],D.push({key:"V",data:[E]});break;case"S":D.push({key:"S",data:[...U]}),B=U[2],E=U[3];break;case"s":{let z=U.map((k,f)=>f%2?k+E:k+B);D.push({key:"S",data:z}),B=z[2],E=z[3];break}case"T":D.push({key:"T",data:[...U]}),B=U[0],E=U[1];break;case"t":B+=U[0],E+=U[1],D.push({key:"T",data:[B,E]});break;case"Z":case"z":D.push({key:"Z",data:[]}),B=A,E=C;break}return D}function tT(u){let B=[],E="",A=0,C=0,D=0,F=0,U=0,z=0;for(let{key:k,data:f}of u){switch(k){case"M":B.push({key:"M",data:[...f]}),[A,C]=f,[D,F]=f;break;case"C":B.push({key:"C",data:[...f]}),A=f[4],C=f[5],U=f[2],z=f[3];break;case"L":B.push({key:"L",data:[...f]}),[A,C]=f;break;case"H":A=f[0],B.push({key:"L",data:[A,C]});break;case"V":C=f[0],B.push({key:"L",data:[A,C]});break;case"S":{let M=0,b=0;if(E==="C"||E==="S")M=A+(A-U),b=C+(C-z);else M=A,b=C;B.push({key:"C",data:[M,b,...f]}),U=f[0],z=f[1],A=f[2],C=f[3];break}case"T":{let[M,b]=f,Z=0,J=0;if(E==="Q"||E==="T")Z=A+(A-U),J=C+(C-z);else Z=A,J=C;let K=A+2*(Z-A)/3,w=C+2*(J-C)/3,Q=M+2*(Z-M)/3,G=b+2*(J-b)/3;B.push({key:"C",data:[K,w,Q,G,M,b]}),U=Z,z=J,A=M,C=b;break}case"Q":{let[M,b,Z,J]=f,K=A+2*(M-A)/3,w=C+2*(b-C)/3,Q=Z+2*(M-Z)/3,G=J+2*(b-J)/3;B.push({key:"C",data:[K,w,Q,G,Z,J]}),U=M,z=b,A=Z,C=J;break}case"A":{let M=Math.abs(f[0]),b=Math.abs(f[1]),Z=f[2],J=f[3],K=f[4],w=f[5],Q=f[6];if(M===0||b===0)B.push({key:"C",data:[A,C,w,Q,w,Q]}),A=w,C=Q;else if(A!==w||C!==Q)FUu(A,C,w,Q,M,b,Z,J,K).forEach(function(H){B.push({key:"C",data:H})}),A=w,C=Q;break}case"Z":B.push({key:"Z",data:[]}),A=D,C=F;break}E=k}return B}function v43(u){return Math.PI*u/180}function oT(u,B,E){let A=u*Math.cos(E)-B*Math.sin(E),C=u*Math.sin(E)+B*Math.cos(E);return[A,C]}function FUu(u,B,E,A,C,D,F,U,z,k){let f=v43(F),M=[],b=0,Z=0,J=0,K=0;if(k)[b,Z,J,K]=k;else{[u,B]=oT(u,B,-f),[E,A]=oT(E,A,-f);let R=(u-E)/2,Y=(B-A)/2,h=R*R/(C*C)+Y*Y/(D*D);if(h>1)h=Math.sqrt(h),C=h*C,D=h*D;let I=U===z?-1:1,O=C*C,V=D*D,j=O*V-O*Y*Y-V*R*R,i=O*Y*Y+V*R*R,a=I*Math.sqrt(Math.abs(j/i));if(J=a*C*Y/D+(u+E)/2,K=a*-D*R/C+(B+A)/2,b=Math.asin(parseFloat(((B-K)/D).toFixed(9))),Z=Math.asin(parseFloat(((A-K)/D).toFixed(9))),u<J)b=Math.PI-b;if(E<J)Z=Math.PI-Z;if(b<0)b=Math.PI*2+b;if(Z<0)Z=Math.PI*2+Z;if(z&&b>Z)b=b-Math.PI*2;if(!z&&Z>b)Z=Z-Math.PI*2}let w=Z-b;if(Math.abs(w)>Math.PI*120/180){let R=Z,Y=E,h=A;if(z&&Z>b)Z=b+Math.PI*120/180*1;else Z=b+Math.PI*120/180*-1;E=J+C*Math.cos(Z),A=K+D*Math.sin(Z),M=FUu(E,A,Y,h,C,D,F,0,z,[Z,R,J,K])}w=Z-b;let Q=Math.cos(b),G=Math.sin(b),H=Math.cos(Z),l=Math.sin(Z),q=Math.tan(w/4),L=1.3333333333333333*C*q,v=1.3333333333333333*D*q,x=[u,B],S=[u+L*G,B-v*Q],W=[E+L*l,A-v*H],T=[E,A];if(S[0]=2*x[0]-S[0],S[1]=2*x[1]-S[1],k)return[S,W,T].concat(M);else{M=[S,W,T].concat(M);let R=[];for(let Y=0;Y<M.length;Y+=3){let h=oT(M[Y][0],M[Y][1],f),I=oT(M[Y+1][0],M[Y+1][1],f),O=oT(M[Y+2][0],M[Y+2][1],f);R.push([h[0],h[1],I[0],I[1],O[0],O[1]])}return R}}var Dk0=g(()=>{DUu()});function Fk0(u,B,E,A,C){return{type:"path",ops:ek(u,B,E,A,C)}}function eT(u,B,E){let A=(u||[]).length;if(A>2){let C=[];for(let D=0;D<A-1;D++)C.push(...ek(u[D][0],u[D][1],u[D+1][0],u[D+1][1],E));if(B)C.push(...ek(u[A-1][0],u[A-1][1],u[0][0],u[0][1],E));return{type:"path",ops:C}}else if(A===2)return Fk0(u[0][0],u[0][1],u[1][0],u[1][1],E);return{type:"path",ops:[]}}function W43(u,B){return eT(u,!0,B)}function MUu(u,B,E,A,C){let D=[[u,B],[u+E,B],[u+E,B+A],[u,B+A]];return W43(D,C)}function Uk0(u,B){let E=zUu(u,1*(1+B.roughness*0.2),B);if(!B.disableMultiStroke){let A=zUu(u,1.5*(1+B.roughness*0.22),O43(B));E=E.concat(A)}return{type:"path",ops:E}}function S43(u,B,E,A,C){let D=zk0(E,A,C);return W_(u,B,C,D).opset}function zk0(u,B,E){let A=Math.sqrt(Math.PI*2*Math.sqrt((Math.pow(u/2,2)+Math.pow(B/2,2))/2)),C=Math.ceil(Math.max(E.curveStepCount,E.curveStepCount/Math.sqrt(200)*A)),D=Math.PI*2/C,F=Math.abs(u/2),U=Math.abs(B/2),z=1-E.curveFitting;return F+=K3(F*z,E),U+=K3(U*z,E),{increment:D,rx:F,ry:U}}function W_(u,B,E,A){let[C,D]=kUu(A.increment,u,B,A.rx,A.ry,1,A.increment*v_(0.1,v_(0.4,1,E),E),E),F=x_(C,null,E);if(!E.disableMultiStroke&&E.roughness!==0){let[U]=kUu(A.increment,u,B,A.rx,A.ry,1.5,0,E),z=x_(U,null,E);F=F.concat(z)}return{estimatedPoints:D,opset:{type:"path",ops:F}}}function kk0(u,B,E,A,C,D,F,U,z){let k=u,f=B,M=Math.abs(E/2),b=Math.abs(A/2);M+=K3(M*0.01,z),b+=K3(b*0.01,z);let Z=C,J=D;while(Z<0)Z+=Math.PI*2,J+=Math.PI*2;if(J-Z>Math.PI*2)Z=0,J=Math.PI*2;let K=Math.PI*2/z.curveStepCount,w=Math.min(K/2,(J-Z)/2),Q=fUu(w,k,f,M,b,Z,J,1,z);if(!z.disableMultiStroke){let G=fUu(w,k,f,M,b,Z,J,1.5,z);Q.push(...G)}if(F)if(U)Q.push(...ek(k,f,k+M*Math.cos(Z),f+b*Math.sin(Z),z),...ek(k,f,k+M*Math.cos(J),f+b*Math.sin(J),z));else Q.push({op:"lineTo",data:[k,f]},{op:"lineTo",data:[k+M*Math.cos(Z),f+b*Math.sin(Z)]});return{type:"path",ops:Q}}function fk0(u,B){let E=tT(sT(_L(u))),A=[],C=[0,0],D=[0,0];for(let{key:F,data:U}of E)switch(F){case"M":{D=[U[0],U[1]],C=[U[0],U[1]];break}case"L":A.push(...ek(D[0],D[1],U[0],U[1],B)),D=[U[0],U[1]];break;case"C":{let[z,k,f,M,b,Z]=U;A.push(...I43(z,k,f,M,b,Z,D,B)),D=[b,Z];break}case"Z":A.push(...ek(D[0],D[1],C[0],C[1],B)),D=[C[0],C[1]];break}return{type:"path",ops:A}}function S_(u,B){let E=[];for(let A of u)if(A.length){let C=B.maxRandomnessOffset||0,D=A.length;if(D>2){E.push({op:"move",data:[A[0][0]+K3(C,B),A[0][1]+K3(C,B)]});for(let F=1;F<D;F++)E.push({op:"lineTo",data:[A[F][0]+K3(C,B),A[F][1]+K3(C,B)]})}}return{type:"fillPath",ops:E}}function GQ(u,B){return EUu(B,x43).fillPolygons(u,B)}function bUu(u,B,E,A,C,D,F){let U=u,z=B,k=Math.abs(E/2),f=Math.abs(A/2);k+=K3(k*0.01,F),f+=K3(f*0.01,F);let M=C,b=D;while(M<0)M+=Math.PI*2,b+=Math.PI*2;if(b-M>Math.PI*2)M=0,b=Math.PI*2;let Z=(b-M)/F.curveStepCount,J=[];for(let K=M;K<=b;K=K+Z)J.push([U+k*Math.cos(K),z+f*Math.sin(K)]);return J.push([U+k*Math.cos(b),z+f*Math.sin(b)]),J.push([U,z]),GQ([J],F)}function Y43(u,B){return K3(u,B)}function R43(u,B,E){return v_(u,B,E)}function T43(u,B,E,A,C){return ek(u,B,E,A,C,!0)}function O43(u){let B=Object.assign({},u);if(B.randomizer=void 0,u.seed)B.seed=u.seed+1;return B}function ZUu(u){if(!u.randomizer)u.randomizer=new dT(u.seed||0);return u.randomizer.next()}function v_(u,B,E,A=1){return E.roughness*A*(ZUu(E)*(B-u)+u)}function K3(u,B,E=1){return v_(-u,u,B,E)}function ek(u,B,E,A,C,D=!1){let F=D?C.disableMultiStrokeFill:C.disableMultiStroke,U=UUu(u,B,E,A,C,!0,!1);if(F)return U;let z=UUu(u,B,E,A,C,!0,!0);return U.concat(z)}function UUu(u,B,E,A,C,D,F){let U=Math.pow(u-E,2)+Math.pow(B-A,2),z=Math.sqrt(U),k=1;if(z<200)k=1;else if(z>500)k=0.4;else k=-0.0016668*z+1.233334;let f=C.maxRandomnessOffset||0;if(f*f*100>U)f=z/10;let M=f/2,b=0.2+ZUu(C)*0.2,Z=C.bowing*C.maxRandomnessOffset*(A-B)/200,J=C.bowing*C.maxRandomnessOffset*(u-E)/200;Z=K3(Z,C,k),J=K3(J,C,k);let K=[],w=()=>K3(M,C,k),Q=()=>K3(f,C,k),G=C.preserveVertices;if(D)if(F)K.push({op:"move",data:[u+(G?0:w()),B+(G?0:w())]});else K.push({op:"move",data:[u+(G?0:K3(f,C,k)),B+(G?0:K3(f,C,k))]});if(F)K.push({op:"bcurveTo",data:[Z+u+(E-u)*b+w(),J+B+(A-B)*b+w(),Z+u+2*(E-u)*b+w(),J+B+2*(A-B)*b+w(),E+(G?0:w()),A+(G?0:w())]});else K.push({op:"bcurveTo",data:[Z+u+(E-u)*b+Q(),J+B+(A-B)*b+Q(),Z+u+2*(E-u)*b+Q(),J+B+2*(A-B)*b+Q(),E+(G?0:Q()),A+(G?0:Q())]});return K}function zUu(u,B,E){let A=[];A.push([u[0][0]+K3(B,E),u[0][1]+K3(B,E)]),A.push([u[0][0]+K3(B,E),u[0][1]+K3(B,E)]);for(let C=1;C<u.length;C++)if(A.push([u[C][0]+K3(B,E),u[C][1]+K3(B,E)]),C===u.length-1)A.push([u[C][0]+K3(B,E),u[C][1]+K3(B,E)]);return x_(A,null,E)}function x_(u,B,E){let A=u.length,C=[];if(A>3){let D=[],F=1-E.curveTightness;C.push({op:"move",data:[u[1][0],u[1][1]]});for(let U=1;U+2<A;U++){let z=u[U];D[0]=[z[0],z[1]],D[1]=[z[0]+(F*u[U+1][0]-F*u[U-1][0])/6,z[1]+(F*u[U+1][1]-F*u[U-1][1])/6],D[2]=[u[U+1][0]+(F*u[U][0]-F*u[U+2][0])/6,u[U+1][1]+(F*u[U][1]-F*u[U+2][1])/6],D[3]=[u[U+1][0],u[U+1][1]],C.push({op:"bcurveTo",data:[D[1][0],D[1][1],D[2][0],D[2][1],D[3][0],D[3][1]]})}if(B&&B.length===2){let U=E.maxRandomnessOffset;C.push({op:"lineTo",data:[B[0]+K3(U,E),B[1]+K3(U,E)]})}}else if(A===3)C.push({op:"move",data:[u[1][0],u[1][1]]}),C.push({op:"bcurveTo",data:[u[1][0],u[1][1],u[2][0],u[2][1],u[2][0],u[2][1]]});else if(A===2)C.push(...ek(u[0][0],u[0][1],u[1][0],u[1][1],E));return C}function kUu(u,B,E,A,C,D,F,U){let z=U.roughness===0,k=[],f=[];if(z){u=u/4,f.push([B+A*Math.cos(-u),E+C*Math.sin(-u)]);for(let M=0;M<=Math.PI*2;M=M+u){let b=[B+A*Math.cos(M),E+C*Math.sin(M)];k.push(b),f.push(b)}f.push([B+A*Math.cos(0),E+C*Math.sin(0)]),f.push([B+A*Math.cos(u),E+C*Math.sin(u)])}else{let M=K3(0.5,U)-Math.PI/2;f.push([K3(D,U)+B+0.9*A*Math.cos(M-u),K3(D,U)+E+0.9*C*Math.sin(M-u)]);let b=Math.PI*2+M-0.01;for(let Z=M;Z<b;Z=Z+u){let J=[K3(D,U)+B+A*Math.cos(Z),K3(D,U)+E+C*Math.sin(Z)];k.push(J),f.push(J)}f.push([K3(D,U)+B+A*Math.cos(M+Math.PI*2+F*0.5),K3(D,U)+E+C*Math.sin(M+Math.PI*2+F*0.5)]),f.push([K3(D,U)+B+0.98*A*Math.cos(M+F),K3(D,U)+E+0.98*C*Math.sin(M+F)]),f.push([K3(D,U)+B+0.9*A*Math.cos(M+F*0.5),K3(D,U)+E+0.9*C*Math.sin(M+F*0.5)])}return[f,k]}function fUu(u,B,E,A,C,D,F,U,z){let k=D+K3(0.1,z),f=[];f.push([K3(U,z)+B+0.9*A*Math.cos(k-u),K3(U,z)+E+0.9*C*Math.sin(k-u)]);for(let M=k;M<=F;M=M+u)f.push([K3(U,z)+B+A*Math.cos(M),K3(U,z)+E+C*Math.sin(M)]);return f.push([B+A*Math.cos(F),E+C*Math.sin(F)]),f.push([B+A*Math.cos(F),E+C*Math.sin(F)]),x_(f,null,z)}function I43(u,B,E,A,C,D,F,U){let z=[],k=[U.maxRandomnessOffset||1,(U.maxRandomnessOffset||1)+0.3],f=[0,0],M=U.disableMultiStroke?1:2,b=U.preserveVertices;for(let Z=0;Z<M;Z++){if(Z===0)z.push({op:"move",data:[F[0],F[1]]});else z.push({op:"move",data:[F[0]+(b?0:K3(k[0],U)),F[1]+(b?0:K3(k[0],U))]});f=b?[C,D]:[C+K3(k[Z],U),D+K3(k[Z],U)],z.push({op:"bcurveTo",data:[u+K3(k[Z],U),B+K3(k[Z],U),E+K3(k[Z],U),A+K3(k[Z],U),f[0],f[1]]})}return z}var x43;var JUu=g(()=>{AUu();Dk0();x43={randOffset:Y43,randOffsetWithRange:R43,ellipse:S43,doubleLineOps:T43}});function uO(u){return[...u]}function KUu(u,B=0){let E=u.length;if(E<3)throw Error("A curve must have at least three points.");let A=[];if(E===3)A.push(uO(u[0]),uO(u[1]),uO(u[2]),uO(u[2]));else{let C=[];C.push(u[0],u[0]);for(let U=1;U<u.length;U++)if(C.push(u[U]),U===u.length-1)C.push(u[U]);let D=[],F=1-B;A.push(uO(C[0]));for(let U=1;U+2<C.length;U++){let z=C[U];D[0]=[z[0],z[1]],D[1]=[z[0]+(F*C[U+1][0]-F*C[U-1][0])/6,z[1]+(F*C[U+1][1]-F*C[U-1][1])/6],D[2]=[C[U+1][0]+(F*C[U][0]-F*C[U+2][0])/6,C[U+1][1]+(F*C[U][1]-F*C[U+2][1])/6],D[3]=[C[U+1][0],C[U+1][1]],A.push(D[1],D[2],D[3])}}return A}function P43(u,B){return Math.sqrt(Y_(u,B))}function Y_(u,B){return Math.pow(u[0]-B[0],2)+Math.pow(u[1]-B[1],2)}function j43(u,B,E){let A=Y_(B,E);if(A===0)return Y_(u,B);let C=((u[0]-B[0])*(E[0]-B[0])+(u[1]-B[1])*(E[1]-B[1]))/A;return C=Math.max(0,Math.min(1,C)),Y_(u,HQ(B,E,C))}function HQ(u,B,E){return[u[0]+(B[0]-u[0])*E,u[1]+(B[1]-u[1])*E]}function N43(u,B){let E=u[B+0],A=u[B+1],C=u[B+2],D=u[B+3],F=3*A[0]-2*E[0]-D[0];F*=F;let U=3*A[1]-2*E[1]-D[1];U*=U;let z=3*C[0]-2*D[0]-E[0];z*=z;let k=3*C[1]-2*D[1]-E[1];if(k*=k,F<z)F=z;if(U<k)U=k;return F+U}function Mk0(u,B,E,A){let C=A||[];if(N43(u,B)<E){let D=u[B+0];if(C.length){if(P43(C[C.length-1],D)>1)C.push(D)}else C.push(D);C.push(u[B+3])}else{let F=u[B+0],U=u[B+1],z=u[B+2],k=u[B+3],f=HQ(F,U,0.5),M=HQ(U,z,0.5),b=HQ(z,k,0.5),Z=HQ(f,M,0.5),J=HQ(M,b,0.5),K=HQ(Z,J,0.5);Mk0([F,f,Z,K],0,E,C),Mk0([K,J,b,k],0,E,C)}return C}function bk0(u,B,E,A,C){let D=C||[],F=u[B],U=u[E-1],z=0,k=1;for(let f=B+1;f<E-1;++f){let M=j43(u[f],F,U);if(M>z)z=M,k=f}if(Math.sqrt(z)>A)bk0(u,B,k+1,A,D),bk0(u,k,E,A,D);else{if(!D.length)D.push(F);D.push(U)}return D}function wUu(u,B=0.15,E){let A=[],C=(u.length-1)/3;for(let D=0;D<C;D++){let F=D*3;Mk0(u,F,B,A)}if(E&&E>0)return bk0(A,0,A.length,E);return A}function V43(u,B){return Math.sqrt(R_(u,B))}function R_(u,B){return Math.pow(u[0]-B[0],2)+Math.pow(u[1]-B[1],2)}function h43(u,B,E){let A=R_(B,E);if(A===0)return R_(u,B);let C=((u[0]-B[0])*(E[0]-B[0])+(u[1]-B[1])*(E[1]-B[1]))/A;return C=Math.max(0,Math.min(1,C)),R_(u,qQ(B,E,C))}function qQ(u,B,E){return[u[0]+(B[0]-u[0])*E,u[1]+(B[1]-u[1])*E]}function i43(u,B){let E=u[B+0],A=u[B+1],C=u[B+2],D=u[B+3],F=3*A[0]-2*E[0]-D[0];F*=F;let U=3*A[1]-2*E[1]-D[1];U*=U;let z=3*C[0]-2*D[0]-E[0];z*=z;let k=3*C[1]-2*D[1]-E[1];if(k*=k,F<z)F=z;if(U<k)U=k;return F+U}function Zk0(u,B,E,A){let C=A||[];if(i43(u,B)<E){let D=u[B+0];if(C.length){if(V43(C[C.length-1],D)>1)C.push(D)}else C.push(D);C.push(u[B+3])}else{let F=u[B+0],U=u[B+1],z=u[B+2],k=u[B+3],f=qQ(F,U,0.5),M=qQ(U,z,0.5),b=qQ(z,k,0.5),Z=qQ(f,M,0.5),J=qQ(M,b,0.5),K=qQ(Z,J,0.5);Zk0([F,f,Z,K],0,E,C),Zk0([K,J,b,k],0,E,C)}return C}function QUu(u,B){return T_(u,0,u.length,B)}function T_(u,B,E,A,C){let D=C||[],F=u[B],U=u[E-1],z=0,k=1;for(let f=B+1;f<E-1;++f){let M=h43(u[f],F,U);if(M>z)z=M,k=f}if(Math.sqrt(z)>A)T_(u,B,k+1,A,D),T_(u,k,E,A,D);else{if(!D.length)D.push(F);D.push(U)}return D}function GUu(u,B=0.15,E){let A=[],C=(u.length-1)/3;for(let D=0;D<C;D++){let F=D*3;Zk0(u,F,B,A)}if(E&&E>0)return T_(A,0,A.length,E);return A}function HUu(u,B,E){let A=_L(u),C=tT(sT(A)),D=[],F=[],U=[0,0],z=[],k=()=>{if(z.length>=4)F.push(...GUu(z,B));z=[]},f=()=>{if(k(),F.length)D.push(F),F=[]};for(let{key:b,data:Z}of C)switch(b){case"M":f(),U=[Z[0],Z[1]],F.push(U);break;case"L":k(),F.push([Z[0],Z[1]]);break;case"C":if(!z.length){let J=F.length?F[F.length-1]:U;z.push([J[0],J[1]])}z.push([Z[0],Z[1]]),z.push([Z[2],Z[3]]),z.push([Z[4],Z[5]]);break;case"Z":k(),F.push([U[0],U[1]]);break}if(f(),!E)return D;let M=[];for(let b of D){let Z=QUu(b,E);if(Z.length)M.push(Z)}return M}var qUu=g(()=>{Dk0()});class IU{constructor(u){if(this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:0.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:0.8},this.config=u||{},this.config.options)this.defaultOptions=this._o(this.config.options)}static newSeed(){return CUu()}_o(u){return u?Object.assign({},this.defaultOptions,u):this.defaultOptions}_d(u,B,E){return{shape:u,sets:B||[],options:E||this.defaultOptions}}line(u,B,E,A,C){let D=this._o(C);return this._d("line",[Fk0(u,B,E,A,D)],D)}rectangle(u,B,E,A,C){let D=this._o(C),F=[],U=MUu(u,B,E,A,D);if(D.fill){let z=[[u,B],[u+E,B],[u+E,B+A],[u,B+A]];if(D.fillStyle==="solid")F.push(S_([z],D));else F.push(GQ([z],D))}if(D.stroke!==IE)F.push(U);return this._d("rectangle",F,D)}ellipse(u,B,E,A,C){let D=this._o(C),F=[],U=zk0(E,A,D),z=W_(u,B,D,U);if(D.fill)if(D.fillStyle==="solid"){let k=W_(u,B,D,U).opset;k.type="fillPath",F.push(k)}else F.push(GQ([z.estimatedPoints],D));if(D.stroke!==IE)F.push(z.opset);return this._d("ellipse",F,D)}circle(u,B,E,A){let C=this.ellipse(u,B,E,E,A);return C.shape="circle",C}linearPath(u,B){let E=this._o(B);return this._d("linearPath",[eT(u,!1,E)],E)}arc(u,B,E,A,C,D,F=!1,U){let z=this._o(U),k=[],f=kk0(u,B,E,A,C,D,F,!0,z);if(F&&z.fill)if(z.fillStyle==="solid"){let M=Object.assign({},z);M.disableMultiStroke=!0;let b=kk0(u,B,E,A,C,D,!0,!1,M);b.type="fillPath",k.push(b)}else k.push(bUu(u,B,E,A,C,D,z));if(z.stroke!==IE)k.push(f);return this._d("arc",k,z)}curve(u,B){let E=this._o(B),A=[],C=Uk0(u,E);if(E.fill&&E.fill!==IE&&u.length>=3)if(E.fillStyle==="solid"){let D=Uk0(u,Object.assign(Object.assign({},E),{disableMultiStroke:!0,roughness:E.roughness?E.roughness+E.fillShapeRoughnessGain:0}));A.push({type:"fillPath",ops:this._mergedShape(D.ops)})}else{let D=KUu(u),F=wUu(D,10,(1+E.roughness)/2);A.push(GQ([F],E))}if(E.stroke!==IE)A.push(C);return this._d("curve",A,E)}polygon(u,B){let E=this._o(B),A=[],C=eT(u,!0,E);if(E.fill)if(E.fillStyle==="solid")A.push(S_([u],E));else A.push(GQ([u],E));if(E.stroke!==IE)A.push(C);return this._d("polygon",A,E)}path(u,B){let E=this._o(B),A=[];if(!u)return this._d("path",A,E);u=(u||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let C=E.fill&&E.fill!=="transparent"&&E.fill!==IE,D=E.stroke!==IE,F=!!(E.simplification&&E.simplification<1),U=F?4-4*(E.simplification||1):(1+E.roughness)/2,z=HUu(u,1,U),k=fk0(u,E);if(C)if(E.fillStyle==="solid")if(z.length===1){let f=fk0(u,Object.assign(Object.assign({},E),{disableMultiStroke:!0,roughness:E.roughness?E.roughness+E.fillShapeRoughnessGain:0}));A.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else A.push(S_(z,E));else A.push(GQ(z,E));if(D)if(F)z.forEach((f)=>{A.push(eT(f,!1,E))});else A.push(k);return this._d("path",A,E)}opsToPath(u,B){let E="";for(let A of u.ops){let C=typeof B==="number"&&B>=0?A.data.map((D)=>+D.toFixed(B)):A.data;switch(A.op){case"move":E+=`M${C[0]} ${C[1]} `;break;case"bcurveTo":E+=`C${C[0]} ${C[1]}, ${C[2]} ${C[3]}, ${C[4]} ${C[5]} `;break;case"lineTo":E+=`L${C[0]} ${C[1]} `;break}}return E.trim()}toPaths(u){let B=u.sets||[],E=u.options||this.defaultOptions,A=[];for(let C of B){let D=null;switch(C.type){case"path":D={d:this.opsToPath(C),stroke:E.stroke,strokeWidth:E.strokeWidth,fill:IE};break;case"fillPath":D={d:this.opsToPath(C),stroke:IE,strokeWidth:0,fill:E.fill||IE};break;case"fillSketch":D=this.fillSketch(C,E);break}if(D)A.push(D)}return A}fillSketch(u,B){let E=B.fillWeight;if(E<0)E=B.strokeWidth/2;return{d:this.opsToPath(u),stroke:B.fill||IE,strokeWidth:E,fill:IE}}_mergedShape(u){return u.filter((B,E)=>{if(E===0)return!0;if(B.op==="move")return!1;return!0})}}var IE="none";var BO=g(()=>{JUu();qUu()});class Jk0{constructor(u,B){this.canvas=u,this.ctx=this.canvas.getContext("2d"),this.gen=new IU(B)}draw(u){let B=u.sets||[],E=u.options||this.getDefaultOptions(),A=this.ctx,C=u.options.fixedDecimalPlaceDigits;for(let D of B)switch(D.type){case"path":if(A.save(),A.strokeStyle=E.stroke==="none"?"transparent":E.stroke,A.lineWidth=E.strokeWidth,E.strokeLineDash)A.setLineDash(E.strokeLineDash);if(E.strokeLineDashOffset)A.lineDashOffset=E.strokeLineDashOffset;this._drawToContext(A,D,C),A.restore();break;case"fillPath":{A.save(),A.fillStyle=E.fill||"";let F=u.shape==="curve"||u.shape==="polygon"||u.shape==="path"?"evenodd":"nonzero";this._drawToContext(A,D,C,F),A.restore();break}case"fillSketch":this.fillSketch(A,D,E);break}}fillSketch(u,B,E){let A=E.fillWeight;if(A<0)A=E.strokeWidth/2;if(u.save(),E.fillLineDash)u.setLineDash(E.fillLineDash);if(E.fillLineDashOffset)u.lineDashOffset=E.fillLineDashOffset;u.strokeStyle=E.fill||"",u.lineWidth=A,this._drawToContext(u,B,E.fixedDecimalPlaceDigits),u.restore()}_drawToContext(u,B,E,A="nonzero"){u.beginPath();for(let C of B.ops){let D=typeof E==="number"&&E>=0?C.data.map((F)=>+F.toFixed(E)):C.data;switch(C.op){case"move":u.moveTo(D[0],D[1]);break;case"bcurveTo":u.bezierCurveTo(D[0],D[1],D[2],D[3],D[4],D[5]);break;case"lineTo":u.lineTo(D[0],D[1]);break}}if(B.type==="fillPath")u.fill(A);else u.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(u,B,E,A,C){let D=this.gen.line(u,B,E,A,C);return this.draw(D),D}rectangle(u,B,E,A,C){let D=this.gen.rectangle(u,B,E,A,C);return this.draw(D),D}ellipse(u,B,E,A,C){let D=this.gen.ellipse(u,B,E,A,C);return this.draw(D),D}circle(u,B,E,A){let C=this.gen.circle(u,B,E,A);return this.draw(C),C}linearPath(u,B){let E=this.gen.linearPath(u,B);return this.draw(E),E}polygon(u,B){let E=this.gen.polygon(u,B);return this.draw(E),E}arc(u,B,E,A,C,D,F=!1,U){let z=this.gen.arc(u,B,E,A,C,D,F,U);return this.draw(z),z}curve(u,B){let E=this.gen.curve(u,B);return this.draw(E),E}path(u,B){let E=this.gen.path(u,B);return this.draw(E),E}}var lUu=g(()=>{BO()});var EO="http://www.w3.org/2000/svg";class Kk0{constructor(u,B){this.svg=u,this.gen=new IU(B)}draw(u){let B=u.sets||[],E=u.options||this.getDefaultOptions(),A=this.svg.ownerDocument||window.document,C=A.createElementNS(EO,"g"),D=u.options.fixedDecimalPlaceDigits;for(let F of B){let U=null;switch(F.type){case"path":{if(U=A.createElementNS(EO,"path"),U.setAttribute("d",this.opsToPath(F,D)),U.setAttribute("stroke",E.stroke),U.setAttribute("stroke-width",E.strokeWidth+""),U.setAttribute("fill","none"),E.strokeLineDash)U.setAttribute("stroke-dasharray",E.strokeLineDash.join(" ").trim());if(E.strokeLineDashOffset)U.setAttribute("stroke-dashoffset",`${E.strokeLineDashOffset}`);break}case"fillPath":{if(U=A.createElementNS(EO,"path"),U.setAttribute("d",this.opsToPath(F,D)),U.setAttribute("stroke","none"),U.setAttribute("stroke-width","0"),U.setAttribute("fill",E.fill||""),u.shape==="curve"||u.shape==="polygon")U.setAttribute("fill-rule","evenodd");break}case"fillSketch":{U=this.fillSketch(A,F,E);break}}if(U)C.appendChild(U)}return C}fillSketch(u,B,E){let A=E.fillWeight;if(A<0)A=E.strokeWidth/2;let C=u.createElementNS(EO,"path");if(C.setAttribute("d",this.opsToPath(B,E.fixedDecimalPlaceDigits)),C.setAttribute("stroke",E.fill||""),C.setAttribute("stroke-width",A+""),C.setAttribute("fill","none"),E.fillLineDash)C.setAttribute("stroke-dasharray",E.fillLineDash.join(" ").trim());if(E.fillLineDashOffset)C.setAttribute("stroke-dashoffset",`${E.fillLineDashOffset}`);return C}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(u,B){return this.gen.opsToPath(u,B)}line(u,B,E,A,C){let D=this.gen.line(u,B,E,A,C);return this.draw(D)}rectangle(u,B,E,A,C){let D=this.gen.rectangle(u,B,E,A,C);return this.draw(D)}ellipse(u,B,E,A,C){let D=this.gen.ellipse(u,B,E,A,C);return this.draw(D)}circle(u,B,E,A){let C=this.gen.circle(u,B,E,A);return this.draw(C)}linearPath(u,B){let E=this.gen.linearPath(u,B);return this.draw(E)}polygon(u,B){let E=this.gen.polygon(u,B);return this.draw(E)}arc(u,B,E,A,C,D,F=!1,U){let z=this.gen.arc(u,B,E,A,C,D,F,U);return this.draw(z)}curve(u,B){let E=this.gen.curve(u,B);return this.draw(E)}path(u,B){let E=this.gen.path(u,B);return this.draw(E)}}var LUu=g(()=>{BO()});var NA;var AO=g(()=>{lUu();BO();LUu();NA={canvas(u,B){return new Jk0(u,B)},svg(u,B){return new Kk0(u,B)},generator(u){return new IU(u)},newSeed(){return IU.newSeed()}}});function XUu(u,B,E,A=(C)=>C){return u*A(0.5-B*(0.5-E))}function a43(u){return[-u[0],-u[1]]}function zD(u,B){return[u[0]+B[0],u[1]+B[1]]}function VA(u,B){return[u[0]-B[0],u[1]-B[1]]}function UD(u,B){return[u[0]*B,u[1]*B]}function m43(u,B){return[u[0]/B,u[1]/B]}function CO(u){return[u[1],-u[0]]}function vUu(u,B){return u[0]*B[0]+u[1]*B[1]}function $43(u,B){return u[0]===B[0]&&u[1]===B[1]}function y43(u){return Math.hypot(u[0],u[1])}function r43(u){return u[0]*u[0]+u[1]*u[1]}function xUu(u,B){return r43(VA(u,B))}function YUu(u){return m43(u,y43(u))}function g43(u,B){return Math.hypot(u[1]-B[1],u[0]-B[0])}function DO(u,B,E){let A=Math.sin(E),C=Math.cos(E),D=u[0]-B[0],F=u[1]-B[1],U=D*C-F*A,z=D*A+F*C;return[U+B[0],z+B[1]]}function wk0(u,B,E){return zD(u,UD(VA(B,u),E))}function WUu(u,B,E){return zD(u,UD(B,E))}function _43(u,B={}){let{size:E=16,smoothing:A=0.5,thinning:C=0.5,simulatePressure:D=!0,easing:F=(V)=>V,start:U={},end:z={},last:k=!1}=B,{cap:f=!0,easing:M=(V)=>V*(2-V)}=U,{cap:b=!0,easing:Z=(V)=>--V*V*V+1}=z;if(u.length===0||E<=0)return[];let J=u[u.length-1].runningLength,K=U.taper===!1?0:U.taper===!0?Math.max(E,J):U.taper,w=z.taper===!1?0:z.taper===!0?Math.max(E,J):z.taper,Q=Math.pow(E*A,2),G=[],H=[],l=u.slice(0,10).reduce((V,j)=>{let i=j.pressure;if(D){let a=pL(1,j.distance/E),$=pL(1,1-a);i=pL(1,V+($-V)*(a*SUu))}return(V+i)/2},u[0].pressure),q=XUu(E,C,u[u.length-1].pressure,F),L,v=u[0].vector,x=u[0].point,S=x,W=x,T=S,R=!1;for(let V=0;V<u.length;V++){let{pressure:j}=u[V],{point:i,vector:a,distance:$,runningLength:m}=u[V];if(V<u.length-1&&J-m<3)continue;if(C){if(D){let k0=pL(1,$/E),f0=pL(1,1-k0);j=pL(1,l+(f0-l)*(k0*SUu))}q=XUu(E,C,j,F)}else q=E/2;L===void 0&&(L=q);let y=m<K?M(m/K):1,r=J-m<w?Z((J-m)/w):1;q=Math.max(0.01,q*Math.min(y,r));let _=(V<u.length-1?u[V+1]:u[V]).vector,e=V<u.length-1?vUu(a,_):1,p=vUu(a,v)<0&&!R,b0=e!==null&&e<0;if(p||b0){let k0=UD(CO(v),q);for(let f0=0.07692307692307693,D0=0;D0<=1;D0+=f0)W=DO(VA(i,k0),i,FO*D0),G.push(W),T=DO(zD(i,k0),i,FO*-D0),H.push(T);x=W,S=T,b0&&(R=!0);continue}if(R=!1,V===u.length-1){let k0=UD(CO(a),q);G.push(VA(i,k0)),H.push(zD(i,k0));continue}let B0=UD(CO(wk0(_,a,e)),q);W=VA(i,B0),(V<=1||xUu(x,W)>Q)&&(G.push(W),x=W),T=zD(i,B0),(V<=1||xUu(S,T)>Q)&&(H.push(T),S=T),l=j,v=a}let Y=u[0].point.slice(0,2),h=u.length>1?u[u.length-1].point.slice(0,2):zD(u[0].point,[1,1]),I=[],O=[];if(u.length===1){if(!(K||w)||k){let V=WUu(Y,YUu(CO(VA(Y,h))),-(L||q)),j=[];for(let i=0.07692307692307693,a=i;a<=1;a+=i)j.push(DO(V,Y,FO*2*a));return j}}else{if(!(K||w&&u.length===1))if(f)for(let j=0.07692307692307693,i=j;i<=1;i+=j){let a=DO(H[0],Y,FO*i);I.push(a)}else{let j=VA(G[0],H[0]),i=UD(j,0.5),a=UD(j,0.51);I.push(VA(Y,i),VA(Y,a),zD(Y,a),zD(Y,i))}let V=CO(a43(u[u.length-1].vector));if(w||K&&u.length===1)O.push(h);else if(b){let j=WUu(h,V,q);for(let i=0.034482758620689655,a=i;a<1;a+=i)O.push(DO(j,h,FO*3*a))}else O.push(zD(h,UD(V,q)),zD(h,UD(V,q*0.99)),VA(h,UD(V,q*0.99)),VA(h,UD(V,q)))}return G.concat(O,H.reverse(),I)}function p43(u,B={}){var E;let{streamline:A=0.5,size:C=16,last:D=!1}=B;if(u.length===0)return[];let F=0.15+(1-A)*0.85,U=Array.isArray(u[0])?u:u.map(({x:Z,y:J,pressure:K=0.5})=>[Z,J,K]);if(U.length===2){let Z=U[1];U=U.slice(0,-1);for(let J=1;J<5;J++)U.push(wk0(U[0],Z,J/4))}U.length===1&&(U=[...U,[...zD(U[0],[1,1]),...U[0].slice(2)]]);let z=[{point:[U[0][0],U[0][1]],pressure:U[0][2]>=0?U[0][2]:0.25,vector:[1,1],distance:0,runningLength:0}],k=!1,f=0,M=z[0],b=U.length-1;for(let Z=1;Z<U.length;Z++){let J=D&&Z===b?U[Z].slice(0,2):wk0(M.point,U[Z],F);if($43(M.point,J))continue;let K=g43(J,M.point);if(f+=K,Z<b&&!k){if(f<C)continue;k=!0}M={point:J,pressure:U[Z][2]>=0?U[Z][2]:0.5,vector:YUu(VA(M.point,J)),distance:K,runningLength:f},z.push(M)}return z[0].vector=((E=z[1])==null?void 0:E.vector)||[0,0],z}function RUu(u,B={}){return _43(p43(u,B),B)}var pL,c43,SUu=0.275,FO;var TUu=g(()=>{({min:pL,PI:c43}=Math),FO=c43+0.0001});var Hu=N1((k33)=>{var UO=Symbol.for("react.element"),n43=Symbol.for("react.portal"),d43=Symbol.for("react.fragment"),s43=Symbol.for("react.strict_mode"),o43=Symbol.for("react.profiler"),t43=Symbol.for("react.provider"),e43=Symbol.for("react.context"),u33=Symbol.for("react.forward_ref"),B33=Symbol.for("react.suspense"),E33=Symbol.for("react.memo"),A33=Symbol.for("react.lazy"),OUu=Symbol.iterator;function C33(u){if(u===null||typeof u!=="object")return null;return u=OUu&&u[OUu]||u["@@iterator"],typeof u==="function"?u:null}var jUu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},NUu=Object.assign,VUu={};function nL(u,B,E){this.props=u,this.context=B,this.refs=VUu,this.updater=E||jUu}nL.prototype.isReactComponent={};nL.prototype.setState=function(u,B){if(typeof u!=="object"&&typeof u!=="function"&&u!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,u,B,"setState")};nL.prototype.forceUpdate=function(u){this.updater.enqueueForceUpdate(this,u,"forceUpdate")};function hUu(){}hUu.prototype=nL.prototype;function Gk0(u,B,E){this.props=u,this.context=B,this.refs=VUu,this.updater=E||jUu}var Hk0=Gk0.prototype=new hUu;Hk0.constructor=Gk0;NUu(Hk0,nL.prototype);Hk0.isPureReactComponent=!0;var IUu=Array.isArray,iUu=Object.prototype.hasOwnProperty,qk0={current:null},aUu={key:!0,ref:!0,__self:!0,__source:!0};function mUu(u,B,E){var A,C={},D=null,F=null;if(B!=null)for(A in B.ref!==void 0&&(F=B.ref),B.key!==void 0&&(D=""+B.key),B)iUu.call(B,A)&&!aUu.hasOwnProperty(A)&&(C[A]=B[A]);var U=arguments.length-2;if(U===1)C.children=E;else if(1<U){for(var z=Array(U),k=0;k<U;k++)z[k]=arguments[k+2];C.children=z}if(u&&u.defaultProps)for(A in U=u.defaultProps,U)C[A]===void 0&&(C[A]=U[A]);return{$$typeof:UO,type:u,key:D,ref:F,props:C,_owner:qk0.current}}function D33(u,B){return{$$typeof:UO,type:u.type,key:B,ref:u.ref,props:u.props,_owner:u._owner}}function lk0(u){return typeof u==="object"&&u!==null&&u.$$typeof===UO}function F33(u){var B={"=":"=0",":":"=2"};return"$"+u.replace(/[=:]/g,function(E){return B[E]})}var PUu=/\/+/g;function Qk0(u,B){return typeof u==="object"&&u!==null&&u.key!=null?F33(""+u.key):B.toString(36)}function I_(u,B,E,A,C){var D=typeof u;if(D==="undefined"||D==="boolean")u=null;var F=!1;if(u===null)F=!0;else switch(D){case"string":case"number":F=!0;break;case"object":switch(u.$$typeof){case UO:case n43:F=!0}}if(F)return F=u,C=C(F),u=A===""?"."+Qk0(F,0):A,IUu(C)?(E="",u!=null&&(E=u.replace(PUu,"$&/")+"/"),I_(C,B,E,"",function(k){return k})):C!=null&&(lk0(C)&&(C=D33(C,E+(!C.key||F&&F.key===C.key?"":(""+C.key).replace(PUu,"$&/")+"/")+u)),B.push(C)),1;if(F=0,A=A===""?".":A+":",IUu(u))for(var U=0;U<u.length;U++){D=u[U];var z=A+Qk0(D,U);F+=I_(D,B,E,z,C)}else if(z=C33(u),typeof z==="function")for(u=z.call(u),U=0;!(D=u.next()).done;)D=D.value,z=A+Qk0(D,U++),F+=I_(D,B,E,z,C);else if(D==="object")throw B=String(u),Error("Objects are not valid as a React child (found: "+(B==="[object Object]"?"object with keys {"+Object.keys(u).join(", ")+"}":B)+"). If you meant to render a collection of children, use an array instead.");return F}function O_(u,B,E){if(u==null)return u;var A=[],C=0;return I_(u,A,"","",function(D){return B.call(E,D,C++)}),A}function U33(u){if(u._status===-1){var B=u._result;B=B(),B.then(function(E){if(u._status===0||u._status===-1)u._status=1,u._result=E},function(E){if(u._status===0||u._status===-1)u._status=2,u._result=E}),u._status===-1&&(u._status=0,u._result=B)}if(u._status===1)return u._result.default;throw u._result}var $B={current:null},P_={transition:null},z33={ReactCurrentDispatcher:$B,ReactCurrentBatchConfig:P_,ReactCurrentOwner:qk0};function $Uu(){throw Error("act(...) is not supported in production builds of React.")}k33.Children={map:O_,forEach:function(u,B,E){O_(u,function(){B.apply(this,arguments)},E)},count:function(u){var B=0;return O_(u,function(){B++}),B},toArray:function(u){return O_(u,function(B){return B})||[]},only:function(u){if(!lk0(u))throw Error("React.Children.only expected to receive a single React element child.");return u}};k33.Component=nL;k33.Fragment=d43;k33.Profiler=o43;k33.PureComponent=Gk0;k33.StrictMode=s43;k33.Suspense=B33;k33.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=z33;k33.act=$Uu;k33.cloneElement=function(u,B,E){if(u===null||u===void 0)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+u+".");var A=NUu({},u.props),C=u.key,D=u.ref,F=u._owner;if(B!=null){if(B.ref!==void 0&&(D=B.ref,F=qk0.current),B.key!==void 0&&(C=""+B.key),u.type&&u.type.defaultProps)var U=u.type.defaultProps;for(z in B)iUu.call(B,z)&&!aUu.hasOwnProperty(z)&&(A[z]=B[z]===void 0&&U!==void 0?U[z]:B[z])}var z=arguments.length-2;if(z===1)A.children=E;else if(1<z){U=Array(z);for(var k=0;k<z;k++)U[k]=arguments[k+2];A.children=U}return{$$typeof:UO,type:u.type,key:C,ref:D,props:A,_owner:F}};k33.createContext=function(u){return u={$$typeof:e43,_currentValue:u,_currentValue2:u,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},u.Provider={$$typeof:t43,_context:u},u.Consumer=u};k33.createElement=mUu;k33.createFactory=function(u){var B=mUu.bind(null,u);return B.type=u,B};k33.createRef=function(){return{current:null}};k33.forwardRef=function(u){return{$$typeof:u33,render:u}};k33.isValidElement=lk0;k33.lazy=function(u){return{$$typeof:A33,_payload:{_status:-1,_result:u},_init:U33}};k33.memo=function(u,B){return{$$typeof:E33,type:u,compare:B===void 0?null:B}};k33.startTransition=function(u){var B=P_.transition;P_.transition={};try{u()}finally{P_.transition=B}};k33.unstable_act=$Uu;k33.useCallback=function(u,B){return $B.current.useCallback(u,B)};k33.useContext=function(u){return $B.current.useContext(u)};k33.useDebugValue=function(){};k33.useDeferredValue=function(u){return $B.current.useDeferredValue(u)};k33.useEffect=function(u,B){return $B.current.useEffect(u,B)};k33.useId=function(){return $B.current.useId()};k33.useImperativeHandle=function(u,B,E){return $B.current.useImperativeHandle(u,B,E)};k33.useInsertionEffect=function(u,B){return $B.current.useInsertionEffect(u,B)};k33.useLayoutEffect=function(u,B){return $B.current.useLayoutEffect(u,B)};k33.useMemo=function(u,B){return $B.current.useMemo(u,B)};k33.useReducer=function(u,B,E){return $B.current.useReducer(u,B,E)};k33.useRef=function(u){return $B.current.useRef(u)};k33.useState=function(u){return $B.current.useState(u)};k33.useSyncExternalStore=function(u,B,E){return $B.current.useSyncExternalStore(u,B,E)};k33.useTransition=function(){return $B.current.useTransition()};k33.version="18.3.1"});function yUu(u){var B,E,A="";if(typeof u==="string"||typeof u==="number")A+=u;else if(typeof u==="object"){if(Array.isArray(u)){for(B=0;B<u.length;B++)if(u[B]){if(E=yUu(u[B]))A&&(A+=" "),A+=E}}else for(B in u)if(u[B])A&&(A+=" "),A+=B}return A}function Yu(){var u=0,B,E,A="";while(u<arguments.length)if(B=arguments[u++]){if(E=yUu(B))A&&(A+=" "),A+=E}return A}function gUu(u,B,E){var A,C={},D=null,F=null;E!==void 0&&(D=""+E),B.key!==void 0&&(D=""+B.key),B.ref!==void 0&&(F=B.ref);for(A in B)n33.call(B,A)&&!s33.hasOwnProperty(A)&&(C[A]=B[A]);if(u&&u.defaultProps)for(A in B=u.defaultProps,B)C[A]===void 0&&(C[A]=B[A]);return{$$typeof:_33,type:u,key:D,ref:F,props:C,_owner:d33.current}}var rUu,_33,p33,n33,d33,s33,tu,P,M0;var Zu=g(()=>{rUu=Eu(Hu(),1),_33=Symbol.for("react.element"),p33=Symbol.for("react.fragment"),n33=Object.prototype.hasOwnProperty,d33=rUu.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s33={key:!0,ref:!0,__self:!0,__source:!0};tu=p33,P=gUu,M0=gUu});function o33(u,B){return Math.sqrt(j_(u,B))}function j_(u,B){return Math.pow(u[0]-B[0],2)+Math.pow(u[1]-B[1],2)}function t33(u,B,E){let A=j_(B,E);if(A===0)return j_(u,B);let C=((u[0]-B[0])*(E[0]-B[0])+(u[1]-B[1])*(E[1]-B[1]))/A;return C=Math.max(0,Math.min(1,C)),j_(u,lQ(B,E,C))}function lQ(u,B,E){return[u[0]+(B[0]-u[0])*E,u[1]+(B[1]-u[1])*E]}function e33(u,B){let E=u[B+0],A=u[B+1],C=u[B+2],D=u[B+3],F=3*A[0]-2*E[0]-D[0];F*=F;let U=3*A[1]-2*E[1]-D[1];U*=U;let z=3*C[0]-2*D[0]-E[0];z*=z;let k=3*C[1]-2*D[1]-E[1];if(k*=k,F<z)F=z;if(U<k)U=k;return F+U}function Lk0(u,B,E,A){let C=A||[];if(e33(u,B)<E){let D=u[B+0];if(C.length){if(o33(C[C.length-1],D)>1)C.push(D)}else C.push(D);C.push(u[B+3])}else{let F=u[B+0],U=u[B+1],z=u[B+2],k=u[B+3],f=lQ(F,U,0.5),M=lQ(U,z,0.5),b=lQ(z,k,0.5),Z=lQ(f,M,0.5),J=lQ(M,b,0.5),K=lQ(Z,J,0.5);Lk0([F,f,Z,K],0,E,C),Lk0([K,J,b,k],0,E,C)}return C}function cUu(u,B){return N_(u,0,u.length,B)}function N_(u,B,E,A,C){let D=C||[],F=u[B],U=u[E-1],z=0,k=1;for(let f=B+1;f<E-1;++f){let M=t33(u[f],F,U);if(M>z)z=M,k=f}if(Math.sqrt(z)>A)N_(u,B,k+1,A,D),N_(u,k,E,A,D);else{if(!D.length)D.push(F);D.push(U)}return D}function _Uu(u,B=0.15,E){let A=[],C=(u.length-1)/3;for(let D=0;D<C;D++){let F=D*3;Lk0(u,F,B,A)}if(E&&E>0)return N_(A,0,A.length,E);return A}var dUu=N1((pUu)=>{Object.defineProperty(pUu,"__esModule",{value:!0});pUu.sanitizeUrl=void 0;var u13=/^([^\w]*)(javascript|data|vbscript)/im,B13=/&#(\w+)(^\w|;)?/g,E13=/&(newline|tab);/gi,A13=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,C13=/^.+(:|&colon;)/gim,D13=[".","/"];function F13(u){return D13.indexOf(u[0])>-1}function U13(u){return u.replace(B13,function(B,E){return String.fromCharCode(E)})}function z13(u){var B=U13(u||"").replace(E13,"").replace(A13,"").trim();if(!B)return"about:blank";if(F13(B))return B;var E=B.match(C13);if(!E)return B;var A=E[0];if(u13.test(A))return"about:blank";return B}pUu.sanitizeUrl=z13});function sL(u,B,E){let A=E[0];if(B!=null&&u>=B)throw Error(u+" >= "+B);if(u.slice(-1)===A||B&&B.slice(-1)===A)throw Error("trailing zero");if(B){let F=0;while((u[F]||A)===B[F])F++;if(F>0)return B.slice(0,F)+sL(u.slice(F),B.slice(F),E)}let C=u?E.indexOf(u[0]):0,D=B!=null?E.indexOf(B[0]):E.length;if(D-C>1){let F=Math.round(0.5*(C+D));return E[F]}else if(B&&B.length>1)return B.slice(0,1);else return E[C]+sL(u.slice(1),null,E)}function tUu(u){if(u.length!==eUu(u[0]))throw Error("invalid integer part of order key: "+u)}function eUu(u){if(u>="a"&&u<="z")return u.charCodeAt(0)-97+2;else if(u>="A"&&u<="Z")return 90-u.charCodeAt(0)+2;else throw Error("invalid order key head: "+u)}function zO(u){let B=eUu(u[0]);if(B>u.length)throw Error("invalid order key: "+u);return u.slice(0,B)}function sUu(u,B){if(u==="A"+B[0].repeat(26))throw Error("invalid order key: "+u);let E=zO(u);if(u.slice(E.length).slice(-1)===B[0])throw Error("invalid order key: "+u)}function oUu(u,B){tUu(u);let[E,...A]=u.split(""),C=!0;for(let D=A.length-1;C&&D>=0;D--){let F=B.indexOf(A[D])+1;if(F===B.length)A[D]=B[0];else A[D]=B[F],C=!1}if(C){if(E==="Z")return"a"+B[0];if(E==="z")return null;let D=String.fromCharCode(E.charCodeAt(0)+1);if(D>"a")A.push(B[0]);else A.pop();return D+A.join("")}else return E+A.join("")}function k13(u,B){tUu(u);let[E,...A]=u.split(""),C=!0;for(let D=A.length-1;C&&D>=0;D--){let F=B.indexOf(A[D])-1;if(F===-1)A[D]=B.slice(-1);else A[D]=B[F],C=!1}if(C){if(E==="a")return"Z"+B.slice(-1);if(E==="A")return null;let D=String.fromCharCode(E.charCodeAt(0)-1);if(D<"Z")A.push(B.slice(-1));else A.pop();return D+A.join("")}else return E+A.join("")}function dL(u,B,E="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"){if(u!=null)sUu(u,E);if(B!=null)sUu(B,E);if(u!=null&&B!=null&&u>=B)throw Error(u+" >= "+B);if(u==null){if(B==null)return"a"+E[0];let z=zO(B),k=B.slice(z.length);if(z==="A"+E[0].repeat(26))return z+sL("",k,E);if(z<B)return z;let f=k13(z,E);if(f==null)throw Error("cannot decrement any more");return f}if(B==null){let z=zO(u),k=u.slice(z.length),f=oUu(z,E);return f==null?z+sL(k,null,E):f}let A=zO(u),C=u.slice(A.length),D=zO(B),F=B.slice(D.length);if(A===D)return A+sL(C,F,E);let U=oUu(A,E);if(U==null)throw Error("cannot increment any more");if(U<B)return U;return A+sL(C,null,E)}function V_(u,B,E,A="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"){if(E===0)return[];if(E===1)return[dL(u,B,A)];if(B==null){let F=dL(u,B,A),U=[F];for(let z=0;z<E-1;z++)F=dL(F,B,A),U.push(F);return U}if(u==null){let F=dL(u,B,A),U=[F];for(let z=0;z<E-1;z++)F=dL(u,F,A),U.push(F);return U.reverse(),U}let C=Math.floor(E/2),D=dL(u,B,A);return[...V_(u,D,C,A),D,...V_(D,B,E-C-1,A)]}var uzu={};ju(uzu,{default:()=>M13});var f13=async(u)=>{let B=await u.getFile();return B.handle=u,B},M13=async(u=[{}])=>{Array.isArray(u)||(u=[u]);let B=[];u.forEach((C,D)=>{B[D]={description:C.description||"",accept:{}},C.mimeTypes?C.mimeTypes.map((F)=>{B[D].accept[F]=C.extensions||[]}):B[D].accept["*/*"]=C.extensions||[]});let E=await window.showOpenFilePicker({id:u[0].id,startIn:u[0].startIn,types:B,multiple:u[0].multiple||!1,excludeAcceptAllOption:u[0].excludeAcceptAllOption||!1}),A=await Promise.all(E.map(f13));return u[0].multiple?A:A[0]};var Bzu=()=>{};var Ezu={};ju(Ezu,{default:()=>b13});var b13=async(u=[{}])=>(Array.isArray(u)||(u=[u]),new Promise((B,E)=>{let A=document.createElement("input");A.type="file";let C=[...u.map((U)=>U.mimeTypes||[]),...u.map((U)=>U.extensions||[])].join();A.multiple=u[0].multiple||!1,A.accept=C||"";let D=(U)=>{typeof F=="function"&&F(),B(U)},F=u[0].legacySetup&&u[0].legacySetup(D,()=>F(E),A);A.addEventListener("change",()=>{D(A.multiple?Array.from(A.files):A.files[0])}),A.click()}));var Azu=()=>{};var Dzu={};ju(Dzu,{default:()=>Z13});function h_(u){function B(E){if(Object(E)!==E)return Promise.reject(TypeError(E+" is not an object."));var A=E.done;return Promise.resolve(E.value).then(function(C){return{value:C,done:A}})}return h_=function(E){this.s=E,this.n=E.next},h_.prototype={s:null,n:null,next:function(){return B(this.n.apply(this.s,arguments))},return:function(E){var A=this.s.return;return A===void 0?Promise.resolve({value:E,done:!0}):B(A.apply(this.s,arguments))},throw:function(E){var A=this.s.return;return A===void 0?Promise.reject(E):B(A.apply(this.s,arguments))}},new h_(u)}var Czu=async(u,B,E=u.name,A)=>{let C=[],D=[];var F,U=!1,z=!1;try{for(var k,f=function(M){var b,Z,J,K=2;for(typeof Symbol<"u"&&(Z=Symbol.asyncIterator,J=Symbol.iterator);K--;){if(Z&&(b=M[Z])!=null)return b.call(M);if(J&&(b=M[J])!=null)return new h_(b.call(M));Z="@@asyncIterator",J="@@iterator"}throw TypeError("Object is not async iterable")}(u.values());U=!(k=await f.next()).done;U=!1){let M=k.value,b=`${E}/${M.name}`;M.kind==="file"?D.push(M.getFile().then((Z)=>(Z.directoryHandle=u,Z.handle=M,Object.defineProperty(Z,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>b})))):M.kind!=="directory"||!B||A&&A(M)||C.push(Czu(M,B,b,A))}}catch(M){z=!0,F=M}finally{try{U&&f.return!=null&&await f.return()}finally{if(z)throw F}}return[...(await Promise.all(C)).flat(),...await Promise.all(D)]},Z13=async(u={})=>{u.recursive=u.recursive||!1;let B=await window.showDirectoryPicker({id:u.id,startIn:u.startIn});return Czu(B,u.recursive,void 0,u.skipDirectory)};var Fzu=()=>{};var Uzu={};ju(Uzu,{default:()=>J13});var J13=async(u=[{}])=>(Array.isArray(u)||(u=[u]),u[0].recursive=u[0].recursive||!1,new Promise((B,E)=>{let A=document.createElement("input");A.type="file",A.webkitdirectory=!0;let C=(F)=>{typeof D=="function"&&D(),B(F)},D=u[0].legacySetup&&u[0].legacySetup(C,()=>D(E),A);A.addEventListener("change",()=>{let F=Array.from(A.files);u[0].recursive?u[0].recursive&&u[0].skipDirectory&&(F=F.filter((U)=>U.webkitRelativePath.split("/").every((z)=>!u[0].skipDirectory({name:z,kind:"directory"})))):F=F.filter((U)=>U.webkitRelativePath.split("/").length===2),C(F)}),A.click()}));var zzu=()=>{};var kzu={};ju(kzu,{default:()=>K13});var K13=async(u,B=[{}],E=null,A=!1,C=null)=>{Array.isArray(B)||(B=[B]),B[0].fileName=B[0].fileName||"Untitled";let D=[],F=null;if(u instanceof Blob&&u.type?F=u.type:u.headers&&u.headers.get("content-type")&&(F=u.headers.get("content-type")),B.forEach((k,f)=>{D[f]={description:k.description||"",accept:{}},k.mimeTypes?(f===0&&F&&k.mimeTypes.push(F),k.mimeTypes.map((M)=>{D[f].accept[M]=k.extensions||[]})):F&&(D[f].accept[F]=k.extensions||[])}),E)try{await E.getFile()}catch(k){if(E=null,A)throw k}let U=E||await window.showSaveFilePicker({suggestedName:B[0].fileName,id:B[0].id,startIn:B[0].startIn,types:D,excludeAcceptAllOption:B[0].excludeAcceptAllOption||!1});!E&&C&&C();let z=await U.createWritable();if("stream"in u)return await u.stream().pipeTo(z),U;return"body"in u?(await u.body.pipeTo(z),U):(await z.write(await u),await z.close(),U)};var fzu=()=>{};var Mzu={};ju(Mzu,{default:()=>w13});var w13=async(u,B={})=>{Array.isArray(B)&&(B=B[0]);let E=document.createElement("a"),A=u;"body"in u&&(A=await async function(F,U){let z=F.getReader(),k=new ReadableStream({start:(b)=>async function Z(){return z.read().then(({done:J,value:K})=>{if(!J)return b.enqueue(K),Z();b.close()})}()}),f=new Response(k),M=await f.blob();return z.releaseLock(),new Blob([M],{type:U})}(u.body,u.headers.get("content-type"))),E.download=B.fileName||"Untitled",E.href=URL.createObjectURL(await A);let C=()=>{typeof D=="function"&&D()},D=B.legacySetup&&B.legacySetup(C,()=>D(reject),E);return E.addEventListener("click",()=>{setTimeout(()=>URL.revokeObjectURL(E.href),30000),C()}),E.click(),null};var bzu=()=>{};async function Zzu(...u){return(await Q13).default(...u)}async function Jzu(...u){return(await G13).default(...u)}var uf,Q13,Vx1,G13;var Kzu=g(()=>{uf=(()=>{if(typeof self>"u")return!1;if("top"in self&&self!==top)try{}catch(u){return!1}else if("showOpenFilePicker"in self)return"showOpenFilePicker";return!1})(),Q13=uf?Promise.resolve().then(() => (Bzu(),uzu)):Promise.resolve().then(() => (Azu(),Ezu));Vx1=uf?Promise.resolve().then(() => (Fzu(),Dzu)):Promise.resolve().then(() => (zzu(),Uzu)),G13=uf?Promise.resolve().then(() => (fzu(),kzu)):Promise.resolve().then(() => (bzu(),Mzu))});function wzu(u){let B=[];for(let E=0,A=u.size();E<A;E++)B.push(u.get(E));return new Uint8Array(B)}function S13(u,B,E,A){let C=u.hb_subset_input_create_or_fail();if(C===0)throw Error("hb_subset_input_create_or_fail (harfbuzz) returned zero, indicating failure");let D=u.malloc(E.byteLength);B.set(new Uint8Array(E),D);let F=u.hb_blob_create(D,E.byteLength,2,0,0),U=u.hb_face_create(F,0);u.hb_blob_destroy(F);let z=u.hb_subset_input_set(C,6);u.hb_set_clear(z),u.hb_set_invert(z);let k=u.hb_subset_input_unicode_set(C);for(let K of A)u.hb_set_add(k,K);let f;try{if(f=u.hb_subset_or_fail(U,C),f===0)throw u.hb_face_destroy(U),u.free(D),Error("hb_subset_or_fail (harfbuzz) returned zero, indicating failure. Maybe the input file is corrupted?")}finally{u.hb_subset_input_destroy(C)}let M=u.hb_face_reference_blob(f),b=u.hb_blob_get_data(M,0),Z=u.hb_blob_get_length(M);if(Z===0)throw u.hb_blob_destroy(M),u.hb_face_destroy(f),u.hb_face_destroy(U),u.free(D),Error("Failed to create subset font, maybe the input file is corrupted?");let J=new Uint8Array(B.subarray(b,b+Z));return u.hb_blob_destroy(M),u.hb_face_destroy(f),u.hb_face_destroy(U),u.free(D),J}var __dirname="/home/vercel-sandbox/gstack/lib/diagram-render/node_modules/@excalidraw/excalidraw/dist/prod",H13,q13,l13,L13,Xk0=null,X13=()=>new Promise((u,B)=>{try{L13({wasmBinary:q13}).then((E)=>{try{u({compress:(A)=>wzu(E.woff2Enc(A,A.byteLength)),decompress:(A)=>wzu(E.woff2Dec(A,A.byteLength))})}catch(A){B(A)}})}catch(E){B(E)}}),v13=()=>(Xk0||(Xk0=X13()),Xk0),x13,W13,Y13,vk0=null,R13=()=>new Promise(async(u,B)=>{try{let E=(await WebAssembly.instantiate(W13)).instance.exports,A=new Uint8Array(E.memory.buffer);u({subset:(C,D)=>Y13.subset(E,A,C,D)})}catch(E){B(E)}}),T13=()=>(vk0||(vk0=R13()),vk0),a_,Qzu=async(u,B)=>{try{let E=await kO(u,B);return i_(E)}catch(E){return console.error("Skipped glyph subsetting",E),i_(u)}},kO=async(u,B)=>{let{compress:E,decompress:A}=await v13(),{subset:C}=await T13(),D=A(u).buffer,F=C(D,new Set(B));return E(F.buffer).buffer},i_=async(u)=>{let B;if(typeof Buffer<"u")B=Buffer.from(u).toString("base64");else{let E=String.fromCharCode(...new Uint8Array(u));B=btoa(E)}return`data:font/woff2;base64,${B}`};var xk0=g(()=>{m4();H13=(()=>{let u=new Uint8Array(128);for(let B=0;B<64;B++)u[B<26?B+65:B<52?B+71:B<62?B-4:B*4-205]=B;return(B)=>{let E=B.length,A=new Uint8Array((E-(B[E-1]=="=")-(B[E-2]=="="))*3/4|0);for(let C=0,D=0;C<E;){let F=u[B.charCodeAt(C++)],U=u[B.charCodeAt(C++)],z=u[B.charCodeAt(C++)],k=u[B.charCodeAt(C++)];A[D++]=F<<2|U>>4,A[D++]=U<<4|z>>2,A[D++]=z<<6|k}return A}})(),q13=H13("AGFzbQEAAAABmwMrYAABf2ACf38AYAN/f38AYAF/AX9gA39/fwF/YAR/f39/AX9gAn9/AX9gBn98f39/fwF/YAN/fn8BfmAEf39/fwBgBn9/f39/fwBgBX9/f39/AGAAAGABfwBgDX9/f39/f39/f39/f38AYAh/f39/f39/fwBgAXwBfGAFf39/f38Bf2AGf39/f39/AX9gB39/f39/f38Bf2ABfwF+YAt/f39/f39/f39/fwBgCn9/f39/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AOf39/f39/f39/f39/f38AYAl/f39/f39/f38AYAp/f39/f39/f39/AX9gDX9/f39/f39/f39/f38Bf2AEfX9/fwF/YAx/f39/f39/f39/f38AYAt/f39/f39/f39/fwF/YAF/AXxgD39/f39/f39/f39/f39/fwBgCX9/f39/f39/fwF/YAJ/fwF8YAF+AX9gEX9/f35/f39/f39/f39/f39/AGAGf39+f39/AX9gA35/fwF/YAJ+fwF/YAJ8fwF8YAd/f3x/f39/AX8CoQkyA2VudhJhYm9ydFN0YWNrT3ZlcmZsb3cADQNlbnYOX2xsdm1fbG9nMl9mNjQAEANlbnYGX2Fib3J0AAwDZW52HV9fZW1iaW5kX3JlZ2lzdGVyX21lbW9yeV92aWV3AAIDZW52DF9fX2N4YV90aHJvdwACA2VudhlfX19jeGFfYWxsb2NhdGVfZXhjZXB0aW9uAAMDZW52GV9fZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIACwNlbnYgX19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfZnVuY3Rpb24ADwNlbnYcX19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwABA2VudhdfX2VtYmluZF9yZWdpc3Rlcl9mbG9hdAACA2VudgtudWxsRnVuY192aQANA2VudgpudWxsRnVuY192AA0DZW52DW51bGxGdW5jX2ppamkADQNlbnYObnVsbEZ1bmNfaWlpaWkADQNlbnYNbnVsbEZ1bmNfaWlpaQANA2Vudg9fX193YXNpX2ZkX3NlZWsAEQNlbnYLc2V0VGVtcFJldDAADQNlbnYKX2xsdm1fdHJhcAAMA2VudgVfZXhpdAANA2VudhdfZW1zY3JpcHRlbl9yZXNpemVfaGVhcAADA2VudgxudWxsRnVuY19paWkADQNlbnYWX2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZwAEA2VudhlfZW1zY3JpcHRlbl9nZXRfaGVhcF9zaXplAAADZW52El9fZW12YWxfdGFrZV92YWx1ZQAGA2Vudg5fX2VtdmFsX2luY3JlZgANA2Vudg5fX2VtdmFsX2RlY3JlZgANA2VudhZfX2VtYmluZF9yZWdpc3Rlcl92b2lkAAEDZW52HV9fZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAIDZW52EG51bGxGdW5jX2lpZGlpaWkADQNlbnYaX19lbWJpbmRfcmVnaXN0ZXJfZnVuY3Rpb24ACgNlbnYXX19lbWJpbmRfcmVnaXN0ZXJfZW12YWwAAQNlbnYjX19lbWJpbmRfcmVnaXN0ZXJfY2xhc3NfY29uc3RydWN0b3IACgNlbnYXX19lbWJpbmRfcmVnaXN0ZXJfY2xhc3MADgNlbnYWX19lbWJpbmRfcmVnaXN0ZXJfYm9vbAALA2VudhBfX193YXNpX2ZkX3dyaXRlAAUDZW52EF9fX3dhc2lfZmRfY2xvc2UAAwNlbnYLbnVsbEZ1bmNfaWkADQNlbnYJX19fdW5sb2NrAA0DZW52B19fX2xvY2sADQNlbnYOX19fYXNzZXJ0X2ZhaWwACQNlbnYQbnVsbEZ1bmNfdmlpaWlpaQANA2Vudg9udWxsRnVuY192aWlpaWkADQNlbnYObnVsbEZ1bmNfdmlpaWkADQNlbnYNbnVsbEZ1bmNfdmlpaQANA2VudgxudWxsRnVuY192aWkADQNlbnYKbnVsbEZ1bmNfaQANA2VudgxfX3RhYmxlX2Jhc2UDfwAGZ2xvYmFsCEluZmluaXR5A3wAA2VudgZtZW1vcnkCAIACA2VudgV0YWJsZQFwAeAC4AIDsgiwCAEBBgEEBAYGBg0GBgsBAw0NDQMBAwEGAQYGAQMGBAMJAgQCCwMCBAYCBAIDAgMGBgECDQIGBAIDBg8JBgYNFwQGAQYGBAYLAwYDAQ0DBgsTAwEBAQYBBAMCBAMDAgYJAwYGAQMBKAEDBA8BDQsBBgQGAQYNAw0DDQMGAwwNAyQBCwQGCQYNAg0LBAQDBAkNAw0GBgMBAgIJAQ0CIyIjIgIEFyAgAg0NAQYREQkNDQkJCg0DAQEBBAYBAQMDBgYBCQMBBgYNBgYBAwMDAQ0JAgIDBQMRBAMGAxQFAQEOCQIBCQkKCSAJFxoBDQEFAg0BCQEBDQEGEQMGAwIBAwERBQkCAg0BDAkBBg0NDQETAwkCAgQDAwEGAQUGBg0EAQYGBgkFAxIBAQMCBgQFBQYDAQIBBgMJAQMDAgYCBgQDBgYEDQEFAw0pAwQGAgMDCQ0mEQ0JCQkJCQkJAQENDQUNEQENBQECAQEBCgoVFyMiFxceDw0BBBcXCyERBgMGARwJCRsCFgUNAgEDAgMDDQkEAgIJAQQFAwMNAQ0FEgMDDQ0NBgMDEQ0BBg0DAwUEDQIGDQENBgENAQQFARQBAQEEDAgFBg8BAg0NDQ0NDQwMDAkLCgYGBAQNAwECBgYGBgYBAgYGBgYGAQYBARcTBgEDAQIEAQQBBgEGAQEKEgECBAECBAEBAQYGAgMDAwYGAQYEAQEBAgQBAQICAQEGAQkEAgIBBgECBAEGAwEGBgYGAQIECQEBBgYGBgEBBgELEQEJBQECBAQBAgQBAgEBCQUEAgEGAQMBBgMBAgUBBAECAwEBAwEJAQkJAgYCBAEKBgEJBAEEBAEGAQYGAQQBBgMDAwYBAgQBEwEGAQYBBgIEAxMDAwEBBgYGBgEGBAEGAQEBAgEBBgMBAQIGAQIGAQEGDQYMAQEBBgIEDQEDAwMNDQ0EAwkLCgkNCwoEDA0SBAYFAgYoJwQBBwUGCAMECAQDCQQNBgQJEw8lAg0EAgMSEgQSBRIDDQ0NAAQJCRcBCh4KBQoGAQoFCgENFRUVFQMCFRUPBAkCCgUPFxcMFwkFCwsBHxceHh0BAQkFBBkJCgsYDAkJCQoLGAkJCQoGDQsYCQkLCwsKBg0WCw8JDw8PDw8PDw8PDQYKCQkLAhUVFQ0VFRUVFRUVCQMCAg0BAgwBAwMDAwMNAAMFBAQNDQEBAQ0BAQEBAwABAQEBAQEGAgMBAQMEAgENAQEJAQEFEQIJDQIBAgIJAQQCCQIRAw0CAxEJAQQDDRENBQMCDQ0DAwYCBgMEAg0NAwMBAw0DAwYGAwIFDQYGEgUEBAIFBAEBAQENAQEJAQEBBAECAQIJAQENAQEMAQEGAQICBAEBAQEBAhEKCwcDABcKBQsJAgENEQUEKgYTAwMCCwILARIBAQADDAwMDAwMDAwMDAwMDAwMBAwGEAJ/AUHAvxoLfwFB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AiAAQQFqNgIAC3EBAX8gASABKAIAIgNBAWo2AgAgAiADaiAAQRh2OgAAIAEgASgCACIDQQFqNgIAIAIgA2ogAEEQdjoAACABIAEoAgAiA0EBajYCACACIANqIABBCHY6AAAgASABKAIAIgFBAWo2AgAgASACaiAAOgAAC0EAIAAgAWogAkEYdjoAACAAIAFBAWpqIAJBEHY6AAAgACABQQJqaiACQQh2OgAAIAAgAUEDamogAjoAACABQQRqCxgAIAAoAgBBIHFFBEAgASACIAAQ9QIaCwuRAQEDfyMCIQYjAkGAAmokAiMCIwNOBEBBgAIQAAsgBiEFIARBgMAEcUUgAiADSnEEQCAFIAFBGHRBGHUgAiADayIBQYACIAFBgAJJGxAzGiABQf8BSwRAAn8gAiADayEHA0AgACAFQYACEFAgAUGAfmoiAUH/AUsNAAsgBwtB/wFxIQELIAAgBSABEFALIAYkAgsXACAAKQAAQoCAgOj7tI2PvX9+QjCIpws5AQF/IAEgASgCACIDQQFqNgIAIAIgA2ogAEEIdjoAACABIAEoAgAiAUEBajYCACABIAJqIAA6AAALYgECfyABIABIIAAgASACakhxBEACfyAAIQQgASACaiEBIAAgAmohAANAIAJBAEoEQCACQQFrIQIgAEEBayIAIAFBAWsiASwAADoAAAwBCwsgBAshAAUgACABIAIQMhoLIAALOAECfyAAKAIIIgJBAmoiAyAAKAIESwR/QQAFIAEgAiAAKAIAai4AABDCCDsBACAAIAM2AghBAQsLFwAgACABNgIAIAAgAjYCBCAAQQA2AggLIQAgACABaiACQQh2OgAAIAAgAUEBamogAjoAACABQQJqCy4AIAAgASABQQhqIgAoAgAgAkECdGogACgCBBDhAiAAIAAoAgAgAkECdGo2AgQLDQAgACgCACAAKAIERgttAQF/IAEoAgAhAyACBEAgAUHuABA1GgsCQAJAIAEQTEUNACABKAIAIgIsAABBUGpBCk8NAANAAkAgARBMRQ0AIAIsAABBUGpBCk8NACABIAJBAWoiAjYCAAwBCwsgACADIAIQXwwBCyAAEGsLCwoAIAAoAiBBAEcLUQEDfyMCIQIjAkEQaiQCIwIjA04EQEEQEAALIAIiAyAAQQEQWiACEFkEf0EABSAAQcUAEDUEfyAAQfAC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AiMDTgRAQRAQAAsgBCICQQJqIgNBADoAACAAIAMQagR/An8CQAJAAkACQCADLAAAIgNBfWsOAwACAQMLIAJBADsBACAAIAIQVQR/IAEgAi8BADYCAEEBBUEACwwDCyACQQA6AAAgACACEGoEfyABIAItAABB/QFqNgIAQQEFQQALDAILIAJBADoAACAAIAIQagR/IAEgAi0AAEH6A2o2AgBBAQVBAAsMAQsgASADQf8BcTYCAEEBCwVBAAshBSAEJAIgBQvIBQEGfyMCIQQjAkEgaiQCIwIjA04EQEEgEAALIAQhAwJ/IAEgABBHIQcgAiABEEchBSAHCwR/An8gBQRAIAMgACkCADcCACADIAApAgg3AgggAyAAKQIQNwIQIAMgACkCGDcCGCAAIAIpAgA3AgAgACACKQIINwIIIAAgAikCEDcCECAAIAIpAhg3AhggAiADKQIANwIAIAIgAykCCDcCCCACIAMpAhA3AhAgAiADKQIYNwIYQQEMAQsgAyAAKQIANwIAIAMgACkCCDcCCCADIAApAhA3AhAgAyAAKQIYNwIYIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASkCGDcCGCABIAMpAgA3AgAgASADKQIINwIIIAEgAykCEDcCECABIAMpAhg3AhggAiABEEcEfyADIAEpAgA3AgAgAyABKQIINwIIIAMgASkCEDcCECADIAEpAhg3AhggASACKQIANwIAIAEgAikCCDcCCCABIAIpAhA3AhAgASACKQIYNwIYIAIgAykCADcCACACIAMpAgg3AgggAiADKQIQNwIQIAIgAykCGDcCGEECBUEBCwsFIAUEfyADIAEpAgA3AgAgAyABKQIINwIIIAMgASkCEDcCECADIAEpAhg3AhggASACKQIANwIAIAEgAikCCDcCCCABIAIpAhA3AhAgASACKQIYNwIYIAIgAykCADcCACACIAMpAgg3AgggAiADKQIQNwIQIAIgAykCGDcCGCABIAAQRwR/IAMgACkCADcCACADIAApAgg3AgggAyAAKQIQNwIQIAMgACkCGDcCGCAAIAEpAgA3AgAgACABKQIINwIIIAAgASkCEDcCECAAIAEpAhg3AhggASADKQIANwIAIAEgAykCCDcCCCABIAMpAhA3AhAgASADKQIYNwIYQQIFQQELBUEACwshCCAEJAIgCAu0AgEDfyAAQR8gAEF4aiIDKAIAQQF2QXhqIgJBCCACQQhLGyICZ2tBASACG0ECdEGQtBpqIgIoAgBGBEAgAiAAKAIENgIACyAAKAIAIgIEQCACIAAoAgQ2AgQLIAAoAgQiAgRAIAIgACgCADYCAAsgAyADKAIAIgJBAXI2AgAgAkEBdiIEQXggAWtqIgJBeHFBCEZB7LUaKAIAIANGcQRAIAQQiQEEfyACQQhqBSADDwshAgsgAkEPTQRAIAMPCyAAIAFqQQdqQXhxIgAhASADIAMoAgAiAkEBcSAAIANrQQF0cjYCACAAIAAoAgBBAXEgAyACQQF2aiAAayICQQF0cjYCACAAIAM2AgRB7LUaIAEgAkH/////B3FqQQRqQey1GigCACADRhsgATYCACAAELMBIAMLDAAgACABLAAAOgAAC5IBAQV/IwIhAiMCQRBqJAIjAiMDTgRAQRAQAAsgAiIEIAE2AgAgACgCACEFIAEEfyAAKAIEIgMoAgAEQCAFQfACakEQEDQiASADKAIAIAQoAgAQxQQgACgCBCABNgIABSADIAE2AgALIAAoAggoAgAiAQRAIAFBADoAAQsgACgCBCgCAEEARwVBAAshBiACJAIgBgtTAQJ/IAAgACgCACICKAIEIgE2AgAgAQRAIAEgADYCCAsgAiAAKAIINgIIIAAoAggiASABQQRqIAAgASgCAEYbIAI2AgAgAiAANgIEIAAgAjYCCAtkAQN/IwIhAiMCQRBqJAIjAiMDTgRAQRAQAAsgAiIBQQA2AgAgAEHyABA1BEAgAUEEEOYBCyAAQdYAEDUEQCABQQIQ5gELIABBywAQNQRAIAFBARDmAQsgASgCACEDIAIkAiADC1MBAn8gACAAKAIEIgIoAgAiATYCBCABBEAgASAANgIICyACIAAoAgg2AgggACgCCCIBIAFBBGogACABKAIARhsgAjYCACACIAA2AgAgACACNgIIC48DAQd/IwIhBiMCQRBqJAIjAiMDTgRAQRAQAAsgBkEIaiEDIAZBBGohBCAGIQUCfwJAIABBABA4Qf8BcUHkAEcNAAJ/AkACQAJAIABBARA4QRh0QRh1QdgAaw4hAgQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQBBAsgACAAKAIAQQJqNgIAIAMgACIBEI0BIgI2AgAgAgR/IAQgARCkASIBNgIAIAEEfyAFQQA6AAAgACADIAQgBRDPAgVBAAsFQQALDAILIAAgACgCAEECajYCACADIAAiARA8IgI2AgAgAgR/IAQgARCkASIBNgIAIAEEfyAFQQE6AAAgACADIAQgBRDPAgVBAAsFQQALDAELIAAgACgCAEECajYCACADIAAiARA8IgI2AgAgAgR/IAQgARA8IgI2AgAgAgR/IAUgARCkASIBNgIAIAEEfyAAQfACakEUEDQiACADKAIAIAQoAgAgBSgCABCSBSAABUEACwVBAAsFQQALCwwBCyAAEDwLIQcgBiQCIAcLIQEBfyAAIABBDGoiATYCACAAIAE2AgQgACAAQSxqNgIIC6gCAQd/IwIhAiMCQRBqJAIjAiMDTgRAQRAQAAsgAiEBAn8CQAJAAkACQCAAQQAQOEEYdEEYdUHKAGsODwEDAgMDAwMDAwMDAwMDAAMLIAAgACgCAEEBajYCACAAEDwiAQR/An8gAUEAIABBxQAQNRshBiACJAIgBgsPBUEACwwDCyAAIAAoAgBBAWo2AgAgAEEIaiIDEEkhBAJAA0AgAEHFABA1DQEgASAAEKYBIgU2AgAgBQRAIAMgARBFDAELC0EADAMLIAEgACAEEFggAEHwAmogARCtBQwCCyAAQQEQOEH/AXFB2gBHBEAgABDgAgwCCyAAIAAoAgBBAmo2AgAgABCFASIBBH8gAUEAIABBxQAQNRsFQQALDAELIAAQQAshByACJAIgBwsuAQF/IAAsAAUiAkECRgR/IAAoAgAoAgAhAiAAIAEgAkEfcUEMahEGAAUgAkULC+ABAQV/IwIhAyMCQRBqJAIjAiMDTgRAQRAQAAsgA0EEaiEBIAMhBCAAQdQAEDUEfyABQQA2AgACfwJAIABB3wAQNQR/DAEFIAAgARDrAUUEQCABIAEoAgBBAWoiAjYCACAAQd8AEDUNAgtBAAsMAQsgACwA6gIEQCAAQZL0GRA2DAELIAAsAOkCBEAgAEHwAmpBFBA0IgIgASgCABDlBCAEIAIiATYCACAAQcwCaiAEEEUgAQwBCyACIABBoAJqIgAQSUkEfyAAIAIQwAEoAgAFQQALCwVBAAshBSADJAIgBQsPAEHgtRooAgAaQQIQ6gULEgAgABCRAUUEQCAAKAIAED8LC44BAQN/AkACQCAAIgJBA3FFDQAgAiEBA0ACQCAALAAARQRAIAEhAAwBCyAAQQFqIgAiAUEDcQ0BDAILCwwBCwNAIABBBGohASAAKAIAIgNBgIGChHhxQYCBgoR4cyADQf/9+3dqcUUEQCABIQAMAQsLIANB/wFxBEADQCAAQQFqIgAsAAANAAsLCyAAIAJrCy0BAX8gAKciAUH/////A3FBgICAgHggAUGAgICABHFrciABIABC/////wtWGwshACAAIAAoAgBBB2oiAEF4cTYCACABIABBA3ZqQQA6AAAL9wIBCH8jAiEIIwJBsAxqJAIjAiMDTgRAQbAMEAALIAhBoAxqIglBADYCACAIQYABaiIGQgA3AwAgBkIANwMIIAZBADsBECAIIgVCADcDACAFQgA3AwggBUIANwMQIAVCADcDGCAFQgA3AyAgBUIANwMoIAVCADcDMCAFQgA3AzggBUFAa0IANwMAIAAgASAJIAVB4AZqIgogBUGgAWoiDBCGByAJKAIAIgcEQEEAIQADQCAAIApqLQAAQQJ0IAVqIgEgASgCAEEBajYCACAAQQFqIgAgB0kNAAsLIAhB0ABqIQtBACEAQQAhB0EAIQEDQAJAIAdBAnQgBWooAgAEQAJAAkACQCABDgIBAAILQQIhAQwDCyAHIQBBASEBCwsgB0EBaiIHQRJJDQELCyAFQRJBBSACIAYQmgEgBkESIAsQhgEgASAGIAMgBBDJBiABQQFGBEAgACAGakEAOgAACyAJKAIAIAogDCAGIAsgAyAEEMgGIAgkAgsqAEEAIAJBAEdBACACQQIgAkECSRsgAEHgAUkbIAFBvwFLGyABQYABSRsLQgEDfyMCIQIjAkEgaiQCIwIjA04EQEEgEAALIAIgATYCACACQQhqIgMgACABIAIQywcgAygCAEEUaiEEIAIkAiAECx4AIAMgAigCAGogACABEDIaIAIgASACKAIAajYCAAsIAEEDEBRBAAvcBgEGfyAAIAAoAgAiBEF+cTYCAEEAIAAgBEEBdmoiASAAQey1GigCACICRiIDGyEGQQAgASADGyEDIAAoAgQiAQRAIAEoAgAiBUEBcUUEQEEfIAVBAXZBeGoiBEEIIARBCEsbIgRna0EBIAQbQQJ0QZC0GmoiBSgCACABQQhqIgRGBEAgBSABKAIMNgIACyAEKAIAIgUEQCAFIAEoAgw2AgQLIAEoAgwiBQRAIAUgBCgCADYCAAsgASABKAIAIAAoAgBBfnFqNgIAAkACQCADBEAgAyABNgIEIAMoAgAiAEEBcUUEQEEfIABBAXZBeGoiAEEIIABBCEsbIgBna0EBIAAbQQJ0QZC0GmoiBSgCACADQQhqIgBGBEAgBSADKAIMNgIACyAAKAIAIgUEQCAFIAMoAgw2AgQLIAMoAgwiBQRAIAUgACgCADYCAEHstRooAgAhAgsgASABKAIAIAMoAgBBfnFqNgIAIAIgA0YEQEHstRohAAUgAygCAEEBdiAGakEEaiEACwwCCwVB7LUaIQAMAQsMAQsgACABNgIAC0EfIAEoAgBBAXZBeGoiAEEIIABBCEsbIgBna0EBIAAbQQJ0QZC0GmoiAigCACEAIAIgBDYCACAEQQA2AgAgASAANgIMIABFBEAPCyAAIAQ2AgAPCwsgAwRAIAMoAgAiAUEBcUUEQEEfIAFBAXZBeGoiAUEIIAFBCEsbIgFna0EBIAEbQQJ0QZC0GmoiBCgCACADQQhqIgFGBEAgBCADKAIMNgIACyABKAIAIgQEQCAEIAMoAgw2AgQLIAMoAgwiBARAIAQgASgCADYCAEHstRooAgAhAgsgACAAKAIAIAMoAgBBfnFqIgE2AgBBHyACIANGBH9B7LUaIAA2AgAgAQUgAygCAEEBdiAGaiAANgIEIAAoAgALQQF2QXhqIgJBCCACQQhLGyICZ2tBASACG0ECdEGQtBpqIgEoAgAhAiABIABBCGoiATYCACAAQQA2AgggACACNgIMIAJFBEAPCyACIAE2AgAPCwtBHyAEQQF2QXhqIgJBCCACQQhLGyICZ2tBASACG0ECdEGQtBpqIgEoAgAhAiABIABBCGoiATYCACAAQQA2AgggACACNgIMIAJFBEAPCyACIAE2AgALEAAgAgRAIAAgASACEFQaCwsDAAELVQEDfyAAKAIEIgZBCHUhBSAGQQFxBEAgAigCACAFaigCACEFCyAAKAIAIgAoAgAoAhghByAAIAEgAiAFaiADQQIgBkECcRsgBCAHQQNxQdgCahELAAu9AQEDfyAAQQRqIQMgAEEEaiIEKAIAIgAEQAJAIAIoAgAhBSACKAIEIQQgAyECAkACQANAAkACQAJAIAUgACgCECIDSQ0AIAMgBU8EQCAEIAAoAhRJDQEgACgCFCAETw0GCyAAQQRqIgIoAgAiA0UNBAwBCyAAKAIAIgNFDQEgACECCyADIQAMAQsLIAEgADYCAAwCCyABIAA2AgAgAiEADAELIAEgADYCACACIQALBSABIAQ2AgAgBCEACyAACx0AIABB8AJqQRAQNCIAIAEoAgAgAigCABD8BCAAC3MBBn8jAiEBIwJBEGokAiMCIwNOBEBBEBAACyABIQMgAUEEaiIFIAAiAhCNASIENgIAIAQEfyAAQQAQOEH/AXFByQBGBH8gAyACQQAQcyICNgIAIAIEfyAAIAUgAxByBUEACwUgBAsFQQALIQYgASQCIAYLmwEBAn8gAEEEaiEDIABBBGoiBCgCACIABEACQCACKAIAIQQgAyECAkACQANAAkAgBCAAKAIQIgNJBEAgACgCACIDRQ0BIAAhAgUgAyAETw0EIABBBGoiAigCACIDRQ0DCyADIQAMAQsLIAEgADYCAAwCCyABIAA2AgAgAiEADAELIAEgADYCACACIQALBSABIAQ2AgAgBCEACyAACy8AIABBMEEBQQFBARA6IABBrNcZNgIAIAAgASkCADcCCCAAIAI2AhAgACADNgIUCxcAIAAsAAgEQCAAKAIAIAAoAgQ2AgALC8wEAQZ/IwIhBSMCQTBqJAIjAiMDTgRAQTAQAAsgBUEQaiEEIAUiAUEIaiICQQA2AgAgAUEYakGGhRoQLiABQSBqIgMgASkCGDcCAAJAIAAgAxA5BH8gAiAAIgEQ6QEiBDYCACAEBH8gAEEAEDhB/wFxQckARgRAIAMgAUEAEHMiBDYCACAEBEAgAiAAIAIgAxByNgIABUEAIQAMBAsLAkACQANAIABBxQAQNUUEQCADIAEQuQEiBDYCACAERQ0CIAIgACACIAMQuAE2AgAMAQsLDAELQQAhAAwDCyADIAEQ6AEiATYCACABBH8gACACIAMQuAEFQQALBUEACwUgBEGE/RkQLiADIAQpAgA3AgAgACADEDkhBCABQYqFGhAuIAMgASkCADcCACAAIAMQOUUEQCACIAAQ6AEiATYCACABRSAEQQFzcgRAIAEhAAwDCyACIAAgAhDNAiIANgIADAILIABBABA4QRh0QRh1QVBqQQpJBEACQANAAkAgAyAAIgEQuQEiBjYCACAGRQ0AIAIoAgAEQCACIAAgAiADELgBNgIABSAEBEAgAiAAIAMQzQI2AgAFIAIgBjYCAAsLIABBxQAQNUUNAQwCCwtBACEADAMLBSACIAAiARDpASIENgIAIARFBEBBACEADAMLIABBABA4Qf8BcUHJAEYEQCADIAFBABBzIgQ2AgAgBARAIAIgACACIAMQcjYCAAVBACEADAQLCwsgAyABEOgBIgE2AgAgAQR/IAAgAiADELgBBUEACwshAAsgBSQCIAALDAAgACAAKAIANgIEC0YBAn8gACgCACICIAAoAgQiA0YEQEEAIQIFAkAgAiEAA38gASAAKAIAIgIoAgBGDQEgAEEEaiIAIANHDQBBAAshAgsLIAILDQAgACgCACABQQJ0aguvAwEFfyMCIQMjAkEQaiQCIwIjA04EQEEQEAALIAMhASAAQdMAEDUEfwJ/IABBABA4QRh0QRh1IgJBn39qQRpPBEAgAEHfABA1BEBBACAAQZQBaiIAEFkNAhogAEEAEMABKAIADAILIAFBADYCACAAIAEQ6AIEf0EABSABIAEoAgBBAWoiATYCACAAQd8AEDUEfyABIABBlAFqIgAQSUkEfyAAIAEQwAEoAgAFQQALBUEACwsMAQsCQAJAAkACQAJAAkACQAJAIAJB4QBrDhMAAQYFBgYGBgMGBgYGBgQGBgYCBgsgACAAKAIAQQFqNgIAIAFBADYCAAwGCyAAIAAoAgBBAWo2AgAgAUEBNgIADAULIAAgACgCAEEBajYCACABQQI2AgAMBAsgACAAKAIAQQFqNgIAIAFBAzYCAAwDCyAAIAAoAgBBAWo2AgAgAUEENgIADAILIAAgACgCAEEBajYCACABQQU2AgAMAQtBAAwBCyABIAAgAEHwAmogARDbBSIEEPQBIgI2AgAgAiAERgR/IAQFIABBlAFqIAEQRSACCwsFQQALIQUgAyQCIAULeQEEfyMCIQMjAkEQaiQCIwIjA04EQEEQEAALIAMhBCADQQhqIgJBADYCAAJAAkAgASACEOsBDQAgARBMIAIoAgAiBUkNACAEIAEoAgAiAiACIAVqEF8gASAFIAEoAgBqNgIAIAAgBCkDADcCAAwBCyAAEGsLIAMkAgswAQF/IwIhAyMCQRBqJAIjAiMDTgRAQRAQAAsgAyACNgIAIAAgASADEIICGiADJAILMwEBfyABIQMgAigCTBogACADIAIQ9QIhAEEBQQAgARshAiAAIANHBH8gACABbgUgAgsaC6EBAQJ/IABBIGohBCABQQBHIAJBgQRJcQRAIAIEQEEAIQEDQCABIANqKAAAQb3P1vEBbEERdiIFQQJ0IARqQcyZs+Z8NgIAIARBgIAIaiAFQQF0akHMmX87AQAgAUEBaiIBIAJHDQALCwUgBEFMQYCACBAzGiAAQaCACGpBAEGAgAQQMxoLIABBoIAMakEAQYCABBAzGiAAQaCAIGpBADsBAAshACAAQaSAIGpBB0EIIAEoAgQiAEEGShsgAEF8anQ2AgALhAMBBH8gAEHcKWoiBCgCAEUEQCAAIAAoAgQiAUEAIAFBAEobIgFBCyABQQtIGyIDNgIEIANBA0gEQCAAQQA2AhgLAkACQCAAKAIIIgFBCkgEQEEKIQEMAQUgAUEeQRggACgCGBsiAkoEQCACIQEMAgsLDAELIAAgATYCCAsgACgCDCECIANBAk8EQCADQQRIBH9BDgUCfyACBEAgAkEQIAJBEEobIgFBGCABQRhIGwwBCyADQQhKBH8gAUESIAFBEkgbIgFBECABQRBKGwVBEAsLCyEBCyAAIAE2AgwgABD7AiAAQdApakF/NgIAIABBASAAKAIIIgEgACgCDCICIAEgAkobQQFqdCIDNgJ4IAAgA0F/ajYCfCAAQQEgAnQiAjYCgAEgACACIANqNgKEASABQRIgAUESShsgASAAKAIEQQJJGyAAKAIYIABBkAJqIABBkgJqEPoCIAAoAgRFBEAgAEGoImogAEGoI2ogAEGoJWogAEGoKWoQjAYLIARBATYCAAsLmAEAIABB3ClqKAIABH9BAAUCfwJAAkACQAJAAkACQAJAAkAgAQ4HAAECAwQFBgcLIAAgAjYCAEEBDAcLIAAgAjYCBEEBDAYLIAAgAjYCCEEBDAULIAAgAjYCDEEBDAQLQQAgAkEBSw0DGiAAIAJBAEc2AhRBAQwDCyAAIAI2AhBBAQwCCyAAIAJBAEc2AhhBAQwBC0EACwsaC6YBAgN/AnwjAiEDIwJBkBFqJAIjAiMDTgRAQZAREAALIAMhAiAAQYARaigCAAR8IAIgAEGQERAyGiACQYARaiIAIAFBgBFqKAIAIAAoAgBqNgIAQQAhAANAIABBAnQgAmoiBCAAQQJ0IAFqKAIAIAQoAgBqNgIAIABBAWoiAEGgBEcNAAsgAhDQASABQYgRaisDAKEFRAAAAAAAAAAACyEGIAMkAiAGC+0GAg5/A3wjAiESIwJBIGokAiMCIwNOBEBBIBAACyASIg5BGGoiEUEANgIAIAUEQAJAA0AgC0EBaiIJIAVJBEAgC0ECdCADaiEKIAkhCwNAIAAgASAKKAIAIAtBAnQgA2ooAgAgCCAEIBEQmAMgC0EBaiILIAVHDQALCyAFIAlHBEAgCSELDAELCyAFQQFLBEAgBkUhFUEBIRMDQCAFIQsDQCAEKwMQIBdmRQRAIAQoAgAiDUGQEWwgAGpBgBFqIgkgBCgCBCIPQZARbCAAakGAEWooAgAgCSgCAGo2AgBBACEJA0AgDUGQEWwgAGogCUECdGoiCiAPQZARbCAAaiAJQQJ0aigCACAKKAIAajYCACAJQQFqIglBoARHDQALIA1BkBFsIABqQYgRaiAEKwMIOQMAIA1BAnQgAWoiCSAPQQJ0IAFqKAIAIAkoAgBqNgIAIBVFBEBBACEJA0AgCUECdCACaiIKKAIAIA9GBEAgCiANNgIACyAJQQFqIgkgBkcNAAsLIAUEQAJAQQAhCQNAIA8gCUECdCADaiIKKAIARwRAIAUgCUEBaiIJTQ0CDAELCyAKIAlBAWpBAnQgA2ogBSAJa0ECdEF8ahBUGgsLIBEoAgAiFgRAQQAhCUEAIQoDQCANIApBGGwgBGoiDCgCACIQRwRAIApBGGwgBGooAgQiFCAPRiANIBRGIA8gEEZyckUEQAJAAkAgBCsDECIYIApBGGwgBGorAxAiGWIEQCAYIBlkRQ0BBSAEKAIEIAQoAgBrIBQgEGtNDQELIA4gBCkDADcDACAOIAQpAwg3AwggDiAEKQMQNwMQIAQgDCkDADcDACAEIAwpAwg3AwggBCAMKQMQNwMQIAlBGGwgBGoiDCAOKQMANwMAIAwgDikDCDcDCCAMIA4pAxA3AxAMAQsgCUEYbCAEaiIQIAwpAwA3AwAgECAMKQMINwMIIBAgDCkDEDcDEAsgCUEBaiEJCwsgCkEBaiIKIBZJDQALBUEAIQkLIAtBf2ohCyARIAk2AgAgBUF/aiIFBEBBACEJA0AgACABIA0gCUECdCADaigCACAIIAQgERCYAyALIAlBAWoiCUcNAAsLIAUgE0sNAQwECwsgBSAHSwRARC6fh6KuQn1UIRcgByETDAELCwsLBUEAIQULIBIkAiAFC6YBAgN/AnwjAiEDIwJBkAhqJAIjAiMDTgRAQZAIEAALIAMhAiAAQYAIaigCAAR8IAIgAEGQCBAyGiACQYAIaiIAIAFBgAhqKAIAIAAoAgBqNgIAQQAhAANAIABBAnQgAmoiBCAAQQJ0IAFqKAIAIAQoAgBqNgIAIABBAWoiAEGAAkcNAAsgAhDRASABQYgIaisDAKEFRAAAAAAAAAAACyEGIAMkAiAGC+0GAg5/A3wjAiESIwJBIGokAiMCIwNOBEBBIBAACyASIg5BGGoiEUEANgIAIAUEQAJAA0AgC0EBaiIJIAVJBEAgC0ECdCADaiEKIAkhCwNAIAAgASAKKAIAIAtBAnQgA2ooAgAgCCAEIBEQnAMgC0EBaiILIAVHDQALCyAFIAlHBEAgCSELDAELCyAFQQFLBEAgBkUhFUEBIRMDQCAFIQsDQCAEKwMQIBdmRQRAIAQoAgAiDUGQCGwgAGpBgAhqIgkgBCgCBCIPQZAIbCAAakGACGooAgAgCSgCAGo2AgBBACEJA0AgDUGQCGwgAGogCUECdGoiCiAPQZAIbCAAaiAJQQJ0aigCACAKKAIAajYCACAJQQFqIglBgAJHDQALIA1BkAhsIABqQYgIaiAEKwMIOQMAIA1BAnQgAWoiCSAPQQJ0IAFqKAIAIAkoAgBqNgIAIBVFBEBBACEJA0AgCUECdCACaiIKKAIAIA9GBEAgCiANNgIACyAJQQFqIgkgBkcNAAsLIAUEQAJAQQAhCQNAIA8gCUECdCADaiIKKAIARwRAIAUgCUEBaiIJTQ0CDAELCyAKIAlBAWpBAnQgA2ogBSAJa0ECdEF8ahBUGgsLIBEoAgAiFgRAQQAhCUEAIQoDQCANIApBGGwgBGoiDCgCACIQRwRAIApBGGwgBGooAgQiFCAPRiANIBRGIA8gEEZyckUEQAJAAkAgBCsDECIYIApBGGwgBGorAxAiGWIEQCAYIBlkRQ0BBSAEKAIEIAQoAgBrIBQgEGtNDQELIA4gBCkDADcDACAOIAQpAwg3AwggDiAEKQMQNwMQIAQgDCkDADcDACAEIAwpAwg3AwggBCAMKQMQNwMQIAlBGGwgBGoiDCAOKQMANwMAIAwgDikDCDcDCCAMIA4pAxA3AxAMAQsgCUEYbCAEaiIQIAwpAwA3AwAgECAMKQMINwMIIBAgDCkDEDcDEAsgCUEBaiEJCwsgCkEBaiIKIBZJDQALBUEAIQkLIAtBf2ohCyARIAk2AgAgBUF/aiIFBEBBACEJA0AgACABIA0gCUECdCADaigCACAIIAQgERCcAyALIAlBAWoiCUcNAAsLIAUgE0sNAQwECwsgBSAHSwRARC6fh6KuQn1UIRcgByETDAELCwsLBUEAIQULIBIkAiAFC2wBBH9BFCEEA0AgBEEIIAFBB3EiBWsiAyAEIANJGyEDIAIgAUEDdmoiBiAGLQAAQQEgBXRB/wFqQX8gAyAFanRycSAAQQEgA3RBf2pxIAV0cjoAACAAIAN2IQAgASADaiEBIAQgA2siBA0ACwumAgIEfwN8IwIhBCMCQYAIaiQCIwIjA04EQEGACBAACyAEIgVBAEGACBAzGgJ8AnwCQCABBHwDQCAAIANqLQAAQQJ0IAVqIgYgBigCAEEBajYCACADQStqIgMgAUkNAAsgAUEqaiIBQStuIQAgAUGA1gBJDQEgALgiByEIIAcQAQVBACEADAELDAELIAC4IQggAEECdEHQpBlqKgIAuwshCUEAIQAgCQtEAAAAAAAA4D+gIAiiRAAAAAAAAGlAoCEIA0AgAEECdCAFaigCACIBuCEHIAAgAmotAAAhAyAIIAFBgAJJBHwgAUECdEHQpBlqKgIAuwUgBxABCyADQf8BcbegIAeioSEIIABBAWoiAEGAAkcNAAsgBCQCIAhEAAAAAAAAAABmC90BAQF/IAQgBSAGELsGIAUgBhCtASAEIAIgA3EiAmogA0EBaiIDSwRAIAYgBSgCACIHQQN2aiABIAJqIAMgAmsiAhAyGiAFIAcgAkEDdGoiAzYCACAEIAJrIQRBACECBSAFKAIAIQMLIAYgA0EDdmogASACaiAEEDIaIAUgAyAEQQN0aiIBNgIAIAYgAUEDdmoiAkEAOgAAIAAEQCACQgEgAUEHca2GNwAAIAYgAUEBaiIAQQN2aiICIAItAACtQgEgAEEHca2GhDcAACAFIAFBAmo2AgAgBSAGEK0BCwv0CAIHfwZ8IwIhByMCQfAAaiQCIwIjA04EQEHwABAACyAHQdAAaiEDIAchBCAAQYARaigCACIGBHwCfANAAkAgAUECdCAAaigCAARAIAJBAnQgA2ogATYCACACQQFqIQUgAkEDSgR/IAUhAgwCBSAFCyECCyABQQFqIgFBoARJDQELCwJAAkACQAJAAkAgAkEBaw4EAAECAwQLRAAAAAAAAChADAQLIAa4RAAAAAAAADRAoAwDCyADKAIEQQJ0IABqKAIAIgIgAygCCEECdCAAaigCACIFIAIgBUsbIQEgBSADKAIAQQJ0IABqKAIAIgAgAmpqQQF0uEQAAAAAAAA8QKAgACABIAAgAUsbuKEMAgtBACECA0AgAkECdCAEaiACQQJ0IANqKAIAQQJ0IABqKAIANgIAIAJBAWoiAkEERw0AC0EAIQADQCAAQQFqIgJBBEkEQCAAQQJ0IARqIgMoAgAhACACIQUDQCAFQQJ0IARqIgYoAgAiASAASwRAIAYgADYCACADIAE2AgAgASEACyAFQQFqIgVBBEcNAAsLIAJBBEcEQCACIQAMAQsLIAQoAgggBCgCDGoiAEEDbLhEAAAAAACAQkCgIAQoAgAiAiAEKAIEakEBdLigIAAgAiAAIAJLG7ihDAELIARCADcDACAEQgA3AwggBEIANwMQIARCADcDGCAEQgA3AyAgBEIANwMoIARCADcDMCAEQgA3AzggBEFAa0IANwMAIAZBgAJJBHwgBkECdEHQpBlqKgIAuwUgBrgQAQshCUEAIQZBACECQQEhBQNAAkAgBkECdCAAaigCACIBBEAgCSABQYACSQR8IAG4IQggAUECdEHQpBlqKgIAuwUgAbgiCyEIIAsQAQuhIgtEAAAAAAAA4D+gqyIBQQ8gAUEPSRsiA0ECdCAEaiIBIAEoAgBBAWo2AgAgCiALIAiioCEKIAZBAWohASADIAUgAyAFSxshBQUCQCAGQQFqIgFBoARPDQJBASEDA0AgAUECdCAAaigCAEUEQCADQQFqIQMgAUEBaiIBQaAESQ0BCwsgAyAGaiIBQaAERg0CIANBA0kEQCAEIAQoAgAgA2o2AgAMAQsgA0F+aiEDA0AgAkEBaiECIApEAAAAAAAACECgIQogA0EDdiIDDQALCwsgAUGgBEkEQCABIQYMAgsLCyAEIAI2AkRBACECRAAAAAAAAAAAIQlBACEAA0AgAkECdCAEaigCACIBQYACSQR8IAG4IQggAUECdEHQpBlqKgIAuwUgAbgiCyEIIAsQAQshCyACQQFyQQJ0IARqKAIAIgMgACABamohACADuCEMIAkgCCALoqEgA0GAAkkEfCADQQJ0QdCkGWoqAgC7BSAMEAELIAyioSEJIAJBAmoiAkESSQ0ACyAAuCEIIAAEQCAJIABBgAJJBHwgAEECdEHQpBlqKgIAuwUgCBABCyAIoqAhCQsgCiAFQQF0QRJquKAgCCAJIAkgCGMboAsFRAAAAAAAAChACyENIAckAiANC/QIAgd/BnwjAiEHIwJB8ABqJAIjAiMDTgRAQfAAEAALIAdB0ABqIQMgByEEIABBgAhqKAIAIgYEfAJ8A0ACQCABQQJ0IABqKAIABEAgAkECdCADaiABNgIAIAJBAWohBSACQQNKBH8gBSECDAIFIAULIQILIAFBAWoiAUGAAkkNAQsLAkACQAJAAkACQCACQQFrDgQAAQIDBAtEAAAAAAAAKEAMBAsgBrhEAAAAAAAANECgDAMLIAMoAgRBAnQgAGooAgAiAiADKAIIQQJ0IABqKAIAIgUgAiAFSxshASAFIAMoAgBBAnQgAGooAgAiACACampBAXS4RAAAAAAAADxAoCAAIAEgACABSxu4oQwCC0EAIQIDQCACQQJ0IARqIAJBAnQgA2ooAgBBAnQgAGooAgA2AgAgAkEBaiICQQRHDQALQQAhAANAIABBAWoiAkEESQRAIABBAnQgBGoiAygCACEAIAIhBQNAIAVBAnQgBGoiBigCACIBIABLBEAgBiAANgIAIAMgATYCACABIQALIAVBAWoiBUEERw0ACwsgAkEERwRAIAIhAAwBCwsgBCgCCCAEKAIMaiIAQQNsuEQAAAAAAIBCQKAgBCgCACICIAQoAgRqQQF0uKAgACACIAAgAksbuKEMAQsgBEIANwMAIARCADcDCCAEQgA3AxAgBEIANwMYIARCADcDICAEQgA3AyggBEIANwMwIARCADcDOCAEQUBrQgA3AwAgBkGAAkkEfCAGQQJ0QdCkGWoqAgC7BSAGuBABCyEJQQAhBkEAIQJBASEFA0ACQCAGQQJ0IABqKAIAIgEEQCAJIAFBgAJJBHwgAbghCCABQQJ0QdCkGWoqAgC7BSABuCILIQggCxABC6EiC0QAAAAAAADgP6CrIgFBDyABQQ9JGyIDQQJ0IARqIgEgASgCAEEBajYCACAKIAsgCKKgIQogBkEBaiEBIAMgBSADIAVLGyEFBQJAIAZBAWoiAUGAAk8NAkEBIQMDQCABQQJ0IABqKAIARQRAIANBAWohAyABQQFqIgFBgAJJDQELCyADIAZqIgFBgAJGDQIgA0EDSQRAIAQgBCgCACADajYCAAwBCyADQX5qIQMDQCACQQFqIQIgCkQAAAAAAAAIQKAhCiADQQN2IgMNAAsLCyABQYACSQRAIAEhBgwCCwsLIAQgAjYCREEAIQJEAAAAAAAAAAAhCUEAIQADQCACQQJ0IARqKAIAIgFBgAJJBHwgAbghCCABQQJ0QdCkGWoqAgC7BSABuCILIQggCxABCyELIAJBAXJBAnQgBGooAgAiAyAAIAFqaiEAIAO4IQwgCSAIIAuioSADQYACSQR8IANBAnRB0KQZaioCALsFIAwQAQsgDKKhIQkgAkECaiICQRJJDQALIAC4IQggAARAIAkgAEGAAkkEfCAAQQJ0QdCkGWoqAgC7BSAIEAELIAiioCEJCyAKIAVBAXRBEmq4oCAIIAkgCSAIYxugCwVEAAAAAAAAKEALIQ0gByQCIA0LRwECfyACQX9qIgIgAUsEQANAIAAgAWoiAywAACEEIAMgACACaiIDLAAAOgAAIAMgBDoAACABQQFqIgEgAkF/aiICSQ0ACwsLCgAgAEEQahDUAQtMAQN/IAAoAgAiAgRAAn8gAiAAKAIEIgFGBH8gAgUDQCABQXRqIgEQPiABIAJHDQALIAAoAgALIQMgACACNgIEIAAoAggaIAMLED8LC+wDAQd/IwIhBSMCQRBqJAIjAiMDTgRAQRAQAAsgBUEEaiEHIAUhCCAAQQA2AgAgAEEANgIEIABBADYCCCABKAIIIgIgAUEMaiIERwRAAkAgAiEBA0AgAUEUaiIDKAIAIgZBgIGChHhxRQRAIAAoAgQiAiAAKAIIRgRAIAAgAxCxAgUgAiAGNgIAIAAgAkEEajYCBAsLIAEoAgQiAgRAIAIhAQNAIAEoAgAiAgRAIAIhAQwBCwsFIAFBCGoiAigCACIDKAIAIAFGBH8gAwUgAiEBA38gASgCACIDQQhqIgEoAgAhAiACKAIAIANHDQAgAgsLIQELIAEgBEcNAAsgACgCBCIEIQYgBCAAKAIAIgJHBEAgAiEBA0AgASgCAEHm8rG7BkcEQCABQQRqIgEgBEcNASAEIQELCyACIQMDQCADKAIAQeHGveMGRwRAIAQgA0EEaiIDRg0DDAELCyADIARGIAEgBEZyRQRAIAYgA0EEaiIBayIEBH8gAyABIAQQVBogACgCAAUgAgshASAAIARBAnVBAnQgA2oiAjYCBCABIAJHBEACQAN/IAEoAgBB5vKxuwZGDQEgAUEEaiIBIAJHDQAgAgshAQsLIAggAUEEajYCACAHIAgoAgA2AgAgACAHENIHCwsLCyAFJAILNAEBfyABIABBBGoiACgCACAAENMHIQICQCAAIAJGDQAgASgCACACKAIQSQ0AIAIhAAsgAAvaBwEIfyAAQf8PcSEMIARB6g9qIQcgBEHYD2ohCCAEQdAmaiIJKAIAIQACQAJAAkACQAJAAkACQANAAkACQAJAIAAOBgEECAkFBwALQWEhAAwBC0EgIAQoAgwiBWtBAkkEQCAEKAIUIQYDQCAGRQRAQQIhAAwDCyAEIAQoAghBCHYiADYCCCAEIAQoAhAiCy0AAEEYdCAAciIKNgIIIAQgBUF4aiIANgIMIAQgBkF/aiIGNgIUIAQgC0EBajYCEEEoIAVrQQJJBEAgACEFDAELCwUgBCgCCCEKIAUhAAsgBCAKIAB2QQNxIgU2AmAgBCAAQQJqIgA2AgwgBUEBRg0EIARBIDYCsAIgBEEANgKsAiAIQgA3AwAgCEIANwMIIAhCADcDECAIQQA2AhggCEEAOwEcIAlBBDYCAEEEIQAMAQsLDAYLIAQoAgwhAAwBCyAEEO4HIgBBAUYEQCAEQbQCaiAIIAcQhgggB0IANwEAIAdCADcBCCAHQgA3ARAgB0IANwEYIAQoArQDIQZBACEAA0AgBEHYDmogAEECdGogAEFwaiIFNgIAIAVBAXQgBmpBfzsBACAAQQFqIgBBEEcNAAsgBEEANgKoAiAEQQg2ApQCIARBADYCrAIgBEEANgKQAiAEQYCAAjYCsAIgCUEFNgIADAILDAQLQSAgAGtBAkkEQAJAIAQoAhQhBiAAIQUDQCAGBEAgBCAEKAIIQQh2IgA2AgggBCAEKAIQIgstAABBGHQgAHIiCjYCCCAEIAVBeGoiADYCDCAEIAZBf2oiBjYCFCAEIAtBAWo2AhBBKCAFa0ECTw0CIAAhBQwBCwsgCUEBNgIAQQIhAAwFCwUgBCgCCCEKCyAEIAogAHZBA3E2AqgCIAQgAEECajYCDCAEQQA2AmAMAQsgASAEEO0HIgBBAkYEQCABIAQQ6wchAAsgAEEBRgRAIAQoArACBH9BeQUgAiAEKAK0AyAHEIUIIQAgAwRAIAMgADYCAAsgCUEANgIAQQELIQALDAILIAwgASAEEO8HIgBBAUYNAAwBCyAEKAKoAiIAQQNGBEAgBCgCDCIAQSBGBEAgBCgCFCIFBH8gBCAEKAIIQQh2IgA2AgggBCAEKAIQIgEtAABBGHQgAHIiADYCCCAEQRg2AgwgBCAFQX9qNgIUIAQgAUEBajYCECAAIQFBGAUgCUEDNgIAQQIhAAwDCyEABSAEKAIIIQELIAQgAEEBajYCDCAEIAEgAHZBAXFBA2oiADYCqAILIAIgBEG4A2ogABCECCEAIAMEQCADIAA2AgALIAlBADYCAEEBIQALIAALkgIBBX8gACgCZCAAKAKkAiAAKAJEcWohByAAEOoHIgggASgCACIFIAUgCEsbIQYgACgCvAFBAEgEf0F3BQJ/IAEgAgR/IAIoAgAiCQR/IAkgByAGEDIaIAIgAigCACAGajYCACABKAIABSACIAc2AgAgBQsFIAULIAZrNgIAIAAgACgCpAIgBmoiATYCpAIgAwRAIAMgATYCAAsgAEFAaygCACIBQQEgAEHgJmooAgB0RiECQQNBASACIARyGyAIIAVLDQAaIAIEQCAAKAI0IgIgAU4EQCAAIAIgAWsiATYCNCAAIAAoAqACQQFqNgKgAiAAQdwmaiIAIAAuAQBBd3EgAUEAR0EDdHI7AQALC0EBCwsLKAAgAiABayICQQBKBEAgACgCBCABIAIQMhogACAAKAIEIAJqNgIECwsaACAAQQA2AgQgAEEANgIIIAAgAEEEajYCAAtDAQJ/IAAoAgQiAiAAKAIIIgFHBEAgACABQXxqIAJrQQJ2QX9zQQJ0IAFqNgIICyAAKAIAIgEEQCAAKAIMGiABED8LC3cBAX8gAEEANgIMIAAgAzYCECABBEAgAUH/////A0sEQEEIEAUiA0GW7xkQbyADQajnGTYCACADQdDHGUHOABAEBSABQQJ0EEIhBAsLIAAgBDYCACAAIAJBAnQgBGoiAjYCCCAAIAI2AgQgACABQQJ0IARqNgIMCwYAQQsQKgtXAQN/IAAoAgQiB0EIdSEGIAdBAXEEQCADKAIAIAZqKAIAIQYLIAAoAgAiACgCACgCFCEIIAAgASACIAMgBmogBEECIAdBAnEbIAUgCEEDcUHcAmoRCgALCwAgABC2AiAAED8LnQEBBH8jAiECIwJBEGokAiMCIwNOBEBBEBAACyACQQhqIQEgAiEDIABB6AAQNQR/IAEgAEEBEFogARBZBH9BAQUgAEHfABA1QQFzCwUgAEH2ABA1BH8gASAAQQEQWiABEFkEf0EBBSAAQd8AEDUEfyADIABBARBaIAMQWQR/QQEFIABB3wAQNUEBcwsFQQELCwVBAQsLIQQgAiQCIAQLpwEBBX8jAiEEIwJBIGokAiMCIwNOBEBBIBAACyAEIQJB/////wcgACgCBCAAKAIAa0EBdUEBaiIFSQRAEAIFIAIgBSAAKAIIIAAoAgAiA2siBiAGIAVJG0H/////ByAGQQF1Qf////8DSRsgACgCBCADa0EBdSAAQQhqELwCIAIoAggiAyABLgEAOwEAIAIgA0ECajYCCCAAIAIQuQIgAhC4AiAEJAILCxAAIAAgASgCACABKAIEEF8LLwEBfyAAIAEoAgAiAkEBaiACIAEoAgQiAUUiAhs2AgAgACABQQFqIAEgAhs2AgQLHQAgAEHwAmpBEBA0IgAgASgCACACKAIAEMwEIAAL/wEBBn8jAiEEIwJBEGokAiMCIwNOBEBBEBAACyAEQQhqIQIgBCEDAn8CQAJAIABBABA4IgVB/wFxQdUARgR/IAAQ1QQhAQwBBSAFQU9qQRh0QRh1Qf8BcUEJSARAIAAQjQEhAQwCCyADQdeQGhAuIAIgAykCADcCACAAIAIQOUUEQCAAIAEQzAIhAQwCCyAAQQhqIgEQSSEFAkADQCACIAAiAxCNASIGNgIAIAZFDQEgASACEEUgAEHFABA1RQ0ACyACIAAgBRBYIABB8AJqIAIQ1AQhAQwDC0EACwwCCyABBH8gACEDDAEFQQALDAELIAMgARD0AQshByAEJAIgBwsPACAAIAEgACgCAHI2AgALTgECfyMCIQIjAkEQaiQCIwIjA04EQEEQEAALIAAoAgggARA7IAJBjYUaEC4gAkEIaiIDIAIpAgA3AgAgASADEC8gACgCDCABEDsgAiQCC94BAQZ/IwIhAyMCQSBqJAIjAiMDTgRAQSAQAAsgA0EYaiEBIANBEGohAiADQQhqIQQgAyEFIABBABA4QRh0QRh1QVBqQQpJBH8gABC5AQUCfyACQciFGhAuIAEgAikCADcCACAAIAEQOQRAIAAQgwUMAQsgBEHLhRoQLiABIAQpAgA3AgAgACABEDkaIAEgACICQQAQzAIiBDYCACAEBH8gAEEAEDhB/wFxQckARgR/IAUgAkEAEHMiAjYCACACBH8gACABIAUQcgVBAAsFIAQLBUEACwsLIQYgAyQCIAYLkgEBBH8jAiEDIwJBEGokAiMCIwNOBEBBEBAACyADIQICfwJAIABBABA4QRh0QRh1QcQAayIBBEAgAUEQRw0BIAIgABCoASIBNgIAIAEEfyAAQZQBaiACEEUgAQVBAAsMAgsgAiAAEPYBIgE2AgAgAQR/IABBlAFqIAIQRSABBUEACwwBCyAAEMEBCyEEIAMkAiAEC1kBAX8gARBMIAAQTEsEf0EABQJ/IAEoAgAhAiABKAIEIQEgACgCACEAA39BASABIAJGDQEaIAIsAAAgACwAAEYEfyACQQFqIQIgAEEBaiEADAEFQQALCwsLC3EBAX8gAUEANgIAIABBABA4QVBqQRh0QRh1Qf8BcUEJSgR/QQEFA38gAEEAEDhBUGpBGHRBGHVB/wFxQQpIBH8gASACQQpsNgIAIAAQiwVBGHRBGHVBUGohAiABIAEoAgAgAmoiAjYCAAwBBUEACwsLCx4AIABBHUEBQQFBARA6IABBgNcZNgIAIAAgATYCCAsyACAAQS9BAUEBQQEQOiAAQajWGTYCACAAIAEpAgA3AgggACACNgIQIAAgAykCADcCFAsQACAAKAIAIAAoAgRBAnRqCyQBAX8gASgCCCIBKAIAKAIYIQIgACABIAJB/wBxQcgBahEBAAtSAQN/IAEgAEEEaiICKAIAIAIQpgghAAJAAkAgACACRg0AIAEoAgAiAyAAKAIQIgRJDQAgBCADTwRAIAEoAgQgACgCFEkNAQsMAQsgAiEACyAAC1kBAX8gABBMIAEQTEYEfwJ/IAAoAgAhAiAAKAIEIQAgASgCACEBA39BASAAIAJGDQEaIAIsAAAgASwAAEYEfyACQQFqIQIgAUEBaiEBDAEFQQALCwsFQQALCwkAIABBDGoQPgsEAEEAC20BA38jAiECIwJBEGokAiMCIwNOBEBBEBAACyACQQhqIQMgAiIEIAE2AgACQAJAA0AgAEHCABA1BEAgAyAAEMIBIAMQWQ0CIAQgAEHwAmogBCADEOQFIgE2AgAMAQsLDAELQQAhAQsgAiQCIAELHwAgAQRAIAAgASgCABD1ASAAIAEoAgQQ9QEgARA/Cwt6AQR/IwIhASMCQRBqJAIjAiMDTgRAQRAQAAsgASECIABBxAAQNQR/An8gAEH0ABA1RQRAQQAgAEHUABA1RQ0BGgsgAiAAEDwiAzYCACADBH8gAEHFABA1BH8gAEHslxogAhCEAQVBAAsFQQALCwVBAAshBCABJAIgBAvXAgEHfyMCIQUjAkFAayQCIwIjA04EQEHAABAACyAFQTBqIQEgBUEoaiEDIAVBIGohBiAFIgJBFGohBCACQQhqIQcgAEHVABA1BEAgAyAAEMIBIAMQWQR/QQAFAn8gBkGJmBoQLiABIAYpAgA3AgAgAyABEOoBRQRAIAEgABD3ASICNgIAIAIEfyAAQfACaiABIAMQrgQFQQALDAELIAEgA0EJEN0CIAIQayAEIAAgASgCABC9AiAHIABBBGogASgCBBC9AiACIAAQwgEgBxC8ASAEELwBIAIQWQR/QQAFIAQgABD3ASIBNgIAIAEEfyAAQfACaiAEIAIQqwQFQQALCwsLIQAFIAEgABCiASIENgIAIAMgABBAIgI2AgAgAgRAIAQEQCAAQfACakEQEDQiACADKAIAIAEoAgAQtAQgAyAANgIABSACIQALBUEAIQALCyAFJAIgAAvgBAENfyMCIQIjAkHgAGokAiMCIwNOBEBB4AAQAAsgAkE4aiEDIAJBMGohBCACQSBqIQYgAiEJIAJB0ABqIQcgAkEQaiEKIAJBCGohCyACQShqIgwgABCiATYCACACQRhqIghBADYCACACQUBrIgVBwpkaEC4gAkHIAGoiASAFKQIANwIAAn8CQCAAIAEQOQR/IAggAEHFmRoQNjYCAAwBBQJ/IANBzpkaEC4gASADKQIANwIAIAAgARA5BEAgASAAEDwiAzYCAEEAIANFDQEaQQAgAEHFABA1RQ0BGiAIIABB8AJqIAEQogQ2AgAMAwsgBEHRmRoQLiABIAQpAgA3AgAgACABEDlFDQIgAEEIaiIDEEkhBAJAA0AgAEHFABA1RQRAIAEgABBAIgU2AgAgBUUNAiADIAEQRQwBCwsgASAAIAQQWCAIIABB8AJqIAEQpAQ2AgAMAwtBAAsLDAELIAZB1JkaEC4gASAGKQIANwIAIAAgARA5GiAAQcYAEDUEfyAAQdkAEDUaIAkgACIDEEAiBDYCACAEBH8gB0EAOgAAIABBCGoiBBBJIQYCfwJAAkACQANAAkAgAEHFABA1DQQgAEH2ABA1RQRAIApB15kaEC4gASAKKQIANwIAIAAgARA5DQEgC0HamRoQLiABIAspAgA3AgAgACABEDkNAyABIAMQQCIFNgIAIAVFDQQgBCABEEULDAELCyAHQQE6AAAMAgsgB0ECOgAADAELQQAMAQsgASAAIAYQWCAAQfACaiAJIAEgDCAHIAgQqAQLBUEACwVBAAsLIQ0gAiQCIA0LHwAgAQRAIAAgASgCABD5ASAAIAEoAgQQ+QEgARA/CwsRACAAQRRqEO4CIABBCGoQPgunAQAgAEEBOgA1IAIgACgCBEYEQAJAIABBAToANCAAKAIQIgJFBEAgACABNgIQIAAgAzYCGCAAQQE2AiQgACgCMEEBRiADQQFGcUUNASAAQQE6ADYMAQsgASACRwRAIAAgACgCJEEBajYCJCAAQQE6ADYMAQsgACgCGCIBQQJGBEAgACADNgIYBSABIQMLIAAoAjBBAUYgA0EBRnEEQCAAQQE6ADYLCwsLHwAgASAAKAIERgRAIAAoAhxBAUcEQCAAIAI2AhwLCwteAQF/IAAoAhAiAwRAAkAgASADRwRAIAAgACgCJEEBajYCJCAAQQI2AhggAEEBOgA2DAELIAAoAhhBAkYEQCAAIAI2AhgLCwUgACABNgIQIAAgAjYCGCAAQQE2AiQLC48BAQN/An8CQCAAKAIUIAAoAhxNDQAgACgCJCEBIABBAEEAIAFBD3FBLGoRBAAaIAAoAhQNAEF/DAELIAAoAgQiASAAKAIIIgJJBEAgACgCKCEDIAAgASACa6xBASADQQNxQUBrEQgAGgsgAEEANgIQIABBADYCHCAAQQA2AhQgAEEANgIIIABBADYCBEEACws1AQJ/IwIhBCMCQRBqJAIjAiMDTgRAQRAQAAsgBCADNgIAIAAgASACIAQQhAYhBSAEJAIgBQsXACAAEJUBQQBHIABBIHJBn39qQQZJcguKEwIUfwF+IwIhDyMCQUBrJAIjAiMDTgRAQcAAEAALIA9BKGohCSAPQTBqIRggD0E8aiEVIA9BOGoiCyABNgIAIABBAEchEiAPQShqIhQhEyAPQSdqIRZBACEBAkACQANAAkADQCAIQX9KBEAgAUH/////ByAIa0oEf0HQtRpBPTYCAEF/BSABIAhqCyEICyALKAIAIgosAAAiBUUNAyAKIQECQAJAA0ACQAJAIAVBGHRBGHUiBQRAIAVBJUcNAQwECwwBCyALIAFBAWoiATYCACABLAAAIQUMAQsLDAELIAEhBQNAIAUsAAFBJUcNASABQQFqIQEgCyAFQQJqIgU2AgAgBSwAAEElRg0ACwsgASAKayEBIBIEQCAAIAogARBQCyABDQALIAsoAgAsAAEQlQFFIQUgCyALKAIAIgEgBQR/QX8hEUEBBSABLAACQSRGBH8gASwAAUFQaiERQQEhBkEDBUF/IRFBAQsLaiIBNgIAIAEsAAAiB0FgaiIFQR9LQQEgBXRBidEEcUVyBEBBACEFBUEAIQcDQCAHQQEgBXRyIQUgCyABQQFqIgE2AgAgASwAACIHQWBqIgxBH0tBASAMdEGJ0QRxRXJFBEAgBSEHIAwhBQwBCwsLIAdB/wFxQSpGBH8CfwJAIAEsAAEQlQFFDQAgCygCACIBLAACQSRHDQAgASwAAUFQakECdCAEakEKNgIAQQEhDSABQQNqIQcgASwAAUFQakEDdCADaikDAKcMAQsgBgRAQX8hCAwDCyASBEAgAigCAEEDakF8cSIGKAIAIQEgAiAGQQRqNgIABUEAIQELQQAhDSALKAIAQQFqIQcgAQshBiALIAc2AgAgByEBIAVBgMAAciAFIAZBAEgiBRshDkEAIAZrIAYgBRshECANBSALEPgCIhBBAEgEQEF/IQgMAgsgCygCACEBIAUhDiAGCyEXIAEsAABBLkYEQAJAIAFBAWohBSABLAABQSpHBEAgCyAFNgIAIAsQ+AIhASALKAIAIQYMAQsgASwAAhCVAQRAIAsoAgAiBSwAA0EkRgRAIAUsAAJBUGpBAnQgBGpBCjYCACAFLAACQVBqQQN0IANqKQMApyEBIAsgBUEEaiIGNgIADAILCyAXBEBBfyEIDAMLIBIEQCACKAIAQQNqQXxxIgUoAgAhASACIAVBBGo2AgAFQQAhAQsgCyALKAIAQQJqIgY2AgALBSABIQZBfyEBC0EAIQwDQCAGLAAAQb9/akE5SwRAQX8hCAwCCyALIAZBAWoiBzYCACAGLAAAIAxBOmxqQd+1GWosAAAiBkH/AXEiBUF/akEISQRAIAchBiAFIQwMAQsLIAZFBEBBfyEIDAELIBFBf0ohDQJAAkAgBkETRgRAIA0EQEF/IQgMBAsFAkAgDQRAIBFBAnQgBGogBTYCACAJIBFBA3QgA2opAwA3AwAMAQsgEkUEQEEAIQgMBQsgCSAFIAIQ9wIgCygCACEHDAILCyASDQBBACEBDAELIA5B//97cSIFIA4gDkGAwABxGyEGAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAHQX9qLAAAIgdBX3EgByAHQQ9xQQNGIAxBAEdxGyIHQcEAaw44CQoHCgkJCQoKCgoKCgoKCgoKCAoKCgoLCgoKCgoKCgoJCgUDCQkJCgMKCgoKAAIBCgoGCgQKCgsKCwJAAkACQAJAAkACQAJAAkAgDEH/AXFBGHRBGHUOCAABAgMEBwUGBwsgCSgCACAINgIAQQAhAQwXCyAJKAIAIAg2AgBBACEBDBYLIAkoAgAgCKw3AwBBACEBDBULIAkoAgAgCDsBAEEAIQEMFAsgCSgCACAIOgAAQQAhAQwTCyAJKAIAIAg2AgBBACEBDBILIAkoAgAgCKw3AwBBACEBDBELQQAhAQwQCyAGQQhyIQYgAUEIIAFBCEsbIQFB+AAhBwwJCyABIBMgCSkDACAUEP8FIg5rIgdBAWogBiIFQQhxRSABIAdKchshAUEAIQ1B8O8ZIQwMCwsgCSkDACIZQgBTBH8gCUIAIBl9Ihk3AwBBASENQfDvGQUgBkGBEHFBAEchDUHx7xlB8u8ZQfDvGSAGQQFxGyAGQYAQcRsLIQwMCAsgCSkDACEZQQAhDUHw7xkhDAwHCyAWIAkpAwA8AAAgFiEHIAUhBkEBIQVBACENQfDvGSEMIBMhAQwKCyAJKAIAIgZB+u8ZIAYbIgcgARD+BSIKRSEOIAUhBiABIAogB2sgDhshBUEAIQ1B8O8ZIQwgASAHaiAKIA4bIQEMCQsgDyAJKQMAPgIwIA9BADYCNCAJIBg2AgBBfyEFDAULIAEEQCABIQUMBQUgAEEgIBBBACAGEFFBACEBDAcLAAsgACAJKwMAIBAgASAGIAdBCxEHACEBDAcLIAohByABIQVBACENQfDvGSEMIBMhAQwFCyAJKQMAIBQgB0EgcRCABiEOQQBBAiAGIgVBCHFFIAkpAwBCAFFyIgYbIQ1B8O8ZIAdBBHZB8O8ZaiAGGyEMDAILIBkgFBCTASEOIAYhBQwBC0EAIQEgCSgCACEHAkACQANAIAcoAgAiCgRAIBUgChD2AiIKQQBIIgwgCiAFIAFrS3INAiAHQQRqIQcgBSABIApqIgFLDQELCwwBCyAMBEBBfyEIDAYLCyAAQSAgECABIAYQUSABBEBBACEFIAkoAgAhBwNAIAcoAgAiCkUNAyAVIAoQ9gIiCiAFaiIFIAFKDQMgB0EEaiEHIAAgFSAKEFAgBSABSQ0ACwVBACEBCwwBCyAOIBQgCSkDAEIAUiIKIAFBAEdyIhEbIQcgBUH//3txIAUgAUF/ShshBiABIBMgDmsgCkEBc2oiBSABIAVKG0EAIBEbIQUgEyEBDAELIABBICAQIAEgBkGAwABzEFEgECABIBAgAUobIQEMAQsgAEEgIA0gASAHayIKIAUgBSAKSBsiDmoiBSAQIBAgBUgbIgEgBSAGEFEgACAMIA0QUCAAQTAgASAFIAZBgIAEcxBRIABBMCAOIApBABBRIAAgByAKEFAgAEEgIAEgBSAGQYDAAHMQUQsgFyEGDAELCwwBCyAARQRAIAYEf0EBIQADQCAAQQJ0IARqKAIAIgEEQCAAQQN0IANqIAEgAhD3AiAAQQFqIgBBCkkNAUEBIQgMBAsLA38gAEECdCAEaigCAARAQX8hCAwECyAAQQFqIgBBCkkNAEEBCwVBAAshCAsLIA8kAiAICwsAIAAgASACEIEGCy0CA38BfiAAKQO4ARCsASEBAn8gACkDcCIEEKwBIQMgACAENwO4ASADCyABSQtGAQJ/IABB4ABqIQMgACgCnAIhAiAAKAKYAiABSQRAIAMgAhAxIABBADYCnAIgACADIAEQMCICNgKcAiAAIAE2ApgCCyACCw8AIAAQxwFBASAAKAIMdAsOACAAKQNwIAApA7gBfQvCAQEEfwJ/AkAgAEHUKWooAgBBAUcNACAALACSAkUNACAAEI4GQQEMAQsgAEG4KWoiBSgCACIEBH8gASgCACIGBH8gAigCACAAQbQpaiIHKAIAIAQgBiAEIAZJGyIEEDIaIAIgAigCACAEajYCACABIAEoAgAgBGs2AgAgByAHKAIAIARqNgIAIAUgBSgCACAEazYCACAAQbwpaiIBKAIAIARqIQAgASAANgIAIAMEQCADIAA2AgALQQEFQQALBUEACwsL1A4CFn8GfCMCIRAjAkHAImokAiMCIwNOBEBBwCIQAAsgEEEgaiEMIBBBEGohFCAQIQ0gACgCFCEFIAAoAhghBCAAIAAoAiQiCSAAKAIEIgsgCSALSxsiCzYCJCAAKAIQIgkEQCALBEAgACgCKCIGQZARbCAEaiECIAAoAgAiCEEBcUUiEQRAIAIhAwUgAiEOQRshBwsgBkGQEWwgBGogCEECdGohFwNAIAdBG0YEQEEAIQcgDigCACICuCEYIBwgAkGAAkkEfCACQQJ0QdCkGWoqAgC7BSAYEAELIBiioSEZIAIgEmohCiAOQQRqIQMLIAMgF0kEQCADKAIAIgK4IRggA0EEaiEOIBkgAkGAAkkEfCACQQJ0QdCkGWoqAgC7BSAYEAELIBiioSEcIAIgCmohEkEbIQcMAQsLIAq4IRggCgRAIBkgCkGAAkkEfCAKQQJ0QdCkGWoqAgC7BSAYEAELIBiioCEZCyAYIBkgGSAYYxshGiAGQZARbCAEaiEKQQAhAwNAIABBLGogA0ECdGooAgAhDiADQZARbCAMaiICIApBkBEQMhogA0GQEWwgDGpBgBFqIgYgDkGQEWwgBGpBgBFqKAIAIAYoAgBqNgIAQQAhBgNAIANBkBFsIAxqIAZBAnRqIhIgDkGQEWwgBGogBkECdGooAgAgEigCAGo2AgAgBkEBaiIGQaAERw0ACyARBEAgAiETRAAAAAAAAAAAIRtBACEPBSACIRVEAAAAAAAAAAAhHUEAIRZBLSEHCyADQZARbCAMaiAIQQJ0aiEGA0AgB0EtRgRAQQAhByAVKAIAIgK4IRggHSACQYACSQR8IAJBAnRB0KQZaioCALsFIBgQAQsgGKKhIRsgAiAWaiEPIBVBBGohEwsgEyAGSQRAIBMoAgAiArghGCATQQRqIRUgGyACQYACSQR8IAJBAnRB0KQZaioCALsFIBgQAQsgGKKhIR0gAiAPaiEWQS0hBwwBCwsgA0EDdCAUaiAPuCIZIA8EfCAbIA9BgAJJBHwgD0ECdEHQpBlqKgIAuwUgGRABCyAZoqAFIBsLIhggGCAZYxsiGDkDACADQQN0IA1qIBggGqEgAEE4aiADQQN0aisDAKE5AwAgA0EBaiIDQQJHDQALIA0rAwAhGAJAAkAgBSgCACICQYACTw0AIBggACsDCCIZZEUNACANKwMIIBlkRQ0AIAUoAgwgCUECdGogCzYCACAJIAUoAghqIAI6AAAgACAAKAIsNgIwIAAgBSgCAEH/AXE2AiwgAEFAayAAKwM4OQMAIAAgGjkDOCAAIAAoAhBBAWo2AhAgBSAFKAIAQQFqNgIAIAAgACgCKEEBaiICNgIoIAIgACgCHCgCAEkEQCACQZARbCAEakEAQYQREDMaIAJBkBFsIARqQYgRaiMBOQMACyAAQQA2AiQgAEEANgJIIAAgACgCBDYCIAwBCyAFKAIMIQIgDSsDCCAYRAAAAAAAADTAoGMEQCAJQQJ0IAJqIAs2AgAgCSAFKAIIIgJqIAIgCUF+amosAAA6AAAgACgCLCECIAAgACgCMCIDNgIsIAAgAjYCMCADQZARbCAEaiAMQZARakGQERAyGiAAQUBrIAArAzg5AwAgACAUKwMIOQM4IAAgACgCEEEBajYCECAAQQA2AiQgACgCKCICQZARbCAEakEAQYQREDMaIAJBkBFsIARqQYgRaiMBOQMAIABBADYCSCAAIAAoAgQ2AiAMAQsgCUF/akECdCACaiICIAIoAgAgC2o2AgAgACgCLEGQEWwgBGogDEGQERAyGiAAIBQrAwAiGDkDOCAFKAIAQQFGBEAgAEFAayAYOQMACyAAQQA2AiQgACgCKCICQZARbCAEakEAQYQREDMaIAJBkBFsIARqQYgRaiMBOQMAIAAgACgCSEEBaiIENgJIIARBAUsEQCAAIAAoAgQgACgCIGo2AiALCwsFIAUoAgwgCzYCACAFKAIIQQA6AAAgACgCACIDQQFxBEAgBCEGQQghBwUgBCECCyADQQJ0IARqIQ0DQCAHQQhGBEAgBigCACIDuCEYIBogA0GAAkkEfCADQQJ0QdCkGWoqAgC7BSAYEAELIBiioSEYIAMgEWohCCAGQQRqIQILIAIgDUkEQCACKAIAIgO4IRkgAkEEaiEGIBggA0GAAkkEfCADQQJ0QdCkGWoqAgC7BSAZEAELIBmioSEaIAMgCGohEUEIIQcMAQsLIAi4IRkgCARAIBggCEGAAkkEfCAIQQJ0QdCkGWoqAgC7BSAZEAELIBmioCEYCyAAIBkgGCAYIBljGyIYOQM4IABBQGsgGDkDACAAIAAoAhBBAWo2AhAgBSAFKAIAQQFqNgIAIAAgACgCKEEBaiICNgIoIAIgACgCHCgCAEkEQCACQZARbCAEakEAQYQREDMaIAJBkBFsIARqQYgRaiMBOQMACyAAQQA2AiQLIAEEQCAAKAIcIAUoAgA2AgAgBSAAKAIQNgIECyAQJAIL1A4CFn8GfCMCIRAjAkHALGokAiMCIwNOBEBBwCwQAAsgEEEgaiEMIBBBEGohFCAQIQ0gACgCFCEFIAAoAhghBCAAIAAoAiQiCSAAKAIEIgsgCSALSxsiCzYCJCAAKAIQIgkEQCALBEAgACgCKCIGQZAWbCAEaiECIAAoAgAiCEEBcUUiEQRAIAIhAwUgAiEOQRshBwsgBkGQFmwgBGogCEECdGohFwNAIAdBG0YEQEEAIQcgDigCACICuCEYIBwgAkGAAkkEfCACQQJ0QdCkGWoqAgC7BSAYEAELIBiioSEZIAIgEmohCiAOQQRqIQMLIAMgF0kEQCADKAIAIgK4IRggA0EEaiEOIBkgAkGAAkkEfCACQQJ0QdCkGWoqAgC7BSAYEAELIBiioSEcIAIgCmohEkEbIQcMAQsLIAq4IRggCgRAIBkgCkGAAkkEfCAKQQJ0QdCkGWoqAgC7BSAYEAELIBiioCEZCyAYIBkgGSAYYxshGiAGQZAWbCAEaiEKQQAhAwNAIABBLGogA0ECdGooAgAhDiADQZAWbCAMaiICIApBkBYQMhogA0GQFmwgDGpBgBZqIgYgDkGQFmwgBGpBgBZqKAIAIAYoAgBqNgIAQQAhBgNAIANBkBZsIAxqIAZBAnRqIhIgDkGQFmwgBGogBkECdGooAgAgEigCAGo2AgAgBkEBaiIGQcAFRw0ACyARBEAgAiETRAAAAAAAAAAAIRtBACEPBSACIRVEAAAAAAAAAAAhHUEAIRZBLSEHCyADQZAWbCAMaiAIQQJ0aiEGA0AgB0EtRgRAQQAhByAVKAIAIgK4IRggHSACQYACSQR8IAJBAnRB0KQZaioCALsFIBgQAQsgGKKhIRsgAiAWaiEPIBVBBGohEwsgEyAGSQRAIBMoAgAiArghGCATQQRqIRUgGyACQYACSQR8IAJBAnRB0KQZaioCALsFIBgQAQsgGKKhIR0gAiAPaiEWQS0hBwwBCwsgA0EDdCAUaiAPuCIZIA8EfCAbIA9BgAJJBHwgD0ECdEHQpBlqKgIAuwUgGRABCyAZoqAFIBsLIhggGCAZYxsiGDkDACADQQN0IA1qIBggGqEgAEE4aiADQQN0aisDAKE5AwAgA0EBaiIDQQJHDQALIA0rAwAhGAJAAkAgBSgCACICQYACTw0AIBggACsDCCIZZEUNACANKwMIIBlkRQ0AIAUoAgwgCUECdGogCzYCACAJIAUoAghqIAI6AAAgACAAKAIsNgIwIAAgBSgCAEH/AXE2AiwgAEFAayAAKwM4OQMAIAAgGjkDOCAAIAAoAhBBAWo2AhAgBSAFKAIAQQFqNgIAIAAgACgCKEEBaiICNgIoIAIgACgCHCgCAEkEQCACQZAWbCAEakEAQYQWEDMaIAJBkBZsIARqQYgWaiMBOQMACyAAQQA2AiQgAEEANgJIIAAgACgCBDYCIAwBCyAFKAIMIQIgDSsDCCAYRAAAAAAAADTAoGMEQCAJQQJ0IAJqIAs2AgAgCSAFKAIIIgJqIAIgCUF+amosAAA6AAAgACgCLCECIAAgACgCMCIDNgIsIAAgAjYCMCADQZAWbCAEaiAMQZAWakGQFhAyGiAAQUBrIAArAzg5AwAgACAUKwMIOQM4IAAgACgCEEEBajYCECAAQQA2AiQgACgCKCICQZAWbCAEakEAQYQWEDMaIAJBkBZsIARqQYgWaiMBOQMAIABBADYCSCAAIAAoAgQ2AiAMAQsgCUF/akECdCACaiICIAIoAgAgC2o2AgAgACgCLEGQFmwgBGogDEGQFhAyGiAAIBQrAwAiGDkDOCAFKAIAQQFGBEAgAEFAayAYOQMACyAAQQA2AiQgACgCKCICQZAWbCAEakEAQYQWEDMaIAJBkBZsIARqQYgWaiMBOQMAIAAgACgCSEEBaiIENgJIIARBAUsEQCAAIAAoAgQgACgCIGo2AiALCwsFIAUoAgwgCzYCACAFKAIIQQA6AAAgACgCACIDQQFxBEAgBCEGQQghBwUgBCECCyADQQJ0IARqIQ0DQCAHQQhGBEAgBigCACIDuCEYIBogA0GAAkkEfCADQQJ0QdCkGWoqAgC7BSAYEAELIBiioSEYIAMgEWohCCAGQQRqIQILIAIgDUkEQCACKAIAIgO4IRkgAkEEaiEGIBggA0GAAkkEfCADQQJ0QdCkGWoqAgC7BSAZEAELIBmioSEaIAMgCGohEUEIIQcMAQsLIAi4IRkgCARAIBggCEGAAkkEfCAIQQJ0QdCkGWoqAgC7BSAZEAELIBmioCEYCyAAIBkgGCAYIBljGyIYOQM4IABBQGsgGDkDACAAIAAoAhBBAWo2AhAgBSAFKAIAQQFqNgIAIAAgACgCKEEBaiICNgIoIAIgACgCHCgCAEkEQCACQZAWbCAEakEAQYQWEDMaIAJBkBZsIARqQYgWaiMBOQMACyAAQQA2AiQLIAEEQCAAKAIcIAUoAgA2AgAgBSAAKAIQNgIECyAQJAIL9wUBD38gBARAIAsoAgAhDQNAIBJBBHQgA2ooAgAhDyASQQR0IANqKAIEIQ4gEkEEdCADaigCCCEWIBJBBHQgA2ovAQ4hFyAHIBJBBHQgA2ovAQwiGCIRai0AACEQIAwgDUEDdmoiFCAULQAArSARQQF0IAhqLwEArSANQQdxrYaENwAAIAsgDSAQaiIRNgIAAn8gD0EGSQR/IA8FAn8gD0GCAUkEQCAPQX5qIhBnQR9zQX9qIQ0gECANdkECaiANQQF0agwBCyAPQb5/amdBH3NBCmpBFUEWQRcgD0HCsAFJGyAPQcIwSRsgD0HCEEkbCwshGiAOQf///w9xIhQgDkEZdiIOQQF0QYABcSAOckEYdEEYdWoiDkEKSQR/IA5B/v8DagUgDkGGAUkEfyAOQXpqIhNnQR9zQX9qIRAgEyAQdkEEaiAQQQF0agUgDkG6f2pnQR9zQQxqQRcgDkHGEEkbCwshECAaC0H//wNxIhNBAnRBgJsNaigCACENIBBB//8DcSIQQQJ0QaCdDWooAgAhFSAMIBFBA3ZqIhkgGS0AAK0gDyATQQJ0QeCbDWooAgBrrSAOIBBBAnRBwJwNaigCAGutIA2thoQgEUEHca2GhDcAACALIBUgDSARamoiDTYCAAJ/IA8EfyAPIREgASEOA0AgBSAAIAIgDnFqLQAAIhBqLQAAIRMgDCANQQN2aiIVIBUtAACtIBBBAXQgBmovAQCtIA1BB3GthoQ3AAAgCyANIBNqIg02AgAgDkEBaiEOIBFBf2oiEQ0ACyABIA9qBSABCyEbIBRBAEcgGEH/AEpxBEAgCSAXIhFB/wdxIgFqLQAAIQ8gDCANQQN2aiIQIBAtAACtIAFBAXQgCmovAQCtIA1BB3GthoQ3AAAgDCANIA9qIgFBA3ZqIg0gDS0AAK0gFq0gAUEHca2GhDcAACALIBFBCnYgAWoiATYCAAUgDSEBCyAbCyAUaiEOIBJBAWoiEiAERwRAIAEhDSAOIQEMAQsLCwtKAQJ/IABBf2oiBWdBH3MhBCADIABBAUYgBEEBakEQSXIEf0EEBSAEQQRqQQJ2CyIAQXxqrTcDACACIABBAnQ2AgAgASAFrTcDAAusAQEDfyABIAAEfyACIAEoAgAiA0EDdmoiBCAELQAArUIBIANBB3GthoQ3AAAgAiADQQFqIgVBA3ZqIgQgBC0AAK0gAGdBH3MiBK0gBUEHca2GhDcAACABIANBBGoiAzYCACACIANBA3ZqIgIgAi0AAK0gAEEBIAR0a60gA0EHca2GhDcAACADIARqBSACIAEoAgAiAEEDdmoiAiACLQAArTcAACAAQQFqCzYCAAsmACAAIAEoAvwGEDEgAUEANgL8BiAAIAEoAoAHEDEgAUEANgKABwujBAEIfyAAKAL0BiIEBEAgAEH4BmohCgUgACAAKALwBkEBaiIFNgLwBiAAKAIIIAVqLQAAIQQgACAAKAIMIAVBAnRqKAIAIgc2AvQGIABB+AZqIgogBEH/AXEiBiAAKAIAbDYCACAAKAIUIgVBAWogBkYEfyAAQRhqIQRBAQVBACAGQQJqIABBGGoiBCgCACAGRhsLIQggBCAFNgIAIAAgBjYCFCAIIABBHGpqLQAAIQUgAyACKAIAIgZBA3ZqIgQgBC0AAK0gAEGeAmogCEEBdGovAQCtIAZBB3GthoQ3AAAgAiAFIAZqIgk2AgBBFEEOIAdB8AVLG0EHQQAgB0EoSxsgB0GwAUsbIQQDQCAEQQFqIgVBA3RBgJ4NaigCACAHTQRAIAVBGUkEfyAFIQQMAgVBGQshBAsLIARBA3RBhJ4NaigCACELIAcgBEEDdEGAng1qKAIAayEIIAQgAEGiBmpqLQAAIQYgAyAJQQN2aiIFIAUtAACtIABBvAZqIARBAXRqLwEArSAJQQdxrYaENwAAIAMgBiAJaiIFQQN2aiIEIAQtAACtIAitIAVBB3GthoQ3AAAgAiAFIAtqNgIAIAAoAvQGIQQLIAAgBEF/ajYC9AYgASAKKAIAaiIFIAAoAvwGai0AACEEIAMgAigCACIDQQN2aiIBIAEtAACtIAAoAoAHIAVBAXRqLwEArSADQQdxrYaENwAAIAIgAyAEajYCAAskACAAKAIIIAAoAgwgACgCECAAKAIEIAEgAEEUaiACIAMQvgYLYAAgACABNgIAIAAgAjYCBCAAIAM2AgggACAENgIMIAAgBTYCECAAQRRqEJ8DIABBADYC8AYgACAFBH8gBCgCAAVBAAs2AvQGIABBADYC+AYgAEEANgL8BiAAQQA2AoAHC/MCAQd/IwIhBiMCQSBqJAIjAiMDTgRAQSAQAAsgBkEIaiEHIAZBEGohCCAGIQQgAyACKAIAIglBA3ZqIgUgBS0AAK0gAKwgCUEHca2GhDcAACACIAlBAWoiBTYCACACIAAEfyADIAVBA3ZqIgAgAC0AAK03AAAgAiAJQQJqNgIAIAEgByAIIAQQiwIgAyACKAIAIgFBA3ZqIgAgAC0AAK0gBCkDACABQQdxrYaENwAAIAIgAUECaiIENgIAAn8gCCgCACEKIAMgBEEDdmoiACAALQAArSAHKQMAIARBB3GthoQ3AAAgCgsgBGoFIAEgByAIIAQQiwIgAyACKAIAIgVBA3ZqIgAgAC0AAK0gBCkDACAFQQdxrYaENwAAIAgoAgAhASADIAVBAmoiBEEDdmoiACAALQAArSAHKQMAIARBB3GthoQ3AAAgAiABIARqIgE2AgAgAyABQQN2aiIAIAAtAACtNwAAIAFBAWoLNgIAIAYkAgv0CAIHfwZ8IwIhByMCQfAAaiQCIwIjA04EQEHwABAACyAHQdAAaiEDIAchBCAAQYAWaigCACIGBHwCfANAAkAgAUECdCAAaigCAARAIAJBAnQgA2ogATYCACACQQFqIQUgAkEDSgR/IAUhAgwCBSAFCyECCyABQQFqIgFBwAVJDQELCwJAAkACQAJAAkAgAkEBaw4EAAECAwQLRAAAAAAAAChADAQLIAa4RAAAAAAAADRAoAwDCyADKAIEQQJ0IABqKAIAIgIgAygCCEECdCAAaigCACIFIAIgBUsbIQEgBSADKAIAQQJ0IABqKAIAIgAgAmpqQQF0uEQAAAAAAAA8QKAgACABIAAgAUsbuKEMAgtBACECA0AgAkECdCAEaiACQQJ0IANqKAIAQQJ0IABqKAIANgIAIAJBAWoiAkEERw0AC0EAIQADQCAAQQFqIgJBBEkEQCAAQQJ0IARqIgMoAgAhACACIQUDQCAFQQJ0IARqIgYoAgAiASAASwRAIAYgADYCACADIAE2AgAgASEACyAFQQFqIgVBBEcNAAsLIAJBBEcEQCACIQAMAQsLIAQoAgggBCgCDGoiAEEDbLhEAAAAAACAQkCgIAQoAgAiAiAEKAIEakEBdLigIAAgAiAAIAJLG7ihDAELIARCADcDACAEQgA3AwggBEIANwMQIARCADcDGCAEQgA3AyAgBEIANwMoIARCADcDMCAEQgA3AzggBEFAa0IANwMAIAZBgAJJBHwgBkECdEHQpBlqKgIAuwUgBrgQAQshCUEAIQZBACECQQEhBQNAAkAgBkECdCAAaigCACIBBEAgCSABQYACSQR8IAG4IQggAUECdEHQpBlqKgIAuwUgAbgiCyEIIAsQAQuhIgtEAAAAAAAA4D+gqyIBQQ8gAUEPSRsiA0ECdCAEaiIBIAEoAgBBAWo2AgAgCiALIAiioCEKIAZBAWohASADIAUgAyAFSxshBQUCQCAGQQFqIgFBwAVPDQJBASEDA0AgAUECdCAAaigCAEUEQCADQQFqIQMgAUEBaiIBQcAFSQ0BCwsgAyAGaiIBQcAFRg0CIANBA0kEQCAEIAQoAgAgA2o2AgAMAQsgA0F+aiEDA0AgAkEBaiECIApEAAAAAAAACECgIQogA0EDdiIDDQALCwsgAUHABUkEQCABIQYMAgsLCyAEIAI2AkRBACECRAAAAAAAAAAAIQlBACEAA0AgAkECdCAEaigCACIBQYACSQR8IAG4IQggAUECdEHQpBlqKgIAuwUgAbgiCyEIIAsQAQshCyACQQFyQQJ0IARqKAIAIgMgACABamohACADuCEMIAkgCCALoqEgA0GAAkkEfCADQQJ0QdCkGWoqAgC7BSAMEAELIAyioSEJIAJBAmoiAkESSQ0ACyAAuCEIIAAEQCAJIABBgAJJBHwgAEECdEHQpBlqKgIAuwUgCBABCyAIoqAhCQsgCiAFQQF0QRJquKAgCCAJIAkgCGMboAsFRAAAAAAAAChACyENIAckAiANC7UCAwN/A30CfAJ8AnwCQCABRSIGBHwMAQUDQCAFQQJ0IABqKAIAIARqIQQgBUEBaiIFIAFHDQALIARBgAJJDQEgBLgQAQsMAQsgBEECdEHQpBlqKgIAuwshCyACRSABQQBHcQRAQQAhAgNAIAJBAnQgAGooAgBFIARqIQQgAkEBaiICIAFHDQALCyALC7YhByAEQYACSQR8IARBAnRB0KQZaioCALsFIAS4EAELtkMAAABAkiEIIAZFBEBBACECA0AgAkECdCAAaigCACIEBEAgBEGAAkkEfCAEQQJ0QdCkGWoqAgC7BSAEuBABCyEKIAJBAnQgA2oiBCAHIAq2kyIJOAIAIAlDAACAP10EQCAEQwAAgD84AgALBSACQQJ0IANqIAg4AgALIAJBAWoiAiABRw0ACwsLkwECA38CfSMCIQgjAkEgaiQCIwIjA04EQEEgEAALIAghByABQQR0IAZqIgkqAgwhCiAJIAAgASACIAYQ1gY2AgwgCiAEQYgWaigCACIAIAFBAnRqKgIAIAAqAgCTIgtfBEAgByABNgIAIAcgCjgCGCAHIAogC5M4AhQgASADIAYgB0EEahDVBiAFIAcQ1AYLIAgkAgvNBgEQfyADKAIMIgtBf0cEQANAIAsgEGoiCkEEdCADaigCACEJIApBBHQgA2ooAggiD0H///8/cSETIApBBHQgA2ooAgwhFCAOBEAgEyELBSAFKAIAIBNqIQsgBUEANgIACyAJQf///w9xIhVBCWogCUEZdmshDCAKQQR0IANqKAIEIhZBD2ogD0EbdiIKQX9qIApFGyEPIA5BBHQgB2ogCzYCACAOQQR0IAdqIBUgDCAJa0EZdHI2AgQgBigCNCEJIA5BBHQgB2ohCiAOQQR0IAdqIAYoAjAiDUEQaiIRIA9LBH8gCiAPQf//A3EiCjsBDkEABSAPQXBqIA1rQQEgCUECanRqIg1nQR9zQX9qIRIgCiARIA1BASAJdEH//wNqcWogDSASdkEBcSIRIBIgCWsiCkEBdEF+anIgCXRqIApBCnRyQf//A3EiCjsBDiANIBFBAnIgEnRrIAl2CzYCCAJ/IA5BBHQgB2ohGAJ/AkAgC0EGSQR/IAshCQwBBSALQYIBSQRAIAtBfmoiDWdBH3NBf2ohCSANIAl2QQJqIAlBAXRqIQkMAgsgC0HCEEkEfyALQb5/amdBH3NBCmohCQwCBUEVQRZBFyALQcKwAUkbIAtBwjBJGwsLDAELIAlB//8DcQshDSAMQQpJBH8gDEH+/wNqQf//A3EFAn8gDEGGAUkEQCAMQXpqIgxnQR9zQX9qIQkgDCAJdkEEaiAJQQF0akH//wNxDAELIAxBun9qZ0Efc0EMakH//wNxQRcgDEHGEEkbCwsiCUH//wNxIhdBB3EgDUH//wNxIhFBA3RBOHFyIQwgGAsgCkH/B3FFIA1B//8DcUEISHEgCUH//wNxQRBIcQR/IAwgDEHAAHIgCUH//wNxQQhIGwUgEUEDdkEDbCAXQQN2aiIKQQZ0QUBrQcCayAIgCkEBdHZBwAFxaiAMcgs7AQwgD0EARyAWIAEgECATaiIKaiIQIAIgECACSRtNcQRAIAQgBCgCCDYCDCAEIAQoAgQ2AgggBCAEKAIANgIEIAQgFjYCAAsgCCAIKAIAIAtqNgIAIAogFWohCiAOQQFqIQ4gFEF/RwRAIBQhCyAKIRAMAQsLCyAFIAUoAgAgACAKa2o2AgALTwEBfyABBEADQCACQQR0IABqQQE2AgAgAkEEdCAAakEANgIEIAJBBHQgAGpBADYCCCACQQR0IABqQ57J/344AgwgAkEBaiICIAFHDQALCwtSAQJ/IAAoAgwiAUUEQCAAIAAoAgRBAWoiATYCBCAAIAAoAgAiAigCCCABai0AADYCCCAAIAIoAgwgAUECdGooAgAiATYCDAsgACABQX9qNgIMCy4AIAAgATYCACAAQQA2AgQgAEEANgIIIAAgASgCDCIBBH8gASgCAAVBAAs2AgwLsAEBA38gAwRAA0AgBEEBdCACakGAAjsBACAEQQFqIgQgA0cNAAsLIAFFIgUEQEEAIQMFQQAhBEEAIQMDQCAAIARqLQAAQQF0IAJqIgYuAQBBgAJGBEAgBiADOwEAIANBAWpBEHRBEHUhAwsgBEEBaiIEIAFHDQALIAVFBEBBACEEA0AgACAEaiIFIAUtAABBAXQgAmouAQA6AAAgBEEBaiIEIAFHDQALCwsgA0H//wNxC70GAQd/IABFIgZFBEACQANAIARBAnQgAWooAgBBAEcgA2ohAyAEQQFqIgQgAEcNAAsgBiADQRBJckUEQCAAIQYDQCAGQX9qIgRBAnQgAWooAgBFBEAgBEUNAyAEIQYMAQsLQQAhA0GAgICABCEAA0AgB0ECdCABaigCACIFRSIIQQFzIANqIQMgACAFIAAgACAFSxsgCBshACAGIAdBAWoiB0cNAAsgA0EFTwRAIABBBEkgBiADa0EGSXEgBEEBS3EEQEEBIQADQCAAQX9qQQJ0IAFqKAIABEAgAEECdCABaiIHKAIARQRAIABBAWpBAnQgAWooAgAEQCAHQQE2AgALCwsgBCAAQQFqIgBHDQALCyADQRtLBEAgAkEAIAYQMxpBACEEQQAhAyABKAIAIQADQCACIARqIQcCfwJAIAQgBkYiBQ0AIAAgBEECdCABaigCAEcNACADQQFqDAELIABFIANBBEtxIABBAEcgA0EGS3FyBEAgByADa0EBIAMQMxoLIAVFBEAgBEECdCABaigCACEAC0EBCyEDIARBAWoiBCAGTQ0ACyAGQX5qIQhBACEFIAEoAgggASgCACABKAIEampBCHRBA25BpANqIQBBACEEQQAhAwNAAkACQCAFIAZGIgcNACACIAVqLAAADQAgBQRAIAIgBUF/amosAAANAQtB2AkgAGsgBUECdCABaigCACIJQQh0akGvE0sNACADIAlqIQcgBEEBaiIDQQNLBEAgAyEEIAdBCHQgA0EBdmogA24iAEH4AGogACADQQRGGyEABSADIQQLIAchAwwBCyADRSAEQQNGcSAEQQNLcgRAQQEgBEEBdiADaiIAIARuIAQgAEsbQQAgAxshAyAFQX9qIQlBACEAA0AgCSAAa0ECdCABaiADNgIAIAQgAEEBaiIARw0ACwsgBSAISQR/IAVBAmpBAnQgAWooAgAgBUECdCABaigCACAFQQFqQQJ0IAFqKAIAampBCHRBA25BpANqBSAFIAZJBH8gBUECdCABaigCAEEIdAVBAAsLIQAgBwRAQQAhAwUgBUECdCABaigCACEDC0EBIQQLIAVBAWoiBSAGTQ0ACwsLCwsLCy8BAX8gACgCBCIBIAAoAghHBEAgACABNgIICyAAKAIAIgEEQCAAKAIMGiABED8LC5kBAQR/IAFBBGoiAigCACAAKAIEIAAoAgAiA2siBWshBCACIAQ2AgAgBUEASgR/IAQgAyAFEDIaIAIhAyACKAIABSACIQMgBAshAiAAKAIAIQQgACACNgIAIAMgBDYCACAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAMoAgA2AgALQAAgAEEANgIMIAAgAzYCECAAIAEEfyABEEIFQQALIgM2AgAgACACIANqIgI2AgggACACNgIEIAAgASADajYCDAsfACABBEAgACABKAIAEJ4CIAAgASgCBBCeAiABED8LCycAIAEEQCAAIAEoAgAQnwIgACABKAIEEJ8CIAFBEGoQywMgARA/CwsRACAAQQhqIgAgACgCBBCfAgsfACABBEAgACABKAIAEKECIAAgASgCBBChAiABED8LC0IBA38jAiECIwJBIGok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BEAgBCACQQEQYSAAKAIMIgIoAgAoAgwhACACIAEgAEEfcUEMahEGACEAIAQQYAsgAyQCIAALTgEDfyMCIQIjAkEQaiQCIwIjA04EQEEQEAALIAIhAyAAQRBqIgQsAAAEQEEAIQAFIAMgBEEBEGEgACgCDCABEHEhACADEGALIAIkAiAAC04BA38jAiECIwJBEGokAiMCIwNOBEBBEBAACyACIQMgAEEQaiIELAAABEBBACEABSADIARBARBhIAAoAgwgARBmIQAgAxBgCyACJAIgAAtPAQN/IwIhAiMCQRBqJAIjAiMDTgRAQRAQAAsgAiEDIABBEGoiBCwAAARAQQAhAAUgAyAEQQEQYSAAKAIMIAEQpwEhACADEGALIAIkAiAACywAIABBH0ECQQJBAhA6IABByN4ZNgIAIAAgATYCCCAAQQA2AgwgAEEAOgAQC1sBA38jAiECIwJBIGokAiMCIwNOBEBBIBAACyACQQhqIgRByo4aEC4gAkEQaiIDIAQpAgA3AgAgASADEC8gAiAAKQIINwMAIAMgAikCADcCACABIAMQLyACJAILYQEBfyMCIQIjAkEQaiQCIwIjA04EQEEQEAALIABBEBA0IQAgAiABKQIANwMAIAJBCGoiASACKQIANwIAIABBNkEBQQFBARA6IABBnN4ZNgIAIAAgASkCADcCCCACJAIgAAvVAgEGfyMCIQIjAkFAayQCIwIjA04EQEHAABAACyACQThqIQMgAkEwaiEGIAJBIGohByACIQQgAkEoaiIFIAE2AgAgBSAANgIEIAFBKBBIIAAsABgEQCAAKAIMIgQEQCAEIAEQOyABQSAQSCACIABBEGoiACkCADcDGCADIAIpAhg3AgAgASADEC8gAUEgEEgFIABBEGohAAsgBkGUjhoQLiADIAYpAgA3AgAgASADEC8gAiAAKQIANwMQIAMgAikCEDcCACABIAMQLyABQSAQSCAFEMgCBSAFEMgCIAFBIBBIIAIgACkCEDcDCCADIAIpAgg3AgAgASADEC8gB0GZjhoQLiADIAcpAgA3AgAgASADEC8gACgCDARAIAFBIBBIIAQgACkCEDcDACADIAQpAgA3AgAgASADEC8gAUEgEEggACgCDCABEDsLCyABQSkQSCACJAILOQAgAEE5QQFBAUEBEDogAEHw3Rk2AgAgACADNgII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AEHCAEEBQQFBARA6IABB3NgZNgIAIAAgATYCCCAAIAI2AgwgACADNgIQC28BBH8jAiEFIwJBEGokAiMCIwNOBEBBEBAACyABIAUiBCIGQQxqIAIQugEiBygCACICBH9BAAUgBCABIAMQhQUgASAGKAIMIAcgBCgCABCMASAEKAIAIQJBAQshASAAIAI2AgAgACABOgAEIAUkAguMAQEFfyMCIQMjAkEQaiQCIwIjA04EQEEQEAALIANBDGohBCADQQhqIQUgAyEGIABBADYCACAAQQA2AgQgAEEANgIIIAIoAgAiAiABKAIAIgFrIgcEQCAAIAcQmwEgAyABNgIEIAYgAjYCACAFIAMoAgQ2AgAgBCAGKAIANgIAIAAgBSAEEP0HCyADJAILSwEBfyMCIQIjAkEQaiQCIwIjA04EQEEQEAALIABBFBA0IQAgAiABKQIANwMAIAJBCGoiASACKQIANwIAIABBACABENUCIAIkAiAACygAIABBLEEBQQFBARA6IABBsNgZNgIAIAAgATYCCCAAIAIpAgA3AgwLTgEBfyMCIQMjAkEQaiQCIwIjA04EQEEQEAALIABBFBA0IQAgASgCACEBIAMgAhAuIANBCGoiAiADKQIANwIAIAAgASACEJYFIAMkAiAAC8ICAQV/IwIhBCMCQUBrJAIjAiMDTgRAQcAAEAALIARBOGohAiAEQTBqIQMgACwAHARAIANB84EaEC4gAiADKQIANwIAIAEgAhAvCyAEQSBqIQMgBEEoaiIFQf+BGhAuIAIgBSkCADcCACABIAIQLyAALAAdBEAgA0GDghoQLiACIAMpAgA3AgAgASACEC8LIARBGGohAyAEQRBqIQUgAUEgEEggAEEIaiIGENACRQRAIANBu/cZEC4gAiADKQIANwIAIAEgAhAvIAYgARBeIAVBt/cZEC4gAiAFKQIANwIAIAEgAhAvCyAEQQhqIQUgBCEDIAAoAhAgARA7IABBFGoiABDQAkUEQCAFQbv3GRAuIAIgBSkCADcCACABIAIQLyAAIAEQXiADQbf3GRAuIAIgAykCADcCACABIAIQLwsgBCQCC0YAIABBM0EBQQFBARA6IABBhNgZNgIAIAAgASkCADcCCCAAIAI2AhAgACADKQIANwIUIAAgBEEBcToAHCAAIAVBAXE6AB0LbAEDfyMCIQIjAkEg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BEAgB0EJaiIDBH8gBSADEDAFQQALIQYgACgCkAEiAwRAIAYgAyAAKAKIAUEJahAyGiAFIAAoApABEDEgAEEANgKQAQsgACAGNgKQASAAIAc2AogBIAAgBkECajYClAEgBkEAOgABIAAoApQBQX5qQQA6AABBACEDA0AgACgClAEgACgCiAEgA2pqQQA6AAAgA0EBaiIDQQdHDQALIAAoApQBIAQoAgBBfmpqQQA6AAAgACgClAEgBCgCAEF/ampBADoAACAAKAKMASEDCyAAKAKAASIFIABB/ABqIgcoAgAgA3EiBksEQCAAQZQBaiIDKAIAIAQoAgAgBmpqIAIgASAFIAZrIgUgBSABSxsQMhoFIABBlAFqIQMLIAMoAgAgBmohBSABIAZqIAQoAgBLBEAgBSACIAEgACgChAEgBmsiBSAFIAFLGxAyGiADKAIAIAIgBCgCACAGayICaiABIAJrEDIaBSAFIAIgARAyGgsgACgCjAFBAEghBSADKAIAIgJBfmogAiAEKAIAQX5qaiwAADoAACADKAIAIgJBf2ogAiAEKAIAQX9qaiwAADoAACAAIAAoAowBQf////8HcSABQf////8HcWoiAkGAgICAeHIgAiAFGyICNgKMAQsgACAAKQNwIAGtfDcDcCACIAcoAgBNBEAgAiAAKAKUAWoiAEEANgAAIABBADsABCAAQQA6AAYLCx8BAX4gABCGAiEBIAAQhQIiACABp2tBACABIACtVBsL+AUBHH8jAiEPIwJBEGokAiMCIwNOBEBBEBAACyAPQQRqIQsgDyEQIAEoAgAiCEEBIAAoAgh0IgwgCCAMSRsiB0GAgAggB0GAgAhJGyEGIABB4ABqIQggACgCBCIJQQJJBH8gCUEBRgR/An8gAEGsKWoiCigCACIJRSAHQf//B0txBEAgCiAIQYCAIBAwNgIAIABBsClqIAhBgIAIEDA2AgAgCigCACEJCyAJBEBBACEKIABBsClqKAIADAELIAYEfyAIIAZBAnQQMCIJIRggCCAGEDAiCgVBACEJQQAhCkEACwsFQQAhCUEACyEZIABBuClqIREgAEHUKWohEiAAQagiaiEaIABBqCNqIRsgAEGoKWohHCAAQaglaiEdIABBtClqIR4gAEG8KWohEyAFRSEfA0ACQCAAIAMgBCAFEIcCRQRAIBEoAgANASAS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AiAgACgCZCABQf8AcUHIAWoRAQAgAEEANgJkIAAoAhwhASAAKAIgIAAoAqwBIAFB/wBxQcgBahEBACAAQQA2AqwBC9cBACAAQQA2ArwBIABBgICACDYCxAEgAEGAgIAINgLIASAAQYCAgAg2AswBIABBATYC0AEgAEEBNgLUASAAQQE2AtgBIABBATYC3AEgAEEANgLgASAAQQE2AuQBIABBADYC6AEgAEEBNgLsASAAQQA2AvABIABB7CZqQQA2AgAgAEHwJmpBADYCACAAQQA2AoQCIABBADYCiAIgAEEAOgCMAiAAQQA2ApABIABBADYCjAEgAEEANgKgASAAQQA2ApwBIABCADcDcCAAQgA3A3ggAEEANgKAAQuFAwEDfyAAQRo2AhggAEHYADYCHCAAQQA2AiAgAEEANgJcIABBADYCCCAAQSA2AgwgAEEANgIAIABB3CZqIgIuAQAhAyAAQQA2AjAgAEEANgIEIABBADYCNCAAQQA2AqACIABBADYCpAIgAEEANgJkIABBQGtBADYCACAAQeQmakEANgIAIABBADYCRCAAQewmakEANgIAIABB8CZqQQA2AgAgAEEANgKEAiAAQQA2AmAgAEEANgKQASAAQQA2AowBIABBADYCoAEgAEEANgKcASAAQgA3AnQgAEIANwJ8IABBwCZqIgFCADcDACABQgA3AwggAUIANwMQIAFBADYCGCACIANBQHFBEHI7AQAgAEHgJmpBADYCACAAQQA2AjwgAEEQNgJMIABBDzYCUCAAQQs2AlQgAEEENgJYIABBADYCSCAAQQA2AqwBIABBADYCsAEgACAAQdgDajYCtAMgAEG4JGpBPzYCACAAQfQmakG4yxk2AgAgAEH4JmpB4MwZNgIAQQELLAECfyAAQUBrKAIAIgEgACgCNCICIAIgAUobIAEgACgCoAJsaiAAKAKkAmsLgQYBC38gASgCqAIiAyAASQR/An8gASgCsAIhBgNAAkBBASAGRQ0CGiACBEBBAiABKAIUIgRFDQMaIAEgASgCCEEIdiICNgIIIAEgASgCECIFLQAAQRh0IAJyNgIIIAEgASgCDEF4aiICNgIMIAEgBEF/ajYCFCABIAVBAWo2AhAFIAEoAgwhAgtBICACayIEBH8gASgCCCACdgVBAAshCyAEIAFBtAJqIAtBH3EiBUECdGot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AgAgAyAEKQIINwIIIAMgBCkCEDcCECADIAQpAhg3AhggBCEFA0ACQCAFIAIpAgA3AgAgBSACKQIINwIIIAUgAikCEDcCECAFIAIpAhg3AhggACACRgRAIAAhAgwBCyADIAJBYGoiBxBHBEAgAiEFIAchAgwCCwsLIAIgAykCADcCACACIAMpAgg3AgggAiADKQIQNwIQIAIgAykCGDcCGAsgBEEgaiIFIAFHBEAgBCECIAUhBAwBCwsLIAYkAgtrACAAIAEoAgA2AgAgACABLgEEOwEEIABBADYCCCAAQQA2AgwgAEEANgIQIAAgASgCCDYCCCAAIAEoAgw2AgwgACABKAIQNgIQIAFBADYCECABQQA2AgwgAUEANgIIIABBFGogAUEUahDjAwtKAQJ/IAAoAgQiAiAAKAIIIgFHBEADQCAAIAFBYGoiATYCCCABEPoBIAAoAggiASACRw0ACwsgACgCACIBBEAgACgCDBogARA/Cwu8AQEFfyABQQRqIQMgACgCACIGIAAoAgQiAkYEfyAAIQQgAygCACECIAMFIAMoAgAhBQNAIAVBYGogAkFgaiIEEJsIIAMgAygCAEFgaiICNgIAIAQgBkcEQCACIQUgBCECDAELCyAAIQQgACgCACEGIAMLIQUgBCACNgIAIAUgBjYCACAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAUoAgA2AgALRwEBfyAAKAIIIQIDQCACQgA3AgAgAkIANwIIIAJCADcCECACQgA3AhggAhDiAyAAIAAoAghBIGoiAjYCCCABQX9qIgENAAsLsgEBAn8jAiEAIwJBEGokAiMCIwNOBEBBEBAAC0GguhlBuLoZQci6GUEAQajqGUEFQavqGUEAQavqGUEAQajoGUGt6hlB1QAQIBCaByAAQdcANgIAIABBADYCBCAAQQhqIgEgACkCADcCACABEIsHIABBAzYCACAAQQA2AgQgASAAKQIANwIAIAEQgQcgAEEGNgIAIABBADYCBCABIAApAgA3AgAgARDzBhDdBhDHBiAAJAILRwEBfyAAKAIEIQIDQCACQgA3AgAgAkIANwIIIAJCADcCECACQgA3AhggAhDiAyAAIAAoAgRBIGoiAjYCBCABQX9qIgENAAsLsgEBBn8jAiEEIwJBIGokAiMCIwNOBEBBIBAACyAEIQIgACgCCCAAKAIEIgNrQQV1IAFJBEBB////PyABIAMgACgCAGtBBXVqIgVJBEAQAgUgAiAFIAAoAgggACgCACIGayIHQQR1IgMgAyAFSRtB////PyAHQQV1Qf///x9JGyAAKAIEIAZrQQV1IABBCGoQrQIgAiABEJ4IIAAgAhCdCCACEJwICwUgACABEKAICyAEJAILQgEDfyMCIQIjAkEgaiQCIwIjA04EQEEgEAALIAIgATYCACACQQhqIgMgACABIAIQmQggAygCAEEUaiEEIAIkAiAEC0YBAn8gAEEANgIAIABBADYCBCAAQQA2AgggASgCBCABKAIAayIDQQV1IQIgAwRAIAAgAhCXCCAAIAEoAgAgASgCBBCWCAsLUQEBfyAAQQA2AgAgAEEANgIEIABBADYCCCABBEAgACABEJsBIAAoAgQhAwNAIAMgAiwAADoAACAAIAAoAgRBAWoiAzYCBCABQX9qIgENAAsLCzUBAX8gAEEANgIAIABBADYCBCAAQQA2AgggAiABayIDBEAgACADEJsBIAAgASACIAMQ2QELC1cBAn8gAQRAIAAoAgAhAyAAKAIEIQQDQCABKAIQIgAgA0kEfyABQQRqBQJ/IAMgAE8EQCABQQRqIAEoAhQgBEkNARoLIAEhAiABCwsoAgAiAQ0ACwsgAgsiAQF/IAAoAgQiAkEAIAFBAnQQMxogACABQQJ0IAJqNgIEC2EBAX9B/////wMgAUkEQBACCyABQf////8DSwRAQQgQBSIAQZbvGRBvIABBqOcZNgIAIABB0McZQc4AEAQFIAAgAUECdBBCIgI2AgQgACACNgIAIAAgAUECdCACajYCCAsLIgEBfyAAKAIIIgJBACABQQF0EDMaIAAgAUEBdCACajYCCAsiAQF/IAAoAgQiAkEAIAFBAXQQMxogACABQQF0IAJqNgIEC7ABAQV/IwIhBCMCQSBqJAIjAiMDTgRAQSAQAAsgBCECIAAoAgggACgCBCIDa0EBdSABSQRAQf////8HIAEgAyAAKAIAa0EBdWoiBUkEQBACBSACIAUgACgCCCAAKAIAIgNrIgYgBiAFSRtB/////wcgBkEBdUH/////A0kbIAAoAgQgA2tBAXUgAEEIahC8AiACIAEQqQggACACELkCIAIQuAILBSAA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AAUA0QAFAPEABgAxAQYAcQEHAPEBCADxAgkA8QQKAPEICwDxEAwA8SANAPFAGABBpg4L2oMDAgAAAAABAAADAAAAAAIAAAQAAAAAAwAABQAAAAADAAAGAAAAAAMAAAcAAAAAAwAACAAAAAADAAAJAAAAAAABAAIAAAAAAQEAAwAAAAACAQAEAAAAAAMBAAUAAAAAAwEABgAAAAADAQAHAAAAAAMBAAgAAAAAAwEACQAAAAAAAgACAAAAAAECAAMAAAAAAgIABAAAAAADAgAFAAAAAAMCAAYAAAAAAwIABwAAAAADAgAIAAAAAAMCAAkAAAAAAAMAAgAAAAABAwADAAAAAAIDAAQAAAAAAwMABQAAAAADAwAGAAAAAAMDAAcAAAAAAwMACAAAAAADAwAJAAAAAAAEAAIAAAAAAQQAAwAAAAACBAAEAAAAAAMEAAUAAAAAAwQABgAAAAADBAAHAAAAAAMEAAgAAAAAAwQACQAAAAAABQACAAAAAAEFAAMAAAAAAgUABAAAAAADBQAFAAAAAAMFAAYAAAAAAwUABwAAAAADBQAIAAAAAAMFAAkAAQAAAAYAAgABAAABBgADAAEAAAIGAAQAAQAAAwYABQABAAADBgAGAAEAAAMGAAcAAQAAAwYACAABAAADBgAJAAEAAAAIAAIAAQAAAQgAAwABAAACCAAEAAEAAAMIAAUAAQAAAwgABgABAAADCAAHAAEAAAMIAAgAAQAAAwgACQAAAQADAAAKAAABAAMAAAwAAAIAAwAADgAAAgADAAASAAADAAMAABYAAAMAAwAAHgAABAADAAAmAAAEAAMAADYAAAEAAwEACgAAAQADAQAMAAACAAMBAA4AAAIAAwEAEgAAAwADAQAWAAADAAMBAB4AAAQAAwEAJgAABAADAQA2AAABAAMCAAoAAAEAAwIADAAAAgADAgAOAAACAAMCABIAAAMAAwIAFgAAAwADAgAeAAAEAAMCACYAAAQAAwIANgAAAQADAwAKAAABAAMDAAwAAAIAAwMADgAAAgADAwASAAADAAMDABYAAAMAAwMAHgAABAADAwAmAAAEAAMDADYAAAEAAwQACgAAAQADBAAMAAACAAMEAA4AAAIAAwQAEgAAAwADBAAWAAADAAMEAB4AAAQAAwQAJgAABAADBAA2AAABAAMFAAoAAAEAAwUADAAAAgADBQAOAAACAAMFABIAAAMAAwUAFgAAAwADBQAeAAAEAAMFACYAAAQAAwUANgABAQADBgAKAAEBAAMGAAwAAQIAAwYADgABAgADBgASAAEDAAMGABYAAQMAAwYAHgABBAADBgAmAAEEAAMGADYAAQEAAwgACgABAQADCAAMAAECAAMIAA4AAQIAAwgAEgABAwADCAAWAAEDAAMIAB4AAQQAAwgAJgABBAADCAA2AAAA/wAAAAIAAAD/AQAAAwAAAP8CAAAEAAAA/wMAAAUAAAD/AwAABgAAAP8DAAAHAAAA/wMAAAgAAAD/AwAACQAAAP8AAQACAAAA/wEBAAMAAAD/AgEABAAAAP8DAQAFAAAA/wMBAAYAAAD/AwEABwAAAP8DAQAIAAAA/wMBAAkAAAD/AAIAAgAAAP8BAgADAAAA/wICAAQAAAD/AwIABQAAAP8DAgAGAAAA/wMCAAcAAAD/AwIACAAAAP8DAgAJAAAA/wADAAIAAAD/AQMAAwAAAP8CAwAEAAAA/wMDAAUAAAD/AwMABgAAAP8DAwAHAAAA/wMDAAgAAAD/AwMACQAAAP8ABAACAAAA/wEEAAMAAAD/AgQABAAAAP8DBAAFAAAA/wMEAAYAAAD/AwQABwAAAP8DBAAIAAAA/wMEAAkAAAD/AAUAAgAAAP8BBQADAAAA/wIFAAQAAAD/AwUABQAAAP8DBQAGAAAA/wMFAAcAAAD/AwUACAAAAP8DBQAJAAEA/wAGAAIAAQD/AQYAAwABAP8CBgAEAAEA/wMGAAUAAQD/AwYABgABAP8DBgAHAAEA/wMGAAgAAQD/AwYACQABAP8ACAACAAEA/wEIAAMAAQD/AggABAABAP8DCAAFAAEA/wMIAAYAAQD/AwgABwABAP8DCAAIAAEA/wMIAAkAAAH/AwAACgAAAf8DAAAMAAAC/wMAAA4AAAL/AwAAEgAAA/8DAAAWAAAD/wMAAB4AAAT/AwAAJgAABP8DAAA2AAAB/wMBAAoAAAH/AwEADAAAAv8DAQAOAAAC/wMBABIAAAP/AwEAFgAAA/8DAQAeAAAE/wMBACYAAAT/AwEANgAAAf8DAgAKAAAB/wMCAAwAAAL/AwIADgAAAv8DAgASAAAD/wMCABYAAAP/AwIAHgAABP8DAgAmAAAE/wMCADYAAAH/AwMACgAAAf8DAwAMAAAC/wMDAA4AAAL/AwMAEgAAA/8DAwAWAAAD/wMDAB4AAAT/AwMAJgAABP8DAwA2AAAB/wMEAAoAAAH/AwQADAAAAv8DBAAOAAAC/wMEABIAAAP/AwQAFgAAA/8DBAAeAAAE/wMEACYAAAT/AwQANgAAAf8DBQAKAAAB/wMFAAwAAAL/AwUADgAAAv8DBQASAAAD/wMFABYAAAP/AwUAHgAABP8DBQAmAAAE/wMFADYAAQH/AwYACgABAf8DBgAMAAEC/wMGAA4AAQL/AwYAEgABA/8DBgAWAAED/wMGAB4AAQT/AwYAJgABBP8DBgA2AAEB/wMIAAoAAQH/AwgADAABAv8DCAAOAAEC/wMIABIAAQP/AwgAFgABA/8DCAAeAAEE/wMIACYAAQT/AwgANgACAP8ACgACAAIA/wEKAAMAAgD/AgoABAACAP8DCgAFAAIA/wMKAAYAAgD/AwoABwACAP8DCgAIAAIA/wMKAAkAAgD/AA4AAgACAP8BDgADAAIA/wIOAAQAAgD/Aw4ABQACAP8DDgAGAAIA/wMOAAcAAgD/Aw4ACAACAP8DDgAJAAMA/wASAAIAAwD/ARIAAwADAP8CEgAEAAMA/wMSAAUAAwD/AxIABgADAP8DEgAHAAMA/wMSAAgAAwD/AxIACQADAP8AGgACAAMA/wEaAAMAAwD/AhoABAADAP8DGgAFAAMA/wMaAAYAAwD/AxoABwADAP8DGgAIAAMA/wMaAAkABAD/ACIAAgAEAP8BIgADAAQA/wIiAAQABAD/AyIABQAEAP8DIgAGAAQA/wMiAAcABAD/AyIACAAEAP8DIgAJAAQA/wAyAAIABAD/ATIAAwAEAP8CMgAEAAQA/wMyAAUABAD/AzIABgAEAP8DMgAHAAQA/wMyAAgABAD/AzIACQAFAP8AQgACAAUA/wFCAAMABQD/AkIABAAFAP8DQgAFAAUA/wNCAAYABQD/A0IABwAFAP8DQgAIAAUA/wNCAAkABQD/AGIAAgAFAP8BYgADAAUA/wJiAAQABQD/A2IABQAFAP8DYgAGAAUA/wNiAAcABQD/A2IACAAFAP8DYgAJAAIB/wMKAAoAAgH/AwoADAACAv8DCgAOAAIC/wMKABIAAgP/AwoAFgACA/8DCgAeAAIE/wMKACYAAgT/AwoANgACAf8DDgAKAAIB/wMOAAwAAgL/Aw4ADgACAv8DDgASAAID/wMOABYAAgP/Aw4AHgACBP8DDgAmAAIE/wMOADYAAwH/AxIACgADAf8DEgAMAAMC/wMSAA4AAwL/AxIAEgADA/8DEgAWAAMD/wMSAB4AAwT/AxIAJgADBP8DEgA2AAMB/wMaAAoAAwH/AxoADAADAv8DGgAOAAMC/wMaABIAAwP/AxoAFgADA/8DGgAeAAME/wMaACYAAwT/AxoANgAEAf8DIgAKAAQB/wMiAAwABAL/AyIADgAEAv8DIgASAAQD/wMiABYABAP/AyIAHgAEBP8DIgAmAAQE/wMiADYABAH/AzIACgAEAf8DMgAMAAQC/wMyAA4ABAL/AzIAEgAEA/8DMgAWAAQD/wMyAB4ABAT/AzIAJgAEBP8DMgA2AAUB/wNCAAoABQH/A0IADAAFAv8DQgAOAAUC/wNCABIABQP/A0IAFgAFA/8DQgAeAAUE/wNCACYABQT/A0IANgAFAf8DYgAKAAUB/wNiAAwABQL/A2IADgAFAv8DYgASAAUD/wNiABYABQP/A2IAHgAFBP8DYgAmAAUE/wNiADYAAAX/AwAARgAABf8DAABmAAAG/wMAAIYAAAf/AwAAxgAACP8DAABGAQAJ/wMAAEYCAAr/AwAARgQAGP8DAABGCAAF/wMBAEYAAAX/AwEAZgAABv8DAQCGAAAH/wMBAMYAAAj/AwEARgEACf8DAQBGAgAK/wMBAEYEABj/AwEARggABf8DAgBGAAAF/wMCAGYAAAb/AwIAhgAAB/8DAgDGAAAI/wMCAEYBAAn/AwIARgIACv8DAgBGBAAY/wMCAEYIAAX/AwMARgAABf8DAwBmAAAG/wMDAIYAAAf/AwMAxgAACP8DAwBGAQAJ/wMDAEYCAAr/AwMARgQAGP8DAwBGCAAF/wMEAEYAAAX/AwQAZgAABv8DBACGAAAH/wMEAMYAAAj/AwQARgEACf8DBABGAgAK/wMEAEYEABj/AwQARggABf8DBQBGAAAF/wMFAGYAAAb/AwUAhgAAB/8DBQDGAAAI/wMFAEYBAAn/AwUARgIACv8DBQBGBAAY/wMFAEYIAQX/AwYARgABBf8DBgBmAAEG/wMGAIYAAQf/AwYAxgABCP8DBgBGAQEJ/wMGAEYCAQr/AwYARgQBGP8DBgBGCAEF/wMIAEYAAQX/AwgAZgABBv8DCACGAAEH/wMIAMYAAQj/AwgARgEBCf8DCABGAgEK/wMIAEYEARj/AwgARggGAP8AggACAAYA/wGCAAMABgD/AoIABAAGAP8DggAFAAYA/wOCAAYABgD/A4IABwAGAP8DggAIAAYA/wOCAAkABwD/AMIAAgAHAP8BwgADAAcA/wLCAAQABwD/A8IABQAHAP8DwgAGAAcA/wPCAAcABwD/A8IACAAHAP8DwgAJAAgA/wBCAQIACAD/AUIBAwAIAP8CQgEEAAgA/wNCAQUACAD/A0IBBgAIAP8DQgEHAAgA/wNCAQgACAD/A0IBCQAJAP8AQgICAAkA/wFCAgMACQD/AkICBAAJAP8DQgIFAAkA/wNCAgYACQD/A0ICBwAJAP8DQgIIAAkA/wNCAgkACgD/AEIEAgAKAP8BQgQDAAoA/wJCBAQACgD/A0IEBQAKAP8DQgQGAAoA/wNCBAcACgD/A0IECAAKAP8DQgQJAAwA/wBCCAIADAD/AUIIAwAMAP8CQggEAAwA/wNCCAUADAD/A0IIBgAMAP8DQggHAAwA/wNCCAgADAD/A0IICQAOAP8AQhgCAA4A/wFCGAMADgD/AkIYBAAOAP8DQhgFAA4A/wNCGAYADgD/A0IYBwAOAP8DQhgIAA4A/wNCGAkAGAD/AEJYAgAYAP8BQlgDABgA/wJCWAQAGAD/A0JYBQAYAP8DQlgGABgA/wNCWAcAGAD/A0JYCAAYAP8DQlgJAAIF/wMKAEYAAgX/AwoAZgACBv8DCgCGAAIH/wMKAMYAAgj/AwoARgECCf8DCgBGAgIK/wMKAEYEAhj/AwoARggCBf8DDgBGAAIF/wMOAGYAAgb/Aw4AhgACB/8DDgDGAAII/wMOAEYBAgn/Aw4ARgICCv8DDgBGBAIY/wMOAEYIAwX/AxIARgADBf8DEgBmAAMG/wMSAIYAAwf/AxIAxgADCP8DEgBGAQMJ/wMSAEYCAwr/AxIARgQDGP8DEgBGCAMF/wMaAEYAAwX/AxoAZgADBv8DGgCGAAMH/wMaAMYAAwj/AxoARgEDCf8DGgBGAgMK/wMaAEYEAxj/AxoARggEBf8DIgBGAAQF/wMiAGYABAb/AyIAhgAEB/8DIgDGAAQI/wMiAEYBBAn/AyIARgIECv8DIgBGBAQY/wMiAEYIBAX/AzIARgAEBf8DMgBmAAQG/wMyAIYABAf/AzIAxgAECP8DMgBGAQQJ/wMyAEYCBAr/AzIARgQEGP8DMgBGCAUF/wNCAEYABQX/A0IAZgAFBv8DQgCGAAUH/wNCAMYABQj/A0IARgEFCf8DQgBGAgUK/wNCAEYEBRj/A0IARggFBf8DYgBGAAUF/wNiAGYABQb/A2IAhgAFB/8DYgDGAAUI/wNiAEYBBQn/A2IARgIFCv8DYgBGBAUY/wNiAEYIBgH/A4IACgAGAf8DggAMAAYC/wOCAA4ABgL/A4IAEgAGA/8DggAWAAYD/wOCAB4ABgT/A4IAJgAGBP8DggA2AAcB/wPCAAoABwH/A8IADAAHAv8DwgAOAAcC/wPCABIABwP/A8IAFgAHA/8DwgAeAAcE/wPCACYABwT/A8IANgAIAf8DQgEKAAgB/wNCAQwACAL/A0IBDgAIAv8DQgESAAgD/wNCARYACAP/A0IBHgAIBP8DQgEmAAgE/wNCATYACQH/A0ICCgAJAf8DQgIMAAkC/wNCAg4ACQL/A0ICEgAJA/8DQgIWAAkD/wNCAh4ACQT/A0ICJgAJBP8DQgI2AAoB/wNCBAoACgH/A0IEDAAKAv8DQgQOAAoC/wNCBBIACgP/A0IEFgAKA/8DQgQeAAoE/wNCBCYACgT/A0IENgAMAf8DQggKAAwB/wNCCAwADAL/A0IIDgAMAv8DQggSAAwD/wNCCBYADAP/A0IIHgAMBP8DQggmAAwE/wNCCDYADgH/A0IYCgAOAf8DQhgMAA4C/wNCGA4ADgL/A0IYEgAOA/8DQhgWAA4D/wNCGB4ADgT/A0IYJgAOBP8DQhg2ABgB/wNCWAoAGAH/A0JYDAAYAv8DQlgOABgC/wNCWBIAGAP/A0JYFgAYA/8DQlgeABgE/wNCWCYAGAT/A0JYNgAGBf8DggBGAAYF/wOCAGYABgb/A4IAhgAGB/8DggDGAAYI/wOCAEYBBgn/A4IARgIGCv8DggBGBAYY/wOCAEYIBwX/A8IARgAHBf8DwgBmAAcG/wPCAIYABwf/A8IAxgAHCP8DwgBGAQcJ/wPCAEYCBwr/A8IARgQHGP8DwgBGCAgF/wNCAUYACAX/A0IBZgAIBv8DQgGGAAgH/wNCAcYACAj/A0IBRgEICf8DQgFGAggK/wNCAUYECBj/A0IBRggJBf8DQgJGAAkF/wNCAmYACQb/A0IChgAJB/8DQgLGAAkI/wNCAkYBCQn/A0ICRgIJCv8DQgJGBAkY/wNCAkYICgX/A0IERgAKBf8DQgRmAAoG/wNCBIYACgf/A0IExgAKCP8DQgRGAQoJ/wNCBEYCCgr/A0IERgQKGP8DQgRGCAwF/wNCCEYADAX/A0IIZgAMBv8DQgiGAAwH/wNCCMYADAj/A0IIRgEMCf8DQghGAgwK/wNCCEYEDBj/A0IIRggOBf8DQhhGAA4F/wNCGGYADgb/A0IYhgAOB/8DQhjGAA4I/wNCGEYBDgn/A0IYRgIOCv8DQhhGBA4Y/wNCGEYIGAX/A0JYRgAYBf8DQlhmABgG/wNCWIYAGAf/A0JYxgAYCP8DQlhGARgJ/wNCWEYCGAr/A0JYRgQYGP8DQlhGCAAAAAAEAAAADAAAABwAAABJAAAAfgAAAOQAAACoAQAAAgICAwICAgQCAgIDAgICBAAEAwIABAMBAAQDAgAEAwUAAZIBtAHUAfQBFgI2AlYCdgKWArYC1gL2AhYDNgNWA3YDmAO4A9gD+AMYBDgEWAR4BJgEuATYBPgEGAU4BVgFeAWYBbgF2AX4BQAAAAAAAHRpbWVkb3dubGlmZWxlZnRiYWNrY29kZWRhdGFzaG93b25seXNpdGVjaXR5b3Blbmp1c3RsaWtlZnJlZXdvcmt0ZXh0eWVhcm92ZXJib2R5bG92ZWZvcm1ib29rcGxheWxpdmVsaW5laGVscGhvbWVzaWRlbW9yZXdvcmRsb25ndGhlbXZpZXdmaW5kcGFnZWRheXNmdWxsaGVhZHRlcm1lYWNoYXJlYWZyb210cnVlbWFya2FibGV1cG9uaGlnaGRhdGVsYW5kbmV3c2V2ZW5uZXh0Y2FzZWJvdGhwb3N0dXNlZG1hZGVoYW5kaGVyZXdoYXRuYW1lTGlua2Jsb2dzaXplYmFzZWhlbGRtYWtlbWFpbnVzZXInKSAraG9sZGVuZHN3aXRoTmV3c3JlYWR3ZXJlc2lnbnRha2VoYXZlZ2FtZXNlZW5jYWxscGF0aHdlbGxwbHVzbWVudWZpbG1wYXJ0am9pbnRoaXNsaXN0Z29vZG5lZWR3YXlzd2VzdGpvYnNtaW5kYWxzb2xvZ29yaWNodXNlc2xhc3R0ZWFtYXJteWZvb2RraW5nd2lsbGVhc3R3YXJkYmVzdGZpcmVQYWdla25vd2F3YXkucG5nbW92ZXRoYW5sb2FkZ2l2ZXNlbGZub3RlbXVjaGZlZWRtYW55cm9ja2ljb25vbmNlbG9va2hpZGVkaWVkSG9tZXJ1bGVob3N0YWpheGluZm9jbHVibGF3c2xlc3NoYWxmc29tZXN1Y2h6b25lMTAwJW9uZXNjYXJlVGltZXJhY2VibHVlZm91cndlZWtmYWNlaG9wZWdhdmVoYXJkbG9zdHdoZW5wYXJra2VwdHBhc3NzaGlwcm9vbUhUTUxwbGFuVHlwZWRvbmVzYXZla2VlcGZsYWdsaW5rc29sZGZpdmV0b29rcmF0ZXRvd25qdW1wdGh1c2RhcmtjYXJkZmlsZWZlYXJzdGF5a2lsbHRoYXRmYWxsYXV0b2V2ZXIuY29tdGFsa3Nob3B2b3RlZGVlcG1vZGVyZXN0dHVybmJvcm5iYW5kZmVsbHJvc2V1cmwoc2tpbnJvbGVjb21lYWN0c2FnZXNtZWV0Z29sZC5qcGdpdGVtdmFyeWZlbHR0aGVuc2VuZGRyb3BWaWV3Y29weTEuMCI8L2E+c3RvcGVsc2VsaWVzdG91cnBhY2suZ2lmcGFzdGNzcz9ncmF5bWVhbiZndDtyaWRlc2hvdGxhdGVzYWlkcm9hZHZhciBmZWVsam9obnJpY2twb3J0ZmFzdCdVQS1kZWFkPC9iPnBvb3JiaWxsdHlwZVUuUy53b29kbXVzdDJweDtJbmZvcmFua3dpZGV3YW50d2FsbGxlYWRbMF07cGF1bHdhdmVzdXJlJCgnI3dhaXRtYXNzYXJtc2dvZXNnYWlubGFuZ3BhaWQhLS0gbG9ja3VuaXRyb290d2Fsa2Zpcm13aWZleG1sInNvbmd0ZXN0MjBweGtpbmRyb3dzdG9vbGZvbnRtYWlsc2FmZXN0YXJtYXBzY29yZXJhaW5mbG93YmFieXNwYW5zYXlzNHB4OzZweDthcnRzZm9vdHJlYWx3aWtpaGVhdHN0ZXB0cmlwb3JnL2xha2V3ZWFrdG9sZEZvcm1jYXN0ZmFuc2Jhbmt2ZXJ5cnVuc2p1bHl0YXNrMXB4O2dvYWxncmV3c2xvd2VkZ2VpZD0ic2V0czVweDsuanM/NDBweGlmIChzb29uc2VhdG5vbmV0dWJlemVyb3NlbnRyZWVkZmFjdGludG9naWZ0aGFybTE4cHhjYW1laGlsbGJvbGR6b29tdm9pZGVhc3lyaW5nZmlsbHBlYWtpbml0Y29zdDNweDtqYWNrdGFnc2JpdHNyb2xsZWRpdGtuZXduZWFyPCEtLWdyb3dKU09OZHV0eU5hbWVzYWxleW91IGxvdHNwYWluamF6emNvbGRleWVzZmlzaHd3dy5yaXNrdGFic3ByZXYxMHB4cmlzZTI1cHhCbHVlZGluZzMwMCxiYWxsZm9yZGVhcm53aWxkYm94LmZhaXJsYWNrdmVyc3BhaXJqdW5ldGVjaGlmKCFwaWNrZXZpbCQoIiN3YXJtbG9yZGRvZXNwdWxsLDAwMGlkZWFkcmF3aHVnZXNwb3RmdW5kYnVybmhyZWZjZWxsa2V5c3RpY2tob3VybG9zc2Z1ZWwxMnB4c3VpdGRlYWxSU1MiYWdlZGdyZXlHRVQiZWFzZWFpbXNnaXJsYWlkczhweDtuYXZ5Z3JpZHRpcHMjOTk5d2Fyc2xhZHljYXJzKTsgfXBocD9oZWxsdGFsbHdob216aDrlKi8NCiAxMDBoYWxsLgoKQTdweDtwdXNoY2hhdDBweDtjcmV3Ki88L2hhc2g3NXB4ZmxhdHJhcmUgJiYgdGVsbGNhbXBvbnRvbGFpZG1pc3Nza2lwdGVudGZpbmVtYWxlZ2V0c3Bsb3Q0MDAsDQoNCmNvb2xmZWV0LnBocDxicj5lcmljbW9zdGd1aWRiZWxsZGVzY2hhaXJtYXRoYXRvbS9pbWcmIzgybHVja2NlbnQwMDA7dGlueWdvbmVodG1sc2VsbGRydWdGUkVFbm9kZW5pY2s/aWQ9bG9zZW51bGx2YXN0d2luZFJTUyB3ZWFycmVseWJlZW5zYW1lZHVrZW5hc2FjYXBld2lzaGd1bGZUMjM6aGl0c3Nsb3RnYXRla2lja2JsdXJ0aGV5MTVweCcnKTspOyI+bXNpZXdpbnNiaXJkc29ydGJldGFzZWVrVDE4Om9yZHN0cmVlbWFsbDYwcHhmYXJt4oCZc2JveXNbMF0uJyk7IlBPU1RiZWFya2lkcyk7fX1tYXJ5dGVuZChVSylxdWFkemg65i1zaXotLS0tcHJvcCcpOw1saWZ0VDE5OnZpY2VhbmR5ZGVidD5SU1Nwb29sbmVja2Jsb3dUMTY6ZG9vcmV2YWxUMTc6bGV0c2ZhaWxvcmFscG9sbG5vdmFjb2xzZ2VuZSDigJRzb2Z0cm9tZXRpbGxyb3NzPGgzPnBvdXJmYWRlcGluazx0cj5taW5pKXwhKG1pbmV6aDroYmFyc2hlYXIwMCk7bWlsayAtLT5pcm9uZnJlZGRpc2t3ZW50c29pbHB1dHMvanMvaG9seVQyMjpJU0JOVDIwOmFkYW1zZWVzPGgyPmpzb24nLCAnY29udFQyMTogUlNTbG9vcGFzaWFtb29uPC9wPnNvdWxMSU5FZm9ydGNhcnRUMTQ6PGgxPjgwcHghLS08OXB4O1QwNDptaWtlOjQ2Wm5pY2VpbmNoWW9ya3JpY2V6aDrkJykpO3B1cmVtYWdlcGFyYXRvbmVib25kOjM3Wl9vZl8nXSk7MDAwLHpoOud0YW5reWFyZGJvd2xidXNoOjU2WkphdmEzMHB4Cnx9CiVDMyU6MzRaamVmZkVYUEljYXNodmlzYWdvbGZzbm93emg66XF1ZXIuY3Nzc2lja21lYXRtaW4uYmluZGRlbGxoaXJlcGljc3JlbnQ6MzZaSFRUUC0yMDFmb3Rvd29sZkVORCB4Ym94OjU0WkJPRFlkaWNrOwp9CmV4aXQ6MzVadmFyc2JlYXQnfSk7ZGlldDk5OTthbm5lfX08L1tpXS5MYW5na23CsndpcmV0b3lzYWRkc3NlYWxhbGV4OwoJfWVjaG9uaW5lLm9yZzAwNSl0b255amV3c3NhbmRsZWdzcm9vZjAwMCkgMjAwd2luZWdlYXJkb2dzYm9vdGdhcnljdXRzdHlsZXRlbXB0aW9uLnhtbGNvY2tnYW5nJCgnLjUwcHhQaC5EbWlzY2FsYW5sb2FuZGVza21pbGVyeWFudW5peGRpc2MpO30KZHVzdGNsaXApLgoKNzBweC0yMDBEVkRzN10+PHRhcGVkZW1vaSsrKXdhZ2VldXJvcGhpbG9wdHNob2xlRkFRc2FzaW4tMjZUbGFic3BldHNVUkwgYnVsa2Nvb2s7fQ0KSEVBRFswXSlhYmJyanVhbigxOThsZXNodHdpbjwvaT5zb255Z3V5c2Z1Y2twaXBlfC0KITAwMiluZG93WzFdO1tdOwpMb2cgc2FsdA0KCQliYW5ndHJpbWJhdGgpew0KMDBweAp9KTtrbzrsZmVlc2FkPg1zOi8vIFtdO3RvbGxwbHVnKCl7CnsNCiAuanMnMjAwcGR1YWxib2F0LkpQRyk7Cn1xdW90KTsKCicpOwoNCn0NMjAxNDIwMTUyMDE2MjAxNzIwMTgyMDE5MjAyMDIwMjEyMDIyMjAyMzIwMjQyMDI1MjAyNjIwMjcyMDI4MjAyOTIwMzAyMDMxMjAzMjIwMzMyMDM0MjAzNTIwMzYyMDM3MjAxMzIwMTIyMDExMjAxMDIwMDkyMDA4MjAwNzIwMDYyMDA1MjAwNDIwMDMyMDAyMjAwMTIwMDAxOTk5MTk5ODE5OTcxOTk2MTk5NTE5OTQxOTkzMTk5MjE5OTExOTkwMTk4OTE5ODgxOTg3MTk4NjE5ODUxOTg0MTk4MzE5ODIxOTgxMTk4MDE5NzkxOTc4MTk3NzE5NzYxOTc1MTk3NDE5NzMxOTcyMTk3MTE5NzAxOTY5MTk2ODE5NjcxOTY2MTk2NTE5NjQxOTYzMTk2MjE5NjExOTYwMTk1OTE5NTgxOTU3MTk1NjE5NTUxOTU0MTk1MzE5NTIxOTUxMTk1MDEwMDAxMDI0MTM5NDAwMDA5OTk5Y29tb23DoXNlc3RlZXN0YXBlcm90b2RvaGFjZWNhZGFhw7FvYmllbmTDrWFhc8OtdmlkYWNhc29vdHJvZm9yb3NvbG9vdHJhY3VhbGRpam9zaWRvZ3JhbnRpcG90ZW1hZGViZWFsZ29xdcOpZXN0b25hZGF0cmVzcG9jb2Nhc2FiYWpvdG9kYXNpbm9hZ3VhcHVlc3Vub3NhbnRlZGljZWx1aXNlbGxhbWF5b3pvbmFhbW9ycGlzb29icmFjbGljZWxsb2Rpb3Nob3JhY2FzadC30LDQvdCw0L7QvNGA0LDRgNGD0YLQsNC90LXQv9C+0L7RgtC40LfQvdC+0LTQvtGC0L7QttC10L7QvdC40YXQndCw0LXQtdCx0YvQvNGL0JLRi9GB0L7QstGL0LLQvtCd0L7QvtCx0J/QvtC70LjQvdC40KDQpNCd0LXQnNGL0YLRi9Ce0L3QuNC80LTQsNCX0LDQlNCw0J3Rg9Ce0LHRgtC10JjQt9C10LnQvdGD0LzQvNCi0YvRg9C22YHZitij2YbZhdin2YXYudmD2YTYo9mI2LHYr9mK2KfZgdmJ2YfZiNmE2YXZhNmD2KfZiNmE2YfYqNiz2KfZhNil2YbZh9mK2KPZitmC2K/Zh9mE2KvZhdio2YfZhNmI2YTZitio2YTYp9mK2KjZg9i02YrYp9mF2KPZhdmG2KrYqNmK2YTZhtit2KjZh9mF2YXYtNmI2LRmaXJzdHZpZGVvbGlnaHR3b3JsZG1lZGlhd2hpdGVjbG9zZWJsYWNrcmlnaHRzbWFsbGJvb2tzcGxhY2VtdXNpY2ZpZWxkb3JkZXJwb2ludHZhbHVlbGV2ZWx0YWJsZWJvYXJkaG91c2Vncm91cHdvcmtzeWVhcnNzdGF0ZXRvZGF5d2F0ZXJzdGFydHN0eWxlZGVhdGhwb3dlcnBob25lbmlnaHRlcnJvcmlucHV0YWJvdXR0ZXJtc3RpdGxldG9vbHNldmVudGxvY2FsdGltZXNsYXJnZXdvcmRzZ2FtZXNzaG9ydHNwYWNlZm9jdXNjbGVhcm1vZGVsYmxvY2tndWlkZXJhZGlvc2hhcmV3b21lbmFnYWlubW9uZXlpbWFnZW5hbWVzeW91bmdsaW5lc2xhdGVyY29sb3JncmVlbmZyb250JmFtcDt3YXRjaGZvcmNlcHJpY2VydWxlc2JlZ2luYWZ0ZXJ2aXNpdGlzc3VlYXJlYXNiZWxvd2luZGV4dG90YWxob3Vyc2xhYmVscHJpbnRwcmVzc2J1aWx0bGlua3NzcGVlZHN0dWR5dHJhZGVmb3VuZHNlbnNldW5kZXJzaG93bmZvcm1zcmFuZ2VhZGRlZHN0aWxsbW92ZWR0YWtlbmFib3ZlZmxhc2hmaXhlZG9mdGVub3RoZXJ2aWV3c2NoZWNrbGVnYWxyaXZlcml0ZW1zcXVpY2tzaGFwZWh1bWFuZXhpc3Rnb2luZ21vdmlldGhpcmRiYXNpY3BlYWNlc3RhZ2V3aWR0aGxvZ2luaWRlYXN3cm90ZXBhZ2VzdXNlcnNkcml2ZXN0b3JlYnJlYWtzb3V0aHZvaWNlc2l0ZXNtb250aHdoZXJlYnVpbGR3aGljaGVhcnRoZm9ydW10aHJlZXNwb3J0cGFydHlDbGlja2xvd2VybGl2ZXNjbGFzc2xheWVyZW50cnlzdG9yeXVzYWdlc291bmRjb3VydHlvdXIgYmlydGhwb3B1cHR5cGVzYXBwbHlJbWFnZWJlaW5ndXBwZXJub3Rlc2V2ZXJ5c2hvd3NtZWFuc2V4dHJhbWF0Y2h0cmFja2tub3duZWFybHliZWdhbnN1cGVycGFwZXJub3J0aGxlYXJuZ2l2ZW5uYW1lZGVuZGVkVGVybXNwYXJ0c0dyb3VwYnJhbmR1c2luZ3dvbWFuZmFsc2VyZWFkeWF1ZGlvdGFrZXN3aGlsZS5jb20vbGl2ZWRjYXNlc2RhaWx5Y2hpbGRncmVhdGp1ZGdldGhvc2V1bml0c25ldmVyYnJvYWRjb2FzdGNvdmVyYXBwbGVmaWxlc2N5Y2xlc2NlbmVwbGFuc2NsaWNrd3JpdGVxdWVlbnBpZWNlZW1haWxmcmFtZW9sZGVycGhvdG9saW1pdGNhY2hlY2l2aWxzY2FsZWVudGVydGhlbWV0aGVyZXRvdWNoYm91bmRyb3lhbGFza2Vkd2hvbGVzaW5jZXN0b2NrIG5hbWVmYWl0aGhlYXJ0ZW1wdHlvZmZlcnNjb3Blb3duZWRtaWdodGFsYnVtdGhpbmtibG9vZGFycmF5bWFqb3J0cnVzdGNhbm9udW5pb25jb3VudHZhbGlkc3RvbmVTdHlsZUxvZ2luaGFwcHlvY2N1cmxlZnQ6ZnJlc2hxdWl0ZWZpbG1zZ3JhZGVuZWVkc3VyYmFuZmlnaHRiYXNpc2hvdmVyYXV0bztyb3V0ZS5odG1sbWl4ZWRmaW5hbFlvdXIgc2xpZGV0b3BpY2Jyb3duYWxvbmVkcmF3bnNwbGl0cmVhY2hSaWdodGRhdGVzbWFyY2hxdW90ZWdvb2RzTGlua3Nkb3VidGFzeW5jdGh1bWJhbGxvd2NoaWVmeW91dGhub3ZlbDEwcHg7c2VydmV1bnRpbGhhbmRzQ2hlY2tTcGFjZXF1ZXJ5amFtZXNlcXVhbHR3aWNlMCwwMDBTdGFydHBhbmVsc29uZ3Nyb3VuZGVpZ2h0c2hpZnR3b3J0aHBvc3RzbGVhZHN3ZWVrc2F2b2lkdGhlc2VtaWxlc3BsYW5lc21hcnRhbHBoYXBsYW50bWFya3NyYXRlc3BsYXlzY2xhaW1zYWxlc3RleHRzc3RhcnN3cm9uZzwvaDM+dGhpbmcub3JnL211bHRpaGVhcmRQb3dlcnN0YW5kdG9rZW5zb2xpZCh0aGlzYnJpbmdzaGlwc3N0YWZmdHJpZWRjYWxsc2Z1bGx5ZmFjdHNhZ2VudFRoaXMgLy8tLT5hZG1pbmVneXB0RXZlbnQxNXB4O0VtYWlsdHJ1ZSJjcm9zc3NwZW50YmxvZ3Nib3giPm5vdGVkbGVhdmVjaGluYXNpemVzZ3Vlc3Q8L2g0PnJvYm90aGVhdnl0cnVlLHNldmVuZ3JhbmRjcmltZXNpZ25zYXdhcmVkYW5jZXBoYXNlPjwhLS1lbl9VUyYjMzk7MjAwcHhfbmFtZWxhdGluZW5qb3lhamF4LmF0aW9uc21pdGhVLlMuIGhvbGRzcGV0ZXJpbmRpYW5hdiI+Y2hhaW5zY29yZWNvbWVzZG9pbmdwcmlvclNoYXJlMTk5MHNyb21hbmxpc3RzamFwYW5mYWxsc3RyaWFsb3duZXJhZ3JlZTwvaDI+YWJ1c2VhbGVydG9wZXJhIi0vL1djYXJkc2hpbGxzdGVhbXNQaG90b3RydXRoY2xlYW4ucGhwP3NhaW50bWV0YWxsb3Vpc21lYW50cHJvb2ZicmllZnJvdyI+Z2VucmV0cnVja2xvb2tzVmFsdWVGcmFtZS5uZXQvLS0+Cjx0cnkgewp2YXIgbWFrZXNjb3N0c3BsYWluYWR1bHRxdWVzdHRyYWlubGFib3JoZWxwc2NhdXNlbWFnaWNtb3RvcnRoZWlyMjUwcHhsZWFzdHN0ZXBzQ291bnRjb3VsZGdsYXNzc2lkZXNmdW5kc2hvdGVsYXdhcmRtb3V0aG1vdmVzcGFyaXNnaXZlc2R1dGNodGV4YXNmcnVpdG51bGwsfHxbXTt0b3AiPgo8IS0tUE9TVCJvY2Vhbjxici8+Zmxvb3JzcGVha2RlcHRoIHNpemViYW5rc2NhdGNoY2hhcnQyMHB4O2FsaWduZGVhbHN3b3VsZDUwcHg7dXJsPSJwYXJrc21vdXNlTW9zdCAuLi48L2Ftb25nYnJhaW5ib2R5IG5vbmU7YmFzZWRjYXJyeWRyYWZ0cmVmZXJwYWdlX2hvbWUubWV0ZXJkZWxheWRyZWFtcHJvdmVqb2ludDwvdHI+ZHJ1Z3M8IS0tIGFwcmlsaWRlYWxhbGxlbmV4YWN0Zm9ydGhjb2Rlc2xvZ2ljVmlldyBzZWVtc2JsYW5rcG9ydHMgKDIwMHNhdmVkX2xpbmtnb2Fsc2dyYW50Z3JlZWtob21lc3JpbmdzcmF0ZWQzMHB4O3dob3NlcGFyc2UoKTsiIEJsb2NrbGludXhqb25lc3BpeGVsJyk7Ij4pO2lmKC1sZWZ0ZGF2aWRob3JzZUZvY3VzcmFpc2Vib3hlc1RyYWNrZW1lbnQ8L2VtPmJhciI+LnNyYz10b3dlcmFsdD0iY2FibGVoZW5yeTI0cHg7c2V0dXBpdGFseXNoYXJwbWlub3J0YXN0ZXdhbnRzdGhpcy5yZXNldHdoZWVsZ2lybHMvY3NzLzEwMCU7Y2x1YnNzdHVmZmJpYmxldm90ZXMgMTAwMGtvcmVhfSk7DQpiYW5kc3F1ZXVlPSB7fTs4MHB4O2NraW5new0KCQlhaGVhZGNsb2NraXJpc2hsaWtlIHJhdGlvc3RhdHNGb3JtInlhaG9vKVswXTtBYm91dGZpbmRzPC9oMT5kZWJ1Z3Rhc2tzVVJMID1jZWxsc30pKCk7MTJweDtwcmltZXRlbGxzdHVybnMweDYwMC5qcGcic3BhaW5iZWFjaHRheGVzbWljcm9hbmdlbC0tPjwvZ2lmdHNzdGV2ZS1saW5rYm9keS59KTsKCW1vdW50ICgxOTlGQVE8L3JvZ2VyZnJhbmtDbGFzczI4cHg7ZmVlZHM8aDE+PHNjb3R0dGVzdHMyMnB4O2RyaW5rKSB8fCBsZXdpc3NoYWxsIzAzOTsgZm9yIGxvdmVkd2FzdGUwMHB4O2phOuOCc2ltb248Zm9udHJlcGx5bWVldHN1bnRlcmNoZWFwdGlnaHRCcmFuZCkgIT0gZHJlc3NjbGlwc3Jvb21zb25rZXltb2JpbG1haW4uTmFtZSBwbGF0ZWZ1bm55dHJlZXNjb20vIjEuanBnd21vZGVwYXJhbVNUQVJUbGVmdCBpZGRlbiwgMjAxKTsKfQpmb3JtLnZpcnVzY2hhaXJ0cmFuc3dvcnN0UGFnZXNpdGlvbnBhdGNoPCEtLQpvLWNhY2Zpcm1zdG91cnMsMDAwIGFzaWFuaSsrKXthZG9iZScpWzBdaWQ9MTBib3RoO21lbnUgLjIubWkucG5nImtldmluY29hY2hDaGlsZGJydWNlMi5qcGdVUkwpKy5qcGd8c3VpdGVzbGljZWhhcnJ5MTIwIiBzd2VldHRyPg0KbmFtZT1kaWVnb3BhZ2Ugc3dpc3MtLT4KCiNmZmY7Ij5Mb2cuY29tInRyZWF0c2hlZXQpICYmIDE0cHg7c2xlZXBudGVudGZpbGVkamE644NpZD0iY05hbWUid29yc2VzaG90cy1ib3gtZGVsdGEKJmx0O2JlYXJzOjQ4WjxkYXRhLXJ1cmFsPC9hPiBzcGVuZGJha2Vyc2hvcHM9ICIiO3BocCI+Y3Rpb24xM3B4O2JyaWFuaGVsbG9zaXplPW89JTJGIGpvaW5tYXliZTxpbWcgaW1nIj4sIGZqc2ltZyIgIilbMF1NVG9wQlR5cGUibmV3bHlEYW5za2N6ZWNodHJhaWxrbm93czwvaDU+ZmFxIj56aC1jbjEwKTsKLTEiKTt0eXBlPWJsdWVzdHJ1bHlkYXZpcy5qcyc7Pg0KPCFzdGVlbCB5b3UgaDI+DQpmb3JtIGplc3VzMTAwJSBtZW51Lg0KCQ0Kd2FsZXNyaXNrc3VtZW50ZGRpbmdiLWxpa3RlYWNoZ2lmIiB2ZWdhc2RhbnNrZWVzdGlzaHFpcHN1b21pc29icmVkZXNkZWVudHJldG9kb3NwdWVkZWHDsW9zZXN0w6F0aWVuZWhhc3Rhb3Ryb3NwYXJ0ZWRvbmRlbnVldm9oYWNlcmZvcm1hbWlzbW9tZWpvcm11bmRvYXF1w61kw61hc3PDs2xvYXl1ZGFmZWNoYXRvZGFzdGFudG9tZW5vc2RhdG9zb3RyYXNzaXRpb211Y2hvYWhvcmFsdWdhcm1heW9yZXN0b3Nob3Jhc3RlbmVyYW50ZXNmb3Rvc2VzdGFzcGHDrXNudWV2YXNhbHVkZm9yb3NtZWRpb3F1aWVubWVzZXNwb2RlcmNoaWxlc2Vyw6F2ZWNlc2RlY2lyam9zw6llc3RhcnZlbnRhZ3J1cG9oZWNob2VsbG9zdGVuZ29hbWlnb2Nvc2Fzbml2ZWxnZW50ZW1pc21hYWlyZXNqdWxpb3RlbWFzaGFjaWFmYXZvcmp1bmlvbGlicmVwdW50b2J1ZW5vYXV0b3JhYnJpbGJ1ZW5hdGV4dG9tYXJ6b3NhYmVybGlzdGFsdWVnb2PDs21vZW5lcm9qdWVnb3BlcsO6aGFiZXJlc3RveW51bmNhbXVqZXJ2YWxvcmZ1ZXJhbGlicm9ndXN0YWlndWFsdm90b3NjYXNvc2d1w61hcHVlZG9zb21vc2F2aXNvdXN0ZWRkZWJlbm5vY2hlYnVzY2FmYWx0YWV1cm9zc2VyaWVkaWNob2N1cnNvY2xhdmVjYXNhc2xlw7NucGxhem9sYXJnb29icmFzdmlzdGFhcG95b2p1bnRvdHJhdGF2aXN0b2NyZWFyY2FtcG9oZW1vc2NpbmNvY2FyZ29waXNvc29yZGVuaGFjZW7DoXJlYWRpc2NvcGVkcm9jZXJjYXB1ZWRhcGFwZWxtZW5vcsO6dGlsY2xhcm9qb3JnZWNhbGxlcG9uZXJ0YXJkZW5hZGllbWFyY2FzaWd1ZWVsbGFzc2lnbG9jb2NoZW1vdG9zbWFkcmVjbGFzZXJlc3RvbmnDsW9xdWVkYXBhc2FyYmFuY29oaWpvc3ZpYWplcGFibG/DqXN0ZXZpZW5lcmVpbm9kZWphcmZvbmRvY2FuYWxub3J0ZWxldHJhY2F1c2F0b21hcm1hbm9zbHVuZXNhdXRvc3ZpbGxhdmVuZG9wZXNhcnRpcG9zdGVuZ2FtYXJjb2xsZXZhcGFkcmV1bmlkb3ZhbW9zem9uYXNhbWJvc2JhbmRhbWFyaWFhYnVzb211Y2hhc3ViaXJyaW9qYXZpdmlyZ3JhZG9jaGljYWFsbMOtam92ZW5kaWNoYWVzdGFudGFsZXNzYWxpcnN1ZWxvcGVzb3NmaW5lc2xsYW1hYnVzY2/DqXN0YWxsZWdhbmVncm9wbGF6YWh1bW9ycGFnYXJqdW50YWRvYmxlaXNsYXNib2xzYWJhw7FvaGFibGFsdWNoYcOBcmVhZGljZW5qdWdhcm5vdGFzdmFsbGVhbGzDoWNhcmdhZG9sb3JhYmFqb2VzdMOpZ3VzdG9tZW50ZW1hcmlvZmlybWFjb3N0b2ZpY2hhcGxhdGFob2dhcmFydGVzbGV5ZXNhcXVlbG11c2VvYmFzZXNwb2Nvc21pdGFkY2llbG9jaGljb21pZWRvZ2FuYXJzYW50b2V0YXBhZGViZXNwbGF5YXJlZGVzc2lldGVjb3J0ZWNvcmVhZHVkYXNkZXNlb3ZpZWpvZGVzZWFhZ3VhcyZxdW90O2RvbWFpbmNvbW1vbnN0YXR1c2V2ZW50c21hc3RlcnN5c3RlbWFjdGlvbmJhbm5lcnJlbW92ZXNjcm9sbHVwZGF0ZWdsb2JhbG1lZGl1bWZpbHRlcm51bWJlcmNoYW5nZXJlc3VsdHB1YmxpY3NjcmVlbmNob29zZW5vcm1hbHRyYXZlbGlzc3Vlc3NvdXJjZXRhcmdldHNwcmluZ21vZHVsZW1vYmlsZXN3aXRjaHBob3Rvc2JvcmRlcnJlZ2lvbml0c2VsZnNvY2lhbGFjdGl2ZWNvbHVtbnJlY29yZGZvbGxvd3RpdGxlPmVpdGhlcmxlbmd0aGZhbWlseWZyaWVuZGxheW91dGF1dGhvcmNyZWF0ZXJldmlld3N1bW1lcnNlcnZlcnBsYXllZHBsYXllcmV4cGFuZHBvbGljeWZvcm1hdGRvdWJsZXBvaW50c3Nlcmllc3BlcnNvbmxpdmluZ2Rlc2lnbm1vbnRoc2ZvcmNlc3VuaXF1ZXdlaWdodHBlb3BsZWVuZXJneW5hdHVyZXNlYXJjaGZpZ3VyZWhhdmluZ2N1c3RvbW9mZnNldGxldHRlcndpbmRvd3N1Ym1pdHJlbmRlcmdyb3Vwc3VwbG9hZGhlYWx0aG1ldGhvZHZpZGVvc3NjaG9vbGZ1dHVyZXNoYWRvd2RlYmF0ZXZhbHVlc09iamVjdG90aGVyc3JpZ2h0c2xlYWd1ZWNocm9tZXNpbXBsZW5vdGljZXNoYXJlZGVuZGluZ3NlYXNvbnJlcG9ydG9ubGluZXNxdWFyZWJ1dHRvbmltYWdlc2VuYWJsZW1vdmluZ2xhdGVzdHdpbnRlckZyYW5jZXBlcmlvZHN0cm9uZ3JlcGVhdExvbmRvbmRldGFpbGZvcm1lZGRlbWFuZHNlY3VyZXBhc3NlZHRvZ2dsZXBsYWNlc2RldmljZXN0YXRpY2NpdGllc3N0cmVhbXllbGxvd2F0dGFja3N0cmVldGZsaWdodGhpZGRlbmluZm8iPm9wZW5lZHVzZWZ1bHZhbGxleWNhdXNlc2xlYWRlcnNlY3JldHNlY29uZGRhbWFnZXNwb3J0c2V4Y2VwdHJhdGluZ3NpZ25lZHRoaW5nc2VmZmVjdGZpZWxkc3N0YXRlc29mZmljZXZpc3VhbGVkaXRvcnZvbHVtZVJlcG9ydG11c2V1bW1vdmllc3BhcmVudGFjY2Vzc21vc3RseW1vdGhlciIgaWQ9Im1hcmtldGdyb3VuZGNoYW5jZXN1cnZleWJlZm9yZXN5bWJvbG1vbWVudHNwZWVjaG1vdGlvbmluc2lkZW1hdHRlckNlbnRlcm9iamVjdGV4aXN0c21pZGRsZUV1cm9wZWdyb3d0aGxlZ2FjeW1hbm5lcmVub3VnaGNhcmVlcmFuc3dlcm9yaWdpbnBvcnRhbGNsaWVudHNlbGVjdHJhbmRvbWNsb3NlZHRvcGljc2NvbWluZ2ZhdGhlcm9wdGlvbnNpbXBseXJhaXNlZGVzY2FwZWNob3NlbmNodXJjaGRlZmluZXJlYXNvbmNvcm5lcm91dHB1dG1lbW9yeWlmcmFtZXBvbGljZW1vZGVsc051bWJlcmR1cmluZ29mZmVyc3N0eWxlc2tpbGxlZGxpc3RlZGNhbGxlZHNpbHZlcm1hcmdpbmRlbGV0ZWJldHRlcmJyb3dzZWxpbWl0c0dsb2JhbHNpbmdsZXdpZGdldGNlbnRlcmJ1ZGdldG5vd3JhcGNyZWRpdGNsYWltc2VuZ2luZXNhZmV0eWNob2ljZXNwaXJpdC1zdHlsZXNwcmVhZG1ha2luZ25lZWRlZHJ1c3NpYXBsZWFzZWV4dGVudFNjcmlwdGJyb2tlbmFsbG93c2NoYXJnZWRpdmlkZWZhY3Rvcm1lbWJlci1iYXNlZHRoZW9yeWNvbmZpZ2Fyb3VuZHdvcmtlZGhlbHBlZENodXJjaGltcGFjdHNob3VsZGFsd2F5c2xvZ28iIGJvdHRvbWxpc3QiPil7dmFyIHByZWZpeG9yYW5nZUhlYWRlci5wdXNoKGNvdXBsZWdhcmRlbmJyaWRnZWxhdW5jaFJldmlld3Rha2luZ3Zpc2lvbmxpdHRsZWRhdGluZ0J1dHRvbmJlYXV0eXRoZW1lc2ZvcmdvdFNlYXJjaGFuY2hvcmFsbW9zdGxvYWRlZENoYW5nZXJldHVybnN0cmluZ3JlbG9hZE1vYmlsZWluY29tZXN1cHBseVNvdXJjZW9yZGVyc3ZpZXdlZCZuYnNwO2NvdXJzZUFib3V0IGlzbGFuZDxodG1sIGNvb2tpZW5hbWU9ImFtYXpvbm1vZGVybmFkdmljZWluPC9hPjogVGhlIGRpYWxvZ2hvdXNlc0JFR0lOIE1leGljb3N0YXJ0c2NlbnRyZWhlaWdodGFkZGluZ0lzbGFuZGFzc2V0c0VtcGlyZVNjaG9vbGVmZm9ydGRpcmVjdG5lYXJseW1hbnVhbFNlbGVjdC4KCk9uZWpvaW5lZG1lbnUiPlBoaWxpcGF3YXJkc2hhbmRsZWltcG9ydE9mZmljZXJlZ2FyZHNraWxsc25hdGlvblNwb3J0c2RlZ3JlZXdlZWtseSAoZS5nLmJlaGluZGRvY3RvcmxvZ2dlZHVuaXRlZDwvYj48L2JlZ2luc3BsYW50c2Fzc2lzdGFydGlzdGlzc3VlZDMwMHB4fGNhbmFkYWFnZW5jeXNjaGVtZXJlbWFpbkJyYXppbHNhbXBsZWxvZ28iPmJleW9uZC1zY2FsZWFjY2VwdHNlcnZlZG1hcmluZUZvb3RlcmNhbWVyYTwvaDE+Cl9mb3JtImxlYXZlc3N0cmVzcyIgLz4NCi5naWYiIG9ubG9hZGxvYWRlck94Zm9yZHNpc3RlcnN1cnZpdmxpc3RlbmZlbWFsZURlc2lnbnNpemU9ImFwcGVhbHRleHQiPmxldmVsc3RoYW5rc2hpZ2hlcmZvcmNlZGFuaW1hbGFueW9uZUFmcmljYWFncmVlZHJlY2VudFBlb3BsZTxiciAvPndvbmRlcnByaWNlc3R1cm5lZHx8IHt9O21haW4iPmlubGluZXN1bmRheXdyYXAiPmZhaWxlZGNlbnN1c21pbnV0ZWJlYWNvbnF1b3RlczE1MHB4fGVzdGF0ZXJlbW90ZWVtYWlsImxpbmtlZHJpZ2h0O3NpZ25hbGZvcm1hbDEuaHRtbHNpZ251cHByaW5jZWZsb2F0Oi5wbmciIGZvcnVtLkFjY2Vzc3BhcGVyc3NvdW5kc2V4dGVuZEhlaWdodHNsaWRlclVURi04IiZhbXA7IEJlZm9yZS4gV2l0aHN0dWRpb293bmVyc21hbmFnZXByb2ZpdGpRdWVyeWFubnVhbHBhcmFtc2JvdWdodGZhbW91c2dvb2dsZWxvbmdlcmkrKykge2lzcmFlbHNheWluZ2RlY2lkZWhvbWUiPmhlYWRlcmVuc3VyZWJyYW5jaHBpZWNlc2Jsb2NrO3N0YXRlZHRvcCI+PHJhY2luZ3Jlc2l6ZS0tJmd0O3BhY2l0eXNleHVhbGJ1cmVhdS5qcGciIDEwLDAwMG9idGFpbnRpdGxlc2Ftb3VudCwgSW5jLmNvbWVkeW1lbnUiIGx5cmljc3RvZGF5LmluZGVlZGNvdW50eV9sb2dvLkZhbWlseWxvb2tlZE1hcmtldGxzZSBpZlBsYXllcnR1cmtleSk7dmFyIGZvcmVzdGdpdmluZ2Vycm9yc0RvbWFpbn1lbHNle2luc2VydEJsb2c8L2Zvb3RlcmxvZ2luLmZhc3RlcmFnZW50czxib2R5IDEwcHggMHByYWdtYWZyaWRheWp1bmlvcmRvbGxhcnBsYWNlZGNvdmVyc3BsdWdpbjUsMDAwIHBhZ2UiPmJvc3Rvbi50ZXN0KGF2YXRhcnRlc3RlZF9jb3VudGZvcnVtc3NjaGVtYWluZGV4LGZpbGxlZHNoYXJlc3JlYWRlcmFsZXJ0KGFwcGVhclN1Ym1pdGxpbmUiPmJvZHkiPgoqIFRoZVRob3VnaHNlZWluZ2plcnNleU5ld3M8L3ZlcmlmeWV4cGVydGluanVyeXdpZHRoPUNvb2tpZVNUQVJUIGFjcm9zc19pbWFnZXRocmVhZG5hdGl2ZXBvY2tldGJveCI+ClN5c3RlbSBEYXZpZGNhbmNlcnRhYmxlc3Byb3ZlZEFwcmlsIHJlYWxseWRyaXZlcml0ZW0iPm1vcmUiPmJvYXJkc2NvbG9yc2NhbXB1c2ZpcnN0IHx8IFtdO21lZGlhLmd1aXRhcmZpbmlzaHdpZHRoOnNob3dlZE90aGVyIC5waHAiIGFzc3VtZWxheWVyc3dpbHNvbnN0b3Jlc3JlbGllZnN3ZWRlbkN1c3RvbWVhc2lseSB5b3VyIFN0cmluZwoKV2hpbHRheWxvcmNsZWFyOnJlc29ydGZyZW5jaHRob3VnaCIpICsgIjxib2R5PmJ1eWluZ2JyYW5kc01lbWJlcm5hbWUiPm9wcGluZ3NlY3RvcjVweDsiPnZzcGFjZXBvc3Rlcm1ham9yIGNvZmZlZW1hcnRpbm1hdHVyZWhhcHBlbjwvbmF2PmthbnNhc2xpbmsiPkltYWdlcz1mYWxzZXdoaWxlIGhzcGFjZTAmYW1wOyAKCkluICBwb3dlclBvbHNraS1jb2xvcmpvcmRhbkJvdHRvbVN0YXJ0IC1jb3VudDIuaHRtbG5ld3MiPjAxLmpwZ09ubGluZS1yaWdodG1pbGxlcnNlbmlvcklTQk4gMDAsMDAwIGd1aWRlc3ZhbHVlKWVjdGlvbnJlcGFpci54bWwiICByaWdodHMuaHRtbC1ibG9ja3JlZ0V4cDpob3ZlcndpdGhpbnZpcmdpbnBob25lczwvdHI+DXVzaW5nIAoJdmFyID4nKTsKCTwvdGQ+CjwvdHI+CmJhaGFzYWJyYXNpbGdhbGVnb21hZ3lhcnBvbHNraXNycHNradix2K/ZiOS4reaWh+eugOS9k+e5gemrlOS/oeaBr+S4reWbveaIkeS7rOS4gOS4quWFrOWPuOeuoeeQhuiuuuWdm+WPr+S7peacjeWKoeaXtumXtOS4quS6uuS6p+WTgeiHquW3seS8geS4muafpeeci+W3peS9nOiBlOezu+ayoeaciee9keermeaJgOacieivhOiuuuS4reW/g+aWh+eroOeUqOaIt+mmlumhteS9nOiAheaKgOacr+mXrumimOebuOWFs+S4i+i9veaQnOe0ouS9v+eUqOi9r+S7tuWcqOe6v+S4u+mimOi1hOaWmeinhumikeWbnuWkjeazqOWGjOe9kee7nOaUtuiXj+WGheWuueaOqOiNkOW4guWcuua2iOaBr+epuumXtOWPkeW4g+S7gOS5iOWlveWPi+eUn+a0u+WbvueJh+WPkeWxleWmguaenOaJi+acuuaWsOmXu+acgOaWsOaWueW8j+WMl+S6rOaPkOS+m+WFs+S6juabtOWkmui/meS4quezu+e7n+efpemBk+a4uOaIj+W5v+WRiuWFtuS7luWPkeihqOWuieWFqOesrOS4gOS8muWRmOi/m+ihjOeCueWHu+eJiOadg+eUteWtkOS4lueVjOiuvuiuoeWFjei0ueaVmeiCsuWKoOWFpea0u+WKqOS7luS7rOWVhuWTgeWNmuWuoueOsOWcqOS4iua1t+WmguS9leW3sue7j+eVmeiogOivpue7huekvuWMuueZu+W9leacrOermemcgOimgeS7t+agvOaUr+aMgeWbvemZhemTvuaOpeWbveWutuW7uuiuvuaci+WPi+mYheivu+azleW+i+S9jee9rue7j+a1jumAieaLqei/meagt+W9k+WJjeWIhuexu+aOkuihjOWboOS4uuS6pOaYk+acgOWQjumfs+S5kOS4jeiDvemAmui/h+ihjOS4muenkeaKgOWPr+iDveiuvuWkh+WQiOS9nOWkp+WutuekvuS8mueglOeptuS4k+S4muWFqOmDqOmhueebrui/memHjOi/mOaYr+W8gOWni+aDheWGteeUteiEkeaWh+S7tuWTgeeJjOW4ruWKqeaWh+WMlui1hOa6kOWkp+WtpuWtpuS5oOWcsOWdgOa1j+iniOaKlei1hOW3peeoi+imgeaxguaAjuS5iOaXtuWAmeWKn+iDveS4u+imgeebruWJjei1hOiur+WfjuW4guaWueazleeUteW9seaLm+iBmOWjsOaYjuS7u+S9leWBpeW6t+aVsOaNrue+juWbveaxvei9puS7i+e7jeS9huaYr+S6pOa1geeUn+S6p+aJgOS7peeUteivneaYvuekuuS4gOS6m+WNleS9jeS6uuWRmOWIhuaekOWcsOWbvuaXhea4uOW3peWFt+WtpueUn+ezu+WIl+e9keWPi+W4luWtkOWvhueggemikemBk+aOp+WItuWcsOWMuuWfuuacrOWFqOWbvee9keS4iumHjeimgeesrOS6jOWWnOasoui/m+WFpeWPi+aDhei/meS6m+iAg+ivleWPkeeOsOWfueiureS7peS4iuaUv+W6nOaIkOS4uueOr+Wig+mmmea4r+WQjOaXtuWoseS5kOWPkemAgeS4gOWumuW8gOWPkeS9nOWTgeagh+WHhuasoui/juino+WGs+WcsOaWueS4gOS4i+S7peWPiui0o+S7u+aIluiAheWuouaIt+S7o+ihqOenr+WIhuWls+S6uuaVsOeggemUgOWUruWHuueOsOemu+e6v+W6lOeUqOWIl+ihqOS4jeWQjOe8lui+kee7n+iuoeafpeivouS4jeimgeacieWFs+acuuaehOW+iOWkmuaSreaUvue7hOe7h+aUv+etluebtOaOpeiDveWKm+adpea6kOaZgumWk+eci+WIsOeDremXqOWFs+mUruS4k+WMuumdnuW4uOiLseivreeZvuW6puW4jOacm+e+juWls+avlOi+g+efpeivhuinhOWumuW7uuiurumDqOmXqOaEj+ingeeyvuW9qeaXpeacrOaPkOmrmOWPkeiogOaWuemdouWfuumHkeWkhOeQhuadg+mZkOW9seeJh+mTtuihjOi/mOacieWIhuS6q+eJqeWTgee7j+iQpea3u+WKoOS4k+Wutui/meenjeivnemimOi1t+adpeS4muWKoeWFrOWRiuiusOW9leeugOS7i+i0qOmHj+eUt+S6uuW9seWTjeW8leeUqOaKpeWRiumDqOWIhuW/q+mAn+WSqOivouaXtuWwmuazqOaEj+eUs+ivt+WtpuagoeW6lOivpeWOhuWPsuWPquaYr+i/lOWbnui0reS5sOWQjeensOS4uuS6huaIkOWKn+ivtOaYjuS+m+W6lOWtqeWtkOS4k+mimOeoi+W6j+S4gOiIrOacg+WToeWPquacieWFtuWug+S/neaKpOiAjOS4lOS7iuWkqeeql+WPo+WKqOaAgeeKtuaAgeeJueWIq+iupOS4uuW/hemhu+abtOaWsOWwj+ivtOaIkeWAkeS9nOS4uuWqkuS9k+WMheaLrOmCo+S5iOS4gOagt+WbveWGheaYr+WQpuagueaNrueUteinhuWtpumZouWFt+aciei/h+eoi+eUseS6juS6uuaJjeWHuuadpeS4jei/h+ato+WcqOaYjuaYn+aVheS6i+WFs+ezu+agh+mimOWVhuWKoei+k+WFpeS4gOebtOWfuuehgOaVmeWtpuS6huino+W7uuetkee7k+aenOWFqOeQg+mAmuefpeiuoeWIkuWvueS6juiJuuacr+ebuOWGjOWPkeeUn+ecn+eahOW7uueri+etiee6p+exu+Wei+e7j+mqjOWunueOsOWItuS9nOadpeiHquagh+etvuS7peS4i+WOn+WIm+aXoOazleWFtuS4reWAi+S6uuS4gOWIh+aMh+WNl+WFs+mXrembhuWbouesrOS4ieWFs+azqOWboOatpOeFp+eJh+a3seWcs+WVhuS4muW5v+W3nuaXpeacn+mrmOe6p+acgOi/kee7vOWQiOihqOekuuS4k+i+keihjOS4uuS6pOmAmuivhOS7t+inieW+l+eyvuWNjuWutuW6reWujOaIkOaEn+inieWuieijheW+l+WIsOmCruS7tuWItuW6pumjn+WTgeiZveeEtui9rOi9veaKpeS7t+iusOiAheaWueahiOihjOaUv+S6uuawkeeUqOWTgeS4nOilv+aPkOWHuumFkuW6l+eEtuWQjuS7mOasvueDreeCueS7peWJjeWujOWFqOWPkeW4luiuvue9rumihuWvvOW3peS4muWMu+mZoueci+eci+e7j+WFuOWOn+WboOW5s+WPsOWQhOenjeWinuWKoOadkOaWmeaWsOWinuS5i+WQjuiBjOS4muaViOaenOS7iuW5tOiuuuaWh+aIkeWbveWRiuivieeJiOS4u+S/ruaUueWPguS4juaJk+WNsOW/q+S5kOacuuaisOingueCueWtmOWcqOeyvuelnuiOt+W+l+WIqeeUqOe7p+e7reS9oOS7rOi/meS5iOaooeW8j+ivreiogOiDveWkn+mbheiZjuaTjeS9nOmjjuagvOS4gOi1t+enkeWtpuS9k+iCsuefreS/oeadoeS7tuayu+eWl+i/kOWKqOS6p+S4muS8muiuruWvvOiIquWFiOeUn+iBlOebn+WPr+aYr+WVj+mhjOe7k+aehOS9nOeUqOiwg+afpeizh+aWmeiHquWKqOi0n+i0o+WGnOS4muiuv+mXruWunuaWveaOpeWPl+iuqOiuuumCo+S4quWPjemmiOWKoOW8uuWls+aAp+iMg+WbtOacjeWLmeS8kemXsuS7iuaXpeWuouacjeingOeci+WPguWKoOeahOivneS4gOeCueS/neivgeWbvuS5puacieaViOa1i+ivleenu+WKqOaJjeiDveWGs+WumuiCoeelqOS4jeaWremcgOaxguS4jeW+l+WKnuazleS5i+mXtOmHh+eUqOiQpemUgOaKleivieebruagh+eIseaDheaRhOW9seacieS6m+ikh+ijveaWh+WtpuacuuS8muaVsOWtl+ijheS/rui0reeJqeWGnOadkeWFqOmdoueyvuWTgeWFtuWunuS6i+aDheawtOW5s+aPkOekuuS4iuW4guiwouiwouaZrumAmuaVmeW4iOS4iuS8oOexu+WIq+atjOabsuaLpeacieWIm+aWsOmFjeS7tuWPquimgeaXtuS7o+izh+ioiui+vuWIsOS6uueUn+iuoumYheiAgeW4iOWxleekuuW/g+eQhui0tOWtkOe2suermeS4u+mhjOiHqueEtue6p+WIq+eugOWNleaUuemdqemCo+S6m+adpeivtOaJk+W8gOS7o+eggeWIoOmZpOivgeWIuOiKguebrumHjeeCueasoeaVuOWkmuWwkeinhOWIkui1hOmHkeaJvuWIsOS7peWQjuWkp+WFqOS4u+mhteacgOS9s+WbnuetlOWkqeS4i+S/nemanOeOsOS7o+ajgOafpeaKleelqOWwj+aXtuaykuacieato+W4uOeUmuiHs+S7o+eQhuebruW9leWFrOW8gOWkjeWItumHkeiejeW5uOemj+eJiOacrOW9ouaIkOWHhuWkh+ihjOaDheWbnuWIsOaAneaDs+aAjuagt+WNj+iuruiupOivgeacgOWlveS6p+eUn+aMieeFp+acjeijheW5v+S4nOWKqOa8q+mHh+i0reaWsOaJi+e7hOWbvumdouadv+WPguiAg+aUv+ayu+WuueaYk+WkqeWcsOWKquWKm+S6uuS7rOWNh+e6p+mAn+W6puS6uueJqeiwg+aVtOa1geihjOmAoOaIkOaWh+Wtl+mfqeWbvei0uOaYk+W8gOWxleebuOmXnOihqOeOsOW9seinhuWmguatpOe+juWuueWkp+Wwj+aKpemBk+adoeasvuW/g+aDheiuuOWkmuazleinhOWutuWxheS5puW6l+i/nuaOpeeri+WNs+S4vuaKpeaKgOW3p+Wlpei/kOeZu+WFpeS7peadpeeQhuiuuuS6i+S7tuiHqueUseS4reWNjuWKnuWFrOWmiOWmiOecn+ato+S4jemUmeWFqOaWh+WQiOWQjOS7t+WAvOWIq+S6uuebkeedo+WFt+S9k+S4lue6quWboumYn+WIm+S4muaJv+aLheWinumVv+acieS6uuS/neaMgeWVhuWutue7tOS/ruWPsOa5vuW3puWPs+iCoeS7veetlOahiOWunumZheeUteS/oee7j+eQhueUn+WRveWuo+S8oOS7u+WKoeato+W8j+eJueiJsuS4i+adpeWNj+S8muWPquiDveW9k+eEtumHjeaWsOWFp+WuueaMh+WvvOi/kOihjOaXpeW/l+izo+Wutui2hei/h+Wcn+WcsOa1meaxn+aUr+S7mOaOqOWHuuermemVv+adreW3nuaJp+ihjOWItumAoOS5i+S4gOaOqOW5v+eOsOWcuuaPj+i/sOWPmOWMluS8oOe7n+atjOaJi+S/nemZqeivvueoi+WMu+eWl+e7j+i/h+i/h+WOu+S5i+WJjeaUtuWFpeW5tOW6puadguW/l+e+juS4veacgOmrmOeZu+mZhuacquadpeWKoOW3peWFjei0o+aVmeeoi+eJiOWdl+i6q+S9k+mHjeW6huWHuuWUruaIkOacrOW9ouW8j+Wcn+ixhuWHuuWDueS4nOaWuemCrueuseWNl+S6rOaxguiBjOWPluW+l+iBjOS9jeebuOS/oemhtemdouWIhumSn+e9kemhteehruWumuWbvuS+i+e9keWdgOenr+aegemUmeivr+ebrueahOWunei0neacuuWFs+mjjumZqeaOiOadg+eXheavkuWuoOeJqemZpOS6huipleirlueWvueXheWPiuaXtuaxgui0reermeeCueWEv+erpeavj+WkqeS4reWkruiupOivhuavj+S4quWkqea0peWtl+S9k+WPsOeBo+e7tOaKpOacrOmhteS4quaAp+WumOaWueW4uOingeebuOacuuaImOeVpeW6lOW9k+W+i+W4iOaWueS+v+agoeWbreiCoeW4guaIv+Wxi+agj+ebruWRmOW3peWvvOiHtOeqgeeEtumBk+WFt+acrOe9kee7k+WQiOaho+ahiOWKs+WKqOWPpuWklue+juWFg+W8lei1t+aUueWPmOesrOWbm+S8muiuoeiqquaYjumakOengeWuneWuneinhOiMg+a2iOi0ueWFseWQjOW/mOiusOS9k+ezu+W4puadpeWQjeWtl+eZvOihqOW8gOaUvuWKoOebn+WPl+WIsOS6jOaJi+Wkp+mHj+aIkOS6uuaVsOmHj+WFseS6q+WMuuWfn+Wls+WtqeWOn+WImeaJgOWcqOe7k+adn+mAmuS/oei2hee6p+mFjee9ruW9k+aXtuS8mOengOaAp+aEn+aIv+S6p+mBiuaIsuWHuuWPo+aPkOS6pOWwseS4muS/neWBpeeoi+W6puWPguaVsOS6i+S4muaVtOS4quWxseS4nOaDheaEn+eJueauiuWIhumhnuaQnOWwi+WxnuS6jumXqOaIt+i0ouWKoeWjsOmfs+WPiuWFtui0oue7j+WdmuaMgeW5sumDqOaIkOeri+WIqeebiuiAg+iZkeaIkOmDveWMheijheeUqOaItuavlOi1m+aWh+aYjuaLm+WVhuWujOaVtOecn+aYr+ecvOedm+S8meS8tOWogeacm+mihuWfn+WNq+eUn+S8mOaDoOirluWjh+WFrOWFseiJr+WlveWFheWIhuespuWQiOmZhOS7tueJueeCueS4jeWPr+iLseaWh+i1hOS6p+agueacrOaYjuaYvuWvhueivOWFrOS8l+awkeaXj+abtOWKoOS6q+WPl+WQjOWtpuWQr+WKqOmAguWQiOWOn+adpemXruetlOacrOaWh+e+jumjn+e7v+iJsueos+Wumue7iOS6jueUn+eJqeS+m+axguaQnOeLkOWKm+mHj+S4pemHjeawuOi/nOWGmeecn+aciemZkOernuS6ieWvueixoei0ueeUqOS4jeWlvee7neWvueWNgeWIhuS/g+i/m+eCueivhOW9semfs+S8mOWKv+S4jeWwkeaso+i1j+W5tuS4lOacieeCueaWueWQkeWFqOaWsOS/oeeUqOiuvuaWveW9ouixoei1hOagvOeqgeegtOmaj+edgOmHjeWkp+S6juaYr+avleS4muaZuuiDveWMluW3peWujOe+juWVhuWfjue7n+S4gOWHuueJiOaJk+mAoOeUouWTgeamguWGteeUqOS6juS/neeVmeWboOe0oOS4reWci+WtmOWCqOi0tOWbvuacgOaEm+mVv+acn+WPo+S7t+eQhui0ouWfuuWcsOWuieaOkuatpuaxiemHjOmdouWIm+W7uuWkqeepuummluWFiOWujOWWhOmpseWKqOS4i+mdouS4jeWGjeivmuS/oeaEj+S5iemYs+WFieiLseWbvea8guS6ruWGm+S6i+eOqeWutue+pOS8l+WGnOawkeWNs+WPr+WQjeeoseWutuWFt+WKqOeUu+aDs+WIsOazqOaYjuWwj+WtpuaAp+iDveiAg+eglOehrOS7tuingueci+a4healmuaQnueskemmlumggem7hOmHkemAgueUqOaxn+iLj+ecn+WunuS4u+euoemYtuauteiou+WGiue/u+ivkeadg+WIqeWBmuWlveS8vOS5jumAmuiur+aWveW3peeLgOaFi+S5n+iuuOeOr+S/neWfueWFu+amguW/teWkp+Wei+acuuelqOeQhuino+WMv+WQjWN1YW5kb2Vudmlhcm1hZHJpZGJ1c2NhcmluaWNpb3RpZW1wb3BvcnF1ZWN1ZW50YWVzdGFkb3B1ZWRlbmp1ZWdvc2NvbnRyYWVzdMOhbm5vbWJyZXRpZW5lbnBlcmZpbG1hbmVyYWFtaWdvc2NpdWRhZGNlbnRyb2F1bnF1ZXB1ZWRlc2RlbnRyb3ByaW1lcnByZWNpb3NlZ8O6bmJ1ZW5vc3ZvbHZlcnB1bnRvc3NlbWFuYWhhYsOtYWFnb3N0b251ZXZvc3VuaWRvc2Nhcmxvc2VxdWlwb25pw7Fvc211Y2hvc2FsZ3VuYWNvcnJlb2ltYWdlbnBhcnRpcmFycmliYW1hcsOtYWhvbWJyZWVtcGxlb3ZlcmRhZGNhbWJpb211Y2hhc2Z1ZXJvbnBhc2Fkb2zDrW5lYXBhcmVjZW51ZXZhc2N1cnNvc2VzdGFiYXF1aWVyb2xpYnJvc2N1YW50b2FjY2Vzb21pZ3VlbHZhcmlvc2N1YXRyb3RpZW5lc2dydXBvc3NlcsOhbmV1cm9wYW1lZGlvc2ZyZW50ZWFjZXJjYWRlbcOhc29mZXJ0YWNvY2hlc21vZGVsb2l0YWxpYWxldHJhc2FsZ8O6bmNvbXByYWN1YWxlc2V4aXN0ZWN1ZXJwb3NpZW5kb3ByZW5zYWxsZWdhcnZpYWplc2RpbmVyb211cmNpYXBvZHLDoXB1ZXN0b2RpYXJpb3B1ZWJsb3F1aWVyZW1hbnVlbHByb3Bpb2NyaXNpc2NpZXJ0b3NlZ3Vyb211ZXJ0ZWZ1ZW50ZWNlcnJhcmdyYW5kZWVmZWN0b3BhcnRlc21lZGlkYXByb3BpYW9mcmVjZXRpZXJyYWUtbWFpbHZhcmlhc2Zvcm1hc2Z1dHVyb29iamV0b3NlZ3VpcnJpZXNnb25vcm1hc21pc21vc8O6bmljb2NhbWlub3NpdGlvc3JhesOzbmRlYmlkb3BydWViYXRvbGVkb3RlbsOtYWplc8O6c2VzcGVyb2NvY2luYW9yaWdlbnRpZW5kYWNpZW50b2PDoWRpemhhYmxhcnNlcsOtYWxhdGluYWZ1ZXJ6YWVzdGlsb2d1ZXJyYWVudHJhcsOpeGl0b2zDs3BlemFnZW5kYXbDrWRlb2V2aXRhcnBhZ2luYW1ldHJvc2phdmllcnBhZHJlc2bDoWNpbGNhYmV6YcOhcmVhc3NhbGlkYWVudsOtb2phcMOzbmFidXNvc2JpZW5lc3RleHRvc2xsZXZhcnB1ZWRhbmZ1ZXJ0ZWNvbcO6bmNsYXNlc2h1bWFub3Rlbmlkb2JpbGJhb3VuaWRhZGVzdMOhc2VkaXRhcmNyZWFkb9C00LvRj9GH0YLQvtC60LDQutC40LvQuNGN0YLQvtCy0YHQtdC10LPQvtC/0YDQuNGC0LDQutC10YnQtdGD0LbQtdCa0LDQutCx0LXQt9Cx0YvQu9C+0L3QuNCS0YHQtdC/0L7QtNCt0YLQvtGC0L7QvNGH0LXQvNC90LXRgtC70LXRgtGA0LDQt9C+0L3QsNCz0LTQtdC80L3QtdCU0LvRj9Cf0YDQuNC90LDRgdC90LjRhdGC0LXQvNC60YLQvtCz0L7QtNCy0L7RgtGC0LDQvNCh0KjQkNC80LDRj9Cn0YLQvtCy0LDRgdCy0LDQvNC10LzRg9Ci0LDQutC00LLQsNC90LDQvNGN0YLQuNGN0YLRg9CS0LDQvNGC0LXRhdC/0YDQvtGC0YPRgtC90LDQtNC00L3Rj9CS0L7RgtGC0YDQuNC90LXQudCS0LDRgdC90LjQvNGB0LDQvNGC0L7RgtGA0YPQsdCe0L3QuNC80LjRgNC90LXQtdCe0J7QntC70LjRhtGN0YLQsNCe0L3QsNC90LXQvNC00L7QvNC80L7QudC00LLQtdC+0L3QvtGB0YPQtOCkleClh+CkueCliOCkleClgOCkuOClh+CkleCkvuCkleCli+CklOCksOCkquCksOCkqOClh+Ckj+CkleCkleCkv+CkreClgOCkh+CkuOCkleCksOCkpOCli+CkueCli+CkhuCkquCkueClgOCkr+CkueCkr+CkvuCkpOCkleCkpeCkvmphZ3JhbuCkhuCknOCknOCli+CkheCkrOCkpuCli+Ckl+CkiOCknOCkvuCkl+Ckj+CkueCkruCkh+CkqOCkteCkueCkr+Clh+CkpeClh+CkpeClgOCkmOCksOCknOCkrOCkpuClgOCkleCkiOCknOClgOCkteClh+CkqOCkiOCkqOCkj+CkueCksOCkieCkuOCkruClh+CkleCkruCkteCli+CksuClh+CkuOCkrOCkruCkiOCkpuClh+Ckk+CksOCkhuCkruCkrOCkuOCkreCksOCkrOCkqOCkmuCksuCkruCkqOCkhuCkl+CkuOClgOCksuClgNi52YTZidil2YTZidmH2LDYp9ii2K7Ysdi52K/Yr9in2YTZidmH2LDZh9i12YjYsdi62YrYsdmD2KfZhtmI2YTYp9io2YrZhti52LHYttiw2YTZg9mH2YbYp9mK2YjZhdmC2KfZhNi52YTZitin2YbYp9mE2YPZhtit2KrZidmC2KjZhNmI2K3Yqdin2K7YsdmB2YLYt9i52KjYr9ix2YPZhtil2LDYp9mD2YXYp9in2K3Yr9il2YTYp9mB2YrZh9io2LnYttmD2YrZgdio2K3Yq9mI2YXZhtmI2YfZiNij2YbYp9is2K/Yp9mE2YfYp9iz2YTZhdi52YbYr9mE2YrYs9i52KjYsdi12YTZidmF2YbYsNio2YfYp9ij2YbZh9mF2KvZhNmD2YbYqtin2YTYp9it2YrYq9mF2LXYsdi02LHYrdit2YjZhNmI2YHZitin2LDYp9mE2YPZhNmF2LHYqdin2YbYqtin2YTZgdij2KjZiNiu2KfYtdij2YbYqtin2YbZh9in2YTZiti52LbZiNmI2YLYr9in2KjZhtiu2YrYsdio2YbYqtmE2YPZhdi02KfYodmI2YfZitin2KjZiNmC2LXYtdmI2YXYp9ix2YLZhdij2K3Yr9mG2K3Zhti52K/Zhdix2KPZitin2K3YqdmD2KrYqNiv2YjZhtmK2KzYqNmF2YbZh9iq2K3Yqtis2YfYqdiz2YbYqdmK2KrZhdmD2LHYqdi62LLYqdmG2YHYs9io2YrYqtmE2YTZh9mE2YbYp9iq2YTZg9mC2YTYqNmE2YXYp9i52YbZh9ij2YjZhNi02YrYodmG2YjYsdij2YXYp9mB2YrZg9io2YPZhNiw2KfYqtix2KrYqNio2KPZhtmH2YXYs9in2YbZg9io2YrYudmB2YLYr9it2LPZhtmE2YfZhdi02LnYsdij2YfZhNi02YfYsdmC2LfYsdi32YTYqHByb2ZpbGVzZXJ2aWNlZGVmYXVsdGhpbXNlbGZkZXRhaWxzY29udGVudHN1cHBvcnRzdGFydGVkbWVzc2FnZXN1Y2Nlc3NmYXNoaW9uPHRpdGxlPmNvdW50cnlhY2NvdW50Y3JlYXRlZHN0b3JpZXNyZXN1bHRzcnVubmluZ3Byb2Nlc3N3cml0aW5nb2JqZWN0c3Zpc2libGV3ZWxjb21lYXJ0aWNsZXVua25vd25uZXR3b3JrY29tcGFueWR5bmFtaWNicm93c2VycHJpdmFjeXByb2JsZW1TZXJ2aWNlcmVzcGVjdGRpc3BsYXlyZXF1ZXN0cmVzZXJ2ZXdlYnNpdGVoaXN0b3J5ZnJpZW5kc29wdGlvbnN3b3JraW5ndmVyc2lvbm1pbGxpb25jaGFubmVsd2luZG93LmFkZHJlc3N2aXNpdGVkd2VhdGhlcmNvcnJlY3Rwcm9kdWN0ZWRpcmVjdGZvcndhcmR5b3UgY2FucmVtb3ZlZHN1YmplY3Rjb250cm9sYXJjaGl2ZWN1cnJlbnRyZWFkaW5nbGlicmFyeWxpbWl0ZWRtYW5hZ2VyZnVydGhlcnN1bW1hcnltYWNoaW5lbWludXRlc3ByaXZhdGVjb250ZXh0cHJvZ3JhbXNvY2lldHludW1iZXJzd3JpdHRlbmVuYWJsZWR0cmlnZ2Vyc291cmNlc2xvYWRpbmdlbGVtZW50cGFydG5lcmZpbmFsbHlwZXJmZWN0bWVhbmluZ3N5c3RlbXNrZWVwaW5nY3VsdHVyZSZxdW90Oyxqb3VybmFscHJvamVjdHN1cmZhY2VzJnF1b3Q7ZXhwaXJlc3Jldmlld3NiYWxhbmNlRW5nbGlzaENvbnRlbnR0aHJvdWdoUGxlYXNlIG9waW5pb25jb250YWN0YXZlcmFnZXByaW1hcnl2aWxsYWdlU3BhbmlzaGdhbGxlcnlkZWNsaW5lbWVldGluZ21pc3Npb25wb3B1bGFycXVhbGl0eW1lYXN1cmVnZW5lcmFsc3BlY2llc3Nlc3Npb25zZWN0aW9ud3JpdGVyc2NvdW50ZXJpbml0aWFscmVwb3J0c2ZpZ3VyZXNtZW1iZXJzaG9sZGluZ2Rpc3B1dGVlYXJsaWVyZXhwcmVzc2RpZ2l0YWxwaWN0dXJlQW5vdGhlcm1hcnJpZWR0cmFmZmljbGVhZGluZ2NoYW5nZWRjZW50cmFsdmljdG9yeWltYWdlcy9yZWFzb25zc3R1ZGllc2ZlYXR1cmVsaXN0aW5nbXVzdCBiZXNjaG9vbHNWZXJzaW9udXN1YWxseWVwaXNvZGVwbGF5aW5nZ3Jvd2luZ29idmlvdXNvdmVybGF5cHJlc2VudGFjdGlvbnM8L3VsPg0Kd3JhcHBlcmFscmVhZHljZXJ0YWlucmVhbGl0eXN0b3JhZ2Vhbm90aGVyZGVza3RvcG9mZmVyZWRwYXR0ZXJudW51c3VhbERpZ2l0YWxjYXBpdGFsV2Vic2l0ZWZhaWx1cmVjb25uZWN0cmVkdWNlZEFuZHJvaWRkZWNhZGVzcmVndWxhciAmYW1wOyBhbmltYWxzcmVsZWFzZUF1dG9tYXRnZXR0aW5nbWV0aG9kc25vdGhpbmdQb3B1bGFyY2FwdGlvbmxldHRlcnNjYXB0dXJlc2NpZW5jZWxpY2Vuc2VjaGFuZ2VzRW5nbGFuZD0xJmFtcDtIaXN0b3J5ID0gbmV3IENlbnRyYWx1cGRhdGVkU3BlY2lhbE5ldHdvcmtyZXF1aXJlY29tbWVudHdhcm5pbmdDb2xsZWdldG9vbGJhcnJlbWFpbnNiZWNhdXNlZWxlY3RlZERldXRzY2hmaW5hbmNld29ya2Vyc3F1aWNrbHliZXR3ZWVuZXhhY3RseXNldHRpbmdkaXNlYXNlU29jaWV0eXdlYXBvbnNleGhpYml0Jmx0OyEtLUNvbnRyb2xjbGFzc2VzY292ZXJlZG91dGxpbmVhdHRhY2tzZGV2aWNlcyh3aW5kb3dwdXJwb3NldGl0bGU9Ik1vYmlsZSBraWxsaW5nc2hvd2luZ0l0YWxpYW5kcm9wcGVkaGVhdmlseWVmZmVjdHMtMSddKTsKY29uZmlybUN1cnJlbnRhZHZhbmNlc2hhcmluZ29wZW5pbmdkcmF3aW5nYmlsbGlvbm9yZGVyZWRHZXJtYW55cmVsYXRlZDwvZm9ybT5pbmNsdWRld2hldGhlcmRlZmluZWRTY2llbmNlY2F0YWxvZ0FydGljbGVidXR0b25zbGFyZ2VzdHVuaWZvcm1qb3VybmV5c2lkZWJhckNoaWNhZ29ob2xpZGF5R2VuZXJhbHBhc3NhZ2UsJnF1b3Q7YW5pbWF0ZWZlZWxpbmdhcnJpdmVkcGFzc2luZ25hdHVyYWxyb3VnaGx5LgoKVGhlIGJ1dCBub3RkZW5zaXR5QnJpdGFpbkNoaW5lc2VsYWNrIG9mdHJpYnV0ZUlyZWxhbmQiIGRhdGEtZmFjdG9yc3JlY2VpdmV0aGF0IGlzTGlicmFyeWh1c2JhbmRpbiBmYWN0YWZmYWlyc0NoYXJsZXNyYWRpY2FsYnJvdWdodGZpbmRpbmdsYW5kaW5nOmxhbmc9InJldHVybiBsZWFkZXJzcGxhbm5lZHByZW1pdW1wYWNrYWdlQW1lcmljYUVkaXRpb25dJnF1b3Q7TWVzc2FnZW5lZWQgdG92YWx1ZT0iY29tcGxleGxvb2tpbmdzdGF0aW9uYmVsaWV2ZXNtYWxsZXItbW9iaWxlcmVjb3Jkc3dhbnQgdG9raW5kIG9mRmlyZWZveHlvdSBhcmVzaW1pbGFyc3R1ZGllZG1heGltdW1oZWFkaW5ncmFwaWRseWNsaW1hdGVraW5nZG9tZW1lcmdlZGFtb3VudHNmb3VuZGVkcGlvbmVlcmZvcm11bGFkeW5hc3R5aG93IHRvIFN1cHBvcnRyZXZlbnVlZWNvbm9teVJlc3VsdHNicm90aGVyc29sZGllcmxhcmdlbHljYWxsaW5nLiZxdW90O0FjY291bnRFZHdhcmQgc2VnbWVudFJvYmVydCBlZmZvcnRzUGFjaWZpY2xlYXJuZWR1cCB3aXRoaGVpZ2h0OndlIGhhdmVBbmdlbGVzbmF0aW9uc19zZWFyY2hhcHBsaWVkYWNxdWlyZW1hc3NpdmVncmFudGVkOiBmYWxzZXRyZWF0ZWRiaWdnZXN0YmVuZWZpdGRyaXZpbmdTdHVkaWVzbWluaW11bXBlcmhhcHNtb3JuaW5nc2VsbGluZ2lzIHVzZWRyZXZlcnNldmFyaWFudCByb2xlPSJtaXNzaW5nYWNoaWV2ZXByb21vdGVzdHVkZW50c29tZW9uZWV4dHJlbWVyZXN0b3JlYm90dG9tOmV2b2x2ZWRhbGwgdGhlc2l0ZW1hcGVuZ2xpc2h3YXkgdG8gIEF1Z3VzdHN5bWJvbHNDb21wYW55bWF0dGVyc211c2ljYWxhZ2FpbnN0c2VydmluZ30pKCk7DQpwYXltZW50dHJvdWJsZWNvbmNlcHRjb21wYXJlcGFyZW50c3BsYXllcnNyZWdpb25zbW9uaXRvciAnJ1RoZSB3aW5uaW5nZXhwbG9yZWFkYXB0ZWRHYWxsZXJ5cHJvZHVjZWFiaWxpdHllbmhhbmNlY2FyZWVycykuIFRoZSBjb2xsZWN0U2VhcmNoIGFuY2llbnRleGlzdGVkZm9vdGVyIGhhbmRsZXJwcmludGVkY29uc29sZUVhc3Rlcm5leHBvcnRzd2luZG93c0NoYW5uZWxpbGxlZ2FsbmV1dHJhbHN1Z2dlc3RfaGVhZGVyc2lnbmluZy5odG1sIj5zZXR0bGVkd2VzdGVybmNhdXNpbmctd2Via2l0Y2xhaW1lZEp1c3RpY2VjaGFwdGVydmljdGltc1Rob21hcyBtb3ppbGxhcHJvbWlzZXBhcnRpZXNlZGl0aW9ub3V0c2lkZTpmYWxzZSxodW5kcmVkT2x5bXBpY19idXR0b25hdXRob3JzcmVhY2hlZGNocm9uaWNkZW1hbmRzc2Vjb25kc3Byb3RlY3RhZG9wdGVkcHJlcGFyZW5laXRoZXJncmVhdGx5Z3JlYXRlcm92ZXJhbGxpbXByb3ZlY29tbWFuZHNwZWNpYWxzZWFyY2gud29yc2hpcGZ1bmRpbmd0aG91Z2h0aGlnaGVzdGluc3RlYWR1dGlsaXR5cXVhcnRlckN1bHR1cmV0ZXN0aW5nY2xlYXJseWV4cG9zZWRCcm93c2VybGliZXJhbH0gY2F0Y2hQcm9qZWN0ZXhhbXBsZWhpZGUoKTtGbG9yaWRhYW5zd2Vyc2FsbG93ZWRFbXBlcm9yZGVmZW5zZXNlcmlvdXNmcmVlZG9tU2V2ZXJhbC1idXR0b25GdXJ0aGVyb3V0IG9mICE9IG51bGx0cmFpbmVkRGVubWFya3ZvaWQoMCkvYWxsLmpzcHJldmVudFJlcXVlc3RTdGVwaGVuCgpXaGVuIG9ic2VydmU8L2gyPg0KTW9kZXJuIHByb3ZpZGUiIGFsdD0iYm9yZGVycy4KCkZvciAKCk1hbnkgYXJ0aXN0c3Bvd2VyZWRwZXJmb3JtZmljdGlvbnR5cGUgb2ZtZWRpY2FsdGlja2V0c29wcG9zZWRDb3VuY2lsd2l0bmVzc2p1c3RpY2VHZW9yZ2UgQmVsZ2l1bS4uLjwvYT50d2l0dGVybm90YWJseXdhaXRpbmd3YXJmYXJlIE90aGVyIHJhbmtpbmdwaHJhc2VzbWVudGlvbnN1cnZpdmVzY2hvbGFyPC9wPg0KIENvdW50cnlpZ25vcmVkbG9zcyBvZmp1c3QgYXNHZW9yZ2lhc3RyYW5nZTxoZWFkPjxzdG9wcGVkMSddKTsNCmlzbGFuZHNub3RhYmxlYm9yZGVyOmxpc3Qgb2ZjYXJyaWVkMTAwLDAwMDwvaDM+CiBzZXZlcmFsYmVjb21lc3NlbGVjdCB3ZWRkaW5nMDAuaHRtbG1vbmFyY2hvZmYgdGhldGVhY2hlcmhpZ2hseSBiaW9sb2d5bGlmZSBvZm9yIGV2ZW5yaXNlIG9mJnJhcXVvO3BsdXNvbmVodW50aW5nKHRob3VnaERvdWdsYXNqb2luaW5nY2lyY2xlc0ZvciB0aGVBbmNpZW50VmlldG5hbXZlaGljbGVzdWNoIGFzY3J5c3RhbHZhbHVlID1XaW5kb3dzZW5qb3llZGEgc21hbGxhc3N1bWVkPGEgaWQ9ImZvcmVpZ24gQWxsIHJpaG93IHRoZURpc3BsYXlyZXRpcmVkaG93ZXZlcmhpZGRlbjtiYXR0bGVzc2Vla2luZ2NhYmluZXR3YXMgbm90bG9vayBhdGNvbmR1Y3RnZXQgdGhlSmFudWFyeWhhcHBlbnN0dXJuaW5nYTpob3Zlck9ubGluZSBGcmVuY2ggbGFja2luZ3R5cGljYWxleHRyYWN0ZW5lbWllc2V2ZW4gaWZnZW5lcmF0ZGVjaWRlZGFyZSBub3Qvc2VhcmNoYmVsaWVmcy1pbWFnZTpsb2NhdGVkc3RhdGljLmxvZ2luIj5jb252ZXJ0dmlvbGVudGVudGVyZWRmaXJzdCI+Y2lyY3VpdEZpbmxhbmRjaGVtaXN0c2hlIHdhczEwcHg7Ij5hcyBzdWNoZGl2aWRlZDwvc3Bhbj53aWxsIGJlbGluZSBvZmEgZ3JlYXRteXN0ZXJ5L2luZGV4LmZhbGxpbmdkdWUgdG8gcmFpbHdheWNvbGxlZ2Vtb25zdGVyZGVzY2VudGl0IHdpdGhudWNsZWFySmV3aXNoIHByb3Rlc3RCcml0aXNoZmxvd2Vyc3ByZWRpY3RyZWZvcm1zYnV0dG9uIHdobyB3YXNsZWN0dXJlaW5zdGFudHN1aWNpZGVnZW5lcmljcGVyaW9kc21hcmtldHNTb2NpYWwgZmlzaGluZ2NvbWJpbmVncmFwaGljd2lubmVyczxiciAvPjxieSB0aGUgTmF0dXJhbFByaXZhY3ljb29raWVzb3V0Y29tZXJlc29sdmVTd2VkaXNoYnJpZWZseVBlcnNpYW5zbyBtdWNoQ2VudHVyeWRlcGljdHNjb2x1bW5zaG91c2luZ3NjcmlwdHNuZXh0IHRvYmVhcmluZ21hcHBpbmdyZXZpc2VkalF1ZXJ5KC13aWR0aDp0aXRsZSI+dG9vbHRpcFNlY3Rpb25kZXNpZ25zVHVya2lzaHlvdW5nZXIubWF0Y2gofSkoKTsKCmJ1cm5pbmdvcGVyYXRlZGVncmVlc3NvdXJjZT1SaWNoYXJkY2xvc2VseXBsYXN0aWNlbnRyaWVzPC90cj4NCmNvbG9yOiN1bCBpZD0icG9zc2Vzc3JvbGxpbmdwaHlzaWNzZmFpbGluZ2V4ZWN1dGVjb250ZXN0bGluayB0b0RlZmF1bHQ8YnIgLz4KOiB0cnVlLGNoYXJ0ZXJ0b3VyaXNtY2xhc3NpY3Byb2NlZWRleHBsYWluPC9oMT4NCm9ubGluZS4/eG1sIHZlaGVscGluZ2RpYW1vbmR1c2UgdGhlYWlybGluZWVuZCAtLT4pLmF0dHIocmVhZGVyc2hvc3RpbmcjZmZmZmZmcmVhbGl6ZVZpbmNlbnRzaWduYWxzIHNyYz0iL1Byb2R1Y3RkZXNwaXRlZGl2ZXJzZXRlbGxpbmdQdWJsaWMgaGVsZCBpbkpvc2VwaCB0aGVhdHJlYWZmZWN0czxzdHlsZT5hIGxhcmdlZG9lc24ndGxhdGVyLCBFbGVtZW50ZmF2aWNvbmNyZWF0b3JIdW5nYXJ5QWlycG9ydHNlZSB0aGVzbyB0aGF0TWljaGFlbFN5c3RlbXNQcm9ncmFtcywgYW5kICB3aWR0aD1lJnF1b3Q7dHJhZGluZ2xlZnQiPgpwZXJzb25zR29sZGVuIEFmZmFpcnNncmFtbWFyZm9ybWluZ2Rlc3Ryb3lpZGVhIG9mY2FzZSBvZm9sZGVzdCB0aGlzIGlzLnNyYyA9IGNhcnRvb25yZWdpc3RyQ29tbW9uc011c2xpbXNXaGF0IGlzaW4gbWFueW1hcmtpbmdyZXZlYWxzSW5kZWVkLGVxdWFsbHkvc2hvd19hb3V0ZG9vcmVzY2FwZShBdXN0cmlhZ2VuZXRpY3N5c3RlbSxJbiB0aGUgc2l0dGluZ0hlIGFsc29Jc2xhbmRzQWNhZGVteQoJCTwhLS1EYW5pZWwgYmluZGluZ2Jsb2NrIj5pbXBvc2VkdXRpbGl6ZUFicmFoYW0oZXhjZXB0e3dpZHRoOnB1dHRpbmcpLmh0bWwofHwgW107CkRBVEFbICpraXRjaGVubW91bnRlZGFjdHVhbCBkaWFsZWN0bWFpbmx5IF9ibGFuaydpbnN0YWxsZXhwZXJ0c2lmKHR5cGVJdCBhbHNvJmNvcHk7ICI+VGVybXNib3JuIGluT3B0aW9uc2Vhc3Rlcm50YWxraW5nY29uY2VybmdhaW5lZCBvbmdvaW5nanVzdGlmeWNyaXRpY3NmYWN0b3J5aXRzIG93bmFzc2F1bHRpbnZpdGVkbGFzdGluZ2hpcyBvd25ocmVmPSIvIiByZWw9ImRldmVsb3Bjb25jZXJ0ZGlhZ3JhbWRvbGxhcnNjbHVzdGVycGhwP2lkPWFsY29ob2wpO30pKCk7dXNpbmcgYT48c3Bhbj52ZXNzZWxzcmV2aXZhbEFkZHJlc3NhbWF0ZXVyYW5kcm9pZGFsbGVnZWRpbGxuZXNzd2Fsa2luZ2NlbnRlcnNxdWFsaWZ5bWF0Y2hlc3VuaWZpZWRleHRpbmN0RGVmZW5zZWRpZWQgaW4KCTwhLS0gY3VzdG9tc2xpbmtpbmdMaXR0bGUgQm9vayBvZmV2ZW5pbmdtaW4uanM/YXJlIHRoZWtvbnRha3R0b2RheSdzLmh0bWwiIHRhcmdldD13ZWFyaW5nQWxsIFJpZzsKfSkoKTtyYWlzaW5nIEFsc28sIGNydWNpYWxhYm91dCI+ZGVjbGFyZS0tPgo8c2NmaXJlZm94YXMgbXVjaGFwcGxpZXNpbmRleCwgcywgYnV0IHR5cGUgPSAKDQo8IS0tdG93YXJkc1JlY29yZHNQcml2YXRlRm9yZWlnblByZW1pZXJjaG9pY2VzVmlydHVhbHJldHVybnNDb21tZW50UG93ZXJlZGlubGluZTtwb3ZlcnR5Y2hhbWJlckxpdmluZyB2b2x1bWVzQW50aG9ueWxvZ2luIiBSZWxhdGVkRWNvbm9teXJlYWNoZXNjdXR0aW5nZ3Jhdml0eWxpZmUgaW5DaGFwdGVyLXNoYWRvd05vdGFibGU8L3RkPg0KIHJldHVybnN0YWRpdW13aWRnZXRzdmFyeWluZ3RyYXZlbHNoZWxkIGJ5d2hvIGFyZXdvcmsgaW5mYWN1bHR5YW5ndWxhcndobyBoYWRhaXJwb3J0dG93biBvZgoKU29tZSAnY2xpY2snY2hhcmdlc2tleXdvcmRpdCB3aWxsY2l0eSBvZih0aGlzKTtBbmRyZXcgdW5pcXVlIGNoZWNrZWRvciBtb3JlMzAwcHg7IHJldHVybjtyc2lvbj0icGx1Z2luc3dpdGhpbiBoZXJzZWxmU3RhdGlvbkZlZGVyYWx2ZW50dXJlcHVibGlzaHNlbnQgdG90ZW5zaW9uYWN0cmVzc2NvbWUgdG9maW5nZXJzRHVrZSBvZnBlb3BsZSxleHBsb2l0d2hhdCBpc2hhcm1vbnlhIG1ham9yIjoiaHR0cGluIGhpcyBtZW51Ij4KbW9udGhseW9mZmljZXJjb3VuY2lsZ2FpbmluZ2V2ZW4gaW5TdW1tYXJ5ZGF0ZSBvZmxveWFsdHlmaXRuZXNzYW5kIHdhc2VtcGVyb3JzdXByZW1lU2Vjb25kIGhlYXJpbmdSdXNzaWFubG9uZ2VzdEFsYmVydGFsYXRlcmFsc2V0IG9mIHNtYWxsIj4uYXBwZW5kZG8gd2l0aGZlZGVyYWxiYW5rIG9mYmVuZWF0aERlc3BpdGVDYXBpdGFsZ3JvdW5kcyksIGFuZCBwZXJjZW50aXQgZnJvbWNsb3Npbmdjb250YWluSW5zdGVhZGZpZnRlZW5hcyB3ZWxsLnlhaG9vLnJlc3BvbmRmaWdodGVyb2JzY3VyZXJlZmxlY3RvcmdhbmljPSBNYXRoLmVkaXRpbmdvbmxpbmUgcGFkZGluZ2Egd2hvbGVvbmVycm9yeWVhciBvZmVuZCBvZiBiYXJyaWVyd2hlbiBpdGhlYWRlciBob21lIG9mcmVzdW1lZHJlbmFtZWRzdHJvbmc+aGVhdGluZ3JldGFpbnNjbG91ZGZyd2F5IG9mIE1hcmNoIDFrbm93aW5naW4gcGFydEJldHdlZW5sZXNzb25zY2xvc2VzdHZpcnR1YWxsaW5rcyI+Y3Jvc3NlZEVORCAtLT5mYW1vdXMgYXdhcmRlZExpY2Vuc2VIZWFsdGggZmFpcmx5IHdlYWx0aHltaW5pbWFsQWZyaWNhbmNvbXBldGVsYWJlbCI+c2luZ2luZ2Zhcm1lcnNCcmFzaWwpZGlzY3Vzc3JlcGxhY2VHcmVnb3J5Zm9udCBjb3B1cnN1ZWRhcHBlYXJzbWFrZSB1cHJvdW5kZWRib3RoIG9mYmxvY2tlZHNhdyB0aGVvZmZpY2VzY29sb3Vyc2lmKGRvY3V3aGVuIGhlZW5mb3JjZXB1c2goZnVBdWd1c3QgVVRGLTgiPkZhbnRhc3lpbiBtb3N0aW5qdXJlZFVzdWFsbHlmYXJtaW5nY2xvc3VyZW9iamVjdCBkZWZlbmNldXNlIG9mIE1lZGljYWw8Ym9keT4KZXZpZGVudGJlIHVzZWRrZXlDb2Rlc2l4dGVlbklzbGFtaWMjMDAwMDAwZW50aXJlIHdpZGVseSBhY3RpdmUgKHR5cGVvZm9uZSBjYW5jb2xvciA9c3BlYWtlcmV4dGVuZHNQaHlzaWNzdGVycmFpbjx0Ym9keT5mdW5lcmFsdmlld2luZ21pZGRsZSBjcmlja2V0cHJvcGhldHNoaWZ0ZWRkb2N0b3JzUnVzc2VsbCB0YXJnZXRjb21wYWN0YWxnZWJyYXNvY2lhbC1idWxrIG9mbWFuIGFuZDwvdGQ+CiBoZSBsZWZ0KS52YWwoKWZhbHNlKTtsb2dpY2FsYmFua2luZ2hvbWUgdG9uYW1pbmcgQXJpem9uYWNyZWRpdHMpOwp9KTsKZm91bmRlcmluIHR1cm5Db2xsaW5zYmVmb3JlIEJ1dCB0aGVjaGFyZ2VkVGl0bGUiPkNhcHRhaW5zcGVsbGVkZ29kZGVzc1RhZyAtLT5BZGRpbmc6YnV0IHdhc1JlY2VudCBwYXRpZW50YmFjayBpbj1mYWxzZSZMaW5jb2xud2Uga25vd0NvdW50ZXJKdWRhaXNtc2NyaXB0IGFsdGVyZWQnXSk7CiAgaGFzIHRoZXVuY2xlYXJFdmVudCcsYm90aCBpbm5vdCBhbGwKCjwhLS0gcGxhY2luZ2hhcmQgdG8gY2VudGVyc29ydCBvZmNsaWVudHNzdHJlZXRzQmVybmFyZGFzc2VydHN0ZW5kIHRvZmFudGFzeWRvd24gaW5oYXJib3VyRnJlZWRvbWpld2VscnkvYWJvdXQuLnNlYXJjaGxlZ2VuZHNpcyBtYWRlbW9kZXJuIG9ubHkgb25vbmx5IHRvaW1hZ2UiIGxpbmVhciBwYWludGVyYW5kIG5vdHJhcmVseSBhY3JvbnltZGVsaXZlcnNob3J0ZXIwMCZhbXA7YXMgbWFueXdpZHRoPSIvKiA8IVtDdGl0bGUgPW9mIHRoZSBsb3dlc3QgcGlja2VkIGVzY2FwZWR1c2VzIG9mcGVvcGxlcyBQdWJsaWNNYXR0aGV3dGFjdGljc2RhbWFnZWR3YXkgZm9ybGF3cyBvZmVhc3kgdG8gd2luZG93c3Ryb25nICBzaW1wbGV9Y2F0Y2goc2V2ZW50aGluZm9ib3h3ZW50IHRvcGFpbnRlZGNpdGl6ZW5JIGRvbid0cmV0cmVhdC4gU29tZSB3dy4iKTsKYm9tYmluZ21haWx0bzptYWRlIGluLiBNYW55IGNhcnJpZXN8fHt9O3dpd29yayBvZnN5bm9ueW1kZWZlYXRzZmF2b3JlZG9wdGljYWxwYWdlVHJhdW5sZXNzIHNlbmRpbmdsZWZ0Ij48Y29tU2NvckFsbCB0aGVqUXVlcnkudG91cmlzdENsYXNzaWNmYWxzZSIgV2lsaGVsbXN1YnVyYnNnZW51aW5lYmlzaG9wcy5zcGxpdChnbG9iYWwgZm9sbG93c2JvZHkgb2Zub21pbmFsQ29udGFjdHNlY3VsYXJsZWZ0IHRvY2hpZWZseS1oaWRkZW4tYmFubmVyPC9saT4KCi4gV2hlbiBpbiBib3RoZGlzbWlzc0V4cGxvcmVhbHdheXMgdmlhIHRoZXNwYcOxb2x3ZWxmYXJlcnVsaW5nIGFycmFuZ2VjYXB0YWluaGlzIHNvbnJ1bGUgb2ZoZSB0b29raXRzZWxmLD0wJmFtcDsoY2FsbGVkc2FtcGxlc3RvIG1ha2Vjb20vcGFnTWFydGluIEtlbm5lZHlhY2NlcHRzZnVsbCBvZmhhbmRsZWRCZXNpZGVzLy8tLT48L2FibGUgdG90YXJnZXRzZXNzZW5jZWhpbSB0byBpdHMgYnkgY29tbW9uLm1pbmVyYWx0byB0YWtld2F5cyB0b3Mub3JnL2xhZHZpc2VkcGVuYWx0eXNpbXBsZTppZiB0aGV5TGV0dGVyc2Egc2hvcnRIZXJiZXJ0c3RyaWtlcyBncm91cHMubGVuZ3RoZmxpZ2h0c292ZXJsYXBzbG93bHkgbGVzc2VyIHNvY2lhbCA8L3A+CgkJaXQgaW50b3JhbmtlZCByYXRlIG9mdWw+DQogIGF0dGVtcHRwYWlyIG9mbWFrZSBpdEtvbnRha3RBbnRvbmlvaGF2aW5nIHJhdGluZ3MgYWN0aXZlc3RyZWFtc3RyYXBwZWQiKS5jc3MoaG9zdGlsZWxlYWQgdG9saXR0bGUgZ3JvdXBzLFBpY3R1cmUtLT4NCg0KIHJvd3M9IiBvYmplY3RpbnZlcnNlPGZvb3RlckN1c3RvbVY+PFwvc2Nyc29sdmluZ0NoYW1iZXJzbGF2ZXJ5d291bmRlZHdoZXJlYXMhPSAndW5kZm9yIGFsbHBhcnRseSAtcmlnaHQ6QXJhYmlhbmJhY2tlZCBjZW50dXJ5dW5pdCBvZm1vYmlsZS1FdXJvcGUsaXMgaG9tZXJpc2sgb2ZkZXNpcmVkQ2xpbnRvbmNvc3Qgb2ZhZ2Ugb2YgYmVjb21lIG5vbmUgb2ZwJnF1b3Q7TWlkZGxlIGVhZCcpWzBDcml0aWNzc3R1ZGlvcz4mY29weTtncm91cCI+YXNzZW1ibG1ha2luZyBwcmVzc2Vkd2lkZ2V0LnBzOiIgPyByZWJ1aWx0Ynkgc29tZUZvcm1lciBlZGl0b3JzZGVsYXllZENhbm9uaWNoYWQgdGhlcHVzaGluZ2NsYXNzPSJidXQgYXJlcGFydGlhbEJhYnlsb25ib3R0b20gY2FycmllckNvbW1hbmRpdHMgdXNlQXMgd2l0aGNvdXJzZXNhIHRoaXJkZGVub3Rlc2Fsc28gaW5Ib3VzdG9uMjBweDsiPmFjY3VzZWRkb3VibGUgZ29hbCBvZkZhbW91cyApLmJpbmQocHJpZXN0cyBPbmxpbmVpbiBKdWx5c3QgKyAiZ2NvbnN1bHRkZWNpbWFsaGVscGZ1bHJldml2ZWRpcyB2ZXJ5cicrJ2lwdGxvc2luZyBmZW1hbGVzaXMgYWxzb3N0cmluZ3NkYXlzIG9mYXJyaXZhbGZ1dHVyZSA8b2JqZWN0Zm9yY2luZ1N0cmluZygiIC8+CgkJaGVyZSBpc2VuY29kZWQuICBUaGUgYmFsbG9vbmRvbmUgYnkvY29tbW9uYmdjb2xvcmxhdyBvZiBJbmRpYW5hYXZvaWRlZGJ1dCB0aGUycHggM3B4anF1ZXJ5LmFmdGVyIGFwb2xpY3kubWVuIGFuZGZvb3Rlci09IHRydWU7Zm9yIHVzZXNjcmVlbi5JbmRpYW4gaW1hZ2UgPWZhbWlseSxodHRwOi8vICZuYnNwO2RyaXZlcnNldGVybmFsc2FtZSBhc25vdGljZWR2aWV3ZXJzfSkoKTsKIGlzIG1vcmVzZWFzb25zZm9ybWVyIHRoZSBuZXdpcyBqdXN0Y29uc2VudCBTZWFyY2h3YXMgdGhld2h5IHRoZXNoaXBwZWRicj48YnI+d2lkdGg6IGhlaWdodD1tYWRlIG9mY3Vpc2luZWlzIHRoYXRhIHZlcnkgQWRtaXJhbCBmaXhlZDtub3JtYWwgTWlzc2lvblByZXNzLCBvbnRhcmlvY2hhcnNldHRyeSB0byBpbnZhZGVkPSJ0cnVlInNwYWNpbmdpcyBtb3N0YSBtb3JlIHRvdGFsbHlmYWxsIG9mfSk7DQogIGltbWVuc2V0aW1lIGluc2V0IG91dHNhdGlzZnl0byBmaW5kZG93biB0b2xvdCBvZiBQbGF5ZXJzaW4gSnVuZXF1YW50dW1ub3QgdGhldGltZSB0b2Rpc3RhbnRGaW5uaXNoc3JjID0gKHNpbmdsZSBoZWxwIG9mR2VybWFuIGxhdyBhbmRsYWJlbGVkZm9yZXN0c2Nvb2tpbmdzcGFjZSI+aGVhZGVyLXdlbGwgYXNTdGFubGV5YnJpZGdlcy9nbG9iYWxDcm9hdGlhIEFib3V0IFswXTsKICBpdCwgYW5kZ3JvdXBlZGJlaW5nIGEpe3Rocm93aGUgbWFkZWxpZ2h0ZXJldGhpY2FsRkZGRkZGImJvdHRvbSJsaWtlIGEgZW1wbG95c2xpdmUgaW5hcyBzZWVucHJpbnRlcm1vc3Qgb2Z1Yi1saW5rcmVqZWN0c2FuZCB1c2VpbWFnZSI+c3VjY2VlZGZlZWRpbmdOdWNsZWFyaW5mb3JtYXRvIGhlbHBXb21lbidzTmVpdGhlck1leGljYW5wcm90ZWluPHRhYmxlIGJ5IG1hbnloZWFsdGh5bGF3c3VpdGRldmlzZWQucHVzaCh7c2VsbGVyc3NpbXBseSBUaHJvdWdoLmNvb2tpZSBJbWFnZShvbGRlciI+dXMuanMiPiBTaW5jZSB1bml2ZXJzbGFyZ2VyIG9wZW4gdG8hLS0gZW5kbGllcyBpbiddKTsNCiAgbWFya2V0d2hvIGlzICgiRE9NQ29tYW5hZ2Vkb25lIGZvcnR5cGVvZiBLaW5nZG9tcHJvZml0c3Byb3Bvc2V0byBzaG93Y2VudGVyO21hZGUgaXRkcmVzc2Vkd2VyZSBpbm1peHR1cmVwcmVjaXNlYXJpc2luZ3NyYyA9ICdtYWtlIGEgc2VjdXJlZEJhcHRpc3R2b3RpbmcgCgkJdmFyIE1hcmNoIDJncmV3IHVwQ2xpbWF0ZS5yZW1vdmVza2lsbGVkd2F5IHRoZTwvaGVhZD5mYWNlIG9mYWN0aW5nIHJpZ2h0Ij50byB3b3JrcmVkdWNlc2hhcyBoYWRlcmVjdGVkc2hvdygpO2FjdGlvbj1ib29rIG9mYW4gYXJlYT09ICJodHQ8aGVhZGVyCjxodG1sPmNvbmZvcm1mYWNpbmcgY29va2llLnJlbHkgb25ob3N0ZWQgLmN1c3RvbWhlIHdlbnRidXQgZm9yc3ByZWFkIEZhbWlseSBhIG1lYW5zb3V0IHRoZWZvcnVtcy5mb290YWdlIj5Nb2JpbENsZW1lbnRzIiBpZD0iYXMgaGlnaGludGVuc2UtLT48IS0tZmVtYWxlIGlzIHNlZW5pbXBsaWVkc2V0IHRoZWEgc3RhdGVhbmQgaGlzZmFzdGVzdGJlc2lkZXNidXR0b25fYm91bmRlZCI+PGltZyBJbmZvYm94ZXZlbnRzLGEgeW91bmdhbmQgYXJlTmF0aXZlIGNoZWFwZXJUaW1lb3V0YW5kIGhhc2VuZ2luZXN3b24gdGhlKG1vc3RseXJpZ2h0OiBmaW5kIGEgLWJvdHRvbVByaW5jZSBhcmVhIG9mbW9yZSBvZnNlYXJjaF9uYXR1cmUsbGVnYWxseXBlcmlvZCxsYW5kIG9mb3Igd2l0aGluZHVjZWRwcm92aW5nbWlzc2lsZWxvY2FsbHlBZ2FpbnN0dGhlIHdheWsmcXVvdDtweDsiPg0KcHVzaGVkIGFiYW5kb25udW1lcmFsQ2VydGFpbkluIHRoaXNtb3JlIGlub3Igc29tZW5hbWUgaXNhbmQsIGluY3Jvd25lZElTQk4gMC1jcmVhdGVzT2N0b2Jlcm1heSBub3RjZW50ZXIgbGF0ZSBpbkRlZmVuY2VlbmFjdGVkd2lzaCB0b2Jyb2FkbHljb29saW5nb25sb2FkPWl0LiBUaGVyZWNvdmVyTWVtYmVyc2hlaWdodCBhc3N1bWVzPGh0bWw+CnBlb3BsZS5pbiBvbmUgPXdpbmRvd2Zvb3Rlcl9hIGdvb2QgcmVrbGFtYW90aGVycyx0byB0aGlzX2Nvb2tpZXBhbmVsIj5Mb25kb24sZGVmaW5lc2NydXNoZWRiYXB0aXNtY29hc3RhbHN0YXR1cyB0aXRsZSIgbW92ZSB0b2xvc3QgaW5iZXR0ZXIgaW1wbGllc3JpdmFscnlzZXJ2ZXJzIFN5c3RlbVBlcmhhcHNlcyBhbmQgY29udGVuZGZsb3dpbmdsYXN0ZWQgcmlzZSBpbkdlbmVzaXN2aWV3IG9mcmlzaW5nIHNlZW0gdG9idXQgaW4gYmFja2luZ2hlIHdpbGxnaXZlbiBhZ2l2aW5nIGNpdGllcy5mbG93IG9mIExhdGVyIGFsbCBidXRIaWdod2F5b25seSBieXNpZ24gb2ZoZSBkb2VzZGlmZmVyc2JhdHRlcnkmYW1wO2xhc2luZ2xlc3RocmVhdHNpbnRlZ2VydGFrZSBvbnJlZnVzZWRjYWxsZWQgPVVTJmFtcFNlZSB0aGVuYXRpdmVzYnkgdGhpc3N5c3RlbS5oZWFkIG9mOmhvdmVyLGxlc2JpYW5zdXJuYW1lYW5kIGFsbGNvbW1vbi9oZWFkZXJfX3BhcmFtc0hhcnZhcmQvcGl4ZWwucmVtb3ZhbHNvIGxvbmdyb2xlIG9mam9pbnRseXNreXNjcmFVbmljb2RlYnIgLz4NCkF0bGFudGFudWNsZXVzQ291bnR5LHB1cmVseSBjb3VudCI+ZWFzaWx5IGJ1aWxkIGFvbmNsaWNrYSBnaXZlbnBvaW50ZXJoJnF1b3Q7ZXZlbnRzIGVsc2UgewpkaXRpb25zbm93IHRoZSwgd2l0aCBtYW4gd2hvb3JnL1dlYm9uZSBhbmRjYXZhbHJ5SGUgZGllZHNlYXR0bGUwMCwwMDAge3dpbmRvd2hhdmUgdG9pZih3aW5kYW5kIGl0c3NvbGVseSBtJnF1b3Q7cmVuZXdlZERldHJvaXRhbW9uZ3N0ZWl0aGVyIHRoZW0gaW5TZW5hdG9yVXM8L2E+PEtpbmcgb2ZGcmFuY2lzLXByb2R1Y2hlIHVzZWRhcnQgYW5kaGltIGFuZHVzZWQgYnlzY29yaW5nYXQgaG9tZXRvIGhhdmVyZWxhdGVzaWJpbGl0eWZhY3Rpb25CdWZmYWxvbGluayI+PHdoYXQgaGVmcmVlIHRvQ2l0eSBvZmNvbWUgaW5zZWN0b3JzY291bnRlZG9uZSBkYXluZXJ2b3Vzc3F1YXJlIH07aWYoZ29pbiB3aGF0aW1nIiBhbGlzIG9ubHlzZWFyY2gvdHVlc2RheWxvb3NlbHlTb2xvbW9uc2V4dWFsIC0gPGEgaHJtZWRpdW0iRE8gTk9UIEZyYW5jZSx3aXRoIGEgd2FyIGFuZHNlY29uZCB0YWtlIGEgPg0KDQoNCm1hcmtldC5oaWdod2F5ZG9uZSBpbmN0aXZpdHkibGFzdCI+b2JsaWdlZHJpc2UgdG8idW5kZWZpbWFkZSB0byBFYXJseSBwcmFpc2VkaW4gaXRzIGZvciBoaXNhdGhsZXRlSnVwaXRlcllhaG9vISB0ZXJtZWQgc28gbWFueXJlYWxseSBzLiBUaGUgYSB3b21hbj92YWx1ZT1kaXJlY3QgcmlnaHQiIGJpY3ljbGVhY2luZz0iZGF5IGFuZHN0YXRpbmdSYXRoZXIsaGlnaGVyIE9mZmljZSBhcmUgbm93dGltZXMsIHdoZW4gYSBwYXkgZm9yb24gdGhpcy1saW5rIj47Ym9yZGVyYXJvdW5kIGFubnVhbCB0aGUgTmV3cHV0IHRoZS5jb20iIHRha2luIHRvYSBicmllZihpbiB0aGVncm91cHMuOyB3aWR0aGVuenltZXNzaW1wbGUgaW4gbGF0ZXtyZXR1cm50aGVyYXB5YSBwb2ludGJhbm5pbmdpbmtzIj4KKCk7IiByZWEgcGxhY2VcdTAwM0NhYWJvdXQgYXRyPg0KCQljY291bnQgZ2l2ZXMgYTxTQ1JJUFRSYWlsd2F5dGhlbWVzL3Rvb2xib3hCeUlkKCJ4aHVtYW5zLHdhdGNoZXNpbiBzb21lIGlmICh3aWNvbWluZyBmb3JtYXRzIFVuZGVyIGJ1dCBoYXNoYW5kZWQgbWFkZSBieXRoYW4gaW5mZWFyIG9mZGVub3RlZC9pZnJhbWVsZWZ0IGludm9sdGFnZWluIGVhY2hhJnF1b3Q7YmFzZSBvZkluIG1hbnl1bmRlcmdvcmVnaW1lc2FjdGlvbiA8L3A+DQo8dXN0b21WYTsmZ3Q7PC9pbXBvcnRzb3IgdGhhdG1vc3RseSAmYW1wO3JlIHNpemU9IjwvYT48L2hhIGNsYXNzcGFzc2l2ZUhvc3QgPSBXaGV0aGVyZmVydGlsZVZhcmlvdXM9W107KGZ1Y2FtZXJhcy8+PC90ZD5hY3RzIGFzSW4gc29tZT4NCg0KPCFvcmdhbmlzIDxiciAvPkJlaWppbmdjYXRhbMOgZGV1dHNjaGV1cm9wZXVldXNrYXJhZ2FlaWxnZXN2ZW5za2Flc3Bhw7FhbWVuc2FqZXVzdWFyaW90cmFiYWpvbcOpeGljb3DDoWdpbmFzaWVtcHJlc2lzdGVtYW9jdHVicmVkdXJhbnRlYcOxYWRpcmVtcHJlc2Ftb21lbnRvbnVlc3Ryb3ByaW1lcmF0cmF2w6lzZ3JhY2lhc251ZXN0cmFwcm9jZXNvZXN0YWRvc2NhbGlkYWRwZXJzb25hbsO6bWVyb2FjdWVyZG9tw7pzaWNhbWllbWJyb29mZXJ0YXNhbGd1bm9zcGHDrXNlc2VqZW1wbG9kZXJlY2hvYWRlbcOhc3ByaXZhZG9hZ3JlZ2FyZW5sYWNlc3Bvc2libGVob3RlbGVzc2V2aWxsYXByaW1lcm/Dumx0aW1vZXZlbnRvc2FyY2hpdm9jdWx0dXJhbXVqZXJlc2VudHJhZGFhbnVuY2lvZW1iYXJnb21lcmNhZG9ncmFuZGVzZXN0dWRpb21lam9yZXNmZWJyZXJvZGlzZcOxb3R1cmlzbW9jw7NkaWdvcG9ydGFkYWVzcGFjaW9mYW1pbGlhYW50b25pb3Blcm1pdGVndWFyZGFyYWxndW5hc3ByZWNpb3NhbGd1aWVuc2VudGlkb3Zpc2l0YXN0w610dWxvY29ub2NlcnNlZ3VuZG9jb25zZWpvZnJhbmNpYW1pbnV0b3NzZWd1bmRhdGVuZW1vc2VmZWN0b3Ntw6FsYWdhc2VzacOzbnJldmlzdGFncmFuYWRhY29tcHJhcmluZ3Jlc29nYXJjw61hYWNjacOzbmVjdWFkb3JxdWllbmVzaW5jbHVzb2RlYmVyw6FtYXRlcmlhaG9tYnJlc211ZXN0cmFwb2Ryw61hbWHDsWFuYcO6bHRpbWFlc3RhbW9zb2ZpY2lhbHRhbWJpZW5uaW5nw7puc2FsdWRvc3BvZGVtb3NtZWpvcmFycG9zaXRpb25idXNpbmVzc2hvbWVwYWdlc2VjdXJpdHlsYW5ndWFnZXN0YW5kYXJkY2FtcGFpZ25mZWF0dXJlc2NhdGVnb3J5ZXh0ZXJuYWxjaGlsZHJlbnJlc2VydmVkcmVzZWFyY2hleGNoYW5nZWZhdm9yaXRldGVtcGxhdGVtaWxpdGFyeWluZHVzdHJ5c2VydmljZXNtYXRlcmlhbHByb2R1Y3Rzei1pbmRleDpjb21tZW50c3NvZnR3YXJlY29tcGxldGVjYWxlbmRhcnBsYXRmb3JtYXJ0aWNsZXNyZXF1aXJlZG1vdmVtZW50cXVlc3Rpb25idWlsZGluZ3BvbGl0aWNzcG9zc2libGVyZWxpZ2lvbnBoeXNpY2FsZmVlZGJhY2tyZWdpc3RlcnBpY3R1cmVzZGlzYWJsZWRwcm90b2NvbGF1ZGllbmNlc2V0dGluZ3NhY3Rpdml0eWVsZW1lbnRzbGVhcm5pbmdhbnl0aGluZ2Fic3RyYWN0cHJvZ3Jlc3NvdmVydmlld21hZ2F6aW5lZWNvbm9taWN0cmFpbmluZ3ByZXNzdXJldmFyaW91cyA8c3Ryb25nPnByb3BlcnR5c2hvcHBpbmd0b2dldGhlcmFkdmFuY2VkYmVoYXZpb3Jkb3dubG9hZGZlYXR1cmVkZm9vdGJhbGxzZWxlY3RlZExhbmd1YWdlZGlzdGFuY2VyZW1lbWJlcnRyYWNraW5ncGFzc3dvcmRtb2RpZmllZHN0dWRlbnRzZGlyZWN0bHlmaWdodGluZ25vcnRoZXJuZGF0YWJhc2VmZXN0aXZhbGJyZWFraW5nbG9jYXRpb25pbnRlcm5ldGRyb3Bkb3ducHJhY3RpY2VldmlkZW5jZWZ1bmN0aW9ubWFycmlhZ2VyZXNwb25zZXByb2JsZW1zbmVnYXRpdmVwcm9ncmFtc2FuYWx5c2lzcmVsZWFzZWRiYW5uZXIiPnB1cmNoYXNlcG9saWNpZXNyZWdpb25hbGNyZWF0aXZlYXJndW1lbnRib29rbWFya3JlZmVycmVyY2hlbWljYWxkaXZpc2lvbmNhbGxiYWNrc2VwYXJhdGVwcm9qZWN0c2NvbmZsaWN0aGFyZHdhcmVpbnRlcmVzdGRlbGl2ZXJ5bW91bnRhaW5vYnRhaW5lZD0gZmFsc2U7Zm9yKHZhciBhY2NlcHRlZGNhcGFjaXR5Y29tcHV0ZXJpZGVudGl0eWFpcmNyYWZ0ZW1wbG95ZWRwcm9wb3NlZGRvbWVzdGljaW5jbHVkZXNwcm92aWRlZGhvc3BpdGFsdmVydGljYWxjb2xsYXBzZWFwcHJvYWNocGFydG5lcnNsb2dvIj48YWRhdWdodGVyYXV0aG9yIiBjdWx0dXJhbGZhbWlsaWVzL2ltYWdlcy9hc3NlbWJseXBvd2VyZnVsdGVhY2hpbmdmaW5pc2hlZGRpc3RyaWN0Y3JpdGljYWxjZ2ktYmluL3B1cnBvc2VzcmVxdWlyZXNlbGVjdGlvbmJlY29taW5ncHJvdmlkZXNhY2FkZW1pY2V4ZXJjaXNlYWN0dWFsbHltZWRpY2luZWNvbnN0YW50YWNjaWRlbnRNYWdhemluZWRvY3VtZW50c3RhcnRpbmdib3R0b20iPm9ic2VydmVkOiAmcXVvdDtleHRlbmRlZHByZXZpb3VzU29mdHdhcmVjdXN0b21lcmRlY2lzaW9uc3RyZW5ndGhkZXRhaWxlZHNsaWdodGx5cGxhbm5pbmd0ZXh0YXJlYWN1cnJlbmN5ZXZlcnlvbmVzdHJhaWdodHRyYW5zZmVycG9zaXRpdmVwcm9kdWNlZGhlcml0YWdlc2hpcHBpbmdhYnNvbHV0ZXJlY2VpdmVkcmVsZXZhbnRidXR0b24iIHZpb2xlbmNlYW55d2hlcmViZW5lZml0c2xhdW5jaGVkcmVjZW50bHlhbGxpYW5jZWZvbGxvd2VkbXVsdGlwbGVidWxsZXRpbmluY2x1ZGVkb2NjdXJyZWRpbnRlcm5hbCQodGhpcykucmVwdWJsaWM+PHRyPjx0ZGNvbmdyZXNzcmVjb3JkZWR1bHRpbWF0ZXNvbHV0aW9uPHVsIGlkPSJkaXNjb3ZlckhvbWU8L2E+d2Vic2l0ZXNuZXR3b3Jrc2FsdGhvdWdoZW50aXJlbHltZW1vcmlhbG1lc3NhZ2VzY29udGludWVhY3RpdmUiPnNvbWV3aGF0dmljdG9yaWFXZXN0ZXJuICB0aXRsZT0iTG9jYXRpb25jb250cmFjdHZpc2l0b3JzRG93bmxvYWR3aXRob3V0IHJpZ2h0Ij4KbWVhc3VyZXN3aWR0aCA9IHZhcmlhYmxlaW52b2x2ZWR2aXJnaW5pYW5vcm1hbGx5aGFwcGVuZWRhY2NvdW50c3N0YW5kaW5nbmF0aW9uYWxSZWdpc3RlcnByZXBhcmVkY29udHJvbHNhY2N1cmF0ZWJpcnRoZGF5c3RyYXRlZ3lvZmZpY2lhbGdyYXBoaWNzY3JpbWluYWxwb3NzaWJseWNvbnN1bWVyUGVyc29uYWxzcGVha2luZ3ZhbGlkYXRlYWNoaWV2ZWQuanBnIiAvPm1hY2hpbmVzPC9oMj4KICBrZXl3b3Jkc2ZyaWVuZGx5YnJvdGhlcnNjb21iaW5lZG9yaWdpbmFsY29tcG9zZWRleHBlY3RlZGFkZXF1YXRlcGFraXN0YW5mb2xsb3ciIHZhbHVhYmxlPC9sYWJlbD5yZWxhdGl2ZWJyaW5naW5naW5jcmVhc2Vnb3Zlcm5vcnBsdWdpbnMvTGlzdCBvZiBIZWFkZXIiPiIgbmFtZT0iICgmcXVvdDtncmFkdWF0ZTwvaGVhZD4KY29tbWVyY2VtYWxheXNpYWRpcmVjdG9ybWFpbnRhaW47aGVpZ2h0OnNjaGVkdWxlY2hhbmdpbmdiYWNrIHRvIGNhdGhvbGljcGF0dGVybnNjb2xvcjogI2dyZWF0ZXN0c3VwcGxpZXNyZWxpYWJsZTwvdWw+CgkJPHNlbGVjdCBjaXRpemVuc2Nsb3RoaW5nd2F0Y2hpbmc8bGkgaWQ9InNwZWNpZmljY2FycnlpbmdzZW50ZW5jZTxjZW50ZXI+Y29udHJhc3R0aGlua2luZ2NhdGNoKGUpc291dGhlcm5NaWNoYWVsIG1lcmNoYW50Y2Fyb3VzZWxwYWRkaW5nOmludGVyaW9yLnNwbGl0KCJsaXphdGlvbk9jdG9iZXIgKXtyZXR1cm5pbXByb3ZlZC0tJmd0OwoKY292ZXJhZ2VjaGFpcm1hbi5wbmciIC8+c3ViamVjdHNSaWNoYXJkIHdoYXRldmVycHJvYmFibHlyZWNvdmVyeWJhc2ViYWxsanVkZ21lbnRjb25uZWN0Li5jc3MiIC8+IHdlYnNpdGVyZXBvcnRlZGRlZmF1bHQiLz48L2E+DQplbGVjdHJpY3Njb3RsYW5kY3JlYXRpb25xdWFudGl0eS4gSVNCTiAwZGlkIG5vdCBpbnN0YW5jZS1zZWFyY2gtIiBsYW5nPSJzcGVha2Vyc0NvbXB1dGVyY29udGFpbnNhcmNoaXZlc21pbmlzdGVycmVhY3Rpb25kaXNjb3VudEl0YWxpYW5vY3JpdGVyaWFzdHJvbmdseTogJ2h0dHA6J3NjcmlwdCdjb3ZlcmluZ29mZmVyaW5nYXBwZWFyZWRCcml0aXNoIGlkZW50aWZ5RmFjZWJvb2tudW1lcm91c3ZlaGljbGVzY29uY2VybnNBbWVyaWNhbmhhbmRsaW5nZGl2IGlkPSJXaWxsaWFtIHByb3ZpZGVyX2NvbnRlbnRhY2N1cmFjeXNlY3Rpb24gYW5kZXJzb25mbGV4aWJsZUNhdGVnb3J5bGF3cmVuY2U8c2NyaXB0PmxheW91dD0iYXBwcm92ZWQgbWF4aW11bWhlYWRlciI+PC90YWJsZT5TZXJ2aWNlc2hhbWlsdG9uY3VycmVudCBjYW5hZGlhbmNoYW5uZWxzL3RoZW1lcy8vYXJ0aWNsZW9wdGlvbmFscG9ydHVnYWx2YWx1ZT0iImludGVydmFsd2lyZWxlc3NlbnRpdGxlZGFnZW5jaWVzU2VhcmNoIiBtZWFzdXJlZHRob3VzYW5kc3BlbmRpbmcmaGVsbGlwO25ldyBEYXRlIiBzaXplPSJwYWdlTmFtZW1pZGRsZSIgIiAvPjwvYT5oaWRkZW4iPnNlcXVlbmNlcGVyc29uYWxvdmVyZmxvd29waW5pb25zaWxsaW5vaXNsaW5rcyI+Cgk8dGl0bGU+dmVyc2lvbnNzYXR1cmRheXRlcm1pbmFsaXRlbXByb3BlbmdpbmVlcnNlY3Rpb25zZGVzaWduZXJwcm9wb3NhbD0iZmFsc2UiRXNwYcOxb2xyZWxlYXNlc3N1Ym1pdCIgZXImcXVvdDthZGRpdGlvbnN5bXB0b21zb3JpZW50ZWRyZXNvdXJjZXJpZ2h0Ij48cGxlYXN1cmVzdGF0aW9uc2hpc3RvcnkubGVhdmluZyAgYm9yZGVyPWNvbnRlbnRzY2VudGVyIj4uCgpTb21lIGRpcmVjdGVkc3VpdGFibGVidWxnYXJpYS5zaG93KCk7ZGVzaWduZWRHZW5lcmFsIGNvbmNlcHRzRXhhbXBsZXN3aWxsaWFtc09yaWdpbmFsIj48c3Bhbj5zZWFyY2giPm9wZXJhdG9ycmVxdWVzdHNhICZxdW90O2FsbG93aW5nRG9jdW1lbnRyZXZpc2lvbi4gCgpUaGUgeW91cnNlbGZDb250YWN0IG1pY2hpZ2FuRW5nbGlzaCBjb2x1bWJpYXByaW9yaXR5cHJpbnRpbmdkcmlua2luZ2ZhY2lsaXR5cmV0dXJuZWRDb250ZW50IG9mZmljZXJzUnVzc2lhbiBnZW5lcmF0ZS04ODU5LTEiaW5kaWNhdGVmYW1pbGlhciBxdWFsaXR5bWFyZ2luOjAgY29udGVudHZpZXdwb3J0Y29udGFjdHMtdGl0bGUiPnBvcnRhYmxlLmxlbmd0aCBlbGlnaWJsZWludm9sdmVzYXRsYW50aWNvbmxvYWQ9ImRlZmF1bHQuc3VwcGxpZWRwYXltZW50c2dsb3NzYXJ5CgpBZnRlciBndWlkYW5jZTwvdGQ+PHRkZW5jb2RpbmdtaWRkbGUiPmNhbWUgdG8gZGlzcGxheXNzY290dGlzaGpvbmF0aGFubWFqb3JpdHl3aWRnZXRzLmNsaW5pY2FsdGhhaWxhbmR0ZWFjaGVyczxoZWFkPgoJYWZmZWN0ZWRzdXBwb3J0c3BvaW50ZXI7dG9TdHJpbmc8L3NtYWxsPm9rbGFob21hd2lsbCBiZSBpbnZlc3RvcjAiIGFsdD0iaG9saWRheXNSZXNvdXJjZWxpY2Vuc2VkICh3aGljaCAuIEFmdGVyIGNvbnNpZGVydmlzaXRpbmdleHBsb3JlcnByaW1hcnkgc2VhcmNoIiBhbmRyb2lkInF1aWNrbHkgbWVldGluZ3Nlc3RpbWF0ZTtyZXR1cm4gO2NvbG9yOiMgaGVpZ2h0PWFwcHJvdmFsLCAmcXVvdDsgY2hlY2tlZC5taW4uanMibWFnbmV0aWM+PC9hPjwvaGZvcmVjYXN0LiBXaGlsZSB0aHVyc2RheWR2ZXJ0aXNlJmVhY3V0ZTtoYXNDbGFzc2V2YWx1YXRlb3JkZXJpbmdleGlzdGluZ3BhdGllbnRzIE9ubGluZSBjb2xvcmFkb09wdGlvbnMiY2FtcGJlbGw8IS0tIGVuZDwvc3Bhbj48PGJyIC8+DQpfcG9wdXBzfHNjaWVuY2VzLCZxdW90OyBxdWFsaXR5IFdpbmRvd3MgYXNzaWduZWRoZWlnaHQ6IDxiIGNsYXNzbGUmcXVvdDsgdmFsdWU9IiBDb21wYW55ZXhhbXBsZXM8aWZyYW1lIGJlbGlldmVzcHJlc2VudHNtYXJzaGFsbHBhcnQgb2YgcHJvcGVybHkpLgoKVGhlIHRheG9ub215bXVjaCBvZiA8L3NwYW4+CiIgZGF0YS1zcnR1Z3XDqnNzY3JvbGxUbyBwcm9qZWN0PGhlYWQ+DQphdHRvcm5leWVtcGhhc2lzc3BvbnNvcnNmYW5jeWJveHdvcmxkJ3Mgd2lsZGxpZmVjaGVja2VkPXNlc3Npb25zcHJvZ3JhbW1weDtmb250LSBQcm9qZWN0am91cm5hbHNiZWxpZXZlZHZhY2F0aW9udGhvbXBzb25saWdodGluZ2FuZCB0aGUgc3BlY2lhbCBib3JkZXI9MGNoZWNraW5nPC90Ym9keT48YnV0dG9uIENvbXBsZXRlY2xlYXJmaXgKPGhlYWQ+CmFydGljbGUgPHNlY3Rpb25maW5kaW5nc3JvbGUgaW4gcG9wdWxhciAgT2N0b2JlcndlYnNpdGUgZXhwb3N1cmV1c2VkIHRvICBjaGFuZ2Vzb3BlcmF0ZWRjbGlja2luZ2VudGVyaW5nY29tbWFuZHNpbmZvcm1lZCBudW1iZXJzICA8L2Rpdj5jcmVhdGluZ29uU3VibWl0bWFyeWxhbmRjb2xsZWdlc2FuYWx5dGljbGlzdGluZ3Njb250YWN0LmxvZ2dlZEluYWR2aXNvcnlzaWJsaW5nc2NvbnRlbnQicyZxdW90OylzLiBUaGlzIHBhY2thZ2VzY2hlY2tib3hzdWdnZXN0c3ByZWduYW50dG9tb3Jyb3dzcGFjaW5nPWljb24ucG5namFwYW5lc2Vjb2RlYmFzZWJ1dHRvbiI+Z2FtYmxpbmdzdWNoIGFzICwgd2hpbGUgPC9zcGFuPiBtaXNzb3VyaXNwb3J0aW5ndG9wOjFweCAuPC9zcGFuPnRlbnNpb25zd2lkdGg9IjJsYXp5bG9hZG5vdmVtYmVydXNlZCBpbiBoZWlnaHQ9ImNyaXB0Ij4KJm5ic3A7PC88dHI+PHRkIGhlaWdodDoyL3Byb2R1Y3Rjb3VudHJ5IGluY2x1ZGUgZm9vdGVyIiAmbHQ7IS0tIHRpdGxlIj48L2pxdWVyeS48L2Zvcm0+CijnroDkvZMpKOe5gemrlClocnZhdHNraWl0YWxpYW5vcm9tw6JuxIN0w7xya8OnZdin2LHYr9mIdGFtYmnDqW5ub3RpY2lhc21lbnNhamVzcGVyc29uYXNkZXJlY2hvc25hY2lvbmFsc2VydmljaW9jb250YWN0b3VzdWFyaW9zcHJvZ3JhbWFnb2JpZXJub2VtcHJlc2FzYW51bmNpb3N2YWxlbmNpYWNvbG9tYmlhZGVzcHXDqXNkZXBvcnRlc3Byb3llY3RvcHJvZHVjdG9ww7pibGljb25vc290cm9zaGlzdG9yaWFwcmVzZW50ZW1pbGxvbmVzbWVkaWFudGVwcmVndW50YWFudGVyaW9ycmVjdXJzb3Nwcm9ibGVtYXNhbnRpYWdvbnVlc3Ryb3NvcGluacOzbmltcHJpbWlybWllbnRyYXNhbcOpcmljYXZlbmRlZG9yc29jaWVkYWRyZXNwZWN0b3JlYWxpemFycmVnaXN0cm9wYWxhYnJhc2ludGVyw6lzZW50b25jZXNlc3BlY2lhbG1pZW1icm9zcmVhbGlkYWRjw7NyZG9iYXphcmFnb3phcMOhZ2luYXNzb2NpYWxlc2Jsb3F1ZWFyZ2VzdGnDs25hbHF1aWxlcnNpc3RlbWFzY2llbmNpYXNjb21wbGV0b3ZlcnNpw7NuY29tcGxldGFlc3R1ZGlvc3DDumJsaWNhb2JqZXRpdm9hbGljYW50ZWJ1c2NhZG9yY2FudGlkYWRlbnRyYWRhc2FjY2lvbmVzYXJjaGl2b3NzdXBlcmlvcm1heW9yw61hYWxlbWFuaWFmdW5jacOzbsO6bHRpbW9zaGFjaWVuZG9hcXVlbGxvc2VkaWNpw7NuZmVybmFuZG9hbWJpZW50ZWZhY2Vib29rbnVlc3RyYXNjbGllbnRlc3Byb2Nlc29zYmFzdGFudGVwcmVzZW50YXJlcG9ydGFyY29uZ3Jlc29wdWJsaWNhcmNvbWVyY2lvY29udHJhdG9qw7N2ZW5lc2Rpc3RyaXRvdMOpY25pY2Fjb25qdW50b2VuZXJnw61hdHJhYmFqYXJhc3R1cmlhc3JlY2llbnRldXRpbGl6YXJib2xldMOtbnNhbHZhZG9yY29ycmVjdGF0cmFiYWpvc3ByaW1lcm9zbmVnb2Npb3NsaWJlcnRhZGRldGFsbGVzcGFudGFsbGFwcsOzeGltb2FsbWVyw61hYW5pbWFsZXNxdWnDqW5lc2NvcmF6w7Nuc2VjY2nDs25idXNjYW5kb29wY2lvbmVzZXh0ZXJpb3Jjb25jZXB0b3RvZGF2w61hZ2FsZXLDrWFlc2NyaWJpcm1lZGljaW5hbGljZW5jaWFjb25zdWx0YWFzcGVjdG9zY3LDrXRpY2Fkw7NsYXJlc2p1c3RpY2lhZGViZXLDoW5wZXLDrW9kb25lY2VzaXRhbWFudGVuZXJwZXF1ZcOxb3JlY2liaWRhdHJpYnVuYWx0ZW5lcmlmZWNhbmNpw7NuY2FuYXJpYXNkZXNjYXJnYWRpdmVyc29zbWFsbG9yY2FyZXF1aWVyZXTDqWNuaWNvZGViZXLDrWF2aXZpZW5kYWZpbmFuemFzYWRlbGFudGVmdW5jaW9uYWNvbnNlam9zZGlmw61jaWxjaXVkYWRlc2FudGlndWFzYXZhbnphZGF0w6lybWlub3VuaWRhZGVzc8OhbmNoZXpjYW1wYcOxYXNvZnRvbmljcmV2aXN0YXNjb250aWVuZXNlY3RvcmVzbW9tZW50b3NmYWN1bHRhZGNyw6lkaXRvZGl2ZXJzYXNzdXB1ZXN0b2ZhY3RvcmVzc2VndW5kb3NwZXF1ZcOxYdCz0L7QtNCw0LXRgdC70LjQtdGB0YLRjNCx0YvQu9C+0LHRi9GC0YzRjdGC0L7QvNCV0YHQu9C40YLQvtCz0L7QvNC10L3Rj9Cy0YHQtdGF0Y3RgtC+0LnQtNCw0LbQtdCx0YvQu9C40LPQvtC00YPQtNC10L3RjNGN0YLQvtGC0LHRi9C70LDRgdC10LHRj9C+0LTQuNC90YHQtdCx0LXQvdCw0LTQvtGB0LDQudGC0YTQvtGC0L7QvdC10LPQvtGB0LLQvtC40YHQstC+0LnQuNCz0YDRi9GC0L7QttC10LLRgdC10LzRgdCy0L7RjtC70LjRiNGM0Y3RgtC40YXQv9C+0LrQsNC00L3QtdC50LTQvtC80LDQvNC40YDQsNC70LjQsdC+0YLQtdC80YPRhdC+0YLRj9C00LLRg9GF0YHQtdGC0LjQu9GO0LTQuNC00LXQu9C+0LzQuNGA0LXRgtC10LHRj9GB0LLQvtC10LLQuNC00LXRh9C10LPQvtGN0YLQuNC80YHRh9C10YLRgtC10LzRi9GG0LXQvdGL0YHRgtCw0LvQstC10LTRjNGC0LXQvNC10LLQvtC00YvRgtC10LHQtdCy0YvRiNC10L3QsNC80LjRgtC40L/QsNGC0L7QvNGD0L/RgNCw0LLQu9C40YbQsNC+0LTQvdCw0LPQvtC00YvQt9C90LDRjtC80L7Qs9GD0LTRgNGD0LPQstGB0LXQudC40LTQtdGC0LrQuNC90L7QvtC00L3QvtC00LXQu9Cw0LTQtdC70LXRgdGA0L7QutC40Y7QvdGP0LLQtdGB0YzQldGB0YLRjNGA0LDQt9Cw0L3QsNGI0LjYp9mE2YTZh9in2YTYqtmK2KzZhdmK2LnYrtin2LXYqdin2YTYsNmK2LnZhNmK2YfYrNiv2YrYr9in2YTYotmG2KfZhNix2K/Yqtit2YPZhdi12YHYrdip2YPYp9mG2KrYp9mE2YTZitmK2YPZiNmG2LTYqNmD2KnZgdmK2YfYp9io2YbYp9iq2K3ZiNin2KHYo9mD2KvYsdiu2YTYp9mE2KfZhNit2KjYr9mE2YrZhNiv2LHZiNiz2KfYtti62LfYqtmD2YjZhtmH2YbYp9mD2LPYp9it2KnZhtin2K/Zitin2YTYt9io2LnZhNmK2YPYtNmD2LHYp9mK2YXZg9mG2YXZhtmH2KfYtNix2YPYqdix2KbZitiz2YbYtNmK2LfZhdin2LDYp9in2YTZgdmG2LTYqNin2KjYqti52KjYsdix2K3Zhdip2YPYp9mB2KnZitmC2YjZhNmF2LHZg9iy2YPZhNmF2KnYo9it2YXYr9mC2YTYqNmK2YrYudmG2YrYtdmI2LHYqdi32LHZitmC2LTYp9ix2YPYrNmI2KfZhNij2K7YsdmJ2YXYudmG2KfYp9io2K3Yq9i52LHZiNi22KjYtNmD2YTZhdiz2KzZhNio2YbYp9mG2K7Yp9mE2K/Zg9iq2KfYqNmD2YTZitip2KjYr9mI2YbYo9mK2LbYp9mK2YjYrNiv2YHYsdmK2YLZg9iq2KjYqtij2YHYttmE2YXYt9io2K7Yp9mD2KvYsdio2KfYsdmD2KfZgdi22YTYp9it2YTZidmG2YHYs9mH2KPZitin2YXYsdiv2YjYr9ij2YbZh9in2K/ZitmG2KfYp9mE2KfZhtmF2LnYsdi22KrYudmE2YXYr9in2K7ZhNmF2YXZg9mGAEGIkgMLXAEAAQABAAEAAgACAAIAAgAEAAQABAAEAAABAgMEBQYHBwYFBAMCAQAICQoLDA0ODw8ODQwLCgkIEBESExQVFhcXFhUUExIREBgZGhscHR4fHx4dHBsaGRj/////AEHskgMLvOkE/////wEAAAACAAAAAgAAAAEAAAABAAAAAwAAAP//AAEAAAABAAD//wABAAAACAAIAAgACAAAAAEAAgADAAQABQAGAAdyZXNvdXJjZXNjb3VudHJpZXNxdWVzdGlvbnNlcXVpcG1lbnRjb21tdW5pdHlhdmFpbGFibGVoaWdobGlnaHREVEQveGh0bWxtYXJrZXRpbmdrbm93bGVkZ2Vzb21ldGhpbmdjb250YWluZXJkaXJlY3Rpb25zdWJzY3JpYmVhZHZlcnRpc2VjaGFyYWN0ZXIiIHZhbHVlPSI8L3NlbGVjdD5BdXN0cmFsaWEiIGNsYXNzPSJzaXR1YXRpb25hdXRob3JpdHlmb2xsb3dpbmdwcmltYXJpbHlvcGVyYXRpb25jaGFsbGVuZ2VkZXZlbG9wZWRhbm9ueW1vdXNmdW5jdGlvbiBmdW5jdGlvbnNjb21wYW5pZXNzdHJ1Y3R1cmVhZ3JlZW1lbnQiIHRpdGxlPSJwb3RlbnRpYWxlZHVjYXRpb25hcmd1bWVudHNzZWNvbmRhcnljb3B5cmlnaHRsYW5ndWFnZXNleGNsdXNpdmVjb25kaXRpb248L2Zvcm0+DQpzdGF0ZW1lbnRhdHRlbnRpb25CaW9ncmFwaHl9IGVsc2Ugewpzb2x1dGlvbnN3aGVuIHRoZSBBbmFseXRpY3N0ZW1wbGF0ZXNkYW5nZXJvdXNzYXRlbGxpdGVkb2N1bWVudHNwdWJsaXNoZXJpbXBvcnRhbnRwcm90b3R5cGVpbmZsdWVuY2UmcmFxdW87PC9lZmZlY3RpdmVnZW5lcmFsbHl0cmFuc2Zvcm1iZWF1dGlmdWx0cmFuc3BvcnRvcmdhbml6ZWRwdWJsaXNoZWRwcm9taW5lbnR1bnRpbCB0aGV0aHVtYm5haWxOYXRpb25hbCAuZm9jdXMoKTtvdmVyIHRoZSBtaWdyYXRpb25hbm5vdW5jZWRmb290ZXIiPgpleGNlcHRpb25sZXNzIHRoYW5leHBlbnNpdmVmb3JtYXRpb25mcmFtZXdvcmt0ZXJyaXRvcnluZGljYXRpb25jdXJyZW50bHljbGFzc05hbWVjcml0aWNpc210cmFkaXRpb25lbHNld2hlcmVBbGV4YW5kZXJhcHBvaW50ZWRtYXRlcmlhbHNicm9hZGNhc3RtZW50aW9uZWRhZmZpbGlhdGU8L29wdGlvbj50cmVhdG1lbnRkaWZmZXJlbnQvZGVmYXVsdC5QcmVzaWRlbnRvbmNsaWNrPSJiaW9ncmFwaHlvdGhlcndpc2VwZXJtYW5lbnRGcmFuw6dhaXNIb2xseXdvb2RleHBhbnNpb25zdGFuZGFyZHM8L3N0eWxlPgpyZWR1Y3Rpb25EZWNlbWJlciBwcmVmZXJyZWRDYW1icmlkZ2VvcHBvbmVudHNCdXNpbmVzcyBjb25mdXNpb24+Cjx0aXRsZT5wcmVzZW50ZWRleHBsYWluZWRkb2VzIG5vdCB3b3JsZHdpZGVpbnRlcmZhY2Vwb3NpdGlvbnNuZXdzcGFwZXI8L3RhYmxlPgptb3VudGFpbnNsaWtlIHRoZSBlc3NlbnRpYWxmaW5hbmNpYWxzZWxlY3Rpb25hY3Rpb249Ii9hYmFuZG9uZWRFZHVjYXRpb25wYXJzZUludChzdGFiaWxpdHl1bmFibGUgdG88L3RpdGxlPgpyZWxhdGlvbnNOb3RlIHRoYXRlZmZpY2llbnRwZXJmb3JtZWR0d28geWVhcnNTaW5jZSB0aGV0aGVyZWZvcmV3cmFwcGVyIj5hbHRlcm5hdGVpbmNyZWFzZWRCYXR0bGUgb2ZwZXJjZWl2ZWR0cnlpbmcgdG9uZWNlc3Nhcnlwb3J0cmF5ZWRlbGVjdGlvbnNFbGl6YWJldGg8L2lmcmFtZT5kaXNjb3ZlcnlpbnN1cmFuY2VzLmxlbmd0aDtsZWdlbmRhcnlHZW9ncmFwaHljYW5kaWRhdGVjb3Jwb3JhdGVzb21ldGltZXNzZXJ2aWNlcy5pbmhlcml0ZWQ8L3N0cm9uZz5Db21tdW5pdHlyZWxpZ2lvdXNsb2NhdGlvbnNDb21taXR0ZWVidWlsZGluZ3N0aGUgd29ybGRubyBsb25nZXJiZWdpbm5pbmdyZWZlcmVuY2VjYW5ub3QgYmVmcmVxdWVuY3l0eXBpY2FsbHlpbnRvIHRoZSByZWxhdGl2ZTtyZWNvcmRpbmdwcmVzaWRlbnRpbml0aWFsbHl0ZWNobmlxdWV0aGUgb3RoZXJpdCBjYW4gYmVleGlzdGVuY2V1bmRlcmxpbmV0aGlzIHRpbWV0ZWxlcGhvbmVpdGVtc2NvcGVwcmFjdGljZXNhZHZhbnRhZ2UpO3JldHVybiBGb3Igb3RoZXJwcm92aWRpbmdkZW1vY3JhY3lib3RoIHRoZSBleHRlbnNpdmVzdWZmZXJpbmdzdXBwb3J0ZWRjb21wdXRlcnMgZnVuY3Rpb25wcmFjdGljYWxzYWlkIHRoYXRpdCBtYXkgYmVFbmdsaXNoPC9mcm9tIHRoZSBzY2hlZHVsZWRkb3dubG9hZHM8L2xhYmVsPgpzdXNwZWN0ZWRtYXJnaW46IDBzcGlyaXR1YWw8L2hlYWQ+CgptaWNyb3NvZnRncmFkdWFsbHlkaXNjdXNzZWRoZSBiZWNhbWVleGVjdXRpdmVqcXVlcnkuanNob3VzZWhvbGRjb25maXJtZWRwdXJjaGFzZWRsaXRlcmFsbHlkZXN0cm95ZWR1cCB0byB0aGV2YXJpYXRpb25yZW1haW5pbmdpdCBpcyBub3RjZW50dXJpZXNKYXBhbmVzZSBhbW9uZyB0aGVjb21wbGV0ZWRhbGdvcml0aG1pbnRlcmVzdHNyZWJlbGxpb251bmRlZmluZWRlbmNvdXJhZ2VyZXNpemFibGVpbnZvbHZpbmdzZW5zaXRpdmV1bml2ZXJzYWxwcm92aXNpb24oYWx0aG91Z2hmZWF0dXJpbmdjb25kdWN0ZWQpLCB3aGljaCBjb250aW51ZWQtaGVhZGVyIj5GZWJydWFyeSBudW1lcm91cyBvdmVyZmxvdzpjb21wb25lbnRmcmFnbWVudHNleGNlbGxlbnRjb2xzcGFuPSJ0ZWNobmljYWxuZWFyIHRoZSBBZHZhbmNlZCBzb3VyY2Ugb2ZleHByZXNzZWRIb25nIEtvbmcgRmFjZWJvb2ttdWx0aXBsZSBtZWNoYW5pc21lbGV2YXRpb25vZmZlbnNpdmU8L2Zvcm0+CglzcG9uc29yZWRkb2N1bWVudC5vciAmcXVvdDt0aGVyZSBhcmV0aG9zZSB3aG9tb3ZlbWVudHNwcm9jZXNzZXNkaWZmaWN1bHRzdWJtaXR0ZWRyZWNvbW1lbmRjb252aW5jZWRwcm9tb3RpbmciIHdpZHRoPSIucmVwbGFjZShjbGFzc2ljYWxjb2FsaXRpb25oaXMgZmlyc3RkZWNpc2lvbnNhc3Npc3RhbnRpbmRpY2F0ZWRldm9sdXRpb24td3JhcHBlciJlbm91Z2ggdG9hbG9uZyB0aGVkZWxpdmVyZWQtLT4NCjwhLS1BbWVyaWNhbiBwcm90ZWN0ZWROb3ZlbWJlciA8L3N0eWxlPjxmdXJuaXR1cmVJbnRlcm5ldCAgb25ibHVyPSJzdXNwZW5kZWRyZWNpcGllbnRiYXNlZCBvbiBNb3Jlb3ZlcixhYm9saXNoZWRjb2xsZWN0ZWR3ZXJlIG1hZGVlbW90aW9uYWxlbWVyZ2VuY3luYXJyYXRpdmVhZHZvY2F0ZXNweDtib3JkZXJjb21taXR0ZWRkaXI9Imx0ciJlbXBsb3llZXNyZXNlYXJjaC4gc2VsZWN0ZWRzdWNjZXNzb3JjdXN0b21lcnNkaXNwbGF5ZWRTZXB0ZW1iZXJhZGRDbGFzcyhGYWNlYm9vayBzdWdnZXN0ZWRhbmQgbGF0ZXJvcGVyYXRpbmdlbGFib3JhdGVTb21ldGltZXNJbnN0aXR1dGVjZXJ0YWlubHlpbnN0YWxsZWRmb2xsb3dlcnNKZXJ1c2FsZW10aGV5IGhhdmVjb21wdXRpbmdnZW5lcmF0ZWRwcm92aW5jZXNndWFyYW50ZWVhcmJpdHJhcnlyZWNvZ25pemV3YW50ZWQgdG9weDt3aWR0aDp0aGVvcnkgb2ZiZWhhdmlvdXJXaGlsZSB0aGVlc3RpbWF0ZWRiZWdhbiB0byBpdCBiZWNhbWVtYWduaXR1ZGVtdXN0IGhhdmVtb3JlIHRoYW5EaXJlY3RvcnlleHRlbnNpb25zZWNyZXRhcnluYXR1cmFsbHlvY2N1cnJpbmd2YXJpYWJsZXNnaXZlbiB0aGVwbGF0Zm9ybS48L2xhYmVsPjxmYWlsZWQgdG9jb21wb3VuZHNraW5kcyBvZiBzb2NpZXRpZXNhbG9uZ3NpZGUgLS0mZ3Q7Cgpzb3V0aHdlc3R0aGUgcmlnaHRyYWRpYXRpb25tYXkgaGF2ZSB1bmVzY2FwZShzcG9rZW4gaW4iIGhyZWY9Ii9wcm9ncmFtbWVvbmx5IHRoZSBjb21lIGZyb21kaXJlY3RvcnlidXJpZWQgaW5hIHNpbWlsYXJ0aGV5IHdlcmU8L2ZvbnQ+PC9Ob3J3ZWdpYW5zcGVjaWZpZWRwcm9kdWNpbmdwYXNzZW5nZXIobmV3IERhdGV0ZW1wb3JhcnlmaWN0aW9uYWxBZnRlciB0aGVlcXVhdGlvbnNkb3dubG9hZC5yZWd1bGFybHlkZXZlbG9wZXJhYm92ZSB0aGVsaW5rZWQgdG9waGVub21lbmFwZXJpb2Qgb2Z0b29sdGlwIj5zdWJzdGFuY2VhdXRvbWF0aWNhc3BlY3Qgb2ZBbW9uZyB0aGVjb25uZWN0ZWRlc3RpbWF0ZXNBaXIgRm9yY2VzeXN0ZW0gb2ZvYmplY3RpdmVpbW1lZGlhdGVtYWtpbmcgaXRwYWludGluZ3Njb25xdWVyZWRhcmUgc3RpbGxwcm9jZWR1cmVncm93dGggb2ZoZWFkZWQgYnlFdXJvcGVhbiBkaXZpc2lvbnNtb2xlY3VsZXNmcmFuY2hpc2VpbnRlbnRpb25hdHRyYWN0ZWRjaGlsZGhvb2RhbHNvIHVzZWRkZWRpY2F0ZWRzaW5nYXBvcmVkZWdyZWUgb2ZmYXRoZXIgb2Zjb25mbGljdHM8L2E+PC9wPgpjYW1lIGZyb213ZXJlIHVzZWRub3RlIHRoYXRyZWNlaXZpbmdFeGVjdXRpdmVldmVuIG1vcmVhY2Nlc3MgdG9jb21tYW5kZXJQb2xpdGljYWxtdXNpY2lhbnNkZWxpY2lvdXNwcmlzb25lcnNhZHZlbnQgb2ZVVEYtOCIgLz48IVtDREFUQVsiPkNvbnRhY3RTb3V0aGVybiBiZ2NvbG9yPSJzZXJpZXMgb2YuIEl0IHdhcyBpbiBFdXJvcGVwZXJtaXR0ZWR2YWxpZGF0ZS5hcHBlYXJpbmdvZmZpY2lhbHNzZXJpb3VzbHktbGFuZ3VhZ2Vpbml0aWF0ZWRleHRlbmRpbmdsb25nLXRlcm1pbmZsYXRpb25zdWNoIHRoYXRnZXRDb29raWVtYXJrZWQgYnk8L2J1dHRvbj5pbXBsZW1lbnRidXQgaXQgaXNpbmNyZWFzZXNkb3duIHRoZSByZXF1aXJpbmdkZXBlbmRlbnQtLT4KPCEtLSBpbnRlcnZpZXdXaXRoIHRoZSBjb3BpZXMgb2Zjb25zZW5zdXN3YXMgYnVpbHRWZW5lenVlbGEoZm9ybWVybHl0aGUgc3RhdGVwZXJzb25uZWxzdHJhdGVnaWNmYXZvdXIgb2ZpbnZlbnRpb25XaWtpcGVkaWFjb250aW5lbnR2aXJ0dWFsbHl3aGljaCB3YXNwcmluY2lwbGVDb21wbGV0ZSBpZGVudGljYWxzaG93IHRoYXRwcmltaXRpdmVhd2F5IGZyb21tb2xlY3VsYXJwcmVjaXNlbHlkaXNzb2x2ZWRVbmRlciB0aGV2ZXJzaW9uPSI+Jm5ic3A7PC9JdCBpcyB0aGUgVGhpcyBpcyB3aWxsIGhhdmVvcmdhbmlzbXNzb21lIHRpbWVGcmllZHJpY2h3YXMgZmlyc3R0aGUgb25seSBmYWN0IHRoYXRmb3JtIGlkPSJwcmVjZWRpbmdUZWNobmljYWxwaHlzaWNpc3RvY2N1cnMgaW5uYXZpZ2F0b3JzZWN0aW9uIj5zcGFuIGlkPSJzb3VnaHQgdG9iZWxvdyB0aGVzdXJ2aXZpbmd9PC9zdHlsZT5oaXMgZGVhdGhhcyBpbiB0aGVjYXVzZWQgYnlwYXJ0aWFsbHlleGlzdGluZyB1c2luZyB0aGV3YXMgZ2l2ZW5hIGxpc3Qgb2ZsZXZlbHMgb2Zub3Rpb24gb2ZPZmZpY2lhbCBkaXNtaXNzZWRzY2llbnRpc3RyZXNlbWJsZXNkdXBsaWNhdGVleHBsb3NpdmVyZWNvdmVyZWRhbGwgb3RoZXJnYWxsZXJpZXN7cGFkZGluZzpwZW9wbGUgb2ZyZWdpb24gb2ZhZGRyZXNzZXNhc3NvY2lhdGVpbWcgYWx0PSJpbiBtb2Rlcm5zaG91bGQgYmVtZXRob2Qgb2ZyZXBvcnRpbmd0aW1lc3RhbXBuZWVkZWQgdG90aGUgR3JlYXRyZWdhcmRpbmdzZWVtZWQgdG92aWV3ZWQgYXNpbXBhY3Qgb25pZGVhIHRoYXR0aGUgV29ybGRoZWlnaHQgb2ZleHBhbmRpbmdUaGVzZSBhcmVjdXJyZW50Ij5jYXJlZnVsbHltYWludGFpbnNjaGFyZ2Ugb2ZDbGFzc2ljYWxhZGRyZXNzZWRwcmVkaWN0ZWRvd25lcnNoaXA8ZGl2IGlkPSJyaWdodCI+DQpyZXNpZGVuY2VsZWF2ZSB0aGVjb250ZW50Ij5hcmUgb2Z0ZW4gIH0pKCk7DQpwcm9iYWJseSBQcm9mZXNzb3ItYnV0dG9uIiByZXNwb25kZWRzYXlzIHRoYXRoYWQgdG8gYmVwbGFjZWQgaW5IdW5nYXJpYW5zdGF0dXMgb2ZzZXJ2ZXMgYXNVbml2ZXJzYWxleGVjdXRpb25hZ2dyZWdhdGVmb3Igd2hpY2hpbmZlY3Rpb25hZ3JlZWQgdG9ob3dldmVyLCBwb3B1bGFyIj5wbGFjZWQgb25jb25zdHJ1Y3RlbGVjdG9yYWxzeW1ib2wgb2ZpbmNsdWRpbmdyZXR1cm4gdG9hcmNoaXRlY3RDaHJpc3RpYW5wcmV2aW91cyBsaXZpbmcgaW5lYXNpZXIgdG9wcm9mZXNzb3IKJmx0OyEtLSBlZmZlY3Qgb2ZhbmFseXRpY3N3YXMgdGFrZW53aGVyZSB0aGV0b29rIG92ZXJiZWxpZWYgaW5BZnJpa2FhbnNhcyBmYXIgYXNwcmV2ZW50ZWR3b3JrIHdpdGhhIHNwZWNpYWw8ZmllbGRzZXRDaHJpc3RtYXNSZXRyaWV2ZWQKCkluIHRoZSBiYWNrIGludG9ub3J0aGVhc3RtYWdhemluZXM+PHN0cm9uZz5jb21taXR0ZWVnb3Zlcm5pbmdncm91cHMgb2ZzdG9yZWQgaW5lc3RhYmxpc2hhIGdlbmVyYWxpdHMgZmlyc3R0aGVpciBvd25wb3B1bGF0ZWRhbiBvYmplY3RDYXJpYmJlYW5hbGxvdyB0aGVkaXN0cmljdHN3aXNjb25zaW5sb2NhdGlvbi47IHdpZHRoOiBpbmhhYml0ZWRTb2NpYWxpc3RKYW51YXJ5IDE8L2Zvb3Rlcj5zaW1pbGFybHljaG9pY2Ugb2Z0aGUgc2FtZSBzcGVjaWZpYyBidXNpbmVzcyBUaGUgZmlyc3QubGVuZ3RoOyBkZXNpcmUgdG9kZWFsIHdpdGhzaW5jZSB0aGV1c2VyQWdlbnRjb25jZWl2ZWRpbmRleC5waHBhcyAmcXVvdDtlbmdhZ2UgaW5yZWNlbnRseSxmZXcgeWVhcnN3ZXJlIGFsc28KPGhlYWQ+CjxlZGl0ZWQgYnlhcmUga25vd25jaXRpZXMgaW5hY2Nlc3NrZXljb25kZW1uZWRhbHNvIGhhdmVzZXJ2aWNlcyxmYW1pbHkgb2ZTY2hvb2wgb2Zjb252ZXJ0ZWRuYXR1cmUgb2YgbGFuZ3VhZ2VtaW5pc3RlcnM8L29iamVjdD50aGVyZSBpcyBhIHBvcHVsYXJzZXF1ZW5jZXNhZHZvY2F0ZWRUaGV5IHdlcmVhbnkgb3RoZXJsb2NhdGlvbj1lbnRlciB0aGVtdWNoIG1vcmVyZWZsZWN0ZWR3YXMgbmFtZWRvcmlnaW5hbCBhIHR5cGljYWx3aGVuIHRoZXllbmdpbmVlcnNjb3VsZCBub3RyZXNpZGVudHN3ZWRuZXNkYXl0aGUgdGhpcmQgcHJvZHVjdHNKYW51YXJ5IDJ3aGF0IHRoZXlhIGNlcnRhaW5yZWFjdGlvbnNwcm9jZXNzb3JhZnRlciBoaXN0aGUgbGFzdCBjb250YWluZWQiPjwvZGl2Pgo8L2E+PC90ZD5kZXBlbmQgb25zZWFyY2giPgpwaWVjZXMgb2Zjb21wZXRpbmdSZWZlcmVuY2V0ZW5uZXNzZWV3aGljaCBoYXMgdmVyc2lvbj08L3NwYW4+IDw8L2hlYWRlcj5naXZlcyB0aGVoaXN0b3JpYW52YWx1ZT0iIj5wYWRkaW5nOjB2aWV3IHRoYXR0b2dldGhlcix0aGUgbW9zdCB3YXMgZm91bmRzdWJzZXQgb2ZhdHRhY2sgb25jaGlsZHJlbixwb2ludHMgb2ZwZXJzb25hbCBwb3NpdGlvbjphbGxlZ2VkbHlDbGV2ZWxhbmR3YXMgbGF0ZXJhbmQgYWZ0ZXJhcmUgZ2l2ZW53YXMgc3RpbGxzY3JvbGxpbmdkZXNpZ24gb2ZtYWtlcyB0aGVtdWNoIGxlc3NBbWVyaWNhbnMuCgpBZnRlciAsIGJ1dCB0aGVNdXNldW0gb2Zsb3Vpc2lhbmEoZnJvbSB0aGVtaW5uZXNvdGFwYXJ0aWNsZXNhIHByb2Nlc3NEb21pbmljYW52b2x1bWUgb2ZyZXR1cm5pbmdkZWZlbnNpdmUwMHB4fHJpZ2htYWRlIGZyb21tb3VzZW92ZXIiIHN0eWxlPSJzdGF0ZXMgb2Yod2hpY2ggaXNjb250aW51ZXNGcmFuY2lzY29idWlsZGluZyB3aXRob3V0IGF3aXRoIHNvbWV3aG8gd291bGRhIGZvcm0gb2ZhIHBhcnQgb2ZiZWZvcmUgaXRrbm93biBhcyAgU2VydmljZXNsb2NhdGlvbiBhbmQgb2Z0ZW5tZWFzdXJpbmdhbmQgaXQgaXNwYXBlcmJhY2t2YWx1ZXMgb2YNCjx0aXRsZT49IHdpbmRvdy5kZXRlcm1pbmVlciZxdW90OyBwbGF5ZWQgYnlhbmQgZWFybHk8L2NlbnRlcj5mcm9tIHRoaXN0aGUgdGhyZWVwb3dlciBhbmRvZiAmcXVvdDtpbm5lckhUTUw8YSBocmVmPSJ5OmlubGluZTtDaHVyY2ggb2Z0aGUgZXZlbnR2ZXJ5IGhpZ2hvZmZpY2lhbCAtaGVpZ2h0OiBjb250ZW50PSIvY2dpLWJpbi90byBjcmVhdGVhZnJpa2FhbnNlc3BlcmFudG9mcmFuw6dhaXNsYXR2aWXFoXVsaWV0dXZpxbPEjGXFoXRpbmHEjWXFoXRpbmHguYTguJfguKLml6XmnKzoqp7nroDkvZPlrZfnuYHpq5TlrZftlZzqta3slrTkuLrku4DkuYjorqHnrpfmnLrnrJTorrDmnKzoqI7oq5bljYDmnI3liqHlmajkupLogZTnvZHmiL/lnLDkuqfkv7HkuZDpg6jlh7rniYjnpL7mjpLooYzmppzpg6jokL3moLzov5vkuIDmraXmlK/ku5jlrp3pqozor4HnoIHlp5TlkZjkvJrmlbDmja7lupPmtojotLnogIXlip7lhazlrqTorqjorrrljLrmt7HlnLPluILmkq3mlL7lmajljJfkuqzluILlpKflrabnlJ/otormnaXotornrqHnkIblkZjkv6Hmga/nvZFzZXJ2aWNpb3NhcnTDrWN1bG9hcmdlbnRpbmFiYXJjZWxvbmFjdWFscXVpZXJwdWJsaWNhZG9wcm9kdWN0b3Nwb2zDrXRpY2FyZXNwdWVzdGF3aWtpcGVkaWFzaWd1aWVudGViw7pzcXVlZGFjb211bmlkYWRzZWd1cmlkYWRwcmluY2lwYWxwcmVndW50YXNjb250ZW5pZG9yZXNwb25kZXJ2ZW5lenVlbGFwcm9ibGVtYXNkaWNpZW1icmVyZWxhY2nDs25ub3ZpZW1icmVzaW1pbGFyZXNwcm95ZWN0b3Nwcm9ncmFtYXNpbnN0aXR1dG9hY3RpdmlkYWRlbmN1ZW50cmFlY29ub23DrWFpbcOhZ2VuZXNjb250YWN0YXJkZXNjYXJnYXJuZWNlc2FyaW9hdGVuY2nDs250ZWzDqWZvbm9jb21pc2nDs25jYW5jaW9uZXNjYXBhY2lkYWRlbmNvbnRyYXJhbsOhbGlzaXNmYXZvcml0b3N0w6lybWlub3Nwcm92aW5jaWFldGlxdWV0YXNlbGVtZW50b3NmdW5jaW9uZXNyZXN1bHRhZG9jYXLDoWN0ZXJwcm9waWVkYWRwcmluY2lwaW9uZWNlc2lkYWRtdW5pY2lwYWxjcmVhY2nDs25kZXNjYXJnYXNwcmVzZW5jaWFjb21lcmNpYWxvcGluaW9uZXNlamVyY2ljaW9lZGl0b3JpYWxzYWxhbWFuY2Fnb256w6FsZXpkb2N1bWVudG9wZWzDrWN1bGFyZWNpZW50ZXNnZW5lcmFsZXN0YXJyYWdvbmFwcsOhY3RpY2Fub3ZlZGFkZXNwcm9wdWVzdGFwYWNpZW50ZXN0w6ljbmljYXNvYmpldGl2b3Njb250YWN0b3PgpK7gpYfgpILgpLLgpL/gpI/gpLngpYjgpILgpJfgpK/gpL7gpLjgpL7gpKXgpI/gpLXgpILgpLDgpLngpYfgpJXgpYvgpIjgpJXgpYHgpJvgpLDgpLngpL7gpKzgpL7gpKbgpJXgpLngpL7gpLjgpK3gpYDgpLngpYHgpI/gpLDgpLngpYDgpK7gpYjgpILgpKbgpL/gpKjgpKzgpL7gpKRkaXBsb2RvY3PgpLjgpK7gpK/gpLDgpYLgpKrgpKjgpL7gpK7gpKrgpKTgpL7gpKvgpL/gpLDgpJTgpLjgpKTgpKTgpLDgpLngpLLgpYvgpJfgpLngpYHgpIbgpKzgpL7gpLDgpKbgpYfgpLbgpLngpYHgpIjgpJbgpYfgpLLgpK/gpKbgpL/gpJXgpL7gpK7gpLXgpYfgpKzgpKTgpYDgpKjgpKzgpYDgpJrgpK7gpYzgpKTgpLjgpL7gpLLgpLLgpYfgpJbgpJzgpYngpKzgpK7gpKbgpKbgpKTgpKXgpL7gpKjgpLngpYDgpLbgpLngpLDgpIXgpLLgpJfgpJXgpK3gpYDgpKjgpJfgpLDgpKrgpL7gpLjgpLDgpL7gpKTgpJXgpL/gpI/gpIngpLjgpYfgpJfgpK/gpYDgpLngpYLgpIHgpIbgpJfgpYfgpJ/gpYDgpK7gpJbgpYvgpJzgpJXgpL7gpLDgpIXgpK3gpYDgpJfgpK/gpYfgpKTgpYHgpK7gpLXgpYvgpJ/gpKbgpYfgpILgpIXgpJfgpLDgpJDgpLjgpYfgpK7gpYfgpLLgpLLgpJfgpL7gpLngpL7gpLLgpIrgpKrgpLDgpJrgpL7gpLDgpJDgpLjgpL7gpKbgpYfgpLDgpJzgpL/gpLjgpKbgpL/gpLLgpKzgpILgpKbgpKzgpKjgpL7gpLngpYLgpILgpLLgpL7gpJbgpJzgpYDgpKTgpKzgpJ/gpKjgpK7gpL/gpLLgpIfgpLjgpYfgpIbgpKjgpYfgpKjgpK/gpL7gpJXgpYHgpLLgpLLgpYngpJfgpK3gpL7gpJfgpLDgpYfgpLLgpJzgpJfgpLngpLDgpL7gpK7gpLLgpJfgpYfgpKrgpYfgpJzgpLngpL7gpKXgpIfgpLjgpYDgpLjgpLngpYDgpJXgpLLgpL7gpKDgpYDgpJXgpLngpL7gpIHgpKbgpYLgpLDgpKTgpLngpKTgpLjgpL7gpKTgpK/gpL7gpKbgpIbgpK/gpL7gpKrgpL7gpJXgpJXgpYzgpKjgpLbgpL7gpK7gpKbgpYfgpJbgpK/gpLngpYDgpLDgpL7gpK/gpJbgpYHgpKbgpLLgpJfgpYBjYXRlZ29yaWVzZXhwZXJpZW5jZTwvdGl0bGU+DQpDb3B5cmlnaHQgamF2YXNjcmlwdGNvbmRpdGlvbnNldmVyeXRoaW5nPHAgY2xhc3M9InRlY2hub2xvZ3liYWNrZ3JvdW5kPGEgY2xhc3M9Im1hbmFnZW1lbnQmY29weTsgMjAxamF2YVNjcmlwdGNoYXJhY3RlcnNicmVhZGNydW1idGhlbXNlbHZlc2hvcml6b250YWxnb3Zlcm5tZW50Q2FsaWZvcm5pYWFjdGl2aXRpZXNkaXNjb3ZlcmVkTmF2aWdhdGlvbnRyYW5zaXRpb25jb25uZWN0aW9ubmF2aWdhdGlvbmFwcGVhcmFuY2U8L3RpdGxlPjxtY2hlY2tib3giIHRlY2huaXF1ZXNwcm90ZWN0aW9uYXBwYXJlbnRseWFzIHdlbGwgYXN1bnQnLCAnVUEtcmVzb2x1dGlvbm9wZXJhdGlvbnN0ZWxldmlzaW9udHJhbnNsYXRlZFdhc2hpbmd0b25uYXZpZ2F0b3IuID0gd2luZG93LmltcHJlc3Npb24mbHQ7YnImZ3Q7bGl0ZXJhdHVyZXBvcHVsYXRpb25iZ2NvbG9yPSIjZXNwZWNpYWxseSBjb250ZW50PSJwcm9kdWN0aW9ubmV3c2xldHRlcnByb3BlcnRpZXNkZWZpbml0aW9ubGVhZGVyc2hpcFRlY2hub2xvZ3lQYXJsaWFtZW50Y29tcGFyaXNvbnVsIGNsYXNzPSIuaW5kZXhPZigiY29uY2x1c2lvbmRpc2N1c3Npb25jb21wb25lbnRzYmlvbG9naWNhbFJldm9sdXRpb25fY29udGFpbmVydW5kZXJzdG9vZG5vc2NyaXB0PjxwZXJtaXNzaW9uZWFjaCBvdGhlcmF0bW9zcGhlcmUgb25mb2N1cz0iPGZvcm0gaWQ9InByb2Nlc3Npbmd0aGlzLnZhbHVlZ2VuZXJhdGlvbkNvbmZlcmVuY2VzdWJzZXF1ZW50d2VsbC1rbm93bnZhcmlhdGlvbnNyZXB1dGF0aW9ucGhlbm9tZW5vbmRpc2NpcGxpbmVsb2dvLnBuZyIgKGRvY3VtZW50LGJvdW5kYXJpZXNleHByZXNzaW9uc2V0dGxlbWVudEJhY2tncm91bmRvdXQgb2YgdGhlZW50ZXJwcmlzZSgiaHR0cHM6IiB1bmVzY2FwZSgicGFzc3dvcmQiIGRlbW9jcmF0aWM8YSBocmVmPSIvd3JhcHBlciI+Cm1lbWJlcnNoaXBsaW5ndWlzdGljcHg7cGFkZGluZ3BoaWxvc29waHlhc3Npc3RhbmNldW5pdmVyc2l0eWZhY2lsaXRpZXNyZWNvZ25pemVkcHJlZmVyZW5jZWlmICh0eXBlb2ZtYWludGFpbmVkdm9jYWJ1bGFyeWh5cG90aGVzaXMuc3VibWl0KCk7JmFtcDtuYnNwO2Fubm90YXRpb25iZWhpbmQgdGhlRm91bmRhdGlvbnB1Ymxpc2hlciJhc3N1bXB0aW9uaW50cm9kdWNlZGNvcnJ1cHRpb25zY2llbnRpc3RzZXhwbGljaXRseWluc3RlYWQgb2ZkaW1lbnNpb25zIG9uQ2xpY2s9ImNvbnNpZGVyZWRkZXBhcnRtZW50b2NjdXBhdGlvbnNvb24gYWZ0ZXJpbnZlc3RtZW50cHJvbm91bmNlZGlkZW50aWZpZWRleHBlcmltZW50TWFuYWdlbWVudGdlb2dyYXBoaWMiIGhlaWdodD0ibGluayByZWw9Ii5yZXBsYWNlKC9kZXByZXNzaW9uY29uZmVyZW5jZXB1bmlzaG1lbnRlbGltaW5hdGVkcmVzaXN0YW5jZWFkYXB0YXRpb25vcHBvc2l0aW9ud2VsbCBrbm93bnN1cHBsZW1lbnRkZXRlcm1pbmVkaDEgY2xhc3M9IjBweDttYXJnaW5tZWNoYW5pY2Fsc3RhdGlzdGljc2NlbGVicmF0ZWRHb3Zlcm5tZW50CgpEdXJpbmcgdGRldmVsb3BlcnNhcnRpZmljaWFsZXF1aXZhbGVudG9yaWdpbmF0ZWRDb21taXNzaW9uYXR0YWNobWVudDxzcGFuIGlkPSJ0aGVyZSB3ZXJlTmVkZXJsYW5kc2JleW9uZCB0aGVyZWdpc3RlcmVkam91cm5hbGlzdGZyZXF1ZW50bHlhbGwgb2YgdGhlbGFuZz0iZW4iIDwvc3R5bGU+DQphYnNvbHV0ZTsgc3VwcG9ydGluZ2V4dHJlbWVseSBtYWluc3RyZWFtPC9zdHJvbmc+IHBvcHVsYXJpdHllbXBsb3ltZW50PC90YWJsZT4NCiBjb2xzcGFuPSI8L2Zvcm0+CiAgY29udmVyc2lvbmFib3V0IHRoZSA8L3A+PC9kaXY+aW50ZWdyYXRlZCIgbGFuZz0iZW5Qb3J0dWd1ZXNlc3Vic3RpdHV0ZWluZGl2aWR1YWxpbXBvc3NpYmxlbXVsdGltZWRpYWFsbW9zdCBhbGxweCBzb2xpZCAjYXBhcnQgZnJvbXN1YmplY3QgdG9pbiBFbmdsaXNoY3JpdGljaXplZGV4Y2VwdCBmb3JndWlkZWxpbmVzb3JpZ2luYWxseXJlbWFya2FibGV0aGUgc2Vjb25kaDIgY2xhc3M9IjxhIHRpdGxlPSIoaW5jbHVkaW5ncGFyYW1ldGVyc3Byb2hpYml0ZWQ9ICJodHRwOi8vZGljdGlvbmFyeXBlcmNlcHRpb25yZXZvbHV0aW9uZm91bmRhdGlvbnB4O2hlaWdodDpzdWNjZXNzZnVsc3VwcG9ydGVyc21pbGxlbm5pdW1oaXMgZmF0aGVydGhlICZxdW90O25vLXJlcGVhdDtjb21tZXJjaWFsaW5kdXN0cmlhbGVuY291cmFnZWRhbW91bnQgb2YgdW5vZmZpY2lhbGVmZmljaWVuY3lSZWZlcmVuY2VzY29vcmRpbmF0ZWRpc2NsYWltZXJleHBlZGl0aW9uZGV2ZWxvcGluZ2NhbGN1bGF0ZWRzaW1wbGlmaWVkbGVnaXRpbWF0ZXN1YnN0cmluZygwIiBjbGFzcz0iY29tcGxldGVseWlsbHVzdHJhdGVmaXZlIHllYXJzaW5zdHJ1bWVudFB1Ymxpc2hpbmcxIiBjbGFzcz0icHN5Y2hvbG9neWNvbmZpZGVuY2VudW1iZXIgb2YgYWJzZW5jZSBvZmZvY3VzZWQgb25qb2luZWQgdGhlc3RydWN0dXJlc3ByZXZpb3VzbHk+PC9pZnJhbWU+b25jZSBhZ2FpbmJ1dCByYXRoZXJpbW1pZ3JhbnRzb2YgY291cnNlLGEgZ3JvdXAgb2ZMaXRlcmF0dXJlVW5saWtlIHRoZTwvYT4mbmJzcDsKZnVuY3Rpb24gaXQgd2FzIHRoZUNvbnZlbnRpb25hdXRvbW9iaWxlUHJvdGVzdGFudGFnZ3Jlc3NpdmVhZnRlciB0aGUgU2ltaWxhcmx5LCIgLz48L2Rpdj5jb2xsZWN0aW9uDQpmdW5jdGlvbnZpc2liaWxpdHl0aGUgdXNlIG9mdm9sdW50ZWVyc2F0dHJhY3Rpb251bmRlciB0aGUgdGhyZWF0ZW5lZCo8IVtDREFUQVtpbXBvcnRhbmNlaW4gZ2VuZXJhbHRoZSBsYXR0ZXI8L2Zvcm0+CjwvLmluZGV4T2YoJ2kgPSAwOyBpIDxkaWZmZXJlbmNlZGV2b3RlZCB0b3RyYWRpdGlvbnNzZWFyY2ggZm9ydWx0aW1hdGVseXRvdXJuYW1lbnRhdHRyaWJ1dGVzc28tY2FsbGVkIH0KPC9zdHlsZT5ldmFsdWF0aW9uZW1waGFzaXplZGFjY2Vzc2libGU8L3NlY3Rpb24+c3VjY2Vzc2lvbmFsb25nIHdpdGhNZWFud2hpbGUsaW5kdXN0cmllczwvYT48YnIgLz5oYXMgYmVjb21lYXNwZWN0cyBvZlRlbGV2aXNpb25zdWZmaWNpZW50YmFza2V0YmFsbGJvdGggc2lkZXNjb250aW51aW5nYW4gYXJ0aWNsZTxpbWcgYWx0PSJhZHZlbnR1cmVzaGlzIG1vdGhlcm1hbmNoZXN0ZXJwcmluY2lwbGVzcGFydGljdWxhcmNvbW1lbnRhcnllZmZlY3RzIG9mZGVjaWRlZCB0byI+PHN0cm9uZz5wdWJsaXNoZXJzSm91cm5hbCBvZmRpZmZpY3VsdHlmYWNpbGl0YXRlYWNjZXB0YWJsZXN0eWxlLmNzcyIJZnVuY3Rpb24gaW5ub3ZhdGlvbj5Db3B5cmlnaHRzaXR1YXRpb25zd291bGQgaGF2ZWJ1c2luZXNzZXNEaWN0aW9uYXJ5c3RhdGVtZW50c29mdGVuIHVzZWRwZXJzaXN0ZW50aW4gSmFudWFyeWNvbXByaXNpbmc8L3RpdGxlPgoJZGlwbG9tYXRpY2NvbnRhaW5pbmdwZXJmb3JtaW5nZXh0ZW5zaW9uc21heSBub3QgYmVjb25jZXB0IG9mIG9uY2xpY2s9Ikl0IGlzIGFsc29maW5hbmNpYWwgbWFraW5nIHRoZUx1eGVtYm91cmdhZGRpdGlvbmFsYXJlIGNhbGxlZGVuZ2FnZWQgaW4ic2NyaXB0Iik7YnV0IGl0IHdhc2VsZWN0cm9uaWNvbnN1Ym1pdD0iCjwhLS0gRW5kIGVsZWN0cmljYWxvZmZpY2lhbGx5c3VnZ2VzdGlvbnRvcCBvZiB0aGV1bmxpa2UgdGhlQXVzdHJhbGlhbk9yaWdpbmFsbHlyZWZlcmVuY2VzCjwvaGVhZD4NCnJlY29nbmlzZWRpbml0aWFsaXplbGltaXRlZCB0b0FsZXhhbmRyaWFyZXRpcmVtZW50QWR2ZW50dXJlc2ZvdXIgeWVhcnMKCiZsdDshLS0gaW5jcmVhc2luZ2RlY29yYXRpb25oMyBjbGFzcz0ib3JpZ2lucyBvZm9ibGlnYXRpb25yZWd1bGF0aW9uY2xhc3NpZmllZChmdW5jdGlvbihhZHZhbnRhZ2VzYmVpbmcgdGhlIGhpc3RvcmlhbnM8YmFzZSBocmVmcmVwZWF0ZWRseXdpbGxpbmcgdG9jb21wYXJhYmxlZGVzaWduYXRlZG5vbWluYXRpb25mdW5jdGlvbmFsaW5zaWRlIHRoZXJldmVsYXRpb25lbmQgb2YgdGhlcyBmb3IgdGhlIGF1dGhvcml6ZWRyZWZ1c2VkIHRvdGFrZSBwbGFjZWF1dG9ub21vdXNjb21wcm9taXNlcG9saXRpY2FsIHJlc3RhdXJhbnR0d28gb2YgdGhlRmVicnVhcnkgMnF1YWxpdHkgb2Zzd2ZvYmplY3QudW5kZXJzdGFuZG5lYXJseSBhbGx3cml0dGVuIGJ5aW50ZXJ2aWV3cyIgd2lkdGg9IjF3aXRoZHJhd2FsZmxvYXQ6bGVmdGlzIHVzdWFsbHljYW5kaWRhdGVzbmV3c3BhcGVyc215c3RlcmlvdXNEZXBhcnRtZW50YmVzdCBrbm93bnBhcmxpYW1lbnRzdXBwcmVzc2VkY29udmVuaWVudHJlbWVtYmVyZWRkaWZmZXJlbnQgc3lzdGVtYXRpY2hhcyBsZWQgdG9wcm9wYWdhbmRhY29udHJvbGxlZGluZmx1ZW5jZXNjZXJlbW9uaWFscHJvY2xhaW1lZFByb3RlY3Rpb25saSBjbGFzcz0iU2NpZW50aWZpY2NsYXNzPSJuby10cmFkZW1hcmtzbW9yZSB0aGFuIHdpZGVzcHJlYWRMaWJlcmF0aW9udG9vayBwbGFjZWRheSBvZiB0aGVhcyBsb25nIGFzaW1wcmlzb25lZEFkZGl0aW9uYWwKPGhlYWQ+CjxtTGFib3JhdG9yeU5vdmVtYmVyIDJleGNlcHRpb25zSW5kdXN0cmlhbHZhcmlldHkgb2ZmbG9hdDogbGVmRHVyaW5nIHRoZWFzc2Vzc21lbnRoYXZlIGJlZW4gZGVhbHMgd2l0aFN0YXRpc3RpY3NvY2N1cnJlbmNlL3VsPjwvZGl2PmNsZWFyZml4Ij50aGUgcHVibGljbWFueSB5ZWFyc3doaWNoIHdlcmVvdmVyIHRpbWUsc3lub255bW91c2NvbnRlbnQiPgpwcmVzdW1hYmx5aGlzIGZhbWlseXVzZXJBZ2VudC51bmV4cGVjdGVkaW5jbHVkaW5nIGNoYWxsZW5nZWRhIG1pbm9yaXR5dW5kZWZpbmVkImJlbG9uZ3MgdG90YWtlbiBmcm9taW4gT2N0b2JlcnBvc2l0aW9uOiBzYWlkIHRvIGJlcmVsaWdpb3VzIEZlZGVyYXRpb24gcm93c3Bhbj0ib25seSBhIGZld21lYW50IHRoYXRsZWQgdG8gdGhlLS0+DQo8ZGl2IDxmaWVsZHNldD5BcmNoYmlzaG9wIGNsYXNzPSJub2JlaW5nIHVzZWRhcHByb2FjaGVzcHJpdmlsZWdlc25vc2NyaXB0PgpyZXN1bHRzIGlubWF5IGJlIHRoZUVhc3RlciBlZ2dtZWNoYW5pc21zcmVhc29uYWJsZVBvcHVsYXRpb25Db2xsZWN0aW9uc2VsZWN0ZWQiPm5vc2NyaXB0Pg0vaW5kZXgucGhwYXJyaXZhbCBvZi1qc3NkaycpKTttYW5hZ2VkIHRvaW5jb21wbGV0ZWNhc3VhbHRpZXNjb21wbGV0aW9uQ2hyaXN0aWFuc1NlcHRlbWJlciBhcml0aG1ldGljcHJvY2VkdXJlc21pZ2h0IGhhdmVQcm9kdWN0aW9uaXQgYXBwZWFyc1BoaWxvc29waHlmcmllbmRzaGlwbGVhZGluZyB0b2dpdmluZyB0aGV0b3dhcmQgdGhlZ3VhcmFudGVlZGRvY3VtZW50ZWRjb2xvcjojMDAwdmlkZW8gZ2FtZWNvbW1pc3Npb25yZWZsZWN0aW5nY2hhbmdlIHRoZWFzc29jaWF0ZWRzYW5zLXNlcmlmb25rZXlwcmVzczsgcGFkZGluZzpIZSB3YXMgdGhldW5kZXJseWluZ3R5cGljYWxseSAsIGFuZCB0aGUgc3JjRWxlbWVudHN1Y2Nlc3NpdmVzaW5jZSB0aGUgc2hvdWxkIGJlIG5ldHdvcmtpbmdhY2NvdW50aW5ndXNlIG9mIHRoZWxvd2VyIHRoYW5zaG93cyB0aGF0PC9zcGFuPgoJCWNvbXBsYWludHNjb250aW51b3VzcXVhbnRpdGllc2FzdHJvbm9tZXJoZSBkaWQgbm90ZHVlIHRvIGl0c2FwcGxpZWQgdG9hbiBhdmVyYWdlZWZmb3J0cyB0b3RoZSBmdXR1cmVhdHRlbXB0IHRvVGhlcmVmb3JlLGNhcGFiaWxpdHlSZXB1YmxpY2Fud2FzIGZvcm1lZEVsZWN0cm9uaWNraWxvbWV0ZXJzY2hhbGxlbmdlc3B1Ymxpc2hpbmd0aGUgZm9ybWVyaW5kaWdlbm91c2RpcmVjdGlvbnNzdWJzaWRpYXJ5Y29uc3BpcmFjeWRldGFpbHMgb2ZhbmQgaW4gdGhlYWZmb3JkYWJsZXN1YnN0YW5jZXNyZWFzb24gZm9yY29udmVudGlvbml0ZW10eXBlPSJhYnNvbHV0ZWx5c3VwcG9zZWRseXJlbWFpbmVkIGFhdHRyYWN0aXZldHJhdmVsbGluZ3NlcGFyYXRlbHlmb2N1c2VzIG9uZWxlbWVudGFyeWFwcGxpY2FibGVmb3VuZCB0aGF0c3R5bGVzaGVldG1hbnVzY3JpcHRzdGFuZHMgZm9yIG5vLXJlcGVhdChzb21ldGltZXNDb21tZXJjaWFsaW4gQW1lcmljYXVuZGVydGFrZW5xdWFydGVyIG9mYW4gZXhhbXBsZXBlcnNvbmFsbHlpbmRleC5waHA/PC9idXR0b24+CnBlcmNlbnRhZ2ViZXN0LWtub3duY3JlYXRpbmcgYSIgZGlyPSJsdHJMaWV1dGVuYW50CjxkaXYgaWQ9InRoZXkgd291bGRhYmlsaXR5IG9mbWFkZSB1cCBvZm5vdGVkIHRoYXRjbGVhciB0aGF0YXJndWUgdGhhdHRvIGFub3RoZXJjaGlsZHJlbidzcHVycG9zZSBvZmZvcm11bGF0ZWRiYXNlZCB1cG9udGhlIHJlZ2lvbnN1YmplY3Qgb2ZwYXNzZW5nZXJzcG9zc2Vzc2lvbi4KCkluIHRoZSBCZWZvcmUgdGhlYWZ0ZXJ3YXJkc2N1cnJlbnRseSBhY3Jvc3MgdGhlc2NpZW50aWZpY2NvbW11bml0eS5jYXBpdGFsaXNtaW4gR2VybWFueXJpZ2h0LXdpbmd0aGUgc3lzdGVtU29jaWV0eSBvZnBvbGl0aWNpYW5kaXJlY3Rpb246d2VudCBvbiB0b3JlbW92YWwgb2YgTmV3IFlvcmsgYXBhcnRtZW50c2luZGljYXRpb25kdXJpbmcgdGhldW5sZXNzIHRoZWhpc3RvcmljYWxoYWQgYmVlbiBhZGVmaW5pdGl2ZWluZ3JlZGllbnRhdHRlbmRhbmNlQ2VudGVyIGZvcnByb21pbmVuY2VyZWFkeVN0YXRlc3RyYXRlZ2llc2J1dCBpbiB0aGVhcyBwYXJ0IG9mY29uc3RpdHV0ZWNsYWltIHRoYXRsYWJvcmF0b3J5Y29tcGF0aWJsZWZhaWx1cmUgb2YsIHN1Y2ggYXMgYmVnYW4gd2l0aHVzaW5nIHRoZSB0byBwcm92aWRlZmVhdHVyZSBvZmZyb20gd2hpY2gvIiBjbGFzcz0iZ2VvbG9naWNhbHNldmVyYWwgb2ZkZWxpYmVyYXRlaW1wb3J0YW50IGhvbGRzIHRoYXRpbmcmcXVvdDsgdmFsaWduPXRvcHRoZSBHZXJtYW5vdXRzaWRlIG9mbmVnb3RpYXRlZGhpcyBjYXJlZXJzZXBhcmF0aW9uaWQ9InNlYXJjaHdhcyBjYWxsZWR0aGUgZm91cnRocmVjcmVhdGlvbm90aGVyIHRoYW5wcmV2ZW50aW9ud2hpbGUgdGhlIGVkdWNhdGlvbixjb25uZWN0aW5nYWNjdXJhdGVseXdlcmUgYnVpbHR3YXMga2lsbGVkYWdyZWVtZW50c211Y2ggbW9yZSBEdWUgdG8gdGhld2lkdGg6IDEwMHNvbWUgb3RoZXJLaW5nZG9tIG9mdGhlIGVudGlyZWZhbW91cyBmb3J0byBjb25uZWN0b2JqZWN0aXZlc3RoZSBGcmVuY2hwZW9wbGUgYW5kZmVhdHVyZWQiPmlzIHNhaWQgdG9zdHJ1Y3R1cmFscmVmZXJlbmR1bW1vc3Qgb2Z0ZW5hIHNlcGFyYXRlLT4KPGRpdiBpZCBPZmZpY2lhbCB3b3JsZHdpZGUuYXJpYS1sYWJlbHRoZSBwbGFuZXRhbmQgaXQgd2FzZCIgdmFsdWU9Imxvb2tpbmcgYXRiZW5lZmljaWFsYXJlIGluIHRoZW1vbml0b3JpbmdyZXBvcnRlZGx5dGhlIG1vZGVybndvcmtpbmcgb25hbGxvd2VkIHRvd2hlcmUgdGhlIGlubm92YXRpdmU8L2E+PC9kaXY+c291bmR0cmFja3NlYXJjaEZvcm10ZW5kIHRvIGJlaW5wdXQgaWQ9Im9wZW5pbmcgb2ZyZXN0cmljdGVkYWRvcHRlZCBieWFkZHJlc3Npbmd0aGVvbG9naWFubWV0aG9kcyBvZnZhcmlhbnQgb2ZDaHJpc3RpYW4gdmVyeSBsYXJnZWF1dG9tb3RpdmVieSBmYXIgdGhlcmFuZ2UgZnJvbXB1cnN1aXQgb2Zmb2xsb3cgdGhlYnJvdWdodCB0b2luIEVuZ2xhbmRhZ3JlZSB0aGF0YWNjdXNlZCBvZmNvbWVzIGZyb21wcmV2ZW50aW5nZGl2IHN0eWxlPWhpcyBvciBoZXJ0cmVtZW5kb3VzZnJlZWRvbSBvZmNvbmNlcm5pbmcwIDFlbSAxZW07QmFza2V0YmFsbC9zdHlsZS5jc3NhbiBlYXJsaWVyZXZlbiBhZnRlci8iIHRpdGxlPSIuY29tL2luZGV4dGFraW5nIHRoZXBpdHRzYnVyZ2hjb250ZW50Ij4NPHNjcmlwdD4oZnR1cm5lZCBvdXRoYXZpbmcgdGhlPC9zcGFuPg0KIG9jY2FzaW9uYWxiZWNhdXNlIGl0c3RhcnRlZCB0b3BoeXNpY2FsbHk+PC9kaXY+CiAgY3JlYXRlZCBieUN1cnJlbnRseSwgYmdjb2xvcj0idGFiaW5kZXg9ImRpc2FzdHJvdXNBbmFseXRpY3MgYWxzbyBoYXMgYT48ZGl2IGlkPSI8L3N0eWxlPgo8Y2FsbGVkIGZvcnNpbmdlciBhbmQuc3JjID0gIi8vdmlvbGF0aW9uc3RoaXMgcG9pbnRjb25zdGFudGx5aXMgbG9jYXRlZHJlY29yZGluZ3NkIGZyb20gdGhlbmVkZXJsYW5kc3BvcnR1Z3XDqnPXoteR16jXmdeq2YHYp9ix2LPbjGRlc2Fycm9sbG9jb21lbnRhcmlvZWR1Y2FjacOzbnNlcHRpZW1icmVyZWdpc3RyYWRvZGlyZWNjacOzbnViaWNhY2nDs25wdWJsaWNpZGFkcmVzcHVlc3Rhc3Jlc3VsdGFkb3NpbXBvcnRhbnRlcmVzZXJ2YWRvc2FydMOtY3Vsb3NkaWZlcmVudGVzc2lndWllbnRlc3JlcMO6YmxpY2FzaXR1YWNpw7NubWluaXN0ZXJpb3ByaXZhY2lkYWRkaXJlY3RvcmlvZm9ybWFjacOzbnBvYmxhY2nDs25wcmVzaWRlbnRlY29udGVuaWRvc2FjY2Vzb3Jpb3N0ZWNobm9yYXRpcGVyc29uYWxlc2NhdGVnb3LDrWFlc3BlY2lhbGVzZGlzcG9uaWJsZWFjdHVhbGlkYWRyZWZlcmVuY2lhdmFsbGFkb2xpZGJpYmxpb3RlY2FyZWxhY2lvbmVzY2FsZW5kYXJpb3BvbMOtdGljYXNhbnRlcmlvcmVzZG9jdW1lbnRvc25hdHVyYWxlemFtYXRlcmlhbGVzZGlmZXJlbmNpYWVjb27Ds21pY2F0cmFuc3BvcnRlcm9kcsOtZ3VlenBhcnRpY2lwYXJlbmN1ZW50cmFuZGlzY3VzacOzbmVzdHJ1Y3R1cmFmdW5kYWNpw7NuZnJlY3VlbnRlc3Blcm1hbmVudGV0b3RhbG1lbnRl0LzQvtC20L3QvtCx0YPQtNC10YLQvNC+0LbQtdGC0LLRgNC10LzRj9GC0LDQutC20LXRh9GC0L7QsdGL0LHQvtC70LXQtdC+0YfQtdC90YzRjdGC0L7Qs9C+0LrQvtCz0LTQsNC/0L7RgdC70LXQstGB0LXQs9C+0YHQsNC50YLQtdGH0LXRgNC10LfQvNC+0LPRg9GC0YHQsNC50YLQsNC20LjQt9C90LjQvNC10LbQtNGD0LHRg9C00YPRgtCf0L7QuNGB0LrQt9C00LXRgdGM0LLQuNC00LXQvtGB0LLRj9C30LjQvdGD0LbQvdC+0YHQstC+0LXQudC70Y7QtNC10LnQv9C+0YDQvdC+0LzQvdC+0LPQvtC00LXRgtC10LnRgdCy0L7QuNGF0L/RgNCw0LLQsNGC0LDQutC+0LnQvNC10YHRgtC+0LjQvNC10LXRgtC20LjQt9C90YzQvtC00L3QvtC50LvRg9GH0YjQtdC/0LXRgNC10LTRh9Cw0YHRgtC40YfQsNGB0YLRjNGA0LDQsdC+0YLQvdC+0LLRi9GF0L/RgNCw0LLQvtGB0L7QsdC+0LnQv9C+0YLQvtC80LzQtdC90LXQtdGH0LjRgdC70LXQvdC+0LLRi9C10YPRgdC70YPQs9C+0LrQvtC70L7QvdCw0LfQsNC00YLQsNC60L7QtdGC0L7Qs9C00LDQv9C+0YfRgtC40J/QvtGB0LvQtdGC0LDQutC40LXQvdC+0LLRi9C50YHRgtC+0LjRgtGC0LDQutC40YXRgdGA0LDQt9GD0KHQsNC90LrRgtGE0L7RgNGD0LzQmtC+0LPQtNCw0LrQvdC40LPQuNGB0LvQvtCy0LDQvdCw0YjQtdC50L3QsNC50YLQuNGB0LLQvtC40LzRgdCy0Y/Qt9GM0LvRjtCx0L7QudGH0LDRgdGC0L7RgdGA0LXQtNC40JrRgNC+0LzQtdCk0L7RgNGD0LzRgNGL0L3QutC10YHRgtCw0LvQuNC/0L7QuNGB0LrRgtGL0YHRj9GH0LzQtdGB0Y/RhtGG0LXQvdGC0YDRgtGA0YPQtNCw0YHQsNC80YvRhdGA0YvQvdC60LDQndC+0LLRi9C50YfQsNGB0L7QstC80LXRgdGC0LDRhNC40LvRjNC80LzQsNGA0YLQsNGB0YLRgNCw0L3QvNC10YHRgtC10YLQtdC60YHRgtC90LDRiNC40YXQvNC40L3Rg9GC0LjQvNC10L3QuNC40LzQtdGO0YLQvdC+0LzQtdGA0LPQvtGA0L7QtNGB0LDQvNC+0LzRjdGC0L7QvNGD0LrQvtC90YbQtdGB0LLQvtC10LzQutCw0LrQvtC50JDRgNGF0LjQstmF2YbYqtiv2YnYpdix2LPYp9mE2LHYs9in2YTYqdin2YTYudin2YXZg9iq2KjZh9in2KjYsdin2YXYrNin2YTZitmI2YXYp9mE2LXZiNix2KzYr9mK2K/Yqdin2YTYudi22YjYpdi22KfZgdip2KfZhNmC2LPZhdin2YTYudin2KjYqtit2YXZitmE2YXZhNmB2KfYqtmF2YTYqtmC2YnYqti52K/ZitmE2KfZhNi02LnYsdij2K7YqNin2LHYqti32YjZitix2LnZhNmK2YPZhdil2LHZgdin2YLYt9mE2KjYp9iq2KfZhNmE2LrYqdiq2LHYqtmK2KjYp9mE2YbYp9iz2KfZhNi02YrYrtmF2YbYqtiv2YrYp9mE2LnYsdio2KfZhNmC2LXYtdin2YHZhNin2YXYudmE2YrZh9in2KrYrdiv2YrYq9in2YTZhNmH2YXYp9mE2LnZhdmE2YXZg9iq2KjYqdmK2YXZg9mG2YPYp9mE2LfZgdmE2YHZitiv2YrZiNil2K/Yp9ix2KnYqtin2LHZitiu2KfZhNi12K3Yqdiq2LPYrNmK2YTYp9mE2YjZgtiq2LnZhtiv2YXYp9mF2K/ZitmG2KnYqti12YXZitmF2KPYsdi02YrZgdin2YTYsNmK2YbYudix2KjZitip2KjZiNin2KjYqdij2YTYudin2KjYp9mE2LPZgdix2YXYtNin2YPZhNiq2LnYp9mE2YnYp9mE2KPZiNmE2KfZhNiz2YbYqdis2KfZhdi52KnYp9mE2LXYrdmB2KfZhNiv2YrZhtmD2YTZhdin2KrYp9mE2K7Yp9i12KfZhNmF2YTZgdij2LnYttin2KHZg9iq2KfYqNip2KfZhNiu2YrYsdix2LPYp9im2YTYp9mE2YLZhNio2KfZhNij2K/YqNmF2YLYp9i32LnZhdix2KfYs9mE2YXZhti32YLYqdin2YTZg9iq2KjYp9mE2LHYrNmE2KfYtNiq2LHZg9in2YTZgtiv2YXZiti52LfZitmDc0J5VGFnTmFtZSguanBnIiBhbHQ9IjFweCBzb2xpZCAjLmdpZiIgYWx0PSJ0cmFuc3BhcmVudGluZm9ybWF0aW9uYXBwbGljYXRpb24iIG9uY2xpY2s9ImVzdGFibGlzaGVkYWR2ZXJ0aXNpbmcucG5nIiBhbHQ9ImVudmlyb25tZW50cGVyZm9ybWFuY2VhcHByb3ByaWF0ZSZhbXA7bWRhc2g7aW1tZWRpYXRlbHk8L3N0cm9uZz48L3JhdGhlciB0aGFudGVtcGVyYXR1cmVkZXZlbG9wbWVudGNvbXBldGl0aW9ucGxhY2Vob2xkZXJ2aXNpYmlsaXR5OmNvcHlyaWdodCI+MCIgaGVpZ2h0PSJldmVuIHRob3VnaHJlcGxhY2VtZW50ZGVzdGluYXRpb25Db3Jwb3JhdGlvbjx1bCBjbGFzcz0iQXNzb2NpYXRpb25pbmRpdmlkdWFsc3BlcnNwZWN0aXZlc2V0VGltZW91dCh1cmwoaHR0cDovL21hdGhlbWF0aWNzbWFyZ2luLXRvcDpldmVudHVhbGx5IGRlc2NyaXB0aW9uKSBuby1yZXBlYXRjb2xsZWN0aW9ucy5KUEd8dGh1bWJ8cGFydGljaXBhdGUvaGVhZD48Ym9keWZsb2F0OmxlZnQ7PGxpIGNsYXNzPSJodW5kcmVkcyBvZgoKSG93ZXZlciwgY29tcG9zaXRpb25jbGVhcjpib3RoO2Nvb3BlcmF0aW9ud2l0aGluIHRoZSBsYWJlbCBmb3I9ImJvcmRlci10b3A6TmV3IFplYWxhbmRyZWNvbW1lbmRlZHBob3RvZ3JhcGh5aW50ZXJlc3RpbmcmbHQ7c3VwJmd0O2NvbnRyb3ZlcnN5TmV0aGVybGFuZHNhbHRlcm5hdGl2ZW1heGxlbmd0aD0ic3dpdHplcmxhbmREZXZlbG9wbWVudGVzc2VudGlhbGx5CgpBbHRob3VnaCA8L3RleHRhcmVhPnRodW5kZXJiaXJkcmVwcmVzZW50ZWQmYW1wO25kYXNoO3NwZWN1bGF0aW9uY29tbXVuaXRpZXNsZWdpc2xhdGlvbmVsZWN0cm9uaWNzCgk8ZGl2IGlkPSJpbGx1c3RyYXRlZGVuZ2luZWVyaW5ndGVycml0b3JpZXNhdXRob3JpdGllc2Rpc3RyaWJ1dGVkNiIgaGVpZ2h0PSJzYW5zLXNlcmlmO2NhcGFibGUgb2YgZGlzYXBwZWFyZWRpbnRlcmFjdGl2ZWxvb2tpbmcgZm9yaXQgd291bGQgYmVBZmdoYW5pc3RhbndhcyBjcmVhdGVkTWF0aC5mbG9vcihzdXJyb3VuZGluZ2NhbiBhbHNvIGJlb2JzZXJ2YXRpb25tYWludGVuYW5jZWVuY291bnRlcmVkPGgyIGNsYXNzPSJtb3JlIHJlY2VudGl0IGhhcyBiZWVuaW52YXNpb24gb2YpLmdldFRpbWUoKWZ1bmRhbWVudGFsRGVzcGl0ZSB0aGUiPjxkaXYgaWQ9Imluc3BpcmF0aW9uZXhhbWluYXRpb25wcmVwYXJhdGlvbmV4cGxhbmF0aW9uPGlucHV0IGlkPSI8L2E+PC9zcGFuPnZlcnNpb25zIG9maW5zdHJ1bWVudHNiZWZvcmUgdGhlICA9ICdodHRwOi8vRGVzY3JpcHRpb25yZWxhdGl2ZWx5IC5zdWJzdHJpbmcoZWFjaCBvZiB0aGVleHBlcmltZW50c2luZmx1ZW50aWFsaW50ZWdyYXRpb25tYW55IHBlb3BsZWR1ZSB0byB0aGUgY29tYmluYXRpb25kbyBub3QgaGF2ZU1pZGRsZSBFYXN0PG5vc2NyaXB0Pjxjb3B5cmlnaHQiIHBlcmhhcHMgdGhlaW5zdGl0dXRpb25pbiBEZWNlbWJlcmFycmFuZ2VtZW50bW9zdCBmYW1vdXNwZXJzb25hbGl0eWNyZWF0aW9uIG9mbGltaXRhdGlvbnNleGNsdXNpdmVseXNvdmVyZWlnbnR5LWNvbnRlbnQiPgo8dGQgY2xhc3M9InVuZGVyZ3JvdW5kcGFyYWxsZWwgdG9kb2N0cmluZSBvZm9jY3VwaWVkIGJ5dGVybWlub2xvZ3lSZW5haXNzYW5jZWEgbnVtYmVyIG9mc3VwcG9ydCBmb3JleHBsb3JhdGlvbnJlY29nbml0aW9ucHJlZGVjZXNzb3I8aW1nIHNyYz0iLzxoMSBjbGFzcz0icHVibGljYXRpb25tYXkgYWxzbyBiZXNwZWNpYWxpemVkPC9maWVsZHNldD5wcm9ncmVzc2l2ZW1pbGxpb25zIG9mc3RhdGVzIHRoYXRlbmZvcmNlbWVudGFyb3VuZCB0aGUgb25lIGFub3RoZXIucGFyZW50Tm9kZWFncmljdWx0dXJlQWx0ZXJuYXRpdmVyZXNlYXJjaGVyc3Rvd2FyZHMgdGhlTW9zdCBvZiB0aGVtYW55IG90aGVyIChlc3BlY2lhbGx5PHRkIHdpZHRoPSI7d2lkdGg6MTAwJWluZGVwZW5kZW50PGgzIGNsYXNzPSIgb25jaGFuZ2U9IikuYWRkQ2xhc3MoaW50ZXJhY3Rpb25PbmUgb2YgdGhlIGRhdWdodGVyIG9mYWNjZXNzb3JpZXNicmFuY2hlcyBvZg0KPGRpdiBpZD0idGhlIGxhcmdlc3RkZWNsYXJhdGlvbnJlZ3VsYXRpb25zSW5mb3JtYXRpb250cmFuc2xhdGlvbmRvY3VtZW50YXJ5aW4gb3JkZXIgdG8iPgo8aGVhZD4KPCIgaGVpZ2h0PSIxYWNyb3NzIHRoZSBvcmllbnRhdGlvbik7PC9zY3JpcHQ+aW1wbGVtZW50ZWRjYW4gYmUgc2VlbnRoZXJlIHdhcyBhZGVtb25zdHJhdGVjb250YWluZXIiPmNvbm5lY3Rpb25zdGhlIEJyaXRpc2h3YXMgd3JpdHRlbiFpbXBvcnRhbnQ7cHg7IG1hcmdpbi1mb2xsb3dlZCBieWFiaWxpdHkgdG8gY29tcGxpY2F0ZWRkdXJpbmcgdGhlIGltbWlncmF0aW9uYWxzbyBjYWxsZWQ8aDQgY2xhc3M9ImRpc3RpbmN0aW9ucmVwbGFjZWQgYnlnb3Zlcm5tZW50c2xvY2F0aW9uIG9maW4gTm92ZW1iZXJ3aGV0aGVyIHRoZTwvcD4KPC9kaXY+YWNxdWlzaXRpb25jYWxsZWQgdGhlIHBlcnNlY3V0aW9uZGVzaWduYXRpb257Zm9udC1zaXplOmFwcGVhcmVkIGluaW52ZXN0aWdhdGVleHBlcmllbmNlZG1vc3QgbGlrZWx5d2lkZWx5IHVzZWRkaXNjdXNzaW9uc3ByZXNlbmNlIG9mIChkb2N1bWVudC5leHRlbnNpdmVseUl0IGhhcyBiZWVuaXQgZG9lcyBub3Rjb250cmFyeSB0b2luaGFiaXRhbnRzaW1wcm92ZW1lbnRzY2hvbGFyc2hpcGNvbnN1bXB0aW9uaW5zdHJ1Y3Rpb25mb3IgZXhhbXBsZW9uZSBvciBtb3JlcHg7IHBhZGRpbmd0aGUgY3VycmVudGEgc2VyaWVzIG9mYXJlIHVzdWFsbHlyb2xlIGluIHRoZXByZXZpb3VzbHkgZGVyaXZhdGl2ZXNldmlkZW5jZSBvZmV4cGVyaWVuY2VzY29sb3JzY2hlbWVzdGF0ZWQgdGhhdGNlcnRpZmljYXRlPC9hPjwvZGl2Pgogc2VsZWN0ZWQ9ImhpZ2ggc2Nob29scmVzcG9uc2UgdG9jb21mb3J0YWJsZWFkb3B0aW9uIG9mdGhyZWUgeWVhcnN0aGUgY291bnRyeWluIEZlYnJ1YXJ5c28gdGhhdCB0aGVwZW9wbGUgd2hvIHByb3ZpZGVkIGJ5PHBhcmFtIG5hbWVhZmZlY3RlZCBieWluIHRlcm1zIG9mYXBwb2ludG1lbnRJU08tODg1OS0xIndhcyBib3JuIGluaGlzdG9yaWNhbCByZWdhcmRlZCBhc21lYXN1cmVtZW50aXMgYmFzZWQgb24gYW5kIG90aGVyIDogZnVuY3Rpb24oc2lnbmlmaWNhbnRjZWxlYnJhdGlvbnRyYW5zbWl0dGVkL2pzL2pxdWVyeS5pcyBrbm93biBhc3RoZW9yZXRpY2FsIHRhYmluZGV4PSJpdCBjb3VsZCBiZTxub3NjcmlwdD4KaGF2aW5nIGJlZW4NCjxoZWFkPg0KPCAmcXVvdDtUaGUgY29tcGlsYXRpb25oZSBoYWQgYmVlbnByb2R1Y2VkIGJ5cGhpbG9zb3BoZXJjb25zdHJ1Y3RlZGludGVuZGVkIHRvYW1vbmcgb3RoZXJjb21wYXJlZCB0b3RvIHNheSB0aGF0RW5naW5lZXJpbmdhIGRpZmZlcmVudHJlZmVycmVkIHRvZGlmZmVyZW5jZXNiZWxpZWYgdGhhdHBob3RvZ3JhcGhzaWRlbnRpZnlpbmdIaXN0b3J5IG9mIFJlcHVibGljIG9mbmVjZXNzYXJpbHlwcm9iYWJpbGl0eXRlY2huaWNhbGx5bGVhdmluZyB0aGVzcGVjdGFjdWxhcmZyYWN0aW9uIG9mZWxlY3RyaWNpdHloZWFkIG9mIHRoZXJlc3RhdXJhbnRzcGFydG5lcnNoaXBlbXBoYXNpcyBvbm1vc3QgcmVjZW50c2hhcmUgd2l0aCBzYXlpbmcgdGhhdGZpbGxlZCB3aXRoZGVzaWduZWQgdG9pdCBpcyBvZnRlbiI+PC9pZnJhbWU+YXMgZm9sbG93czptZXJnZWQgd2l0aHRocm91Z2ggdGhlY29tbWVyY2lhbCBwb2ludGVkIG91dG9wcG9ydHVuaXR5dmlldyBvZiB0aGVyZXF1aXJlbWVudGRpdmlzaW9uIG9mcHJvZ3JhbW1pbmdoZSByZWNlaXZlZHNldEludGVydmFsIj48L3NwYW4+PC9pbiBOZXcgWW9ya2FkZGl0aW9uYWwgY29tcHJlc3Npb24KCjxkaXYgaWQ9ImluY29ycG9yYXRlOzwvc2NyaXB0PjxhdHRhY2hFdmVudGJlY2FtZSB0aGUgIiB0YXJnZXQ9Il9jYXJyaWVkIG91dFNvbWUgb2YgdGhlc2NpZW5jZSBhbmR0aGUgdGltZSBvZkNvbnRhaW5lciI+bWFpbnRhaW5pbmdDaHJpc3RvcGhlck11Y2ggb2YgdGhld3JpdGluZ3Mgb2YiIGhlaWdodD0iMnNpemUgb2YgdGhldmVyc2lvbiBvZiBtaXh0dXJlIG9mIGJldHdlZW4gdGhlRXhhbXBsZXMgb2ZlZHVjYXRpb25hbGNvbXBldGl0aXZlIG9uc3VibWl0PSJkaXJlY3RvciBvZmRpc3RpbmN0aXZlL0RURCBYSFRNTCByZWxhdGluZyB0b3RlbmRlbmN5IHRvcHJvdmluY2Ugb2Z3aGljaCB3b3VsZGRlc3BpdGUgdGhlc2NpZW50aWZpYyBsZWdpc2xhdHVyZS5pbm5lckhUTUwgYWxsZWdhdGlvbnNBZ3JpY3VsdHVyZXdhcyB1c2VkIGluYXBwcm9hY2ggdG9pbnRlbGxpZ2VudHllYXJzIGxhdGVyLHNhbnMtc2VyaWZkZXRlcm1pbmluZ1BlcmZvcm1hbmNlYXBwZWFyYW5jZXMsIHdoaWNoIGlzIGZvdW5kYXRpb25zYWJicmV2aWF0ZWRoaWdoZXIgdGhhbnMgZnJvbSB0aGUgaW5kaXZpZHVhbCBjb21wb3NlZCBvZnN1cHBvc2VkIHRvY2xhaW1zIHRoYXRhdHRyaWJ1dGlvbmZvbnQtc2l6ZToxZWxlbWVudHMgb2ZIaXN0b3JpY2FsIGhpcyBicm90aGVyYXQgdGhlIHRpbWVhbm5pdmVyc2FyeWdvdmVybmVkIGJ5cmVsYXRlZCB0byB1bHRpbWF0ZWx5IGlubm92YXRpb25zaXQgaXMgc3RpbGxjYW4gb25seSBiZWRlZmluaXRpb25zdG9HTVRTdHJpbmdBIG51bWJlciBvZmltZyBjbGFzcz0iRXZlbnR1YWxseSx3YXMgY2hhbmdlZG9jY3VycmVkIGlubmVpZ2hib3JpbmdkaXN0aW5ndWlzaHdoZW4gaGUgd2FzaW50cm9kdWNpbmd0ZXJyZXN0cmlhbE1hbnkgb2YgdGhlYXJndWVzIHRoYXRhbiBBbWVyaWNhbmNvbnF1ZXN0IG9md2lkZXNwcmVhZCB3ZXJlIGtpbGxlZHNjcmVlbiBhbmQgSW4gb3JkZXIgdG9leHBlY3RlZCB0b2Rlc2NlbmRhbnRzYXJlIGxvY2F0ZWRsZWdpc2xhdGl2ZWdlbmVyYXRpb25zIGJhY2tncm91bmRtb3N0IHBlb3BsZXllYXJzIGFmdGVydGhlcmUgaXMgbm90aGUgaGlnaGVzdGZyZXF1ZW50bHkgdGhleSBkbyBub3Rhcmd1ZWQgdGhhdHNob3dlZCB0aGF0cHJlZG9taW5hbnR0aGVvbG9naWNhbGJ5IHRoZSB0aW1lY29uc2lkZXJpbmdzaG9ydC1saXZlZDwvc3Bhbj48L2E+Y2FuIGJlIHVzZWR2ZXJ5IGxpdHRsZW9uZSBvZiB0aGUgaGFkIGFscmVhZHlpbnRlcnByZXRlZGNvbW11bmljYXRlZmVhdHVyZXMgb2Znb3Zlcm5tZW50LDwvbm9zY3JpcHQ+ZW50ZXJlZCB0aGUiIGhlaWdodD0iM0luZGVwZW5kZW50cG9wdWxhdGlvbnNsYXJnZS1zY2FsZS4gQWx0aG91Z2ggdXNlZCBpbiB0aGVkZXN0cnVjdGlvbnBvc3NpYmlsaXR5c3RhcnRpbmcgaW50d28gb3IgbW9yZWV4cHJlc3Npb25zc3Vib3JkaW5hdGVsYXJnZXIgdGhhbmhpc3RvcnkgYW5kPC9vcHRpb24+DQpDb250aW5lbnRhbGVsaW1pbmF0aW5nd2lsbCBub3QgYmVwcmFjdGljZSBvZmluIGZyb250IG9mc2l0ZSBvZiB0aGVlbnN1cmUgdGhhdHRvIGNyZWF0ZSBhbWlzc2lzc2lwcGlwb3RlbnRpYWxseW91dHN0YW5kaW5nYmV0dGVyIHRoYW53aGF0IGlzIG5vd3NpdHVhdGVkIGlubWV0YSBuYW1lPSJUcmFkaXRpb25hbHN1Z2dlc3Rpb25zVHJhbnNsYXRpb250aGUgZm9ybSBvZmF0bW9zcGhlcmljaWRlb2xvZ2ljYWxlbnRlcnByaXNlc2NhbGN1bGF0aW5nZWFzdCBvZiB0aGVyZW1uYW50cyBvZnBsdWdpbnNwYWdlL2luZGV4LnBocD9yZW1haW5lZCBpbnRyYW5zZm9ybWVkSGUgd2FzIGFsc293YXMgYWxyZWFkeXN0YXRpc3RpY2FsaW4gZmF2b3Igb2ZNaW5pc3RyeSBvZm1vdmVtZW50IG9mZm9ybXVsYXRpb25pcyByZXF1aXJlZDxsaW5rIHJlbD0iVGhpcyBpcyB0aGUgPGEgaHJlZj0iL3BvcHVsYXJpemVkaW52b2x2ZWQgaW5hcmUgdXNlZCB0b2FuZCBzZXZlcmFsbWFkZSBieSB0aGVzZWVtcyB0byBiZWxpa2VseSB0aGF0UGFsZXN0aW5pYW5uYW1lZCBhZnRlcml0IGhhZCBiZWVubW9zdCBjb21tb250byByZWZlciB0b2J1dCB0aGlzIGlzY29uc2VjdXRpdmV0ZW1wb3JhcmlseUluIGdlbmVyYWwsY29udmVudGlvbnN0YWtlcyBwbGFjZXN1YmRpdmlzaW9udGVycml0b3JpYWxvcGVyYXRpb25hbHBlcm1hbmVudGx5d2FzIGxhcmdlbHlvdXRicmVhayBvZmluIHRoZSBwYXN0Zm9sbG93aW5nIGEgeG1sbnM6b2c9Ij48YSBjbGFzcz0iY2xhc3M9InRleHRDb252ZXJzaW9uIG1heSBiZSB1c2VkbWFudWZhY3R1cmVhZnRlciBiZWluZ2NsZWFyZml4Ij4KcXVlc3Rpb24gb2Z3YXMgZWxlY3RlZHRvIGJlY29tZSBhYmVjYXVzZSBvZiBzb21lIHBlb3BsZWluc3BpcmVkIGJ5c3VjY2Vzc2Z1bCBhIHRpbWUgd2hlbm1vcmUgY29tbW9uYW1vbmdzdCB0aGVhbiBvZmZpY2lhbHdpZHRoOjEwMCU7dGVjaG5vbG9neSx3YXMgYWRvcHRlZHRvIGtlZXAgdGhlc2V0dGxlbWVudHNsaXZlIGJpcnRoc2luZGV4Lmh0bWwiQ29ubmVjdGljdXRhc3NpZ25lZCB0byZhbXA7dGltZXM7YWNjb3VudCBmb3JhbGlnbj1yaWdodHRoZSBjb21wYW55YWx3YXlzIGJlZW5yZXR1cm5lZCB0b2ludm9sdmVtZW50QmVjYXVzZSB0aGV0aGlzIHBlcmlvZCIgbmFtZT0icSIgY29uZmluZWQgdG9hIHJlc3VsdCBvZnZhbHVlPSIiIC8+aXMgYWN0dWFsbHlFbnZpcm9ubWVudA0KPC9oZWFkPg0KQ29udmVyc2VseSw+CjxkaXYgaWQ9IjAiIHdpZHRoPSIxaXMgcHJvYmFibHloYXZlIGJlY29tZWNvbnRyb2xsaW5ndGhlIHByb2JsZW1jaXRpemVucyBvZnBvbGl0aWNpYW5zcmVhY2hlZCB0aGVhcyBlYXJseSBhczpub25lOyBvdmVyPHRhYmxlIGNlbGx2YWxpZGl0eSBvZmRpcmVjdGx5IHRvb25tb3VzZWRvd253aGVyZSBpdCBpc3doZW4gaXQgd2FzbWVtYmVycyBvZiByZWxhdGlvbiB0b2FjY29tbW9kYXRlYWxvbmcgd2l0aCBJbiB0aGUgbGF0ZXRoZSBFbmdsaXNoZGVsaWNpb3VzIj50aGlzIGlzIG5vdHRoZSBwcmVzZW50aWYgdGhleSBhcmVhbmQgZmluYWxseWEgbWF0dGVyIG9mDQoJPC9kaXY+DQoNCjwvc2NyaXB0PmZhc3RlciB0aGFubWFqb3JpdHkgb2ZhZnRlciB3aGljaGNvbXBhcmF0aXZldG8gbWFpbnRhaW5pbXByb3ZlIHRoZWF3YXJkZWQgdGhlZXIiIGNsYXNzPSJmcmFtZWJvcmRlcnJlc3RvcmF0aW9uaW4gdGhlIHNhbWVhbmFseXNpcyBvZnRoZWlyIGZpcnN0RHVyaW5nIHRoZSBjb250aW5lbnRhbHNlcXVlbmNlIG9mZnVuY3Rpb24oKXtmb250LXNpemU6IHdvcmsgb24gdGhlPC9zY3JpcHQ+CjxiZWdpbnMgd2l0aGphdmFzY3JpcHQ6Y29uc3RpdHVlbnR3YXMgZm91bmRlZGVxdWlsaWJyaXVtYXNzdW1lIHRoYXRpcyBnaXZlbiBieW5lZWRzIHRvIGJlY29vcmRpbmF0ZXN0aGUgdmFyaW91c2FyZSBwYXJ0IG9mb25seSBpbiB0aGVzZWN0aW9ucyBvZmlzIGEgY29tbW9udGhlb3JpZXMgb2ZkaXNjb3Zlcmllc2Fzc29jaWF0aW9uZWRnZSBvZiB0aGVzdHJlbmd0aCBvZnBvc2l0aW9uIGlucHJlc2VudC1kYXl1bml2ZXJzYWxseXRvIGZvcm0gdGhlYnV0IGluc3RlYWRjb3Jwb3JhdGlvbmF0dGFjaGVkIHRvaXMgY29tbW9ubHlyZWFzb25zIGZvciAmcXVvdDt0aGUgY2FuIGJlIG1hZGV3YXMgYWJsZSB0b3doaWNoIG1lYW5zYnV0IGRpZCBub3Rvbk1vdXNlT3ZlcmFzIHBvc3NpYmxlb3BlcmF0ZWQgYnljb21pbmcgZnJvbXRoZSBwcmltYXJ5YWRkaXRpb24gb2Zmb3Igc2V2ZXJhbHRyYW5zZmVycmVkYSBwZXJpb2Qgb2ZhcmUgYWJsZSB0b2hvd2V2ZXIsIGl0c2hvdWxkIGhhdmVtdWNoIGxhcmdlcgoJPC9zY3JpcHQ+YWRvcHRlZCB0aGVwcm9wZXJ0eSBvZmRpcmVjdGVkIGJ5ZWZmZWN0aXZlbHl3YXMgYnJvdWdodGNoaWxkcmVuIG9mUHJvZ3JhbW1pbmdsb25nZXIgdGhhbm1hbnVzY3JpcHRzd2FyIGFnYWluc3RieSBtZWFucyBvZmFuZCBtb3N0IG9mc2ltaWxhciB0byBwcm9wcmlldGFyeW9yaWdpbmF0aW5ncHJlc3RpZ2lvdXNncmFtbWF0aWNhbGV4cGVyaWVuY2UudG8gbWFrZSB0aGVJdCB3YXMgYWxzb2lzIGZvdW5kIGluY29tcGV0aXRvcnNpbiB0aGUgVS5TLnJlcGxhY2UgdGhlYnJvdWdodCB0aGVjYWxjdWxhdGlvbmZhbGwgb2YgdGhldGhlIGdlbmVyYWxwcmFjdGljYWxseWluIGhvbm9yIG9mcmVsZWFzZWQgaW5yZXNpZGVudGlhbGFuZCBzb21lIG9ma2luZyBvZiB0aGVyZWFjdGlvbiB0bzFzdCBFYXJsIG9mY3VsdHVyZSBhbmRwcmluY2lwYWxseTwvdGl0bGU+CiAgdGhleSBjYW4gYmViYWNrIHRvIHRoZXNvbWUgb2YgaGlzZXhwb3N1cmUgdG9hcmUgc2ltaWxhcmZvcm0gb2YgdGhlYWRkRmF2b3JpdGVjaXRpemVuc2hpcHBhcnQgaW4gdGhlcGVvcGxlIHdpdGhpbiBwcmFjdGljZXRvIGNvbnRpbnVlJmFtcDttaW51czthcHByb3ZlZCBieSB0aGUgZmlyc3QgYWxsb3dlZCB0aGVhbmQgZm9yIHRoZWZ1bmN0aW9uaW5ncGxheWluZyB0aGVzb2x1dGlvbiB0b2hlaWdodD0iMCIgaW4gaGlzIGJvb2ttb3JlIHRoYW4gYWZvbGxvd3MgdGhlY3JlYXRlZCB0aGVwcmVzZW5jZSBpbiZuYnNwOzwvdGQ+bmF0aW9uYWxpc3R0aGUgaWRlYSBvZmEgY2hhcmFjdGVyd2VyZSBmb3JjZWQgY2xhc3M9ImJ0bmRheXMgb2YgdGhlZmVhdHVyZWQgaW5zaG93aW5nIHRoZWludGVyZXN0IGluaW4gcGxhY2Ugb2Z0dXJuIG9mIHRoZXRoZSBoZWFkIG9mTG9yZCBvZiB0aGVwb2xpdGljYWxseWhhcyBpdHMgb3duRWR1Y2F0aW9uYWxhcHByb3ZhbCBvZnNvbWUgb2YgdGhlZWFjaCBvdGhlcixiZWhhdmlvciBvZmFuZCBiZWNhdXNlYW5kIGFub3RoZXJhcHBlYXJlZCBvbnJlY29yZGVkIGluYmxhY2smcXVvdDttYXkgaW5jbHVkZXRoZSB3b3JsZCdzY2FuIGxlYWQgdG9yZWZlcnMgdG8gYWJvcmRlcj0iMCIgZ292ZXJubWVudCB3aW5uaW5nIHRoZXJlc3VsdGVkIGluIHdoaWxlIHRoZSBXYXNoaW5ndG9uLHRoZSBzdWJqZWN0Y2l0eSBpbiB0aGU+PC9kaXY+DQoJCXJlZmxlY3QgdGhldG8gY29tcGxldGViZWNhbWUgbW9yZXJhZGlvYWN0aXZlcmVqZWN0ZWQgYnl3aXRob3V0IGFueWhpcyBmYXRoZXIsd2hpY2ggY291bGRjb3B5IG9mIHRoZXRvIGluZGljYXRlYSBwb2xpdGljYWxhY2NvdW50cyBvZmNvbnN0aXR1dGVzd29ya2VkIHdpdGhlcjwvYT48L2xpPm9mIGhpcyBsaWZlYWNjb21wYW5pZWRjbGllbnRXaWR0aHByZXZlbnQgdGhlTGVnaXNsYXRpdmVkaWZmZXJlbnRseXRvZ2V0aGVyIGluaGFzIHNldmVyYWxmb3IgYW5vdGhlcnRleHQgb2YgdGhlZm91bmRlZCB0aGVlIHdpdGggdGhlIGlzIHVzZWQgZm9yY2hhbmdlZCB0aGV1c3VhbGx5IHRoZXBsYWNlIHdoZXJld2hlcmVhcyB0aGU+IDxhIGhyZWY9IiI+PGEgaHJlZj0idGhlbXNlbHZlcyxhbHRob3VnaCBoZXRoYXQgY2FuIGJldHJhZGl0aW9uYWxyb2xlIG9mIHRoZWFzIGEgcmVzdWx0cmVtb3ZlQ2hpbGRkZXNpZ25lZCBieXdlc3Qgb2YgdGhlU29tZSBwZW9wbGVwcm9kdWN0aW9uLHNpZGUgb2YgdGhlbmV3c2xldHRlcnN1c2VkIGJ5IHRoZWRvd24gdG8gdGhlYWNjZXB0ZWQgYnlsaXZlIGluIHRoZWF0dGVtcHRzIHRvb3V0c2lkZSB0aGVmcmVxdWVuY2llc0hvd2V2ZXIsIGlucHJvZ3JhbW1lcnNhdCBsZWFzdCBpbmFwcHJveGltYXRlYWx0aG91Z2ggaXR3YXMgcGFydCBvZmFuZCB2YXJpb3VzR292ZXJub3Igb2Z0aGUgYXJ0aWNsZXR1cm5lZCBpbnRvPjxhIGhyZWY9Ii90aGUgZWNvbm9teWlzIHRoZSBtb3N0bW9zdCB3aWRlbHl3b3VsZCBsYXRlcmFuZCBwZXJoYXBzcmlzZSB0byB0aGVvY2N1cnMgd2hlbnVuZGVyIHdoaWNoY29uZGl0aW9ucy50aGUgd2VzdGVybnRoZW9yeSB0aGF0aXMgcHJvZHVjZWR0aGUgY2l0eSBvZmluIHdoaWNoIGhlc2VlbiBpbiB0aGV0aGUgY2VudHJhbGJ1aWxkaW5nIG9mbWFueSBvZiBoaXNhcmVhIG9mIHRoZWlzIHRoZSBvbmx5bW9zdCBvZiB0aGVtYW55IG9mIHRoZXRoZSBXZXN0ZXJuVGhlcmUgaXMgbm9leHRlbmRlZCB0b1N0YXRpc3RpY2FsY29sc3Bhbj0yIHxzaG9ydCBzdG9yeXBvc3NpYmxlIHRvdG9wb2xvZ2ljYWxjcml0aWNhbCBvZnJlcG9ydGVkIHRvYSBDaHJpc3RpYW5kZWNpc2lvbiB0b2lzIGVxdWFsIHRvcHJvYmxlbXMgb2ZUaGlzIGNhbiBiZW1lcmNoYW5kaXNlZm9yIG1vc3Qgb2ZubyBldmlkZW5jZWVkaXRpb25zIG9mZWxlbWVudHMgaW4mcXVvdDsuIFRoZWNvbS9pbWFnZXMvd2hpY2ggbWFrZXN0aGUgcHJvY2Vzc3JlbWFpbnMgdGhlbGl0ZXJhdHVyZSxpcyBhIG1lbWJlcnRoZSBwb3B1bGFydGhlIGFuY2llbnRwcm9ibGVtcyBpbnRpbWUgb2YgdGhlZGVmZWF0ZWQgYnlib2R5IG9mIHRoZWEgZmV3IHllYXJzbXVjaCBvZiB0aGV0aGUgd29yayBvZkNhbGlmb3JuaWEsc2VydmVkIGFzIGFnb3Zlcm5tZW50LmNvbmNlcHRzIG9mbW92ZW1lbnQgaW4JCTxkaXYgaWQ9Iml0IiB2YWx1ZT0ibGFuZ3VhZ2Ugb2ZhcyB0aGV5IGFyZXByb2R1Y2VkIGluaXMgdGhhdCB0aGVleHBsYWluIHRoZWRpdj48L2Rpdj4KSG93ZXZlciB0aGVsZWFkIHRvIHRoZQk8YSBocmVmPSIvd2FzIGdyYW50ZWRwZW9wbGUgaGF2ZWNvbnRpbnVhbGx5d2FzIHNlZW4gYXNhbmQgcmVsYXRlZHRoZSByb2xlIG9mcHJvcG9zZWQgYnlvZiB0aGUgYmVzdGVhY2ggb3RoZXIuQ29uc3RhbnRpbmVwZW9wbGUgZnJvbWRpYWxlY3RzIG9mdG8gcmV2aXNpb253YXMgcmVuYW1lZGEgc291cmNlIG9mdGhlIGluaXRpYWxsYXVuY2hlZCBpbnByb3ZpZGUgdGhldG8gdGhlIHdlc3R3aGVyZSB0aGVyZWFuZCBzaW1pbGFyYmV0d2VlbiB0d29pcyBhbHNvIHRoZUVuZ2xpc2ggYW5kY29uZGl0aW9ucyx0aGF0IGl0IHdhc2VudGl0bGVkIHRvdGhlbXNlbHZlcy5xdWFudGl0eSBvZnJhbnNwYXJlbmN5dGhlIHNhbWUgYXN0byBqb2luIHRoZWNvdW50cnkgYW5kdGhpcyBpcyB0aGVUaGlzIGxlZCB0b2Egc3RhdGVtZW50Y29udHJhc3QgdG9sYXN0SW5kZXhPZnRocm91Z2ggaGlzaXMgZGVzaWduZWR0aGUgdGVybSBpc2lzIHByb3ZpZGVkcHJvdGVjdCB0aGVuZzwvYT48L2xpPlRoZSBjdXJyZW50dGhlIHNpdGUgb2ZzdWJzdGFudGlhbGV4cGVyaWVuY2UsaW4gdGhlIFdlc3R0aGV5IHNob3VsZHNsb3ZlbsSNaW5hY29tZW50YXJpb3N1bml2ZXJzaWRhZGNvbmRpY2lvbmVzYWN0aXZpZGFkZXNleHBlcmllbmNpYXRlY25vbG9nw61hcHJvZHVjY2nDs25wdW50dWFjacOzbmFwbGljYWNpw7NuY29udHJhc2XDsWFjYXRlZ29yw61hc3JlZ2lzdHJhcnNlcHJvZmVzaW9uYWx0cmF0YW1pZW50b3JlZ8Otc3RyYXRlc2VjcmV0YXLDrWFwcmluY2lwYWxlc3Byb3RlY2Npw7NuaW1wb3J0YW50ZXNpbXBvcnRhbmNpYXBvc2liaWxpZGFkaW50ZXJlc2FudGVjcmVjaW1pZW50b25lY2VzaWRhZGVzc3VzY3JpYmlyc2Vhc29jaWFjacOzbmRpc3BvbmlibGVzZXZhbHVhY2nDs25lc3R1ZGlhbnRlc3Jlc3BvbnNhYmxlcmVzb2x1Y2nDs25ndWFkYWxhamFyYXJlZ2lzdHJhZG9zb3BvcnR1bmlkYWRjb21lcmNpYWxlc2ZvdG9ncmFmw61hYXV0b3JpZGFkZXNpbmdlbmllcsOtYXRlbGV2aXNpw7NuY29tcGV0ZW5jaWFvcGVyYWNpb25lc2VzdGFibGVjaWRvc2ltcGxlbWVudGVhY3R1YWxtZW50ZW5hdmVnYWNpw7NuY29uZm9ybWlkYWRsaW5lLWhlaWdodDpmb250LWZhbWlseToiIDogImh0dHA6Ly9hcHBsaWNhdGlvbnNsaW5rIiBocmVmPSJzcGVjaWZpY2FsbHkvLzwhW0NEQVRBWwpPcmdhbml6YXRpb25kaXN0cmlidXRpb24wcHg7IGhlaWdodDpyZWxhdGlvbnNoaXBkZXZpY2Utd2lkdGg8ZGl2IGNsYXNzPSI8bGFiZWwgZm9yPSJyZWdpc3RyYXRpb248L25vc2NyaXB0PgovaW5kZXguaHRtbCJ3aW5kb3cub3BlbiggIWltcG9ydGFudDthcHBsaWNhdGlvbi9pbmRlcGVuZGVuY2UvL3d3dy5nb29nbGVvcmdhbml6YXRpb25hdXRvY29tcGxldGVyZXF1aXJlbWVudHNjb25zZXJ2YXRpdmU8Zm9ybSBuYW1lPSJpbnRlbGxlY3R1YWxtYXJnaW4tbGVmdDoxOHRoIGNlbnR1cnlhbiBpbXBvcnRhbnRpbnN0aXR1dGlvbnNhYmJyZXZpYXRpb248aW1nIGNsYXNzPSJvcmdhbmlzYXRpb25jaXZpbGl6YXRpb24xOXRoIGNlbnR1cnlhcmNoaXRlY3R1cmVpbmNvcnBvcmF0ZWQyMHRoIGNlbnR1cnktY29udGFpbmVyIj5tb3N0IG5vdGFibHkvPjwvYT48L2Rpdj5ub3RpZmljYXRpb24ndW5kZWZpbmVkJylGdXJ0aGVybW9yZSxiZWxpZXZlIHRoYXRpbm5lckhUTUwgPSBwcmlvciB0byB0aGVkcmFtYXRpY2FsbHlyZWZlcnJpbmcgdG9uZWdvdGlhdGlvbnNoZWFkcXVhcnRlcnNTb3V0aCBBZnJpY2F1bnN1Y2Nlc3NmdWxQZW5uc3lsdmFuaWFBcyBhIHJlc3VsdCw8aHRtbCBsYW5nPSImbHQ7L3N1cCZndDtkZWFsaW5nIHdpdGhwaGlsYWRlbHBoaWFoaXN0b3JpY2FsbHkpOzwvc2NyaXB0PgpwYWRkaW5nLXRvcDpleHBlcmltZW50YWxnZXRBdHRyaWJ1dGVpbnN0cnVjdGlvbnN0ZWNobm9sb2dpZXNwYXJ0IG9mIHRoZSA9ZnVuY3Rpb24oKXtzdWJzY3JpcHRpb25sLmR0ZCI+DQo8aHRnZW9ncmFwaGljYWxDb25zdGl0dXRpb24nLCBmdW5jdGlvbihzdXBwb3J0ZWQgYnlhZ3JpY3VsdHVyYWxjb25zdHJ1Y3Rpb25wdWJsaWNhdGlvbnNmb250LXNpemU6IDFhIHZhcmlldHkgb2Y8ZGl2IHN0eWxlPSJFbmN5Y2xvcGVkaWFpZnJhbWUgc3JjPSJkZW1vbnN0cmF0ZWRhY2NvbXBsaXNoZWR1bml2ZXJzaXRpZXNEZW1vZ3JhcGhpY3MpOzwvc2NyaXB0PjxkZWRpY2F0ZWQgdG9rbm93bGVkZ2Ugb2ZzYXRpc2ZhY3Rpb25wYXJ0aWN1bGFybHk8L2Rpdj48L2Rpdj5FbmdsaXNoIChVUylhcHBlbmRDaGlsZCh0cmFuc21pc3Npb25zLiBIb3dldmVyLCBpbnRlbGxpZ2VuY2UiIHRhYmluZGV4PSJmbG9hdDpyaWdodDtDb21tb253ZWFsdGhyYW5naW5nIGZyb21pbiB3aGljaCB0aGVhdCBsZWFzdCBvbmVyZXByb2R1Y3Rpb25lbmN5Y2xvcGVkaWE7Zm9udC1zaXplOjFqdXJpc2RpY3Rpb25hdCB0aGF0IHRpbWUiPjxhIGNsYXNzPSJJbiBhZGRpdGlvbixkZXNjcmlwdGlvbitjb252ZXJzYXRpb25jb250YWN0IHdpdGhpcyBnZW5lcmFsbHlyIiBjb250ZW50PSJyZXByZXNlbnRpbmcmbHQ7bWF0aCZndDtwcmVzZW50YXRpb25vY2Nhc2lvbmFsbHk8aW1nIHdpZHRoPSJuYXZpZ2F0aW9uIj5jb21wZW5zYXRpb25jaGFtcGlvbnNoaXBtZWRpYT0iYWxsIiB2aW9sYXRpb24gb2ZyZWZlcmVuY2UgdG9yZXR1cm4gdHJ1ZTtTdHJpY3QvL0VOIiB0cmFuc2FjdGlvbnNpbnRlcnZlbnRpb252ZXJpZmljYXRpb25JbmZvcm1hdGlvbiBkaWZmaWN1bHRpZXNDaGFtcGlvbnNoaXBjYXBhYmlsaXRpZXM8IVtlbmRpZl0tLT59Cjwvc2NyaXB0PgpDaHJpc3RpYW5pdHlmb3IgZXhhbXBsZSxQcm9mZXNzaW9uYWxyZXN0cmljdGlvbnNzdWdnZXN0IHRoYXR3YXMgcmVsZWFzZWQoc3VjaCBhcyB0aGVyZW1vdmVDbGFzcyh1bmVtcGxveW1lbnR0aGUgQW1lcmljYW5zdHJ1Y3R1cmUgb2YvaW5kZXguaHRtbCBwdWJsaXNoZWQgaW5zcGFuIGNsYXNzPSIiPjxhIGhyZWY9Ii9pbnRyb2R1Y3Rpb25iZWxvbmdpbmcgdG9jbGFpbWVkIHRoYXRjb25zZXF1ZW5jZXM8bWV0YSBuYW1lPSJHdWlkZSB0byB0aGVvdmVyd2hlbG1pbmdhZ2FpbnN0IHRoZSBjb25jZW50cmF0ZWQsCi5ub250b3VjaCBvYnNlcnZhdGlvbnM8L2E+CjwvZGl2PgpmIChkb2N1bWVudC5ib3JkZXI6IDFweCB7Zm9udC1zaXplOjF0cmVhdG1lbnQgb2YwIiBoZWlnaHQ9IjFtb2RpZmljYXRpb25JbmRlcGVuZGVuY2VkaXZpZGVkIGludG9ncmVhdGVyIHRoYW5hY2hpZXZlbWVudHNlc3RhYmxpc2hpbmdKYXZhU2NyaXB0IiBuZXZlcnRoZWxlc3NzaWduaWZpY2FuY2VCcm9hZGNhc3Rpbmc+Jm5ic3A7PC90ZD5jb250YWluZXIiPgpzdWNoIGFzIHRoZSBpbmZsdWVuY2Ugb2ZhIHBhcnRpY3VsYXJzcmM9J2h0dHA6Ly9uYXZpZ2F0aW9uIiBoYWxmIG9mIHRoZSBzdWJzdGFudGlhbCAmbmJzcDs8L2Rpdj5hZHZhbnRhZ2Ugb2ZkaXNjb3Zlcnkgb2ZmdW5kYW1lbnRhbCBtZXRyb3BvbGl0YW50aGUgb3Bwb3NpdGUiIHhtbDpsYW5nPSJkZWxpYmVyYXRlbHlhbGlnbj1jZW50ZXJldm9sdXRpb24gb2ZwcmVzZXJ2YXRpb25pbXByb3ZlbWVudHNiZWdpbm5pbmcgaW5KZXN1cyBDaHJpc3RQdWJsaWNhdGlvbnNkaXNhZ3JlZW1lbnR0ZXh0LWFsaWduOnIsIGZ1bmN0aW9uKClzaW1pbGFyaXRpZXNib2R5PjwvaHRtbD5pcyBjdXJyZW50bHlhbHBoYWJldGljYWxpcyBzb21ldGltZXN0eXBlPSJpbWFnZS9tYW55IG9mIHRoZSBmbG93OmhpZGRlbjthdmFpbGFibGUgaW5kZXNjcmliZSB0aGVleGlzdGVuY2Ugb2ZhbGwgb3ZlciB0aGV0aGUgSW50ZXJuZXQJPHVsIGNsYXNzPSJpbnN0YWxsYXRpb25uZWlnaGJvcmhvb2Rhcm1lZCBmb3JjZXNyZWR1Y2luZyB0aGVjb250aW51ZXMgdG9Ob25ldGhlbGVzcyx0ZW1wZXJhdHVyZXMKCQk8YSBocmVmPSJjbG9zZSB0byB0aGVleGFtcGxlcyBvZiBpcyBhYm91dCB0aGUoc2VlIGJlbG93KS4iIGlkPSJzZWFyY2hwcm9mZXNzaW9uYWxpcyBhdmFpbGFibGV0aGUgb2ZmaWNpYWwJCTwvc2NyaXB0PgoKCQk8ZGl2IGlkPSJhY2NlbGVyYXRpb250aHJvdWdoIHRoZSBIYWxsIG9mIEZhbWVkZXNjcmlwdGlvbnN0cmFuc2xhdGlvbnNpbnRlcmZlcmVuY2UgdHlwZT0ndGV4dC9yZWNlbnQgeWVhcnNpbiB0aGUgd29ybGR2ZXJ5IHBvcHVsYXJ7YmFja2dyb3VuZDp0cmFkaXRpb25hbCBzb21lIG9mIHRoZSBjb25uZWN0ZWQgdG9leHBsb2l0YXRpb25lbWVyZ2VuY2Ugb2Zjb25zdGl0dXRpb25BIEhpc3Rvcnkgb2ZzaWduaWZpY2FudCBtYW51ZmFjdHVyZWRleHBlY3RhdGlvbnM+PG5vc2NyaXB0PjxjYW4gYmUgZm91bmRiZWNhdXNlIHRoZSBoYXMgbm90IGJlZW5uZWlnaGJvdXJpbmd3aXRob3V0IHRoZSBhZGRlZCB0byB0aGUJPGxpIGNsYXNzPSJpbnN0cnVtZW50YWxTb3ZpZXQgVW5pb25hY2tub3dsZWRnZWR3aGljaCBjYW4gYmVuYW1lIGZvciB0aGVhdHRlbnRpb24gdG9hdHRlbXB0cyB0byBkZXZlbG9wbWVudHNJbiBmYWN0LCB0aGU8bGkgY2xhc3M9ImFpbXBsaWNhdGlvbnNzdWl0YWJsZSBmb3JtdWNoIG9mIHRoZSBjb2xvbml6YXRpb25wcmVzaWRlbnRpYWxjYW5jZWxCdWJibGUgSW5mb3JtYXRpb25tb3N0IG9mIHRoZSBpcyBkZXNjcmliZWRyZXN0IG9mIHRoZSBtb3JlIG9yIGxlc3NpbiBTZXB0ZW1iZXJJbnRlbGxpZ2VuY2VzcmM9Imh0dHA6Ly9weDsgaGVpZ2h0OiBhdmFpbGFibGUgdG9tYW51ZmFjdHVyZXJodW1hbiByaWdodHNsaW5rIGhyZWY9Ii9hdmFpbGFiaWxpdHlwcm9wb3J0aW9uYWxvdXRzaWRlIHRoZSBhc3Ryb25vbWljYWxodW1hbiBiZWluZ3NuYW1lIG9mIHRoZSBhcmUgZm91bmQgaW5hcmUgYmFzZWQgb25zbWFsbGVyIHRoYW5hIHBlcnNvbiB3aG9leHBhbnNpb24gb2Zhcmd1aW5nIHRoYXRub3cga25vd24gYXNJbiB0aGUgZWFybHlpbnRlcm1lZGlhdGVkZXJpdmVkIGZyb21TY2FuZGluYXZpYW48L2E+PC9kaXY+DQpjb25zaWRlciB0aGVhbiBlc3RpbWF0ZWR0aGUgTmF0aW9uYWw8ZGl2IGlkPSJwYWdyZXN1bHRpbmcgaW5jb21taXNzaW9uZWRhbmFsb2dvdXMgdG9hcmUgcmVxdWlyZWQvdWw+CjwvZGl2Pgp3YXMgYmFzZWQgb25hbmQgYmVjYW1lIGEmbmJzcDsmbmJzcDt0IiB2YWx1ZT0iIiB3YXMgY2FwdHVyZWRubyBtb3JlIHRoYW5yZXNwZWN0aXZlbHljb250aW51ZSB0byA+DQo8aGVhZD4NCjx3ZXJlIGNyZWF0ZWRtb3JlIGdlbmVyYWxpbmZvcm1hdGlvbiB1c2VkIGZvciB0aGVpbmRlcGVuZGVudCB0aGUgSW1wZXJpYWxjb21wb25lbnQgb2Z0byB0aGUgbm9ydGhpbmNsdWRlIHRoZSBDb25zdHJ1Y3Rpb25zaWRlIG9mIHRoZSB3b3VsZCBub3QgYmVmb3IgaW5zdGFuY2VpbnZlbnRpb24gb2Ztb3JlIGNvbXBsZXhjb2xsZWN0aXZlbHliYWNrZ3JvdW5kOiB0ZXh0LWFsaWduOiBpdHMgb3JpZ2luYWxpbnRvIGFjY291bnR0aGlzIHByb2Nlc3NhbiBleHRlbnNpdmVob3dldmVyLCB0aGV0aGV5IGFyZSBub3RyZWplY3RlZCB0aGVjcml0aWNpc20gb2ZkdXJpbmcgd2hpY2hwcm9iYWJseSB0aGV0aGlzIGFydGljbGUoZnVuY3Rpb24oKXtJdCBzaG91bGQgYmVhbiBhZ3JlZW1lbnRhY2NpZGVudGFsbHlkaWZmZXJzIGZyb21BcmNoaXRlY3R1cmViZXR0ZXIga25vd25hcnJhbmdlbWVudHNpbmZsdWVuY2Ugb25hdHRlbmRlZCB0aGVpZGVudGljYWwgdG9zb3V0aCBvZiB0aGVwYXNzIHRocm91Z2h4bWwiIHRpdGxlPSJ3ZWlnaHQ6Ym9sZDtjcmVhdGluZyB0aGVkaXNwbGF5Om5vbmVyZXBsYWNlZCB0aGU8aW1nIHNyYz0iL2lodHRwczovL3d3dy5Xb3JsZCBXYXIgSUl0ZXN0aW1vbmlhbHNmb3VuZCBpbiB0aGVyZXF1aXJlZCB0byBhbmQgdGhhdCB0aGViZXR3ZWVuIHRoZSB3YXMgZGVzaWduZWRjb25zaXN0cyBvZiBjb25zaWRlcmFibHlwdWJsaXNoZWQgYnl0aGUgbGFuZ3VhZ2VDb25zZXJ2YXRpb25jb25zaXN0ZWQgb2ZyZWZlciB0byB0aGViYWNrIHRvIHRoZSBjc3MiIG1lZGlhPSJQZW9wbGUgZnJvbSBhdmFpbGFibGUgb25wcm92ZWQgdG8gYmVzdWdnZXN0aW9ucyJ3YXMga25vd24gYXN2YXJpZXRpZXMgb2ZsaWtlbHkgdG8gYmVjb21wcmlzZWQgb2ZzdXBwb3J0IHRoZSBoYW5kcyBvZiB0aGVjb3VwbGVkIHdpdGhjb25uZWN0IGFuZCBib3JkZXI6bm9uZTtwZXJmb3JtYW5jZXNiZWZvcmUgYmVpbmdsYXRlciBiZWNhbWVjYWxjdWxhdGlvbnNvZnRlbiBjYWxsZWRyZXNpZGVudHMgb2ZtZWFuaW5nIHRoYXQ+PGxpIGNsYXNzPSJldmlkZW5jZSBmb3JleHBsYW5hdGlvbnNlbnZpcm9ubWVudHMiPjwvYT48L2Rpdj53aGljaCBhbGxvd3NJbnRyb2R1Y3Rpb25kZXZlbG9wZWQgYnlhIHdpZGUgcmFuZ2VvbiBiZWhhbGYgb2Z2YWxpZ249InRvcCJwcmluY2lwbGUgb2ZhdCB0aGUgdGltZSw8L25vc2NyaXB0Pg1zYWlkIHRvIGhhdmVpbiB0aGUgZmlyc3R3aGlsZSBvdGhlcnNoeXBvdGhldGljYWxwaGlsb3NvcGhlcnNwb3dlciBvZiB0aGVjb250YWluZWQgaW5wZXJmb3JtZWQgYnlpbmFiaWxpdHkgdG93ZXJlIHdyaXR0ZW5zcGFuIHN0eWxlPSJpbnB1dCBuYW1lPSJ0aGUgcXVlc3Rpb25pbnRlbmRlZCBmb3JyZWplY3Rpb24gb2ZpbXBsaWVzIHRoYXRpbnZlbnRlZCB0aGV0aGUgc3RhbmRhcmR3YXMgcHJvYmFibHlsaW5rIGJldHdlZW5wcm9mZXNzb3Igb2ZpbnRlcmFjdGlvbnNjaGFuZ2luZyB0aGVJbmRpYW4gT2NlYW4gY2xhc3M9Imxhc3R3b3JraW5nIHdpdGgnaHR0cDovL3d3dy55ZWFycyBiZWZvcmVUaGlzIHdhcyB0aGVyZWNyZWF0aW9uYWxlbnRlcmluZyB0aGVtZWFzdXJlbWVudHNhbiBleHRyZW1lbHl2YWx1ZSBvZiB0aGVzdGFydCBvZiB0aGUKPC9zY3JpcHQ+CgphbiBlZmZvcnQgdG9pbmNyZWFzZSB0aGV0byB0aGUgc291dGhzcGFjaW5nPSIwIj5zdWZmaWNpZW50bHl0aGUgRXVyb3BlYW5jb252ZXJ0ZWQgdG9jbGVhclRpbWVvdXRkaWQgbm90IGhhdmVjb25zZXF1ZW50bHlmb3IgdGhlIG5leHRleHRlbnNpb24gb2ZlY29ub21pYyBhbmRhbHRob3VnaCB0aGVhcmUgcHJvZHVjZWRhbmQgd2l0aCB0aGVpbnN1ZmZpY2llbnRnaXZlbiBieSB0aGVzdGF0aW5nIHRoYXRleHBlbmRpdHVyZXM8L3NwYW4+PC9hPgp0aG91Z2h0IHRoYXRvbiB0aGUgYmFzaXNjZWxscGFkZGluZz1pbWFnZSBvZiB0aGVyZXR1cm5pbmcgdG9pbmZvcm1hdGlvbixzZXBhcmF0ZWQgYnlhc3Nhc3NpbmF0ZWRzIiBjb250ZW50PSJhdXRob3JpdHkgb2Zub3J0aHdlc3Rlcm48L2Rpdj4KPGRpdiAiPjwvZGl2Pg0KICBjb25zdWx0YXRpb25jb21tdW5pdHkgb2Z0aGUgbmF0aW9uYWxpdCBzaG91bGQgYmVwYXJ0aWNpcGFudHMgYWxpZ249ImxlZnR0aGUgZ3JlYXRlc3RzZWxlY3Rpb24gb2ZzdXBlcm5hdHVyYWxkZXBlbmRlbnQgb25pcyBtZW50aW9uZWRhbGxvd2luZyB0aGV3YXMgaW52ZW50ZWRhY2NvbXBhbnlpbmdoaXMgcGVyc29uYWxhdmFpbGFibGUgYXRzdHVkeSBvZiB0aGVvbiB0aGUgb3RoZXJleGVjdXRpb24gb2ZIdW1hbiBSaWdodHN0ZXJtcyBvZiB0aGVhc3NvY2lhdGlvbnNyZXNlYXJjaCBhbmRzdWNjZWVkZWQgYnlkZWZlYXRlZCB0aGVhbmQgZnJvbSB0aGVidXQgdGhleSBhcmVjb21tYW5kZXIgb2ZzdGF0ZSBvZiB0aGV5ZWFycyBvZiBhZ2V0aGUgc3R1ZHkgb2Y8dWwgY2xhc3M9InNwbGFjZSBpbiB0aGV3aGVyZSBoZSB3YXM8bGkgY2xhc3M9ImZ0aGVyZSBhcmUgbm93aGljaCBiZWNhbWVoZSBwdWJsaXNoZWRleHByZXNzZWQgaW50byB3aGljaCB0aGVjb21taXNzaW9uZXJmb250LXdlaWdodDp0ZXJyaXRvcnkgb2ZleHRlbnNpb25zIj5Sb21hbiBFbXBpcmVlcXVhbCB0byB0aGVJbiBjb250cmFzdCxob3dldmVyLCBhbmRpcyB0eXBpY2FsbHlhbmQgaGlzIHdpZmUoYWxzbyBjYWxsZWQ+PHVsIGNsYXNzPSJlZmZlY3RpdmVseSBldm9sdmVkIGludG9zZWVtIHRvIGhhdmV3aGljaCBpcyB0aGV0aGVyZSB3YXMgbm9hbiBleGNlbGxlbnRhbGwgb2YgdGhlc2VkZXNjcmliZWQgYnlJbiBwcmFjdGljZSxicm9hZGNhc3RpbmdjaGFyZ2VkIHdpdGhyZWZsZWN0ZWQgaW5zdWJqZWN0ZWQgdG9taWxpdGFyeSBhbmR0byB0aGUgcG9pbnRlY29ub21pY2FsbHlzZXRUYXJnZXRpbmdhcmUgYWN0dWFsbHl2aWN0b3J5IG92ZXIoKTs8L3NjcmlwdD5jb250aW51b3VzbHlyZXF1aXJlZCBmb3Jldm9sdXRpb25hcnlhbiBlZmZlY3RpdmVub3J0aCBvZiB0aGUsIHdoaWNoIHdhcyBmcm9udCBvZiB0aGVvciBvdGhlcndpc2Vzb21lIGZvcm0gb2ZoYWQgbm90IGJlZW5nZW5lcmF0ZWQgYnlpbmZvcm1hdGlvbi5wZXJtaXR0ZWQgdG9pbmNsdWRlcyB0aGVkZXZlbG9wbWVudCxlbnRlcmVkIGludG90aGUgcHJldmlvdXNjb25zaXN0ZW50bHlhcmUga25vd24gYXN0aGUgZmllbGQgb2Z0aGlzIHR5cGUgb2ZnaXZlbiB0byB0aGV0aGUgdGl0bGUgb2Zjb250YWlucyB0aGVpbnN0YW5jZXMgb2ZpbiB0aGUgbm9ydGhkdWUgdG8gdGhlaXJhcmUgZGVzaWduZWRjb3Jwb3JhdGlvbnN3YXMgdGhhdCB0aGVvbmUgb2YgdGhlc2Vtb3JlIHBvcHVsYXJzdWNjZWVkZWQgaW5zdXBwb3J0IGZyb21pbiBkaWZmZXJlbnRkb21pbmF0ZWQgYnlkZXNpZ25lZCBmb3Jvd25lcnNoaXAgb2ZhbmQgcG9zc2libHlzdGFuZGFyZGl6ZWRyZXNwb25zZVRleHR3YXMgaW50ZW5kZWRyZWNlaXZlZCB0aGVhc3N1bWVkIHRoYXRhcmVhcyBvZiB0aGVwcmltYXJpbHkgaW50aGUgYmFzaXMgb2ZpbiB0aGUgc2Vuc2VhY2NvdW50cyBmb3JkZXN0cm95ZWQgYnlhdCBsZWFzdCB0d293YXMgZGVjbGFyZWRjb3VsZCBub3QgYmVTZWNyZXRhcnkgb2ZhcHBlYXIgdG8gYmVtYXJnaW4tdG9wOjEvXlxzK3xccyskL2dlKXt0aHJvdyBlfTt0aGUgc3RhcnQgb2Z0d28gc2VwYXJhdGVsYW5ndWFnZSBhbmR3aG8gaGFkIGJlZW5vcGVyYXRpb24gb2ZkZWF0aCBvZiB0aGVyZWFsIG51bWJlcnMJPGxpbmsgcmVsPSJwcm92aWRlZCB0aGV0aGUgc3Rvcnkgb2Zjb21wZXRpdGlvbnNlbmdsaXNoIChVSyllbmdsaXNoIChVUynQnNC+0L3Qs9C+0LvQodGA0L/RgdC60LjRgdGA0L/RgdC60LjRgdGA0L/RgdC60L7ZhNi52LHYqNmK2KnmraPpq5TkuK3mlofnroDkvZPkuK3mlofnuYHkvZPkuK3mlofmnInpmZDlhazlj7jkurrmsJHmlL/lupzpmL/ph4zlt7Tlt7TnpL7kvJrkuLvkuYnmk43kvZzns7vnu5/mlL/nrZbms5Xop4RpbmZvcm1hY2nDs25oZXJyYW1pZW50YXNlbGVjdHLDs25pY29kZXNjcmlwY2nDs25jbGFzaWZpY2Fkb3Njb25vY2ltaWVudG9wdWJsaWNhY2nDs25yZWxhY2lvbmFkYXNpbmZvcm3DoXRpY2FyZWxhY2lvbmFkb3NkZXBhcnRhbWVudG90cmFiYWphZG9yZXNkaXJlY3RhbWVudGVheXVudGFtaWVudG9tZXJjYWRvTGlicmVjb250w6FjdGVub3NoYWJpdGFjaW9uZXNjdW1wbGltaWVudG9yZXN0YXVyYW50ZXNkaXNwb3NpY2nDs25jb25zZWN1ZW5jaWFlbGVjdHLDs25pY2FhcGxpY2FjaW9uZXNkZXNjb25lY3RhZG9pbnN0YWxhY2nDs25yZWFsaXphY2nDs251dGlsaXphY2nDs25lbmNpY2xvcGVkaWFlbmZlcm1lZGFkZXNpbnN0cnVtZW50b3NleHBlcmllbmNpYXNpbnN0aXR1Y2nDs25wYXJ0aWN1bGFyZXNzdWJjYXRlZ29yaWHRgtC+0LvRjNC60L7QoNC+0YHRgdC40LjRgNCw0LHQvtGC0YvQsdC+0LvRjNGI0LXQv9GA0L7RgdGC0L7QvNC+0LbQtdGC0LXQtNGA0YPQs9C40YXRgdC70YPRh9Cw0LXRgdC10LnRh9Cw0YHQstGB0LXQs9C00LDQoNC+0YHRgdC40Y/QnNC+0YHQutCy0LXQtNGA0YPQs9C40LXQs9C+0YDQvtC00LDQstC+0L/RgNC+0YHQtNCw0L3QvdGL0YXQtNC+0LvQttC90YvQuNC80LXQvdC90L7QnNC+0YHQutCy0YvRgNGD0LHQu9C10LnQnNC+0YHQutCy0LDRgdGC0YDQsNC90YvQvdC40YfQtdCz0L7RgNCw0LHQvtGC0LXQtNC+0LvQttC10L3Rg9GB0LvRg9Cz0LjRgtC10L/QtdGA0YzQntC00L3QsNC60L7Qv9C+0YLQvtC80YPRgNCw0LHQvtGC0YPQsNC/0YDQtdC70Y/QstC+0L7QsdGJ0LXQvtC00L3QvtCz0L7RgdCy0L7QtdCz0L7RgdGC0LDRgtGM0LjQtNGA0YPQs9C+0LnRhNC+0YDRg9C80LXRhdC+0YDQvtGI0L7Qv9GA0L7RgtC40LLRgdGB0YvQu9C60LDQutCw0LbQtNGL0LnQstC70LDRgdGC0LjQs9GA0YPQv9C/0YvQstC80LXRgdGC0LXRgNCw0LHQvtGC0LDRgdC60LDQt9Cw0LvQv9C10YDQstGL0LnQtNC10LvQsNGC0YzQtNC10L3RjNCz0LjQv9C10YDQuNC+0LTQsdC40LfQvdC10YHQvtGB0L3QvtCy0LXQvNC+0LzQtdC90YLQutGD0L/QuNGC0YzQtNC+0LvQttC90LDRgNCw0LzQutCw0YXQvdCw0YfQsNC70L7QoNCw0LHQvtGC0LDQotC+0LvRjNC60L7RgdC+0LLRgdC10LzQstGC0L7RgNC+0LnQvdCw0YfQsNC70LDRgdC/0LjRgdC+0LrRgdC70YPQttCx0YvRgdC40YHRgtC10LzQv9C10YfQsNGC0LjQvdC+0LLQvtCz0L7Qv9C+0LzQvtGJ0LjRgdCw0LnRgtC+0LLQv9C+0YfQtdC80YPQv9C+0LzQvtGJ0YzQtNC+0LvQttC90L7RgdGB0YvQu9C60LjQsdGL0YHRgtGA0L7QtNCw0L3QvdGL0LXQvNC90L7Qs9C40LXQv9GA0L7QtdC60YLQodC10LnRh9Cw0YHQvNC+0LTQtdC70LjRgtCw0LrQvtCz0L7QvtC90LvQsNC50L3Qs9C+0YDQvtC00LXQstC10YDRgdC40Y/RgdGC0YDQsNC90LXRhNC40LvRjNC80YvRg9GA0L7QstC90Y/RgNCw0LfQvdGL0YXQuNGB0LrQsNGC0YzQvdC10LTQtdC70Y7Rj9C90LLQsNGA0Y/QvNC10L3RjNGI0LXQvNC90L7Qs9C40YXQtNCw0L3QvdC+0LnQt9C90LDRh9C40YLQvdC10LvRjNC30Y/RhNC+0YDRg9C80LDQotC10L/QtdGA0YzQvNC10YHRj9GG0LDQt9Cw0YnQuNGC0YvQm9GD0YfRiNC40LXgpKjgpLngpYDgpILgpJXgpLDgpKjgpYfgpIXgpKrgpKjgpYfgpJXgpL/gpK/gpL7gpJXgpLDgpYfgpILgpIXgpKjgpY3gpK/gpJXgpY3gpK/gpL7gpJfgpL7gpIfgpKHgpKzgpL7gpLDgpYfgpJXgpL/gpLjgpYDgpKbgpL/gpK/gpL7gpKrgpLngpLLgpYfgpLjgpL/gpILgpLngpK3gpL7gpLDgpKTgpIXgpKrgpKjgpYDgpLXgpL7gpLLgpYfgpLjgpYfgpLXgpL7gpJXgpLDgpKTgpYfgpK7gpYfgpLDgpYfgpLngpYvgpKjgpYfgpLjgpJXgpKTgpYfgpKzgpLngpYHgpKTgpLjgpL7gpIfgpJ/gpLngpYvgpJfgpL7gpJzgpL7gpKjgpYfgpK7gpL/gpKjgpJ/gpJXgpLDgpKTgpL7gpJXgpLDgpKjgpL7gpIngpKjgpJXgpYfgpK/gpLngpL7gpIHgpLjgpKzgpLjgpYfgpK3gpL7gpLfgpL7gpIbgpKrgpJXgpYfgpLLgpL/gpK/gpYfgpLbgpYHgpLDgpYLgpIfgpLjgpJXgpYfgpJjgpILgpJ/gpYfgpK7gpYfgpLDgpYDgpLjgpJXgpKTgpL7gpK7gpYfgpLDgpL7gpLLgpYfgpJXgpLDgpIXgpKfgpL/gpJXgpIXgpKrgpKjgpL7gpLjgpK7gpL7gpJzgpK7gpYHgpJ3gpYfgpJXgpL7gpLDgpKPgpLngpYvgpKTgpL7gpJXgpKHgpLzgpYDgpK/gpLngpL7gpILgpLngpYvgpJ/gpLLgpLbgpKzgpY3gpKbgpLLgpL/gpK/gpL7gpJzgpYDgpLXgpKjgpJzgpL7gpKTgpL7gpJXgpYjgpLjgpYfgpIbgpKrgpJXgpL7gpLXgpL7gpLLgpYDgpKbgpYfgpKjgpYfgpKrgpYLgpLDgpYDgpKrgpL7gpKjgpYDgpIngpLjgpJXgpYfgpLngpYvgpJfgpYDgpKzgpYjgpKDgpJXgpIbgpKrgpJXgpYDgpLXgpLDgpY3gpLfgpJfgpL7gpILgpLXgpIbgpKrgpJXgpYvgpJzgpL/gpLLgpL7gpJzgpL7gpKjgpL7gpLjgpLngpK7gpKTgpLngpK7gpYfgpILgpIngpKjgpJXgpYDgpK/gpL7gpLngpYLgpKbgpLDgpY3gpJzgpLjgpYLgpJrgpYDgpKrgpLjgpILgpKbgpLjgpLXgpL7gpLLgpLngpYvgpKjgpL7gpLngpYvgpKTgpYDgpJzgpYjgpLjgpYfgpLXgpL7gpKrgpLjgpJzgpKjgpKTgpL7gpKjgpYfgpKTgpL7gpJzgpL7gpLDgpYDgpJjgpL7gpK/gpLLgpJzgpL/gpLLgpYfgpKjgpYDgpJrgpYfgpJzgpL7gpILgpJrgpKrgpKTgpY3gpLDgpJfgpYLgpJfgpLLgpJzgpL7gpKTgpYfgpKzgpL7gpLngpLDgpIbgpKrgpKjgpYfgpLXgpL7gpLngpKjgpIfgpLjgpJXgpL7gpLjgpYHgpKzgpLngpLDgpLngpKjgpYfgpIfgpLjgpLjgpYfgpLjgpLngpL/gpKTgpKzgpKHgpLzgpYfgpJjgpJ/gpKjgpL7gpKTgpLLgpL7gpLbgpKrgpL7gpILgpJrgpLbgpY3gpLDgpYDgpKzgpKHgpLzgpYDgpLngpYvgpKTgpYfgpLjgpL7gpIjgpJ/gpLbgpL7gpK/gpKbgpLjgpJXgpKTgpYDgpJzgpL7gpKTgpYDgpLXgpL7gpLLgpL7gpLngpJzgpL7gpLDgpKrgpJ/gpKjgpL7gpLDgpJbgpKjgpYfgpLjgpKHgpLzgpJXgpK7gpL/gpLLgpL7gpIngpLjgpJXgpYDgpJXgpYfgpLXgpLLgpLLgpJfgpKTgpL7gpJbgpL7gpKjgpL7gpIXgpLDgpY3gpKXgpJzgpLngpL7gpILgpKbgpYfgpJbgpL7gpKrgpLngpLLgpYDgpKjgpL/gpK/gpK7gpKzgpL/gpKjgpL7gpKzgpYjgpILgpJXgpJXgpLngpYDgpILgpJXgpLngpKjgpL7gpKbgpYfgpKTgpL7gpLngpK7gpLLgpYfgpJXgpL7gpKvgpYDgpJzgpKzgpJXgpL/gpKTgpYHgpLDgpKTgpK7gpL7gpILgpJfgpLXgpLngpYDgpILgpLDgpYvgpJzgpLzgpK7gpL/gpLLgpYDgpIbgpLDgpYvgpKrgpLjgpYfgpKjgpL7gpK/gpL7gpKbgpLXgpLLgpYfgpKjgpYfgpJbgpL7gpKTgpL7gpJXgpLDgpYDgpKzgpIngpKjgpJXgpL7gpJzgpLXgpL7gpKzgpKrgpYLgpLDgpL7gpKzgpKHgpLzgpL7gpLjgpYzgpKbgpL7gpLbgpYfgpK/gpLDgpJXgpL/gpK/gpYfgpJXgpLngpL7gpILgpIXgpJXgpLjgpLDgpKzgpKjgpL7gpI/gpLXgpLngpL7gpILgpLjgpY3gpKXgpLLgpK7gpL/gpLLgpYfgpLLgpYfgpJbgpJXgpLXgpL/gpLfgpK/gpJXgpY3gpLDgpILgpLjgpK7gpYLgpLngpKXgpL7gpKjgpL7Yqtiz2KrYt9mK2LnZhdi02KfYsdmD2KnYqNmI2KfYs9i32KnYp9mE2LXZgdit2KnZhdmI2KfYttmK2LnYp9mE2K7Yp9i12KnYp9mE2YXYstmK2K/Yp9mE2LnYp9mF2KnYp9mE2YPYp9iq2KjYp9mE2LHYr9mI2K/YqNix2YbYp9mF2KzYp9mE2K/ZiNmE2KnYp9mE2LnYp9mE2YXYp9mE2YXZiNmC2LnYp9mE2LnYsdio2YrYp9mE2LPYsdmK2LnYp9mE2KzZiNin2YTYp9mE2LDZh9in2KjYp9mE2K3Zitin2KnYp9mE2K3ZgtmI2YLYp9mE2YPYsdmK2YXYp9mE2LnYsdin2YLZhdit2YHZiNi42KnYp9mE2KvYp9mG2YrZhdi02KfZh9iv2KnYp9mE2YXYsdij2KnYp9mE2YLYsdii2YbYp9mE2LTYqNin2KjYp9mE2K3ZiNin2LHYp9mE2KzYr9mK2K/Yp9mE2KPYs9ix2KnYp9mE2LnZhNmI2YXZhdis2YXZiNi52KnYp9mE2LHYrdmF2YbYp9mE2YbZgtin2LfZgdmE2LPYt9mK2YbYp9mE2YPZiNmK2KrYp9mE2K/ZhtmK2KfYqNix2YPYp9iq2YfYp9mE2LHZitin2LbYqtit2YrYp9iq2YrYqNiq2YjZgtmK2KrYp9mE2KPZiNmE2YnYp9mE2KjYsdmK2K/Yp9mE2YPZhNin2YXYp9mE2LHYp9io2LfYp9mE2LTYrti12YrYs9mK2KfYsdin2KrYp9mE2KvYp9mE2KvYp9mE2LXZhNin2KnYp9mE2K3Yr9mK2KvYp9mE2LLZiNin2LHYp9mE2K7ZhNmK2KzYp9mE2KzZhdmK2LnYp9mE2LnYp9mF2YfYp9mE2KzZhdin2YTYp9mE2LPYp9i52KnZhdi02KfZh9iv2YfYp9mE2LHYptmK2LPYp9mE2K/YrtmI2YTYp9mE2YHZhtmK2KnYp9mE2YPYqtin2KjYp9mE2K/ZiNix2YrYp9mE2K/YsdmI2LPYp9iz2KrYutix2YLYqti12KfZhdmK2YXYp9mE2KjZhtin2KrYp9mE2LnYuNmK2YVlbnRlcnRhaW5tZW50dW5kZXJzdGFuZGluZyA9IGZ1bmN0aW9uKCkuanBnIiB3aWR0aD0iY29uZmlndXJhdGlvbi5wbmciIHdpZHRoPSI8Ym9keSBjbGFzcz0iTWF0aC5yYW5kb20oKWNvbnRlbXBvcmFyeSBVbml0ZWQgU3RhdGVzY2lyY3Vtc3RhbmNlcy5hcHBlbmRDaGlsZChvcmdhbml6YXRpb25zPHNwYW4gY2xhc3M9IiI+PGltZyBzcmM9Ii9kaXN0aW5ndWlzaGVkdGhvdXNhbmRzIG9mIGNvbW11bmljYXRpb25jbGVhciI+PC9kaXY+aW52ZXN0aWdhdGlvbmZhdmljb24uaWNvIiBtYXJnaW4tcmlnaHQ6YmFzZWQgb24gdGhlIE1hc3NhY2h1c2V0dHN0YWJsZSBib3JkZXI9aW50ZXJuYXRpb25hbGFsc28ga25vd24gYXNwcm9udW5jaWF0aW9uYmFja2dyb3VuZDojZnBhZGRpbmctbGVmdDpGb3IgZXhhbXBsZSwgbWlzY2VsbGFuZW91cyZsdDsvbWF0aCZndDtwc3ljaG9sb2dpY2FsaW4gcGFydGljdWxhcmVhcmNoIiB0eXBlPSJmb3JtIG1ldGhvZD0iYXMgb3Bwb3NlZCB0b1N1cHJlbWUgQ291cnRvY2Nhc2lvbmFsbHkgQWRkaXRpb25hbGx5LE5vcnRoIEFtZXJpY2FweDtiYWNrZ3JvdW5kb3Bwb3J0dW5pdGllc0VudGVydGFpbm1lbnQudG9Mb3dlckNhc2UobWFudWZhY3R1cmluZ3Byb2Zlc3Npb25hbCBjb21iaW5lZCB3aXRoRm9yIGluc3RhbmNlLGNvbnNpc3Rpbmcgb2YiIG1heGxlbmd0aD0icmV0dXJuIGZhbHNlO2NvbnNjaW91c25lc3NNZWRpdGVycmFuZWFuZXh0cmFvcmRpbmFyeWFzc2Fzc2luYXRpb25zdWJzZXF1ZW50bHkgYnV0dG9uIHR5cGU9InRoZSBudW1iZXIgb2Z0aGUgb3JpZ2luYWwgY29tcHJlaGVuc2l2ZXJlZmVycyB0byB0aGU8L3VsPgo8L2Rpdj4KcGhpbG9zb3BoaWNhbGxvY2F0aW9uLmhyZWZ3YXMgcHVibGlzaGVkU2FuIEZyYW5jaXNjbyhmdW5jdGlvbigpewo8ZGl2IGlkPSJtYWluc29waGlzdGljYXRlZG1hdGhlbWF0aWNhbCAvaGVhZD4NCjxib2R5c3VnZ2VzdHMgdGhhdGRvY3VtZW50YXRpb25jb25jZW50cmF0aW9ucmVsYXRpb25zaGlwc21heSBoYXZlIGJlZW4oZm9yIGV4YW1wbGUsVGhpcyBhcnRpY2xlIGluIHNvbWUgY2FzZXNwYXJ0cyBvZiB0aGUgZGVmaW5pdGlvbiBvZkdyZWF0IEJyaXRhaW4gY2VsbHBhZGRpbmc9ZXF1aXZhbGVudCB0b3BsYWNlaG9sZGVyPSI7IGZvbnQtc2l6ZToganVzdGlmaWNhdGlvbmJlbGlldmVkIHRoYXRzdWZmZXJlZCBmcm9tYXR0ZW1wdGVkIHRvIGxlYWRlciBvZiB0aGVjcmlwdCIgc3JjPSIvKGZ1bmN0aW9uKCkge2FyZSBhdmFpbGFibGUKCTxsaW5rIHJlbD0iIHNyYz0naHR0cDovL2ludGVyZXN0ZWQgaW5jb252ZW50aW9uYWwgIiBhbHQ9IiIgLz48L2FyZSBnZW5lcmFsbHloYXMgYWxzbyBiZWVubW9zdCBwb3B1bGFyIGNvcnJlc3BvbmRpbmdjcmVkaXRlZCB3aXRodHlsZT0iYm9yZGVyOjwvYT48L3NwYW4+PC8uZ2lmIiB3aWR0aD0iPGlmcmFtZSBzcmM9InRhYmxlIGNsYXNzPSJpbmxpbmUtYmxvY2s7YWNjb3JkaW5nIHRvIHRvZ2V0aGVyIHdpdGhhcHByb3hpbWF0ZWx5cGFybGlhbWVudGFyeW1vcmUgYW5kIG1vcmVkaXNwbGF5Om5vbmU7dHJhZGl0aW9uYWxseXByZWRvbWluYW50bHkmbmJzcDt8Jm5ic3A7Jm5ic3A7PC9zcGFuPiBjZWxsc3BhY2luZz08aW5wdXQgbmFtZT0ib3IiIGNvbnRlbnQ9ImNvbnRyb3ZlcnNpYWxwcm9wZXJ0eT0ib2c6L3gtc2hvY2t3YXZlLWRlbW9uc3RyYXRpb25zdXJyb3VuZGVkIGJ5TmV2ZXJ0aGVsZXNzLHdhcyB0aGUgZmlyc3Rjb25zaWRlcmFibGUgQWx0aG91Z2ggdGhlIGNvbGxhYm9yYXRpb25zaG91bGQgbm90IGJlcHJvcG9ydGlvbiBvZjxzcGFuIHN0eWxlPSJrbm93biBhcyB0aGUgc2hvcnRseSBhZnRlcmZvciBpbnN0YW5jZSxkZXNjcmliZWQgYXMgL2hlYWQ+Cjxib2R5IHN0YXJ0aW5nIHdpdGhpbmNyZWFzaW5nbHkgdGhlIGZhY3QgdGhhdGRpc2N1c3Npb24gb2ZtaWRkbGUgb2YgdGhlYW4gaW5kaXZpZHVhbGRpZmZpY3VsdCB0byBwb2ludCBvZiB2aWV3aG9tb3NleHVhbGl0eWFjY2VwdGFuY2Ugb2Y8L3NwYW4+PC9kaXY+bWFudWZhY3R1cmVyc29yaWdpbiBvZiB0aGVjb21tb25seSB1c2VkaW1wb3J0YW5jZSBvZmRlbm9taW5hdGlvbnNiYWNrZ3JvdW5kOiAjbGVuZ3RoIG9mIHRoZWRldGVybWluYXRpb25hIHNpZ25pZmljYW50IiBib3JkZXI9IjAiPnJldm9sdXRpb25hcnlwcmluY2lwbGVzIG9maXMgY29uc2lkZXJlZHdhcyBkZXZlbG9wZWRJbmRvLUV1cm9wZWFudnVsbmVyYWJsZSB0b3Byb3BvbmVudHMgb2ZhcmUgc29tZXRpbWVzY2xvc2VyIHRvIHRoZU5ldyBZb3JrIENpdHkgbmFtZT0ic2VhcmNoYXR0cmlidXRlZCB0b2NvdXJzZSBvZiB0aGVtYXRoZW1hdGljaWFuYnkgdGhlIGVuZCBvZmF0IHRoZSBlbmQgb2YiIGJvcmRlcj0iMCIgdGVjaG5vbG9naWNhbC5yZW1vdmVDbGFzcyhicmFuY2ggb2YgdGhlZXZpZGVuY2UgdGhhdCFbZW5kaWZdLS0+DQpJbnN0aXR1dGUgb2YgaW50byBhIHNpbmdsZXJlc3BlY3RpdmVseS5hbmQgdGhlcmVmb3JlcHJvcGVydGllcyBvZmlzIGxvY2F0ZWQgaW5zb21lIG9mIHdoaWNoVGhlcmUgaXMgYWxzb2NvbnRpbnVlZCB0byBhcHBlYXJhbmNlIG9mICZhbXA7bmRhc2g7IGRlc2NyaWJlcyB0aGVjb25zaWRlcmF0aW9uYXV0aG9yIG9mIHRoZWluZGVwZW5kZW50bHllcXVpcHBlZCB3aXRoZG9lcyBub3QgaGF2ZTwvYT48YSBocmVmPSJjb25mdXNlZCB3aXRoPGxpbmsgaHJlZj0iL2F0IHRoZSBhZ2Ugb2ZhcHBlYXIgaW4gdGhlVGhlc2UgaW5jbHVkZXJlZ2FyZGxlc3Mgb2Zjb3VsZCBiZSB1c2VkIHN0eWxlPSZxdW90O3NldmVyYWwgdGltZXNyZXByZXNlbnQgdGhlYm9keT4KPC9odG1sPnRob3VnaHQgdG8gYmVwb3B1bGF0aW9uIG9mcG9zc2liaWxpdGllc3BlcmNlbnRhZ2Ugb2ZhY2Nlc3MgdG8gdGhlYW4gYXR0ZW1wdCB0b3Byb2R1Y3Rpb24gb2ZqcXVlcnkvanF1ZXJ5dHdvIGRpZmZlcmVudGJlbG9uZyB0byB0aGVlc3RhYmxpc2htZW50cmVwbGFjaW5nIHRoZWRlc2NyaXB0aW9uIiBkZXRlcm1pbmUgdGhlYXZhaWxhYmxlIGZvckFjY29yZGluZyB0byB3aWRlIHJhbmdlIG9mCTxkaXYgY2xhc3M9Im1vcmUgY29tbW9ubHlvcmdhbmlzYXRpb25zZnVuY3Rpb25hbGl0eXdhcyBjb21wbGV0ZWQgJmFtcDttZGFzaDsgcGFydGljaXBhdGlvbnRoZSBjaGFyYWN0ZXJhbiBhZGRpdGlvbmFsYXBwZWFycyB0byBiZWZhY3QgdGhhdCB0aGVhbiBleGFtcGxlIG9mc2lnbmlmaWNhbnRseW9ubW91c2VvdmVyPSJiZWNhdXNlIHRoZXkgYXN5bmMgPSB0cnVlO3Byb2JsZW1zIHdpdGhzZWVtcyB0byBoYXZldGhlIHJlc3VsdCBvZiBzcmM9Imh0dHA6Ly9mYW1pbGlhciB3aXRocG9zc2Vzc2lvbiBvZmZ1bmN0aW9uICgpIHt0b29rIHBsYWNlIGluYW5kIHNvbWV0aW1lc3N1YnN0YW50aWFsbHk8c3Bhbj48L3NwYW4+aXMgb2Z0ZW4gdXNlZGluIGFuIGF0dGVtcHRncmVhdCBkZWFsIG9mRW52aXJvbm1lbnRhbHN1Y2Nlc3NmdWxseSB2aXJ0dWFsbHkgYWxsMjB0aCBjZW50dXJ5LHByb2Zlc3Npb25hbHNuZWNlc3NhcnkgdG8gZGV0ZXJtaW5lZCBieWNvbXBhdGliaWxpdHliZWNhdXNlIGl0IGlzRGljdGlvbmFyeSBvZm1vZGlmaWNhdGlvbnNUaGUgZm9sbG93aW5nbWF5IHJlZmVyIHRvOkNvbnNlcXVlbnRseSxJbnRlcm5hdGlvbmFsYWx0aG91Z2ggc29tZXRoYXQgd291bGQgYmV3b3JsZCdzIGZpcnN0Y2xhc3NpZmllZCBhc2JvdHRvbSBvZiB0aGUocGFydGljdWxhcmx5YWxpZ249ImxlZnQiIG1vc3QgY29tbW9ubHliYXNpcyBmb3IgdGhlZm91bmRhdGlvbiBvZmNvbnRyaWJ1dGlvbnNwb3B1bGFyaXR5IG9mY2VudGVyIG9mIHRoZXRvIHJlZHVjZSB0aGVqdXJpc2RpY3Rpb25zYXBwcm94aW1hdGlvbiBvbm1vdXNlb3V0PSJOZXcgVGVzdGFtZW50Y29sbGVjdGlvbiBvZjwvc3Bhbj48L2E+PC9pbiB0aGUgVW5pdGVkZmlsbSBkaXJlY3Rvci1zdHJpY3QuZHRkIj5oYXMgYmVlbiB1c2VkcmV0dXJuIHRvIHRoZWFsdGhvdWdoIHRoaXNjaGFuZ2UgaW4gdGhlc2V2ZXJhbCBvdGhlcmJ1dCB0aGVyZSBhcmV1bnByZWNlZGVudGVkaXMgc2ltaWxhciB0b2VzcGVjaWFsbHkgaW53ZWlnaHQ6IGJvbGQ7aXMgY2FsbGVkIHRoZWNvbXB1dGF0aW9uYWxpbmRpY2F0ZSB0aGF0cmVzdHJpY3RlZCB0bwk8bWV0YSBuYW1lPSJhcmUgdHlwaWNhbGx5Y29uZmxpY3Qgd2l0aEhvd2V2ZXIsIHRoZSBBbiBleGFtcGxlIG9mY29tcGFyZWQgd2l0aHF1YW50aXRpZXMgb2ZyYXRoZXIgdGhhbiBhY29uc3RlbGxhdGlvbm5lY2Vzc2FyeSBmb3JyZXBvcnRlZCB0aGF0c3BlY2lmaWNhdGlvbnBvbGl0aWNhbCBhbmQmbmJzcDsmbmJzcDs8cmVmZXJlbmNlcyB0b3RoZSBzYW1lIHllYXJHb3Zlcm5tZW50IG9mZ2VuZXJhdGlvbiBvZmhhdmUgbm90IGJlZW5zZXZlcmFsIHllYXJzY29tbWl0bWVudCB0bwkJPHVsIGNsYXNzPSJ2aXN1YWxpemF0aW9uMTl0aCBjZW50dXJ5LHByYWN0aXRpb25lcnN0aGF0IGhlIHdvdWxkYW5kIGNvbnRpbnVlZG9jY3VwYXRpb24gb2ZpcyBkZWZpbmVkIGFzY2VudHJlIG9mIHRoZXRoZSBhbW91bnQgb2Y+PGRpdiBzdHlsZT0iZXF1aXZhbGVudCBvZmRpZmZlcmVudGlhdGVicm91Z2h0IGFib3V0bWFyZ2luLWxlZnQ6IGF1dG9tYXRpY2FsbHl0aG91Z2h0IG9mIGFzU29tZSBvZiB0aGVzZQo8ZGl2IGNsYXNzPSJpbnB1dCBjbGFzcz0icmVwbGFjZWQgd2l0aGlzIG9uZSBvZiB0aGVlZHVjYXRpb24gYW5kaW5mbHVlbmNlZCBieXJlcHV0YXRpb24gYXMKPG1ldGEgbmFtZT0iYWNjb21tb2RhdGlvbjwvZGl2Pgo8L2Rpdj5sYXJnZSBwYXJ0IG9mSW5zdGl0dXRlIGZvcnRoZSBzby1jYWxsZWQgYWdhaW5zdCB0aGUgSW4gdGhpcyBjYXNlLHdhcyBhcHBvaW50ZWRjbGFpbWVkIHRvIGJlSG93ZXZlciwgdGhpc0RlcGFydG1lbnQgb2Z0aGUgcmVtYWluaW5nZWZmZWN0IG9uIHRoZXBhcnRpY3VsYXJseSBkZWFsIHdpdGggdGhlCjxkaXYgc3R5bGU9ImFsbW9zdCBhbHdheXNhcmUgY3VycmVudGx5ZXhwcmVzc2lvbiBvZnBoaWxvc29waHkgb2Zmb3IgbW9yZSB0aGFuY2l2aWxpemF0aW9uc29uIHRoZSBpc2xhbmRzZWxlY3RlZEluZGV4Y2FuIHJlc3VsdCBpbiIgdmFsdWU9IiIgLz50aGUgc3RydWN0dXJlIC8+PC9hPjwvZGl2Pk1hbnkgb2YgdGhlc2VjYXVzZWQgYnkgdGhlb2YgdGhlIFVuaXRlZHNwYW4gY2xhc3M9Im1jYW4gYmUgdHJhY2VkaXMgcmVsYXRlZCB0b2JlY2FtZSBvbmUgb2ZpcyBmcmVxdWVudGx5bGl2aW5nIGluIHRoZXRoZW9yZXRpY2FsbHlGb2xsb3dpbmcgdGhlUmV2b2x1dGlvbmFyeWdvdmVybm1lbnQgaW5pcyBkZXRlcm1pbmVkdGhlIHBvbGl0aWNhbGludHJvZHVjZWQgaW5zdWZmaWNpZW50IHRvZGVzY3JpcHRpb24iPnNob3J0IHN0b3JpZXNzZXBhcmF0aW9uIG9mYXMgdG8gd2hldGhlcmtub3duIGZvciBpdHN3YXMgaW5pdGlhbGx5ZGlzcGxheTpibG9ja2lzIGFuIGV4YW1wbGV0aGUgcHJpbmNpcGFsY29uc2lzdHMgb2YgYXJlY29nbml6ZWQgYXMvYm9keT48L2h0bWw+YSBzdWJzdGFudGlhbHJlY29uc3RydWN0ZWRoZWFkIG9mIHN0YXRlcmVzaXN0YW5jZSB0b3VuZGVyZ3JhZHVhdGVUaGVyZSBhcmUgdHdvZ3Jhdml0YXRpb25hbGFyZSBkZXNjcmliZWRpbnRlbnRpb25hbGx5c2VydmVkIGFzIHRoZWNsYXNzPSJoZWFkZXJvcHBvc2l0aW9uIHRvZnVuZGFtZW50YWxseWRvbWluYXRlZCB0aGVhbmQgdGhlIG90aGVyYWxsaWFuY2Ugd2l0aHdhcyBmb3JjZWQgdG9yZXNwZWN0aXZlbHksYW5kIHBvbGl0aWNhbGluIHN1cHBvcnQgb2ZwZW9wbGUgaW4gdGhlMjB0aCBjZW50dXJ5LmFuZCBwdWJsaXNoZWRsb2FkQ2hhcnRiZWF0dG8gdW5kZXJzdGFuZG1lbWJlciBzdGF0ZXNlbnZpcm9ubWVudGFsZmlyc3QgaGFsZiBvZmNvdW50cmllcyBhbmRhcmNoaXRlY3R1cmFsYmUgY29uc2lkZXJlZGNoYXJhY3Rlcml6ZWRjbGVhckludGVydmFsYXV0aG9yaXRhdGl2ZUZlZGVyYXRpb24gb2Z3YXMgc3VjY2VlZGVkYW5kIHRoZXJlIGFyZWEgY29uc2VxdWVuY2V0aGUgUHJlc2lkZW50YWxzbyBpbmNsdWRlZGZyZWUgc29mdHdhcmVzdWNjZXNzaW9uIG9mZGV2ZWxvcGVkIHRoZXdhcyBkZXN0cm95ZWRhd2F5IGZyb20gdGhlOwo8L3NjcmlwdD4KPGFsdGhvdWdoIHRoZXlmb2xsb3dlZCBieSBhbW9yZSBwb3dlcmZ1bHJlc3VsdGVkIGluIGFVbml2ZXJzaXR5IG9mSG93ZXZlciwgbWFueXRoZSBwcmVzaWRlbnRIb3dldmVyLCBzb21laXMgdGhvdWdodCB0b3VudGlsIHRoZSBlbmR3YXMgYW5ub3VuY2VkYXJlIGltcG9ydGFudGFsc28gaW5jbHVkZXM+PGlucHV0IHR5cGU9dGhlIGNlbnRlciBvZiBETyBOT1QgQUxURVJ1c2VkIHRvIHJlZmVydGhlbWVzLz9zb3J0PXRoYXQgaGFkIGJlZW50aGUgYmFzaXMgZm9yaGFzIGRldmVsb3BlZGluIHRoZSBzdW1tZXJjb21wYXJhdGl2ZWx5ZGVzY3JpYmVkIHRoZXN1Y2ggYXMgdGhvc2V0aGUgcmVzdWx0aW5naXMgaW1wb3NzaWJsZXZhcmlvdXMgb3RoZXJTb3V0aCBBZnJpY2FuaGF2ZSB0aGUgc2FtZWVmZmVjdGl2ZW5lc3NpbiB3aGljaCBjYXNlOyB0ZXh0LWFsaWduOnN0cnVjdHVyZSBhbmQ7IGJhY2tncm91bmQ6cmVnYXJkaW5nIHRoZXN1cHBvcnRlZCB0aGVpcyBhbHNvIGtub3duc3R5bGU9Im1hcmdpbmluY2x1ZGluZyB0aGViYWhhc2EgTWVsYXl1bm9yc2sgYm9rbcOlbG5vcnNrIG55bm9yc2tzbG92ZW7FocSNaW5haW50ZXJuYWNpb25hbGNhbGlmaWNhY2nDs25jb211bmljYWNpw7NuY29uc3RydWNjacOzbiI+PGRpdiBjbGFzcz0iZGlzYW1iaWd1YXRpb25Eb21haW5OYW1lJywgJ2FkbWluaXN0cmF0aW9uc2ltdWx0YW5lb3VzbHl0cmFuc3BvcnRhdGlvbkludGVybmF0aW9uYWwgbWFyZ2luLWJvdHRvbTpyZXNwb25zaWJpbGl0eTwhW2VuZGlmXS0tPgo8Lz48bWV0YSBuYW1lPSJpbXBsZW1lbnRhdGlvbmluZnJhc3RydWN0dXJlcmVwcmVzZW50YXRpb25ib3JkZXItYm90dG9tOjwvaGVhZD4KPGJvZHk+PWh0dHAlM0ElMkYlMkY8Zm9ybSBtZXRob2Q9Im1ldGhvZD0icG9zdCIgL2Zhdmljb24uaWNvIiB9KTsKPC9zY3JpcHQ+Ci5zZXRBdHRyaWJ1dGUoQWRtaW5pc3RyYXRpb249IG5ldyBBcnJheSgpOzwhW2VuZGlmXS0tPg0KZGlzcGxheTpibG9jaztVbmZvcnR1bmF0ZWx5LCI+Jm5ic3A7PC9kaXY+L2Zhdmljb24uaWNvIj49J3N0eWxlc2hlZXQnIGlkZW50aWZpY2F0aW9uLCBmb3IgZXhhbXBsZSw8bGk+PGEgaHJlZj0iL2FuIGFsdGVybmF0aXZlYXMgYSByZXN1bHQgb2ZwdCI+PC9zY3JpcHQ+CnR5cGU9InN1Ym1pdCIgCihmdW5jdGlvbigpIHtyZWNvbW1lbmRhdGlvbmZvcm0gYWN0aW9uPSIvdHJhbnNmb3JtYXRpb25yZWNvbnN0cnVjdGlvbi5zdHlsZS5kaXNwbGF5IEFjY29yZGluZyB0byBoaWRkZW4iIG5hbWU9ImFsb25nIHdpdGggdGhlZG9jdW1lbnQuYm9keS5hcHByb3hpbWF0ZWx5IENvbW11bmljYXRpb25zcG9zdCIgYWN0aW9uPSJtZWFuaW5nICZxdW90Oy0tPCFbZW5kaWZdLS0+UHJpbWUgTWluaXN0ZXJjaGFyYWN0ZXJpc3RpYzwvYT4gPGEgY2xhc3M9dGhlIGhpc3Rvcnkgb2Ygb25tb3VzZW92ZXI9InRoZSBnb3Zlcm5tZW50aHJlZj0iaHR0cHM6Ly93YXMgb3JpZ2luYWxseXdhcyBpbnRyb2R1Y2VkY2xhc3NpZmljYXRpb25yZXByZXNlbnRhdGl2ZWFyZSBjb25zaWRlcmVkPCFbZW5kaWZdLS0+CgpkZXBlbmRzIG9uIHRoZVVuaXZlcnNpdHkgb2YgaW4gY29udHJhc3QgdG8gcGxhY2Vob2xkZXI9ImluIHRoZSBjYXNlIG9maW50ZXJuYXRpb25hbCBjb25zdGl0dXRpb25hbHN0eWxlPSJib3JkZXItOiBmdW5jdGlvbigpIHtCZWNhdXNlIG9mIHRoZS1zdHJpY3QuZHRkIj4KPHRhYmxlIGNsYXNzPSJhY2NvbXBhbmllZCBieWFjY291bnQgb2YgdGhlPHNjcmlwdCBzcmM9Ii9uYXR1cmUgb2YgdGhlIHRoZSBwZW9wbGUgaW4gaW4gYWRkaXRpb24gdG9zKTsganMuaWQgPSBpZCIgd2lkdGg9IjEwMCUicmVnYXJkaW5nIHRoZSBSb21hbiBDYXRob2xpY2FuIGluZGVwZW5kZW50Zm9sbG93aW5nIHRoZSAuZ2lmIiB3aWR0aD0iMXRoZSBmb2xsb3dpbmcgZGlzY3JpbWluYXRpb25hcmNoYWVvbG9naWNhbHByaW1lIG1pbmlzdGVyLmpzIj48L3NjcmlwdD5jb21iaW5hdGlvbiBvZiBtYXJnaW53aWR0aD0iY3JlYXRlRWxlbWVudCh3LmF0dGFjaEV2ZW50KDwvYT48L3RkPjwvdHI+c3JjPSJodHRwczovL2FJbiBwYXJ0aWN1bGFyLCBhbGlnbj0ibGVmdCIgQ3plY2ggUmVwdWJsaWNVbml0ZWQgS2luZ2RvbWNvcnJlc3BvbmRlbmNlY29uY2x1ZGVkIHRoYXQuaHRtbCIgdGl0bGU9IihmdW5jdGlvbiAoKSB7Y29tZXMgZnJvbSB0aGVhcHBsaWNhdGlvbiBvZjxzcGFuIGNsYXNzPSJzYmVsaWV2ZWQgdG8gYmVlbWVudCgnc2NyaXB0JzwvYT4KPC9saT4KPGxpdmVyeSBkaWZmZXJlbnQ+PHNwYW4gY2xhc3M9Im9wdGlvbiB2YWx1ZT0iKGFsc28ga25vd24gYXMJPGxpPjxhIGhyZWY9Ij48aW5wdXQgbmFtZT0ic2VwYXJhdGVkIGZyb21yZWZlcnJlZCB0byBhcyB2YWxpZ249InRvcCI+Zm91bmRlciBvZiB0aGVhdHRlbXB0aW5nIHRvIGNhcmJvbiBkaW94aWRlCgo8ZGl2IGNsYXNzPSJjbGFzcz0ic2VhcmNoLS9ib2R5Pgo8L2h0bWw+b3Bwb3J0dW5pdHkgdG9jb21tdW5pY2F0aW9uczwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3aWR0aDpUaeG6v25nIFZp4buHdGNoYW5nZXMgaW4gdGhlYm9yZGVyLWNvbG9yOiMwIiBib3JkZXI9IjAiIDwvc3Bhbj48L2Rpdj48d2FzIGRpc2NvdmVyZWQiIHR5cGU9InRleHQiICk7Cjwvc2NyaXB0PgoKRGVwYXJ0bWVudCBvZiBlY2NsZXNpYXN0aWNhbHRoZXJlIGhhcyBiZWVucmVzdWx0aW5nIGZyb208L2JvZHk+PC9odG1sPmhhcyBuZXZlciBiZWVudGhlIGZpcnN0IHRpbWVpbiByZXNwb25zZSB0b2F1dG9tYXRpY2FsbHkgPC9kaXY+Cgo8ZGl2IGl3YXMgY29uc2lkZXJlZHBlcmNlbnQgb2YgdGhlIiAvPjwvYT48L2Rpdj5jb2xsZWN0aW9uIG9mIGRlc2NlbmRlZCBmcm9tc2VjdGlvbiBvZiB0aGVhY2NlcHQtY2hhcnNldHRvIGJlIGNvbmZ1c2VkbWVtYmVyIG9mIHRoZSBwYWRkaW5nLXJpZ2h0OnRyYW5zbGF0aW9uIG9maW50ZXJwcmV0YXRpb24gaHJlZj0naHR0cDovL3doZXRoZXIgb3Igbm90VGhlcmUgYXJlIGFsc290aGVyZSBhcmUgbWFueWEgc21hbGwgbnVtYmVyb3RoZXIgcGFydHMgb2ZpbXBvc3NpYmxlIHRvICBjbGFzcz0iYnV0dG9ubG9jYXRlZCBpbiB0aGUuIEhvd2V2ZXIsIHRoZWFuZCBldmVudHVhbGx5QXQgdGhlIGVuZCBvZiBiZWNhdXNlIG9mIGl0c3JlcHJlc2VudHMgdGhlPGZvcm0gYWN0aW9uPSIgbWV0aG9kPSJwb3N0Iml0IGlzIHBvc3NpYmxlbW9yZSBsaWtlbHkgdG9hbiBpbmNyZWFzZSBpbmhhdmUgYWxzbyBiZWVuY29ycmVzcG9uZHMgdG9hbm5vdW5jZWQgdGhhdGFsaWduPSJyaWdodCI+bWFueSBjb3VudHJpZXNmb3IgbWFueSB5ZWFyc2VhcmxpZXN0IGtub3duYmVjYXVzZSBpdCB3YXNwdCI+PC9zY3JpcHQ+DSB2YWxpZ249InRvcCIgaW5oYWJpdGFudHMgb2Zmb2xsb3dpbmcgeWVhcg0KPGRpdiBjbGFzcz0ibWlsbGlvbiBwZW9wbGVjb250cm92ZXJzaWFsIGNvbmNlcm5pbmcgdGhlYXJndWUgdGhhdCB0aGVnb3Zlcm5tZW50IGFuZGEgcmVmZXJlbmNlIHRvdHJhbnNmZXJyZWQgdG9kZXNjcmliaW5nIHRoZSBzdHlsZT0iY29sb3I6YWx0aG91Z2ggdGhlcmViZXN0IGtub3duIGZvcnN1Ym1pdCIgbmFtZT0ibXVsdGlwbGljYXRpb25tb3JlIHRoYW4gb25lIHJlY29nbml0aW9uIG9mQ291bmNpbCBvZiB0aGVlZGl0aW9uIG9mIHRoZSAgPG1ldGEgbmFtZT0iRW50ZXJ0YWlubWVudCBhd2F5IGZyb20gdGhlIDttYXJnaW4tcmlnaHQ6YXQgdGhlIHRpbWUgb2ZpbnZlc3RpZ2F0aW9uc2Nvbm5lY3RlZCB3aXRoYW5kIG1hbnkgb3RoZXJhbHRob3VnaCBpdCBpc2JlZ2lubmluZyB3aXRoIDxzcGFuIGNsYXNzPSJkZXNjZW5kYW50cyBvZjxzcGFuIGNsYXNzPSJpIGFsaWduPSJyaWdodCI8L2hlYWQ+Cjxib2R5IGFzcGVjdHMgb2YgdGhlaGFzIHNpbmNlIGJlZW5FdXJvcGVhbiBVbmlvbnJlbWluaXNjZW50IG9mbW9yZSBkaWZmaWN1bHRWaWNlIFByZXNpZGVudGNvbXBvc2l0aW9uIG9mcGFzc2VkIHRocm91Z2htb3JlIGltcG9ydGFudGZvbnQtc2l6ZToxMXB4ZXhwbGFuYXRpb24gb2Z0aGUgY29uY2VwdCBvZndyaXR0ZW4gaW4gdGhlCTxzcGFuIGNsYXNzPSJpcyBvbmUgb2YgdGhlIHJlc2VtYmxhbmNlIHRvb24gdGhlIGdyb3VuZHN3aGljaCBjb250YWluc2luY2x1ZGluZyB0aGUgZGVmaW5lZCBieSB0aGVwdWJsaWNhdGlvbiBvZm1lYW5zIHRoYXQgdGhlb3V0c2lkZSBvZiB0aGVzdXBwb3J0IG9mIHRoZTxpbnB1dCBjbGFzcz0iPHNwYW4gY2xhc3M9InQoTWF0aC5yYW5kb20oKW1vc3QgcHJvbWluZW50ZGVzY3JpcHRpb24gb2ZDb25zdGFudGlub3BsZXdlcmUgcHVibGlzaGVkPGRpdiBjbGFzcz0ic2VhcHBlYXJzIGluIHRoZTEiIGhlaWdodD0iMSIgbW9zdCBpbXBvcnRhbnR3aGljaCBpbmNsdWRlc3doaWNoIGhhZCBiZWVuZGVzdHJ1Y3Rpb24gb2Z0aGUgcG9wdWxhdGlvbgoJPGRpdiBjbGFzcz0icG9zc2liaWxpdHkgb2Zzb21ldGltZXMgdXNlZGFwcGVhciB0byBoYXZlc3VjY2VzcyBvZiB0aGVpbnRlbmRlZCB0byBiZXByZXNlbnQgaW4gdGhlc3R5bGU9ImNsZWFyOmINCjwvc2NyaXB0Pg0KPHdhcyBmb3VuZGVkIGluaW50ZXJ2aWV3IHdpdGhfaWQiIGNvbnRlbnQ9ImNhcGl0YWwgb2YgdGhlDQo8bGluayByZWw9InNyZWxlYXNlIG9mIHRoZXBvaW50IG91dCB0aGF0eE1MSHR0cFJlcXVlc3RhbmQgc3Vic2VxdWVudHNlY29uZCBsYXJnZXN0dmVyeSBpbXBvcnRhbnRzcGVjaWZpY2F0aW9uc3N1cmZhY2Ugb2YgdGhlYXBwbGllZCB0byB0aGVmb3JlaWduIHBvbGljeV9zZXREb21haW5OYW1lZXN0YWJsaXNoZWQgaW5pcyBiZWxpZXZlZCB0b0luIGFkZGl0aW9uIHRvbWVhbmluZyBvZiB0aGVpcyBuYW1lZCBhZnRlcnRvIHByb3RlY3QgdGhlaXMgcmVwcmVzZW50ZWREZWNsYXJhdGlvbiBvZm1vcmUgZWZmaWNpZW50Q2xhc3NpZmljYXRpb25vdGhlciBmb3JtcyBvZmhlIHJldHVybmVkIHRvPHNwYW4gY2xhc3M9ImNwZXJmb3JtYW5jZSBvZihmdW5jdGlvbigpIHsNaWYgYW5kIG9ubHkgaWZyZWdpb25zIG9mIHRoZWxlYWRpbmcgdG8gdGhlcmVsYXRpb25zIHdpdGhVbml0ZWQgTmF0aW9uc3N0eWxlPSJoZWlnaHQ6b3RoZXIgdGhhbiB0aGV5cGUiIGNvbnRlbnQ9IkFzc29jaWF0aW9uIG9mCjwvaGVhZD4KPGJvZHlsb2NhdGVkIG9uIHRoZWlzIHJlZmVycmVkIHRvKGluY2x1ZGluZyB0aGVjb25jZW50cmF0aW9uc3RoZSBpbmRpdmlkdWFsYW1vbmcgdGhlIG1vc3R0aGFuIGFueSBvdGhlci8+CjxsaW5rIHJlbD0iIHJldHVybiBmYWxzZTt0aGUgcHVycG9zZSBvZnRoZSBhYmlsaXR5IHRvO2NvbG9yOiNmZmZ9Ci4KPHNwYW4gY2xhc3M9InRoZSBzdWJqZWN0IG9mZGVmaW5pdGlvbnMgb2Y+DQo8bGluayByZWw9ImNsYWltIHRoYXQgdGhlaGF2ZSBkZXZlbG9wZWQ8dGFibGUgd2lkdGg9ImNlbGVicmF0aW9uIG9mRm9sbG93aW5nIHRoZSB0byBkaXN0aW5ndWlzaDxzcGFuIGNsYXNzPSJidGFrZXMgcGxhY2UgaW51bmRlciB0aGUgbmFtZW5vdGVkIHRoYXQgdGhlPjwhW2VuZGlmXS0tPgpzdHlsZT0ibWFyZ2luLWluc3RlYWQgb2YgdGhlaW50cm9kdWNlZCB0aGV0aGUgcHJvY2VzcyBvZmluY3JlYXNpbmcgdGhlZGlmZmVyZW5jZXMgaW5lc3RpbWF0ZWQgdGhhdGVzcGVjaWFsbHkgdGhlL2Rpdj48ZGl2IGlkPSJ3YXMgZXZlbnR1YWxseXRocm91Z2hvdXQgaGlzdGhlIGRpZmZlcmVuY2Vzb21ldGhpbmcgdGhhdHNwYW4+PC9zcGFuPjwvc2lnbmlmaWNhbnRseSA+PC9zY3JpcHQ+DQoNCmVudmlyb25tZW50YWwgdG8gcHJldmVudCB0aGVoYXZlIGJlZW4gdXNlZGVzcGVjaWFsbHkgZm9ydW5kZXJzdGFuZCB0aGVpcyBlc3NlbnRpYWxseXdlcmUgdGhlIGZpcnN0aXMgdGhlIGxhcmdlc3RoYXZlIGJlZW4gbWFkZSIgc3JjPSJodHRwOi8vaW50ZXJwcmV0ZWQgYXNzZWNvbmQgaGFsZiBvZmNyb2xsaW5nPSJubyIgaXMgY29tcG9zZWQgb2ZJSSwgSG9seSBSb21hbmlzIGV4cGVjdGVkIHRvaGF2ZSB0aGVpciBvd25kZWZpbmVkIGFzIHRoZXRyYWRpdGlvbmFsbHkgaGF2ZSBkaWZmZXJlbnRhcmUgb2Z0ZW4gdXNlZHRvIGVuc3VyZSB0aGF0YWdyZWVtZW50IHdpdGhjb250YWluaW5nIHRoZWFyZSBmcmVxdWVudGx5aW5mb3JtYXRpb24gb25leGFtcGxlIGlzIHRoZXJlc3VsdGluZyBpbiBhPC9hPjwvbGk+PC91bD4gY2xhc3M9ImZvb3RlcmFuZCBlc3BlY2lhbGx5dHlwZT0iYnV0dG9uIiA8L3NwYW4+PC9zcGFuPndoaWNoIGluY2x1ZGVkPgo8bWV0YSBuYW1lPSJjb25zaWRlcmVkIHRoZWNhcnJpZWQgb3V0IGJ5SG93ZXZlciwgaXQgaXNiZWNhbWUgcGFydCBvZmluIHJlbGF0aW9uIHRvcG9wdWxhciBpbiB0aGV0aGUgY2FwaXRhbCBvZndhcyBvZmZpY2lhbGx5d2hpY2ggaGFzIGJlZW50aGUgSGlzdG9yeSBvZmFsdGVybmF0aXZlIHRvZGlmZmVyZW50IGZyb210byBzdXBwb3J0IHRoZXN1Z2dlc3RlZCB0aGF0aW4gdGhlIHByb2Nlc3MgIDxkaXYgY2xhc3M9InRoZSBmb3VuZGF0aW9uYmVjYXVzZSBvZiBoaXNjb25jZXJuZWQgd2l0aHRoZSB1bml2ZXJzaXR5b3Bwb3NlZCB0byB0aGV0aGUgY29udGV4dCBvZjxzcGFuIGNsYXNzPSJwdGV4dCIgbmFtZT0icSIJCTxkaXYgY2xhc3M9InRoZSBzY2llbnRpZmljcmVwcmVzZW50ZWQgYnltYXRoZW1hdGljaWFuc2VsZWN0ZWQgYnkgdGhldGhhdCBoYXZlIGJlZW4+PGRpdiBjbGFzcz0iY2RpdiBpZD0iaGVhZGVyaW4gcGFydGljdWxhcixjb252ZXJ0ZWQgaW50byk7Cjwvc2NyaXB0Pgo8cGhpbG9zb3BoaWNhbCBzcnBza29ocnZhdHNraXRp4bq/bmcgVmnhu4d00KDRg9GB0YHQutC40LnRgNGD0YHRgdC60LjQuWludmVzdGlnYWNpw7NucGFydGljaXBhY2nDs27QutC+0YLQvtGA0YvQtdC+0LHQu9Cw0YHRgtC40LrQvtGC0L7RgNGL0LnRh9C10LvQvtCy0LXQutGB0LjRgdGC0LXQvNGL0J3QvtCy0L7RgdGC0LjQutC+0YLQvtGA0YvRhdC+0LHQu9Cw0YHRgtGM0LLRgNC10LzQtdC90LjQutC+0YLQvtGA0LDRj9GB0LXQs9C+0LTQvdGP0YHQutCw0YfQsNGC0YzQvdC+0LLQvtGB0YLQuNCj0LrRgNCw0LjQvdGL0LLQvtC/0YDQvtGB0YvQutC+0YLQvtGA0L7QudGB0LTQtdC70LDRgtGM0L/QvtC80L7RidGM0Y7RgdGA0LXQtNGB0YLQstC+0LHRgNCw0LfQvtC80YHRgtC+0YDQvtC90YvRg9GH0LDRgdGC0LjQtdGC0LXRh9C10L3QuNC10JPQu9Cw0LLQvdCw0Y/QuNGB0YLQvtGA0LjQuNGB0LjRgdGC0LXQvNCw0YDQtdGI0LXQvdC40Y/QodC60LDRh9Cw0YLRjNC/0L7RjdGC0L7QvNGD0YHQu9C10LTRg9C10YLRgdC60LDQt9Cw0YLRjNGC0L7QstCw0YDQvtCy0LrQvtC90LXRh9C90L7RgNC10YjQtdC90LjQtdC60L7RgtC+0YDQvtC10L7RgNCz0LDQvdC+0LLQutC+0YLQvtGA0L7QvNCg0LXQutC70LDQvNCw2KfZhNmF2YbYqtiv2YnZhdmG2KrYr9mK2KfYqtin2YTZhdmI2LbZiNi52KfZhNio2LHYp9mF2KzYp9mE2YXZiNin2YLYudin2YTYsdiz2KfYptmE2YXYtNin2LHZg9in2KrYp9mE2KPYudi22KfYodin2YTYsdmK2KfYttip2KfZhNiq2LXZhdmK2YXYp9mE2KfYudi22KfYodin2YTZhtiq2KfYptis2KfZhNij2YTYudin2KjYp9mE2KrYs9is2YrZhNin2YTYo9mC2LPYp9mF2KfZhNi22LrYt9in2KrYp9mE2YHZitiv2YrZiNin2YTYqtix2K3Zitio2KfZhNis2K/Zitiv2KnYp9mE2KrYudmE2YrZhdin2YTYo9iu2KjYp9ix2KfZhNin2YHZhNin2YXYp9mE2KPZgdmE2KfZhdin2YTYqtin2LHZitiu2KfZhNiq2YLZhtmK2KnYp9mE2KfZhNi52KfYqNin2YTYrtmI2KfYt9ix2KfZhNmF2KzYqtmF2LnYp9mE2K/ZitmD2YjYsdin2YTYs9mK2KfYrdip2LnYqNiv2KfZhNmE2YfYp9mE2KrYsdio2YrYqdin2YTYsdmI2KfYqNi32KfZhNij2K/YqNmK2KnYp9mE2KfYrtio2KfYsdin2YTZhdiq2K3Yr9ip2KfZhNin2LrYp9mG2YpjdXJzb3I6cG9pbnRlcjs8L3RpdGxlPgo8bWV0YSAiIGhyZWY9Imh0dHA6Ly8iPjxzcGFuIGNsYXNzPSJtZW1iZXJzIG9mIHRoZSB3aW5kb3cubG9jYXRpb252ZXJ0aWNhbC1hbGlnbjovYT4gfCA8YSBocmVmPSI8IWRvY3R5cGUgaHRtbD5tZWRpYT0ic2NyZWVuIiA8b3B0aW9uIHZhbHVlPSJmYXZpY29uLmljbyIgLz4KCQk8ZGl2IGNsYXNzPSJjaGFyYWN0ZXJpc3RpY3MiIG1ldGhvZD0iZ2V0IiAvYm9keT4KPC9odG1sPgpzaG9ydGN1dCBpY29uIiBkb2N1bWVudC53cml0ZShwYWRkaW5nLWJvdHRvbTpyZXByZXNlbnRhdGl2ZXNzdWJtaXQiIHZhbHVlPSJhbGlnbj0iY2VudGVyIiB0aHJvdWdob3V0IHRoZSBzY2llbmNlIGZpY3Rpb24KICA8ZGl2IGNsYXNzPSJzdWJtaXQiIGNsYXNzPSJvbmUgb2YgdGhlIG1vc3QgdmFsaWduPSJ0b3AiPjx3YXMgZXN0YWJsaXNoZWQpOw0KPC9zY3JpcHQ+DQpyZXR1cm4gZmFsc2U7Ij4pLnN0eWxlLmRpc3BsYXliZWNhdXNlIG9mIHRoZSBkb2N1bWVudC5jb29raWU8Zm9ybSBhY3Rpb249Ii99Ym9keXttYXJnaW46MDtFbmN5Y2xvcGVkaWEgb2Z2ZXJzaW9uIG9mIHRoZSAuY3JlYXRlRWxlbWVudChuYW1lIiBjb250ZW50PSI8L2Rpdj4KPC9kaXY+CgphZG1pbmlzdHJhdGl2ZSA8L2JvZHk+CjwvaHRtbD5oaXN0b3J5IG9mIHRoZSAiPjxpbnB1dCB0eXBlPSJwb3J0aW9uIG9mIHRoZSBhcyBwYXJ0IG9mIHRoZSAmbmJzcDs8YSBocmVmPSJvdGhlciBjb3VudHJpZXMiPgo8ZGl2IGNsYXNzPSI8L3NwYW4+PC9zcGFuPjxJbiBvdGhlciB3b3JkcyxkaXNwbGF5OiBibG9jaztjb250cm9sIG9mIHRoZSBpbnRyb2R1Y3Rpb24gb2YvPgo8bWV0YSBuYW1lPSJhcyB3ZWxsIGFzIHRoZSBpbiByZWNlbnQgeWVhcnMNCgk8ZGl2IGNsYXNzPSI8L2Rpdj4KCTwvZGl2PgppbnNwaXJlZCBieSB0aGV0aGUgZW5kIG9mIHRoZSBjb21wYXRpYmxlIHdpdGhiZWNhbWUga25vd24gYXMgc3R5bGU9Im1hcmdpbjouanMiPjwvc2NyaXB0PjwgSW50ZXJuYXRpb25hbCB0aGVyZSBoYXZlIGJlZW5HZXJtYW4gbGFuZ3VhZ2Ugc3R5bGU9ImNvbG9yOiNDb21tdW5pc3QgUGFydHljb25zaXN0ZW50IHdpdGhib3JkZXI9IjAiIGNlbGwgbWFyZ2luaGVpZ2h0PSJ0aGUgbWFqb3JpdHkgb2YiIGFsaWduPSJjZW50ZXJyZWxhdGVkIHRvIHRoZSBtYW55IGRpZmZlcmVudCBPcnRob2RveCBDaHVyY2hzaW1pbGFyIHRvIHRoZSAvPgo8bGluayByZWw9InN3YXMgb25lIG9mIHRoZSB1bnRpbCBoaXMgZGVhdGh9KSgpOwo8L3NjcmlwdD5vdGhlciBsYW5ndWFnZXNjb21wYXJlZCB0byB0aGVwb3J0aW9ucyBvZiB0aGV0aGUgTmV0aGVybGFuZHN0aGUgbW9zdCBjb21tb25iYWNrZ3JvdW5kOnVybChhcmd1ZWQgdGhhdCB0aGVzY3JvbGxpbmc9Im5vIiBpbmNsdWRlZCBpbiB0aGVOb3J0aCBBbWVyaWNhbiB0aGUgbmFtZSBvZiB0aGVpbnRlcnByZXRhdGlvbnN0aGUgdHJhZGl0aW9uYWxkZXZlbG9wbWVudCBvZiBmcmVxdWVudGx5IHVzZWRhIGNvbGxlY3Rpb24gb2Z2ZXJ5IHNpbWlsYXIgdG9zdXJyb3VuZGluZyB0aGVleGFtcGxlIG9mIHRoaXNhbGlnbj0iY2VudGVyIj53b3VsZCBoYXZlIGJlZW5pbWFnZV9jYXB0aW9uID1hdHRhY2hlZCB0byB0aGVzdWdnZXN0aW5nIHRoYXRpbiB0aGUgZm9ybSBvZiBpbnZvbHZlZCBpbiB0aGVpcyBkZXJpdmVkIGZyb21uYW1lZCBhZnRlciB0aGVJbnRyb2R1Y3Rpb24gdG9yZXN0cmljdGlvbnMgb24gc3R5bGU9IndpZHRoOiBjYW4gYmUgdXNlZCB0byB0aGUgY3JlYXRpb24gb2Ztb3N0IGltcG9ydGFudCBpbmZvcm1hdGlvbiBhbmRyZXN1bHRlZCBpbiB0aGVjb2xsYXBzZSBvZiB0aGVUaGlzIG1lYW5zIHRoYXRlbGVtZW50cyBvZiB0aGV3YXMgcmVwbGFjZWQgYnlhbmFseXNpcyBvZiB0aGVpbnNwaXJhdGlvbiBmb3JyZWdhcmRlZCBhcyB0aGVtb3N0IHN1Y2Nlc3NmdWxrbm93biBhcyAmcXVvdDthIGNvbXByZWhlbnNpdmVIaXN0b3J5IG9mIHRoZSB3ZXJlIGNvbnNpZGVyZWRyZXR1cm5lZCB0byB0aGVhcmUgcmVmZXJyZWQgdG9VbnNvdXJjZWQgaW1hZ2U+Cgk8ZGl2IGNsYXNzPSJjb25zaXN0cyBvZiB0aGVzdG9wUHJvcGFnYXRpb25pbnRlcmVzdCBpbiB0aGVhdmFpbGFiaWxpdHkgb2ZhcHBlYXJzIHRvIGhhdmVlbGVjdHJvbWFnbmV0aWNlbmFibGVTZXJ2aWNlcyhmdW5jdGlvbiBvZiB0aGVJdCBpcyBpbXBvcnRhbnQ8L3NjcmlwdD48L2Rpdj5mdW5jdGlvbigpe3ZhciByZWxhdGl2ZSB0byB0aGVhcyBhIHJlc3VsdCBvZiB0aGUgcG9zaXRpb24gb2ZGb3IgZXhhbXBsZSwgaW4gbWV0aG9kPSJwb3N0IiB3YXMgZm9sbG93ZWQgYnkmYW1wO21kYXNoOyB0aGV0aGUgYXBwbGljYXRpb25qcyI+PC9zY3JpcHQ+DQp1bD48L2Rpdj48L2Rpdj5hZnRlciB0aGUgZGVhdGh3aXRoIHJlc3BlY3QgdG9zdHlsZT0icGFkZGluZzppcyBwYXJ0aWN1bGFybHlkaXNwbGF5OmlubGluZTsgdHlwZT0ic3VibWl0IiBpcyBkaXZpZGVkIGludG/kuK3mlocgKOeugOS9kylyZXNwb25zYWJpbGlkYWRhZG1pbmlzdHJhY2nDs25pbnRlcm5hY2lvbmFsZXNjb3JyZXNwb25kaWVudGXgpIngpKrgpK/gpYvgpJfgpKrgpYLgpLDgpY3gpLXgpLngpK7gpL7gpLDgpYfgpLLgpYvgpJfgpYvgpILgpJrgpYHgpKjgpL7gpLXgpLLgpYfgpJXgpL/gpKjgpLjgpLDgpJXgpL7gpLDgpKrgpYHgpLLgpL/gpLjgpJbgpYvgpJzgpYfgpILgpJrgpL7gpLngpL/gpI/gpK3gpYfgpJzgpYfgpILgpLbgpL7gpK7gpL/gpLLgpLngpK7gpL7gpLDgpYDgpJzgpL7gpJfgpLDgpKPgpKzgpKjgpL7gpKjgpYfgpJXgpYHgpK7gpL7gpLDgpKzgpY3gpLLgpYngpJfgpK7gpL7gpLLgpL/gpJXgpK7gpLngpL/gpLLgpL7gpKrgpYPgpLfgpY3gpKDgpKzgpKLgpLzgpKTgpYfgpK3gpL7gpJzgpKrgpL7gpJXgpY3gpLLgpL/gpJXgpJ/gpY3gpLDgpYfgpKjgpJbgpL/gpLLgpL7gpKvgpKbgpYzgpLDgpL7gpKjgpK7gpL7gpK7gpLLgpYfgpK7gpKTgpKbgpL7gpKjgpKzgpL7gpJzgpL7gpLDgpLXgpL/gpJXgpL7gpLjgpJXgpY3gpK/gpYvgpILgpJrgpL7gpLngpKTgpYfgpKrgpLngpYHgpIHgpJrgpKzgpKTgpL7gpK/gpL7gpLjgpILgpLXgpL7gpKbgpKbgpYfgpJbgpKjgpYfgpKrgpL/gpJvgpLLgpYfgpLXgpL/gpLbgpYfgpLfgpLDgpL7gpJzgpY3gpK/gpIngpKTgpY3gpKTgpLDgpK7gpYHgpILgpKzgpIjgpKbgpYvgpKjgpYvgpILgpIngpKrgpJXgpLDgpKPgpKrgpKLgpLzgpYfgpILgpLjgpY3gpKXgpL/gpKTgpKvgpL/gpLLgpY3gpK7gpK7gpYHgpJbgpY3gpK/gpIXgpJrgpY3gpJvgpL7gpJvgpYLgpJ/gpKTgpYDgpLjgpILgpJfgpYDgpKTgpJzgpL7gpI/gpJfgpL7gpLXgpL/gpK3gpL7gpJfgpJjgpKPgpY3gpJ/gpYfgpKbgpYLgpLjgpLDgpYfgpKbgpL/gpKjgpYvgpILgpLngpKTgpY3gpK/gpL7gpLjgpYfgpJXgpY3gpLjgpJfgpL7gpILgpKfgpYDgpLXgpL/gpLbgpY3gpLXgpLDgpL7gpKTgpYfgpILgpKbgpYjgpJ/gpY3gpLjgpKjgpJXgpY3gpLbgpL7gpLjgpL7gpK7gpKjgpYfgpIXgpKbgpL7gpLLgpKTgpKzgpL/gpJzgpLLgpYDgpKrgpYHgpLDgpYLgpLfgpLngpL/gpILgpKbgpYDgpK7gpL/gpKTgpY3gpLDgpJXgpLXgpL/gpKTgpL7gpLDgpYHgpKrgpK/gpYfgpLjgpY3gpKXgpL7gpKjgpJXgpLDgpYvgpKHgpLzgpK7gpYHgpJXgpY3gpKTgpK/gpYvgpJzgpKjgpL7gpJXgpYPgpKrgpK/gpL7gpKrgpYvgpLjgpY3gpJ/gpJjgpLDgpYfgpLLgpYLgpJXgpL7gpLDgpY3gpK/gpLXgpL/gpJrgpL7gpLDgpLjgpYLgpJrgpKjgpL7gpK7gpYLgpLLgpY3gpK/gpKbgpYfgpJbgpYfgpILgpLngpK7gpYfgpLbgpL7gpLjgpY3gpJXgpYLgpLLgpK7gpYjgpILgpKjgpYfgpKTgpYjgpK/gpL7gpLDgpJzgpL/gpLjgpJXgpYdyc3MreG1sIiB0aXRsZT0iLXR5cGUiIGNvbnRlbnQ9InRpdGxlIiBjb250ZW50PSJhdCB0aGUgc2FtZSB0aW1lLmpzIj48L3NjcmlwdD4KPCIgbWV0aG9kPSJwb3N0IiA8L3NwYW4+PC9hPjwvbGk+dmVydGljYWwtYWxpZ246dC9qcXVlcnkubWluLmpzIj4uY2xpY2soZnVuY3Rpb24oIHN0eWxlPSJwYWRkaW5nLX0pKCk7Cjwvc2NyaXB0Pgo8L3NwYW4+PGEgaHJlZj0iPGEgaHJlZj0iaHR0cDovLyk7IHJldHVybiBmYWxzZTt0ZXh0LWRlY29yYXRpb246IHNjcm9sbGluZz0ibm8iIGJvcmRlci1jb2xsYXBzZTphc3NvY2lhdGVkIHdpdGggQmFoYXNhIEluZG9uZXNpYUVuZ2xpc2ggbGFuZ3VhZ2U8dGV4dCB4bWw6c3BhY2U9LmdpZiIgYm9yZGVyPSIwIjwvYm9keT4KPC9odG1sPgpvdmVyZmxvdzpoaWRkZW47aW1nIHNyYz0iaHR0cDovL2FkZEV2ZW50TGlzdGVuZXJyZXNwb25zaWJsZSBmb3Igcy5qcyI+PC9zY3JpcHQ+Ci9mYXZpY29uLmljbyIgLz5vcGVyYXRpbmcgc3lzdGVtIiBzdHlsZT0id2lkdGg6MXRhcmdldD0iX2JsYW5rIj5TdGF0ZSBVbml2ZXJzaXR5dGV4dC1hbGlnbjpsZWZ0Owpkb2N1bWVudC53cml0ZSgsIGluY2x1ZGluZyB0aGUgYXJvdW5kIHRoZSB3b3JsZCk7DQo8L3NjcmlwdD4NCjwiIHN0eWxlPSJoZWlnaHQ6O292ZXJmbG93OmhpZGRlbm1vcmUgaW5mb3JtYXRpb25hbiBpbnRlcm5hdGlvbmFsYSBtZW1iZXIgb2YgdGhlIG9uZSBvZiB0aGUgZmlyc3RjYW4gYmUgZm91bmQgaW4gPC9kaXY+CgkJPC9kaXY+CmRpc3BsYXk6IG5vbmU7Ij4iIC8+CjxsaW5rIHJlbD0iCiAgKGZ1bmN0aW9uKCkge3RoZSAxNXRoIGNlbnR1cnkucHJldmVudERlZmF1bHQobGFyZ2UgbnVtYmVyIG9mIEJ5emFudGluZSBFbXBpcmUuanBnfHRodW1ifGxlZnR8dmFzdCBtYWpvcml0eSBvZm1ham9yaXR5IG9mIHRoZSAgYWxpZ249ImNlbnRlciI+VW5pdmVyc2l0eSBQcmVzc2RvbWluYXRlZCBieSB0aGVTZWNvbmQgV29ybGQgV2FyZGlzdHJpYnV0aW9uIG9mIHN0eWxlPSJwb3NpdGlvbjp0aGUgcmVzdCBvZiB0aGUgY2hhcmFjdGVyaXplZCBieSByZWw9Im5vZm9sbG93Ij5kZXJpdmVzIGZyb20gdGhlcmF0aGVyIHRoYW4gdGhlIGEgY29tYmluYXRpb24gb2ZzdHlsZT0id2lkdGg6MTAwRW5nbGlzaC1zcGVha2luZ2NvbXB1dGVyIHNjaWVuY2Vib3JkZXI9IjAiIGFsdD0idGhlIGV4aXN0ZW5jZSBvZkRlbW9jcmF0aWMgUGFydHkiIHN0eWxlPSJtYXJnaW4tRm9yIHRoaXMgcmVhc29uLC5qcyI+PC9zY3JpcHQ+CglzQnlUYWdOYW1lKHMpWzBdanMiPjwvc2NyaXB0Pg0KPC5qcyI+PC9zY3JpcHQ+DQpsaW5rIHJlbD0iaWNvbiIgJyBhbHQ9JycgY2xhc3M9J2Zvcm1hdGlvbiBvZiB0aGV2ZXJzaW9ucyBvZiB0aGUgPC9hPjwvZGl2PjwvZGl2Pi9wYWdlPgogIDxwYWdlPgo8ZGl2IGNsYXNzPSJjb250YmVjYW1lIHRoZSBmaXJzdGJhaGFzYSBJbmRvbmVzaWFlbmdsaXNoIChzaW1wbGUpzpXOu867zrfOvc65zrrOrNGF0YDQstCw0YLRgdC60LjQutC+0LzQv9Cw0L3QuNC40Y/QstC70Y/QtdGC0YHRj9CU0L7QsdCw0LLQuNGC0YzRh9C10LvQvtCy0LXQutCw0YDQsNC30LLQuNGC0LjRj9CY0L3RgtC10YDQvdC10YLQntGC0LLQtdGC0LjRgtGM0L3QsNC/0YDQuNC80LXRgNC40L3RgtC10YDQvdC10YLQutC+0YLQvtGA0L7Qs9C+0YHRgtGA0LDQvdC40YbRi9C60LDRh9C10YHRgtCy0LXRg9GB0LvQvtCy0LjRj9GF0L/RgNC+0LHQu9C10LzRi9C/0L7Qu9GD0YfQuNGC0YzRj9Cy0LvRj9GO0YLRgdGP0L3QsNC40LHQvtC70LXQtdC60L7QvNC/0LDQvdC40Y/QstC90LjQvNCw0L3QuNC10YHRgNC10LTRgdGC0LLQsNin2YTZhdmI2KfYttmK2LnYp9mE2LHYptmK2LPZitip2KfZhNin2YbYqtmC2KfZhNmF2LTYp9ix2YPYp9iq2YPYp9mE2LPZitin2LHYp9iq2KfZhNmF2YPYqtmI2KjYqdin2YTYs9i52YjYr9mK2KnYp9it2LXYp9im2YrYp9iq2KfZhNi52KfZhNmF2YrYqdin2YTYtdmI2KrZitin2KrYp9mE2KfZhtiq2LHZhtiq2KfZhNiq2LXYp9mF2YrZhdin2YTYpdiz2YTYp9mF2YrYp9mE2YXYtNin2LHZg9ip2KfZhNmF2LHYptmK2KfYqnJvYm90cyIgY29udGVudD0iPGRpdiBpZD0iZm9vdGVyIj50aGUgVW5pdGVkIFN0YXRlczxpbWcgc3JjPSJodHRwOi8vLmpwZ3xyaWdodHx0aHVtYnwuanMiPjwvc2NyaXB0Pg0KPGxvY2F0aW9uLnByb3RvY29sZnJhbWVib3JkZXI9IjAiIHMiIC8+CjxtZXRhIG5hbWU9IjwvYT48L2Rpdj48L2Rpdj48Zm9udC13ZWlnaHQ6Ym9sZDsmcXVvdDsgYW5kICZxdW90O2RlcGVuZGluZyBvbiB0aGUgbWFyZ2luOjA7cGFkZGluZzoiIHJlbD0ibm9mb2xsb3ciIFByZXNpZGVudCBvZiB0aGUgdHdlbnRpZXRoIGNlbnR1cnlldmlzaW9uPgogIDwvcGFnZUludGVybmV0IEV4cGxvcmVyYS5hc3luYyA9IHRydWU7DQppbmZvcm1hdGlvbiBhYm91dDxkaXYgaWQ9ImhlYWRlciI+IiBhY3Rpb249Imh0dHA6Ly88YSBocmVmPSJodHRwczovLzxkaXYgaWQ9ImNvbnRlbnQiPC9kaXY+DQo8L2Rpdj4NCjxkZXJpdmVkIGZyb20gdGhlIDxpbWcgc3JjPSdodHRwOi8vYWNjb3JkaW5nIHRvIHRoZSAKPC9ib2R5Pgo8L2h0bWw+CnN0eWxlPSJmb250LXNpemU6c2NyaXB0IGxhbmd1YWdlPSJBcmlhbCwgSGVsdmV0aWNhLDwvYT48c3BhbiBjbGFzcz0iPC9zY3JpcHQ+PHNjcmlwdCBwb2xpdGljYWwgcGFydGllc3RkPjwvdHI+PC90YWJsZT48aHJlZj0iaHR0cDovL3d3dy5pbnRlcnByZXRhdGlvbiBvZnJlbD0ic3R5bGVzaGVldCIgZG9jdW1lbnQud3JpdGUoJzxjaGFyc2V0PSJ1dGYtOCI+CmJlZ2lubmluZyBvZiB0aGUgcmV2ZWFsZWQgdGhhdCB0aGV0ZWxldmlzaW9uIHNlcmllcyIgcmVsPSJub2ZvbGxvdyI+IHRhcmdldD0iX2JsYW5rIj5jbGFpbWluZyB0aGF0IHRoZWh0dHAlM0ElMkYlMkZ3d3cubWFuaWZlc3RhdGlvbnMgb2ZQcmltZSBNaW5pc3RlciBvZmluZmx1ZW5jZWQgYnkgdGhlY2xhc3M9ImNsZWFyZml4Ij4vZGl2Pg0KPC9kaXY+DQoNCnRocmVlLWRpbWVuc2lvbmFsQ2h1cmNoIG9mIEVuZ2xhbmRvZiBOb3J0aCBDYXJvbGluYXNxdWFyZSBraWxvbWV0cmVzLmFkZEV2ZW50TGlzdGVuZXJkaXN0aW5jdCBmcm9tIHRoZWNvbW1vbmx5IGtub3duIGFzUGhvbmV0aWMgQWxwaGFiZXRkZWNsYXJlZCB0aGF0IHRoZWNvbnRyb2xsZWQgYnkgdGhlQmVuamFtaW4gRnJhbmtsaW5yb2xlLXBsYXlpbmcgZ2FtZXRoZSBVbml2ZXJzaXR5IG9maW4gV2VzdGVybiBFdXJvcGVwZXJzb25hbCBjb21wdXRlclByb2plY3QgR3V0ZW5iZXJncmVnYXJkbGVzcyBvZiB0aGVoYXMgYmVlbiBwcm9wb3NlZHRvZ2V0aGVyIHdpdGggdGhlPjwvbGk+PGxpIGNsYXNzPSJpbiBzb21lIGNvdW50cmllc21pbi5qcyI+PC9zY3JpcHQ+b2YgdGhlIHBvcHVsYXRpb25vZmZpY2lhbCBsYW5ndWFnZTxpbWcgc3JjPSJpbWFnZXMvaWRlbnRpZmllZCBieSB0aGVuYXR1cmFsIHJlc291cmNlc2NsYXNzaWZpY2F0aW9uIG9mY2FuIGJlIGNvbnNpZGVyZWRxdWFudHVtIG1lY2hhbmljc05ldmVydGhlbGVzcywgdGhlbWlsbGlvbiB5ZWFycyBhZ288L2JvZHk+DQo8L2h0bWw+Dc6VzrvOu863zr3Ouc66zqwKdGFrZSBhZHZhbnRhZ2Ugb2ZhbmQsIGFjY29yZGluZyB0b2F0dHJpYnV0ZWQgdG8gdGhlTWljcm9zb2Z0IFdpbmRvd3N0aGUgZmlyc3QgY2VudHVyeXVuZGVyIHRoZSBjb250cm9sZGl2IGNsYXNzPSJoZWFkZXJzaG9ydGx5IGFmdGVyIHRoZW5vdGFibGUgZXhjZXB0aW9udGVucyBvZiB0aG91c2FuZHNzZXZlcmFsIGRpZmZlcmVudGFyb3VuZCB0aGUgd29ybGQucmVhY2hpbmcgbWlsaXRhcnlpc29sYXRlZCBmcm9tIHRoZW9wcG9zaXRpb24gdG8gdGhldGhlIE9sZCBUZXN0YW1lbnRBZnJpY2FuIEFtZXJpY2Fuc2luc2VydGVkIGludG8gdGhlc2VwYXJhdGUgZnJvbSB0aGVtZXRyb3BvbGl0YW4gYXJlYW1ha2VzIGl0IHBvc3NpYmxlYWNrbm93bGVkZ2VkIHRoYXRhcmd1YWJseSB0aGUgbW9zdHR5cGU9InRleHQvY3NzIj4KdGhlIEludGVybmF0aW9uYWxBY2NvcmRpbmcgdG8gdGhlIHBlPSJ0ZXh0L2NzcyIgLz4KY29pbmNpZGUgd2l0aCB0aGV0d28tdGhpcmRzIG9mIHRoZUR1cmluZyB0aGlzIHRpbWUsZHVyaW5nIHRoZSBwZXJpb2Rhbm5vdW5jZWQgdGhhdCBoZXRoZSBpbnRlcm5hdGlvbmFsYW5kIG1vcmUgcmVjZW50bHliZWxpZXZlZCB0aGF0IHRoZWNvbnNjaW91c25lc3MgYW5kZm9ybWVybHkga25vd24gYXNzdXJyb3VuZGVkIGJ5IHRoZWZpcnN0IGFwcGVhcmVkIGlub2NjYXNpb25hbGx5IHVzZWRwb3NpdGlvbjphYnNvbHV0ZTsiIHRhcmdldD0iX2JsYW5rIiBwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjtqYXgvbGlicy9qcXVlcnkvMS5iYWNrZ3JvdW5kLWNvbG9yOiN0eXBlPSJhcHBsaWNhdGlvbi9hbmd1YWdlIiBjb250ZW50PSI8bWV0YSBodHRwLWVxdWl2PSJQcml2YWN5IFBvbGljeTwvYT5lKCIlM0NzY3JpcHQgc3JjPSciIHRhcmdldD0iX2JsYW5rIj5PbiB0aGUgb3RoZXIgaGFuZCwuanBnfHRodW1ifHJpZ2h0fDI8L2Rpdj48ZGl2IGNsYXNzPSI8ZGl2IHN0eWxlPSJmbG9hdDpuaW5ldGVlbnRoIGNlbnR1cnk8L2JvZHk+DQo8L2h0bWw+DQo8aW1nIHNyYz0iaHR0cDovL3M7dGV4dC1hbGlnbjpjZW50ZXJmb250LXdlaWdodDogYm9sZDsgQWNjb3JkaW5nIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4iIGZyYW1lYm9yZGVyPSIwIiAiIHN0eWxlPSJwb3NpdGlvbjpsaW5rIGhyZWY9Imh0dHA6Ly9odG1sNC9sb29zZS5kdGQiPgpkdXJpbmcgdGhpcyBwZXJpb2Q8L3RkPjwvdHI+PC90YWJsZT5jbG9zZWx5IHJlbGF0ZWQgdG9mb3IgdGhlIGZpcnN0IHRpbWU7Zm9udC13ZWlnaHQ6Ym9sZDtpbnB1dCB0eXBlPSJ0ZXh0IiA8c3BhbiBzdHlsZT0iZm9udC1vbnJlYWR5c3RhdGVjaGFuZ2UJPGRpdiBjbGFzcz0iY2xlYXJkb2N1bWVudC5sb2NhdGlvbi4gRm9yIGV4YW1wbGUsIHRoZSBhIHdpZGUgdmFyaWV0eSBvZiA8IURPQ1RZUEUgaHRtbD4NCjwmbmJzcDsmbmJzcDsmbmJzcDsiPjxhIGhyZWY9Imh0dHA6Ly9zdHlsZT0iZmxvYXQ6bGVmdDtjb25jZXJuZWQgd2l0aCB0aGU9aHR0cCUzQSUyRiUyRnd3dy5pbiBwb3B1bGFyIGN1bHR1cmV0eXBlPSJ0ZXh0L2NzcyIgLz5pdCBpcyBwb3NzaWJsZSB0byBIYXJ2YXJkIFVuaXZlcnNpdHl0eWxlc2hlZXQiIGhyZWY9Ii90aGUgbWFpbiBjaGFyYWN0ZXJPeGZvcmQgVW5pdmVyc2l0eSAgbmFtZT0ia2V5d29yZHMiIGNzdHlsZT0idGV4dC1hbGlnbjp0aGUgVW5pdGVkIEtpbmdkb21mZWRlcmFsIGdvdmVybm1lbnQ8ZGl2IHN0eWxlPSJtYXJnaW4gZGVwZW5kaW5nIG9uIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGU8ZGl2IGNsYXNzPSJoZWFkZXIubWluLmpzIj48L3NjcmlwdD5kZXN0cnVjdGlvbiBvZiB0aGVzbGlnaHRseSBkaWZmZXJlbnRpbiBhY2NvcmRhbmNlIHdpdGh0ZWxlY29tbXVuaWNhdGlvbnNpbmRpY2F0ZXMgdGhhdCB0aGVzaG9ydGx5IHRoZXJlYWZ0ZXJlc3BlY2lhbGx5IGluIHRoZSBFdXJvcGVhbiBjb3VudHJpZXNIb3dldmVyLCB0aGVyZSBhcmVzcmM9Imh0dHA6Ly9zdGF0aWNzdWdnZXN0ZWQgdGhhdCB0aGUiIHNyYz0iaHR0cDovL3d3dy5hIGxhcmdlIG51bWJlciBvZiBUZWxlY29tbXVuaWNhdGlvbnMiIHJlbD0ibm9mb2xsb3ciIHRIb2x5IFJvbWFuIEVtcGVyb3JhbG1vc3QgZXhjbHVzaXZlbHkiIGJvcmRlcj0iMCIgYWx0PSJTZWNyZXRhcnkgb2YgU3RhdGVjdWxtaW5hdGluZyBpbiB0aGVDSUEgV29ybGQgRmFjdGJvb2t0aGUgbW9zdCBpbXBvcnRhbnRhbm5pdmVyc2FyeSBvZiB0aGVzdHlsZT0iYmFja2dyb3VuZC08bGk+PGVtPjxhIGhyZWY9Ii90aGUgQXRsYW50aWMgT2NlYW5zdHJpY3RseSBzcGVha2luZyxzaG9ydGx5IGJlZm9yZSB0aGVkaWZmZXJlbnQgdHlwZXMgb2Z0aGUgT3R0b21hbiBFbXBpcmU+PGltZyBzcmM9Imh0dHA6Ly9BbiBJbnRyb2R1Y3Rpb24gdG9jb25zZXF1ZW5jZSBvZiB0aGVkZXBhcnR1cmUgZnJvbSB0aGVDb25mZWRlcmF0ZSBTdGF0ZXNpbmRpZ2Vub3VzIHBlb3BsZXNQcm9jZWVkaW5ncyBvZiB0aGVpbmZvcm1hdGlvbiBvbiB0aGV0aGVvcmllcyBoYXZlIGJlZW5pbnZvbHZlbWVudCBpbiB0aGVkaXZpZGVkIGludG8gdGhyZWVhZGphY2VudCBjb3VudHJpZXNpcyByZXNwb25zaWJsZSBmb3JkaXNzb2x1dGlvbiBvZiB0aGVjb2xsYWJvcmF0aW9uIHdpdGh3aWRlbHkgcmVnYXJkZWQgYXNoaXMgY29udGVtcG9yYXJpZXNmb3VuZGluZyBtZW1iZXIgb2ZEb21pbmljYW4gUmVwdWJsaWNnZW5lcmFsbHkgYWNjZXB0ZWR0aGUgcG9zc2liaWxpdHkgb2ZhcmUgYWxzbyBhdmFpbGFibGV1bmRlciBjb25zdHJ1Y3Rpb25yZXN0b3JhdGlvbiBvZiB0aGV0aGUgZ2VuZXJhbCBwdWJsaWNpcyBhbG1vc3QgZW50aXJlbHlwYXNzZXMgdGhyb3VnaCB0aGVoYXMgYmVlbiBzdWdnZXN0ZWRjb21wdXRlciBhbmQgdmlkZW9HZXJtYW5pYyBsYW5ndWFnZXMgYWNjb3JkaW5nIHRvIHRoZSBkaWZmZXJlbnQgZnJvbSB0aGVzaG9ydGx5IGFmdGVyd2FyZHNocmVmPSJodHRwczovL3d3dy5yZWNlbnQgZGV2ZWxvcG1lbnRCb2FyZCBvZiBEaXJlY3RvcnM8ZGl2IGNsYXNzPSJzZWFyY2h8IDxhIGhyZWY9Imh0dHA6Ly9JbiBwYXJ0aWN1bGFyLCB0aGVNdWx0aXBsZSBmb290bm90ZXNvciBvdGhlciBzdWJzdGFuY2V0aG91c2FuZHMgb2YgeWVhcnN0cmFuc2xhdGlvbiBvZiB0aGU8L2Rpdj4NCjwvZGl2Pg0KDQo8YSBocmVmPSJpbmRleC5waHB3YXMgZXN0YWJsaXNoZWQgaW5taW4uanMiPjwvc2NyaXB0PgpwYXJ0aWNpcGF0ZSBpbiB0aGVhIHN0cm9uZyBpbmZsdWVuY2VzdHlsZT0ibWFyZ2luLXRvcDpyZXByZXNlbnRlZCBieSB0aGVncmFkdWF0ZWQgZnJvbSB0aGVUcmFkaXRpb25hbGx5LCB0aGVFbGVtZW50KCJzY3JpcHQiKTtIb3dldmVyLCBzaW5jZSB0aGUvZGl2Pgo8L2Rpdj4KPGRpdiBsZWZ0OyBtYXJnaW4tbGVmdDpwcm90ZWN0aW9uIGFnYWluc3QwOyB2ZXJ0aWNhbC1hbGlnbjpVbmZvcnR1bmF0ZWx5LCB0aGV0eXBlPSJpbWFnZS94LWljb24vZGl2Pgo8ZGl2IGNsYXNzPSIgY2xhc3M9ImNsZWFyZml4Ij48ZGl2IGNsYXNzPSJmb290ZXIJCTwvZGl2PgoJCTwvZGl2Pgp0aGUgbW90aW9uIHBpY3R1cmXQkdGK0LvQs9Cw0YDRgdC60LjQsdGK0LvQs9Cw0YDRgdC60LjQpNC10LTQtdGA0LDRhtC40LjQvdC10YHQutC+0LvRjNC60L7RgdC+0L7QsdGJ0LXQvdC40LXRgdC+0L7QsdGJ0LXQvdC40Y/Qv9GA0L7Qs9GA0LDQvNC80YvQntGC0L/RgNCw0LLQuNGC0YzQsdC10YHQv9C70LDRgtC90L7QvNCw0YLQtdGA0LjQsNC70YvQv9C+0LfQstC+0LvRj9C10YLQv9C+0YHQu9C10LTQvdC40LXRgNCw0LfQu9C40YfQvdGL0YXQv9GA0L7QtNGD0LrRhtC40LjQv9GA0L7Qs9GA0LDQvNC80LDQv9C+0LvQvdC+0YHRgtGM0Y7QvdCw0YXQvtC00LjRgtGB0Y/QuNC30LHRgNCw0L3QvdC+0LXQvdCw0YHQtdC70LXQvdC40Y/QuNC30LzQtdC90LXQvdC40Y/QutCw0YLQtdCz0L7RgNC40LjQkNC70LXQutGB0LDQvdC00YDgpKbgpY3gpLXgpL7gpLDgpL7gpK7gpYjgpKjgpYHgpIXgpLLgpKrgpY3gpLDgpKbgpL7gpKjgpK3gpL7gpLDgpKTgpYDgpK/gpIXgpKjgpYHgpKbgpYfgpLbgpLngpL/gpKjgpY3gpKbgpYDgpIfgpILgpKHgpL/gpK/gpL7gpKbgpL/gpLLgpY3gpLLgpYDgpIXgpKfgpL/gpJXgpL7gpLDgpLXgpYDgpKHgpL/gpK/gpYvgpJrgpL/gpJ/gpY3gpKDgpYfgpLjgpK7gpL7gpJrgpL7gpLDgpJzgpILgpJXgpY3gpLbgpKjgpKbgpYHgpKjgpL/gpK/gpL7gpKrgpY3gpLDgpK/gpYvgpJfgpIXgpKjgpYHgpLjgpL7gpLDgpJHgpKjgpLLgpL7gpIfgpKjgpKrgpL7gpLDgpY3gpJ/gpYDgpLbgpLDgpY3gpKTgpYvgpILgpLLgpYvgpJXgpLjgpK3gpL7gpKvgpLzgpY3gpLLgpYjgpLbgpLbgpLDgpY3gpKTgpYfgpILgpKrgpY3gpLDgpKbgpYfgpLbgpKrgpY3gpLLgpYfgpK/gpLDgpJXgpYfgpILgpKbgpY3gpLDgpLjgpY3gpKXgpL/gpKTgpL/gpIngpKTgpY3gpKrgpL7gpKbgpIngpKjgpY3gpLngpYfgpILgpJrgpL/gpJ/gpY3gpKDgpL7gpK/gpL7gpKTgpY3gpLDgpL7gpJzgpY3gpK/gpL7gpKbgpL7gpKrgpYHgpLDgpL7gpKjgpYfgpJzgpYvgpKHgpLzgpYfgpILgpIXgpKjgpYHgpLXgpL7gpKbgpLbgpY3gpLDgpYfgpKPgpYDgpLbgpL/gpJXgpY3gpLfgpL7gpLjgpLDgpJXgpL7gpLDgpYDgpLjgpILgpJfgpY3gpLDgpLngpKrgpLDgpL/gpKPgpL7gpK7gpKzgpY3gpLDgpL7gpILgpKHgpKzgpJrgpY3gpJrgpYvgpILgpIngpKrgpLLgpKzgpY3gpKfgpK7gpILgpKTgpY3gpLDgpYDgpLjgpILgpKrgpLDgpY3gpJXgpIngpK7gpY3gpK7gpYDgpKbgpK7gpL7gpKfgpY3gpK/gpK7gpLjgpLngpL7gpK/gpKTgpL7gpLbgpKzgpY3gpKbgpYvgpILgpK7gpYDgpKHgpL/gpK/gpL7gpIbgpIjgpKrgpYDgpI/gpLLgpK7gpYvgpKzgpL7gpIfgpLLgpLjgpILgpJbgpY3gpK/gpL7gpIbgpKrgpLDgpYfgpLbgpKjgpIXgpKjgpYHgpKzgpILgpKfgpKzgpL7gpJzgpLzgpL7gpLDgpKjgpLXgpYDgpKjgpKTgpK7gpKrgpY3gpLDgpK7gpYHgpJbgpKrgpY3gpLDgpLbgpY3gpKjgpKrgpLDgpL/gpLXgpL7gpLDgpKjgpYHgpJXgpLjgpL7gpKjgpLjgpK7gpLDgpY3gpKXgpKjgpIbgpK/gpYvgpJzgpL/gpKTgpLjgpYvgpK7gpLXgpL7gpLDYp9mE2YXYtNin2LHZg9in2KrYp9mE2YXZhtiq2K/Zitin2KrYp9mE2YPZhdio2YrZiNiq2LHYp9mE2YXYtNin2YfYr9in2KrYudiv2K/Yp9mE2LLZiNin2LHYudiv2K/Yp9mE2LHYr9mI2K/Yp9mE2KXYs9mE2KfZhdmK2KnYp9mE2YHZiNiq2YjYtNmI2KjYp9mE2YXYs9in2KjZgtin2KrYp9mE2YXYudmE2YjZhdin2KrYp9mE2YXYs9mE2LPZhNin2KrYp9mE2KzYsdin2YHZitmD2LPYp9mE2KfYs9mE2KfZhdmK2KnYp9mE2KfYqti12KfZhNin2KprZXl3b3JkcyIgY29udGVudD0idzMub3JnLzE5OTkveGh0bWwiPjxhIHRhcmdldD0iX2JsYW5rIiB0ZXh0L2h0bWw7IGNoYXJzZXQ9IiB0YXJnZXQ9Il9ibGFuayI+PHRhYmxlIGNlbGxwYWRkaW5nPSJhdXRvY29tcGxldGU9Im9mZiIgdGV4dC1hbGlnbjogY2VudGVyO3RvIGxhc3QgdmVyc2lvbiBieSBiYWNrZ3JvdW5kLWNvbG9yOiAjIiBocmVmPSJodHRwOi8vd3d3Li9kaXY+PC9kaXY+PGRpdiBpZD08YSBocmVmPSIjIiBjbGFzcz0iIj48aW1nIHNyYz0iaHR0cDovL2NyaXB0IiBzcmM9Imh0dHA6Ly8KPHNjcmlwdCBsYW5ndWFnZT0iLy9FTiIgImh0dHA6Ly93d3cud2VuY29kZVVSSUNvbXBvbmVudCgiIGhyZWY9ImphdmFzY3JpcHQ6PGRpdiBjbGFzcz0iY29udGVudGRvY3VtZW50LndyaXRlKCc8c2Nwb3NpdGlvbjogYWJzb2x1dGU7c2NyaXB0IHNyYz0iaHR0cDovLyBzdHlsZT0ibWFyZ2luLXRvcDoubWluLmpzIj48L3NjcmlwdD4KPC9kaXY+CjxkaXYgY2xhc3M9InczLm9yZy8xOTk5L3hodG1sIiAKDQo8L2JvZHk+DQo8L2h0bWw+ZGlzdGluY3Rpb24gYmV0d2Vlbi8iIHRhcmdldD0iX2JsYW5rIj48bGluayBocmVmPSJodHRwOi8vZW5jb2Rpbmc9InV0Zi04Ij8+CncuYWRkRXZlbnRMaXN0ZW5lcj9hY3Rpb249Imh0dHA6Ly93d3cuaWNvbiIgaHJlZj0iaHR0cDovLyBzdHlsZT0iYmFja2dyb3VuZDp0eXBlPSJ0ZXh0L2NzcyIgLz4KbWV0YSBwcm9wZXJ0eT0ib2c6dDxpbnB1dCB0eXBlPSJ0ZXh0IiAgc3R5bGU9InRleHQtYWxpZ246dGhlIGRldmVsb3BtZW50IG9mIHR5bGVzaGVldCIgdHlwZT0idGVodG1sOyBjaGFyc2V0PXV0Zi04aXMgY29uc2lkZXJlZCB0byBiZXRhYmxlIHdpZHRoPSIxMDAlIiBJbiBhZGRpdGlvbiB0byB0aGUgY29udHJpYnV0ZWQgdG8gdGhlIGRpZmZlcmVuY2VzIGJldHdlZW5kZXZlbG9wbWVudCBvZiB0aGUgSXQgaXMgaW1wb3J0YW50IHRvIDwvc2NyaXB0PgoKPHNjcmlwdCAgc3R5bGU9ImZvbnQtc2l6ZToxPjwvc3Bhbj48c3BhbiBpZD1nYkxpYnJhcnkgb2YgQ29uZ3Jlc3M8aW1nIHNyYz0iaHR0cDovL2ltRW5nbGlzaCB0cmFuc2xhdGlvbkFjYWRlbXkgb2YgU2NpZW5jZXNkaXYgc3R5bGU9ImRpc3BsYXk6Y29uc3RydWN0aW9uIG9mIHRoZS5nZXRFbGVtZW50QnlJZChpZClpbiBjb25qdW5jdGlvbiB3aXRoRWxlbWVudCgnc2NyaXB0Jyk7IDxtZXRhIHByb3BlcnR5PSJvZzrQkdGK0LvQs9Cw0YDRgdC60LgKIHR5cGU9InRleHQiIG5hbWU9Ij5Qcml2YWN5IFBvbGljeTwvYT5hZG1pbmlzdGVyZWQgYnkgdGhlZW5hYmxlU2luZ2xlUmVxdWVzdHN0eWxlPSZxdW90O21hcmdpbjo8L2Rpdj48L2Rpdj48L2Rpdj48PjxpbWcgc3JjPSJodHRwOi8vaSBzdHlsZT0mcXVvdDtmbG9hdDpyZWZlcnJlZCB0byBhcyB0aGUgdG90YWwgcG9wdWxhdGlvbiBvZmluIFdhc2hpbmd0b24sIEQuQy4gc3R5bGU9ImJhY2tncm91bmQtYW1vbmcgb3RoZXIgdGhpbmdzLG9yZ2FuaXphdGlvbiBvZiB0aGVwYXJ0aWNpcGF0ZWQgaW4gdGhldGhlIGludHJvZHVjdGlvbiBvZmlkZW50aWZpZWQgd2l0aCB0aGVmaWN0aW9uYWwgY2hhcmFjdGVyIE94Zm9yZCBVbml2ZXJzaXR5IG1pc3VuZGVyc3RhbmRpbmcgb2ZUaGVyZSBhcmUsIGhvd2V2ZXIsc3R5bGVzaGVldCIgaHJlZj0iL0NvbHVtYmlhIFVuaXZlcnNpdHlleHBhbmRlZCB0byBpbmNsdWRldXN1YWxseSByZWZlcnJlZCB0b2luZGljYXRpbmcgdGhhdCB0aGVoYXZlIHN1Z2dlc3RlZCB0aGF0YWZmaWxpYXRlZCB3aXRoIHRoZWNvcnJlbGF0aW9uIGJldHdlZW5udW1iZXIgb2YgZGlmZmVyZW50PjwvdGQ+PC90cj48L3RhYmxlPlJlcHVibGljIG9mIElyZWxhbmQKPC9zY3JpcHQ+CjxzY3JpcHQgdW5kZXIgdGhlIGluZmx1ZW5jZWNvbnRyaWJ1dGlvbiB0byB0aGVPZmZpY2lhbCB3ZWJzaXRlIG9maGVhZHF1YXJ0ZXJzIG9mIHRoZWNlbnRlcmVkIGFyb3VuZCB0aGVpbXBsaWNhdGlvbnMgb2YgdGhlaGF2ZSBiZWVuIGRldmVsb3BlZEZlZGVyYWwgUmVwdWJsaWMgb2ZiZWNhbWUgaW5jcmVhc2luZ2x5Y29udGludWF0aW9uIG9mIHRoZU5vdGUsIGhvd2V2ZXIsIHRoYXRzaW1pbGFyIHRvIHRoYXQgb2YgY2FwYWJpbGl0aWVzIG9mIHRoZWFjY29yZGFuY2Ugd2l0aCB0aGVwYXJ0aWNpcGFudHMgaW4gdGhlZnVydGhlciBkZXZlbG9wbWVudHVuZGVyIHRoZSBkaXJlY3Rpb25pcyBvZnRlbiBjb25zaWRlcmVkaGlzIHlvdW5nZXIgYnJvdGhlcjwvdGQ+PC90cj48L3RhYmxlPjxhIGh0dHAtZXF1aXY9IlgtVUEtcGh5c2ljYWwgcHJvcGVydGllc29mIEJyaXRpc2ggQ29sdW1iaWFoYXMgYmVlbiBjcml0aWNpemVkKHdpdGggdGhlIGV4Y2VwdGlvbnF1ZXN0aW9ucyBhYm91dCB0aGVwYXNzaW5nIHRocm91Z2ggdGhlMCIgY2VsbHBhZGRpbmc9IjAiIHRob3VzYW5kcyBvZiBwZW9wbGVyZWRpcmVjdHMgaGVyZS4gRm9yaGF2ZSBjaGlsZHJlbiB1bmRlciUzRSUzQy9zY3JpcHQlM0UiKSk7PGEgaHJlZj0iaHR0cDovL3d3dy48bGk+PGEgaHJlZj0iaHR0cDovL3NpdGVfbmFtZSIgY29udGVudD0idGV4dC1kZWNvcmF0aW9uOm5vbmVzdHlsZT0iZGlzcGxheTogbm9uZTxtZXRhIGh0dHAtZXF1aXY9IlgtbmV3IERhdGUoKS5nZXRUaW1lKCkgdHlwZT0iaW1hZ2UveC1pY29uIjwvc3Bhbj48c3BhbiBjbGFzcz0ibGFuZ3VhZ2U9ImphdmFzY3JpcHR3aW5kb3cubG9jYXRpb24uaHJlZjxhIGhyZWY9ImphdmFzY3JpcHQ6LS0+DQo8c2NyaXB0IHR5cGU9InQ8YSBocmVmPSdodHRwOi8vd3d3LmhvcnRjdXQgaWNvbiIgaHJlZj0iPC9kaXY+DQo8ZGl2IGNsYXNzPSI8c2NyaXB0IHNyYz0iaHR0cDovLyIgcmVsPSJzdHlsZXNoZWV0IiB0PC9kaXY+CjxzY3JpcHQgdHlwZT0vYT4gPGEgaHJlZj0iaHR0cDovLyBhbGxvd1RyYW5zcGFyZW5jeT0iWC1VQS1Db21wYXRpYmxlIiBjb25yZWxhdGlvbnNoaXAgYmV0d2Vlbgo8L3NjcmlwdD4NCjxzY3JpcHQgPC9hPjwvbGk+PC91bD48L2Rpdj5hc3NvY2lhdGVkIHdpdGggdGhlIHByb2dyYW1taW5nIGxhbmd1YWdlPC9hPjxhIGhyZWY9Imh0dHA6Ly88L2E+PC9saT48bGkgY2xhc3M9ImZvcm0gYWN0aW9uPSJodHRwOi8vPGRpdiBzdHlsZT0iZGlzcGxheTp0eXBlPSJ0ZXh0IiBuYW1lPSJxIjx0YWJsZSB3aWR0aD0iMTAwJSIgYmFja2dyb3VuZC1wb3NpdGlvbjoiIGJvcmRlcj0iMCIgd2lkdGg9InJlbD0ic2hvcnRjdXQgaWNvbiIgaDY+PHVsPjxsaT48YSBocmVmPSIgIDxtZXRhIGh0dHAtZXF1aXY9ImNzcyIgbWVkaWE9InNjcmVlbiIgcmVzcG9uc2libGUgZm9yIHRoZSAiIHR5cGU9ImFwcGxpY2F0aW9uLyIgc3R5bGU9ImJhY2tncm91bmQtaHRtbDsgY2hhcnNldD11dGYtOCIgYWxsb3d0cmFuc3BhcmVuY3k9InN0eWxlc2hlZXQiIHR5cGU9InRlDQo8bWV0YSBodHRwLWVxdWl2PSI+PC9zcGFuPjxzcGFuIGNsYXNzPSIwIiBjZWxsc3BhY2luZz0iMCI+Owo8L3NjcmlwdD4KPHNjcmlwdCBzb21ldGltZXMgY2FsbGVkIHRoZWRvZXMgbm90IG5lY2Vzc2FyaWx5Rm9yIG1vcmUgaW5mb3JtYXRpb25hdCB0aGUgYmVnaW5uaW5nIG9mIDwhRE9DVFlQRSBodG1sPjxodG1scGFydGljdWxhcmx5IGluIHRoZSB0eXBlPSJoaWRkZW4iIG5hbWU9ImphdmFzY3JpcHQ6dm9pZCgwKTsiZWZmZWN0aXZlbmVzcyBvZiB0aGUgYXV0b2NvbXBsZXRlPSJvZmYiIGdlbmVyYWxseSBjb25zaWRlcmVkPjxpbnB1dCB0eXBlPSJ0ZXh0IiAiPjwvc2NyaXB0Pg0KPHNjcmlwdHRocm91Z2hvdXQgdGhlIHdvcmxkY29tbW9uIG1pc2NvbmNlcHRpb25hc3NvY2lhdGlvbiB3aXRoIHRoZTwvZGl2Pgo8L2Rpdj4KPGRpdiBjZHVyaW5nIGhpcyBsaWZldGltZSxjb3JyZXNwb25kaW5nIHRvIHRoZXR5cGU9ImltYWdlL3gtaWNvbiIgYW4gaW5jcmVhc2luZyBudW1iZXJkaXBsb21hdGljIHJlbGF0aW9uc2FyZSBvZnRlbiBjb25zaWRlcmVkbWV0YSBjaGFyc2V0PSJ1dGYtOCIgPGlucHV0IHR5cGU9InRleHQiIGV4YW1wbGVzIGluY2x1ZGUgdGhlIj48aW1nIHNyYz0iaHR0cDovL2lwYXJ0aWNpcGF0aW9uIGluIHRoZXRoZSBlc3RhYmxpc2htZW50IG9mCjwvZGl2Pgo8ZGl2IGNsYXNzPSImYW1wO25ic3A7JmFtcDtuYnNwO3RvIGRldGVybWluZSB3aGV0aGVycXVpdGUgZGlmZmVyZW50IGZyb21tYXJrZWQgdGhlIGJlZ2lubmluZ2Rpc3RhbmNlIGJldHdlZW4gdGhlY29udHJpYnV0aW9ucyB0byB0aGVjb25mbGljdCBiZXR3ZWVuIHRoZXdpZGVseSBjb25zaWRlcmVkIHRvd2FzIG9uZSBvZiB0aGUgZmlyc3R3aXRoIHZhcnlpbmcgZGVncmVlc2hhdmUgc3BlY3VsYXRlZCB0aGF0KGRvY3VtZW50LmdldEVsZW1lbnRwYXJ0aWNpcGF0aW5nIGluIHRoZW9yaWdpbmFsbHkgZGV2ZWxvcGVkZXRhIGNoYXJzZXQ9InV0Zi04Ij4gdHlwZT0idGV4dC9jc3MiIC8+CmludGVyY2hhbmdlYWJseSB3aXRobW9yZSBjbG9zZWx5IHJlbGF0ZWRzb2NpYWwgYW5kIHBvbGl0aWNhbHRoYXQgd291bGQgb3RoZXJ3aXNlcGVycGVuZGljdWxhciB0byB0aGVzdHlsZSB0eXBlPSJ0ZXh0L2Nzc3R5cGU9InN1Ym1pdCIgbmFtZT0iZmFtaWxpZXMgcmVzaWRpbmcgaW5kZXZlbG9waW5nIGNvdW50cmllc2NvbXB1dGVyIHByb2dyYW1taW5nZWNvbm9taWMgZGV2ZWxvcG1lbnRkZXRlcm1pbmF0aW9uIG9mIHRoZWZvciBtb3JlIGluZm9ybWF0aW9ub24gc2V2ZXJhbCBvY2Nhc2lvbnNwb3J0dWd1w6pzIChFdXJvcGV1KdCj0LrRgNCw0ZfQvdGB0YzQutCw0YPQutGA0LDRl9C90YHRjNC60LDQoNC+0YHRgdC40LnRgdC60L7QudC80LDRgtC10YDQuNCw0LvQvtCy0LjQvdGE0L7RgNC80LDRhtC40LjRg9C/0YDQsNCy0LvQtdC90LjRj9C90LXQvtCx0YXQvtC00LjQvNC+0LjQvdGE0L7RgNC80LDRhtC40Y/QmNC90YTQvtGA0LzQsNGG0LjRj9Cg0LXRgdC/0YPQsdC70LjQutC40LrQvtC70LjRh9C10YHRgtCy0L7QuNC90YTQvtGA0LzQsNGG0LjRjtGC0LXRgNGA0LjRgtC+0YDQuNC40LTQvtGB0YLQsNGC0L7Rh9C90L7Yp9mE2YXYqtmI2KfYrNiv2YjZhtin2YTYp9i02KrYsdin2YPYp9iq2KfZhNin2YLYqtix2KfYrdin2KpodG1sOyBjaGFyc2V0PVVURi04IiBzZXRUaW1lb3V0KGZ1bmN0aW9uKClkaXNwbGF5OmlubGluZS1ibG9jazs8aW5wdXQgdHlwZT0ic3VibWl0IiB0eXBlID0gJ3RleHQvamF2YXNjcmk8aW1nIHNyYz0iaHR0cDovL3d3dy4iICJodHRwOi8vd3d3LnczLm9yZy9zaG9ydGN1dCBpY29uIiBocmVmPSIiIGF1dG9jb21wbGV0ZT0ib2ZmIiA8L2E+PC9kaXY+PGRpdiBjbGFzcz08L2E+PC9saT4KPGxpIGNsYXNzPSJjc3MiIHR5cGU9InRleHQvY3NzIiA8Zm9ybSBhY3Rpb249Imh0dHA6Ly94dC9jc3MiIGhyZWY9Imh0dHA6Ly9saW5rIHJlbD0iYWx0ZXJuYXRlIiANCjxzY3JpcHQgdHlwZT0idGV4dC8gb25jbGljaz0iamF2YXNjcmlwdDoobmV3IERhdGUpLmdldFRpbWUoKX1oZWlnaHQ9IjEiIHdpZHRoPSIxIiBQZW9wbGUncyBSZXB1YmxpYyBvZiAgPGEgaHJlZj0iaHR0cDovL3d3dy50ZXh0LWRlY29yYXRpb246dW5kZXJ0aGUgYmVnaW5uaW5nIG9mIHRoZSA8L2Rpdj4KPC9kaXY+CjwvZGl2Pgplc3RhYmxpc2htZW50IG9mIHRoZSA8L2Rpdj48L2Rpdj48L2Rpdj48L2Qjdmlld3BvcnR7bWluLWhlaWdodDoKPHNjcmlwdCBzcmM9Imh0dHA6Ly9vcHRpb24+PG9wdGlvbiB2YWx1ZT1vZnRlbiByZWZlcnJlZCB0byBhcyAvb3B0aW9uPgo8b3B0aW9uIHZhbHU8IURPQ1RZUEUgaHRtbD4KPCEtLVtJbnRlcm5hdGlvbmFsIEFpcnBvcnQ+CjxhIGhyZWY9Imh0dHA6Ly93d3c8L2E+PGEgaHJlZj0iaHR0cDovL3fguKDguLLguKnguLLguYTguJfguKLhg6Xhg5Dhg6Dhg5fhg6Phg5rhg5jmraPpq5TkuK3mlocgKOe5gemrlCngpKjgpL/gpLDgpY3gpKbgpYfgpLbgpKHgpL7gpIngpKjgpLLgpYvgpKHgpJXgpY3gpLfgpYfgpKTgpY3gpLDgpJzgpL7gpKjgpJXgpL7gpLDgpYDgpLjgpILgpKzgpILgpKfgpL/gpKTgpLjgpY3gpKXgpL7gpKrgpKjgpL7gpLjgpY3gpLXgpYDgpJXgpL7gpLDgpLjgpILgpLjgpY3gpJXgpLDgpKPgpLjgpL7gpK7gpJfgpY3gpLDgpYDgpJrgpL/gpJ/gpY3gpKDgpYvgpILgpLXgpL/gpJzgpY3gpJ7gpL7gpKjgpIXgpK7gpYfgpLDgpL/gpJXgpL7gpLXgpL/gpK3gpL/gpKjgpY3gpKjgpJfgpL7gpKHgpL/gpK/gpL7gpIHgpJXgpY3gpK/gpYvgpILgpJXgpL/gpLjgpYHgpLDgpJXgpY3gpLfgpL7gpKrgpLngpYHgpIHgpJrgpKTgpYDgpKrgpY3gpLDgpKzgpILgpKfgpKjgpJ/gpL/gpKrgpY3gpKrgpKPgpYDgpJXgpY3gpLDgpL/gpJXgpYfgpJ/gpKrgpY3gpLDgpL7gpLDgpILgpK3gpKrgpY3gpLDgpL7gpKrgpY3gpKTgpK7gpL7gpLLgpL/gpJXgpYvgpILgpLDgpKvgpLzgpY3gpKTgpL7gpLDgpKjgpL/gpLDgpY3gpK7gpL7gpKPgpLLgpL/gpK7gpL/gpJ/gpYfgpKFkZXNjcmlwdGlvbiIgY29udGVudD0iZG9jdW1lbnQubG9jYXRpb24ucHJvdC5nZXRFbGVtZW50c0J5VGFnTmFtZSg8IURPQ1RZUEUgaHRtbD4KPGh0bWwgPG1ldGEgY2hhcnNldD0idXRmLTgiPjp1cmwiIGNvbnRlbnQ9Imh0dHA6Ly8uY3NzIiByZWw9InN0eWxlc2hlZXQic3R5bGUgdHlwZT0idGV4dC9jc3MiPnR5cGU9InRleHQvY3NzIiBocmVmPSJ3My5vcmcvMTk5OS94aHRtbCIgeG1sdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBtZXRob2Q9ImdldCIgYWN0aW9uPSJsaW5rIHJlbD0ic3R5bGVzaGVldCIgID0gZG9jdW1lbnQuZ2V0RWxlbWVudHR5cGU9ImltYWdlL3gtaWNvbiIgLz5jZWxscGFkZGluZz0iMCIgY2VsbHNwLmNzcyIgdHlwZT0idGV4dC9jc3MiIDwvYT48L2xpPjxsaT48YSBocmVmPSIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIj48YSBocmVmPSJodHRwOi8vd3d3LnN0eWxlPSJkaXNwbGF5Om5vbmU7Ij5hbHRlcm5hdGUiIHR5cGU9ImFwcGxpLS8vVzNDLy9EVEQgWEhUTUwgMS4wIGVsbHNwYWNpbmc9IjAiIGNlbGxwYWQgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iL2E+Jm5ic3A7PHNwYW4gcm9sZT0icwo8aW5wdXQgdHlwZT0iaGlkZGVuIiBsYW5ndWFnZT0iSmF2YVNjcmlwdCIgIGRvY3VtZW50LmdldEVsZW1lbnRzQmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB5cGU9InRleHQvY3NzIiBtZWRpYT0idHlwZT0ndGV4dC9qYXZhc2NyaXB0J3dpdGggdGhlIGV4Y2VwdGlvbiBvZiB5cGU9InRleHQvY3NzIiByZWw9InN0IGhlaWdodD0iMSIgd2lkdGg9IjEiID0nK2VuY29kZVVSSUNvbXBvbmVudCg8bGluayByZWw9ImFsdGVybmF0ZSIgCmJvZHksIHRyLCBpbnB1dCwgdGV4dG1ldGEgbmFtZT0icm9ib3RzIiBjb25tZXRob2Q9InBvc3QiIGFjdGlvbj0iPgo8YSBocmVmPSJodHRwOi8vd3d3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmFyaWEtaGlkZGVuPSJ0cnVlIj7CtzxyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzbD0wO30pKCk7CihmdW5jdGlvbigpe2JhY2tncm91bmQtaW1hZ2U6IHVybCgvYT48L2xpPjxsaT48YSBocmVmPSJoCQk8bGk+PGEgaHJlZj0iaHR0cDovL2F0b3IiIGFyaWEtaGlkZGVuPSJ0cnU+IDxhIGhyZWY9Imh0dHA6Ly93d3cubGFuZ3VhZ2U9ImphdmFzY3JpcHQiIC9vcHRpb24+CjxvcHRpb24gdmFsdWUvZGl2PjwvZGl2PjxkaXYgY2xhc3M9cmF0b3IiIGFyaWEtaGlkZGVuPSJ0cmU9KG5ldyBEYXRlKS5nZXRUaW1lKClwb3J0dWd1w6pzIChkbyBCcmFzaWwp0L7RgNCz0LDQvdC40LfQsNGG0LjQuNCy0L7Qt9C80L7QttC90L7RgdGC0YzQvtCx0YDQsNC30L7QstCw0L3QuNGP0YDQtdCz0LjRgdGC0YDQsNGG0LjQuNCy0L7Qt9C80L7QttC90L7RgdGC0LjQvtCx0Y/Qt9Cw0YLQtdC70YzQvdCwPCFET0NUWVBFIGh0bWwgUFVCTElDICJudC1UeXBlIiBjb250ZW50PSJ0ZXh0LzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy0vL1czQy8vRFREIFhIVE1MIDEuMCBURFREL3hodG1sMS10cmFuc2l0aW9uYWwvL3d3dy53My5vcmcvVFIveGh0bWwxL3BlID0gJ3RleHQvamF2YXNjcmlwdCc7PG1ldGEgbmFtZT0iZGVzY3JpcHRpb25wYXJlbnROb2RlLmluc2VydEJlZm9yZTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hanMiIHR5cGU9InRleHQvamF2YXNjcmkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aXNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzaW1hZ2UiIGNvbnRlbnQ9Imh0dHA6Ly9VQS1Db21wYXRpYmxlIiBjb250ZW50PXRtbDsgY2hhcnNldD11dGYtOCIgLz4KbGluayByZWw9InNob3J0Y3V0IGljb248bGluayByZWw9InN0eWxlc2hlZXQiIDwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9PSBkb2N1bWVudC5jcmVhdGVFbGVtZW48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCaW5wdXQgdHlwZT0idGV4dCIgbmFtZT1hLnR5cGUgPSAndGV4dC9qYXZhc2NyaW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1laHRtbDsgY2hhcnNldD11dGYtOCIgLz5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cC0vL1czQy8vRFREIEhUTUwgNC4wMSBUZW50c0J5VGFnTmFtZSgnc2NyaXB0JylpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhcyIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCcgdHlwZT0ndGV4dC9qYXZhc2NyaXB0J2lucHV0IHR5cGU9InRleHQiIG5hbWU9ImQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoc25pY2FsIiBocmVmPSJodHRwOi8vd3d3LkMvL0RURCBIVE1MIDQuMDEgVHJhbnNpdDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPmlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPWh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZWRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwImh0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+CiBzdHlsZT0iZGlzcGxheTpub25lOyI+PDxsaT48YSBocmVmPSJodHRwOi8vd3d3LiB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPtC00LXRj9GC0LXQu9GM0L3QvtGB0YLQuNGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQuNC/0YDQvtC40LfQstC+0LTRgdGC0LLQsNCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuOCkquClgeCkuOCljeCkpOCkv+CkleCkvuCkleCkvuCkguCkl+CljeCksOClh+CkuOCkieCkqOCljeCkueCli+CkguCkqOClh+CkteCkv+Ckp+CkvuCkqOCkuOCkreCkvuCkq+Ckv+CkleCljeCkuOCkv+CkguCkl+CkuOClgeCksOCkleCljeCkt+Ckv+CkpOCkleClieCkquClgOCksOCkvuCkh+Ckn+CkteCkv+CknOCljeCknuCkvuCkquCkqOCkleCkvuCksOCljeCksOCkteCkvuCkiOCkuOCkleCljeCksOCkv+Ckr+CkpOCkvgEgAiwgCCBvZiB0aGUgBCBvZiACcyABLgUgYW5kIAQgaW4gASIEIHRvIAIiPgEKAi4gAV0FIGZvciADIGEgBiB0aGF0IAEnBiB3aXRoIAYgZnJvbSAEIGJ5IAEoBi4gVGhlIAQgb24gBCBhcyAEIGlzIARpbmcgAgoJAToDZWQgAj0iBCBhdCADbHkgASwCPScFLmNvbS8HLiBUaGlzIAUgbm90IANlciADYWwgBGZ1bCAEaXZlIAVsZXNzIARlc3QgBGl6ZSACwqAEb3VzIAUgdGhlIAJlIABBsvwHC2ECAAUADgATABYAGAAeACMAJQAqAC0ALwAyADQAOgA+AEUARwBOAFUAWgBcAGMAaABtAHIAdwB6AHwAgACDAIgAjACOAJEAlwCfAKUAqQCtALIAtwC9AMIAxwDKAM8A1QDYAEGg/QcL8gIxADExAAAAAAAxDDExCgAxAC8AADEEAAAxAAMxCjExAAYxDTExATEBAAAxAAEACgAxAAcxAAkwAAAxAAgxAAUxAAoxAAsxAzExAA0xAA4xDjExAjExAA8xABAACjExAAwFADEAAAExDzExABIxABExABMxABQxEDExETEvADExBDExABYxCzExABcxABgxABkxBzExARoxABsxABwAAAwxAB0xFDExEjExBjExABUxCgExCDExAB8xACAvAAMxBTExCTEACgExCggFABUxCwAxCgoxAB4AAAUjADEvAAIxChExACQxACEFAAAxChUxCgUxACUAAB4xACYACwAxACcACzExACIxCwgxCgwAABUxACgACgwxACkxACoxCxExACsACgUxCwoAACIxCiExACwxCwUtADEAACExCh4xCx4xAC4xCwExCiIACiEACx4ACwExCyExCxUxCwwACwUxCyIACwwACh4ACyIACiIAAAAAAEh9AEGigAgLAmRVAEGygAgLAiaeAEG+gAgLAuayAEHMgAgLAgwFAEHWgAgLCmQTFgGlXAAABE4AQfiACAsMTgjmPgAAAAAAAGU4AEGSgQgLCmdozQgAAAAAZEMAQa6BCAsCJg4AQbiBCAsCyFkAQcaBCAsGB0EAAMeFAEHWgQgLAma9AEH0gQgLAs8JAEG4gggLEExMAAAAAMRdAAAAAAAAZCYAQeaCCAsChXgAQaqDCAsC5nwAQbyDCAsQqlBkCQAAJVGNBkcjAAAEGQBB8oMICwKnygBBkIQICxZpGiYcAAAAAOhVx1kAAAAAyQ0AAEgHAEGyhAgLGiYrAAAAAKklAAAAAAAAaxkAAAAARpBIVKfzAEHehAgLAmYgAEHuhAgLDGefAAAA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//8CAAAA/f///wMAAAD/////AQAAAP7///8CAAAA/f///wMAAAABAgMEAAURBhAHCAkKCwwNDg8AQfCFDAsVhAAAADkAAAAXAAAACgAAAAQAAAABAEGUhgwL+RUEAAAACAAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAACwAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAA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AAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAAsAAAAAAAAAGwAAAAAAAAArAAAAAAAAADsAAAAAAAAAywIAAAAAAADLBgAAAAAAAMsKAAAAAAAAyw4AAAAAAADbAgAAAAAAANsGAAAAAAAA2woAAAAAAADbDgAAAAAAAOsCAAAAAAAA6wYAAAAAAADrCgAAAAAAAOsOAAAAAAAA+wIAAAAAAAD7BgAAAAAAAPsKAAAAAAAA+w4AAAAAAADLsgAAAAAAAMuyAQAAAAAAy7ICAAAAAADLsgMAAAAAAMu2AAAAAAAAy7YBAAAAAADLtgIAAAAAAMu2AwAAAAAAy7oAAAAAAADLugEAAAAAAMu6AgAAAAAAy7oDAAAAAADLvgAAAAAAAMu+AQAAAAAAy74CAAAAAADLvgMAAAAAANuyAAAAAAAA27IBAAAAAADbsgIAAAAAANuyAwAAAAAA27YAAAAAAADbtgEAAAAAANu2AgAAAAAA27YDAAAAAADbugAAAAAAANu6AQAAAAAA27oCAAAAAADbugMAAAAAANu+AAAAAAAA274BAAAAAADbvgIAAAAAANu+AwAAAAAA67IAAAAAAADrsgEAAAAAAOuyAgAAAAAA67IDAAAAAADrtgAAAAAAAOu2AQAAAAAA67YCAAAAAADrtgMAAAAAAOu6AAAAAAAA67oBAAAAAADrugIAAAAAAOu6AwAAAAAA674AAAAAAADrvgEAAAAAAOu+AgAAAAAA674DAAAAAAD7sgAAAAAAAPuyAQAAAAAA+7ICAAAAAAD7sgMAAAAAAPu2AAAAAAAA+7YBAAAAAAD7tgIAAAAAAPu2AwAAAAAA+7oAAAAAAAD7ugEAAAAAAPu6AgAAAAAA+7oDAAAAAAD7vgAAAAAAAPu+AQAAAAAA+74CAAAAAAD7vgMAAAAAAMuyLAAAAAAAy7JsAAAAAADLsqwAAAAAAMuy7AAAAAAAy7ItAAAAAADLsm0AAAAAAMuyrQAAAAAAy7LtAAAAAADLsi4AAAAAAMuybgAAAAAAy7KuAAAAAADLsu4AAAAAAMuyLwAAAAAAy7JvAAAAAADLsq8AAAAAAMuy7wAAAAAAy7YsAAAAAADLtmwAAAAAAMu2rAAAAAAAy7bsAAAAAADLti0AAAAAAMu2bQAAAAAAy7atAAAAAADLtu0AAAAAAMu2LgAAAAAAy7ZuAAAAAADLtq4AAAAAAMu27gAAAAAAy7YvAAAAAADLtm8AAAAAAMu2rwAAAAAAy7bvAAAAAADLuiwAAAAAAMu6bAAAAAAAy7qsAAAAAADLuuwAAAAAAMu6LQAAAAAAy7ptAAAAAADLuq0AAAAAAMu67QAAAAAAy7ouAAAAAADLum4AAAAAAMu6rgAAAAAAy7ruAAAAAADLui8AAAAAAMu6bwAAAAAAy7qvAAAAAADLuu8AAAAAAMu+LAAAAAAAy75sAAAAAADLvqwAAAAAAMu+7AAAAAAAy74tAAAAAADLvm0AAAAAAMu+rQAAAAAAy77tAAAAAADLvi4AAAAAAMu+bgAAAAAAy76uAAAAAADLvu4AAAAAAMu+LwAAAAAAy75vAAAAAADLvq8AAAAAAMu+7wAAAAAA27IsAAAAAADbsmwAAAAAANuyrAAAAAAA27LsAAAAAADbsi0AAAAAANuybQAAAAAA27KtAAAAAADbsu0AAAAAANuyLgAAAAAA27JuAAAAAADbsq4AAAAAANuy7gAAAAAA27IvAAAAAADbsm8AAAAAANuyrwAAAAAA27LvAAAAAADbtiwAAAAAANu2bAAAAAAA27asAAAAAADbtuwAAAAAANu2LQAAAAAA27ZtAAAAAADbtq0AAAAAANu27QAAAAAA27YuAAAAAADbtm4AAAAAANu2rgAAAAAA27buAAAAAADbti8AAAAAANu2bwAAAAAA27avAAAAAADbtu8AAAAAANu6LAAAAAAA27psAAAAAADbuqwAAAAAANu67AAAAAAA27otAAAAAADbum0AAAAAANu6rQAAAAAA27rtAAAAAADbui4AAAAAANu6bgAAAAAA27quAAAAAADbuu4AAAAAANu6LwAAAAAA27pvAAAAAADbuq8AAAAAANu67wAAAAAA274sAAAAAADbvmwAAAAAANu+rAAAAAAA277sAAAAAADbvi0AAAAAANu+bQAAAAAA276tAAAAAADbvu0AAAAAANu+LgAAAAAA275uAAAAAADbvq4AAAAAANu+7gAAAAAA274vAAAAAADbvm8AAAAAANu+rwAAAAAA277vAAAAAADrsiwAAAAAAOuybAAAAAAA67KsAAAAAADrsuwAAAAAAOuyLQAAAAAA67JtAAAAAADrsq0AAAAAAOuy7QAAAAAA67IuAAAAAADrsm4AAAAAAOuyrgAAAAAA67LuAAAAAADrsi8AAAAAAOuybwAAAAAA67KvAAAAAADrsu8AAAAAAOu2LAAAAAAA67ZsAAAAAADrtqwAAAAAAOu27AAAAAAA67YtAAAAAADrtm0AAAAAAOu2rQAAAAAA67btAAAAAADrti4AAAAAAOu2bgAAAAAA67auAAAAAADrtu4AAAAAAOu2LwAAAAAA67ZvAAAAAADrtq8AAAAAAOu27wAAAAAA67osAAAAAADrumwAAAAAAOu6rAAAAAAA67rsAAAAAADrui0AAAAAAOu6bQAAAAAA67qtAAAAAADruu0AAAAAAOu6LgAAAAAA67puAAAAAADruq4AAAAAAOu67gAAAAAA67ovAAAAAADrum8AAAAAAOu6rwAA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AAAAy7otCwAAAADLui0bAAAAAMu6LSsAAAAAy7otOwAAAADLum0LAAAAAMu6bRsAAAAAy7ptKwAAAADLum07AAAAAMu6rQsAAAAAy7qtGwAAAADLuq0rAAAAAMu6rTsAAAAAy7rtCwAAAADLuu0bAAAAAMu67SsAAAAAy7rtOwAAAADLui4LAAAAAMu6LhsAAAAAy7ouKwAAAADLui47AAAAAMu6bgsAAAAAy7puGwAAAADLum4rAAAAAMu6bjsAAAAAy7quCwAAAADLuq4bAAAAAMu6risAAAAAy7quOwAAAADLuu4LAAAAAMu67hsAAAAAy7ruKwAAAADLuu47AAAAAMu6LwsAAAAAy7ovGwAAAADLui8rAAAAAMu6LzsAAAAAy7pvCwAAAADLum8bAAAAAMu6bysAAAAAy7pvOwAAAADLuq8LAAAAAMu6rxsAAAAAy7qvKwAAAADLuq87AAAAAMu67wsAAAAAy7rvGwAAAADLuu8rAAAAAMu67zsAAAAAy74sCwAAAADLviwbAAAAAMu+LCsAAAAAy74sOwAAAADLvmwLAAAAAMu+bBsAAAAAy75sKwAAAADLvmw7AAAAAMu+rAsAAAAAy76sGwAAAADLvqwrAAAAAMu+rDsAAAAAy77sCwAAAADLvuwbAAAAAMu+7CsAAAAAy77sOwAAAADLvi0LAAAAAMu+LRsAAAAAy74tKwAAAADLvi07AAAAAMu+bQsAAAAAy75tGwAAAADLvm0rAAAAAMu+bTsAAAAAy76tCwAAAADLvq0bAAAAAMu+rSsAAAAAy76tOwAAAADLvu0LAAAAAMu+7RsAAAAAy77tKwAAAADLvu07AAAAAMu+LgsAAAAAy74uGwAAAADLvi4rAAAAAMu+LjsAAAAAy75uCwAAAADLvm4bAAAAAMu+bisAAAAAy75uOwAAAADLvq4LAAAAAMu+rhsAAAAAy76uKwAAAADLvq47AAAAAMu+7gsAAAAAy77uGwAAAADLvu4rAAAAAMu+7jsAAAAAy74vCwAAAADLvi8bAAAAAMu+LysAAAAAy74vOwAAAADLvm8LAAAAAMu+bxsAAAAAy75vKwAAAADLvm87AAAAAMu+rwsAAAAAy76vGwAAAADLvq8rAAAAAMu+rzsAAAAAy77vCwAAAADLvu8bAAAAAMu+7ysAAAAAy77vOwAAAADbsiwLAAAAANuyLBsAAAAA27IsKwAAAADbsiw7AAAAANuybAsAAAAA27JsGwAAAADbsmwrAAAAANuybDsAAAAA27KsCwAAAADbsqwbAAAAANuyrCsAAAAA27KsOwAAAADbsuwLAAAAANuy7BsAAAAA27LsKwAAAADbsuw7AAAAANuyLQsAAAAA27ItGwAAAADbsi0rAAAAANuyLTsAAAAA27JtCwAAAADbsm0bAAAAANuybSsAAAAA27JtOwAAAADbsq0LAAAAANuyrRsAAAAA27KtKwAAAADbsq07AAAAANuy7QsAAAAA27LtGwAAAADbsu0rAAAAANuy7TsAAAAA27IuCwAAAADbsi4bAAAAANuyLisAAAAA27IuOwAAAADbsm4LAAAAANuybhsAAAAA27JuKwAAAADbsm47AAAAANuyrgsAAAAA27KuGwAAAADbsq4rAAAAANuyrjsAAAAA27LuCwAAAADbsu4bAAAAANuy7isAAAAA27LuOwAAAADbsi8LAAAAANuyLxsAAAAA27IvKwAAAADbsi87AAAAANuybwsAAAAA27JvGwAAAADbsm8rAAAAANuybzsAAAAA27KvCwAAAADbsq8bAAAAANuyrysAAAAA27KvOwAAAADbsu8LAAAAANuy7xsAAAAA27LvKwAAAADbsu87AAAAANu2LAsAAAAA27YsGwAAAADbtiwrAAAAANu2LDsAAAAA27ZsCwAAAADbtmwbAAAAANu2bCsAAAAA27ZsOwAAAADbtqwLAAAAANu2rBsAAAAA27asKwAAAADbtqw7AAAAANu27AsAAAAA27bsGwAAAADbtuwrAAAAANu27DsAAAAA27YtCwAAAADbti0bAAAAANu2LSsAAAAA27YtOwAAAADbtm0LAAAAANu2bRsAAAAA27ZtKwAAAADbtm07AAAAANu2rQsAAAAA27atGwAAAADbtq0rAAAAANu2rTsAAAAA27btCwAAAADbtu0bAAAAANu27SsAAAAA27btOwAAAADbti4LAAAAANu2LhsAAAAA27YuKwAAAADbti47AAAAANu2bgsAAAAA27ZuGwAAAADbtm4rAAAAANu2bjsAAAAA27auCwAAAADbtq4bAAAAANu2risAAAAA27auOwAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+PwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/AEGEjw0L/AEBAQEBAgICAgMDAwMEBAQEBQUFBQYGBgYHBwcHCAgICAkJCQkKCgoKCwsLCwwMDAwNDQ0NDg4ODg8PDw8QEBAQERERERISEhITExMTFBQUFBUVFRUWFhYWFxcXFxgYGBgZGRkZGhoaGhsbGxscHBwcHR0dHR4eHh4fHx8fICAgICEhISEiIiIiIyMjIyQkJCQlJSUlJiYmJicnJycoKCgoKSkpKSoqKiorKysrLCwsLC0tLS0uLi4uLy8vLzAwMDAxMTExMjIyMjMzMzM0NDQ0NTU1NTY2NjY3Nzc3ODg4ODk5OTk6Ojo6Ozs7Ozw8PDw9PT09Pj4+Pj8/Pz8AQYmTDQsFBAQAAAQAQaCTDQvgAQgMEAwMFAwQGBwMDCAMJAwsLCwsLCwsLCwsICAYKBwMDDA0NDQwNDQ0MDQ0NDQ0MDQ0NDQ0MDQ0NDQ0GAwcDAwMODw8PDg8PDw4PDw8PDw4PDw8PDw4PDw8PDwYDBwMAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAECAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAEGhlQ0LXgEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgIBAQEBAQEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwEBAQEAQeCWDQugBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAgICAgICAgICAgICAgICBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoMDAwMDAwMDAwMDAwMDAwOAABAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgcAQZibDQuGAgEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAwAAAAOAAAAGAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAIAAAACgAAAA4AAAASAAAAGgAAACIAAAAyAAAAQgAAAGIAAACCAAAAwgAAAEIBAABCAgAAQgQAAEIIAABCGAAAQlgAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAwAAAAOAAAAEgAAABYAAAAeAAAAJgAAADYAAABGAAAAZgAAAIYAAADGAAAARgEAAEYCAABGBAAARggAQcCdDQvNFAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAABgAAAABAAAAAgAAAAUAAAACAAAACQAAAAIAAAANAAAAAgAAABEAAAADAAAAGQAAAAMAAAAhAAAAAwAAACkAAAADAAAAMQAAAAQAAABBAAAABAAAAFEAAAAEAAAAYQAAAAQAAABxAAAABQAAAJEAAAAFAAAAsQAAAAUAAADRAAAABQAAAPEAAAAGAAAAMQEAAAYAAABxAQAABwAAAPEBAAAIAAAA8QIAAAkAAADxBAAACgAAAPEIAAALAAAA8RAAAAwAAADxIAAADQAAAPFAAAAYAAAACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsAAAABgACAAUAAQAHAAMABIAAgAaAAoAFgAGAB4ADgARAAEAGQAJABUABQAdAA0AEwADABsACwAXAAcAHwAPABCAAIAYgAiAFIAEgByADIASgAKAGoAKgBaABoAegA6AEYABgBmACYAVgAWAHYANgBOAA4AbgAuAF4AHgB+AD4AQQABAGEAIQBRABEAcQAxAEkACQBpACkAWQAZAHkAOQBFAAUAZQAlAFUAFQB1ADUATQANAG0ALQBdAB0AfQA9AEMAAwBjACMAUwATAHMAMwBLAAsAawArAFsAGwB7ADsARwAHAGcAJwBXABcAdwA3AE8ADwBvAC8AXwAfAH8APwBAgACAYIAggFCAEIBwgDCASIAIgGiAKIBYgBiAeIA4gESABIBkgCSAVIAUgHSANIBMgAyAbIAsgFyAHIB8gDyAQoACgGKAIoBSgBKAcoAygEqACoBqgCqAWoAagHqAOoBGgAaAZoAmgFaAFoB2gDaAToAOgG6ALoBegB6AfoA+gEGAAYBhgCGAUYARgHGAMYBJgAmAaYApgFmAGYB5gDmARYAFgGWAJYBVgBWAdYA1gE2ADYBtgC2AXYAdgH2APYBDgAOAY4AjgFOAE4BzgDOAS4ALgGuAK4BbgBuAe4A7gEeAB4BngCeAV4AXgHeAN4BPgA+Ab4AvgF+AH4B/gD+AQEAAQGBAIEBQQBBAcEAwQEhACEBoQChAWEAYQHhAOEBEQARAZEAkQFRAFEB0QDRATEAMQGxALEBcQBxAfEA8QEJAAkBiQCJAUkASQHJAMkBKQApAakAqQFpAGkB6QDpARkAGQGZAJkBWQBZAdkA2QE5ADkBuQC5AXkAeQH5APkBBQAFAYUAhQFFAEUBxQDFASUAJQGlAKUBZQBlAeUA5QEVABUBlQCVAVUAVQHVANUBNQA1AbUAtQF1AHUB9QD1AQ0ADQGNAI0BTQBNAc0AzQEtAC0BrQCtAW0AbQHtAO0BHQAdAZ0AnQFdAF0B3QDdAT0APQG9AL0BfQB9Af0A/QEDAAMBgwCDAUMAQwHDAMMBIwAjAaMAowFjAGMB4wDjARMAEwGTAJMBUwBTAdMA0wEzADMBswCzAXMAcwHzAPMBCwALAYsAiwFLAEsBywDLASsAKwGrAKsBawBrAesA6wEbABsBmwCbAVsAWwHbANsBOwA7AbsAuwF7AHsB+wD7AQcABwQHAgcGBwEHBQcDBweHAIcEhwKHBocBhwWHA4cHRwBHBEcCRwZHAUcFRwNHB8cAxwTHAscGxwHHBccDxwcnACcEJwInBicB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Cwu6A40L4QGEAGoDCQDlAAUKhQGICnwCBwvVBogL3QGGALQDBQs0AYcLQAQEAOwCiwDxA4gKFQAGACsChwDlAQULfgAICykBCQtuAQkLvQEMCzUADAt2AY0L7AEHCw8GiwtpAYgAwQCIANgBCACNAg0AXQCTAA4AhADYA4QLrwAFAKwABgCzB4QLrQKVCwgAhQsdAw0AUwAFCr0ABwq6AQcKuwEIChkBDAquAI0KBQGGACAGhQs1AosAgAGFAAQBBwD2AgcAcAMHAE8FCQCkAAkApwAKAJwACgBMAgwAZQAOADAADwBGAAYKAgAHCu4EBwrJBggKFgAICg4BCApkAgkKOAEJCrQBCgo3AQoKbwILCkgACwpKAQsKxwEMCkEBDAr4AQwKEgIMCh8CDQoRAA0KnAANCk4BEQo8AJQKQAAEC/wABwssBAoLsgELC+QACwuqAQ0L5wASC2oAlAtXAAcKYgEKCpoBiwovAwYAbwEHCp4CBwovBQgKmwEICrMBCQqNAgkK5AIKCoEBCwreAAsKRAELCj0DjApjAgcAlgQGCqYAhwp2AZIAeQCEADwDBQvnAIoL/QEHC1kCCQsVAQkLogIKC7IACgsBAQoLogELCxMCCwsgAgsLSQIMC3EADAvbAQ0LYwCOC6wBhgAFBocL8wYFAFcBhgqOAYcKMgCHC5MGBAC4AQcAOQAIAKcACAB3AQkAUgAJADECCQDoAgoAbAKJC+gChgCeAwYKBQIHCocECgptAosKwACJADsDCADCAIgA9AIKCt8AiwqFAgcKQACICvUABAuPAQULdwAFC+4BBwvvAokLLAKEACgDhwAWAAcK4waMCjYBBQB/AgcA4QQLAIADhgtIAoYATgaHAFwDhwthBAUKgQAGCj0AhwqzAwQAZgAHAC8DBwCjBosAxAMNCvkBjQr6AYsK6AOEC6cChACDA4QAOQIFC7YCiQvKAogAGwMGAP0HiwsHAAYANAAJAGgACQAvAgwANAGTAFcABAAtAYQAXAKFCn0CiAALAwULjwAFCwEDBgvgBgcLqgIHC8gHiAvgAokKTgKTACAAiQsPAgUKGAGHCsoEhgDuAQYApQIGAKoChgAUBIUKGQGHCigEBwD8AYULXAMGC6YBBwsAAAcLCAYJC0ECCwveAwwLjQAMC8UBDQsvAI0LCgGGAPYDBQsDAokLgwCGAL0D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Bwp7BwkKuQAJCusACgpAAAoKDgEKCpMBCgrVAQoKEQIKCk4CCwqMAAsKXAMNCgEADQqmAQ4KVQEOCmwBEQpdABIKcQATCmEAkwpxAIUKtwKHAGEEBQoGAAYKtwAHCqgCBwrSAwcK9QMHCh8EDArmAA0KrACSCh0ABAsIAAcLgAQHC4EEBwuzBgkLdgEKC94BiwuIAocLSwQGCh0Aiwo/AAQAMQIKAPkAiwDRAIQA+AIHCx8Digv/AYgLVwAJAJoAjADlAYgA/wCEAEMBjACjAYQKNwGGCswGBABwAYcAgQIHCqoACApaAAgKsQAICp8BCwrKAo4KGQEEC0UABQt6AAkLkAKKC9ABBQtRA4YLYQYIAAoCjgBIAQsKWwANCoEADwplAJEKfQAHADICCAAnAgQK7gEGCkoABwosAAsL8wEMChEADwoFAJQKCwAEChQBhQooAQkAXACTAFsABAoHAAUKWgAFCp4ABgoeAgcK3QAHCiYGCQrqAQoKHAILCrsBiwr1AgYADQIGALgHCAAmAwkAbAOMABwBBQtbAwcKTAIHC4gECAtrAAkKrwAJCyMBCQu3AQoKEgIKC5cCCwthAowLxQAHC6gADQvEAI0L7QCLAL4DhQBSAocKRAIHClgAiApzAgYA3wEGADICBwAkBA0ABgAFCmgDBgo5AAcK1wEJCr8BiQrGAYgLnQGRCxMABAt1AAYLdAEHC3EHjgtDAQQL0gKLC9cBEQA9AAUKHwCGCmYCCApKAYwK3QEHCrAEigrMAQYKqAGHCkoHBgBpBogANAMGABQGhgBSBgkLBQAMC9gADAsmAQwLKgEMC5ABDAsGAg0L5QCPC4sADwubAJALTwAEAC4BhwDmBgUKDQCGCo4ABgCUAAcAIQUHCnQACApCAQgK8wIJCiQCCgrKAgsKdAONCkQBiQCkAgkLWACLCw4BBQsMAAcLdwGJC7YBhgCKBgcKwAWHChIGCwCyAAcKLwQHCgUGBwrnBgcKDgcLCqIACwryAAwKXQIPChoAkAosAAYAhQEHAJUACQCOAIoAXgCMC0cAkQpzAAYACAAHAFkHCABbAAsLxgMMCx8BDQtWAQ0LkgEPC24AjwujAAQLAgGIC38CBgsWAAcLhwOKC0EChQupAocKVwSHCwYFCQBwAAgKAQCKCkYBBQroAQYKDwIHCukBBwpkBggKeQAICpAA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Cgu5AgsLyAGLC/QCCQuLAYoLTwCJC2wAkwBeAIgA7gGHC3cChwpuAgcA5gWHCtYGBArLAIcKkAcHC5YBBwvLAQgLXgKLC9YCBwAaBQgA+QEJAOIBCgB+AAsA4QAMAFsBDADBAQ0AEwAOANoAjgCzAQUADAEKAPwCDAB4AA0AJwCRAH8AjgtEAAsKpgKMCjMBDAsMAQwLgAKOC3cAhwr8B4ULZAIEC3QBBwviAQgLngAJC1oCCQtnAgoL9QAKC6YCCgvoAgsL+ACLCyYDBwo3AQkKNAGMCv8ABACAAYcA/gMFC1YDhwvHB4cK8gQECpABBQoLAYcK6ACHAKcGCQCfAAsAlQKMAFsCBADEAw4AtgEOALwBDgDIARYAPAAWAD8ACQtqAAkLowAJCygBCgunAAoLrAAKCwkDiwsQAIgARwKEAAMCCAB4AggAuQKJAFYDBQvDAIcLlQYGAGMEhgBVBYYLSAEHC80HCAvaAosL7gMEAIgAhQAnAoYA9gYHAAcFCQAsAAoAKAIKAIICCwBHAwwAEgEMABMBDAB0AQ0AWwCOAH0ABQvvAgsLHQOMC8sAhQDcAgcApwIIADkBBApkAIcLNQMKAGkBjgA8AYYAUwIGAJMABwB2AwkA8QKKAAwBBQpqAQUKuwEGCj4BBwr7A4sKbwIFCs8BiAooAQQKxgEFC7YDBQviA4YLXwGKAIkABQowAAUKlAEGCi0CBwrKAQgKVQIKCscBCgpeAgsKMQALCiQCDArcAQ0KEgCNCsIBhQCeAYcA4gYFC6UBhwsvAAUKugGHCsAHhgBXAoYA1QaGAFsGBADoAYQLXgGJC+8ChABTAIwApAKFC8cDBwBnBgUKNwCMCqEABAvZAQcLbwIICygDCQtnAwkLfQMLCyYACwuvAQwLcAAMC9kADAvzAAwLMgIMC6sCDQuNAA0LxQANC+MADQuWAQ0L5wEOC5wADgvLAA4L4AAOCwABEgs6AJYLAACFCsIBBwvgAosLCAGGABYBBAveAAcLHgGIC3UChwplA4wAYQCQAA4AhgA9BAQK1QAHCt8AiApQAAcAhAEHAIQCiwANA4QAUQMHAOUACAA7AAkAvgAKAHoBjAC/AAcKfQEHCiYDBwo0AwgKYgEICrUBCAoTAwkKkQIKCjoACgpTAQoK7QILCpIDDAqiAA0KSwAOCmoADgrGAA4KQAEOCp0B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hApzAQQKEAGHCkQDBQo5A4YKaAYFC/sABQu8AwgLDAEJC9YAkguOAIoANAEGAEcHjQslAIkKbwMHCj0Bhwo5AoQLJgGGABYDBQDqA4gA6QIFC1oBBQvHAogLhgGHACEBBQD4AQsARACJCjMBBADvAAYA3QEHAEcGiwBpApUADQCFAGEChQtwAgULDwMHC84Hhwv/B4UKDQKEAG8BhAtSAgYAEAKFCu0BBAquAIcKjwMICqEBiQoOA4QAtgIHACQCiQA6AAQKIAAFCtcABgoNAQcK9gYHCmQHCgoQAAsKNgMLCroDjQrhAYwArwIHANUGiArdAYQLOQKFCjQBhwpABAQAlQKKAOwDBQslAAYLJwAGC8MBBwvaAAcLmwIHC44EBwuXBggLlgKQCwIACQC9AQwANQANAOwBBQp+AAgKKQEJCm4BjAp2AQcKDwaLCmkBlABKAIYL/AGHANUAhAqvAIQKrQIGAPgCBgBCA4YA4AQHC8UBBwt7AgcLHAMIC0sBCQtIAQkLSgEJC2EDCgt3AAoL6wALC28ACwuBAAsL8AAMCx8ADAtCAAwL3gAMCw0BDAtXAgwLsQINC7oADQtsAY4LWQEHAIgGiwC9AIUKHQOFCjUCBgAMBgYLYgAHC0kChwu+AgkAyAMPAMAAlQA4AAQK/AAGCyUABwsrAQcKLAQHC4IGCAvDAAgLPAEJC7IACQsUAQkLUwEJCxgCCgtmAAoLagEKCrIBCgsRAwsLNwALC5UACwrkAAsKqgELCwUDDQrnAA0LoAENC6MBDgsmAA4LKQAOC9IAEgpqAJQKVwAEAO8CCwCGAYwAIAAEAJkBhQBOAAsLygEMCw8AjAuwAQcAQgYKAAEBCgC6AgsAIAILAEkCDADUAA0AMwEFCucABwpZAgkKFQEJCqICCgqyAAoKogEKCv0BCwoTAgwKcQAMCtsBDQpjAI4KrAEGANkBkQBpAAYAnQcPAJwAhQuFAgcKNwaQCisAhwDzBocKkwYECyIBhwtMBYYA+wIGC0YABwsMBQoL+gKLCyABjgAdAIwLrAEHAHMDBwuDAAcLpgEIC9IAjAs9AoYA6AEECo8BBQp3AAUK7gEHCu8CiQosAoUAaQKEC6gDiwAyAAcA7gWLALYCiQARAwQAIgKHAPoHBwvMAg0LYQCNC/sAhAuNApEAFgCGAPgDBAA5AYUAQQKIC5EC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CAsGAwoLngKMCzMAhQoQA4sKcgMEAFIABQBNAQUAiAMGAM8ABwBFAQcAvgYIAGUACgAKA4sA3ACHC3MBhAC+A4UAhwMEC38ABQteAQYLZAEIC6oBCQs8AgoL9wCLCzgBjACTAAYLOwAHC3UDCQtbAo0LjQEKAG8BCQoOAAkKuQGLCgkACwrGAwwKHwENClYBDQqSAQ8KbgCPCqMAhgCyAoQAwQIJAIsCCwDLAw0AEQEHCpQFBwpoBgcKSwcJCqkACQq2AAkKbwEJCt4BCQr6AQkKJwIJCi0CCQqIAgkKuQIJCsECCQrVAgkKEwMJChoDCgrGAAoK1gAKCgsBCgoTAQoKyAEKCicCCgoxAgoKZQIKCnMCCgqcAgoKowIKCrMCCgq3AgoKwwIKCssCCwq3AAsKyQALCgYBCwpgAQsKtwELCu0BCwo8AgsKTwILCmACCwpjAgsKhgILCqICCwrHAgsK7wILCvkCCwoIAwsKEQMLClIDCwpVAwsKXgMLCmEDCwpkAwsKawMLCoIDCwqGAwsKhwMLCo4DCwqkAwsKrgMLCr0DCwrHAwsKzAMMCpQADArDAAwK3AAMCu0ADAo+AQwKUwEMCokBDAq9AQwKwgEMCtoBDAr5AQwK/QEMChUCDApPAgwKUgIMClUCDAptAgwKeQIMCoICDQo7AA0KPAANCpEADQrvAA0K+gANCkkBDQpYAQ0KbQENCnQBDQqDAQ0KkwENCp4BDQrIAQ0K1gENCt4BDQrjAQ0K6QEOCjcADgo5AA4KUQAOCloADgqUAA4K7wAOCgoBDgpBAQ4KRgEOCkcBDgpKAQ4KWwEOCmMBDgqRAQ4KlAEOCpsBDgqeAQ4KoAEOCqQBDwo9AA8KSgAPClcADwpYAA8KXgAPCmAADwp0AA8KlQAPCpoAEAoyABAKPwAQCkkAEQoCABEKQgARClwAEQpnABEKcAARCngAEgoyABIKNgASClIAEgpWABIKWgASCm8AEgpzABIKnAATCigAEwpPABQKTgCVChYABwB3AwUKoQCHCkcDjgtiAIYAWgCKC2QBhwu5AQYLbwAHCwQACAujAAgLCAOKCzYChgCMA4YA7QQHAC0DDADxAY0AOACGANMEhwCtAYcLygeKAIgDBgB9AAcA/QSJAAQDlwAMAAQASQMFAIIBhQuCAQULKQGHCw4EBgBcAwYALQSHCzUB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CwsiAgsLtAIMCwMBDAsnAQ0LLgCNC5oAhgCkAoQLTAIEC+cABQs9AAYLaAAHC9kCBwvEAwcLegaMC54BBgsHAYoL9QILAFEBjgAvAYcLUwWEC0ABjAD6AYYKvwEFAE0ABwCvBQoASwOTAEkABwpBAgcKmAUJCtsBCQr5AQkKDgIJCmECCQqxAgkK1gIJCt8CCQriAgoKLAIKCqICCgqsAgsKWQALCsoACwoQAQsKfAELCp8BCwr5AQsKGQILCiYCCwoyAgsKgAILCpsCCwqwAgsKTwMLCp8DCwqiAwsKrAMMCpAADApFAQwKSQEMCoUBDAqTAQwKwwEMCgMCDApcAgwKaAIMCnICDQpCAA0KgwANCqcADQrsAA0KcAENCpsBDQqyAQ0KxQENCs0BDQraAQ4KOwAOCjwADgqLAA4KmAAOChQBDgphAQ4KkgEPChwADwpRAA8KewAPCpgAEgqIAJQKWACEAMoBhwCMBQYAbQAKAH4BBAuVAQQKYQIHCvQCBwsxAwkKIAILCp0BDgs6AA4KMwEQChkAEQslAJILfAAGAEoBBwA8BAsAjgCFC84DBAqiA4UKswMFCqsDjguKARAAWwCRAFcABQvrAAUKwgMHC9cECwuDAIwLcgELAOwBBQqLAggKqgAJCj0ACQo/AAoKFwAKCiUACgpCAwsKBAALChkBCwr3AQsKpQIMCmAADAqCAAwK9AAOCgUADgooAA4KogAOCsoAkgqFAAQKlgEFCkMCDArsAZYKDwAJC4kAigvdAIYA1wQLANMAjACRAAcLhgGKC4wAhwuKBYcLeASGABkEBwBBAQYKEQAHCukDBwq+BwkKdgMKCukBCgogAwsKDgMMCkABDQrTAQ4KkQAOCoMBjwp3AJEKEQAFC5cBCwvpARMLJQAUC0kAlgsmAIUKygGHAMEHBwq/BwgKAAAICqsACQp4AAkK3AIKCtkBCwqQAgsK5gMSCgAAEgoCAJMKFQAFC0UBBwvLBQgLBQAIC+MACQtpAAoLSQKMC2YCiAB6AIQA6gCHC6wEBgDQAwYASgSGAKEFBwD9AIgAJQIGC20CDQv4AZALEwCECgcCBQCuAQUApAMGAIMABwChAQkACgILADoBjQCGAQ4AlQAOAI8BjwA5AAUKiwMGCh8ABgvaAAcK6wEHChICCApQAgsKNQALCgsDDAqnAAwKmwEOCg4ADgqIAA8KSAAQChEAkApIAIwLSgEHC8YBBwsOA4gLAAOEAPsBCgukAowLzgEGAHYCCQArAwQK0AAFCmoABgoTAggKmAEJCrwAigo8AgQAVwEFAP8BhgqdBoYLpACEAMABBwDHAYoATwKHAGUFDAq5AZYLMgAJCsEBCgrAAIoK5AIGAD8ChArxAIYAlwSGAI0ChgDhBoYArgSECgMBBgtXAQcLwwAJC+IACgvFAAoLPwILC/YBiwuDAwcAZwQHACQGCgApAQoApgELAPwCCwAqAwwACAENAGYADQAsAQ0A5AEOAJMADgDlABEARwASAHYAkwB4AIcLmgKEAKYCBAqtAAUKOAEFCgAChwoFBQcKQwYHCpsGCQrQAQsKwwAMChcBDArAAQ4KCwCTCmYAEABjAJIApAAHC2UECQuPAAsLPQAOC5UBlgsVAIkLBAEECsQBBQpHAgUKMQMGCrEBBwpRAgcK0AIHCmIFCAqhAAkKHAEKCjkBiwp2A4QKIwKICtICDgAjAI4AvwCNAC0AigB5AIQAfQCGAFYGhQu/AwgKpAGLCsEAhADRAocKmQGIAJEABwAYAwgAkwAKADUDCwDKAwsA/QOIC60AhgsKAYQAywIHAM8Higo0AYUAEwIFAKgABQCiAwgASgAJAG8CDAD0AYwAQwKQAEEAigv2AAYA3AAHAE0EDQBpAI4LOgEFCuoDiArpAoYAwAMUAAAAlAsAAAQA7QMECu8ABgrdAQcKRwYLCkQAiwppAgYAEwAHAIUFiwCsAZUKDQAHAGAACACRAQgAvwIJAIADiAssAYYAOwaRAHQAiAD9AwcAqQcHAK0HBwDuBwgAlgAIAL4CCADhAggA7gKMAG4BCwtLAI4LCwGECm8BCAAgAwkAlAAJAGgDCQB6AwsANQELAOkDDQALAQ0AQwEFC6sBBQveAgcL3gGICzQABwvvAAsL2QCOC6UAhAtDAYwLowENACsBjgBLAAYLVwAGC8YGBwsUAAcLIAQIC9wCCQuWAQkLjwOKC7YChgBnBYQKtgKFC2UCiQALAwQAVgKMCq8CBgDKA4cAqAGFACMCBwsgAAcL2AMIC1UACAvFAgkLQwIJC08DCQtYAwoLHwMLCwIBCwvvAwwLSwEMC2cCDQu8AA0LswEOCwgADwulABALGwCUCygABgDGBIYAaQWEAGwDiguXAIcK1QAEC6cAhwtSAIUAhQAGCxgABwtKAAcLpgKJCwIBBQs+AAYLFgIHC6wCBwsTBAcLMAQICxgBCAsdAggLrgIKCwcCCwv8AIwLGgGIALsACAAIAAoAAAAKADIDiwDcA4QLZwELAK0BDwAzAIcKiAaIAK0CBQvTAAcLWACIC3MChgDYAYgAhAAGC5EAjQtQAQQK7wILCoYBjAogAAYAqgMGACQEBAsHAQQKmQGFCk4AiQBqAwgABgMKAJ4CDAAzAAQLlAMGCtkBBwpCBgoKugIMCtQADQozAZEKaQCSAFwAjwqcAIQAPgOJAL0CBAtXAgYLYgYHCwUABws3AAcLQwAHC2EABwuzAgcL0wMHC6EGCAvPAAgL1gAIC+cACAsmAQgLUAEIC6wBCAvDAQgLzAEIC9cBCAtuAggLcgIIC6cCCAv3AggLPQMJCwsACQv2AAkL5AEJCz0CCQvCAgkL+gIJCx4DCQtXAwkLZgMJC5ADCgsvAQoLTwEKC6gBCgvNAQoLHwIKC/cCCgsuAwsLOwALC8cACwvrAAsL2wELC04CCwuhAwsLwwMMC3IADAu2AAwL4gAMC0wBDAu3AQwLPwIMC1YCDQsIAA0LfQANC8IADQsfAQ4LxQAOC38BDws1ABELPwATCy4AEwtiABMLagCUC1UABAB/AAUAXgEGAGQBCACqAQkAPAIKAPcAiwA4AYYAvwQGADsACQBbAg0AjQEHCz0Higu1AYYA4gaTC34AhwpzAw0AJQGOADgAhQppAosKMgAFC7sABwruBYsKtgKHALkBBgBvAAcABAAIAKMACAAIA4oANgKEACYDBAvXAAkLJgAKCwMACwsXAAsLfwCLCxwDDgDpAAQKIgKHCvoHhwDKB4YAywaHC/oFiACJAQUAKQEHAA4EDgBnARMANACUAC8AhwA1AQQKOQGFCkECCAq4AI0KsQGHCqcDDAq6AAwKJAEOCmQAkgpGAIgAawEOAK8ACwqSAQwKbQAMCq8BDQqzAA0KzgAOCtkAEAoDAJQKNQAFCnYDBgouAAYK/gYHCg4ABwrcAgcKdgYICl8ACApHAQgKaAIJCnwDCgpWAgoKAQMLCoYACwrrAgwKegGOCmEAiACaAocAiwYGAI8ChgBABocAKAOFCv0DBAscAAULuAEHC/gACwtBA4wLWAGGC3YGhAAYAYwANgAEAKUBhQAkAoQKmQAGC1MB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hQoxAYQL9wAHAHMFCADmAQkA7AAJAG4DCgDaAAsAXwATABEAkwAfAAcA+wcIAKACjQDAAQQLuAAFC4YBBgtRAQcLFwAHC+4BBwtqAgcLsAUICxsACAtXAgoLmQCLC8YChwDSAYcK1AQGAKcABwC6AAcAkAIKAIMCBArgAQYKLgEGCmoGBwpFAwcKCwYHCnkGCAqtAQkK5AANCiEBDQpXAZMKZQCGAJQFhgCgBQUAnAEHChYBCgrjAgsKxAKNClwBhgBeBIgAMgKUCy4ACQA8AYsAAAGGAOsGhwCmBIkAhAAKC+MACwvxAQsLxQKMC58BjwBCAAYLaAEHC4AGiAveAZAKHAAEAD0BhwD/BAUAPwCFAP0BiAu7ApEKJACGAMMFCwtXAY4LfwCEC+MChAAgAYcL3QYIAFkACABsAgkAYAILAHQCDABCAY8AfACGAMkEBwClBAQLQwAFC6YBBgprAQcLDQQHCwkFBwsTBgcKowcICtUCCQvlApELbACGALwFBgCxAoYAqwWKAHgAlwABAIkKJQOOAEkBBQotA4cK/geHAOIAigtgAAcAPwcFCsgCCwoRAA0KQQGQCkMACQDNAQYKQAEHCg0DBwqBBwkKNwAKCroACgoRAQoKmAIKCiEDCwrkAwsK5QMNCp0AjgqqAAgLywAICg8BCws3AwsLTgMMC+IBDQuFAA0LFQENCy4BDQvQAQ4LzQCOC90AhwBCBQQLwQGFC84ChgBVAA4AKwEHCmcABwpfAwsKuACRCj4ABAtjAQYLNwEJCwABiguUAYkKkwKKC/YChQs7AwULQACMC0UChgCTBAQLugEHCxcEBwtIBYcLawaEANQDBQvRAwYLIAEHCxAChwspBAUAFwEGAOsABwDUAQgAvgEJAH0CCgDNAgsA4gKMAAIChAAlAQsKUQGOCi8BiAsdAQUAEQAGAHMBCQAQAgwAbAGEC/4ABQpNAAcKrwUKCksDkwpJAJYABQCECsoBBgsMAAcLwwSRC0kAhwqMBQYKbQCKCn4Bhwt9AAYKSgEHCjwEiwqOAAYLcQEGC/YBBwsMBAgLXAEJC8QBCgsaAAsL4AALC4MBCwsEAwwLXwAMC3UCDQvDAA0LzwANC/EADgsEAQ4LDgGPC4wAhAsNAQUL4AEHCxQCBwutBAcLTgUICyMBCwtdAY4LjAGWADAACgBZAg0AYQGNAHgBBQALAwUAJwMGAHcGhgCMBo4L3wAEAMQABQAuAoUAtQOUCw8AhwvkBoYAKgWEAPACiwDhAocLkQKICxUChwCcAQQA4wAFAJ8ABQCZAQcAUAAIACwCCgDfAQwAogEOADIADgB7AA4AwAAOAPkADgAnAY8AGwAHAL4FCABCAAgAiQAIAPkCCQB+AgsAUAALANQACwBwAQsAogEMAAgADQAPABAAPQARADsAEwAcAJQAVACHCsEHBAvTAAQLTAEFC08BBgvuAAcLDQEHCysDBwsFBwgKegAIC0QDCQv7AY0L8gAGAKsChgDkBAQAaQOECuoAhgBDAwYAJgAHAMQECAC5AAgAAAEJABYACQBLAQoA4gILAM0ACwAcAgsA6gINANEBDgBYAI4AwgCKANoDBQvxAwwLRgKSC4MABACfAAYAcwAHAPwABwABAQcAiAcIAEUACQCAAQoAWwAKAGcCDAB3AQ4A6wASAHUAkwB7AIUAjwOIABYBBQquAQUKpAMGCoMABwqhAQkKCgILCjoBjQqGAQ4KlQAOCo8Bjwo5AAQAlwAHAB8GiADtAgUL5AAGC8sABwucAAgLWwGJCwkBhAr7AQoA3QOMALwDhQDeAwUAwgAGAJ8DBwB+BgkAWgCMADQCBApXAYUK/wGFAKkBBwrHAYoKTwIEAAYDBwvcAQcLOAaKC1cABQDLA4cKZQUFCz4Bkwt5AAULIwEHC/0CCQuFAYwLJAKGCj8CBAA7AwwAhgIMAMECDADIAowAygKLAPACiQCWAgUASAAGAAgBBwAVAAcALgAHAN0HCADXAAgAAQIKAAoBiwAWAIsLCgIGAO8ABwB2AAoAXwALAFsCDQC7AQ4AoACPAAQABgCvAYYAnQIHCmcEBwokBgoKKQEKCqYBCwr8AgsKKgMMCggBDQpmAA0KLAENCuQBDgqTAA4K5QARCkcAEgp2AJMKeAAFAGoDBgCNBg8AAAAKCw0CiwtSAAYAQQAHAKsDBwCUBAcAhwYJABwCCgC4AgsACQELANwCCwCgAwsAqQONALYBhgBGBYgLIwKEC6YBBQtjAZELAACJC4kDBQCqAocAXweEACkDBAC4AoULYQMGADIEBgDABQ4KIwCOCr8ABQuSA4YLWQaFC+oAhwtnBYkLDAOECn0ABADWAoUAdgIIACIDiABGA4QK0QIGADkFBwAIAxMAOACICpEAhADKAwcKGAMICpMACgo1A4sK/QOLCsoDCACsA4kAHQOHCyAFCQD4AAoAkAEHCzADBwvZBAcKzwcJCxsBCQsIAgoL1QAKCzMBCgvPAQoLnwIKC+oCCwuRAQsLGgMMCwUCEgtrAJMLcwAGAJ8HhgD4B4cLUwENACkADwBdAAUKqAAFCqIDCApKAAkKbwIMCvQBjApDAgYAdgAHANcABwDxBYwACwAGCtwABwpNBI0KaQAGC6UBBws9AAcLBAYKCwsAigv1AQcAZwKKAPsAjAt3AocAFAQGChMABwqFBYsKrAGFAOEABwpgAAgKkQEICr8CiQqAA5EKdAAGC2YABwtIAA8LjgCTC0MABwqpBwcKrQcICr4CiAruAgcK7gcICpYACArhAgwKbgGXCx4ABAByAQUA9AIHAC4Fhws3AwgKIAMJCpQACQpoAwkKegMLCjUBCwrpAw0KCwGNCkMBBgB+BgcAMAAIAAMDCgB0AA0AaAAOAGkADgC4AA8AqAATAFwAlABEAAoA0QCHC04HBwtEAAgLMAAIC1gACAtGAggLqQIJC3UBCQtgAwsLnQALC1ABCwtLA5QLGwCGAKIDBAtYAAULiQAFC64ABQsJAwYLgAYGC70GBwtNAAcLqgEHCyUFBwtLBQgLfgAICzMCCQsLAgkL7gIKCzYBCgtEAwsLKgALCz4BCwvbAgwLRAAMC1wADAv7AQwLtAINC1EADQvuAA0LdgESC4oAEwtOABMLbwAUCzcAFAtNAJQLXAAEC6oDhwsnBwUKIwIHCqgBCAtpAooLXwEGAAYFBguEBgcL2wUIC3UACQs6AYoLrgAGAPcCBgB+AwcLwwKLCzMCBAB4AIcAZgcJAIEBlQARAIoArQGFC5MBBQA0A4cAowMKAMcAhQqFAAYAlwAGAIsGBwB/AZcACgAGAPkCiAq7AAgAbQEKCgAACgoyA4sK3AMECywABQs3AQYLnAAHC38CBwv6AgcLIwcJCwgACQvOAZQLUwAEC1oBBwtzAAkLtAAJC8gBigtrAYgKrQIHAD4EkQAuAAYAWAYLAAsADACmAQ0AvAGOAGgBBgD8AwYA7ASGADUGBAArAAUAWAEFAGUBDgDYAZYAOgAGAEgHBgBKBwYATAcGAE0HBgBSBwYAVQcGAG8HBgB3BwkAmAMJAJkDCQCcAwkAsgMJAL8DCQDDAwkAygMJAOUDCQDwAwkA+QMMABsDDAAdAwwAHgMMACADDAAjAwwAKwMMADQDDAA1AwwARwMMAEkDDABQAwwAjwMMAJkDDACaAwwAnQMMAKkDDACwAwwAsQMMALkDDwC4AA8AvwAPAMcADwDtAA8A8AAPAPMADwD2ABIAywAVACgAFQA0ABUAOQAYABcAGAAcAJgAHgCGANUCkQs6AIUAeAOJCmoDBADHAggKBgMKCp4CjAozAJALKAAGC7kABwtrB4sLoQKJCr0CiQC4AQQLRwEFC94BBws0BQgL8QKMC+MABAp/AAUKXgEGCmQBCAqqAQkKPAIKCvcAiwo4AQUL/AOFC/4DBAtnAIULkQEGAHkHBgCGBwYApwcJAJIDCQCrAwkAuAMJANMDCQDeAwkA5gMJAOsDCQD/AwwAOwMMAEIDDABNAwwAkAMMAKcDDAC3Aw8ArAAPAK4AEgDGAJUAPwAFAL4DBQDbAwQL8wGHC40FBwB1AwYKOwAGCuIGCQpbAo0KjQEKCz4AjQukAAQATwOHAEYBCwAUAY4AJQEEAEEABQDfAQUA7AMHAHkHCAA9AQkALgEKAGQCDQAWAIQLYAAEAAUBhwD+AYcA6gUGCm8ABwoEAAgKowAICggDigo2AgQAIwEJAAMCDACYAAwAuwENAIgBjgBlAQcLjwGHC9QFBABNAosAGgEGCzMChwrKBwUKKQGHCg4EBACCAAcASwOHABoGBQAqAAUAbwMHAPUABwBEAQcA/AULAM8BCwDYAQ0AawGQADQABACGAIUAdAGFAKgCiAprAQYAzQcIAKcDiADRAwQAKgOHAGIGhwqLBgcAbgUEC44DhQtAAwcKKAMICwoBiwtCAoQAhAIEANYDigBjA4QKGAGHABwCjAo2AIcAewCGALoHBAqlAYUKJAIGAG8CiAAVAwQAjAMFAGcBBQD8AQYAuwYHAFcBBwDMB4cA6geGAMQEBABVAYcA4AEGCv4ACQptAIoKZwCGAHgDCAsQAokLXAEHAMsHCAArAQsAegMMAKICBAsUAIULaAKHC0YEhgpeBgQA7gAFAPcBBgCzAAcA0wcIAH0BCADZAQkAlQAKABQDDwAtAA8AVgAUAG4AlgA5AIUKnwIECxoABQutAQYL9QAHC8ACBwtjBYcLwgUEAHkABQCcAAUAXQEJAK8BCgBdAo4AVgEHC68DiwtmAoQKeQOEC20CBwpmBQcLZgWHCnYHhApzAoUKBwOFCx4ChQtkA4gLsQEGAF0FBwDzAwsKagELCrQDjAqEAQYAUAAHAK0ACQAjAgoA2gIOABIAFgAnAIcL1wUGAJ4GhwC2B4wAxAAEAJsDBgD7AQYArwYHCsMBCAqFAQwK6gENChAADQrXAA0KXwESCoQAkwp9AAYAhgKGABcEhwpJA4gKNgIGAEsGhwC+BIsAngOECw0ChABTAgUA8AAGAMsBBwAMAAcAcgAHALUDBwDZBgcADQcIAJICCQABAAsAvwONAL4BBQqQA4YKnwaEAL4BBws+AAwLLQCTC3AABQrsAAYKPAIICuwBCwpqApAKOAAFCr4AiAo+AYcKYAUEC98ABgtnAQsLAwANC2wADgtZAJALFgCEC4cChgDqAYYA6wGGADAGhwutAooL3AAHAPoAiAD7AYQAngAEAIwABwBqAQgA0QAJAAoACQCgAAkA9wEJAGYCCgCxAgsARwELACkCCwDVAgsA/wIMAPwADABHAg0AwAAOAA0BDgBkAZQAMgATAAEAEwAaAJYACQCEC20ABgDkAAcAPQUJAJgBigBXAQQAdQEFABsBBgDgAQcAYQIKAFwDigBuAwYACwOGALkEBAAtAgcLBwEHC3QCiAtdAYQAJAIHAMUACACOAAgARQEJAJYACQBUAgoAXgEKAGEBCwBKAAsAOwEMAJYCDACpAg4ApwGPAI0ABAsoAAoLQwALC3UACwsAA4sLpwMHC+ADCAstAQkL0gIMCz8ADQsdAA4LoQCPCxIABgDSBYoLFAIFAEQCBwB6AQcAogIHAJAFDwBTABAACwAPC1MAkAsLAAYAIQQGADcFCgA8AQcKVQAHCvcACApJAooKowAEAKkABQBTAAYAjwEGAEMCBgDpBQcAtAIHAE4DBwD3AwcABwcIAJMBCQCKAQoAhQAMAAQADAApAQwAxAEQAFEAEgAZABUADgAWAAwAlwASAIYAUgQHAAoGCwArAY4AlwGGAKgEhACxAAUAmwGHAI0CBwC3AQoA1wILAAQBiwCsAooKkQCTClMABQDQAAcA8QKHAPgFiQtpAocKggeHCzkDCwCmAQ0AhQEECnwACgrJAQsKeQALCqkACwpmAwwK1gAOCrsAjwpNAAsAZwIPADoACwtnAo8LOgAJAGoCigDiAQYAoAcGALIHjgD5AQcKqQSHCy4HhQDyAIcKNQUGCmsABwp+AgcKYAaJCowBhQC5AwUKcgGGCtwGBQscAAYLzAAKC0ABCgtHAg0L9gEOC0gADgsSAQ4LOAEOC1gBDwufABALPgAQC0UAEQseABILKgASCzUAEgtUABILjAATC0QAEwtVABQLBQAUCy0AFAtlABYLBwCWCxQABAsuAgYLhgEHC6IABwuxAgkLaAGKC40CCwAiA40AQwCFCswAhQAiAQUKygOGCqoGhAB8AQUANAAHABUBCQBwAYsAFwMFC1gDBguIBgYL3QYGC/UGBwt+BAcLkQUHC60FjAsBAgULXAAHCgMACgvgAowLZgAEAHAABQCNAgUK4wEFCq0CBgrpAQcKtASICooBhAqZAwYABASFCu8DBQtOAgkL1QCRC1sAhwqgBgoAigCLANwBBQDVAgUA1wKHABMHBADTAwYAHQcGAC4HCABsAwgAcwMIAHkDCAB9AwgAfwMKAKYDDADQAg4AywGUAHsAhwsnAgQAJgAGALMBBwAzAQcA5wMHAMkFBwDEBgcAygYIAHMBCQCeAQsAPAEMADQADQCkAZMAZACHABAFhArIAoYKXQaFANMChgCLAogLvwAJCxcDCgtdAAsLLQEQCw0AEQsXABILhwATCwwAFAsBABQLDACUCw4AiAv3AQYL0gGHC58CBgCwBIYAMgWHAOcEhgDaAwUAbQAGAPgGBwBnBwwAKAGMAC4BhwvXA4UK5QGGAJQChgAgAwUA2AAFACYBBgBPAgcAVwcJAI0ACQAOAQkApwIKAJ8ACwDFAAsAtgEMABoCDAAvAg4AkAAOAKcADwBDAAQKHQEFCj0BBgotAQcKBwAICpkACgr+AgsK1AEMCtMBjQqPAIgAsQOGAEIEiQBRAAwL1AETC2AAlAsYAIYAhwGKC/EABwBCAYgA+QCGAIQFhwsbAwUAeAKKAA4CiAozAwYAkAAHALQDBwASBAgA6wAIAM0BCQDFAQkAHAMKAGIBEQBNAIcLugOLCpUDBgCsA4YAzAQEAGoBBwA0AIcALwEGCyUCCAsiAAgLGwEJC6UAigvbAQcLcgEHC+8DBwuZBIcLHQYFC4wCBQu9AocLwQEFAMQABgDmAQcA1AAIADUBiABaAQYKtwYGCscGBwrgBwcK5AcICkUDiQpUAwYLnwAGC2wBBwsEAgcLnwWJCwYChwB4B4cACgWEAK4CjQuXAIoAcQKIAMICigo4AosAnAEEAB4AhQArAAgKQwCKCqMBBwDHA40ACwAMAPYCDgC5AY4AzgEKCpECDgopAY4KaQGLCtkCBADcAIcA/wUHC/UBCQtvAAoLjQALC0wBDQsrAA0LrQEOC4IADgufAZELZgAEALYDBgBDBwcACwAIAGkDDADGAgwAzgIMAOwCDAD9ApQAfAAFC5UABQunA4gL6QCOCyMBhgArBgcAegMICjMACQpkAwoKQQMMCuEBDAo6ApQKagCNAAIAhAq9AYgLIQOHAO4GBwC9BooAiQEFAAcBhgCeAYQLQgGFCu8ABwDIAQcKxgcICoIAiwrQAokAMgMFCnsABgoSAgcKXAGHCosFhwroBwYAsgAGANYGCAD7AAkAsgIKAJsACgDEAAoAdQELALoCDQCbAJQAXQAFAGEAiQCJAYYAogILAN8AjACoAIQK0gCLC9ABBgBnBpIAnwCLCwIABwCmAwgAhwIRAGEAEwA7AJYAAgCEAL8ABQClAAkAWgEKAI8CCwB1AwQKrgGHC2UBhQBtAwUK1QCFC5YBCACAAIsAswAGC0UAhwt1AIcAEQULCysADQtIAI0LjgCHCyYHjgCkAAUAOQAGAGUABgBKAgYAfwYHAIQABwCCBAcAhwUHAOMFDADtAQ8AaQCXAA8ABQDLAQcAMQQIAPEAiABOAYULOgOFCmwABQrbAAoLhAALC78ACwtmAYsLzAEGAEQBBgAIAgcAUgEHAMEGCADkAIsA7gIVAB4AFgA1AAQKwQAFCpQDBwpsAQoKjgEKCtYCCwo9AQsKcgIMCo4ADAogAQwKpgINCjkBDwpxAJIKcgAGC24AhwuRBocAjgMGCvEABwqLAwgKQAMJClYBCgrZAgsKHAELCr0BCwqLAgsKXwMNCo4BkgpjAAcAwQIJAN4CBQvoAwcL3QKJC0cCBABJAAYAZAIHAJ8DBwAeBwgA2QAJAP0CCQD+AgoAmAELADMACwAZAwwACgEPAJ4AFABZAJYAIAAHADIFBAspAQYLEQIHC5gABwvJAgcLNQcIC8YCCAvNAowLfwIFAIUBiAB8AoYAgQUECjICCQr+AIsKbwOGAH0DhAoSAwQLCAKHCz8CiAAVAIwA0QKIAL8DBwuUBQcLaAYJC6kACQu2AAkLbwEJC94BCQv6AQkLJwIJC4gCCQuLAgkLuQIJC8ECCQvVAgkLEwMJCxoDCgvGAAoL1gAKCwsBCgsTAQoLyAEKCycCCgsxAgoLZQIKC3MCCgucAgoLowIKC7MCCgu3AgoLwwIKC8sCCwu3AAsLyQALC/QACwsGAQsLYAELC7cBCwvtAQsLPAILC08CCwtgAgsLYwILC4YCCwuiAgsLxwILC+8CCwv5AgsLCAMLCxEDCwtSAwsLVQMLC14DCwthAwsLZAMLC4IDCwuGAwsLhwMLC44DCwukAwsLrgMLC70DCwvHAwsLzAMMC5QADAvDAAwL3AAMC+0ADAs+AQwLUwEMC4kBDAu9AQwLwgEMC9oBDAv9AQwLFQIMC08CDAtSAgwLVQIMC20CDAt5AgwLggINCzsADQs8AA0LkQANC+8ADQv6AA0LEQENC0kBDQtYAQ0LbQENC3QBDQuDAQ0LkwENC54BDQvIAQ0L3gENC+MBDQvpAQ4LNwAOCzkADgtRAA4LWgAOC5QADgvvAA4LCgEOC0EBDgtGAQ4LRwEOC0oBDgtbAQ4LYwEOC5EBDgubAQ4LngEOC6ABDgukAQ8LPQAPC0oADwtXAA8LWAAPC14ADwtgAA8LdAAPC5UADwuaABALMgAQCz8AEAtJABELAgARC0IAEQtcABELZwARC3AAEgsyABILNgASC1IAEgtWABILWgASC28AEgtzABILnAATCygAEwtPABQLTgCVCxYAiQuqAIYAmQWHCxsFiwubAQUAvQAHALoBBwC7AQgAGQEMAK4AjQAFAQYK2AAHCoUDBwo/BYgK7QEFC40BBguaAAcKVQEHC6QCCAu7AQgLYQIJCxgACQtFAQoLIwALCtsACwsXAgsLoAILC/oDDAt9ApALHgAGAAIABwC/AAcAvgEHAO4EBwDJBggAFgAIAA4BCABkAgkABAAJADgBCQC0AQkAcgIKANgACgA3AQoACQIKAG8CCwBIAAsASgELAMcBDABBAQwA+AEMABICDAAfAg0AEQANAJwADQBOAQ4AgwARADwAlABAAAcAYgEKAJoBiwAvA4sKggAHCsYGiQt3AgwAqQEPAHAACgpzAAsKpAENCpQBDgpaAY8KNgAGADwABgCmAAcAdgEHAJ4CBwAvBQgAmwEIALMBCQCNAgkA5AIKAIEBCwDeAAsARAELAD0DjABjAgcASwYNAA4ADwAsABMADQCUAEwAhQvVAwQLOAAHC/8GCAtfAggLiwILC9EBCwtDAwwLUQGNC+ABBgDGBQUK8wOICr0CiwBUAgUAzgCGAI4BBAo2AAUKmgIHCg8EBwpqBAkKwwCKCi4BBwAyAAkLngCKC5sBhwtgBAYABQIHAIcECgBtAgsAwACGCoUGBABQAgYAWAKHAHUGCgDfAIsAhQKIC4sABwBAAIgA9QCOABYBBgtuAocLBgSIAFwChgDeBYoACQGNC6gABwDjBowANgEHCh4DiwvPAgcLoAAKC3ACjgsXAYQLawEHCnoACQoDAQoKVAALCtYBDAodAo0KewEFAIEABgA9AIcAswOGAEwFhwunBA0A+QGNAPoBCwDoAwUKUgAFCoMABwrbBggKHwAJCqgACQr8AosKZQOGAMYDhgpdAoYLJAEFC7EABgtoAgcLOwMJCw0CiguQAocLzgWKCx8ABQoWAYkKRAAECqMABQrJAAUKMwEFCjYBBgpPAQcKHAGICqUABgBHA4cKfAaICg0DBgohAIcK3ASFAH0CBAuhAIULdwKJAE4CBwqhB4gK0AIFABgBBwDKBIoKywCGAGoFBQAZAQYAAgQGCkYBBwqlAokKqQEHCxUGhwuUBocAKAQJC9UBCQvFAgwLAAIOC0EAkQsMAIYAlQMKC+UACwtJAAsLeAGLC7EBBwArAgkAwAANAB4ADQAxAA8AlgAQAEwAFAA0AAcKJAUHCoQFBwovBwkKTQILCvEACwqkAgsKKwMLCnsDDAqMAAwKWgEMCt8BDQp9AQ4KvACSCh4AlQAPAAYAWgcGAFsHBgBpBwkAsQMJAPYDCQD8AwwANwMMAEoDDABiAwwApgMPAPIAkgDQAAYAxQOGANsFBwAhAAcAeAAIAOkBCQA/AQoANAMLAOwDDAB7AQwApwINAHUADQCcAQ4AGQAPADQADwChABAALwCVAAIABgsuAgcLiwIIC6UBCQsAAIoLIgAEAKkDBQAhAwcA2QEFCmYBBwqgBAoKlgINCtQADQowAQ0KTQGRCmIAhABtAwYAtQKGADgDhABtAQcLKAeKC3YBBQAHAIsABgMEAN4CBQCWAoYArgEEAOoChwBCBAUAaAEIAO0ACgDnAJMAfACKC1wBBgsGAAcLUQAHCwMDBwvDBgkLlQGKC6UBBgDkAokANgOFCrIDBwDNBYgAoQMHCpsBCAp3AgkKQwEKCmMBCwrrAQwKjwAMCpIBDQpJAA4KmAEPCmsAkgpHAIcKTgIFC3EDhQt1A5YLGQAEAFQDBQuOAIYLIgIHCrsFCApIAQoKIAILCrsDDQpAAZEKUwAJABEACgAjAQsK/wENCooBDgoqAQ4KPgGSCmcABQvSAQsLOwIMC8YADQsbAQ4LugAPCxUAjwtnAIYA6QMEC7kABQsBAQULRwMFC6gDBwurAAkLjwEKCwIBCguLAQoL3gILC/YDDAsXAA0LXgEOC5YAkwsGAI8AIwCEAD8DBQpDA4YK4wEEABUBBQBgAgYA7QEHAMkBDACAAQcLlAEHC2EFBwuWBQcL4QcIC5UACAvvAAgLAAIICxkDCAsyAwkL2gEJC1MCCgt6AAoLNQIKC4kCCgsPAwsL7wALCycBCwu/AQsLEAILC38CCwsgAwsLqAMMCxkADAtJAAwLTQAMC50ADAs8AQwLhgEMC4cBDAuKAQwLiwEMC94BDAv3AQwLUAIMC6gCDQsyAA0LNQANC4QADQvGAA0LEwENC0IBDQufAQ4LRwAOCwEBDguLAQ8LRwAPC4gAEQt7ABILXQCTCzoAhgBHBQcAGwCHADwBiAvIAogA2AOFACgCiQAIAYQAkQEGAMYCBgBXBIYAPwWGALsECQAfAgoADAILAGwACwCNAgwADAINAHsADgD8ABAAEgATACYAFAAaABQAQQAVAAMAlwALAAQAzQAFAG8CBwBoAAgABwKJAMwChAqlAgQLeQGYCw0AhwuJBgcAQwIJACkACQD0AAkAnQIKAAUACwBdAwsAtwOLANQDhADNAogA8wOEACUDBAu0AIcLcgeECgkDhApLAYQA6QEGAAAEBAvrAYUK6wKHC54EBAurAIoL6gAEC0oCBwuiBIoLdwKHAHwDhwtQAQkLowMKC04BlAtHAIkA2QEGAGADDACTAosLngMHADMDCQAaAAkAiAEKAJgACgDiAAsAEwAMABQBDACqAQwATQINAMwBDwBhABMAMACUAGgAhwAzAIUKRgEECrMCkgoQAAkAggALAP0CCgqoAgoKGQONCmUBhQv9AggA5QAGCiAABwqBAQcK9QIHCnwHCApeAAgKxwIJCh0CCgqiAAoKGwMLCt0DCwryAwwKDgCOCjQBBwvaAYkLQgKEAKIChAACAwUATwAHAAMEBwDFBYsANACFC6gBhgCCBgYAmQEGCl0BBgqSBgcK5AQICnAACAvKAgkKswEJCpwCCgoiAQoKPwEKCi8DCwq0AAsKRQMMCvAADQqYAA0K2wCOCp4ABQAVA4YAwwAEAPsABACwAgcAAQKHAAQFhApFAgkLpAEKCw0BCgsdAQoLQAILC40BDQuvAJELWgAGCn4ABwo9AggKjQGOCiwAhAutAYUAeQMEAKAABQBKAQcAmgWIAK4ABwsSAAcLuwIHC64HCAvwAgkLEQEJC5wBCQu/AgoLRwAKC6sBCgv8AZILYQAGAGgDhgCDA4UKngOGAGYEhgCWAwQLNQAFC7oAhwvwAgcADAGIADkChgDIBAYAUQUHCtAEiQoTAggLPwIKCyEBiws/AYUKngKEC6MChQB2AYcKpQeFANsCCwC+AA8AMQALC74AjwsxAAQAcgIFAPoBBQCCAgYAqQEKAMoAiwCNAIkAvAEHCvIAhwqWBwYL0QAIC9QBCQvSAAsLJAAMCxwADAt2Ag0LFQANC10BDgsHAJELDQAEC1YBhwubBAUKQgMHCrIECAoOAAkK4QGJCnADBAugA4ULjgMECz4BBAvwAQcLWAOLC44CiABDAwcA9gWKCtEBlwARAIcA3QEECmUBBgqsAAcKjwCJCp0BBgBeBYoA4gMSAEwAhApOAgcAHwEIAGMBCQAlAYkA5wKGAG0FBwuTAwgL9wCTCwAABAvKAAULfgEGC8YBBwuoAwcLCwcIC/YCCQt3AQkLfwMKC+cCCgsYAwsL0gMLC/QDjgttAAUAgAEIAMcBjAAwAIQLhgEFCqkABwpNAYgKLQAFAAgBhgC4AIoLFwOFC80ChArGAAYLvQEHC0wBiQuNA4gA6QMEChgABQqMAAUKuQAHCtwFCwo1AosKRgOGC0ICBQB5AgYAHACHACsFhABTA4gLCwEHAGcBCADzAIwArwAECk4BhQpRAo0LVwCIC/4CCgAfAQwAigAKCx8BjAuKAAQAaQCEAOQCjAp0AIYAWQOHCzEHBgB6BYkAMwOEC0gChArFAoUKgQMFAOAADQCuAJIANACHCjAHBApgAoUK8QGLCzwABAD2AocAcQYEC+IABAtGAYcL6gYFC6oBCAseAAkLAgALCyUCkwt6AIcK9wcGChwCiAqIAAQAPQIIAI8CBAqBA4UKEgMHAF8BiwCAAIUK5wMECisBhwrsA4UAlgOEC1kBBAuBAQcLCQGHC0sChQrIAYgKtAAGAK8ChgABBgQLWwEFC6cBBQvkA4cLMQWECvMCBwvrBAkLfQALC0EAjAsdAQULiAAGC4gAiAuEAoYA9QUEAPEDhwBzBIsKUgGEAFQBhwq4BQgATwMKAF0DCgBsAwoAeQMKAJoDCgChAwoApQMMABADjAAXA4sAsAAJC4YACgsCAAoLGwAKC00BCwvSAo8LAQAEC7EBhQvPAgUA2QMHAP0BBwARApEAYACEAGcCBAp6AwUKJQMFCjMDBQrBAwYKjAEGCl8GBgqOBgcKrwcHCvkHCQp2AgsKCAALCvsDDAqwAA0K4QAOCiQBlQoYAIcAfweGAGsEkAsVAJALMwCHChcHBAD3AAcK4QUKCr4ACgp6AgsKGAMMCmYBjAq/AQUKAAAGChgCBwpcAg0KvQGRCn4ABAC4AAUAhgEGAFEBBwAXAAcA7gEHAGoCBwCwBQgAGwAIAFcCCgCZAIsAxgIGCugABgqcAQcKMgQICgkACAqdAAgKEgMJCsQACQpgAQkKyQEKClEBCwroAAsKbQMMCuABjAoiAg0AJgCHCr4DBAp+AYgKQwIECtQAhwq2BAQLKwIICxgCigsgAQsLiwCLC6sACQtyAYoLWgCEAPcDhgBABAUKjwKHC9EDhgAxBhEKQwCTCkoACgDjAAsA8QELAMUCjACfAQYAaAEHAIAGiADeAQcAXwAGCucAiAqnAYwLQQAECwEBhwvvB4cL6AaFCiwBiwvTAIgAuwIGCu0ABwpjAggKZAAJCqABCwpPAQwKrQCSCmUADgAaAJIAlgAGAEUChwBfBIcKuASEAOMCBgtTAAYLxQaHC20FiQBlAwQAQwAFAKYBBwANBAcACQUHABMGCQDlApEAbACFCscADAqrAZIKJgCIANABjgAqAAoAYAAIC/UBiQu4AoYLUAIEAAACBADGAwUAVgEGAD8HCABlAwgAawMIAIUDkAAaAAgAywALADcDCwBOAwwA4gENABUBDQAuAQ0A0AEOAM0AjgDdAAQAwQGFAM4CBwu2BgkLXwAJCxIBCgsXAQoLPQEKC6QBCwsvAQsLKAMMC4YADAtvAQ0LlQANC1sBDgtdAQ4LlgESCxYAEgtZABILegCTCy8AhQsaAAQAYwEGADcBCQAAAYoAlAGECyYCCgD2AgYKOAEGCrMGCgpIAgsKIgILCrQCDAoDAQwKJwENCi4AjQqaAIgLNgMFADsDBAuGAwULKQMGC3oAhwuAAwUAQACMAEUCBAC6AQYA4wIHABcEBwBIBQcAawYHC3cHCQvBAQoLwACKC+QChwsGAYQKTAKFC2wCBQDRAwYAIAEHABACBAsiAAULPgIHCxcBBwtYBogLWQIGAF8FBArnAAUKPQAGCmgABwrZAgcKxAMHCnoGjAqeAQYKBwGKCvUChApAAQQA/gAHAB0FBQtMAYcLHQUGCwUBCAu2AIsLrwOECuEABgAMAIcAwwQEABMBDAB4AQYLuQaNC+oBBAulA4ULcAMGALcDBgBVBAYAnQQHAJoABAqVAQcKMQMOCjoAEQolAJIKfAAGAPAFhQrOA4YA2QYGAHEBBgD2AQcADAQIAFwBCQDEAQoAGgALAOAACwCDAQsABAMMAF8ADAB1Ag0AwwANAM8ADQDxAA4ABAEOAA4BjwCMAIQADQEFAOABBwAUAgcArQQHAE4FCAAjAQsAXQGOAIwBBQrrAAcK1wQLCoMAjApyAQcKvAMHCoUEBwriBQcKRgYHCk8GBwpTBgcKyAYHCu8GCApOAgkKRAEJCuACCQoGAwkKCAMJChADCgo3AgoKxAILCgYCCwplAgsKtwILCswCCwrjAgsKAgMLCgMDCwpQAwsKWQMLCqMDCwqzAwwKRgEMCoMBDArkAQwKEAIMCigCDAplAg0KvQANCgABDQpUAQ0KsAENCrQBDQq4AQ0KxgEOCq4ADgrcAA4KHAEOCoYBkQp5AAgLVgIJC5gCigu5AQkKiQCKCt0AhQssA5QADwCGAD0FBgD5AwQLiQAHC5oEhwvwBQcKhgGKCowABwvsBIcL/gaJC78Ahwp4BAYAEgcHAJECCAB2AwoAWQMOALgBkABgAAgAFQIGC30GBwu3BwcL2QeHC9sHBgCtBYYK0AGEC8sCBQqXAQsKzAALCvMACwrpAQwKJQETCiUAFApJAJYKJgCFC78CBADTAAcAywUFCkUBCAoFAAgK4wAJCmkACgpJAowKZgIEAEwBBQBPAQYA7gAHAA0BBwArAwcABQcIAEQDCQD7AY0A8gAFC1kABwt7BwkLuQAJC+sACQvwAQoLQAAKCw4BCguTAQoL1QEKCxECCgtOAgsLjAALC1wDDQsBAA0LpgEOC1UBDgtsARELXQASC3EAEwthAJMLcQCFC7cCEAATAAULBgAGC7cABgptAgcLqAIHC9IDBwv1AwcLHwQMC+YADQusAA0K+AGSCx0AiACcAIUA8QMGCx0Aiws/AIYANAOGCtoABwrGAQcKDgMICgADjAquAgUA5AAGAMsABwCcAAgAWwEJAAkBEgAnABQANgAVAB8AFgADABcAAAAPCwgAEgsnABQLNgAVCx8AFgsDAJcLAAAHAGsEhwC8BZAKAACGAPwECgqkAowKzgGECzcBhgvMBgcLqgAIC1oACAuxAAgLnwELC8oCjgsZAYYKpAAGAAAHigBRA5YKMgAFACMBBQA+AQcA/QIJAIUBDAAkAggLCgKOC0gBCwtbAA0LgQAPC2UAkQt9AAQL7gEGC0oABwssAAcLlwEICycCDAsRAA8LBQCUCwsABAsUAYULKAEGClcBBwrDAAcL8QYJCuIACgrFAAoKPwILCvYBiwqDAwoADQKLAFIADgDFAQQLBwAFC1oABQueAAYLHgIHC90ABwsmBgkL6gEKCxwCCwu7AYsL9QKHAJoCFgodAJYLHQAEAKYBkwoIAAUAYwGRAAAABgBRBwkAlgMHC0wCCQuvAIoLEgKPCx8ACwClAAcKZQQJCo8ADgqVAZYKFQAJAAQBiQCJAwULaAMGCzkABgvfAQYLMgIHC9cBBwskBAkLvwEJC8YBjQsGAIoLwAKFAGEDBQCSA4YAWQaFAOoABwBnBQULHwAGC2YCkQs9AAcLsASKC8wBBguoAYcLSgeIADIBBQq/AwwLHgANC5QADgtXAA4LtgAQCyoAEgtcAJQLRgAGAH8HBgCBBwkAmwMJAKIDCQCtAwkAtQMJANsDCQDcAwkA4AMMACIDDAAvAwwAWAMMAHUDDAB9AwwAggMMAJcDDACYAwwArQMMALMDDwC3AA8AuQAPAL0ADwDFAA8AygAPAOkAEgDaABIA2wASAOkAjwucAIcK3waICq0ADQCjAA0AtAASAE4AFAAjAAULDQCGC44AhgoKAQYLYQAHC3QACAtCAQgL8wIJCyQCCgvKAgsLdAONC0QBhwAgBQkALgOJC6QChQDDAocA1QUGAKUBBwA9AAcABAYKAAsAigD1AQwA3QIMAP4CBwtiA4cLiwSJAFUBjgBiAJELcwCHC1cEiAosAYgA9gMICwEACQtwAIoLRgGEC9oCBQvoAQYLDwIHC+kBBwtkBggLeQAIC5AACAtnAQkLwQAJC/EACQtQAQkLcgMLCwoBCwt0AQsLsAMMC5EBjAuBAgYAywOGAGEEBgBmAAcASAAPAI4AkwBDAJcAHgCHADcDhgAVBAUKqwEFCt4CBwreAYgKNAAHAIoHCwrZAI4KpQAGAOgFhwBOBwkLHwAKC/QACgu7AgwLlQCNC/EBhQt5AZELZQAKC54ADQsNAA0LiQANCwIBDgtvAA4L4QAOC/0ADgswAQ4LUwEOC6EBkgshAAYAVwAGCsYGBwoUAAcKIAQICtwCCQqWAQkKjwOKCrYChgDbBIkA9QAHAEQACAAwAAgAWAAIAEYCCACpAgkAdQEJAGADCwCdAAsAUAELAEsDlAAbAAgLlwKQCwgAhQplAgQAWAAFAIkABQCuAAUACQMGAIAGBgC9BgcATQAHAKoBBwAlBQcASwUIAH4ACAAzAgkACwIJAO4CCgA2AQoARAMLACoACwA+AQsA2wIMAEQADABcAAwA+wEMALQCDQBRAA0A7gANAHYBDgC0ARIAigATAE4AEwBvABQANwAUAE0AlABcAI0AogEEAKoDiQBxAooAXwEFC0sDBwogAAcK2AMIClUACArFAgkKQwIJCk8DCQpYAwoKHwMLCgIBCwrvAwwKSwEMCmcCDQq8AA0KswEOCggADwqlABAKGwCUCigABgCEBgcA2wUIAHUACQA6AYoArgCHAMMChAsqAoULGAIFAJMBBQvPAAkLTwALC3ECkQsHAIQLqAGICxEDBAqnAIcKUgAJAAcAFwAGAAkLBwCXCwYABgAaAQUKPgAGChYCBwpKAAcKpgIHCqwCBwoTBAcKMAQIChgBCAodAggKrgIJCgIBCgoHAgsK/ACMChoBigohAIQKZwEEACwABQA3AQYAnAAHAH8CBwD6AgcAIwcJAAgACQDOAZQAUwAHCwEDCQsSAIoLZgEEAFoBBwBzAAkAtAAJAMgBCgBrAQQLgAOGC/EGhQrTAAcA+QIHABsEiQAhAgYKkQCNClABBwvuAgkL3wALCxsACwvSAQwLcAIOCwkBkgs9AAYA8AIGAAADBgCrBAYA5gQGAFMGiQBDAwYAkAcIAKIDiADAA4QKBwGEC/kADACNAoQKlAMEC1sChQuVAggAWAEECwsABguAAAcL5wAHC/0FigvVAoYAywWGAGsDBgC5AAcAawcJAGsDiwChAg8KmwCQCk8ABwBdAAcA0gAHAMcECADDAQgAzAELAGEBCwDbAQQKVwIGCmIGBwpDAAcKswIHCtMDBwqhBggKzwAICtYACArnAAgKJgEIClABCAqsAQgK1wEICm4CCApyAggKpwIICvcCCAo9AwkKCwAJCvYACQrkAQkKPQIJCsICCQr6AgkKHgMJClcDCQpmAwkKkAMKCi8BCgpPAQoKqAEKCs0BCgofAgoK9wIKCi4DCwo7AAsK6wALCk4CCwqhAwsKwwMLCtsDDApyAAwKtgAMCuIADApMAQwKtwEMCj8CDApWAgwKowINCggADQp9AA0KwgANCh8BDgrFAA4KfwEPCjUAEQo/ABMKLgATCmIAEwpqAJQKVQCEC9wBBABHAQUA3gEHADQFiADxAgUA/AOFAP4DhwsPBwQAZwCFAJEBBADzAYcAjQUKAM8ADQCkAJMKfgAJCxQACgtEAYsL6AGEAGAACQsYAYoLhgCHAMgDhQq7AIcKBgUFC3AABgtnAIYLlgAIAJIDCgADAAQK1wAJCiYACwoXAAsKfwCLChwDhwCPAQYAMwKJAOAABgDAAoYAvgQEC8QCCAsPAAkLMgAJC4IBCwsSAAsLEQKMC+QABAszAgcLbQAHC1ACBwt9AgcLAgMHC6UGCAu0AQgLzwEJCzwACQtPAQkLiAMKC0kACwuyAQwLSQINC0sBEgtuAJQLPACGABcGhAv2AQYLWwGKC6EABAshAAULZgAFC/QBBgscAQcLNwQHC48FBwumBggL1gEJCyoCCQvTAosLTQEHC/YAhwtIAwYLCgAICzsCCQvjAo8LWwAIAF0DCgCJAwwA2gIMABUDhQtyAoYAsgMFAOoCDABNAQ4ATAEMC00BjgtMAQULEgAGCw4CDQsYAA0LbgATCwUAkwssAAQAjgMFAEADhwrSBwoLAAOLCxMDBAs1AQULzgEHC8oDhwtJBAQKHAAFCrgBBwr4AAsKQQOMClgBhgp2BgYAeAIGAIwCBgD4BAYAaAWGABgGhguoBgYAcQWFClUDBgr5AAcK0gSLCj0CBQtWAAcL5wIJC1UACgsZAQoLsAELC+oBDAv7AA0LdgAOC3oBkguPAAULDAKFC+gChgDqBQoAyQCOAD8BBwDNAgoA/gEHCogBCAoUAAgKrAAICrICCQp/AQkKTQMLCiUBCwpAAwsKmAMLCtgDjQrdAIYAZQUFCloDhQrgAwgAEAKJAFwBCgtrAIwLtAEEABQAhQBoAoYA4wSEC58DCgt7AAwLngINC3MBDguOAJILXgCGAIsEBwt9BIkLnACGADMBhQsKAwcAQwSHAOUGBQv2AQYKDAGJCj4ACAvEAAoLGwGLC5YBBAAaAAUArQEGAPUABwDAAgcAYwWHAMIFhQtXA4QAcQMEAG0Chws8BgcLeAUJC74BigstAAYA4AKKCmoAhQAeAoYAXAGFAGQDiACxAYcA1wWKAAMDBgplAogK3wCKANcAjQB8AIgLhwGHC6wAhAqeAowANwAJCigAiwqIAAcAPgCTAHAAhABYA4QLOAIMAA4BiwoDAQgAPAKJALoCBAvcAgkKNgGJCqoCjgooAYYAqwOIC90ChwubBQcKeQWHCsQFBgBgAQQKKAEHCpEBBwqCBQcKOgYHCooGCAo/AAgKlAKJCkoABAusAYULnAIECosABAqEAYwKvAAHC98HjAuZAoQAhwKSAAoAigDcAI4A0AGEAG0AhgDSBgYAAwIECusCBgtXBgYLkQYHCokCBwrHBYcKLwaFCugAhwA2AokKdwMEACgACgBDAAsAdQALAAADiwCnA4QAIQMHAOADCAAtAQkA0gIMAD8ADQAdAA4AoQCPABIAiwCbAwYL1AYIC8sCCQsiAwoLLgAKCzMDDQs0AQ4LXwEOC2sBkgtDAIkL6QIHAHkEBAoOAAcKCQcKCuwCjQrKAQQLPwAFC1sBhgvaAYcAOAIECqkBBwtBAgcLmAUJC9sBCQv5AQkLDgIJC2ECCQuxAgkL1gIJC98CCQviAgoLLAIKC6ICCgusAgsLWQALC8oACwsQAQsLfAELC58BCwv5AQsLGQILCyYCCwsyAgsLgAILC5sCCwuwAgsLTwMLC58DCwuiAwsLrAMMC5AADAtFAQwLSQEMC4UBDAuTAQwLwwEMCwMCDAtcAgwLaAIMC3ICDQtCAA0LgwANC6cADQvsAA0LcAENC5sBDQuyAQ0LxQENC80BDQvaAQ4LOwAOCzwADguLAA4LmAAOCxQBDgthAQ4LkgEPCxwADwtRAA8LewAPC5gAEguIAJQLWACJAPcAhwtWBgkLIAILC50BkAsZAAQAhQIHADkDBgroBocLWQCMAEgBBQqvA4YK8waGAFMFBQr1AAYKQAIHCkYCiArhAIYAAAUFCzgDhQutAwcLuAEIC+YAiwtqAAUAHAAGAMwACgBAAQoARwINAPYB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iAsOAowA4QILClwACwrEAAsKmQELCsIBCwqaAgsKCQMMCgYBDQqBAQ0KiQEPCnMAEAotAJEKUgAEAOIABABGAQcA6gYECz8BBQu7AooLoQIGCigAhwr1BgUAqgEIAB4ACQACAAsAJQKTAHoABgCJBIYAMQWKCmEABgqnAQcKmQKHCroEBwsNAAgL4gAKCxkCCws6AgsLXQILCx8DCwskAwwLVQAMCwQCDAtvAg0LcAANC2kBDgtNAA4LTgARCxwAkwtuAIQLAQOECycChAvYApMAdQAJCzkACQvLAQoLqQELC3cADAu4AAwLcwENC2YBkQszAAULvAAFCy4DCAsKAAkLpQEJC9kCCgthAosLsQKGC3AChwsqAYcAzgEEAFkBiwpwAogKPgIEAIEBBwAJAYcASwIGACgDhAsQAoUAjgGECmIBBABbAQUApwEFAOQDhwAxBYcKFgYHAOsECQB9AIsAQQAFAIgABgCIAIgAhAIFC2gABgutAIcLXwaHANUBhQo+AwQAFgEFANEBhwBXBQcLKgMIC4oACAtWAQkLVAAKC8EACwtzA4wLZwEFCvABhwrLAAQAsQGFAM8CBgtfAIYKIwIFClgAiQrvAAYLlgEKC5kBCgu/AQsLLACMC2QAhgCPBQcKigKHCh4FhgDtAocL2wSHAFMFBgB9AQcAhQIHALYCCAAiAgcKNAQJClAACwpOAAsKpQELChYCjAohAoYLZAaHC0AFDAAVAQcKEgELCt8Biwr7AQYAwQIGAA8DBgD7BAYAyQUECxoBBwsKBAsLjgELC3oCDAsBAAwLTwAMCyACDgvtABELCgCSCxQAhgDFAQQAKwIIABgCCgAgAQsA7QMECvEBhwowBgULdgAFC/MBBgvcAQcLWAIHC3gDhwtIBIoA2wMHAFMEBwoFAQcKWwQHCkoFBwo0BgcKqQYHCm4HCQrRAQoK+AAKCl0BCgqHAgsKDwILCpQCCwqdAgwKEQKNCjEBBwsoAQcLVAIICzACCAtKAgkLZAILC2QACwswAQwLLgANC1kADgtwAJELegAJAHIBigBaAIgKDQCEAFwDBwqCAggK+gALCnsACwqJAA0KMACOCl8AhwqVBYkLQQGEAAEBhwDvBwcA6AYHCz8GBwu7BggLTwAIC2oACAu+AAgLLgEIC38BCQt3AAkL6QAJCyoBCQujAQkL1wEKC7UA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Cwu1AwwL6AAMC+wADQudAQ0L9QGSC3QACQCMAAUK3gCKChYCBgAgBIkKigOGAKgGigr3AYYADAQFCpoABwrTBQoKewGKCuUBBAt/AYUKzAKGACMFBQBWAAcA5wIJAFUACgAZAQoAsAELADkDDAD7AA0AdgCOAHoBCAAIAQQKWwAFCoQBBQpNAwYKzgAGCvwABgptAQcKiAAHChMCiAptAgUADAKFAOgCBQsVAY0L9wCEC7MBCgBrAIwAtAGEAJ8DCgB7AAwAngKSAF4ABwB9BAkAnACKAL0DBQsJAQYL1ACHCxwAhQAKA4UA9gEIAMQACgAbAYsAlgGHCkACiAsXAoYAIAUFCgMDBQpfAwUKggMGCmAGBgpsBoYK9AYFAFcDBQpLAYcLzwWEC74CBQsoA4cL/QcHAHgFCQC+AYoALQCMCngChADrAwULpgAIC+MCjAv/AQUKawAHCskAiAoGAgYKvgGHChkHhgD8BYYASQQEC3cABQuqAAULvwEHC6wGBwthBwkLZQEJC88CDAvmAYwLVAIJClMDjQr+AQcAZAIIACECCAA4AggAggIJAM0CCgAdAgoA+wILAMEBDADpAQ0AmQANACgBDgCKAA4AiAEPADIAEAAGABAADAAUAAkAhAr4AQQLwgGHC4YECwA2AA0ArQANACYBBQpzAwUKzwMICogBlAoHAA0AxwEPAGMADwCBAJAARACHAKwAhAvyAgUKmgOGCqsGhgAFBBELJwCUCyQABAA4AgUK4QMHCgMCiQpbAIQA3AIKAGkCigtpAoYAzgMHAN0DCgB5AQwAawENAEQADQBeAA4AbACOADIBiADdAoQArAEHAP0GhwsmBAcA3weMAJkChwqZBQUAHwEHCpkDCApEAggKUQIICnYCigocAIoAJgMECo8DBQpjAwUK9QMHCvIHCAoeA4gKLQOGAAMGCAsLApYLIgCHC+QCBwvuAAcL8QcIC3gACAu8AAgLkwIJC1YCCgvSAQwLVgEMC0wCDQv3AQ4L9gCPC1wABwAbBo0AtgAFCocABgoHAgcKugYKCg8BCwoFAZEKNgAOClIBlApRAAcA5AEECiwBhQq0AZELcgAGAFcGhgCRBoULgAIEC8kABwvQBggLWgILC/cACws6A5ELQQAIC6QAkgs+AAYAKQcGAEUHiABuA4YAIQYICmUBCgrpAg4KqgERCl4Akwo5AAwAXQAMAPUBDQBqAQ4AlwAPACgADwA7ABAALgARABkAEgAOABIAhgATABkAEwBFABQAEAAUABMAFABCABUAFwAVABkAlgAqAAYA1AYIAMsCCQAiAwoALgAKADMDDQA0AQ4AXwEOAGsBkgBDAIQA4gMEAD8AhQBbAYQATwKFAO0CBwspBgoLMAEKCyUCCwuoAQwLbQENC9wADQvwAI4LIQCFAG4BBwAtAgwAIwIOAFYAhQqDAYcA0waEC4sDBQtkAAoLSQEMC6ABlQsdAAQKBgAFCsQCiApLAAcKRwUJCkUCCgp/AgsKxQGMCkgCBwBZAIQKLwGKCgQDhAuwAAULfAIFC+YDCAsaAIkLZgEHCwkABwvkBQkLPQEKC9IACgskAQoLFQILCysCDAsOAgwLXwINCwcBDQvLAY4LDwGGALcFBgAEAwYAcQSLC1MCBwDRA4sLQgCKAH0DFAAwAJQLMAAFADgDhQCtA4YLJwEHAAcGBwD5BgoAsgIECmoAiwrNAgcAuAEIAOYAiwBqAAUKegOFCtwDBgpyAo4KrwEKC38AjQsbABEAIAAKCsIClgosAIQA2ACJAEwBBAq6AogLdwCLCwsBigoRAAsLDgILC6sDjQsiAQcLjwQLC6YDDQuHAZELTACLCycAhgpUAAQAkgMFACADhQBUAwoAoAGNAHMABwA0Ao4AqAAEAJYDhQBsA4YA5AaYAAMABABcAAUAEgEHC34AiAtUAIwK8gGICxYDCAD1AQUK2gMGCoIABwouBggKygEKCmUACgo+AYoKNwMGC0AADAt5AY0LNQEFAOcCigBTAwQAMQAHABgBhwBhBoYAbwOIAC8ABwpsBokKgQCEAGEDhgCyBAkLIgCLC+QBhwrlAwUAEAEFAIwDBQCuAwgAxQAJAC8ACwAaAosA5gIGC6QGBwsaAAcLJQEHC34BBwsCBAcLPwQHC+sHCAsYAAgLcgAIC/wACAvXAggL2QIJCx4ACQvHAAkL5wAJC/sACQtOAQkLaQEJC+gBCQvIAgoLNwAKCzwACgvoAAoLTAEKC4ABCguMAQoL+AEKCx4CCguMAgsLFAALCzAACwvPAAsLIwELCyoBCwtWAQsLbQELC4oBCwtsAgsLwQILC/kDDAt7AAwLVAEMC5YBDAuDAg0LPQANCw0BDQs3AQ0LPwENC+YBDgvqAA8LPgAPC1UAEAtHABILdwCUC2kABgCvBZYLJQCHCocHhwB3B4kAewMHCtwGiQpiAAcKFgSLCqAAhAD5AgYLewEHCw4BBwtcBAgLsAAIC7cACQuwAQkLlQIMC/cADAtpApILfQAGCi0ABwqxAQgKgQAJChUACgqIAQsKTwAMCvMBDQrHAI0KwwEEAJcBBQsYA4ULhAOEADAChwC3AA0A6gEHCi4CiAphAQQA2wEGANsCCwAjAA0ARwANALEADgCmAYUKEQMIClEACQq9AAkKyQALCt4BCwrIAo0KUgEEAKIBBAAzA4UKYQGXChoABAuFA4ULCAOEAD8CBwAyAxAAXAARAA4AEQAtABIASwCUABIABgDeAAcAfAIHAFQGCACZAQkAtQKLAE0ABgoZAAcKVwMHCuoEkAogAAYAWAcGAF8HBgB+BwYAhAcJAMcDCQDjAwkA9wMMADoDDABRAwwAWQMMAFwDDAB2AwwApAMSAOQAEgDnAJIA8ACGAHkChgAcBQQLJQAFC04BhwvlBAoAVgAECgQABwpeBAcKKAUHCqoGCAoVAQkKbgILCtQCDApeAQwKjQENChwADQqfAA8KWQASCgUAEwoJABQKIgCWCi8AhAv8AYkLwAEMC2sAkgsfAIQAMQOGAJcChQByA4YAkgOECxwChAsVAogLYAIIAHUDigBhA4QAqgEGADoABwDpAgcAsQcIAI8BCACjAgkA3wEJANsCCgBKAQoAUQIKADEDCwAgAAsAhQALAN0AkQBEAIYK/wAHAGYAiQAaAokK2AAHC/0AiAslAocLkAMJCrcAiwoeAQsKvAOXCgMACAsPAhILPACTCxgABAoYAgcKdQQKCtMCiwpzAYULmAMHAGwDhwodAYcKMAKECrICjgt+AAsKIQAMCjsClQoBAIUANgIJAIsACgCPAQsA1QEMAHoCDQDfAIQL4wEGADAAhwA/ABIADAAHCkYHDArrAQwKCAINCn8Bjgr0AIcLgQaEC8ABCQvvAZILaAAGAHIABwDIBAcAFAaIAAMABAq+AIUKKgIIAEACCQALAYUK6QOFCr4BhQClA4sL8QMIC40CDQtdAJMLDgAGALQCBgA1A4YANQQFC6wAhwshA4oA8AIEAHcBhgB+AoYA8wOMCxwCCQBgAIULBAGLC0sChwrPBAwAHgANAJQADgBXAA4AtgAQACoAFABGAIQKMAEGAHYFBwA4AAcAxQcIAFEBCADiAgkAWAIMACUADQC/AY4AXACKAJoCBQCKAQcA5wGIAPYACQC1AQYKNQAGCscABwqABQgKIAAICl0ACgqNAQoKdQILClECCwr7Ag0KRgGRCiMAhgppAAkAQAEKAPoBigoaAwcLOQAIC6cACAt3AQkLUgAJCzECCgtsAgoLAgMLCsACjQqMAQYA6wMFCnIABQr/AI0KHQEHAGIDhwCLBIULEwKEAEgBBwrzBwgKEwAJClkAigo/AwgLwgCIC/QCiADoAwULxQGGC7kBBABlAAUAQQMHAJMEiADoAoUA1gKICuoCigCwAAYACQAGAI0BBwA1AAcAzgYKAHgCCwA8A4wAkgCHCxYAkQtAAIQARwMLAKEBDADfAIwACQEEC2YABwsvAwcLowaLC8QDBQq7A4gKLgMGAIsHBgDXBxIA9gCSAPcACADGAAsAHQCMABYChwDrBgYATgMHC/IDCwvdAgsL9wIMCzMCDQsiAA4LZQASCy0AkguBAAQAugAFAJ0ACACoAIoABgCEC4MDhQo4AJQKZACFAGsDBQAFAwUA3wMGAGMGhgD8BgYA+gQJAN0BjQBOAAQAfwIHAG8ACABFAgwAsQAGCzQACQtoAAkLLwIKCgQACgoNAAsKfgIMCzQBEwtXAJQKOQCEC1wCBAstAYUK4gKFCvYChgDTBgcLoAULC1YDCwtoAwsLmQMMCycCDQvYAY4LbwEHAFQFBwBzB40AngCGAGkDBACUAQQAkwIHACgChwCjAocKWASLCkgBBwv8AYkKhQCFAIcBBQpuAAYKqQAGCqYGBwqQAQgKGgIJCrgACQoMAowK2gAGCzYBBws5BwgLSAAICxABCAuvAQkLDAAJC18BCgszAgoLdgIKCyoDCwtvAQsLVwILC64CjAugAgUAHAIGAKEGiACcAoQAcwOGAE4ADAB0AhIATwAGCoUACQphAYsK4QMGC7UABwsZAggLQAAJC38ACgvwAQwL/gGNC4ABBgpdAAcKjgUHCjsHCAqhAgkKEQKMCisAiQpzAYYAtAWGAMIDBAv0AIcL6QAJChkACgrTAYoKLwIECk8BhwquA4UAzAGHC04BhgtyBgQAxwCLACIABQpZAggKJwAKCgUDCwpUAAwKzQCOCgEAhQpmA4YAhAEOANoBlAB4AIULcQGLAA8BBAD/AQkATQEJAHsBCgBaAgsAuQELANMCCwDQAwwAZQGECrUAhgBgAoYKdAYWADEAiQtSAYwA3AOGAGkCBQCqA4gAwwKECmEABQqTAAYKHgEHClIFjQqwAAYA9AKGAH0EhQuAAwYKdwEHCqkABwr+AIgKDAOGAC8GhwqnBYsAHQEHC10ECAuJAYgLGwKHAFgBBgDVAQcArQaKAAMCBQp1AocKDQYFCwQABQsqAwYLDQAGCxoCBguaBgYLvgYHC/MBBwsbBwgLlAAIC7gCCAsXAwwLfQANCzYAjwsJAIcL9ASJAJQBhAD0AQUARACGAH8BCwDYAIsAVAEEC50DBQsjAwgLugKKCzwDBABRAQYAYQEHAI4HCADoAYkArQEHAOwABwADBwgAAwEJAIcACQCxAAkAXAMKADkDCwBzAAsAcgELAJUBCwBcAgwACgAMAJsCDACdAg0ATAAOADYBDwBMAA8AkwCUABcABAAPAAQA6gEFABYABgD0AAcAKAAHAMgABwCKAwcArwQJAGgCCgDMAgsAewILACEDjADKAQwA9AKECqQBhgDgBQYA9QKFC38BBgDyBIcAxwYFAFYCBwAXAwgAbAAJAHsABwoiBowKHgKOC5oBCQuUAooLWwEAQcGUGQv/AQECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+PwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+PwBBxJgZC/wBAQEBAQICAgIDAwMDBAQEBAUFBQUGBgYGBwcHBwgICAgJCQkJCgoKCgsLCwsMDAwMDQ0NDQ4ODg4PDw8PEBAQEBERERESEhISExMTExQUFBQVFRUVFhYWFhcXFxcYGBgYGRkZGRoaGhobGxsbHBwcHB0dHR0eHh4eHx8fHyAgICAhISEhIiIiIiMjIyMkJCQkJSUlJSYmJiYnJycnKCgoKCkpKSkqKioqKysrKywsLCwtLS0tLi4uLi8vLy8wMDAwMTExMTIyMjIzMzMzNDQ0NDU1NTU2NjY2Nzc3Nzg4ODg5OTk5Ojo6Ojs7Ozs8PDw8PT09PT4+Pj4/Pz8/AEHJnBkLBQQEAAAEAEHgnBkL4AEIDBAMDBQMEBgcDAwgDCQMLCwsLCwsLCwsLCAgGCgcDAwwNDQ0MDQ0NDA0NDQ0NDA0NDQ0NDA0NDQ0NBgMHAwMDDg8PDw4PDw8ODw8PDw8ODw8PDw8ODw8PDw8GAwcDAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwBB4Z4ZC14BAQEBAQEBAQEBAQEBAQECAgICAgICAgICAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAQEBAQEBAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMBAQEBAEGgoBkLoAQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAICAgICAgICAgICAgICAgQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKDAwMDAwMDAwMDAwMDAwMDgAAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYHAEHIpBkLBQEAAAACAEHapBkL9geAPw3gyj8AAABAeJoUQAdwJUC0qzNAAABAQA3gSkB4mlRAVGddQAdwZUAB1GxAtKtzQH8KekAAAIBAf8yCQAdwhUAG74dAPE2KQN2NjECqs45ABcGQQAO4kkB4mpRAAWqWQAoomEDa1ZlAlXSbQD8FnUDHiJ5AAACgQK1roUB/zKJAFiOkQAdwpUDYs6ZABu+nQAQiqUA8TapAEXGrQN2NrED2o61AqrOuQEO9r0AFwbBAMb+xQAO4skC0q7NAeJq0QIKEtUABarZAIEu3QAoouEDmALlA2tW5QAmnukCVdLtAnT68QD8FvUCayL1Ax4i+QOFFv0AAAMBAPbfAQK1rwUBnHcJAf8zCQAh5w0AWI8RAusrEQAdwxUALE8ZA2LPGQHxSx0AG78dAhInIQAQiyUCSuMlAPE3KQA3gykARcctAUwDMQN2NzEC7Gc1A9qPNQJgszkCqs85ANTnPQEO9z0DbP9BABcHQQMpA0UAxv9FAQjzSQAO40kB8MtNAtKvTQLAj1EB4mtRAEhDVQIKE1UDQ99VAAWrWQBnb1kAgS9dAGbrXQAoo2ED3lNhA5gDZQNtr2UDa1dlA6D7aQAmn2kBBDttAlXTbQAfa20CdPtxAWaLcQD8F3UBUZ91AmsjdQBQp3kDHiN5AtOfeQOFF30BOo99AAADgQPlb4EA9t+BAzRHhQK1r4UDgxOFAZx3iQEZ14kB/zOJAFCPjQAh540BezuNAFiPkQDR35EC6yuRAqh3lQAdw5UDRweVACxPmQLdj5kDYs+ZAbgPnQHxS50ADoedABu/nQIU86ECEiehAA9boQAQi6UCIbelAkrjpQCMD6kA8TepA35bqQA3g6kDIKOtAEXHrQOm460BTAOxATkfsQN2N7EAB1OxAuxntQAxf7UD2o+1AeejtQJgs7kBScO5AqrPuQKD27kA1Oe9Aa3vvQEO970C9/u9A2z/wQJ2A8EAFwfBAFAHxQMpA8UApgPFAMb/xQOT98UBCPPJATHryQAO48kBo9fJAfDLzQEBv80C0q/NA2efzQLAj9EA7X/RAeJr0QGrV9EASEPVAb0r1QIKE9UBNvvVA0Pf1QAwx9kABavZAsKL2QBnb9kA/E/dAIEv3QL6C90AZuvdAMvH3QAoo+EChXvhA95T4QA7L+EDmAPlAfzb5QNtr+UD5oPlA2tX5QH8K+kDoPvpAFnP6QAmn+kDC2vpAQQ77QIdB+0CVdPtAaqf7QAfa+0BtDPxAnT78QJZw/EBZovxA59P8QD8F/UBkNv1AVGf9QBCY/UCayP1A8Pj9QBQp/kAGWf5Ax4j+QFa4/kC05/5A4xb/QOFF/0CvdP9ATqP/QL7R/0AAQdisGQsFAQAAAAEAQdCuGQsNAQAAAAEAAAACAAAAAgBB0LAZCw0LAAAACwAAAAwAAAAMAEHwsBkLgQEBAAAAAQAAAAkAAAAJAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAQAAAAEAAAAIAAAAAwAAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAAIAAAABAAAAAQAAAAEAAAACAAAAAcAAAAEAAAABAAAAAgAQYCyGQuRAQMAAAADAAAAAwAAAAMAAAAFAAAABQAAAAoAAAAFAAAABQAAAAUAAAAKAAAABQAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAAQEBQYGBwcHBwcICAgICAAAAAQEBAQEBQUGBgYGBwcHBwoKCgoKCgAEBAUFBQYGBwgICQoKCgoKCgoKCgoKCgUAQaCzGQssBgYGBgYGBQUFBQUFBAQEBAQEBAUFBQUFBQYGBwcHCAoMDAwMDAwMDAwMDAwAQdSzGQt9CAAJAAMAIwAHAEcAJwBnABcALwCvAG8A7wAfAAAAAAAAAAQADAACAAoABgANAB0ACwArABsAOwBXADcADwBPAD8BPwO/AL8CvwG/AwAADgABABkABQAVABMAMwB3AJ8AXwDfAN8B3wM/AD8CfwB/An8BfwP/AP8C/wH/Aw4AQfC0GQtYGwA7AAcAJwAXADcAHgABABEACQAZAAUAAAAIAAQADAACAAoABgAVAA0AHQADABMACwAPAC8AHwBfAD8AfwD/AP8C/wr/Bv8O/wH/Cf8F/w3/A/8L/wf/DwBB0LUZCzj/d9W/597qnlFd3sZwV7xYWFjY2FjVy4zq4MOHH4PBYBxnsqoGg8FgMBjMoc6IVJRG4bDQTrL3BABBkLYZCygEAAAACwAAAA8AAAAQAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAEHAthkLIREADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQBB8bYZCwELAEH6thkLGBEACgoREREACgAAAgAJCwAAAAkACwAACwBBq7cZCwEMAEG3txkLFQwAAAAADAAAAAAJDAAAAAAADAAADABB5bcZCwEOAEHxtxkLFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBBn7gZCwEQAEGruBkLHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBB4rgZCw4SAAAAEhISAAAAAAAACQBBk7kZCwELAEGfuRkLFQoAAAAACgAAAAAJCwAAAAAACwAACwBBzbkZCwEMAEHZuRkLwAEMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUaUZwYAuHQGAAh0BgCMdAYAAAAAAAEAAAAAXQYAAAAAAAh0BgBodAYAAAAAAAEAAAAIXQYAAAAAAOxzBgDddAYAAAAAACBdBgDscwYAAnUGAAEAAAAgXQYAlGcGAD91BgCUZwYAnHUGAAh0BgBddQYAAAAAAAEAAABgXQYAAAAAALxnBgAQdgYAkF0GAAAAAACUZwYAKXYGAAUAQaS7GQsBAgBBvLsZCwsCAAAAAQAAAPyaBgBB1LsZCwECAEHjuxkLBf//////AEGovBkLAQUAQbS8GQsBAwBBzLwZCw4CAAAAAgAAAAiWBgAABABB5LwZCwEBAEHzvBkLBQr/////AEHcvRkLAQMAQYO+GQsF//////8AQci+GQuJDZRnBgC1eAYAvGcGABV5BgBgXwYAAAAAALxnBgDCeAYAcF8GAAAAAACUZwYA43gGALxnBgDweAYAUF8GAAAAAAC8ZwYAPXoGAJhfBgAAAAAAlGcGAGx6BgC8ZwYAMnsGAJhfBgAAAAAAvGcGAHV7BgCYXwYAAAAAALxnBgDCewYAmF8GAAAAAAC8ZwYACHwGAJhfBgAAAAAAvGcGADh8BgCYXwYAAAAAALxnBgB2fAYAmF8GAAAAAAC8ZwYAp3wGAJhfBgAAAAAAvGcGAPd8BgCYXwYAAAAAALxnBgAwfQYAmF8GAAAAAAC8ZwYAa30GAJhfBgAAAAAAvGcGAKd9BgCYXwYAAAAAALxnBgDqfQYAmF8GAAAAAAC8ZwYAGH4GAJhfBgAAAAAAvGcGAEt+BgCYXwYAAAAAALxnBgAHfwYAmF8GAAAAAAC8ZwYANH8GAJhfBgAAAAAAvGcGAGV/BgCYXwYAAAAAALxnBgCjfwYAmF8GAAAAAAC8ZwYAG4AGAJhfBgAAAAAAvGcGAOB/BgCYXwYAAAAAALxnBgBigAYAmF8GAAAAAAC8ZwYAq4AGAJhfBgAAAAAAvGcGAAaBBgCYXwYAAAAAALxnBgAxgQYAmF8GAAAAAAC8ZwYAa4EGAJhfBgAAAAAAvGcGAJ+BBgCYXwYAAAAAALxnBgDvgQYAmF8GAAAAAAC8ZwYAHoIGAJhfBgAAAAAAvGcGAFeCBgCYXwYAAAAAALxnBgCQggYAmF8GAAAAAAC8ZwYAtYQGAJhfBgAAAAAAvGcGAAOFBgCYXwYAAAAAALxnBgA+hQYAmF8GAAAAAAC8ZwYAaoUGAJhfBgAAAAAAvGcGALSFBgCYXwYAAAAAALxnBgDphQYAmF8GAAAAAAC8ZwYAHIYGAJhfBgAAAAAAvGcGAFOGBgCYXwYAAAAAALxnBgCIhgYAmF8GAAAAAAC8ZwYAHocGAJhfBgAAAAAAvGcGAFCHBgCYXwYAAAAAALxnBgCChwYAmF8GAAAAAAC8ZwYA2ocGAJhfBgAAAAAAvGcGACKIBgCYXwYAAAAAALxnBgBaiAYAmF8GAAAAAAC8ZwYAqIgGAJhfBgAAAAAAvGcGAOeIBgCYXwYAAAAAALxnBgAqiQYAmF8GAAAAAAC8ZwYAW4kGAJhfBgAAAAAAvGcGAJWKBgCYXwYAAAAAALxnBgDVigYAmF8GAAAAAAC8ZwYACIsGAJhfBgAAAAAAvGcGAEKLBgCYXwYAAAAAALxnBgB7iwYAmF8GAAAAAAC8ZwYAuIsGAJhfBgAAAAAAvGcGAC6MBgCYXwYAAAAAALxnBgBajAYAmF8GAAAAAAC8ZwYAkIwGAJhfBgAAAAAAvGcGAOSMBgCYXwYAAAAAALxnBgAcjQYAmF8GAAAAAAC8ZwYAX40GAJhfBgAAAAAAvGcGAJCNBgCYXwYAAAAAALxnBgDAjQYAmF8GAAAAAAC8ZwYA+40GAJhfBgAAAAAAvGcGAD2OBgCYXwYAAAAAALxnBgAsjwYAmF8GAAAAAAC8ZwYAt48GAEhfBgAAAAAAvGcGAMePBgDAYwYAAAAAALxnBgDYjwYAwGMGAAAAAAC8ZwYA6Y8GAGBfBgAAAAAAvGcGAAuQBgDwYwYAAAAAALxnBgAvkAYAYF8GAAAAAAC8ZwYAVJAGAPBjBgAAAAAAvGcGAIKQBgBgXwYAAAAAANBzBgCqkAYA0HMGAKyQBgDQcwYAr5AGANBzBgCxkAYA0HMGALOQBgDQcwYAtZAGANBzBgC3kAYA0HMGALmQBgDQcwYAu5AGANBzBgC9kAYA0HMGAOt8BgDQcwYAv5AGANBzBgDBkAYA0HMGAMOQBgC8ZwYAxZAGAFBfBgAAAAAAlGcGAAiUBgCUZwYAJ5QGAJRnBgBGlAYAlGcGAGWUBgCUZwYAhJQGAJRnBgCjlAYAlGcGAMKUBgCUZwYA4ZQGAJRnBgAAlQYAlGcGAB+VBgCUZwYAPpUGAJRnBgBdlQYACHQGAHyVBgAAAAAAAQAAAGBdBgAAAAAACHQGALuVBgAAAAAAAQAAAGBdBgAAAAAAOF0GAEBkBgA4XQYAYGQGAJhkBgBIXQYAWF0GACBdBgCYZAYAIF0GAGhdBgCYZAYAAAAAAIBdBgABAAAAAgAAAAEAAAABAAAAAQAAAAAAAACQXQYAAQAAAAMAAAABAAAAAQAAAAEAAAAAAAAACgoLCwoKCgoKCQkIBwcIBwcGBgUFAEHtyxkLqgEQAAAAJAAAAFQAAACMAAAArAAAANAAAAD4AAAAJAEAAFQBAABuAQAAigEAAJkBAAChAQCAqQEAgLsBAADFAQAAzwEAQNQBAMDZAQCg3AEAoN8BAKDfAQCg3wEAoN8BAKDfAQCg3wEAoN8BAKDfAQCwHQAA2QAAAFD9AQAw/gEAeQAAAKD+AQAAAAwAGwAXACoAPwA4ADAAOwBAAGFjb2xHSVNEmF0GACheBgBB1M4ZCwO4mgYAQZDPGQupA1BfBgAEAAAABQAAAAYAAAAHAAAABAAAAAEAAAABAAAAAQAAAAAAAAB4XwYABAAAAAgAAAAGAAAABwAAAAQAAAACAAAAAgAAAAIAAAAAAAAAiF8GAAEAAAACAAAAAwAAAAQAAAABAAAAAgAAAAMAAAAJAAAACgAAAAAAAACYXwYAAQAAAAIAAAADAAAABAAAAAEAAAACAAAAAwAAAAkAAAALAAAAAAAAAKBfBgABAAAAAgAAAAMAAAAEAAAABAAAAAIAAAAFAAAACQAAAAwAAAAAAAAAsF8GAAEAAAACAAAAAwAAAAQAAAAGAAAAAgAAAAMAAAAJAAAADQAAAAAAAADAXwYABQAAAAIAAAADAAAABAAAAAcAAAAIAAAAAwAAAAkAAAAOAAAAAAAAANBfBgAGAAAAAgAAAAMAAAAEAAAACQAAAAoAAAADAAAACQAAAA8AAAAAAAAA4F8GAAEAAAACAAAAAwAAAAQAAAALAAAAAgAAAAwAAAAJAAAAEAAAAAAAAADwXwYAAQAAAAIAAAADAAAABAAAAA0AAAACAAAAAwAAAAkAAAARAEHB0hkLuAVgBgAHAAAACAAAAAkAAAAKAAAADgAAAA8AAAADAAAACQAAABIAAAAAAAAAEGAGAAEAAAACAAAAAwAAAAQAAAAQAAAAAgAAAAMAAAAJAAAAEwAAAAAAAAAgYAYAAQAAAAIAAAADAAAABAAAABEAAAACAAAAAwAAAAkAAAAUAAAAAAAAADBgBgABAAAAAgAAAAMAAAAEAAAAEgAAAAIAAAADAAAACQAAABUAAAAAAAAAQGAGAAEAAAACAAAAAwAAAAQAAAATAAAAAgAAAAMAAAAJAAAAFgAAAAAAAABQYAYAAQAAAAIAAAADAAAABAAAABQAAAACAAAAAwAAAAkAAAAXAAAAAAAAAGBgBgABAAAAAgAAAAMAAAAEAAAAFQAAAAIAAAADAAAACQAAABgAAAAAAAAAcGAGAAEAAAACAAAAAwAAAAQAAAAWAAAAAgAAAAMAAAAJAAAAGQAAAAAAAACAYAYAAQAAAAIAAAADAAAABAAAABcAAAACAAAAAwAAAAkAAAAaAAAAAAAAAJBgBgABAAAAAgAAAAMAAAAEAAAAGAAAAAIAAAADAAAACQAAABsAAAAAAAAAoGAGAAEAAAACAAAAAwAAAAQAAAAZAAAAAgAAAAMAAAAJAAAAHAAAAAAAAACwYAYAAQAAAAIAAAADAAAABAAAABoAAAACAAAAAwAAAAkAAAAdAAAAAAAAAMBgBgABAAAAAgAAAAMAAAAEAAAAGwAAAAIAAAADAAAACQAAAB4AAAAAAAAA0GAGAAEAAAACAAAAAwAAAAQAAAAcAAAAAgAAAAMAAAAJAAAAHwAAAAAAAADgYAYAAQAAAAIAAAADAAAABAAAAB0AAAACAAAAAwAAAAkAAAAgAAAAAAAAAPBgBgABAAAAAgAAAAMAAAAEAAAAHgAAAAIAAAADAAAACQAAACEAQYHYGQu4BWEGAAEAAAACAAAAAwAAAAQAAAAfAAAAAgAAAAMAAAAJAAAAIgAAAAAAAAAQYQYAAQAAAAIAAAADAAAABAAAACAAAAACAAAAAwAAAAkAAAAjAAAAAAAAACBhBgABAAAAAgAAAAMAAAAEAAAAIQAAAAIAAAADAAAACQAAACQAAAAAAAAAMGEGAAEAAAACAAAAAwAAAAQAAAAiAAAAAgAAAAMAAAAJAAAAJQAAAAAAAABAYQYAAQAAAAIAAAADAAAABAAAACMAAAACAAAAJAAAAAkAAAAmAAAAAAAAAFBhBgABAAAAAgAAAAMAAAAEAAAAJQAAAAIAAAADAAAACQAAACcAAAAAAAAAYGEGAAEAAAACAAAAAwAAAAQAAAAmAAAAAgAAAAMAAAAJAAAAKAAAAAAAAABwYQYAAQAAAAIAAAADAAAABAAAACcAAAACAAAAKAAAAAkAAAApAAAAAAAAAIBhBgABAAAAAgAAAAMAAAAEAAAAKQAAAAIAAAADAAAACQAAACoAAAAAAAAAkGEGAAEAAAACAAAAAwAAAAQAAAAqAAAAAgAAAAMAAAAJAAAAKwAAAAAAAACgYQYAAQAAAAIAAAADAAAABAAAACsAAAACAAAAAwAAAAkAAAAsAAAAAAAAALBhBgABAAAAAgAAAAMAAAAEAAAALAAAAAIAAAAtAAAACQAAAC0AAAAAAAAAwGEGAAEAAAACAAAAAwAAAAQAAAAuAAAAAgAAAAMAAAAJAAAALgAAAAAAAADQYQYAAQAAAAIAAAADAAAABAAAAC8AAAACAAAAAwAAAAkAAAAvAAAAAAAAAOBhBgABAAAAAgAAAAMAAAAEAAAAMAAAAAIAAAADAAAACQAAADAAAAAAAAAA8GEGAAEAAAACAAAAAwAAAAQAAAAxAAAAAgAAAAMAAAAJAAAAMQBBwd0ZC7gFYgYAAQAAAAIAAAADAAAABAAAADIAAAACAAAAAwAAAAkAAAAyAAAAAAAAABBiBgABAAAAAgAAAAMAAAAEAAAAMwAAAAIAAAADAAAACQAAADMAAAAAAAAAIGIGAAEAAAACAAAAAwAAAAQAAAA0AAAAAgAAAAMAAAAJAAAANAAAAAAAAAAwYgYACwAAAAwAAAANAAAADgAAADUAAAA2AAAAAwAAAAkAAAA1AAAAAAAAAEBiBgABAAAAAgAAAAMAAAAEAAAANwAAAAIAAAADAAAACQAAADYAAAAAAAAAUGIGAAEAAAACAAAAAwAAAAQAAAA4AAAAAgAAADkAAAAJAAAANwAAAAAAAABgYgYAAQAAAAIAAAADAAAABAAAADoAAAACAAAAAwAAAAkAAAA4AAAAAAAAAHBiBgABAAAAAgAAAAMAAAAEAAAAOwAAAAIAAAADAAAACQAAADkAAAAAAAAAgGIGAAEAAAACAAAAAwAAAAQAAAA8AAAAAgAAAAMAAAAJAAAAOgAAAAAAAACQYgYAAQAAAAIAAAADAAAABAAAAD0AAAACAAAAAwAAAAkAAAA7AAAAAAAAAKBiBgABAAAAAgAAAAMAAAAEAAAAPgAAAAIAAAADAAAACQAAADwAAAAAAAAAsGIGAAEAAAACAAAAAwAAAAQAAAA/AAAAAgAAAEAAAAAJAAAAPQAAAAAAAADAYgYAAQAAAAIAAAADAAAABAAAAEEAAAACAAAAQgAAAAkAAAA+AAAAAAAAANBiBgAPAAAAAgAAAAMAAAAEAAAAQwAAAEQAAAADAAAACQAAAD8AAAAAAAAA4GIGABAAAAARAAAAAwAAAAQAAABFAAAARgAAAAMAAAAJAAAAQAAAAAAAAADwYgYAAQAAAAIAAAADAAAABAAAAEcAAAACAAAAAwAAAAkAAABBAEGB4xkL4ARjBgABAAAAAgAAAAMAAAAEAAAASAAAAAIAAAADAAAACQAAAEIAAAAAAAAAEGMGABIAAAATAAAAFAAAAAQAAABJAAAASgAAAAMAAAAJAAAAQwAAAAAAAAAgYwYAAQAAAAIAAAADAAAABAAAAEsAAAACAAAAAwAAAAkAAABEAAAAAAAAADBjBgABAAAAAgAAAAMAAAAEAAAATAAAAAIAAAADAAAACQAAAEUAAAAAAAAAQGMGABUAAAACAAAAFgAAAAQAAABNAAAATgAAAAMAAAAJAAAARgAAAAAAAABQYwYAAQAAAAIAAAADAAAABAAAAE8AAAACAAAAAwAAAAkAAABHAAAAAAAAAGBjBgABAAAAAgAAAAMAAAAEAAAAUAAAAAIAAAADAAAACQAAAEgAAAAAAAAAcGMGAAEAAAACAAAAAwAAAAQAAABRAAAAAgAAAAMAAAAJAAAASQAAAAAAAACAYwYAAQAAAAIAAAADAAAABAAAAFIAAAACAAAAAwAAAAkAAABKAAAAAAAAAJBjBgAXAAAAAgAAABgAAAAEAAAAUwAAAFQAAAADAAAACQAAAEsAAAAAAAAAoGMGAAEAAAACAAAAAwAAAAQAAABVAAAAAgAAAAMAAAAJAAAATAAAAAAAAACwYwYAAQAAAAIAAAADAAAABAAAAFYAAAACAAAAAwAAAAkAAABNAAAAAAAAAMBjBgBOAAAATwAAAAQAAAAAAAAA0GMGAE4AAABQAAAABAAAAAAAAADgYwYATgAAAFEAAAAEAAAAAAAAADBkBgAEAAAAUgAAAAYAAAAHAAAABQBB6ecZC5BEZAYABAAAAFMAAAAGAAAABwAAAAYAAAAAAAAAsGQGAAQAAABUAAAABgAAAAcAAAAEAAAAAwAAAAMAAAADAAAAdmVjdG9yPHVpbnQ4X3Q+AHdvZmYyRGVjAHdvZmYyRW5jAHB1c2hfYmFjawByZXNpemUAc2l6ZQBnZXQAc2V0AE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJaE5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjIwX192ZWN0b3JfYmFzZV9jb21tb25JTGIxRUVFAFBOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQBQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAGlpAHYAdmkAdmlpaQB2aWlpaQBpaWkATjEwZW1zY3JpcHRlbjN2YWxFAGlpaWkAaWlpaWkATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQB4X21pbnMuc2l6ZSgpID09IG51bV9nbHlwaHMAd29mZjIvc3JjL3dvZmYyX2RlYy5jYwBSZWNvbnN0cnVjdFRyYW5zZm9ybWVkSG10eABONXdvZmYyMTRXT0ZGMlN0cmluZ091dEUATjV3b2ZmMjhXT0ZGMk91dEUAZ2x5Zi9sb2NhIHRyYW5zZm9ybWF0aW9uIGZhaWxlZC4KAFBhcnNpbmcgb2YgdGhlIGlucHV0IGZvbnQgZmFpbGVkLgoAQ29tcHJlc3Npb24gb2YgY29tYmluZWQgdGFibGUgZmFpbGVkLgoAQ29tcHJlc3NlZCAlenUgdG8gJXUuCgBDb21wcmVzc2lvbiBvZiBleHRlbmRlZCBtZXRhZGF0YSBmYWlsZWQuCgBSZXN1bHQgYWxsb2NhdGlvbiB3YXMgdG9vIHNtYWxsICglemQgdnMgJXpkIGJ5dGVzKS4KAE1pc3NpbmcgdGFibGUgaW5kZXggZm9yIG9mZnNldCAweCUwOHgKAE1pc21hdGNoIGJldHdlZW4gY29tcHV0ZWQgYW5kIGFjdHVhbCBsZW5ndGggKCV6ZCB2cyAlemQpCgBtYXA6OmF0OiAga2V5IG5vdCBmb3VuZABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAAAMGxcqPzgwO0ACBAMCAgQABwMCAQ8tKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAX1oAX19fWgBfYmxvY2tfaW52b2tlAGludm9jYXRpb24gZnVuY3Rpb24gZm9yIGJsb2NrIGluIABsb25nIGxvbmcAX19pbnQxMjgAdW5zaWduZWQgX19pbnQxMjgAbG9uZyBkb3VibGUAX19mbG9hdDEyOAAuLi4AZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABhdXRvAGRlY2x0eXBlKGF1dG8pAHN0ZDo6bnVsbHB0cl90AFthYmk6AF0ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBBYmlUYWdBdHRyRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU0Tm9kZUUAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAYWxsb2NhdG9yAGJhc2ljX3N0cmluZwBzdHJpbmcAaXN0cmVhbQBvc3RyZWFtAGlvc3RyZWFtAHN0ZDo6YWxsb2NhdG9yAHN0ZDo6YmFzaWNfc3RyaW5nAHN0ZDo6aXN0cmVhbQBzdGQ6Om9zdHJlYW0Ac3RkOjppb3N0cmVhbQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOVNwZWNpYWxTdWJzdGl0dXRpb25FACBpbWFnaW5hcnkATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBQb3N0Zml4UXVhbGlmaWVkVHlwZUUAIGNvbXBsZXgAKQAgACgAJgAmJgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1JlZmVyZW5jZVR5cGVFAG9iamNfb2JqZWN0ACoAaWQ8AD4ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTFQb2ludGVyVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBOYW1lV2l0aFRlbXBsYXRlQXJnc0UAPAAsIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMlRlbXBsYXRlQXJnc0UATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNQYXJhbWV0ZXJQYWNrRQB3Y2hhcl90AGIwRQBiMUUAdQBsAHVsAGxsAHVsbABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUludGVnZXJDYXN0RXhwckUAJUxhTABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZsb2F0TGl0ZXJhbEltcGxJZUVFACVhAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElkRUUAJWFmAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElmRUUAdHJ1ZQBmYWxzZQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Qm9vbEV4cHJFAC0ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTRJbnRlZ2VyTGl0ZXJhbEUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjBUZW1wbGF0ZUFyZ3VtZW50UGFja0UAZ3MAJj0APQBhbGlnbm9mICgALAB+AC4qAC8ALz0AXgBePQA9PQA+PQA8PQA8PAA8PD0ALT0AKj0ALS0AIT0AIQB8fAB8AHw9AC0+KgArACs9ACsrAC0+ACUAJT0APj4APj49AHNpemVvZiAoAHR5cGVpZCAoAHRocm93AHRocm93IABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5VGhyb3dFeHByRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMkluaXRMaXN0RXhwckUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNOb2RlQXJyYXlOb2RlRQBzaXplb2YuLi4gKABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM0VuY2xvc2luZ0V4cHJFAHNpemVvZi4uLigATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJQYXJhbWV0ZXJQYWNrRXhwYW5zaW9uRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOVNpemVvZlBhcmFtUGFja0V4cHJFAHN0YXRpY19jYXN0AD4oAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThDYXN0RXhwckUAcmVpbnRlcnByZXRfY2FzdAApID8gKAApIDogKABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUNvbmRpdGlvbmFsRXhwckUAbm9leGNlcHQgKABudwBuYQBwaQA6Om9wZXJhdG9yIABuZXcAW10ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlN05ld0V4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExUG9zdGZpeEV4cHJFACAuLi4gACA9IABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUJyYWNlZFJhbmdlRXhwckUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBCcmFjZWRFeHByRQBfR0xPQkFMX19OAChhbm9ueW1vdXMgbmFtZXNwYWNlKQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4TmFtZVR5cGVFAClbAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE4QXJyYXlTdWJzY3JpcHRFeHByRQAuAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwTWVtYmVyRXhwckUAc3JOAHNyADo6AE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5R2xvYmFsUXVhbGlmaWVkTmFtZUUAZG4Ab24Ab3BlcmF0b3ImJgBvcGVyYXRvciYAb3BlcmF0b3ImPQBvcGVyYXRvcj0Ab3BlcmF0b3IoKQBvcGVyYXRvciwAb3BlcmF0b3J+AG9wZXJhdG9yIGRlbGV0ZVtdAG9wZXJhdG9yKgBvcGVyYXRvci8Ab3BlcmF0b3IvPQBvcGVyYXRvcl4Ab3BlcmF0b3JePQBvcGVyYXRvcj09AG9wZXJhdG9yPj0Ab3BlcmF0b3I+AG9wZXJhdG9yW10Ab3BlcmF0b3I8PQBvcGVyYXRvcjw8AG9wZXJhdG9yPDw9AG9wZXJhdG9yPABvcGVyYXRvci0Ab3BlcmF0b3ItPQBvcGVyYXRvcio9AG9wZXJhdG9yLS0Ab3BlcmF0b3IgbmV3W10Ab3BlcmF0b3IhPQBvcGVyYXRvciEAb3BlcmF0b3IgbmV3AG9wZXJhdG9yfHwAb3BlcmF0b3J8AG9wZXJhdG9yfD0Ab3BlcmF0b3ItPioAb3BlcmF0b3IrAG9wZXJhdG9yKz0Ab3BlcmF0b3IrKwBvcGVyYXRvci0+AG9wZXJhdG9yPwBvcGVyYXRvciUAb3BlcmF0b3IlPQBvcGVyYXRvcj4+AG9wZXJhdG9yPj49AG9wZXJhdG9yPD0+AG9wZXJhdG9yIiIgAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1TGl0ZXJhbE9wZXJhdG9yRQBvcGVyYXRvciBkZWxldGUAb3BlcmF0b3IgAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIyQ29udmVyc2lvbk9wZXJhdG9yVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOER0b3JOYW1lRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1F1YWxpZmllZE5hbWVFAGR5bmFtaWNfY2FzdABkZWxldGUAW10gAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwRGVsZXRlRXhwckUAY3YAKSgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTRDb252ZXJzaW9uRXhwckUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOENhbGxFeHByRQBjb25zdF9jYXN0AE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwUHJlZml4RXhwckUAKSAAICgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBCaW5hcnlFeHByRQBhYQBhbgBhTgBhUwBjbQBkcwBkdgBkVgBlbwBlTwBlcQBnZQBndABsZQBscwBsUwBsdABtaQBtSQBtbABtTABuZQBvbwBvcgBvUgBwbABwTABybQByTQBycwByUwAuLi4gACAuLi4ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOEZvbGRFeHByRQBmcABmTABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM0Z1bmN0aW9uUGFyYW1FAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTI0Rm9yd2FyZFRlbXBsYXRlUmVmZXJlbmNlRQBUcwBzdHJ1Y3QAVHUAdW5pb24AVGUAZW51bQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMkVsYWJvcmF0ZWRUeXBlU3BlZlR5cGVFAFN0TABTdABzdGQ6OgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNlN0ZFF1YWxpZmllZE5hbWVFAERDAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIxU3RydWN0dXJlZEJpbmRpbmdOYW1lRQBVdABVbAB2RQAnbGFtYmRhACcoAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1Q2xvc3VyZVR5cGVOYW1lRQAndW5uYW1lZAAnAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE1VW5uYW1lZFR5cGVOYW1lRQBzdHJpbmcgbGl0ZXJhbABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5TG9jYWxOYW1lRQBzdGQATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJDdG9yRHRvck5hbWVFAGJhc2ljX2lzdHJlYW0AYmFzaWNfb3N0cmVhbQBiYXNpY19pb3N0cmVhbQBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AHN0ZDo6YmFzaWNfaXN0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4Ac3RkOjpiYXNpY19vc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBzdGQ6OmJhc2ljX2lvc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyN0V4cGFuZGVkU3BlY2lhbFN1YnN0aXR1dGlvbkUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTBOZXN0ZWROYW1lRQA6OioATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTlQb2ludGVyVG9NZW1iZXJUeXBlRQBbAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTlBcnJheVR5cGVFAER2ACB2ZWN0b3JbAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwVmVjdG9yVHlwZUUAcGl4ZWwgdmVjdG9yWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNVBpeGVsVmVjdG9yVHlwZUUAZGVjbHR5cGUoAHVuc2lnbmVkIGxvbmcgbG9uZwBvYmpjcHJvdG8AIGNvbnN0ACB2b2xhdGlsZQAgcmVzdHJpY3QATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOFF1YWxUeXBlRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxN1ZlbmRvckV4dFF1YWxUeXBlRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM09iakNQcm90b05hbWVFAERvAG5vZXhjZXB0AERPAER3AER4AFJFAE9FACAmACAmJgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMkZ1bmN0aW9uVHlwZUUAdGhyb3coAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIwRHluYW1pY0V4Y2VwdGlvblNwZWNFAG5vZXhjZXB0KABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMk5vZXhjZXB0U3BlY0UATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTFTcGVjaWFsTmFtZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOURvdFN1ZmZpeEUAVWE5ZW5hYmxlX2lmSQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZ1bmN0aW9uRW5jb2RpbmdFACBbZW5hYmxlX2lmOgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMkVuYWJsZUlmQXR0ckUAdGhyZWFkLWxvY2FsIHdyYXBwZXIgcm91dGluZSBmb3IgAHJlZmVyZW5jZSB0ZW1wb3JhcnkgZm9yIABndWFyZCB2YXJpYWJsZSBmb3IgAG5vbi12aXJ0dWFsIHRodW5rIHRvIAB2aXJ0dWFsIHRodW5rIHRvIAB0aHJlYWQtbG9jYWwgaW5pdGlhbGl6YXRpb24gcm91dGluZSBmb3IgAGNvbnN0cnVjdGlvbiB2dGFibGUgZm9yIAAtaW4tAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIxQ3RvclZ0YWJsZVNwZWNpYWxOYW1lRQBjb3ZhcmlhbnQgcmV0dXJuIHRodW5rIHRvIAB0eXBlaW5mbyBuYW1lIGZvciAAdHlwZWluZm8gZm9yIABWVFQgZm9yIAB2dGFibGUgZm9yIABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBTdDEyb3V0X29mX3JhbmdlAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjBfX2Z1bmN0aW9uX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTI5X19wb2ludGVyX3RvX21lbWJlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGIAYwBoAGEAcwB0AGkAagBtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUU="),l13=function(){let u=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return function(E){E=E||{};var E=typeof E<"u"?E:{};let A={},C;for(C in E)E.hasOwnProperty(C)&&(A[C]=E[C]);let D=[],F="./this.program",U=function(U0,Q0){throw Q0},z=!1,k=!1,f=!1,M=!1,b=!1;if(z=typeof window=="object",k=typeof importScripts=="function",M=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",f=M&&!z&&!k,b=!z&&!f&&!k,E.ENVIRONMENT)throw Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");let Z="";function J(U0){return E.locateFile?E.locateFile(U0,Z):Z+U0}let K,w,Q,G;if(f){Z=`${__dirname}/`;let U0,Q0;K=function(s0,Fu){let Pu;return U0||(U0=Lz0(["fs"].join())),Q0||(Q0=Lz0(["path"].join())),s0=Q0.normalize(s0),Pu=U0.readFileSync(s0),Fu?Pu:Pu.toString()},Q=function(s0){let Fu=K(s0,!0);return Fu.buffer||(Fu=new Uint8Array(Fu)),O(Fu.buffer),Fu},process.argv.length>1&&(F=process.argv[1].replace(/\\/g,"/")),D=process.argv.slice(2),process.on("uncaughtException",(s0)=>{if(!(s0 instanceof dG0))throw s0}),process.on("unhandledRejection",Du),U=function(s0){process.exit(s0)},E.inspect=function(){return"[Emscripten Module object]"}}else if(b)typeof read<"u"&&(K=function(U0){return read(U0)}),Q=function(U0){let Q0;return typeof readbuffer=="function"?new Uint8Array(readbuffer(U0)):(Q0=read(U0,"binary"),O(typeof Q0=="object"),Q0)},typeof scriptArgs<"u"?D=scriptArgs:typeof arguments<"u"&&(D=arguments),typeof quit=="function"&&(U=function(U0){quit(U0)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print);else if(z||k)k?Z=self.location.href:document.currentScript&&(Z=document.currentScript.src),u&&(Z=u),Z.indexOf("blob:")!==0?Z=Z.substr(0,Z.lastIndexOf("/")+1):Z="",K=function(U0){let Q0=new XMLHttpRequest;return Q0.open("GET",U0,!1),Q0.send(null),Q0.responseText},k&&(Q=function(U0){let Q0=new XMLHttpRequest;return Q0.open("GET",U0,!1),Q0.responseType="arraybuffer",Q0.send(null),new Uint8Array(Q0.response)}),w=function(U0,Q0,s0){let Fu=new XMLHttpRequest;Fu.open("GET",U0,!0),Fu.responseType="arraybuffer",Fu.onload=function(){if(Fu.status==200||Fu.status==0&&Fu.response){Q0(Fu.response);return}s0()},Fu.onerror=s0,Fu.send(null)},G=function(U0){document.title=U0};else throw Error("environment detection error");let H=E.print||function(){},l=E.printErr||function(){};for(C in A)A.hasOwnProperty(C)&&(E[C]=A[C]);A=null,E.arguments&&(D=E.arguments),Object.getOwnPropertyDescriptor(E,"arguments")||Object.defineProperty(E,"arguments",{configurable:!0,get(){Du("Module.arguments has been replaced with plain arguments_")}}),E.thisProgram&&(F=E.thisProgram),Object.getOwnPropertyDescriptor(E,"thisProgram")||Object.defineProperty(E,"thisProgram",{configurable:!0,get(){Du("Module.thisProgram has been replaced with plain thisProgram")}}),E.quit&&(U=E.quit),Object.getOwnPropertyDescriptor(E,"quit")||Object.defineProperty(E,"quit",{configurable:!0,get(){Du("Module.quit has been replaced with plain quit_")}}),O(typeof E.memoryInitializerPrefixURL>"u","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),O(typeof E.pthreadMainPrefixURL>"u","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),O(typeof E.cdInitializerPrefixURL>"u","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),O(typeof E.filePackagePrefixURL>"u","Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),O(typeof E.read>"u","Module.read option was removed (modify read_ in JS)"),O(typeof E.readAsync>"u","Module.readAsync option was removed (modify readAsync in JS)"),O(typeof E.readBinary>"u","Module.readBinary option was removed (modify readBinary in JS)"),O(typeof E.setWindowTitle>"u","Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),Object.getOwnPropertyDescriptor(E,"read")||Object.defineProperty(E,"read",{configurable:!0,get(){Du("Module.read has been replaced with plain read_")}}),Object.getOwnPropertyDescriptor(E,"readAsync")||Object.defineProperty(E,"readAsync",{configurable:!0,get(){Du("Module.readAsync has been replaced with plain readAsync")}}),Object.getOwnPropertyDescriptor(E,"readBinary")||Object.defineProperty(E,"readBinary",{configurable:!0,get(){Du("Module.readBinary has been replaced with plain readBinary")}}),so=nG0=no=function(){Du("cannot use the stack before compiled code is ready to run, and has provided stack access")};function q(U0){q.shown||(q.shown={}),q.shown[U0]||(q.shown[U0]=1,l(U0))}let L={"f64-rem"(U0,Q0){return U0%Q0},debugger(){debugger}},v=[],x=0,S=function(U0){x=U0},W;E.wasmBinary&&(W=E.wasmBinary),Object.getOwnPropertyDescriptor(E,"wasmBinary")||Object.defineProperty(E,"wasmBinary",{configurable:!0,get(){Du("Module.wasmBinary has been replaced with plain wasmBinary")}});let T;E.noExitRuntime&&(T=E.noExitRuntime),Object.getOwnPropertyDescriptor(E,"noExitRuntime")||Object.defineProperty(E,"noExitRuntime",{configurable:!0,get(){Du("Module.noExitRuntime has been replaced with plain noExitRuntime")}}),typeof WebAssembly!="object"&&Du("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.");let R,Y=new WebAssembly.Table({initial:352,maximum:352,element:"anyfunc"}),h=!1,I=0;function O(U0,Q0){U0||Du(`Assertion failed: ${Q0}`)}function V(U0){let Q0=E[`_${U0}`];return O(Q0,`Cannot call unknown function ${U0}, make sure it is exported`),Q0}function j(U0,Q0,s0,Fu,Pu){let cu={string(h3){let v1=0;if(h3!=null&&h3!==0){let Q2=(h3.length<<2)+1;v1=no(Q2),r(h3,v1,Q2)}return v1},array(h3){let v1=no(h3.length);return p(h3,v1),v1}};function ou(h3){return Q0==="string"?m(h3):Q0==="boolean"?!!h3:h3}let mu=V(U0),D4=[],a4=0;if(O(Q0!=="array",'Return type should not be "array".'),Fu)for(let h3=0;h3<Fu.length;h3++){let v1=cu[s0[h3]];v1?(a4===0&&(a4=so()),D4[h3]=v1(Fu[h3])):D4[h3]=Fu[h3]}let t3=mu.apply(null,D4);return t3=ou(t3),a4!==0&&nG0(a4),t3}function i(U0,Q0,s0,Fu){return function(){return j(U0,Q0,s0,arguments,Fu)}}let a=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function $(U0,Q0,s0){let Fu=Q0+s0,Pu=Q0;for(;U0[Pu]&&!(Pu>=Fu);)++Pu;if(Pu-Q0>16&&U0.subarray&&a)return a.decode(U0.subarray(Q0,Pu));let cu="";for(;Q0<Pu;){let ou=U0[Q0++];if(!(ou&128)){cu+=String.fromCharCode(ou);continue}let mu=U0[Q0++]&63;if((ou&224)==192){cu+=String.fromCharCode((ou&31)<<6|mu);continue}let D4=U0[Q0++]&63;if((ou&240)==224?ou=(ou&15)<<12|mu<<6|D4:((ou&248)!=240&&q(`Invalid UTF-8 leading byte 0x${ou.toString(16)} encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!`),ou=(ou&7)<<18|mu<<12|D4<<6|U0[Q0++]&63),ou<65536)cu+=String.fromCharCode(ou);else{let a4=ou-65536;cu+=String.fromCharCode(55296|a4>>10,56320|a4&1023)}}return cu}function m(U0,Q0){return U0?$(D0,U0,Q0):""}function y(U0,Q0,s0,Fu){if(!(Fu>0))return 0;let Pu=s0,cu=s0+Fu-1;for(let ou=0;ou<U0.length;++ou){let mu=U0.charCodeAt(ou);if(mu>=55296&&mu<=57343){let D4=U0.charCodeAt(++ou);mu=65536+((mu&1023)<<10)|D4&1023}if(mu<=127){if(s0>=cu)break;Q0[s0++]=mu}else if(mu<=2047){if(s0+1>=cu)break;Q0[s0++]=192|mu>>6,Q0[s0++]=128|mu&63}else if(mu<=65535){if(s0+2>=cu)break;Q0[s0++]=224|mu>>12,Q0[s0++]=128|mu>>6&63,Q0[s0++]=128|mu&63}else{if(s0+3>=cu)break;mu>=2097152&&q(`Invalid Unicode code point 0x${mu.toString(16)} encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).`),Q0[s0++]=240|mu>>18,Q0[s0++]=128|mu>>12&63,Q0[s0++]=128|mu>>6&63,Q0[s0++]=128|mu&63}}return Q0[s0]=0,s0-Pu}function r(U0,Q0,s0){return O(typeof s0=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),y(U0,D0,Q0,s0)}function _(U0){let Q0=0;for(let s0=0;s0<U0.length;++s0){let Fu=U0.charCodeAt(s0);Fu>=55296&&Fu<=57343&&(Fu=65536+((Fu&1023)<<10)|U0.charCodeAt(++s0)&1023),Fu<=127?++Q0:Fu<=2047?Q0+=2:Fu<=65535?Q0+=3:Q0+=4}return Q0}let e=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function p(U0,Q0){O(U0.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),f0.set(U0,Q0)}let b0=65536;function B0(U0,Q0){return U0%Q0>0&&(U0+=Q0-U0%Q0),U0}let k0,f0,D0,P0,L0,m0,h0,_0,w0;function x0(U0){k0=U0,E.HEAP8=f0=new Int8Array(U0),E.HEAP16=P0=new Int16Array(U0),E.HEAP32=m0=new Int32Array(U0),E.HEAPU8=D0=new Uint8Array(U0),E.HEAPU16=L0=new Uint16Array(U0),E.HEAPU32=h0=new Uint32Array(U0),E.HEAPF32=_0=new Float32Array(U0),E.HEAPF64=w0=new Float64Array(U0)}let T0=434112,J0=5676992,F0=5676992,u0=433920;O(T0%16===0,"stack must start aligned"),O(F0%16===0,"heap must start aligned");let Z0=5242880;E.TOTAL_STACK&&O(Z0===E.TOTAL_STACK,"the stack size can no longer be determined at runtime");let X0=E.TOTAL_MEMORY||16777216;Object.getOwnPropertyDescriptor(E,"TOTAL_MEMORY")||Object.defineProperty(E,"TOTAL_MEMORY",{configurable:!0,get(){Du("Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY")}}),O(X0>=Z0,`TOTAL_MEMORY should be larger than TOTAL_STACK, was ${X0}! (TOTAL_STACK=${Z0})`),O(typeof Int32Array<"u"&&typeof Float64Array<"u"&&Int32Array.prototype.subarray!==void 0&&Int32Array.prototype.set!==void 0,"JS engine does not provide full typed array support"),E.wasmMemory?R=E.wasmMemory:R=new WebAssembly.Memory({initial:X0/b0}),R&&(k0=R.buffer),X0=k0.byteLength,O(X0%b0===0),x0(k0),m0[u0>>2]=F0;function W0(){O((J0&3)==0),h0[(J0>>2)-1]=34821223,h0[(J0>>2)-2]=2310721022,m0[0]=1668509029}function Y0(){let U0=h0[(J0>>2)-1],Q0=h0[(J0>>2)-2];(U0!=34821223||Q0!=2310721022)&&Du(`Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x${Q0.toString(16)} ${U0.toString(16)}`),m0[0]!==1668509029&&Du("Runtime error: The application has corrupted its heap memory area (address zero)!")}function a0(U0){Du(`Stack overflow! Attempted to allocate ${U0} bytes on the stack, but stack has only ${J0-so()+U0} bytes available!`)}(function(){let U0=new Int16Array(1),Q0=new Int8Array(U0.buffer);if(U0[0]=25459,Q0[0]!==115||Q0[1]!==99)throw"Runtime error: expected the system to be little-endian!"})();function K0(U0,Q0){Du(`Invalid function pointer ${U0} called with signature '${Q0}'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info.`)}function n(U0){for(;U0.length>0;){let Q0=U0.shift();if(typeof Q0=="function"){Q0();continue}let s0=Q0.func;typeof s0=="number"?Q0.arg===void 0?E.dynCall_v(s0):E.dynCall_vi(s0,Q0.arg):s0(Q0.arg===void 0?null:Q0.arg)}}let d=[],q0=[],o=[],l0=[],E0=!1,$0=!1;function g0(){if(E.preRun)for(typeof E.preRun=="function"&&(E.preRun=[E.preRun]);E.preRun.length;)e0(E.preRun.shift());n(d)}function n0(){Y0(),O(!E0),E0=!0,n(q0)}function c0(){Y0(),n(o)}function Bu(){Y0(),$0=!0}function p0(){if(Y0(),E.postRun)for(typeof E.postRun=="function"&&(E.postRun=[E.postRun]);E.postRun.length;)t0(E.postRun.shift());n(l0)}function e0(U0){d.unshift(U0)}function t0(U0){l0.unshift(U0)}O(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),O(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),O(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),O(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");let zu=0,S0=null,yu=null,V0={};function xu(U0){zu++,E.monitorRunDependencies&&E.monitorRunDependencies(zu),U0?(O(!V0[U0]),V0[U0]=1,S0===null&&typeof setInterval<"u"&&(S0=setInterval(()=>{if(h){clearInterval(S0),S0=null;return}let Q0=!1;for(let s0 in V0)Q0||(Q0=!0,l("still waiting on run dependencies:")),l(`dependency: ${s0}`);Q0&&l("(end of list)")},1e4))):l("warning: run dependency added without ID")}function gu(U0){if(zu--,E.monitorRunDependencies&&E.monitorRunDependencies(zu),U0?(O(V0[U0]),delete V0[U0]):l("warning: run dependency removed without ID"),zu==0&&(S0!==null&&(clearInterval(S0),S0=null),yu)){let Q0=yu;yu=null,Q0()}}E.preloadedImages={},E.preloadedAudios={};function Du(U0){E.onAbort&&E.onAbort(U0),U0+="",H(U0),l(U0),h=!0,I=1;let Q0="";throw`abort(${U0}) at ${Ru()}${Q0}`}var Nu={error(){Du("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init(){Nu.error()},createDataFile(){Nu.error()},createPreloadedFile(){Nu.error()},createLazyFile(){Nu.error()},open(){Nu.error()},mkdev(){Nu.error()},registerDevice(){Nu.error()},analyzePath(){Nu.error()},loadFilesFromDB(){Nu.error()},ErrnoError:function(){Nu.error()}};E.FS_createDataFile=Nu.createDataFile,E.FS_createPreloadedFile=Nu.createPreloadedFile;let du="data:application/octet-stream;base64,";function Iu(U0){return String.prototype.startsWith?U0.startsWith(du):U0.indexOf(du)===0}let v0="woff2.wasm";Iu(v0)||(v0=J(v0));function Tu(){try{if(W)return new Uint8Array(W);if(Q)return Q(v0);throw"both async and sync fetching of the wasm failed"}catch(U0){Du(U0)}}function iu(){return!W&&(z||k)&&typeof fetch=="function"?fetch(v0,{credentials:"same-origin"}).then((U0)=>{if(!U0.ok)throw`failed to load wasm binary file at '${v0}'`;return U0.arrayBuffer()}).catch(()=>Tu()):new Promise((U0,Q0)=>{U0(Tu())})}function Ju(){let U0={env:_o,wasi_unstable:_o,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:L};function Q0(ou,mu){let D4=ou.exports;E.asm=D4,gu("wasm-instantiate")}xu("wasm-instantiate");let s0=E;function Fu(ou){O(E===s0,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),s0=null,Q0(ou.instance)}function Pu(ou){return iu().then((mu)=>WebAssembly.instantiate(mu,U0)).then(ou,(mu)=>{l(`failed to asynchronously prepare wasm: ${mu}`),Du(mu)})}function cu(){if(!W&&typeof WebAssembly.instantiateStreaming=="function"&&!Iu(v0)&&typeof fetch=="function"&&typeof process=="object"&&process.versions&&process.versions.node&&+process.versions.node.split(".")[0]<17)fetch(v0,{credentials:"same-origin"}).then((ou)=>WebAssembly.instantiateStreaming(ou,U0).then(Fu,(mu)=>{l(`wasm streaming compile failed: ${mu}`),l("falling back to ArrayBuffer instantiation"),Pu(Fu)}));else return Pu(Fu)}if(E.instantiateWasm)try{return E.instantiateWasm(U0,Q0)}catch(ou){return l(`Module.instantiateWasm callback failed with error: ${ou}`),!1}return cu(),{}}E.asm=Ju,q0.push({func(){T44()}}),O(!0);function I0(U0){let Q0=E.___cxa_demangle||E.__cxa_demangle;O(Q0);try{let cu=U0;cu.startsWith("__Z")&&(cu=cu.substr(1));let ou=_(cu)+1;var s0=Bx(ou);r(cu,s0,ou);var Fu=Bx(4),Pu=Q0(s0,0,0,Fu);if(m0[Fu>>2]===0&&Pu)return m(Pu)}catch{}finally{s0&&MC(s0),Fu&&MC(Fu),Pu&&MC(Pu)}return U0}function Mu(U0){let Q0=/\b__Z[\w\d_]+/g;return U0.replace(Q0,(s0)=>{let Fu=I0(s0);return s0===Fu?s0:`${Fu} [${s0}]`})}function qu(){let U0=Error();if(!U0.stack){try{throw Error(0)}catch(Q0){U0=Q0}if(!U0.stack)return"(no stack trace available)"}return U0.stack.toString()}function Ru(){let U0=qu();return E.extraStackTrace&&(U0+=`
${E.extraStackTrace()}`),Mu(U0)}function S4(U0,Q0,s0,Fu){Du(`Assertion failed: ${m(U0)}, at: ${[Q0?m(Q0):"unknown filename",s0,Fu?m(Fu):"unknown function"]}`)}function $u(U0){return Bx(U0)}let L4={},F3=0;function V4(U0,Q0,s0){throw L4[U0]={ptr:U0,adjusted:[U0],type:Q0,destructor:s0,refcount:0,caught:!1,rethrown:!1},F3=U0,"uncaught_exception"in po?po.uncaught_exceptions++:po.uncaught_exceptions=1,`${U0} - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.`}function b4(){}function P4(){}var bu={splitPath(U0){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(U0).slice(1)},normalizeArray(U0,Q0){let s0=0;for(let Fu=U0.length-1;Fu>=0;Fu--){let Pu=U0[Fu];Pu==="."?U0.splice(Fu,1):Pu===".."?(U0.splice(Fu,1),s0++):s0&&(U0.splice(Fu,1),s0--)}if(Q0)for(;s0;s0--)U0.unshift("..");return U0},normalize(U0){let Q0=U0.charAt(0)==="/",s0=U0.substr(-1)==="/";return U0=bu.normalizeArray(U0.split("/").filter((Fu)=>!!Fu),!Q0).join("/"),!U0&&!Q0&&(U0="."),U0&&s0&&(U0+="/"),(Q0?"/":"")+U0},dirname(U0){let Q0=bu.splitPath(U0),s0=Q0[0],Fu=Q0[1];return!s0&&!Fu?".":(Fu&&(Fu=Fu.substr(0,Fu.length-1)),s0+Fu)},basename(U0){if(U0==="/")return"/";let Q0=U0.lastIndexOf("/");return Q0===-1?U0:U0.substr(Q0+1)},extname(U0){return bu.splitPath(U0)[3]},join(){let U0=Array.prototype.slice.call(arguments,0);return bu.normalize(U0.join("/"))},join2(U0,Q0){return bu.normalize(`${U0}/${Q0}`)}},Lu={buffers:[null,[],[]],printChar(U0,Q0){let s0=Lu.buffers[U0];O(s0),Q0===0||Q0===10?((U0===1?H:l)($(s0,0)),s0.length=0):s0.push(Q0)},varargs:0,get(U0){return Lu.varargs+=4,m0[Lu.varargs-4>>2]},getStr(){return m(Lu.get())},get64(){let U0=Lu.get(),Q0=Lu.get();return U0>=0?O(Q0===0):O(Q0===-1),U0},getZero(){O(Lu.get()===0)}};function pu(U0){try{return Du("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM"),0}catch(Q0){return(typeof Nu>"u"||!(Q0 instanceof Nu.ErrnoError))&&Du(Q0),Q0.errno}}function g4(){return pu.apply(null,arguments)}function y4(U0,Q0,s0,Fu,Pu){try{return Du("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM"),0}catch(cu){return(typeof Nu>"u"||!(cu instanceof Nu.ErrnoError))&&Du(cu),cu.errno}}function B3(){return y4.apply(null,arguments)}function k1(){let U0=E._fflush;U0&&U0(0);let Q0=Lu.buffers;Q0[1].length&&Lu.printChar(1,10),Q0[2].length&&Lu.printChar(2,10)}function E3(U0,Q0,s0,Fu){try{let Pu=0;for(let cu=0;cu<s0;cu++){let ou=m0[Q0+cu*8>>2],mu=m0[Q0+(cu*8+4)>>2];for(let D4=0;D4<mu;D4++)Lu.printChar(U0,D0[ou+D4]);Pu+=mu}return m0[Fu>>2]=Pu,0}catch(Pu){return(typeof Nu>"u"||!(Pu instanceof Nu.ErrnoError))&&Du(Pu),Pu.errno}}function eu(){return E3.apply(null,arguments)}function hu(U0){switch(U0){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError(`Unknown type size: ${U0}`)}}function f4(){let U0=Array(256);for(let Q0=0;Q0<256;++Q0)U0[Q0]=String.fromCharCode(Q0);U4=U0}var U4=void 0;function Vu(U0){let Q0="",s0=U0;for(;D0[s0];)Q0+=U4[D0[s0++]];return Q0}let X4={},O0={},Q1={},i0=48,A3=57;function b6(U0){if(U0===void 0)return"_unknown";U0=U0.replace(/[^a-zA-Z0-9_]/g,"$");let Q0=U0.charCodeAt(0);return Q0>=i0&&Q0<=A3?`_${U0}`:U0}function m2(U0,Q0){return U0=b6(U0),Function("body",`return function ${U0}() {
"use strict"; return body.apply(this, arguments);
};
`)(Q0)}function t9(U0,Q0){let s0=m2(Q0,function(Fu){this.name=Q0,this.message=Fu;let Pu=Error(Fu).stack;Pu!==void 0&&(this.stack=`${this.toString()}
${Pu.replace(/^Error(:[^\n]*)?\n/,"")}`)});return s0.prototype=Object.create(U0.prototype),s0.prototype.constructor=s0,s0.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},s0}let MB;function _3(U0){throw new MB(U0)}let Y6;function q5(U0){throw new Y6(U0)}function bB(U0,Q0,s0){U0.forEach((mu)=>{Q1[mu]=Q0});function Fu(mu){let D4=s0(mu);D4.length!==U0.length&&q5("Mismatched type converter count");for(let a4=0;a4<U0.length;++a4)e9(U0[a4],D4[a4])}let Pu=Array(Q0.length),cu=[],ou=0;Q0.forEach((mu,D4)=>{O0.hasOwnProperty(mu)?Pu[D4]=O0[mu]:(cu.push(mu),X4.hasOwnProperty(mu)||(X4[mu]=[]),X4[mu].push(()=>{Pu[D4]=O0[mu],++ou,ou===cu.length&&Fu(Pu)}))}),cu.length===0&&Fu(Pu)}function e9(U0,Q0,s0){if(s0=s0||{},!("argPackAdvance"in Q0))throw TypeError("registerType registeredInstance requires argPackAdvance");let Fu=Q0.name;if(U0||_3(`type "${Fu}" must have a positive integer typeid pointer`),O0.hasOwnProperty(U0)){if(s0.ignoreDuplicateRegistrations)return;_3(`Cannot register type '${Fu}' twice`)}if(O0[U0]=Q0,delete Q1[U0],X4.hasOwnProperty(U0)){let Pu=X4[U0];delete X4[U0],Pu.forEach((cu)=>{cu()})}}function Kz(U0,Q0,s0,Fu,Pu){let cu=hu(s0);Q0=Vu(Q0),e9(U0,{name:Q0,fromWireType(ou){return!!ou},toWireType(ou,mu){return mu?Fu:Pu},argPackAdvance:8,readValueFromPointer(ou){let mu;if(s0===1)mu=f0;else if(s0===2)mu=P0;else if(s0===4)mu=m0;else throw TypeError(`Unknown boolean type size: ${Q0}`);return this.fromWireType(mu[ou>>cu])},destructorFunction:null})}function $2(U0){if(!(this instanceof G9)||!(U0 instanceof G9))return!1;let Q0=this.$$.ptrType.registeredClass,s0=this.$$.ptr,Fu=U0.$$.ptrType.registeredClass,Pu=U0.$$.ptr;for(;Q0.baseClass;)s0=Q0.upcast(s0),Q0=Q0.baseClass;for(;Fu.baseClass;)Pu=Fu.upcast(Pu),Fu=Fu.baseClass;return Q0===Fu&&s0===Pu}function wz(U0){return{count:U0.count,deleteScheduled:U0.deleteScheduled,preservePointerOnDelete:U0.preservePointerOnDelete,ptr:U0.ptr,ptrType:U0.ptrType,smartPtr:U0.smartPtr,smartPtrType:U0.smartPtrType}}function u2(U0){function Q0(s0){return s0.$$.ptrType.registeredClass.name}_3(`${Q0(U0)} instance already deleted`)}let Qz=!1;function uE(U0){}function y2(U0){U0.smartPtr?U0.smartPtrType.rawDestructor(U0.smartPtr):U0.ptrType.registeredClass.rawDestructor(U0.ptr)}function XJ(U0){U0.count.value-=1,U0.count.value===0&&y2(U0)}function su(U0){return typeof FinalizationGroup>"u"?(su=function(Q0){return Q0},U0):(Qz=new FinalizationGroup((Q0)=>{for(let s0=Q0.next();!s0.done;s0=Q0.next()){let Fu=s0.value;Fu.ptr?XJ(Fu):console.warn(`object already deleted: ${Fu.ptr}`)}}),su=function(Q0){return Qz.register(Q0,Q0.$$,Q0.$$),Q0},uE=function(Q0){Qz.unregister(Q0.$$)},su(U0))}function N0(){if(this.$$.ptr||u2(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;let U0=su(Object.create(Object.getPrototypeOf(this),{$$:{value:wz(this.$$)}}));return U0.$$.count.value+=1,U0.$$.deleteScheduled=!1,U0}function fu(){this.$$.ptr||u2(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_3("Object already scheduled for deletion"),uE(this),XJ(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function au(){return!this.$$.ptr}let J4,v4=[];function d4(){for(;v4.length;){let U0=v4.pop();U0.$$.deleteScheduled=!1,U0.delete()}}function n3(){return this.$$.ptr||u2(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_3("Object already scheduled for deletion"),v4.push(this),v4.length===1&&J4&&J4(d4),this.$$.deleteScheduled=!0,this}function $6(){G9.prototype.isAliasOf=$2,G9.prototype.clone=N0,G9.prototype.delete=fu,G9.prototype.isDeleted=au,G9.prototype.deleteLater=n3}function G9(){}let s5={};function mG(U0,Q0,s0){if(U0[Q0].overloadTable===void 0){let Fu=U0[Q0];U0[Q0]=function(){return U0[Q0].overloadTable.hasOwnProperty(arguments.length)||_3(`Function '${s0}' called with an invalid number of arguments (${arguments.length}) - expects one of (${U0[Q0].overloadTable})!`),U0[Q0].overloadTable[arguments.length].apply(this,arguments)},U0[Q0].overloadTable=[],U0[Q0].overloadTable[Fu.argCount]=Fu}}function l5(U0,Q0,s0){E.hasOwnProperty(U0)?((s0===void 0||E[U0].overloadTable!==void 0&&E[U0].overloadTable[s0]!==void 0)&&_3(`Cannot register public name '${U0}' twice`),mG(E,U0,U0),E.hasOwnProperty(s0)&&_3(`Cannot register multiple overloads of a function with the same number of arguments (${s0})!`),E[U0].overloadTable[s0]=Q0):(E[U0]=Q0,s0!==void 0&&(E[U0].numArguments=s0))}function xu4(U0,Q0,s0,Fu,Pu,cu,ou,mu){this.name=U0,this.constructor=Q0,this.instancePrototype=s0,this.rawDestructor=Fu,this.baseClass=Pu,this.getActualType=cu,this.upcast=ou,this.downcast=mu,this.pureVirtualFunctions=[]}function yo(U0,Q0,s0){for(;Q0!==s0;)Q0.upcast||_3(`Expected null or instance of ${s0.name}, got an instance of ${Q0.name}`),U0=Q0.upcast(U0),Q0=Q0.baseClass;return U0}function Wu4(U0,Q0){if(Q0===null)return this.isReference&&_3(`null is not a valid ${this.name}`),0;Q0.$$||_3(`Cannot pass "${$G(Q0)}" as a ${this.name}`),Q0.$$.ptr||_3(`Cannot pass deleted object as a pointer of type ${this.name}`);let s0=Q0.$$.ptrType.registeredClass;return yo(Q0.$$.ptr,s0,this.registeredClass)}function Su4(U0,Q0){let s0;if(Q0===null)return this.isReference&&_3(`null is not a valid ${this.name}`),this.isSmartPointer?(s0=this.rawConstructor(),U0!==null&&U0.push(this.rawDestructor,s0),s0):0;Q0.$$||_3(`Cannot pass "${$G(Q0)}" as a ${this.name}`),Q0.$$.ptr||_3(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&Q0.$$.ptrType.isConst&&_3(`Cannot convert argument of type ${Q0.$$.smartPtrType?Q0.$$.smartPtrType.name:Q0.$$.ptrType.name} to parameter type ${this.name}`);let Fu=Q0.$$.ptrType.registeredClass;if(s0=yo(Q0.$$.ptr,Fu,this.registeredClass),this.isSmartPointer)switch(Q0.$$.smartPtr===void 0&&_3("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:Q0.$$.smartPtrType===this?s0=Q0.$$.smartPtr:_3(`Cannot convert argument of type ${Q0.$$.smartPtrType?Q0.$$.smartPtrType.name:Q0.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:s0=Q0.$$.smartPtr;break;case 2:if(Q0.$$.smartPtrType===this)s0=Q0.$$.smartPtr;else{let Pu=Q0.clone();s0=this.rawShare(s0,co(()=>{Pu.delete()})),U0!==null&&U0.push(this.rawDestructor,s0)}break;default:_3("Unsupporting sharing policy")}return s0}function Yu4(U0,Q0){if(Q0===null)return this.isReference&&_3(`null is not a valid ${this.name}`),0;Q0.$$||_3(`Cannot pass "${$G(Q0)}" as a ${this.name}`),Q0.$$.ptr||_3(`Cannot pass deleted object as a pointer of type ${this.name}`),Q0.$$.ptrType.isConst&&_3(`Cannot convert argument of type ${Q0.$$.ptrType.name} to parameter type ${this.name}`);let s0=Q0.$$.ptrType.registeredClass;return yo(Q0.$$.ptr,s0,this.registeredClass)}function Fj(U0){return this.fromWireType(h0[U0>>2])}function Ru4(U0){return this.rawGetPointee&&(U0=this.rawGetPointee(U0)),U0}function Tu4(U0){this.rawDestructor&&this.rawDestructor(U0)}function Ou4(U0){U0!==null&&U0.delete()}function aG0(U0,Q0,s0){if(Q0===s0)return U0;if(s0.baseClass===void 0)return null;let Fu=aG0(U0,Q0,s0.baseClass);return Fu===null?null:s0.downcast(Fu)}function Iu4(){return Object.keys(ux).length}function Pu4(){let U0=[];for(let Q0 in ux)ux.hasOwnProperty(Q0)&&U0.push(ux[Q0]);return U0}function ju4(U0){J4=U0,v4.length&&J4&&J4(d4)}function Nu4(){E.getInheritedInstanceCount=Iu4,E.getLiveInheritedInstances=Pu4,E.flushPendingDeletes=d4,E.setDelayFunction=ju4}var ux={};function Vu4(U0,Q0){for(Q0===void 0&&_3("ptr should not be undefined");U0.baseClass;)Q0=U0.upcast(Q0),U0=U0.baseClass;return Q0}function hu4(U0,Q0){return Q0=Vu4(U0,Q0),ux[Q0]}function Uj(U0,Q0){(!Q0.ptrType||!Q0.ptr)&&q5("makeClassHandle requires ptr and ptrType");let s0=!!Q0.smartPtrType,Fu=!!Q0.smartPtr;return s0!==Fu&&q5("Both smartPtrType and smartPtr must be specified"),Q0.count={value:1},su(Object.create(U0,{$$:{value:Q0}}))}function iu4(U0){let Q0=this.getPointee(U0);if(!Q0)return this.destructor(U0),null;let s0=hu4(this.registeredClass,Q0);if(s0!==void 0){if(s0.$$.count.value===0)return s0.$$.ptr=Q0,s0.$$.smartPtr=U0,s0.clone();let D4=s0.clone();return this.destructor(U0),D4}function Fu(){return this.isSmartPointer?Uj(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:Q0,smartPtrType:this,smartPtr:U0}):Uj(this.registeredClass.instancePrototype,{ptrType:this,ptr:U0})}let Pu=this.registeredClass.getActualType(Q0),cu=s5[Pu];if(!cu)return Fu.call(this);let ou;this.isConst?ou=cu.constPointerType:ou=cu.pointerType;let mu=aG0(Q0,this.registeredClass,ou.registeredClass);return mu===null?Fu.call(this):this.isSmartPointer?Uj(ou.registeredClass.instancePrototype,{ptrType:ou,ptr:mu,smartPtrType:this,smartPtr:U0}):Uj(ou.registeredClass.instancePrototype,{ptrType:ou,ptr:mu})}function au4(){Gz.prototype.getPointee=Ru4,Gz.prototype.destructor=Tu4,Gz.prototype.argPackAdvance=8,Gz.prototype.readValueFromPointer=Fj,Gz.prototype.deleteObject=Ou4,Gz.prototype.fromWireType=iu4}function Gz(U0,Q0,s0,Fu,Pu,cu,ou,mu,D4,a4,t3){this.name=U0,this.registeredClass=Q0,this.isReference=s0,this.isConst=Fu,this.isSmartPointer=Pu,this.pointeeType=cu,this.sharingPolicy=ou,this.rawGetPointee=mu,this.rawConstructor=D4,this.rawShare=a4,this.rawDestructor=t3,!Pu&&Q0.baseClass===void 0?Fu?(this.toWireType=Wu4,this.destructorFunction=null):(this.toWireType=Yu4,this.destructorFunction=null):this.toWireType=Su4}function mG0(U0,Q0,s0){E.hasOwnProperty(U0)||q5("Replacing nonexistant public symbol"),E[U0].overloadTable!==void 0&&s0!==void 0?E[U0].overloadTable[s0]=Q0:(E[U0]=Q0,E[U0].argCount=s0)}function vJ(U0,Q0){U0=Vu(U0);function s0(Pu){let cu=[];for(let mu=1;mu<U0.length;++mu)cu.push(`a${mu}`);let ou=`return function ${`dynCall_${U0}_${Q0}`}(${cu.join(", ")}) {
`;return ou+=` return dynCall(rawFunction${cu.length?", ":""}${cu.join(", ")});
`,ou+=`};
`,Function("dynCall","rawFunction",ou)(Pu,Q0)}let Fu;if(E[`FUNCTION_TABLE_${U0}`]!==void 0)Fu=E[`FUNCTION_TABLE_${U0}`][Q0];else if(typeof FUNCTION_TABLE<"u")Fu=FUNCTION_TABLE[Q0];else{let Pu=E[`dynCall_${U0}`];Pu===void 0&&(Pu=E[`dynCall_${U0.replace(/f/g,"d")}`],Pu===void 0&&_3(`No dynCall invoker for signature: ${U0}`)),Fu=s0(Pu)}return typeof Fu!="function"&&_3(`unknown function pointer with signature ${U0}: ${Q0}`),Fu}let $G0;function yG0(U0){let Q0=R44(U0),s0=Vu(Q0);return MC(Q0),s0}function zj(U0,Q0){let s0=[],Fu={};function Pu(cu){if(!Fu[cu]&&!O0[cu]){if(Q1[cu]){Q1[cu].forEach(Pu);return}s0.push(cu),Fu[cu]=!0}}throw Q0.forEach(Pu),new $G0(`${U0}: ${s0.map(yG0).join([", "])}`)}function mu4(U0,Q0,s0,Fu,Pu,cu,ou,mu,D4,a4,t3,h3,v1){t3=Vu(t3),cu=vJ(Pu,cu),mu&&(mu=vJ(ou,mu)),a4&&(a4=vJ(D4,a4)),v1=vJ(h3,v1);let Q2=b6(t3);l5(Q2,()=>{zj(`Cannot construct ${t3} due to unbound types`,[Fu])}),bB([U0,Q0,s0],Fu?[Fu]:[],(FF)=>{FF=FF[0];let bC,to;Fu?(bC=FF.registeredClass,to=bC.instancePrototype):to=G9.prototype;let Pf=m2(Q2,function(){if(Object.getPrototypeOf(this)!==eo)throw new MB(`Use 'new' to construct ${t3}`);if(yG.constructor_body===void 0)throw new MB(`${t3} has no accessible constructor`);let tG0=yG.constructor_body[arguments.length];if(tG0===void 0)throw new MB(`Tried to invoke ctor of ${t3} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(yG.constructor_body).toString()}) parameters instead!`);return tG0.apply(this,arguments)});var eo=Object.create(to,{constructor:{value:Pf}});Pf.prototype=eo;var yG=new xu4(t3,Pf,eo,v1,bC,cu,mu,a4);let P44=new Gz(t3,yG,!0,!1,!1),sG0=new Gz(`${t3}*`,yG,!1,!1,!1),oG0=new Gz(`${t3} const*`,yG,!1,!0,!1);return s5[U0]={pointerType:sG0,constPointerType:oG0},mG0(Q2,Pf),[P44,sG0,oG0]})}function ro(U0,Q0){let s0=[];for(let Fu=0;Fu<U0;Fu++)s0.push(m0[(Q0>>2)+Fu]);return s0}function rG0(U0){for(;U0.length;){let Q0=U0.pop();U0.pop()(Q0)}}function $u4(U0,Q0,s0,Fu,Pu,cu){let ou=ro(Q0,s0);Pu=vJ(Fu,Pu),bB([],[U0],(mu)=>{mu=mu[0];let D4=`constructor ${mu.name}`;if(mu.registeredClass.constructor_body===void 0&&(mu.registeredClass.constructor_body=[]),mu.registeredClass.constructor_body[Q0-1]!==void 0)throw new MB(`Cannot register multiple constructors with identical number of parameters (${Q0-1}) for class '${mu.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return mu.registeredClass.constructor_body[Q0-1]=function(){zj(`Cannot construct ${mu.name} due to unbound types`,ou)},bB([],ou,(a4)=>(mu.registeredClass.constructor_body[Q0-1]=function(){arguments.length!==Q0-1&&_3(`${D4} called with ${arguments.length} arguments, expected ${Q0-1}`);let t3=[],h3=Array(Q0);h3[0]=cu;for(let Q2=1;Q2<Q0;++Q2)h3[Q2]=a4[Q2].toWireType(t3,arguments[Q2-1]);let v1=Pu.apply(null,h3);return rG0(t3),a4[0].fromWireType(v1)},[])),[]})}function yu4(U0,Q0){if(!(U0 instanceof Function))throw TypeError(`new_ called with constructor type ${typeof U0} which is not a function`);let s0=m2(U0.name||"unknownFunctionName",()=>{});s0.prototype=U0.prototype;let Fu=new s0,Pu=U0.apply(Fu,Q0);return Pu instanceof Object?Pu:Fu}function gG0(U0,Q0,s0,Fu,Pu){let cu=Q0.length;cu<2&&_3("argTypes array size mismatch! Must at least get return value and 'this' types!");let ou=Q0[1]!==null&&s0!==null,mu=!1;for(var D4=1;D4<Q0.length;++D4)if(Q0[D4]!==null&&Q0[D4].destructorFunction===void 0){mu=!0;break}let a4=Q0[0].name!=="void",t3="",h3="";for(var D4=0;D4<cu-2;++D4)t3+=`${D4!==0?", ":""}arg${D4}`,h3+=`${D4!==0?", ":""}arg${D4}Wired`;let v1=`return function ${b6(U0)}(${t3}) {
if (arguments.length !== ${cu-2}) {
throwBindingError('function ${U0} called with ' + arguments.length + ' arguments, expected ${cu-2} args!');
}
`;mu&&(v1+=`var destructors = [];
`);let Q2=mu?"destructors":"null",FF=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],bC=[_3,Fu,Pu,rG0,Q0[0],Q0[1]];ou&&(v1+=`var thisWired = classParam.toWireType(${Q2}, this);
`);for(var D4=0;D4<cu-2;++D4)v1+=`var arg${D4}Wired = argType${D4}.toWireType(${Q2}, arg${D4}); // ${Q0[D4+2].name}
`,FF.push(`argType${D4}`),bC.push(Q0[D4+2]);if(ou&&(h3=`thisWired${h3.length>0?", ":""}${h3}`),v1+=`${a4?"var rv = ":""}invoker(fn${h3.length>0?", ":""}${h3});
`,mu)v1+=`runDestructors(destructors);
`;else for(var D4=ou?1:2;D4<Q0.length;++D4){let Pf=D4===1?"thisWired":`arg${D4-2}Wired`;Q0[D4].destructorFunction!==null&&(v1+=`${Pf}_dtor(${Pf}); // ${Q0[D4].name}
`,FF.push(`${Pf}_dtor`),bC.push(Q0[D4].destructorFunction))}return a4&&(v1+=`var ret = retType.fromWireType(rv);
return ret;
`),v1+=`}
`,FF.push(v1),yu4(Function,FF).apply(null,bC)}function ru4(U0,Q0,s0,Fu,Pu,cu,ou,mu){let D4=ro(s0,Fu);Q0=Vu(Q0),cu=vJ(Pu,cu),bB([],[U0],(a4)=>{a4=a4[0];let t3=`${a4.name}.${Q0}`;mu&&a4.registeredClass.pureVirtualFunctions.push(Q0);function h3(){zj(`Cannot call ${t3} due to unbound types`,D4)}let v1=a4.registeredClass.instancePrototype,Q2=v1[Q0];return Q2===void 0||Q2.overloadTable===void 0&&Q2.className!==a4.name&&Q2.argCount===s0-2?(h3.argCount=s0-2,h3.className=a4.name,v1[Q0]=h3):(mG(v1,Q0,t3),v1[Q0].overloadTable[s0-2]=h3),bB([],D4,(FF)=>{let bC=gG0(t3,FF,a4,cu,ou);return v1[Q0].overloadTable===void 0?(bC.argCount=s0-2,v1[Q0]=bC):v1[Q0].overloadTable[s0-2]=bC,[]}),[]})}let go=[],fC=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function cG0(U0){U0>4&&--fC[U0].refcount===0&&(fC[U0]=void 0,go.push(U0))}function gu4(){let U0=0;for(let Q0=5;Q0<fC.length;++Q0)fC[Q0]!==void 0&&++U0;return U0}function cu4(){for(let U0=5;U0<fC.length;++U0)if(fC[U0]!==void 0)return fC[U0];return null}function _u4(){E.count_emval_handles=gu4,E.get_first_emval=cu4}function co(U0){switch(U0){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:{let Q0=go.length?go.pop():fC.length;return fC[Q0]={refcount:1,value:U0},Q0}}}function pu4(U0,Q0){Q0=Vu(Q0),e9(U0,{name:Q0,fromWireType(s0){let Fu=fC[s0].value;return cG0(s0),Fu},toWireType(s0,Fu){return co(Fu)},argPackAdvance:8,readValueFromPointer:Fj,destructorFunction:null})}function $G(U0){if(U0===null)return"null";let Q0=typeof U0;return Q0==="object"||Q0==="array"||Q0==="function"?U0.toString():`${U0}`}function nu4(U0,Q0){switch(Q0){case 2:return function(s0){return this.fromWireType(_0[s0>>2])};case 3:return function(s0){return this.fromWireType(w0[s0>>3])};default:throw TypeError(`Unknown float type: ${U0}`)}}function du4(U0,Q0,s0){let Fu=hu(s0);Q0=Vu(Q0),e9(U0,{name:Q0,fromWireType(Pu){return Pu},toWireType(Pu,cu){if(typeof cu!="number"&&typeof cu!="boolean")throw TypeError(`Cannot convert "${$G(cu)}" to ${this.name}`);return cu},argPackAdvance:8,readValueFromPointer:nu4(Q0,Fu),destructorFunction:null})}function su4(U0,Q0,s0,Fu,Pu,cu){let ou=ro(Q0,s0);U0=Vu(U0),Pu=vJ(Fu,Pu),l5(U0,()=>{zj(`Cannot call ${U0} due to unbound types`,ou)},Q0-1),bB([],ou,(mu)=>{let D4=[mu[0],null].concat(mu.slice(1));return mG0(U0,gG0(U0,D4,null,Pu,cu),Q0-1),[]})}function ou4(U0,Q0,s0){switch(Q0){case 0:return s0?function(Fu){return f0[Fu]}:function(Fu){return D0[Fu]};case 1:return s0?function(Fu){return P0[Fu>>1]}:function(Fu){return L0[Fu>>1]};case 2:return s0?function(Fu){return m0[Fu>>2]}:function(Fu){return h0[Fu>>2]};default:throw TypeError(`Unknown integer type: ${U0}`)}}function tu4(U0,Q0,s0,Fu,Pu){Q0=Vu(Q0),Pu===-1&&(Pu=4294967295);let cu=hu(s0),ou=function(D4){return D4};if(Fu===0){let D4=32-8*s0;ou=function(a4){return a4<<D4>>>D4}}let mu=Q0.indexOf("unsigned")!=-1;e9(U0,{name:Q0,fromWireType:ou,toWireType(D4,a4){if(typeof a4!="number"&&typeof a4!="boolean")throw TypeError(`Cannot convert "${$G(a4)}" to ${this.name}`);if(a4<Fu||a4>Pu)throw TypeError(`Passing a number "${$G(a4)}" from JS side to C/C++ side to an argument of type "${Q0}", which is outside the valid range [${Fu}, ${Pu}]!`);return mu?a4>>>0:a4|0},argPackAdvance:8,readValueFromPointer:ou4(Q0,cu,Fu!==0),destructorFunction:null})}function eu4(U0,Q0,s0){let Fu=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][Q0];function Pu(cu){cu=cu>>2;let ou=h0,mu=ou[cu],D4=ou[cu+1];return new Fu(ou.buffer,D4,mu)}s0=Vu(s0),e9(U0,{name:s0,fromWireType:Pu,argPackAdvance:8,readValueFromPointer:Pu},{ignoreDuplicateRegistrations:!0})}function u44(U0,Q0){Q0=Vu(Q0);let s0=Q0==="std::string";e9(U0,{name:Q0,fromWireType(Fu){let Pu=h0[Fu>>2],cu;if(s0){let mu=D0[Fu+4+Pu],D4=0;mu!=0&&(D4=mu,D0[Fu+4+Pu]=0);let a4=Fu+4;for(var ou=0;ou<=Pu;++ou){let t3=Fu+4+ou;if(D0[t3]==0){let h3=m(a4);cu===void 0?cu=h3:(cu+="\x00",cu+=h3),a4=t3+1}}D4!=0&&(D0[Fu+4+Pu]=D4)}else{let mu=Array(Pu);for(var ou=0;ou<Pu;++ou)mu[ou]=String.fromCharCode(D0[Fu+4+ou]);cu=mu.join("")}return MC(Fu),cu},toWireType(Fu,Pu){Object.prototype.toString.call(Pu)==="[object ArrayBuffer]"&&(Pu=new Uint8Array(Pu));let cu,ou=typeof Pu=="string";ou||Pu instanceof Uint8Array||Pu instanceof Uint8ClampedArray||Pu instanceof Int8Array||_3("Cannot pass non-string to std::string"),s0&&ou?cu=function(){return _(Pu)}:cu=function(){return Pu.length};let mu=cu(),D4=Bx(4+mu+1);if(h0[D4>>2]=mu,s0&&ou)r(Pu,D4+4,mu+1);else if(ou)for(var a4=0;a4<mu;++a4){let t3=Pu.charCodeAt(a4);t3>255&&(MC(D4),_3("String has UTF-16 code units that do not fit in 8 bits")),D0[D4+4+a4]=t3}else for(var a4=0;a4<mu;++a4)D0[D4+4+a4]=Pu[a4];return Fu!==null&&Fu.push(MC,D4),D4},argPackAdvance:8,readValueFromPointer:Fj,destructorFunction(Fu){MC(Fu)}})}function B44(U0,Q0,s0){s0=Vu(s0);let Fu,Pu;Q0===2?(Fu=function(){return L0},Pu=1):Q0===4&&(Fu=function(){return h0},Pu=2),e9(U0,{name:s0,fromWireType(cu){let ou=Fu(),mu=h0[cu>>2],D4=Array(mu),a4=cu+4>>Pu;for(let t3=0;t3<mu;++t3)D4[t3]=String.fromCharCode(ou[a4+t3]);return MC(cu),D4.join("")},toWireType(cu,ou){let mu=ou.length,D4=Bx(4+mu*Q0),a4=Fu();h0[D4>>2]=mu;let t3=D4+4>>Pu;for(let h3=0;h3<mu;++h3)a4[t3+h3]=ou.charCodeAt(h3);return cu!==null&&cu.push(MC,D4),D4},argPackAdvance:8,readValueFromPointer:Fj,destructorFunction(cu){MC(cu)}})}function E44(U0,Q0){Q0=Vu(Q0),e9(U0,{isVoid:!0,name:Q0,argPackAdvance:0,fromWireType(){},toWireType(s0,Fu){}})}function A44(U0){U0>4&&(fC[U0].refcount+=1)}function C44(U0,Q0){let s0=O0[U0];return s0===void 0&&_3(`${Q0} has unknown type ${yG0(U0)}`),s0}function D44(U0,Q0){U0=C44(U0,"_emval_take_value");let s0=U0.readValueFromPointer(Q0);return co(s0)}function F44(){Du()}function _G0(){return f0.length}function U44(U0){try{return R.grow(U0-k0.byteLength+65535>>16),x0(R.buffer),1}catch(Q0){console.error(`emscripten_realloc_buffer: Attempted to grow heap from ${k0.byteLength} bytes to ${U0} bytes, but got error: ${Q0}`)}}function z44(U0){let Q0=_G0();O(U0>Q0);let s0=65536,Fu=2147483648-s0;if(U0>Fu)return l(`Cannot enlarge memory, asked to go up to ${U0} bytes, but the limit is ${Fu} bytes!`),!1;let Pu=Math.max(Q0,16777216);for(;Pu<U0;)Pu<=536870912?Pu=B0(2*Pu,s0):Pu=Math.min(B0((3*Pu+2147483648)/4,s0),Fu),Pu===Q0&&q(`Cannot ask for more memory since we reached the practical limit in browsers (which is just below 2GB), so the request would have failed. Requesting only ${f0.length}`);return U44(Pu)?!0:(l(`Failed to grow the heap from ${Q0} bytes to ${Pu} bytes, not enough memory!`),!1)}function k44(U0){I44(U0)}function f44(U0){return Math.log(U0)/Math.LN2}function M44(U0){return f44(U0)}function b44(){Du("trap!")}function Z44(U0,Q0,s0){D0.set(D0.subarray(Q0,Q0+s0),U0)}f4(),MB=E.BindingError=t9(Error,"BindingError"),Y6=E.InternalError=t9(Error,"InternalError"),$6(),au4(),Nu4(),$G0=E.UnboundTypeError=t9(Error,"UnboundTypeError"),_u4();function J44(U0){K0(U0,"i")}function K44(U0){K0(U0,"ii")}function w44(U0){K0(U0,"iidiiii")}function Q44(U0){K0(U0,"iii")}function G44(U0){K0(U0,"iiii")}function H44(U0){K0(U0,"iiiii")}function q44(U0){K0(U0,"jiji")}function l44(U0){K0(U0,"v")}function L44(U0){K0(U0,"vi")}function X44(U0){K0(U0,"vii")}function v44(U0){K0(U0,"viii")}function x44(U0){K0(U0,"viiii")}function W44(U0){K0(U0,"viiiii")}function S44(U0){K0(U0,"viiiiii")}let Y44={};var _o={___assert_fail:S4,___cxa_allocate_exception:$u,___cxa_throw:V4,___lock:b4,___unlock:P4,___wasi_fd_close:g4,___wasi_fd_seek:B3,___wasi_fd_write:eu,__embind_register_bool:Kz,__embind_register_class:mu4,__embind_register_class_constructor:$u4,__embind_register_class_function:ru4,__embind_register_emval:pu4,__embind_register_float:du4,__embind_register_function:su4,__embind_register_integer:tu4,__embind_register_memory_view:eu4,__embind_register_std_string:u44,__embind_register_std_wstring:B44,__embind_register_void:E44,__emval_decref:cG0,__emval_incref:A44,__emval_take_value:D44,__memory_base:1024,__table_base:0,_abort:F44,_emscripten_get_heap_size:_G0,_emscripten_memcpy_big:Z44,_emscripten_resize_heap:z44,_exit:k44,_llvm_log2_f64:M44,_llvm_trap:b44,abortStackOverflow:a0,memory:R,nullFunc_i:J44,nullFunc_ii:K44,nullFunc_iidiiii:w44,nullFunc_iii:Q44,nullFunc_iiii:G44,nullFunc_iiiii:H44,nullFunc_jiji:q44,nullFunc_v:l44,nullFunc_vi:L44,nullFunc_vii:X44,nullFunc_viii:v44,nullFunc_viiii:x44,nullFunc_viiiii:W44,nullFunc_viiiiii:S44,setTempRet0:S,table:Y};let pG0=E.asm(Y44,_o,k0);E.asm=pG0;var po=E.__ZSt18uncaught_exceptionv=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.__ZSt18uncaught_exceptionv.apply(null,arguments)};let NG3=E.___cxa_demangle=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.___cxa_demangle.apply(null,arguments)},VG3=E.___embind_register_native_and_builtin_types=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.___embind_register_native_and_builtin_types.apply(null,arguments)};var R44=E.___getTypeName=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.___getTypeName.apply(null,arguments)};let hG3=E._fflush=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm._fflush.apply(null,arguments)};var MC=E._free=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm._free.apply(null,arguments)},Bx=E._malloc=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm._malloc.apply(null,arguments)};let iG3=E.establishStackSpace=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.establishStackSpace.apply(null,arguments)};var T44=E.globalCtors=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.globalCtors.apply(null,arguments)},no=E.stackAlloc=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.stackAlloc.apply(null,arguments)},nG0=E.stackRestore=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.stackRestore.apply(null,arguments)},so=E.stackSave=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.stackSave.apply(null,arguments)};let aG3=E.dynCall_i=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_i.apply(null,arguments)},mG3=E.dynCall_ii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_ii.apply(null,arguments)},$G3=E.dynCall_iidiiii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_iidiiii.apply(null,arguments)},yG3=E.dynCall_iii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_iii.apply(null,arguments)},rG3=E.dynCall_iiii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_iiii.apply(null,arguments)},gG3=E.dynCall_iiiii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_iiiii.apply(null,arguments)},cG3=E.dynCall_jiji=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_jiji.apply(null,arguments)},_G3=E.dynCall_v=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_v.apply(null,arguments)},pG3=E.dynCall_vi=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_vi.apply(null,arguments)},nG3=E.dynCall_vii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_vii.apply(null,arguments)},dG3=E.dynCall_viii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_viii.apply(null,arguments)},sG3=E.dynCall_viiii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_viiii.apply(null,arguments)},oG3=E.dynCall_viiiii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_viiiii.apply(null,arguments)},tG3=E.dynCall_viiiiii=function(){return O(E0,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)"),O(!$0,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),E.asm.dynCall_viiiiii.apply(null,arguments)};E.asm=pG0,Object.getOwnPropertyDescriptor(E,"intArrayFromString")||(E.intArrayFromString=function(){Du("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"intArrayToString")||(E.intArrayToString=function(){Du("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),E.ccall=j,E.cwrap=i,Object.getOwnPropertyDescriptor(E,"setValue")||(E.setValue=function(){Du("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"getValue")||(E.getValue=function(){Du("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"allocate")||(E.allocate=function(){Du("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"getMemory")||(E.getMemory=function(){Du("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"AsciiToString")||(E.AsciiToString=function(){Du("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stringToAscii")||(E.stringToAscii=function(){Du("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"UTF8ArrayToString")||(E.UTF8ArrayToString=function(){Du("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"UTF8ToString")||(E.UTF8ToString=function(){Du("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stringToUTF8Array")||(E.stringToUTF8Array=function(){Du("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),E.stringToUTF8=r,Object.getOwnPropertyDescriptor(E,"lengthBytesUTF8")||(E.lengthBytesUTF8=function(){Du("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"UTF16ToString")||(E.UTF16ToString=function(){Du("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stringToUTF16")||(E.stringToUTF16=function(){Du("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"lengthBytesUTF16")||(E.lengthBytesUTF16=function(){Du("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"UTF32ToString")||(E.UTF32ToString=function(){Du("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stringToUTF32")||(E.stringToUTF32=function(){Du("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"lengthBytesUTF32")||(E.lengthBytesUTF32=function(){Du("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"allocateUTF8")||(E.allocateUTF8=function(){Du("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stackTrace")||(E.stackTrace=function(){Du("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"addOnPreRun")||(E.addOnPreRun=function(){Du("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"addOnInit")||(E.addOnInit=function(){Du("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"addOnPreMain")||(E.addOnPreMain=function(){Du("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"addOnExit")||(E.addOnExit=function(){Du("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"addOnPostRun")||(E.addOnPostRun=function(){Du("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"writeStringToMemory")||(E.writeStringToMemory=function(){Du("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"writeArrayToMemory")||(E.writeArrayToMemory=function(){Du("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"writeAsciiToMemory")||(E.writeAsciiToMemory=function(){Du("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"addRunDependency")||(E.addRunDependency=function(){Du("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"removeRunDependency")||(E.removeRunDependency=function(){Du("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"ENV")||(E.ENV=function(){Du("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"FS")||(E.FS=function(){Du("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"FS_createFolder")||(E.FS_createFolder=function(){Du("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"FS_createPath")||(E.FS_createPath=function(){Du("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"FS_createDataFile")||(E.FS_createDataFile=function(){Du("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"FS_createPreloadedFile")||(E.FS_createPreloadedFile=function(){Du("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"FS_createLazyFile")||(E.FS_createLazyFile=function(){Du("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"FS_createLink")||(E.FS_createLink=function(){Du("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"FS_createDevice")||(E.FS_createDevice=function(){Du("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"FS_unlink")||(E.FS_unlink=function(){Du("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(E,"GL")||(E.GL=function(){Du("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"dynamicAlloc")||(E.dynamicAlloc=function(){Du("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"loadDynamicLibrary")||(E.loadDynamicLibrary=function(){Du("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"loadWebAssemblyModule")||(E.loadWebAssemblyModule=function(){Du("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"getLEB")||(E.getLEB=function(){Du("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"getFunctionTables")||(E.getFunctionTables=function(){Du("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"alignFunctionTables")||(E.alignFunctionTables=function(){Du("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"registerFunctions")||(E.registerFunctions=function(){Du("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"addFunction")||(E.addFunction=function(){Du("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"removeFunction")||(E.removeFunction=function(){Du("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"getFuncWrapper")||(E.getFuncWrapper=function(){Du("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"prettyPrint")||(E.prettyPrint=function(){Du("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"makeBigInt")||(E.makeBigInt=function(){Du("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"dynCall")||(E.dynCall=function(){Du("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"getCompilerSetting")||(E.getCompilerSetting=function(){Du("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stackSave")||(E.stackSave=function(){Du("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stackRestore")||(E.stackRestore=function(){Du("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"stackAlloc")||(E.stackAlloc=function(){Du("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"establishStackSpace")||(E.establishStackSpace=function(){Du("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"print")||(E.print=function(){Du("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"printErr")||(E.printErr=function(){Du("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"getTempRet0")||(E.getTempRet0=function(){Du("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"setTempRet0")||(E.setTempRet0=function(){Du("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"callMain")||(E.callMain=function(){Du("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"abort")||(E.abort=function(){Du("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"Pointer_stringify")||(E.Pointer_stringify=function(){Du("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(E,"warnOnce")||(E.warnOnce=function(){Du("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),E.writeStackCookie=W0,E.checkStackCookie=Y0,E.abortStackOverflow=a0,Object.getOwnPropertyDescriptor(E,"ALLOC_NORMAL")||Object.defineProperty(E,"ALLOC_NORMAL",{configurable:!0,get(){Du("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(E,"ALLOC_STACK")||Object.defineProperty(E,"ALLOC_STACK",{configurable:!0,get(){Du("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(E,"ALLOC_DYNAMIC")||Object.defineProperty(E,"ALLOC_DYNAMIC",{configurable:!0,get(){Du("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(E,"ALLOC_NONE")||Object.defineProperty(E,"ALLOC_NONE",{configurable:!0,get(){Du("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(E,"calledRun")||Object.defineProperty(E,"calledRun",{configurable:!0,get(){Du("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}});let Ex;E.then=function(U0){if(Ex)U0(E);else{let Q0=E.onRuntimeInitialized;E.onRuntimeInitialized=function(){Q0&&Q0(),U0(E)}}return E};function dG0(U0){this.name="ExitStatus",this.message=`Program terminated with exit(${U0})`,this.status=U0}yu=function U0(){Ex||oo(),Ex||(yu=U0)};function oo(U0){if(U0=U0||D,zu>0||(W0(),g0(),zu>0))return;function Q0(){Ex||(Ex=!0,!h&&(n0(),c0(),E.onRuntimeInitialized&&E.onRuntimeInitialized(),O(!E._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),p0()))}E.setStatus?(E.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>{E.setStatus("")},1),Q0()},1)):Q0(),Y0()}E.run=oo;function O44(){let U0=H,Q0=l,s0=!1;H=l=function(Fu){s0=!0};try{let Fu=k1;Fu&&Fu(0)}catch{}H=U0,l=Q0,s0&&(q("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc."),q("(this may also be due to not including full filesystem support - try building with -s FORCE_FILESYSTEM=1)"))}function I44(U0,Q0){O44(),!(Q0&&T&&U0===0)&&(T?Q0||l(`program exited (with status: ${U0}), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)`):(h=!0,I=U0,Bu(),E.onExit&&E.onExit(U0)),U(U0,new dG0(U0)))}if(E.preInit)for(typeof E.preInit=="function"&&(E.preInit=[E.preInit]);E.preInit.length>0;)E.preInit.pop()();return T=!0,oo(),E}}(),L13=l13;x13=(()=>{let u=new Uint8Array(128);for(let B=0;B<64;B++)u[B<26?B+65:B<52?B+71:B<62?B-4:B*4-205]=B;return(B)=>{let E=B.length,A=new Uint8Array((E-(B[E-1]=="=")-(B[E-2]=="="))*3/4|0);for(let C=0,D=0;C<E;){let F=u[B.charCodeAt(C++)],U=u[B.charCodeAt(C++)],z=u[B.charCodeAt(C++)],k=u[B.charCodeAt(C++)];A[D++]=F<<2|U>>4,A[D++]=U<<4|z>>2,A[D++]=z<<6|k}return A}})(),W13=x13("AGFzbQEAAAAB+gIuYAJ/fwF/YAJ/fwBgAX8Bf2ABfwBgA39/fwF/YAR/f39/AX9gA39/fwBgBH9/f38AYAV/f39/fwF/YAZ/f39/f38Bf2AFf39/f38AYAZ/f39/f38AYAh/f39/f39/fwBgB39/f39/f38Bf2AIf39/f39/f38Bf2AAAX9gBn9/f319fwBgBX9/f39/AX1gB39/f39/f38AYAAAYAJ8fwF8YAh/f399fX19fwBgCn9/f319fX19fX8AYAl/f319fX19fX8AYAF/AXxgBH9/f38BfWACf30Bf2AEf39/fQF/YAZ/f399fX0Bf2AEfH9/fwF8YAJ/fAF8YA5/f39/f39/f39/f39/fwF/YAV/f39/fwF8YAZ/f39/f38BfWADf39/AX1gCn9/f39/f39/f38AYAt/f39/f39/f39/fwBgA399fwF/YAJ/fwF+YAN/fn8AYAV8fHx8fAF8YAJ/fQBgA399fQBgAXwBfGACfn8Bf2AGf3x/f39/AX8DkQ2PDRMABAAABAIBAQYDAQIIAgMDAwMCAgACBAQDBA8BAQIDBAIEAQEAAAEAAAEAAwMDAwAFAgQCAQMDAAAEAwQDAwMDCAAAAAICAgUFCA4ECQkFBQwACwAMAAsACQkICA0JCwwDBAQFAAUICQUFCQYJCA0JCQsMAQIDBgcDAgECAA8DBQgAAQQEAwEBAQIBAQIBAhgFAQAGBQAAAgUABgADAwMDAwMDAwAGAgICBgYCAgAAAAIKAQIBAgABAQcAAQMCAgAGAwAKAQMDAgcEAgICGQICEQ8DBAAaAgQAAAUBAwMCAAEEAQEGAQEBAwICAAEEAgICCAQABwcOAQEBAAQDAwMACAQEAAgAAAUDCAIDBwYAAAYEAwAHAAAEAwEAAAMDAgQIBAAEAQIHAQMPAwICAAIBAwQFBBscBAQCAAMCBAQFDQQdBwEeFAEEAQEBAQEBAQEBAQABAQEBAwMDAwMDAQEBAwAABAEAAwEAAAICAAEDAgYBCgoKAgECAAYLAgEGAQgCAgEBAQIAAQEBAAABAhEEBgIEAAEHAQEDAwMFAAUBAQYAAgAHAQIEAAABAAADBAYAAgAABAYCBwACAAQBAgABAgIBAQEDBQECAAEFAAMGAwEFAwYGBQAAAwEQEBUWBwcBAwEBAAEDBgMBAwEBAQECAwIGCgwAAQICAQQIDgkFDAUMCQgCAgIFBAQEBAQBBAQAAAQAAAAAAAADAAQEAAAEBAAABAUCAAARAAAAAB8EAQADAQYBAQkBCggAIAQEIQIBAQIEAgYGAAADAAAABAQFAAIABQMEAQMABwYBBQAEAgABAgMAAAIEAAUFBAACAAADAQMDAAIABAQCAAECAAAEAwMEBwoEBgUEAQEFBQQBACICAAAAAAACAAQAAAQEAAAEAQQABQAEBgECBgICAwAEAgIGBgECAQIFAAICAwMBBgIAAgIAAwYDBQoEAQcSBSMJAQAKBQADAwQEBgAEBAcACgUHJA4AAAAEBAQABAAEAAAAAAQEBAAABAAAAAAEAAUJBAQFCgIAAAQEAQABBAAAAAQAAAEAAQAGAQEFAwEACAgBAwQBBgYGAQEBAQEBAQEBAQQADQEDBgEDBQYGAQsBBwEBAwAJAwUCAQMDAwYGBgEBAgYGAwECAwIBAAsNBgYLAwAHAAQEAgMAAAAAAAIDAAMABgMGBwADAAADAAcAAwABBgABAQQAAAAAAAACBAQGAgEBAAQEBgEBAQYAAQABAAUBAQMCAQYEAAQCBgAEBAAGAQMBAAAABAAAAAAAAAAAAAAEBAQAAAAAAQcAAgACBAQlAQYBBwYBAAIDBQEBAAAFBQADAQYBAwcGBgMGAgIFBQYABAQEBgEHAQEBBwMABwAAAAIDAAQCCgQGAAMDAAEABQEEAwEDASYnAQoGAQcAAAAEAgQBAAIACQMEAAAHAQoABQIBAwEABwUCAQMEBgEBAgMBAAEBAQMBAQcDBQIBAgIFAQECAAsBBQIBAgIFAQECAQoDBwcBBgICBwcGBQUDAgEDAQEGBgEGBgoKCgoAAAIABAUFBQUBAwcCAAMABAQAAgMAAAAABAEGBAUEBgEBAQEBAAAAAQAAAAAAAAUDAQQNAQAEBhIGAQUDAgALAgAAAgAABQEABQACDAcFAwAABgUFBQUIAgMBAwEGCQkBAwUCAAICCQMDBQQBAggEBAYABAECAAEAAQAAAAAAAQIIAwEABAEAAQQAAAEEACgCBAUAAgAABQAFAgcCAgAABgAAAAAAAAApAAsIBAUAAAgABQgIAAUFBQUFBQAFBQUFBQMFBQACAAQEAQAACAQEBAQHBQICAQACAwQABAMBAwACDAUIAQEFAAUACQUDAgkAAAACCQgEBQECAAAKCggAAAQAAAUBAgQCAQIGAQIEAgcBAAIBAAIAAAMBAgACAQIAAAEABQQFCgUACQALAAYEBAUHBAMFAAQACQEBAwsGBwsBBgkBAQMBAQYCBwECCwASAQIBAQIBBQEACQEBAgQCAQMFAAIGCAcOAAQGBgQCBAcEAAAABAQFAQUFAAAAAwQBBwQEAwsBBAMBAgAAAAAAKgEAAAAAAAUAAQEGBAYGAAYAAAIDAAEBAQEGCgYGBgYBAAAABgMGCgwBAAEBBgEBAQcCAAAEBAAFAAQGCgIAARMEBAQCKwcAAhQIBgIGLAotAQQAAgIDAAEAAw8EBwUKBAQLBgcCBAUGBAQEBAQFCAkJCQkIBgUGCAYFBgEGBAcBcAGCAYIBBQYBAZAIkAgGCAF/AUGQ2wQLB/MGJgZtZW1vcnkCAARmcmVlAOcMDmhiX2Jsb2JfY3JlYXRlAA0PaGJfYmxvYl9kZXN0cm95AA8GbWFsbG9jAOYMEmhiX2Jsb2JfZ2V0X2xlbmd0aAAUEGhiX2Jsb2JfZ2V0X2RhdGEAFRFoYl9mYWNlX2dldF9lbXB0eQAbDmhiX2ZhY2VfY3JlYXRlADkPaGJfZmFjZV9kZXN0cm95AD0WaGJfZmFjZV9yZWZlcmVuY2VfYmxvYgBFDWhiX3NldF9jcmVhdGUA0gEOaGJfc2V0X2Rlc3Ryb3kA0wEMaGJfc2V0X2NsZWFyAN0BCmhiX3NldF9hZGQA4QEKaGJfc2V0X2RlbADjAQxoYl9zZXRfdW5pb24A5gENaGJfc2V0X2ludmVydADpAR5oYl9zdWJzZXRfaW5wdXRfY3JlYXRlX29yX2ZhaWwAqgIXaGJfc3Vic2V0X2lucHV0X2Rlc3Ryb3kAqwIZaGJfc3Vic2V0X2lucHV0X3JlZmVyZW5jZQCsAhtoYl9zdWJzZXRfaW5wdXRfdW5pY29kZV9zZXQAFBloYl9zdWJzZXRfaW5wdXRfZ2x5cGhfc2V0AK0CE2hiX3N1YnNldF9pbnB1dF9zZXQArgIZaGJfc3Vic2V0X2lucHV0X2dldF9mbGFncwCvAhloYl9zdWJzZXRfaW5wdXRfc2V0X2ZsYWdzALACHWhiX3N1YnNldF9pbnB1dF9zZXRfdXNlcl9kYXRhAEEdaGJfc3Vic2V0X2lucHV0X2dldF91c2VyX2RhdGEAQh9oYl9zdWJz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DEGgI2okACAFC4QDAgZ9Bn8gACoCRCIFIAEoAgQiCMGylCEGIAAqAkAiAyABKAIAIgnBspQhAiAFIAEoAgwgCGrBspQhByADIAEoAgggCWrBspQhBSAAKgI8IgRDAAAAAFwEQCAFIAYgBJQiAyAEIAeUIgQgAyAEYBuSIQUgAiADIAQgAyAEXxuSIQILIAECfyAGjiIDi0MAAABPXQRAIAOoDAELQYCAgIB4CyIINgIEIAECfyACjiICi0MAAABPXQRAIAKoDAELQYCAgIB4CyIJNgIAIAECfyAHjSAIspMiAotDAAAAT10EQCACqAwBC0GAgICAeAsiCjYCDCABAn8gBY0gCbKTIgKLQwAAAE9dBEAgAqgMAQtBgICAgHgLIg02AgggACgCMCILIAAoAjQiDHIEQCABIApBACAMayAMIAAoAiBBAEgbIgprNgIMIAEgCCAKajYCBEEAIAtrIAsgACgCHEEASBshCCAALQAsQQFGBEAgASAIQX5tIAlqNgIACyABIAggDWo2AggLCzgBAX8CQCAAQaASRg0AAkACQCAALQAADgQAAgIBAgsgACABai0AAQ8LIABBAWogARCWASECCyACC7UBAQN/AkAgAiABLwAAIgNBCHQgA0EIdnJB//8DcU8EQAwBCyABIAIQlwEhAwJAIAMgASACQQFqEJcBIgJNBEAgASABLwAAIgRBCHQgBEEIdnJB//8DcRCXASACTw0BCwwBCyABLQACIQUgAS8AACEEIABBADYCCCAAIAIgA2s2AgQgACABQQJqIAUgBEEIdCAEQQh2ckH//wNxQQFqbGogA2o2AgAPCyAAQgA3AgAgAEEANgIIC5MCAgF+An8gAigCSCEFQaASIAIoAtgBIANBGGxqIAIoAtQBIANNGygCFCECIABCADcDACAAQQA6ABAgAEEANgIIIABBFGpBAEGMIBDUDBogASkCACEEIABCADcDoCAgAEEANgIIIAAgBDcDACAAQaggaiIDQQA2AgAgAEHEIGoQ4gMgAEGwImoiBkIANwMAIABCADcDqCIgASkCACEEIABCADcDqCIgAEEANgLAICAAQgA3A7ggIABBATsAtSAgAEEANgKwICADQgA3AwAgACAENwOgICAGQgA3AwAgAEGUImogBRDjAyAAQZwiaiACEOMDIABBADoAyCIgAEEANgK8IiAA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BWovAAAiAkEIdCACQQh2csEiBCABTARAIAAgA0EBdGovAAAiAEEIdCAAQQh2csEgASAEa2oPCyACIAUgAEEEayIFai8AACIGRgRAIAUgA0EBdGovAAAiAEEIdCAAQQh2csEPCyABIAZBCHQgBkEIdnLBIgFrsiAAIANBAXQiAmovAAAiAEEIdCAAQQh2csEgAiAFai8AACIAQQh0IABBCHZywSIAa7KUIAQgAWuylSAAspJDAAAAP5KOIgiLQwAAAE9dBEAgCKgPC0GAgICAeCEBDAILIABBAWohAAwACwALIAELmAIBA38CQCAALQAAQQFHDQAgACABKAIcQQAQiQVFDQAgACABKAIENgIEIABBDGoiAigCACIDQQBIBEAgAiADQX9zNgIACyACQQBBAUEAEI0FGiACIAEoAhBBARD8ARoCQCACKAIAQQBIDQAgASgCFCEDIAIgASgCECIENgIEIARBA3QiBEUNACACKAIIIAMgBBDSDBoLIABBGGoiAigCACIDQQBIBEAgAiADQX9zNgIACyACQQBBAUEAEIwFGiACIAEoAhxBARCOBRoCQCACKAIAQQBIDQAgASgCICEDIAIgASgCHCIENgIEIARByABsIgRFDQAgAigCCCADIAQQ0gwaCwsgAC0AAEEBRgRAIAAgAS0AJDoAJAsLCgAgAEEMahDeAQsZACAAEIAHIAAtAABBAUYEQCAAQQA6ACQLCy4BAX8jAEEQayIBJAAgAUF/NgIMIAAgAUEMahDsARogASgCDCABQRBqJABBf0YLDwAgACABEKIMIAAtACRHCwwAIABBDGogARCOAQsiACAALQAkQQFGBEAgACABIAIQnAxBAQ8LIAAgASACEJ0MCwwAIABBDGogARDkAQscACAALQAkQQFGBEAgACABEJsMDwsgACABEJoMCyEAIAAtACRBAUYEQCAAIAEgAhCdDBoPCyAAIAEgAhCcDAsPACAAQQxqIAFBDGoQ5wELYQEBfwJAIAAtACQiAiABLQAkRgRAIAIEQCAAIAEQpwwMAgsgACABEKgMDAELIAIEQCAAIAEQqQwMAQsgACABEKoMCyAALQAAQQFGBEAgACAALQAkIAEtACRyQQFxOgAkCwthAQF/AkAgAC0AJCICIAEtACRGBEAgAgRAIAAgARCqDAwCCyAAIAEQqQwMAQsgAgRAIAAg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IAMgAUECdGogAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnI2AAALCz8BAX8jAEEQayIDJAAgAyABNgIMIAAoAiAgA0EMahCCASgCACIAQX9HBEAgAiAANgIACyADQRBqJAAgAEF/RwtjAQJ/IABCADcCACAAQgA3AhAgAEIANwIIIABBGGohAgNAIAFBC0cEQCACIAFBAnRqQX82AgAgAUEBaiEBDAELCyAAQgA3AlAgAEKAgICAgMIINwJIIABCADcCWCAAQgA3AmALOQECfyAAKAIMIgIgACgCCEEEdGohAwNAIAMgAiIARwRAIABBEGohAiAAKAIEIAFHDQELCyAAIANHC18BAn8gAEEEaiADEPcEIgMgATYCBCACKAIIIQEgAigCBCEEIAMgACgCACIFIAIoAgBqNgIAIAMgBCAFayICQQAgAiAETRsiAiABIAVrIgMgAiADSRs6AAggACABNgIACxYAIAAgACgCVCAAQdwAakEAIAEQoQYLTAECfyAAIAFBACABQQBKGyIBQQAQpAIiAgRAAkAgACgCBCIDIAFJBEAgACABEKUCDAELIAEgA08NACAAIAEQogYLIAAgATYCBAsgAgtCAQF/IABBoBIgACgCWCIDKAIIIAFBDGxqIAMoAgQgAU0bQaASIAAoApgBIAFBNGxqIAAoApQBIAFNGyABIAIQoQYLcAECfyAAQbQBahCjBiAAQagBahDzBCAAQZwBahDzBCAAQdwAaiICQTRqIgEoAgAEQCABQQAQsAYgASgCCBDnDAsgAUEANgIIIAFCADcCACACEJ8CGiAAQcgAahAtIABBCGoiAEE0ahDHASAAELYBGguhAgEEfwJAIAAoAgQiAiAAKAIATgRAIAJBAWohBAJAIAAoAgAiA0EASA0AQQEhBSADIARPDQAgAyECA0AgAiAESQRAIAIgAkEBdmpBCGohAgwBCwsCfyACQc2Zs+YATwRAIANBf3MhAkEADAELAn8gACgCCCEDIAJFBEAgAxDnDEEADAELIAMgAkEUbBDoDAsiAyACRXJFBEAgAiAAKAIAIgNNDQIgA0F/cyECQQAMAQsgACADNgIIQQELIQUgACACNgIACyAFRQ0BIAAoAgQhAgsgACACQQFqNgIEIAAoAgggAkEUbGoiACABKAIQNgIQIAAgASkCCDcCCCAAIAEp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AyADQcggajYCtCAgBhDuBCECIAYoAgBBAEgNBCACQgA3AgAgAkIANwIQIAJCADcCCCACQoCAgIBwNwIYIANBtCBqIAIQ7wRFDQQCfyAFIAAoAtQBTwRAQeDQAEIANwMAQdjQAEIANwMAQdDQAEIANwMAQdDQAAwBCyAAKALYASAFQRhsagshBCABIAIoAhAgACACQRRqENQEIgdBoBJGDQQgAigCFCECIANBADoAICAIQQBBjCAQ1AwaIANBADYCGCADIAI2AhQgAyAHNgIQIAMgA0EQajYCDCAEQQA2AhAgBEIANwIIIARCADcCACAEQaASNgIUIANBDGogBBDuBkUNBCAEIAcgBCgCECAAEOgENgIUIAVBAWohBSAAKAJYIQQMAAsACwJ/IAAoAtQBRQRAQeDQAEIANwMAQdjQAEIANwMAQdDQAEIANwMAQdDQAAwBCyAAKALYAQshAiABIAAoArgBIAAgAEG8AWoQ1AQiAUGgEkYNAiAAKAK8ASEEIANBADoA2CAgA0HcIGpBAEGMIBDUDBogA0EANgLQICADIAQ2AswgIAMgATYCyCAgAyADQcggajYCECACQQA2AhAgAkIANwIIIAJCADcCACACQaASNgIUIANBEGogAhDuBkUNAiACIAEgAigCECAAEOgENgIUDAMFAn8gAiAAKALUAU8EQEHg0ABCADcDAEHY0ABCADcDAEHQ0ABCADcDAEHQ0AAMAQsgACgC2AEgAkEYbGoLIgRCADcCACAEQaASNgIUIARBADYCECAEQgA3AgggAkEBaiECDAELAAsACyAAEPEECyADQfDAAGokACAAQQA2AuQBIAALawEDfyAAQQRrIQIDQAJAIAAoAgAiAUUEQCACKAIARQRAQaASDwsgAEEEaygCACEDQQFB6AEQ6gwiAQRAIAEgAxDqAhoLIAFBoBIgARshASAAKAIADQEgACABNgIACyABDwsgARDbAgwACwALoQIBBH8jAEEQayIEJAAjAEFAaiIBJAACQAJAIAAoApwQIgJBBGogAEH0C2ogAhsiAi0ADEEBRw0AIAFBwqrNugQ2AgggAiABQQhqIgNBABCFAUUNACABQcKqzboENgIIIAIgAxCkBSgCACIARQ0BIAAoAgAiAkUNASAAIAJBAWo2AgAMAQsgAUIANwMQIAFCADcDGCABQgA3AB0gAUIA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AiAAIAJBCGsQygMaDAILIAQgBCACIARBf0cbIAtBAXEbIQQgBSAIQQFqIgggAmpxIQIMAAsACyAFCxcAIAAgARDLAyAAQQA2AhwgAEEtNgIYC1wBAn8CfyAAKAIERQRAQdDQAEIANwMAQdjQAEEANgIAQdDQAAwBCyAAKAIACyAAKAIcIgJBAXVqIQEgACgCGCEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQIAC6MCAQR/IAAtAAxBAUcEQEEADwsCQCABBEAgACgCGCABQQF2IAFqSw0BC0EMQSAgACgCECICIAEgASACSRtBAXRBCGoiAWdrQQAgARsiAXQiAxDmDCICRQRAIABBADoADEEADwsgAUEdTQRAIAJBACADENQMGgsgAEIANwIQIAAoAhghAyAAQX8gAXRBf3M2AhggAUEfSwR/Qf////8HBSABQQJ0QZDGAGooAgALIQQgACgCICEFIAAgAjYCICAAIAQ2AhwgACABQQF0OwEOAkAgA0UNACADQQFqIQNBACEBA0AgASADRg0BIAUgAUEMbGoiAigCBCIEQQFxBEAgACACIARBAnYgAkEIahDHAxoLIAFBAWohAQwACwALIAUQ5wwLQQELCwAgACABQS4Q+QwLVwEBfiACKQIAIQQgACABKQIANwIAIAAgASgCCDYCCCAAIAM2AhQgACAENwIMIABBDGohAQNAAkAgACgCBEUNACABIAAoAgAQzQMNACAAEMYDDAELCyAACzUBAX8gASAAKAIEIgJBAXVqIQEgACgCACEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQIAC8YBAQN/IwBBEGsiAyQAIABBADYCGCAAQgA3AhAgACAAKAIANgIEIAAgACgCDDYCCCAAENADIANBADYCDAJAAkAgAEEwaiIBKAIEIgIgASgCAE4EQCABIAJBAWpBABDYAUUNASABKAIEIQILIAEgAkEBajYCBCABKAIIIAJBAnRqQQA2AgAMAQtB0NAAQQA2AgALIABCADcBSiAAQQE6AEggAEEANgJEIABCgYCAgBA3AjwgAEIANwFSIABCADcBWCADQRBqJAALNwEBfwJ/IAAoAhgiA0UgASgCAEEASHFFBEBBACADDQEaQQEgAi0ADA0BGgsgAEEBNgIYQQALGgt3AQN/IAAoAjggACgCNCICQQBHQQJ0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IghqIgJCADcCACACQQA2AhggAkIANwIQIAJCADcCCCACIAAoAgggCGoiCRDiBCACIAkoAhg2AhggAiAJKQIQNwIQIAAoAgggCGpBBGoQLSAEQQFqIQQMAAsACyAHKAIAEOcMIAYLIgIgAUVyRQRAIAEgACgCACICTQ0CIAJBf3MhAUEADAELIAAgAjYCCEEBCyEFIAAgATYCAAsgBQRAAkAgACgCBCIBIANJBEAgACgCBCEBA0AgASADSQRAIAAoAgggAUEcbGoiAUIANwIAIAFBADYCGCABQgA3AhAgAUIANwIIIAAgACgCBEEBaiIBNgIEDAELCwwBCyABIANNDQAgACADENcECyAAIAM2AgQLIAULTQAgACAAKAIEQQFqENEERQRAQeDQAEIANwMAQdjQAEIANwMAQdDQAEIANwMAQejQAEEANgIAQdDQAA8LIAAoAgggACgCBEEcbGpBHGsL/QEBBX8gAUIANwIAIAFBADYCGCABQgA3AhAgAUIANwIIIAAoAgAiAigCBCEDIAIoAgghBANAAkAgBEEBaiADSyIFDQAgAhCYASEEIAAoAgAhAiMAQRBrIgMkAAJAAkAgBEESRgRAIAEgAkEQaiIGEOMENgIQIAEgBhDjBDYCFCACQQA2AhQMAQsgBCACENwEIAIoAhQNAQsgAigCCCACKAIESw0AIAItABBBAXENACADQQA2AgggA0IANwMAIANB//8DNgIEIAEgBCACIAMQ2gQLIANBEGokACAAKAIAIgIoAggiBCACKAIEIgNLDQAgAi0AEEEBcUUNAQsLIAULPAEBf0GgEiEEAkAgAUUNACACKAIMIAAgAWoiACACKAIEa0kNACAAQaASIAIgACADKAIAENYEGyEECyAECy0AIAAQNyAAQThqEC0gAEHsAGoQ2AQgAEH4AGoQ2AQgACgCMBAPIABBADYCMAsNACAAIAEgAkEBEKUECw0AIAAgAUEcQRgQ7gwLJwAgACgCAARAIABBABDXBCAAKAIIEOcMCyAAQQA2AgggAEIANwIACw0AIAAgAUECQQUQ7wwLXgECfyAAQQRqIAMQJSIDIAE2AgQgAigCCCEBIAIoAgQhBCADIAAoAgAiBSACKAIAajYCACADIAQgBWsiAkEAIAIgBE0bIgIgASAFayIDIAIgA0kbOgAIIAAgATYCAAtNAAJAAkAg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CEEBCyEFIAAgATYCAAsgBQRAAkAgACgCBCIBIANJBEAgACgCBCEBA0AgASADSQRAIAAoAgggAUEFdGoiAUIANwIAIAFCADcCGCABQgA3AhAgAUIANwIIIAAgACgCBEEBaiIBNgIEDAELCwwBCyABIANNDQAgACADEPwECyAAIAM2AgQLIAVFBEBB6NAAQgA3AwBB4NAAQgA3AwBB2NAAQgA3AwBB0NAAQgA3AwBB0NAADwsgACgCCCAAKAIEQQV0akEgawuyAgEFfyABQgA3AgAgAUIANwIQIAFCADcCCCABQoCAgIBwNwIYIAAoAgAiAigCBCEDIAIoAgghBANAAkAgBEEBaiADSyIGDQAgAhCYASEDIAAoAgAhAiMAQRBrIgQkAAJAAkACQAJ/AkACQAJAIANBhQJrDgMEAQQACyADQRJGDQEgA0GmAkcNACACQRBqIQVBHAwCCyADIAIQ3AQgAigCFEUNAwwECyABIAJBEGoiBRDjBDYCEEEUCyABaiAFEOMENgIACyACQQA2AhQLIAIoAgggAigCBEsNACACLQAQQQFxDQAgBEEANgIIIARCADcDACAEQf//AzYCBCABIAMgAiAEENoECyAEQRBqJAAgACgCACICKAIIIgQgAigCBCIDSw0AIAItABBBAXFFDQELCyAGC6cCAQV/IAFCADcCACABQaASNgIUIAFBADYCECABQgA3AgggACgCACICKAIEIQMgAigCCCEEA0ACQCAEQQFqIANLIgUNACACEJgBIQMgACgCACECIwBBEGsiBCQAIARBADoADCAEQoCAgIDw/z83AgQCQAJAAkACQCADQRVLDQBBASADdEHAn8ABcQ0BIANBE0cNACABIAJBEGoQ+QM2AhAMAQsgA0GJAmsiBkEKTUEAQQEgBnRBvw5xGw0AIAMgAhDcBCACKAIURQ0BDAILIAJBADYCFAsgAigCCCACKAIESw0AIAItABBBAXENACABIAMgAiAEQQRqENoECyAEQRBqJAAgACgCACICKAIIIgQgAigCBCIDSw0AIAItABBBAXFFDQELCyAFCy4AIAAQNyAAQeAAahAtIABBxAFqEPMEIABB0AFqEPQEIAAoAjAQDyAAQQA2AjALDQAgACABQRhBFBDuDAsnACAAKAIABEAgAEEAEPwEIAAoAggQ5wwLIABBADYCCCAAQgA3AgALJwAgACgCAARAIABBABDyBCAAKAIIEOcMCyAAQQA2AgggAEIANwIACw0AIAAgAUEBQQQQ7wwLYQACfwJAAkACQAJAAkACQAJAAkAgAEEBaw4EAQMEBQALAkAgAEGVAmsOAgYHAAsgAEGAAkYNAUEAIABBpgJHDQcaQQcPC0EBDwtBAg8LQQMPC0EEDwtBBQ8LQQYPC0EICwtvAQF/AkAgACgCBCICIAAoAgBOBEAgACACQQFqQQAQ+ARFDQEgACgCBCECCyAAIAJBAWo2AgQgACgCCCACQQR0aiIAIAEpAgg3AgggACABKQIANwIAIAAPC0HY0ABCADcDAEHQ0ABCADcDAEHQ0AALEwAgACABIAJBBEGAgICAARCADQsNACAAIAEgAkECEKUEC1cBAX9BoBIhAQJAAkACQCAALQAAQf8AcQ4CAAECCyAALQABIgEEfyAAIAFqQQFqBUGgEgtBAWoPCyAALQABIgEEfyABQQF0IABqBUGgEgtBAmohAQsgAQs3AQF/AkAgASgCDCAAIAEoAgRrSQ0AIAEoAgggAEYNACABIABBAWogAC0AAEEDbBCTBCECCyACCw8AIAAgAUEgQRxBBRDwDAslACAAEPEEIABB0AFqEPQEIABBxAFqEPMEIABB4ABqEC0gABA0Cz0BAX8jAEEQayICJAAgAiABNgIMIABBAmogAkEMahD/BC8ABCEAIAJBEGokACAAQQh0IABBCHZyQf//A3ELfAEDfyMAQRBrIgMkACAALwAAIQIgA0EANgIMIAMgAEECajYCBCADIAJBCHQgAkEIdnJB//8DcTYCCCMAQRBrIgAkACADQQRqIgIgASAAQQxqEIAFIQEgACgCDCEEIAIoAgAgAEEQaiQAIARBBmxqQaoXIAEbIANBEGokAAvXAQEHfyMAQRBrIgUkACABIQcgACgCBCEBIAAoAgAhCANAIAFBAWshCQNAAkAgASAETARAIAQhAAwBCyAIIAQgCWpBAXYiAEEGbGoiAy8AACIGQQh0IAZBCHZyQf//A3EgBygCACIGTQR/IAMvAAIiA0EIdCADQQh2ckH//wNxIAZJBUF/CyIDQQBIBEAgACEBDAMLIANFDQAgAEEBaiEEDAELCwsgBSAANgIMAkACQCABIARKIgAEQCACRQ0CDAELDAELIAIgBSgCDDYCAAsgBUEQaiQAIAALCQAgAEEGEI0NCwkAIABBAhCNDQslACACQQxqIgIgASAAKAIAayIAEOABIgFFBEAgAiAAEI4BCyABCygAIAAtACRBAUYEQCAAQQAgASACIAMQhQUPCyAAQQEgASACIAMQhQULsAEBBX8CQCADRQ0AIAAtAABBAXFFDQAgAEF/NgIEIAIvAAAiBUEIdCAFQQh2ckH//wNxIQUDQCADRQ0BIAAgBSABEIYFIgZBASABG0UNASAGQQBHIAFyIQcgBUGAfHEiCEGABGohCQNAIAcEQCAGIAUgARCHBQsgAiAEaiECIANBAWsiA0UNASAIIAIvAAAiBUEIdCAFQQh2ckH//wNxIgVLDQEgBSAJSQ0ACwwACwALC80CAQJ/IwBBEGsiAyQAIAMgACgCCCIENgIMIAFBCXYhAQJ/AkAgBCAAKAIQTw0AIAAoAhQgBEEDdGoiBCgCACABRw0AIAAoAiAgBCgCBEHIAGxqDAELIAMgATYCACADIAAoAhw2AgQCQCAAQQxqIAMgA0EMakECEIgFBEAgAygCDCEBDAELQQAgAkUNARpBACAAIAAoAhxBAWpBARCJBUUNARogACgCICADKAIEQcgAbGoiAkEIaiEEQQAhAQNAIAFBCEcEQCAEIAFBA3RqQgA3AwAgAUEBaiEBDAELCyACQQA2AgAgACgCFCADKAIMIgFBA3RqIgJBCGogAiAAKAIQIAFBf3NqQQN0ENMMGiAAKAIUIAMoAgwiAUEDdGogAykDADcCAAsgACABNgIIIAAoAiAgACgCFCABQQN0aigCBEHIAGxqCyADQRBqJAALFgAgAgRAIAAgARCKBQ8LIAAgARCLBQvmAQIIfwF+IwBBEGsiBCQAIAApAgQhDCAEQQA2AgwgBCAMQiCJNwIEQX8hByMAQRBrIgYkACABKAIAIQggBCgCCCEBIAQoAgQhCQNAIAFBAWshCgNAAkAgASAFTARAIAUhAAwBCyAJIAUgCmpBAXYiAEEDdGooAgAiCyAISgRAIAAhAQwDCyAIIAtGDQAgAEEBaiEFDAELCwsgBiAANgIMAkACQAJAIAEgBUoiAARAIAJFDQMMAQsgAkUNAiADQQFrDgIBAAILIAYoAgwhBwsgAiAHNgIACyAGQRBqJAAgBEEQaiQAIAALXwECfyAALQAAQQFHBEBBAA8LAn8gAEEYaiIEIAEgAiAAKAIcRSABQQFGcSIDEIwFBEBBASAAQQxqIAEgAiADEI0FDQEaCyAEIAAoAhAgAiADEIwFGiAAQQA6AABBAAsLLQEBfyAAIAFBA3ZBOHFqIgJBCGogAikDCEIBIAFBP3GthoQ3AwAgAEF/NgIACyoBAX8gACABQQN2QThxaiICQQhqIAIpAwhCfiABrYmDNwMAIABBfzYCAAtjAQF/IAAgAUEAIAFBAEobIgEgAxCOBSIDBEAgAkUgASAAKAIETXJFBEAgASAAKAIEIgJrQcgAbCIEBEAgACgCCCACQcgAbGpBACAEENQMGgsgACABNgIECyAAIAE2AgQLIAMLOgAgACABQQAgAUEAShsiASADEPwBIgMEQCACRSABIAAoAgRNckUEQCAAIAEQjwULIAAgATYCBAsgAwsTACAAIAEgAkHIAEHk8bgcEIkNCzABAn8gASAAKAIEIgJrQQN0IgMEQCAAKAIIIAJBA3RqQQAgAxDUDBoLIAAgATYCBAsiACAAKAIAQQxqIAEvAAAiAEEIdCAAQQh2ckH//wNxEOABC1MBAX8CfyAAKAIEIgMEQCADQX8gASACaiABQX9GGxDZAQwBCyABIAJqCyEBIAAoAgwiAkUEQEMAAAAADwsgACgCACABIAAoAgggAiAAKAIUENEBCxoAIAAtAAIgAC0AAUEIdCAALQAAQRB0cnJFC00BAn9BoBIhAgJAIAAvAAAiA0EIdCADQQh2ckH//wNxIAFNDQAgACABQQF0ai8AAiIBRQ0AIAAgAUEIdCABQQh2ckH//wNxaiECCyACC08BAn9BoBIhAkGgEiAAIAFBAXRqQQZqIAEgAC8ABCIDQQh0IANBCHZyQf//A3FPGy8AACIBBH8gACABQQh0IAFBCHZyQf//A3FqBUGgEgsLQQECf0F/IQICQAJAAkAgAC8AACIDQQh0IANBCHZyQf//A3FBAWsOAgABAgsgACABEJYFDwsgACABEJcFIQILIAILqQIBCn8jAEEQayIDJAAgAyABNgIMIwBBEGsiAiQAIABBAmoiAS8AACEAIAJBADYCDCACIAFBAmo2AgQgAiAAQQh0IABBCHZyQf//A3E2AgggA0EIaiEGQX8hCCMAQRBrIgckACADKAIMIQkgAigCCCEBIAIoAgQhCgNAIAFBAWshCwNAAkAgASAETARAIAQhAAwBCyAEIAtqIgVBAXYhACAKIAVBfnFqLwAAIgVBCHQgBUEIdnJB//8DcSIFIAlLBEAgACEBDAMLIAUgCUYNACAAQQFqIQQMAQsLCyAHIAA2AgwCQAJAAkAgASAESgRAIAZFDQMMAQsgBkUNAgwBCyAHKAIMIQgLIAYgCDYCAAsgB0EQaiQAIAJBEGokACADKAIIIANBEGokAAt5AQJ/IwBBEGsiAiQAIAIgATYCDCAAQQJqIAJBDGoQ/wQiAC8AACIBQQh0IAFBCHZyQf//A3EiASAALwACIgNBCHQgA0EIdnJB//8DcUsEf0F/BSACKAIMIAFrIAAvAAQiAEEIdCAAQQh2ckH//wNxagsgAkEQaiQACzkBAn9BoBIhAiAAKAIAQaASIAAoAgQbLwAAIgEEfyAAKAIQIAFBCHQgAUEIdnJB//8DcWoFQaASCwuqCwETfwJAIAEoAgwgACABKAIEa0kiAg0AIAEoAgggAGtBBEkiBA0AQQEhCSAALwAAQYACRw0AAn9BACEJAkAgAiAEcg0AIABBBGogASAAEJoFRQ0AAn8CQCAAQQZqIAEQmwVFDQBBASECAkAgAC8ABiIERQ0AAkAgACAEQQh0IARBCHZyQf//A3FqIgUgASAFEJ0FRQ0AIAVBAmogARCWBEUNACAFLwACIgRBCHQgBEEIdnJB//8DcSEDIAVBBGohBkEAIQQDQCADIARGIgcNASAEQQF0IQggBEEBaiEEIAYgCGogASAFEJ4FDQALCyAHDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhAiABLQAcQQFHDQAgAEEAOwAGQQEhAgsgAgwBC0EAC0UNAAJ/QQAhBwJAIABBCGogARCbBUUNAEEBIQICQCAALwAIIgRFDQACQCAAIARBCHQgBEEIdnJB//8DcWoiBSABIAUQnQVFDQAgBUECaiABEJYERQ0AIAUvAAIiBEEIdCAEQQh2ckH//wNxIQ8gBUEEaiEQQQAhBANAIAQgD0YiBw0BIARBAXQhAyAEQQFqIQQCfwJAIAMgEGoiDSABEJsFRQ0AQQEhCAJAIA0vAAAiA0UNACAFIANBCHQgA0EIdnJB//8DcWoiCiABEJYEBH8gCi8AACIDQQh0IANBCHZyQf//A3EhESAKQQJqIRJBACEGA0AgBiARRiITRQRAIAZBAXQhAyAGQQFqIQYCf0EAIQsCQCADIBJqIg4gARCbBUUNAEEBIQwCQCAOLwAAIgNFDQACfwJAAkAgASgCDCAKIANBCHQgA0EIdnJB//8DcWoiAyABKAIEa0kNACABKAIIIANrQQJJDQBBASELAkAgAy8AACIUQQh0IBRBCHZyQf//A3FBAWsOAwICAAELIAMgARCgBSELCyALDAELIAEoAgggA2tBA0sgASgCDCADIAEoAgRrT3ELDQAgASgCICIDQR9LDQEgASADQQFqNgIgQQAhDCABLQAcQQFHDQAgDkEAOwAAQQEhDAsgDAwBC0EACw0BCwsgEwVBAAsNACABKAIgIgNBH0sNASABIANBAWo2AiBBACEIIAEtABxBAUcNACANQQA7AABBASEICyAIDAELQQALDQALCyAHDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhAiABLQAcQQFHDQAgAEEAOwAIQQEhAgsgAgwBC0EAC0UNACAAQQpqIAEgABCaBUUNAEEBIAAoAAAiAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnJBgoAESQ0BGgJ/QQAhBQJAIABBDGogARCbBUUNAEEBIQQCQCAALwAMIgJFDQACQCABKAIMIAAgAkEIdCACQQh2ckH//wNxaiICIAEoAgRrSQ0AIAEoAgggAmtBAkkNAEEBIQUgAi8AAEGAAkcNACACQQJqIAEQowQEfyACLwACIgVBCHQgBUEIdnJB//8DcSEIIAJBBGohCkEAIQUDQCAFIAhGIgtFBEAgBUECdCEDIAVBAWohBQJ/AkAgAyAKaiIGIAEQlARFDQBBASEHAkAgBigAACIDRQ0AIAIgA0EYdCADQYD+A3FBCHRyIANBCHZBgP4DcSADQRh2cnJqIAEQnwUNACABKAIgIgNBH0sNASABIANBAWo2AiBBACEHIAEtABxBAUcNACAGQQA2AABBASEHCyAHDAELQQALDQELCyALBUEACyEFCyAFDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhBCABLQAcQQFHDQAgAEEAOwAMQQEhBAsgBAwBC0EAC0UNAEEBIQkgACgAACICQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZyckGDgARJDQAgAEEOaiABIAAQoAQhCQsgCQshCQsgCQv3AQEDfwJAIAAgARCbBUUNAEEBIQQCQCAALwAAIgNFDQACfwJAIAEoAgwgAiADQQh0IANBCHZyQf//A3FqIgIgASgCBGtJDQAgASgCCCACa0ECSQ0AQQEhBQJAAkAgAi8AACIDQQh0IANBCHZyQf//A3FBAWsOAgABAgtBACEDAkAgASgCDCACIAEoAgRrSQ0AIAEoAgggAmtBBkkNACACQQRqIAEQlgQhAwsgAwwCCyACQQJqIAEQnAUhBQsgBQsNACABKAIgIgJBH0sNASABIAJBAWo2AiBBACEEIAEtABxBAUcNACAAQQA7AABBASEECyAEDwtBAAsLACAAIAFBARDxDAsLACAAIAFBBhDyDAtwAQJ/AkAgACABEJsFRQ0AQQEhAwJAIAAvAAAiBEUNACACIARBCHQgBEEIdnJB//8DcWogARCfBQ0AIAEoAiAiAkEfSw0BIAEgAkEBajYCIEEAIQMgAS0AHEEBRw0AIABBADsAAEEBIQMLIAMPC0EAC3ABAn8CQCAAIAEQmwVFDQBBASEDAkAgAC8AACIERQ0AIAIgBEEIdCAEQQh2ckH//wNxaiABEJYEDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhAyABLQAcQQFHDQAgAEEAOwAAQQEhAwsgAw8LQQALZAECfwJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQJJDQBBASECAkACQCAALwAAIgNBCHQgA0EIdnJB//8DcUEBaw4CAAECCyAAQQJqIAEQlgQPCyAAQQJqIAEQnAUhAgsgAgs0AQF/AkAgASgCDCAAIAEoAgRrSQ0AIAEoAgggAGtBBkkNACAAQQRqIAEgABChBSECCyACC7oBAQZ/AkAgACABEJsFRQ0AQQEhBAJAIAAvAAAiA0UNAAJAIAEoAgwiBiACIANBCHQgA0EIdnJB//8DcWoiAkEEaiIDIAEoAgQiB2tJDQAgASgCCCIIIANrQQJJDQBBASEFIAMvAABBgAFHDQAgAiAHayAGTSAIIAJrQQVLcSEFCyAFDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhBCABLQAcQQFHDQAgAEEAOwAAQQEhBAsgBA8LQQALfgEBfyABKAIEIgJFBEAgAEGgEhD5AhoPCyABKAIIIAJBNGxqQTRrIQIgAEEBOgAMIABBADYCCCAAQoGAgIAQNwIAIABBEGpBAEEhENQMGiAAQQxqIAJBDGoQ0gUgASgCCCABKAIEQTRsakE0axC2ARogASABKAIEQQFrNgIECxcAIAAgASABKAIAQbHz3fF5bCACEKUFCwwAIAAgAUGgEhD3DAvaAgEIfyAALQAMQQFHBEBBAA8LAkAgACgCGCIFIAAoAhQiBEEBdiAEak0EQEEAIQUgAEEAEKYFRQ0BIAAoAhghBQsgAkH/////A3EiCSAAKAIccCECIAEoAgAhBiAAKAIgIQdBfyEEA0ACQCAHIAJBDGxqIgooAgQiC0ECcQRAIAooAgAgBkcNAQsgByACIAQgBEF/RhtBDGxqIgItAARBAnEEQCAAIAAoAhRBAWs2AhQgACAAKAIQIAIoAgRBAXFrNgIQIAEoAgAhBgsgAiAGNgIAIAJBCGogAxCoAiACIAlBAnRBA3I2AgRBASEFIAAgACgCFEEBaiIBNgIUIAAgACgCEEEBajYCECAIIAAvAQ5NDQIgACgCGCICIAFBA3RPDQIgACACQQhrEKYFGgwCCyAEIAQgAiAEQX9HGyALQQFxGyEEIAUgCEEBaiIIIAJqcSECDAALAAsgBQvrAgEFfyAALQAMQQFHBEBBAA8LAkAgAQRAIAAoAhggAUEBdiABaksNAQtBDEEgIAAoAhAiAiABIAEgAkkbQQF0QQhqIgFna0EAIAEbIgR0EOYMIgJFBEAgAEEAOgAMQQAPCyACQQEgBHQiBkEMbGohAyACIQEDQCABIANGBEAgAEIANwIQIAAoAhghAyAAIAZBAWs2AhggA0EBakEAIQEgBEEfSwR/Qf////8HBSAEQQJ0QZDGAGooAgALIQZBACADGyEFIAAoAiAhAyAAIAI2AiAgACAGNgIcIAAgBEEBdDsBDgNAAkAgASAFRgRAQQAhAQwBCyADIAFBDGxqIgIoAgQiBEEBcQRAIAAgAiAEQQJ2IAJBCGoQpQUaCyABQQFqIQEMAQsLA0AgASAFRkUEQCADIAFBDGxqQQhqEKkCIAFBAWohAQwBCwsgAxDnDAUgAUEANgIIIAFCADcCACABQQxqIQEMAQsLC0EBC7ABAQF/AkACQAJAAkACQCACQQJrDgYAAwEEBAIDCyAALwAAQYACRg8LIAAvAABBgAJGDwsgAC8AAEGAAkYEfyAAKAAEIgIEfyAAIAJBGHQgAkGA/gNxQQh0ciACQQh2QYD+A3EgAkEYdnJyagVBoBILIAEgAC8AAiIAQQh0IABBCHZyQf//A3EQpwUFQQALIQMLIAMPCyAALwAAIgBBCHQgAEEIdnJB//8DcUEBa0EDSQuLKAIGfwF+AkACQAJAAkACQAJAAkACQAJAIAJBAWsOCAABAgMEBQYHCAsCQAJAAkAgAC8AACICQQh0IAJBCHZyQf//A3FBAWsOAgABAgsjAEHwAGsiAiQAIAAvAAQhAyAALwACIgQEfyAAIARBCHQgBEEIdnJB//8DcWoFQaASCxCqBUH+/wNNBEAgAkEBOgBIIAJBADYCRCACQoGAgIAQNwI8IAJBzABqQQBBIRDUDBogAkHIAGohBCADQQh0IANBCHZyIQUgAC8AAiIDBH8gACADQQh0IANBCHZyQf//A3FqBUGgEgsgASgCSCABKAJEIgBBNGxqQTRrIAEoAgggABsgAkE8ahCrBSAEEOoBIQAgBBDrASEDAkACQCAEEMgBIAMgAGtBAWpHDQAgACAFQf//A3EiBGpB//8DcSIGIABPIAMgBk9xDQEgACADIARqQf//A3EiBEsNACADIARPDQELIAJBHGogAkE8ahC4ASACIAIoAiQ2AjAgAiAFrUL//wODQoCAgIDw/z+ENwI0IAIgAikDMDcDCCACIAIoAjg2AhAgAiACKQIcIgk3AyggAiAJNwMAIAIgAUEMajYCGANAIAIoAgQiAEF/RwRAIAIoAhhBDGogAigCECACKAIMIABqcRCOASACEL0BDAELCwsgAkE8ahC2ARoLIAJB8ABqJAAMAQsjAEGAAWsiAiQAIAAvAAIiAwR/IAAgA0EIdCADQQh2ckH//wNxagVBoBILIQQgAEEEaiEFAkAgAC8ABCIDQQh0IANBCHZyQf//A3EgASgCSCABKAJEIgNBNGxqQTRrIAEoAgggAxsiA0EMahDIAUECdEsEQCACQdQAaiADELgBIAJBLGogAxC5ASABQRhqIQEgAEEGaiEDIAIoAiwhBiACKAIwIQcDQCAHIAIoAlgiAEYEQCACKAJUIAZGDQMLAkAgBCAAEJUFIgBBf0YNACAAIAUvAAAiCEEIdCAIQQh2ckH//wNxTw0AIAEgAyAAQQF0ai8AACIAQQh0IABBCHZyQf//A3EQjgELIAJB1ABqEL0BDAALAAsgAkEMaiIAIAQgBRCzBSACQbYeNgIIIAIgAzYCBCACQSxqIgMgACACQQRqELQFIAJB1ABqIgAgA0EoENIMGiACQbceNgJ8IAIgAUEMajYCACAAIAIQtQULIAJBgAFqJAALDwsgACABEKkFDwsgACABEKkFDwsgAC8AAEGAAkYEQCMAQZABayICJAAgAkEQaiIEIAAvAAIiAwR/IAAgA0EIdCADQQh2ckH//wNxagVBoBILIABBBGoQswUgASgCCCEFIAEoAkghBiABKAJEIQMgAkG2HjYCDCACIAYgA0E0bGpBNGsgBSADGzYCCCACQTBqIgMgBCACQQhqEMAFIAJB2ABqIANBKBDSDBogAiAArUIghkK1HoQ3AoQBIAJBtx42AoABA0AgAkHYAGoiABC2BQRAIAAQwQUvAAAiAAR/IAIoAogBIABBCHQgAEEIdnJB//8DcWoFQaASCyEDQQAhBCMAQSBrIgAkACADLwAAIQYgAEEANgIQIAAgA0ECaiIFNgIIIAAgA61CIIZCtR6ENwIUIAAgBkEIdCAGQQh2ckH//wNxIgM2AgwDQCADBEAgAEEIahCYBSIGIAEoAggQwgUEQCABQRhqIAYvAAAiBkEIdCAGQQh2ckH//wNxEI4BCyAAIARBAWoiBDYCECAAIANBAWsiAzYCDCAAIAVBAmoiBTYCCAwBCwsgAEEgaiQAIAJB2ABqELgFGgwBCwsgAkGQAWokAAsPCwJAAkACQAJAIAAvAAAiAkEIdCACQQh2ckH//wNxQQFrDgMAAQIDCyMAQcABayICJAAgAiABNgJ8IAEQwwUiBARAIAAvAAIiAwR/IAAgA0EIdCADQQh2ckH//wNxagVBoBILIAEoAgggASgCSCABKAJEIgFBNGxqQegAayABQQJJGyAEEKsFIAJByB4pAgA3A3AgAkHAHikCADcDaCACQbgeKQIANwNgIAAvAAQhAyACQRhqIAAvAAIiAQR/IAAgAUEIdCABQQh2ckH//wNxagVBoBILELoFIgFBADYCFCABQQE2AhwgASADQQh0IANBCHZyQf//A3E2AhggAiABKQIQNwNIIAJBQGsgASkCCDcDACACIAEpAhg3A1AgAiABKQIANwM4IAJBth42AlwgAiACQfwAajYCWCACQdgAaiEDA0ACQCACQThqIgEQxAVFDQAgAyABELwFEMUFDQAgARDGBQwBCwsgAkGAAWogAkE4akEoENIMGiACIAA2AqgBIAIgAkHgAGo2AhQgAiACQfwAajYCECACQaABaiEBIAJBqAFqIQMDQCACQYABaiIAEMQFBEAgAiAAELwFrSACNQKUAUIghoQiCTcDCCACIAk3A7gBIAJBsAFqIAMgAkEIahDHBSACKAK0ASACKAIQKAIAIAIoArABIAIoAhQQzQUDQCACQYABaiIAEMYFIAAQxAVFDQIgASAAELwFEMUFRQ0ACwwBCwsgAigCfBDIBQsgAkHAAWokAAwCCyMAQdABayICJAAgAiABNgKkAQJAIAAvAAIiAwR/IAAgA0EIdCADQQh2ckH//wNxagVBoBILIAEoAggQ0wVFDQAgARDDBSIFRQ0AQaASIQMgAC8AAiIEBH8gACAEQQh0IARBCHZyQf//A3FqBUGgEgsgASgCCCABKAJIIAEoAkQiAUE0bGpB6ABrIAFBAkkbIAUQqwUgAC8ABCIBBEAgACABQQh0IAFBCHZyQf//A3FqIQMLIAJCADcBlgEgAkIANwGcASACQgA3AY4BIAJBAToAjAEgAkEANgKIASACQoGAgIAQNwKAASACQgA3AXIgAkIANwF4IAJCADcBaiACQQE6AGggAkEANgJkIAJCgYCAgBA3AlwgAkECNgJMIAJBOTYCSCACQTo2AkQgAiACQdwAajYCWCACIAJBgAFqNgJUIAIgAzYCUCAALwAGIQEgAkG2HjYCPCACIAOtIAJBpAFqrUIghoQ3AjQgAkEANgIwIAIgAEEIajYCKCACQoCAgIAQNwMgIAIgAUEIdCABQQh2ckH//wNxIgE2AiwgAkE0aiEDA0ACQCABRQ0AIAMgAigCIBDWBQ0AIAJBIGoQ1wUgAigCLCEBDAELCyACIAA2AhQgAiACQcQAajYCHCACIAJBpAFqNgIYIAIgAikDODcDwAEgAiACKQMwNwO4ASACIAIpAyg3A7ABIAIgAikDIDcDqAEgAkG8AWohAQNAIAIoArQBBEAgAigCqAEhACACIAIoArABNgLMASACIAA2AsgBIAIgAikCyAE3AwggAigCDC8AACIABH8gAigCFCAAQQh0IABBCHZyQf//A3FqBUGgEgsgAigCGCgCACACKAIIIAIoAhwQzQUDQCACQagBahDXBSACKAK0AUUNAiABIAIoAqgBENYFRQ0ACwwBCwsgAigCpAEQyAUgAkHcAGoQ2AUgAkGAAWoQLwsgAkHQAWokAAwBCyMAQSBrIgIkAAJAIAAvAAYiAwR/IAAgA0EIdCADQQh2ckH//wNxagVBoBILIAEoAggQ0wVFDQAgARDDBSIERQ0AIABBBmoiBS8AACIDBH8gACADQQh0IANBCHZyQf//A3FqBUGgEgsgASgCCCABKAJIIAEoAkQiA0E0bGpB6ABrIANBAkkbIAQQqwUgAC8AAiEDIAJCADcCGCACIAA2AhQgAkEDNgIQIAJBOzYCDCACQTw2AgggASADQQh0IANBCHZyQf//A3EiAyAAQQhqIAAvAAQiAEEIdCAAQQh2ckH//wNxIAUgA0EBdGpBACACQQhqEM4FIAEQyAULIAJBIGokAAsPCwJAAkACQAJAIAAvAAAiAkEIdCACQQh2ckH//wNxQQFrDgMAAQIDCyMAQdABayICJAAgAiABNgKMASABEMMFIgQEQCAALwACIgMEfyAAIANBCHQgA0EIdnJB//8DcWoFQaASCyABKAIIIAEoAkggASgCRCIBQTRsakHoAGsgAUECSRsgBBCrBSACQeQAakHQHkEoENIMGiAALwAEIQMgAkEYaiAALwACIgEEfyAAIAFBCHQgAUEIdnJB//8DcWoFQaASCxC6BSIBQQA2AhQgAUEBNgIcIAEgA0EIdCADQQh2ckH//wNxNgIYIAIgASkCEDcDSCACQUBrIAEpAgg3AwAgAiABKQIYNwNQIAIgASkCADcDOCACQbYeNgJcIAIgAkGMAWo2AlggAkHYAGohAwNAAkAgAkE4aiIBEMQFRQ0AIAMgARC8BRDFBQ0AIAEQxgUMAQsLIAJBkAFqIAJBOGpBKBDSDBogAiAANgK4ASACIAJB5ABqNgIUIAIgAkGMAWo2AhAgAkGwAWohASACQbgBaiEDA0AgAkGQAWoiABDEBQRAIAIgABC8Ba0gAjUCpAFCIIaEIgk3AwggAiAJNwPIASACQcABaiADIAJBCGoQxwUgAigCxAEgAigCECgCACACKALAASACKAIUEOMFA0AgAkGQAWoiABDGBSAAEMQFRQ0CIAEgABC8BRDFBUUNAAsMAQsLIAIoAowBEMgFCyACQdABaiQADAILIwBBsAJrIgIkACACIAE2AoQCAkAgAC8AAiIDBH8gACADQQh0IANBCHZyQf//A3FqBUGgEgsgASgCCBDTBUUNACABEMMFIgRFDQBBoBIhBiAALwACIgMEfyAAIANBCHQgA0EIdnJB//8DcWoFQaASCyABKAIIIAEoAkggASgCRCIBQTRsakHoAGsgAUECSRsgBBCrBSAALwAEIgEEQCAAIAFBCHQgAUEIdnJB//8DcWohBgtBoBIhBUGgEiEEIAAvAAYiAQRAIAAgAUEIdCABQQh2ckH//wNxaiEECyAALwAIIgEEQCAAIAFBCHQgAUEIdnJB//8DcWohBQtBACEBA0AgAkGQAWoiByABaiIDQgA3AQ4gA0EBOgAMIANBADYCCCADQoGAgIAQNwIAIANCADcBFiADQgA3ARwgAUEkaiIBQewARw0ACyACQgA3AYIBIAJCADcBiAEgAkIANwF6IAJBAToAeCACQQA2AnQgAkKBgICAEDcCbCACIAJB2AFqNgJkIAIgAkG0AWo2AmAgAiAFNgJYIAIgBjYCUCACQQI2AkwgAkE5NgJIIAJBOjYCRCACIAJB7ABqNgJoIAIgBzYCXCACIAQ2AlQgAC8ACiEBIAJBth42AjwgAiAErSACQYQCaq1CIIaENwI0IAJBADYCMCACIABBDGo2AiggAkKAgICAEDcDICACIAFBCHQgAUEIdnJB//8DcSIDNgIsIAJBNGohBCACQfwBaiEBA0ACQCADRQ0AIAQgAigCIBDWBQ0AIAJBIGoQ1wUgAigCLCEDDAELCyACIAA2AhQgAiACQcQAajYCHCACIAJBhAJqNgIYIAIgAikDODcDoAIgAiACKQMwNwOYAiACIAIpAyg3A5ACIAIgAikDIDcDiAIgAkGcAmohAwNAIAIoApQCBEAgAigCiAIhACACIAIoApACNgKsAiACIAA2AqgCIAIgAikCqAI3AwggAigCDC8AACIABH8gAigCFCAAQQh0IABBCHZyQf//A3FqBUGgEgsgAigCGCgCACACKAIIIAIoAhwQ4wUDQCACQYgCahDXBSACKAKUAkUNAiADIAIoAogCENYFRQ0ACwwBCwsgAigChAIQyAUgAkHsAGoQ2AUDQCABQSRrIgEQLyABIAJBkAFqRw0ACwsgAkGwAmokAAwBCyMAQTBrIgIkAAJAIABBAmogAC8AAiIDQQh0IANBCHZyQf//A3FBAXRqIgMvAAIEfyADQQRqBUGgEgsvAAAiBAR/IAAgBEEIdCAEQQh2ckH//wNxagVBoBILIAEoAggQ0wVFDQAgARDDBSIFRQ0AIABBAmogAC8AAiIEQQh0IARBCHZyQf//A3FBAXRqIgQvAAIEfyAEQQRqBUGgEgsvAAAiBAR/IAAgBEEIdCAEQQh2ckH//wNxagVBoBILIAEoAgggASgCSCABKAJEIgRBNGxqQegAayAEQQJJGyAFEKsFIANBAmogAy8AAiIEQQh0IARBCHZyQf//A3EiBkEBdGoiBC8AAiEFIAJCADcCKCACQgA3AiAgAiAANgIcIAIgADYCGCACIAA2AhQgAkEDNgIQIAJBOzYCDCACQTw2AgggASAALwACIgdBCHQgB0EIdnJB//8DcSAAQQRqIAYgA0EGaiAFQQh0IAVBCHZyQf//A3EiACAEQQRqIARBAmogAEEBdGoiAC8AAiIDQQh0IANBCHZyQf//A3EgAEEEakEAIAJBCGoQ5AUgARDIBQsgAkEwaiQACw8LIAAvAABBgAJGBEAgACgABCICBH8gACACQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZycmoFQaASCyABIAAvAAIiAEEIdCAAQQh2ckH//wNxEKgFCw8LIAAvAABBgAJGBEAjAEGAAWsiAiQAIAAgASgCCBDmBQRAIABBBGogAC8ABCIDQQh0IANBCHZyQf//A3FBAXRqIgMgAy8AAiIDQQh0IANBCHZyQf//A3FBAXRqQQRqIQQgAkEMaiIFIAAvAAIiAwR/IAAgA0EIdCADQQh2ckH//wNxagVBoBILIAQQswUgASgCCCEDIAEoAkghBCABKAJEIQAgAkG2HjYCCCACIAQgAEE0bGpBNGsgAyAAGzYCBCACQSxqIgAgBSACQQRqELQFIAJB1ABqIgMgAEEoENIMGiACQbceNgJ8IAIgAUEMajYCACADIAIQtQULIAJBgAFqJAALCwusAgEFfyAALwAAQYACRgRAIwBBkAFrIgIkACACQQhqIgQgAC8AAiIDBH8gACADQQh0IANBCHZyQf//A3FqBUGgEgsgAEEEahCzBSABKAIIIQUgASgCSCEGIAEoAkQhAyACQbYeNgIEIAIgBiADQTRsakE0ayAFIAMbNgIAIAJBKGoiAyAEIAIQwAUgAkHQAGogA0EoENIMGiACIACtQiCGQrUehDcCfCACQbceNgJ4A0AgAkHQAGoiABC2BQRAIAJBiAFqIAAQtwUgAUEYaiACKAKMAS8AACIABH8gAigCgAEgAEEIdCAAQQh2ckH//wNxagVBoBILIgBBAmogAC8AACIAQQh0IABBCHZyQf//A3FBAhCEBSACQdAAahC4BRoMAQsLIAJBkAFqJAALC00BAn9BfyEBAkACQAJAIAAvAAAiAkEIdCACQQh2ckH//wNxQQFrDgIAAQILIAAvAAIiAEEIdCAAQQh2ckH//wNxDwsgABCsBSEBCyABC6cDAQV/AkACQAJAIAAvAAAiBEEIdCAEQQh2ckH//wNxQQFrDgIAAQILIAAvAAIiBEEIdCAEQQh2ckH//wNxIQQgAkEMaiEFIAFBDGohBiAAQQRqIQJBACEBA0AgASAERwRAIAZBoBIgAiABQQF0aiIHIAAvAAIiA0EIdCADQQh2ckH//wNxIAFNGy8AACIDQQh0IANBCHZyQf//A3EQ4AEEQCAFQaASIAcgAC8AAiIDQQh0IANBCHZyQf//A3EgAU0bLwAAIgNBCHQgA0EIdnJB//8DcRCOAQsgAUEBaiEBDAELCw8LIwBBEGsiBSQAIABBBGoiBCAALwACIgBBCHQgAEEIdnJB//8DcUEGbGohBiACQQxqIQIgAUEMaiEBQQAhAANAAkAgBCAGRg0AIAAgBC8AACIDQQh0IANBCHZyQf//A3EiA0sNACAELwACIQAgBSADQQFrNgIMIABBCHQgAEEIdnJB//8DcSEAA0ACQCABIAVBDGoQ7AFFDQAgBSgCDCIDIABLDQAgAiADEI4BDAELCyAEQQZqIQQMAQsLIAVBEGokAAsLgAEBBH8gAEEEaiIBIAAvAAIiAEEIdCAAQQh2ckH//wNxQQZsaiEEQQAhAAN/IAEgBEYEfyAABSAAIAEvAAIiAkEIdCACQQh2ckH//wNxIgIgAS8AACIDQQh0IANBCHZyQf//A3EiA2tBAWpBACACIANPG2ohACABQQZqIQEMAQsLC9gBAgZ/AX4gACgCBCIDQX9GBEAgACgCHCEGQQAhAwNAIAQgBkYEQCAAIAM2AgQFQaASIAAoAiAgBEHIAGxqIAAoAhwgBE0bIQIjAEEgayIBJAAgAigCACIFQX9GBEAgAUEANgIIIAFCCDcCGCABIAJBCGo2AhQgAUEANgIQIAEgASkCFDcDACACIAEoAhAhAgNAIAEoAgQEQCABKAIAKQMAIQcgARCuBSACIAd7p2ohAgwBCwsgAiIFNgIACyABQSBqJAAgAyAFaiEDIARBAWohBAwBCwsLIAMLCQAgAEEIEI0NC/0EAgh/AX4jAEEQayIFJAACfyABKAIAIgNBf0YEQCABAn8gACgCHCECA0BBfyACIARGDQEaIAAoAhAgBEshAyAEQQN0IQEgBEEBaiEEQaASIAAoAiAgASAAKAIUakGgEiADGyIDKAIEIgFByABsaiAAKAIcIAFNGyIBELIFDQALIAMoAgBBCXQgARCxBWoLIgA2AgAgAEF/RwwBCyAAKAIUIQYgBSADQQl2IgM2AgwgBSAAKAIIIgI2AggCQAJAAkACQCACIAAoAhBPDQAgBiACQQN0aigCACADRw0AIAAoAiAhBwwBCyAAQQxqIAVBDGogBUEIakECEIgFGiAFKAIIIgIgACgCEE8NAiAAIAI2AgggACgCICEHIAYgAkEDdGooAgAgBSgCDEcNAQsCfyAHIAYgAkEDdGoiCCgCBEHIAGxqIQMgASgCAEEBaiIJQf8DcSIERQRAIAFBfzYCAEEADAELIwBBEGsiAiADQQhqIgMgBEEGdiIEQQN0aikDAEJ/IAlBP3GthoM3AwggAkEIaiECA0ACQCABAn8gBEEIRgRAQQAhAkF/DAELIAIpAwAiClANASAEQQhJIQIgCnqnIARBBnRyCzYCACACDAILIAMgBEEBaiIEQQN0aiECDAALAAsEQCABIAEoAgAgCCgCAEEJdGo2AgBBAQwDCyAFIAUoAghBAWoiAjYCCAsDQCAAKAIQIAJLBEAgByAGIAJBA3RqIgIoAgRByABsahCxBSIDQX9HBEAgASACKAIAQQl0IANqNgIAIAAgBSgCCDYCCEEBDAQFIAUgBSgCCEEBaiICNgIIDAILAAsLCyABQX82AgBBAAsgBUEQaiQAC3gBAn8jAEEQayIDJAAgAyACKAIANgIMAkAgACADQQxqEK8FIgRFBEAgAUF/NgIAIAJBfzYCAAwBCyABIAMoAgwiATYCAANAIAIgATYCACAAIANBDGoQrwVFDQEgAygCDCIBIAIoAgBBAWpGDQALCyADQRBqJAAgBAtEAgF/AX4gAEEIaiEBQQAhAAN/IABBCEYEQEF/DwsgASAAQQN0aikDACICUAR/IABBAWohAAwBBSACeqcgAEEGdHILCwtDAgJ/AX4gACgCACIBQX9GBEBBCCEBA0ACQCABRSECIAFFDQAgAUEBayEBIAApAwggAEEIaiEAUA0BCwsgAg8LIAFFCzgAIAAgARC6BSEAIAIvAAAhASAAQQA2AhwgACACQQJqNgIUIAAgAUEIdCABQQh2ckH//wNxNgIYC04BAX8jAEEgayIDJAAgAyABKQIYNwMYIAMgASkCEDcDECADIAEpAgg3AwggAyABKQIANwMAIAAgAyACKAIAIAIoAgQQuQUaIANBIGokAAtmAQJ/IwBBQGoiAiQAIAJBCGogAEEsENIMGgNAIAJBCGoiAxC2BQRAIAEoAgAgAkE4aiADELcFQQxqIAIoAjwvAAAiAEEIdCAAQQh2ckH//wNxEI4BIAMQuAUaDAELCyACQUBrJAALEAAgABC7BSAAKAIYQQBHcQstAQJ/IAEQvAUhAiABKAIUIQMgASgCGCEBIAAgAjYCACAAIANBoBIgARs2AgQLRgECfyMAQRBrIgEkAANAAkAgABC9BSAAELYFRQ0AIAAoAiAgAUEIaiAAELcFQQxqIAEoAggQ4AFFDQELCyABQRBqJAAgAAt9AQF/IwBBEGsiBCQAIAAgASkCADcCACAAIAEpAhg3AhggACABKQIQNwIQIAAgASkCCDcCCCAAIAM2AiQgACACNgIgA0ACQCAAELYFRQ0AIAAoAiAgBEEIaiAAELcFQQxqIAQoAggQ4AENACAAEL0FDAELCyAEQRBqJAAgAAtlAQF/IABCADcCACAAQQA2AhAgAEIANwIIIAAgAS8AACICQQh0IAJBCHZyQf//A3EiAjYCAAJAAkACQCACQQFrDgIAAQILIABBADYCCCAAIAE2AgQgAA8LIABBBGogARC/BQsgAAszAQF/IAAoAgBBAWtBAU0EfyAAKAIIIAAoAgQvAAIiAEEIdCAAQQh2ckH//wNxSQVBAAsLawECfwJAAkACQCAAKAIAQQFrDgIAAQILIAAoAggiASAAKAIEIgAvAAIiAkEIdCACQQh2ckH//wNxTwR/QaASBSAAIAFBAXRqQQRqCy8AACIAQQh0IABBCHZyQf//A3EPCyAAKAIQIQELIAELDwAgABC+BSAAQRRqEIIFC6ACAQR/AkACQAJAIAAoAgBBAWsOAgABAgsgACAAKAIIQQFqNgIIDwsCQAJAIAAoAhAgACgCCCIBIAAoAgQiAi8AAiIDQQh0IANBCHZyQf//A3FPBH9BqhcFIAIgAUEGbGpBBGoLLwACIgFBCHQgAUEIdnJB//8DcU8EQCAAIAAoAghBAWoiATYCCCABIAAoAgQiAi8AAiIDQQh0IANBCHZyQf//A3EiA08NASAAIAIgAUEGbGoiAS8ABCICQQh0IAJBCHZyQf//A3E2AhAgACgCDCAAIAEvAAgiAUEIdCABQQh2ckH//wNxIgE2AgxBAWogAUYNAiAAIAM2AggMAQsgACAAKAIMQQFqNgIMIAAoAhBBAWohBAsgACAENgIQCwsL0AEBAn8gACABNgIAIABCADcCBAJAAkACQCABLwACRQRAIABBADYCDEGqFyEBDAELIAAoAgAiAi8AAiAAIAEvAAQiAUEIdCABQQh2ckH//wNxNgIMQaoXIQENAQtBgAIhAgwBCyACLwAEIgJBCHQgAkEIdnIhAiAAKAIAIgMvAAJFDQAgA0EEaiEBCyACQf//A3EgAS8AAiIBQQh0IAFBCHZyQf//A3FLBEAgACgCAC8AAiEBIABBADYCDCAAIAFBCHQgAUEIdnJB//8DcTYCBAsLfQIBfwF+IwBBEGsiAyQAIAIpAgAhBCAAIAEpAgA3AgAgACABKQIINwIIIAAgASkCEDcCECAAIAEpAhg3AhggACAENwIgA0ACQCAAELYFRQ0AIAAoAiAgA0EIaiAAELcFQQxqIAMoAggQ4AENACAAEL0FDAELCyADQRBqJAALIwEBfyMAQRBrIgEkACABQQhqIAAQtwUgASgCDCABQRBqJAALZgECfyMAQRBrIgIkACACIAE2AgwgAC8AAiIBQQh0IAFBCHZyQf//A3FBAWtBACABGyEBIABBAmohAwNAIAEiAARAIAFBAWshASACQQxqIANBAmoiAxCQBQ0BCwsgAkEQaiQAIABFC0gBAX8CfyAAQUBrIgEgASgCBEEBakEAEMsFRQRAQdDQAEEAQTQQ1AwMAQsgASgCCCABKAIEQTRsakE0awtBACAAKAJAQQBOGwsTACAAELsFIAAoAhQgACgCGEdxCzEAIAAoAgAoAgAiACgCCCAAKAJIIAAoAkQiAEE0bGpB6ABrIABBAkkbQQxqIAEQ4AELFwAgABC+BSAAIAAoAhQgACgCHGo2AhQLbwEDfyACKAIAIQRBoBIhAyAAIAIoAgQiAiABKAIAIgEvAAQiBUEIdCAFQQh2ckH//wNxSQR/IAEgAkEBdGpBBmoFQaASCy8AACICBH8gASACQQh0IAJBCHZyQf//A3FqBUGgEgs2AgQgACAENgIACzEBAn8jAEFAaiIBJAAgACgCRARAIAFBDGoiAiAAQUBrEKIFIAIQtgEaCyABQUBrJAALDAAgAEEMaiABEOABCyUAIANBDGogASACQQF0ai8AACIAQQh0IABBCHZyQf//A3EQjgEL6wIBA38gAUEAIAFBAEobIQMCQCAAKAIAIgRBAEgNAAJAIAIEQCAAKAIEIgEgAyABIANLGyIBIARLDQFBASEFIAEgBEECdk8NAgwBC0EBIQUgAyAETQ0BIAQhAQNAIAEgA08NASABIAFBAXZqQQhqIQEMAAsACwJ/IAFBxZ2xJ08EQCAEQX9zIQFBAAwBCwJ/IAAoAgghAiABRQRAIAIQ5wxBAAwBCyACIAFBNGwQ6AwLIgIgAUVyRQRAQQEhBSABIAAoAgAiAk0NAiACQX9zIQFBAAwBCyAAIAI2AghBAQshBSAAIAE2AgALIAUEQAJAIAAoAgQiASADSQRAIAAoAgQhAQNAIAEgA0kEQCAAKAIIIAFBNGxqIgFBAToADCABQQA2AgggAUKBgICAEDcCACABQRBqQQBBIRDUDBogACAAKAIEQQFqIgE2AgQMAQsLDAELIAEgA00NACAAIAMQzAULIAAgAzYCBAsgBQs/AQJ/IAAoAgQiAiABayEDIAAoAgggAkE0bGohAgNAIAMEQCADQQFrIQMgAkE0axC2ASECDAELCyAAIAE2AgQLuwIBBn8jAEEwayIEJAAgBCACNgIQIAQgATYCFAJAIAEoAlxBuJECSw0AIAAvAAAhASAEIAM2AgwgBCAEQRBqNgIIIAQgBEEUajYCBCAEIACtQiCGQrUehDcCJEEAIQIgBEEANgIgIAQgAUEIdCABQQh2ckH//wNxIgE2AhwgBCAAQQJqIgA2AhgDQCABRQ0BIARBGGoQmAUhAyAEKAIIKAIAIQYgBCgCDCEHIAQoAgQoAgAiBSgCXEG4kQJNBEAgBSADLwAAIgVBCHQgBUEIdnJB//8DcSIIIANBBGoiCSADLwACIgNBCHQgA0EIdnJB//8DcSAJIAhBAXRBAmtBACAFG2ogBiAHEM4FCyAEIAJBAWoiAjYCICAEIAFBAWsiATYCHCAEIABBAmoiADYCGAwACwALIARBMGokAAs2ACAAKAIIIAEgAiAGEM8FBEAgACABIAIgAyAEIAUgBigCCCAGKAIMIAYoAgQgBigCFBDQBQsLJwAgACABQQFrIgBBACAAIAFNGyACIAMoAgAgAygCDCADKAIQENEFC68EAQt/IwBB8ABrIgskACALQQE6AEggC0EANgJEIAtCgYCAgBA3AjwgC0HMAGpBAEEhENQMGiALQQE6ABQgC0EANgIQIAtCgYCAgBA3AgggC0EYakEAQSEQ1AwaIAZBA0YgAWohEiALQRRqIQwgC0HIAGohESAGQQFrIRMDQAJAIAMgDkYNACABIAQgDkECdGoiDy8AACIKQQh0IApBCHZyQf//A3EiDUsEQAJAIBEgDRDgASIQDQAgDBDeASAKRQRAAkACQAJAIBMOAwABAgQLIAwgBRCOAQwDCyAAKAJIIAAoAkQiCkE0bGpBNGsgACgCCCAKGyAHIAUgC0EIaiAJIAgRCgAMAgsgDCAAKAJIIAAoAkQiCkE0bGpBNGsgACgCCCAKG0EMahDcAQwBCyANQQFrIQogACgCCCAGQQFGBH8gAgUgAiAKQQF0ai8AACIKQQh0IApBCHZyQf//A3EhCiAHCyAKIAtBCGogCSAIEQoACyARIA0QjgEgABDDBSIKRQ0BAkAgEEUEQCAKQQxqIAwQ0gUMAQsgCkEMaiAAKAIIQQxqENwBCyAPLwACIgpBCHQgCkEIdnJB//8DcSEKIAtBPGohDwJAIAAoAlAiEEUNACAAKAJMIhRFDQAgACAQQQFrNgJQIAAgCiAPIA0gEiAUEQoAIAAgACgCUEEBajYCUAsgABDIBQsgDkEBaiEODAELCyALQQhqELYBGiALQTxqELYBGiALQfAAaiQAC0kBAn8gAiABQQF0aiEGA0AgAiAGRiIHRQRAIAIvAAAhASACQQJqIQIgACABQQh0IAFBCHZyQf//A3EgBCAFIAMRBQANAQsLIAcLlgEBAX8CQCAALQAAQQFHDQAgAS0AAEEBcUUNACAALQAkIQIgACABLQAkOgAkIAEgAjoAJAJAIAAtAABBAUcNACABLQAAQQFxRQ0AIAAoAgQhAiAAIAEoAgQ2AgQgASACNgIEIAAoAgghAiAAIAEoAgg2AgggASACNgIIIABBDGogAUEMahDEAyAAQRhqIAFBGGoQxAMLCwvSBAEEfwJAAkACQCAALwAAIgJBCHQgAkEIdnJB//8DcUEBaw4CAAECCyMAQSBrIgMkAAJAIAAvAAIiAkEIdCACQQh2ckH//wNxIAFBDGoiBRDIAUEgIAAvAAIiAkEIdCACQQh2ckH//wNxIgRna0EAIAIbbEEBdksEQCADQRRqIAEQuAEgA0EIaiABELkBIAMoAgghAiADKAIMIQQDQCADKAIYIgUgBEcgAygCFCACR3IiAUUNAiAAIAUQlgVBf0cNAiADQRRqEL0BDAALAAsgAEEEaiIAIARBAXRqIQIDQCAAIAJHIQEgACACRg0BIAAvAAAhBCAAQQJqIQAgBSAEQQh0IARBCHZyQf//A3EQ4AFFDQALCyADQSBqJAAgAQ8LIwBBIGsiAiQAAkAgAC8AAiIDQQh0IANBCHZyQf//A3EgAUEMahDIAUEgIAAvAAIiBEEIdCAEQQh2ckH//wNxIgNna0EAIAQbbEEBdksEQCACQRBqIAEQuAEgAkEEaiABELkBIAIoAgQhAyACKAIIIQQDQCACKAIUIgUgBEcgAigCECADR3IiAUUNAiAAIAUQlwVBf0cNAiACQRBqEL0BDAALAAsgAiABNgIcIAJBADYCGCACIAM2AhQgAiAAQQRqNgIQA0ACQCADRQ0AIAIoAhBBqhcgAigCFBsgAigCHBDcBQ0AQQAhAyACKAIUIgBFDQEgAiAAQQFrIgM2AhQgAiACKAIYQQFqNgIYIAIgAigCEEEGajYCEAwBCwsgA0EARyEBCyACQSBqJAAgASEDCyADC8AJAQh/IwBBQGoiCCQAIAggAjYCPAJAIAQgCEE8aiAIQThqENoFBEAgA0EMaiAIKAI4QQxqEOcBDAELIAhBAToAECAIQQA2AgwgCEKBgICAEDcCBCAIQRRqQQBBIRDUDBogCCgCPCEHIAhBBGohAgJAAkACQCABLwAAIgVBCHQgBUEIdnJB//8DcUEBaw4CAAECCyMAQRBrIgUkACABLwAEIgZBCHQgBkEIdnJB//8DcSEGAkAgBwRAIAJBDGohCSAAQQxqIQogAUEGaiELQQAhAANAIAAgBkYNAgJAQaASIAsgAEEBdGogAS8ABCIMQQh0IAxBCHZyQf//A3EgAE0bLwAAIgxBCHQgDEEIdnJB//8DcSAHRw0AIAogACABLwACIgxBCHQgDEEIdnJB//8DcWoQ4AFFDQAgCSAAIAEvAAIiDEEIdCAMQQh2ckH//wNxahCOAQsgAEEBaiEADAALAAsgAS8AAiEHIAVBfzYCDCAHQQh0IAdBCHZyQf//A3EhCSACQQxqIQcgAEEMaiEAA0ACQCAAIAVBDGoQ7AEEQCAFKAIMIgogCUkNAQsgBSAGIAEvAAIiAUEIdCABQQh2ckH//wNxakEBazYCCANAIAAgBUEIahDsAUUNAyAHIAUoAggQjgEMAAsACyAHIAoQjgEMAAsACyAFQRBqJAAMAQsjAEEwayIFJAACQCAHRQRAIAVBfzYCJCABQQRqIgcgAS8AAiIBQQh0IAFBCHZyQf//A3FBBmxqIQYgAkEMaiEBIABBDGohAANAIAYgB0cEQCAAIAVBJGoQ7AFFDQMDQCAFKAIkIgkgBy8AACIKQQh0IApBCHZyQf//A3FJBEAgASAJEI4BIAAgBUEkahDsAQ0BDAULCyAFIAcvAAIiCUEIdCAJQQh2ckH//wNxNgIkIAdBBmohBwwBCwsDQCAAIAVBJGoQ7AFFDQIgASAFKAIkEI4BDAALAAsgAS8AAiEGIABBDGoiCRDIAUEgIAZBCHQgBkEIdnJB//8DcSIKZ2tBACAGG2xBA3QgCkkEQCAFQSRqIAAQuAEgBUEYaiAAELkBIAJBDGohCSABQQRqIQAgBSgCGCEKIAUoAhwhCwNAIAsgBSgCKCIGRgRAIAUoAiQgCkYNAwsgBSAGNgIUIAEvAAIhBiAFQQA2AgwgBSAANgIEIAUgBkEIdCAGQQh2ckH//wNxNgIIAkAgBUEEaiAFQRRqIAVBEGoQgAVFDQAgACAFKAIQQQZsai8ABCIGQQh0IAZBCHZyQf//A3EgB0cNACAJIAUoAhQQjgELIAVBJGoQvQEMAAsACyABQQRqIgAgAS8AAiIBQQh0IAFBCHZyQf//A3FBBmxqIQYgAkEMaiEKA0AgACAGRg0BAkAgAC8ABCIBQQh0IAFBCHZyQf//A3EgB0cNACAALwACIQEgBSAALwAAIgtBCHQgC0EIdnJB//8DcUEBazYCJCABQQh0IAFBCHZyQf//A3EhAQNAIAkgBUEkahDsAUUNASAFKAIkIgsgAUsNASAKIAsQjgEMAAsACyAAQQZqIQAMAAsACyAFQTBqJAALIANBDGogCEEQahDnASAEIAhBPGogAhDbBSACELYBGgsgCEFAayQAC7UDAQd/IwBBEGsiBCQAIAQgATYCDAJ/IAMgBEEMaiAEQQhqEIUBBEAgBCgCCCgCAEEARwwBCyAEIAIgACAEKAIMENkFOgAHIAQoAgxBsfPd8XlsIQBBACECIAMtAAxBAUYEQAJAIAMoAhgiBiADKAIUIgFBAXYgAWpNBEAgA0EAELcBRQ0BIAMoAhghBgsgAEH/////A3EiCCADKAIccCEBIAQoAgwhBSADKAIgIQdBfyEAA0ACQCAHIAFBDGxqIgkoAgQiCkECcQRAIAkoAgAgBUcNAQsgByABIAAgAEF/RhtBDGxqIgAtAARBAnEEQCADIAMoAhRBAWs2AhQgAyADKAIQIAAoAgRBAXFrNgIQIAQoAgwhBQsgACAFNgIAIAQtAAchASAAIAhBAnRBA3I2AgQgACABNgIIIAMgAygCFEEBaiIANgIUIAMgAygCEEEBajYCECACIAMvAQ5NDQIgAygCGCIBIABBA3RPDQIgAyABQQhrELcBGgwCCyAAIAAgASAAQX9HGyAKQQFxGyEAIAYgAkEBaiICIAFqcSEBDAALAAsLIAQtAAcLIARBEGokAEEBcQsxAQF/IAAoAgAgACgCBCgCACIAKAJIIAAoAkQiAkE0bGpBNGsgACgCCCACGyABENkFCxoAIAAgACgCACAAKAIEajYCACAAQQhqEIIFC3sBA38gAEHTwnw2AgAgACgCCCIBBEAgARARIAEQ5wwgAEEANgIICyAAKAIgBEAgACgCGEEBaiEDQQAhAQNAIAAoAiAhAiABIANGBEAgAhDnDCAAQQA2AiAFIAIgAUE8bGpBCGoQtgEaIAFBAWohAQwBCwsLIABCADcCEAupBQEIfwJAAkACQCAALwAAIgRBCHQgBEEIdnJB//8DcUEBaw4CAAECCyMAQRBrIgUkACAALwAEIgNBCHQgA0EIdnJB//8DcSEGAkAgAkH//wNxIgpFBEAgBUF/NgIMIAFBDGoiBCAFQQxqIgMQ7AEiCEUNASAALwACIgJBCHQgAkEIdnJB//8DcSICIAUoAgxLDQEgBSACIAZqQQFrNgIMQQEhCCAEIAMQ7AENAQsgAUEMaiEDIABBBmohAkEAIQQDQCAEIAZHIQggBCAGRg0BIAogAiAEQQF0ai8AACIBQQh0IAFBCHZyQf//A3FGBEAgAyAEIAAvAAIiAUEIdCABQQh2ckH//wNxahDgAQ0CCyAEQQFqIQQMAAsACyAFQRBqJAAgCA8LIwBBEGsiByQAAkACQCACQf//A3EiCA0AIAdBfzYCDCAAQQRqIgIgAC8AAiIDQQh0IANBCHZyQf//A3EiCUEGbGohCiABQQxqIQYgAiEDQX8hBQJAA0ACQCADIApGDQACQCAFQQFqIAJBqhcgCRsvAAAiBEEIdCAEQQh2ckH//wNxRgRAIAlFBEBBACEJDAILIAJBBmohAiAJQQFrIQkMAQsgBiAHQQxqEOwBIAcoAgwhBUUNASAFIAMvAAAiBEEIdCAEQQh2ckH//wNxSQ0DIAcgAy8AAiIEQQh0IARBCHZyQf//A3EiBTYCDAsgA0EGaiEDDAELCyAFQX9GDQEgBiAHQQxqEOwBRQ0BC0EBIQIMAQsgAEEEaiIDIAAvAAIiAEEIdCAAQQh2ckH//wNxQQZsaiEEA0AgAyAERyECIAMgBEYNASAIIAMvAAQiAEEIdCAAQQh2ckH//wNxRgRAIAMgARDcBQ0CCyADQQZqIQMMAAsACyAHQRBqJAAgAiEDCyADC0EAIAAoAiBFBEBBAA8LIAAgASABKAIAQbHz3fF5bBDeBSIBQQBHIQAgAkUgAUVyBH8gAAUgAiABQQhqNgIAQQELCxcAIAAgASABKAIAQbHz3fF5bCACEN8FCzQAIAFBDGogAC8AACIBQQh0IAFBCHZyQf//A3EgAC8AAiIAQQh0IABBCHZyQf//A3EQ3QULMQEBfyMAQRBrIgMkACADIAFBAWs2AgwgACADQQxqEOwBIAMoAgwgA0EQaiQAIAJNcQsNACAAIAEgAkE8EPgMC9ECAQh/IAAtAAxBAUcEQA8LAkAgACgCGCIGIAAoAhQiBEEBdiAEak0EQCAAQQAQ4AVFDQEgACgCGCEGCyACQf////8DcSIJIAAoAhxwIQIgASgCACEFIAAoAiAhB0F/IQQDQAJAIAcgAkE8bGoiCigCBCILQQJxBEAgCigCACAFRw0BCyAHIAIgBCAEQX9GG0E8bGoiAi0ABEECcQRAIAAgACgCFEEBazYCFCAAIAAoAhAgAigCBEEBcWs2AhAgASgCACEFCyACIAU2AgAgAkEUaiADQQxqENIFIAIgCUECdEEDcjYCBCAAIAAoAhRBAWoiATYCFCAAIAAoAhBBAWo2AhAgCCAALwEOTQ0CIAAoAhgiAiABQQN0Tw0CIAAgAkEIaxDgBRoMAgsgBCAEIAIgBEF/RxsgC0EBcRshBCAGIAhBAWoiCCACanEhAgwACwALC4oDAQV/IAAtAAxBAUcEQEEADwsCQCABBEAgACgCGCABQQF2IAFqSw0BC0E8QSAgACgCECICIAEgASACSRtBAXRBCGoiAWdrQQAgARsiBHQQ5gwiAkUEQCAAQQA6AAxBAA8LIAJBASAEdCIGQTxsaiEDIAIhAQNAIAEgA0YEQCAAQgA3AhAgACgCGCEDIAAgBkEBazYCGCADQQFqQQAhASAEQR9LBH9B/////wcFIARBAnRBkMYAaigCAAshBkEAIAMbIQUgACgCICEDIAAgAjYCICAAIAY2AhwgACAEQQF0OwEOA0ACQCABIAVGBEBBACEBDAELIAMgAUE8bGoiAigCBCIEQQFxBEAgACACIARBAnYgAkEIahDfBQsgAUEBaiEBDAELCwNAIAEgBUZFBEAgAyABQTxsakEIahC2ARogAUEBaiEBDAELCyADEOcMBSABQQE6ABQgAUEANgIQIAFCgYCAgBA3AgggAUIANwIAIAFBGGpBAEEhENQMGiABQTxqIQEMAQsLC0EBCxsAIAEgAkH//wNxIgJqQaASIAIbIAAgAxCrBQsZACACIAFB//8DcSIBakGgEiABGyAAENMFC4YDAQV/IwBBMGsiBCQAIAQgAjYCECAEIAE2AhQCQCABKAJcQbiRAksNACAALwAAIQEgBCADNgIMIAQgBEEQajYCCCAEIARBFGo2AgQgBCAArUIghkK1HoQ3AiRBACECIARBADYCICAEIAFBCHQgAUEIdnJB//8DcSIBNgIcIAQgAEECaiIANgIYA0AgAUUNASAEQRhqEJgFIQMgBCgCCCgCACEGIAQoAgwhByAEKAIEKAIAIgUoAlxBuJECTQRAIAUgAy8AACIFQQh0IAVBCHZyQf//A3EiBSADQQJqIAMgBUEBdGoiAy8AAiIFQQh0IAVBCHZyQf//A3EiCCADQQRqIANBAmogCEEBdEECIAUbaiIDLwAAIgVBCHQgBUEIdnJB//8DcSIFIANBAmogAyAFQQF0aiIDLwACIgVBCHQgBUEIdnJB//8DcSADQQRqIAYgBxDkBQsgBCACQQFqIgI2AiAgBCABQQFrIgE2AhwgBCAAQQJqIgA2AhgMAAsACyAEQTBqJAALPgAgACgCCCABIAIgAyAEIAUgBiAKEOUFBEAgACADIAQgByAIIAkgCigCCCAKKAIQIAooAgQgCigCJBDQBQsLZgACf0EAIAAgASACIAcoAgAgBygCDCAHKAIYENEFRQ0AGkEAIAAgA0EBayIBQQAgASADTRsgBCAHKAIAIAcoAhAgBygCHBDRBUUNABogACAFIAYgBygCACAHKAIUIAcoAiAQ0QULC9MCAQh/AkAgAC8AAiICBH8gACACQQh0IAJBCHZyQf//A3FqBUGgEgsgARDTBUUNACAAQQRqIAAvAAQiAkEIdCACQQh2ckH//wNxIgVBAXRqIQYgAEEGaiEHQQAhAgJAA0AgAiAFRg0BQaASIQRBoBIhA0GgEiAHIAJBAXRqIAAvAAQiCEEIdCAIQQh2ckH//wNxIAJNGy8AACIDBEAgACADQQh0IANBCHZyQf//A3FqIQQLIAJBAWohAiAEIAEQ0wUNAAtBAA8LIAYvAAIiAkEIdCACQQh2ckH//wNxIQcgBkEEaiEIQQAhAgNAIAIgB0YiBQ0BQaASIQRBoBIhA0GgEiAIIAJBAXRqIAYvAAIiCUEIdCAJQQh2ckH//wNxIAJNGy8AACIDBEAgACADQQh0IANBCHZyQf//A3FqIQQLIAJBAWohAiAEIAEQ0wUNAAsLIAUL7gEBA38gAC0ALEUEQCABEEchAiAAQQE6ACwgACACNgIoCwJ/IAAgAUHCqs26BBBDIgEQNQNAIAAQNiAAKAIEIgJFBEAgABA3IAEMAgsgAiAAEOgFIQQgACgCICEDAkACQAJAAkAgBARAIANFDQIgAEEANgIgIAIgABDoBSECIAAoAiAgABA3IAJFcg0BDAMLAkAgA0UNACAALQAcDQAgACABEBYiAjYCBCAAIAIgASgCEGo2AgggAg0ECyAAEDcLIAEQD0GgEgwECyAAEDcLIAEoAgQEQCABQQA2AgQLIAEMAgsgAEEBOgAcDAALAAsL6QcBE38CQCABKAIMIAAgASgCBGtJDQAgASgCCCAAa0EESQ0AQQEhBCAALwAAQYACRw0AAkAgAEEEaiABIAAQ6QVFDQAgAEEGaiABIAAQ6gVFDQACfwJAIABBCGogARCbBUUNAEEBIQkCQCAALwAIIgRFDQAgACAEQQh0IARBCHZyQf//A3FqIgogARCWBAR/IAovAAAiBEEIdCAEQQh2ckH//wNxIQ8gCkECaiEQQQAhBANAIAQgD0YiEUUEQCAEQQF0IQUgBEEBaiEEAn9BACELAkAgBSAQaiIOIAEQmwVFDQBBASEMAkAgDi8AACIFRQ0AIwBBEGsiDSQAAkAgASgCDCAKIAVBCHQgBUEIdnJB//8DcWoiBSABKAIEa0kNACABKAIIIAVrQQZJDQAgBUEEaiICIAEQlgRFDQAgASACLwAAIgNBCHQgA0EIdnJB//8DcSIGIAEoAhRqIgM2AhQgA0H//wBKDQAgBS0AA0EQcQRAIAEoAgwgAiAGQQF0akECaiIDIAEoAgRrSQ0BIAEoAgggA2tBAkkNAQsgDSAFLwAAIgNBCHQgA0EIdnJB//8DcTYCDCACIAEQlgRFDQAgBS8ABCICQQh0IAJBCHZyQf//A3EhEiAFQQZqIRNBACECA0AgAiASRwRAIAJBAXQhAyACQQFqIQICfwJAIAMgE2oiByABEJsFRQ0AQQEhAwJAIAcvAAAiCEUNACAFIAhBCHQgCEEIdnJB//8DcWogASANKAIMEO8FDQAgASgCICIDQR9LDQEgASADQQFqNgIgQQAhAyABLQAcQQFHDQAgB0EAOwAAQQEhAwsgAwwBC0EACw0BDAILC0EBIQsgBS8AAEGADkcNACABKAIgDQBBACEDIAVBABCUBSICLwAAQYACRgRAIAIvAAIiAkEIdCACQQh2ckH//wNxIQMLQQEgBiAGQQFNGyEHQQEhAgNAIAIgB0YiCw0BQQAhBiAFIAIQlAUiCC8AAEGAAkYEQCAILwACIgZBCHQgBkEIdnJB//8DcSEGCyACQQFqIQIgAyAGRg0ACwsgDUEQaiQAIAsNACABKAIgIgVBH0sNASABIAVBAWo2AiBBACEMIAEtABxBAUcNACAOQQA7AABBASEMCyAMDAELQQALDQELCyARBUEACw0AIAEoAiAiBEEfSw0BIAEgBEEBajYCIEEAIQkgAS0AHEEBRw0AIABBADsACEEBIQkLIAkMAQtBAAtFDQAgACgAACIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZyckGBgARPBEAgAEEKaiABIAAQ6wVFDQELQQEhFAsgFCEECyAEC+MGARJ/AkAgACABEJsFRQ0AQQEhDAJAIAAvAAAiA0UNACACIANBCHQgA0EIdnJB//8DcWoiCyABEJwFBH8gCy8AACICQQh0IAJBCHZyQf//A3EhDyALQQJqIRBBACECA0AgAiAPRiIRRQRAIAJBBmwgAkEBaiECIwBBEGsiByQAIBBqIgkoAAAhAyAHIAs2AgwgByADQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZycjYCCEEAIQgCQCABKAIMIAkgASgCBGtJDQAgASgCCCAJa0EGSQ0AIAcgB0EIajYCBAJ/AkAgCUEEaiABEJsFRQ0AQQEhCAJAIAkvAAQiA0UNAEEAIQ0gBygCBBoCQAJ/AkAgCyADQQh0IANBCHZyQf//A3FqIgMgARCbBUUNAEEBIQUCQCADLwAAIgZFDQAgAyAGQQh0IAZBCHZyQf//A3FqIAEQ7AUNACABKAIgIgVBH0sNASABIAVBAWo2AiBBACEFIAEtABxBAUcNACADQQA7AABBASEFCyAFDAELQQALRQ0AIANBAmogARCcBUUNACADLwACIgVBCHQgBUEIdnJB//8DcSESIANBBGohE0EAIQUDQCAFIBJGIg0NASAFQQZsIAVBAWohBSMAQRBrIgYkACATaiIKKAAAIQQgBiADNgIMIAYgBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AghBACEEAkAgASgCDCAKIAEoAgRrSQ0AIAEoAgggCmtBBkkNACAGIAZBCGo2AgQCfyAGQQRqIRQCQCAKQQRqIAEQmwVFDQBBASEEAkAgCi8ABCIORQ0AIBQoAgAaIAMgDkEIdCAOQQh2ckH//wNxaiABEOwFDQAgASgCICIEQR9LDQEgASAEQQFqNgIgQQAhBCABLQAcQQFHDQAgCkEAOwAEQQEhBAsgBAwBC0EACyEECyAGQRBqJAAgBA0ACwsgDQ0AIAEoAiAiA0EfSw0BIAEgA0EBajYCIEEAIQggAS0AHEEBRw0AIAlBADsABEEBIQgLIAgMAQtBAAshCAsgB0EQaiQAIAgNAQsLIBEFQQALDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhDCABLQAcQQFHDQAgAEEAOwAAQQEhDAsgDA8LQQALsAMBCn8CQCAAIAEQmwVFDQBBASEHAkAgAC8AACIERQ0AIAIgBEEIdCAEQQh2ckH//wNxaiIGIAEQnAUEfyAGLwAAIgJBCHQgAkEIdnJB//8DcSEJIAZBAmohCkEAIQIDQCACIAlGIgtFBEAgAkEGbCACQQFqIQIjAEEQayIEJAAgCmoiBSgAACEDIAQgBjYCDCAEIANBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyNgIIQQAhAwJAIAEoAgwgBSABKAIEa0kNACABKAIIIAVrQQZJDQAgBCAEQQhqNgIEAn8gBEEEaiEMAkAgBUEEaiABEJsFRQ0AQQEhAwJAIAUvAAQiCEUNACAGIAhBCHQgCEEIdnJB//8DcWogASAMKAIAEO0FDQAgASgCICIDQR9LDQEgASADQQFqNgIgQQAhAyABLQAcQQFHDQAgBUEAOwAEQQEhAwsgAwwBC0EACyEDCyAEQRBqJAAgAw0BCwsgCwVBAAsNACABKAIgIgJBH0sNASABIAJBAWo2AiBBACEHIAEtABxBAUcNACAAQQA7AABBASEHCyAHDwtBAAvqCAEPfwJAIAAgARCUBEUNAEEBIQwCQCAAKAAAIgRFDQACQCABKAIMIAIgBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnJqIgIgASgCBGtJDQAgASgCCCACa0EESQ0AIAIvAABBgAJHDQACQCABKAIMIAJBBGoiBCABKAIEa0kNACABKAIIIARrQQRJDQAgBCgAACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZyciIDQf////8BSw0AIAEgBEEEaiADQQN0EJMEIQgLIAhFDQAgAigABCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZyciEPIAJBCGohEANAIAogD0YiEQ0BIApBA3QhBCAKQQFqIQoCfwJAIAQgEGoiCCABEJQERQ0AQQEhBAJAIAgoAAAiA0UNACACIANBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyaiIHIAEQowQEfyAHLwAAIgNBCHQgA0EIdnJB//8DcSELIAdBAmohDUEAIQMDQCADIAtGIg5FBEAgA0ECdCEFIANBAWohAwJ/AkAgBSANaiIJIAEQlARFDQBBASEGAkAgCSgAACIFRQ0AIAcgBUEYdCAFQYD+A3FBCHRyIAVBCHZBgP4DcSAFQRh2cnJqIAEQ9wUNACABKAIgIgVBH0sNASABIAVBAWo2AiBBACEGIAEtABxBAUcNACAJQQA2AABBASEGCyAGDAELQQALDQELCyAOBUEACw0AIAEoAiAiBEEfSw0BIAEgBEEBajYCIEEAIQQgAS0AHEEBRw0AIAhBADYAAEEBIQQLIAQMAQtBAAsEfwJ/AkAgCEEEaiABEJQERQ0AQQEhBAJAIAgoAAQiA0UNAEEAIQsCQCABKAIMIAIgA0EYdCADQYD+A3FBCHRyIANBCHZBgP4DcSADQRh2cnJqIgMgASgCBGtJDQAgASgCCCADa0EESQ0AIAMvAABBgAJHDQAgA0EEaiABEJwFRQ0AIAMvAAQiBUEIdCAFQQh2ckH//wNxIQ0gA0EGaiEOQQAhBQNAIAUgDUYiCw0BIAVBBmwhByAFQQFqIQVBACEGAkAgASgCDCAHIA5qIgcgASgCBGtJDQAgASgCCCAHa0EGSQ0AAn8CQCAHQQJqIAEQlARFDQBBASEJAkAgBygAAiIGRQ0AIAMgBkEYdCAGQYD+A3FBCHRyIAZBCHZBgP4DcSAGQRh2cnJqIAFBABDtBQ0AIAEoAiAiBkEfSw0BIAEgBkEBajYCIEEAIQkgAS0AHEEBRw0AIAdBADYAAkEBIQkLIAkMAQtBAAshBgsgBg0ACwsgCw0AIAEoAiAiBEEfSw0BIAEgBEEBajYCIEEAIQQgAS0AHEEBRw0AIAhBADYABEEBIQQLIAQMAQtBAAsFQQALDQALCyARDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhDCABLQAcQQFHDQAgAEEANgAAQQEhDAsgDA8LQQALMgEBfwJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQZJDQAgAEEEaiABEJYEIQILIAILggIBBH8jAEEQayIEJAACQCABKAIMIAAgASgCBGtJDQAgASgCCCAAa0EESQ0AIABBAmogARCWBEUNAAJAIAAvAAAiBUUNACAEIAIEfyACKAIABUEACzYCDCAAIAEQ7gVFDQEgAkUNACAALwAADQAgAigCAEHl9KWbB0cNACACKAIEIgNFIAAgA01yDQAgAyAAayAFQQh0IAVBCHZyQf//A3FqIgVB//8DSw0AIAEoAiAiA0EfSw0AIAEgA0EBajYCICABLQAcQQFHDQAgACAFQQh0IAVBgP4DcUEIdnI7AAAgBCACKAIANgIIIAAgARDuBUUNAQtBASEGCyAEQRBqJAAgBgsTAAJAIAAgARCbBSIARQ0ACyAAC7wKAQ5/QQEhAwJAAkACQAJAAkACQAJAAkACQCACQQFrDggAAQIDBAUGBwgLAn9BACABIAAQ8wVFDQAaQQEhAgJAAkACQCAALwAAIgNBCHQgA0EIdnJB//8DcUEBaw4CAAECC0EAIQICQCABKAIMIAAgASgCBGtJDQAgASgCCCAAa0EGSQ0AIABBAmogASAAEJ0FRQ0AIAAvAAIiAgR/IAAgAkEIdCACQQh2ckH//wNxagVBoBILEKoFIQIgASABKAIQIgAgAkEBdiIBa0F/IAAgAUsgAEEATnEiAhs2AhALIAIMAgsgAEECaiABIAAQnQUEfyAAQQRqIAEQlgQFQQALIQILIAILDwsgACABEPAFDwsgACABEPAFDwsgASAAEPMFBH8gAC8AAEGAAkYEfwJAIABBAmogASAAEJ0FRQ0AIABBBGogARCWBEUNACAALwAEIgJBCHQgAkEIdnJB//8DcSELIABBBmohDEEAIQIDQCACIAtGIg0NASACQQF0IQMgAkEBaiECAn8CQCADIAxqIgkgARCbBUUNAEEBIQMCQCAJLwAAIgRFDQAgACAEQQh0IARBCHZyQf//A3FqIgcgARCWBAR/IAcvAAAiBEEIdCAEQQh2ckH//wNxIQ4gB0ECaiEPQQAhBANAIAQgDkYiEEUEQCAEQQF0IQUgBEEBaiEEAn8CQCAFIA9qIgogARCbBUUNAEEBIQgCQCAKLwAAIgZFDQBBACEFAkAgASgCDCAHIAZBCHQgBkEIdnJB//8DcWoiBiABKAIEa0kNACABKAIIIAZrQQJJDQACfwJAIAEoAgwgBkECaiIGIAEoAgRrSQ0AIAEoAgggBmtBAkkNAEEBIAYvAAAiBUUNARogASAGQQJqIAVBCHQgBUEIdnJB//8DcUEBdEECaxCTBCEFCyAFCyEFCyAFDQAgASgCICIFQR9LDQEgASAFQQFqNgIgQQAhCCABLQAcQQFHDQAgCkEAOwAAQQEhCAsgCAwBC0EACw0BCwsgEAVBAAsNACABKAIgIgNBH0sNASABIANBAWo2AiBBACEDIAEtABxBAUcNACAJQQA7AABBASEDCyADDAELQQALDQALCyANBUEBCwVBAAsPCyAAIAEQ8QUPCyAAIAEQ8gUPCyABIAAQ8wUEfyAALwAAQYACRgR/An9BACECAkAgASgCDCAAIAEoAgRrSQ0AIAEoAgggAGtBCEkNACAALwACQYAORyECCwJAIAJFDQALQQAgAkUNABogACgABCICBH8gACACQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZycmoFQaASCyABIAAvAAIiAEEIdCAAQQh2ckH//wNxEO8FCwVBAQsFQQALDwsgASAAEPMFBH8gAC8AAEGAAkYEfwJ/QQAhAgJAAkAgAEECaiABIAAQnQVFDQAgAEEEaiIDIAEQlgRFDQAgAC8ABCICQQh0IAJBCHZyQf//A3EhBCAAQQZqIQVBACECA0AgAiAERwRAIAJBAXQhByACQQFqIQIgBSAHaiABIAAQnQUNAQwDCwsgAyADLwAAIgJBCHQgAkEIdnJB//8DcUEBdGoiAkECaiIDIAEQlgRFDQEgAi8AAiIEQQh0IARBCHZyQf//A3EhBCACQQRqIQVBACECA0AgAiAERwRAIAJBAXQhByACQQFqIQIgBSAHaiABIAAQnQUNAQwDCwsgAyADLwAAIgBBCHQgAEEIdnJB//8DcUEBdGpBAmogARCWBCECCyACDAELQQALBUEBCwVBAAshAwsgAwuMAQEFfyABIAAQ8wVFBEBBAA8LIAAvAABBgAJGBH8CQCAAQQJqIAEgABCdBUUNACAAQQRqIAEQlgRFDQAgAC8ABCICQQh0IAJBCHZyQf//A3EhBCAAQQZqIQVBACECA0AgAiAERiIDDQEgAkEBdCEGIAJBAWohAiAFIAZqIAEgABCeBQ0ACwsgAwVBAQsL6AMBBX8gASAAEPMFRQRAQQAPC0EBIQICQAJAAkACQCAALwAAIgNBCHQgA0EIdnJB//8DcUEBaw4DAAECAwtBACEDAkAgAEECaiABIAAQnQVFDQAgAEEEaiABEJYERQ0AIAAvAAQiAkEIdCACQQh2ckH//wNxIQQgAEEGaiEFQQAhAgNAIAIgBEYiAw0BIAJBAXQhBiACQQFqIQIgBSAGaiABIAAQ9AUNAAsLIAMPC0EAIQMCQCAAQQJqIAEgABCdBUUNACAAQQRqIAEgABCaBUUNACAAQQZqIAEQlgRFDQAgAC8ABiICQQh0IAJBCHZyQf//A3EhBCAAQQhqIQVBACECA0AgAiAERiIDDQEgAkEBdCEGIAJBAWohAiAFIAZqIAEgABD0BQ0ACwsgAw8LQQAhAwJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQZJDQAgAC8AAiICRQ0AIAEgAEEGaiIEIAJBCHQgAkEIdnJB//8DcSIFEPkERQ0AQQAhAgNAIAIgBUcEQCACQQF0IQYgAkEBaiECIAQgBmogASAAEJ0FDQEMAgsLIAEgBCAALwACIgFBCHQgAUEIdnJB//8DcUEBdGogAC8ABCIAQQh0IABBCHZyQf//A3EQ9QUhAwsgAyECCyACC9IFAQV/IAEgABDzBUUEQEEADwtBASECAkACQAJAAkAgAC8AACIDQQh0IANBCHZyQf//A3FBAWsOAwABAgMLQQAhAwJAIABBAmogASAAEJ0FRQ0AIABBBGogARCWBEUNACAALwAEIgJBCHQgAkEIdnJB//8DcSEEIABBBmohBUEAIQIDQCACIARGIgMNASACQQF0IQYgAkEBaiECIAUgBmogASAAEPYFDQALCyADDwtBACEDAkAgAEECaiABIAAQnQVFDQAgAEEEaiABIAAQmgVFDQAgAEEGaiABIAAQmgVFDQAgAEEIaiABIAAQmgVFDQAgAEEKaiABEJYERQ0AIAAvAAoiAkEIdCACQQh2ckH//wNxIQQgAEEMaiEFQQAhAgNAIAIgBEYiAw0BIAJBAXQhBiACQQFqIQIgBSAGaiABIAAQ9gUNAAsLIAMPCwJ/AkAgAEECaiIDIAEQlgRFDQAgAC8AAiICQQh0IAJBCHZyQf//A3EhBCAAQQRqIQVBACECA0AgAiAERwRAIAJBAXQhBiACQQFqIQIgBSAGaiABIAAQnQUNAQwCCwsgAyADLwAAIgJBCHQgAkEIdnJB//8DcUEBdGoiAkECaiIDIAEQlgRFDQAgAi8AAiIEQQh0IARBCHZyQf//A3EhBCACQQRqIQVBACECA0AgAiAERwRAIAJBAXQhBiACQQFqIQIgBSAGaiABIAAQnQUNAQwCCwtBACECAkAgAy8AACIERQ0AIAMgBEEIdCAEQQh2ckH//wNxQQF0aiIDQQJqIgQgARCWBEUNACADLwACIgJBCHQgAkEIdnJB//8DcSEFIANBBGohA0EAIQIDQCACIAVHBEAgAkEBdCEGIAJBAWohAiADIAZqIAEgABCdBQ0BDAMLCyAEIAQvAAAiAEEIdCAAQQh2ckH//wNxQQF0akECaiABEKMEIQILIAIMAQtBAAshAgsgAgsmAAJAIAAoAgggAWtBAUsgACgCDCABIAAoAgRrT3EiAEUNAAsgAAuVAwEJfwJAIAAgARCbBUUNAEEBIQUCQCAALwAAIgNFDQAgAiADQQh0IANBCHZyQf//A3FqIgYgARCWBAR/IAYvAAAiAkEIdCACQQh2ckH//wNxIQkgBkECaiEKQQAhAgNAIAIgCUYiC0UEQCACQQF0IQMgAkEBaiECAn9BACEEAkAgAyAKaiIIIAEQmwVFDQBBASEHAkAgCC8AACIDRQ0AAkAgASgCDCAGIANBCHQgA0EIdnJB//8DcWoiAyABKAIEa0kNACABKAIIIANrQQRJDQAgASADQQRqIAMvAAIiBEEIdCAEQQh2ckH//wNxQQJ0IAMvAAAiA0EIdCADQQh2ckH//wNxQQF0QQJrQQAgAxtqEJMEIQQLIAQNACABKAIgIgNBH0sNASABIANBAWo2AiBBACEHIAEtABxBAUcNACAIQQA7AABBASEHCyAHDAELQQALDQELCyALBUEACw0AIAEoAiAiAkEfSw0BIAEgAkEBajYCIEEAIQUgAS0AHEEBRw0AIABBADsAAEEBIQULIAUPC0EACw0AIAAgASACQQQQpQQL7QMBCn8CQCAAIAEQmwVFDQBBASEIAkAgAC8AACIFRQ0AIAIgBUEIdCAFQQh2ckH//wNxaiIFIAEQlgQEfyAFLwAAIgJBCHQgAkEIdnJB//8DcSEKIAVBAmohC0EAIQIDQCACIApGIgxFBEAgAkEBdCEEIAJBAWohAgJ/QQAhBgJAIAQgC2oiCSABEJsFRQ0AQQEhBAJAIAkvAAAiA0UNAAJAIAEoAgwgBSADQQh0IANBCHZyQf//A3FqIgMgASgCBGtJDQAgASgCCCADa0ECSQ0AIAEoAgwgAyADLwAAIgdBCHQgB0EIdnJB//8DcUEBdGpBAmoiAyABKAIEa0kNACABKAIIIANrQQJJDQAgASgCDCADIAMvAAAiB0EIdCAHQQh2ckH//wNxQQF0QQIgBxtqIgMgASgCBGtJDQAgASgCCCADa0ECSQ0AIAMgAy8AACIGQQh0IAZBCHZyQf//A3FBAXRqQQJqIAEQowQhBgsgBg0AIAEoAiAiBEEfSw0BIAEgBEEBajYCIEEAIQQgAS0AHEEBRw0AIAlBADsAAEEBIQQLIAQMAQtBAAsNAQsLIAwFQQALDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhCCABLQAcQQFHDQAgAEEAOwAAQQEhCAsgCA8LQQALjwEBAn8CQAJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQJJDQBBASECAkACQAJAIAAvAAAiA0EIdCADQQh2ckH//wNxQQFrDgUEBAABAgMLIAAgARD4BQ8LIAAgARD4BQ8LIABBAmogASAAEPkFIQILIAIPCyABKAIIIABrQQdLIAEoAgwgACABKAIEa09xC08BBX8gAEECaiABEPsERQRAQQAPCyAAQQNqIQMgAC0AAiEEA0AgAiAERiIFRQRAIAJBA2whBiACQQFqIQIgAyAGaiABIAAQ+QUNAQsLIAULSAEBfwJAIAAgARD6BUUNAEEBIQMgABCSBQ0AIAIgAC0AAiAALQABQQh0IAAtAABBEHRycmogARD3BQ0AIAAgARD7BSEDCyADCwsAIAAgAUECEPEMC2QBA38jAEEQayICJAAgAkEANgIMAkAgASgCICIEQR9LDQAgASAEQQFqNgIgIAEtABxBAUcNACAAIAIoAgwiAToAAiAAIAFBCHY6AAEgACABQRB2OgAAQQEhAwsgAkEQaiQAIAML7gEBA38gAC0ALEUEQCABEEchAiAAQQE6ACwgACACNgIoCwJ/IAAgAUHTnsG6BBBDIgEQNQNAIAAQNiAAKAIEIgJFBEAgABA3IAEMAgsgAiAAEP0FIQQgACgCICEDAkACQAJAAkAgBARAIANFDQIgAEEANgIgIAIgABD9BSECIAAoAiAgABA3IAJFcg0BDAMLAkAgA0UNACAALQAcDQAgACABEBYiAjYCBCAAIAIgASgCEGo2AgggAg0ECyAAEDcLIAEQD0GgEgwECyAAEDcLIAEoAgQEQCABQQA2AgQLIAEMAgsgAEEBOgAcDAALAAsL6QcBE38CQCABKAIMIAAgASgCBGtJDQAgASgCCCAAa0EESQ0AQQEhBCAALwAAQYACRw0AAkAgAEEEaiABIAAQ6QVFDQAgAEEGaiABIAAQ6gVFDQACfwJAIABBCGogARCbBUUNAEEBIQkCQCAALwAIIgRFDQAgACAEQQh0IARBCHZyQf//A3FqIgogARCWBAR/IAovAAAiBEEIdCAEQQh2ckH//wNxIQ8gCkECaiEQQQAhBANAIAQgD0YiEUUEQCAEQQF0IQUgBEEBaiEEAn9BACELAkAgBSAQaiIOIAEQmwVFDQBBASEMAkAgDi8AACIFRQ0AIwBBEGsiDSQAAkAgASgCDCAKIAVBCHQgBUEIdnJB//8DcWoiBSABKAIEa0kNACABKAIIIAVrQQZJDQAgBUEEaiICIAEQlgRFDQAgASACLwAAIgNBCHQgA0EIdnJB//8DcSIGIAEoAhRqIgM2AhQgA0H//wBKDQAgBS0AA0EQcQRAIAEoAgwgAiAGQQF0akECaiIDIAEoAgRrSQ0BIAEoAgggA2tBAkkNAQsgDSAFLwAAIgNBCHQgA0EIdnJB//8DcTYCDCACIAEQlgRFDQAgBS8ABCICQQh0IAJBCHZyQf//A3EhEiAFQQZqIRNBACECA0AgAiASRwRAIAJBAXQhAyACQQFqIQICfwJAIAMgE2oiByABEJsFRQ0AQQEhAwJAIAcvAAAiCEUNACAFIAhBCHQgCEEIdnJB//8DcWogASANKAIMEP4FDQAgASgCICIDQR9LDQEgASADQQFqNgIgQQAhAyABLQAcQQFHDQAgB0EAOwAAQQEhAwsgAwwBC0EACw0BDAILC0EBIQsgBS8AAEGAEkcNACABKAIgDQBBACEDIAVBABCUBSICLwAAQYACRgRAIAIvAAIiAkEIdCACQQh2ckH//wNxIQMLQQEgBiAGQQFNGyEHQQEhAgNAIAIgB0YiCw0BQQAhBiAFIAIQlAUiCC8AAEGAAkYEQCAILwACIgZBCHQgBkEIdnJB//8DcSEGCyACQQFqIQIgAyAGRg0ACwsgDUEQaiQAIAsNACABKAIgIgVBH0sNASABIAVBAWo2AiBBACEMIAEtABxBAUcNACAOQQA7AABBASEMCyAMDAELQQALDQELCyARBUEACw0AIAEoAiAiBEEfSw0BIAEgBEEBajYCIEEAIQkgAS0AHEEBRw0AIABBADsACEEBIQkLIAkMAQtBAAtFDQAgACgAACIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZyckGBgARPBEAgAEEKaiABIAAQ6wVFDQELQQEhFAsgFCEECyAEC9IPAQt/QQEhBAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsOCQABAgMEBQYHCAkLAn9BACABIAAQ8wVFDQAaQQEhAgJAAkACQCAALwAAIgRBCHQgBEEIdnJB//8DcUEBaw4CAAECC0EAIQICQCABKAIMIAAgASgCBGtJDQAgASgCCCAAa0EGSQ0AIABBAmogASAAEJ0FRQ0AIAAvAAIiBAR/IAAgBEEIdCAEQQh2ckH//wNxagVBoBILEKoFIQMgASABKAIQIgQgA0EBdiIDa0F/IAMgBEkgBEEATnEiBBs2AhAgBEUNAAJ/QQEhAkEAIAEgAEEGaiIDIABBBGoiBC8AAGlBAXQQkwRFDQAaAkAgAS0ALQ0AIAQvAABBgCBJDQAgBCABIAAgAxCABiECCyACCyECCyACDAILQQAhAgJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQhJDQAgAEECaiABIAAQnQVFDQACf0EAIAEgAEEIaiICIAAvAAYiBEEIdCAEQQh2ckH//wNxIgQgAEEEaiIDLwAAaUEBdCIFEKUERQ0AGkEBIAEtAC0NABogAyABIAAgAiAEIAUQgQYLIQILCyACCw8LAn9BACABIAAQ8wVFDQAaQQEhAgJAAkACQCAALwAAIgRBCHQgBEEIdnJB//8DcUEBaw4CAAECCyMAQRBrIgIkAAJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQpJDQAgAC8ABCEEIAAvAAYhAyACIABBBGo2AgQgAiAEaSIENgIIIAIgA2kgBGpBAXRBAmo2AgwgAEECaiABIAAQnQVFDQAgAiACQQRqNgIAIABBCGogARCWBEUNACAALwAIIgRBCHQgBEEIdnJB//8DcSEJIABBCmohCkEAIQQDQCAEIAlGIg0NASAEQQF0IQMgBEEBaiEEAn8CQCADIApqIgggARCbBUUNAEEBIQcCQCAILwAAIgNFDQBBACEGIAIoAgAhBQJAIAEoAgwgACADQQh0IANBCHZyQf//A3FqIgMgASgCBGtJDQAgASgCCCADa0ECSQ0AIAEgA0ECaiADLwAAIgtBCHQgC0EIdnJB//8DcSAFKAIIEKUERQ0AQQEhBiABLQAtDQBBACEGIAUoAgAgASADIANBBGoiCyADLwAAIgxBCHQgDEEIdnJB//8DcSIMIAUoAggQgQZFDQAgBSgCAEECaiABIAMgCyAFKAIEQQF0aiAMIAUoAggQgQYhBgsgBg0AIAEoAiAiA0EfSw0BIAEgA0EBajYCIEEAIQcgAS0AHEEBRw0AIAhBADsAAEEBIQcLIAcMAQtBAAsNAAsLIAJBEGokACANDAILAn8CQCABKAIMIAAgASgCBGtJDQAgASgCCCAAa0EQSQ0AIABBAmogASAAEJ0FRQ0AIABBCGogASAAEJoFRQ0AIABBCmogASAAEJoFRQ0AIAEgAEEQaiIEIAAvAA4iA0EIdCADQQh2ckH//wNxIAAvAAwiA0EIdCADQQh2ckH//wNxbCIDIAAvAARpIgYgAC8ABmlqQQF0IgUQpQRFDQACQCABLQAtDQBBACECIABBBGogASAAIAQgAyAFEIEGRQ0AIABBBmogASAAIAQgBkEBdGogAyAFEIEGIQILIAIMAQtBAAshAgsgAgsPCyABIAAQ8wUEfyAALwAAQYACRgR/IABBAmogASAAEJ0FBH8gAS0ALSICIABBBGogARCjBCIDcSEEAkAgAiADRXINACAALwAEIgJBCHQgAkEIdnJB//8DcSEDIABBBmohBUEAIQIDQCACIANGIgQNASACQQJ0IQYgAkEBaiECIAUgBmoiBiABIAAQggYEfyAGQQJqIAEgABCCBgVBAAsNAAsLIAQFQQALBUEBCwVBAAsPCyAAIAEQ/wUPCyABIAAQ8wUEfyAALwAAQYACRgR/QQAhAiMAQRBrIgUkAAJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQxJDQAgAEECaiABIAAQnQVFDQAgAEEEaiABIAAQnQVFDQAgAEEIaiABIAAQgwZFDQAgBSAALwAGIgJBCHQgAkEIdnJB//8DcTYCDAJ/IAVBDGohBAJAIABBCmogARCbBUUNAEEBIQICQCAALwAKIgNFDQAgACADQQh0IANBCHZyQf//A3FqIgYgARCWBAR/IAYvAAAiA0EIdCADQQh2ckH//wNxIQcgBkECaiEIQQAhAwNAIAMgB0YiCUUEQCADQQF0IQogA0EBaiEDIAggCmogASAGIAQQhAYNAQsLIAkFQQALDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhAiABLQAcQQFHDQAgAEEAOwAKQQEhAgsgAgwBC0EACyECCyAFQRBqJAAgAgVBAQsFQQALDwsgACABEP8FDwsgACABEPEFDwsgACABEPIFDwsgASAAEPMFBH8gAC8AAEGAAkYEfwJ/QQAhAgJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQhJDQAgAC8AAkGAEkchAgsCQCACRQ0AC0EAIAJFDQAaIAAoAAQiAgR/IAAgAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnJqBUGgEgsgASAALwACIgBBCHQgAEEIdnJB//8DcRD+BQsFQQELBUEACyEECyAEC60BAQJ/IAEgABDzBUUEQEEADwsgAC8AAEGAAkYEfyMAQRBrIgMkAAJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQxJDQAgAEECaiABIAAQnQVFDQAgAEEEaiABIAAQnQVFDQAgAEEIaiABIAAQgwZFDQAgAyAALwAGIgJBCHQgAkEIdnJB//8DcTYCDCAAQQpqIAEgACADQQxqEIQGIQILIANBEGokACACBUEBCwu2AQAgAyAALwAAIgBBB3ZBAnFqIABBCHQgAEEIdnIiA0ECcWogAEEJdkECcWogAEEKdkECcWohAAJ/IANBEHEEQEEAIAAgASACEKEFRQ0BGiAAQQJqIQALIANB//8DcSIDQSBxBEBBACAAIAEgAhChBUUNARogAEECaiEACyADQcAAcQRAQQAgACABIAIQoQVFDQEaIABBAmohAAsgA0GAAXEEQEEAIAAgASACEKEFRQ0BGgtBAQsLQwECf0EBIQcCQCAALwAAQYAgSQ0AA0AgBCAGRiIHDQEgACABIAIgAxCABkUNASAGQQFqIQYgAyAFaiEDDAALAAsgBwu4AgEDfwJAIAAgARCbBUUNAEEBIQQCQCAALwAAIgNFDQACfwJAIAEoAgwgAiADQQh0IANBCHZyQf//A3FqIgIgASgCBGtJDQAgASgCCCACa0ECSQ0AQQEhBQJAAkACQCACLwAAIgNBCHQgA0EIdnJB//8DcUEBaw4DAAECAwsgASgCCCACa0EFSyABKAIMIAIgASgCBGtPcQwDCyABKAIIIAJrQQdLIAEoAgwgAiABKAIEa09xDAILQQAhAwJAIAEoAgwgAiABKAIEa0kNACABKAIIIAJrQQpJDQAgAkEGaiABIAIQoQVFDQAgAkEIaiABIAIQoQUhAwsgAyEFCyAFCw0AIAEoAiAiAkEfSw0BIAEgAkEBajYCIEEAIQQgAS0AHEEBRw0AIABBADsAAEEBIQQLIAQPC0EAC/MBAQd/AkAgACABEJsFRQ0AQQEhBQJAIAAvAAAiA0UNACACIANBCHQgA0EIdnJB//8DcWoiAyABEKMEBH8gAy8AACICQQh0IAJBCHZyQf//A3EhByADQQJqIQhBACECA0AgAiAHRiIJRQRAIAJBAnQhBCACQQFqIQJBACEGAkAgASgCDCAEIAhqIgQgASgCBGtJDQAgASgCCCAEa0EESQ0AIARBAmogASADEIIGIQYLIAYNAQsLIAkFQQALDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhBSABLQAcQQFHDQAgAEEAOwAAQQEhBQsgBQ8LQQALgwIBBX8CQCAAIAEQmwVFDQBBASEFAkAgAC8AACIERQ0AIAMoAgAhAwJAIAEoAgwgAiAEQQh0IARBCHZyQf//A3FqIgIgASgCBGtJDQAgASgCCCACa0ECSQ0AIAIvAAAiBEEIdCAEQQh2ckH//wNxIgStIAOtfkIgiKcNACABIAJBAmoiByADIARsIgQQ+QRFDQBBASEGIAEtAC0NAEEAIQMDQCADIARGIgYNASADQQF0IQggA0EBaiEDIAcgCGogASACEIIGDQALCyAGDQAgASgCICICQR9LDQEgASACQQFqNgIgQQAhBSABLQAcQQFHDQAgAEEAOwAAQQEhBQsgBQ8LQQALEQAgACABIAIgAyAEQQIQ8wwLPQAgACAAKAIEQQFqQQEQogJFBEBB0NAAQgA3AwBB2NAAQQA2AgBB0NAADwsgACgCCCAAKAIEQQxsakEMawsNACAAIAFBBkEBENYDCxAAIAAgASABELcDQQEQ1gMLPgAgASACKAIAIgFBCHQgAUH//wNxIgFBCHZyOwAAIAEgAigCAEcEfyAAIAAoAhhBCHIiADYCGCAARQVBAQsLVAAgASAAEJACBH8gACACQQh0IAJBgP4DcUEIdnI7AAAgAkGAgARPBEAgASABKAIYQRByNgIYCyABIAAgAkH//wNxQQZsQQJqQQEQ1gNBAEcFQQALCzEBAX8gASgCBCICBEAgASgCACACQQZBwwAQyQELIAAgASkCADcCACAAIAEoAgg2AggLvwEBA38CQCAALwAAIgJBCHQgAkEIdnJB//8DcSIDIAEvAAAiAkEIdCACQQh2ckH//wNxIgRJDQBBASECAkAgAyAESw0AIAAvAAIiA0EIdCADQQh2ckH//wNxIgMgAS8AAiIEQQh0IARBCHZyQf//A3EiBEkNASADIARLDQBBfyECIAAvAAQiAEEIdCAAQQh2ckH//wNxIgAgAS8ABCIBQQh0IAFBCHZyQf//A3EiAUkNACAAIAFLIQILIAIPC0F/C4oBAQd/AkAgASgCDCIGIAEoAggiAmsiByABKAIEIgggASgCACIDayIEaiIFRQRADAELIAUQ5gwiAUUEQAwBCyADIAhHBEAgASADIAQQ0gwaCyACIAZHBEAgASAEaiACIAcQ0gwaCyAAQQA2AgggACAFNgIEIAAgATYCAA8LIABCADcCACAAQQA2AggLewEFfyACQf////8DcSIEIAAoAhxwIQIDQAJAIAAoAiAgAkEMbGoiBigCBCIHQQJxBH8gB0ECdiAERw0BIAYgARCQBkUNAUEAIAAoAiAgAkEMbGoiACgCBEEBcWsgAHEFQQALDwsgACgCGCADQQFqIgMgAmpxIQIMAAsAC6ICAQR/IAAtAAxBAUcEQEEADwsCQCABBEAgACgCGCABQQF2IAFqSw0BC0EMQSAgACgCECICIAEgASACSRtBAXRBCGoiAWdrQQAgARsiAXQiAxDmDCICRQRAIABBADoADEEADwsgAUEdTQRAIAJBACADENQMGgsgAEIANwIQIAAoAhghAyAAQX8gAXRBf3M2AhggAUEfSwR/Qf////8HBSABQQJ0QZDGAGooAgALIQQgACgCICEFIAAgAjYCICAAIAQ2AhwgACABQQF0OwEOAkAgA0UNACADQQFqIQNBACEBA0AgASADRg0BIAUgAUEMbGoiAigCBCIEQQFxBEAgACACIARBAnYgAkEIahCNAgsgAUEBaiEBDAALAAsgBRDnDAtBAQusAQEGfyAAKAIAIQIgASgCACEBIwBBIGsiACQAAkAgAigCBCACKAIAIgRrIgUgASgCBCABKAIAIgZrRw0AIAIoAgwiByABKAIMRw0AIAQgBiAFEKgDDQAgAigCECECIABBADYCHCAAIAdBDGwiAzYCGCAAIAI2AhQgASgCECEBIABBADYCECAAIAM2AgwgACABNgIIIABBFGogAEEIahCiAyEDCyAAQSBqJAAgAwuGAQEDfyMAQRBrIgIkACABQQFqQYgDTwRAIAIgAUGHA2s2AgwgAiAAKAIANgIIAn8gAEEEaiIBIAJBDGoiAyACQQhqIgRBABCAAQRAIABBKGogAxDaARogACAAKAIAQQFqNgIAIAQMAQsgASACQQxqEIIBCygCAEGHA2ohAQsgAkEQaiQAIAELpwQBBH8gACgCOCIDQaASRwRAAn8gACgC3AEhBEEAIQACQAJAAkACQCADLQAADgMAAQIDCyABRSABIARPcg0CIAFBAXQgA2pBAWsvAAAiAEEIdCAAQQh2ckH//wNxDAMLAn8gA0EBaiEGQQAgASAETw0AGgJ/AkACQCACRQ0AIAIoAgQiACABSw0AIAIoAgAhAwwBC0EBIQBBACIDIAFFDQEaCyABIABrIQEDfyAGIANBA2xqIgQtAAIiBSABTwR/IAIEQCACIAA2AgQgAiADNgIACyABIAQvAAAiAEEIdCAAQQh2ckH//wNxagUgA0EBaiEDIAEgBUEBaiIEayEBIAAgBGohAAwBCwsLCwwCCwJ/IANBAWohBkEAIAEgBE8NABoCfwJAAkAgAkUNACACKAIEIgAgAUsNACACKAIAIQMMAQtBASEAQQAiAyABRQ0BGgsgASAAayEBA38gBiADQQJ0aiIELwACIgVBCHQgBUEIdnJB//8DcSIFIAFPBH8gAgRAIAIgADYCBCACIAM2AgALIAEgBC8AACIAQQh0IABBCHZyQf//A3FqBSADQQFqIQMgASAFQQFqIgRrIQEgACAEaiEADAELCwsLIQALIAALDwtBACECAkACQAJAAkAgACgCsAEOAwABAgMLIAFBACABQeUBSRsPCyABQaUBSw0BIAFBAXRBoAxqLwEADwsgAUHWAEsNACABQQF0QfAOai8BACECCyACC1QBA38gACgCCEEEayEEIAAoAgQhAAN/IAAEfyAEIABBA3RqIgMgASADKAIAIgNBf3NqIgE2AgAgAEEBayEAIAEgAnIhAiADIQEMAQUgAkH/AUsLCwsLACAAIAFBARCkBgtRAQF/AkAgACgCBCICIAAoAgBOBEAgACACQQFqQQAQwQJFDQEgACgCBCECCyAAIAJBAWo2AgQgACgCCCACaiABKAIAOgAADwtB0NAAQQA6AAALDQAgACABQQFBARC/AgsLACAAIAFBARCZBguBAQECfyAAIAFBACABQQBKGyIBQQAQpAIiAwRAAkAgACgCBCICIAFJBEAgACgCBCECA0Ag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AQR/IAAgAUEIdCABQQh2ckH//wNxagVBoBILLwAAIgFBCHQgAUEIdnJB//8DcSEDIAJB7ABqIAAvAAQiAQR/IAAgAUEIdCABQQh2ckH//wNxagVBoBILELoFIgFBADYCFCABQQE2AhwgASADNgIYIAIgASkCEDcDqAEgAiABKQIINwOgASACIAEpAhg3A7ABIAIgASkCADcDmAEgAkG2HjYCpAIgAiACKALsAUEIajYCoAIgAkHwAWogAkGYAWogAkGgAmoQ2AcgAkG3HjYCmAIgAC8ACiIBBH8gACABQQh0IAFBCHZyQf//A3FqBUGgEgshAyACQZgBaiACQfABaiIBQSwQ0gwaIAJBxABqrSAArUIghoQhDyACQewAaiABENkHA0AgAkGYAWoiASACQewAahDaBwRAIAEQ2wchBEEAIQEgAkEANgJoIAJCADcCYCADIAQQkwUvAAAhBSACQQE2AlwgAkEANgJUIAIgBUEIdCAFQQh2ckH//wNxNgJYIAJByABqIAJB1ABqEOgCA0AgAigCSCABRgRAIAMgBBCTBSACQQA2AhggAkEANgIIIAIgAikCZEIgiSIQNwIQIAIgEDcDACACKALsASACEOsHIAJB4ABqEC0gAkGYAWoQ3AcMAwUgAiABNgJEIAAvAAYhBSACQQE2AiwgAkEANgIkIAIgBUEIdCAFQQh2ckH//wNxNgIoIAJBxRc2AiAgAiACQcgBajYCHCACQTBqIAJBJGogAkEcahDsByACIAJBQGsoAgA2ArACIAIgAikCODcDqAIgAiACKQIwNwOgAiACIA83ArQCA0AgAigCoAIiBSACKAKkAkcEQCACIAUgAigCtAIoAgAgAigCuAIvAAYiCEEIdCAIQQh2ckH//wNxbGo2ArwCIAJB4ABqIAJBvAJqENoBGiACQaACahDtBwwBCwsgAUEBaiEBDAELAAsACwsgAkHIAWoQLyACQcACaiQACw8LIAAgARDWBw8LIAAvAABBgAJGBEAgACgABCICBH8gACACQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZycmoFQaASCyABIAAvAAIiAEEIdCAAQQh2ckH//wNxENUHCwsL5gcCA38BfiAALwAAQYACRgRAIwBBoAJrIgIkACACIAE2AswBIAJBxABqIgQgAC8AAiIDBH8gACADQQh0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BBDqARogA0EwaiABELgBIANBGGogARC5AUEAIQQgAygCGCEHIAMoAhwhCANAAkAgAygCNCIJIAhHDQAgAygCMCAHRw0AIAYoAkAgBE0NAiAAIAIQrwgiBUF/RgRAQQAhBQwDCyADQdQAaiABELgBIANByABqIAEQuQEgAygCSCEKIAMoAkwhCwNAIAsgAygCWCIBRgRAIAMoAlQgCkYNBAsCfyABIAEgBUZqIgYgACgCBE8EQEEAIQdB0NAAQQBB8AAQ1AwaQQAhCEEAIQlBAAwBCyAAKAIIIAZB8ABsaiIBKAIYIQcgASgCHCEIIAEoAgwhCSABKAIQCyEEIANBADYCOCADQUBrIgEgBzYCACADIAk2AjQgAyAENgIwIAMgCDYCPCADQQA2AkQgAyABKQIANwMoIAMgAykCODcDICADIAMpAjA3AxggAyADQTBqEAgDQCADKAIcIQECQCADKAIYIgQgAygCAEcNACABIAMoAgRHDQAgAygCJCADKAIMRw0AIAMoAiggAygCEEcNACADQdQAahC9AQwCCwJAIAENACADKAIoRQRAQdDQAEIANwMAQdjQAEEANgIAQdDQACEEDAELIAMoAiQhBAsgAiAEKAIIRgRAIAAgBCAGIAUQsAgLIANBGGoQCgwACwALAAsgBiAJEK4IIARqIQQgA0EwahC9AQwACwALIANB4ABqJAAgBQsnACAAKAIABEAgAEEAEMADIAAoAggQ5wwLIABBADYCCCAAQgA3AgALvgEBAX8jAEEQayICJAAgAiABNgIMAkAgACgCQEUEQCAAQQE2AkAgACABNgJEDAELIABBxABqIgEoAgBBf0cEQCACQQE2AgggAEHIAGogASACQQhqELwDRQ0BIAFBfzYCAAsCQCAAQcgAaiIBIAJBDGogAkEIahCFAQRAIAIoAggiASABKAIAQQFqNgIADAELIAJBATYCBCABIAJBDGogAkEEahC8A0UNAQsgACAAKAJAQQFqNgJACyACQRBqJAALFgAgAEKAgICAcDcDQCAAQcgAahD+AQsMACAAIAFBABD4BBoLcgIBfgF/IAFB//8Pca1C////////AQJ+QgAgACgCPCIBRQ0AGiAAKAIEIAAoAgBrIgNBfm2sIAFBAUYNABpCACADrH0LIAApAyh8IgJCACACQgBVGyICIAJC////////AVkb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ACkCEDcDECABIAApAgg3AwggASAAKQIANwMAQQAhAANAAkAgASgCAEEBa0EBSw0AIAEoAgggASgCBC8AAiICQQh0IAJBCHZyQf//A3FPDQAgAEEBaiEAIAEQ3wgaDAELCyABQSBqJAAgAAsTACAAIAEQ5AggACABKAIgNgIgCyMBAX8jAEEQayIBJAAgAUEIaiAAEOEIIAEoAgggAUEQaiQAC0MBAX8jAEEQayIBJAADQAJAIAAQvgUgABC7BUUNACABQQhqIAAQ4QggACgCGCgCACABKAIMTQ0BCwsgAUEQaiQAIAALcwEBfyMAQRBrIgQkACAAIAEpAgA3AgAgACABKQIYNwIYIAAgASkCEDcCECAAIAEpAgg3AgggACADNgIkIAAgAjYCIANAAkAgABC7BUUNACAEQQhqIAAQ4QggBCgCDA0AIAAQ3wgaDAELCyAEQRBqJAAgAAskAQF/IAEQvAUhAiAAIAEoAhQoAgggAhClATYCBCAAIAI2AgALLQEBfyMAQSBrIgIkACACIAEQ5AggACACIAEoAiAgASgCJBDgCBogAkEgaiQACzgBAn8jAEEQayIBJAADQCAAEN8IIgIQuwUEQCABQQhqIAIQ4QggASgCDEUNAQsLIAFBEGokACACCzIBAn8jAEEgayICJAAgAkEIaiIDIAEQxwggACADIAEoAhggASgCHBDbCBogAkEgaiQACxMAIAAgASABIAIgAxACIAQQ6AgLJwAgACgCAARAIABBABDpCCAAKAIIEOcMCyAAQQA2AgggAEIANwIACxEAIAAgASABIAIgAxACEOoIC4UBAQN/AkAgAiABKAIETw0AIAEoAgggAkHwAGxqIgEoAgAiBEUNACABKAIEIAEoAgBrIgVBAk4EfyAFIAMgBC8AACIGQQh0IAZBCHZyQf//A3FsQQF0QQJqTwVBAAtFDQAgACAENgIIIAAgATYCBCAAIAI2AgAPCyAAQQA2AgggAEIANwIACz8BAn8gACgCBCICIAFrIQMgACgCCCACQQZ0aiECA0AgAwRAIANBAWshAyACQUBqEOwIIQIMAQsLIAAgATYCBAuEAQECfwJAIAIgASgCBE8NACABKAIIIAJB8ABsaiIBKAIAIgRFDQAgASgCBCABKAIAayIDQQJOBH8gA60gBC8AACIDQQh0IANBCHZyrUL//wODQgKG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ICEBIAAgAzcCGCAAIAIpAhA3AhAgACACKQIINwIIIAAgAikCADcCACAAIAE2AiAgAkEgaiQAC9wCAgR/An4jAEHQAGsiAyQAIAMgATYCTAJAIAIgA0HMAGpBABCFAQ0AIAMgACADKAJMEK8IIgE2AkggAC0AGyIEQQFxRSABQX9HckUEQCAAQQA6ABsMAQsgBEEBcUUNACACIANBzABqIANByABqQQEQgAEaQaASIAAoAgggAygCTCIBQfAAbGogACgCBCABTRsiASkCDCEHIAEpAhghCCADQQA2AjggA0EANgJEIAMgCEIgiTcCPCADIAdCIIk3AjAgAyADQUBrKQIANwMoIAMgAykCODcDICADIAMpAjA3AxggAyADQTBqEAgDQCADKAIkIQEgAygCKCEEIAMoAhwhBQJAIAMoAhgiBiADKAIARw0AIAUgAygCBEcNACABIAMoAgxHDQAgBCADKAIQRg0CCyAAIAYgAUGgEiAEGyAFGygCCCACEPsIIANBGGoQCgwACwALIANB0ABqJAAL3wIBBX8jAEHQAGsiAyQAAn8gASAAKAIETwRAQdDQAEEAQfAAENQMGkEADAELIAAoAgggAUHwAGxqIgEoAhghBCABKAIcIQUgASgCDCEGIAEoAhALIQEgA0FAayIHQQA2AgAgAyAENgJIIAMgBjYCPCADIAE2AjggAyAFNgJEIANBADYCTCADIAMpAkg3AzAgAyAHKQIANwMoIAMgAykCODcDICADQQhqIANBOGoQCANAAkAgAygCLCEBIAMoAjAhBCADKAIkIQUCQCADKAIgIgYgAygCCEcNACAFIAMoAgxHDQAgASADKAIURw0AIAQgAygCGEYNAQsCQCACIAYgAUGgEiAEGyAFG0EIaiIBIANBBGoQhQEEQCADKAIEIgEgASgCAEEBajYCAAwBCyADQQE2AgAgAiABIANBARCAARogACABKAIAIAIQ/AgLIANBIGoQCgwBCwsgA0HQAGokAAsRACAAIAEgAiADIARBDBDzDAsRACAAIAEgAiADIARBBBDzDAsRACAAIAEgAiADIARBChDzDAsRACAAIAEgAiADIARBAxDzDAuOAQEDfwJAIAEoAgwgACABKAIEa0kNACABKAIIIABrQQhJDQAgAC8AAiICQQh0IAJBCHZyQf//A3EiBK0gACgABCICQRh0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IAFBgP4DcUEIdnI7AAQgACACQQh0IAJBgP4DcUEIdnIiADsAAAsgByAFQQZsaiAAOwACIAFBAWohASADQdgCahCOCxogAiEADAEFIAZFDQQgCC8AAiEAIANBADYC4AIgAyAHNgLYAiADIABBCHQgAEEIdnJB//8DcTYC3AIgCiACEIsGCwsLCwsLC0EBIQAgBCAJIARBARCGAkEAQQAQhQYMAgsgBBCJAgtBACEACyADQZADaiQAIAAFQQELIQMLIAMLC6cQARB/QQEhAgJAAkACQAJAIAAvAAAiBEEIdCAEQQh2ckH//wNxQQFrDgMAAQIDCyMAQfABayICJAAgASgCCCIEKAIcIQYCQCABKAIMIgUgBSgCBCIFEIcGRQRAQQAhAAwBCyAEQdAEaiEDIAUgAC8AADsAACACIAEoAghB7AVBkAYgASgCEEHCqs26BEYbajYCnAEgAkEANgKYASACQgA3ApABIAJBDGoiByAALwACIgQEfyAAIARBCHQgBEEIdnJB//8DcWoFQaASCyAAQQRqELMFIAJBth42AgggAiADNgIEIAJBLGoiBCAHIAJBBGoQwAUgAkHUAGogBEEoENIMGiACQbceNgKMASACIAA2AoQBIAIgBUEEajYCgAEgAiABNgJ8IAIgAkGcAWo2AogBIAJB/ABqIQQDQAJAIAJB1ABqIgAQtgVFDQAgAkGgAWogABC3BSAEIAIoAqQBEKQLDQAgABC4BRoMAQsLIAJBoAFqIAJB1ABqQTwQ0gwaIAIgBjYC4AEgAkG2HjYC3AEgAkHIAWohAANAIAJBoAFqIgQQtgUEQCACKALgASEGIAJB6AFqIAQQtwUgAiACKALoATYC5AEgAkGQAWogBiACQeQBahCCARDaARoDQCACQaABahC4BSIEELYFRQ0CIAJB6AFqIAQQtwUgACACKALsARCkC0UNAAsMAQsLIAEoAgwhACACIAIpApQBQiCJNwKgASACQQA2AqgBIAVBAmogACACQaABahDbChogAigClAFBAEchACACQZABahAtCyACQfABaiQAIAAPC0EAIQIjAEGwAmsiAyQAAkAgASgCDCIFIAUoAgQiBBDXA0UNACAEIAAvAAA7AAAgBEECaiABIABBAmogABCnC0UNACADQgA3AY4CIANCADcBlAIgA0IANwGGAiADQQE6AIQCIANBADYCgAIgA0KBgICAEDcC+AEgAyADQfgBajYCxAEgBEEEaiABIABBBGogACADQcQBahCoCyABKAIIIQUgA0EBOgDQASADQQA2AswBIANCgYCAgBA3AsQBIANB1AFqQQBBIRDUDBogAC8AAiICBH8gACACQQh0IAJBCHZyQf//A3FqBUGgEgsgBUHQBGogA0HEAWoQqwUgA0EBOgCcASADQQA2ApgBIANCgYCAgBA3ApABIANBoAFqQQBBIRDUDBogAC8ABCICBH8gACACQQh0IAJBCHZyQf//A3FqBUGgEgsgA0HEAWogA0GQAWoQkQcgAyABKAIIQewFQZAGIAEoAhBBwqrNugRGG2o2AowBIAEoAgwiAigCLCIFBEAgBSgCDCELIAUoAhghCAsgA0GcAWohECACKAIIIQwgAigCBCENIAIoAhghDiAALwAGIQIgA0EANgJgIAMgAEEIajYCWCADQoCAgIAQNwNQIAMgAkEIdCACQQh2ckH//wNxNgJcIAMgA0HwAGogA0HQAGogA0H4AWpBth4QqQsiAigCGDYCaCADIAIpAhA3A2AgAyACKQIINwNYIAMgAikCADcDUCADQZwCaiIGIAIQkwcgBEEGaiEHIANBNGogBiACKAIUIAIoAhgQqQshD0F/IQRBACECAn8CQANAAkAgAygCXCEJIAMoAlgiCiAPKAIIRgRAIAkgDygCDEYNAQsgAygCUCERIAcgASgCDBDpCiIGRQ0CAkAgECAREOABRQ0AIAMgA0H4AWo2ApwCAn8gBkEAOwAAIApBoBIgCRsiCi8AAARAIAEoAgwiCRAhGiAKLwAAIgoEfyAAIApBCHQgCkEIdnJB//8DcWoFQaASCyABIAMoAowBIAMoApwCEKULBEAgCSAGIAlBARCGAkEAQQAQhQZBAQwCCyAJEIkCC0EAC0UNAAJ/IAEoAgwiBCgCLCIFRQRAQQAhCEEADAELIAUoAhghCCAFKAIMCyELIAQoAgghDCAEKAIEIQ0gBCgCGCEOIAIhBAsgAkEBaiECA0AgA0HQAGoQ1wUgAygCXEUNAiADIAMoAlA2ApwCIAMoAmQgA0GcAmpBABCFAUUNAAsMAQsLIARBf0YNAANAIAQgAkEBayICSARAIAcgBy8AACIAQQh0IABBCHZyQQFrIgBBCHQgAEGA/gNxQQh2cjsAAAwBCwsgASgCDCADIAU2AiQgAyAINgIsIAMgCzYCKCADIAMpAiQ3AwggAyAONgIwIAMgAykCLDcDECADIAw2AiAgAyANNgIcIAMgAykCHDcDACADEJsJIAcvAABBAEcMAQtBAAshAiADQZABahC2ARogA0HEAWoQtgEaIANB+AFqEC8LIANBsAJqJAAgAg8LIwBBIGsiBiQAAkAgASgCDCICIAIoAgQiAxCHBkUNACADIAAvAAA7AAAgAyAALwACOwACIABBBmoiBCAALwACIgJBCHQgAkEIdnJB//8DcUEBdGohByAEIQIDQCACIAdHBEAgASgCDEECQQEQggIiCEUNAiAIIAEgAiAAEKcLIAJBAmohAg0BDAILCyABKAIMIAEoAgghCCABKAIQIQkgAC8AAiECIAAvAAQhACAGQQA2AhwgBkEANgIQIAYgAEEIdCAAQQh2ckH//wNxNgIYQQEhBSAGIAQgAkEIdCACQQh2ckH//wNxQQF0ajYCFCAGIAYpAhQ3AwggBkEIaiAIQewFQZAGIAlBwqrNugRGG2oQpgshACABKAIMIQEgAyAAQQh0IABBgP4DcUEIdnI7AAQgAEGAgARJDQAgASABKAIYQQhyNgIYQQAhBQsgBkEgaiQAIAUhAgsgAguTFAEQf0EBIQICQAJAAkACQCAALwAAIgVBCHQgBUEIdnJB//8DcUEBaw4DAAECAwsjAEHwAWsiAiQAIAEoAggiBCgCHCEDAkAgASgCDCIFIAUoAgQiBRCHBkUEQEEAIQAMAQsgBEHQBGohBiAFIAAvAAA7AAAgAiABKAIIQewFQZAGIAEoAhBBwqrNugRGG2o2ApwBIAJBADYCmAEgAkIANwKQASACQQxqIgcgAC8AAiIEBH8gACAEQQh0IARBCHZyQf//A3FqBUGgEgsgAEEEahCzBSACQbYeNgIIIAIgBjYCBCACQSxqIgQgByACQQRqEMAFIAJB1ABqIARBKBDSDBogAkG3HjYCjAEgAiAANgKEASACIAVBBGo2AoABIAIgATYCfCACIAJBnAFqNgKIASACQfwAaiEEA0ACQCACQdQAaiIAELYFRQ0AIAJBoAFqIAAQtwUgBCACKAKkARCqCw0AIAAQuAUaDAELCyACQaABaiACQdQAakE8ENIMGiACIAM2AuABIAJBth42AtwBIAJByAFqIQADQCACQaABaiIEELYFBEAgAigC4AEhAyACQegBaiAEELcFIAIgAigC6AE2AuQBIAJBkAFqIAMgAkHkAWoQggEQ2gEaA0AgAkGgAWoQuAUiBBC2BUUNAiACQegBaiAEELcFIAAgAigC7AEQqgtFDQALDAELCyABKAIMIQAgAiACKQKUAUIgiTcCoAEgAkEANgKoASAFQQJqIAAgAkGgAWoQ2woaIAIoApQBQQBHIQAgAkGQAWoQLQsgAkHwAWokACAADwsjAEGAA2siAyQAAkAgASgCDCICIAIoAgQiBRApRQRAQQAhAgwBCyAFIAAvAAA7AAAgBUECaiABIABBAmogABCnCxogA0IANwHeAiADQgA3AeQCIANCADcB1gIgA0EBOgDUAkEAIQIgA0EANgLQAiADQoGAgIAQNwLIAiADQgA3AboCIANCADcBwAIgA0IANwGyAiADQQE6ALACIANBADYCrAIgA0KBgICAEDcCpAIgA0IANwGWAiADQgA3AZwCIANCADcBjgIgA0EBOgCMAiADQQA2AogCIANCgYCAgBA3AoACIAMgA0HIAmo2AswBIAVBBGogASAAQQRqIAAgA0HMAWoiBBCoCyADIANBpAJqNgLMASAFQQZqIAEgAEEGaiAAIAQQqAsgAyADQYACajYCzAEgBUEIaiABIABBCGogACAEEKgLAkACQAJAIAEoAgwiBCgCGCIGRQRAIAMtANQCQQFxRQ0BCyAGDQIgAy0AsAJBAUcNACADLQCMAg0BCyAEQQE2AhgMAQsgASgCCCEEIANBAToA2AEgA0EANgLUASADQoGAgIAQNwLMASADQdwBakEAQSEQ1AwaIAAvAAIiAgR/IAAgAkEIdCACQQh2ckH//wNxagVBoBILIARB0ARqIANBzAFqEKsFIANBAToApAEgA0EANgKgASADQoGAgIAQNwKYASADQagBakEAQSEQ1AwaIAAvAAYiAgR/IAAgAkEIdCACQQh2ckH//wNxagVBoBILIANBzAFqIANBmAFqEJEHIAMgASgCCEHsBUGQBiABKAIQQcKqzboERhtqNgKUASABKAIMIgIoAiwiBgRAIAYoAgwhCyAGKAIYIQcLIANBpAFqIRAgAigCCCEMIAIoAgQhDSACKAIYIQ4gAC8ACiECIANBADYCaCADIABBDGo2AmAgA0KAgICAEDcDWCADIAJBCHQg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CxoDQCAAIAAoAqgBIAAoArABaiIINgKoASAIIAAoAqwBRg0CIA8gCBDkC0UNAAsMAQsLIAkgCyAJQQEQhgJBAEEAEIUGQQEMAQsgCRCJAkEACyAEciEECwNAIABB2ABqIggQvQUgCBC2BUUNASAAKAJ4IABBqAFqIAgQtwVBDGogACgCqAEQ4AFFDQALDAALAAtBACEECyAAQZACaiQAIAJBIGokACAEQQFxBEAgByABIAdBARCGAkEAQQAQhQZBAQwCCyAHEIkCC0EACyECDAMLIAgQiQIMAQsgCBCJAgtBACECCyAGQYwBahAvCyAGQfACaiQAIAIFQQELDAULIAEgABC5CwwECyABIAAQgwsMAwsgASAAEIQLDAILIAEvAABBgAJGBH8jAEEQayICJAAgACgCDCIDIAMoAgQiAxDXAwR/IAMgAS8AADsAACADIAEvAAI7AAIgAiABLwACIgRBCHQgBEEIdnJB//8DcTYCDAJ/IAJBDGohBCADQQRqIgZBADYAACABKAAEBEAgACgCDCIDECEaIAAgASgABCIABH8gASAAQRh0IABBgP4DcUEIdHIgAEEIdkGA/gNxIABBGHZycmoFQaASCyAEELgLBEAgAyAGIANBARCGAkEAQQAQ/ghBAQwCCyADEIkCC0EACwVBAAsgAkEQaiQABUEBCyEDCyADCwuiDQILfwF+IAAvAABBgAJGBH8jAEHgAmsiAiQAIAEoAggiBCgCHCEHIAEoAgwiAyADKAIEIgUQKQRAIAUgAC8AADsAACACQgA3AbICIAJCADcBuAIgAkIANwGqAiACQQE6AKgCIAJBADYCpAIgAkKBgICAEDcCnAIgAC8AAiIDBH8gACADQQh0IANBCHZyQf//A3FqBUGgEgsgAC8ACCIDBH8gACADQQh0IANBCHZyQf//A3FqBUGgEgsgBEHQBGoiCSACQZwCahDqByACKAKsAiIDBEAgBSADQQh0IANBgP4DcUEIdnI7AAYgAkG4AWoiBCAALwACIgMEfyAAIANBCHQgA0EIdnJB//8DcWoFQaASCyAAQQhqIggvAAAiAwR/IAAgA0EIdCADQQh2ckH//wNxagVBoBILELMFIAJBth42AlwgAiAJNgJYIAJB9AFqIgMgBCACQdgAahDuByACQQA2AvABIAJCADcC6AEgBCADQSgQ0gwaIAIg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BH8gByAELwAAOwEAIARBAmohBCACQQFxBH8gASAHEMsJBUEACwVBAAshCiAGQQJxBEAgByAELwAAOwEIIAJBAnEEQCABIAdBCGoQywkhCAsgBEECaiEECyAGQQRxBH8gByAELwAAOwEQIARBAmohBCACQQRxBH8gASAHQRBqEMsJBUEACwVBAAshCyAGQQhxBEAgByAELwAAOwEYIAJBCHEEQCABIAdBGGoQywkhCQsgBEECaiEECyAALwAAQYAgSQ0AIAZBEHEEQCAKIAMgBCAFEMALIAEgAyAEIAUgAkEQEMELIARBAmohBAsgBkEgcQRAIAggAyAEIAUQwAsgASADIAQgBSACQSAQwQsgBEECaiEECyAGQcAAcQRAIAsgAyAEIAUQwAsgASADIAQgBSACQcAAEMELIARBAmohBAsgBkGAAXFFDQAgCSADIAQgBRDACyABIAMgBCAFIAJBgAEQwQsLIAdBIGokAAvtBwIIfwF+IwBBgAFrIgMkACAAQQA7AAAgARAhIQYgAyACKQIYNwMYIAMgAikCEDcDECADIAIpAgg3AwggAyACKQIANwMAAkACQCABIAYQkAJFDQAgAygCCCEIIAMgAykDGDcDeCADIAMpAxA3A3AgAyADKQMINwNoIAMgAykDADcDYCADQUBrIAMQwgtBfiEEQQAhAgNAAkACQCADKAJkIAMoAkRHDQAgAygCYCADKAJARw0AIAZBgARBgAIgCSAIIAdBA2xLckEBcSIEGzsAACACQf//A0sEQCABKAIYDQQgAUEINgIYDAQLIARFBEAgAyADKQMYNwN4IAMgAykDEDcDcCADIAMpAwgiCzcDaCADIAMpAwA3A2BBACECIAZBAmogASALpyIEQQAQngNFDQQgBkEEaiEFA0AgAiAERg0DIAUgAkEBdGogA0HgAGoiCBCgCy8BACIGQQh0IAZBCHZyOwAAIAJBAWohAiAIEL0BDAALAAsgAyADKQMYNwM4IAMgAykDEDcDMCADIAMpAwg3AyggAyADKQMANwMgIAEgBhAoRQ0DIAMgAykDODcDeCADIAMpAzA3A3AgAyADKQMoNwNoIAMgAykDIDcDYCADQUBrIANBIGoQwgtBACECQX4hBANAAkAgAygCZCADKAJERw0AIAMoAmAgAygCQEcNACAGQQJqIAEgAhCKBkUNBSACRQ0D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AkAgAiAAKAIQIgMEfyADBSAAENUMDQEgACgCEAsgACgCFCIEa0sEQCAAIAEgAiAAKAIkEQQAGgwBCwJAAkAgAkUgACgCUEEASHINACACIQMDQCABIANqIgVBAWstAABBCkcEQCADQQFrIgMNAQwCCwsgACABIAMgACgCJBEEACADSQ0CIAIgA2shAiAAKAIUIQQMAQsgASEFCyAEIAUgAhDSDBogACAAKAIUIAJqNgIUCwsLbwEFfyAAKAIAIgMsAABBMGsiAUEJSwRAQQAPCwNAQX8hBCACQcyZs+YATQRAQX8gASACQQpsIgVqIAEgBUH/////B3NLGyEECyAAIANBAWoiBTYCACADLAABIAQhAiAFIQNBMGsiAUEKSQ0ACyACC7oCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACEOIMCw8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAAt/AgF+A38CQCAAQoCAgIAQVARAIAAhAgwBCwNAIAFBAWsiASAAIABCCoAiAkIKfn2nQTByOgAAIABC/////58BViACIQANAAsLIAJQRQRAIAKnIQMDQCABQQFrIgEgAyADQQpuIgRBCmxrQTByOgAAIANBCUsgBCEDDQALCyABC2wBAX8jAEGAAmsiBSQAIARBgMAEcSACIANMckUEQCAFIAEgAiADayIDQYACIANBgAJJIgEbENQMGiABRQRAA0AgACAFQYACENwMIANBgAJrIgNB/wFLDQALCyAAIAUgAxDcDAsgBUGAAmokAAucGAMSfwF8A34jAEGwBGsiDCQAIAxBADYCLAJAIAG9IhlCAFMEQEEBIRBB4h0hEyABmiIBvSEZ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c2l4AHNldmVuAGVpZ2h0AG5pbmUAY29sb24Ac2VtaWNvbG9uAGxlc3MAZXF1YWwAZ3JlYXRlcgBxdWVzdGlvbgBhdABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAYnJhY2tldGxlZnQAYmFja3NsYXNoAGJyYWNrZXRyaWdodABhc2NpaWNpcmN1bQB1bmRlcnNjb3JlAGdyYXZlAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegBicmFjZWxlZnQAYmFyAGJyYWNlcmlnaHQAYXNjaWl0aWxkZQBBZGllcmVzaXMAQXJpbmcAQ2NlZGlsbGEARWFjdXRlAE50aWxkZQBPZGllcmVzaXMAVWRpZXJlc2lzAGFhY3V0ZQBhZ3JhdmUAYWNpcmN1bWZsZXgAYWRpZXJlc2lzAGF0aWxkZQBhcmluZwBjY2VkaWxsYQBlYWN1dGUAZWdyYXZlAGVjaXJjdW1mbGV4AGVkaWVyZXNpcwBpYWN1dGUAaWdyYXZlAGljaXJjdW1mbGV4AGlkaWVyZXNpcwBudGlsZGUAb2FjdXRlAG9ncmF2ZQBvY2lyY3VtZmxleABvZGllcmVzaXMAb3RpbGRlAHVhY3V0ZQB1Z3JhdmUAdWNpcmN1bWZsZXgAdWRpZXJlc2lzAGRhZ2dlcgBkZWdyZWUAY2VudABzdGVybGluZwBzZWN0aW9uAGJ1bGxldABwYXJhZ3JhcGgAZ2VybWFuZGJscwByZWdpc3RlcmVkAGNvcHlyaWdodAB0cmFkZW1hcmsAYWN1dGUAZGllcmVzaXMAbm90ZXF1YWwAQUUAT3NsYXNoAGluZmluaXR5AHBsdXNtaW51cwBsZXNzZXF1YWwAZ3JlYXRlcmVxdWFsAHllbgBtdQBwYXJ0aWFsZGlmZgBzdW1tYXRpb24AcHJvZHVjdABwaQBpbnRlZ3JhbABvcmRmZW1pbmluZQBvcmRtYXNjdWxpbmUAT21lZ2EAYWUAb3NsYXNoAHF1ZXN0aW9uZG93bgBleGNsYW1kb3duAGxvZ2ljYWxub3QAcmFkaWNhbABmbG9yaW4AYXBwcm94ZXF1YWwARGVsdGEAZ3VpbGxlbW90bGVmdABndWlsbGVtb3RyaWdodABlbGxpcHNpcwBub25icmVha2luZ3NwYWNlAEFncmF2ZQBBdGlsZGUAT3RpbGRlAE9FAG9lAGVuZGFzaABlbWRhc2gAcXVvdGVkYmxsZWZ0AHF1b3RlZGJscmlnaHQAcXVvdGVsZWZ0AHF1b3RlcmlnaHQAZGl2aWRlAGxvemVuZ2UAeWRpZXJlc2lzAFlkaWVyZXNpcwBmcmFjdGlvbgBjdXJyZW5jeQBndWlsc2luZ2xsZWZ0AGd1aWxzaW5nbHJpZ2h0AGZpAGZsAGRhZ2dlcmRibABwZXJpb2RjZW50ZXJlZABxdW90ZXNpbmdsYmFzZQBxdW90ZWRibGJhc2UAcGVydGhvdXNhbmQAQWNpcmN1bWZsZXgARWNpcmN1bWZsZXgAQWFjdXRlAEVkaWVyZXNpcwBFZ3JhdmUASWFjdXRlAEljaXJjdW1mbGV4AElkaWVyZXNpcwBJZ3JhdmUAT2FjdXRlAE9jaXJjdW1mbGV4AGFwcGxlAE9ncmF2ZQBVYWN1dGUAVWNpcmN1bWZsZXgAVWdyYXZlAGRvdGxlc3NpAGNpcmN1bWZsZXgAdGlsZGUAbWFjcm9uAGJyZXZlAGRvdGFjY2VudAByaW5nAGNlZGlsbGEAaHVuZ2FydW1sYXV0AG9nb25lawBjYXJvbgBMc2xhc2gAbHNsYXNoAFNjYXJvbgBzY2Fyb24AWmNhcm9uAHpjYXJvbgBicm9rZW5iYXIARXRoAGV0aABZYWN1dGUAeWFjdXRlAFRob3JuAHRob3JuAG1pbnVzAG11bHRpcGx5AG9uZXN1cGVyaW9yAHR3b3N1cGVyaW9yAHRocmVlc3VwZXJpb3IAb25laGFsZgBvbmVxdWFydGVyAHRocmVlcXVhcnRlcnMAZnJhbmMAR2JyZXZlAGdicmV2ZQBJZG90YWNjZW50AFNjZWRpbGxhAHNjZWRpbGxhAENhY3V0ZQBjYWN1dGUAQ2Nhcm9uAGNjYXJvbgBkY3JvYXQAQZQuC4YICAAAAA4AAAAfAAAAJQAAACwAAAA1AAAAQAAAAEcAAABPAAAAWQAAAGUAAABvAAAAegAAAIMAAACIAAAAjgAAAJUAAACcAAAAogAAAKcAAACrAAAArwAAALUAAAC6AAAAvwAAAMMAAADJAAAAzwAAANQAAADaAAAA5AAAAOkAAADvAAAA9wAAAAABAAADAQAABQEAAAcBAAAJAQAACwEAAA0BAAAPAQAAEQEAABMBAAAVAQAAFwEAABkBAAAbAQAAHQEAAB8BAAAhAQAAIwEAACUBAAAnAQAAKQEAACsBAAAtAQAALwEAADEBAAAzAQAANQEAADcBAABDAQAATQEAAFoBAABmAQAAcQEAAHcBAAB5AQAAewEAAH0BAAB/AQAAgQEAAIMBAACFAQAAhwEAAIkBAACLAQAAjQEAAI8BAACRAQAAkwEAAJUBAACXAQAAmQEAAJsBAACdAQAAnwEAAKEBAACjAQAApQEAAKcBAACpAQAAqwEAALUBAAC5AQAAxAEAAM8BAADZAQAA3wEAAOgBAADvAQAA9gEAAAACAAAKAgAAEQIAABgCAAAkAgAALgIAADUCAAA7AgAARAIAAEsCAABSAgAAXgIAAGgCAABvAgAAdgIAAIICAACMAgAAkwIAAJoCAAChAgAArQIAALcCAAC+AgAAxQIAAMwCAADYAgAA4gIAAOkCAADwAgAA9QIAAP4CAAAGAwAADQMAABcDAAAiAwAALQMAADcDAABBAwAARwMAAFADAABZAwAAXAMAAGMDAABsAwAAdgMAAIADAACNAwAAkQMAAJQDAACgAwAAqgMAALIDAAC1AwAAvgMAAMoDAADXAwAA3QMAAOADAADnAwAA9AMAAP8DAAAKBAAAEgQAABkEAAAlBAAAKwQAADkEAABIBAAAUQQAAGIEAABpBAAAcAQAAHcEAAB6BAAAfQQAAIQEAACLBAAAmAQAAKYEAACwBAAAuwQAAMIEAADKBAAA1AQAAN4EAADnBAAA8AQAAP4EAAANBQAAEAUAABMFAAAdBQAALAUAADsFAABIBQAAVAUAAGAFAABsBQAAcwUAAH0FAACEBQAAiwUAAJcFAAChBQAAqAUAAK8FAAC7BQAAwQUAAMgFAADPBQAA2wUAAOIFAADrBQAA9gUAAPwFAAADBgAACQYAABMGAAAYBgAAIAYAAC0GAAA0BgAAOgYAAEEGAABIBgAATwYAAFYGAABdBgAAZAYAAG4GAAByBgAAdgYAAH0GAACEBgAAigYAAJAGAACWBgAAnwYAAKsGAAC3BgAAxQYAAM0GAADYBgAA5gYAAOwGAADzBgAA+gYAAAUHAAAOBwAAFwcAAB4HAAAlBwAALAcAADMHAAA6BwBBpDYLrRF/AAAAAAAAAIAAAAD/AAAAAQAAAAABAAB/AQAAAgAAAIABAABPAgAAAwAAAFACAACvAgAABAAAALACAAD/AgAABQAAAAADAABvAwAABgAAAHADAAD/AwAABwAAAAAEAAD/BAAACQAAAAAFAAAvBQAACQAAADAFAACPBQAACgAAAJAFAAD/BQAACwAAAAAGAAD/BgAADQAAAAAHAABPBwAARwAAAFAHAAB/BwAADQAAAIAHAAC/BwAASAAAAMAHAAD/BwAADgAAAAAJAAB/CQAADwAAAIAJAAD/CQAAEAAAAAAKAAB/CgAAEQAAAIAKAAD/CgAAEgAAAAALAAB/CwAAEwAAAIALAAD/CwAAFAAAAAAMAAB/DAAAFQAAAIAMAAD/DAAAFgAAAAANAAB/DQAAFwAAAIANAAD/DQAASQAAAAAOAAB/DgAAGAAAAIAOAAD/DgAAGQAAAAAPAAD/DwAARgAAAAAQAACfEAAASgAAAKAQAAD/EAAAGgAAAAARAAD/EQAAHAAAAAASAAB/EwAASwAAAIATAACfEwAASwAAAKATAAD/EwAATAAAAAAUAAB/FgAATQAAAIAWAACfFgAATgAAAKAWAAD/FgAATwAAAAAXAAAfFwAAVAAAACAXAAA/FwAAVAAAAEAXAABfFwAAVAAAAGAXAAB/FwAAVAAAAIAXAAD/FwAAUAAAAAAYAACvGAAAUQAAAAAZAABPGQAAXQAAAFAZAAB/GQAAXgAAAIAZAADfGQAAXwAAAOAZAAD/GQAAUAAAAAAaAAAfGgAAYAAAAAAbAAB/GwAAGwAAAIAbAAC/GwAAcAAAAAAcAABPHAAAcQAAAFAcAAB/HAAAcgAAAAAdAAB/HQAABAAAAIAdAAC/HQAABAAAAMAdAAD/HQAABgAAAAAeAAD/HgAAHQAAAAAfAAD/HwAAHgAAAAAgAABvIAAAHwAAAHAgAACfIAAAIAAAAKAgAADPIAAAIQAAANAgAAD/IAAAIgAAAAAhAABPIQAAIwAAAFAhAACPIQAAJAAAAJAhAAD/IQAAJQAAAAAiAAD/IgAAJgAAAAAjAAD/IwAAJwAAAAAkAAA/JAAAKAAAAEAkAABfJAAAKQAAAGAkAAD/JAAAKgAAAAAlAAB/JQAAKwAAAIAlAACfJQAALAAAAKAlAAD/JQAALQAAAAAmAAD/JgAALgAAAAAnAAC/JwAALwAAAMAnAADvJwAAJgAAAPAnAAD/JwAAJQAAAAAoAAD/KAAAUgAAAAApAAB/KQAAJQAAAIApAAD/KQAAJgAAAAAqAAD/KgAAJgAAAAArAAD/KwAAJQAAAAAsAABfLAAAYQAAAGAsAAB/LAAAHQAAAIAsAAD/LAAACAAAAAAtAAAvLQAAGgAAADAtAAB/LQAAYgAAAIAtAADfLQAASwAAAOAtAAD/LQAACQAAAAAuAAB/LgAAHwAAAIAuAAD/LgAAOwAAAAAvAADfLwAAOwAAAPAvAAD/LwAAOwAAAAAwAAA/MAAAMAAAAEAwAACfMAAAMQAAAKAwAAD/MAAAMgAAAAAxAAAvMQAAMwAAADAxAACPMQAANAAAAJAxAACfMQAAOwAAAKAxAAC/MQAAMwAAAMAxAADvMQAAPQAAAPAxAAD/MQAAMgAAAAAyAAD/MgAANgAAAAAzAAD/MwAANwAAAAA0AAC/TQAAOwAAAMBNAAD/TQAAYwAAAABOAAD/nwAAOwAAAACgAACPpAAAUwAAAJCkAADPpAAAUwAAAAClAAA/pgAADAAAAECmAACfpgAACQAAAACnAAAfpwAABQAAACCnAAD/pwAAHQAAAACoAAAvqAAAZAAAAECoAAB/qAAANQAAAICoAADfqAAAcwAAAACpAAAvqQAAdAAAADCpAABfqQAAdQAAAACqAABfqgAAdgAAAACsAACv1wAAOAAAAADYAAD/3wAAOQAAAADgAAD/+AAAPAAAAAD5AAD/+gAAPQAAAAD7AABP+wAAPgAAAFD7AAD//QAAPwAAAAD+AAAP/gAAWwAAABD+AAAf/gAAQQAAACD+AAAv/gAAQAAAADD+AABP/gAAQQAAAFD+AABv/gAAQgAAAHD+AAD//gAAQwAAAAD/AADv/wAARAAAAPD/AAD//wAARQAAAAAAAQB/AAEAZQAAAIAAAQD/AAEAZQAAAAABAQA/AQEAZQAAAEABAQCPAQEAZgAAAJABAQDPAQEAdwAAANABAQD/AQEAeAAAAIACAQCfAgEAeQAAAKACAQDfAgEAeQAAAAADAQAvAwEAVQAAADADAQBPAwEAVgAAAIADAQCfAwEAZwAAAKADAQDfAwEAaAAAAAAEAQBPBAEAVwAAAFAEAQB/BAEAaQAAAIAEAQCvBAEAagAAAAAIAQA/CAEAawAAAAAJAQAfCQEAOgAAACAJAQA/CQEAeQAAAAAKAQBfCgEAbAAAAAAgAQD/IwEAbgAAAAAkAQB/JAEAbgAAAADQAQD/0AEAWAAAAADRAQD/0QEAWAAAAADSAQBP0gEAWAAAAADTAQBf0wEAbQAAAGDTAQB/0wEAbwAAAADUAQD/1wEAWQAAAADwAQAv8AEAegAAADDwAQCf8AEAegAAAAAAAgDfpgIAOwAAAAD4AgAf+gIAPQAAAAAADgB/AA4AXAAAAAABDgDvAQ4AWwAAAAAADwD9/w8AWgAAAAAAEAD9/xAAWgAAAAAAAAABAAAAAgAAAAMAAAAHAAAADQAAAB8AAAA9AAAAfwAAAPsAAAD9AQAA/QMAAPcHAAD9DwAA/x8AAP0/AADtfwAA8f8AAP//AQD7/wMA//8HAP3/DwD3/x8A/f8/APH/fwD9//8A2f//Afv//wPZ//8Hx///D/3//x/d//8/////fxkACwAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQAKChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEHhxwALIQ4AAAAAAAAAABkACw0ZGRkADQAAAgAJDgAAAAkADgAADgBBm8gACwEMAEGnyAALFRMAAAAAEwAAAAAJDAAAAAAADAAADABB1cgACwEQAEHhyAALFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABBj8kACwESAEGbyQALHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBB0skACw4aAAAAGhoaAAAAAAAACQBBg8oACwEUAEGPygALFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBvcoACwEWAEHJygALJxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgBBjMsACwLoAwBBmMwAC0VfAAAAYAAAAGEAAAAPAAAAYgAAAGMAAABkAAAAEQAAABIAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AQfTMAAtFDAAAAA0AAAAOAAAADwAAABAAAABuAAAAbwAAABEAAAASAAAAcAAAABMAAABxAAAAFAAAAHIAAABzAAAAdAAAAHUAAAB2AEHYzQALCnAlAADoAwAA6AMAQezNAAsBAQBBgs4ACxGAPwAAgD8AAAEAAAAAAAAAAQBBpM4ACwT/////AEG0zgALAgQmAEHIzgALAsQLAEHYzgALEXcAAAB4AAAAeQAAAHoAAAB7AEGAzwALywFyYXZhRVNBQlREQkNDTEJDIEZGQzJGRkNwYW1jUkxPQ0xBUENyYXZjIHR2Y0dJU0RUREJFQ0xCRUNTQkVtZ3BmcmF2ZnBzYWdGRURHZnlsZ1NPUEdCVVNHcmF2Z3htZGhkYWVoYWVoaHh0bWhSQVZIRlRTSm5yZWthY29sSFNUTEhUQU1weGFtR1JFTWF0ZW1SQVZNVExDUHRzb3BwZXJweGlic1RBVFMgR1ZTWE1EVmFlaHZ4dG12R1JPVlJBVlZlbWFuMi9TT5AtAQ==");Y13={subset:S13},a_={Subset:"SUBSET"}});var Gzu={};ju(Gzu,{WorkerUrl:()=>O13});var O13;var Hzu=g(()=>{xk0();VL();m4();O13=import.meta.url?new URL(import.meta.url):void 0;typeof window>"u"&&typeof self<"u"&&(self.onmessage=async(u)=>{switch(u.data.command){case a_.Subset:let B=await kO(u.data.arrayBuffer,u.data.codePoints);self.postMessage(B,{transfer:[B]});break}})});var qzu={};ju(qzu,{toBase64:()=>i_,subsetToBinary:()=>kO,subsetToBase64:()=>Qzu,Commands:()=>a_});var lzu=g(()=>{xk0();VL();m4()});var Wk0={};ju(Wk0,{getTEXtChunk:()=>Yk0,encodePngMetadata:()=>Lzu,decodePngMetadata:()=>Xzu});var Sk0=g(()=>{Rk0();VL();m4()});var xzu=N1((vzu,Tk0)=>{/*!
pica
https://github.com/nodeca/pica
*/(function(u){if(typeof vzu==="object"&&typeof Tk0<"u")Tk0.exports=u();else if(typeof define==="function"&&define.amd)define([],u);else{var B;if(typeof window<"u")B=window;else if(typeof global<"u")B=global;else if(typeof self<"u")B=self;else B=this;B.pica=u()}})(function(){var u,B,E;return function(){function A(C,D,F){function U(f,M){if(!D[f]){if(!C[f]){var b=rG;if(!M&&b)return b(f,!0);if(z)return z(f,!0);var Z=Error("Cannot find module '"+f+"'");throw Z.code="MODULE_NOT_FOUND",Z}var J=D[f]={exports:{}};C[f][0].call(J.exports,function(K){var w=C[f][1][K];return U(w||K)},J,J.exports,A,C,D,F)}return D[f].exports}for(var z=rG,k=0;k<F.length;k++)U(F[k]);return U}return A}()({1:[function(A,C,D){var F=A("inherits"),U=A("multimath"),z=A("./mm_unsharp_mask"),k=A("./mm_resize");function f(M){var b=M||[],Z={js:b.indexOf("js")>=0,wasm:b.indexOf("wasm")>=0};U.call(this,Z),this.features={js:Z.js,wasm:Z.wasm&&this.has_wasm()},this.use(z),this.use(k)}F(f,U),f.prototype.resizeAndUnsharp=function(b,Z){var J=this.resize(b,Z);if(b.unsharpAmount)this.unsharp_mask(J,b.toWidth,b.toHeight,b.unsharpAmount,b.unsharpRadius,b.unsharpThreshold);return J},C.exports=f},{"./mm_resize":4,"./mm_unsharp_mask":9,inherits:19,multimath:20}],2:[function(A,C,D){function F(k){return k<0?0:k>255?255:k}function U(k,f,M,b,Z,J){var K,w,Q,G,H,l,q,L,v,x,S,W=0,T=0;for(v=0;v<b;v++){H=0;for(x=0;x<Z;x++){l=J[H++],q=J[H++],L=W+l*4|0,K=w=Q=G=0;for(;q>0;q--)S=J[H++],G=G+S*k[L+3]|0,Q=Q+S*k[L+2]|0,w=w+S*k[L+1]|0,K=K+S*k[L]|0,L=L+4|0;f[T+3]=F(G+8192>>14),f[T+2]=F(Q+8192>>14),f[T+1]=F(w+8192>>14),f[T]=F(K+8192>>14),T=T+b*4|0}T=(v+1)*4|0,W=(v+1)*M*4|0}}function z(k,f,M,b,Z,J){var K,w,Q,G,H,l,q,L,v,x,S,W=0,T=0;for(v=0;v<b;v++){H=0;for(x=0;x<Z;x++){l=J[H++],q=J[H++],L=W+l*4|0,K=w=Q=G=0;for(;q>0;q--)S=J[H++],G=G+S*k[L+3]|0,Q=Q+S*k[L+2]|0,w=w+S*k[L+1]|0,K=K+S*k[L]|0,L=L+4|0;f[T+3]=F(G+8192>>14),f[T+2]=F(Q+8192>>14),f[T+1]=F(w+8192>>14),f[T]=F(K+8192>>14),T=T+b*4|0}T=(v+1)*4|0,W=(v+1)*M*4|0}}C.exports={convolveHorizontally:U,convolveVertically:z}},{}],3:[function(A,C,D){C.exports="AGFzbQEAAAAADAZkeWxpbmsAAAAAAAEXA2AAAGAGf39/f39/AGAHf39/f39/fwACDwEDZW52Bm1lbW9yeQIAAAMEAwABAgYGAX8AQQALB1cFEV9fd2FzbV9jYWxsX2N0b3JzAAAIY29udm9sdmUAAQpjb252b2x2ZUhWAAIMX19kc29faGFuZGxlAwAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAAK7AMDAwABC8YDAQ9/AkAgA0UNACAERQ0AA0AgDCENQQAhE0EAIQcDQCAHQQJqIQYCfyAHQQF0IAVqIgcuAQIiFEUEQEGAwAAhCEGAwAAhCUGAwAAhCkGAwAAhCyAGDAELIBIgBy4BAGohCEEAIQsgFCEHQQAhDiAGIQlBACEPQQAhEANAIAUgCUEBdGouAQAiESAAIAhBAnRqKAIAIgpBGHZsIBBqIRAgCkH/AXEgEWwgC2ohCyAKQRB2Qf8BcSARbCAPaiEPIApBCHZB/wFxIBFsIA5qIQ4gCEEBaiEIIAlBAWohCSAHQQFrIgcNAAsgC0GAQGshCCAOQYBAayEJIA9BgEBrIQogEEGAQGshCyAGIBRqCyEHIAEgDUECdGogCUEOdSIGQf8BIAZB/wFIGyIGQQAgBkEAShtBCHRBgP4DcSAKQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EQdEGAgPwHcSALQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EYdHJyIAhBDnUiBkH/ASAGQf8BSBsiBkEAIAZBAEobcjYCACADIA1qIQ0gE0EBaiITIARHDQALIAxBAWoiDCACbCESIAMgDEcNAAsLCx4AQQAgAiADIAQgBSAAEAEgAkEAIAQgBSAGIAEQAQs="},{}],4:[function(A,C,D){C.exports={name:"resize",fn:A("./resize"),wasm_fn:A("./resize_wasm"),wasm_src:A("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(A,C,D){var F=A("./resize_filter_gen"),U=A("./convolve").convolveHorizontally,z=A("./convolve").convolveVertically;function k(f,M,b){var Z=3,J=M*b*4|0;while(Z<J)f[Z]=255,Z=Z+4|0}C.exports=function(M){var{src:b,width:Z,height:J,toWidth:K,toHeight:w}=M,Q=M.scaleX||M.toWidth/M.width,G=M.scaleY||M.toHeight/M.height,H=M.offsetX||0,l=M.offsetY||0,q=M.dest||new Uint8Array(K*w*4),L=typeof M.quality>"u"?3:M.quality,v=M.alpha||!1,x=F(L,Z,K,Q,H),S=F(L,J,w,G,l),W=new Uint8Array(K*J*4);if(U(b,W,Z,J,K,x),z(W,q,J,K,w,S),!v)k(q,K,w);return q}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(A,C,D){var F=A("./resize_filter_info"),U=14;function z(k){return Math.round(k*((1<<U)-1))}C.exports=function(f,M,b,Z,J){var K=F[f].filter,w=1/Z,Q=Math.min(1,Z),G=F[f].win/Q,H,l,q,L,v,x,S,W,T,R,Y,h,I,O,V,j,i,a=Math.floor((G+1)*2),$=new Int16Array((a+2)*b),m=0,y=!$.subarray||!$.set;for(H=0;H<b;H++){l=(H+0.5)*w+J,q=Math.max(0,Math.floor(l-G)),L=Math.min(M-1,Math.ceil(l+G)),v=L-q+1,x=new Float32Array(v),S=new Int16Array(v),W=0;for(T=q,R=0;T<=L;T++,R++)Y=K((T+0.5-l)*Q),W+=Y,x[R]=Y;h=0;for(R=0;R<x.length;R++)I=x[R]/W,h+=I,S[R]=z(I);S[b>>1]+=z(1-h),O=0;while(O<S.length&&S[O]===0)O++;if(O<S.length){V=S.length-1;while(V>0&&S[V]===0)V--;if(j=q+O,i=V-O+1,$[m++]=j,$[m++]=i,!y)$.set(S.subarray(O,V+1),m),m+=i;else for(R=O;R<=V;R++)$[m++]=S[R]}else $[m++]=0,$[m++]=0}return $}},{"./resize_filter_info":7}],7:[function(A,C,D){C.exports=[{win:0.5,filter:function(U){return U>=-0.5&&U<0.5?1:0}},{win:1,filter:function(U){if(U<=-1||U>=1)return 0;if(U>-0.00000011920929&&U<0.00000011920929)return 1;var z=U*Math.PI;return Math.sin(z)/z*(0.54+0.46*Math.cos(z/1))}},{win:2,filter:function(U){if(U<=-2||U>=2)return 0;if(U>-0.00000011920929&&U<0.00000011920929)return 1;var z=U*Math.PI;return Math.sin(z)/z*Math.sin(z/2)/(z/2)}},{win:3,filter:function(U){if(U<=-3||U>=3)return 0;if(U>-0.00000011920929&&U<0.00000011920929)return 1;var z=U*Math.PI;return Math.sin(z)/z*Math.sin(z/3)/(z/3)}}]},{}],8:[function(A,C,D){var F=A("./resize_filter_gen");function U(M,b,Z){var J=3,K=b*Z*4|0;while(J<K)M[J]=255,J=J+4|0}function z(M){return new Uint8Array(M.buffer,0,M.byteLength)}var k=!0;try{k=new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]===1}catch(M){}function f(M,b,Z){if(k){b.set(z(M),Z);return}for(var J=Z,K=0;K<M.length;K++){var w=M[K];b[J++]=w&255,b[J++]=w>>8&255}}C.exports=function(b){var{src:Z,width:J,height:K,toWidth:w,toHeight:Q}=b,G=b.scaleX||b.toWidth/b.width,H=b.scaleY||b.toHeight/b.height,l=b.offsetX||0,q=b.offsetY||0,L=b.dest||new Uint8Array(w*Q*4),v=typeof b.quality>"u"?3:b.quality,x=b.alpha||!1,S=F(v,J,w,G,l),W=F(v,K,Q,H,q),T=0,R=this.__align(T+Math.max(Z.byteLength,L.byteLength)),Y=this.__align(R+K*w*4),h=this.__align(Y+S.byteLength),I=h+W.byteLength,O=this.__instance("resize",I),V=new Uint8Array(this.__memory.buffer),j=new Uint32Array(this.__memory.buffer),i=new Uint32Array(Z.buffer);j.set(i),f(S,V,Y),f(W,V,h);var a=O.exports.convolveHV||O.exports._convolveHV;a(Y,h,R,J,K,w,Q);var $=new Uint32Array(L.buffer);if($.set(new Uint32Array(this.__memory.buffer,0,Q*w)),!x)U(L,w,Q);return L}},{"./resize_filter_gen":6}],9:[function(A,C,D){C.exports={name:"unsharp_mask",fn:A("./unsharp_mask"),wasm_fn:A("./unsharp_mask_wasm"),wasm_src:A("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":10,"./unsharp_mask_wasm":11,"./unsharp_mask_wasm_base64":12}],10:[function(A,C,D){var F=A("glur/mono16");function U(z,k,f){var M=k*f,b=new Uint16Array(M),Z,J,K,w;for(var Q=0;Q<M;Q++)Z=z[4*Q],J=z[4*Q+1],K=z[4*Q+2],w=Z>=J&&Z>=K?Z:J>=K&&J>=Z?J:K,b[Q]=w<<8;return b}C.exports=function(k,f,M,b,Z,J){var K,w,Q,G,H;if(b===0||Z<0.5)return;if(Z>2)Z=2;var l=U(k,f,M),q=new Uint16Array(l);F(q,f,M,Z);var L=b/100*4096+0.5|0,v=J<<8,x=f*M;for(var S=0;S<x;S++)if(K=l[S],G=K-q[S],Math.abs(G)>=v)w=K+(L*G+2048>>12),w=w>65280?65280:w,w=w<0?0:w,K=K!==0?K:1,Q=(w<<12)/K|0,H=S*4,k[H]=k[H]*Q+2048>>12,k[H+1]=k[H+1]*Q+2048>>12,k[H+2]=k[H+2]*Q+2048>>12}},{"glur/mono16":18}],11:[function(A,C,D){C.exports=function(U,z,k,f,M,b){if(f===0||M<0.5)return;if(M>2)M=2;var Z=z*k,J=Z*4,K=Z*2,w=Z*2,Q=Math.max(z,k)*4,G=32,H=0,l=J,q=l+K,L=q+w,v=L+w,x=v+Q,S=this.__instance("unsharp_mask",J+K+w*2+Q+G,{exp:Math.exp}),W=new Uint32Array(U.buffer),T=new Uint32Array(this.__memory.buffer);T.set(W);var R=S.exports.hsv_v16||S.exports._hsv_v16;R(H,l,z,k),R=S.exports.blurMono16||S.exports._blurMono16,R(l,q,L,v,x,z,k,M),R=S.exports.unsharp||S.exports._unsharp,R(H,H,l,q,z,k,f,b),W.set(new Uint32Array(this.__memory.buffer,0,Z))}},{}],12:[function(A,C,D){C.exports="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"},{}],13:[function(A,C,D){var F=100;function U(z,k){this.create=z,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=k||2000}U.prototype.acquire=function(){var z=this,k;if(this.available.length!==0)k=this.available.pop();else k=this.create(),k.id=this.lastId++,k.release=function(){return z.release(k)};return this.acquired[k.id]=k,k},U.prototype.release=function(z){var k=this;if(delete this.acquired[z.id],z.lastUsed=Date.now(),this.available.push(z),this.timeoutId===0)this.timeoutId=setTimeout(function(){return k.gc()},F)},U.prototype.gc=function(){var z=this,k=Date.now();if(this.available=this.available.filter(function(f){if(k-f.lastUsed>z.idle)return f.destroy(),!1;return!0}),this.available.length!==0)this.timeoutId=setTimeout(function(){return z.gc()},F);else this.timeoutId=0},C.exports=U},{}],14:[function(A,C,D){var F=2;C.exports=function(z,k,f,M,b,Z){var J=f/z,K=M/k,w=(2*Z+F+1)/b;if(w>0.5)return[[f,M]];var Q=Math.ceil(Math.log(Math.min(J,K))/Math.log(w));if(Q<=1)return[[f,M]];var G=[];for(var H=0;H<Q;H++){var l=Math.round(Math.pow(Math.pow(z,Q-H-1)*Math.pow(f,H+1),1/Q)),q=Math.round(Math.pow(Math.pow(k,Q-H-1)*Math.pow(M,H+1),1/Q));G.push([l,q])}return G}},{}],15:[function(A,C,D){var F=0.00001;function U(k){var f=Math.round(k);if(Math.abs(k-f)<F)return f;return Math.floor(k)}function z(k){var f=Math.round(k);if(Math.abs(k-f)<F)return f;return Math.ceil(k)}C.exports=function(f){var M=f.toWidth/f.width,b=f.toHeight/f.height,Z=U(f.srcTileSize*M)-2*f.destTileBorder,J=U(f.srcTileSize*b)-2*f.destTileBorder;if(Z<1||J<1)throw Error("Internal error in pica: target tile width/height is too small.");var K,w,Q,G,H,l,q=[],L;for(G=0;G<f.toHeight;G+=J)for(Q=0;Q<f.toWidth;Q+=Z){if(K=Q-f.destTileBorder,K<0)K=0;if(H=Q+Z+f.destTileBorder-K,K+H>=f.toWidth)H=f.toWidth-K;if(w=G-f.destTileBorder,w<0)w=0;if(l=G+J+f.destTileBorder-w,w+l>=f.toHeight)l=f.toHeight-w;L={toX:K,toY:w,toWidth:H,toHeight:l,toInnerX:Q,toInnerY:G,toInnerWidth:Z,toInnerHeight:J,offsetX:K/M-U(K/M),offsetY:w/b-U(w/b),scaleX:M,scaleY:b,x:U(K/M),y:U(w/b),width:z(H/M),height:z(l/b)},q.push(L)}return q}},{}],16:[function(A,C,D){function F(U){return Object.prototype.toString.call(U)}C.exports.isCanvas=function(z){var k=F(z);return k==="[object HTMLCanvasElement]"||k==="[object OffscreenCanvas]"||k==="[object Canvas]"},C.exports.isImage=function(z){return F(z)==="[object HTMLImageElement]"},C.exports.isImageBitmap=function(z){return F(z)==="[object ImageBitmap]"},C.exports.limiter=function(z){var k=0,f=[];function M(){if(k<z&&f.length)k++,f.shift()()}return function(Z){return new Promise(function(J,K){f.push(function(){Z().then(function(w){J(w),k--,M()},function(w){K(w),k--,M()})}),M()})}},C.exports.cib_quality_name=function(z){switch(z){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},C.exports.cib_support=function(z){return Promise.resolve().then(function(){if(typeof createImageBitmap>"u")return!1;var k=z(100,100);return createImageBitmap(k,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then(function(f){var M=f.width===10;return f.close(),k=null,M})}).catch(function(){return!1})},C.exports.worker_offscreen_canvas_support=function(){return new Promise(function(z,k){if(typeof OffscreenCanvas>"u"){z(!1);return}function f(Z){if(typeof createImageBitmap>"u"){Z.postMessage(!1);return}Promise.resolve().then(function(){var J=new OffscreenCanvas(10,10),K=J.getContext("2d");return K.rect(0,0,1,1),createImageBitmap(J,0,0,1,1)}).then(function(){return Z.postMessage(!0)},function(){return Z.postMessage(!1)})}var M=btoa("(".concat(f.toString(),")(self);")),b=new Worker("data:text/javascript;base64,".concat(M));b.onmessage=function(Z){return z(Z.data)},b.onerror=k}).then(function(z){return z},function(){return!1})},C.exports.can_use_canvas=function(z){var k=!1;try{var f=z(2,1),M=f.getContext("2d"),b=M.createImageData(2,1);if(b.data[0]=12,b.data[1]=23,b.data[2]=34,b.data[3]=255,b.data[4]=45,b.data[5]=56,b.data[6]=67,b.data[7]=255,M.putImageData(b,0,0),b=null,b=M.getImageData(0,0,2,1),b.data[0]===12&&b.data[1]===23&&b.data[2]===34&&b.data[3]===255&&b.data[4]===45&&b.data[5]===56&&b.data[6]===67&&b.data[7]===255)k=!0}catch(Z){}return k},C.exports.cib_can_use_region=function(){return new Promise(function(z){if(typeof createImageBitmap>"u"){z(!1);return}var k=new Image;k.src="data:image/jpeg;base64,/9j/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAYAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAEAwMEAwMEBAMEBQQEBQYKBwYGBgYNCQoICg8NEBAPDQ8OERMYFBESFxIODxUcFRcZGRsbGxAUHR8dGh8YGhsa/9sAQwEEBQUGBQYMBwcMGhEPERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa/8IAEQgAAQACAwERAAIRAQMRAf/EABQAAQAAAAAAAAAAAAAAAAAAAAf/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAF/P//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQH//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z",k.onload=function(){createImageBitmap(k,0,0,k.width,k.height).then(function(f){if(f.width===k.width&&f.height===k.height)z(!0);else z(!1)},function(){return z(!1)})},k.onerror=function(){return z(!1)}})}},{}],17:[function(A,C,D){C.exports=function(){var F=A("./mathlib"),U;onmessage=function(k){var f=k.data.opts,M=!1;if(!f.src&&f.srcBitmap){var b=new OffscreenCanvas(f.width,f.height),Z=b.getContext("2d",{alpha:Boolean(f.alpha)});Z.drawImage(f.srcBitmap,0,0),f.src=Z.getImageData(0,0,f.width,f.height).data,b.width=b.height=0,b=null,f.srcBitmap.close(),f.srcBitmap=null}if(!U)U=new F(k.data.features);var J=U.resizeAndUnsharp(f);if(M){var K=new ImageData(new Uint8ClampedArray(J),f.toWidth,f.toHeight),w=new OffscreenCanvas(f.toWidth,f.toHeight),Q=w.getContext("2d",{alpha:Boolean(f.alpha)});Q.putImageData(K,0,0),createImageBitmap(w).then(function(G){postMessage({bitmap:G},[G])})}else postMessage({data:J},[J.buffer])}}},{"./mathlib":1}],18:[function(A,C,D){var F,U,z,k,f,M,b,Z;function J(Q){if(Q<0.5)Q=0.5;var G=Math.exp(0.527076)/Q,H=Math.exp(-G),l=Math.exp(-2*G),q=(1-H)*(1-H)/(1+2*G*H-l);return F=q,U=q*(G-1)*H,z=q*(G+1)*H,k=-q*l,f=2*H,M=-l,b=(F+U)/(1-f-M),Z=(z+k)/(1-f-M),new Float32Array([F,U,z,k,f,M,b,Z])}function K(Q,G,H,l,q,L){var v,x,S,W,T,R,Y,h,I,O,V,j,i,a;for(I=0;I<L;I++){R=I*q,Y=I,h=0,v=Q[R],T=v*l[6],W=T,V=l[0],j=l[1],i=l[4],a=l[5];for(O=0;O<q;O++)x=Q[R],S=x*V+v*j+W*i+T*a,T=W,W=S,v=x,H[h]=W,h++,R++;R--,h--,Y+=L*(q-1),v=Q[R],T=v*l[7],W=T,x=v,V=l[2],j=l[3];for(O=q-1;O>=0;O--)S=x*V+v*j+W*i+T*a,T=W,W=S,v=x,x=Q[R],G[Y]=H[h]+W,R--,h--,Y-=L}}function w(Q,G,H,l){if(!l)return;var q=new Uint16Array(Q.length),L=new Float32Array(Math.max(G,H)),v=J(l);K(Q,q,L,v,G,H,l),K(q,Q,L,v,H,G,l)}C.exports=w},{}],19:[function(A,C,D){if(typeof Object.create==="function")C.exports=function(U,z){if(z)U.super_=z,U.prototype=Object.create(z.prototype,{constructor:{value:U,enumerable:!1,writable:!0,configurable:!0}})};else C.exports=function(U,z){if(z){U.super_=z;var k=function(){};k.prototype=z.prototype,U.prototype=new k,U.prototype.constructor=U}}},{}],20:[function(A,C,D){var F=A("object-assign"),U=A("./lib/base64decode"),z=A("./lib/wa_detect"),k={js:!0,wasm:!0};function f(M){if(!(this instanceof f))return new f(M);var b=F({},k,M||{});if(this.options=b,this.__cache={},this.__init_promise=null,this.__modules=b.modules||{},this.__memory=null,this.__wasm={},this.__isLE=new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]===1,!this.options.js&&!this.options.wasm)throw Error('mathlib: at least "js" or "wasm" should be enabled')}f.prototype.has_wasm=z,f.prototype.use=function(M){if(this.__modules[M.name]=M,this.options.wasm&&this.has_wasm()&&M.wasm_fn)this[M.name]=M.wasm_fn;else this[M.name]=M.fn;return this},f.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(Error(`mathlib: only "wasm" was enabled, but it's not supported`));var M=this;return this.__init_promise=Promise.all(Object.keys(M.__modules).map(function(b){var Z=M.__modules[b];if(!M.options.wasm||!M.has_wasm()||!Z.wasm_fn)return null;if(M.__wasm[b])return null;return WebAssembly.compile(M.__base64decode(Z.wasm_src)).then(function(J){M.__wasm[b]=J})})).then(function(){return M}),this.__init_promise},f.prototype.__base64decode=U,f.prototype.__reallocate=function(b){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(b/65536)}),this.__memory;var Z=this.__memory.buffer.byteLength;if(Z<b)this.__memory.grow(Math.ceil((b-Z)/65536));return this.__memory},f.prototype.__instance=function(b,Z,J){if(Z)this.__reallocate(Z);if(!this.__wasm[b]){var K=this.__modules[b];this.__wasm[b]=new WebAssembly.Module(this.__base64decode(K.wasm_src))}if(!this.__cache[b]){var w={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})};this.__cache[b]=new WebAssembly.Instance(this.__wasm[b],{env:F(w,J||{})})}return this.__cache[b]},f.prototype.__align=function(b,Z){Z=Z||8;var J=b%Z;return b+(J?Z-J:0)},C.exports=f},{"./lib/base64decode":21,"./lib/wa_detect":22,"object-assign":23}],21:[function(A,C,D){var F="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";C.exports=function(z){var k=z.replace(/[\r\n=]/g,""),f=k.length,M=new Uint8Array(f*3>>2),b=0,Z=0;for(var J=0;J<f;J++){if(J%4===0&&J)M[Z++]=b>>16&255,M[Z++]=b>>8&255,M[Z++]=b&255;b=b<<6|F.indexOf(k.charAt(J))}var K=f%4*6;if(K===0)M[Z++]=b>>16&255,M[Z++]=b>>8&255,M[Z++]=b&255;else if(K===18)M[Z++]=b>>10&255,M[Z++]=b>>2&255;else if(K===12)M[Z++]=b>>4&255;return M}},{}],22:[function(A,C,D){var F;C.exports=function(){if(typeof F<"u")return F;if(F=!1,typeof WebAssembly>"u")return F;try{var z=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),k=new WebAssembly.Module(z),f=new WebAssembly.Instance(k,{});if(f.exports.test(4)!==0)F=!0;return F}catch(M){}return F}},{}],23:[function(A,C,D){var F=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;function k(M){if(M===null||M===void 0)throw TypeError("Object.assign cannot be called with null or undefined");return Object(M)}function f(){try{if(!Object.assign)return!1;var M=new String("abc");if(M[5]="de",Object.getOwnPropertyNames(M)[0]==="5")return!1;var b={};for(var Z=0;Z<10;Z++)b["_"+String.fromCharCode(Z)]=Z;var J=Object.getOwnPropertyNames(b).map(function(w){return b[w]});if(J.join("")!=="0123456789")return!1;var K={};if("abcdefghijklmnopqrst".split("").forEach(function(w){K[w]=w}),Object.keys(Object.assign({},K)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(w){return!1}}C.exports=f()?Object.assign:function(M,b){var Z,J=k(M),K;for(var w=1;w<arguments.length;w++){Z=Object(arguments[w]);for(var Q in Z)if(U.call(Z,Q))J[Q]=Z[Q];if(F){K=F(Z);for(var G=0;G<K.length;G++)if(z.call(Z,K[G]))J[K[G]]=Z[K[G]]}}return J}},{}],24:[function(A,C,D){var F=arguments[3],U=arguments[4],z=arguments[5],k=JSON.stringify;C.exports=function(f,M){var b,Z=Object.keys(z);for(var J=0,K=Z.length;J<K;J++){var w=Z[J],Q=z[w].exports;if(Q===f||Q&&Q.default===f){b=w;break}}if(!b){b=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var G={};for(var J=0,K=Z.length;J<K;J++){var w=Z[J];G[w]=w}U[b]=["function(require,module,exports){"+f+"(self); }",G]}var H=Math.floor(Math.pow(16,8)*Math.random()).toString(16),l={};l[b]=b,U[H]=["function(require,module,exports){var f = require("+k(b)+");(f.default ? f.default : f)(self);}",l];var q={};L(H);function L(R){q[R]=!0;for(var Y in U[R][1]){var h=U[R][1][Y];if(!q[h])L(h)}}var v="("+F+")({"+Object.keys(q).map(function(R){return k(R)+":["+U[R][0]+","+k(U[R][1])+"]"}).join(",")+"},{},["+k(H)+"])",x=window.URL||window.webkitURL||window.mozURL||window.msURL,S=new Blob([v],{type:"text/javascript"});if(M&&M.bare)return S;var W=x.createObjectURL(S),T=new Worker(W);return T.objectURL=W,T}},{}],"/index.js":[function(A,C,D){function F(O,V){return M(O)||f(O,V)||z(O,V)||U()}function U(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function z(O,V){if(!O)return;if(typeof O==="string")return k(O,V);var j=Object.prototype.toString.call(O).slice(8,-1);if(j==="Object"&&O.constructor)j=O.constructor.name;if(j==="Map"||j==="Set")return Array.from(O);if(j==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(j))return k(O,V)}function k(O,V){if(V==null||V>O.length)V=O.length;for(var j=0,i=Array(V);j<V;j++)i[j]=O[j];return i}function f(O,V){var j=O==null?null:typeof Symbol<"u"&&O[Symbol.iterator]||O["@@iterator"];if(j==null)return;var i=[],a=!0,$=!1,m,y;try{for(j=j.call(O);!(a=(m=j.next()).done);a=!0)if(i.push(m.value),V&&i.length===V)break}catch(r){$=!0,y=r}finally{try{if(!a&&j.return!=null)j.return()}finally{if($)throw y}}return i}function M(O){if(Array.isArray(O))return O}var b=A("object-assign"),Z=A("webworkify"),J=A("./lib/mathlib"),K=A("./lib/pool"),w=A("./lib/utils"),Q=A("./lib/worker"),G=A("./lib/stepper"),H=A("./lib/tiler"),l={},q=!1;try{if(typeof navigator<"u"&&navigator.userAgent)q=navigator.userAgent.indexOf("Safari")>=0}catch(O){}var L=1;if(typeof navigator<"u")L=Math.min(navigator.hardwareConcurrency||1,4);var v={tile:1024,concurrency:L,features:["js","wasm","ww"],idle:2000,createCanvas:function(V,j){var i=document.createElement("canvas");return i.width=V,i.height=j,i}},x={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},S=!1,W=!1,T=!1,R=!1,Y=!1;function h(){return{value:Z(Q),destroy:function(){if(this.value.terminate(),typeof window<"u"){var V=window.URL||window.webkitURL||window.mozURL||window.msURL;if(V&&V.revokeObjectURL&&this.value.objectURL)V.revokeObjectURL(this.value.objectURL)}}}}function I(O){if(!(this instanceof I))return new I(O);this.options=b({},v,O||{});var V="lk_".concat(this.options.concurrency);if(this.__limit=l[V]||w.limiter(this.options.concurrency),!l[V])l[V]=this.__limit;this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}I.prototype.init=function(){var O=this;if(this.__initPromise)return this.__initPromise;if(typeof ImageData<"u"&&typeof Uint8ClampedArray<"u")try{new ImageData(new Uint8ClampedArray(400),10,10),S=!0}catch(r){}if(typeof ImageBitmap<"u")if(ImageBitmap.prototype&&ImageBitmap.prototype.close)W=!0;else this.debug("ImageBitmap does not support .close(), disabled");var V=this.options.features.slice();if(V.indexOf("all")>=0)V=["cib","wasm","js","ww"];if(this.__requested_features=V,this.__mathlib=new J(V),V.indexOf("ww")>=0){if(typeof window<"u"&&"Worker"in window)try{var j=A("webworkify")(function(){});j.terminate(),this.features.ww=!0;var i="wp_".concat(JSON.stringify(this.options));if(l[i])this.__workersPool=l[i];else this.__workersPool=new K(h,this.options.idle),l[i]=this.__workersPool}catch(r){}}var a=this.__mathlib.init().then(function(r){b(O.features,r.features)}),$;if(!W)$=Promise.resolve(!1);else $=w.cib_support(this.options.createCanvas).then(function(r){if(O.features.cib&&V.indexOf("cib")<0){O.debug("createImageBitmap() resize supported, but disabled by config");return}if(V.indexOf("cib")>=0)O.features.cib=r});T=w.can_use_canvas(this.options.createCanvas);var m;if(W&&S&&V.indexOf("ww")!==-1)m=w.worker_offscreen_canvas_support();else m=Promise.resolve(!1);m=m.then(function(r){R=r});var y=w.cib_can_use_region().then(function(r){Y=r});return this.__initPromise=Promise.all([a,$,m,y]).then(function(){return O}),this.__initPromise},I.prototype.__invokeResize=function(O,V){var j=this;return V.__mathCache=V.__mathCache||{},Promise.resolve().then(function(){if(!j.features.ww)return{data:j.__mathlib.resizeAndUnsharp(O,V.__mathCache)};return new Promise(function(i,a){var $=j.__workersPool.acquire();if(V.cancelToken)V.cancelToken.catch(function(y){return a(y)});$.value.onmessage=function(y){if($.release(),y.data.err)a(y.data.err);else i(y.data)};var m=[];if(O.src)m.push(O.src.buffer);if(O.srcBitmap)m.push(O.srcBitmap);$.value.postMessage({opts:O,features:j.__requested_features,preload:{wasm_nodule:j.__mathlib.__}},m)})})},I.prototype.__extractTileData=function(O,V,j,i,a){if(this.features.ww&&R&&(w.isCanvas(V)||Y))return this.debug("Create tile for OffscreenCanvas"),createImageBitmap(i.srcImageBitmap||V,O.x,O.y,O.width,O.height).then(function(y){return a.srcBitmap=y,a});if(w.isCanvas(V)){if(!i.srcCtx)i.srcCtx=V.getContext("2d",{alpha:Boolean(j.alpha)});return this.debug("Get tile pixel data"),a.src=i.srcCtx.getImageData(O.x,O.y,O.width,O.height).data,a}this.debug("Draw tile imageBitmap/image to temporary canvas");var $=this.options.createCanvas(O.width,O.height),m=$.getContext("2d",{alpha:Boolean(j.alpha)});return m.globalCompositeOperation="copy",m.drawImage(i.srcImageBitmap||V,O.x,O.y,O.width,O.height,0,0,O.width,O.height),this.debug("Get tile pixel data"),a.src=m.getImageData(0,0,O.width,O.height).data,$.width=$.height=0,a},I.prototype.__landTileData=function(O,V,j){var i;if(this.debug("Convert raw rgba tile result to ImageData"),V.bitmap)return j.toCtx.drawImage(V.bitmap,O.toX,O.toY),null;if(S)i=new ImageData(new Uint8ClampedArray(V.data),O.toWidth,O.toHeight);else if(i=j.toCtx.createImageData(O.toWidth,O.toHeight),i.data.set)i.data.set(V.data);else for(var a=i.data.length-1;a>=0;a--)i.data[a]=V.data[a];if(this.debug("Draw tile"),q)j.toCtx.putImageData(i,O.toX,O.toY,O.toInnerX-O.toX,O.toInnerY-O.toY,O.toInnerWidth+0.00001,O.toInnerHeight+0.00001);else j.toCtx.putImageData(i,O.toX,O.toY,O.toInnerX-O.toX,O.toInnerY-O.toY,O.toInnerWidth,O.toInnerHeight);return null},I.prototype.__tileAndResize=function(O,V,j){var i=this,a={srcCtx:null,srcImageBitmap:null,isImageBitmapReused:!1,toCtx:null},$=function(y){return i.__limit(function(){if(j.canceled)return j.cancelToken;var r={width:y.width,height:y.height,toWidth:y.toWidth,toHeight:y.toHeight,scaleX:y.scaleX,scaleY:y.scaleY,offsetX:y.offsetX,offsetY:y.offsetY,quality:j.quality,alpha:j.alpha,unsharpAmount:j.unsharpAmount,unsharpRadius:j.unsharpRadius,unsharpThreshold:j.unsharpThreshold};return i.debug("Invoke resize math"),Promise.resolve(r).then(function(_){return i.__extractTileData(y,O,j,a,_)}).then(function(_){return i.debug("Invoke resize math"),i.__invokeResize(_,j)}).then(function(_){if(j.canceled)return j.cancelToken;return a.srcImageData=null,i.__landTileData(y,_,a)})})};return Promise.resolve().then(function(){if(a.toCtx=V.getContext("2d",{alpha:Boolean(j.alpha)}),w.isCanvas(O))return null;if(w.isImageBitmap(O))return a.srcImageBitmap=O,a.isImageBitmapReused=!0,null;if(w.isImage(O)){if(!W)return null;return i.debug("Decode image via createImageBitmap"),createImageBitmap(O).then(function(m){a.srcImageBitmap=m}).catch(function(m){return null})}throw Error('Pica: ".from" should be Image, Canvas or ImageBitmap')}).then(function(){if(j.canceled)return j.cancelToken;i.debug("Calculate tiles");var m=H({width:j.width,height:j.height,srcTileSize:i.options.tile,toWidth:j.toWidth,toHeight:j.toHeight,destTileBorder:j.__destTileBorder}),y=m.map(function(_){return $(_)});function r(_){if(_.srcImageBitmap){if(!_.isImageBitmapReused)_.srcImageBitmap.close();_.srcImageBitmap=null}}return i.debug("Process tiles"),Promise.all(y).then(function(){return i.debug("Finished!"),r(a),V},function(_){throw r(a),_})})},I.prototype.__processStages=function(O,V,j,i){var a=this;if(i.canceled)return i.cancelToken;var $=O.shift(),m=F($,2),y=m[0],r=m[1],_=O.length===0;i=b({},i,{toWidth:y,toHeight:r,quality:_?i.quality:Math.min(1,i.quality)});var e;if(!_)e=this.options.createCanvas(y,r);return this.__tileAndResize(V,_?j:e,i).then(function(){if(_)return j;return i.width=y,i.height=r,a.__processStages(O,e,j,i)}).then(function(p){if(e)e.width=e.height=0;return p})},I.prototype.__resizeViaCreateImageBitmap=function(O,V,j){var i=this,a=V.getContext("2d",{alpha:Boolean(j.alpha)});return this.debug("Resize via createImageBitmap()"),createImageBitmap(O,{resizeWidth:j.toWidth,resizeHeight:j.toHeight,resizeQuality:w.cib_quality_name(j.quality)}).then(function($){if(j.canceled)return j.cancelToken;if(!j.unsharpAmount)return a.drawImage($,0,0),$.close(),a=null,i.debug("Finished!"),V;i.debug("Unsharp result");var m=i.options.createCanvas(j.toWidth,j.toHeight),y=m.getContext("2d",{alpha:Boolean(j.alpha)});y.drawImage($,0,0),$.close();var r=y.getImageData(0,0,j.toWidth,j.toHeight);return i.__mathlib.unsharp_mask(r.data,j.toWidth,j.toHeight,j.unsharpAmount,j.unsharpRadius,j.unsharpThreshold),a.putImageData(r,0,0),m.width=m.height=0,r=y=m=a=null,i.debug("Finished!"),V})},I.prototype.resize=function(O,V,j){var i=this;this.debug("Start resize...");var a=b({},x);if(!isNaN(j))a=b(a,{quality:j});else if(j)a=b(a,j);if(a.toWidth=V.width,a.toHeight=V.height,a.width=O.naturalWidth||O.width,a.height=O.naturalHeight||O.height,V.width===0||V.height===0)return Promise.reject(Error("Invalid output size: ".concat(V.width,"x").concat(V.height)));if(a.unsharpRadius>2)a.unsharpRadius=2;if(a.canceled=!1,a.cancelToken)a.cancelToken=a.cancelToken.then(function(m){throw a.canceled=!0,m},function(m){throw a.canceled=!0,m});var $=3;return a.__destTileBorder=Math.ceil(Math.max($,2.5*a.unsharpRadius|0)),this.init().then(function(){if(a.canceled)return a.cancelToken;if(i.features.cib)return i.__resizeViaCreateImageBitmap(O,V,a);if(!T){var m=Error("Pica: cannot use getImageData on canvas, make sure fingerprinting protection isn't enabled");throw m.code="ERR_GET_IMAGE_DATA",m}var y=G(a.width,a.height,a.toWidth,a.toHeight,i.options.tile,a.__destTileBorder);return i.__processStages(y,O,V,a)})},I.prototype.resizeBuffer=function(O){var V=this,j=b({},x,O);return this.init().then(function(){return V.__mathlib.resizeAndUnsharp(j)})},I.prototype.toBlob=function(O,V,j){return V=V||"image/png",new Promise(function(i){if(O.toBlob){O.toBlob(function(r){return i(r)},V,j);return}if(O.convertToBlob){i(O.convertToBlob({type:V,quality:j}));return}var a=atob(O.toDataURL(V,j).split(",")[1]),$=a.length,m=new Uint8Array($);for(var y=0;y<$;y++)m[y]=a.charCodeAt(y);i(new Blob([m],{type:V}))})},I.prototype.debug=function(){},C.exports=I},{"./lib/mathlib":1,"./lib/pool":13,"./lib/stepper":14,"./lib/tiler":15,"./lib/utils":16,"./lib/worker":17,"object-assign":23,webworkify:24}]},{},[])("/index.js")})});var Izu={};ju(Izu,{default:()=>r13});function Wzu(u,B){var E={};return B.forEach(function(A){if(Object.prototype.hasOwnProperty.call(u,A))E[A]=u[A]}),E}function P13(u){return Wzu(u,["alpha","unsharpAmount","unsharpRadius","unsharpThreshold","cancelToken"])}function Szu(u){var B={exports:{}};return u(B,B.exports),B.exports}function m_(u){throw Error('Could not dynamically require "'+u+'". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.')}function Rzu(u){return this._getUint8Array(u.blob).then(function(B){if(u.is_jpeg=$_.is_jpeg(B),!u.is_jpeg)return Promise.resolve(u);u.orig_blob=u.blob;try{var E,A;if($_.jpeg_exif_tags_each(B,function(D){if(D.ifd===0&&D.tag===274&&Array.isArray(D.value))return u.orientation=D.value[0]||1,E=D.is_big_endian,A=D.data_offset,!1}),A){var C=E?new Uint8Array([0,1]):new Uint8Array([1,0]);u.blob=new Blob([B.slice(0,A),C,B.slice(A+2)],{type:"image/jpeg"})}}catch(D){}return u})}function Tzu(u){if(!u.is_jpeg)return Promise.resolve(u);var B=u.orientation-1;if(!B)return Promise.resolve(u);var E;if(B&4)E=this.pica.options.createCanvas(u.out_canvas.height,u.out_canvas.width);else E=this.pica.options.createCanvas(u.out_canvas.width,u.out_canvas.height);var A=E.getContext("2d");if(A.save(),B&1)A.transform(-1,0,0,1,E.width,0);if(B&2)A.transform(-1,0,0,-1,E.width,E.height);if(B&4)A.transform(0,1,1,0,0,0);return A.drawImage(u.out_canvas,0,0),A.restore(),u.out_canvas.width=u.out_canvas.height=0,u.out_canvas=E,Promise.resolve(u)}function Ozu(u){if(!u.is_jpeg)return Promise.resolve(u);return Promise.all([this._getUint8Array(u.blob),this._getUint8Array(u.out_blob)]).then(function(B){var E=B[0],A=B[1];if(!$_.is_jpeg(E))return Promise.resolve(u);var C=[];return $_.jpeg_segments_each(E,function(D){if(D.code===218)return!1;C.push(D)}),C=C.filter(function(D){if(D.code===226)return!1;if(D.code>=224&&D.code<240)return!0;if(D.code===254)return!0;return!1}).map(function(D){return E.slice(D.offset,D.offset+D.length)}),u.out_blob=new Blob([A.slice(0,2)].concat(C).concat([A.slice(20)]),{type:"image/jpeg"}),u})}function V13(u){u.before("_blob_to_image",Rzu),u.after("_transform",Tzu),u.after("_create_blob",Ozu)}function _7(u){if(!(this instanceof _7))return new _7(u);u=u||{},this.pica=u.pica||Yzu({}),this.initialized=!1,this.utils=Ok0}var I13=function(B){var E;for(var A=1;A<arguments.length;A++){E=Object(arguments[A]);for(var C in E)if(Object.prototype.hasOwnProperty.call(E,C))B[C]=E[C]}return B},j13,N13,Ok0,Yzu,$_,h13,i13,a13,m13,$13,y13,r13;var Pzu=g(()=>{/*! image-blob-reduce 3.0.1 https://github.com/nodeca/image-blob-reduce @license MIT */j13=Wzu,N13=P13,Ok0={assign:I13,pick:j13,pick_pica_resize_options:N13};/*!
pica
https://github.com/nodeca/pica
*/Yzu=Szu(function(u,B){(function(E){u.exports=E()})(function(){return function(){function E(A,C,D){function F(k,f){if(!C[k]){if(!A[k]){var M=typeof m_=="function"&&m_;if(!f&&M)return M(k,!0);if(U)return U(k,!0);var b=Error("Cannot find module '"+k+"'");throw b.code="MODULE_NOT_FOUND",b}var Z=C[k]={exports:{}};A[k][0].call(Z.exports,function(J){var K=A[k][1][J];return F(K||J)},Z,Z.exports,E,A,C,D)}return C[k].exports}for(var U=typeof m_=="function"&&m_,z=0;z<D.length;z++)F(D[z]);return F}return E}()({1:[function(E,A,C){var D=E("inherits"),F=E("multimath"),U=E("./mm_unsharp_mask"),z=E("./mm_resize");function k(f){var M=f||[],b={js:M.indexOf("js")>=0,wasm:M.indexOf("wasm")>=0};F.call(this,b),this.features={js:b.js,wasm:b.wasm&&this.has_wasm()},this.use(U),this.use(z)}D(k,F),k.prototype.resizeAndUnsharp=function(M,b){var Z=this.resize(M,b);if(M.unsharpAmount)this.unsharp_mask(Z,M.toWidth,M.toHeight,M.unsharpAmount,M.unsharpRadius,M.unsharpThreshold);return Z},A.exports=k},{"./mm_resize":4,"./mm_unsharp_mask":9,inherits:19,multimath:20}],2:[function(E,A,C){function D(z){return z<0?0:z>255?255:z}function F(z,k,f,M,b,Z){var J,K,w,Q,G,H,l,q,L,v,x,S=0,W=0;for(L=0;L<M;L++){G=0;for(v=0;v<b;v++){H=Z[G++],l=Z[G++],q=S+H*4|0,J=K=w=Q=0;for(;l>0;l--)x=Z[G++],Q=Q+x*z[q+3]|0,w=w+x*z[q+2]|0,K=K+x*z[q+1]|0,J=J+x*z[q]|0,q=q+4|0;k[W+3]=D(Q+8192>>14),k[W+2]=D(w+8192>>14),k[W+1]=D(K+8192>>14),k[W]=D(J+8192>>14),W=W+M*4|0}W=(L+1)*4|0,S=(L+1)*f*4|0}}function U(z,k,f,M,b,Z){var J,K,w,Q,G,H,l,q,L,v,x,S=0,W=0;for(L=0;L<M;L++){G=0;for(v=0;v<b;v++){H=Z[G++],l=Z[G++],q=S+H*4|0,J=K=w=Q=0;for(;l>0;l--)x=Z[G++],Q=Q+x*z[q+3]|0,w=w+x*z[q+2]|0,K=K+x*z[q+1]|0,J=J+x*z[q]|0,q=q+4|0;k[W+3]=D(Q+8192>>14),k[W+2]=D(w+8192>>14),k[W+1]=D(K+8192>>14),k[W]=D(J+8192>>14),W=W+M*4|0}W=(L+1)*4|0,S=(L+1)*f*4|0}}A.exports={convolveHorizontally:F,convolveVertically:U}},{}],3:[function(E,A,C){A.exports="AGFzbQEAAAAADAZkeWxpbmsAAAAAAAEXA2AAAGAGf39/f39/AGAHf39/f39/fwACDwEDZW52Bm1lbW9yeQIAAAMEAwABAgYGAX8AQQALB1cFEV9fd2FzbV9jYWxsX2N0b3JzAAAIY29udm9sdmUAAQpjb252b2x2ZUhWAAIMX19kc29faGFuZGxlAwAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAAK7AMDAwABC8YDAQ9/AkAgA0UNACAERQ0AA0AgDCENQQAhE0EAIQcDQCAHQQJqIQYCfyAHQQF0IAVqIgcuAQIiFEUEQEGAwAAhCEGAwAAhCUGAwAAhCkGAwAAhCyAGDAELIBIgBy4BAGohCEEAIQsgFCEHQQAhDiAGIQlBACEPQQAhEANAIAUgCUEBdGouAQAiESAAIAhBAnRqKAIAIgpBGHZsIBBqIRAgCkH/AXEgEWwgC2ohCyAKQRB2Qf8BcSARbCAPaiEPIApBCHZB/wFxIBFsIA5qIQ4gCEEBaiEIIAlBAWohCSAHQQFrIgcNAAsgC0GAQGshCCAOQYBAayEJIA9BgEBrIQogEEGAQGshCyAGIBRqCyEHIAEgDUECdGogCUEOdSIGQf8BIAZB/wFIGyIGQQAgBkEAShtBCHRBgP4DcSAKQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EQdEGAgPwHcSALQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EYdHJyIAhBDnUiBkH/ASAGQf8BSBsiBkEAIAZBAEobcjYCACADIA1qIQ0gE0EBaiITIARHDQALIAxBAWoiDCACbCESIAMgDEcNAAsLCx4AQQAgAiADIAQgBSAAEAEgAkEAIAQgBSAGIAEQAQs="},{}],4:[function(E,A,C){A.exports={name:"resize",fn:E("./resize"),wasm_fn:E("./resize_wasm"),wasm_src:E("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(E,A,C){var D=E("./resize_filter_gen"),F=E("./convolve").convolveHorizontally,U=E("./convolve").convolveVertically;function z(k,f,M){var b=3,Z=f*M*4|0;while(b<Z)k[b]=255,b=b+4|0}A.exports=function(f){var{src:M,width:b,height:Z,toWidth:J,toHeight:K}=f,w=f.scaleX||f.toWidth/f.width,Q=f.scaleY||f.toHeight/f.height,G=f.offsetX||0,H=f.offsetY||0,l=f.dest||new Uint8Array(J*K*4),q=typeof f.quality>"u"?3:f.quality,L=f.alpha||!1,v=D(q,b,J,w,G),x=D(q,Z,K,Q,H),S=new Uint8Array(J*Z*4);if(F(M,S,b,Z,J,v),U(S,l,Z,J,K,x),!L)z(l,J,K);return l}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(E,A,C){var D=E("./resize_filter_info"),F=14;function U(z){return Math.round(z*((1<<F)-1))}A.exports=function(k,f,M,b,Z){var J=D[k].filter,K=1/b,w=Math.min(1,b),Q=D[k].win/w,G,H,l,q,L,v,x,S,W,T,R,Y,h,I,O,V,j,i=Math.floor((Q+1)*2),a=new Int16Array((i+2)*M),$=0,m=!a.subarray||!a.set;for(G=0;G<M;G++){H=(G+0.5)*K+Z,l=Math.max(0,Math.floor(H-Q)),q=Math.min(f-1,Math.ceil(H+Q)),L=q-l+1,v=new Float32Array(L),x=new Int16Array(L),S=0;for(W=l,T=0;W<=q;W++,T++)R=J((W+0.5-H)*w),S+=R,v[T]=R;Y=0;for(T=0;T<v.length;T++)h=v[T]/S,Y+=h,x[T]=U(h);x[M>>1]+=U(1-Y),I=0;while(I<x.length&&x[I]===0)I++;if(I<x.length){O=x.length-1;while(O>0&&x[O]===0)O--;if(V=l+I,j=O-I+1,a[$++]=V,a[$++]=j,!m)a.set(x.subarray(I,O+1),$),$+=j;else for(T=I;T<=O;T++)a[$++]=x[T]}else a[$++]=0,a[$++]=0}return a}},{"./resize_filter_info":7}],7:[function(E,A,C){A.exports=[{win:0.5,filter:function(F){return F>=-0.5&&F<0.5?1:0}},{win:1,filter:function(F){if(F<=-1||F>=1)return 0;if(F>-0.00000011920929&&F<0.00000011920929)return 1;var U=F*Math.PI;return Math.sin(U)/U*(0.54+0.46*Math.cos(U/1))}},{win:2,filter:function(F){if(F<=-2||F>=2)return 0;if(F>-0.00000011920929&&F<0.00000011920929)return 1;var U=F*Math.PI;return Math.sin(U)/U*Math.sin(U/2)/(U/2)}},{win:3,filter:function(F){if(F<=-3||F>=3)return 0;if(F>-0.00000011920929&&F<0.00000011920929)return 1;var U=F*Math.PI;return Math.sin(U)/U*Math.sin(U/3)/(U/3)}}]},{}],8:[function(E,A,C){var D=E("./resize_filter_gen");function F(f,M,b){var Z=3,J=M*b*4|0;while(Z<J)f[Z]=255,Z=Z+4|0}function U(f){return new Uint8Array(f.buffer,0,f.byteLength)}var z=!0;try{z=new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]===1}catch(f){}function k(f,M,b){if(z){M.set(U(f),b);return}for(var Z=b,J=0;J<f.length;J++){var K=f[J];M[Z++]=K&255,M[Z++]=K>>8&255}}A.exports=function(M){var{src:b,width:Z,height:J,toWidth:K,toHeight:w}=M,Q=M.scaleX||M.toWidth/M.width,G=M.scaleY||M.toHeight/M.height,H=M.offsetX||0,l=M.offsetY||0,q=M.dest||new Uint8Array(K*w*4),L=typeof M.quality>"u"?3:M.quality,v=M.alpha||!1,x=D(L,Z,K,Q,H),S=D(L,J,w,G,l),W=0,T=this.__align(W+Math.max(b.byteLength,q.byteLength)),R=this.__align(T+J*K*4),Y=this.__align(R+x.byteLength),h=Y+S.byteLength,I=this.__instance("resize",h),O=new Uint8Array(this.__memory.buffer),V=new Uint32Array(this.__memory.buffer),j=new Uint32Array(b.buffer);V.set(j),k(x,O,R),k(S,O,Y);var i=I.exports.convolveHV||I.exports._convolveHV;i(R,Y,T,Z,J,K,w);var a=new Uint32Array(q.buffer);if(a.set(new Uint32Array(this.__memory.buffer,0,w*K)),!v)F(q,K,w);return q}},{"./resize_filter_gen":6}],9:[function(E,A,C){A.exports={name:"unsharp_mask",fn:E("./unsharp_mask"),wasm_fn:E("./unsharp_mask_wasm"),wasm_src:E("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":10,"./unsharp_mask_wasm":11,"./unsharp_mask_wasm_base64":12}],10:[function(E,A,C){var D=E("glur/mono16");function F(U,z,k){var f=z*k,M=new Uint16Array(f),b,Z,J,K;for(var w=0;w<f;w++)b=U[4*w],Z=U[4*w+1],J=U[4*w+2],K=b>=Z&&b>=J?b:Z>=J&&Z>=b?Z:J,M[w]=K<<8;return M}A.exports=function(z,k,f,M,b,Z){var J,K,w,Q,G;if(M===0||b<0.5)return;if(b>2)b=2;var H=F(z,k,f),l=new Uint16Array(H);D(l,k,f,b);var q=M/100*4096+0.5|0,L=Z<<8,v=k*f;for(var x=0;x<v;x++)if(J=H[x],Q=J-l[x],Math.abs(Q)>=L)K=J+(q*Q+2048>>12),K=K>65280?65280:K,K=K<0?0:K,J=J!==0?J:1,w=(K<<12)/J|0,G=x*4,z[G]=z[G]*w+2048>>12,z[G+1]=z[G+1]*w+2048>>12,z[G+2]=z[G+2]*w+2048>>12}},{"glur/mono16":18}],11:[function(E,A,C){A.exports=function(F,U,z,k,f,M){if(k===0||f<0.5)return;if(f>2)f=2;var b=U*z,Z=b*4,J=b*2,K=b*2,w=Math.max(U,z)*4,Q=32,G=0,H=Z,l=H+J,q=l+K,L=q+K,v=L+w,x=this.__instance("unsharp_mask",Z+J+K*2+w+Q,{exp:Math.exp}),S=new Uint32Array(F.buffer),W=new Uint32Array(this.__memory.buffer);W.set(S);var T=x.exports.hsv_v16||x.exports._hsv_v16;T(G,H,U,z),T=x.exports.blurMono16||x.exports._blurMono16,T(H,l,q,L,v,U,z,f),T=x.exports.unsharp||x.exports._unsharp,T(G,G,H,l,U,z,k,M),S.set(new Uint32Array(this.__memory.buffer,0,b))}},{}],12:[function(E,A,C){A.exports="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"},{}],13:[function(E,A,C){var D=100;function F(U,z){this.create=U,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=z||2000}F.prototype.acquire=function(){var U=this,z;if(this.available.length!==0)z=this.available.pop();else z=this.create(),z.id=this.lastId++,z.release=function(){return U.release(z)};return this.acquired[z.id]=z,z},F.prototype.release=function(U){var z=this;if(delete this.acquired[U.id],U.lastUsed=Date.now(),this.available.push(U),this.timeoutId===0)this.timeoutId=setTimeout(function(){return z.gc()},D)},F.prototype.gc=function(){var U=this,z=Date.now();if(this.available=this.available.filter(function(k){if(z-k.lastUsed>U.idle)return k.destroy(),!1;return!0}),this.available.length!==0)this.timeoutId=setTimeout(function(){return U.gc()},D);else this.timeoutId=0},A.exports=F},{}],14:[function(E,A,C){var D=2;A.exports=function(U,z,k,f,M,b){var Z=k/U,J=f/z,K=(2*b+D+1)/M;if(K>0.5)return[[k,f]];var w=Math.ceil(Math.log(Math.min(Z,J))/Math.log(K));if(w<=1)return[[k,f]];var Q=[];for(var G=0;G<w;G++){var H=Math.round(Math.pow(Math.pow(U,w-G-1)*Math.pow(k,G+1),1/w)),l=Math.round(Math.pow(Math.pow(z,w-G-1)*Math.pow(f,G+1),1/w));Q.push([H,l])}return Q}},{}],15:[function(E,A,C){var D=0.00001;function F(z){var k=Math.round(z);if(Math.abs(z-k)<D)return k;return Math.floor(z)}function U(z){var k=Math.round(z);if(Math.abs(z-k)<D)return k;return Math.ceil(z)}A.exports=function(k){var f=k.toWidth/k.width,M=k.toHeight/k.height,b=F(k.srcTileSize*f)-2*k.destTileBorder,Z=F(k.srcTileSize*M)-2*k.destTileBorder;if(b<1||Z<1)throw Error("Internal error in pica: target tile width/height is too small.");var J,K,w,Q,G,H,l=[],q;for(Q=0;Q<k.toHeight;Q+=Z)for(w=0;w<k.toWidth;w+=b){if(J=w-k.destTileBorder,J<0)J=0;if(G=w+b+k.destTileBorder-J,J+G>=k.toWidth)G=k.toWidth-J;if(K=Q-k.destTileBorder,K<0)K=0;if(H=Q+Z+k.destTileBorder-K,K+H>=k.toHeight)H=k.toHeight-K;q={toX:J,toY:K,toWidth:G,toHeight:H,toInnerX:w,toInnerY:Q,toInnerWidth:b,toInnerHeight:Z,offsetX:J/f-F(J/f),offsetY:K/M-F(K/M),scaleX:f,scaleY:M,x:F(J/f),y:F(K/M),width:U(G/f),height:U(H/M)},l.push(q)}return l}},{}],16:[function(E,A,C){function D(F){return Object.prototype.toString.call(F)}A.exports.isCanvas=function(U){var z=D(U);return z==="[object HTMLCanvasElement]"||z==="[object OffscreenCanvas]"||z==="[object Canvas]"},A.exports.isImage=function(U){return D(U)==="[object HTMLImageElement]"},A.exports.isImageBitmap=function(U){return D(U)==="[object ImageBitmap]"},A.exports.limiter=function(U){var z=0,k=[];function f(){if(z<U&&k.length)z++,k.shift()()}return function(b){return new Promise(function(Z,J){k.push(function(){b().then(function(K){Z(K),z--,f()},function(K){J(K),z--,f()})}),f()})}},A.exports.cib_quality_name=function(U){switch(U){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},A.exports.cib_support=function(U){return Promise.resolve().then(function(){if(typeof createImageBitmap>"u")return!1;var z=U(100,100);return createImageBitmap(z,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then(function(k){var f=k.width===10;return k.close(),z=null,f})}).catch(function(){return!1})},A.exports.worker_offscreen_canvas_support=function(){return new Promise(function(U,z){if(typeof OffscreenCanvas>"u"){U(!1);return}function k(b){if(typeof createImageBitmap>"u"){b.postMessage(!1);return}Promise.resolve().then(function(){var Z=new OffscreenCanvas(10,10),J=Z.getContext("2d");return J.rect(0,0,1,1),createImageBitmap(Z,0,0,1,1)}).then(function(){return b.postMessage(!0)},function(){return b.postMessage(!1)})}var f=btoa("(".concat(k.toString(),")(self);")),M=new Worker("data:text/javascript;base64,".concat(f));M.onmessage=function(b){return U(b.data)},M.onerror=z}).then(function(U){return U},function(){return!1})},A.exports.can_use_canvas=function(U){var z=!1;try{var k=U(2,1),f=k.getContext("2d"),M=f.createImageData(2,1);if(M.data[0]=12,M.data[1]=23,M.data[2]=34,M.data[3]=255,M.data[4]=45,M.data[5]=56,M.data[6]=67,M.data[7]=255,f.putImageData(M,0,0),M=null,M=f.getImageData(0,0,2,1),M.data[0]===12&&M.data[1]===23&&M.data[2]===34&&M.data[3]===255&&M.data[4]===45&&M.data[5]===56&&M.data[6]===67&&M.data[7]===255)z=!0}catch(b){}return z},A.exports.cib_can_use_region=function(){return new Promise(function(U){if(typeof createImageBitmap>"u"){U(!1);return}var z=new Image;z.src="data:image/jpeg;base64,/9j/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAYAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAEAwMEAwMEBAMEBQQEBQYKBwYGBgYNCQoICg8NEBAPDQ8OERMYFBESFxIODxUcFRcZGRsbGxAUHR8dGh8YGhsa/9sAQwEEBQUGBQYMBwcMGhEPERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa/8IAEQgAAQACAwERAAIRAQMRAf/EABQAAQAAAAAAAAAAAAAAAAAAAAf/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAF/P//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQH//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z",z.onload=function(){createImageBitmap(z,0,0,z.width,z.height).then(function(k){if(k.width===z.width&&k.height===z.height)U(!0);else U(!1)},function(){return U(!1)})},z.onerror=function(){return U(!1)}})}},{}],17:[function(E,A,C){A.exports=function(){var D=E("./mathlib"),F;onmessage=function(z){var k=z.data.opts,f=!1;if(!k.src&&k.srcBitmap){var M=new OffscreenCanvas(k.width,k.height),b=M.getContext("2d",{alpha:Boolean(k.alpha)});b.drawImage(k.srcBitmap,0,0),k.src=b.getImageData(0,0,k.width,k.height).data,M.width=M.height=0,M=null,k.srcBitmap.close(),k.srcBitmap=null,f=!0}if(!F)F=new D(z.data.features);var Z=F.resizeAndUnsharp(k);if(f){var J=new ImageData(new Uint8ClampedArray(Z),k.toWidth,k.toHeight),K=new OffscreenCanvas(k.toWidth,k.toHeight),w=K.getContext("2d",{alpha:Boolean(k.alpha)});w.putImageData(J,0,0),createImageBitmap(K).then(function(Q){postMessage({bitmap:Q},[Q])})}else postMessage({data:Z},[Z.buffer])}}},{"./mathlib":1}],18:[function(E,A,C){var D,F,U,z,k,f,M,b;function Z(w){if(w<0.5)w=0.5;var Q=Math.exp(0.527076)/w,G=Math.exp(-Q),H=Math.exp(-2*Q),l=(1-G)*(1-G)/(1+2*Q*G-H);return D=l,F=l*(Q-1)*G,U=l*(Q+1)*G,z=-l*H,k=2*G,f=-H,M=(D+F)/(1-k-f),b=(U+z)/(1-k-f),new Float32Array([D,F,U,z,k,f,M,b])}function J(w,Q,G,H,l,q){var L,v,x,S,W,T,R,Y,h,I,O,V,j,i;for(h=0;h<q;h++){T=h*l,R=h,Y=0,L=w[T],W=L*H[6],S=W,O=H[0],V=H[1],j=H[4],i=H[5];for(I=0;I<l;I++)v=w[T],x=v*O+L*V+S*j+W*i,W=S,S=x,L=v,G[Y]=S,Y++,T++;T--,Y--,R+=q*(l-1),L=w[T],W=L*H[7],S=W,v=L,O=H[2],V=H[3];for(I=l-1;I>=0;I--)x=v*O+L*V+S*j+W*i,W=S,S=x,L=v,v=w[T],Q[R]=G[Y]+S,T--,Y--,R-=q}}function K(w,Q,G,H){if(!H)return;var l=new Uint16Array(w.length),q=new Float32Array(Math.max(Q,G)),L=Z(H);J(w,l,q,L,Q,G),J(l,w,q,L,G,Q)}A.exports=K},{}],19:[function(E,A,C){if(typeof Object.create==="function")A.exports=function(F,U){if(U)F.super_=U,F.prototype=Object.create(U.prototype,{constructor:{value:F,enumerable:!1,writable:!0,configurable:!0}})};else A.exports=function(F,U){if(U){F.super_=U;var z=function(){};z.prototype=U.prototype,F.prototype=new z,F.prototype.constructor=F}}},{}],20:[function(E,A,C){var D=E("object-assign"),F=E("./lib/base64decode"),U=E("./lib/wa_detect"),z={js:!0,wasm:!0};function k(f){if(!(this instanceof k))return new k(f);var M=D({},z,f||{});if(this.options=M,this.__cache={},this.__init_promise=null,this.__modules=M.modules||{},this.__memory=null,this.__wasm={},this.__isLE=new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]===1,!this.options.js&&!this.options.wasm)throw Error('mathlib: at least "js" or "wasm" should be enabled')}k.prototype.has_wasm=U,k.prototype.use=function(f){if(this.__modules[f.name]=f,this.options.wasm&&this.has_wasm()&&f.wasm_fn)this[f.name]=f.wasm_fn;else this[f.name]=f.fn;return this},k.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(Error(`mathlib: only "wasm" was enabled, but it's not supported`));var f=this;return this.__init_promise=Promise.all(Object.keys(f.__modules).map(function(M){var b=f.__modules[M];if(!f.options.wasm||!f.has_wasm()||!b.wasm_fn)return null;if(f.__wasm[M])return null;return WebAssembly.compile(f.__base64decode(b.wasm_src)).then(function(Z){f.__wasm[M]=Z})})).then(function(){return f}),this.__init_promise},k.prototype.__base64decode=F,k.prototype.__reallocate=function(M){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(M/65536)}),this.__memory;var b=this.__memory.buffer.byteLength;if(b<M)this.__memory.grow(Math.ceil((M-b)/65536));return this.__memory},k.prototype.__instance=function(M,b,Z){if(b)this.__reallocate(b);if(!this.__wasm[M]){var J=this.__modules[M];this.__wasm[M]=new WebAssembly.Module(this.__base64decode(J.wasm_src))}if(!this.__cache[M]){var K={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})};this.__cache[M]=new WebAssembly.Instance(this.__wasm[M],{env:D(K,Z||{})})}return this.__cache[M]},k.prototype.__align=function(M,b){b=b||8;var Z=M%b;return M+(Z?b-Z:0)},A.exports=k},{"./lib/base64decode":21,"./lib/wa_detect":22,"object-assign":23}],21:[function(E,A,C){var D="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";A.exports=function(U){var z=U.replace(/[\r\n=]/g,""),k=z.length,f=new Uint8Array(k*3>>2),M=0,b=0;for(var Z=0;Z<k;Z++){if(Z%4===0&&Z)f[b++]=M>>16&255,f[b++]=M>>8&255,f[b++]=M&255;M=M<<6|D.indexOf(z.charAt(Z))}var J=k%4*6;if(J===0)f[b++]=M>>16&255,f[b++]=M>>8&255,f[b++]=M&255;else if(J===18)f[b++]=M>>10&255,f[b++]=M>>2&255;else if(J===12)f[b++]=M>>4&255;return f}},{}],22:[function(E,A,C){var D;A.exports=function(){if(typeof D<"u")return D;if(D=!1,typeof WebAssembly>"u")return D;try{var U=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),z=new WebAssembly.Module(U),k=new WebAssembly.Instance(z,{});if(k.exports.test(4)!==0)D=!0;return D}catch(f){}return D}},{}],23:[function(E,A,C){var D=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable;function z(f){if(f===null||f===void 0)throw TypeError("Object.assign cannot be called with null or undefined");return Object(f)}function k(){try{if(!Object.assign)return!1;var f=new String("abc");if(f[5]="de",Object.getOwnPropertyNames(f)[0]==="5")return!1;var M={};for(var b=0;b<10;b++)M["_"+String.fromCharCode(b)]=b;var Z=Object.getOwnPropertyNames(M).map(function(K){return M[K]});if(Z.join("")!=="0123456789")return!1;var J={};if("abcdefghijklmnopqrst".split("").forEach(function(K){J[K]=K}),Object.keys(Object.assign({},J)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(K){return!1}}A.exports=k()?Object.assign:function(f,M){var b,Z=z(f),J;for(var K=1;K<arguments.length;K++){b=Object(arguments[K]);for(var w in b)if(F.call(b,w))Z[w]=b[w];if(D){J=D(b);for(var Q=0;Q<J.length;Q++)if(U.call(b,J[Q]))Z[J[Q]]=b[J[Q]]}}return Z}},{}],24:[function(E,A,C){var D=arguments[3],F=arguments[4],U=arguments[5],z=JSON.stringify;A.exports=function(k,f){var M,b=Object.keys(U);for(var Z=0,J=b.length;Z<J;Z++){var K=b[Z],w=U[K].exports;if(w===k||w&&w.default===k){M=K;break}}if(!M){M=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var Q={};for(var Z=0,J=b.length;Z<J;Z++){var K=b[Z];Q[K]=K}F[M]=["function(require,module,exports){"+k+"(self); }",Q]}var G=Math.floor(Math.pow(16,8)*Math.random()).toString(16),H={};H[M]=M,F[G]=["function(require,module,exports){var f = require("+z(M)+");(f.default ? f.default : f)(self);}",H];var l={};q(G);function q(T){l[T]=!0;for(var R in F[T][1]){var Y=F[T][1][R];if(!l[Y])q(Y)}}var L="("+D+")({"+Object.keys(l).map(function(T){return z(T)+":["+F[T][0]+","+z(F[T][1])+"]"}).join(",")+"},{},["+z(G)+"])",v=window.URL||window.webkitURL||window.mozURL||window.msURL,x=new Blob([L],{type:"text/javascript"});if(f&&f.bare)return x;var S=v.createObjectURL(x),W=new Worker(S);return W.objectURL=S,W}},{}],"/index.js":[function(E,A,C){function D(I,O){return f(I)||k(I,O)||U(I,O)||F()}function F(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function U(I,O){if(!I)return;if(typeof I==="string")return z(I,O);var V=Object.prototype.toString.call(I).slice(8,-1);if(V==="Object"&&I.constructor)V=I.constructor.name;if(V==="Map"||V==="Set")return Array.from(I);if(V==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(V))return z(I,O)}function z(I,O){if(O==null||O>I.length)O=I.length;for(var V=0,j=Array(O);V<O;V++)j[V]=I[V];return j}function k(I,O){var V=I==null?null:typeof Symbol<"u"&&I[Symbol.iterator]||I["@@iterator"];if(V==null)return;var j=[],i=!0,a=!1,$,m;try{for(V=V.call(I);!(i=($=V.next()).done);i=!0)if(j.push($.value),O&&j.length===O)break}catch(y){a=!0,m=y}finally{try{if(!i&&V.return!=null)V.return()}finally{if(a)throw m}}return j}function f(I){if(Array.isArray(I))return I}var M=E("object-assign"),b=E("webworkify"),Z=E("./lib/mathlib"),J=E("./lib/pool"),K=E("./lib/utils"),w=E("./lib/worker"),Q=E("./lib/stepper"),G=E("./lib/tiler"),H={},l=!1;try{if(typeof navigator<"u"&&navigator.userAgent)l=navigator.userAgent.indexOf("Safari")>=0}catch(I){}var q=1;if(typeof navigator<"u")q=Math.min(navigator.hardwareConcurrency||1,4);var L={tile:1024,concurrency:q,features:["js","wasm","ww"],idle:2000,createCanvas:function(O,V){var j=document.createElement("canvas");return j.width=O,j.height=V,j}},v={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},x=!1,S=!1,W=!1,T=!1,R=!1;function Y(){return{value:b(w),destroy:function(){if(this.value.terminate(),typeof window<"u"){var O=window.URL||window.webkitURL||window.mozURL||window.msURL;if(O&&O.revokeObjectURL&&this.value.objectURL)O.revokeObjectURL(this.value.objectURL)}}}}function h(I){if(!(this instanceof h))return new h(I);this.options=M({},L,I||{});var O="lk_".concat(this.options.concurrency);if(this.__limit=H[O]||K.limiter(this.options.concurrency),!H[O])H[O]=this.__limit;this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}h.prototype.init=function(){var I=this;if(this.__initPromise)return this.__initPromise;if(typeof ImageData<"u"&&typeof Uint8ClampedArray<"u")try{new ImageData(new Uint8ClampedArray(400),10,10),x=!0}catch(y){}if(typeof ImageBitmap<"u")if(ImageBitmap.prototype&&ImageBitmap.prototype.close)S=!0;else this.debug("ImageBitmap does not support .close(), disabled");var O=this.options.features.slice();if(O.indexOf("all")>=0)O=["cib","wasm","js","ww"];if(this.__requested_features=O,this.__mathlib=new Z(O),O.indexOf("ww")>=0){if(typeof window<"u"&&"Worker"in window)try{var V=E("webworkify")(function(){});V.terminate(),this.features.ww=!0;var j="wp_".concat(JSON.stringify(this.options));if(H[j])this.__workersPool=H[j];else this.__workersPool=new J(Y,this.options.idle),H[j]=this.__workersPool}catch(y){}}var i=this.__mathlib.init().then(function(y){M(I.features,y.features)}),a;if(!S)a=Promise.resolve(!1);else a=K.cib_support(this.options.createCanvas).then(function(y){if(I.features.cib&&O.indexOf("cib")<0){I.debug("createImageBitmap() resize supported, but disabled by config");return}if(O.indexOf("cib")>=0)I.features.cib=y});W=K.can_use_canvas(this.options.createCanvas);var $;if(S&&x&&O.indexOf("ww")!==-1)$=K.worker_offscreen_canvas_support();else $=Promise.resolve(!1);$=$.then(function(y){T=y});var m=K.cib_can_use_region().then(function(y){R=y});return this.__initPromise=Promise.all([i,a,$,m]).then(function(){return I}),this.__initPromise},h.prototype.__invokeResize=function(I,O){var V=this;return O.__mathCache=O.__mathCache||{},Promise.resolve().then(function(){if(!V.features.ww)return{data:V.__mathlib.resizeAndUnsharp(I,O.__mathCache)};return new Promise(function(j,i){var a=V.__workersPool.acquire();if(O.cancelToken)O.cancelToken.catch(function(m){return i(m)});a.value.onmessage=function(m){if(a.release(),m.data.err)i(m.data.err);else j(m.data)};var $=[];if(I.src)$.push(I.src.buffer);if(I.srcBitmap)$.push(I.srcBitmap);a.value.postMessage({opts:I,features:V.__requested_features,preload:{wasm_nodule:V.__mathlib.__}},$)})})},h.prototype.__extractTileData=function(I,O,V,j,i){if(this.features.ww&&T&&(K.isCanvas(O)||R))return this.debug("Create tile for OffscreenCanvas"),createImageBitmap(j.srcImageBitmap||O,I.x,I.y,I.width,I.height).then(function(m){return i.srcBitmap=m,i});if(K.isCanvas(O)){if(!j.srcCtx)j.srcCtx=O.getContext("2d",{alpha:Boolean(V.alpha)});return this.debug("Get tile pixel data"),i.src=j.srcCtx.getImageData(I.x,I.y,I.width,I.height).data,i}this.debug("Draw tile imageBitmap/image to temporary canvas");var a=this.options.createCanvas(I.width,I.height),$=a.getContext("2d",{alpha:Boolean(V.alpha)});return $.globalCompositeOperation="copy",$.drawImage(j.srcImageBitmap||O,I.x,I.y,I.width,I.height,0,0,I.width,I.height),this.debug("Get tile pixel data"),i.src=$.getImageData(0,0,I.width,I.height).data,a.width=a.height=0,i},h.prototype.__landTileData=function(I,O,V){var j;if(this.debug("Convert raw rgba tile result to ImageData"),O.bitmap)return V.toCtx.drawImage(O.bitmap,I.toX,I.toY),null;if(x)j=new ImageData(new Uint8ClampedArray(O.data),I.toWidth,I.toHeight);else if(j=V.toCtx.createImageData(I.toWidth,I.toHeight),j.data.set)j.data.set(O.data);else for(var i=j.data.length-1;i>=0;i--)j.data[i]=O.data[i];if(this.debug("Draw tile"),l)V.toCtx.putImageData(j,I.toX,I.toY,I.toInnerX-I.toX,I.toInnerY-I.toY,I.toInnerWidth+0.00001,I.toInnerHeight+0.00001);else V.toCtx.putImageData(j,I.toX,I.toY,I.toInnerX-I.toX,I.toInnerY-I.toY,I.toInnerWidth,I.toInnerHeight);return null},h.prototype.__tileAndResize=function(I,O,V){var j=this,i={srcCtx:null,srcImageBitmap:null,isImageBitmapReused:!1,toCtx:null},a=function(m){return j.__limit(function(){if(V.canceled)return V.cancelToken;var y={width:m.width,height:m.height,toWidth:m.toWidth,toHeight:m.toHeight,scaleX:m.scaleX,scaleY:m.scaleY,offsetX:m.offsetX,offsetY:m.offsetY,quality:V.quality,alpha:V.alpha,unsharpAmount:V.unsharpAmount,unsharpRadius:V.unsharpRadius,unsharpThreshold:V.unsharpThreshold};return j.debug("Invoke resize math"),Promise.resolve(y).then(function(r){return j.__extractTileData(m,I,V,i,r)}).then(function(r){return j.debug("Invoke resize math"),j.__invokeResize(r,V)}).then(function(r){if(V.canceled)return V.cancelToken;return i.srcImageData=null,j.__landTileData(m,r,i)})})};return Promise.resolve().then(function(){if(i.toCtx=O.getContext("2d",{alpha:Boolean(V.alpha)}),K.isCanvas(I))return null;if(K.isImageBitmap(I))return i.srcImageBitmap=I,i.isImageBitmapReused=!0,null;if(K.isImage(I)){if(!S)return null;return j.debug("Decode image via createImageBitmap"),createImageBitmap(I).then(function($){i.srcImageBitmap=$}).catch(function($){return null})}throw Error('Pica: ".from" should be Image, Canvas or ImageBitmap')}).then(function(){if(V.canceled)return V.cancelToken;j.debug("Calculate tiles");var $=G({width:V.width,height:V.height,srcTileSize:j.options.tile,toWidth:V.toWidth,toHeight:V.toHeight,destTileBorder:V.__destTileBorder}),m=$.map(function(r){return a(r)});function y(r){if(r.srcImageBitmap){if(!r.isImageBitmapReused)r.srcImageBitmap.close();r.srcImageBitmap=null}}return j.debug("Process tiles"),Promise.all(m).then(function(){return j.debug("Finished!"),y(i),O},function(r){throw y(i),r})})},h.prototype.__processStages=function(I,O,V,j){var i=this;if(j.canceled)return j.cancelToken;var a=I.shift(),$=D(a,2),m=$[0],y=$[1],r=I.length===0;j=M({},j,{toWidth:m,toHeight:y,quality:r?j.quality:Math.min(1,j.quality)});var _;if(!r)_=this.options.createCanvas(m,y);return this.__tileAndResize(O,r?V:_,j).then(function(){if(r)return V;return j.width=m,j.height=y,i.__processStages(I,_,V,j)}).then(function(e){if(_)_.width=_.height=0;return e})},h.prototype.__resizeViaCreateImageBitmap=function(I,O,V){var j=this,i=O.getContext("2d",{alpha:Boolean(V.alpha)});return this.debug("Resize via createImageBitmap()"),createImageBitmap(I,{resizeWidth:V.toWidth,resizeHeight:V.toHeight,resizeQuality:K.cib_quality_name(V.quality)}).then(function(a){if(V.canceled)return V.cancelToken;if(!V.unsharpAmount)return i.drawImage(a,0,0),a.close(),i=null,j.debug("Finished!"),O;j.debug("Unsharp result");var $=j.options.createCanvas(V.toWidth,V.toHeight),m=$.getContext("2d",{alpha:Boolean(V.alpha)});m.drawImage(a,0,0),a.close();var y=m.getImageData(0,0,V.toWidth,V.toHeight);return j.__mathlib.unsharp_mask(y.data,V.toWidth,V.toHeight,V.unsharpAmount,V.unsharpRadius,V.unsharpThreshold),i.putImageData(y,0,0),$.width=$.height=0,y=m=$=i=null,j.debug("Finished!"),O})},h.prototype.resize=function(I,O,V){var j=this;this.debug("Start resize...");var i=M({},v);if(!isNaN(V))i=M(i,{quality:V});else if(V)i=M(i,V);if(i.toWidth=O.width,i.toHeight=O.height,i.width=I.naturalWidth||I.width,i.height=I.naturalHeight||I.height,O.width===0||O.height===0)return Promise.reject(Error("Invalid output size: ".concat(O.width,"x").concat(O.height)));if(i.unsharpRadius>2)i.unsharpRadius=2;if(i.canceled=!1,i.cancelToken)i.cancelToken=i.cancelToken.then(function($){throw i.canceled=!0,$},function($){throw i.canceled=!0,$});var a=3;return i.__destTileBorder=Math.ceil(Math.max(a,2.5*i.unsharpRadius|0)),this.init().then(function(){if(i.canceled)return i.cancelToken;if(j.features.cib)return j.__resizeViaCreateImageBitmap(I,O,i);if(!W){var $=Error("Pica: cannot use getImageData on canvas, make sure fingerprinting protection isn't enabled");throw $.code="ERR_GET_IMAGE_DATA",$}var m=Q(i.width,i.height,i.toWidth,i.toHeight,j.options.tile,i.__destTileBorder);return j.__processStages(m,I,O,i)})},h.prototype.resizeBuffer=function(I){var O=this,V=M({},v,I);return this.init().then(function(){return O.__mathlib.resizeAndUnsharp(V)})},h.prototype.toBlob=function(I,O,V){return O=O||"image/png",new Promise(function(j){if(I.toBlob){I.toBlob(function(y){return j(y)},O,V);return}if(I.convertToBlob){j(I.convertToBlob({type:O,quality:V}));return}var i=atob(I.toDataURL(O,V).split(",")[1]),a=i.length,$=new Uint8Array(a);for(var m=0;m<a;m++)$[m]=i.charCodeAt(m);j(new Blob([$],{type:O}))})},h.prototype.debug=function(){},A.exports=h},{"./lib/mathlib":1,"./lib/pool":13,"./lib/stepper":14,"./lib/tiler":15,"./lib/utils":16,"./lib/worker":17,"object-assign":23,webworkify:24}]},{},[])("/index.js")})}),$_=Szu(function(u){function B(U,z){var k=Error(U);return k.code=z,k}function E(U){var z=U.toString(16).toUpperCase();for(var k=2-z.length;k>0;k--)z="0"+z;return"0x"+z}function A(U){try{return unescape(encodeURIComponent(U))}catch(z){return U}}function C(U){try{return decodeURIComponent(escape(U))}catch(z){return U}}function D(U){return Object.prototype.toString.call(U)==="[object Uint8Array]"}function F(U,z,k){this.input=U.subarray(z,k),this.start=z;var f=String.fromCharCode.apply(null,this.input.subarray(0,4));if(f!=="II*\x00"&&f!=="MM\x00*")throw B("invalid TIFF signature","EBADDATA");this.big_endian=f[0]==="M"}F.prototype.each=function(U){this.aborted=!1;var z=this.read_uint32(4);this.ifds_to_read=[{id:0,offset:z}];while(this.ifds_to_read.length>0&&!this.aborted){var k=this.ifds_to_read.shift();if(!k.offset)continue;this.scan_ifd(k.id,k.offset,U)}},F.prototype.filter=function(U){var z={};z.ifd0={id:0,entries:[]},this.each(function(b){if(U(b)===!1&&!b.is_subifd_link)return;if(b.is_subifd_link&&b.count!==1&&b.format!==4)return;if(!z["ifd"+b.ifd])z["ifd"+b.ifd]={id:b.ifd,entries:[]};z["ifd"+b.ifd].entries.push(b)}),delete z.ifd1;var k=8;Object.keys(z).forEach(function(b){k+=2,z[b].entries.forEach(function(Z){k+=12+(Z.data_length>4?Math.ceil(Z.data_length/2)*2:0)}),k+=4}),this.output=new Uint8Array(k),this.output[0]=this.output[1]=(this.big_endian?"M":"I").charCodeAt(0),this.write_uint16(2,42);var f=8,M=this;if(this.write_uint32(4,f),Object.keys(z).forEach(function(b){z[b].written_offset=f;var Z=f,J=Z+2+z[b].entries.length*12+4;f=J,M.write_uint16(Z,z[b].entries.length),z[b].entries.sort(function(w,Q){return w.tag-Q.tag}).forEach(function(w,Q){var G=Z+2+Q*12;if(M.write_uint16(G,w.tag),M.write_uint16(G+2,w.format),M.write_uint32(G+4,w.count),w.is_subifd_link){if(z["ifd"+w.tag])z["ifd"+w.tag].link_offset=G+8}else if(w.data_length<=4)M.output.set(M.input.subarray(w.data_offset-M.start,w.data_offset-M.start+4),G+8);else M.write_uint32(G+8,f),M.output.set(M.input.subarray(w.data_offset-M.start,w.data_offset-M.start+w.data_length),f),f+=Math.ceil(w.data_length/2)*2});var K=z["ifd"+(z[b].id+1)];if(K)K.link_offset=J-4}),Object.keys(z).forEach(function(b){if(z[b].written_offset&&z[b].link_offset)M.write_uint32(z[b].link_offset,z[b].written_offset)}),this.output.length!==f)throw B("internal error: incorrect buffer size allocated");return this.output},F.prototype.read_uint16=function(U){var z=this.input;if(U+2>z.length)throw B("unexpected EOF","EBADDATA");return this.big_endian?z[U]*256+z[U+1]:z[U]+z[U+1]*256},F.prototype.read_uint32=function(U){var z=this.input;if(U+4>z.length)throw B("unexpected EOF","EBADDATA");return this.big_endian?z[U]*16777216+z[U+1]*65536+z[U+2]*256+z[U+3]:z[U]+z[U+1]*256+z[U+2]*65536+z[U+3]*16777216},F.prototype.write_uint16=function(U,z){var k=this.output;if(this.big_endian)k[U]=z>>>8&255,k[U+1]=z&255;else k[U]=z&255,k[U+1]=z>>>8&255},F.prototype.write_uint32=function(U,z){var k=this.output;if(this.big_endian)k[U]=z>>>24&255,k[U+1]=z>>>16&255,k[U+2]=z>>>8&255,k[U+3]=z&255;else k[U]=z&255,k[U+1]=z>>>8&255,k[U+2]=z>>>16&255,k[U+3]=z>>>24&255},F.prototype.is_subifd_link=function(U,z){return U===0&&z===34665||U===0&&z===34853||U===34665&&z===40965},F.prototype.exif_format_length=function(U){switch(U){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},F.prototype.exif_format_read=function(U,z){var k;switch(U){case 1:case 2:return k=this.input[z],k;case 6:return k=this.input[z],k|(k&128)*33554430;case 3:return k=this.read_uint16(z),k;case 8:return k=this.read_uint16(z),k|(k&32768)*131070;case 4:return k=this.read_uint32(z),k;case 9:return k=this.read_uint32(z),k|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}},F.prototype.scan_ifd=function(U,z,k){var f=this.read_uint16(z);z+=2;for(var M=0;M<f;M++){var b=this.read_uint16(z),Z=this.read_uint16(z+2),J=this.read_uint32(z+4),K=this.exif_format_length(Z),w=J*K,Q=w<=4?z+8:this.read_uint32(z+8),G=!1;if(Q+w>this.input.length)throw B("unexpected EOF","EBADDATA");var H=[],l=Q;for(var q=0;q<J;q++,l+=K){var L=this.exif_format_read(Z,l);if(L===null){H=null;break}H.push(L)}if(Array.isArray(H)&&Z===2){try{H=C(String.fromCharCode.apply(null,H))}catch(x){H=null}if(H&&H[H.length-1]==="\x00")H=H.slice(0,-1)}if(this.is_subifd_link(U,b)){if(Array.isArray(H)&&Number.isInteger(H[0])&&H[0]>0)this.ifds_to_read.push({id:b,offset:H[0]}),G=!0}var v={is_big_endian:this.big_endian,ifd:U,tag:b,format:Z,count:J,entry_offset:z+this.start,data_length:w,data_offset:Q+this.start,value:H,is_subifd_link:G};if(k(v)===!1){this.aborted=!0;return}z+=12}if(U===0)this.ifds_to_read.push({id:1,offset:this.read_uint32(z)})},u.exports.is_jpeg=function(U){return U.length>=4&&U[0]===255&&U[1]===216&&U[2]===255},u.exports.jpeg_segments_each=function(U,z){if(!D(U))throw B("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if(typeof z!=="function")throw B("Invalid argument (on_segment), Function expected","EINVAL");if(!u.exports.is_jpeg(U))throw B("Unknown file format","ENOTJPEG");var k=0,f=U.length,M=!1;for(;;){var b,Z;if(k+1>=f)throw B("Unexpected EOF","EBADDATA");var J=U[k],K=U[k+1];if(J===255&&K===255)b=255,Z=1;else if(J===255&&K!==0){if(b=K,Z=2,208<=b&&b<=217||b===1);else{if(k+3>=f)throw B("Unexpected EOF","EBADDATA");if(Z+=U[k+2]*256+U[k+3],Z<2)throw B("Invalid segment length","EBADDATA");if(k+Z-1>=f)throw B("Unexpected EOF","EBADDATA")}if(M)if(b>=208&&b<=215);else M=!1;if(b===218)M=!0}else if(M)for(var w=k+1;;w++){if(w>=f)throw B("Unexpected EOF","EBADDATA");if(U[w]===255){if(w+1>=f)throw B("Unexpected EOF","EBADDATA");if(U[w+1]!==0){b=0,Z=w-k;break}}}else throw B("Unexpected byte at segment start: "+E(J)+" (offset "+E(k)+")","EBADDATA");if(z({code:b,offset:k,length:Z})===!1)break;if(b===217)break;k+=Z}},u.exports.jpeg_segments_filter=function(U,z){if(!D(U))throw B("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if(typeof z!=="function")throw B("Invalid argument (on_segment), Function expected","EINVAL");var k=[],f=0;u.exports.jpeg_segments_each(U,function(Z){var J=z(Z);if(D(J))k.push({data:J}),f+=J.length;else if(Array.isArray(J))J.filter(D).forEach(function(w){k.push({data:w}),f+=w.length});else if(J!==!1){var K={start:Z.offset,end:Z.offset+Z.length};if(k.length>0&&k[k.length-1].end===K.start)k[k.length-1].end=K.end;else k.push(K);f+=Z.length}});var M=new Uint8Array(f),b=0;return k.forEach(function(Z){var J=Z.data||U.subarray(Z.start,Z.end);M.set(J,b),b+=J.length}),M},u.exports.jpeg_exif_tags_each=function(U,z){if(!D(U))throw B("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if(typeof z!=="function")throw B("Invalid argument (on_exif_entry), Function expected","EINVAL");u.exports.jpeg_segments_each(U,function(k){if(k.code===218)return!1;if(k.code===225&&k.length>=10&&U[k.offset+4]===69&&U[k.offset+5]===120&&U[k.offset+6]===105&&U[k.offset+7]===102&&U[k.offset+8]===0&&U[k.offset+9]===0)return new F(U,k.offset+10,k.offset+k.length).each(z),!1})},u.exports.jpeg_exif_tags_filter=function(U,z){if(!D(U))throw B("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if(typeof z!=="function")throw B("Invalid argument (on_exif_entry), Function expected","EINVAL");var k=!1;return u.exports.jpeg_segments_filter(U,function(f){if(k)return;if(f.code===218)k=!0;if(f.code===225&&f.length>=10&&U[f.offset+4]===69&&U[f.offset+5]===120&&U[f.offset+6]===105&&U[f.offset+7]===102&&U[f.offset+8]===0&&U[f.offset+9]===0){var M=new F(U,f.offset+10,f.offset+f.length).filter(z);if(!M)return!1;var b=new Uint8Array(10);return b.set(U.slice(f.offset,f.offset+10)),b[2]=M.length+8>>>8&255,b[3]=M.length+8&255,k=!0,[b,M]}})},u.exports.jpeg_add_comment=function(U,z){var k=!1,f=0;return u.exports.jpeg_segments_filter(U,function(M){if(f++,f===1&&M.code===216)return;if(f===2&&M.code===224)return;if(k)return;z=A(z);var b=new Uint8Array(5+z.length),Z=0;return b[Z++]=255,b[Z++]=254,b[Z++]=z.length+3>>>8&255,b[Z++]=z.length+3&255,z.split("").forEach(function(J){b[Z++]=J.charCodeAt(0)&255}),b[Z++]=0,k=!0,[b,U.subarray(M.offset,M.offset+M.length)]})}});h13=Rzu,i13=Tzu,a13=Ozu,m13=V13,$13={jpeg_patch_exif:h13,jpeg_rotate_canvas:i13,jpeg_attach_orig_segments:a13,assign:m13};_7.prototype.use=function(u){var B=[this].concat(Array.prototype.slice.call(arguments,1));return u.apply(u,B),this};_7.prototype.init=function(){this.use($13.assign)};_7.prototype.toBlob=function(u,B){var E=Ok0.assign({max:1/0},B),A={blob:u,opts:E};if(!this.initialized)this.init(),this.initialized=!0;return Promise.resolve(A).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then(this._create_blob).then(function(C){return C.out_canvas.width=C.out_canvas.height=0,C.out_blob})};_7.prototype.toCanvas=function(u,B){var E=Ok0.assign({max:1/0},B),A={blob:u,opts:E};if(!this.initialized)this.init(),this.initialized=!0;return Promise.resolve(A).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then(function(C){return C.out_canvas})};_7.prototype.before=function(u,B){if(!this[u])throw Error('Method "'+u+'" does not exist');if(typeof B!=="function")throw Error('Invalid argument "fn", function expected');var E=this[u],A=this;return this[u]=function(C){return B.call(A,C).then(function(D){return E.call(A,D)})},this};_7.prototype.after=function(u,B){if(!this[u])throw Error('Method "'+u+'" does not exist');if(typeof B!=="function")throw Error('Invalid argument "fn", function expected');var E=this[u],A=this;return this[u]=function(C){return E.call(A,C).then(function(D){return B.call(A,D)})},this};_7.prototype._blob_to_image=function(u){var B=window.URL||window.webkitURL||window.mozURL||window.msURL;return u.image=document.createElement("img"),u.image_url=B.createObjectURL(u.blob),u.image.src=u.image_url,new Promise(function(E,A){u.image.onerror=function(){A(Error("ImageBlobReduce: failed to create Image() from blob"))},u.image.onload=function(){E(u)}})};_7.prototype._calculate_size=function(u){var B=u.opts.max/Math.max(u.image.width,u.image.height);if(B>1)B=1;return u.transform_width=Math.max(Math.round(u.image.width*B),1),u.transform_height=Math.max(Math.round(u.image.height*B),1),u.scale_factor=B,Promise.resolve(u)};_7.prototype._transform=function(u){u.out_canvas=this.pica.options.createCanvas(u.transform_width,u.transform_height),u.transform_width=null,u.transform_height=null;var B={alpha:u.blob.type==="image/png"};return this.utils.assign(B,this.utils.pick_pica_resize_options(u.opts)),this.pica.resize(u.image,u.out_canvas,B).then(function(){return u})};_7.prototype._cleanup=function(u){u.image.src="",u.image=null;var B=window.URL||window.webkitURL||window.mozURL||window.msURL;if(B.revokeObjectURL)B.revokeObjectURL(u.image_url);return u.image_url=null,Promise.resolve(u)};_7.prototype._create_blob=function(u){return this.pica.toBlob(u.out_canvas,u.blob.type).then(function(B){return u.out_blob=B,u})};_7.prototype._getUint8Array=function(u){if(u.arrayBuffer)return u.arrayBuffer().then(function(B){return new Uint8Array(B)});return new Promise(function(B,E){var A=new FileReader;A.readAsArrayBuffer(u),A.onload=function(){B(new Uint8Array(A.result))},A.onerror=function(){E(Error("ImageBlobReduce: failed to load data from input blob")),A.abort()},A.onabort=function(){E(Error("ImageBlobReduce: failed to load data from input blob (aborted)"))}})};_7.pica=Yzu;y13=_7,r13=y13});function bZ(u){return u*Math.PI/180}function GX(u){return u*180/Math.PI}function F63(u){return Math.abs(Math.sin(2*u))<0.0001}function $5(u,B,E=0,A=0){return[u-E,B-A]}function O4(u,B=[0,0]){return $5(u[0]-B[0],u[1]-B[1])}function k5(u,B){return u[0]*B[1]-B[0]*u[1]}function Hf0(u,B){return u[0]*B[0]+u[1]*B[1]}function fZ(u,B){return[u[0]+B[0],u[1]+B[1]]}function HO(u,B){return[u[0]-B[0],u[1]-B[1]]}function Z9(u,B){return $5(u[0]*B,u[1]*B)}function U63(u){return u[0]*u[0]+u[1]*u[1]}function z63(u){return Math.sqrt(U63(u))}function t(u,B){return[u,B]}function qf0(u){return u.length===2?t(u[0],u[1]):void 0}function c3(u,B=t(0,0)){return t(B[0]+u[0],B[1]+u[1])}function k63(u){return Array.isArray(u)&&u.length===2&&typeof u[0]=="number"&&!isNaN(u[0])&&typeof u[1]=="number"&&!isNaN(u[1])}function JD(u,B){let E=Math.abs;return E(u[0]-B[0])<0.0001&&E(u[1]-B[1])<0.0001}function lu([u,B],[E,A],C){return t((u-E)*Math.cos(C)-(B-A)*Math.sin(C)+E,(u-E)*Math.sin(C)+(B-A)*Math.cos(C)+A)}function Bp(u,B=[0,0]){return t(u[0]+B[0],u[1]+B[1])}function VO(u,B){return t((u[0]+B[0])/2,(u[1]+B[1])/2)}function l1(u,B){return Math.hypot(B[0]-u[0],B[1]-u[1])}function qO(u,B){let E=B[0]-u[0],A=B[1]-u[1];return E*E+A*A}function _k0(u,B){return[u,B]}function f63(u,B){let E=u[1][1]-u[0][1],A=u[0][0]-u[1][0],C=B[1][1]-B[0][1],D=B[0][0]-B[1][0],F=E*D-C*A;if(F!==0){let U=E*u[0][0]+A*u[0][1],z=C*B[0][0]+D*B[0][1];return t((U*D-z*A)/F,(E*z-C*U)/F)}return null}function i4(u,B){return[u,B]}function lO(u,B){let E=f63(_k0(u[0],u[1]),_k0(B[0],B[1]));return!E||!SQ(E,B)||!SQ(E,u)?null:E}function pk0(u,B){return[u,B]}function M63(u,B){return[i4(u[0],t(u[1][0],u[0][1])),i4(t(u[1][0],u[0][1]),u[1]),i4(u[1],t(u[0][0],u[1][1])),i4(t(u[0][0],u[1][1]),u[0])].map((E)=>lO(B,E)).filter((E)=>!!E)}function Ff(u,B,E,A){return[u,B,E,A]}function Nzu(u,B,E,A=0.000001){return[(u(B+A,E)-u(B-A,E))/(2*A),(u(B,E+A)-u(B,E-A))/(2*A)]}function b63(u,B,E,A=0.001,C=10){let D=1/0,F=0;for(;D>=A;){if(F>=C)return null;let U=u(B,E),z=[Nzu((K,w)=>u(K,w)[0],B,E),Nzu((K,w)=>u(K,w)[1],B,E)],k=[[-U[0]],[-U[1]]],f=z[0][0]*z[1][1]-z[0][1]*z[1][0];if(f===0)return null;let M=[[z[1][1]/f,-z[0][1]/f],[-z[1][0]/f,z[0][0]/f]],b=[[M[0][0]*k[0][0]+M[0][1]*k[1][0]],[M[1][0]*k[0][0]+M[1][1]*k[1][0]]];B=B+b[0][0],E=E+b[1][0];let[Z,J]=u(B,E);D=Math.max(Math.abs(Z),Math.abs(J)),F+=1}return[B,E]}function qfu(u,B){let E=J63(u);if(M63(pk0(t(E[0],E[1]),t(E[2],E[3])),B).length===0)return[];let A=(U)=>t(B[0][0]+U*(B[1][0]-B[0][0]),B[0][1]+U*(B[1][1]-B[0][1])),C=[[0.5,0],[0.2,0],[0.8,0]],D=([U,z])=>{let k=b63((b,Z)=>{let J=QO(u,b),K=A(Z);return[J[0]-K[0],J[1]-K[1]]},U,z);if(!k)return null;let[f,M]=k;return f<0||f>1||M<0||M>1?null:QO(u,f)},F=D(C[0]);return F?[F]:(F=D(C[1]),F?[F]:(F=D(C[2]),F?[F]:[]))}function Z63(u,B,E=0.001){let A=(z,k,f,M=E)=>{let b=z,Z=k,J;for(;Z-b>M;)J=(Z+b)/2,f(J-M)<f(J+M)?Z=J:b=J;return J},C=0;for(let z=1/0,k=0;k<30;k++){let f=l1(B,QO(u,k/30));f<z&&(z=f,C=k)}let D=Math.max((C-1)/30,0),F=Math.min((C+1)/30,1),U=A(D,F,(z)=>l1(B,QO(u,z)));return U?QO(u,U):null}function lfu(u,B){let E=Z63(u,B);return E?l1(B,E):0}function J63(u){let[B,E,A,C]=u,D=[B[0],E[0],A[0],C[0]],F=[B[1],E[1],A[1],C[1]];return[Math.min(...D),Math.min(...F),Math.max(...D),Math.max(...F)]}function Vzu(...u){return Lfu(u)}function Ep(u){return Lfu(u)}function Lfu(u){return w63(u)?u:[...u,u[0]]}function w63(u){return JD(u[0],u[u.length-1])}function p7(u,B){return VE([u,B])}function oL([u,B,E],A){let C=(f,M,b)=>(f[0]-b[0])*(M[1]-b[1])-(M[0]-b[0])*(f[1]-b[1]),D=C(A,u,B),F=C(A,B,E),U=C(A,E,u),z=D<0||F<0||U<0,k=D>0||F>0||U>0;return!(z&&k)}function b2(u,B){if(!u)throw Error(B)}function o6(u,B,E,A){return u?(u?.addEventListener?.(B,E,A),()=>{u?.removeEventListener?.(B,E,A)}):()=>{}}function Nfu(u,B=!0){let E=u.length;if(E<4)return"";let A=u[0],C=u[1],D=u[2],F=`M${A[0].toFixed(2)},${A[1].toFixed(2)} Q${C[0].toFixed(2)},${C[1].toFixed(2)} ${y_(C[0],D[0]).toFixed(2)},${y_(C[1],D[1]).toFixed(2)} T`;for(let U=2,z=E-1;U<z;U++)A=u[U],C=u[U+1],F+=`${y_(A[0],C[0]).toFixed(2)},${y_(A[1],C[1]).toFixed(2)} `;return B&&(F+="Z"),F}function Ibu(u,B,E){return{center:u,halfWidth:B,halfHeight:E}}function mB3({center:u,halfWidth:B,halfHeight:E},[A,C]){let[D,F]=u,U=A[0]-D,z=A[1]-F,k=C[0]-D,f=C[1]-F,M=Math.pow(k-U,2)/Math.pow(B,2)+Math.pow(f-z,2)/Math.pow(E,2),b=2*(U*(k-U)/Math.pow(B,2)+z*(f-z)/Math.pow(E,2)),Z=Math.pow(U,2)/Math.pow(B,2)+Math.pow(z,2)/Math.pow(E,2)-1,J=(-b+Math.sqrt(Math.pow(b,2)-4*M*Z))/(2*M),K=(-b-Math.sqrt(Math.pow(b,2)-4*M*Z))/(2*M),w=[t(U+J*(k-U)+D,z+J*(f-z)+F),t(U+K*(k-U)+D,z+K*(f-z)+F)].filter((Q)=>!isNaN(Q[0])&&!isNaN(Q[1]));return w.length===2&&JD(w[0],w[1])?[w[0]]:w}function Pbu(u,B=0){let E=mA(Math.min(u.width,u.height),u);if(E<=0){let M=pk0(t(u.x-B,u.y-B),t(u.x+u.width+B,u.y+u.height+B)),b=i4(t(M[0][0]+E,M[0][1]),t(M[1][0]-E,M[0][1])),Z=i4(t(M[1][0],M[0][1]+E),t(M[1][0],M[1][1]-E)),J=i4(t(M[0][0]+E,M[1][1]),t(M[1][0]-E,M[1][1])),K=i4(t(M[0][0],M[1][1]-E),t(M[0][0],M[0][1]+E));return[[b,Z,J,K],[]]}let A=t(u.x+u.width/2,u.y+u.height/2),C=pk0(t(u.x,u.y),t(u.x+u.width,u.y+u.height)),D=i4(t(C[0][0]+E,C[0][1]),t(C[1][0]-E,C[0][1])),F=i4(t(C[1][0],C[0][1]+E),t(C[1][0],C[1][1]-E)),U=i4(t(C[0][0]+E,C[1][1]),t(C[1][0]-E,C[1][1])),z=i4(t(C[0][0],C[1][1]-E),t(C[0][0],C[0][1]+E)),k=[Z9(l7(O4(t(C[0][0]-B,C[0][1]-B),A)),B),Z9(l7(O4(t(C[1][0]+B,C[0][1]-B),A)),B),Z9(l7(O4(t(C[1][0]+B,C[1][1]+B),A)),B),Z9(l7(O4(t(C[0][0]-B,C[1][1]+B),A)),B)],f=[Ff(c3(k[0],z[1]),c3(k[0],t(z[1][0]+0.6666666666666666*(C[0][0]-z[1][0]),z[1][1]+0.6666666666666666*(C[0][1]-z[1][1]))),c3(k[0],t(D[0][0]+0.6666666666666666*(C[0][0]-D[0][0]),D[0][1]+0.6666666666666666*(C[0][1]-D[0][1]))),c3(k[0],D[0])),Ff(c3(k[1],D[1]),c3(k[1],t(D[1][0]+0.6666666666666666*(C[1][0]-D[1][0]),D[1][1]+0.6666666666666666*(C[0][1]-D[1][1]))),c3(k[1],t(F[0][0]+0.6666666666666666*(C[1][0]-F[0][0]),F[0][1]+0.6666666666666666*(C[0][1]-F[0][1]))),c3(k[1],F[0])),Ff(c3(k[2],F[1]),c3(k[2],t(F[1][0]+0.6666666666666666*(C[1][0]-F[1][0]),F[1][1]+0.6666666666666666*(C[1][1]-F[1][1]))),c3(k[2],t(U[1][0]+0.6666666666666666*(C[1][0]-U[1][0]),U[1][1]+0.6666666666666666*(C[1][1]-U[1][1]))),c3(k[2],U[1])),Ff(c3(k[3],U[0]),c3(k[3],t(U[0][0]+0.6666666666666666*(C[0][0]-U[0][0]),U[0][1]+0.6666666666666666*(C[1][1]-U[0][1]))),c3(k[3],t(z[0][0]+0.6666666666666666*(C[0][0]-z[0][0]),z[0][1]+0.6666666666666666*(C[1][1]-z[0][1]))),c3(k[3],z[0]))];return[[i4(f[0][3],f[1][0]),i4(f[1][3],f[2][0]),i4(f[2][3],f[3][0]),i4(f[3][3],f[0][0])],f]}function jbu(u,B=0){let[E,A,C,D,F,U,z,k]=uZu(u),f=mA(Math.abs(E-z),u),M=mA(Math.abs(D-A),u);if(u.roundness?.type==null){let[H,l,q,L]=[t(u.x+E,u.y+A-B),t(u.x+C+B,u.y+D),t(u.x+F,u.y+U+B),t(u.x+z-B,u.y+k)],v=i4(t(H[0]+f,H[1]+M),t(l[0]-f,l[1]-M)),x=i4(t(l[0]-f,l[1]+M),t(q[0]+f,q[1]-M)),S=i4(t(q[0]-f,q[1]-M),t(L[0]+f,L[1]+M)),W=i4(t(L[0]+f,L[1]-M),t(H[0]-f,H[1]+M));return[[v,x,S,W],[]]}let b=t(u.x+u.width/2,u.y+u.height/2),[Z,J,K,w]=[t(u.x+E,u.y+A),t(u.x+C,u.y+D),t(u.x+F,u.y+U),t(u.x+z,u.y+k)],Q=[Z9(l7(O4(J,b)),B),Z9(l7(O4(K,b)),B),Z9(l7(O4(w,b)),B),Z9(l7(O4(Z,b)),B)],G=[Ff(c3(Q[0],t(J[0]-f,J[1]-M)),c3(Q[0],J),c3(Q[0],J),c3(Q[0],t(J[0]-f,J[1]+M))),Ff(c3(Q[1],t(K[0]+f,K[1]-M)),c3(Q[1],K),c3(Q[1],K),c3(Q[1],t(K[0]-f,K[1]-M))),Ff(c3(Q[2],t(w[0]+f,w[1]+M)),c3(Q[2],w),c3(Q[2],w),c3(Q[2],t(w[0]+f,w[1]-M))),Ff(c3(Q[3],t(Z[0]-f,Z[1]+M)),c3(Q[3],Z),c3(Q[3],Z),c3(Q[3],t(Z[0]+f,Z[1]+M)))];return[[i4(G[0][3],G[1][0]),i4(G[1][3],G[2][0]),i4(G[2][3],G[3][0]),i4(G[3][3],G[0][0])],G]}function E83(u){let B=LM0(u),E=new Path2D(B);return sbu.set(u,E),E}function A83(u){return sbu.get(u)}function LM0(u){let B=u.simulatePressure?u.points:u.points.length?u.points.map(([A,C],D)=>[A,C,u.pressures[D]]):[[0,0,0.5]],E={simulatePressure:u.simulatePressure,size:u.strokeWidth*4.25,thinning:0.6,smoothing:0.5,streamline:0.5,easing:(A)=>Math.sin(A*Math.PI/2),last:!!u.lastCommittedPoint};return D83(RUu(B,E))}function czu(u,B){return[(u[0]+B[0])/2,(u[1]+B[1])/2]}function D83(u){if(!u.length)return"";let B=u.length-1;return u.reduce((E,A,C,D)=>(C===B?E.push(A,czu(A,D[0]),"L",D[0],"Z"):E.push(A,czu(A,D[C+1])),E),["M",u[0],"Q"]).join(" ").replace(C83,"$1")}function U83(u){let B=u.roughness,E=Math.max(u.width,u.height),A=Math.min(u.width,u.height);return A>=20&&E>=50||A>=15&&u.roundness&&_p(u.type)||S3(u)&&E>=50?B:Math.min(B/(E<10?3:2),2.5)}function EJu(u){let B=[];for(let E of u.childNodes)if(E.nodeType===3){let A=E.textContent?.trim();A&&B.push({type:"text",value:A})}else if(E instanceof HTMLImageElement){let A=E.getAttribute("src");A&&A.startsWith("http")&&B.push({type:"imageUrl",value:A})}else B=B.concat(EJu(E));return B}function Yku(u){return[Math.min(u[0][0],u[1][0]),Math.min(u[0][1],u[1][1]),Math.max(u[0][0],u[1][0]),Math.max(u[0][1],u[1][1])]}function zA3(u,B){return u[0]<=B[2]&&u[2]>=B[0]&&u[1]<=B[3]&&u[3]>=B[1]}function Rku(u,B){let E=O4(u[1],u[0]),A=O4(B,u[0]),C=k5(E,A);return Math.abs(C)<kA3}function rk0(u,B){let E=O4(u[1],u[0]),A=O4(B,u[0]);return k5(E,A)<0}function Tku(u,B){return Rku(u,B[0])||Rku(u,B[1])||(rk0(u,B[0])?!rk0(u,B[1]):rk0(u,B[1]))}function fA3(u,B){return zA3(Yku(u),Yku(B))&&Tku(u,B)&&Tku(B,u)}function Hb0(u,B,E){let A=nzu(B,E),C=nzu(u,E);return A.some((D)=>C.some((F)=>fA3(D,F)))}var Df0,Ff0,aku,wfu,Qfu,r5,xZu,g13=(u,B)=>B.reduce((E,A)=>((A in u)&&(E[A]=u[A]),E),{}),mku=5,PQ=5,c13=4,eL=4,uX=1,kD,fD=(u,B)=>B.map((E)=>n6[u][E]),m3,$ku,Uf0,zf0,kf0,yku,rku,_13=(u)=>[m3.cyan[u],m3.blue[u],m3.violet[u],m3.grape[u],m3.pink[u],m3.green[u],m3.teal[u],m3.yellow[u],m3.orange[u],m3.red[u]],gku=(u,B,E)=>`#${(16777216+(u<<16)+(B<<8)+E).toString(16).slice(1)}`,lD,ff0,p13,KX,n13,cku,Mf0,_ku=()=>navigator.brave?.isBrave?.name==="isBrave",Kp,pku="Excalidraw",d13=36,lZ=10,YO=8,nku=5,bf0=1,dku=30,wZ,sku="red",p1,kf,jQ,RO,cB,NQ,BX="Xiaolai",GO="Segoe UI Emoji",d6,EX,oku=(u)=>{switch(u){case d6.Excalifont:return[BX,GO];default:return[GO]}},p3,V6,Zf0=1,mU=20,ff,wX="left",TO="top",QZ=2,t_,s13=0.00001,tku,OO="#ffffff",eku="#1e1e1e",ufu="#a2f1a6",IO=20,Bfu=5,VQ,r4,o13,wp,jE,Qp,Efu=500,Afu=300,Cfu=500,Dfu=100,PO=0.1,Gp=0.1,Hp=30,Ffu=300,qp="invert(93%) hue-rotate(180deg)",Jf0,Ufu=730,zfu=1000,kfu=500,ffu=1229,fO=2,lp,hQ=10,Mfu=1440,Kf0=4194304,K1="http://www.w3.org/2000/svg",jO,M2=5,t13=0.7,e13=11,m8,zX,u63=20,Ik0=0.25,B63=32,Z2,bfu,Lp,x9,NO="library",iQ="search",_A,wf0,I2,QX,Qf0="Untitled",WQ,iE=1,M5,Gf0=0.3,e_="element",E63,Zfu,A63,LD=()=>({showWelcomeScreen:!1,theme:p3.LIGHT,collaborators:new Map,currentChartType:"bar",currentItemBackgroundColor:x9.backgroundColor,currentItemEndArrowhead:"arrow",currentItemFillStyle:x9.fillStyle,currentItemFontFamily:ff,currentItemFontSize:mU,currentItemOpacity:x9.opacity,currentItemRoughness:x9.roughness,currentItemStartArrowhead:null,currentItemStrokeColor:x9.strokeColor,currentItemRoundness:"round",currentItemArrowType:M5.round,currentItemStrokeStyle:x9.strokeStyle,currentItemStrokeWidth:x9.strokeWidth,currentItemTextAlign:wX,currentHoveredFontFamily:null,cursorButton:"up",activeEmbeddable:null,newElement:null,editingTextElement:null,editingGroupId:null,editingLinearElement:null,activeTool:{type:"selection",customType:null,locked:x9.locked,lastActiveTool:null},penMode:!1,penDetected:!1,errorMessage:null,exportBackground:!0,exportScale:A63,exportEmbedScene:!1,exportWithDarkMode:!1,fileHandle:null,gridSize:IO,gridStep:Bfu,gridModeEnabled:!1,isBindingEnabled:!0,defaultSidebarDockedPreference:!1,isLoading:!1,isResizing:!1,isRotating:!1,lastPointerDownWith:"mouse",multiElement:null,name:null,contextMenu:null,openMenu:null,openPopup:null,openSidebar:null,openDialog:null,pasteDialog:{shown:!1,data:null},previousSelectedElementIds:{},resizingElement:null,scrolledOutside:!1,scrollX:0,scrollY:0,selectedElementIds:{},hoveredElementIds:{},selectedGroupIds:{},selectedElementsAreBeingDragged:!1,selectionElement:null,shouldCacheIgnoreZoom:!1,stats:{open:!1,panels:WQ.generalStats|WQ.elementProperties},startBoundElement:null,suggestedBindings:[],frameRendering:{enabled:!0,clip:!0,name:!0,outline:!0},frameToHighlight:null,editingFrame:null,elementsToHighlight:null,toast:null,viewBackgroundColor:m3.white,zenModeEnabled:!1,zoom:{value:1},viewModeEnabled:!1,pendingImageElementId:null,showHyperlinkPopup:!1,selectedLinearElement:null,snapLines:[],originSnapOffset:{x:0,y:0},objectsSnapModeEnabled:!1,userToFollow:null,followedBy:new Set,isCropping:!1,croppingElementId:null,searchMatches:[]}),C63,Jfu=(u,B)=>{let E={};for(let A of Object.keys(u))if(C63[A]?.[B]){let C=u[A];E[A]=C}return E},Kfu=(u)=>Jfu(u,"export"),D63=(u)=>Jfu(u,"server"),XD=({activeTool:u})=>u.type==="eraser",aQ=({activeTool:u})=>u.type==="hand",r3=(u,B,E)=>Math.min(Math.max(u,B),E),vD=(u,B,E="round")=>{let A=Math.pow(10,B);return Math[E]((u+Number.EPSILON)*A)/A},Gfu=(u,B,E="round")=>{let A=1/B;return Math[E](u*A)/A},y_=(u,B)=>(u+B)/2,FX=(u)=>typeof u=="number"&&Number.isFinite(u),jzu=(u,B,E=0.0001)=>Math.abs(u-B)<E,up=(u)=>u<0?u+2*Math.PI:u>=2*Math.PI?u-2*Math.PI:u,l7=(u)=>{let B=z63(u);return B===0?$5(0,0):$5(u[0]/B,u[1]/B)},Af=(u,B,E)=>Bp(B,Z9(O4(u,B),E)),Hfu=(u,B,E)=>B[0]<=Math.max(u[0],E[0])&&B[0]>=Math.min(u[0],E[0])&&B[1]<=Math.max(u[1],E[1])&&B[1]>=Math.min(u[1],E[1]),SQ=(u,B,E=0.0001)=>{let A=lf0(u,B);return A===0?!0:A<E},lf0=(u,B)=>{let[E,A]=u,[[C,D],[F,U]]=B,z=E-C,k=A-D,f=F-C,M=U-D,b=z*f+k*M,Z=f*f+M*M,J=-1;Z!==0&&(J=b/Z);let K,w;J<0?(K=C,w=D):J>1?(K=F,w=U):(K=C+J*f,w=D+J*M);let Q=E-K,G=A-w;return Math.sqrt(Q*Q+G*G)},QO=(u,B)=>t((1-B)**3*u[0][0]+3*(1-B)**2*B*u[1][0]+3*(1-B)*B**2*u[2][0]+B**3*u[3][0],(1-B)**3*u[0][1]+3*(1-B)**2*B*u[1][1]+3*(1-B)*B**2*u[2][1]+B**3*u[3][1]),hzu=(u,B)=>{let E=u[0],A=u[1],C=!1;for(let D=0,F=B.length-1;D<B.length;F=D++){let U=B[D][0],z=B[D][1],k=B[F][0],f=B[F][1];(z>A&&f<=A||z<=A&&f>A)&&E<(k-U)*(A-z)/(f-z)+U&&(C=!C)}return C},K63=(u,B,E=0.0001)=>{let A=!1;for(let C=0,D=B.length-1;C<D;C++)if(SQ(u,i4(B[C],B[C+1]),E)){A=!0;break}return A},Ap=([u,B],[E,A])=>u<=E?B>=E:u>=E?A>=u:!1,Cp=([u,B],[E,A])=>{let C=Math.max(u,E),D=Math.min(B,A);return C<=D?VE([C,D]):null},r_=(u,[B,E])=>u>=B&&u<=E,izu=null,Lf0=()=>{if(izu)return izu;let u=new Date,B=u.getFullYear(),E=`${u.getMonth()+1}`.padStart(2,"0"),A=`${u.getDate()}`.padStart(2,"0"),C=`${u.getHours()}`.padStart(2,"0"),D=`${u.getMinutes()}`.padStart(2,"0");return`${B}-${E}-${A}-${C}${D}`},HX=(u)=>u.charAt(0).toUpperCase()+u.slice(1),Xfu=(u)=>u instanceof HTMLElement&&u.className.includes("ToolIcon"),Xp=(u)=>u instanceof HTMLElement&&u.dataset.type==="wysiwyg"||u instanceof HTMLBRElement||u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement,vfu=(u)=>Xp(u)||u instanceof Element&&!!u.closest("label, button"),LZ=(u)=>u instanceof HTMLElement&&u.dataset.type==="wysiwyg"||u instanceof HTMLBRElement||u instanceof HTMLTextAreaElement||u instanceof HTMLInputElement&&(u.type==="text"||u.type==="number"||u.type==="password"),mQ=({fontFamily:u})=>{for(let[B,E]of Object.entries(d6))if(E===u)return`${B}${oku(E).map((A)=>`, ${A}`).join("")}`;return GO},B6=({fontSize:u,fontFamily:B})=>`${u}px ${mQ({fontFamily:B})}`,$Q=(u,B)=>{let E=0,A=null,C=(...D)=>{A=D,clearTimeout(E),E=window.setTimeout(()=>{A=null,u(...D)},B)};return C.flush=()=>{if(clearTimeout(E),A){let D=A;A=null,u(...D)}},C.cancel=()=>{A=null,clearTimeout(E)},C},hO=(u,B)=>{let E=null,A=null,C=null,D=(U)=>{E=window.requestAnimationFrame(()=>{E=null,u(...U),A=null,C&&(A=C,C=null,D(A))})},F=(...U)=>{if(J3.MODE==="test"){u(...U);return}A=U,E===null?D(A):B?.trailing&&(C=U)};return F.flush=()=>{E!==null&&(cancelAnimationFrame(E),E=null),A&&(u(...C||A),A=C=null)},F.cancel=()=>{A=C=null,E!==null&&(cancelAnimationFrame(E),E=null)},F},XZ=(u)=>1-Math.pow(1-u,4),azu=(u,B,E)=>(B-u)*XZ(E)+u,xfu=({fromValues:u,toValues:B,onStep:E,duration:A=250,interpolateValue:C,onStart:D,onEnd:F,onCancel:U})=>{let z=!1,k=0,f;function M(b){if(z)return;f===void 0&&(f=b,D?.());let Z=Math.min(b-f,A),J=XZ(Z/A),K={};if(Object.keys(u).forEach((w)=>{let Q=w,G=(B[Q]-u[Q])*J+u[Q];K[Q]=G}),E(K),Z<A){let w=Z/A,Q={};Object.keys(u).forEach((G)=>{let H=G,l=u[H],q=B[H],L;L=C?C(l,q,w,H):azu(l,q,w),L==null&&(L=azu(l,q,w)),Q[H]=L}),E(Q),k=window.requestAnimationFrame(M)}else E(B),F?.()}return k=window.requestAnimationFrame(M),()=>{U?.(),z=!0,window.cancelAnimationFrame(k)}},Wfu=(u,B)=>{if(!u.length||B<1)return[];let E=0,A=0,C=Array(Math.ceil(u.length/B));for(;E<u.length;)C[A++]=u.slice(E,E+=B);return C},L7=(u,B)=>Math.abs(u-B),n9=(u,B)=>B.type==="custom"?{...u.activeTool,type:"custom",customType:B.customType,locked:B.locked??u.activeTool.locked}:{...u.activeTool,lastActiveTool:B.lastActiveToolBeforeEraser===void 0?u.activeTool.lastActiveTool:B.lastActiveToolBeforeEraser,type:B.type,customType:null,locked:B.locked??u.activeTool.locked},Wu=(u)=>(u=u.replace(/\bAlt\b/i,"Alt").replace(/\bShift\b/i,"Shift").replace(/\b(Enter|Return)\b/i,"Enter"),lD?u.replace(/\bCtrlOrCmd\b/gi,"Cmd").replace(/\bAlt\b/i,"Option"):u.replace(/\bCtrlOrCmd\b/gi,"Ctrl")),q6=({clientX:u,clientY:B},{zoom:E,offsetLeft:A,offsetTop:C,scrollX:D,scrollY:F})=>{let U=(u-A)/E.value-D,z=(B-C)/E.value-F;return{x:U,y:z}},yA=({sceneX:u,sceneY:B},{zoom:E,offsetLeft:A,offsetTop:C,scrollX:D,scrollY:F})=>{let U=(u+D)*E.value+A,z=(B+F)*E.value+C;return{x:U,y:z}},iO=(u)=>getComputedStyle(document.documentElement).getPropertyValue(`--${u}`),Q63="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿Ⰰ-﬜﷾-﹯﻽-￿",G63="֑-߿יִ-﷽ﹰ-ﻼ",H63,Sfu=(u)=>H63.test(u),aA=(u)=>{let[B,E]=u;return{x:B,y:E}},Xf0=(u)=>{if(u?.name==="AbortError"){console.warn(u);return}throw u},vf0=(u,B,E=0)=>{E<0&&(E=u.length+E),E=Math.min(u.length,Math.max(E,0));let A=E-1;for(;++A<u.length;)if(B(u[A],A,u))return A;return-1},vZ=(u,B,E=u.length-1)=>{E<0&&(E=u.length+E),E=Math.min(u.length-1,Math.max(E,0));let A=E+1;for(;--A>-1;)if(B(u[A],A,u))return A;return-1},iA=(u)=>{let B=u.length===5&&u.substr(4,1)==="0",E=u.length===9&&u.substr(7,2)==="00";return B||E||u===m3.transparent},Pk0=(u)=>u.fillStyle!=="solid"||iA(u.backgroundColor),Yfu=()=>{let u,B,E=new Promise((A,C)=>{u=A,B=C});return E.resolve=u,E.reject=B,E},Rfu=(u)=>{let B=u.parentElement;for(;B;){if(B===document.body)return document;let{overflowY:E}=window.getComputedStyle(B);if(B.scrollHeight>B.clientHeight&&(E==="auto"||E==="scroll"||E==="overlay"))return B;B=B.parentElement}return document},Tfu=(u)=>{let B=u.parentElement;for(;B;){if(B.tabIndex>-1){B.focus();return}B=B.parentElement}},q63=(u)=>Array.from(u).map((B)=>`0${B.toString(16)}`.slice(-2)).join(""),qX=()=>$U()?1:Date.now(),e4=(u)=>u instanceof Map?u:u.reduce((B,E)=>(B.set(typeof E=="string"?E:E.id,E),B),new Map),Ofu=(u)=>u.reduce((B,E,A)=>(B.set(E.id,[E,A]),B),new Map),Bf=(u,B)=>u.reduce((E,A)=>(E[B?B(A):String(A)]=A,E),{}),Ifu=(u)=>u.reduce((B,E,A)=>{let C={...E,prev:null,next:null};if(A!==0){let D=B[A-1];if(C.prev=D,D.next=C,A===u.length-1){let F=B[0];C.next=F,F.prev=C}}return B.push(C),B},[]),$U=()=>J3.MODE==="test",xf0=()=>J3.MODE==="development",l63=()=>typeof process<"u"&&!0,Wf0=(u,B)=>new CustomEvent(u,{detail:{nativeEvent:B},cancelable:!0}),aO=(u,B)=>{let E=!1;for(let A in B){let C=B[A];if(typeof C<"u"){if(u[A]===C&&(typeof C!="object"||C===null))continue;E=!0}}return E?{...u,...B}:u},Pfu=()=>{try{return window.self===window.top?"top":"iframe"}catch{return"iframe"}},lX=(u)=>!!u&&typeof u=="object"&&("then"in u)&&("catch"in u)&&("finally"in u),vp=(u)=>{let B=u?.querySelectorAll("button, a, input, select, textarea, div[tabindex], label[tabindex]");return B?Array.from(B).filter((E)=>E.tabIndex>-1&&!E.disabled):[]},mzu=(u,B)=>Array.isArray(u)&&Array.isArray(B)&&u.length===0&&B.length===0?!0:u===B,y5=(u,B,E,A=!1)=>{let C=Object.keys(u),D=Object.keys(B);if(C.length!==D.length)return A&&console.warn("%cisShallowEqual: objects don't have same properties ->","color: #8B4000",u,B),!1;if(E&&Array.isArray(E)){for(let F of E)if(!(u[F]===B[F]||mzu(u[F],B[F])))return A&&console.warn(`%cisShallowEqual: ${F} not equal ->`,"color: #8B4000",u[F],B[F]),!1;return!0}return C.every((F)=>{let U=E?.[F],z=U?U(u[F],B[F]):u[F]===B[F]||mzu(u[F],B[F]);return!z&&A&&console.warn(`%cisShallowEqual: ${F} not equal ->`,"color: #8B4000",u[F],B[F]),z})},mO=(u,B,{checkForDefaultPrevented:E=!0}={})=>function(A){if(u?.(A),!E||!A?.defaultPrevented)return B?.(A)},xZ=(u,B,E)=>{if(!B)return u;if(E)return console.error(B),u;throw Error(B)},jfu=(u)=>{let B,E,A=function(C){let D=Object.entries(C);if(B){let U=!0;for(let[z,k]of D)if(B.get(z)!==k){U=!1;break}if(U)return E}let F=u(C);return B=new Map(D),E=F,F};return A.clear=()=>{B=void 0,E=void 0},A},Sf0=(u,B)=>u instanceof Set||u instanceof Map?u.has(B):("includes"in u)?u.includes(B):u.hasOwnProperty(B),yU=(u)=>JSON.parse(JSON.stringify(u)),LX=(u,B)=>y5(u,B)?u:B,Yf0=(u)=>u.replace(/\r?\n|\r/g,`
`),VE=(u)=>u,YQ=async(u,...B)=>new Promise((E)=>{E(u(...B))}),L63=(...u)=>Math.max(...u.map((B)=>B?1:0))>0,$zu=class{constructor(u,B){j0(this,"pool"),j0(this,"entries",{}),this.pool=new Qfu.default(u,B)}all(){let u=(B)=>{if(B.data.result){let[E,A]=B.data.result;this.entries[E]=A}};return this.pool.addEventListener("fulfilled",u),this.pool.start().then(()=>(setTimeout(()=>{this.pool.removeEventListener("fulfilled",u)}),Object.values(this.entries)))}},n_=(u)=>u.replace(/"/g,"&quot;"),Rf0=(u)=>Array.isArray(u)?u:[u],aE=(u)=>!!u&&u.type==="image"&&!!u.fileId,L1=(u)=>!!u&&u.type==="image",nB=(u)=>!!u&&u.type==="embeddable",Mf=(u)=>!!u&&u.type==="iframe",NE=(u)=>!!u&&(u.type==="iframe"||u.type==="embeddable"),M4=(u)=>u!=null&&u.type==="text",Tf0=(u)=>u!=null&&u.type==="frame",$O=(u)=>u!=null&&u.type==="magicframe",u3=(u)=>u!=null&&(u.type==="frame"||u.type==="magicframe"),rA=(u)=>u!=null&&X63(u.type),X63=(u)=>u==="freedraw",S3=(u)=>u!=null&&xp(u.type),j3=(u)=>u!=null&&u.type==="arrow",Q4=(u)=>j3(u)&&u.elbowed,xp=(u)=>u==="arrow"||u==="line",KD=(u,B=!0)=>u!=null&&(!u.locked||B===!0)&&Of0(u.type),Of0=(u)=>u==="arrow",gA=(u,B=!0)=>u!=null&&(!u.locked||B===!0)&&(u.type==="rectangle"||u.type==="diamond"||u.type==="ellipse"||u.type==="image"||u.type==="iframe"||u.type==="embeddable"||u.type==="frame"||u.type==="magicframe"||u.type==="text"&&!u.containerId),v63=(u)=>u!=null&&(u.type==="rectangle"||u.type==="diamond"||u.type==="image"||u.type==="iframe"||u.type==="embeddable"||u.type==="frame"||u.type==="magicframe"||u.type==="text"&&!u.containerId),WZ=(u,B=!0)=>u!=null&&(!u.locked||B===!0)&&(u.type==="rectangle"||u.type==="diamond"||u.type==="ellipse"||j3(u)),If0=(u)=>{let B=u?.type;if(!B)return!1;switch(B){case"text":case"diamond":case"rectangle":case"iframe":case"embeddable":case"ellipse":case"arrow":case"freedraw":case"line":case"frame":case"magicframe":case"image":case"selection":return!0;default:return xZ(B,null),!1}},yO=(u)=>u.type==="rectangle"||u.type==="ellipse"||u.type==="diamond",r8=(u)=>WZ(u)&&!!u.boundElements?.some(({type:B})=>B==="text"),x6=(u)=>u!==null&&("containerId"in u)&&u.containerId!==null&&M4(u),yQ=(u)=>u==="rectangle"||u==="embeddable"||u==="iframe"||u==="image",Vfu=(u)=>u==="line"||u==="arrow"||u==="diamond",hfu=(u,B)=>!!((u===Z2.ADAPTIVE_RADIUS||u===Z2.LEGACY)&&yQ(B.type)||u===Z2.PROPORTIONAL_RADIUS&&Vfu(B.type)),ifu=(u)=>Vfu(u.type)?{type:Z2.PROPORTIONAL_RADIUS}:yQ(u.type)?{type:Z2.ADAPTIVE_RADIUS}:null,Dp=(u)=>Object.hasOwn(u,"fixedPoint")&&u.fixedPoint!=null,X7=(u,B,E)=>{let A=u.split(`
`).map((F)=>F||" ").join(`
`),C=parseFloat(B),D=S63(A,C,E);return{width:Sp(A,B),height:D}},afu,Pf0=(u,B)=>{let E=Y63(u);return E===0?X7(afu.split("").join(`
`),u,B).width+M2*2:E+M2*2},Wp=(u,B)=>X7("",u,B).width+M2*2,mfu=()=>Sp(afu,B6({fontSize:mU,fontFamily:ff}))>0,rQ=(u)=>Yf0(u).replace(/\t/g," "),jf0=(u)=>rQ(u).split(`
`),x63=(u)=>{let B=jf0(u.text).length;return u.height/B/u.fontSize},XX=(u,B)=>u*B,Nf0=(u,B)=>XX(u,B)+M2*2,jk0,W63=class{constructor(){j0(this,"canvas"),this.canvas=document.createElement("canvas")}getLineWidth(u,B){let E=this.canvas.getContext("2d");E.font=B;let A=E.measureText(u).width;return $U()?A*10:A}},RQ=(u,B)=>(jk0||(jk0=new W63),jk0.getLineWidth(u,B)),Sp=(u,B)=>{let E=jf0(u),A=0;return E.forEach((C)=>{A=Math.max(A,RQ(C,B))}),A},S63=(u,B,E)=>{let A=jf0(u).length;return XX(B,E)*A},rO,Y63=(u)=>{let B=rO.getCache(u);if(!B)return 0;let E=B.filter((A)=>A!==void 0);return Math.max(...E)},Nk0,g_,Vk0,R63=(u)=>(Nk0||(Nk0=_1.class(...Object.values(Cf))),Nk0.test(u)),T63=()=>{if(!g_)try{g_=I63()}catch{g_=O63()}return g_},Vf0=()=>(Vk0||(Vk0=P63()),Vk0),hA,Cf,LQ,O63=()=>_1.or(Vf0(),p9.On(hA.HYPHEN,hA.WHITESPACE,Cf.CHAR)),I63=()=>_1.or(Vf0(),p9.Before(hA.WHITESPACE).Build(),p9.After(hA.WHITESPACE,hA.HYPHEN).Build(),p9.Before(Cf.CHAR,Cf.CURRENCY).NotPrecededBy(hA.OPENING,Cf.OPENING).Build(),p9.After(Cf.CHAR).NotFollowedBy(hA.HYPHEN,hA.CLOSING,Cf.CLOSING).Build(),p9.BeforeMany(Cf.OPENING).NotPrecededBy(hA.OPENING).Build(),p9.AfterMany(Cf.CLOSING).NotFollowedBy(hA.CLOSING).Build(),p9.AfterMany(hA.CLOSING).FollowedBy(hA.OPENING).Build()),P63=()=>_1.group(_1.or(LQ.FLAG,_1.and(LQ.MOST,LQ.JOINER,_1.build(`(?:${LQ.ZWJ.source}(?:${LQ.FLAG.source}|${LQ.ANY.source}${LQ.JOINER.source}))*`)))),_1,p9,j63=(u)=>{let B=T63();return u.normalize("NFC").split(B).filter(Boolean)},SZ=(u,B,E)=>{if(!Number.isFinite(E)||E<0)return u;let A=[],C=u.split(`
`);for(let D of C){if(RQ(D,B)<=E){A.push(D);continue}let F=N63(D,B,E);A.push(...F)}return A.join(`
`)},N63=(u,B,E)=>{let A=[],C=j63(u)[Symbol.iterator](),D="",F=0,U=C.next();for(;!U.done;){let z=U.value,k=D+z,f=i63(z)?F+rO.calculate(z,B):RQ(k,B);if(/\s/.test(z)||f<=E){D=k,F=f,U=C.next();continue}if(D)A.push(D.trimEnd()),D="",F=0;else{let M=V63(z,B,E),b=M[M.length-1]??"",Z=M.slice(0,-1);A.push(...Z),D=b,F=RQ(b,B),U=C.next()}}if(D){let z=h63(D,B,E);A.push(z)}return A},V63=(u,B,E)=>{if(Vf0().test(u))return[u];a63(u);let A=[],C=Array.from(u),D="",F=0;for(let U of C){let z=rO.calculate(U,B),k=F+z;if(k<=E){D=D+U,F=k;continue}D&&A.push(D),D=U,F=z}return D&&A.push(D),A},h63=(u,B,E)=>{if(!(RQ(u,B)>E))return u;let[,A,C]=u.match(/^(.+?)(\s+)$/)??[u,u.trimEnd(),""],D=RQ(A,B);for(let F of Array.from(C)){let U=rO.calculate(F,B),z=D+U;if(z>E)break;A=A+F,D=z}return A},i63=(u)=>u.codePointAt(0)!==void 0&&u.codePointAt(1)===void 0,a63=(u)=>{if((J3.MODE===cB.TEST||J3.DEV)&&/\s/.test(u))throw Error("Word should not contain any whitespaces!")},yB=class{},s6,ZD=(u)=>"var(--icon-fill-color)",$fu=(u)=>u===p3.LIGHT?n6.white:"#1e1e1e",ku=(u,B=512)=>{let{width:E=512,height:A=E,mirror:C,style:D,...F}=typeof B=="number"?{width:B}:B;return P("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:`0 0 ${E} ${A}`,className:Yu({"rtl-mirror":C}),style:D,...F,children:typeof u=="string"?P("path",{fill:"currentColor",d:u}):u})},k4,I3,zW1,Yp,yfu,rfu,gfu,gO,Rp,cfu,_fu,pfu,kW1,m63,$63,y63,r63,g63,c63,nfu,kX,hf0,_63,p63,if0,af0,dfu,YZ,sfu,Tp,Op,Ip,mf0,cO,Pp,ofu,$f0,yf0,tfu,efu,uMu,jp,BMu,EMu,Np,fW1,AMu,Vp,rf0,CMu,MW1,bW1,DMu,ZW1,gf0,cf0,FMu,UMu,JW1,KW1,wW1,QW1,GW1,zMu,kMu,_f0,pf0,nf0,df0,sf0,of0,tf0,ef0,fMu,MMu,uM0,BM0,EM0,HW1,qW1,gQ,lW1,LW1,XW1,AM0,CM0,bMu,ZMu,JMu,KMu,DM0,wMu,QMu,vW1,GMu,HMu,qMu,lMu,LMu,XMu,vMu,xMu,WMu,SMu,YMu,RMu,TMu,OMu,IMu,PMu,jMu,NMu,VMu,hMu,iMu,aMu,mMu,_O,n63,LO,Fp,$Mu,yMu,rMu,gMu,cMu,_Mu,FM0,pMu,xW1,UM0,zM0,hp,nMu,dMu,WW1,SW1,sMu,oMu,tMu,eMu,kM0,fM0,pO,MM0,bM0,YW1,RW1,ubu,ip,Bbu,Ebu,Abu,RZ,Cbu,Dbu,Fbu,ZM0,Ubu,zbu,kbu,fbu,JM0,ap,Mbu,bbu,Zbu,Jbu,Kbu,TW1,wbu,Qbu,Gbu,Hbu,qbu,lbu,KM0,Lbu,Xbu,wM0,QM0,Up,XQ,GM0="local:",d63,nO,MZ,s63,vbu,xbu,yzu,o63=class{constructor(u){j0(this,"instance"),j0(this,"debounceTerminate"),this.instance=new Worker(u,{type:"module"})}},t63=class u{constructor(B,E){j0(this,"idleWorkers",new Set),j0(this,"workerUrl"),j0(this,"workerTTL"),this.workerUrl=B,this.workerTTL=E.ttl||1000}static create(B,E={}){if(!B)throw new vbu;if(!import.meta.url||B.toString()===import.meta.url)throw new xbu;return new u(B,E)}async postMessage(B,E){let A,C=Array.from(this.idleWorkers).shift();return C?(this.idleWorkers.delete(C),A=C):A=await this.createWorker(),new Promise((D,F)=>{A.instance.onmessage=this.onMessageHandler(A,D),A.instance.onerror=this.onErrorHandler(A,F),A.instance.postMessage(B,E),A.debounceTerminate(()=>F(Error(`Active worker did not respond for ${this.workerTTL}ms!`)))})}async clear(){for(let B of this.idleWorkers)B.debounceTerminate.cancel(),B.instance.terminate();this.idleWorkers.clear()}async createWorker(){let B=new o63(this.workerUrl);return B.debounceTerminate=$Q((E)=>{B.instance.terminate(),this.idleWorkers.has(B)?(this.idleWorkers.delete(B),console.debug("Job finished! Idle worker has been released from the pool.")):E?E():console.error("Worker has been terminated!")},this.workerTTL),B}onMessageHandler(B,E){return(A)=>{B.debounceTerminate(),this.idleWorkers.add(B),E(A.data)}}onErrorHandler(B,E){return(A)=>{B.debounceTerminate(()=>E(A)),B.debounceTerminate.flush(),this.clear()}}},rzu,e63=async(u,B)=>{let{Commands:E,subsetToBase64:A,toBase64:C}=await B93();return rzu?YQ(async()=>{try{let D=await E93(),F=u.slice(0),U=await D.postMessage({command:E.Subset,arrayBuffer:F,codePoints:B},{transfer:[F]});return C(U)}catch(D){return rzu=!1,l63()&&(D instanceof vbu||D instanceof xbu)||console.error("Failed to use workers for subsetting, falling back to the main thread.",D),A(u,B)}}):A(u,B)},hk0=null,ik0=null,u93=async()=>(hk0||(hk0=Promise.resolve().then(() => (Hzu(),Gzu))),hk0),B93=async()=>(ik0||(ik0=Promise.resolve().then(() => (lzu(),qzu))),ik0),ak0=null,E93=()=>(ak0||(ak0=YQ(async()=>{let{WorkerUrl:u}=await u93();return t63.create(u)})),ak0),Wbu=class u{constructor(B,E,A){j0(this,"urls"),j0(this,"fontFace"),this.urls=u.createUrls(E);let C=this.urls.map((D)=>`url(${D}) ${u.getFormat(D)}`).join(", ");this.fontFace=new FontFace(B,C,{display:"swap",style:"normal",weight:"400",...A})}toCSS(B){if(!this.getUnicodeRangeRegex().test(B))return;let E=Array.from(B).map((A)=>A.codePointAt(0));return this.getContent(E).then((A)=>`@font-face { font-family: ${this.fontFace.family}; src: url(${A}); }`)}async getContent(B){let E=0,A=[];for(;E<this.urls.length;){let C=this.urls[E];try{let D=await this.fetchFont(C);return await e63(D,B)}catch(D){A.push(`"${C.toString()}" returned error "${D}"`)}E++}return console.error(`Failed to fetch font family "${this.fontFace.family}"`,JSON.stringify(A,void 0,2)),this.urls.length?this.urls[this.urls.length-1].toString():""}fetchFont(B){return YQ(async()=>{let E=await fetch(B,{cache:"force-cache",headers:{Accept:"font/woff2"}});if(!E.ok){let A=B instanceof URL?B.toString():"dataurl";throw Error(`Failed to fetch "${A}": ${E.statusText}`)}return await E.arrayBuffer()})}getUnicodeRangeRegex(){let B=this.fontFace.unicodeRange.split(/,\s*/).map((E)=>{let[A,C]=E.replace("U+","").split("-");return C?`\\u{${A}}-\\u{${C}}`:`\\u{${A}}`}).join("");return new RegExp(`[${B}]`,"u")}static createUrls(B){if(B.startsWith("data"))return[B];if(B.startsWith(GM0))return[];if(B.startsWith("http"))return[new URL(B)];let E=B.replace(/^\/+/,""),A=[];if(typeof window.EXCALIDRAW_ASSET_PATH=="string"){let C=this.normalizeBaseUrl(window.EXCALIDRAW_ASSET_PATH);A.push(new URL(E,C))}else Array.isArray(window.EXCALIDRAW_ASSET_PATH)&&window.EXCALIDRAW_ASSET_PATH.forEach((C)=>{let D=this.normalizeBaseUrl(C);A.push(new URL(E,D))});return A.push(new URL(E,u.ASSETS_FALLBACK_URL)),A}static getFormat(B){if(!(B instanceof URL))return"";try{let E=new URL(B).pathname.split(".");return E.length===1?"":`format('${E.pop()}')`}catch{return""}}static normalizeBaseUrl(B){let E=B;return/^\.?\//.test(E)&&(E=new URL(E.replace(/^\.?\/+/,""),window?.location?.origin).toString()),E=`${E.replace(/\/+$/,"")}/`,E}},A93,C93="./fonts/Cascadia/CascadiaCode-Regular.woff2",D93,F93="./fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2",U93="./fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2",z93="./fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2",k93="./fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2",f93,M93,b93="./fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2",Z93="./fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2",J93="./fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2",K93="./fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2",w93="./fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2",Q93="./fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2",G93="./fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2",H93,q93,l93="./fonts/Liberation/LiberationSans-Regular.woff2",L93,X93="./fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2",v93="./fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2",x93,W93="./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2",S93="./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2",Y93="./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2",R93="./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2",T93="./fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2",O93,I93="./fonts/Virgil/Virgil-Regular.woff2",P93,j93="./fonts/Xiaolai/Xiaolai-Regular-09850c4077f3fffe707905872e0e2460.woff2",N93="./fonts/Xiaolai/Xiaolai-Regular-7eb9fffd1aa890d07d0f88cc82e6cfe4.woff2",V93="./fonts/Xiaolai/Xiaolai-Regular-60a3089806700d379f11827ee9843b6b.woff2",h93="./fonts/Xiaolai/Xiaolai-Regular-6fe5c5973cc06f74b2387a631ea36b88.woff2",i93="./fonts/Xiaolai/Xiaolai-Regular-b96d9226ce77ec94ceca043d712182e6.woff2",a93="./fonts/Xiaolai/Xiaolai-Regular-6ae5b42180ad70b971c91e7eefb8eba2.woff2",m93="./fonts/Xiaolai/Xiaolai-Regular-a4c34be6d42152e64b0df90bc4607f64.woff2",$93="./fonts/Xiaolai/Xiaolai-Regular-c69f61a4ab18d0488c8d1fc12e7028e8.woff2",y93="./fonts/Xiaolai/Xiaolai-Regular-e3fcf5180fd466c8915c4e8069491054.woff2",r93="./fonts/Xiaolai/Xiaolai-Regular-c1f94158256bb1f3bf665b053d895af9.woff2",g93="./fonts/Xiaolai/Xiaolai-Regular-544fc28abe2c5c30e62383fd4dac255f.woff2",c93="./fonts/Xiaolai/Xiaolai-Regular-7197d6fda6cba7c3874c53d6381ca239.woff2",_93="./fonts/Xiaolai/Xiaolai-Regular-70c2eb8d64e71a42a834eb857ea9df51.woff2",p93="./fonts/Xiaolai/Xiaolai-Regular-069e77aac84590e2e991d0a0176d34f2.woff2",n93="./fonts/Xiaolai/Xiaolai-Regular-41521fade99856108931b4768b1b2648.woff2",d93="./fonts/Xiaolai/Xiaolai-Regular-a004ddfcb26e67bd6e678c8ed19e25ce.woff2",s93="./fonts/Xiaolai/Xiaolai-Regular-04b718e5623574919c8b0dea5f301444.woff2",o93="./fonts/Xiaolai/Xiaolai-Regular-7e4bde7e9c7f84cd34d8a845e384c746.woff2",t93="./fonts/Xiaolai/Xiaolai-Regular-23686f7f29da6e8008c36dd3a80c83d6.woff2",e93="./fonts/Xiaolai/Xiaolai-Regular-69c09cc5fa3e55c74fc4821f76909cc3.woff2",u23="./fonts/Xiaolai/Xiaolai-Regular-25b7f38e18f035f96cb5e547bd2bd08c.woff2",B23="./fonts/Xiaolai/Xiaolai-Regular-ba3de316d63c7e339987b16f41a0b879.woff2",E23="./fonts/Xiaolai/Xiaolai-Regular-12b52b58eb3df36804b9a654ec9ee194.woff2",A23="./fonts/Xiaolai/Xiaolai-Regular-b1220a3c61f85cc0408deedb4c5f57a2.woff2",C23="./fonts/Xiaolai/Xiaolai-Regular-4535823663ad81405188a528d8f2b1a2.woff2",D23="./fonts/Xiaolai/Xiaolai-Regular-3eaa538115d76932653c21d8dc28f207.woff2",F23="./fonts/Xiaolai/Xiaolai-Regular-7e929f262f30c8ee78bf398150b1a7cd.woff2",U23="./fonts/Xiaolai/Xiaolai-Regular-73e309718fd16cea44b4d54a33581811.woff2",z23="./fonts/Xiaolai/Xiaolai-Regular-9eb5a99df4e76ac3363453ac9ca288b1.woff2",k23="./fonts/Xiaolai/Xiaolai-Regular-3e63ed8162808a9e425ed80a8bc79114.woff2",f23="./fonts/Xiaolai/Xiaolai-Regular-cb17fc3db95f6d139afc9d31a8e93293.woff2",M23="./fonts/Xiaolai/Xiaolai-Regular-c8b71798409ccc126ee264a00aadcf21.woff2",b23="./fonts/Xiaolai/Xiaolai-Regular-11c345711937f0ba4b8f7b6b919c8440.woff2",Z23="./fonts/Xiaolai/Xiaolai-Regular-e480d9c614742d05f0e78f274f1e69e6.woff2",J23="./fonts/Xiaolai/Xiaolai-Regular-95429962233afd82db1c27df1500a28c.woff2",K23="./fonts/Xiaolai/Xiaolai-Regular-2cf96d082d35ea3d8106851223ad0d16.woff2",w23="./fonts/Xiaolai/Xiaolai-Regular-2d43040e86ff03ba677f6f9c04cd0805.woff2",Q23="./fonts/Xiaolai/Xiaolai-Regular-2a26d20a23b00898ce82f09d2ee47c3f.woff2",G23="./fonts/Xiaolai/Xiaolai-Regular-a365e82ed54697a52f27adcea1315fe8.woff2",H23="./fonts/Xiaolai/Xiaolai-Regular-f5d079153c99a25b9be5b8583c4cc8a7.woff2",q23="./fonts/Xiaolai/Xiaolai-Regular-10a7ae9a371830a80c3d844acf1c02d7.woff2",l23="./fonts/Xiaolai/Xiaolai-Regular-e4bca6cfa53e499cae0a6be4894a90e9.woff2",L23="./fonts/Xiaolai/Xiaolai-Regular-60a41c7e1c68f22424e6d22df544bc82.woff2",X23="./fonts/Xiaolai/Xiaolai-Regular-7ab2bed91166a9dca83a5ebfbe2a7f38.woff2",v23="./fonts/Xiaolai/Xiaolai-Regular-670ba603758d94268e8606f240a42e12.woff2",x23="./fonts/Xiaolai/Xiaolai-Regular-e656f091b9dc4709722c9f4b84d3c797.woff2",W23="./fonts/Xiaolai/Xiaolai-Regular-15dc6d811c9cd078f9086a740d5a1038.woff2",S23="./fonts/Xiaolai/Xiaolai-Regular-f0f13b5c60e0af5553bd359f5513be1b.woff2",Y23="./fonts/Xiaolai/Xiaolai-Regular-8c2f33cee3993174f7e87c28e4bf42ee.woff2",R23="./fonts/Xiaolai/Xiaolai-Regular-761d05e3cd968cf574166867998ef06a.woff2",T23="./fonts/Xiaolai/Xiaolai-Regular-642b26e2e5f5fb780b51b593dbc8c851.woff2",O23="./fonts/Xiaolai/Xiaolai-Regular-5572b3513ba8df57a3d5d7303ee6b11b.woff2",I23="./fonts/Xiaolai/Xiaolai-Regular-3c9de2ae0ea4bc91a510942dfa4be8d2.woff2",P23="./fonts/Xiaolai/Xiaolai-Regular-671a2c20b1eb9e4ef8a192833940e319.woff2",j23="./fonts/Xiaolai/Xiaolai-Regular-4dc6d5f188d5c96d44815cd1e81aa885.woff2",N23="./fonts/Xiaolai/Xiaolai-Regular-ce4884f96f11589608b76b726a755803.woff2",V23="./fonts/Xiaolai/Xiaolai-Regular-8f476c4c99813d57cbe6eca4727388ad.woff2",h23="./fonts/Xiaolai/Xiaolai-Regular-5935a5775af3d5c6307ac667bd9ae74e.woff2",i23="./fonts/Xiaolai/Xiaolai-Regular-79f007c1c6d07557120982951ea67998.woff2",a23="./fonts/Xiaolai/Xiaolai-Regular-bafff7a14c27403dcc6cf1432e8ea836.woff2",m23="./fonts/Xiaolai/Xiaolai-Regular-543fa46ace099a7099dad69123399400.woff2",$23="./fonts/Xiaolai/Xiaolai-Regular-4ddc14ed3eb0c3e46364317dfc0144a3.woff2",y23="./fonts/Xiaolai/Xiaolai-Regular-0fa55a080fcd0f9dc2e0b0058b793df8.woff2",r23="./fonts/Xiaolai/Xiaolai-Regular-66493ba5a8367f2928812f446f47b56a.woff2",g23="./fonts/Xiaolai/Xiaolai-Regular-57862b464a55b18c7bf234ce22907d73.woff2",c23="./fonts/Xiaolai/Xiaolai-Regular-8d3bcabb847b56243b16afe62adaaf21.woff2",_23="./fonts/Xiaolai/Xiaolai-Regular-2b77e8ebfb2367ab2662396a60e7d320.woff2",p23="./fonts/Xiaolai/Xiaolai-Regular-0b5d723fdc4e249c140f0909e87d03b4.woff2",n23="./fonts/Xiaolai/Xiaolai-Regular-cdbce89e82cc1ab53a2decbf5819278f.woff2",d23="./fonts/Xiaolai/Xiaolai-Regular-739bc1a567439c7cffcd1614644593d2.woff2",s23="./fonts/Xiaolai/Xiaolai-Regular-72252d73220fa3cd856677888cee1635.woff2",o23="./fonts/Xiaolai/Xiaolai-Regular-08e0dc436ad0ad61ba5558db0674d762.woff2",t23="./fonts/Xiaolai/Xiaolai-Regular-cf6ff4e0f491ca0cf3038187a997b9b4.woff2",e23="./fonts/Xiaolai/Xiaolai-Regular-9cfb2a77a4e45025105ad29a1748b90d.woff2",u53="./fonts/Xiaolai/Xiaolai-Regular-450da755d5bcb70906e1295e559b9602.woff2",B53="./fonts/Xiaolai/Xiaolai-Regular-0986d134c05864f5025962eef9f994a0.woff2",E53="./fonts/Xiaolai/Xiaolai-Regular-1ee544f0f1dac422545c505baa788992.woff2",A53="./fonts/Xiaolai/Xiaolai-Regular-4806e761d750087c2d734fc64596eaff.woff2",C53="./fonts/Xiaolai/Xiaolai-Regular-33432927cd87d40cfe393c7482bf221f.woff2",D53="./fonts/Xiaolai/Xiaolai-Regular-be549ab72f0719d606a5c01e2c0219b6.woff2",F53="./fonts/Xiaolai/Xiaolai-Regular-019d66dcad46dc156b162d267f981c20.woff2",U53="./fonts/Xiaolai/Xiaolai-Regular-b5c1596551c256e0e9cf02028595b092.woff2",z53="./fonts/Xiaolai/Xiaolai-Regular-e5f453bb04da18eed01675eeebd88bf8.woff2",k53="./fonts/Xiaolai/Xiaolai-Regular-cf2cc71752631e579e35b0e423bf2638.woff2",f53="./fonts/Xiaolai/Xiaolai-Regular-6f3256af8454371776bc46670d33cc65.woff2",M53="./fonts/Xiaolai/Xiaolai-Regular-23f228f3999c01983860012330e4be08.woff2",b53="./fonts/Xiaolai/Xiaolai-Regular-21430ee05a1248901da8d0de08744d47.woff2",Z53="./fonts/Xiaolai/Xiaolai-Regular-5330a2119a716e4e7224ed108b085dac.woff2",J53="./fonts/Xiaolai/Xiaolai-Regular-cd145ce4a0ea18469358df53c207bc1b.woff2",K53="./fonts/Xiaolai/Xiaolai-Regular-36925dfe329a45086cbb7fc5c20d45ac.woff2",w53="./fonts/Xiaolai/Xiaolai-Regular-4bfaa8ffa64c5ee560aa2daba7c9cbd3.woff2",Q53="./fonts/Xiaolai/Xiaolai-Regular-112c051027b2d766c19a519f6ee1f4f7.woff2",G53="./fonts/Xiaolai/Xiaolai-Regular-5b0ed6971aaab9c8ad563230bd5471a7.woff2",H53="./fonts/Xiaolai/Xiaolai-Regular-98f2ad84457de7f3740d9920b8fa8667.woff2",q53="./fonts/Xiaolai/Xiaolai-Regular-733171b4ffcd17ea1fe1c0ba627173bf.woff2",l53="./fonts/Xiaolai/Xiaolai-Regular-684d65f1793cac449dde5d59cb3c47fb.woff2",L53="./fonts/Xiaolai/Xiaolai-Regular-cbaaefaaf326668277aa24dfa93c4d28.woff2",X53="./fonts/Xiaolai/Xiaolai-Regular-58fd02350d0bc52cf1ca3bb32ce9766e.woff2",v53="./fonts/Xiaolai/Xiaolai-Regular-7ccce86603f80a099ddb0cb21d4ae3e3.woff2",x53="./fonts/Xiaolai/Xiaolai-Regular-3717077e38f98d89eae729b6c14e56dc.woff2",W53="./fonts/Xiaolai/Xiaolai-Regular-dbea1af6dcd9860be40c3d18254338f5.woff2",S53="./fonts/Xiaolai/Xiaolai-Regular-4a0fdb40036e87b40aa08dd30584cb85.woff2",Y53="./fonts/Xiaolai/Xiaolai-Regular-0f626226ba1272e832aea87bafd9720e.woff2",R53="./fonts/Xiaolai/Xiaolai-Regular-938d90c10ff8c20386af7f242c05d6b0.woff2",T53="./fonts/Xiaolai/Xiaolai-Regular-b6d128682ee29e471486354d486a1b90.woff2",O53="./fonts/Xiaolai/Xiaolai-Regular-e51ef413167c6e14e0c0fdcc585f2fc9.woff2",I53="./fonts/Xiaolai/Xiaolai-Regular-9d81066dd2b337c938df6e90380a00dc.woff2",P53="./fonts/Xiaolai/Xiaolai-Regular-20e7bf72fa05de9adf7dbcc7bf51dde6.woff2",j53="./fonts/Xiaolai/Xiaolai-Regular-4095eb84ef3874e2600247bee0b04026.woff2",N53="./fonts/Xiaolai/Xiaolai-Regular-4ee10ae43505e2e0bc62656ced49c0fa.woff2",V53="./fonts/Xiaolai/Xiaolai-Regular-7494dc504ae00ee9cd0505f990f88c5d.woff2",h53="./fonts/Xiaolai/Xiaolai-Regular-8de5b863cb50dfefdd07cb11c774d579.woff2",i53="./fonts/Xiaolai/Xiaolai-Regular-3e1f8f654357353bf0e04ba5c34b5f7f.woff2",a53="./fonts/Xiaolai/Xiaolai-Regular-2e33e8dc771ef5e1d9127d60a6b73679.woff2",m53="./fonts/Xiaolai/Xiaolai-Regular-173945821411c09f70c95f98d590e697.woff2",$53="./fonts/Xiaolai/Xiaolai-Regular-b358f7a51ece39a3247942b1feabdb29.woff2",y53="./fonts/Xiaolai/Xiaolai-Regular-23ad2d71b280f00b1363b95b7bea94eb.woff2",r53="./fonts/Xiaolai/Xiaolai-Regular-5882ffa04f32584d26109137e2da4352.woff2",g53="./fonts/Xiaolai/Xiaolai-Regular-a203b91dad570bf05a58c3c3ddb529bf.woff2",c53="./fonts/Xiaolai/Xiaolai-Regular-bd77e3c7f9e0b072d96af37f73d1aa32.woff2",_53="./fonts/Xiaolai/Xiaolai-Regular-5a45d991244d4c7140217e1e5f5ca4f4.woff2",p53="./fonts/Xiaolai/Xiaolai-Regular-f56414bf9bced67990def8660e306759.woff2",n53="./fonts/Xiaolai/Xiaolai-Regular-583d166e56ba0de4b77eabb47ef67839.woff2",d53="./fonts/Xiaolai/Xiaolai-Regular-7f855356ab893b0d2b9c1c83b8116f0e.woff2",s53="./fonts/Xiaolai/Xiaolai-Regular-b57aaedfd8ebdf3931f25119dc6a5eb2.woff2",o53="./fonts/Xiaolai/Xiaolai-Regular-b6fd38ca30869792244804b04bc058da.woff2",t53="./fonts/Xiaolai/Xiaolai-Regular-452225341522a7942f0f6aab1a5c91a3.woff2",e53="./fonts/Xiaolai/Xiaolai-Regular-866fa7613df6b3fd272bcfd4530c0bb9.woff2",u73="./fonts/Xiaolai/Xiaolai-Regular-52a84a22fd1369bffeaf21da2d6158dc.woff2",B73="./fonts/Xiaolai/Xiaolai-Regular-829615148e6357d826b9242eb7fbbd1e.woff2",E73="./fonts/Xiaolai/Xiaolai-Regular-c99eda15fc26a2941579560f76c3a5cf.woff2",A73="./fonts/Xiaolai/Xiaolai-Regular-395c35dd584b56b0789f58a0559beaf1.woff2",C73="./fonts/Xiaolai/Xiaolai-Regular-203b0e569e3b14aac86a003dc3fa523e.woff2",D73="./fonts/Xiaolai/Xiaolai-Regular-51a0e808bbc8361236ac521a119758a3.woff2",F73="./fonts/Xiaolai/Xiaolai-Regular-6e092f71c1e634059ada0e52abadce67.woff2",U73="./fonts/Xiaolai/Xiaolai-Regular-0f7fb1e0d5015bb1371343153ecf7ce3.woff2",z73="./fonts/Xiaolai/Xiaolai-Regular-d0cf73942fea1c74edbdf0b3011f4656.woff2",k73="./fonts/Xiaolai/Xiaolai-Regular-968cffdc8ee679da094e77ebf50f58ef.woff2",f73="./fonts/Xiaolai/Xiaolai-Regular-7a07ddc0f0c0f5f4a9bad6ee3dda66b5.woff2",M73="./fonts/Xiaolai/Xiaolai-Regular-ec181b795ac1fb5a50d700b6e996d745.woff2",b73="./fonts/Xiaolai/Xiaolai-Regular-cfb211578629b7e8153b37240de6a9d5.woff2",Z73="./fonts/Xiaolai/Xiaolai-Regular-59e9ff77b0efaf684bc09274fb6908c9.woff2",J73="./fonts/Xiaolai/Xiaolai-Regular-2adbc89c11e65905393d3dfc468b9d5b.woff2",K73="./fonts/Xiaolai/Xiaolai-Regular-70e811fd7994e61f408c923de6ddd078.woff2",w73="./fonts/Xiaolai/Xiaolai-Regular-c4a687ac4f0c2766eefc9f77ed99cddf.woff2",Q73="./fonts/Xiaolai/Xiaolai-Regular-51502f1206be09c565f1547c406e9558.woff2",G73="./fonts/Xiaolai/Xiaolai-Regular-1fdc0c67ed57263a80fd108c1f6ccf24.woff2",H73="./fonts/Xiaolai/Xiaolai-Regular-e11567fd2accf9957cd0d3c2be937d87.woff2",q73="./fonts/Xiaolai/Xiaolai-Regular-20cc1bbf50e7efb442756cb605672c1f.woff2",l73="./fonts/Xiaolai/Xiaolai-Regular-5d2898fbc097a7e24c6f38d80587621e.woff2",L73="./fonts/Xiaolai/Xiaolai-Regular-ac9ceb44437becc3e9c4dbfebab7fc2d.woff2",X73="./fonts/Xiaolai/Xiaolai-Regular-c16ed9740b85badf16e86ea782a3062f.woff2",v73="./fonts/Xiaolai/Xiaolai-Regular-aa0d470430e6391eca720c7cfa44446f.woff2",x73="./fonts/Xiaolai/Xiaolai-Regular-f2b54d4e7be0eaefe1c2c56836fa5368.woff2",W73="./fonts/Xiaolai/Xiaolai-Regular-99a16ef6a64934d5781933dbd9c46b2e.woff2",S73="./fonts/Xiaolai/Xiaolai-Regular-c40533fdf4cc57177b12803598af7e59.woff2",Y73="./fonts/Xiaolai/Xiaolai-Regular-91ddb2969bf2d31ba02ad82998d1314c.woff2",R73="./fonts/Xiaolai/Xiaolai-Regular-774d4f764a1299da5d28ec2f2ffe0d69.woff2",T73="./fonts/Xiaolai/Xiaolai-Regular-7718fe60986d8b42b1be9c5ace5ccf25.woff2",O73="./fonts/Xiaolai/Xiaolai-Regular-aa5c9ca6cf4fba00433b7aa3fa10671a.woff2",I73="./fonts/Xiaolai/Xiaolai-Regular-4f50e5136e136527280bc902c5817561.woff2",P73="./fonts/Xiaolai/Xiaolai-Regular-093b9ef39a46ceae95a1df18a0a3a326.woff2",j73="./fonts/Xiaolai/Xiaolai-Regular-a0ca5df4258213d7fc9fce80f65ce760.woff2",N73="./fonts/Xiaolai/Xiaolai-Regular-d2666cbed13462c5dc36fa2f15c202ca.woff2",V73="./fonts/Xiaolai/Xiaolai-Regular-1e6fd68f1f3902ce48ce8c69df385622.woff2",h73="./fonts/Xiaolai/Xiaolai-Regular-87599f94b6cc129d505b375798d0d751.woff2",i73="./fonts/Xiaolai/Xiaolai-Regular-06c77b8c66e51ed6c63ccb502dd8b8af.woff2",a73="./fonts/Xiaolai/Xiaolai-Regular-13ae07ed2e272d26d59bc0691cd7117a.woff2",m73="./fonts/Xiaolai/Xiaolai-Regular-353f33792a8f60dc69323ddf635a269e.woff2",$73="./fonts/Xiaolai/Xiaolai-Regular-0facdf1ea213ba40261022f5d5ed4493.woff2",y73="./fonts/Xiaolai/Xiaolai-Regular-f8ee5d36068a42b51d0e4a1116cfcec1.woff2",r73="./fonts/Xiaolai/Xiaolai-Regular-79d494361ae093b69e74ee9dbe65bfd4.woff2",g73="./fonts/Xiaolai/Xiaolai-Regular-74e2263a91439c25b91d5132ce9f4d62.woff2",c73="./fonts/Xiaolai/Xiaolai-Regular-ee8bae97908d5147b423f77ad0d3c1bb.woff2",_73="./fonts/Xiaolai/Xiaolai-Regular-56467a5c8840c4d23a60b2f935114848.woff2",p73="./fonts/Xiaolai/Xiaolai-Regular-145aa02cdd91946e67dc934e1acffe75.woff2",n73="./fonts/Xiaolai/Xiaolai-Regular-54acdfc2166ad7fcbd074f75fd4a56ba.woff2",d73="./fonts/Xiaolai/Xiaolai-Regular-29cec36cd205b211da97acabaa62f055.woff2",s73="./fonts/Xiaolai/Xiaolai-Regular-3756e81d3e149cf6099163ee79944fec.woff2",o73="./fonts/Xiaolai/Xiaolai-Regular-8e9f97f01034820170065b2921b4fb5e.woff2",t73="./fonts/Xiaolai/Xiaolai-Regular-13d2887ec8ee73c43acdabc52a05af7b.woff2",e73="./fonts/Xiaolai/Xiaolai-Regular-72536a3d71b694a0d53dd90ddceae41e.woff2",uB3="./fonts/Xiaolai/Xiaolai-Regular-603aefd23e350ba7eb124273e3c9bcf1.woff2",BB3="./fonts/Xiaolai/Xiaolai-Regular-095c169f3314805276f603a362766abd.woff2",EB3="./fonts/Xiaolai/Xiaolai-Regular-9544732d2e62d1a429674f8ee41b5d3a.woff2",AB3="./fonts/Xiaolai/Xiaolai-Regular-d3716376641d615e2995605b29bca7b6.woff2",CB3="./fonts/Xiaolai/Xiaolai-Regular-5a1ce3117cfe90c48e8fb4a9a00f694d.woff2",DB3="./fonts/Xiaolai/Xiaolai-Regular-b7d203b051eff504ff59ddca7576b6a9.woff2",FB3="./fonts/Xiaolai/Xiaolai-Regular-4a38cc3e9cf104e69ba246d37f8cf135.woff2",UB3="./fonts/Xiaolai/Xiaolai-Regular-982b630266d87db93d2539affb1275c6.woff2",zB3="./fonts/Xiaolai/Xiaolai-Regular-9592bfc861f07bcb8d75c196b370e548.woff2",kB3="./fonts/Xiaolai/Xiaolai-Regular-a7accba310e821da5505f71c03b76bdb.woff2",fB3="./fonts/Xiaolai/Xiaolai-Regular-dac48066b5883d8b4551fc584f0c2a3e.woff2",MB3="./fonts/Xiaolai/Xiaolai-Regular-a1f916d6039285c4ffb900cd654e418f.woff2",bB3="./fonts/Xiaolai/Xiaolai-Regular-95bfd249da4902577b4b7d76ebdd0b44.woff2",ZB3="./fonts/Xiaolai/Xiaolai-Regular-93fc8f28a33234bcadf1527cafabd502.woff2",JB3="./fonts/Xiaolai/Xiaolai-Regular-903bb6865f3452e2fda42e3a25547bc5.woff2",KB3="./fonts/Xiaolai/Xiaolai-Regular-4aca6a43e59aceee2166b0c7e4e85ef1.woff2",wB3="./fonts/Xiaolai/Xiaolai-Regular-24476a126f129212beb33f66853ea151.woff2",QB3="./fonts/Xiaolai/Xiaolai-Regular-1b611157cd46bb184d4fa4dae2d6a2b8.woff2",GB3="./fonts/Xiaolai/Xiaolai-Regular-56a32a7689abd0326e57c10c6c069bb4.woff2",HB3="./fonts/Xiaolai/Xiaolai-Regular-3cc70dbb64df5b21f1326cc24dee2195.woff2",qB3="./fonts/Xiaolai/Xiaolai-Regular-f6032fc06eb20480f096199713f70885.woff2",lB3="./fonts/Xiaolai/Xiaolai-Regular-e2ead7ea7da0437f085f42ffc05f8d13.woff2",LB3="./fonts/Xiaolai/Xiaolai-Regular-97f7f48ce90c9429bf32ae51469db74d.woff2",XB3="./fonts/Xiaolai/Xiaolai-Regular-24a21c1e4449222e8d1898d69ff3a404.woff2",vB3="./fonts/Xiaolai/Xiaolai-Regular-726303e0774b4e678bff8c2deb6ca603.woff2",xB3="./fonts/Xiaolai/Xiaolai-Regular-5a7fac4b8b23a6e4e5ba0c9bf1756c91.woff2",WB3="./fonts/Xiaolai/Xiaolai-Regular-2b7441d46298788ac94e610ffcc709b6.woff2",SB3,UZ=class u{constructor(B){j0(this,"scene"),j0(this,"getSceneFamilies",()=>u.getUniqueFamilies(this.scene.getNonDeletedElements())),j0(this,"onLoaded",(E)=>{let A=!0;for(let F of E){let U=`${F.family}-${F.style}-${F.weight}-${F.unicodeRange}`;u.loadedFontsCache.has(U)||(u.loadedFontsCache.add(U),A=!1)}if(A)return;let C=!1,D=this.scene.getNonDeletedElementsMap();for(let F of this.scene.getNonDeletedElements())if(M4(F)){C=!0,s6.delete(F),rO.clearCache(B6(F));let U=b5(F,D);U&&s6.delete(U)}C&&this.scene.triggerUpdate()}),j0(this,"loadSceneFonts",async()=>{let E=this.getSceneFamilies(),A=u.getCharsPerFamily(this.scene.getNonDeletedElements());return u.loadFontFaces(E,A)}),this.scene=B}static get registered(){return u._registered?u._initialized||(u._registered=new Map([...u.init().entries(),...u._registered.entries()])):u._registered=u.init(),u._registered}get registered(){return u.registered}static async generateFontFaceDeclarations(B){let E=u.getUniqueFamilies(B),A=u.getCharsPerFamily(B),C=E.find((z)=>oku(z).includes(BX));if(C){let z=u.getCharacters(A,C);if(R63(z)){let k=EX[BX];A[k]=new Set(z),E.unshift(EX[BX])}}let D=u.fontFacesStylesGenerator(E,A),F=3,U=await new $zu(D,F).all();return Array.from(new Set(U))}static async loadFontFaces(B,E){for(let{fontFaces:D,metadata:F}of u.registered.values())if(!F.local)for(let{fontFace:U}of D)window.document.fonts.has(U)||window.document.fonts.add(U);let A=u.fontFacesLoader(B,E);return(await new $zu(A,10).all()).flat().filter(Boolean)}static*fontFacesLoader(B,E){for(let[A,C]of B.entries()){let D=B6({fontFamily:C,fontSize:16}),F=u.getCharacters(E,C);window.document.fonts.check(D,F)||(yield YQ(async()=>{try{let U=await window.document.fonts.load(D,F);return[A,U]}catch(U){console.error(`Failed to load font "${D}" from urls "${u.registered.get(C)?.fontFaces.map((z)=>z.urls)}"`,U)}}))}}static*fontFacesStylesGenerator(B,E){for(let[A,C]of B.entries()){let{fontFaces:D,metadata:F}=u.registered.get(C)??{};if(!Array.isArray(D)){console.error(`Couldn't find registered fonts for font-family "${C}"`,u.registered);continue}if(!F?.local)for(let[U,z]of D.entries())yield YQ(async()=>{try{let k=u.getCharacters(E,C),f=await z.toCSS(k);return f?[A*1e4+U,f]:void 0}catch(k){console.error(`Couldn't transform font-face to css for family "${z.fontFace.family}"`,k)}})}}static register(B,E,...A){let C=d6[B]??EX[B];return this.registered.get(C)||this.registered.set(C,{metadata:E,fontFaces:A.map(({uri:D,descriptors:F})=>new A93(B,D,F))}),this.registered}static init(){let B={registered:new Map},E=(A,...C)=>{let D=d6[A]??EX[A],F=Up[D]??Up[d6.Excalifont];u.register.call(B,A,F,...C)};return E("Cascadia",...D93),E("Comic Shanns",...f93),E("Excalifont",...H93),E("Helvetica",...q93),E("Liberation Sans",...L93),E("Lilita One",...x93),E("Nunito",...O93),E("Virgil",...P93),E(BX,...SB3),E(GO,...M93),u._initialized=!0,B.registered}static getUniqueFamilies(B){return Array.from(B.reduce((E,A)=>(M4(A)&&E.add(A.fontFamily),E),new Set))}static getCharsPerFamily(B){let E={};for(let A of B)if(M4(A))for(let C of A.originalText)E[A.fontFamily]||(E[A.fontFamily]=new Set),E[A.fontFamily].add(C);return E}static getCharacters(B,E){return B[E]?Array.from(B[E]).join(""):""}static getAllFamilies(){return Array.from(u.registered.keys())}},rU,Sbu=(u,B,E)=>{let{unitsPerEm:A,ascender:C,descender:D}=rU.registered.get(u)?.metadata.metrics||Up[d6.Virgil].metrics,F=B/A,U=(E-F*C+F*D)/2;return F*C+U},TZ=(u)=>{let{lineHeight:B}=rU.registered.get(u)?.metadata.metrics||Up[d6.Excalifont].metrics;return B},Ybu=(u)=>{let{angle:B,width:E,height:A,x:C,y:D}=u,F=C+E/2,U=D+A/2,z=t(F,U),k;return u.type==="diamond"?k=Vzu(lu(t(F,D),z,B),lu(t(C+E,U),z,B),lu(t(F,D+A),z,B),lu(t(C,U),z,B)):k=Vzu(lu(t(C,D),z,B),lu(t(C+E,D),z,B),lu(t(C+E,D+A),z,B),lu(t(C,D+A),z,B)),{type:"polygon",data:k}},Rbu=(u,B,E=10)=>{let[A,C,D,F,U,z]=W3(u,B,!0);A-=E,D+=E,C-=E,F+=E;let k=t(U,z),f=lu(t(A,C),k,u.angle),M=lu(t(D,C),k,u.angle),b=lu(t(A,F),k,u.angle),Z=lu(t(D,F),k,u.angle);return{type:"polygon",data:[f,M,Z,b]}},YB3=(u)=>{let{width:B,height:E,angle:A,x:C,y:D}=u;return{type:"ellipse",data:{center:t(C+B/2,D+E/2),angle:A,halfWidth:B/2,halfHeight:E/2}}},OZ=(u)=>{if(!u)return[];for(let B of u.sets)if(B.type==="path")return B.ops;return u.sets[0].ops},RB3=(u,B=t(0,0),E,A)=>{let C=(z)=>lu(t(z[0]+B[0],z[1]+B[1]),A,E),D=OZ(u),F=[],U=t(0,0);for(let z of D){if(z.op==="move"){let k=qf0(z.data);b2(k!=null,"Ops data is not a point"),U=C(k)}if(z.op==="bcurveTo"){let k=C(t(z.data[0],z.data[1])),f=C(t(z.data[2],z.data[3])),M=C(t(z.data[4],z.data[5]));F.push(Ff(U,k,f,M)),U=M}}return{type:"polycurve",data:F}},TB3=(u)=>{let B=u[0],E=[];for(let A=1;A<u.length;A++){let C=u[A];E.push(i4(B,C)),B=C}return E},OB3=(u,B,E=!1)=>{let A=(D)=>lu(c3(fZ(O4(D),$5(u.x,u.y))),B,u.angle),C=TB3(u.points.map((D)=>A(D)));return E?{type:"polygon",data:Ep(C.flat())}:{type:"polyline",data:C}},IB3=(u,B,E=t(0,0),A,C)=>{let D=(f)=>lu(t(f[0]+E[0],f[1]+E[1]),C,A);if(u.roundness===null)return{type:"polygon",data:Ep(u.points.map((f)=>D(f)))};let F=OZ(B),U=[],z=!1;for(let f of F)f.op==="move"?(z=!z,z&&U.push(t(f.data[0],f.data[1]))):f.op==="bcurveTo"?z&&(U.push(t(f.data[0],f.data[1])),U.push(t(f.data[2],f.data[3])),U.push(t(f.data[4],f.data[5]))):f.op==="lineTo"&&z&&U.push(t(f.data[0],f.data[1]));let k=_Uu(U,10,5).map((f)=>D(f));return{type:"polygon",data:Ep(k)}},PB3=(u,B)=>{let{angle:E,halfWidth:A,halfHeight:C,center:D}=B,F=A,U=C,z=fZ(O4(u),Z9(O4(D),-1)),[k,f]=lu(c3(z),t(0,0),-E),M=Math.abs(k),b=Math.abs(f),Z=0.707,J=0.707;for(let Q=0;Q<3;Q++){let G=F*Z,H=U*J,l=(F*F-U*U)*Z**3/F,q=(U*U-F*F)*J**3/U,L=G-l,v=H-q,x=M-l,S=b-q,W=Math.hypot(v,L),T=Math.hypot(S,x);Z=Math.min(1,Math.max(0,(x*W/T+l)/F)),J=Math.min(1,Math.max(0,(S*W/T+q)/U));let R=Math.hypot(J,Z);Z/=R,J/=R}let[K,w]=[F*Z*Math.sign(k),U*J*Math.sign(f)];return l1(t(k,f),t(K,w))},jB3=(u,B,E=0.0001)=>PB3(u,B)<=E,NB3=(u,B)=>{let{center:E,angle:A,halfWidth:C,halfHeight:D}=B,F=fZ(O4(u),Z9(O4(E),-1)),[U,z]=lu(c3(F),t(0,0),-A);return U/C*(U/C)+z/D*(z/D)<=1},nk0=(u,B,E=0)=>{switch(B.type){case"polygon":return K63(u,B.data,E);case"ellipse":return jB3(u,B.data,E);case"line":return SQ(u,B.data,E);case"polyline":return Obu(u,B.data,E);case"curve":return Tbu(u,B.data,E);case"polycurve":return VB3(u,B.data,E);default:throw Error(`shape ${B} is not implemented`)}},XO=(u,B)=>{switch(B.type){case"polygon":return hzu(u,B.data);case"line":return!1;case"curve":return!1;case"ellipse":return NB3(u,B.data);case"polyline":{let E=Ep(B.data.flat());return hzu(u,E)}case"polycurve":return!1;default:throw Error(`shape ${B} is not implemented`)}},VB3=(u,B,E)=>B.some((A)=>Tbu(u,A,E)),hB3=(u)=>{let[B,E,A,C]=u;return(D,F)=>Math.pow(1-D,3)*C[F]+3*D*Math.pow(1-D,2)*A[F]+3*Math.pow(D,2)*(1-D)*E[F]+B[F]*Math.pow(D,3)},iB3=(u,B=10)=>{let E=hB3(u),A=[E(0,0),E(0,1)],C=[],D=0,F=1/B;for(let U=0;U<B;U++)if(D+=F,D<=1){let z=t(E(D,0),E(D,1));C.push(i4(A,z)),A=z}return C},Tbu=(u,B,E)=>Obu(u,iB3(B),E),Obu=(u,B,E=0.0001)=>B.some((A)=>SQ(u,A,E)),aB3=(u,B)=>{let{halfWidth:E,halfHeight:A,center:C}=B,D=E,F=A,U=fZ(O4(u),Z9(O4(C),-1)),z=Math.abs(U[0]),k=Math.abs(U[1]),f=0.707,M=0.707;for(let J=0;J<3;J++){let K=D*f,w=F*M,Q=(D*D-F*F)*f**3/D,G=(F*F-D*D)*M**3/F,H=K-Q,l=w-G,q=z-Q,L=k-G,v=Math.hypot(l,H),x=Math.hypot(L,q);f=Math.min(1,Math.max(0,(q*v/x+Q)/D)),M=Math.min(1,Math.max(0,(L*v/x+G)/F));let S=Math.hypot(M,f);f/=S,M/=S}let[b,Z]=[D*f*Math.sign(U[0]),F*M*Math.sign(U[1])];return l1(c3(U),t(b,Z))},dk0=(u)=>{if(u.type==="arrow")return!1;let B=!iA(u.backgroundColor)||r8(u)||NE(u)||M4(u);return u.type==="line"?B&&VU(u.points):u.type==="freedraw"?B&&VU(u.points):B||L1(u)},cQ=({x:u,y:B,element:E,shape:A,threshold:C=10,frameNameBound:D=null})=>{let F=dk0(E)?XO(t(u,B),A)||nk0(t(u,B),A,C):nk0(t(u,B),A,C);return!F&&D&&(F=XO(t(u,B),{type:"polygon",data:Ybu(D).data})),F},mp=(u,B,E,A,C=0)=>{let[D,F,U,z]=wD(E,A);return D-=C,F-=C,U+=C,z+=C,Hfu(t(D,F),t(u,B),t(U,z))},Nbu=(u,B)=>!cQ(u)&&!HM0(u.x,u.y,qM0(u.element,B))&&mp(u.x,u.y,u.element,B),HM0=(u,B,E)=>!!E&&XO(t(u,B),E),Vbu=(u,B,E=0)=>{switch(u.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return $B3(u,B,E);case"diamond":return yB3(u,B,E);case"ellipse":return rB3(u,B,E);default:throw Error(`Unimplemented element type '${u.type}'`)}},$B3=(u,B,E=0)=>{let A=t(u.x+u.width/2,u.y+u.height/2),C=lu(B[0],A,-u.angle),D=lu(B[1],A,-u.angle),[F,U]=Pbu(u,E);return[...F.map((z)=>lO(i4(C,D),z)).filter((z)=>z!=null).map((z)=>lu(z,A,u.angle)),...U.flatMap((z)=>qfu(z,i4(C,D))).filter((z)=>z!=null).map((z)=>lu(z,A,u.angle))].filter((z,k,f)=>f.findIndex((M)=>JD(z,M))===k)},yB3=(u,B,E=0)=>{let A=t(u.x+u.width/2,u.y+u.height/2),C=lu(B[0],A,-u.angle),D=lu(B[1],A,-u.angle),[F,U]=jbu(u,E);return[...F.map((z)=>lO(i4(C,D),z)).filter((z)=>z!=null).map((z)=>lu(z,A,u.angle)),...U.flatMap((z)=>qfu(z,i4(C,D))).filter((z)=>z!=null).map((z)=>lu(z,A,u.angle))].filter((z,k,f)=>f.findIndex((M)=>JD(z,M))===k)},rB3=(u,B,E=0)=>{let A=t(u.x+u.width/2,u.y+u.height/2),C=lu(B[0],A,-u.angle),D=lu(B[1],A,-u.angle);return mB3(Ibu(A,u.width/2+E,u.height/2+E),_k0(C,D)).map((F)=>lu(F,A,u.angle))},z1,r0,gB3,cB3=(u)=>/^[a-z]$/.test(u.toLowerCase()),$p=(u,B)=>{if(B===u.key.toLowerCase())return!0;let E=gB3.get(B);return!!(E&&!cB3(u.key)&&u.code===E)},vX=(u)=>u===r0.ARROW_LEFT||u===r0.ARROW_RIGHT||u===r0.ARROW_DOWN||u===r0.ARROW_UP,yp=(u)=>u.altKey,xX=(u)=>u.shiftKey,fX=(u)=>u.shiftKey,rp,hbu=(u)=>rp.find((B,E)=>B.numericKey!=null&&u===B.numericKey.toString()||B.key&&(typeof B.key=="string"?B.key===u:B.key.includes(u)))?.value||null,NU=(u,B)=>{switch(u.type){case"rectangle":case"diamond":case"frame":case"magicframe":case"embeddable":case"image":case"iframe":case"text":case"selection":return Ybu(u);case"arrow":case"line":{let E=s6.get(u)?.[0]??s6.generateElementShape(u,null)[0],[,,,,A,C]=W3(u,B);return dk0(u)?IB3(u,E,t(u.x,u.y),u.angle,t(A,C)):RB3(E,t(u.x,u.y),u.angle,t(A,C))}case"ellipse":return YB3(u);case"freedraw":{let[,,,,E,A]=W3(u,B);return OB3(u,t(E,A),dk0(u))}}},qM0=(u,B)=>{let E=Y3(u,B);return E?u.type==="arrow"?NU({...E,...Z4.getBoundTextElementPosition(u,E,B)},B):NU(E,B):null},ibu=(u,B)=>{let E=s6.generateElementShape(u,null);if(!E)return null;let A=OZ(E[0]),C=t(0,0),D=0,F=1/0,U=null;for(;D<A.length;){let{op:z,data:k}=A[D];if(z==="move"&&(b2(k63(k),"The returned ops is not compatible with a point"),C=k),z==="bcurveTo"){let f=C,M=t(k[0],k[1]),b=t(k[2],k[3]),Z=t(k[4],k[5]),J=l1(Z,B);J<F&&(F=J,U=[f,M,b,Z]),C=Z}D++}return U},abu=(u,B,E,A,C)=>{let D=(z,k)=>Math.pow(1-z,3)*A[k]+3*z*Math.pow(1-z,2)*E[k]+3*Math.pow(z,2)*(1-z)*B[k]+u[k]*Math.pow(z,3),F=D(C,0),U=D(C,1);return t(F,U)},_B3=(u,B)=>{let E=ibu(u,B);if(!E)return[];let A=[],C=1;for(;C>0;){let D=abu(E[0],E[1],E[2],E[3],C);A.push(t(D[0],D[1])),C-=0.05}return A.length&&JD(A.at(-1),B)&&A.push(t(B[0],B[1])),A},mbu=(u,B)=>{let E=[];E[0]=0;let A=_B3(u,B),C=0,D=0;for(;C<A.length-1;){let F=l1(A[C],A[C+1]);D+=F,E.push(D),C++}return E},pB3=(u,B)=>mbu(u,B).at(-1),nB3=(u,B,E)=>{let A=mbu(u,B),C=A.length-1,D=A.at(-1),F=E*D,U=0,z=C,k=0;for(;U<z;)k=Math.floor(U+(z-U)/2),A[k]<F?U=k+1:z=k;return A[k]>F&&k--,A[k]===F?k/C:1-(k+(F-A[k])/(A[k+1]-A[k]))/C},MD=(u,B)=>{let E={minX:u.x,minY:u.y,maxX:u.x+u.width,maxY:u.y+u.height,midX:u.x+u.width/2,midY:u.y+u.height/2},A=t(E.midX,E.midY),[C,D]=lu(t(E.minX,E.minY),A,u.angle),[F,U]=lu(t(E.maxX,E.minY),A,u.angle),[z,k]=lu(t(E.maxX,E.maxY),A,u.angle),[f,M]=lu(t(E.minX,E.maxY),A,u.angle),b=[Math.min(C,F,z,f),Math.min(D,U,k,M),Math.max(C,F,z,f),Math.max(D,U,k,M)];if(B){let[Z,J,K,w]=B;return[b[0]-w,b[1]-Z,b[2]+J,b[3]+K]}return b},MX=(u,B)=>u[0]>B[0]&&u[0]<B[2]&&u[1]>B[1]&&u[1]<B[3],mA=(u,B)=>{if(B.roundness?.type===Z2.PROPORTIONAL_RADIUS||B.roundness?.type===Z2.LEGACY)return u*Ik0;if(B.roundness?.type===Z2.ADAPTIVE_RADIUS){let E=B.roundness?.value??B63,A=E/Ik0;return u<=A?u*Ik0:E}return 0},VU=(u,B=1)=>{if(u.length>=3){let[E,A]=[u[0],u[u.length-1]];return l1(E,A)<=YO/B}return!1},z5=10,$bu=(u,B,E,A,C,D,F)=>{let{width:U,height:z}=hU(u),k=E/U,f=A/z,M=(u.crop?.x??0)/k,b=(u.crop?.y??0)/f,Z=lu(t(C,D),t(u.x+u.width/2,u.y+u.height/2),-u.angle);C=Z[0],D=Z[1];let{width:J,height:K}=u,w=u.crop??{x:0,y:0,width:E,height:A,naturalWidth:E,naturalHeight:A},Q=w.height,G=w.width,H=u.scale[0]===-1,l=u.scale[1]===-1,q=D-u.y,L=C-u.x;B.includes("n")&&(K=r3(u.height-q,z5,l?z-b:u.height+b)),B.includes("s")&&(q=D-u.y-u.height,K=r3(u.height+q,z5,l?u.height+b:z-b)),B.includes("e")&&(L=C-u.x-u.width,J=r3(u.width+L,z5,H?u.width+M:U-M)),B.includes("w")&&(J=r3(u.width-L,z5,H?U-M:u.width+M));let v=(W)=>{W.height=K*f,W.width=J*k};v(w);let x=(W,T)=>{v(T),W.includes("n")&&(l||(T.y+=Q-T.height)),W.includes("s")&&l&&(T.y+=Q-T.height),W.includes("e")&&H&&(T.x+=G-T.width),W.includes("w")&&(H||(T.x+=G-T.width))};switch(B){case"n":{if(F){let W=M+u.width/2,T=U-M-u.width/2,R=Math.min(W,T)*2;J=r3(K*F,z5,R),K=J/F}x(B,w),F&&(w.x+=(G-w.width)/2);break}case"s":{if(F){let W=M+u.width/2,T=U-M-u.width/2,R=Math.min(W,T)*2;J=r3(K*F,z5,R),K=J/F}x(B,w),F&&(w.x+=(G-w.width)/2);break}case"w":{if(F){let W=b+u.height/2,T=z-b-u.height/2,R=Math.min(W,T)*2;K=r3(J/F,z5,R),J=K*F}x(B,w),F&&(w.y+=(Q-w.height)/2);break}case"e":{if(F){let W=b+u.height/2,T=z-b-u.height/2,R=Math.min(W,T)*2;K=r3(J/F,z5,R),J=K*F}x(B,w),F&&(w.y+=(Q-w.height)/2);break}case"ne":{if(F)if(L>-q){let W=l?z-b:b+u.height;K=r3(J/F,z5,W),J=K*F}else{let W=H?M+u.width:U-M;J=r3(K*F,z5,W),K=J/F}x(B,w);break}case"nw":{if(F)if(L<q){let W=l?z-b:b+u.height;K=r3(J/F,z5,W),J=K*F}else{let W=H?U-M:M+u.width;J=r3(K*F,z5,W),K=J/F}x(B,w);break}case"se":{if(F)if(L>q){let W=l?b+u.height:z-b;K=r3(J/F,z5,W),J=K*F}else{let W=H?M+u.width:U-M;J=r3(K*F,z5,W),K=J/F}x(B,w);break}case"sw":{if(F)if(-L>q){let W=l?b+u.height:z-b;K=r3(J/F,z5,W),J=K*F}else{let W=H?U-M:M+u.width;J=r3(K*F,z5,W),K=J/F}x(B,w);break}default:break}let S=dB3(u,B,J,K,!!F);return jzu(w.width,w.naturalWidth)&&jzu(w.height,w.naturalHeight)&&(w=null),{x:S[0],y:S[1],width:J,height:K,crop:w}},dB3=(u,B,E,A,C)=>{let[D,F,U,z]=ZZ(u,u.width,u.height,!0),k=t(D,F),f=t(U,z),M=VO(k,f),[b,Z,J,K]=ZZ(u,E,A,!0),w=J-b,Q=K-Z,G=[...k];if(["n","w","nw"].includes(B)&&(G=[f[0]-Math.abs(w),f[1]-Math.abs(Q)]),B==="ne"){let x=[k[0],f[1]];G=[x[0],x[1]-Math.abs(Q)]}if(B==="sw"){let x=[f[0],k[1]];G=[x[0]-Math.abs(w),x[1]]}C&&(["s","n"].includes(B)&&(G[0]=M[0]-w/2),["e","w"].includes(B)&&(G[1]=M[1]-Q/2));let H=u.angle,l=lu(G,M,H),q=[G[0]+Math.abs(w)/2,G[1]+Math.abs(Q)/2],L=lu(q,M,H);G=lu(l,L,-H);let v=[...G];return v[0]+=u.x-b,v[1]+=u.y-Z,v},sB3=(u,B)=>{if(u.crop){let{width:E,height:A}=hU(u),[C,D,F,U,z,k]=W3(u,B),f=O4(lu(t(C,D),t(z,k),u.angle)),M=O4(lu(t(F,D),t(z,k),u.angle)),b=l7(HO(M,f)),Z=O4(lu(t(C,U),t(z,k),u.angle)),J=HO(Z,f),K=l7(J),{cropX:w,cropY:Q}=oB3(u.crop,u.scale),G=fZ(fZ(f,Z9(b,-w*E/u.crop.naturalWidth)),Z9(K,-Q*A/u.crop.naturalHeight)),H=c3(fZ(fZ(G,Z9(b,E/2)),Z9(K,A/2))),l=lu(c3(G),H,-u.angle);return{...u,x:l[0],y:l[1],width:E,height:A,crop:null}}return u},hU=(u)=>{if(u.crop){let B=u.width/(u.crop.width/u.crop.naturalWidth),E=u.height/(u.crop.height/u.crop.naturalHeight);return{width:B,height:E}}return{width:u.width,height:u.height}},oB3=(u,B)=>{let{x:E,y:A}=u,C=B[0]===-1,D=B[1]===-1;return C&&(E=u.naturalWidth-Math.abs(E)-u.width),D&&(A=u.naturalHeight-Math.abs(A)-u.height),{cropX:E,cropY:A}},ybu=(u,B=!1)=>{let E=u.crop;if(!E)return null;let A=u.scale[0]===-1,C=u.scale[1]===-1,D=E.x,F=E.y;if(A&&(D=E.naturalWidth-E.width-E.x),C&&(F=E.naturalHeight-E.height-E.y),B)return{x:D,y:F};let{width:U,height:z}=hU(u);return{x:D/(E.naturalWidth/U),y:F/(E.naturalHeight/z)}},rbu="invert(100%) hue-rotate(180deg) saturate(1.25)",tB3,gbu=(u,B)=>aE(u)&&!B.imageCache.has(u.fileId),cbu=(u,B,E)=>E.theme===p3.DARK&&aE(u)&&!gbu(u,B)&&B.imageCache.get(u.fileId)?.mimeType!==r4.svg,gp=(u)=>{switch(u.type){case"freedraw":return u.strokeWidth*12;case"text":return u.fontSize/2;default:return 20}},lM0=(u,B,E,A,C=1)=>{let D=(B?.opacity??100)*u.opacity/1e4*C;return(E.has(u.id)||A&&A.some((F)=>F.id===u.id)||B&&E.has(B.id))&&(D*=u63/100),D},eB3=(u,B,E)=>{let A=gp(u),[C,D,F,U]=W3(u,B),z=S3(u)||rA(u)?L7(C,F):u.width,k=S3(u)||rA(u)?L7(D,U):u.height,f=z*window.devicePixelRatio+A*2,M=k*window.devicePixelRatio+A*2,b=E.value;return(f*b>32767||M*b>32767)&&(b=Math.min(32767/f,32767/M)),f*M*b*b>16777216&&(b=Math.sqrt(16777216/(f*M))),f=Math.floor(f*b),M=Math.floor(M*b),{width:f,height:M,scale:b}},_bu=(u,B,E,A,C)=>{let D=document.createElement("canvas"),F=D.getContext("2d"),U=gp(u),{width:z,height:k,scale:f}=eB3(u,B,E);if(!z||!k)return null;D.width=z,D.height=k;let M=-100,b=0;if(S3(u)||rA(u)){let[Q,G]=W3(u,B);M=u.x>Q?L7(u.x,Q)*window.devicePixelRatio*f:0,b=u.y>G?L7(u.y,G)*window.devicePixelRatio*f:0,F.translate(M,b)}F.save(),F.translate(U*f,U*f),F.scale(window.devicePixelRatio*f,window.devicePixelRatio*f);let Z=NA.canvas(D);cbu(u,A,C)&&(F.filter=rbu),d_(u,Z,F,A,C),F.restore();let J=Y3(u,B),K=document.createElement("canvas"),w=K.getContext("2d");if(j3(u)&&J){let[Q,G,H,l]=W3(u,B),q=Math.max(L7(Q,H),L7(G,l));K.width=q*window.devicePixelRatio*f+U*f*10,K.height=q*window.devicePixelRatio*f+U*f*10,w.translate(K.width/2,K.height/2),w.rotate(u.angle),w.drawImage(D,-D.width/2,-D.height/2,D.width,D.height);let[,,,,L,v]=W3(J,B);w.rotate(-u.angle);let x=(K.width-D.width)/2,S=(K.height-D.height)/2,W=K.width/2-(L-Q)*window.devicePixelRatio*f-x-U*f,T=K.height/2-(v-G)*window.devicePixelRatio*f-S-U*f;w.translate(-W,-T),w.clearRect(-(J.width/2+M2)*window.devicePixelRatio*f,-(J.height/2+M2)*window.devicePixelRatio*f,(J.width+M2*2)*window.devicePixelRatio*f,(J.height+M2*2)*window.devicePixelRatio*f)}return{element:u,canvas:D,theme:C.theme,scale:f,zoomValue:E.value,canvasOffsetX:M,canvasOffsetY:b,boundTextElementVersion:Y3(u,B)?.version||null,containingFrameOpacity:pB(u,B)?.opacity||100,boundTextCanvas:K,angle:u.angle,imageCrop:L1(u)?u.crop:null}},u83=14,pbu,nbu,B83=(u,B)=>{B.fillStyle="#E7E7E7",B.fillRect(0,0,u.width,u.height);let E=Math.min(u.width,u.height),A=Math.min(E,Math.min(E*0.4,100));B.drawImage(u.status==="error"?nbu:pbu,u.width/2-A/2,u.height/2-A/2,A,A)},d_=(u,B,E,A,C)=>{switch(u.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":{E.lineJoin="round",E.lineCap="round",B.draw(s6.get(u));break}case"arrow":case"line":{E.lineJoin="round",E.lineCap="round",s6.get(u).forEach((D)=>{B.draw(D)});break}case"freedraw":{E.save(),E.fillStyle=u.strokeColor;let D=A83(u),F=s6.get(u);F&&B.draw(F),E.fillStyle=u.strokeColor,E.fill(D),E.restore();break}case"image":{let D=aE(u)?A.imageCache.get(u.fileId)?.image:void 0;if(D!=null&&!(D instanceof Promise)){u.roundness&&E.roundRect&&(E.beginPath(),E.roundRect(0,0,u.width,u.height,mA(Math.min(u.width,u.height),u)),E.clip());let{x:F,y:U,width:z,height:k}=u.crop?u.crop:{x:0,y:0,width:D.naturalWidth,height:D.naturalHeight};E.drawImage(D,F,U,z,k,0,0,u.width,u.height)}else B83(u,E);break}default:if(M4(u)){let D=Sfu(u.text),F=D&&!E.canvas.isConnected;F&&document.body.appendChild(E.canvas),E.canvas.setAttribute("dir",D?"rtl":"ltr"),E.save(),E.font=B6(u),E.fillStyle=u.strokeColor,E.textAlign=u.textAlign;let U=u.text.replace(/\r\n?/g,`
`).split(`
`),z=u.textAlign==="center"?u.width/2:u.textAlign==="right"?u.width:0,k=XX(u.fontSize,u.lineHeight),f=Sbu(u.fontFamily,u.fontSize,k);for(let M=0;M<U.length;M++)E.fillText(U[M],z,M*k+f);E.restore(),F&&E.canvas.remove()}else throw Error(`Unimplemented type ${u.type}`)}},sk0,gzu=(u,B,E,A)=>{let C=E?A.zoom:tB3.zoom,D=sk0.get(u),F=D&&D.zoomValue!==C.value&&!A?.shouldCacheIgnoreZoom,U=Y3(u,B),z=U?.version||null,k=L1(u)?u.crop:null,f=pB(u,B)?.opacity||100;if(!D||F||D.theme!==A.theme||D.boundTextElementVersion!==z||D.imageCrop!==k||D.containingFrameOpacity!==f||j3(u)&&U&&u.angle!==D.angle){let M=_bu(u,B,C,E,A);return M?(sk0.set(u,M),M):null}return D},mk0=(u,B,E,A,C)=>{let D=u.element,F=gp(D),U=u.scale,[z,k,f,M]=W3(D,C),b=((z+f)/2+A.scrollX)*window.devicePixelRatio,Z=((k+M)/2+A.scrollY)*window.devicePixelRatio;B.save(),B.scale(1/window.devicePixelRatio,1/window.devicePixelRatio);let J=Y3(D,C);if(j3(D)&&J){let K=(u.boundTextCanvas.width-u.canvas.width)/2,w=(u.boundTextCanvas.height-u.canvas.height)/2;B.translate(b,Z),B.drawImage(u.boundTextCanvas,-(f-z)/2*window.devicePixelRatio-K/U-F,-(M-k)/2*window.devicePixelRatio-w/U-F,u.boundTextCanvas.width/U,u.boundTextCanvas.height/U)}else if(B.translate(b,Z),B.rotate(D.angle),"scale"in u.element&&!gbu(D,E)&&B.scale(u.element.scale[0],u.element.scale[1]),B.translate(-b,-Z),B.drawImage(u.canvas,(z+A.scrollX)*window.devicePixelRatio-F*u.scale/u.scale,(k+A.scrollY)*window.devicePixelRatio-F*u.scale/u.scale,u.canvas.width/u.scale,u.canvas.height/u.scale),J3.VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX==="true"&&r8(D)){let K=Y3(D,C),w=HZu(D);B.strokeStyle="#c92a2a",B.lineWidth=3,B.strokeRect((w.x+A.scrollX)*window.devicePixelRatio,(w.y+A.scrollY)*window.devicePixelRatio,GD(D,K)*window.devicePixelRatio,OX(D,K)*window.devicePixelRatio)}B.restore()},dbu=(u,B,E,A)=>{B.save(),B.translate(u.x+E.scrollX,u.y+E.scrollY),B.fillStyle="rgba(0, 0, 200, 0.04)";let C=0.5/E.zoom.value;B.fillRect(C,C,u.width,u.height),B.lineWidth=1/E.zoom.value,B.strokeStyle=A,B.strokeRect(C,C,u.width,u.height),B.restore()},kZ=(u,B,E,A,C,D,F)=>{let U=F.openDialog?.name==="elementLinkSelector"&&!F.selectedElementIds[u.id]&&!F.hoveredElementIds[u.id];switch(C.globalAlpha=lM0(u,pB(u,B),D.elementsPendingErasure,D.pendingFlowchartNodes,U?Gf0:1),u.type){case"magicframe":case"frame":{F.frameRendering.enabled&&F.frameRendering.outline&&(C.save(),C.translate(u.x+F.scrollX,u.y+F.scrollY),C.fillStyle="rgba(0, 0, 200, 0.04)",C.lineWidth=V6.strokeWidth/F.zoom.value,C.strokeStyle=V6.strokeColor,$O(u)&&(C.strokeStyle=F.theme===p3.LIGHT?"#7affd7":"#1d8264"),V6.radius&&C.roundRect?(C.beginPath(),C.roundRect(0,0,u.width,u.height,V6.radius/F.zoom.value),C.stroke(),C.closePath()):C.strokeRect(0,0,u.width,u.height),C.restore());break}case"freedraw":{if(s6.generateElementShape(u,null),D.isExporting){let[z,k,f,M]=W3(u,B),b=(z+f)/2+F.scrollX,Z=(k+M)/2+F.scrollY,J=(f-z)/2-(u.x-z),K=(M-k)/2-(u.y-k);C.save(),C.translate(b,Z),C.rotate(u.angle),C.translate(-J,-K),d_(u,A,C,D,F),C.restore()}else{let z=gzu(u,E,D,F);if(!z)return;mk0(z,C,D,F,E)}break}case"rectangle":case"diamond":case"ellipse":case"line":case"arrow":case"image":case"text":case"iframe":case"embeddable":{if(s6.generateElementShape(u,D),D.isExporting){let[z,k,f,M]=W3(u,B),b=(z+f)/2+F.scrollX,Z=(k+M)/2+F.scrollY,J=(f-z)/2-(u.x-z),K=(M-k)/2-(u.y-k);if(M4(u)){let Q=b5(u,B);if(j3(Q)){let G=Z4.getBoundTextElementPosition(Q,u,B);J=(f-z)/2-(G.x-z),K=(M-k)/2-(G.y-k)}}C.save(),C.translate(b,Z),cbu(u,D,F)&&(C.filter="none");let w=Y3(u,B);if(j3(u)&&w){let Q=document.createElement("canvas"),G=Q.getContext("2d"),H=Math.max(L7(z,f),L7(k,M)),l=gp(u);Q.width=H*F.exportScale+l*10*F.exportScale,Q.height=H*F.exportScale+l*10*F.exportScale,G.translate(Q.width/2,Q.height/2),G.scale(F.exportScale,F.exportScale),J=u.width/2-(u.x-z),K=u.height/2-(u.y-k),G.rotate(u.angle);let q=NA.canvas(Q);G.translate(-J,-K),d_(u,q,G,D,F),G.translate(J,K),G.rotate(-u.angle);let[,,,,L,v]=W3(w,B),x=(z+f)/2-L,S=(k+M)/2-v;G.translate(-x,-S),G.clearRect(-w.width/2,-w.height/2,w.width,w.height),C.scale(1/F.exportScale,1/F.exportScale),C.drawImage(Q,-Q.width/2,-Q.height/2,Q.width,Q.height)}else C.rotate(u.angle),u.type==="image"&&C.scale(u.scale[0],u.scale[1]),C.translate(-J,-K),d_(u,A,C,D,F);C.restore()}else{let z=gzu(u,E,D,F);if(!z)return;let k=C.imageSmoothingEnabled;if(!F?.shouldCacheIgnoreZoom&&(!u.angle||F63(u.angle))&&(C.imageSmoothingEnabled=!1),u.id===F.croppingElementId&&L1(z.element)&&z.element.crop!==null){C.save(),C.globalAlpha=0.1;let f=_bu(sB3(z.element,B),E,F.zoom,D,F);f&&mk0(f,C,D,F,E),C.restore()}mk0(z,C,D,F,E),C.imageSmoothingEnabled=k}break}default:throw Error(`Unimplemented type ${u.type}`)}C.globalAlpha=1},sbu,C83,_Q=(u)=>u==="rectangle"||u==="iframe"||u==="embeddable"||u==="ellipse"||u==="diamond"||u==="line"||u==="freedraw",cp=(u)=>u!=="image"&&u!=="frame"&&u!=="magicframe",XM0=(u)=>u==="rectangle"||u==="iframe"||u==="embeddable"||u==="ellipse"||u==="diamond"||u==="freedraw"||u==="arrow"||u==="line",vM0=(u)=>u==="rectangle"||u==="iframe"||u==="embeddable"||u==="ellipse"||u==="diamond"||u==="arrow"||u==="line",_p=(u)=>u==="rectangle"||u==="iframe"||u==="embeddable"||u==="line"||u==="diamond"||u==="image",xM0=(u)=>u==="arrow",dO=(u)=>u==="arrow",b9,f5,rB,gB,c_=(u,B)=>{let E=GX(Math.atan2(B[1]-u[1],B[0]-u[0]));return E>=315||E<45?gB:E>=45&&E<135?b9:E>=135&&E<225?f5:rB},TQ=(u)=>{let[B,E]=u,A=Math.abs(B),C=Math.abs(E);return B>C?b9:B<=-C?rB:E>A?f5:gB},vO=(u,B)=>TQ(O4(u,B)),Df=(u,B)=>Uf(vO(u,B)),J9=(u,B)=>u[0]===B[0]&&u[1]===B[1],Uf=(u)=>J9(u,b9)||J9(u,rB),WM0=(u,B,E)=>{let A=RM0(B);if(u.type==="diamond"){if(E[0]<u.x)return rB;if(E[1]<u.y)return gB;if(E[0]>u.x+u.width)return b9;if(E[1]>u.y+u.height)return f5;let z=lu(Af(t(u.x+u.width/2,u.y),A,2),A,u.angle),k=lu(Af(t(u.x+u.width,u.y+u.height/2),A,2),A,u.angle),f=lu(Af(t(u.x+u.width/2,u.y+u.height),A,2),A,u.angle),M=lu(Af(t(u.x,u.y+u.height/2),A,2),A,u.angle);return oL([z,k,A],E)?c_(z,k):oL([k,f,A],E)?c_(k,f):oL([f,M,A],E)?c_(f,M):c_(M,z)}let C=Af(t(B[0],B[1]),A,2),D=Af(t(B[2],B[1]),A,2),F=Af(t(B[0],B[3]),A,2),U=Af(t(B[2],B[3]),A,2);return oL([C,D,A],E)?gB:oL([D,U,A],E)?b9:oL([U,F,A],E)?f5:rB},obu=(u)=>[u[0]===0?0:u[0]>0?-1:1,u[1]===0?0:u[1]>0?-1:1],F83=(u)=>[8,8+u],tbu=(u)=>[1.5,6+u],PE=(u,B=!1)=>{let E={seed:u.seed,strokeLineDash:u.strokeStyle==="dashed"?F83(u.strokeWidth):u.strokeStyle==="dotted"?tbu(u.strokeWidth):void 0,disableMultiStroke:u.strokeStyle!=="solid",strokeWidth:u.strokeStyle!=="solid"?u.strokeWidth+0.5:u.strokeWidth,fillWeight:u.strokeWidth/2,hachureGap:u.strokeWidth*4,roughness:U83(u),stroke:u.strokeColor,preserveVertices:B||u.roughness<bfu.cartoonist};switch(u.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":return E.fillStyle=u.fillStyle,E.fill=iA(u.backgroundColor)?void 0:u.backgroundColor,u.type==="ellipse"&&(E.curveFitting=1),E;case"line":case"freedraw":return VU(u.points)&&(E.fillStyle=u.fillStyle,E.fill=u.backgroundColor==="transparent"?void 0:u.backgroundColor),E;case"arrow":return E;default:throw Error(`Unimplemented type ${u.type}`)}},_zu=(u,B,E)=>NE(u)&&(B||nB(u)&&E?.get(u.id)!==!0)&&iA(u.backgroundColor)&&iA(u.strokeColor)?{...u,roughness:0,backgroundColor:"#d3d3d3",fillStyle:"solid"}:Mf(u)?{...u,strokeColor:iA(u.strokeColor)?"#000000":u.strokeColor,backgroundColor:iA(u.backgroundColor)?"#f4f4f6":u.backgroundColor}:u,pzu=(u,B,E,A,C,D,F)=>{let U=ozu(u,B,E,A);if(U===null)return[];let z=(k,f)=>{if(k===null)return[];let[,,M,b,Z,J]=k;return[C.line(M,b,Z,J,f)]};switch(A){case"dot":case"circle":case"circle_outline":{let[k,f,M]=U;return delete D.strokeLineDash,[C.circle(k,f,M,{...D,fill:A==="circle_outline"?F:u.strokeColor,fillStyle:"solid",stroke:u.strokeColor,roughness:Math.min(0.5,D.roughness||0)})]}case"triangle":case"triangle_outline":{let[k,f,M,b,Z,J]=U;return delete D.strokeLineDash,[C.polygon([[k,f],[M,b],[Z,J],[k,f]],{...D,fill:A==="triangle_outline"?F:u.strokeColor,fillStyle:"solid",roughness:Math.min(1,D.roughness||0)})]}case"diamond":case"diamond_outline":{let[k,f,M,b,Z,J,K,w]=U;return delete D.strokeLineDash,[C.polygon([[k,f],[M,b],[Z,J],[K,w],[k,f]],{...D,fill:A==="diamond_outline"?F:u.strokeColor,fillStyle:"solid",roughness:Math.min(1,D.roughness||0)})]}case"crowfoot_one":return z(U,D);case"bar":case"arrow":case"crowfoot_many":case"crowfoot_one_or_many":default:{let[k,f,M,b,Z,J]=U;if(u.strokeStyle==="dotted"){let K=tbu(u.strokeWidth-1);D.strokeLineDash=[K[0],K[1]-1]}else delete D.strokeLineDash;return D.roughness=Math.min(1,D.roughness||0),[C.line(M,b,k,f,D),C.line(Z,J,k,f,D),...A==="crowfoot_one_or_many"?z(ozu(u,B,E,"crowfoot_one"),D):[]]}}},z83=(u,B,{isExporting:E,canvasBackgroundColor:A,embedsValidationStatus:C})=>{switch(u.type){case"rectangle":case"iframe":case"embeddable":{let D;if(u.roundness){let{width:F,height:U}=u,z=mA(Math.min(F,U),u);D=B.path(`M ${z} 0 L ${F-z} 0 Q ${F} 0, ${F} ${z} L ${F} ${U-z} Q ${F} ${U}, ${F-z} ${U} L ${z} ${U} Q 0 ${U}, 0 ${U-z} L 0 ${z} Q 0 0, ${z} 0`,PE(_zu(u,E,C),!0))}else D=B.rectangle(0,0,u.width,u.height,PE(_zu(u,E,C),!1));return D}case"diamond":{let D,[F,U,z,k,f,M,b,Z]=uZu(u);if(u.roundness){let J=mA(Math.abs(F-b),u),K=mA(Math.abs(k-U),u);D=B.path(`M ${F+J} ${U+K} L ${z-J} ${k-K}
C ${z} ${k}, ${z} ${k}, ${z-J} ${k+K}
L ${f+J} ${M-K}
C ${f} ${M}, ${f} ${M}, ${f-J} ${M-K}
L ${b+J} ${Z+K}
C ${b} ${Z}, ${b} ${Z}, ${b+J} ${Z-K}
L ${F-J} ${U+K}
C ${F} ${U}, ${F} ${U}, ${F+J} ${U+K}`,PE(u,!0))}else D=B.polygon([[F,U],[z,k],[f,M],[b,Z]],PE(u));return D}case"ellipse":return B.ellipse(u.width/2,u.height/2,u.width,u.height,PE(u));case"line":case"arrow":{let D,F=PE(u),U=u.points.length?u.points:[t(0,0)];if(Q4(u)?U.every((z)=>Math.abs(z[0])<=1e6&&Math.abs(z[1])<=1e6)?D=[B.path(k83(U,16),PE(u,!0))]:(console.error("Elbow arrow with extreme point positions detected. Arrow not rendered.",u.id,JSON.stringify(U)),D=[]):u.roundness?D=[B.curve(U,F)]:F.fill?D=[B.polygon(U,F)]:D=[B.linearPath(U,F)],u.type==="arrow"){let{startArrowhead:z=null,endArrowhead:k="arrow"}=u;if(z!==null){let f=pzu(u,D,"start",z,B,F,A);D.push(...f)}if(k!==null){let f=pzu(u,D,"end",k,B,F,A);D.push(...f)}}return D}case"freedraw":{let D;if(E83(u),VU(u.points)){let F=cUu(u.points,0.75);D=B.curve(F,{...PE(u),stroke:"none"})}else D=null;return D}case"frame":case"magicframe":case"text":case"image":return null;default:return xZ(u,`generateElementShape(): Unimplemented type ${u?.type}`),null}},k83=(u,B)=>{let E=[];for(let C=1;C<u.length-1;C+=1){let D=u[C-1],F=u[C+1],U=u[C],z=Df(U,D),k=Df(F,U),f=Math.min(B,l1(u[C],F)/2,l1(u[C],D)/2);z?D[0]<U[0]?E.push([u[C][0]-f,u[C][1]]):E.push([u[C][0]+f,u[C][1]]):D[1]<U[1]?E.push([u[C][0],u[C][1]-f]):E.push([u[C][0],u[C][1]+f]),E.push(u[C]),k?F[0]<U[0]?E.push([u[C][0]-f,u[C][1]]):E.push([u[C][0]+f,u[C][1]]):F[1]<U[1]?E.push([u[C][0],u[C][1]-f]):E.push([u[C][0],u[C][1]+f])}let A=[`M ${u[0][0]} ${u[0][1]}`];for(let C=0;C<E.length;C+=3)A.push(`L ${E[C][0]} ${E[C][1]}`),A.push(`Q ${E[C+1][0]} ${E[C+1][1]}, ${E[C+2][0]} ${E[C+2][1]}`);return A.push(`L ${u[u.length-1][0]} ${u[u.length-1][1]}`),A.join(" ")},OQ=(u)=>{let B=u.map((A)=>A[0]),E=u.map((A)=>A[1]);return{width:Math.max(...B)-Math.min(...B),height:Math.max(...E)-Math.min(...E)}},zp=(u,B,E,A)=>{let C=E.map((b)=>b[u]),D=Math.max(...C),F=Math.min(...C),U=D-F,z=U===0?1:B/U,k=1/0,f=E.map((b)=>{let Z=b[u]*z,J=[...b];return J[u]=Z,Z<k&&(k=Z),J});if(!A||f.length===2)return f;let M=F-k;return f.map((b)=>b.map((Z,J)=>J===u?Z+M:Z))},ebu=class u{static getBounds(B,E){let A=u.boundsCache.get(B);if(A?.version&&A.version===B.version&&!x6(B))return A.bounds;let C=u.calculateBounds(B,E);return u.boundsCache.set(B,{version:B.version,bounds:C}),C}static calculateBounds(B,E){let A,[C,D,F,U,z,k]=W3(B,E);if(rA(B)){let[f,M,b,Z]=SM0(B.points.map(([J,K])=>lu(t(J,K),t(z-B.x,k-B.y),B.angle)));return[f+B.x,M+B.y,b+B.x,Z+B.y]}else if(S3(B))A=w83(B,z,k,E);else if(B.type==="diamond"){let[f,M]=lu(t(z,D),t(z,k),B.angle),[b,Z]=lu(t(z,U),t(z,k),B.angle),[J,K]=lu(t(C,k),t(z,k),B.angle),[w,Q]=lu(t(F,k),t(z,k),B.angle),G=Math.min(f,b,J,w),H=Math.min(M,Z,K,Q),l=Math.max(f,b,J,w),q=Math.max(M,Z,K,Q);A=[G,H,l,q]}else if(B.type==="ellipse"){let f=(F-C)/2,M=(U-D)/2,b=Math.cos(B.angle),Z=Math.sin(B.angle),J=Math.hypot(f*b,M*Z),K=Math.hypot(M*b,f*Z);A=[z-J,k-K,z+J,k+K]}else{let[f,M]=lu(t(C,D),t(z,k),B.angle),[b,Z]=lu(t(C,U),t(z,k),B.angle),[J,K]=lu(t(F,U),t(z,k),B.angle),[w,Q]=lu(t(F,D),t(z,k),B.angle),G=Math.min(f,b,J,w),H=Math.min(M,Z,K,Q),l=Math.max(f,b,J,w),q=Math.max(M,Z,K,Q);A=[G,H,l,q]}return A}},f83,W3=(u,B,E=!1)=>{if(rA(u))return b83(u);if(S3(u))return Z4.getElementAbsoluteCoords(u,B,E);if(M4(u)){let A=B?b5(u,B):null;if(j3(A)){let{x:C,y:D}=Z4.getBoundTextElementPosition(A,u,B);return[C,D,C+u.width,D+u.height,C+u.width/2,D+u.height/2]}}return[u.x,u.y,u.x+u.width,u.y+u.height,u.x+u.width/2,u.y+u.height/2]},nzu=(u,B)=>{let[E,A,C,D,F,U]=W3(u,B),z=t(F,U);if(S3(u)||rA(u)){let Q=[],G=0;for(;G<u.points.length-1;)Q.push(i4(lu(t(u.points[G][0]+u.x,u.points[G][1]+u.y),z,u.angle),lu(t(u.points[G+1][0]+u.x,u.points[G+1][1]+u.y),z,u.angle))),G++;return Q}let[k,f,M,b,Z,J,K,w]=[[E,A],[C,A],[E,D],[C,D],[F,A],[F,D],[E,U],[C,U]].map((Q)=>lu(Q,z,u.angle));return u.type==="diamond"?[i4(Z,K),i4(Z,w),i4(J,K),i4(J,w)]:u.type==="ellipse"?[i4(Z,K),i4(Z,w),i4(J,K),i4(J,w),i4(Z,K),i4(Z,w),i4(J,K),i4(J,w)]:[i4(k,f),i4(M,b),i4(k,M),i4(f,b),i4(k,w),i4(M,w),i4(f,K),i4(b,K)]},uZu=(u)=>{let B=Math.floor(u.width/2)+1,E=0,A=u.width,C=Math.floor(u.height/2)+1,D=B,F=u.height;return[B,E,A,C,D,F,0,C]},dzu=(u,B,E,A,C)=>{let D=1-u;return Math.pow(D,3)*B+3*Math.pow(D,2)*u*E+3*D*Math.pow(u,2)*A+Math.pow(u,3)*C},szu=(u,B,E,A)=>{let C=B-u,D=E-B,F=A-E,U=3*C-6*D+3*F,z=6*D-6*C,k=3*C,f=z*z-4*U*k;if(!(f>=0))return!1;let M=null,b=null,Z=1/0,J=1/0;return U===0?Z=J=-k/z:(Z=(-z+Math.sqrt(f))/(2*U),J=(-z-Math.sqrt(f))/(2*U)),Z>=0&&Z<=1&&(M=dzu(Z,u,B,E,A)),J>=0&&J<=1&&(b=dzu(J,u,B,E,A)),[M,b]},M83=(u,B,E,A)=>{let C=szu(u[0],B[0],E[0],A[0]),D=szu(u[1],B[1],E[1],A[1]),F=Math.min(u[0],A[0]),U=Math.max(u[0],A[0]);if(C){let f=C.filter((M)=>M!==null);F=Math.min(F,...f),U=Math.max(U,...f)}let z=Math.min(u[1],A[1]),k=Math.max(u[1],A[1]);if(D){let f=D.filter((M)=>M!==null);z=Math.min(z,...f),k=Math.max(k,...f)}return[F,z,U,k]},pp=(u,B)=>{let E=t(0,0),{minX:A,minY:C,maxX:D,maxY:F}=u.reduce((U,{op:z,data:k})=>{if(z==="move"){let f=qf0(k);b2(f!=null,"Op data is not a point"),E=f}else if(z==="bcurveTo"){let f=t(k[0],k[1]),M=t(k[2],k[3]),b=t(k[4],k[5]),Z=B?B(f):f,J=B?B(M):M,K=B?B(b):b,w=B?B(E):E;E=b;let[Q,G,H,l]=M83(w,Z,J,K);U.minX=Math.min(U.minX,Q),U.minY=Math.min(U.minY,G),U.maxX=Math.max(U.maxX,H),U.maxY=Math.max(U.maxY,l)}return U},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[A,C,D,F]},SM0=(u)=>{let B=1/0,E=1/0,A=-1/0,C=-1/0;for(let[D,F]of u)B=Math.min(B,D),E=Math.min(E,F),A=Math.max(A,D),C=Math.max(C,F);return[B,E,A,C]},b83=(u)=>{let[B,E,A,C]=SM0(u.points),D=B+u.x,F=E+u.y,U=A+u.x,z=C+u.y;return[D,F,U,z,(D+U)/2,(F+z)/2]},Z83=(u)=>{switch(u){case"arrow":return 25;case"diamond":case"diamond_outline":return 12;case"crowfoot_many":case"crowfoot_one":case"crowfoot_one_or_many":return 20;default:return 15}},J83=(u)=>{switch(u){case"bar":return 90;case"arrow":return 20;default:return 25}},ozu=(u,B,E,A)=>{if(B.length<1)return null;let C=OZ(B[0]);if(C.length<1)return null;let D=E==="start"?1:C.length-1,F=C[D].data;b2(F.length===6,"Op data length is not 6");let U=t(F[4],F[5]),z=t(F[2],F[3]),k=t(F[0],F[1]),f=C[D-1],M=t(0,0);if(f.op==="move"){let h=qf0(f.data);b2(h!=null,"Op data is not a point"),M=h}else f.op==="bcurveTo"&&(M=t(f.data[4],f.data[5]));let b=(h,I)=>Math.pow(1-h,3)*U[I]+3*h*Math.pow(1-h,2)*z[I]+3*Math.pow(h,2)*(1-h)*k[I]+M[I]*Math.pow(h,3),[Z,J]=E==="start"?M:U,[K,w]=[b(0.3,0),b(0.3,1)],Q=Math.hypot(Z-K,J-w),G=(Z-K)/Q,H=(J-w)/Q,l=Z83(A),q=0;{let[h,I]=E==="end"?u.points[u.points.length-1]:u.points[0],[O,V]=u.points.length>1?E==="end"?u.points[u.points.length-2]:u.points[1]:[0,0];q=Math.hypot(h-O,I-V)}let L=Math.min(l,q*(A==="diamond"||A==="diamond_outline"?0.25:0.5)),v=Z-G*L,x=J-H*L;if(A==="dot"||A==="circle"||A==="circle_outline"){let h=Math.hypot(x-J,v-Z)+u.strokeWidth-2;return[Z,J,h]}let S=J83(A);if(A==="crowfoot_many"||A==="crowfoot_one_or_many"){let[h,I]=lu(t(Z,J),t(v,x),bZ(-S)),[O,V]=lu(t(Z,J),t(v,x),bZ(S));return[v,x,h,I,O,V]}let[W,T]=lu(t(v,x),t(Z,J),-S*Math.PI/180),[R,Y]=lu(t(v,x),t(Z,J),bZ(S));if(A==="diamond"||A==="diamond_outline"){let h,I;if(E==="start"){let[O,V]=u.points.length>1?u.points[1]:[0,0];[h,I]=lu(t(Z+L*2,J),t(Z,J),Math.atan2(V-J,O-Z))}else{let[O,V]=u.points.length>1?u.points[u.points.length-2]:[0,0];[h,I]=lu(t(Z-L*2,J),t(Z,J),Math.atan2(J-V,Z-O))}return[Z,J,W,T,h,I,R,Y]}return[Z,J,W,T,R,Y]},K83=(u)=>{let B=NA.generator(),E=PE(u),A=u.roundness?"curve":E.fill?"polygon":"linearPath";return B[A](u.points,E)},w83=(u,B,E,A)=>{let C=Y3(u,A);if(u.points.length<2){let[k,f]=u.points[0],[M,b]=lu(t(u.x+k,u.y+f),t(B,E),u.angle),Z=[M,b,M,b];if(C){let J=Z4.getMinMaxXYWithBoundText(u,A,[M,b,M,b],C);Z=[J[0],J[1],J[2],J[3]]}return Z}let D=s6.get(u)?.[0]??K83(u),F=OZ(D),U=pp(F,([k,f])=>lu(t(u.x+k,u.y+f),t(B,E),u.angle)),z=[U[0],U[1],U[2],U[3]];if(C){let k=Z4.getMinMaxXYWithBoundText(u,A,z,C);z=[k[0],k[1],k[2],k[3]]}return z},wD=(u,B)=>f83.getBounds(u,B),I1=(u,B)=>{if(!u.length)return[0,0,0,0];let E=1/0,A=-1/0,C=1/0,D=-1/0,F=B||e4(u);return u.forEach((U)=>{let[z,k,f,M]=wD(U,F);E=Math.min(E,z),C=Math.min(C,k),A=Math.max(A,f),D=Math.max(D,M)}),[E,C,A,D]},YM0=(u,B)=>{let[E,A,C,D]=I1(u);return[E+B.x,A+B.y,C+B.x,D+B.y]},ZZ=(u,B,E,A)=>{if(!(S3(u)||rA(u)))return[u.x,u.y,u.x+B,u.y+E];let C=zp(0,B,zp(1,E,u.points,A),A),D;if(rA(u))D=SM0(C);else{let f=NA.generator(),M=u.roundness?f.curve(C,PE(u)):f.linearPath(C,PE(u)),b=OZ(M);D=pp(b)}let[F,U,z,k]=D;return[F+u.x,U+u.y,z+u.x,k+u.y]},tzu=(u,B)=>{let E=NA.generator(),A=u.roundness==null?E.linearPath(B,PE(u)):E.curve(B,PE(u)),C=OZ(A),[D,F,U,z]=pp(C);return[D+u.x,F+u.y,U+u.x,z+u.y]},Q83=(u,B)=>{if(!u.length)return[0,0,0,0];let E=1/0,A=u[0],C=e4(u);return u.forEach((D)=>{let[F,U,z,k]=wD(D,C),f=l1(t((F+z)/2,(U+k)/2),t(B.x,B.y));f<E&&(E=f,A=D)}),wD(A,C)},pA=(u)=>{let[B,E,A,C]=I1(u);return{minX:B,minY:E,maxX:A,maxY:C,width:A-B,height:C-E,midX:(B+A)/2,midY:(E+C)/2}},BZu=({scrollX:u,scrollY:B,width:E,height:A,zoom:C})=>[-u,-B,-u+E/C.value,-B+A/C.value],RM0=(u)=>t(u[0]+(u[2]-u[0])/2,u[1]+(u[3]-u[1])/2),G83=(u,B)=>{if(u==null||B==null)return!1;let[E,A,C,D]=u,[F,U,z,k]=B;return E<z&&C>F&&A<k&&D>U},np=(u,B)=>{switch(u.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return H83(u,B);case"diamond":return q83(u,B);case"ellipse":return l83(u,B)}},H83=(u,B)=>{let E=t(u.x+u.width/2,u.y+u.height/2),A=lu(B,E,-u.angle),[C,D]=Pbu(u);return Math.min(...C.map((F)=>lf0(A,F)),...D.map((F)=>lfu(F,A)).filter((F)=>F!==null))},q83=(u,B)=>{let E=t(u.x+u.width/2,u.y+u.height/2),A=lu(B,E,-u.angle),[C,D]=jbu(u);return Math.min(...C.map((F)=>lf0(A,F)),...D.map((F)=>lfu(F,A)).filter((F)=>F!==null))},l83=(u,B)=>{let E=t(u.x+u.width/2,u.y+u.height/2);return aB3(lu(B,E,-u.angle),Ibu(E,u.width/2,u.height/2))},EZu=(u)=>!u[r0.CTRL_OR_CMD],GZ=(u)=>u.isBindingEnabled,H6=5,dp=10,sp=4,L83=(u,B)=>{let E=[];return B.forEach((A)=>{let C=u.getNonDeletedElement(A);C!=null&&E.push(C)}),E},sO=(u,B,E,A,C)=>{let D=new Set,F=new Set;ezu(u,B,E,"start",D,F,A),ezu(u,E,B,"end",D,F,A);let U=Array.from(F).filter((z)=>!D.has(z));L83(C,U).forEach((z)=>{Su(z,{boundElements:z.boundElements?.filter((k)=>k.type!=="arrow"||k.id!==u.id)})})},ezu=(u,B,E,A,C,D,F)=>{if(B!=="keep"){if(B===null){let U=S83(u,A);U!=null&&D.add(U);return}DZu(u)?(E==null||(E==="keep"?!CZu(u,B,A):A==="start"||E.id!==B.id))&&(QD(u,B,A,F),C.add(B.id)):(QD(u,B,A,F),C.add(B.id))}},X83=(u,B,E,A)=>{let C=FZu(u,B,E),D=B==="start"?u.startBinding?.elementId:u.endBinding?.elementId;if(D){let F=E.get(D);if(gA(F)&&s_(F,C,E,A))return F}return null},AZu=(u,B,E)=>["start","end"].map((A)=>X83(u,A,B,E)),v83=(u,B,E,A,C,D)=>{let F=u.points.length-1,U=E.findIndex((M)=>M===0)>-1,z=E.findIndex((M)=>M===F)>-1,k=U?B?AX(u,"start",A,C,D):null:Q4(u)?"keep":AX(u,"start",A,C,D),f=z?B?AX(u,"end",A,C,D):null:Q4(u)?"keep":AX(u,"end",A,C,D);return[k,f]},x83=(u,B,E,A,C)=>{if(Q4(u))return["keep","keep"];let[D,F]=AZu(u,B,C),U=D&&A?AX(u,"start",B,E,C):null,z=F&&A?AX(u,"end",B,E,C):null;return[U,z]},oO=(u,B,E,A,C,D,F)=>{u.forEach((U)=>{let[z,k]=D?.length?v83(U,C,D??[],B,E,F):x83(U,B,E,C,F);sO(U,z,k,B,A)})},op=(u,B,E)=>u.length>50?[]:u.filter(S3).flatMap((A)=>AZu(A,B,E)).filter((A)=>A!==null).filter((A)=>u.filter((C)=>C.id===A?.id).length===0),tp=(u,B,E,A,C)=>{B.startBoundElement!=null&&QD(u,B.startBoundElement,"start",A);let D=cA(E,C,A,B.zoom,Q4(u),Q4(u));D!==null&&(CZu(u,D,"end")||QD(u,D,"end",A))},W83=(u,B)=>{let E=u.gap,A=WX(B,B.width,B.height);return E>A&&(E=dp+sp),{...u,gap:E}},QD=(u,B,E,A)=>{if(!j3(u))return;let C={elementId:B.id,...Q4(u)?{...tO(u,B,E,A),focus:0,gap:0}:{...W83(T83(u,B,E,A),B)}};Su(u,{[E==="start"?"startBinding":"endBinding"]:C}),e4(B.boundElements||[]).has(u.id)||Su(B,{boundElements:(B.boundElements||[]).concat({id:u.id,type:"arrow"})})},CZu=(u,B,E)=>{let A=u[E==="start"?"endBinding":"startBinding"];return TM0(u,A?.elementId,B)},TM0=(u,B,E)=>B===E.id&&DZu(u),DZu=(u)=>u.points.length<3,S83=(u,B)=>{let E=B==="start"?"startBinding":"endBinding",A=u[E];return A==null?null:(Su(u,{[E]:null}),A.elementId)},cA=(u,B,E,A,C,D)=>{if(D){let F=!1,U=R83(B,(k)=>gA(k,!1)&&s_(k,u,E,A,(C||!Pk0(k))&&!u3(k))).filter((k)=>F?!1:(Pk0(k)||(F=!0),!0));if(!U||U.length===0)return null;if(U.length===1)return U[0];let z=U.filter((k)=>s_(k,u,E,A,!1));return z.length===1?z[0]:U.sort((k,f)=>f.width**2+f.height**2-(k.width**2+k.height**2)).pop()}return Y83(B,(F)=>gA(F,!1)&&s_(F,u,E,A,(C||!Pk0(F))&&!u3(F)))},Y83=(u,B)=>{let E=null;for(let A=u.length-1;A>=0;--A){let C=u[A];if(!C.isDeleted&&B(C)){E=C;break}}return E},R83=(u,B)=>{let E=[];for(let A=u.length-1;A>=0;--A){let C=u[A];C.isDeleted||B(C)&&E.push(C)}return E},T83=(u,B,E,A)=>{let C=E==="start"?-1:1,D=C===-1?0:u.points.length-1,F=D-C,U=Z4.getPointAtIndexGlobalCoordinates(u,D,A),z=Z4.getPointAtIndexGlobalCoordinates(u,F,A);return{focus:a83(B,z,U),gap:Math.max(1,np(B,U))}},_B=(u,B,E)=>{let{newSize:A,simultaneouslyUpdated:C}=E??{},D=I83(C);gA(u)&&ep(B,u,(F)=>{if(!S3(F)||F.isDeleted||!O83(F,u))return;let U=F.startBinding?B.get(F.startBinding.elementId):null,z=F.endBinding?B.get(F.endBinding.elementId):null,k=null,f=null;U&&z&&(k=wD(U,B),f=wD(z,B));let M={startBinding:uku(u,F.startBinding,A),endBinding:uku(u,F.endBinding,A)};if(D.has(F.id)){Su(F,M,!0);return}let b=un(B,F,(J,K)=>{if(J&&gA(J)&&(K==="startBinding"||K==="endBinding")&&(u.id===F[K]?.elementId||u.id===F[K==="startBinding"?"endBinding":"startBinding"]?.elementId&&!G83(k,f))){let w=i83(F,K,M[K],J,B);if(w)return{index:K==="startBinding"?0:F.points.length-1,point:w}}return null}).filter((J)=>J!==null);Z4.movePoints(F,b,{...u.id===F.startBinding?.elementId?{startBinding:M.startBinding}:{},...u.id===F.endBinding?.elementId?{endBinding:M.endBinding}:{}});let Z=Y3(F,B);Z&&!Z.isDeleted&&TX(F,B,!1)})},O83=(u,B)=>u.startBinding?.elementId===B.id||u.endBinding?.elementId===B.id,I83=(u)=>new Set((u||[]).map((B)=>B.id)),P83=(u,B,E,A,C,D,F)=>{let U=TQ(O4(B,u));return!E||!A?U:j83(D,E,C,F)?WM0(E,A,u):TQ(O4(u,t(E.x+E.width/2,E.y+E.height/2)))},j83=(u,B,E,A)=>{let C=np(B,u),D=WX(B,B.width,B.height,A);return C>D?null:C},bX=(u,B,E)=>{let A=B&&MD(B),C=u.points[E==="start"?0:u.points.length-1],D=t(u.x+C[0],u.y+C[1]),F=v63(B)?V83(B,D):D;if(B&&A){let U=RM0(A),z=Vbu(B,i4(U,c3(Z9(l7(O4(F,U)),Math.max(B.width,B.height)),U)))[0],k=l1(F,U),f=Math.max(l1(z??F,U),0.0001),M=vD(k/f,6);switch(!0){case M>0.9:return k-f>H6||qO(F,z)<0.0001?F:c3(Z9(l7(O4(F,z??U)),M>1?H6:-H6),z??U);default:return N83(F,B,A)}}return F},N83=(u,B,E)=>{let A=RM0(E),C=TQ(O4(u,A));switch(!0){case J9(C,gB):return lu(t((E[0]+E[2])/2+0.1,E[1]),A,B.angle);case J9(C,b9):return lu(t(E[2],(E[1]+E[3])/2+0.1),A,B.angle);case J9(C,f5):return lu(t((E[0]+E[2])/2-0.1,E[3]),A,B.angle);default:return lu(t(E[0],(E[1]+E[3])/2-0.1),A,B.angle)}},V83=(u,B)=>{let E=t(u.x+u.width/2,u.y+u.height/2),A=lu(B,E,-u.angle);return A[0]<u.x&&A[1]<u.y?A[1]-u.y>-H6?lu(t(u.x-H6,u.y),E,u.angle):lu(t(u.x,u.y-H6),E,u.angle):A[0]<u.x&&A[1]>u.y+u.height?A[0]-u.x>-H6?lu(t(u.x,u.y+u.height+H6),E,u.angle):lu(t(u.x-H6,u.y+u.height),E,u.angle):A[0]>u.x+u.width&&A[1]>u.y+u.height?A[0]-u.x<u.width+H6?lu(t(u.x+u.width,u.y+u.height+H6),E,u.angle):lu(t(u.x+u.width+H6,u.y+u.height),E,u.angle):A[0]>u.x+u.width&&A[1]<u.y?A[0]-u.x<u.width+H6?lu(t(u.x+u.width,u.y-H6),E,u.angle):lu(t(u.x+u.width+H6,u.y),E,u.angle):B},h83=(u,B,E=0.05)=>{let{x:A,y:C,width:D,height:F,angle:U}=u,z=t(A+D/2-0.1,C+F/2-0.1),k=lu(B,z,-U),f=r3(E*F,5,80),M=r3(E*D,5,80);return k[0]<=A+D/2&&k[1]>z[1]-f&&k[1]<z[1]+f?lu(t(A-H6,z[1]),z,U):k[1]<=C+F/2&&k[0]>z[0]-M&&k[0]<z[0]+M?lu(t(z[0],C-H6),z,U):k[0]>=A+D/2&&k[1]>z[1]-f&&k[1]<z[1]+f?lu(t(A+D+H6,z[1]),z,U):k[1]>=C+F/2&&k[0]>z[0]-M&&k[0]<z[0]+M?lu(t(z[0],C+F+H6),z,U):B},i83=(u,B,E,A,C)=>{if(E==null||E.elementId!==A.id&&u.points.length>2)return null;let D=B==="startBinding"?-1:1,F=D===-1?0:u.points.length-1;if(Q4(u)&&Dp(E)){let M=Bn(E.fixedPoint)??tO(u,A,B==="startBinding"?"start":"end",C).fixedPoint,b=t(A.x+A.width/2,A.y+A.height/2),Z=t(A.x+M[0]*A.width,A.y+M[1]*A.height),J=lu(Z,b,A.angle);return Z4.pointFromAbsoluteCoords(u,J,C)}let U=F-D,z=Z4.getPointAtIndexGlobalCoordinates(u,U,C),k=m83(A,E.focus,z),f;if(E.gap===0)f=k;else{let M=Z4.getPointAtIndexGlobalCoordinates(u,F,C),b=t(A.x+A.width/2,A.y+A.height/2),Z=l1(z,M)+l1(z,b)+Math.max(A.width,A.height)*2,J=Vbu(A,i4(z,c3(Z9(l7(O4(k,z)),Z),z)),E.gap).sort((K,w)=>qO(K,z)-qO(w,z));J.length>1?f=J[0]:J.length===1?f=k:f=M}return Z4.pointFromAbsoluteCoords(u,f,C)},tO=(u,B,E,A)=>{let C=[B.x,B.y,B.x+B.width,B.y+B.height],D=bX(u,B,E),F=t(C[0]+(C[2]-C[0])/2,C[1]+(C[3]-C[1])/2),U=lu(D,F,-B.angle);return{fixedPoint:Bn([(U[0]-B.x)/B.width,(U[1]-B.y)/B.height])}},uku=(u,B,E)=>{if(B==null||E==null)return B;let{width:A,height:C}=E,{width:D,height:F}=u,U=Math.max(1,Math.min(WX(u,A,C),B.gap*(A<C?A/D:C/F)));return{...B,gap:U}},AX=(u,B,E,A,C)=>cA(FZu(u,B,E),A,E,C,Q4(u),Q4(u)),FZu=(u,B,E)=>{let A=B==="start"?0:-1;return aA(Z4.getPointAtIndexGlobalCoordinates(u,A,E))},OM0=(u,B,E,A)=>{let C=new Set,D=new Set,F=A==="duplicatesServeAsOld",U=new Map([...E].map(([z,k])=>[k,z]));B.forEach((z)=>{let{boundElements:k}=z;if(k!=null&&k.length>0&&(k.forEach((f)=>{F&&!E.has(f.id)&&C.add(f.id)}),D.add(E.get(z.id))),KD(z)){if(z.startBinding!=null){let{elementId:f}=z.startBinding;F&&!E.has(f)&&D.add(f)}if(z.endBinding!=null){let{elementId:f}=z.endBinding;F&&!E.has(f)&&D.add(f)}(z.startBinding!=null||z.endBinding!=null)&&C.add(E.get(z.id))}}),u.filter(({id:z})=>C.has(z)).forEach((z)=>{let{startBinding:k,endBinding:f}=z;Su(z,{startBinding:Bku(k,E),endBinding:Bku(f,E)})}),u.filter(({id:z})=>D.has(z)).forEach((z)=>{let k=U.get(z.id),f=u.find(({id:M})=>M===k)?.boundElements;f&&f.length>0&&Su(z,{boundElements:f.map((M)=>E.has(M.id)?{id:E.get(M.id),type:M.type}:M)})})},Bku=(u,B)=>u==null?null:{...u,elementId:B.get(u.elementId)??u.elementId},IM0=(u,B)=>{let E=e4(u);for(let A of B)CX.unbindAffected(E,A,Su),DX.unbindAffected(E,A,Su)},xO=(u,B,E=[])=>{if(!u)return null;let A=u.filter((C)=>!B.has(C.id));return A.push(...E.map((C)=>({id:C.id,type:C.type}))),A},s_=(u,{x:B,y:E},A,C,D)=>{let F=WX(u,u.width,u.height,C),U=NU(u,A);return nk0(t(B,E),U,F)||D===!0&&MX(t(B,E),MD(u))},WX=(u,B,E,A)=>{let C=A?.value&&A.value<1?A.value:1,D=(u.type==="diamond"?1/Math.sqrt(2):1)*Math.min(B,E);return Math.max(16,Math.min(0.25*D,32),dp/C+sp)},a83=(u,B,E)=>{let A=t(u.x+u.width/2,u.y+u.height/2);if(JD(B,E))return 0;let C=lu(B,A,-u.angle),D=lu(E,A,-u.angle),F=Math.sign(k5(O4(D,B),O4(D,A)))*-1,U=i4(D,c3(Z9(l7(O4(D,C)),Math.max(u.width*2,u.height*2)),D)),z=u.type==="diamond"?[i4(t(u.x+u.width/2,u.y),t(u.x+u.width/2,u.y+u.height)),i4(t(u.x,u.y+u.height/2),t(u.x+u.width,u.y+u.height/2))]:[i4(t(u.x,u.y),t(u.x+u.width,u.y+u.height)),i4(t(u.x+u.width,u.y),t(u.x,u.y+u.height))],k=u.type==="diamond"?[i4(t(u.x+u.width/2,u.y-u.height),t(u.x+u.width/2,u.y+u.height*2)),i4(t(u.x-u.width,u.y+u.height/2),t(u.x+u.width*2,u.y+u.height/2))]:[i4(t(u.x-u.width,u.y-u.height),t(u.x+u.width*2,u.y+u.height*2)),i4(t(u.x+u.width*2,u.y-u.height),t(u.x-u.width,u.y+u.height*2))];return[lO(U,k[0]),lO(U,k[1])].filter((f)=>f!==null).sort((f,M)=>qO(f,E)-qO(M,E)).map((f,M)=>F*l1(A,f)/(u.type==="diamond"?l1(z[M][0],z[M][1])/2:Math.sqrt(u.width**2+u.height**2)/2)).sort((f,M)=>Math.abs(f)-Math.abs(M))[0]??0},m83=(u,B,E)=>{let A=t(u.x+u.width/2,u.y+u.height/2);if(B===0)return A;let C=(u.type==="diamond"?[t(u.x,u.y+u.height/2),t(u.x+u.width/2,u.y),t(u.x+u.width,u.y+u.height/2),t(u.x+u.width/2,u.y+u.height)]:[t(u.x,u.y),t(u.x+u.width,u.y),t(u.x+u.width,u.y+u.height),t(u.x,u.y+u.height)]).map((F)=>c3(Z9(O4(F,A),Math.abs(B)),A)).map((F)=>lu(F,A,u.angle)),D=[k5(O4(E,C[0]),O4(C[1],C[0]))>0&&(B>0?k5(O4(E,C[1]),O4(C[2],C[1]))<0:k5(O4(E,C[3]),O4(C[0],C[3]))<0),k5(O4(E,C[1]),O4(C[2],C[1]))>0&&(B>0?k5(O4(E,C[2]),O4(C[3],C[2]))<0:k5(O4(E,C[0]),O4(C[1],C[0]))<0),k5(O4(E,C[2]),O4(C[3],C[2]))>0&&(B>0?k5(O4(E,C[3]),O4(C[0],C[3]))<0:k5(O4(E,C[1]),O4(C[2],C[1]))<0),k5(O4(E,C[3]),O4(C[0],C[3]))>0&&(B>0?k5(O4(E,C[0]),O4(C[1],C[0]))<0:k5(O4(E,C[2]),O4(C[3],C[2]))<0)];return D[0]?B>0?C[1]:C[0]:D[1]?B>0?C[2]:C[1]:D[2]?B>0?C[3]:C[2]:B>0?C[0]:C[3]},$83,ep=(u,B,E)=>{gA(B)&&(B.boundElements?.slice()??[]).forEach(({id:A})=>{E(u.get(A),"boundElements",A)})},un=(u,B,E)=>{let A=[];if(B.frameId){let C=B.frameId;A.push(E(u.get(C),"frameId",C))}if(x6(B)){let C=B.containerId;A.push(E(u.get(C),"containerId",C))}if(j3(B)){if(B.startBinding){let C=B.startBinding.elementId;A.push(E(u.get(C),"startBinding",C))}if(B.endBinding){let C=B.endBinding.elementId;A.push(E(u.get(C),"endBinding",C))}}return A},CX=class{static unbindAffected(u,B,E){B&&un(u,B,(A)=>{!A||A.isDeleted||ep(u,A,(C,D,F)=>{F===B.id&&E(A,{boundElements:xO(A.boundElements,new Set([F]))})})})}},DX=class{static unbindAffected(u,B,E){B&&ep(u,B,(A)=>{!A||A.isDeleted||un(u,A,(C,D,F)=>{F===B.id&&E(A,{[D]:null})})})}},ok0=(u,B)=>{let[E,A]=Bn(u);return lu(t(B.x+B.width*E,B.y+B.height*A),t(B.x+B.width/2,B.y+B.height/2),B.angle)},y83=(u,B)=>{let E=u.startBinding&&B.get(u.startBinding.elementId),A=u.endBinding&&B.get(u.endBinding.elementId),C=E&&u.startBinding?ok0(u.startBinding.fixedPoint,E):t(u.x+u.points[0][0],u.y+u.points[0][1]),D=A&&u.endBinding?ok0(u.endBinding.fixedPoint,A):t(u.x+u.points[u.points.length-1][0],u.y+u.points[u.points.length-1][1]);return[C,D]},r83=(u,B)=>{let[E,A]=y83(u,B);return[Z4.pointFromAbsoluteCoords(u,E,B),Z4.pointFromAbsoluteCoords(u,A,B)]},Bn=(u)=>u&&(Math.abs(u[0]-0.5)<0.0001||Math.abs(u[1]-0.5)<0.0001)?u.map((B)=>Math.abs(B-0.5)<0.0001?0.5001:B):u,g83=(u,B)=>{let[E,A,C,D]=B,{x:F,y:U}=yA({sceneX:E,sceneY:A},u),{x:z,y:k}=yA({sceneX:C,sceneY:D},u);return z-F>u.width||k-U>u.height},PM0=({scenePoint:u,viewportDimensions:B,zoom:E,offsets:A})=>{let C=(B.width-(A?.right??0))/2/E.value-u.x;C+=(A?.left??0)/2/E.value;let D=(B.height-(A?.bottom??0))/2/E.value-u.y;return D+=(A?.top??0)/2/E.value,{scrollX:C,scrollY:D}},SX=(u,B)=>{if(u=WA3(u),!u.length)return{scrollX:0,scrollY:0};let[E,A,C,D]=I1(u);g83(B,[E,A,C,D])&&([E,A,C,D]=Q83(u,q6({clientX:B.scrollX,clientY:B.scrollY},B)));let F=(E+C)/2,U=(A+D)/2;return PM0({scenePoint:{x:F,y:U},viewportDimensions:{width:B.width,height:B.height},zoom:B.zoom})},gU=(u)=>r3(vD(u,6),Gp,Hp),c83=(u)=>r3(Math.round(u),1,100),jM0=(u)=>r3(Math.round(u),1,100),NM0=(u,B,E)=>{let A=E.reduce((C,D)=>(D.groupIds.includes(u)&&(C[D.id]=!0),C),{});return Object.keys(A).length<2?B.selectedGroupIds[u]||B.editingGroupId===u?{selectedElementIds:B.selectedElementIds,selectedGroupIds:{...B.selectedGroupIds,[u]:!1},editingGroupId:null}:B:{editingGroupId:B.editingGroupId,selectedGroupIds:{...B.selectedGroupIds,[u]:!0},selectedElementIds:{...B.selectedElementIds,...A}}},n7,VM0=(u,B)=>hM0(u,B)!=null,hM0=(u,B)=>B.groupIds.filter((E)=>E!==u.editingGroupId).find((E)=>u.selectedGroupIds[E]),IZ=(u)=>Object.entries(u.selectedGroupIds).filter(([B,E])=>E).map(([B,E])=>B),iM0=(u,B)=>{let E={...B,selectedGroupIds:{}};for(let A of u){let C=A.groupIds;if(B.editingGroupId){let D=C.indexOf(B.editingGroupId);D>-1&&(C=C.slice(0,D))}if(C.length>0){let D=C[C.length-1];E={...E,...NM0(D,E,u)}}}return E.selectedGroupIds},UZu=(u,B)=>({...u,editingGroupId:B.groupIds.length?B.groupIds[0]:null,selectedGroupIds:{},selectedElementIds:{[B.id]:!0}}),YX=(u,B)=>u.groupIds.includes(B),W6=(u,B)=>{let E=[];for(let A of u.values())YX(A,B)&&E.push(A);return E},zZu=(u,B)=>u.groupIds.find((E)=>B[E]),_83=(u,B,E)=>{let A=[...u],C=B?u.indexOf(B):-1,D=C>-1?C:u.length;for(let F=0;F<D;F++)A[F]=E(A[F]);return A},kZu=(u,B,E)=>{let A=[...u],C=E?A.indexOf(E):-1,D=C>-1?C:A.length;return A.splice(D,0,B),A},fZu=(u,B)=>u.filter((E)=>!B[E]),eO=(u,B)=>{let E=new Map;return u.forEach((A)=>{let C=A.groupIds.length===0?A.id:A.groupIds[A.groupIds.length-1],D=E.get(C)||[],F=Y3(A,B);F&&D.push(F),E.set(C,[...D,A])}),Array.from(E.values())},p83=(u)=>{let B=new Set;for(let[,E]of u)if(!E.isDeleted)for(let A of E.groupIds??[])B.add(A);return B},aM0=(u)=>{let B=u.flatMap((C)=>C.groupIds),E=new Map,A=0;for(let C of B)E.set(C,(E.get(C)??0)+1),E.get(C)>A&&(A=E.get(C));return A===u.length},pQ=(u)=>u.groupIds.length>0,n83=8,Eku=99999,En=(u)=>n83/u,a8=class{},cU,RX=(u)=>u.props.gridModeEnabled??u.state.gridModeEnabled,bf=({event:u,app:B,selectedElements:E})=>u?B.state.objectsSnapModeEnabled&&!u[r0.CTRL_OR_CMD]||!B.state.objectsSnapModeEnabled&&u[r0.CTRL_OR_CMD]&&!RX(B):E.length===1&&E[0].type==="arrow"?!1:B.state.objectsSnapModeEnabled,d83=(u,B,E=0.01)=>Math.abs(u-B)<=E,WO=(u,B,{omitCenter:E,boundingBoxCorners:A,dragOffset:C}={omitCenter:!1,boundingBoxCorners:!1})=>{let D=[];if(u.length===1){let F=u[0],[U,z,k,f,M,b]=W3(F,B);C&&(U+=C.x,k+=C.x,M+=C.x,z+=C.y,f+=C.y,b+=C.y);let Z=(k-U)/2,J=(f-z)/2;if((F.type==="diamond"||F.type==="ellipse")&&!A){let K=lu(t(U,z+J),t(M,b),F.angle),w=lu(t(U+Z,z),t(M,b),F.angle),Q=lu(t(k,z+J),t(M,b),F.angle),G=lu(t(U+Z,f),t(M,b),F.angle),H=t(M,b);D=E?[K,w,Q,G]:[K,w,Q,G,H]}else{let K=lu(t(U,z),t(M,b),F.angle),w=lu(t(k,z),t(M,b),F.angle),Q=lu(t(U,f),t(M,b),F.angle),G=lu(t(k,f),t(M,b),F.angle),H=t(M,b);D=E?[K,w,Q,G]:[K,w,Q,G,H]}}else if(u.length>1){let[F,U,z,k]=YM0(u,C??{x:0,y:0}),f=z-F,M=k-U,b=t(F,U),Z=t(z,U),J=t(F,k),K=t(z,k),w=t(F+f/2,U+M/2);D=E?[b,Z,J,K]:[b,Z,J,K,w]}return D.map((F)=>t(M9(F[0]),M9(F[1])))},MZu=(u,B,E,A)=>{let C=B.filter((D)=>u3(D)).map((D)=>D.id);return bJu(u,B,E,A).filter((D)=>!(D.frameId&&C.includes(D.frameId)))},bZu=(u,B,E,A)=>{let C=MZu(u,B,E,A),D=eO(C,A).filter((M)=>!(M.length===1&&x6(M[0]))).map((M)=>I1(M).map((b)=>M9(b))),F=D.sort((M,b)=>M[0]-b[0]),U=[],z=0;u:for(let M=0;M<F.length;M++){let b=F[M];for(let Z=M+1;Z<F.length;Z++){if(++z>Eku)break u;let J=F[Z],[,K,w,Q]=b,[G,H,,l]=J;w<G&&Ap(p7(K,Q),p7(H,l))&&U.push({startBounds:b,endBounds:J,startSide:[t(w,K),t(w,Q)],endSide:[t(G,H),t(G,l)],length:G-w,overlap:Cp(p7(K,Q),p7(H,l))})}}let k=D.sort((M,b)=>M[1]-b[1]),f=[];z=0;u:for(let M=0;M<k.length;M++){let b=k[M];for(let Z=M+1;Z<k.length;Z++){if(++z>Eku)break u;let J=k[Z],[K,,w,Q]=b,[G,H,l]=J;Q<H&&Ap(p7(K,w),p7(G,l))&&f.push({startBounds:b,endBounds:J,startSide:[t(K,Q),t(w,Q)],endSide:[t(G,H),t(l,H)],length:H-Q,overlap:Cp(p7(K,w),p7(G,l))})}}return{horizontalGaps:U,verticalGaps:f}},Aku=(u,B,E,A,C,D,F)=>{if(!bf({app:E,event:A,selectedElements:u}))return[];if(u.length===0)return[];let U=cU.getVisibleGaps();if(U){let{horizontalGaps:z,verticalGaps:k}=U,[f,M,b,Z]=YM0(u,B).map((w)=>M9(w)),J=(f+b)/2,K=(M+Z)/2;for(let w of z){if(!Ap(p7(M,Z),w.overlap))continue;let Q=w.startSide[0][0]+w.length/2,G=M9(Q-J);if(w.length>b-f&&Math.abs(G)<=F.x){Math.abs(G)<F.x&&(C.length=0),F.x=Math.abs(G);let S={type:"gap",direction:"center_horizontal",gap:w,offset:G};C.push(S);continue}let[,,H]=w.endBounds,l=f-H,q=M9(w.length-l);if(Math.abs(q)<=F.x){Math.abs(q)<F.x&&(C.length=0),F.x=Math.abs(q);let S={type:"gap",direction:"side_right",gap:w,offset:q};C.push(S);continue}let[L,,,]=w.startBounds,v=L-b,x=M9(v-w.length);if(Math.abs(x)<=F.x){Math.abs(x)<F.x&&(C.length=0),F.x=Math.abs(x);let S={type:"gap",direction:"side_left",gap:w,offset:x};C.push(S);continue}}for(let w of k){if(!Ap(p7(f,b),w.overlap))continue;let Q=w.startSide[0][1]+w.length/2,G=M9(Q-K);if(w.length>Z-M&&Math.abs(G)<=F.y){Math.abs(G)<F.y&&(D.length=0),F.y=Math.abs(G);let S={type:"gap",direction:"center_vertical",gap:w,offset:G};D.push(S);continue}let[,H,,]=w.startBounds,l=H-Z,q=M9(l-w.length);if(Math.abs(q)<=F.y){Math.abs(q)<F.y&&(D.length=0),F.y=Math.abs(q);let S={type:"gap",direction:"side_top",gap:w,offset:q};D.push(S);continue}let[,,,L]=w.endBounds,v=M9(M-L),x=w.length-v;if(Math.abs(x)<=F.y){Math.abs(x)<F.y&&(D.length=0),F.y=Math.abs(x);let S={type:"gap",direction:"side_bottom",gap:w,offset:x};D.push(S);continue}}}},ZZu=(u,B,E,A)=>{let C=MZu(u,B,E,A);return eO(C,A).filter((D)=>!(D.length===1&&x6(D[0]))).flatMap((D)=>WO(D,A))},ZX=(u,B,E,A,C,D,F)=>{if(!bf({app:E,event:A,selectedElements:u})||u.length===0&&B.length===0)return[];let U=cU.getReferenceSnapPoints();if(U)for(let z of B)for(let k of U){let f=k[0]-z[0],M=k[1]-z[1];Math.abs(f)<=F.x&&(Math.abs(f)<F.x&&(C.length=0),C.push({type:"point",points:[z,k],offset:f}),F.x=Math.abs(f)),Math.abs(M)<=F.y&&(Math.abs(M)<F.y&&(D.length=0),D.push({type:"point",points:[z,k],offset:M}),F.y=Math.abs(M))}},JZu=(u,B,E,A,C)=>{let D=E.state,F=N3(u,D);if(!bf({app:E,event:A,selectedElements:F})||F.length===0)return{snapOffset:{x:0,y:0},snapLines:[]};B.x=M9(B.x),B.y=M9(B.y);let U=[],z=[],k=En(D.zoom.value),f={x:k,y:k},M=WO(F,C,{dragOffset:B});ZX(F,M,E,A,U,z,f),Aku(F,B,E,A,U,z,f);let b={x:U[0]?.offset??0,y:z[0]?.offset??0};f.x=0,f.y=0,U.length=0,z.length=0;let Z={x:M9(B.x+b.x),y:M9(B.y+b.y)};ZX(F,WO(F,C,{dragOffset:Z}),E,A,U,z,f),Aku(F,Z,E,A,U,z,f);let J=mM0(U,z),K=o83(F,Z,[...U,...z].filter((w)=>w.type==="gap"));return{snapOffset:b,snapLines:[...J,...K]}},M9=(u)=>Math.round(u*1e6)/1e6,Cku=(u)=>{let B=new Map;for(let E of u){let A=E.join(",");B.has(A)||B.set(A,E)}return Array.from(B.values())},mM0=(u,B)=>{let E={},A={};if(u.length>0){for(let C of u)if(C.type==="point"){let D=M9(C.points[0][0]);E[D]||(E[D]=[]),E[D].push(...C.points.map((F)=>t(M9(F[0]),M9(F[1]))))}}if(B.length>0){for(let C of B)if(C.type==="point"){let D=M9(C.points[0][1]);A[D]||(A[D]=[]),A[D].push(...C.points.map((F)=>t(M9(F[0]),M9(F[1]))))}}return Object.entries(E).map(([C,D])=>({type:"points",points:Cku(D.map((F)=>t(Number(C),F[1])).sort((F,U)=>F[1]-U[1]))})).concat(Object.entries(A).map(([C,D])=>({type:"points",points:Cku(D.map((F)=>t(F[0],Number(C))).sort((F,U)=>F[0]-U[0]))})))},s83=(u)=>{let B=new Map;for(let E of u){let A=E.points.flat().map((C)=>[M9(C)]).join(",");B.has(A)||B.set(A,E)}return Array.from(B.values())},o83=(u,B,E)=>{let[A,C,D,F]=YM0(u,B),U=[];for(let z of E){let[k,f,M,b]=z.gap.startBounds,[Z,J,K,w]=z.gap.endBounds,Q=Cp(p7(C,F),z.gap.overlap),G=Cp(p7(A,D),z.gap.overlap);switch(z.direction){case"center_horizontal":{if(Q){let H=(Q[0]+Q[1])/2;U.push({type:"gap",direction:"horizontal",points:[t(z.gap.startSide[0][0],H),t(A,H)]},{type:"gap",direction:"horizontal",points:[t(D,H),t(z.gap.endSide[0][0],H)]})}break}case"center_vertical":{if(G){let H=(G[0]+G[1])/2;U.push({type:"gap",direction:"vertical",points:[t(H,z.gap.startSide[0][1]),t(H,C)]},{type:"gap",direction:"vertical",points:[t(H,F),t(H,z.gap.endSide[0][1])]})}break}case"side_right":{if(Q){let H=(Q[0]+Q[1])/2;U.push({type:"gap",direction:"horizontal",points:[t(M,H),t(Z,H)]},{type:"gap",direction:"horizontal",points:[t(K,H),t(A,H)]})}break}case"side_left":{if(Q){let H=(Q[0]+Q[1])/2;U.push({type:"gap",direction:"horizontal",points:[t(D,H),t(k,H)]},{type:"gap",direction:"horizontal",points:[t(M,H),t(Z,H)]})}break}case"side_top":{if(G){let H=(G[0]+G[1])/2;U.push({type:"gap",direction:"vertical",points:[t(H,F),t(H,f)]},{type:"gap",direction:"vertical",points:[t(H,b),t(H,J)]})}break}case"side_bottom":{if(G){let H=(G[0]+G[1])/2;U.push({type:"gap",direction:"vertical",points:[t(H,b),t(H,J)]},{type:"gap",direction:"vertical",points:[t(H,w),t(H,C)]})}break}}}return s83(U.map((z)=>({...z,points:z.points.map((k)=>t(M9(k[0]),M9(k[1])))})))},$M0=(u,B,E,A,C,D)=>{if(!bf({event:A,selectedElements:u,app:E})||u.length===0||u.length===1&&!d83(u[0].angle,0))return{snapOffset:{x:0,y:0},snapLines:[]};let[F,U,z,k]=I1(B);D&&(D.includes("e")?z+=C.x:D.includes("w")&&(F+=C.x),D.includes("n")?U+=C.y:D.includes("s")&&(k+=C.y));let f=[];if(D)switch(D){case"e":{f.push(t(z,U),t(z,k));break}case"w":{f.push(t(F,U),t(F,k));break}case"n":{f.push(t(F,U),t(z,U));break}case"s":{f.push(t(F,k),t(z,k));break}case"ne":{f.push(t(z,U));break}case"nw":{f.push(t(F,U));break}case"se":{f.push(t(z,k));break}case"sw":{f.push(t(F,k));break}}let M=En(E.state.zoom.value),b={x:M,y:M},Z=[],J=[];ZX(B,f,E,A,Z,J,b);let K={x:Z[0]?.offset??0,y:J[0]?.offset??0};b.x=0,b.y=0,Z.length=0,J.length=0;let[w,Q,G,H]=I1(u).map((L)=>M9(L)),l=[t(w,Q),t(w,H),t(G,Q),t(G,H)];ZX(u,l,E,A,Z,J,b);let q=mM0(Z,J);return{snapOffset:K,snapLines:q}},KZu=(u,B,E,A,C,D)=>{if(!bf({event:E,selectedElements:[u],app:B}))return{snapOffset:{x:0,y:0},snapLines:[]};let F=[t(A.x+C.x,A.y+C.y)],U=En(B.state.zoom.value),z={x:U,y:U},k=[],f=[];ZX([u],F,B,E,k,f,z);let M={x:k[0]?.offset??0,y:f[0]?.offset??0};z.x=0,z.y=0,k.length=0,f.length=0;let b=WO([u],D,{boundingBoxCorners:!0,omitCenter:!0});ZX([u],b,B,E,k,f,z);let Z=mM0(k,f);return{snapOffset:M,snapLines:Z}},wZu=(u,B,E,A,C)=>{if(!bf({event:A,selectedElements:[],app:B}))return{originOffset:{x:0,y:0},snapLines:[]};let D=bJu(u,[],B.state,C),F=En(B.state.zoom.value),U={x:F,y:F},z=[],k=[];for(let f of D){let M=WO([f],C);for(let b of M){let Z=b[0]-E.x;Math.abs(Z)<=Math.abs(U.x)&&(Math.abs(Z)<Math.abs(U.x)&&(k.length=0),k.push({type:"pointer",points:[b,t(b[0],E.y)],direction:"vertical"}),U.x=Z);let J=b[1]-E.y;Math.abs(J)<=Math.abs(U.y)&&(Math.abs(J)<Math.abs(U.y)&&(z.length=0),z.push({type:"pointer",points:[b,t(E.x,b[1])],direction:"horizontal"}),U.y=J)}}return{originOffset:{x:k.length>0?k[0].points[0][0]-E.x:0,y:z.length>0?z[0].points[0][1]-E.y:0},snapLines:[...k,...z]}},QZu=(u)=>u===I2.rectangle||u===I2.ellipse||u===I2.diamond||u===I2.frame||u===I2.magicframe||u===I2.image||u===I2.text,J2=(u,B,E)=>E?[Math.round(u/E)*E,Math.round(B/E)*E]:[u,B],CZ,_9=class u{constructor(B){j0(this,"elementId"),j0(this,"selectedPointsIndices"),j0(this,"pointerDownState"),j0(this,"isDragging"),j0(this,"lastUncommittedPoint"),j0(this,"pointerOffset"),j0(this,"startBindingElement"),j0(this,"endBindingElement"),j0(this,"hoverPointIndex"),j0(this,"segmentMidPointHoveredCoords"),j0(this,"elbowed"),this.elementId=B.id,JD(B.points[0],t(0,0))||console.error("Linear element is not normalized",Error().stack),this.selectedPointsIndices=null,this.lastUncommittedPoint=null,this.isDragging=!1,this.pointerOffset={x:0,y:0},this.startBindingElement="keep",this.endBindingElement="keep",this.pointerDownState={prevSelectedPointsIndices:null,lastClickedPoint:-1,lastClickedIsEndPoint:!1,origin:null,segmentMidpoint:{value:null,index:null,added:!1}},this.hoverPointIndex=-1,this.segmentMidPointHoveredCoords=null,this.elbowed=Q4(B)&&B.elbowed}static getElement(B,E){return E.get(B)||null}static handleBoxSelection(B,E,A,C){if(!E.editingLinearElement||!E.selectionElement)return!1;let{editingLinearElement:D}=E,{selectedPointsIndices:F,elementId:U}=D,z=u.getElement(U,C);if(!z)return!1;let[k,f,M,b]=W3(E.selectionElement,C),Z=u.getPointsGlobalCoordinates(z,C).reduce((J,K,w)=>((K[0]>=k&&K[0]<=M&&K[1]>=f&&K[1]<=b||B.shiftKey&&F?.includes(w))&&J.push(w),J),[]).filter((J)=>!(Q4(z)&&J!==0&&J!==z.points.length-1));A({editingLinearElement:{...D,selectedPointsIndices:Z.length?Z:null}})}static handlePointDragging(B,E,A,C,D,F,U){if(!F)return!1;let{elementId:z}=F,k=U.getNonDeletedElementsMap(),f=u.getElement(z,k);if(!f||Q4(f)&&!F.pointerDownState.lastClickedIsEndPoint&&F.pointerDownState.lastClickedPoint!==0)return!1;let M=Q4(f)?F.selectedPointsIndices?.reduce((J,K)=>K===0?[0,J[1]]:[J[0],f.points.length-1],[!1,!1]).filter((J)=>typeof J=="number"):F.selectedPointsIndices,b=Q4(f)?F.pointerDownState.lastClickedPoint>0?f.points.length-1:0:F.pointerDownState.lastClickedPoint,Z=f.points[b];if(M&&Z){if(fX(B)&&M.length===1&&f.points.length>1){let J=M[0],K=f.points[J===0?1:J-1],[w,Q]=u._getShiftLockedDelta(f,k,K,t(A,C),B[r0.CTRL_OR_CMD]?null:E.getEffectiveGridSize());u.movePoints(f,[{index:J,point:t(w+K[0],Q+K[1]),isDragging:J===b}])}else{let J=u.createPointAt(f,k,A-F.pointerOffset.x,C-F.pointerOffset.y,B[r0.CTRL_OR_CMD]?null:E.getEffectiveGridSize()),K=J[0]-Z[0],w=J[1]-Z[1];u.movePoints(f,M.map((Q)=>{let G=Q===b?u.createPointAt(f,k,A-F.pointerOffset.x,C-F.pointerOffset.y,B[r0.CTRL_OR_CMD]?null:E.getEffectiveGridSize()):t(f.points[Q][0]+K,f.points[Q][1]+w);return{index:Q,point:G,isDragging:Q===b}}))}if(Y3(f,k)&&TX(f,k,!1),KD(f,!1)){let J=[];M[0]===0&&J.push(aA(u.getPointGlobalCoordinates(f,f.points[0],k)));let K=M[M.length-1];K===f.points.length-1&&J.push(aA(u.getPointGlobalCoordinates(f,f.points[K],k))),J.length&&D(f,J)}return!0}return!1}static handlePointerUp(B,E,A,C){let D=C.getNonDeletedElementsMap(),F=C.getNonDeletedElements(),{elementId:U,selectedPointsIndices:z,isDragging:k,pointerDownState:f}=E,M=u.getElement(U,D);if(!M)return E;let b={};if(k&&z){for(let Z of z)if(Z===0||Z===M.points.length-1){VU(M.points,A.zoom.value)&&u.movePoints(M,[{index:Z,point:Z===0?M.points[M.points.length-1]:M.points[0]}]);let J=GZ(A)?cA(aA(u.getPointAtIndexGlobalCoordinates(M,Z,D)),F,D,A.zoom,Q4(M),Q4(M)):null;b[Z===0?"startBindingElement":"endBindingElement"]=J}}return{...E,...b,selectedPointsIndices:k||B.shiftKey?!k&&B.shiftKey&&f.prevSelectedPointsIndices?.includes(f.lastClickedPoint)?z&&z.filter((Z)=>Z!==f.lastClickedPoint):z:z?.includes(f.lastClickedPoint)?[f.lastClickedPoint]:z,isDragging:!1,pointerOffset:{x:0,y:0}}}static isSegmentTooShort(B,E,A,C,D){if(Q4(B))return C>=0&&C<B.points.length?l1(E,A)*D.value<u.POINT_HANDLE_SIZE/2:!1;let F=l1(E,A);return B.points.length>2&&B.roundness&&(F=pB3(B,A)),F*D.value<u.POINT_HANDLE_SIZE*4}static getSegmentMidPoint(B,E,A,C,D){let F=VO(E,A);if(B.points.length>2&&B.roundness){let U=ibu(B,B.points[C]);if(U){let z=nB3(B,B.points[C],0.5);F=u.getPointGlobalCoordinates(B,abu(U[0],U[1],U[2],U[3],z),D)}}return F}static getSegmentMidPointIndex(B,E,A,C){let D=u.getElement(B.elementId,C);if(!D)return-1;let F=u.getEditorMidPoints(D,C,E),U=0;for(;U<F.length;){if(u.arePointsEqual(A,F[U]))return U+1;U++}return-1}static handlePointerDown(B,E,A,C,D,F){let U=E.state,z=F.getNonDeletedElementsMap(),k=F.getNonDeletedElements(),f={didAddPoint:!1,hitElement:null,linearElementEditor:null};if(!D)return f;let{elementId:M}=D,b=u.getElement(M,z);if(!b)return f;let Z=u.getSegmentMidpointHitCoords(D,C,U,z),J=null;if(Z)J=u.getSegmentMidPointIndex(D,U,Z,z);else if(B.altKey&&U.editingLinearElement)return D.lastUncommittedPoint==null&&(Su(b,{points:[...b.points,u.createPointAt(b,z,C.x,C.y,B[r0.CTRL_OR_CMD]?null:E.getEffectiveGridSize())]}),f.didAddPoint=!0),A.shouldCaptureIncrement(),f.linearElementEditor={...D,pointerDownState:{prevSelectedPointsIndices:D.selectedPointsIndices,lastClickedPoint:-1,lastClickedIsEndPoint:!1,origin:{x:C.x,y:C.y},segmentMidpoint:{value:Z,index:J,added:!1}},selectedPointsIndices:[b.points.length-1],lastUncommittedPoint:null,endBindingElement:cA(C,k,z,E.state.zoom,D.elbowed)},f.didAddPoint=!0,f;let K=u.getPointIndexUnderCursor(b,z,U.zoom,C.x,C.y);if(K>=0||Z)f.hitElement=b;else{let{startBindingElement:x,endBindingElement:S}=D;GZ(U)&&KD(b)&&sO(b,x,S,z,F)}let[w,Q,G,H]=W3(b,z),l=(w+G)/2,q=(Q+H)/2,L=K>-1&&lu(t(b.x+b.points[K][0],b.y+b.points[K][1]),t(l,q),b.angle),v=K>-1||B.shiftKey?B.shiftKey||D.selectedPointsIndices?.includes(K)?t83([...D.selectedPointsIndices||[],K]):[K]:null;return f.linearElementEditor={...D,pointerDownState:{prevSelectedPointsIndices:D.selectedPointsIndices,lastClickedPoint:K,lastClickedIsEndPoint:K===b.points.length-1,origin:{x:C.x,y:C.y},segmentMidpoint:{value:Z,index:J,added:!1}},selectedPointsIndices:v,pointerOffset:L?{x:C.x-L[0],y:C.y-L[1]}:{x:0,y:0}},f}static arePointsEqual(B,E){return!B&&!E?!0:!B||!E?!1:JD(B,E)}static handlePointerMove(B,E,A,C,D){let F=C.state;if(!F.editingLinearElement)return null;let{elementId:U,lastUncommittedPoint:z}=F.editingLinearElement,k=u.getElement(U,D);if(!k)return F.editingLinearElement;let{points:f}=k,M=f[f.length-1];if(!B.altKey)return M===z&&u.deletePoints(k,[f.length-1]),{...F.editingLinearElement,lastUncommittedPoint:null};let b;if(fX(B)&&f.length>=2){let Z=f[f.length-2],[J,K]=u._getShiftLockedDelta(k,D,Z,t(E,A),B[r0.CTRL_OR_CMD]?null:C.getEffectiveGridSize());b=t(J+Z[0],K+Z[1])}else b=u.createPointAt(k,D,E-F.editingLinearElement.pointerOffset.x,A-F.editingLinearElement.pointerOffset.y,B[r0.CTRL_OR_CMD]||Q4(k)?null:C.getEffectiveGridSize());return M===z?u.movePoints(k,[{index:k.points.length-1,point:b}]):u.addPoints(k,[{point:b}]),{...F.editingLinearElement,lastUncommittedPoint:k.points[k.points.length-1]}}static getPointGlobalCoordinates(B,E,A){let[C,D,F,U]=W3(B,A),z=(C+F)/2,k=(D+U)/2,{x:f,y:M}=B;return lu(t(f+E[0],M+E[1]),t(z,k),B.angle)}static getPointsGlobalCoordinates(B,E){let[A,C,D,F]=W3(B,E),U=(A+D)/2,z=(C+F)/2;return B.points.map((k)=>{let{x:f,y:M}=B;return lu(t(f+k[0],M+k[1]),t(U,z),B.angle)})}static getPointAtIndexGlobalCoordinates(B,E,A){let C=E<0?B.points.length+E:E,[D,F,U,z]=W3(B,A),k=(D+U)/2,f=(F+z)/2,M=B.points[C],{x:b,y:Z}=B;return M?lu(t(b+M[0],Z+M[1]),t(k,f),B.angle):lu(t(b,Z),t(k,f),B.angle)}static pointFromAbsoluteCoords(B,E,A){if(Q4(B))return t(E[0]-B.x,E[1]-B.y);let[C,D,F,U]=W3(B,A),z=(C+F)/2,k=(D+U)/2,[f,M]=lu(t(E[0],E[1]),t(z,k),-B.angle);return t(f-B.x,M-B.y)}static getPointIndexUnderCursor(B,E,A,C,D){let F=u.getPointsGlobalCoordinates(B,E),U=F.length;for(;--U>-1;){let z=F[U];if(l1(t(C,D),t(z[0],z[1]))*A.value<u.POINT_HANDLE_SIZE+1)return U}return-1}static createPointAt(B,E,A,C,D){let F=J2(A,C,D),[U,z,k,f]=W3(B,E),M=(U+k)/2,b=(z+f)/2,[Z,J]=lu(t(F[0],F[1]),t(M,b),-B.angle);return t(Z-B.x,J-B.y)}static getNormalizedPoints(B){let{points:E}=B,A=E[0][0],C=E[0][1];return{points:E.map((D)=>t(D[0]-A,D[1]-C)),x:B.x+A,y:B.y+C}}static normalizePoints(B){Su(B,u.getNormalizedPoints(B))}static duplicateSelectedPoints(B,E){b2(B.editingLinearElement,"Not currently editing a linear element");let{selectedPointsIndices:A,elementId:C}=B.editingLinearElement,D=u.getElement(C,E);b2(D,"The linear element does not exist in the provided Scene"),b2(A!=null,"There are no selected points to duplicate");let{points:F}=D,U=[],z=!1,k=-1,f=F.reduce((M,b,Z)=>{if(++k,M.push(b),A.includes(Z)){let J=F[Z+1];J||(z=!0),M.push(J?t((b[0]+J[0])/2,(b[1]+J[1])/2):t(b[0],b[1])),U.push(k+1),++k}return M},[]);if(Su(D,{points:f}),z){let M=D.points[D.points.length-1];u.movePoints(D,[{index:D.points.length-1,point:t(M[0]+30,M[1]+30)}])}return{...B,editingLinearElement:{...B.editingLinearElement,selectedPointsIndices:U}}}static deletePoints(B,E){let A=0,C=0;if(E.includes(0)){let F=B.points.find((U,z)=>!E.includes(z));F&&(A=F[0],C=F[1])}let D=B.points.reduce((F,U,z)=>(E.includes(z)||F.push(F.length?t(U[0]-A,U[1]-C):t(0,0)),F),[]);u._updatePoints(B,D,A,C)}static addPoints(B,E){let A=[...B.points,...E.map((C)=>C.point)];u._updatePoints(B,A,0,0)}static movePoints(B,E,A){let{points:C}=B,[D,F]=E.find(({index:f})=>f===0)?.point??t(0,0),[U,z]=t(D-C[0][0],F-C[0][1]),k=Q4(B)?[E.find((f)=>f.index===0)?.point??C[0],E.find((f)=>f.index===C.length-1)?.point??C[C.length-1]]:C.map((f,M)=>{let b=E.find((Z)=>Z.index===M)?.point??f;return t(b[0]-U,b[1]-z)});u._updatePoints(B,k,U,z,A,{isDragging:E.reduce((f,M)=>f||M.isDragging===!0,!1)})}static shouldAddMidpoint(B,E,A,C){let D=u.getElement(B.elementId,C);if(D&&Q4(D)||!D)return!1;let{segmentMidpoint:F}=B.pointerDownState;if(F.added||F.value===null||F.index===null||B.pointerDownState.origin===null)return!1;let U=B.pointerDownState.origin,z=l1(t(U.x,U.y),t(E.x,E.y));return!(!A.editingLinearElement&&z<lZ/A.zoom.value)}static addMidpoint(B,E,A,C,D){let F=u.getElement(B.elementId,D);if(!F)return;let{segmentMidpoint:U}=B.pointerDownState,z={pointerDownState:B.pointerDownState,selectedPointsIndices:B.selectedPointsIndices},k=u.createPointAt(F,D,E.x,E.y,C&&!Q4(F)?A.getEffectiveGridSize():null),f=[...F.points.slice(0,U.index),k,...F.points.slice(U.index)];return Su(F,{points:f}),z.pointerDownState={...B.pointerDownState,segmentMidpoint:{...B.pointerDownState.segmentMidpoint,added:!0},lastClickedPoint:U.index},z.selectedPointsIndices=[U.index],z}static _updatePoints(B,E,A,C,D,F){if(Q4(B)){let U={};D?.startBinding!==void 0&&(U.startBinding=D.startBinding!==null&&Dp(D.startBinding)?D.startBinding:null),D?.endBinding!==void 0&&(U.endBinding=D.endBinding!==null&&Dp(D.endBinding)?D.endBinding:null),U.points=Array.from(E),Su(B,U,!0,{isDragging:F?.isDragging})}else{let U=tzu(B,E),z=tzu(B,B.points),k=(U[0]+U[2])/2,f=(U[1]+U[3])/2,M=(z[0]+z[2])/2,b=(z[1]+z[3])/2,Z=M-k,J=b-f,K=lu(t(A,C),t(Z,J),B.angle);Su(B,{...D,points:E,x:B.x+K[0],y:B.y+K[1]})}}static _getShiftLockedDelta(B,E,A,C,D){let F=u.getPointGlobalCoordinates(B,A,E);if(Q4(B))return[C[0]-F[0],C[1]-F[1]];let[U,z]=J2(C[0],C[1],D),{width:k,height:f}=Sn(F[0],F[1],U,z);return lu(t(k,f),t(0,0),-B.angle)}static moveFixedSegment(B,E,A,C,D){let F=u.getElement(B.elementId,D);if(!F||!Q4(F))return B;if(E&&E>0&&E<F.points.length){let U=Uf(TQ(O4(F.points[E],F.points[E-1]))),z=(F.fixedSegments??[]).reduce((b,Z)=>(b[Z.index]=Z,b),{});z[E]={index:E,start:t(U?F.points[E-1][0]:A-F.x,U?C-F.y:F.points[E-1][1]),end:t(U?F.points[E][0]:A-F.x,U?C-F.y:F.points[E][1])};let k=Object.values(z).sort((b,Z)=>b.index-Z.index),f=k.map((b)=>b.index).reduce((b,Z)=>Z<E?b+1:b,0);Su(F,{fixedSegments:k});let M=t(F.x+(F.fixedSegments[f].start[0]+F.fixedSegments[f].end[0])/2,F.y+(F.fixedSegments[f].start[1]+F.fixedSegments[f].end[1])/2);return{...B,segmentMidPointHoveredCoords:M,pointerDownState:{...B.pointerDownState,segmentMidpoint:{added:!1,index:F.fixedSegments[f].index,value:M}}}}return B}static deleteFixedSegment(B,E){Su(B,{fixedSegments:B.fixedSegments?.filter((A)=>A.index!==E)}),Su(B,{},!0)}},Z4,t83=(u)=>{let B=[...new Set(u.filter((E)=>E!==null&&E!==-1))];return B=B.sort((E,A)=>E-A),B.length?B:null},IQ,uI=(u,B)=>{let E=IQ[u]||(IQ[u]={height:B});return E.height=B,E},yM0=(u)=>{IQ[u]&&delete IQ[u]},GZu=(u)=>IQ[u]?.height??null,d7=(u,B,E,A=!0)=>{let C,D={x:u.x,y:u.y,text:u.text,width:u.width,height:u.height,angle:B?.angle??u.angle};D.text=u.text,(B||!u.autoResize)&&(C=B?GD(B,u):u.width,D.text=SZ(u.originalText,B6(u),C));let F=X7(D.text,B6(u),u.lineHeight);if(u.autoResize&&(D.width=F.width),D.height=F.height,B){let U=OX(B,u),z=GD(B,u);if(!j3(B)&&F.height>U){let b=HZ(F.height,B.type);Su(B,{height:b},A),uI(B.id,b)}if(F.width>z){let b=HZ(F.width,B.type);Su(B,{width:b},A)}let k={...u,...D},{x:f,y:M}=BI(B,k,E);D.x=f,D.y=M}Su(u,D,A)},rM0=(u,B,E)=>{let A=e4(u);B.forEach((C)=>{let D=E.get(C.id),F=iU(C);if(F){let U=E.get(F);if(U){let z=A.get(D);z&&Su(z,{boundElements:(C.boundElements||[]).filter((f)=>f.id!==U&&f.id!==F).concat({type:"text",id:U})});let k=A.get(U);k&&M4(k)&&Su(k,{containerId:z?D:null})}}})},TX=(u,B,E,A=!1)=>{if(!iU(u))return;yM0(u.id);let C=Y3(u,B);if(C&&C.text){if(!u)return;let{text:D,height:F,width:U}=C,z=GD(u,C),k=OX(u,C),f=u.height;if(A||E!=="n"&&E!=="s"){D&&(D=SZ(C.originalText,B6(C),z));let M=X7(D,B6(C),C.lineHeight);F=M.height,U=M.width}if(F>k){f=HZ(F,u.type);let M=f-u.height,b=!j3(u)&&(E==="ne"||E==="nw"||E==="n")?u.y-M:u.y;Su(u,{height:f,y:b})}Su(C,{text:D,width:U,height:F}),j3(u)||Su(C,BI(u,C,B))}},BI=(u,B,E)=>{if(j3(u))return Z4.getBoundTextElementPosition(u,B,E);let A=HZu(u),C=OX(u,B),D=GD(u,B),F,U;return B.verticalAlign===m8.TOP?U=A.y:B.verticalAlign===m8.BOTTOM?U=A.y+(C-B.height):U=A.y+(C/2-B.height/2),B.textAlign===zX.LEFT?F=A.x:B.textAlign===zX.RIGHT?F=A.x+(D-B.width):F=A.x+(D/2-B.width/2),{x:F,y:U}},iU=(u)=>u?.boundElements?.length&&u?.boundElements?.find((B)=>B.type==="text")?.id||null,Y3=(u,B)=>{if(!u)return null;let E=iU(u);return E&&B.get(E)||null},b5=(u,B)=>u&&u.containerId&&B.get(u.containerId)||null,An=(u,B,E)=>{if(!j3(u))return{x:u.x+u.width/2,y:u.y+u.height/2};let A=Z4.getPointsGlobalCoordinates(u,E);if(A.length%2===1){let F=Math.floor(u.points.length/2),U=Z4.getPointGlobalCoordinates(u,u.points[F],E);return{x:U[0],y:U[1]}}let C=u.points.length/2-1,D=Z4.getEditorMidPoints(u,E,B)[C];return D||(D=Z4.getSegmentMidPoint(u,A[C],A[C+1],C+1,E)),{x:D[0],y:D[1]}},HZu=(u)=>{let B=M2,E=M2;return u.type==="ellipse"&&(B+=u.width/2*(1-Math.sqrt(2)/2),E+=u.height/2*(1-Math.sqrt(2)/2)),u.type==="diamond"&&(B+=u.width/4,E+=u.height/4),{x:u.x+B,y:u.y+E}},qZu=(u,B)=>!B||j3(B)?u.angle:B.angle,lZu=(u,B)=>u.some((E)=>{if(x6(E)){let A=b5(E,B);return!j3(A)}return!1}),LZu=(u,B)=>u.some((E)=>{if(x6(E)){let A=b5(E,B);return!j3(A)}return M4(E)}),e83,XZu=(u)=>e83.has(u.type),HZ=(u,B)=>{u=Math.ceil(u);let E=M2*2;return B==="ellipse"?Math.round((u+E)/Math.sqrt(2)*2):B==="arrow"?u+E*8:B==="diamond"?2*(u+E):u+E},GD=(u,B)=>{let{width:E}=u;if(j3(u)){let A=(B?.fontSize??mU)*e13;return Math.max(t13*E,A)}return u.type==="ellipse"?Math.round(E/2*Math.sqrt(2))-M2*2:u.type==="diamond"?Math.round(E/2)-M2*2:E-M2*2},OX=(u,B)=>{let{height:E}=u;return j3(u)?E-M2*8*2<=0?B.height:E:u.type==="ellipse"?Math.round(E/2*Math.sqrt(2))-M2*2:u.type==="diamond"?Math.round(E/2)-M2*2:E-M2*2},vZu=(u,B=`
`)=>u.reduce((E,A)=>(M4(A)&&E.push(A.text),E),[]).join(B),$8=(u)=>(u=u.trim(),u&&xZu.sanitizeUrl(n_(u))),gM0=(u)=>!!(u?.includes(location.origin)||u?.startsWith("/")),cM0=(u)=>{if(u=$8(u),u.startsWith("/"))return`${location.origin}${u}`;try{new URL(u)}catch{return"about:blank"}return u},kp,C4=(u)=>(kp=kp.concat(u),u),WZu='<svg viewBox="0 0 24 24" stroke-width="1" width="28" height="28" xmlns="http://www.w3.org/2000/svg">',uE3='<path d="M6.164 11.755a5.314 5.314 0 0 1-4.932-5.298 5.314 5.314 0 0 1 5.311-5.311 5.314 5.314 0 0 1 5.307 5.113l8.773 8.773a3.322 3.322 0 0 1 0 4.696l-.895.895a3.322 3.322 0 0 1-4.696 0l-8.868-8.868Z" style="fill:#fff"/>',SZu='<path stroke="#1b1b1f" fill="#fff" d="m7.868 11.113 7.773 7.774a2.359 2.359 0 0 0 1.667.691 2.368 2.368 0 0 0 2.357-2.358c0-.625-.248-1.225-.69-1.667L11.201 7.78 9.558 9.469l-1.69 1.643v.001Zm10.273 3.606-3.333 3.333m-3.25-6.583 2 2m-7-7 3 3M3.664 3.625l1 1M2.529 6.922l1.407-.144m5.735-2.932-1.118.866M4.285 9.823l.758-1.194m1.863-6.207-.13 1.408"/>',BE3,EE3,nA=(u)=>{u&&(u.style.cursor="")},E6=(u,B)=>{u&&(u.style.cursor=B)},PU,Dku,_M0=(u,B)=>{let E=()=>{let A=B===p3.DARK;PU=document.createElement("canvas"),PU.theme=B,PU.height=20,PU.width=20;let C=PU.getContext("2d");C.lineWidth=1,C.beginPath(),C.arc(PU.width/2,PU.height/2,5,0,2*Math.PI),C.fillStyle=A?n6.black:n6.white,C.fill(),C.strokeStyle=A?n6.white:n6.black,C.stroke(),Dku=PU.toDataURL(r4.svg)};(!PU||PU.theme!==B)&&E(),E6(u,`url(${Dku}) 10 10, auto`)},xD=(u,B)=>{if(u)if(B.activeTool.type==="selection")nA(u);else if(aQ(B))u.style.cursor=p1.GRAB;else if(XD(B))_M0(u,B.theme);else if(B.activeTool.type==="laser"){let E=B.theme===p3.LIGHT?BE3:EE3;u.style.cursor=`url(${E}), auto`}else["image","custom"].includes(B.activeTool.type)?B.activeTool.type!=="image"&&(u.style.cursor=p1.AUTO):u.style.cursor=p1.CROSSHAIR},AE3,CE3=0,WD=()=>Math.floor(AE3.next()*2147483648),hE=()=>$U()?`id${CE3++}`:rL(),HD=(u,{x:B,y:E,strokeColor:A=x9.strokeColor,backgroundColor:C=x9.backgroundColor,fillStyle:D=x9.fillStyle,strokeWidth:F=x9.strokeWidth,strokeStyle:U=x9.strokeStyle,roughness:z=x9.roughness,opacity:k=x9.opacity,width:f=0,height:M=0,angle:b=0,groupIds:Z=[],frameId:J=null,index:K=null,roundness:w=null,boundElements:Q=null,link:G=null,locked:H=x9.locked,...l})=>((B<-1e6||B>1e6||E<-1e6||E>1e6||f<-1e6||f>1e6||M<-1e6||M>1e6)&&console.error("New element size or position is too large",{x:B,y:E,width:f,height:M,points:l.points}),{id:l.id||hE(),type:u,x:B,y:E,width:f,height:M,angle:b,strokeColor:A,backgroundColor:C,fillStyle:D,strokeWidth:F,strokeStyle:U,roughness:z,opacity:k,groupIds:Z,frameId:J,index:K,roundness:w,seed:l.seed??WD(),version:l.version||1,versionNonce:l.versionNonce??0,isDeleted:!1,boundElements:Q,updated:qX(),link:G,locked:H,customData:l.customData}),SD=(u)=>HD(u.type,u),pM0=(u)=>HD("embeddable",u),YZu=(u)=>({...HD("iframe",u)}),Cn=(u)=>O3({...HD("frame",u),type:"frame",name:u?.name||null},{}),Dn=(u)=>O3({...HD("magicframe",u),type:"magicframe",name:u?.name||null},{}),RZu=(u,B)=>({x:u.textAlign==="center"?B.width/2:u.textAlign==="right"?B.width:0,y:u.verticalAlign==="middle"?B.height/2:0}),y8=(u)=>{let B=u.fontFamily||ff,E=u.fontSize||mU,A=u.lineHeight||TZ(B),C=rQ(u.text),D=X7(C,B6({fontFamily:B,fontSize:E}),A),F=u.textAlign||wX,U=u.verticalAlign||TO,z=RZu({textAlign:F,verticalAlign:U},D),k={...HD("text",u),text:C,fontSize:E,fontFamily:B,textAlign:F,verticalAlign:U,x:u.x-z.x,y:u.y-z.y,width:D.width,height:D.height,containerId:u.containerId||null,originalText:u.originalText??C,autoResize:u.autoResize??!0,lineHeight:A};return O3(k,{})},DE3=(u,B,E)=>{let{width:A,height:C}=X7(E,B6(u),u.lineHeight);u.autoResize||(A=u.width);let{textAlign:D,verticalAlign:F}=u,U,z;if(D==="center"&&F===m8.MIDDLE&&!u.containerId&&u.autoResize){let k=X7(u.text,B6(u),u.lineHeight),f=RZu(u,{width:A-k.width,height:C-k.height});U=u.x-f.x,z=u.y-f.y}else{let[k,f,M,b]=W3(u,B),[Z,J,K,w]=ZZ(u,A,C,!1),Q=(k-Z)/2,G=(f-J)/2,H=(M-K)/2,l=(b-w)/2;[U,z]=FE3({s:!0,e:D==="center"||D==="left",w:D==="center"||D==="right"},u.x,u.y,u.angle,Q,G,H,l)}return{width:A,height:C,x:Number.isFinite(U)?U:u.x,y:Number.isFinite(z)?z:u.y}},FE3=(u,B,E,A,C,D,F,U)=>{let z=Math.cos(A),k=Math.sin(A);return u.e&&u.w?B+=C+F:u.e?(B+=C*(1+z),E+=C*k,B+=F*(1-z),E+=F*-k):u.w&&(B+=C*(1-z),E+=C*-k,B+=F*(1+z),E+=F*k),u.n&&u.s?E+=D+U:u.n?(B+=D*k,E+=D*(1-z),B+=U*-k,E+=U*(1+z)):u.s&&(B+=D*-k,E+=D*(1+z),B+=U*k,E+=U*(1-z)),[B,E]},nM0=(u,B,E,A=u.text)=>{if(u.isDeleted)return;(B||!u.autoResize)&&(A=SZ(A,B6(u),B?GD(B,u):u.width));let C=DE3(u,E,A);return{text:A,...C}},TZu=(u)=>({...HD(u.type,u),points:u.points||[],pressures:u.pressures||[],simulatePressure:u.simulatePressure,lastCommittedPoint:null}),JZ=(u)=>({...HD(u.type,u),points:u.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:null,endArrowhead:null}),Fn=(u)=>u.elbowed?{...HD(u.type,u),points:u.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:u.startArrowhead||null,endArrowhead:u.endArrowhead||null,elbowed:!0,fixedSegments:u.fixedSegments||[],startIsSpecial:!1,endIsSpecial:!1}:{...HD(u.type,u),points:u.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:u.startArrowhead||null,endArrowhead:u.endArrowhead||null,elbowed:!1},dM0=(u)=>({...HD("image",u),strokeColor:"transparent",status:u.status??"pending",fileId:u.fileId??null,scale:u.scale??[1,1],crop:u.crop??null}),fp=(u,B=0)=>{if(u==null||typeof u!="object")return u;let E=Object.prototype.toString.call(u);if(E==="[object Object]"){let A=typeof u.constructor=="function"?Object.create(Object.getPrototypeOf(u)):{};for(let C in u)if(u.hasOwnProperty(C)){if(B===0&&(C==="shape"||C==="canvas"))continue;A[C]=fp(u[C],B+1)}return A}if(Array.isArray(u)){let A=u.length,C=Array(A);for(;A--;)C[A]=fp(u[A],B+1);return C}return J3.DEV&&E!=="[object Object]"&&E!=="[object Array]"&&E.startsWith("[object ")&&console.warn(`_deepCloneElement: unexpected object type ${E}. This value will not be cloned!`),u},PZ=(u)=>fp(u),OZu=(u,B)=>{Object.defineProperty(u,E63,{value:B,writable:!1,enumerable:!1})},Mp=()=>hE(),sM0=(u,B,E,A)=>{let C=PZ(E);return $U()&&OZu(C,E.id),C.id=Mp(),C.boundElements=null,C.updated=qX(),C.seed=WD(),C.groupIds=_83(C.groupIds,u,(D)=>(B.has(D)||B.set(D,Mp()),B.get(D))),A&&(C=Object.assign(C,A)),C},oM0=(u,B)=>{let E=[],A=e4(u),C=new Map,D=(U)=>{if(C.has(U))return C.get(U);if(A.has(U)){let z=Mp();return C.set(U,z),z}return null},F=new Map;for(let U of u){let z=fp(U);if(z.id=D(U.id),$U()&&OZu(z,U.id),B?.randomizeSeed&&(z.seed=WD(),MI(z)),z.groupIds&&(z.groupIds=z.groupIds.map((k)=>(F.has(k)||F.set(k,Mp()),F.get(k)))),"containerId"in z&&z.containerId){let k=D(z.containerId);z.containerId=k}if("boundElements"in z&&z.boundElements&&(z.boundElements=z.boundElements.reduce((k,f)=>{let M=D(f.id);return M&&k.push({...f,id:M}),k},[])),"endBinding"in z&&z.endBinding){let k=D(z.endBinding.elementId);z.endBinding=k?{...z.endBinding,elementId:k}:null}if("startBinding"in z&&z.startBinding){let k=D(z.startBinding.elementId);z.startBinding=k?{...z.startBinding,elementId:k}:null}z.frameId&&(z.frameId=D(z.frameId)),E.push(z)}return E},Un=(u,{shouldThrow:B=!1,includeBoundTextValidation:E=!1,ignoreLogs:A,reconciliationContext:C})=>{let D=[],F=(z)=>`${z?.index}:${z?.id}:${z?.type}:${z?.isDeleted}:${z?.version}:${z?.versionNonce}`,U=u.map((z)=>z.index);for(let[z,k]of U.entries()){let f=U[z-1],M=U[z+1];if(tk0(k,f,M)||D.push(`Fractional indices invariant has been compromised: "${F(u[z-1])}", "${F(u[z])}", "${F(u[z+1])}"`),E&&r8(u[z])){let b=u[z],Z=Y3(b,e4(u));Z&&Z.index<=b.index&&D.push(`Fractional indices invariant for bound elements has been compromised: "${F(Z)}", "${F(b)}"`)}}if(D.length){let z=new s63,k=[];if(C&&(k.push("Additional reconciliation context:"),k.push(C.localElements.map((f)=>F(f))),k.push(C.remoteElements.map((f)=>F(f)))),A||console.error(D.join(`
`),z.stack,u.map((f)=>F(f)),...k),B)throw z}},IZu=(u)=>u.sort((B,E)=>Fku(B)&&Fku(E)?B.index<E.index?-1:B.index>E.index?1:B.id<E.id?-1:1:1),qD=(u,B)=>{try{let E=UE3(u,B),A=PZu(u,E),C=u.map((D)=>A.has(D)?{...D,...A.get(D)}:D);Un(C,{includeBoundTextValidation:!1,shouldThrow:!0,ignoreLogs:!0});for(let[D,F]of A)Su(D,F,!1)}catch{_U(u)}return u},_U=(u)=>{let B=zE3(u),E=PZu(u,B);for(let[A,C]of E)Su(A,C,!1);return u},UE3=(u,B)=>{let E=[],A=0;for(;A<u.length;)if(B.has(u[A].id)){let C=[A-1,A];for(;++A<u.length&&B.has(u[A].id);)C.push(A);C.push(A),E.push(C)}else A++;return E},zE3=(u)=>{let B=[],E,A,C=-1,D=0,F=(k)=>{let f=u[C]?u[C].index:void 0,M=u[k-1]?.index;return!f&&M||f&&M&&M>f?[M,k-1]:[f,C]},U=(k)=>{let f=u[D]?u[D].index:void 0;if(f&&k<D)return[f,D];let M=D;for(;++M<u.length;){let b=u[M]?.index;if(!f&&b||f&&b&&b>f)return[b,M]}return[void 0,M]},z=0;for(;z<u.length;){let k=u[z].index;if([E,C]=F(z),[A,D]=U(z),tk0(k,E,A))z++;else{let f=[C,z];for(;++z<u.length;){let M=u[z].index,[b,Z]=F(z),[J,K]=U(z);if(tk0(M,b,J))break;[E,C]=[b,Z],[A,D]=[J,K],f.push(z)}f.push(D),B.push(f)}}return B},tk0=(u,B,E)=>u?B&&E?B<u&&u<E:!B&&E?u<E:B&&!E?B<u:!!u:!1,PZu=(u,B)=>{let E=new Map;for(let A of B){let C=A.shift(),D=A.pop(),F=V_(u[C]?.index,u[D]?.index,A.length);for(let U=0;U<A.length;U++){let z=u[A[U]];E.set(z,{index:F[U]})}}return E},Fku=(u)=>!!u.index,f2=class u{constructor(B,E){this.deleted=B,this.inserted=E}static create(B,E,A,C){let D=A&&C!=="inserted"?A(B):B,F=A&&C!=="deleted"?A(E):E;return new u(D,F)}static calculate(B,E,A,C){if(B===E)return u.empty();let D={},F={};for(let k of this.distinctKeysIterator("full",B,E))D[k]=B[k],F[k]=E[k];let[U,z]=C?C(D,F):[D,F];return u.create(U,z,A)}static empty(){return new u({},{})}static isEmpty(B){return!Object.keys(B.deleted).length&&!Object.keys(B.inserted).length}static mergeObjects(B,E,A){let C={...B};for(let D of Object.keys(A))delete C[D];return{...C,...E}}static mergeArrays(B,E,A,C){return Object.values(u.mergeObjects(Bf(B??[],C),Bf(E??[],C),Bf(A??[],C)))}static diffObjects(B,E,A,C){if(!(!B[A]&&!E[A])&&(typeof B[A]=="object"||typeof E[A]=="object")){let D=B[A]??{},F=E[A]??{},U=u.getLeftDifferences(D,F).reduce((k,f)=>(k[f]=C(D[f]),k),{}),z=u.getRightDifferences(D,F).reduce((k,f)=>(k[f]=C(F[f]),k),{});Object.keys(U).length||Object.keys(z).length?(Reflect.set(B,A,U),Reflect.set(E,A,z)):(Reflect.deleteProperty(B,A),Reflect.deleteProperty(E,A))}}static diffArrays(B,E,A,C){if(!(!B[A]&&!E[A])&&(Array.isArray(B[A])||Array.isArray(E[A]))){let D=Array.isArray(B[A])?B[A]:[],F=Array.isArray(E[A])?E[A]:[],U=Bf(u.getLeftDifferences(Bf(D,C),Bf(F,C))),z=Bf(u.getRightDifferences(Bf(D,C),Bf(F,C)));if(Object.keys(U).length||Object.keys(z).length){let k=D.filter((M)=>U[C?C(M):String(M)]),f=F.filter((M)=>z[C?C(M):String(M)]);Reflect.set(B,A,k),Reflect.set(E,A,f)}else Reflect.deleteProperty(B,A),Reflect.deleteProperty(E,A)}}static isLeftDifferent(B,E,A=!1){return!!this.distinctKeysIterator("left",B,E,A).next().value}static isRightDifferent(B,E,A=!1){return!!this.distinctKeysIterator("right",B,E,A).next().value}static getLeftDifferences(B,E,A=!1){return Array.from(this.distinctKeysIterator("left",B,E,A))}static getRightDifferences(B,E,A=!1){return Array.from(this.distinctKeysIterator("right",B,E,A))}static*distinctKeysIterator(B,E,A,C=!1){if(E===A)return;let D=[];B==="left"?D=Object.keys(E):B==="right"?D=Object.keys(A):B==="full"?D=Array.from(new Set([...Object.keys(E),...Object.keys(A)])):xZ(B,`Unknown distinctKeysIterator's join param "${B}"`,!0);for(let F of D){let U=E[F],z=A[F];if(U!==z){if(!C&&typeof U=="object"&&typeof z=="object"&&U!==null&&z!==null&&y5(U,z))continue;yield F}}}},Uku=class u{constructor(B){this.delta=B}static calculate(B,E){let A=f2.calculate(B,E,void 0,u.postProcess);return new u(A)}static empty(){return new u(f2.create({},{}))}inverse(){let B=f2.create(this.delta.inserted,this.delta.deleted);return new u(B)}applyTo(B,E){try{let{selectedElementIds:A={},selectedGroupIds:C={}}=this.delta.deleted,{selectedElementIds:D={},selectedGroupIds:F={},selectedLinearElementId:U,editingLinearElementId:z,...k}=this.delta.inserted,f=f2.mergeObjects(B.selectedElementIds,D,A),M=f2.mergeObjects(B.selectedGroupIds,F,C),b=U&&E.has(U)?new Z4(E.get(U)):null,Z=z&&E.has(z)?new Z4(E.get(z)):null,J={...B,...k,selectedElementIds:f,selectedGroupIds:M,selectedLinearElement:typeof U<"u"?b:B.selectedLinearElement,editingLinearElement:typeof z<"u"?Z:B.editingLinearElement},K=this.filterInvisibleChanges(B,J,E);return[J,K]}catch(A){if(console.error("Couldn't apply appstate change",A),J3.DEV||J3.MODE===cB.TEST)throw A;return[B,!1]}}isEmpty(){return f2.isEmpty(this.delta)}static postProcess(B,E){try{f2.diffObjects(B,E,"selectedElementIds",(A)=>!0),f2.diffObjects(B,E,"selectedGroupIds",(A)=>A??!1)}catch(A){if(console.error("Couldn't postprocess appstate change deltas."),J3.DEV||J3.MODE===cB.TEST)throw A}finally{return[B,E]}}filterInvisibleChanges(B,E,A){let C=bp(B),D=bp(E),F=f2.isRightDifferent(u.stripElementsProps(C),u.stripElementsProps(D)),U=f2.isRightDifferent(u.stripStandaloneProps(C),u.stripStandaloneProps(D));if(!F&&!U)return!1;let z={value:F};if(U){let k=f2.getRightDifferences(u.stripStandaloneProps(C),u.stripStandaloneProps(D)),f=new Set;(k.includes("editingGroupId")||k.includes("selectedGroupIds"))&&(f=p83(A));for(let M of k)switch(M){case"selectedElementIds":E[M]=u.filterSelectedElements(E[M],A,z);break;case"selectedGroupIds":E[M]=u.filterSelectedGroups(E[M],f,z);break;case"croppingElementId":{let K=E[M],w=K&&A.get(K);w&&!w.isDeleted?z.value=!0:E[M]=null;break}case"editingGroupId":let b=E[M];b?f.has(b)?z.value=!0:E[M]=null:z.value=!0;break;case"selectedLinearElementId":case"editingLinearElementId":let Z=u.convertToAppStateKey(M),J=E[Z];if(!J)z.value=!0;else{let K=A.get(J.elementId);K&&!K.isDeleted?z.value=!0:E[Z]=null}break;default:xZ(M,`Unknown ObservedElementsAppState's key "${M}"`,!0)}}return z.value}static convertToAppStateKey(B){switch(B){case"selectedLinearElementId":return"selectedLinearElement";case"editingLinearElementId":return"editingLinearElement"}}static filterSelectedElements(B,E,A){let C=Object.keys(B);if(!C.length)return A.value=!0,B;let D={...B};for(let F of C){let U=E.get(F);U&&!U.isDeleted?A.value=!0:delete D[F]}return D}static filterSelectedGroups(B,E,A){if(!Object.keys(B).length)return A.value=!0,B;let C={...B};for(let D of Object.keys(C))E.has(D)?A.value=!0:delete C[D];return C}static stripElementsProps(B){let{editingGroupId:E,selectedGroupIds:A,selectedElementIds:C,editingLinearElementId:D,selectedLinearElementId:F,croppingElementId:U,...z}=B;return z}static stripStandaloneProps(B){let{name:E,viewBackgroundColor:A,...C}=B;return C}},zZ=class u{constructor(B,E,A){this.added=B,this.removed=E,this.updated=A}static create(B,E,A,C={shouldRedistribute:!1}){let D;if(C.shouldRedistribute){let F=new Map,U=new Map,z=new Map,k=[...B,...E,...A];for(let[f,M]of k)this.satisfiesAddition(M)?F.set(f,M):this.satisfiesRemoval(M)?U.set(f,M):z.set(f,M);D=new u(F,U,z)}else D=new u(B,E,A);return(J3.DEV||J3.MODE===cB.TEST)&&(u.validate(D,"added",this.satisfiesAddition),u.validate(D,"removed",this.satisfiesRemoval),u.validate(D,"updated",this.satisfiesUpdate)),D}static validate(B,E,A){for(let[C,D]of B[E].entries())if(!A(D))throw console.error(`Broken invariant for "${E}" delta, element "${C}", delta:`,D),Error(`ElementsChange invariant broken for element "${C}".`)}static calculate(B,E){if(B===E)return u.empty();let A=new Map,C=new Map,D=new Map;for(let F of B.values())if(!E.get(F.id)){let U={...F,isDeleted:!1},z={isDeleted:!0},k=f2.create(U,z,u.stripIrrelevantProps);C.set(F.id,k)}for(let F of E.values()){let U=B.get(F.id);if(!U){let z={isDeleted:!0},k={...F,isDeleted:!1},f=f2.create(z,k,u.stripIrrelevantProps);A.set(F.id,f);continue}if(U.versionNonce!==F.versionNonce){let z=f2.calculate(U,F,u.stripIrrelevantProps,u.postProcess);if(typeof U.isDeleted=="boolean"&&typeof F.isDeleted=="boolean"&&U.isDeleted!==F.isDeleted){U.isDeleted&&!F.isDeleted?A.set(F.id,z):C.set(F.id,z);continue}f2.isEmpty(z)||D.set(F.id,z)}}return u.create(A,C,D)}static empty(){return u.create(new Map,new Map,new Map)}inverse(){let B=(D)=>{let F=new Map;for(let[U,z]of D.entries())F.set(U,f2.create(z.inserted,z.deleted));return F},E=B(this.added),A=B(this.removed),C=B(this.updated);return u.create(A,E,C)}isEmpty(){return this.added.size===0&&this.removed.size===0&&this.updated.size===0}applyLatestChanges(B){let E=(U)=>(z)=>{let k={};for(let f of Object.keys(z))switch(f){case"boundElements":k[f]=z[f];break;default:k[f]=U[f]}return k},A=(U)=>{let z=new Map;for(let[k,f]of U.entries()){let M=B.get(k);if(M){let b=f2.create(f.deleted,f.inserted,E(M),"inserted");z.set(k,b)}else z.set(k,f)}return z},C=A(this.added),D=A(this.removed),F=A(this.updated);return u.create(C,D,F,{shouldRedistribute:!0})}applyTo(B,E){let A=VE(new Map(B)),C,D={containsVisibleDifference:!1,containsZindexDifference:!1};try{let F=u.createApplier(A,E,D),U=F(this.added),z=F(this.removed),k=F(this.updated),f=this.resolveConflicts(B,A);C=new Map([...U,...z,...k,...f])}catch(F){if(console.error("Couldn't apply elements change",F),J3.DEV||J3.MODE===cB.TEST)throw F;return[B,!0]}try{u.redrawTextBoundingBoxes(A,C),A=u.reorderElements(A,C,D),u.redrawBoundArrows(A,C)}catch(F){if(console.error("Couldn't mutate elements after applying elements change",F),J3.DEV||J3.MODE===cB.TEST)throw F}finally{return[A,D.containsVisibleDifference]}}static applyDelta(B,E,A={containsVisibleDifference:!0,containsZindexDifference:!0}){let{boundElements:C,...D}=E.inserted;if(E.deleted.boundElements?.length||E.inserted.boundElements?.length){let F=f2.mergeArrays(B.boundElements,E.inserted.boundElements,E.deleted.boundElements,(U)=>U.id);Object.assign(D,{boundElements:F})}if(L1(B)){let F=E;(F.deleted.crop||F.inserted.crop)&&Object.assign(D,{crop:F.inserted.crop??null})}if(!A.containsVisibleDifference){let{index:F,...U}=D,z=u.checkForVisibleDifference(B,U);A.containsVisibleDifference=z}return A.containsZindexDifference||(A.containsZindexDifference=E.deleted.index!==E.inserted.index),O3(B,D)}static checkForVisibleDifference(B,E){return B.isDeleted&&E.isDeleted!==!1?!1:B.isDeleted&&E.isDeleted===!1||B.isDeleted===!1&&E.isDeleted?!0:f2.isRightDifferent(B,E)}resolveConflicts(B,E){let A=new Map,C=(k,f)=>{let M=E.get(k.id);if(!M)return;let b;B.get(k.id)===M?b=O3(M,f):b=Su(M,f),A.set(b.id,b),E.set(b.id,b)};for(let[k]of this.removed)u.unbindAffected(B,E,k,C);for(let[k]of this.added)u.rebindAffected(B,E,k,C);for(let[k]of Array.from(this.updated).filter(([f,M])=>Object.keys({...M.deleted,...M.inserted}).find((b)=>$83.has(b)))){let f=E.get(k);!f||f.isDeleted||u.rebindAffected(B,E,k,C)}let D=new Map(Array.from(B).filter(([k])=>A.has(k))),{added:F,removed:U,updated:z}=u.calculate(D,A);for(let[k,f]of F)this.added.set(k,f);for(let[k,f]of U)this.removed.set(k,f);for(let[k,f]of z)this.updated.set(k,f);return A}static unbindAffected(B,E,A,C){let D=()=>B.get(A),F=()=>E.get(A);CX.unbindAffected(E,D(),C),CX.unbindAffected(E,F(),C),DX.unbindAffected(E,D(),C),DX.unbindAffected(E,F(),C)}static rebindAffected(B,E,A,C){let D=()=>B.get(A),F=()=>E.get(A);CX.unbindAffected(E,D(),C),CX.rebindAffected(E,F(),C),DX.unbindAffected(E,D(),(U,z)=>{M4(U)&&C(U,z)}),DX.rebindAffected(E,F(),C)}static redrawTextBoundingBoxes(B,E){let A=new Map;for(let C of E.values()){if(x6(C)){let{containerId:D}=C,F=D?B.get(D):void 0;F&&A.set(F.id,{container:F,boundText:C})}if(r8(C)){let D=iU(C),F=D?B.get(D):void 0;F&&A.set(C.id,{container:C,boundText:F})}}for(let{container:C,boundText:D}of A.values())C.isDeleted||D.isDeleted||d7(D,C,B,!1)}static redrawBoundArrows(B,E){for(let A of E.values())!A.isDeleted&&gA(A)&&_B(A,B,{changedElements:E})}static reorderElements(B,E,A){if(!A.containsZindexDifference)return B;let C=Array.from(B.values()),D=IZu([...C]),F=f2.getRightDifferences(C,D,!0).reduce((U,z)=>{let k=C[Number(z)];return k&&E.has(k.id)&&U.set(k.id,k),U},new Map);return!A.containsVisibleDifference&&F.size&&(A.containsVisibleDifference=!0),e4(qD(D,F))}static postProcess(B,E){try{f2.diffArrays(B,E,"boundElements",(A)=>A.id)}catch(A){if(console.error("Couldn't postprocess elements change deltas."),J3.DEV||J3.MODE===cB.TEST)throw A}finally{return[B,E]}}static stripIrrelevantProps(B){let{id:E,updated:A,version:C,versionNonce:D,seed:F,...U}=B;return U}},zku,YD=class{constructor(){j0(this,"subscribers",[])}on(...u){let B=u.flat().filter((E)=>typeof E=="function");return this.subscribers.push(...B),()=>this.off(B)}once(...u){let B=u.flat().filter((A)=>typeof A=="function");B.push(()=>E());let E=this.on(...B);return E}off(...u){let B=u.flat();this.subscribers=this.subscribers.filter((E)=>!B.includes(E))}trigger(...u){for(let B of this.subscribers)B(...u);return this}clear(){this.subscribers=[]}},jZu="__observedAppState",bp=(u)=>{let B={name:u.name,editingGroupId:u.editingGroupId,viewBackgroundColor:u.viewBackgroundColor,selectedElementIds:u.selectedElementIds,selectedGroupIds:u.selectedGroupIds,editingLinearElementId:u.editingLinearElement?.elementId||null,selectedLinearElementId:u.selectedLinearElement?.elementId||null,croppingElementId:u.croppingElementId};return Reflect.defineProperty(B,jZu,{value:!0,enumerable:!1}),B},kE3=(u)=>!!Reflect.get(u,jZu),Xu,fE3=class{constructor(u,B){this.elementsChange=u,this.appStateChange=B}},NZu=class{constructor(){j0(this,"onStoreIncrementEmitter",new YD),j0(this,"scheduledActions",new Set),j0(this,"_snapshot",kku.empty()),j0(this,"shouldCaptureIncrement",()=>{this.scheduleAction(Xu.IMMEDIATELY)}),j0(this,"shouldUpdateSnapshot",()=>{this.scheduleAction(Xu.NEVER)}),j0(this,"scheduleAction",(u)=>{this.scheduledActions.add(u),this.satisfiesScheduledActionsInvariant()}),j0(this,"commit",(u,B)=>{try{this.scheduledActions.has(Xu.IMMEDIATELY)?this.captureIncrement(u,B):this.scheduledActions.has(Xu.NEVER)&&this.updateSnapshot(u,B)}finally{this.satisfiesScheduledActionsInvariant(),this.scheduledActions=new Set}}),j0(this,"captureIncrement",(u,B)=>{let E=this.snapshot,A=this.snapshot.maybeClone(u,B);if(E!==A){let C=A.meta.didElementsChange?zku.calculate(E.elements,A.elements):zku.empty(),D=A.meta.didAppStateChange?Uku.calculate(E.appState,A.appState):Uku.empty();(!C.isEmpty()||!D.isEmpty())&&this.onStoreIncrementEmitter.trigger(new fE3(C,D)),this.snapshot=A}}),j0(this,"updateSnapshot",(u,B)=>{let E=this.snapshot.maybeClone(u,B);this.snapshot!==E&&(this.snapshot=E)}),j0(this,"filterUncomittedElements",(u,B)=>{for(let[E,A]of u.entries()){if(!B.get(E))continue;let C=this.snapshot.elements.get(E);C?C.version<A.version&&B.set(E,C):B.delete(E)}return B}),j0(this,"clear",()=>{this.snapshot=kku.empty(),this.scheduledActions=new Set}),j0(this,"satisfiesScheduledActionsInvariant",()=>{if(!(this.scheduledActions.size>=0&&this.scheduledActions.size<=3)){let u=`There can be at most three store actions scheduled at the same time, but there are "${this.scheduledActions.size}".`;if(console.error(u,this.scheduledActions.values()),J3.DEV||J3.MODE===cB.TEST)throw Error(u)}})}get snapshot(){return this._snapshot}set snapshot(u){this._snapshot=u}},kku=class u{constructor(B,E,A={didElementsChange:!1,didAppStateChange:!1,isEmpty:!1}){this.elements=B,this.appState=E,this.meta=A}static empty(){return new u(new Map,bp(LD()),{didElementsChange:!1,didAppStateChange:!1,isEmpty:!0})}isEmpty(){return this.meta.isEmpty}maybeClone(B,E){let A=this.maybeCreateElementsSnapshot(B),C=this.maybeCreateAppStateSnapshot(E),D=!1,F=!1;return this.elements!==A&&(D=!0),this.appState!==C&&(F=!0),!D&&!F?this:new u(A,C,{didElementsChange:D,didAppStateChange:F})}maybeCreateAppStateSnapshot(B){if(!B)return this.appState;let E=kE3(B)?B:bp(B);return this.detectChangedAppState(E)?E:this.appState}detectChangedAppState(B){return!y5(this.appState,B,{selectedElementIds:y5,selectedGroupIds:y5})}maybeCreateElementsSnapshot(B){return B?this.detectChangedElements(B)?this.createElementsSnapshot(B):this.elements:this.elements}detectChangedElements(B){if(this.elements===B)return!1;if(this.elements.size!==B.size)return!0;let E=Array.from(B.keys());for(let A=E.length-1;A>=0;A--){let C=this.elements.get(E[A]),D=B.get(E[A]);if(!C||!D||C.id!==D.id||C.versionNonce!==D.versionNonce)return!0}return!1}createElementsSnapshot(B){let E=new Map;for(let[A,C]of this.elements.entries())B.get(A)?E.set(A,C):E.set(A,O3(C,{isDeleted:!0}));for(let[A,C]of B.entries()){let D=E.get(A);(!D||D&&D.versionNonce!==C.versionNonce)&&E.set(A,PZ(C))}return E}},jU,ME3,bE3,ZE3,fku,JE3,Mku,KE3,wE3,QE3,bku,Zku,GE3,ek0,Jku,UX=(u)=>`<html><body>${u}</body></html>`,nQ=(u)=>{if(!u)return null;if(jU.has(u))return jU.get(u);let B=u,E=Jku.has(uf0(u,Jku)||""),A="generic",C={w:560,h:840},D=u.match(ME3);if(D?.[2]){let z=D[3]?`&start=${D[3]}`:"",k=u.includes("shorts");switch(A="video",D[1]){case"embed/":case"watch?v=":case"shorts/":u=`https://www.youtube.com/embed/${D[2]}?enablejsapi=1${z}`;break;case"playlist?list=":case"embed/videoseries?list=":u=`https://www.youtube.com/embed/videoseries?list=${D[2]}&enablejsapi=1${z}`;break;default:u=`https://www.youtube.com/embed/${D[2]}?enablejsapi=1${z}`;break}return C=k?{w:315,h:560}:{w:560,h:315},jU.set(B,{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}}),{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}}}let F=u.match(bE3);if(F?.[1]){let z=F?.[1],k=/^\d+$/.test(z)?void 0:URIError("Invalid embed link format");return A="video",u=`https://player.vimeo.com/video/${z}?api=1`,C={w:560,h:315},jU.set(B,{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}}),{link:u,intrinsicSize:C,type:A,error:k,sandbox:{allowSameOrigin:E}}}if(u.match(ZE3))return A="generic",u=`https://www.figma.com/embed?embed_host=share&url=${encodeURIComponent(u)}`,C={w:550,h:550},jU.set(B,{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}}),{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}};let U=u.match(wE3);if(U)return u=U[1]==="embed"?U[0]:U[0].replace("/v","/embed"),jU.set(B,{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}}),{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}};if(Mku.test(u)){let z=u.match(Mku)[1],k=n_(`https://twitter.com/x/status/${z}`),f={type:"document",srcdoc:(M)=>UX(`<blockquote class="twitter-tweet" data-dnt="true" data-theme="${M}"><a href="${k}"></a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>`),intrinsicSize:{w:480,h:480},sandbox:{allowSameOrigin:E}};return jU.set(B,f),f}if(Zku.test(u)){let[,z,k,f]=u.match(Zku),M=n_(`https://reddit.com/r/${z}/comments/${k}/${f}`),b={type:"document",srcdoc:(Z)=>UX(`<blockquote class="reddit-embed-bq" data-embed-theme="${Z}"><a href="${M}"></a><br></blockquote><script async="" src="https://embed.reddit.com/widgets.js" charset="UTF-8"><\/script>`),intrinsicSize:{w:480,h:480},sandbox:{allowSameOrigin:E}};return jU.set(B,b),b}if(fku.test(u)){let[,z,k]=u.match(fku),f=n_(`https://gist.github.com/${z}/${k}`),M={type:"document",srcdoc:()=>UX(`
<script src="${f}.js"><\/script>
<style type="text/css">
* { margin: 0px; }
table, .gist { height: 100%; }
.gist .gist-file { height: calc(100vh - 2px); padding: 0px; display: grid; grid-template-rows: 1fr auto; }
</style>
`),intrinsicSize:{w:550,h:720},sandbox:{allowSameOrigin:E}};return jU.set(u,M),M}return jU.set(u,{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}}),{link:u,intrinsicSize:C,type:A,sandbox:{allowSameOrigin:E}}},VZu=(u)=>{let B;Mf(u)?B="IFrame element":B=!u.link||u?.link===""?"Empty Web-Embed":u.link;let E=Math.max(Math.min(u.width/2,u.width/B.length),u.width/30),A=d6.Helvetica,C=B6({fontSize:E,fontFamily:A});return y8({x:u.x+u.width/2,y:u.y+u.height/2,strokeColor:u.strokeColor!=="transparent"?u.strokeColor:"black",backgroundColor:"transparent",fontFamily:A,fontSize:E,text:SZ(B,C,u.width-20),textAlign:"center",verticalAlign:m8.MIDDLE,angle:u.angle??0})},iW1,uf0=(u,B)=>{try{let{hostname:E}=new URL(u),A=E.replace(/^www\./,"");if(B instanceof Set){if(ek0.has(A))return A;let D=A.replace(/^([^.]+)/,"*");return ek0.has(D)?D:null}let C=B.replace(/^www\./,"");if(A===C)return C}catch{}return null},hZu=(u)=>{let B=u.match(KE3);if(B&&B.length===2)return B[1];let E=u.match(GE3);if(E&&E.length===2)return E[1];let A=u.match(JE3);if(A&&A.length===2)return A[1];if(bku.test(u))return`https://giphy.com/embed/${bku.exec(u)[1]}`;let C=u.match(QE3);return C&&C.length===2?C[1]:u},EI=(u,B)=>{if(!u)return!1;if(B!=null)if(typeof B=="function"){let E=B(u);if(typeof E=="boolean")return E}else{if(typeof B=="boolean")return B;if(B instanceof RegExp)return B.test(u);if(Array.isArray(B)){for(let E of B)if(E instanceof RegExp){if(u.match(E))return!0}else if(uf0(u,E))return!0;return!1}}return!!uf0(u,ek0)},MO=(u,B,E)=>{if(typeof E>"u")return u.draw(B);let A={sets:B.sets,shape:B.shape,options:{...B.options,fixedDecimalPlaceDigits:E}};return u.draw(A)},bO=(u,B,E,A,C)=>{if(!A.enabled||!A.clip)return null;let D=pB(u,C);if(D){let F=B.ownerDocument.createElementNS(K1,"g");return F.setAttributeNS(K1,"clip-path",`url(#${D.id})`),E.forEach((U)=>F.appendChild(U)),F}return null},o_=(u,B,E,A,C,D,F,U)=>{let z={x:D,y:F},[k,f,M,b]=W3(u,B),Z=(M-k)/2-(u.x-k),J=(b-f)/2-(u.y-f);if(M4(u)){let H=b5(u,B);if(j3(H)){let[l,q,L,v]=W3(H,B),x=Z4.getBoundTextElementPosition(H,u,B);Z=(L-l)/2-(x.x-l),J=(v-q)/2-(x.y-q),D=D+x.x-u.x,F=F+x.y-u.y}}let K=180*u.angle/Math.PI,w=A;if(u.link){let H=A.ownerDocument.createElementNS(K1,"a");H.setAttribute("href",$8(u.link)),w.appendChild(H),w=H}let Q=(H,l)=>{$U()&&H.setAttribute("data-id",l.id),w.appendChild(H)},G=(pB(u,B)?.opacity??100)*u.opacity/1e4;switch(u.type){case"selection":throw Error("Selection rendering is not supported for SVG");case"rectangle":case"diamond":case"ellipse":{let H=s6.generateElementShape(u,null),l=MO(E,H,fO);G!==1&&(l.setAttribute("stroke-opacity",`${G}`),l.setAttribute("fill-opacity",`${G}`)),l.setAttribute("stroke-linecap","round"),l.setAttribute("transform",`translate(${D||0} ${F||0}) rotate(${K} ${Z} ${J})`);let q=bO(u,w,[l],U.frameRendering,B);Q(q||l,u);break}case"iframe":case"embeddable":{let H=s6.generateElementShape(u,U),l=MO(E,H,fO),q=u.opacity/100;q!==1&&(l.setAttribute("stroke-opacity",`${q}`),l.setAttribute("fill-opacity",`${q}`)),l.setAttribute("stroke-linecap","round"),l.setAttribute("transform",`translate(${D||0} ${F||0}) rotate(${K} ${Z} ${J})`),Q(l,u);let L=VZu(u);o_(L,B,E,w,C,L.x+z.x-u.x,L.y+z.y-u.y,U);let v=MO(E,H,fO);for(v.setAttribute("stroke-linecap","round"),v.setAttribute("transform",`translate(${D||0} ${F||0}) rotate(${K} ${Z} ${J})`);v.firstChild;)v.removeChild(v.firstChild);let x=mA(Math.min(u.width,u.height),u),S=nQ(cM0(u.link||""));if(U.renderEmbeddables===!1||S?.type==="document"){let W=A.ownerDocument.createElementNS(K1,"a");W.setAttribute("href",$8(u.link||"")),W.setAttribute("target","_blank"),W.setAttribute("rel","noopener noreferrer"),W.style.borderRadius=`${x}px`,v.appendChild(W)}else{let W=A.ownerDocument.createElementNS(K1,"foreignObject");W.style.width=`${u.width}px`,W.style.height=`${u.height}px`,W.style.border="none";let T=W.ownerDocument.createElementNS(K1,"div");T.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),T.style.width="100%",T.style.height="100%";let R=T.ownerDocument.createElement("iframe");R.src=S?.link??"",R.style.width="100%",R.style.height="100%",R.style.border="none",R.style.borderRadius=`${x}px`,R.style.top="0",R.style.left="0",R.allowFullscreen=!0,T.appendChild(R),W.appendChild(T),v.appendChild(W)}Q(v,u);break}case"line":case"arrow":{let H=Y3(u,B),l=A.ownerDocument.createElementNS(K1,"mask");if(H){l.setAttribute("id",`mask-${u.id}`);let v=A.ownerDocument.createElementNS(K1,"rect");D=D||0,F=F||0,v.setAttribute("x","0"),v.setAttribute("y","0"),v.setAttribute("fill","#fff"),v.setAttribute("width",`${u.width+100+D}`),v.setAttribute("height",`${u.height+100+F}`),l.appendChild(v);let x=A.ownerDocument.createElementNS(K1,"rect"),S=Z4.getBoundTextElementPosition(u,H,B),W=D+S.x-u.x,T=F+S.y-u.y;x.setAttribute("x",W.toString()),x.setAttribute("y",T.toString()),x.setAttribute("fill","#000"),x.setAttribute("width",`${H.width}`),x.setAttribute("height",`${H.height}`),x.setAttribute("opacity","1"),l.appendChild(x)}let q=A.ownerDocument.createElementNS(K1,"g");H&&q.setAttribute("mask",`url(#mask-${u.id})`),q.setAttribute("stroke-linecap","round"),s6.generateElementShape(u,U).forEach((v)=>{let x=MO(E,v,fO);G!==1&&(x.setAttribute("stroke-opacity",`${G}`),x.setAttribute("fill-opacity",`${G}`)),x.setAttribute("transform",`translate(${D||0} ${F||0}) rotate(${K} ${Z} ${J})`),u.type==="line"&&VU(u.points)&&u.backgroundColor!=="transparent"&&x.setAttribute("fill-rule","evenodd"),q.appendChild(x)});let L=bO(u,w,[q,l],U.frameRendering,B);L?(Q(L,u),w.appendChild(L)):(Q(q,u),w.append(l));break}case"freedraw":{let H=s6.generateElementShape(u,U),l=H?MO(E,H,fO):A.ownerDocument.createElementNS(K1,"g");G!==1&&(l.setAttribute("stroke-opacity",`${G}`),l.setAttribute("fill-opacity",`${G}`)),l.setAttribute("transform",`translate(${D||0} ${F||0}) rotate(${K} ${Z} ${J})`),l.setAttribute("stroke","none");let q=A.ownerDocument.createElementNS(K1,"path");q.setAttribute("fill",u.strokeColor),q.setAttribute("d",LM0(u)),l.appendChild(q);let L=bO(u,w,[l],U.frameRendering,B);Q(L||l,u);break}case"image":{let H=Math.round(u.width),l=Math.round(u.height),q=aE(u)&&C[u.fileId];if(q){let{reuseImages:L=!0}=U,v=`image-${q.id}`,x=u.width,S=u.height;u.crop&&({width:x,height:S}=hU(u),v=`image-crop-${q.id}-${lJu(`${x}x${S}`)}`),L||(v=`image-${u.id}`);let W=A.querySelector(`#${v}`);if(!W){W=A.ownerDocument.createElementNS(K1,"symbol"),W.id=v;let j=A.ownerDocument.createElementNS(K1,"image");j.setAttribute("href",q.dataURL),j.setAttribute("preserveAspectRatio","none"),u.crop||!L?(j.setAttribute("width",`${x}`),j.setAttribute("height",`${S}`)):(j.setAttribute("width","100%"),j.setAttribute("height","100%")),W.appendChild(j),(w.querySelector("defs")||w).prepend(W)}let T=A.ownerDocument.createElementNS(K1,"use");T.setAttribute("href",`#${v}`),U.exportWithDarkMode&&q.mimeType!==r4.svg&&T.setAttribute("filter",rbu);let R=0,Y=0;if(u.crop){let{width:j,height:i}=hU(u);R=u.crop.x/(u.crop.naturalWidth/j),Y=u.crop.y/(u.crop.naturalHeight/i)}let h=Z+R,I=J+Y;T.setAttribute("width",`${H+R}`),T.setAttribute("height",`${l+Y}`),T.setAttribute("opacity",`${G}`),(u.scale[0]!==1||u.scale[1]!==1)&&T.setAttribute("transform",`translate(${h} ${I}) scale(${u.scale[0]} ${u.scale[1]}) translate(${-h} ${-I})`);let O=A.ownerDocument.createElementNS(K1,"g");if(u.crop){let j=A.ownerDocument.createElementNS(K1,"mask");j.setAttribute("id",`mask-image-crop-${u.id}`),j.setAttribute("fill","#fff");let i=A.ownerDocument.createElementNS(K1,"rect");i.setAttribute("x",`${R}`),i.setAttribute("y",`${Y}`),i.setAttribute("width",`${H}`),i.setAttribute("height",`${l}`),j.appendChild(i),w.appendChild(j),O.setAttribute("mask",`url(#${j.id})`)}if(O.appendChild(T),O.setAttribute("transform",`translate(${D-R} ${F-Y}) rotate(${K} ${h} ${I})`),u.roundness){let j=A.ownerDocument.createElementNS(K1,"clipPath");j.id=`image-clipPath-${u.id}`;let i=A.ownerDocument.createElementNS(K1,"rect"),a=mA(Math.min(u.width,u.height),u);i.setAttribute("width",`${u.width}`),i.setAttribute("height",`${u.height}`),i.setAttribute("rx",`${a}`),i.setAttribute("ry",`${a}`),j.appendChild(i),Q(j,u),O.setAttributeNS(K1,"clip-path",`url(#${j.id})`)}let V=bO(u,w,[O],U.frameRendering,B);Q(V||O,u)}break}case"frame":case"magicframe":{if(U.frameRendering.enabled&&U.frameRendering.outline){let H=document.createElementNS(K1,"rect");H.setAttribute("transform",`translate(${D||0} ${F||0}) rotate(${K} ${Z} ${J})`),H.setAttribute("width",`${u.width}px`),H.setAttribute("height",`${u.height}px`),H.setAttribute("rx",V6.radius.toString()),H.setAttribute("ry",V6.radius.toString()),H.setAttribute("fill","none"),H.setAttribute("stroke",V6.strokeColor),H.setAttribute("stroke-width",V6.strokeWidth.toString()),Q(H,u)}break}default:if(M4(u)){let H=A.ownerDocument.createElementNS(K1,"g");G!==1&&(H.setAttribute("stroke-opacity",`${G}`),H.setAttribute("fill-opacity",`${G}`)),H.setAttribute("transform",`translate(${D||0} ${F||0}) rotate(${K} ${Z} ${J})`);let l=u.text.replace(/\r\n?/g,`
`).split(`
`),q=XX(u.fontSize,u.lineHeight),L=u.textAlign==="center"?u.width/2:u.textAlign==="right"?u.width:0,v=Sbu(u.fontFamily,u.fontSize,q),x=Sfu(u.text)?"rtl":"ltr",S=u.textAlign==="center"?"middle":u.textAlign==="right"||x==="rtl"?"end":"start";for(let T=0;T<l.length;T++){let R=A.ownerDocument.createElementNS(K1,"text");R.textContent=l[T],R.setAttribute("x",`${L}`),R.setAttribute("y",`${T*q+v}`),R.setAttribute("font-family",mQ(u)),R.setAttribute("font-size",`${u.fontSize}px`),R.setAttribute("fill",u.strokeColor),R.setAttribute("text-anchor",S),R.setAttribute("style","white-space: pre;"),R.setAttribute("direction",x),R.setAttribute("dominant-baseline","alphabetic"),H.appendChild(R)}let W=bO(u,w,[H],U.frameRendering,B);Q(W||H,u)}else throw Error(`Unimplemented type ${u.type}`)}},HE3=(u,B,E,A,C,D)=>{A&&(u.filter((F)=>!NE(F)).forEach((F)=>{if(!F.isDeleted){if(M4(F)&&F.containerId&&B.has(F.containerId))return;try{o_(F,B,E,A,C,F.x+D.offsetX,F.y+D.offsetY,D);let U=Y3(F,B);U&&o_(U,B,E,A,C,U.x+D.offsetX,U.y+D.offsetY,D)}catch(U){console.error(U)}}}),u.filter((F)=>NE(F)).forEach((F)=>{if(!F.isDeleted)try{o_(F,B,E,A,C,F.x+D.offsetX,F.y+D.offsetY,D)}catch(U){console.error(U)}}))},Kku=500,zn=(u)=>{let B=u.extensions?.reduce((A,C)=>(A.push(r4[C]),A),[]),E=u.extensions?.reduce((A,C)=>C==="jpg"?A.concat(".jpg",".jpeg"):A.concat(`.${C}`),[]);return Zzu({description:u.description,extensions:E,mimeTypes:B,multiple:u.multiple??!1,legacySetup:(A,C,D)=>{let F=$Q(C,Kku),U=()=>{z(),document.addEventListener("keyup",F),document.addEventListener("pointerup",F),F()},z=()=>{if(D.files?.length){let f=u.multiple?[...D.files]:D.files[0];A(f)}};requestAnimationFrame(()=>{window.addEventListener("focus",U)});let k=window.setInterval(()=>{z()},Kku);return(f)=>{clearInterval(k),F.cancel(),window.removeEventListener("focus",U),document.removeEventListener("keyup",F),document.removeEventListener("pointerup",F),f&&(console.warn("Opening the file was canceled (legacy-fs)."),f(new nO))}}})},AI=(u,B)=>Jzu(u,{fileName:`${B.name}.${B.extension}`,description:B.description,extensions:[`.${B.extension}`],mimeTypes:B.mimeTypes},B.fileHandle),qE3=(u,B)=>{let E={};for(let A of u)!A.isDeleted&&"fileId"in A&&A.fileId&&B[A.fileId]&&(E[A.fileId]=B[A.fileId]);return E},kn=(u,B,E,A)=>{let C={type:jE.excalidraw,version:jO.excalidraw,source:Qp,elements:A==="local"?XJu(u):SA3(u),appState:A==="local"?Kfu(B):D63(B),files:A==="local"?qE3(u,E):void 0};return JSON.stringify(C,null,2)},tM0=async(u,B,E,A=B.name||Qf0)=>{let C=kn(u,B,E,"local"),D=new Blob([C],{type:r4.excalidraw});return{fileHandle:await AI(D,{name:A,extension:"excalidraw",description:"Excalidraw file",fileHandle:In(B.fileHandle)?null:B.fileHandle})}},iZu=async(u,B)=>{let E=await zn({description:"Excalidraw files"});return ab0(await jn(E),u,B,E.handle)},lE3=(u)=>u?.type===jE.excalidraw&&(!u.elements||Array.isArray(u.elements)&&(!u.appState||typeof u.appState=="object")),aZu=(u)=>typeof u=="object"&&u&&u.type===jE.excalidrawLibrary&&(u.version===1||u.version===2),eM0=(u)=>{let B={type:jE.excalidrawLibrary,version:jO.excalidrawLibrary,source:Qp,libraryItems:u};return JSON.stringify(B,null,2)},mZu=async(u)=>{let B=eM0(u);await AI(new Blob([B],{type:r4.excalidrawlib}),{name:"library",extension:"excalidrawlib",description:"Excalidraw library file"})},ub0=(u)=>new Promise((B,E)=>{let A=new Image;A.onload=()=>{B(A)},A.onerror=(C)=>{E(C)},A.src=u}),Bb0=async({fileIds:u,files:B,imageCache:E})=>{let A=new Map,C=new Map;return await Promise.all(u.reduce((D,F)=>{let U=B[F];return U&&!A.has(F)?(A.set(F,!0),D.concat((async()=>{try{if(U.mimeType===r4.binary)throw Error("Only images can be added to ImageCache");let z=ub0(U.dataURL),k={image:z,mimeType:U.mimeType};E.set(F,k);let f=await z;E.set(F,{...k,image:f})}catch{C.set(F,!0)}})())):D},[])),{imageCache:E,updatedFiles:A,erroredFiles:C}},Eb0=(u)=>u.filter((B)=>aE(B)),LE3=(u)=>u?.nodeName.toLowerCase()==="svg",Ab0=(u)=>{let B=new DOMParser().parseFromString(u,r4.svg),E=B.querySelector("svg");if(B.querySelector("parsererror")||!LE3(E))throw Error("Invalid SVG");{E.hasAttribute("xmlns")||E.setAttribute("xmlns",K1);let A=E.getAttribute("width"),C=E.getAttribute("height");(A?.includes("%")||A==="auto")&&(A=null),(C?.includes("%")||C==="auto")&&(C=null);let D=E.getAttribute("viewBox");if(!A||!C){if(A=A||"50",C=C||"50",D){let F=D.match(/\d+ +\d+ +(\d+(?:\.\d+)?) +(\d+(?:\.\d+)?)/);F&&([,A,C]=F)}E.setAttribute("width",A),E.setAttribute("height",C)}return D||E.setAttribute("viewBox",`0 0 ${A} ${C}`),E.outerHTML}},$Zu,yZu,fn=([u,B,E,A],C,D)=>{let F=u83,U=F/D.zoom.value,z=F/D.zoom.value,k=F/D.zoom.value,f=(u+E)/2,M=(B+A)/2,b=(F-8)/(2*D.zoom.value),Z=4/D.zoom.value,J=E+Z-b,K=B-Z-k+b,[w,Q]=lu(t(J+U/2,K+z/2),t(f,M),C);return[w-U/2,Q-z/2,U,z]},Cb0=(u,B,E,[A,C])=>{let D=4/E.zoom.value,[F,U,z,k]=W3(u,B),[f,M,b,Z]=fn([F,U,z,k],u.angle,E);return A>f-D&&A<f+D+b&&C>M-D&&C<M+Z+D},Mn=(u,B,E,[A,C],D)=>!u.link||E.selectedElementIds[u.id]?!1:!D&&E.viewModeEnabled&&mp(A,C,u,B)?!0:Cb0(u,B,E,t(A,C)),CI=(u,B,E,A,C=!0)=>{u.beginPath(),u.arc(B,E,A,0,Math.PI*2),u.fill(),C&&u.stroke()},bn=(u,B)=>[u.width/B,u.height/B],Zn=({canvas:u,scale:B,normalizedWidth:E,normalizedHeight:A,theme:C,isExporting:D,viewBackgroundColor:F})=>{let U=u.getContext("2d");return U.setTransform(1,0,0,1,0,0),U.scale(B,B),D&&C===p3.DARK&&(U.filter=qp),typeof F=="string"?((F==="transparent"||F.length===5||F.length===9||/(hsla|rgba)\(/.test(F))&&U.clearRect(0,0,E,A),U.save(),U.fillStyle=F,U.fillRect(0,0,E,A),U.restore()):U.clearRect(0,0,E,A),U},Db0=(u,B)=>{let E=window.location.href;try{let A=new URL(E);return A.searchParams.set(e_,u),$8(A.toString())}catch(A){console.error(A)}return $8(E)},Fb0=(u,B)=>{if(u.length>0&&DI(u)){if(u.length===1)return{id:u[0].id,type:"element"};if(u.length>1){let E=Object.keys(B.selectedGroupIds)[0];return E?{id:E,type:"group"}:{id:u[0].groupIds[0],type:"group"}}}return null},DI=(u)=>!!(u.length===1||u.length>1&&aM0(u)),IX=(u)=>{try{let B=new URL(u);return B.searchParams.has(e_)&&B.host===window.location.host}catch{return!1}},rZu=(u)=>{try{let{searchParams:B}=new URL(u);if(B.has(e_))return B.get(e_)}catch{}return null},__,XE3=(u,B,E,A,C,D,F,U)=>{let z=A%B-B,k=C%B-B,f=B*D.value,M=1/D.value;u.save(),D.value===1&&u.translate(z%1?0:0.5,k%1?0:0.5);for(let b=z;b<z+F+B*2;b+=B){let Z=E>1&&Math.round(b-A)%(E*B)===0;if(!Z&&f<10)continue;let J=Math.min(1/D.value,Z?4:1);u.lineWidth=J;let K=[J*3,M+(J+M)];u.beginPath(),u.setLineDash(Z?[]:K),u.strokeStyle=Z?__.Bold:__.Regular,u.moveTo(b,k-B),u.lineTo(b,Math.ceil(k+U+B*2)),u.stroke()}for(let b=k;b<k+U+B*2;b+=B){let Z=E>1&&Math.round(b-C)%(E*B)===0;if(!Z&&f<10)continue;let J=Math.min(1/D.value,Z?4:1);u.lineWidth=J;let K=[J*3,M+(J+M)];u.beginPath(),u.setLineDash(Z?[]:K),u.strokeStyle=Z?__.Bold:__.Regular,u.moveTo(z-B,b),u.lineTo(Math.ceil(z+F+B*2),b),u.stroke()}u.restore()},wku=(u,B,E,A)=>{B.translate(u.x+A.scrollX,u.y+A.scrollY),B.beginPath(),B.roundRect?B.roundRect(0,0,u.width,u.height,V6.radius/A.zoom.value):B.rect(0,0,u.width,u.height),B.clip(),B.translate(-(u.x+A.scrollX),-(u.y+A.scrollY))},Qku,Gku=(u,B,E,A)=>{if(u.link&&!E.selectedElementIds[u.id]){let[C,D,F,U]=W3(u,A),[z,k,f,M]=fn([C,D,F,U],u.angle,E),b=z+f/2,Z=k+M/2;B.save(),B.translate(E.scrollX+b,E.scrollY+Z),B.rotate(u.angle);let J=IX(u.link)?"elementLink":"regularLink",K=Qku[J];if(!K||K.zoom!==E.zoom.value){K=Object.assign(document.createElement("canvas"),{zoom:E.zoom.value}),K.width=f*window.devicePixelRatio*E.zoom.value,K.height=M*window.devicePixelRatio*E.zoom.value,Qku[J]=K;let w=K.getContext("2d");w.scale(window.devicePixelRatio*E.zoom.value,window.devicePixelRatio*E.zoom.value),w.fillStyle="#fff",w.fillRect(0,0,f,M),J==="elementLink"?w.drawImage(yZu,0,0,f,M):w.drawImage($Zu,0,0,f,M),w.restore()}B.drawImage(K,z-b,k-Z,f,M),B.restore()}},gZu=({canvas:u,rc:B,elementsMap:E,allElementsMap:A,visibleElements:C,scale:D,appState:F,renderConfig:U})=>{if(u===null)return;let{renderGrid:z=!0,isExporting:k}=U,[f,M]=bn(u,D),b=Zn({canvas:u,scale:D,normalizedWidth:f,normalizedHeight:M,theme:F.theme,isExporting:k,viewBackgroundColor:F.viewBackgroundColor});b.scale(F.zoom.value,F.zoom.value),z&&XE3(b,F.gridSize,F.gridStep,F.scrollX,F.scrollY,F.zoom,f/F.zoom.value,M/F.zoom.value);let Z=new Set;C.forEach((K)=>{K.groupIds.length>0&&F.frameToHighlight&&F.selectedElementIds[K.id]&&(zf(K,F.frameToHighlight,E)||K.groupIds.find((w)=>Z.has(w)))&&K.groupIds.forEach((w)=>Z.add(w))});let J=new Map;C.filter((K)=>!NE(K)).forEach((K)=>{try{let w=K.frameId||F.frameToHighlight?.id;if(M4(K)&&K.containerId&&E.has(K.containerId))return;if(b.save(),w&&F.frameRendering.enabled&&F.frameRendering.clip){let G=Ef0(K,E,F);G&&Oku(K,G,F,E,J)&&wku(G,b,U,F),kZ(K,E,A,B,b,U,F)}else kZ(K,E,A,B,b,U,F);let Q=Y3(K,E);Q&&kZ(Q,E,A,B,b,U,F),b.restore(),k||Gku(K,b,F,E)}catch(w){console.error(w,K.id,K.x,K.y,K.width,K.height)}}),C.filter((K)=>NE(K)).forEach((K)=>{try{let w=()=>{if(kZ(K,E,A,B,b,U,F),NE(K)&&(k||nB(K)&&U.embedsValidationStatus.get(K.id)!==!0)&&K.width&&K.height){let Q=VZu(K);kZ(Q,E,A,B,b,U,F)}k||Gku(K,b,F,E)};if((K.frameId||F.frameToHighlight?.id)&&F.frameRendering.enabled&&F.frameRendering.clip){b.save();let Q=Ef0(K,E,F);Q&&Oku(K,Q,F,E,J)&&wku(Q,b,U,F),w(),b.restore()}else w()}catch(w){console.error(w)}}),U.pendingFlowchartNodes?.forEach((K)=>{try{kZ(K,E,A,B,b,U,F)}catch(w){console.error(w)}})},Ub0,zb0=(u,B)=>{if(B){Ub0(u);return}gZu(u)},vE3=(u,B)=>{if(u.width<=B)return u;let E=document.createElement("canvas").getContext("2d");E.font=B6({fontFamily:u.fontFamily,fontSize:u.fontSize});let A=u.text;if(E.measureText(A).width>B)for(let C=A.length;C>0;C--){let D=`${A.slice(0,C)}...`;if(E.measureText(D).width<=B){A=D;break}}return O3(u,{text:A,width:B})},xE3=(u,B)=>{let E=[];for(let A of u){if(u3(A)){let C=y8({x:A.x,y:A.y-V6.nameOffsetY,fontFamily:d6.Helvetica,fontSize:V6.nameFontSize,lineHeight:V6.nameLineHeight,strokeColor:B.exportWithDarkMode?V6.nameColorDarkTheme:V6.nameColorLightTheme,text:vb0(A)});C.y-=C.height,C=vE3(C,A.width),E.push(C)}E.push(A)}return E},cZu=(u,B)=>(B=B||LD().frameRendering,{enabled:u?!0:B.enabled,outline:u?!1:B.outline,name:u?!1:B.name,clip:u?!0:B.clip}),_Zu=({elements:u,exportingFrame:B,frameRendering:E,exportWithDarkMode:A})=>{let C;return B?C=vn(u,B):E.enabled&&E.name?C=xE3(u,{exportWithDarkMode:A}):C=u,C},kb0=async(u,B,E,{exportBackground:A,exportPadding:C=hQ,viewBackgroundColor:D,exportingFrame:F},U=(k,f)=>{let M=document.createElement("canvas");return M.width=k*B.exportScale,M.height=f*B.exportScale,{canvas:M,scale:B.exportScale}},z=async()=>{await rU.loadElementsFonts(u)})=>{await z();let k=cZu(F??null,B.frameRendering??null);F&&(k.clip=!1);let f=_Zu({elements:u,exportingFrame:F,exportWithDarkMode:B.exportWithDarkMode,frameRendering:k});F&&(C=0);let[M,b,Z,J]=fb0(F?[F]:Ln(f),C),{canvas:K,scale:w=1}=U(Z,J),Q=LD(),{imageCache:G}=await Bb0({imageCache:new Map,fileIds:Eb0(f).map((H)=>H.fileId),files:E});return zb0({canvas:K,rc:NA.canvas(K),elementsMap:VE(e4(f)),allElementsMap:VE(e4(_U(u))),visibleElements:f,scale:w,appState:{...B,frameRendering:k,viewBackgroundColor:A?D:null,scrollX:-M+C,scrollY:-b+C,zoom:Q.zoom,shouldCacheIgnoreZoom:!1,theme:B.exportWithDarkMode?p3.DARK:p3.LIGHT},renderConfig:{canvasBackgroundColor:D,imageCache:G,renderGrid:!1,isExporting:!0,embedsValidationStatus:new Map,elementsPendingErasure:new Set,pendingFlowchartNodes:null}}),K},ZO=(u)=>document.createComment(` ${u} `),Jn=async(u,B,E,A)=>{let C=cZu(A?.exportingFrame??null,B.frameRendering??null),{exportPadding:D=hQ,exportWithDarkMode:F=!1,viewBackgroundColor:U,exportScale:z=1,exportEmbedScene:k}=B,{exportingFrame:f=null}=A||{},M=_Zu({elements:u,exportingFrame:f,exportWithDarkMode:F,frameRendering:C});f&&(D=0);let[b,Z,J,K]=fb0(f?[f]:Ln(M),D),w=-b+D,Q=-Z+D,G=document.createElementNS(K1,"svg");G.setAttribute("version","1.1"),G.setAttribute("xmlns",K1),G.setAttribute("viewBox",`0 0 ${J} ${K}`),G.setAttribute("width",`${J*z}`),G.setAttribute("height",`${K*z}`),F&&G.setAttribute("filter",qp);let H=G.ownerDocument.createElementNS(K1,"defs"),l=G.ownerDocument.createElementNS(K1,"metadata");if(G.appendChild(ZO("svg-source:excalidraw")),G.appendChild(l),G.appendChild(H),k)try{WE3({metadataElement:l,payload:kn(u,B,E||{},"local")})}catch(T){console.error(T)}let q=ln(u);if(q.length){let T=e4(u);for(let R of q){let Y=G.ownerDocument.createElementNS(K1,"clipPath");Y.setAttribute("id",R.id);let[h,I,O,V]=W3(R,T),j=(O-h)/2-(R.x-h),i=(V-I)/2-(R.y-I),a=G.ownerDocument.createElementNS(K1,"rect");a.setAttribute("transform",`translate(${R.x+w} ${R.y+Q}) rotate(${R.angle} ${j} ${i})`),a.setAttribute("width",`${R.width}`),a.setAttribute("height",`${R.height}`),f||(a.setAttribute("rx",`${V6.radius}`),a.setAttribute("ry",`${V6.radius}`)),Y.appendChild(a),H.appendChild(Y)}}let L=A?.skipInliningFonts?[]:await rU.generateFontFaceDeclarations(u),v=`
`,x=G.ownerDocument.createElementNS(K1,"style");if(x.classList.add("style-fonts"),x.appendChild(document.createTextNode(`${v}${L.join(v)}`)),H.appendChild(x),B.exportBackground&&U){let T=G.ownerDocument.createElementNS(K1,"rect");T.setAttribute("x","0"),T.setAttribute("y","0"),T.setAttribute("width",`${J}`),T.setAttribute("height",`${K}`),T.setAttribute("fill",U),G.appendChild(T)}let S=NA.svg(G),W=A?.renderEmbeddables??!1;return HE3(M,VE(e4(M)),S,G,E||{},{offsetX:w,offsetY:Q,isExporting:!0,exportWithDarkMode:F,renderEmbeddables:W,frameRendering:C,canvasBackgroundColor:U,embedsValidationStatus:W?new Map(M.filter((T)=>u3(T)).map((T)=>[T.id,!0])):new Map,reuseImages:A?.reuseImages??!0}),G},WE3=({payload:u,metadataElement:B})=>{let E=VJu(JSON.stringify(iJu({text:u})),!0);B.appendChild(ZO(`payload-type:${r4.excalidraw}`)),B.appendChild(ZO("payload-version:2")),B.appendChild(ZO("payload-start")),B.appendChild(document.createTextNode(E)),B.appendChild(ZO("payload-end"))},SE3=({svg:u})=>{if(u.includes(`payload-type:${r4.excalidraw}`)){let B=u.match(/<!-- payload-start -->\s*(.+?)\s*<!-- payload-end -->/);if(!B)throw Error("INVALID");let E=(u.match(/<!-- payload-version:(\d+) -->/)?.[1]||"1")!=="1";try{let A=hJu(B[1],E),C=JSON.parse(A);if(!("encoded"in C)){if("type"in C&&C.type===jE.excalidraw)return A;throw Error("FAILED")}return aJu(C)}catch(A){throw console.error(A),Error("FAILED")}}throw Error("INVALID")},fb0=(u,B)=>{let[E,A,C,D]=I1(u),F=L7(E,C)+B*2,U=L7(A,D)+B*2;return[E,A,F,U]},pZu=(u,B,E)=>{let[,,A,C]=fb0(u,B).map((D)=>Math.trunc(D*E));return[A,C]},YE3=class{constructor(u){this.scoreFunction=u,j0(this,"content",[])}sinkDown(u){let B=this.content[u];for(;u>0;){let E=(u+1>>1)-1,A=this.content[E];if(this.scoreFunction(B)<this.scoreFunction(A))this.content[E]=B,this.content[u]=A,u=E;else break}}bubbleUp(u){let B=this.content.length,E=this.content[u],A=this.scoreFunction(E);for(;;){let C=u+1<<1,D=C-1,F=null,U=0;if(D<B){let z=this.content[D];U=this.scoreFunction(z),U<A&&(F=D)}if(C<B){let z=this.content[C];this.scoreFunction(z)<(F===null?A:U)&&(F=C)}if(F!==null)this.content[u]=this.content[F],this.content[F]=E,u=F;else break}}push(u){this.content.push(u),this.sinkDown(this.content.length-1)}pop(){if(this.content.length===0)return null;let u=this.content[0],B=this.content.pop();return this.content.length>0&&(this.content[0]=B,this.bubbleUp(0)),u}remove(u){if(this.content.length===0)return;let B=this.content.indexOf(u),E=this.content.pop();B<this.content.length&&(this.content[B]=E,this.scoreFunction(E)<this.scoreFunction(u)?this.sinkDown(B):this.bubbleUp(B))}size(){return this.content.length}rescoreElement(u){this.sinkDown(this.content.indexOf(u))}},Mb0=1,u6=40,RE3=(u,B)=>{let E=u.fixedSegments?u.fixedSegments.slice():null;if(E){let A=[];u.points.map((F)=>t(u.x+F[0],u.y+F[1])).forEach((F,U,z)=>{if(U<2)return A.push(F);let k=vO(F,z[U-1]),f=vO(z[U-1],z[U-2]);if(J9(k,f)){let M=E?.findIndex((Z)=>Z.index===U-1)??-1,b=E?.findIndex((Z)=>Z.index===U)??-1;b!==-1&&(E[b].start=t(z[U-2][0]-u.x,z[U-2][1]-u.y)),M!==-1&&E.splice(M,1),A.splice(-1,1),E.forEach((Z)=>{Z.index>U-1&&(Z.index-=1)})}return A.push(F)});let C=[];A.forEach((F,U,z)=>{if(U<3)return C.push(F);if(l1(z[U-2],z[U-1])<Mb0){let k=E?.findIndex((b)=>b.index===U-2)??-1,f=E?.findIndex((b)=>b.index===U-1)??-1;f!==-1&&E.splice(f,1),k!==-1&&E.splice(k,1),C.splice(-2,2),E.forEach((b)=>{b.index>U-2&&(b.index-=2)});let M=Df(F,z[U-1]);return C.push(t(M?F[0]:z[U-2][0],M?z[U-2][1]:F[1]))}C.push(F)});let D=E.filter((F)=>F.index!==1&&F.index!==C.length-1);return D.length===0?qZ(Jb0(Kb0(Zb0(u,bb0(u,B,C.map((F)=>t(F[0]-u.x,F[1]-u.y)),u.startBinding&&JX(u.startBinding.elementId,B),u.endBinding&&JX(u.endBinding.elementId,B)))??[])),D,null,null):(J3.DEV&&b2(wb0(C),"Invalid elbow points with fixed segments"),qZ(C,D,u.startIsSpecial,u.endIsSpecial))}return{x:u.x,y:u.y,points:u.points,fixedSegments:u.fixedSegments,startIsSpecial:u.startIsSpecial,endIsSpecial:u.endIsSpecial}},TE3=(u,B,E)=>{let A=B.map((x)=>x.index),C=(u.fixedSegments?.map((x)=>x.index)??[]).findIndex((x)=>!A.includes(x));if(C===-1||!u.fixedSegments?.[C])return{points:u.points};let D=u.fixedSegments[C].index,F=u.fixedSegments[C-1],U=u.fixedSegments[C+1],z=u.x+(F?F.end[0]:0),k=u.y+(F?F.end[1]:0),f=F?null:u.startBinding,M=U?null:u.endBinding,{startHeading:b,endHeading:Z,startGlobalPoint:J,endGlobalPoint:K,hoveredStartElement:w,hoveredEndElement:Q,...G}=bb0({x:z,y:k,startBinding:f,endBinding:M,startArrowhead:null,endArrowhead:null,points:u.points},E,[t(0,0),t(u.x+(U?.start[0]??u.points[u.points.length-1][0])-z,u.y+(U?.start[1]??u.points[u.points.length-1][1])-k)],f&&JX(f.elementId,E),M&&JX(M.elementId,E),{isDragging:!1}),{points:H}=qZ(Jb0(Kb0(Zb0(u,{startHeading:b,endHeading:Z,startGlobalPoint:J,endGlobalPoint:K,hoveredStartElement:w,hoveredEndElement:Q,...G})??[])),B,null,null),l=[];if(F)for(let x=0;x<F.index;x++)l.push(t(u.x+u.points[x][0],u.y+u.points[x][1]));if(H.forEach((x)=>{l.push(t(u.x+(F?F.end[0]:0)+x[0],u.y+(F?F.end[1]:0)+x[1]))}),U)for(let x=U.index;x<u.points.length;x++)l.push(t(u.x+u.points[x][0],u.y+u.points[x][1]));let q=(U?.index??u.points.length)-(F?.index??0)-1,L=B.map((x)=>x.index>D?{...x,index:x.index-q+(H.length-1)}:x),v=l.flatMap((x,S)=>{let W=l[S-1],T=l[S+1];if(W&&T){let R=vO(x,W),Y=vO(T,x);if(J9(R,Y))return L.forEach((h)=>{h.index>S&&(h.index-=1)}),[];if(J9(R,obu(Y)))return L.forEach((h)=>{h.index>S&&(h.index+=1)}),[x,x]}return[x]});return qZ(v,L,!1,!1)},OE3=(u,B,E,A,C,D)=>{let F=B.map((q,L)=>u.fixedSegments==null||u.fixedSegments[L]===void 0||u.fixedSegments[L].index!==q.index||(q.start[0]!==u.fixedSegments[L].start[0]&&q.end[0]!==u.fixedSegments[L].end[0])!=(q.start[1]!==u.fixedSegments[L].start[1]&&q.end[1]!==u.fixedSegments[L].end[1])?L:null).filter((q)=>q!==null).shift();if(F==null)return{points:u.points};let U=u.fixedSegments?.findIndex((q)=>q.index===1)??-1,z=u.fixedSegments?.findIndex((q)=>q.index===u.points.length-1)??-1,k=l1(B[F].start,B[F].end),f=k<u6+5;if(U===-1&&B[F].index===1&&C){let q=Uf(E),L=(q?J9(E,b9):J9(E,f5))?f?k/2:u6:f?-k/2:-u6;B[F].start=t(B[F].start[0]+(q?L:0),B[F].start[1]+(q?0:L))}if(z===-1&&B[F].index===u.points.length-1&&D){let q=Uf(A),L=(q?J9(A,b9):J9(A,f5))?f?k/2:u6:f?-k/2:-u6;B[F].end=t(B[F].end[0]+(q?L:0),B[F].end[1]+(q?0:L))}let M=B.map((q)=>({...q,start:t(u.x+q.start[0],u.y+q.start[1]),end:t(u.x+q.end[0],u.y+q.end[1])})),b=u.points.map((q,L)=>t(u.x+q[0],u.y+q[1])),Z=M[F].index-1,J=M[F].index,K=M[F].start,w=M[F].end,Q=b[Z-1]&&!JD(b[Z],b[Z-1])?Df(b[Z-1],b[Z]):void 0,G=b[J+1]&&!JD(b[J],b[J+1])?Df(b[J+1],b[J]):void 0;if(Q!==void 0){let q=Q?1:0;b[Z-1][q]=K[q]}if(b[Z]=K,b[J]=w,G!==void 0){let q=G?1:0;b[J+1][q]=w[q]}let H=M.findIndex((q)=>q.index===Z);if(H!==-1){let q=Df(M[H].end,M[H].start)?1:0;M[H].start[q]=K[q],M[H].end=K}let l=M.findIndex((q)=>q.index===J+1);if(l!==-1){let q=Df(M[l].end,M[l].start)?1:0;M[l].end[q]=w[q],M[l].start=w}if(U===-1&&Z===0){let q=C?Uf(E):Df(b[1],b[0]);b.unshift(t(q?K[0]:u.x+u.points[0][0],q?u.y+u.points[0][1]:K[1])),C&&b.unshift(t(u.x+u.points[0][0],u.y+u.points[0][1]));for(let L of M)L.index+=C?2:1}if(z===-1&&J===u.points.length-1){let q=Uf(A);b.push(t(q?w[0]:u.x+u.points[u.points.length-1][0],q?u.y+u.points[u.points.length-1][1]:w[1])),D&&b.push(t(u.x+u.points[u.points.length-1][0],u.y+u.points[u.points.length-1][1]))}return qZ(b,M.map((q)=>({...q,start:t(q.start[0]-u.x,q.start[1]-u.y),end:t(q.end[0]-u.x,q.end[1]-u.y)})),!1,!1)},IE3=(u,B,E,A,C,D,F,U,z)=>{let k=u.startIsSpecial??null,f=u.endIsSpecial??null,M=B.map((w,Q)=>Q===0?t(u.x+w[0],u.y+w[1]):Q===B.length-1?t(u.x+w[0],u.y+w[1]):t(u.x+u.points[Q][0],u.y+u.points[Q][1])),b=E.map((w)=>({...w,start:t(u.x+(w.start[0]-B[0][0]),u.y+(w.start[1]-B[0][1])),end:t(u.x+(w.end[0]-B[0][0]),u.y+(w.end[1]-B[0][1]))})),Z=[],J=2+(k?1:0),K=2+(f?1:0);for(;Z.length+J<M.length-K;)Z.push(M[Z.length+J]);{let w=M[k?2:1],Q=M[k?3:2],G=Uf(A),H=Uf(TQ(O4(w,Q)));if(U&&G===H){let l=G?J9(A,b9):J9(A,f5);if(Z.unshift(t(H?D[0]+(l?u6:-u6):Q[0],H?Q[1]:D[1]+(l?u6:-u6))),Z.unshift(t(G?D[0]+(l?u6:-u6):D[0],G?D[1]:D[1]+(l?u6:-u6))),!k){k=!0;for(let q of b)q.index>1&&(q.index+=1)}}else if(Z.unshift(t(H?D[0]:w[0],H?w[1]:D[1])),k){k=!1;for(let l of b)l.index>1&&(l.index-=1)}Z.unshift(D)}{let w=M[M.length-(f?3:2)],Q=M[M.length-(f?4:3)],G=Uf(C),H=Df(Q,w);if(z&&G===H){let l=G?J9(C,b9):J9(C,f5);Z.push(t(H?F[0]+(l?u6:-u6):Q[0],H?Q[1]:F[1]+(l?u6:-u6))),Z.push(t(G?F[0]+(l?u6:-u6):F[0],G?F[1]:F[1]+(l?u6:-u6))),f||(f=!0)}else Z.push(t(H?F[0]:w[0],H?w[1]:F[1])),f&&(f=!1)}return Z.push(F),qZ(Z,b.map(({index:w})=>({index:w,start:Z[w-1],end:Z[w]})).map((w)=>({...w,start:t(w.start[0]-D[0],w.start[1]-D[1]),end:t(w.end[0]-D[0],w.end[1]-D[1])})),k,f)},Q6=1e6,Kn=(u,B,E,A)=>{if(u.points.length<2)return{points:E.points??u.points};(u.x<-Q6||u.x>Q6||u.y<-Q6||u.y>Q6||u.x+(E?.points?.[E?.points?.length-1]?.[0]??0)<-Q6||u.x+(E?.points?.[E?.points?.length-1]?.[0]??0)>Q6||u.y+(E?.points?.[E?.points?.length-1]?.[1]??0)<-Q6||u.y+(E?.points?.[E?.points?.length-1]?.[1]??0)>Q6||u.x+(u?.points?.[u?.points?.length-1]?.[0]??0)<-Q6||u.x+(u?.points?.[u?.points?.length-1]?.[0]??0)>Q6||u.y+(u?.points?.[u?.points?.length-1]?.[1]??0)<-Q6||u.y+(u?.points?.[u?.points?.length-1]?.[1]??0)>Q6)&&console.error("Elbow arrow (or update) is outside reasonable bounds (> 1e6)",{arrow:u,updates:E}),u.x=r3(u.x,-Q6,Q6),u.y=r3(u.y,-Q6,Q6),E.points&&(E.points=E.points.map(([Q,G])=>t(r3(Q,-Q6,Q6),r3(G,-Q6,Q6)))),J3.PROD||(b2(!E.points||E.points.length>=2,"Updated point array length must match the arrow point length, contain exactly the new start and end points or not be specified at all (i.e. you can't add new points between start and end manually to elbow arrows)"),b2(!u.fixedSegments||u.fixedSegments.map((Q)=>Q.start[0]===Q.end[0]||Q.start[1]===Q.end[1]).every(Boolean),"Fixed segments must be either horizontal or vertical"),b2(!E.fixedSegments||E.fixedSegments.map((Q)=>Q.start[0]===Q.end[0]||Q.start[1]===Q.end[1]).every(Boolean),"Updates to fixed segments must be either horizontal or vertical"),b2(u.points.slice(1).map((Q,G)=>Q[0]===u.points[G][0]||Q[1]===u.points[G][1]),"Elbow arrow segments must be either horizontal or vertical"));let C=E.points?E.points&&E.points.length===2?u.points.map((Q,G)=>G===0?E.points[0]:G===u.points.length-1?E.points[1]:Q):E.points.slice():u.points.slice(),D=typeof E.startBinding<"u"?E.startBinding:u.startBinding,F=typeof E.endBinding<"u"?E.endBinding:u.endBinding,U=D&&JX(D.elementId,B),z=F&&JX(F.elementId,B);if(B.size===0&&wb0(C)||U?.id!==D?.elementId||z?.id!==F?.elementId)return qZ(C.map((Q)=>t(u.x+Q[0],u.y+Q[1])),u.fixedSegments,u.startIsSpecial,u.endIsSpecial);let{startHeading:k,endHeading:f,startGlobalPoint:M,endGlobalPoint:b,hoveredStartElement:Z,hoveredEndElement:J,...K}=bb0({x:u.x,y:u.y,startBinding:D,endBinding:F,startArrowhead:u.startArrowhead,endArrowhead:u.endArrowhead,points:u.points},B,C,U,z,A),w=E.fixedSegments??u.fixedSegments??[];return!E.points&&!E.fixedSegments&&!E.startBinding&&!E.endBinding?RE3(u,B):E.startBinding===u.startBinding&&E.endBinding===u.endBinding&&(E.points??[]).every((Q,G)=>JD(Q,u.points[G]??t(1/0,1/0)))?{}:w.length===0?qZ(Jb0(Kb0(Zb0(u,{startHeading:k,endHeading:f,startGlobalPoint:M,endGlobalPoint:b,hoveredStartElement:Z,hoveredEndElement:J,...K})??[])),w,null,null):(u.fixedSegments?.length??0)>w.length?TE3(u,w,B):E.points?E.points&&E.fixedSegments?E:IE3(u,C,w,k,f,M,b,Z,J):OE3(u,w,k,f,Z,J)},bb0=(u,B,E,A,C,D)=>{let F=Bp(E[0],$5(u.x,u.y)),U=Bp(E[E.length-1],$5(u.x,u.y)),z=A,k=C;if(D?.isDragging){let v=Array.from(B.values());z=Lku(F,B,v,D?.zoom)||A,k=Lku(U,B,v,D?.zoom)||C}let f=qku({...u,elbowed:!0,points:E},"start",u.startBinding?.fixedPoint,F,A,z,D?.isDragging),M=qku({...u,elbowed:!0,points:E},"end",u.endBinding?.fixedPoint,U,C,k,D?.isDragging),b=lku(f,M,B,z,F),Z=lku(M,f,B,k,U),J=[f[0]-2,f[1]-2,f[0]+2,f[1]+2],K=[M[0]-2,M[1]-2,M[0]+2,M[1]+2],w=z?MD(z,DZ(b,u.startArrowhead?H6*6:H6*2,1)):J,Q=k?MD(k,DZ(Z,u.endArrowhead?H6*6:H6*2,1)):K,G=MX(f,k?MD(k,DZ(Z,u6,u6)):K)||MX(M,z?MD(z,DZ(b,u6,u6)):J),H=nZu(G?[J,K]:[w,Q]),l=NE3(G?J:w,G?K:Q,H,G?DZ(b,!z&&!k?0:u6,0):DZ(b,!z&&!k?0:u6-(u.startArrowhead?H6*6:H6*2),u6),G?DZ(Z,!z&&!k?0:u6,0):DZ(Z,!z&&!k?0:u6-(u.endArrowhead?H6*6:H6*2),u6),G,z&&MD(z),k&&MD(k)),q=Hku(l[0],b,f),L=Hku(l[1],Z,M);return{dynamicAABBs:l,startDonglePosition:q,startGlobalPoint:f,startHeading:b,endDonglePosition:L,endGlobalPoint:M,endHeading:Z,commonBounds:H,hoveredStartElement:z,hoveredEndElement:k,boundsOverlap:G,startElementBounds:w,endElementBounds:Q}},Zb0=(u,B)=>{let{dynamicAABBs:E,startDonglePosition:A,startGlobalPoint:C,startHeading:D,endDonglePosition:F,endGlobalPoint:U,endHeading:z,commonBounds:k,hoveredEndElement:f}=B,M=VE3(E,A||C,D,F||U,z,k),b=A&&p_(A,M),Z=F&&p_(F,M),J=p_(U,M);J&&f&&(J.closed=!0);let K=p_(C,M);K&&u.startBinding&&(K.closed=!0);let w=b&&Z&&(MX(b.pos,E[1])||MX(Z.pos,E[0])),Q=PE3(b||K,Z||J,M,D||b9,z||b9,w?[]:E);if(Q){let G=Q.map((H)=>[H.pos[0],H.pos[1]]);return b&&G.unshift(C),Z&&G.push(U),G}return null},DZ=(u,B,E)=>{switch(u){case gB:return[B,E,E,E];case b9:return[E,B,E,E];case f5:return[E,E,B,E]}return[E,E,E,B]},PE3=(u,B,E,A,C,D)=>{let F=$k0(u.pos,B.pos),U=new YE3((z)=>z.f);for(U.push(u);U.size()>0;){let z=U.pop();if(!z||z.closed)continue;if(z===B)return jE3(u,z);z.closed=!0;let k=iE3(z.addr,E);for(let f=0;f<4;f++){let M=k[f];if(!M||M.closed)continue;let b=Af(M.pos,z.pos,0.5);if(L63(...D.map((H)=>MX(b,H))))continue;let Z=aE3(f),J=z.parent?TQ(O4(z.pos,z.parent.pos)):A,K=obu(J);if(J9(K,Z)||Xku(u.addr,M.addr)&&J9(Z,A)||Xku(B.addr,M.addr)&&J9(Z,C))continue;let w=J!==Z,Q=z.g+$k0(M.pos,z.pos)+(w?Math.pow(F,3):0),G=M.visited;if(!G||Q<M.g){let H=hE3(M,B,Z,C);M.visited=!0,M.parent=z,M.h=$k0(B.pos,M.pos)+H*Math.pow(F,2),M.g=Q,M.f=M.g+M.h,G?U.rescoreElement(M):U.push(M)}}}return null},jE3=(u,B)=>{let E=B,A=[];for(;E.parent;)A.unshift(E),E=E.parent;return A.unshift(u),A},$k0=(u,B)=>Math.abs(u[0]-B[0])+Math.abs(u[1]-B[1]),NE3=(u,B,E,A,C,D,F,U)=>{let z=F??u,k=U??B,[f,M,b,Z]=A??[0,0,0,0],[J,K,w,Q]=C??[0,0,0,0],G=[u[0]>B[2]?u[1]>B[3]||u[3]<B[1]?Math.min((z[0]+k[2])/2,u[0]-Z):(z[0]+k[2])/2:u[0]>B[0]?u[0]-Z:E[0]-Z,u[1]>B[3]?u[0]>B[2]||u[2]<B[0]?Math.min((z[1]+k[3])/2,u[1]-f):(z[1]+k[3])/2:u[1]>B[1]?u[1]-f:E[1]-f,u[2]<B[0]?u[1]>B[3]||u[3]<B[1]?Math.max((z[2]+k[0])/2,u[2]+M):(z[2]+k[0])/2:u[2]<B[2]?u[2]+M:E[2]+M,u[3]<B[1]?u[0]>B[2]||u[2]<B[0]?Math.max((z[3]+k[1])/2,u[3]+b):(z[3]+k[1])/2:u[3]<B[3]?u[3]+b:E[3]+b],H=[B[0]>u[2]?B[1]>u[3]||B[3]<u[1]?Math.min((k[0]+z[2])/2,B[0]-Q):(k[0]+z[2])/2:B[0]>u[0]?B[0]-Q:E[0]-Q,B[1]>u[3]?B[0]>u[2]||B[2]<u[0]?Math.min((k[1]+z[3])/2,B[1]-J):(k[1]+z[3])/2:B[1]>u[1]?B[1]-J:E[1]-J,B[2]<u[0]?B[1]>u[3]||B[3]<u[1]?Math.max((k[2]+z[0])/2,B[2]+K):(k[2]+z[0])/2:B[2]<u[2]?B[2]+K:E[2]+K,B[3]<u[1]?B[0]>u[2]||B[2]<u[0]?Math.max((k[3]+z[1])/2,B[3]+w):(k[3]+z[1])/2:B[3]<u[3]?B[3]+w:E[3]+w],l=nZu([G,H]);if(!D&&G[2]-G[0]+H[2]-H[0]>l[2]-l[0]+0.00000000001&&G[3]-G[1]+H[3]-H[1]>l[3]-l[1]+0.00000000001){let[q,L]=[(H[0]+H[2])/2,(H[1]+H[3])/2];if(B[0]>u[2]&&u[1]>B[3]){let v=G[2]+(H[0]-G[2])/2,x=H[3]+(G[1]-H[3])/2;return k5($5(u[2]-q,u[1]-L),$5(u[0]-q,u[3]-L))>0?[[G[0],G[1],v,G[3]],[v,H[1],H[2],H[3]]]:[[G[0],x,G[2],G[3]],[H[0],H[1],H[2],x]]}else if(u[2]<B[0]&&u[3]<B[1]){let v=G[2]+(H[0]-G[2])/2,x=G[3]+(H[1]-G[3])/2;return k5($5(u[0]-q,u[1]-L),$5(u[2]-q,u[3]-L))>0?[[G[0],G[1],G[2],x],[H[0],x,H[2],H[3]]]:[[G[0],G[1],v,G[3]],[v,H[1],H[2],H[3]]]}else if(u[0]>B[2]&&u[3]<B[1]){let v=H[2]+(G[0]-H[2])/2,x=G[3]+(H[1]-G[3])/2;return k5($5(u[2]-q,u[1]-L),$5(u[0]-q,u[3]-L))>0?[[v,G[1],G[2],G[3]],[H[0],H[1],v,H[3]]]:[[G[0],G[1],G[2],x],[H[0],x,H[2],H[3]]]}else if(u[0]>B[2]&&u[1]>B[3]){let v=H[2]+(G[0]-H[2])/2,x=H[3]+(G[1]-H[3])/2;return k5($5(u[0]-q,u[1]-L),$5(u[2]-q,u[3]-L))>0?[[v,G[1],G[2],G[3]],[H[0],H[1],v,H[3]]]:[[G[0],x,G[2],G[3]],[H[0],H[1],H[2],x]]}}return[G,H]},VE3=(u,B,E,A,C,D)=>{let F=new Set,U=new Set;E===rB||E===b9?U.add(B[1]):F.add(B[0]),C===rB||C===b9?U.add(A[1]):F.add(A[0]),u.forEach((f)=>{F.add(f[0]),F.add(f[2]),U.add(f[1]),U.add(f[3])}),F.add(D[0]),F.add(D[2]),U.add(D[1]),U.add(D[3]);let z=Array.from(U).sort((f,M)=>f-M),k=Array.from(F).sort((f,M)=>f-M);return{row:z.length,col:k.length,data:z.flatMap((f,M)=>k.map((b,Z)=>({f:0,g:0,h:0,closed:!1,visited:!1,parent:null,addr:[Z,M],pos:[b,f]})))}},Hku=(u,B,E)=>{switch(B){case gB:return t(E[0],u[1]);case b9:return t(u[2],E[1]);case f5:return t(E[0],u[3])}return t(u[0],E[1])},hE3=(u,B,E,A)=>{if(A===b9)switch(E){case b9:return u.pos[0]>=B.pos[0]?4:u.pos[1]===B.pos[1]?0:2;case gB:return u.pos[1]>B.pos[1]&&u.pos[0]<B.pos[0]?1:3;case f5:return u.pos[1]<B.pos[1]&&u.pos[0]<B.pos[0]?1:3;case rB:return u.pos[1]===B.pos[1]?4:2}else if(A===rB)switch(E){case b9:return u.pos[1]===B.pos[1]?4:2;case gB:return u.pos[1]>B.pos[1]&&u.pos[0]>B.pos[0]?1:3;case f5:return u.pos[1]<B.pos[1]&&u.pos[0]>B.pos[0]?1:3;case rB:return u.pos[0]<=B.pos[0]?4:u.pos[1]===B.pos[1]?0:2}else if(A===gB)switch(E){case b9:return u.pos[1]>B.pos[1]&&u.pos[0]<B.pos[0]?1:3;case gB:return u.pos[1]>=B.pos[1]?4:u.pos[0]===B.pos[0]?0:2;case f5:return u.pos[0]===B.pos[0]?4:2;case rB:return u.pos[1]>B.pos[1]&&u.pos[0]>B.pos[0]?1:3}else if(A===f5)switch(E){case b9:return u.pos[1]<B.pos[1]&&u.pos[0]<B.pos[0]?1:3;case gB:return u.pos[0]===B.pos[0]?4:2;case f5:return u.pos[1]<=B.pos[1]?4:u.pos[0]===B.pos[0]?0:2;case rB:return u.pos[1]<B.pos[1]&&u.pos[0]>B.pos[0]?1:3}return 0},iE3=([u,B],E)=>[JO([u,B-1],E),JO([u+1,B],E),JO([u,B+1],E),JO([u-1,B],E)],JO=([u,B],E)=>u<0||u>=E.col||B<0||B>=E.row?null:E.data[B*E.col+u]??null,p_=(u,B)=>{for(let E=0;E<B.col;E++)for(let A=0;A<B.row;A++){let C=JO([E,A],B);if(C&&u[0]===C.pos[0]&&u[1]===C.pos[1])return C}return null},nZu=(u)=>[Math.min(...u.map((B)=>B[0])),Math.min(...u.map((B)=>B[1])),Math.max(...u.map((B)=>B[2])),Math.max(...u.map((B)=>B[3]))],JX=(u,B)=>{let E=B.get(u);return E&&gA(E)?E:null},qZ=(u,B,E,A)=>{let C=u[0][0],D=u[0][1],F=u.map((U)=>Bp(U,Z9(O4(u[0]),-1)));return(C<-Q6||C>Q6||D<-Q6||D>Q6||C+F[F.length-1][0]<-Q6||D+F[F.length-1][0]>Q6||C+F[F.length-1][1]<-Q6||D+F[F.length-1][1]>Q6)&&console.error("Elbow arrow normalization is outside reasonable bounds (> 1e6)",{x:C,y:D,points:F,...OQ(F)}),F=F.map(([U,z])=>t(r3(U,-1e6,1e6),r3(z,-1e6,1e6))),{points:F,x:r3(C,-1e6,1e6),y:r3(D,-1e6,1e6),fixedSegments:(B?.length??0)>0?B:null,...OQ(F),startIsSpecial:E,endIsSpecial:A}},Jb0=(u)=>{if(u.length>1){let B=Math.abs(u[0][1]-u[1][1])<Math.abs(u[0][0]-u[1][0]);return u.filter((E,A)=>{if(A===0||A===u.length-1)return!0;let C=u[A+1],D=Math.abs(E[1]-C[1])<Math.abs(E[0]-C[0]);return B===D?(B=D,!1):(B=D,!0)})}return u},Kb0=(u)=>u.length>=4?u.filter((B,E)=>{if(E===0||E===u.length-1)return!0;let A=u[E-1];return l1(A,B)>Mb0}):u,aE3=(u)=>{switch(u){case 0:return gB;case 1:return b9;case 2:return f5}return rB},qku=(u,B,E,A,C,D,F)=>{if(F){if(D){let U=bX(u,D,B);return h83(D,U)}return A}if(C){let U=ok0(E||[0,0],C);return Math.abs(np(C,U)-H6)>0.01?bX(u,C,B):U}return A},lku=(u,B,E,A,C)=>P83(u,B,A,A&&MD(A,Array(4).fill(np(A,u))),E,C),Lku=(u,B,E,A)=>cA(aA(u),E,B,A,!0,!0),Xku=(u,B)=>u[0]===B[0]&&u[1]===B[1],wb0=(u,B=Mb0)=>u.slice(1).map((E,A)=>Math.abs(E[0]-u[A][0])<B||Math.abs(E[1]-u[A][1])<B).every(Boolean),mE3,$E3=(u)=>Object.keys(d6).includes(u)?d6[u]:ff,tL=(u,B)=>{if(!B)return null;let E=B.focus||0;return Q4(u)?Dp(B)?{...B,focus:E,fixedPoint:Bn(B.fixedPoint??[0,0])}:null:{...B,focus:E}},FZ=(u,B)=>{let E={type:B.type||u.type,version:u.version||1,versionNonce:u.versionNonce??0,index:u.index??null,isDeleted:u.isDeleted??!1,id:u.id||hE(),fillStyle:u.fillStyle||x9.fillStyle,strokeWidth:u.strokeWidth||x9.strokeWidth,strokeStyle:u.strokeStyle??x9.strokeStyle,roughness:u.roughness??x9.roughness,opacity:u.opacity==null?x9.opacity:u.opacity,angle:u.angle||0,x:B.x??u.x??0,y:B.y??u.y??0,strokeColor:u.strokeColor||x9.strokeColor,backgroundColor:u.backgroundColor||x9.backgroundColor,width:u.width||0,height:u.height||0,seed:u.seed??1,groupIds:u.groupIds??[],frameId:u.frameId??null,roundness:u.roundness?u.roundness:u.strokeSharpness==="round"?{type:yQ(u.type)?Z2.LEGACY:Z2.PROPORTIONAL_RADIUS}:null,boundElements:u.boundElementIds?u.boundElementIds.map((A)=>({type:"arrow",id:A})):u.boundElements??[],updated:u.updated??qX(),link:u.link?$8(u.link):null,locked:u.locked??!1};return(("customData"in u)||("customData"in B))&&(E.customData=("customData"in B)?B.customData:u.customData),{...u,...E,...Sb0(E),...B}},yE3=(u)=>{switch(u={...u},u.type){case"text":delete u.rawText;let{fontSize:B,fontFamily:E}=u;if("font"in u){let[f,M]=u.font.split(" ");B=parseFloat(f),E=$E3(M)}let A=typeof u.text=="string"&&u.text||"",C=u.lineHeight||(u.height?x63(u):TZ(u.fontFamily));return u=FZ(u,{fontSize:B,fontFamily:E,text:A,textAlign:u.textAlign||wX,verticalAlign:u.verticalAlign||TO,containerId:u.containerId??null,originalText:u.originalText||A,autoResize:u.autoResize??!0,lineHeight:C}),!A&&!u.isDeleted&&(u={...u,originalText:A,isDeleted:!0},u=MI(u)),u;case"freedraw":return FZ(u,{points:u.points,lastCommittedPoint:null,simulatePressure:u.simulatePressure,pressures:u.pressures});case"image":return FZ(u,{status:u.status||"pending",fileId:u.fileId,scale:u.scale||[1,1],crop:u.crop??null});case"line":case"draw":let{startArrowhead:D=null,endArrowhead:F=null}=u,U=u.x,z=u.y,k=!Array.isArray(u.points)||u.points.length<2?[t(0,0),t(u.width,u.height)]:u.points;return(k[0][0]!==0||k[0][1]!==0)&&({points:k,x:U,y:z}=Z4.getNormalizedPoints(u)),FZ(u,{type:u.type==="draw"?"line":u.type,startBinding:tL(u,u.startBinding),endBinding:tL(u,u.endBinding),lastCommittedPoint:null,startArrowhead:D,endArrowhead:F,points:k,x:U,y:z,...OQ(k)});case"arrow":{let{startArrowhead:f=null,endArrowhead:M="arrow"}=u,b=u.x,Z=u.y,J=!Array.isArray(u.points)||u.points.length<2?[t(0,0),t(u.width,u.height)]:u.points;(J[0][0]!==0||J[0][1]!==0)&&({points:J,x:b,y:Z}=Z4.getNormalizedPoints(u));let K={type:u.type,startBinding:tL(u,u.startBinding),endBinding:tL(u,u.endBinding),lastCommittedPoint:null,startArrowhead:f,endArrowhead:M,points:J,x:b,y:Z,elbowed:u.elbowed,...OQ(J)};return Q4(u)?FZ(u,{...K,elbowed:!0,startBinding:tL(u,u.startBinding),endBinding:tL(u,u.endBinding),fixedSegments:u.fixedSegments,startIsSpecial:u.startIsSpecial,endIsSpecial:u.endIsSpecial}):FZ(u,K)}case"ellipse":case"rectangle":case"diamond":case"iframe":case"embeddable":return FZ(u,{});case"magicframe":case"frame":return FZ(u,{name:u.name??null})}return null},rE3=(u,B)=>{if(u.boundElements){let E=u.boundElements.slice(),A=new Set;u.boundElements=E.reduce((C,D)=>{let F=B.get(D.id);if(F&&!A.has(D.id)){if(A.add(D.id),F.isDeleted)return C;C.push(D),M4(F)&&!F.containerId&&(F.containerId=u.id)}return C},[])}},gE3=(u,B)=>{let E=u.containerId?B.get(u.containerId):null;if(!E){u.containerId=null;return}if(!u.isDeleted&&E.boundElements&&!E.boundElements.find((A)=>A.id===u.id)){let A=(E.boundElements||(E.boundElements=[])).slice();A.push({type:"text",id:u.id}),E.boundElements=A}},cE3=(u,B)=>{u.frameId&&(B.get(u.frameId)||(u.frameId=null))},wn=(u,B,E)=>{let A=new Set,C=B?e4(B):null,D=_U((u||[]).reduce((U,z)=>{if(z.type!=="selection"&&!sQ(z)){let k=yE3(z);if(k){let f=C?.get(z.id);f&&f.version>k.version&&(k=MI(k,f.version)),A.has(k.id)&&(k={...k,id:hE()}),A.add(k.id),U.push(k)}}return U},[]));if(!E?.repairBindings)return D;let F=e4(D);for(let U of D)U.frameId&&cE3(U,F),M4(U)&&U.containerId?gE3(U,F):U.boundElements&&rE3(U,F),E.refreshDimensions&&M4(U)&&Object.assign(U,nM0(U,b5(U,F),F)),S3(U)&&(U.startBinding&&(!F.has(U.startBinding.elementId)||!j3(U))&&(U.startBinding=null),U.endBinding&&(!F.has(U.endBinding.elementId)||!j3(U))&&(U.endBinding=null));return D.map((U)=>{if(Q4(U)&&U.startBinding==null&&U.endBinding==null&&!wb0(U.points))return{...U,...Kn(U,F,{points:[t(0,0),U.points[U.points.length-1]]}),index:U.index};if(Q4(U)&&U.startBinding&&U.endBinding&&U.startBinding.elementId===U.endBinding.elementId&&U.points.length>1&&U.points.some(([z,k])=>Math.abs(z)>1e6||Math.abs(k)>1e6)){console.error("Fixing self-bound elbow arrow",U.id);let z=F.get(U.startBinding.elementId);return z?{...U,x:z.x+z.width/2,y:z.y-5,width:z.width,height:z.height,points:[t(0,0),t(0,-10),t(z.width/2+5,-10),t(z.width/2+5,z.height/2+5)]}:(console.error("Bound element not found",U.startBinding.elementId),U)}return U})},_E3=(u,B,E)=>{let A=B[u];return A!==void 0?A:E[u]},vku,dZu=(u,B)=>{u=u||{};let E=LD(),A={};for(let C of Object.keys(vku))if(C in u){let[D,F]=vku[C](u,E);A[D]=F}for(let[C,D]of Object.entries(E)){let F=u[C],U=B?B[C]:void 0;A[C]=F!==void 0?F:U!==void 0?U:D}return{...A,cursorButton:B?.cursorButton||"up",penDetected:B?.penDetected??(u.penMode?u.penDetected??!1:!1),activeTool:{...n9(E,A.activeTool.type&&mE3[A.activeTool.type]?A.activeTool:{type:"selection"}),lastActiveTool:null,locked:A.activeTool.locked??!1},zoom:{value:gU(FX(u.zoom)?u.zoom:u.zoom?.value??E.zoom.value)},openSidebar:typeof u.openSidebar=="string"?{name:_A.name}:A.openSidebar,gridSize:c83(FX(u.gridSize)?u.gridSize:IO),gridStep:jM0(FX(u.gridStep)?u.gridStep:Bfu),editingFrame:null}},FI=(u,B,E,A)=>({elements:wn(u?.elements,E,A),appState:dZu(u?.appState,B||null),files:u?.files||{}}),xku=(u)=>{let B=wn(f6(u.elements),null);return B.length?{...u,elements:B}:null},Qn=(u=[],B)=>{let E=[];for(let A of u)if(Array.isArray(A)){let C=xku({status:B,elements:A,id:hE(),created:Date.now()});C&&E.push(C)}else{let C=A,D=xku({...C,id:C.id||hE(),status:C.status||B,created:C.created||Date.now()});D&&E.push(D)}return E},bD=32,G6=12,KZ=256,sZu=50,vQ="NOT_SPREADSHEET",SO="VALID_SPREADSHEET",KO=(u)=>{let B=/^([-+]?)[$€£¥₩]?([-+]?)([\d.,]+)[%]?$/.exec(u);return B?parseFloat(`${(B[1]||B[2])+B[3]}`.replace(/,/g,"")):null},yk0=(u,B)=>u.slice(1).every((E)=>KO(E[B])!==null),Wku=(u)=>{let B=u[0].length;if(B>2)return{type:vQ,reason:"More than 2 columns"};if(B===1){if(!yk0(u,0))return{type:vQ,reason:"Value is not numeric"};let z=KO(u[0][0])===null,k=(z?u.slice(1):u).map((f)=>KO(f[0]));return k.length<2?{type:vQ,reason:"Less than two rows"}:{type:SO,spreadsheet:{title:z?u[0][0]:null,labels:null,values:k}}}let E=yk0(u,0),A=yk0(u,1);if(!E&&!A)return{type:vQ,reason:"Value is not numeric"};let[C,D]=A?[0,1]:[1,0],F=KO(u[0][D])===null,U=F?u.slice(1):u;return U.length<2?{type:vQ,reason:"Less than 2 rows"}:{type:SO,spreadsheet:{title:F?u[0][D]:null,labels:U.map((z)=>z[C]),values:U.map((z)=>KO(z[D]))}}},pE3=(u)=>{let B=[];for(let E=0;E<u[0].length;E++){let A=[];for(let C=0;C<u.length;C++)A.push(u[C][E]);B.push(A)}return B},nE3=(u)=>{let B=u.trim().split(`
`).map((C)=>C.trim().split("\t"));if(B.length&&B[0].length!==2&&(B=u.trim().split(`
`).map((C)=>C.trim().split(","))),B.length===0)return{type:vQ,reason:"No values"};let E=B[0].length;if(!B.every((C)=>C.length===E))return{type:vQ,reason:"All rows don't have same number of columns"};let A=Wku(B);if(A.type!==SO){let C=Wku(pE3(B));if(C.type===SO)return C}return A},Zp,$A,oZu=(u)=>{let B=(bD+G6)*u.values.length+G6,E=KZ+G6*2;return{chartWidth:B,chartHeight:E}},dE3=(u,B,E,A,C)=>u.labels?.map((D,F)=>y8({groupIds:[A],backgroundColor:C,...$A,text:D.length>8?`${D.slice(0,5)}...`:D,x:B+F*(bD+G6)+G6*2,y:E+G6/2,width:bD,angle:5.87,fontSize:16,textAlign:"center",verticalAlign:"top"}))||[],sE3=(u,B,E,A,C)=>{let D=y8({groupIds:[A],backgroundColor:C,...$A,x:B-G6,y:E-G6,text:"0",textAlign:"right"}),F=y8({groupIds:[A],backgroundColor:C,...$A,x:B-G6,y:E-KZ-D.height/2,text:Math.max(...u.values).toLocaleString(),textAlign:"right"});return[D,F]},oE3=(u,B,E,A,C)=>{let{chartWidth:D,chartHeight:F}=oZu(u),U=JZ({backgroundColor:C,groupIds:[A],...$A,type:"line",x:B,y:E,width:D,points:[t(0,0),t(D,0)]}),z=JZ({backgroundColor:C,groupIds:[A],...$A,type:"line",x:B,y:E,height:F,points:[t(0,0),t(0,-F)]}),k=JZ({backgroundColor:C,groupIds:[A],...$A,type:"line",x:B,y:E-KZ-G6,strokeStyle:"dotted",width:D,opacity:sZu,points:[t(0,0),t(D,0)]});return[U,z,k]},tZu=(u,B,E,A,C,D)=>{let{chartWidth:F,chartHeight:U}=oZu(u),z=u.title?y8({backgroundColor:C,groupIds:[A],...$A,text:u.title,x:B+F/2,y:E-KZ-G6*2-mU,roundness:null,textAlign:"center"}):null,k=D?SD({backgroundColor:C,groupIds:[A],...$A,type:"rectangle",x:B,y:E-U,width:F,height:U,strokeColor:m3.black,fillStyle:"solid",opacity:6}):null;return[...k?[k]:[],...z?[z]:[],...dE3(u,B,E,A,C),...sE3(u,B,E,A,C),...oE3(u,B,E,A,C)]},tE3=(u,B,E)=>{let A=Math.max(...u.values),C=hE(),D=Zp[Math.floor(Math.random()*Zp.length)];return[...u.values.map((F,U)=>{let z=F/A*KZ;return SD({backgroundColor:D,groupIds:[C],...$A,type:"rectangle",x:B+U*(bD+G6)+G6,y:E-z-G6,width:bD,height:z})}),...tZu(u,B,E,C,D,J3.DEV)]},eE3=(u,B,E)=>{let A=Math.max(...u.values),C=hE(),D=Zp[Math.floor(Math.random()*Zp.length)],F=0,U=[];for(let K of u.values){let w=F*(bD+G6),Q=-(K/A)*KZ;U.push([w,Q]),F++}let z=Math.max(...U.map((K)=>K[0])),k=Math.max(...U.map((K)=>K[1])),f=Math.min(...U.map((K)=>K[0])),M=Math.min(...U.map((K)=>K[1])),b=JZ({backgroundColor:D,groupIds:[C],...$A,type:"line",x:B+G6+bD/2,y:E-G6,height:k-M,width:z-f,strokeWidth:2,points:U}),Z=u.values.map((K,w)=>{let Q=w*(bD+G6)+G6/2,G=-(K/A)*KZ+G6/2;return SD({backgroundColor:D,groupIds:[C],...$A,fillStyle:"solid",strokeWidth:2,type:"ellipse",x:B+Q+bD/2,y:E+G-G6*2,width:G6,height:G6})}),J=u.values.map((K,w)=>{let Q=w*(bD+G6)+G6/2,G=K/A*KZ+G6/2+G6;return JZ({backgroundColor:D,groupIds:[C],...$A,type:"line",x:B+Q+bD/2+G6/2,y:E-G,height:G,strokeStyle:"dotted",opacity:sZu,points:[t(0,0),t(0,G)]})});return[...tZu(u,B,E,C,D,J3.DEV),b,...J,...Z]},eZu=(u,B,E,A)=>u==="line"?eE3(B,E,A):tE3(B,E,A),mW1,Gn,Hn,uA3=(u)=>!!([jE.excalidraw,jE.excalidrawClipboard,jE.excalidrawClipboardWithAPI].includes(u?.type)&&Array.isArray(u.elements)),uJu=({types:u,files:B})=>{!u&&!B&&console.warn("createPasteEvent: no types or files provided");let E=new ClipboardEvent("paste",{clipboardData:new DataTransfer});if(u)for(let[A,C]of Object.entries(u)){if(typeof C!="string"){B=B||[],B.push(C);continue}try{if(E.clipboardData?.setData(A,C),E.clipboardData?.getData(A)!==C)throw Error(`Failed to set "${A}" as clipboardData item`)}catch(D){throw Error(D.message)}}if(B){let A=-1;for(let C of B){A++;try{if(E.clipboardData?.items.add(C),E.clipboardData?.files[A]!==C)throw Error(`Failed to set file "${C.name}" as clipboardData item`)}catch(D){throw Error(D.message)}}}return E},BA3=({elements:u,files:B})=>{let E=e4(u),A=new Set(u.filter((U)=>u3(U))),C=!1,D=u.reduce((U,z)=>(aE(z)&&(C=!0,B&&B[z.fileId]&&(U[z.fileId]=B[z.fileId])),U),{});C&&!B&&console.warn("copyToClipboard: attempting to file element(s) without providing associated `files` object.");let F={type:jE.excalidrawClipboard,elements:u.map((U)=>{if(pB(U,E)&&!A.has(pB(U,E))){let z=PZ(U);return Su(z,{frameId:null}),z}return U}),files:B?D:void 0};return JSON.stringify(F)},BJu=async(u,B,E)=>{await PX(BA3({elements:u,files:B}),E)},EA3=(u)=>{let B=nE3(u);return B.type===SO?{spreadsheet:B.spreadsheet}:null},AA3=(u)=>{let B=u.clipboardData?.getData(r4.html);if(!B)return null;try{let E=new DOMParser().parseFromString(B,r4.html),A=EJu(E.body);if(A.length)return{type:"mixedContent",value:A}}catch(E){console.error(`error in parseHTMLFromPaste: ${E.message}`)}return null},AJu=async()=>{let u={},B;try{B=await navigator.clipboard?.read()}catch(E){try{if(navigator.clipboard?.readText){console.warn(`navigator.clipboard.readText() failed (${E.message}). Failling back to navigator.clipboard.read()`);let A=await navigator.clipboard?.readText();if(A)return{[r4.text]:A}}}catch(A){if(navigator.clipboard?.read)console.warn(`navigator.clipboard.readText() failed (${A.message}). Failling back to navigator.clipboard.read()`);else{if(A.name==="DataError")return console.warn(`navigator.clipboard.read() error, clipboard is probably empty: ${A.message}`),u;throw A}}throw E}for(let E of B)for(let A of E.types)if(Sf0(o13,A))try{if(A===r4.text||A===r4.html)u[A]=await(await E.getType(A)).text();else if(WJu(A)){let C=await E.getType(A),D=wO(C,A,void 0);u[A]=D}else throw new yzu(`Unsupported clipboard type: ${A}`)}catch(C){console.warn(C instanceof yzu?C.message:`Cannot retrieve ${A} from clipboardItem: ${C.message}`)}return Object.keys(u).length===0&&console.warn("No clipboard data found from clipboard.read()."),u},CA3=async(u,B=!1)=>{try{let E=!B&&u&&AA3(u);return E?E.value.every((A)=>A.type==="text")?{type:"text",value:u.clipboardData?.getData(r4.text)||E.value.map((A)=>A.value).join(`
`).trim()}:E:{type:"text",value:(u.clipboardData?.getData(r4.text)||"").trim()}}catch{return{type:"text",value:""}}},Qb0=async(u,B=!1)=>{let E=await CA3(u,B);if(E.type==="mixedContent")return{mixedContent:E.value};try{let A=!B&&EA3(E.value);if(A)return A}catch(A){console.error(A)}try{let A=JSON.parse(E.value),C=A.type===jE.excalidrawClipboardWithAPI;if(uA3(A))return{elements:A.elements,files:A.files,text:B?JSON.stringify(A.elements,null,2):void 0,programmaticAPI:C}}catch{}return{text:E.value}},CJu=async(u)=>{try{await navigator.clipboard.write([new window.ClipboardItem({[r4.png]:u})])}catch(B){if(lX(u))await navigator.clipboard.write([new window.ClipboardItem({[r4.png]:await u})]);else throw B}},PX=async(u,B)=>{if(Gn)try{await navigator.clipboard.writeText(u||"");return}catch(E){console.error(E)}try{if(B){if(B.clipboardData?.setData(r4.text,u||""),B.clipboardData?.getData(r4.text)!==u)throw Error("Failed to setData on clipboardEvent");return}}catch(E){console.error(E)}if(!DA3(u))throw Error("Error copying to clipboard.")},DA3=(u)=>{u||(u=" ");let B=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[B?"right":"left"]="-9999px";let A=window.pageYOffset||document.documentElement.scrollTop;E.style.top=`${A}px`,E.style.fontSize="12pt",E.setAttribute("readonly",""),E.value=u,document.body.appendChild(E);let C=!1;try{E.select(),E.setSelectionRange(0,E.value.length),C=document.execCommand("copy")}catch(D){console.error(D)}return E.remove(),C},qn=({elements:u,appState:B,files:E,maxWidthOrHeight:A,getDimensions:C,exportPadding:D,exportingFrame:F})=>{let{elements:U,appState:z}=FI({elements:u,appState:B},null,null),{exportBackground:k,viewBackgroundColor:f}=z;return kb0(U,{...z,offsetTop:0,offsetLeft:0,width:0,height:0},E||{},{exportBackground:k,exportPadding:D,viewBackgroundColor:f,exportingFrame:F},(M,b)=>{let Z=document.createElement("canvas");if(A){typeof C=="function"&&console.warn("`getDimensions()` is ignored when `maxWidthOrHeight` is supplied.");let K=Math.max(M,b),w=A<K?A/K:B?.exportScale??1;return Z.width=M*w,Z.height=b*w,{canvas:Z,scale:w}}let J=C?.(M,b)||{width:M,height:b};return Z.width=J.width,Z.height=J.height,{canvas:Z,scale:J.scale??1}})},UI=async({elements:u,appState:B=LD(),files:E={},exportPadding:A,renderEmbeddables:C,exportingFrame:D,skipInliningFonts:F,reuseImages:U})=>{let{elements:z,appState:k}=FI({elements:u,appState:B},null,null),f={...k,exportPadding:A};return Jn(z,f,E,{exportingFrame:D,renderEmbeddables:C,skipInliningFonts:F,reuseImages:U})},FA3=(u)=>u.type==="diamond"?[t(u.width/2,0),t(u.width,u.height/2),t(u.width/2,u.height),t(0,u.height/2)]:[t(0,0),t(0+u.width,0),t(0+u.width,u.height),t(0,u.height)],UA3=(u)=>S3(u)||rA(u)?u.points:FA3(u),Sku=(u)=>{let B=u.reduce((E,[A,C])=>(E.minY=Math.min(E.minY,C),E.minX=Math.min(E.minX,A),E.maxX=Math.max(E.maxX,A),E.maxY=Math.max(E.maxY,C),E),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,cx:0,cy:0});return B.cx=(B.maxX+B.minX)/2,B.cy=(B.maxY+B.minY)/2,B},DJu=(u)=>{let B=UA3(u),{cx:E,cy:A}=Sku(B),C=t(E,A),D=B.map((f)=>lu(f,C,u.angle)),{minX:F,minY:U,maxX:z,maxY:k}=Sku(D);return[F+u.x,U+u.y,z+u.x,k+u.y]},Bf0=(u,B,E=!1)=>{let A=DJu(u),C=B[0]<=A[0]&&B[2]>=A[2]&&B[1]<=A[1]&&B[3]>=A[3];return E?C?!0:A[0]<=B[0]&&A[2]>=B[2]&&A[1]<=B[1]&&A[3]>=B[3]:C},FJu=(u,B)=>{let E=DJu(u);return(r_(E[0],p7(B[0],B[2]))||r_(B[0],p7(E[0],E[2])))&&(r_(E[1],p7(B[1],B[3]))||r_(B[1],p7(E[1],E[3])))},UJu=({elements:u,bounds:B,type:E,errorMargin:A=0})=>{If0(B)&&(B=wD(B,e4(u)));let C=[B[0]-A,B[1]-A,B[2]+A,B[3]+A],D=new Set;for(let F of u){if(D.has(F.id))continue;if(E==="overlap"?FJu(F,C):E==="inside"?Bf0(F,C):Bf0(F,C,!0)){if(D.add(F.id),F.boundElements)for(let U of F.boundElements)D.add(U.id);M4(F)&&F.containerId&&D.add(F.containerId),j3(F)&&(F.startBinding&&D.add(F.startBinding.elementId),F.endBinding&&D.add(F.endBinding?.elementId))}}return u.filter((F)=>D.has(F.id))},kA3=0.000001,Gb0=(u,B,E)=>{let A=e4(u);for(let C of B)if(C.frameId){let D=E.get(C.id),F=E.get(C.frameId);if(D){let U=A.get(D);U&&Su(U,{frameId:F??C.frameId},!1)}}},zJu=(u,B,E)=>Xn(Wn(u,B,E,!1)).filter((A)=>!u3(A)&&!A.frameId||A.frameId===B.id),qb0=(u,B,E)=>Wn([B],u,E).some((A)=>A.id===B.id),jX=(u,B,E)=>{let[A,C,D,F]=W3(B,E),[U,z,k,f]=I1(u);return A<=U&&C<=z&&D>=k&&F>=f},zf=(u,B,E)=>jX([u],B,E)||Hb0(u,B,E)||qb0(u,B,E),lb0=(u,B,E)=>{let[A,C,D,F]=W3(B,E);return Hfu(t(A,C),t(u.x,u.y),t(D,F))},kJu=(u)=>{let B=new Map;for(let E of u){let A=u3(E)?E.id:E.frameId;A&&!B.has(A)&&B.set(A,RD(u,A))}return B},RD=(u,B)=>{let E=[];for(let A of u.values())A.frameId===B&&E.push(A);return E},ln=(u)=>u.filter((B)=>u3(B)),Ln=(u)=>{let B=e4(ln(u));return u.filter((E)=>B.has(E.id)||!E.frameId||!B.has(E.frameId))},zI=(u,B,E,A)=>{let C=RD(u,B.id),D=new Set(C),F=new Set([...zJu(u,B,A),...C.filter((b)=>qb0(b,B,A))]),U=C.filter((b)=>!F.has(b)),z=new Set(Array.from(F).flatMap((b)=>b.groupIds));for(let b of U)if(!Hb0(b,B,A))b.groupIds.length===0&&D.delete(b);else if(b.groupIds.length>0)for(let Z of b.groupIds)z.add(Z);for(let b of U)if(b.groupIds.length>0){let Z=!0;for(let J of b.groupIds)z.has(J)&&(Z=!1);Z&&D.delete(b)}let k=Array.from(F).filter((b)=>b.groupIds.length===0);for(let b of k)D.add(b);let f=Array.from(F).filter((b)=>b.groupIds.length>0),M=iM0(f,E);for(let[b,Z]of Object.entries(M))if(Z){let J=W6(u,b);if(jX(J,B,A))for(let K of J)D.add(K)}return[...D].filter((b)=>!(M4(b)&&b.containerId))},fJu=(u,B,E)=>MA3(Xn(u,zJu(u,B,E)),B,E),MA3=(u,B,E)=>{let A=[],C=new Map;for(let D of u){let F=!1;if(D.groupIds.length>0){if(D.groupIds.some((U)=>C.get(U)))F=!0;else{let U=new Set(D.groupIds.flatMap((z)=>W6(E,z)));F=!jX(Array.from(U),B,E)}D.groupIds.forEach((U)=>{C.set(U,F)})}F||A.push(D)}return A},pB=(u,B)=>u.frameId&&B.get(u.frameId)||null,MJu=(u,B)=>{let E=new Set,A=e4(u);u=Xn(u);for(let F of u)u3(F)&&F.id!==B.id&&E.add(F.id);let C=new Set,D=[];for(let F of u)if(!(u3(F)||F.frameId&&E.has(F.frameId)))if(F.groupIds.length){let U=F.groupIds.at(-1);if(!C.has(U)){C.add(U);let z=W6(u,U);if(z.some((k)=>zf(k,B,A)))for(let k of z)D.push(k)}}else zf(F,B,A)&&D.push(F);return D},NX=(u,B,E,A)=>{let C=e4(u),D=new Map;for(let k of u.values())k.frameId===E.id&&D.set(k.id,!0);let F=new Set(B.map((k)=>k.id)),U=[],z=new Set;for(let k of B)u3(k)&&k.id!==E.id&&z.add(k.id);for(let k of Xn(u,B)){if(u3(k)||k.frameId&&z.has(k.frameId)||k.frameId&&A.selectedElementIds[k.id]&&A.selectedElementIds[k.frameId])continue;D.has(k.id)||U.push(k);let f=Y3(k,C);f&&!F.has(f.id)&&!D.has(f.id)&&U.push(f)}for(let k of U)Su(k,{frameId:E.id},!1);return u},kI=(u,B)=>{let E=new Map,A=new Map;for(let C of u)if(C.frameId){E.set(C.id,C);let D=A.get(C.frameId)||[];D.push(C);let F=Y3(C,B);F&&(E.set(F.id,F),D.push(F)),A.set(C.frameId,D)}for(let[,C]of E)Su(C,{frameId:null},!1)},Lb0=(u,B)=>{let E=RD(u,B.id);return kI(E,e4(u)),u},Xb0=(u,B,E,A)=>NX(Lb0(u,E),B,E,A.state).slice(),dQ=(u,B,E)=>{let A=E.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,elements:u}),C=new Set(A);if(B.editingGroupId)for(let U of A)U.groupIds.length===0?C.add(U):U.groupIds.flatMap((z)=>W6(u,z)).forEach((z)=>C.add(z));let D=new Set,F=e4(u);return C.forEach((U)=>{U.frameId&&!u3(U)&&!fI(U,F,B)&&D.add(U)}),D.size>0&&kI(D,F),u},Xn=(u,B)=>{let E=new Set,A=B||u;for(let F of A.values()){let U=F.groupIds[F.groupIds.length-1];U&&E.add(U)}let C=new Set;for(let F of E)W6(u,F).some((U)=>u3(U))&&C.add(F);let D=[];for(let F of A.values())C.has(F.groupIds[F.groupIds.length-1])||D.push(F);return D},Ef0=(u,B,E)=>{let A=M4(u)&&b5(u,B)||u;return A.frameId&&E.selectedElementIds[A.id]&&E.selectedElementIds[A.frameId]?pB(A,B):E.selectedElementIds[A.id]&&E.selectedElementsAreBeingDragged?E.frameToHighlight:pB(A,B)},fI=(u,B,E,A)=>{let C=A?.targetFrame??Ef0(u,B,E);if(!C)return!1;let D=M4(u)&&b5(u,B)||u,F=(z)=>{A?.checkedGroups&&D.groupIds.forEach((k)=>{A.checkedGroups?.set(k,z)})};if(!E.selectedElementIds[D.id]||!E.selectedElementsAreBeingDragged||E.selectedElementIds[D.id]&&E.selectedElementIds[C.id])return!0;if(D.groupIds.length===0)return zf(D,C,B);for(let z of D.groupIds)if(A?.checkedGroups?.has(z))return A.checkedGroups.get(z);let U=new Set(D.groupIds.filter((z)=>A?.checkedGroups?!A.checkedGroups.has(z):!0).flatMap((z)=>W6(B,z)));if(E.editingGroupId&&E.selectedElementsAreBeingDragged){let z=new Set(N3(B,E));if(E.frameToHighlight!==null)return!0;z.forEach((k)=>{U.delete(k)})}for(let z of U)if(u3(z))return F(!1),!1;for(let z of U)if(zf(z,C,B))return F(!0),!0;return!1},Oku=(u,B,E,A,C)=>{if(!E.frameRendering||!E.frameRendering.clip)return!1;let D=Hb0(u,B,A)||qb0(u,B,A);if(D){for(let F of u.groupIds)C?.set(F,!0);return!0}if(!D&&u.groupIds.length>0&&!jX([u],B,A)){let F=!1;if(E.selectedElementsAreBeingDragged)F=fI(u,A,E,{targetFrame:B,checkedGroups:C});else{F=u.frameId===B.id;for(let U of u.groupIds)C?.set(U,F)}for(let U of u.groupIds)C?.set(U,F);return F}return!1},vb0=(u)=>u.name===null?Tf0(u)?"Frame":"AI Frame":u.name,vn=(u,B)=>UJu({elements:u,bounds:B,type:"overlap"}).filter((E)=>!E.frameId||E.frameId===B.id),xb0=(u)=>{let B=e4(u);return u.length>1&&u.some((E)=>E.frameId&&B.has(E.frameId))},xn=(u)=>{let B=new Set;return u.forEach((E)=>{u3(E)&&B.add(E.id)}),u.filter((E)=>!(E.frameId&&B.has(E.frameId)))},Wn=(u,B,E,A=!0)=>{let[C,D,F,U]=W3(B,E),z=u.filter((k)=>{let[f,M,b,Z]=wD(k,E),J=pB(k,E);if(J){let[K,w,Q,G]=wD(J,E);f=Math.max(K,f),M=Math.max(w,M),b=Math.min(Q,b),Z=Math.min(G,Z)}return k.locked===!1&&k.type!=="selection"&&!x6(k)&&C<=f&&D<=M&&F>=b&&U>=Z});return z=A?xn(z):z,z=z.filter((k)=>{let f=pB(k,E);return f?zf(k,f,E):!0}),z},bJu=(u,B,E,A)=>{let C=new Set(B.map((D)=>D.id));return u.filter((D)=>{let F=bI(D,E.width,E.height,E,A);return!C.has(D.id)&&F})},K2,ZJu=(u,B,E)=>{let A=Array.from(new Set(N3(u,B).map((C)=>E(C))));return A.length===1?A[0]:null},N3=(u,B,E)=>{let A=new Set,C=[];for(let D of u.values()){if(B.selectedElementIds[D.id]){C.push(D),A.add(D.id);continue}if(E?.includeBoundTextElement&&x6(D)&&B.selectedElementIds[D?.containerId]){C.push(D),A.add(D.id);continue}}if(E?.includeElementsInFrames){let D=[];return C.forEach((F)=>{u3(F)&&RD(u,F.id).forEach((U)=>!A.has(U.id)&&D.push(U)),D.push(F)}),D}return C},Wb0=(u,B)=>B.editingTextElement?[B.editingTextElement]:B.newElement?[B.newElement]:N3(u,B,{includeBoundTextElement:!0}),X1=(u,B)=>y5(B.selectedElementIds,u)?B.selectedElementIds:u,Iku=(u)=>{let B=new Map,E=[];for(let A of u)A.isDeleted||(E.push(A),B.set(A.id,A));return{elementsMap:B,elements:E}},bA3,ZA3=(u)=>{let B=["includeBoundTextElement","includeElementsInFrames"],E="";for(let A of B)E+=`${A}:${u[A]?"1":"0"}`;return E},Pku=(u)=>typeof u=="string",Af0=class u{constructor(){j0(this,"callbacks",new Set),j0(this,"nonDeletedElements",[]),j0(this,"nonDeletedElementsMap",VE(new Map)),j0(this,"elements",[]),j0(this,"nonDeletedFramesLikes",[]),j0(this,"frames",[]),j0(this,"elementsMap",VE(new Map)),j0(this,"selectedElementsCache",{selectedElementIds:null,elements:null,cache:new Map}),j0(this,"sceneNonce"),j0(this,"insertElement",(B)=>{let E=B.frameId?this.getElementIndex(B.frameId):this.elements.length;this.insertElementAtIndex(B,E)}),j0(this,"insertElements",(B)=>{if(!B.length)return;let E=B[0]?.frameId?this.getElementIndex(B[0].frameId):this.elements.length;this.insertElementsAtIndex(B,E)}),j0(this,"getContainerElement",(B)=>B&&B.containerId&&this.getElement(B.containerId)||null),j0(this,"getElementsFromId",(B)=>{let E=this.getNonDeletedElementsMap(),A=E.get(B);return A?[A]:W6(E,B)})}static mapElementToScene(B,E){Pku(B)?this.sceneMapById.set(B,E):(this.sceneMapByElement.set(B,E),this.sceneMapById.set(B.id,E))}static getScene(B){return Pku(B)?this.sceneMapById.get(B)||null:this.sceneMapByElement.get(B)||null}getSceneNonce(){return this.sceneNonce}getNonDeletedElementsMap(){return this.nonDeletedElementsMap}getElementsIncludingDeleted(){return this.elements}getElementsMapIncludingDeleted(){return this.elementsMap}getNonDeletedElements(){return this.nonDeletedElements}getFramesIncludingDeleted(){return this.frames}getSelectedElements(B){let E=ZA3(B),A=B?.elements||this.nonDeletedElements;if(this.selectedElementsCache.elements===A&&this.selectedElementsCache.selectedElementIds===B.selectedElementIds){let D=this.selectedElementsCache.cache.get(E);if(D)return D}else B?.elements==null&&this.selectedElementsCache.cache.clear();let C=N3(A,{selectedElementIds:B.selectedElementIds},B);return B?.elements==null&&(this.selectedElementsCache.selectedElementIds=B.selectedElementIds,this.selectedElementsCache.elements=this.nonDeletedElements,this.selectedElementsCache.cache.set(E,C)),C}getNonDeletedFramesLikes(){return this.nonDeletedFramesLikes}getElement(B){return this.elementsMap.get(B)||null}getNonDeletedElement(B){let E=this.getElement(B);return E&&On(E)?E:null}mapElements(B){let E=!1,A=this.elements.map((C)=>{let D=B(C);return D!==C&&(E=!0),D});return E&&this.replaceAllElements(A),E}replaceAllElements(B){let E=B instanceof Array?B:Array.from(B.values()),A=[];bA3(E),this.elements=_U(E),this.elementsMap.clear(),this.elements.forEach((D)=>{u3(D)&&A.push(D),this.elementsMap.set(D.id,D),u.mapElementToScene(D,this)});let C=Iku(this.elements);this.nonDeletedElements=C.elements,this.nonDeletedElementsMap=C.elementsMap,this.frames=A,this.nonDeletedFramesLikes=Iku(this.frames).elements,this.triggerUpdate()}triggerUpdate(){this.sceneNonce=WD();for(let B of Array.from(this.callbacks))B()}onUpdate(B){if(this.callbacks.has(B))throw Error();return this.callbacks.add(B),()=>{if(!this.callbacks.has(B))throw Error();this.callbacks.delete(B)}}destroy(){this.elements=[],this.nonDeletedElements=[],this.nonDeletedFramesLikes=[],this.frames=[],this.elementsMap.clear(),this.selectedElementsCache.selectedElementIds=null,this.selectedElementsCache.elements=null,this.selectedElementsCache.cache.clear(),u.sceneMapById.forEach((B,E)=>{B===this&&u.sceneMapById.delete(E)}),this.callbacks.clear()}insertElementAtIndex(B,E){if(!Number.isFinite(E)||E<0)throw Error("insertElementAtIndex can only be called with index >= 0");let A=[...this.elements.slice(0,E),B,...this.elements.slice(E)];qD(A,e4([B])),this.replaceAllElements(A)}insertElementsAtIndex(B,E){if(!B.length)return;if(!Number.isFinite(E)||E<0)throw Error("insertElementAtIndex can only be called with index >= 0");let A=[...this.elements.slice(0,E),...B,...this.elements.slice(E)];qD(A,e4(B)),this.replaceAllElements(A)}getElementIndex(B){return this.elements.findIndex((E)=>E.id===B)}},JA3,aU,Su=(u,B,E=!0,A)=>{let C=!1,{points:D,fixedSegments:F,fileId:U,startBinding:z,endBinding:k}=B;if(Q4(u)&&(Object.keys(B).length===0||typeof D<"u"||typeof F<"u"||typeof z<"u"||typeof k<"u")){let f=VE(aU.getScene(u)?.getNonDeletedElementsMap()??new Map);B={...B,angle:0,...Kn({...u,x:B.x||u.x,y:B.y||u.y},f,{fixedSegments:F,points:D,startBinding:z,endBinding:k},{isDragging:A?.isDragging})}}else typeof D<"u"&&(B={...OQ(D),...B});for(let f in B){let M=B[f];if(typeof M<"u"){if(u[f]===M&&(typeof M!="object"||M===null||f==="groupIds"||f==="scale"))continue;if(f==="scale"){let b=u[f],Z=M;if(b[0]===Z[0]&&b[1]===Z[1])continue}else if(f==="points"){let b=u[f],Z=M;if(b.length===Z.length){let J=!1,K=b.length;for(;--K;){let w=b[K],Q=Z[K];if(w[0]!==Q[0]||w[1]!==Q[1]){J=!0;break}}if(!J)continue}}u[f]=M,C=!0}}return C&&((typeof B.height<"u"||typeof B.width<"u"||typeof U<"u"||typeof D<"u")&&s6.delete(u),u.version++,u.versionNonce=WD(),u.updated=qX(),E&&aU.getScene(u)?.triggerUpdate()),u},O3=(u,B,E=!1)=>{let A=!1;for(let C in B){let D=B[C];if(typeof D<"u"){if(u[C]===D&&(typeof D!="object"||D===null))continue;A=!0}}return!A&&!E?u:{...u,...B,updated:qX(),version:u.version+1,versionNonce:WD()}},MI=(u,B)=>(u.version=(B??u.version)+1,u.versionNonce=WD(),u.updated=qX(),u),sQ=(u)=>S3(u)||rA(u)?u.points.length<2:u.width===0&&u.height===0,bI=(u,B,E,A,C)=>{let[D,F,U,z]=wD(u,C),k=q6({clientX:A.offsetLeft,clientY:A.offsetTop},A),f=q6({clientX:A.offsetLeft+B,clientY:A.offsetTop+E},A);return k.x<=U&&k.y<=z&&f.x>=D&&f.y>=F},ZI=(u,B,E,A,C,D)=>{let[F,U,z,k]=I1(u,C),f=q6({clientX:A.offsetLeft+(D?.left||0),clientY:A.offsetTop+(D?.top||0)},A),M=q6({clientX:A.offsetLeft+B-(D?.right||0),clientY:A.offsetTop+E-(D?.bottom||0)},A);return F>=f.x&&U>=f.y&&z<=M.x&&k<=M.y},jku=(u,B,E)=>{let A=Math.abs(B),C=Math.abs(E);if(u==="line"||u==="arrow"||u==="freedraw"){let D=Math.round(Math.atan(C/A)/wZ)*wZ;D===0?E=0:D===Math.PI/2?B=0:E=A*Math.tan(D)*Math.sign(E)||E}else u!=="selection"&&(E=A*Math.sign(E));return{width:B,height:E}},Sn=(u,B,E,A)=>{let C=E-u,D=A-B,F=Math.round(Math.atan(D/C)/wZ)*wZ;if(F===0)D=0;else if(F===Math.PI/2)C=0;else{let U=Math.tan(F),z=-1,k=B-U*u,f=-1/U,M=-1,b=A-f*E,Z=(z*b-M*k)/(U*M-f*z),J=(k*f-b*U)/(U*M-f*z);C=Z-u,D=J-B}return{width:C,height:D}},Sb0=(u)=>{let B={width:u.width,height:u.height,x:u.x,y:u.y};if(u.width<0){let E=Math.abs(u.width);B.width=E,B.x=u.x-E}if(u.height<0){let E=Math.abs(u.height);B.height=E,B.y=u.y-E}return B},Nku,KA3=16,JJu,Vku,gk0,Ef=(u,B,E,A,C,D,F)=>{let[U,z]=lu(t(u+E/2,B+A/2),t(C,D),F);return[U-E/2,z-A/2,E,A]},Yb0=(u)=>!(u.viewport.isMobile||u.isTouchScreen&&(p13||Mf0)),VX=(u)=>Yb0(u)?JJu:{},Yn=([u,B,E,A,C,D],F,U,z,k={},f=4,M=QZ)=>{let b=Nku[z],Z=b/U.value,J=b/U.value,K=b/U.value,w=b/U.value,Q=E-u,G=A-B,H=f/U.value,l=(b-M*2)/(2*U.value),q={nw:k.nw?void 0:Ef(u-H-K+l,B-H-w+l,Z,J,C,D,F),ne:k.ne?void 0:Ef(E+H-l,B-H-w+l,Z,J,C,D,F),sw:k.sw?void 0:Ef(u-H-K+l,A+H-l,Z,J,C,D,F),se:k.se?void 0:Ef(E+H-l,A+H-l,Z,J,C,D,F),rotation:k.rotation?void 0:Ef(u+Q/2-Z/2,B-H-w+l-KA3/U.value,Z,J,C,D,F)},L=5*Nku.mouse/U.value;return Math.abs(Q)>L&&(k.n||(q.n=Ef(u+Q/2-Z/2,B-H-w+l,Z,J,C,D,F)),k.s||(q.s=Ef(u+Q/2-Z/2,A+H-l,Z,J,C,D,F))),Math.abs(G)>L&&(k.w||(q.w=Ef(u-H-K+l,B+G/2-J/2,Z,J,C,D,F)),k.e||(q.e=Ef(E+H-l,B+G/2-J/2,Z,J,C,D,F))),q},Rb0=(u,B,E,A="mouse",C=JJu)=>{if(u.locked||Q4(u))return{};if(u.type==="freedraw"||S3(u)){if(u.points.length===2){let[,F]=u.points;F[0]===0||F[1]===0?C=gk0:F[0]>0&&F[1]<0?C=Vku:F[0]>0&&F[1]>0?C=gk0:F[0]<0&&F[1]>0?C=Vku:F[0]<0&&F[1]<0&&(C=gk0)}}else u3(u)&&(C={...C,rotation:!0});let D=S3(u)?QZ+8:L1(u)?0:QZ;return Yn(W3(u,E,!0),u.angle,B,A,C,D,L1(u)?0:void 0)},Tb0=(u,B)=>{if(B.editingLinearElement)return!1;if(u.length>1)return!0;let E=u[0];return Q4(E)?!1:S3(E)?E.points.length>2:!0},Cf0=(u,B,E)=>B>=u[0]&&B<=u[0]+u[2]&&E>=u[1]&&E<=u[1]+u[3],wA3=(u,B,E,A,C,D,F,U)=>{if(!E.selectedElementIds[u.id])return!1;let{rotation:z,...k}=Rb0(u,D,B,F,VX(U));if(z&&Cf0(z,A,C))return"rotation";let f=Object.keys(k).filter((M)=>{let b=k[M];return b?Cf0(b,A,C):!1});if(f.length>0)return f[0];if(Yb0(U)){let[M,b,Z,J,K,w]=W3(u,B);if(!(S3(u)&&u.points.length<=2)){let Q=L1(u)?0:t_/D.value,G=t_/D.value,H=KJu(t(M-Q,b-Q),t(Z+Q,J+Q),t(K,w),u.angle);for(let[l,q]of Object.entries(H))if(SQ(t(A,C),q,G))return l}}return!1},Ob0=(u,B,E,A,C,D,F,U)=>u.reduce((z,k)=>{if(z)return z;let f=wA3(k,F,B,E,A,C,D,U);return f?{element:k,transformHandleType:f}:null},null),Ib0=([u,B,E,A],C,D,F,U,z)=>{let k=Yn([u,B,E,A,(u+E)/2,(B+A)/2],0,F,U,VX(z)),f=Object.keys(k).find((M)=>{let b=k[M];return b&&Cf0(b,C,D)});if(f)return f;if(Yb0(z)){let M=(u+E)/2,b=(B+A)/2,Z=t_/F.value,J=KJu(t(u-Z,B-Z),t(E+Z,A+Z),t(M,b),0);for(let[K,w]of Object.entries(J))if(SQ(t(C,D),w,Z))return K}return!1},ck0,QA3=(u,B)=>{let E=ck0.indexOf(u);if(E>=0){let A=Math.round(B/(Math.PI/4));u=ck0[(E+A)%ck0.length]}return u},Pb0=(u)=>{let{element:B,transformHandleType:E}=u,A=B&&Math.sign(B.height)*Math.sign(B.width)===-1,C=null;switch(E){case"n":case"s":C="ns";break;case"w":case"e":C="ew";break;case"nw":case"se":A?C="nesw":C="nwse";break;case"ne":case"sw":A?C="nwse":C="nesw";break;case"rotation":return"grab"}return C&&B&&(C=QA3(C,B.angle)),C?`${C}-resize`:""},KJu=([u,B],[E,A],C,D)=>{let F=lu(t(u,B),C,D),U=lu(t(E,B),C,D),z=lu(t(u,A),C,D),k=lu(t(E,A),C,D);return{n:[F,U],e:[U,k],s:[k,z],w:[z,F]}},wJu=(u,B,E,A,C,D,F,U,z,k,f,M)=>{if(E.length===1){let[b]=E;if(B==="rotation")Q4(b)||(GA3(b,A,C,z,k,D),_B(b,A));else{if(M4(b)&&B)return HA3(u,b,A,B,F,z,k),_B(b,A),!0;if(B){let Z=E[0].id,J=A.get(Z),K=u.get(Z);if(J&&K){let{nextWidth:w,nextHeight:Q}=XA3(J,K,A,u,B,z,k,{shouldMaintainAspectRatio:U,shouldResizeFromCenter:F});hX(w,Q,J,K,A,u,B,{shouldMaintainAspectRatio:U,shouldResizeFromCenter:F})}}}return!0}else if(E.length>1){if(B==="rotation")return qA3(u,E,A,C,z,k,D,f,M),!0;if(B){let{nextWidth:b,nextHeight:Z,flipByX:J,flipByY:K,originalBoundingBox:w}=vA3(E,u,A,B,z,k,{shouldMaintainAspectRatio:U,shouldResizeFromCenter:F});return Nb0(E,A,B,C,u,{shouldResizeFromCenter:F,shouldMaintainAspectRatio:U,flipByX:J,flipByY:K,nextWidth:b,nextHeight:Z,originalBoundingBox:w}),!0}}return!1},GA3=(u,B,E,A,C,D)=>{let[F,U,z,k]=W3(u,B),f=(F+z)/2,M=(U+k)/2,b;u3(u)?b=0:(b=5*Math.PI/2+Math.atan2(C-M,A-f),D&&(b=b+wZ/2,b=b-b%wZ),b=up(b));let Z=iU(u);if(Su(u,{angle:b}),Z){let J=E.getElement(Z);J&&!j3(u)&&Su(J,{angle:b})}},Rn=(u,B,E,A)=>S3(u)||rA(u)?{points:zp(0,B,zp(1,E,u.points,A),A)}:{},jb0=(u,B,E)=>{let A=u.width;if(x6(u)){let D=b5(u,B);D&&(A=GD(D,u))}let C=u.fontSize*(E/A);return C<Zf0?null:{size:C}},HA3=(u,B,E,A,C,D,F)=>{let[U,z,k,f,M,b]=W3(B,E),[Z,J]=lu(t(D,F),t(M,b),-B.angle),K=0,w=0;A!=="e"&&A!=="w"&&(A.includes("e")&&(K=(Z-U)/(k-U)),A.includes("w")&&(K=(k-Z)/(k-U)),A.includes("n")&&(w=(f-J)/(f-z)),A.includes("s")&&(w=(J-z)/(f-z)));let Q=Math.max(K,w);if(Q>0){let G=B.width*Q,H=B.height*Q,l=jb0(B,E,G);if(l===null)return;let q=[U,z],L=[k,f],v=[M,b],x=t(U,z);if(["n","w","nw"].includes(A)&&(x=t(L[0]-Math.abs(G),L[1]-Math.abs(H))),A==="ne"){let I=[q[0],L[1]];x=t(I[0],I[1]-Math.abs(H))}if(A==="sw"){let I=[L[0],q[1]];x=t(I[0]-Math.abs(G),I[1])}["s","n"].includes(A)&&(x[0]=v[0]-G/2),["e","w"].includes(A)&&(x[1]=v[1]-H/2),C&&(x[0]=v[0]-Math.abs(G)/2,x[1]=v[1]-Math.abs(H)/2);let S=B.angle,W=lu(x,t(M,b),S),T=t(x[0]+Math.abs(G)/2,x[1]+Math.abs(H)/2),R=lu(T,t(M,b),S);x=lu(W,R,-S);let[Y,h]=x;Su(B,{fontSize:l.size,width:G,height:H,x:Y,y:h})}if(A==="e"||A==="w"){let G=u.get(B.id),[H,l,q,L]=ZZ(G,G.width,G.height,!0),v=t(H,l),x=t(q,L),S=VO(v,x),W=lu(t(D,F),S,-G.angle),[T,,R]=ZZ(B,B.width,B.height,!0),Y=R-T,h=x[0]-v[0],I=Wp(B6({fontSize:B.fontSize,fontFamily:B.fontFamily}),B.lineHeight),O=h/Y;A.includes("e")&&(O=(W[0]-v[0])/Y),A.includes("w")&&(O=(x[0]-W[0])/Y);let V=B.width*O<I?I:B.width*O,j=SZ(B.originalText,B6(B),Math.abs(V)),i=X7(j,B6(B),B.lineHeight),a=i.height,[$,m,y,r]=ZZ(G,V,a,!0),_=y-$,e=r-m,p=[...v];["n","w","nw"].includes(A)&&(p=[x[0]-Math.abs(_),v[1]]);let b0=G.angle,B0=lu(p,S,b0),k0=t(p[0]+Math.abs(_)/2,p[1]+Math.abs(e)/2),f0=lu(k0,S,b0);p=lu(B0,f0,-b0);let D0={width:Math.abs(V),height:Math.abs(i.height),x:p[0],y:p[1],text:j,autoResize:!1};Su(B,D0)}},qA3=(u,B,E,A,C,D,F,U,z)=>{let k=5*Math.PI/2+Math.atan2(D-z,C-U);F&&(k+=wZ/2,k-=k%wZ);for(let f of B)if(!u3(f)){let[M,b,Z,J]=W3(f,E),K=(M+Z)/2,w=(b+J)/2,Q=u.get(f.id)?.angle??f.angle,[G,H]=lu(t(K,w),t(U,z),k+Q-f.angle);Q4(f)?Su(f,{points:r83(f,E)}):Su(f,{x:f.x+(G-K),y:f.y+(H-w),angle:up(k+Q)},!1),_B(f,E,{simultaneouslyUpdated:B});let l=Y3(f,E);l&&!j3(f)&&Su(l,{x:l.x+(G-K),y:l.y+(H-w),angle:up(k+Q)},!1)}A.triggerUpdate()},QJu=(u,B,E,A,C)=>{let[D,F,U,z]=B.length===1?W3(B[0],E):I1(B),k=(D+U)/2,f=(F+z)/2,M=B.length===1?B[0].angle:0;switch([A,C]=lu(t(A,C),t(k,f),-M),u){case"n":return lu(t(A-(D+U)/2,C-F),t(0,0),M);case"s":return lu(t(A-(D+U)/2,C-z),t(0,0),M);case"w":return lu(t(A-D,C-(F+z)/2),t(0,0),M);case"e":return lu(t(A-U,C-(F+z)/2),t(0,0),M);case"nw":return lu(t(A-D,C-F),t(0,0),M);case"ne":return lu(t(A-U,C-F),t(0,0),M);case"sw":return lu(t(A-D,C-z),t(0,0),M);case"se":return lu(t(A-U,C-z),t(0,0),M);default:return[0,0]}},GJu=(u,B)=>{let[,[E,A]]=B.points;return u==="nw"&&(E<0||A<0)||u==="ne"&&E>=0||u==="sw"&&E<=0||u==="se"&&(E>0||A>0)?"end":"origin"},lA3=(u,B,E)=>{if(E)return"center";if(B)switch(u){case"n":return"south-side";case"e":return"west-side";case"s":return"north-side";case"w":return"east-side";case"ne":return"bottom-left";case"nw":return"bottom-right";case"se":return"top-left";case"sw":return"top-right"}return["e","se","s"].includes(u)?"top-left":["n","nw","w"].includes(u)?"bottom-right":u==="ne"?"bottom-left":"top-right"},LA3=(u,B,E,A,C,D,F,U,z)=>{let k=lA3(F,U,z),[f,M]=u;switch(k){case"top-left":return{x:f+(B-A)/2+(A-B)/2*Math.cos(D)+(E-C)/2*Math.sin(D),y:M+(E-C)/2+(A-B)/2*Math.sin(D)+(C-E)/2*Math.cos(D)};case"top-right":return{x:f+(B-A)/2*(Math.cos(D)+1)+(E-C)/2*Math.sin(D),y:M+(E-C)/2+(B-A)/2*Math.sin(D)+(C-E)/2*Math.cos(D)};case"bottom-left":return{x:f+(B-A)/2*(1-Math.cos(D))+(C-E)/2*Math.sin(D),y:M+(E-C)/2*(Math.cos(D)+1)+(A-B)/2*Math.sin(D)};case"bottom-right":return{x:f+(B-A)/2*(Math.cos(D)+1)+(C-E)/2*Math.sin(D),y:M+(E-C)/2*(Math.cos(D)+1)+(B-A)/2*Math.sin(D)};case"center":return{x:f-(A-B)/2,y:M-(C-E)/2};case"east-side":return{x:f+(B-A)/2*(Math.cos(D)+1),y:M+(B-A)/2*Math.sin(D)+(E-C)/2};case"west-side":return{x:f+(B-A)/2*(1-Math.cos(D)),y:M+(A-B)/2*Math.sin(D)+(E-C)/2};case"north-side":return{x:f+(B-A)/2+(E-C)/2*Math.sin(D),y:M+(C-E)/2*(Math.cos(D)-1)};case"south-side":return{x:f+(B-A)/2+(C-E)/2*Math.sin(D),y:M+(E-C)/2*(Math.cos(D)+1)}}},hX=(u,B,E,A,C,D,F,{shouldInformMutation:U=!0,shouldMaintainAspectRatio:z=!1,shouldResizeFromCenter:k=!1}={})=>{let f={},M=Y3(E,C);if(M){let K=D.get(M.id);if(K&&(f={fontSize:K.fontSize}),z){let w={...E,width:u,height:B},Q=jb0(M,C,GD(w,M));if(Q===null)return;f={fontSize:Q.size}}else{let w=Pf0(B6(M),M.lineHeight),Q=Nf0(M.fontSize,M.lineHeight);u=Math.max(u,w),B=Math.max(B,Q)}}let b=Rn(A,u,B,!0),Z=t(A.x,A.y);if(S3(A)){let[K,w]=wD(A,D);Z=t(K,w)}let J=LA3(Z,A.width,A.height,u,B,A.angle,F,z,k);if(S3(A)&&b.points){let K=A.x-Z[0],w=A.y-Z[1];J.x+=K,J.y+=w;let Q=b.points[0][0],G=b.points[0][1];J.x+=Q,J.y+=G,b.points=b.points.map((H)=>t(H[0]-Q,H[1]-G))}if(u<0&&(J.x=J.x+u),B<0&&(J.y=J.y+B),"scale"in E&&"scale"in A&&Su(E,{scale:[(Math.sign(u)||A.scale[0])*A.scale[0],(Math.sign(B)||A.scale[1])*A.scale[1]]}),j3(E)&&M&&z){let K=u/E.width*M.fontSize;if(K<Zf0)return;f.fontSize=K}if(u!==0&&B!==0&&Number.isFinite(J.x)&&Number.isFinite(J.y)){let K={...J,width:Math.abs(u),height:Math.abs(B),...b};Su(E,K,U),_B(E,C,{newSize:{width:u,height:B}}),M&&f!=null&&Su(M,{fontSize:f.fontSize}),TX(E,C,F,z)}},XA3=(u,B,E,A,C,D,F,{shouldMaintainAspectRatio:U=!1,shouldResizeFromCenter:z=!1}={})=>{let[k,f,M,b]=ZZ(B,B.width,B.height,!0),Z=t(k,f),J=t(M,b),K=VO(Z,J),w=lu(t(D,F),K,-B.angle),[Q,G,H,l]=ZZ(u,u.width,u.height,!0),q=H-Q,L=l-G,v=J[0]-Z[0],x=J[1]-Z[1],S=v/q,W=x/L;C.includes("e")&&(S=(w[0]-Z[0])/q),C.includes("s")&&(W=(w[1]-Z[1])/L),C.includes("w")&&(S=(J[0]-w[0])/q),C.includes("n")&&(W=(J[1]-w[1])/L);let T=u.width*S,R=u.height*W;if(z&&(T=2*T-B.width,R=2*R-B.height),U){let Y=Math.abs(T)/B.width,h=Math.abs(R)/B.height;if(C.length===1&&(R*=Y,T*=h),C.length===2){let I=Math.max(Y,h);T=B.width*I*Math.sign(T),R=B.height*I*Math.sign(R)}}return{nextWidth:T,nextHeight:R}},vA3=(u,B,E,A,C,D,{shouldMaintainAspectRatio:F=!1,shouldResizeFromCenter:U=!1}={})=>{let z=u.map((Y)=>B.get(Y.id)),k=z.reduce((Y,h)=>{if(!S3(h))return Y;let I=iU(h);if(!I)return Y;let O=B.get(I)??null;return x6(O)?[...Y,{...O,...Z4.getBoundTextElementPosition(h,O,E)}]:Y},[]),f=pA(z.map((Y)=>Y).concat(k)),{minX:M,minY:b,maxX:Z,maxY:J,midX:K,midY:w}=f,Q=Z-M,G=J-b,H={ne:[M,J],se:[M,b],sw:[Z,b],nw:[Z,J],e:[M,b+G/2],w:[Z,b+G/2],n:[M+Q/2,J],s:[M+Q/2,b]},[l,q]=U?[K,w]:H[A],L=U?2:1,v=Math.max(Math.abs(C-l)/Q||0,Math.abs(D-q)/G||0)*L,x=A.includes("e")||A.includes("w")?Math.abs(C-l)*L:Q,S=A.includes("n")||A.includes("s")?Math.abs(D-q)*L:G;F&&(x=Q*v*Math.sign(C-l),S=G*v*Math.sign(D-q));let W={ne:[C<l,D>q],se:[C<l,D<q],sw:[C>l,D<q],nw:[C>l,D>q],e:[C<l,!1],w:[C>l,!1],n:[!1,D>q],s:[!1,D<q]},[T,R]=W[A].map((Y)=>Y);return{originalBoundingBox:f,nextWidth:x,nextHeight:S,flipByX:T,flipByY:R}},Nb0=(u,B,E,A,C,{shouldMaintainAspectRatio:D=!1,shouldResizeFromCenter:F=!1,flipByX:U=!1,flipByY:z=!1,nextHeight:k,nextWidth:f,originalBoundingBox:M}={})=>{if(f===void 0&&k===void 0&&U===void 0&&z===void 0||k===0||f===0)return;C||(C=B);let b=u.reduce((L,v)=>{let x=C.get(v.id);return x&&L.push({orig:x,latest:v}),L},[]),Z;if(M)Z=M;else{let L=b.reduce((v,{orig:x})=>{if(!S3(x))return v;let S=iU(x);if(!S)return v;let W=C.get(S)??null;return x6(W)?[...v,{...W,...Z4.getBoundTextElementPosition(x,W,B)}]:v},[]);Z=pA(b.map(({orig:v})=>v).concat(L))}let{minX:J,minY:K,maxX:w,maxY:Q,midX:G,midY:H}=Z,l=w-J,q=Q-K;if(f===void 0&&k===void 0&&(f=l,k=q),D&&(f===void 0?f=k*(l/q):k===void 0?k=f*(q/l):Math.abs(f/k-l/q)>0.001&&(f=k*(l/q))),f&&k){let L=E.includes("e")||E.includes("w")?Math.abs(f)/l:1,v=E.includes("n")||E.includes("s")?Math.abs(k)/q:1,x;E.length===1?x=E.includes("e")||E.includes("w")?L:v:x=Math.max(Math.abs(f)/l||0,Math.abs(k)/q||0);let S={ne:[J,Q],se:[J,K],sw:[w,K],nw:[w,Q],e:[J,K+q/2],w:[w,K+q/2],n:[J+l/2,Q],s:[J+l/2,K]},[W,T]=F?[G,H]:S[E],R=D||b.some((V)=>V.latest.angle!==0||M4(V.latest)||pQ(V.latest));R&&(L=x,v=x);let[Y,h]=[U?-1:1,z?-1:1],I=[];for(let{orig:V,latest:j}of b){if(M4(V)&&x6(V))continue;let i=V.width*L,a=V.height*v,$=up(V.angle*Y*h),m=S3(V)||rA(V),y=V.x-W,r=V.y-T,_=U&&!m?i:0,e=z&&!m?a:0,p=W+Y*(y*L+_),b0=T+h*(r*v+e),B0=Rn(V,i*Y,a*h,!1),k0={x:p,y:b0,width:i,height:a,angle:$,...B0};if(Q4(V)&&(V.startBinding&&(k0.startBinding={...V.startBinding,fixedPoint:[U?-V.startBinding.fixedPoint[0]+1:V.startBinding.fixedPoint[0],z?-V.startBinding.fixedPoint[1]+1:V.startBinding.fixedPoint[1]]}),V.endBinding&&(k0.endBinding={...V.endBinding,fixedPoint:[U?-V.endBinding.fixedPoint[0]+1:V.endBinding.fixedPoint[0],z?-V.endBinding.fixedPoint[1]+1:V.endBinding.fixedPoint[1]]}),V.fixedSegments&&B0.points&&(k0.fixedSegments=V.fixedSegments.map((D0)=>({...D0,start:B0.points[D0.index-1],end:B0.points[D0.index]})))),L1(V)&&(k0.scale=[V.scale[0]*Y,V.scale[1]*h]),M4(V)){let D0=jb0(V,B,i);if(!D0)return;k0.fontSize=D0.size}let f0=C.get(iU(V)??"");if(f0)if(R){let D0=f0.fontSize*x;if(D0<Zf0)return;k0.boundTextFontSize=D0}else k0.boundTextFontSize=f0.fontSize;I.push({element:j,update:k0})}let O=I.map(({element:V})=>V);for(let{element:V,update:{boundTextFontSize:j,...i}}of I){let{width:a,height:$,angle:m}=i;Su(V,i,!1,{isDragging:!0}),_B(V,B,{simultaneouslyUpdated:O,newSize:{width:a,height:$}});let y=Y3(V,B);y&&j&&(Su(y,{fontSize:j,angle:S3(V)?void 0:m},!1),TX(V,B,E,!0))}A.triggerUpdate()}},HJu=(u,B,E,A,C,D)=>{if(B.length===1&&Q4(B[0])&&(B[0].startBinding||B[0].endBinding))return;let F=B.filter((M)=>{if(Q4(M)&&M.startBinding&&M.endBinding){let b=B.find((J)=>J.id===M.startBinding?.elementId),Z=B.find((J)=>J.id===M.endBinding?.elementId);return b&&Z}return!0}),U=new Set(F),z=F.filter((M)=>u3(M)).map((M)=>M.id);if(z.length>0)for(let M of A.getNonDeletedElements())M.frameId!==null&&z.includes(M.frameId)&&U.add(M);let k=I1(Array.from(U).map((M)=>u.originalElements.get(M.id)??M)),f=xA3(k,E,C,D);U.forEach((M)=>{if(hku(u,M,f),!j3(M)){let b=Y3(M,A.getNonDeletedElementsMap());b&&hku(u,b,f),_B(M,A.getElementsMapIncludingDeleted(),{simultaneouslyUpdated:Array.from(U)})}})},xA3=(u,B,E,A)=>{let[C,D]=u,F=C+B.x+E.x,U=D+B.y+E.y;if(E.x===0||E.y===0){let[z,k]=J2(C+B.x,D+B.y,A);E.x===0&&(F=z),E.y===0&&(U=k)}return{x:F-C,y:U-D}},hku=(u,B,E)=>{let A=u.originalElements.get(B.id)??B,C=A.x+E.x,D=A.y+E.y;Su(B,{x:C,y:D})},qJu=(u,B,E)=>{let[A,C]=I1(u);return[B-A,E-C]},Vb0=({newElement:u,elementType:B,originX:E,originY:A,x:C,y:D,width:F,height:U,shouldMaintainAspectRatio:z,shouldResizeFromCenter:k,zoom:f,widthAspectRatio:M=null,originOffset:b=null,informMutation:Z=!0})=>{z&&u.type!=="selection"&&(M?U=F/M:(Math.abs(D-A)>Math.abs(C-E)?{width:F,height:U}=jku(B,U,C<E?-F:F):{width:F,height:U}=jku(B,F,D<A?-U:U),U<0&&(U=-U)));let J=C<E?E-F:E,K=D<A?A-U:A;k&&(F+=F,U+=U,J=E-F/2,K=A-U/2);let w=null;if(M4(u)){U=u.height;let Q=Wp(B6({fontSize:u.fontSize,fontFamily:u.fontFamily}),u.lineHeight);F=Math.max(F,Q),Math.abs(C-E)>d13/f&&(w={autoResize:!1}),K=A,k&&(J=E-F/2)}if(F!==0&&U!==0){let Q=null;L1(u)&&(Q={initialWidth:F,initialHeight:U}),Su(u,{x:J+(b?.x??0),y:K+(b?.y??0),width:F,height:U,...w,...Q},Z)}},Tn=(u,B)=>!!(!u.viewModeEnabled&&u.openDialog?.name!=="elementLinkSelector"&&(u.activeTool.type!=="custom"&&(u.editingTextElement||u.activeTool.type!=="selection"&&u.activeTool.type!=="eraser"&&u.activeTool.type!=="hand"&&u.activeTool.type!=="laser")||N3(B,u).length)),lJu=(u)=>{let B=5381;for(let E=0;E<u.length;E++){let A=u.charCodeAt(E);B=(B<<5)+B+A}return B>>>0},WA3=(u)=>u.filter((B)=>!B.isDeleted&&!sQ(B)),f6=(u)=>u.filter((B)=>!B.isDeleted),On=(u)=>!u.isDeleted,LJu=(u)=>f6(u).map((B)=>xp(B.type)?{...B,lastCommittedPoint:null}:B),SA3=(u)=>LJu(u),XJu=(u)=>LJu(u),vJu=async(u)=>{let B;if(u.type===r4.png)try{return await(await Promise.resolve().then(() => (Sk0(),Wk0))).decodePngMetadata(u)}catch(E){throw E.message==="INVALID"?new MZ("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new MZ("Error: cannot restore image")}else if("text"in Blob?B=await u.text():B=await new Promise((E)=>{let A=new FileReader;A.readAsText(u,"utf8"),A.onloadend=()=>{A.readyState===FileReader.DONE&&E(A.result)}}),u.type===r4.svg)try{return SE3({svg:B})}catch(E){throw E.message==="INVALID"?new MZ("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new MZ("Error: cannot restore image")}return B},hb0=(u)=>u&&u.name.match(/\.(json|excalidraw|png|svg)$/)?.[1]||null,xJu=(u)=>u==="png"||u==="svg",In=(u)=>{let B=hb0(u);return B==="png"||B==="svg"},WJu=(u)=>!!u&&Object.values(VQ).includes(u),jZ=(u)=>{let{type:B}=u||{};return WJu(B)},ib0=async(u,B,E,A)=>{let C=await vJu(u),D;try{try{D=JSON.parse(C)}catch(F){throw jZ(u)?new MZ("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):F}if(lE3(D))return{type:r4.excalidraw,data:FI({elements:XJu(D.elements||[]),appState:{theme:B?.theme,fileHandle:A||u.handle||null,...Kfu(D.appState||{}),...B?SX(D.elements||[],B):{}},files:D.files},B,E,{repairBindings:!0,refreshDimensions:!1})};if(aZu(D))return{type:r4.excalidrawlib,data:D};throw Error("Error: invalid file")}catch(F){throw F instanceof MZ?F:Error("Error: invalid file")}},ab0=async(u,B,E,A)=>{let C=await ib0(u,B,E,A);if(C.type!==r4.excalidraw)throw Error("Error: invalid file");return C.data},mb0=(u,B="unpublished")=>{let E=JSON.parse(u);if(!aZu(E))throw Error("Invalid library");let A=E.libraryItems||E.library;return Qn(A,B)},SJu=async(u,B="unpublished")=>mb0(await vJu(u),B),iX=async(u)=>new Promise(async(B,E)=>{try{lX(u)&&(u=await u),u.toBlob((A)=>{if(!A)return E(new d63("Error: Canvas too big","CANVAS_POSSIBLY_TOO_BIG"));B(A)})}catch(A){E(A)}}),YJu=async(u)=>{try{let B=await window.crypto.subtle.digest("SHA-1",await xQ(u));return q63(new Uint8Array(B))}catch(B){return console.error(B),rL(40)}},$b0=async(u)=>new Promise((B,E)=>{let A=new FileReader;A.onload=()=>{let C=A.result;B(C)},A.onerror=(C)=>E(C),A.readAsDataURL(u)}),RJu=(u,B)=>`data:${B};base64,${VJu(Jp(u),!0)}`,TJu=(u,B="")=>{let E=u.indexOf(","),A=atob(u.slice(E+1)),C=u.slice(0,E).split(":")[1].split(";")[0],D=new ArrayBuffer(A.length),F=new Uint8Array(D);for(let U=0;U<A.length;U++)F[U]=A.charCodeAt(U);return new File([D],B,{type:C})},OJu=(u)=>hJu(u.slice(u.indexOf(",")+1)),Pn=async(u,B)=>{if(u.type===r4.svg)return u;let[E,A]=await Promise.all([Promise.resolve().then(() => Eu(xzu(),1)).then((D)=>D.default),Promise.resolve().then(() => (Pzu(),Izu)).then((D)=>D.default)]),C=A({pica:E({features:["js","wasm"]})});if(B.outputType){let{outputType:D}=B;C._create_blob=function(F){return this.pica.toBlob(F.out_canvas,D,0.8).then((U)=>(F.out_blob=U,F))}}if(!jZ(u))throw Error("Error: unsupported file type",{cause:"UNSUPPORTED"});return new File([await C.toBlob(u,{max:B.maxWidthOrHeight,alpha:!0})],u.name,{type:B.outputType||u.type})},yb0=(u,B="")=>new File([new TextEncoder().encode(u)],B,{type:r4.svg}),IJu=async(u,B="")=>{let E;try{E=await fetch(u)}catch{throw Error("Error: failed to fetch image",{cause:"FETCH_ERROR"})}if(!E.ok)throw Error("Error: failed to fetch image",{cause:"FETCH_ERROR"});let A=await E.blob();if(A.type&&jZ(A)){let C=B||A.name||"";return new File([A],C,{type:A.type})}throw Error("Error: unsupported file type",{cause:"UNSUPPORTED"})},PJu=async(u)=>{let B=u.dataTransfer.files.item(0),E=await YA3(u);return{file:B?await jn(B):null,fileHandle:E}},YA3=async(u)=>{if(uf)try{return await u.dataTransfer.items[0].getAsFileSystemHandle()||null}catch(B){return console.warn(B.name,B.message),null}return null},iku=(u)=>{let B=null,E=`${[...new Uint8Array(u).slice(0,8)].join(" ")} `,A={png:"137 80 78 71 13 10 26 10 ",jpg:"255 216 255 ",gif:"71 73 70 56 57 97 "};return E===A.png?B=r4.png:E.startsWith(A.jpg)?B=r4.jpg:E.startsWith(A.gif)&&(B=r4.gif),B},wO=(u,B,E)=>new File([u],E||"",{type:B}),jn=async(u)=>{if(u.type){if(jZ(u)){let B=await xQ(u),E=iku(B);E&&E!==u.type&&(u=wO(B,E,u.name))}}else if(u?.name?.endsWith(".excalidrawlib"))u=wO(await xQ(u),r4.excalidrawlib,u.name);else if(u?.name?.endsWith(".excalidraw"))u=wO(await xQ(u),r4.excalidraw,u.name);else{let B=await xQ(u),E=iku(B);E&&(u=wO(B,E,u.name))}return u},xQ=(u)=>("arrayBuffer"in u)?u.arrayBuffer():new Promise((B,E)=>{let A=new FileReader;A.onload=(C)=>{if(!C.target?.result)return E(Error("Couldn't convert blob to ArrayBuffer"));B(C.target.result)},A.readAsArrayBuffer(u)}),Jp=(u)=>{let B=typeof u=="string"?new TextEncoder().encode(u):u instanceof Uint8Array?u:new Uint8Array(u),E="";for(let A of B)E+=String.fromCharCode(A);return E},jJu=(u)=>{let B=new ArrayBuffer(u.length),E=new Uint8Array(B);for(let A=0,C=u.length;A<C;A++)E[A]=u.charCodeAt(A);return B},NJu=(u)=>new TextDecoder("utf-8").decode(jJu(u)),VJu=(u,B=!1)=>B?window.btoa(u):window.btoa(Jp(u)),hJu=(u,B=!1)=>B?window.atob(u):NJu(window.atob(u)),iJu=({text:u,compress:B})=>{let E;if(B!==!1)try{E=Jp(mFu(u))}catch(A){console.error("encode: cannot deflate",A)}return{version:"1",encoding:"bstring",compressed:!!E,encoded:E||Jp(u)}},aJu=(u)=>{let B;switch(u.encoding){case"bstring":B=u.compressed?u.encoded:NJu(u.encoded);break;default:throw Error(`decode: unknown encoding "${u.encoding}"`)}return u.compressed?$Fu(new Uint8Array(jJu(B)),{to:"string"}):B},Yk0=async(u)=>{let B=Df0.default(new Uint8Array(await xQ(u))).find((E)=>E.name==="tEXt");return B?Ff0.default.decode(B.data):null},Lzu=async({blob:u,metadata:B})=>{let E=Df0.default(new Uint8Array(await xQ(u))),A=Ff0.default.encode(r4.excalidraw,JSON.stringify(iJu({text:B,compress:!0})));return E.splice(-1,0,A),new Blob([aku.default(E)],{type:r4.png})},Xzu=async(u)=>{let B=await Yk0(u);if(B?.keyword===r4.excalidraw)try{let E=JSON.parse(B.text);if(!("encoded"in E)){if("type"in E&&E.type===jE.excalidraw)return B.text;throw Error("FAILED")}return aJu(E)}catch(E){throw console.error(E),Error("FAILED")}throw Error("INVALID")};var Rk0=g(()=>{VL();m4();yFu();EZ();q_();AO();AO();TUu();BO();EZ();Zu();AO();EZ();q_();Kzu();Df0=Eu(bDu(),1),Ff0=Eu(QDu(),1),aku=Eu(lDu(),1),wfu=Eu(gL(),1),Qfu=Eu(dFu(),1),r5=Eu(Hu(),1),xZu=Eu(dUu(),1),kD=[0,2,4,6,8],m3={transparent:"transparent",black:"#1e1e1e",white:"#ffffff",gray:fD("gray",kD),red:fD("red",kD),pink:fD("pink",kD),grape:fD("grape",kD),violet:fD("violet",kD),blue:fD("blue",kD),cyan:fD("cyan",kD),teal:fD("teal",kD),green:fD("green",kD),yellow:fD("yellow",kD),orange:fD("orange",kD),bronze:["#f8f1ee","#eaddd7","#d2bab0","#a18072","#846358"]},$ku=g13(m3,["cyan","blue","violet","grape","pink","green","teal","yellow","orange","red"]),Uf0=[m3.black,m3.red[eL],m3.green[eL],m3.blue[eL],m3.yellow[eL]],zf0=[m3.transparent,m3.red[uX],m3.green[uX],m3.blue[uX],m3.yellow[uX]],kf0=[m3.white,"#f8f9fa","#f5faff","#fffce8","#fdf8f6"],yku={transparent:m3.transparent,white:m3.white,gray:m3.gray,black:m3.black,bronze:m3.bronze,...$ku},rku={transparent:m3.transparent,white:m3.white,gray:m3.gray,black:m3.black,bronze:m3.bronze,...$ku},lD=/Mac|iPod|iPhone|iPad/.test(navigator.platform),ff0=/^Win/.test(navigator.platform),p13=/\b(android)\b/i.test(navigator.userAgent),KX="netscape"in window&&navigator.userAgent.indexOf("rv:")>1&&navigator.userAgent.indexOf("Gecko")>1,n13=navigator.userAgent.indexOf("Chrome")!==-1,cku=!n13&&navigator.userAgent.indexOf("Safari")!==-1,Mf0=/iPad|iPhone/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,Kp=typeof window<"u"&&"ResizeObserver"in window,wZ=Math.PI/12,p1={TEXT:"text",CROSSHAIR:"crosshair",GRABBING:"grabbing",GRAB:"grab",POINTER:"pointer",MOVE:"move",AUTO:""},kf={MAIN:0,WHEEL:1,SECONDARY:2,TOUCH:-1,ERASER:5},jQ={enabled:"all",disabled:"none",inheritFromUI:"var(--ui-pointerEvents)"},RO={UNSTARTED:-1,ENDED:0,PLAYING:1,PAUSED:2,BUFFERING:3,CUED:5},cB={TEST:"test",DEVELOPMENT:"development"},NQ={SHAPE_ACTIONS_MENU:"App-menu__left",ZOOM_ACTIONS:"zoom-actions",SEARCH_MENU_INPUT_WRAPPER:"layer-ui__search-inputWrapper"},d6={Virgil:1,Helvetica:2,Cascadia:3,Excalifont:5,Nunito:6,"Lilita One":7,"Comic Shanns":8,"Liberation Sans":9},EX={[BX]:100,[GO]:1000},p3={LIGHT:"light",DARK:"dark"},V6={strokeColor:"#bbb",strokeWidth:2,strokeStyle:"solid",fillStyle:"solid",roughness:0,roundness:null,backgroundColor:"transparent",radius:8,nameOffsetY:3,nameColorLightTheme:"#999999",nameColorDarkTheme:"#7a7a7a",nameFontSize:14,nameLineHeight:1.25},ff=d6.Excalifont,t_=2*QZ,tku=2*t_-s13,VQ={svg:"image/svg+xml",png:"image/png",jpg:"image/jpeg",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif",jfif:"image/jfif"},r4={text:"text/plain",html:"text/html",json:"application/json",excalidraw:"application/vnd.excalidraw+json",excalidrawlib:"application/vnd.excalidrawlib+json","excalidraw.svg":"image/svg+xml","excalidraw.png":"image/png",binary:"application/octet-stream",...VQ},o13=[r4.text,r4.html,...Object.values(VQ)],wp={png:"png",svg:"svg",clipboard:"clipboard"},jE={excalidraw:"excalidraw",excalidrawClipboard:"excalidraw/clipboard",excalidrawLibrary:"excalidrawlib",excalidrawClipboardWithAPI:"excalidraw-api/clipboard"},Qp=window.EXCALIDRAW_EXPORT_SOURCE||window.location.origin,Jf0={canvasActions:{changeViewBackgroundColor:!0,clearCanvas:!0,export:{saveFileToDisk:!0},loadScene:!0,saveToActiveFile:!0,toggleTheme:null,saveAsImage:!0},tools:{image:!0}},lp=[1,2,3],jO={excalidraw:2,excalidrawLibrary:2},m8={TOP:"top",MIDDLE:"middle",BOTTOM:"bottom"},zX={LEFT:"left",CENTER:"center",RIGHT:"right"},Z2={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},bfu={architect:0,artist:1,cartoonist:2},Lp={thin:1,bold:2,extraBold:4},x9={strokeColor:m3.black,backgroundColor:m3.transparent,fillStyle:"solid",strokeWidth:2,strokeStyle:"solid",roughness:bfu.artist,opacity:100,locked:!1},_A={name:"default",defaultTab:NO},wf0=new Set(["iframe","embeddable","image"]),I2={selection:"selection",rectangle:"rectangle",diamond:"diamond",ellipse:"ellipse",arrow:"arrow",line:"line",freedraw:"freedraw",text:"text",image:"image",eraser:"eraser",hand:"hand",frame:"frame",magicframe:"magicframe",embeddable:"embeddable",laser:"laser"},QX={OAI_API_KEY:"excalidraw-oai-api-key",MERMAID_TO_EXCALIDRAW:"mermaid-to-excalidraw",PUBLISH_LIBRARY:"publish-library-data"},WQ={generalStats:1,elementProperties:2},M5={sharp:"sharp",round:"round",elbow:"elbow"},E63=Symbol.for("__test__originalId__"),Zfu=((u)=>(u.ACTIVE="active",u.AWAY="away",u.IDLE="idle",u))(Zfu||{}),A63=lp.includes(devicePixelRatio)?devicePixelRatio:1,C63=((u)=>u)({showWelcomeScreen:{browser:!0,export:!1,server:!1},theme:{browser:!0,export:!1,server:!1},collaborators:{browser:!1,export:!1,server:!1},currentChartType:{browser:!0,export:!1,server:!1},currentItemBackgroundColor:{browser:!0,export:!1,server:!1},currentItemEndArrowhead:{browser:!0,export:!1,server:!1},currentItemFillStyle:{browser:!0,export:!1,server:!1},currentItemFontFamily:{browser:!0,export:!1,server:!1},currentItemFontSize:{browser:!0,export:!1,server:!1},currentItemRoundness:{browser:!0,export:!1,server:!1},currentItemArrowType:{browser:!0,export:!1,server:!1},currentItemOpacity:{browser:!0,export:!1,server:!1},currentItemRoughness:{browser:!0,export:!1,server:!1},currentItemStartArrowhead:{browser:!0,export:!1,server:!1},currentItemStrokeColor:{browser:!0,export:!1,server:!1},currentItemStrokeStyle:{browser:!0,export:!1,server:!1},currentItemStrokeWidth:{browser:!0,export:!1,server:!1},currentItemTextAlign:{browser:!0,export:!1,server:!1},currentHoveredFontFamily:{browser:!1,export:!1,server:!1},cursorButton:{browser:!0,export:!1,server:!1},activeEmbeddable:{browser:!1,export:!1,server:!1},newElement:{browser:!1,export:!1,server:!1},editingTextElement:{browser:!1,export:!1,server:!1},editingGroupId:{browser:!0,export:!1,server:!1},editingLinearElement:{browser:!1,export:!1,server:!1},activeTool:{browser:!0,export:!1,server:!1},penMode:{browser:!0,export:!1,server:!1},penDetected:{browser:!0,export:!1,server:!1},errorMessage:{browser:!1,export:!1,server:!1},exportBackground:{browser:!0,export:!1,server:!1},exportEmbedScene:{browser:!0,export:!1,server:!1},exportScale:{browser:!0,export:!1,server:!1},exportWithDarkMode:{browser:!0,export:!1,server:!1},fileHandle:{browser:!1,export:!1,server:!1},gridSize:{browser:!0,export:!0,server:!0},gridStep:{browser:!0,export:!0,server:!0},gridModeEnabled:{browser:!0,export:!0,server:!0},height:{browser:!1,export:!1,server:!1},isBindingEnabled:{browser:!1,export:!1,server:!1},defaultSidebarDockedPreference:{browser:!0,export:!1,server:!1},isLoading:{browser:!1,export:!1,server:!1},isResizing:{browser:!1,export:!1,server:!1},isRotating:{browser:!1,export:!1,server:!1},lastPointerDownWith:{browser:!0,export:!1,server:!1},multiElement:{browser:!1,export:!1,server:!1},name:{browser:!0,export:!1,server:!1},offsetLeft:{browser:!1,export:!1,server:!1},offsetTop:{browser:!1,export:!1,server:!1},contextMenu:{browser:!1,export:!1,server:!1},openMenu:{browser:!0,export:!1,server:!1},openPopup:{browser:!1,export:!1,server:!1},openSidebar:{browser:!0,export:!1,server:!1},openDialog:{browser:!1,export:!1,server:!1},pasteDialog:{browser:!1,export:!1,server:!1},previousSelectedElementIds:{browser:!0,export:!1,server:!1},resizingElement:{browser:!1,export:!1,server:!1},scrolledOutside:{browser:!0,export:!1,server:!1},scrollX:{browser:!0,export:!1,server:!1},scrollY:{browser:!0,export:!1,server:!1},selectedElementIds:{browser:!0,export:!1,server:!1},hoveredElementIds:{browser:!1,export:!1,server:!1},selectedGroupIds:{browser:!0,export:!1,server:!1},selectedElementsAreBeingDragged:{browser:!1,export:!1,server:!1},selectionElement:{browser:!1,export:!1,server:!1},shouldCacheIgnoreZoom:{browser:!0,export:!1,server:!1},stats:{browser:!0,export:!1,server:!1},startBoundElement:{browser:!1,export:!1,server:!1},suggestedBindings:{browser:!1,export:!1,server:!1},frameRendering:{browser:!1,export:!1,server:!1},frameToHighlight:{browser:!1,export:!1,server:!1},editingFrame:{browser:!1,export:!1,server:!1},elementsToHighlight:{browser:!1,export:!1,server:!1},toast:{browser:!1,export:!1,server:!1},viewBackgroundColor:{browser:!0,export:!0,server:!0},width:{browser:!1,export:!1,server:!1},zenModeEnabled:{browser:!0,export:!1,server:!1},zoom:{browser:!0,export:!1,server:!1},viewModeEnabled:{browser:!1,export:!1,server:!1},pendingImageElementId:{browser:!1,export:!1,server:!1},showHyperlinkPopup:{browser:!1,export:!1,server:!1},selectedLinearElement:{browser:!0,export:!1,server:!1},snapLines:{browser:!1,export:!1,server:!1},originSnapOffset:{browser:!1,export:!1,server:!1},objectsSnapModeEnabled:{browser:!0,export:!1,server:!1},userToFollow:{browser:!1,export:!1,server:!1},followedBy:{browser:!1,export:!1,server:!1},isCropping:{browser:!1,export:!1,server:!1},croppingElementId:{browser:!1,export:!1,server:!1},searchMatches:{browser:!1,export:!1,server:!1}});H63=new RegExp(`^[^${Q63}]*[${G63}]`);afu="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toLocaleUpperCase(),rO=(()=>{let u={};return{calculate:(B,E)=>{let A=B.charCodeAt(0);if(u[E]||(u[E]=[]),!u[E][A]){let C=RQ(B,E);u[E][A]=C}return u[E][A]},getCache:(B)=>u[B],clearCache:(B)=>{u[B]=[]}}})(),hA={WHITESPACE:/\s/u,HYPHEN:/-/u,OPENING:/<\(\[\{/u,CLOSING:/>\)\]\}.,:;!\?…\//u},Cf={CHAR:/\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}`'^〃〰〆#&*+-ー/\=|¦〒¬ ̄/u,OPENING:/([{〈《⦅「「『【〖〔〘〚<〝/u,CLOSING:/)]}〉》⦆」」』】〗〕〙〛>。.,、〟‥?!:;・〜〞/u,CURRENCY:/¥₩£¢$/u},LQ={FLAG:/\p{RI}\p{RI}/u,JOINER:/(?:\p{Emoji_Modifier}|\uFE0F\u20E3?|[\u{E0020}-\u{E007E}]+\u{E007F})?/u,ZWJ:/\u200D/u,ANY:/[\p{Emoji}]/u,MOST:/[\p{Extended_Pictographic}\p{Emoji_Presentation}]/u},_1={build:(u)=>new RegExp(u,"u"),join:(...u)=>u.map((B)=>B.source).join(""),and:(...u)=>_1.build(_1.join(...u)),or:(...u)=>_1.build(u.map((B)=>B.source).join("|")),group:(...u)=>_1.build(`(${_1.join(...u)})`),class:(...u)=>_1.build(`[${_1.join(...u)}]`)},p9={On:(...u)=>{let B=_1.join(...u);return _1.build(`([${B}])`)},Before:(...u)=>{let B=_1.join(...u),E=()=>_1.build(`(?=[${B}])`);return p9.Chain(E)},After:(...u)=>{let B=_1.join(...u),E=()=>_1.build(`(?<=[${B}])`);return p9.Chain(E)},BeforeMany:(...u)=>{let B=_1.join(...u),E=()=>_1.build(`(?<![${B}])(?=[${B}])`);return p9.Chain(E)},AfterMany:(...u)=>{let B=_1.join(...u),E=()=>_1.build(`(?<=[${B}])(?![${B}])`);return p9.Chain(E)},NotBefore:(...u)=>{let B=_1.join(...u),E=()=>_1.build(`(?![${B}])`);return p9.Chain(E)},NotAfter:(...u)=>{let B=_1.join(...u),E=()=>_1.build(`(?<![${B}])`);return p9.Chain(E)},Chain:(u)=>({Build:u,PreceededBy:(...B)=>{let E=u(),A=p9.After(...B).Build(),C=()=>_1.and(A,E);return p9.Chain(C)},FollowedBy:(...B)=>{let E=u(),A=p9.Before(...B).Build(),C=()=>_1.and(E,A);return p9.Chain(C)},NotPrecededBy:(...B)=>{let E=u(),A=p9.NotAfter(...B).Build(),C=()=>_1.and(A,E);return p9.Chain(C)},NotFollowedBy:(...B)=>{let E=u(),A=p9.NotBefore(...B).Build(),C=()=>_1.and(E,A);return p9.Chain(C)}})};j0(yB,"rg",new IU),j0(yB,"cache",new WeakMap),j0(yB,"get",(u)=>yB.cache.get(u)),j0(yB,"set",(u,B)=>yB.cache.set(u,B)),j0(yB,"delete",(u)=>yB.cache.delete(u)),j0(yB,"destroy",()=>{yB.cache=new WeakMap}),j0(yB,"generateElementShape",(u,B)=>{let E=B?.isExporting?void 0:yB.get(u);if(E!==void 0)return E;sk0.delete(u);let A=z83(u,yB.rg,B||{isExporting:!1,canvasBackgroundColor:m3.white,embedsValidationStatus:null});return yB.cache.set(u,A),A});s6=yB,k4={width:24,height:24,fill:"none",strokeWidth:2,stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},I3={width:20,height:20,fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},zW1=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("rect",{x:3,y:8,width:18,height:4,rx:1}),P("line",{x1:12,y1:8,x2:12,y2:21}),P("path",{d:"M19 12v7a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-7"}),P("path",{d:"M7.5 8a2.5 2.5 0 0 1 0 -5a4.8 8 0 0 1 4.5 5a4.8 8 0 0 1 4.5 -5a2.5 2.5 0 0 1 0 5"})]}),k4),Yp=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M3 19a9 9 0 0 1 9 0a9 9 0 0 1 9 0"}),P("path",{d:"M3 6a9 9 0 0 1 9 0a9 9 0 0 1 9 0"}),P("line",{x1:"3",y1:"6",x2:"3",y2:"19"}),P("line",{x1:"12",y1:"6",x2:"12",y2:"19"}),P("line",{x1:"21",y1:"6",x2:"21",y2:"19"})]}),k4),yfu=ku(M0("svg",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),P("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),k4),rfu=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("circle",{cx:"12",cy:"12",r:"1"}),P("circle",{cx:"12",cy:"19",r:"1"}),P("circle",{cx:"12",cy:"5",r:"1"})]}),k4),gfu=ku(M0("svg",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M9 4v6l-2 4v2h10v-2l-2 -4v-6"}),P("line",{x1:"12",y1:"16",x2:"12",y2:"21"}),P("line",{x1:"8",y1:"4",x2:"16",y2:"4"})]}),k4),gO=ku(M0("g",{children:[P("path",{d:"M13.542 8.542H6.458a2.5 2.5 0 0 0-2.5 2.5v3.75a2.5 2.5 0 0 0 2.5 2.5h7.084a2.5 2.5 0 0 0 2.5-2.5v-3.75a2.5 2.5 0 0 0-2.5-2.5Z",stroke:"currentColor",strokeWidth:"1.25"}),P("path",{d:"M10 13.958a1.042 1.042 0 1 0 0-2.083 1.042 1.042 0 0 0 0 2.083Z",stroke:"currentColor",strokeWidth:"1.25"}),P("mask",{id:"UnlockedIcon",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:6,y:1,width:9,height:9,children:P("path",{stroke:"none",d:"M6.399 9.561V5.175c0-.93.401-1.823 1.116-2.48a3.981 3.981 0 0 1 2.693-1.028c1.01 0 1.98.37 2.694 1.027.715.658 1.116 1.55 1.116 2.481",fill:"#fff"})}),P("g",{mask:"url(#UnlockedIcon)",children:P("path",{stroke:"none",d:"M5.149 9.561v1.25h2.5v-1.25h-2.5Zm5.06-7.894V.417v1.25Zm2.559 3.508v1.25h2.5v-1.25h-2.5ZM7.648 8.51V5.175h-2.5V8.51h2.5Zm0-3.334c0-.564.243-1.128.713-1.561L6.668 1.775c-.959.883-1.52 2.104-1.52 3.4h2.5Zm.713-1.561a2.732 2.732 0 0 1 1.847-.697v-2.5c-1.31 0-2.585.478-3.54 1.358L8.36 3.614Zm1.847-.697c.71 0 1.374.26 1.847.697l1.694-1.839a5.231 5.231 0 0 0-3.54-1.358v2.5Zm1.847.697c.47.433.713.997.713 1.561h2.5c0-1.296-.56-2.517-1.52-3.4l-1.693 1.839Z",fill:"currentColor"})})]}),I3),Rp=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{d:"M13.542 8.542H6.458a2.5 2.5 0 0 0-2.5 2.5v3.75a2.5 2.5 0 0 0 2.5 2.5h7.084a2.5 2.5 0 0 0 2.5-2.5v-3.75a2.5 2.5 0 0 0-2.5-2.5Z"}),P("path",{d:"M10 13.958a1.042 1.042 0 1 0 0-2.083 1.042 1.042 0 0 0 0 2.083Z"}),P("path",{d:"M6.667 8.333V5.417C6.667 3.806 8.159 2.5 10 2.5c1.841 0 3.333 1.306 3.333 2.917v2.916"})]}),I3),cfu=ku(M0(tu,{children:[P("path",{d:"M38.5 83.5c-14-2-17.833-10.473-21-22.5C14.333 48.984 12 22 12 12.5",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"}),P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"m12.005 10.478 7.905 14.423L6 25.75l6.005-15.273Z",fill:"currentColor"}),P("path",{d:"M12.005 10.478c1.92 3.495 3.838 7 7.905 14.423m-7.905-14.423c3.11 5.683 6.23 11.368 7.905 14.423m0 0c-3.68.226-7.35.455-13.91.85m13.91-.85c-5.279.33-10.566.647-13.91.85m0 0c1.936-4.931 3.882-9.86 6.005-15.273M6 25.75c2.069-5.257 4.135-10.505 6.005-15.272",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"})]}),{width:41,height:94,fill:"none"}),_fu=ku(M0(tu,{children:[P("path",{d:"M18.026 1.232c-5.268 13.125-5.548 33.555 3.285 42.311 8.823 8.75 33.31 12.304 42.422 13.523",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"}),P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"m72.181 59.247-13.058-10-2.948 13.62 16.006-3.62Z",fill:"currentColor"}),P("path",{d:"M72.181 59.247c-3.163-2.429-6.337-4.856-13.058-10m13.058 10c-5.145-3.936-10.292-7.882-13.058-10m0 0c-.78 3.603-1.563 7.196-2.948 13.62m2.948-13.62c-1.126 5.168-2.24 10.346-2.948 13.62m0 0c5.168-1.166 10.334-2.343 16.006-3.62m-16.006 3.62c5.51-1.248 11.01-2.495 16.006-3.62",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"})]}),{width:85,height:71,fill:"none"}),pfu=ku(M0(tu,{children:[P("path",{d:"M1 77c14-2 31.833-11.973 35-24 3.167-12.016-6-35-9.5-43.5",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"}),P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"m24.165 1.093-2.132 16.309 13.27-4.258-11.138-12.05Z",fill:"currentColor"}),P("path",{d:"M24.165 1.093c-.522 3.953-1.037 7.916-2.132 16.309m2.131-16.309c-.835 6.424-1.68 12.854-2.13 16.308m0 0c3.51-1.125 7.013-2.243 13.27-4.257m-13.27 4.257c5.038-1.608 10.08-3.232 13.27-4.257m0 0c-3.595-3.892-7.197-7.777-11.14-12.05m11.14 12.05c-3.837-4.148-7.667-8.287-11.14-12.05",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round"})]}),{width:38,height:78,fill:"none"}),kW1=ku(P("g",{fill:"currentColor",children:P("path",{d:"M39.9 32.889a.326.326 0 0 0-.279-.056c-2.094-3.083-4.774-6-7.343-8.833l-.419-.472a.212.212 0 0 0-.056-.139.586.586 0 0 0-.167-.111l-.084-.083-.056-.056c-.084-.167-.28-.278-.475-.167-.782.39-1.507.973-2.206 1.528-.92.722-1.842 1.445-2.708 2.25a8.405 8.405 0 0 0-.977 1.028c-.14.194-.028.361.14.444-.615.611-1.23 1.223-1.843 1.861a.315.315 0 0 0-.084.223c0 .083.056.166.111.194l1.09.833v.028c1.535 1.528 4.244 3.611 7.12 5.861.418.334.865.667 1.284 1 .195.223.39.473.558.695.084.11.28.139.391.055.056.056.14.111.196.167a.398.398 0 0 0 .167.056.255.255 0 0 0 .224-.111.394.394 0 0 0 .055-.167c.029 0 .028.028.056.028a.318.318 0 0 0 .224-.084l5.082-5.528a.309.309 0 0 0 0-.444Zm-14.63-1.917a.485.485 0 0 0 .111.14c.586.5 1.2 1 1.843 1.555l-2.569-1.945-.251-.166c-.056-.028-.112-.084-.168-.111l-.195-.167.056-.056.055-.055.112-.111c.866-.861 2.346-2.306 3.1-3.028-.81.805-2.43 3.167-2.095 3.944Zm8.767 6.89-2.122-1.612a44.713 44.713 0 0 0-2.625-2.5c1.145.861 2.122 1.611 2.262 1.75 1.117.972 1.06.806 1.815 1.445l.921.666a1.06 1.06 0 0 1-.251.25Zm.558.416-.056-.028c.084-.055.168-.111.252-.194l-.196.222ZM1.089 5.75c.055.361.14.722.195 1.056.335 1.833.67 3.5 1.284 4.75l.252.944c.084.361.223.806.363.917 1.424 1.25 3.602 3.11 5.947 4.889a.295.295 0 0 0 .363 0s0 .027.028.027a.254.254 0 0 0 .196.084.318.318 0 0 0 .223-.084c2.988-3.305 5.221-6.027 6.813-8.305.112-.111.14-.278.14-.417.111-.111.195-.25.307-.333.111-.111.111-.306 0-.39l-.028-.027c0-.055-.028-.139-.084-.167-.698-.666-1.2-1.138-1.731-1.638-.922-.862-1.871-1.75-3.881-3.75l-.028-.028c-.028-.028-.056-.056-.112-.056-.558-.194-1.703-.389-3.127-.639C6.087 2.223 3.21 1.723.614.944c0 0-.168 0-.196.028l-.083.084c-.028.027-.056.055-.224.11h.056-.056c.028.167.028.278.084.473 0 .055.112.5.112.555l.782 3.556Zm15.496 3.278-.335-.334c.084.112.196.195.335.334Zm-3.546 4.666-.056.056c0-.028.028-.056.056-.056Zm-2.038-10c.168.167.866.834 1.033.973-.726-.334-2.54-1.167-3.379-1.445.838.167 1.983.334 2.346.472ZM1.424 2.306c.419.722.754 3.222 1.089 5.666-.196-.778-.335-1.555-.503-2.278-.251-1.277-.503-2.416-.838-3.416.056 0 .14 0 .252.028Zm-.168-.584c-.112 0-.223-.028-.307-.028 0-.027 0-.055-.028-.055.14 0 .223.028.335.083Zm-1.089.222c0-.027 0-.027 0 0ZM39.453 1.333c.028-.11-.558-.61-.363-.639.42-.027.42-.666 0-.666-.558.028-1.144.166-1.675.25-.977.194-1.982.389-2.96.61-2.205.473-4.383.973-6.561 1.557-.67.194-1.424.333-2.066.666-.224.111-.196.333-.084.472-.056.028-.084.028-.14.056-.195.028-.363.056-.558.083-.168.028-.252.167-.224.334 0 .027.028.083.028.11-1.173 1.556-2.485 3.195-3.909 4.945-1.396 1.611-2.876 3.306-4.356 5.056-4.719 5.5-10.052 11.75-15.943 17.25a.268.268 0 0 0 0 .389c.028.027.056.055.084.055-.084.084-.168.14-.252.222-.056.056-.084.111-.084.167a.605.605 0 0 0-.111.139c-.112.111-.112.305.028.389.111.11.307.11.39-.028.029-.028.029-.056.056-.056a.44.44 0 0 1 .615 0c.335.362.67.723.977 1.028l-.698-.583c-.112-.111-.307-.083-.39.028-.113.11-.085.305.027.389l7.427 6.194c.056.056.112.056.196.056s.14-.028.195-.084l.168-.166c.028.027.083.027.111.027.084 0 .14-.027.196-.083 10.052-10.055 18.15-17.639 27.42-24.417.083-.055.111-.166.111-.25.112 0 .196-.083.251-.194 1.704-5.194 2.039-9.806 2.15-12.083v-.028c0-.028.028-.056.028-.083.028-.056.028-.084.028-.084a1.626 1.626 0 0 0-.111-1.028ZM21.472 9.5c.446-.5.893-1.028 1.34-1.5-2.876 3.778-7.65 9.583-14.408 16.5 4.607-5.083 9.242-10.333 13.068-15ZM5.193 35.778h.084-.084Zm3.462 3.194c-.027-.028-.027-.028 0-.028v.028Zm4.16-3.583c.224-.25.448-.472.699-.722 0 0 0 .027.028.027-.252.223-.475.445-.726.695Zm1.146-1.111c.14-.14.279-.334.446-.5l.028-.028c1.648-1.694 3.351-3.389 5.082-5.111l.028-.028c.419-.333.921-.694 1.368-1.028a379.003 379.003 0 0 0-6.952 6.695ZM24.794 6.472c-.921 1.195-1.954 2.778-2.82 4.028-2.736 3.944-11.532 13.583-11.727 13.75a1976.983 1976.983 0 0 1-8.042 7.639l-.167.167c-.14-.167-.14-.417.028-.556C14.49 19.861 22.03 10.167 25.074 5.917c-.084.194-.14.36-.28.555Zm4.83 5.695c-1.116-.64-1.646-1.64-1.34-2.611l.084-.334c.028-.083.084-.194.14-.277.307-.5.754-.917 1.257-1.167.027 0 .055 0 .083-.028-.028-.056-.028-.139-.028-.222.028-.167.14-.278.335-.278.335 0 1.369.306 1.76.639.111.083.223.194.335.305.14.167.363.445.474.667.056.028.112.306.196.445.056.222.111.472.084.694-.028.028 0 .194-.028.194a2.668 2.668 0 0 1-.363 1.028c-.028.028-.028.056-.056.084l-.028.027c-.14.223-.335.417-.53.556-.643.444-1.369.583-2.095.389 0 0-.195-.084-.28-.111Zm8.154-.834a39.098 39.098 0 0 1-.893 3.167c0 .028-.028.083 0 .111-.056 0-.084.028-.14.056-2.206 1.61-4.356 3.305-6.506 5.028 1.843-1.64 3.686-3.306 5.613-4.945.558-.5.949-1.139 1.06-1.861l.28-1.667v-.055c.14-.334.67-.195.586.166Z",fill:"currentColor"})}),{width:40,height:40,fill:"none"}),m63=ku(M0("g",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M6 6l4.153 11.793a0.365 .365 0 0 0 .331 .207a0.366 .366 0 0 0 .332 -.207l2.184 -4.793l4.787 -1.994a0.355 .355 0 0 0 .213 -.323a0.355 .355 0 0 0 -.213 -.323l-11.787 -4.36z"}),P("path",{d:"M13.5 13.5l4.5 4.5"})]}),{fill:"none",width:22,height:22,strokeWidth:1.25}),$63=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})]}),k4),y63=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M10.5 20.4l-6.9 -6.9c-.781 -.781 -.781 -2.219 0 -3l6.9 -6.9c.781 -.781 2.219 -.781 3 0l6.9 6.9c.781 .781 .781 2.219 0 3l-6.9 6.9c-.781 .781 -2.219 .781 -3 0z"})]}),k4),r63=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("circle",{cx:"12",cy:"12",r:"9"})]}),k4),g63=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),P("line",{x1:"15",y1:"16",x2:"19",y2:"12"}),P("line",{x1:"15",y1:"8",x2:"19",y2:"12"})]}),k4),c63=ku(P("path",{d:"M4.167 10h11.666",strokeWidth:"1.5"}),I3),nfu=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z"}),P("path",{d:"M16 7h4"}),P("path",{d:"M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3"})]}),k4),kX=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{clipRule:"evenodd",d:"m7.643 15.69 7.774-7.773a2.357 2.357 0 1 0-3.334-3.334L4.31 12.357a3.333 3.333 0 0 0-.977 2.357v1.953h1.953c.884 0 1.732-.352 2.357-.977Z"}),P("path",{d:"m11.25 5.417 3.333 3.333"})]}),I3),hf0=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"20",x2:"7",y2:"20"}),P("line",{x1:"14",y1:"20",x2:"21",y2:"20"}),P("line",{x1:"6.9",y1:"15",x2:"13.8",y2:"15"}),P("line",{x1:"10.2",y1:"6.3",x2:"16",y2:"20"}),P("polyline",{points:"5 20 11 4 13 4 20 20"})]}),k4),_63=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{d:"M12.5 6.667h.01"}),P("path",{d:"M4.91 2.625h10.18a2.284 2.284 0 0 1 2.285 2.284v10.182a2.284 2.284 0 0 1-2.284 2.284H4.909a2.284 2.284 0 0 1-2.284-2.284V4.909a2.284 2.284 0 0 1 2.284-2.284Z"}),P("path",{d:"m3.333 12.5 3.334-3.333c.773-.745 1.726-.745 2.5 0l4.166 4.166"}),P("path",{d:"m11.667 11.667.833-.834c.774-.744 1.726-.744 2.5 0l1.667 1.667"})]}),I3),p63=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M19 20h-10.5l-4.21 -4.3a1 1 0 0 1 0 -1.41l10 -10a1 1 0 0 1 1.41 0l5 5a1 1 0 0 1 0 1.41l-9.2 9.3"}),P("path",{d:"M18 13.3l-6.3 -6.3"})]}),k4),if0=ku(P("path",{strokeWidth:"1.25",d:"M10 4.167v11.666M4.167 10h11.666"}),I3),af0=ku(P("path",{d:"M5 10h10",strokeWidth:"1.25"}),I3),dfu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M21 21l-6 -6"}),P("path",{d:"M3.268 12.043a7.017 7.017 0 0 0 6.634 4.957a7.012 7.012 0 0 0 7.043 -6.131a7 7 0 0 0 -5.314 -7.672a7.021 7.021 0 0 0 -8.241 4.403"}),P("path",{d:"M3 4v4h4"})]}),k4),YZ=ku(P("path",{strokeWidth:"1.25",d:"M3.333 5.833h13.334M8.333 9.167v5M11.667 9.167v5M4.167 5.833l.833 10c0 .92.746 1.667 1.667 1.667h6.666c.92 0 1.667-.746 1.667-1.667l.833-10M7.5 5.833v-2.5c0-.46.373-.833.833-.833h3.334c.46 0 .833.373.833.833v2.5"}),I3),sfu=ku(M0("g",{strokeWidth:"1.25",children:[P("polyline",{points:"12 16 18 10 12 4"}),P("polyline",{points:"8 4 2 10 8 16"})]}),I3),Tp=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{d:"M14.375 6.458H8.958a2.5 2.5 0 0 0-2.5 2.5v5.417a2.5 2.5 0 0 0 2.5 2.5h5.417a2.5 2.5 0 0 0 2.5-2.5V8.958a2.5 2.5 0 0 0-2.5-2.5Z"}),P("path",{clipRule:"evenodd",d:"M11.667 3.125c.517 0 .986.21 1.325.55.34.338.55.807.55 1.325v1.458H8.333c-.485 0-.927.185-1.26.487-.343.312-.57.75-.609 1.24l-.005 5.357H5a1.87 1.87 0 0 1-1.326-.55 1.87 1.87 0 0 1-.549-1.325V5c0-.518.21-.987.55-1.326.338-.34.807-.549 1.325-.549h6.667Z"})]}),I3),Op=ku(P("path",{clipRule:"evenodd",d:"M10 2.5h.328a6.25 6.25 0 0 0 6.6 10.372A7.5 7.5 0 1 1 10 2.493V2.5Z",stroke:"currentColor"}),I3),Ip=ku(P("g",{stroke:"currentColor",strokeLinejoin:"round",children:P("path",{d:"M10 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM10 4.167V2.5M14.167 5.833l1.166-1.166M15.833 10H17.5M14.167 14.167l1.166 1.166M10 15.833V17.5M5.833 14.167l-1.166 1.166M5 10H3.333M5.833 5.833 4.667 4.667"})}),{...I3,strokeWidth:1.5}),mf0=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"6",x2:"20",y2:"6"}),P("line",{x1:"4",y1:"12",x2:"20",y2:"12"}),P("line",{x1:"4",y1:"18",x2:"20",y2:"18"})]}),k4),cO=ku(P("path",{strokeWidth:"1.25",d:"M3.333 14.167v1.666c0 .92.747 1.667 1.667 1.667h10c.92 0 1.667-.746 1.667-1.667v-1.666M5.833 9.167 10 13.333l4.167-4.166M10 3.333v10"}),I3),Pp=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("circle",{cx:"12",cy:"12",r:"9"}),P("line",{x1:"12",y1:"17",x2:"12",y2:"17.01"}),P("path",{d:"M12 13.5a1.5 1.5 0 0 1 1 -1.5a2.6 2.6 0 1 0 -3 -4"})]}),k4),ofu=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("circle",{cx:"12",cy:"12",r:"9"}),P("line",{x1:"12",y1:"17",x2:"12",y2:"17.01"}),P("path",{d:"M12 13.5a1.5 1.5 0 0 1 1 -1.5a2.6 2.6 0 1 0 -3 -4"})]}),k4),$f0=ku(P("path",{strokeWidth:"1.25",d:"M9.167 5.833H5.833c-1.254 0-2.5 1.282-2.5 2.5v5.834c0 1.283 1.252 2.5 2.5 2.5h5.834c1.251 0 2.5-1.25 2.5-2.5v-3.334M8.333 11.667l8.334-8.334M12.5 3.333h4.167V7.5"}),I3),yf0=ku(P("path",{d:"M7.5 15.833c-3.583 1.167-3.583-2.083-5-2.5m10 4.167v-2.917c0-.833.083-1.166-.417-1.666 2.334-.25 4.584-1.167 4.584-5a3.833 3.833 0 0 0-1.084-2.667 3.5 3.5 0 0 0-.083-2.667s-.917-.25-2.917 1.084a10.25 10.25 0 0 0-5.166 0C5.417 2.333 4.5 2.583 4.5 2.583a3.5 3.5 0 0 0-.083 2.667 3.833 3.833 0 0 0-1.084 2.667c0 3.833 2.25 4.75 4.584 5-.5.5-.5 1-.417 1.666V17.5",strokeWidth:"1.25"}),I3),tfu=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{d:"M7.5 10.833a.833.833 0 1 0 0-1.666.833.833 0 0 0 0 1.666ZM12.5 10.833a.833.833 0 1 0 0-1.666.833.833 0 0 0 0 1.666ZM6.25 6.25c2.917-.833 4.583-.833 7.5 0M5.833 13.75c2.917.833 5.417.833 8.334 0"}),P("path",{d:"M12.917 14.167c0 .833 1.25 2.5 1.666 2.5 1.25 0 2.361-1.39 2.917-2.5.556-1.39.417-4.861-1.25-9.584-1.214-.846-2.5-1.116-3.75-1.25l-.833 2.084M7.083 14.167c0 .833-1.13 2.5-1.526 2.5-1.191 0-2.249-1.39-2.778-2.5-.529-1.39-.397-4.861 1.19-9.584 1.157-.846 2.318-1.116 3.531-1.25l.833 2.084"})]}),I3),efu=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4 4l11.733 16h4.267l-11.733 -16z"}),P("path",{d:"M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772"})]}),k4),uMu=ku(P("polyline",{fill:"none",stroke:"currentColor",points:"20 6 9 17 4 12"}),{width:24,height:24}),jp=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{d:"M8.333 11.667a2.917 2.917 0 0 0 4.167 0l3.333-3.334a2.946 2.946 0 1 0-4.166-4.166l-.417.416"}),P("path",{d:"M11.667 8.333a2.917 2.917 0 0 0-4.167 0l-3.333 3.334a2.946 2.946 0 0 0 4.166 4.166l.417-.416"})]}),I3),BMu=ku("M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z",{width:448,height:512}),EMu=ku("M252 54L203 8a28 27 0 00-20-8H28C12 0 0 12 0 27v195c0 15 12 26 28 26h204c15 0 28-11 28-26V73a28 27 0 00-8-19zM130 213c-21 0-37-16-37-36 0-19 16-35 37-35 20 0 37 16 37 35 0 20-17 36-37 36zm56-169v56c0 4-4 6-7 6H44c-4 0-7-2-7-6V42c0-4 3-7 7-7h133l4 2 3 2a7 7 0 012 5z M296 201l87 95-188 205-78 9c-10 1-19-8-18-20l9-84zm141-14l-41-44a31 31 0 00-46 0l-38 41 87 95 38-42c13-14 13-36 0-50z",{width:448,height:512}),Np=ku(P("path",{d:"m9.257 6.351.183.183H15.819c.34 0 .727.182 1.051.506.323.323.505.708.505 1.05v5.819c0 .316-.183.7-.52 1.035-.337.338-.723.522-1.037.522H4.182c-.352 0-.74-.181-1.058-.5-.318-.318-.499-.705-.499-1.057V5.182c0-.351.181-.736.5-1.054.32-.321.71-.503 1.057-.503H6.53l2.726 2.726Z",strokeWidth:"1.25"}),I3),fW1=ku("M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z",{width:384,height:512}),AMu=ku("M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"),Vp=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M5 16l1.465 1.638a2 2 0 1 1 -3.015 .099l1.55 -1.737z"}),P("path",{d:"M13.737 9.737c2.299 -2.3 3.23 -5.095 2.081 -6.245c-1.15 -1.15 -3.945 -.217 -6.244 2.082c-2.3 2.299 -3.231 5.095 -2.082 6.244c1.15 1.15 3.946 .218 6.245 -2.081z"}),P("path",{d:"M7.492 11.818c.362 .362 .768 .676 1.208 .934l6.895 4.047c1.078 .557 2.255 -.075 3.692 -1.512c1.437 -1.437 2.07 -2.614 1.512 -3.692c-.372 -.718 -1.72 -3.017 -4.047 -6.895a6.015 6.015 0 0 0 -.934 -1.208"})]}),k4),rf0=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M15 8h.01"}),P("path",{d:"M12 20h-5a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v5"}),P("path",{d:"M4 15l4 -4c.928 -.893 2.072 -.893 3 0l4 4"}),P("path",{d:"M14 14l1 -1c.617 -.593 1.328 -.793 2.009 -.598"}),P("path",{d:"M19 16v6"}),P("path",{d:"M22 19l-3 3l-3 -3"})]}),k4),CMu=ku("M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z",{width:512,height:512}),MW1=ku("M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z",{width:448,height:512}),bW1=ku("M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z",{width:448,height:512}),DMu=ku("M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"),ZW1=ku("M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"),gf0=ku(P("path",{d:"M7.5 10.833 4.167 7.5 7.5 4.167M4.167 7.5h9.166a3.333 3.333 0 0 1 0 6.667H12.5",strokeWidth:"1.25"}),I3),cf0=ku(P("path",{d:"M12.5 10.833 15.833 7.5 12.5 4.167M15.833 7.5H6.667a3.333 3.333 0 1 0 0 6.667H7.5",strokeWidth:"1.25"}),I3),FMu=ku("M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z",{mirror:!0}),UMu=ku(P("path",{d:"M5 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM15 7.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM15 17.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM7.25 8.917l5.5-2.834M7.25 11.083l5.5 2.834",strokeWidth:"1.5"}),I3),JW1=ku("M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"),KW1=ku("M16 5l-1.42 1.42-1.59-1.59V16h-1.98V4.83L9.42 6.42 8 5l4-4 4 4zm4 5v11c0 1.1-.9 2-2 2H6c-1.11 0-2-.9-2-2V10c0-1.11.89-2 2-2h3v2H6v11h12V10h-3V8h3c1.1 0 2 .89 2 2z",{width:24,height:24}),wW1=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M8 9h-1a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-8a2 2 0 0 0 -2 -2h-1"}),P("path",{d:"M12 14v-11"}),P("path",{d:"M9 6l3 -3l3 3"})]}),k4),QW1=ku(M0(tu,{children:[P("path",{fill:"currentColor",d:"M40 5.6v6.1l-4.1.7c-8.9 1.4-16.5 6.9-20.6 15C13 32 10.9 43 12.4 43c.4 0 2.4-1.3 4.4-3 5-3.9 12.1-7 18.2-7.7l5-.6v12.8l11.2-11.3L62.5 22 51.2 10.8 40-.5v6.1zm10.2 22.6L44 34.5v-6.8l-6.9.6c-3.9.3-9.8 1.7-13.2 3.1-3.5 1.4-6.5 2.4-6.7 2.2-.9-1 3-7.5 6.4-10.8C28 18.6 34.4 16 40.1 16c3.7 0 3.9-.1 3.9-3.2V9.5l6.2 6.3 6.3 6.2-6.3 6.2z"}),P("path",{stroke:"currentColor",fill:"currentColor",d:"M0 36v20h48v-6.2c0-6 0-6.1-2-4.3-1.1 1-2 2.9-2 4.2V52H4V34c0-17.3-.1-18-2-18s-2 .7-2 20z"})]}),{width:64,height:64}),GW1=ku(P("path",{stroke:"currentColor",strokeWidth:"40",fill:"currentColor",d:"M148 560a318 318 0 0 0 522 110 316 316 0 0 0 0-450 316 316 0 0 0-450 0c-11 11-21 22-30 34v4h47c25 0 46 21 46 46s-21 45-46 45H90c-13 0-25-6-33-14-9-9-14-20-14-33V156c0-25 20-45 45-45s45 20 45 45v32l1 1a401 401 0 0 1 623 509l212 212a42 42 0 0 1-59 59L698 757A401 401 0 0 1 65 570a42 42 0 0 1 83-10z"}),{width:1024}),zMu=M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M12 10l0 10"}),P("path",{d:"M12 10l4 4"}),P("path",{d:"M12 10l-4 4"}),P("path",{d:"M4 4l16 0"})]}),kMu=M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M12 5l0 14"}),P("path",{d:"M16 9l-4 -4"}),P("path",{d:"M8 9l4 -4"})]}),_f0=ku(kMu,k4),pf0=ku(kMu,{...k4,style:{transform:"rotate(180deg)"}}),nf0=ku(zMu,k4),df0=ku(zMu,{...k4,style:{transform:"rotate(180deg)"}}),sf0=ku(M0(tu,{children:[M0("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M3.333 3.333h13.334",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M13.542 6.458h-.417c-.92 0-1.667.747-1.667 1.667v7.083c0 .92.746 1.667 1.667 1.667h.417c.92 0 1.666-.746 1.666-1.667V8.125c0-.92-.746-1.667-1.666-1.667ZM6.875 6.458h-.417c-.92 0-1.666.747-1.666 1.667v3.75c0 .92.746 1.667 1.666 1.667h.417c.92 0 1.667-.746 1.667-1.667v-3.75c0-.92-.747-1.667-1.667-1.667Z"})]}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),of0=ku(M0(tu,{children:[M0("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M3.333 16.667h13.334",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M6.875 3.125h-.417c-.92 0-1.666.746-1.666 1.667v7.083c0 .92.746 1.667 1.666 1.667h.417c.92 0 1.667-.746 1.667-1.667V4.792c0-.92-.747-1.667-1.667-1.667ZM13.542 5.817h-.417c-.92 0-1.667.747-1.667 1.667v4.391c0 .92.746 1.667 1.667 1.667h.417c.92 0 1.666-.746 1.666-1.667V7.484c0-.92-.746-1.667-1.666-1.667Z"})]}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),tf0=ku(M0(tu,{children:[M0("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M3.333 3.333v13.334",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M15.208 4.792H8.125c-.92 0-1.667.746-1.667 1.666v.417c0 .92.747 1.667 1.667 1.667h7.083c.92 0 1.667-.747 1.667-1.667v-.417c0-.92-.746-1.666-1.667-1.666ZM12.516 11.458H8.125c-.92 0-1.667.746-1.667 1.667v.417c0 .92.747 1.666 1.667 1.666h4.391c.92 0 1.667-.746 1.667-1.666v-.417c0-.92-.746-1.667-1.667-1.667Z"})]}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),ef0=ku(M0(tu,{children:[M0("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M16.667 3.333v13.334",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M11.875 4.792H4.792c-.92 0-1.667.746-1.667 1.666v.417c0 .92.746 1.667 1.667 1.667h7.083c.92 0 1.667-.747 1.667-1.667v-.417c0-.92-.746-1.666-1.667-1.666ZM11.683 11.458H7.292c-.92 0-1.667.746-1.667 1.667v.417c0 .92.746 1.666 1.667 1.666h4.39c.921 0 1.667-.746 1.667-1.666v-.417c0-.92-.746-1.667-1.666-1.667Z"})]}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),fMu=ku(M0(tu,{children:[M0("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M16.667 3.333v13.334M3.333 3.333v13.334",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M14.375 10.208v-.416c0-.92-.746-1.667-1.667-1.667H7.292c-.92 0-1.667.746-1.667 1.667v.416c0 .92.746 1.667 1.667 1.667h5.416c.92 0 1.667-.746 1.667-1.667Z"})]}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),MMu=ku(M0(tu,{children:[M0("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M3.333 3.333h13.334M3.333 16.667h13.334",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M10.208 5.625h-.416c-.92 0-1.667.746-1.667 1.667v5.416c0 .92.746 1.667 1.667 1.667h.416c.92 0 1.667-.746 1.667-1.667V7.292c0-.92-.746-1.667-1.667-1.667Z"})]}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),uM0=ku(M0("g",{stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M1.667 10h2.916",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M8.333 10h3.334",strokeLinejoin:"round"}),P("path",{d:"M15.417 10h2.916",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M6.875 4.792h-.417c-.92 0-1.666.746-1.666 1.666v7.084c0 .92.746 1.666 1.666 1.666h.417c.92 0 1.667-.746 1.667-1.666V6.458c0-.92-.747-1.666-1.667-1.666ZM13.542 6.458h-.417c-.92 0-1.667.747-1.667 1.667v3.75c0 .92.746 1.667 1.667 1.667h.417c.92 0 1.666-.746 1.666-1.667v-3.75c0-.92-.746-1.667-1.666-1.667Z"})]}),I3),BM0=ku(M0("g",{stroke:"currentColor",strokeWidth:"1.25",children:[P("path",{d:"M10 18.333v-2.916",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M10 11.667V8.333",strokeLinejoin:"round"}),P("path",{d:"M10 4.583V1.667",strokeLinecap:"round",strokeLinejoin:"round"}),P("path",{d:"M4.792 13.125v.417c0 .92.746 1.666 1.666 1.666h7.084c.92 0 1.666-.746 1.666-1.666v-.417c0-.92-.746-1.667-1.666-1.667H6.458c-.92 0-1.666.746-1.666 1.667ZM6.458 6.458v.417c0 .92.747 1.667 1.667 1.667h3.75c.92 0 1.667-.747 1.667-1.667v-.417c0-.92-.746-1.666-1.667-1.666h-3.75c-.92 0-1.667.746-1.667 1.666Z"})]}),I3),EM0=ku(M0("g",{strokeWidth:"1.5",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("circle",{cx:"9",cy:"7",r:"4"}),P("path",{d:"M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"}),P("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"}),P("path",{d:"M21 21v-2a4 4 0 0 0 -3 -3.85"})]}),k4),HW1=ku("M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"),qW1=ku("M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z"),gQ=ku(M0(tu,{children:[P("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round",children:P("path",{d:"M15 5 5 15M5 5l10 10"})}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),lW1=ku("M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z",{mirror:!0}),LW1=ku("M11.553 22.894a.998.998 0 00.894 0s3.037-1.516 5.465-4.097C19.616 16.987 21 14.663 21 12V5a1 1 0 00-.649-.936l-8-3a.998.998 0 00-.702 0l-8 3A1 1 0 003 5v7c0 2.663 1.384 4.987 3.088 6.797 2.428 2.581 5.465 4.097 5.465 4.097zm-1.303-8.481l6.644-6.644a.856.856 0 111.212 1.212l-7.25 7.25a.856.856 0 01-1.212 0l-3.75-3.75a.856.856 0 111.212-1.212l3.144 3.144z",{width:24}),XW1=ku("M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z",{width:384,height:512}),AM0=r5.default.memo(({theme:u})=>ku(M0(tu,{children:[P("path",{d:"M25 26H111V111H25",fill:ZD(u)}),P("path",{d:"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z",stroke:ZD(u),strokeWidth:"2"}),P("path",{d:"M100 100H160V160H100",fill:ZD(u)}),P("path",{d:"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z",stroke:ZD(u),strokeWidth:"2"}),M0("g",{fill:$fu(u),stroke:ZD(u),strokeWidth:"6",children:[P("rect",{x:"2.5",y:"2.5",width:"30",height:"30"}),P("rect",{x:"2.5",y:"149.5",width:"30",height:"30"}),P("rect",{x:"147.5",y:"149.5",width:"30",height:"30"}),P("rect",{x:"147.5",y:"2.5",width:"30",height:"30"})]})]}),{width:182,height:182,mirror:!0})),CM0=r5.default.memo(({theme:u})=>ku(M0(tu,{children:[P("path",{d:"M25 26H111V111H25",fill:ZD(u)}),P("path",{d:"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z",stroke:ZD(u),strokeWidth:"2"}),P("path",{d:"M100 100H160V160H100",fill:ZD(u)}),P("path",{d:"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z",stroke:ZD(u),strokeWidth:"2"}),M0("g",{fill:$fu(u),stroke:ZD(u),strokeWidth:"6",children:[P("rect",{x:"2.5",y:"2.5",width:"30",height:"30"}),P("rect",{x:"78.5",y:"149.5",width:"30",height:"30"}),P("rect",{x:"147.5",y:"149.5",width:"30",height:"30"}),P("rect",{x:"147.5",y:"78.5",width:"30",height:"30"}),P("rect",{x:"105.5",y:"2.5",width:"30",height:"30"}),P("rect",{x:"2.5",y:"102.5",width:"30",height:"30"})]})]}),{width:182,height:182,mirror:!0})),bMu=ku(P("g",{strokeWidth:1.25,children:P("path",{d:"M5.879 2.625h8.242a3.27 3.27 0 0 1 3.254 3.254v8.242a3.27 3.27 0 0 1-3.254 3.254H5.88a3.27 3.27 0 0 1-3.254-3.254V5.88A3.27 3.27 0 0 1 5.88 2.626l-.001-.001ZM4.518 16.118l7.608-12.83m.198 13.934 5.051-9.897M2.778 9.675l9.348-6.387m-7.608 12.83 12.857-8.793"})}),I3),ZMu=ku(M0(tu,{children:[P("path",{d:"M5.879 2.625h8.242a3.254 3.254 0 0 1 3.254 3.254v8.242a3.254 3.254 0 0 1-3.254 3.254H5.88a3.254 3.254 0 0 1-3.254-3.254V5.88a3.254 3.254 0 0 1 3.254-3.254Z",stroke:"currentColor",strokeWidth:"1.25"}),P("mask",{id:"FillHachureIcon",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:2,y:2,width:16,height:16,children:P("path",{d:"M5.879 2.625h8.242a3.254 3.254 0 0 1 3.254 3.254v8.242a3.254 3.254 0 0 1-3.254 3.254H5.88a3.254 3.254 0 0 1-3.254-3.254V5.88a3.254 3.254 0 0 1 3.254-3.254Z",fill:"currentColor",stroke:"currentColor",strokeWidth:"1.25"})}),P("g",{mask:"url(#FillHachureIcon)",children:P("path",{d:"M2.258 15.156 15.156 2.258M7.324 20.222 20.222 7.325m-20.444 5.35L12.675-.222m-8.157 18.34L17.416 5.22",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})]}),I3),JMu=ku(M0(tu,{children:[M0("g",{clipPath:"url(#a)",children:[P("path",{d:"M5.879 2.625h8.242a3.254 3.254 0 0 1 3.254 3.254v8.242a3.254 3.254 0 0 1-3.254 3.254H5.88a3.254 3.254 0 0 1-3.254-3.254V5.88a3.254 3.254 0 0 1 3.254-3.254Z",stroke:"currentColor",strokeWidth:"1.25"}),P("mask",{id:"FillCrossHatchIcon",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:-1,y:-1,width:22,height:22,children:P("path",{d:"M2.426 15.044 15.044 2.426M7.383 20 20 7.383M0 12.617 12.617 0m-7.98 17.941L17.256 5.324m-2.211 12.25L2.426 4.956M20 12.617 7.383 0m5.234 20L0 7.383m17.941 7.98L5.324 2.745",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})}),P("g",{mask:"url(#FillCrossHatchIcon)",children:P("path",{d:"M14.121 2H5.88A3.879 3.879 0 0 0 2 5.879v8.242A3.879 3.879 0 0 0 5.879 18h8.242A3.879 3.879 0 0 0 18 14.121V5.88A3.879 3.879 0 0 0 14.121 2Z",fill:"currentColor"})})]}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),KMu=ku(M0(tu,{children:[P("g",{clipPath:"url(#a)",children:P("path",{d:"M4.91 2.625h10.18a2.284 2.284 0 0 1 2.285 2.284v10.182a2.284 2.284 0 0 1-2.284 2.284H4.909a2.284 2.284 0 0 1-2.284-2.284V4.909a2.284 2.284 0 0 1 2.284-2.284Z",stroke:"currentColor",strokeWidth:"1.25"})}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),{...I3,fill:"currentColor"}),DM0=ku(P(tu,{children:P("path",{d:"M4.167 10h11.666",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})}),I3),wMu=ku(P("path",{d:"M5 10h10",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"}),I3),QMu=ku(P("path",{d:"M5 10h10",stroke:"currentColor",strokeWidth:"3.75",strokeLinecap:"round",strokeLinejoin:"round"}),I3),vW1=r5.default.memo(({theme:u})=>ku(P("path",{d:"M6 10H34",stroke:ZD(u),strokeWidth:2,fill:"none",strokeLinecap:"round"}),{width:40,height:20})),GMu=ku(M0("g",{strokeWidth:"2",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M5 12h2"}),P("path",{d:"M17 12h2"}),P("path",{d:"M11 12h2"})]}),k4),HMu=ku(M0("g",{strokeWidth:"2",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4 12v.01"}),P("path",{d:"M8 12v.01"}),P("path",{d:"M12 12v.01"}),P("path",{d:"M16 12v.01"}),P("path",{d:"M20 12v.01"})]}),k4),qMu=ku(P("path",{d:"M2.5 12.038c1.655-.885 5.9-3.292 8.568-4.354 2.668-1.063.101 2.821 1.32 3.104 1.218.283 5.112-1.814 5.112-1.814",strokeWidth:"1.25"}),I3),lMu=ku(P("path",{d:"M2.5 12.563c1.655-.886 5.9-3.293 8.568-4.355 2.668-1.062.101 2.822 1.32 3.105 1.218.283 5.112-1.814 5.112-1.814m-13.469 2.23c2.963-1.586 6.13-5.62 7.468-4.998 1.338.623-1.153 4.11-.132 5.595 1.02 1.487 6.133-1.43 6.133-1.43",strokeWidth:"1.25"}),I3),LMu=ku(P("path",{d:"M2.5 11.936c1.737-.879 8.627-5.346 10.42-5.268 1.795.078-.418 5.138.345 5.736.763.598 3.53-1.789 4.235-2.147M2.929 9.788c1.164-.519 5.47-3.28 6.987-3.114 1.519.165 1 3.827 2.121 4.109 1.122.281 3.839-2.016 4.606-2.42",strokeWidth:"1.25"}),I3),XMu=ku(M0("svg",{strokeWidth:"1.5",children:[P("path",{d:"M3.33334 9.99998V6.66665C3.33334 6.04326 3.33403 4.9332 3.33539 3.33646C4.95233 3.33436 6.06276 3.33331 6.66668 3.33331H10"}),P("path",{d:"M13.3333 3.33331V3.34331"}),P("path",{d:"M16.6667 3.33331V3.34331"}),P("path",{d:"M16.6667 6.66669V6.67669"}),P("path",{d:"M16.6667 10V10.01"}),P("path",{d:"M3.33334 13.3333V13.3433"}),P("path",{d:"M16.6667 13.3333V13.3433"}),P("path",{d:"M3.33334 16.6667V16.6767"}),P("path",{d:"M6.66666 16.6667V16.6767"}),P("path",{d:"M10 16.6667V16.6767"}),P("path",{d:"M13.3333 16.6667V16.6767"}),P("path",{d:"M16.6667 16.6667V16.6767"})]}),I3),vMu=ku(M0("g",{strokeWidth:"1.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4 12v-4a4 4 0 0 1 4 -4h4"}),P("line",{x1:"16",y1:"4",x2:"16",y2:"4.01"}),P("line",{x1:"20",y1:"4",x2:"20",y2:"4.01"}),P("line",{x1:"20",y1:"8",x2:"20",y2:"8.01"}),P("line",{x1:"20",y1:"12",x2:"20",y2:"12.01"}),P("line",{x1:"4",y1:"16",x2:"4",y2:"16.01"}),P("line",{x1:"20",y1:"16",x2:"20",y2:"16.01"}),P("line",{x1:"4",y1:"20",x2:"4",y2:"20.01"}),P("line",{x1:"8",y1:"20",x2:"8",y2:"20.01"}),P("line",{x1:"12",y1:"20",x2:"12",y2:"20.01"}),P("line",{x1:"16",y1:"20",x2:"16",y2:"20.01"}),P("line",{x1:"20",y1:"20",x2:"20",y2:"20.01"})]}),k4),xMu=ku(M0("g",{stroke:"currentColor",opacity:0.3,strokeWidth:2,children:[P("path",{d:"M12 12l9 0"}),P("path",{d:"M3 9l6 6"}),P("path",{d:"M3 15l6 -6"})]}),k4),WMu=r5.default.memo(({flip:u=!1})=>ku(M0("g",{transform:u?"translate(40, 0) scale(-1, 1)":"",stroke:"currentColor",strokeWidth:2,fill:"none",children:[P("path",{d:"M34 10H6M34 10L27 5M34 10L27 15"}),P("path",{d:"M27.5 5L34.5 10L27.5 15"})]}),{width:40,height:20})),SMu=r5.default.memo(({flip:u=!1})=>ku(M0("g",{stroke:"currentColor",fill:"currentColor",transform:u?"translate(40, 0) scale(-1, 1)":"",children:[P("path",{d:"M32 10L6 10",strokeWidth:2}),P("circle",{r:"4",transform:"matrix(-1 0 0 1 30 10)"})]}),{width:40,height:20})),YMu=r5.default.memo(({flip:u=!1})=>ku(M0("g",{stroke:"currentColor",fill:"none",transform:u?"translate(40, 0) scale(-1, 1)":"",strokeWidth:2,children:[P("path",{d:"M26 10L6 10"}),P("circle",{r:"4",transform:"matrix(-1 0 0 1 30 10)"})]}),{width:40,height:20})),RMu=r5.default.memo(({flip:u=!1})=>ku(P("g",{transform:u?"translate(40, 0) scale(-1, 1)":"",children:P("path",{d:"M34 10H5.99996M34 10L34 5M34 10L34 15",stroke:"currentColor",strokeWidth:2,fill:"none"})}),{width:40,height:20})),TMu=r5.default.memo(({flip:u=!1})=>ku(M0("g",{stroke:"currentColor",fill:"currentColor",transform:u?"translate(40, 0) scale(-1, 1)":"",children:[P("path",{d:"M32 10L6 10",strokeWidth:2}),P("path",{d:"M27.5 5.5L34.5 10L27.5 14.5L27.5 5.5"})]}),{width:40,height:20})),OMu=r5.default.memo(({flip:u=!1})=>ku(M0("g",{stroke:"currentColor",fill:"none",transform:u?"translate(40, 0) scale(-1, 1)":"",strokeWidth:2,strokeLinejoin:"round",children:[P("path",{d:"M6,9.5H27"}),P("path",{d:"M27,5L34,10L27,14Z",fill:"none"})]}),{width:40,height:20})),IMu=r5.default.memo(({flip:u=!1})=>ku(M0("g",{stroke:"currentColor",fill:"currentColor",transform:u?"translate(40, 0) scale(-1, 1)":"",strokeLinejoin:"round",strokeWidth:2,children:[P("path",{d:"M6,9.5H20"}),P("path",{d:"M27,5L34,10L27,14L20,9.5Z"})]}),{width:40,height:20})),PMu=r5.default.memo(({flip:u=!1})=>ku(M0("g",{stroke:"currentColor",fill:"none",transform:u?"translate(40, 0) scale(-1, 1)":"",strokeLinejoin:"round",strokeWidth:2,children:[P("path",{d:"M6,9.5H20"}),P("path",{d:"M27,5L34,10L27,14L20,9.5Z"})]}),{width:40,height:20})),jMu=r5.default.memo(({flip:u=!1})=>ku(P("g",{stroke:"currentColor",fill:"none",transform:u?"":"translate(40, 0) scale(-1, 1)",strokeLinejoin:"round",strokeWidth:2,children:P("path",{d:"M34,10 H6 M15,10 L7,5 M15,10 L7,15"})}),{width:40,height:20})),NMu=r5.default.memo(({flip:u=!1})=>ku(P("g",{stroke:"currentColor",fill:"none",transform:u?"":"translate(40, 0) scale(-1, 1)",strokeLinejoin:"round",strokeWidth:2,children:P("path",{d:"M34,10 H6 M15,10 L15,15 L15,5"})}),{width:40,height:20})),VMu=r5.default.memo(({flip:u=!1})=>ku(P("g",{stroke:"currentColor",fill:"none",transform:u?"":"translate(40, 0) scale(-1, 1)",strokeLinejoin:"round",strokeWidth:2,children:P("path",{d:"M34,10 H6 M15,10 L15,16 L15,4 M15,10 L7,5 M15,10 L7,15"})}),{width:40,height:20})),hMu=ku(M0(tu,{children:[P("g",{clipPath:"url(#a)",children:P("path",{d:"M14.167 6.667a3.333 3.333 0 0 0-3.334-3.334H9.167a3.333 3.333 0 0 0 0 6.667h1.666a3.333 3.333 0 0 1 0 6.667H9.167a3.333 3.333 0 0 1-3.334-3.334",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),iMu=ku(M0(tu,{children:[P("g",{clipPath:"url(#a)",children:P("path",{d:"M5 16.667V3.333L10 15l5-11.667v13.334",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),aMu=ku(M0(tu,{children:[P("g",{clipPath:"url(#a)",children:P("path",{d:"M5.833 3.333v13.334h8.334",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),mMu=ku(P(tu,{children:P("path",{d:"m1.667 3.333 6.666 13.334M8.333 3.333 1.667 16.667M11.667 3.333v13.334h6.666",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})}),I3),_O=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M3 7v-2h13v2"}),P("path",{d:"M10 5v14"}),P("path",{d:"M12 19h-4"}),P("path",{d:"M15 13v-1h6v1"}),P("path",{d:"M18 12v7"}),P("path",{d:"M17 19h2"})]}),k4),n63=ku(P(tu,{children:M0("g",{stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M7 12h10"}),P("path",{d:"M7 5v14"}),P("path",{d:"M17 5v14"}),P("path",{d:"M15 19h4"}),P("path",{d:"M15 5h4"}),P("path",{d:"M5 19h4"}),P("path",{d:"M5 5h4"})]})}),k4),LO=ku(P(tu,{children:P("g",{stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round",children:P("path",{d:"M5.833 16.667v-10a3.333 3.333 0 0 1 3.334-3.334h1.666a3.333 3.333 0 0 1 3.334 3.334v10M5.833 10.833h8.334"})})}),I3),Fp=ku(M0(tu,{children:[P("g",{clipPath:"url(#a)",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round",children:P("path",{d:"M5.833 6.667 2.5 10l3.333 3.333M14.167 6.667 17.5 10l-3.333 3.333M11.667 3.333 8.333 16.667"})}),P("defs",{children:P("clipPath",{id:"a",children:P("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]}),I3),$Mu=ku(M0("g",{stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"8",x2:"20",y2:"8"}),P("line",{x1:"4",y1:"12",x2:"12",y2:"12"}),P("line",{x1:"4",y1:"16",x2:"16",y2:"16"})]}),k4),yMu=ku(M0("g",{stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"8",x2:"20",y2:"8"}),P("line",{x1:"8",y1:"12",x2:"16",y2:"12"}),P("line",{x1:"6",y1:"16",x2:"18",y2:"16"})]}),k4),rMu=ku(M0("g",{stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"8",x2:"20",y2:"8"}),P("line",{x1:"10",y1:"12",x2:"20",y2:"12"}),P("line",{x1:"8",y1:"16",x2:"20",y2:"16"})]}),k4),gMu=r5.default.memo(({theme:u})=>ku(M0("g",{strokeWidth:"1.5",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"4",x2:"20",y2:"4"}),P("rect",{x:"9",y:"8",width:"6",height:"12",rx:"2"})]}),k4)),cMu=r5.default.memo(({theme:u})=>ku(M0("g",{strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"20",x2:"20",y2:"20"}),P("rect",{x:"9",y:"4",width:"6",height:"12",rx:"2"})]}),k4)),_Mu=r5.default.memo(({theme:u})=>ku(M0("g",{strokeWidth:"1.5",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("line",{x1:"4",y1:"12",x2:"9",y2:"12"}),P("line",{x1:"15",y1:"12",x2:"20",y2:"12"}),P("rect",{x:"9",y:"6",width:"6",height:"12",rx:"2"})]}),k4)),FM0=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M21 19h-18l9 -15"}),P("path",{d:"M20.615 15.171h.015"}),P("path",{d:"M19.515 11.771h.015"}),P("path",{d:"M17.715 8.671h.015"}),P("path",{d:"M15.415 5.971h.015"})]}),k4),pMu=ku(P("path",{d:"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z",fill:"currentColor"}),{width:640,height:512}),xW1=ku(P("path",{d:"M480 416C497.7 416 512 430.3 512 448C512 465.7 497.7 480 480 480H150.6C133.7 480 117.4 473.3 105.4 461.3L25.37 381.3C.3786 356.3 .3786 315.7 25.37 290.7L258.7 57.37C283.7 32.38 324.3 32.38 349.3 57.37L486.6 194.7C511.6 219.7 511.6 260.3 486.6 285.3L355.9 416H480zM265.4 416L332.7 348.7L195.3 211.3L70.63 336L150.6 416L265.4 416z"})),UM0=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M8 13v-7.5a1.5 1.5 0 0 1 3 0v6.5"}),P("path",{d:"M11 5.5v-2a1.5 1.5 0 1 1 3 0v8.5"}),P("path",{d:"M14 5.5a1.5 1.5 0 0 1 3 0v6.5"}),P("path",{d:"M17 7.5a1.5 1.5 0 0 1 3 0v8.5a6 6 0 0 1 -6 6h-2h.208a6 6 0 0 1 -5.012 -2.7a69.74 69.74 0 0 1 -.196 -.3c-.312 -.479 -1.407 -2.388 -3.286 -5.728a1.5 1.5 0 0 1 .536 -2.022a1.867 1.867 0 0 1 2.28 .28l1.47 1.47"})]}),k4),zM0=ku(M0(tu,{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"}),P("path",{d:"M7 11l5 5l5 -5"}),P("path",{d:"M12 4l0 12"})]}),k4),hp=ku(M0(tu,{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z"}),P("path",{d:"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"})]}),k4),nMu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M7 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"}),P("path",{d:"M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"}),P("path",{d:"M9.15 14.85l8.85 -10.85"}),P("path",{d:"M6 4l8.85 10.85"})]}),k4),dMu=ku(M0(tu,{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"}),P("path",{d:"M12 17l0 .01"}),P("path",{d:"M12 13.5a1.5 1.5 0 0 1 1 -1.5a2.6 2.6 0 1 0 -3 -4"})]}),k4),WW1=ku(M0(tu,{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M7 4v16l13 -8z"})]}),k4),SW1=ku(M0(tu,{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M17 4h-10a3 3 0 0 0 -3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3 -3v-10a3 3 0 0 0 -3 -3z",strokeWidth:"0",fill:"currentColor"})]}),k4),sMu=ku(M0(tu,{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M5 12l5 5l10 -10"})]}),k4),oMu=ku(M0(tu,{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M10.24 3.957l-8.422 14.06a1.989 1.989 0 0 0 1.7 2.983h16.845a1.989 1.989 0 0 0 1.7 -2.983l-8.423 -14.06a1.989 1.989 0 0 0 -3.4 0z"}),P("path",{d:"M12 9v4"}),P("path",{d:"M12 17h.01"})]}),k4),tMu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M11 7l6 6"}),P("path",{d:"M4 16l11.7 -11.7a1 1 0 0 1 1.4 0l2.6 2.6a1 1 0 0 1 0 1.4l-11.7 11.7h-4v-4z"})]}),k4),eMu=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M12 3l-4 7h8z"}),P("path",{d:"M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"}),P("path",{d:"M4 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"})]}),k4),kM0=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4 7l16 0"}),P("path",{d:"M4 17l16 0"}),P("path",{d:"M7 4l0 16"}),P("path",{d:"M17 4l0 16"})]}),k4),fM0=ku(P("path",{fill:"currentColor",d:"M407.48,111.18C335.587,108.103 269.573,152.338 245.08,220C220.587,152.338 154.573,108.103 82.68,111.18C80.285,168.229 107.577,222.632 154.74,254.82C178.908,271.419 193.35,298.951 193.27,328.27L193.27,379.13L296.9,379.13L296.9,328.27C296.816,298.953 311.255,271.42 335.42,254.82C382.596,222.644 409.892,168.233 407.48,111.18Z"})),pO=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{d:"M4.16602 10H15.8327"}),P("path",{d:"M12.5 13.3333L15.8333 10"}),P("path",{d:"M12.5 6.66666L15.8333 9.99999"})]}),I3),MM0=ku(M0("g",{fill:"none",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round",transform:"rotate(90 10 10)",children:[P("path",{clipRule:"evenodd",d:"m9.644 13.69 7.774-7.773a2.357 2.357 0 0 0-3.334-3.334l-7.773 7.774L8 12l1.643 1.69Z"}),P("path",{d:"m13.25 3.417 3.333 3.333M10 10l2-2M5 15l3-3M2.156 17.894l1-1M5.453 19.029l-.144-1.407M2.377 11.887l.866 1.118M8.354 17.273l-1.194-.758M.953 14.652l1.408.13"})]}),20),bM0=ku(M0("g",{stroke:"currentColor",fill:"none",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z"}),P("path",{d:"M6 21l15 -15l-3 -3l-15 15l3 3"}),P("path",{d:"M15 6l3 3"}),P("path",{d:"M9 3a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"}),P("path",{d:"M19 13a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"})]}),k4),YW1=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z"}),P("path",{d:"M6 21l15 -15l-3 -3l-15 15l3 3"}),P("path",{d:"M15 6l3 3"}),P("path",{d:"M9 3a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"}),P("path",{d:"M19 13a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"})]}),k4),RW1=ku(M0("g",{stroke:"currentColor",fill:"none",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M11.217 19.384a3.501 3.501 0 0 0 6.783 -1.217v-5.167l-6 -3.35"}),P("path",{d:"M5.214 15.014a3.501 3.501 0 0 0 4.446 5.266l4.34 -2.534v-6.946"}),P("path",{d:"M6 7.63c-1.391 -.236 -2.787 .395 -3.534 1.689a3.474 3.474 0 0 0 1.271 4.745l4.263 2.514l6 -3.348"}),P("path",{d:"M12.783 4.616a3.501 3.501 0 0 0 -6.783 1.217v5.067l6 3.45"}),P("path",{d:"M18.786 8.986a3.501 3.501 0 0 0 -4.446 -5.266l-4.34 2.534v6.946"}),P("path",{d:"M18 16.302c1.391 .236 2.787 -.395 3.534 -1.689a3.474 3.474 0 0 0 -1.271 -4.745l-4.308 -2.514l-5.955 3.42"})]}),k4),ubu=ku(M0("g",{stroke:"currentColor",fill:"none",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4 8v-2a2 2 0 0 1 2 -2h2"}),P("path",{d:"M4 16v2a2 2 0 0 0 2 2h2"}),P("path",{d:"M16 4h2a2 2 0 0 1 2 2v2"}),P("path",{d:"M16 20h2a2 2 0 0 0 2 -2v-2"})]}),k4),ip=ku(M0("g",{stroke:"currentColor",fill:"none",strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"}),P("path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6"})]}),k4),Bbu=ku(M0("g",{stroke:"currentColor",fill:"none",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828"}),P("path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87"}),P("path",{d:"M3 3l18 18"})]}),k4),Ebu=ku(M0("g",{stroke:"currentColor",fill:"none",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M15.5 13a3.5 3.5 0 0 0 -3.5 3.5v1a3.5 3.5 0 0 0 7 0v-1.8"}),P("path",{d:"M8.5 13a3.5 3.5 0 0 1 3.5 3.5v1a3.5 3.5 0 0 1 -7 0v-1.8"}),P("path",{d:"M17.5 16a3.5 3.5 0 0 0 0 -7h-.5"}),P("path",{d:"M19 9.3v-2.8a3.5 3.5 0 0 0 -7 0"}),P("path",{d:"M6.5 16a3.5 3.5 0 0 1 0 -7h.5"}),P("path",{d:"M5 9.3v-2.8a3.5 3.5 0 0 1 7 0v10"})]}),k4),Abu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M15.5 13a3.5 3.5 0 0 0 -3.5 3.5v1a3.5 3.5 0 0 0 7 0v-1.8"}),P("path",{d:"M8.5 13a3.5 3.5 0 0 1 3.5 3.5v1a3.5 3.5 0 0 1 -7 0v-1.8"}),P("path",{d:"M17.5 16a3.5 3.5 0 0 0 0 -7h-.5"}),P("path",{d:"M19 9.3v-2.8a3.5 3.5 0 0 0 -7 0"}),P("path",{d:"M6.5 16a3.5 3.5 0 0 1 0 -7h.5"}),P("path",{d:"M5 9.3v-2.8a3.5 3.5 0 0 1 7 0v10"})]}),k4),RZ=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"}),P("path",{d:"M21 21l-6 -6"})]}),k4),Cbu=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M20.984 12.53a9 9 0 1 0 -7.552 8.355"}),P("path",{d:"M12 7v5l3 3"}),P("path",{d:"M19 16l-2 3h4l-2 3"})]}),k4),Dbu=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M9 2m0 3a3 3 0 0 1 3 -3h0a3 3 0 0 1 3 3v5a3 3 0 0 1 -3 3h0a3 3 0 0 1 -3 -3z"}),P("path",{d:"M5 10a7 7 0 0 0 14 0"}),P("path",{d:"M8 21l8 0"}),P("path",{d:"M12 17l0 4"})]}),k4),Fbu=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M3 3l18 18"}),P("path",{d:"M9 5a3 3 0 0 1 6 0v5a3 3 0 0 1 -.13 .874m-2 2a3 3 0 0 1 -3.87 -2.872v-1"}),P("path",{d:"M5 10a7 7 0 0 0 10.846 5.85m2 -2a6.967 6.967 0 0 0 1.152 -3.85"}),P("path",{d:"M8 21l8 0"}),P("path",{d:"M12 17l0 4"})]}),k4),ZM0=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11"})]}),k4),Ubu=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M8 8m0 1a1 1 0 0 1 1 -1h6a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-6a1 1 0 0 1 -1 -1z"}),P("path",{d:"M12 20v.01"}),P("path",{d:"M16 20v.01"}),P("path",{d:"M8 20v.01"}),P("path",{d:"M4 20v.01"}),P("path",{d:"M4 16v.01"}),P("path",{d:"M4 12v.01"}),P("path",{d:"M4 8v.01"}),P("path",{d:"M4 4v.01"}),P("path",{d:"M8 4v.01"}),P("path",{d:"M12 4v.01"}),P("path",{d:"M16 4v.01"}),P("path",{d:"M20 4v.01"}),P("path",{d:"M20 8v.01"}),P("path",{d:"M20 12v.01"}),P("path",{d:"M20 16v.01"}),P("path",{d:"M20 20v.01"})]}),k4),zbu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M5 3v18"}),P("path",{d:"M19 21v-18"}),P("path",{d:"M5 7h14"}),P("path",{d:"M5 15h14"}),P("path",{d:"M8 13v4"}),P("path",{d:"M11 13v4"}),P("path",{d:"M16 13v4"}),P("path",{d:"M14 5v4"}),P("path",{d:"M11 5v4"}),P("path",{d:"M8 5v4"}),P("path",{d:"M3 21h18"})]}),k4),kbu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M3 12l18 0"}),P("path",{d:"M7 16l10 0l-10 5l0 -5"}),P("path",{d:"M7 8l10 0l-10 -5l0 5"})]}),k4),fbu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M12 3l0 18"}),P("path",{d:"M16 7l0 10l5 0l-5 -10"}),P("path",{d:"M8 7l0 10l-5 0l5 -10"})]}),k4),JM0=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M5 3m0 2a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z"}),P("path",{d:"M19 6h1a2 2 0 0 1 2 2a5 5 0 0 1 -5 5l-5 0v2"}),P("path",{d:"M10 15m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z"})]}),k4),ap=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M15 15m-5 0a5 5 0 1 0 10 0a5 5 0 1 0 -10 0"}),P("path",{d:"M22 22l-3 -3"}),P("path",{d:"M6 18h-1a2 2 0 0 1 -2 -2v-1"}),P("path",{d:"M3 11v-1"}),P("path",{d:"M3 6v-1a2 2 0 0 1 2 -2h1"}),P("path",{d:"M10 3h1"}),P("path",{d:"M15 3h1a2 2 0 0 1 2 2v1"})]}),k4),Mbu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M14 3v4a1 1 0 0 0 1 1h4"}),P("path",{d:"M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"}),P("path",{d:"M4 20.25c0 .414 .336 .75 .75 .75h1.25a1 1 0 0 0 1 -1v-1a1 1 0 0 0 -1 -1h-1a1 1 0 0 1 -1 -1v-1a1 1 0 0 1 1 -1h1.25a.75 .75 0 0 1 .75 .75"}),P("path",{d:"M10 15l2 6l2 -6"}),P("path",{d:"M20 15h-1a2 2 0 0 0 -2 2v2a2 2 0 0 0 2 2h1v-3"})]}),k4),bbu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M14 3v4a1 1 0 0 0 1 1h4"}),P("path",{d:"M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"}),P("path",{d:"M20 15h-1a2 2 0 0 0 -2 2v2a2 2 0 0 0 2 2h1v-3"}),P("path",{d:"M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"}),P("path",{d:"M11 21v-6l3 6v-6"})]}),k4),Zbu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4 13v-8a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v8a2 2 0 0 0 6 0v-8a2 2 0 0 1 2 -2h1a2 2 0 0 1 2 2v8a8 8 0 0 1 -16 0"}),P("path",{d:"M4 8l5 0"}),P("path",{d:"M15 8l4 0"})]}),k4),Jbu=ku(M0("g",{strokeWidth:1.25,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M3 14c.83 .642 2.077 1.017 3.5 1c1.423 .017 2.67 -.358 3.5 -1c.83 -.642 2.077 -1.017 3.5 -1c1.423 -.017 2.67 .358 3.5 1"}),P("path",{d:"M8 3a2.4 2.4 0 0 0 -1 2a2.4 2.4 0 0 0 1 2"}),P("path",{d:"M12 3a2.4 2.4 0 0 0 -1 2a2.4 2.4 0 0 0 1 2"}),P("path",{d:"M3 10h14v5a6 6 0 0 1 -6 6h-2a6 6 0 0 1 -6 -6v-5z"}),P("path",{d:"M16.746 16.726a3 3 0 1 0 .252 -5.555"})]}),k4),Kbu=ku(M0("g",{stroke:"currentColor",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M3 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-16a1 1 0 0 1-1-1v-10zM7 20h10M9 16v4M15 16v4"})]}),{...k4,strokeWidth:1.5}),TW1=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M15 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2"}),P("path",{d:"M21 12h-13l3 -3"}),P("path",{d:"M11 15l-3 -3"})]}),k4),wbu=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z"}),P("path",{d:"M10 9l5 3l-5 3z"})]}),k4),Qbu=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M3 6h18"}),P("path",{d:"M3 12h18"}),P("path",{d:"M3 18h18"}),P("path",{d:"M6 3v18"}),P("path",{d:"M12 3v18"}),P("path",{d:"M18 3v18"})]}),k4),Gbu=ku(M0("g",{strokeWidth:1.5,children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M17 3m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z"}),P("path",{d:"M3 17m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z"}),P("path",{d:"M17 5c-6.627 0 -12 5.373 -12 12"})]}),k4),Hbu=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M6 18l12 -12"}),P("path",{d:"M18 10v-4h-4"})]}),k4),qbu=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M4,19L10,19C11.097,19 12,18.097 12,17L12,9C12,7.903 12.903,7 14,7L21,7"}),P("path",{d:"M18 4l3 3l-3 3"})]}),k4),lbu=ku(M0("g",{children:[P("path",{d:"M16,12L20,9L16,6"}),P("path",{d:"M6 20c0 -6.075 4.925 -11 11 -11h3"})]}),k4),KM0=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M6 9l6 6l6 -6"})]}),k4),Lbu=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M6 15l6 -6l6 6"})]}),k4),Xbu=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M6 15l6 -6l6 6"})]}),k4),wM0=ku(M0("g",{strokeWidth:"1.25",children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M8 5v10a1 1 0 0 0 1 1h10"}),P("path",{d:"M5 8h10a1 1 0 0 1 1 1v10"})]}),k4),QM0=ku(M0("g",{children:[P("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),P("path",{d:"M5 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"}),P("path",{d:"M19 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"}),P("path",{d:"M5 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"}),P("path",{d:"M19 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"}),P("path",{d:"M5 7l0 10"}),P("path",{d:"M7 5l10 0"}),P("path",{d:"M7 19l10 0"}),P("path",{d:"M19 7l0 10"})]}),k4),Up={[d6.Excalifont]:{metrics:{unitsPerEm:1000,ascender:886,descender:-374,lineHeight:1.25},icon:kX},[d6.Nunito]:{metrics:{unitsPerEm:1000,ascender:1011,descender:-353,lineHeight:1.35},icon:LO},[d6["Lilita One"]]:{metrics:{unitsPerEm:1000,ascender:923,descender:-220,lineHeight:1.15},icon:n63},[d6["Comic Shanns"]]:{metrics:{unitsPerEm:1000,ascender:750,descender:-250,lineHeight:1.25},icon:Fp},[d6.Virgil]:{metrics:{unitsPerEm:1000,ascender:886,descender:-374,lineHeight:1.25},icon:kX,deprecated:!0},[d6.Helvetica]:{metrics:{unitsPerEm:2048,ascender:1577,descender:-471,lineHeight:1.15},icon:LO,deprecated:!0,local:!0},[d6.Cascadia]:{metrics:{unitsPerEm:2048,ascender:1900,descender:-480,lineHeight:1.2},icon:Fp,deprecated:!0},[d6["Liberation Sans"]]:{metrics:{unitsPerEm:2048,ascender:1854,descender:-434,lineHeight:1.15},serverSide:!0},[EX.Xiaolai]:{metrics:{unitsPerEm:1000,ascender:880,descender:-144,lineHeight:1.15},fallback:!0},[EX["Segoe UI Emoji"]]:{metrics:{unitsPerEm:1000,ascender:886,descender:-374,lineHeight:1.25},local:!0,fallback:!0}},XQ={LATIN:"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD",LATIN_EXT:"U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF",CYRILIC_EXT:"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F",CYRILIC:"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116",VIETNAMESE:"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB"},d63=class extends Error{constructor(u="Couldn't export canvas.",B="CANVAS_ERROR"){super(),this.name=B,this.message=u}},nO=class extends DOMException{constructor(u="Request Aborted"){super(u,"AbortError")}},MZ=class extends Error{constructor(u="Image Scene Data Error",B="IMAGE_SCENE_DATA_ERROR"){super(u);j0(this,"code"),this.name="EncodingError",this.code=B}},s63=class extends Error{constructor(){super(...arguments);j0(this,"code","ELEMENT_HAS_INVALID_INDEX")}},vbu=class extends Error{constructor(u="Worker URL is not defined!",B="WORKER_URL_NOT_DEFINED"){super(u);j0(this,"code"),this.name="WorkerUrlNotDefinedError",this.code=B}},xbu=class extends Error{constructor(u="Worker has to be in a separate chunk!",B="WORKER_IN_THE_MAIN_CHUNK"){super(u);j0(this,"code"),this.name="WorkerInTheMainChunkError",this.code=B}},yzu=class extends Error{constructor(u){super(u),this.name="ExcalidrawError"}},rzu=typeof Worker<"u";j0(Wbu,"ASSETS_FALLBACK_URL",`https://esm.sh/${J3.PKG_NAME?`${J3.PKG_NAME}@${J3.PKG_VERSION}`:"@excalidraw/excalidraw"}/dist/prod/`);A93=Wbu,D93=[{uri:C93}],f93=[{uri:F93,descriptors:{unicodeRange:"U+20-7e,U+a1-a6,U+a8,U+ab-ac,U+af-b1,U+b4,U+b8,U+bb-bc,U+bf-cf,U+d1-d7,U+d9-de,U+e0-ef,U+f1-f7,U+f9-ff,U+131,U+152-153,U+2c6,U+2da,U+2dc,U+2013-2014,U+2018-201a,U+201c-201d,U+2020-2022,U+2026,U+2039-203a,U+2044,U+20ac,U+2191,U+2193,U+2212"}},{uri:U93,descriptors:{unicodeRange:"U+100-10f,U+112-125,U+128-130,U+134-137,U+139-13c,U+141-148,U+14c-151,U+154-161,U+164-165,U+168-17f,U+1bf,U+1f7,U+218-21b,U+237,U+1e80-1e85,U+1ef2-1ef3,U+a75b"}},{uri:z93,descriptors:{unicodeRange:"U+2c7,U+2d8-2d9,U+2db,U+2dd,U+315,U+2190,U+2192,U+2200,U+2203-2204,U+2264-2265,U+f6c3"}},{uri:k93,descriptors:{unicodeRange:"U+3bb"}}],M93=[{uri:GM0}],H93=[{uri:b93,descriptors:{unicodeRange:"U+20-7e,U+a0-a3,U+a5-a6,U+a8-ab,U+ad-b1,U+b4,U+b6-b8,U+ba-ff,U+131,U+152-153,U+2bc,U+2c6,U+2da,U+2dc,U+304,U+308,U+2013-2014,U+2018-201a,U+201c-201e,U+2020,U+2022,U+2024-2026,U+2030,U+2039-203a,U+20ac,U+2122,U+2212"}},{uri:Z93,descriptors:{unicodeRange:"U+100-130,U+132-137,U+139-149,U+14c-151,U+154-17e,U+192,U+1fc-1ff,U+218-21b,U+237,U+1e80-1e85,U+1ef2-1ef3,U+2113"}},{uri:J93,descriptors:{unicodeRange:"U+400-45f,U+490-491,U+2116"}},{uri:K93,descriptors:{unicodeRange:"U+37e,U+384-38a,U+38c,U+38e-393,U+395-3a1,U+3a3-3a8,U+3aa-3cf,U+3d7"}},{uri:w93,descriptors:{unicodeRange:"U+2c7,U+2d8-2d9,U+2db,U+2dd,U+302,U+306-307,U+30a-30c,U+326-328,U+212e,U+2211,U+fb01-fb02"}},{uri:Q93,descriptors:{unicodeRange:"U+462-463,U+472-475,U+4d8-4d9,U+4e2-4e3,U+4e6-4e9,U+4ee-4ef"}},{uri:G93,descriptors:{unicodeRange:"U+300-301,U+303"}}],q93=[{uri:GM0}],L93=[{uri:l93}],x93=[{uri:v93,descriptors:{unicodeRange:XQ.LATIN_EXT}},{uri:X93,descriptors:{unicodeRange:XQ.LATIN}}],O93=[{uri:R93,descriptors:{unicodeRange:XQ.CYRILIC_EXT,weight:"500"}},{uri:Y93,descriptors:{unicodeRange:XQ.CYRILIC,weight:"500"}},{uri:T93,descriptors:{unicodeRange:XQ.VIETNAMESE,weight:"500"}},{uri:S93,descriptors:{unicodeRange:XQ.LATIN_EXT,weight:"500"}},{uri:W93,descriptors:{unicodeRange:XQ.LATIN,weight:"500"}}],P93=[{uri:I93}],SB3=[{uri:j93,descriptors:{unicodeRange:"U+f9b8-fa6d,U+fe32,U+fe45-fe4f,U+ff02-ff0b,U+ff0d-ff1e,U+ff20-ff2a"}},{uri:N93,descriptors:{unicodeRange:"U+20dd-20de,U+25ef,U+ff2b-ffbe,U+ffc2-ffc7,U+ffca-ffcf,U+ffd2-ffd7,U+ffda-ffdc,U+ffe0-ffe6,U+ffe8-ffee"}},{uri:V93,descriptors:{unicodeRange:"U+d7eb-d7fb,U+f900-f9b7"}},{uri:h93,descriptors:{unicodeRange:"U+d6f2-d7a3,U+d7b0-d7c6,U+d7cb-d7ea"}},{uri:i93,descriptors:{unicodeRange:"U+d609-d6f1"}},{uri:a93,descriptors:{unicodeRange:"U+d520-d608"}},{uri:m93,descriptors:{unicodeRange:"U+d437-d51f"}},{uri:$93,descriptors:{unicodeRange:"U+d34e-d436"}},{uri:y93,descriptors:{unicodeRange:"U+d265-d34d"}},{uri:r93,descriptors:{unicodeRange:"U+d17c-d264"}},{uri:g93,descriptors:{unicodeRange:"U+d093-d17b"}},{uri:c93,descriptors:{unicodeRange:"U+cfaa-d092"}},{uri:_93,descriptors:{unicodeRange:"U+cec1-cfa9"}},{uri:p93,descriptors:{unicodeRange:"U+cdd8-cec0"}},{uri:n93,descriptors:{unicodeRange:"U+ccf1-cdd7"}},{uri:d93,descriptors:{unicodeRange:"U+cc08-ccf0"}},{uri:s93,descriptors:{unicodeRange:"U+cb43-cc07"}},{uri:o93,descriptors:{unicodeRange:"U+ca83-cb42"}},{uri:t93,descriptors:{unicodeRange:"U+c9a1-ca82"}},{uri:e93,descriptors:{unicodeRange:"U+c8b8-c9a0"}},{uri:u23,descriptors:{unicodeRange:"U+c7cf-c8b7"}},{uri:B23,descriptors:{unicodeRange:"U+c6e6-c7ce"}},{uri:E23,descriptors:{unicodeRange:"U+c5fd-c6e5"}},{uri:A23,descriptors:{unicodeRange:"U+c514-c5fc"}},{uri:C23,descriptors:{unicodeRange:"U+c42b-c513"}},{uri:D23,descriptors:{unicodeRange:"U+c341-c34e,U+c350-c42a"}},{uri:F23,descriptors:{unicodeRange:"U+c258-c340"}},{uri:U23,descriptors:{unicodeRange:"U+c16f-c257"}},{uri:z23,descriptors:{unicodeRange:"U+c086-c16e"}},{uri:k23,descriptors:{unicodeRange:"U+bf9d-c085"}},{uri:f23,descriptors:{unicodeRange:"U+beb4-bf9c"}},{uri:M23,descriptors:{unicodeRange:"U+bdcb-beb3"}},{uri:b23,descriptors:{unicodeRange:"U+bce2-bdca"}},{uri:Z23,descriptors:{unicodeRange:"U+bbf9-bce1"}},{uri:J23,descriptors:{unicodeRange:"U+bb10-bbf8"}},{uri:K23,descriptors:{unicodeRange:"U+ba27-bb0f"}},{uri:w23,descriptors:{unicodeRange:"U+b93e-ba26"}},{uri:Q23,descriptors:{unicodeRange:"U+b855-b93d"}},{uri:G23,descriptors:{unicodeRange:"U+b76c-b854"}},{uri:H23,descriptors:{unicodeRange:"U+b683-b76b"}},{uri:q23,descriptors:{unicodeRange:"U+b59a-b682"}},{uri:l23,descriptors:{unicodeRange:"U+b4b1-b599"}},{uri:L23,descriptors:{unicodeRange:"U+11fb-11ff,U+b3cd-b4b0"}},{uri:X23,descriptors:{unicodeRange:"U+11e6-11fa,U+b2f9-b3cc"}},{uri:v23,descriptors:{unicodeRange:"U+11d1-11e5,U+b225-b2f8"}},{uri:x23,descriptors:{unicodeRange:"U+11bc-11d0,U+b151-b224"}},{uri:W23,descriptors:{unicodeRange:"U+11a7-11bb,U+b07d-b150"}},{uri:S23,descriptors:{unicodeRange:"U+1191-11a6,U+afaa-b07c"}},{uri:Y23,descriptors:{unicodeRange:"U+117c-1190,U+aed6-afa9"}},{uri:R23,descriptors:{unicodeRange:"U+1167-117b,U+ae02-aed5"}},{uri:T23,descriptors:{unicodeRange:"U+1152-115e,U+1160-1166,U+ad2d-ae01"}},{uri:O23,descriptors:{unicodeRange:"U+113d-1151,U+ac59-ad2c"}},{uri:I23,descriptors:{unicodeRange:"U+1100-113c,U+9f95-9f98,U+9f9c-9f9e,U+9fa1-9fce,U+9fd0,U+a960-a97c,U+ac00-ac58"}},{uri:P23,descriptors:{unicodeRange:"U+9771-9772,U+9775,U+9777-977b,U+977d-9784,U+9786-978a,U+978c,U+978e-9790,U+9793,U+9795-9797,U+9799-979f,U+97a1-97a2,U+97a4-97aa,U+97ac,U+97ae,U+97b0-97b1,U+97b3,U+97b5-97e5,U+97e8,U+97ee-97f2,U+97f4,U+97f7-982d"}},{uri:j23,descriptors:{unicodeRange:"U+9491,U+9496,U+9498,U+94c7,U+94cf,U+94d3-94d4,U+94da,U+94e6,U+94fb,U+951c,U+9520,U+9527,U+9533,U+953d,U+9543,U+9548,U+954b,U+9555,U+955a,U+9560,U+956e,U+9574-9575,U+9577-957e,U+9580-95e7,U+95ec,U+95ff,U+9607,U+9613,U+9618,U+961b,U+961e,U+9620,U+9623-9629,U+962b-962d,U+962f-9630,U+9637-963a,U+963e,U+9641,U+9643,U+964a,U+964e-964f,U+9651-9653,U+9656-965a,U+965c-965e,U+9660,U+9663,U+9665-9666,U+966b,U+966d-9671,U+9673,U+9678-9684,U+9687,U+9689-968a,U+968c,U+968e,U+9691-9693"}},{uri:N23,descriptors:{unicodeRange:"U+923c-9273,U+9275-928d,U+928f-92ad,U+92af-92c7,U+92c9-92ee"}},{uri:V23,descriptors:{unicodeRange:"U+9159,U+915b-915c,U+915f-9160,U+9166-9168,U+916b,U+916d,U+9173,U+917a-917c,U+9180-9184,U+9186,U+9188,U+918a,U+918e-918f,U+9193-9199,U+919c-91a1,U+91a4-91a9,U+91ab-91ac,U+91b0-91b3,U+91b6-91b9,U+91bb-91c6,U+91c8,U+91cb,U+91d0,U+91d2-91db,U+91dd-923b"}},{uri:h23,descriptors:{unicodeRange:"U+902b-902c,U+9030-9034,U+9037,U+9039-903a,U+903d,U+903f-9040,U+9043,U+9045-9046,U+9048-904c,U+904e,U+9054-9056,U+9059-905a,U+905c-9061,U+9064,U+9066-9067,U+9069-906c,U+906f-9073,U+9076-907c,U+907e,U+9081,U+9084-9087,U+9089-908a,U+908c-9090,U+9092,U+9094,U+9096,U+9098,U+909a,U+909c,U+909e-90a0,U+90a4-90a5,U+90a7-90a9,U+90ab,U+90ad,U+90b2,U+90b7,U+90bc-90bd,U+90bf-90c0,U+90c2-90c3,U+90c6,U+90c8-90c9,U+90cb-90cd,U+90d2,U+90d4-90d6,U+90d8-90da,U+90de-90e0,U+90e3-90e5,U+90e9-90ea,U+90ec,U+90ee,U+90f0-90f3,U+90f5-90f7,U+90f9-90fc,U+90ff-9101,U+9103,U+9105-9118,U+911a-911d,U+911f-9121,U+9124-912e,U+9130,U+9132-9138,U+913a-9142,U+9144-9145,U+9147-9148,U+9151,U+9153-9156,U+9158"}},{uri:i23,descriptors:{unicodeRange:"U+8f03-8f65,U+8f6a,U+8f80,U+8f8c,U+8f92,U+8f9d,U+8fa0-8fa2,U+8fa4-8fa7,U+8faa,U+8fac-8faf,U+8fb2-8fb5,U+8fb7-8fb8,U+8fba-8fbc,U+8fbf-8fc0,U+8fc3,U+8fc6,U+8fc9-8fcd,U+8fcf,U+8fd2,U+8fd6-8fd7,U+8fda,U+8fe0-8fe1,U+8fe3,U+8fe7,U+8fec,U+8fef,U+8ff1-8ff2,U+8ff4-8ff6,U+8ffa-8ffc,U+8ffe-8fff,U+9007-9008,U+900c,U+900e,U+9013,U+9015,U+9018-9019,U+901c,U+9023-9025,U+9027-902a"}},{uri:a23,descriptors:{unicodeRange:"U+8d03-8d1c,U+8d20,U+8d51-8d52,U+8d57,U+8d5f,U+8d65,U+8d68-8d6a,U+8d6c,U+8d6e-8d6f,U+8d71-8d72,U+8d78-8d80,U+8d82-8d83,U+8d86-8d89,U+8d8c-8d90,U+8d92-8d93,U+8d95-8d9e,U+8da0-8da2,U+8da4-8db0,U+8db2,U+8db6-8db7,U+8db9,U+8dbb,U+8dbd,U+8dc0-8dc2,U+8dc5,U+8dc7-8dca,U+8dcd,U+8dd0,U+8dd2-8dd5,U+8dd8-8dd9,U+8ddc,U+8de0-8de2,U+8de5-8de7,U+8de9,U+8ded-8dee,U+8df0-8df2,U+8df4,U+8df6,U+8dfc,U+8dfe-8e04,U+8e06-8e08,U+8e0b,U+8e0d-8e0e,U+8e10-8e13,U+8e15-8e1c,U+8e20-8e21,U+8e24-8e28,U+8e2b,U+8e2d,U+8e30,U+8e32-8e34,U+8e36-8e38,U+8e3b-8e3c,U+8e3e-8e3f,U+8e43,U+8e45-8e46"}},{uri:m23,descriptors:{unicodeRange:"U+8bea,U+8c09,U+8c1e,U+8c38-8c40,U+8c42-8c45,U+8c48,U+8c4a-8c4b,U+8c4d-8c54,U+8c56-8c59,U+8c5b-8c60,U+8c63-8c69,U+8c6c-8c72,U+8c74-8c77,U+8c7b-8c81,U+8c83-8c84,U+8c86-8c88,U+8c8b,U+8c8d-8c93,U+8c95-8c97,U+8c99-8d02"}},{uri:$23,descriptors:{unicodeRange:"U+8a64-8a78,U+8a7a-8a88,U+8a8b-8a92,U+8a94-8b06,U+8b08-8b1b"}},{uri:y23,descriptors:{unicodeRange:"U+8987-89c0,U+89c3,U+89cd,U+89d3-89d5,U+89d7-89d9,U+89db,U+89dd,U+89df-89e2,U+89e4,U+89e7-89ea,U+89ec-89ee,U+89f0-89f2,U+89f4-89ff,U+8a01-8a06,U+8a08-8a3d,U+8a3f-8a47,U+8a49-8a63"}},{uri:r23,descriptors:{unicodeRange:"U+87e3-87e4,U+87e6-87e9,U+87eb-87ed,U+87ef-87f8,U+87fa-87fd,U+87ff-8802,U+8804-8809,U+880b-8812,U+8814,U+8817-881a,U+881c-8820,U+8823-8831,U+8833-8838,U+883a-883b,U+883d-883f,U+8841-8843,U+8846-884b,U+884e-8853,U+8855-8856,U+8858,U+885a-8860,U+8866-8867,U+886a,U+886d,U+886f,U+8871,U+8873-8876,U+8878-887c,U+8880,U+8883,U+8886-8887,U+8889-888a,U+888c,U+888e-8891,U+8893-8895,U+8897-889b,U+889d-88a1,U+88a3,U+88a5-88aa,U+88ac,U+88ae-88b0,U+88b2-88b6,U+88b8-88bb"}},{uri:g23,descriptors:{unicodeRange:"U+86e7-86e8,U+86ea-86ec,U+86ef,U+86f5-86f7,U+86fa-86fd,U+86ff,U+8701,U+8704-8706,U+870b-870c,U+870e-8711,U+8714,U+8716,U+8719,U+871b,U+871d,U+871f-8720,U+8724,U+8726-8728,U+872a-872d,U+872f-8730,U+8732-8733,U+8735-8736,U+8738-873a,U+873c-873d,U+8740-8746,U+874a-874b,U+874d,U+874f-8752,U+8754-8756,U+8758,U+875a-875f,U+8761-8762,U+8766-876d,U+876f,U+8771-8773,U+8775,U+8777-877a,U+877f-8781,U+8784,U+8786-8787,U+8789-878a,U+878c,U+878e-8792,U+8794-8796,U+8798-879e,U+87a0-87a7,U+87a9-87aa,U+87ae,U+87b0-87b2,U+87b4,U+87b6-87b9,U+87bb-87bc,U+87be-87bf,U+87c1-87c5,U+87c7-87c9,U+87cc-87d0,U+87d4-87da,U+87dc-87df,U+87e1-87e2"}},{uri:c23,descriptors:{unicodeRange:"U+8604,U+8606-8610,U+8612-8615,U+8617-8626,U+8628,U+862a-8637,U+8639-863b,U+863d-864c,U+8652-8653,U+8655-8659,U+865b-865d,U+865f-8661,U+8663-866a,U+866d,U+866f-8670,U+8672-8678,U+8683-8689,U+868e-8692,U+8694,U+8696-869b,U+869e-86a2,U+86a5-86a6,U+86ab,U+86ad-86ae,U+86b2-86b3,U+86b7-86b9,U+86bb-86bf,U+86c1-86c3,U+86c5,U+86c8,U+86cc-86cd,U+86d2-86d3,U+86d5-86d7,U+86da,U+86dc-86dd,U+86e0-86e3,U+86e5-86e6"}},{uri:_23,descriptors:{unicodeRange:"U+8456,U+8458,U+845d-8460,U+8462,U+8464-8468,U+846a,U+846e-8470,U+8472,U+8474,U+8477,U+8479,U+847b-8481,U+8483-8486,U+848a,U+848d,U+848f-8496,U+8498,U+849a-849b,U+849d-84a0,U+84a2-84ae,U+84b0-84b1,U+84b3,U+84b5-84b7,U+84bb-84bc,U+84be,U+84c0,U+84c2-84c3,U+84c5-84c8,U+84cb-84cc,U+84ce-84cf,U+84d2,U+84d4-84d5,U+84d7-84dc,U+84de,U+84e1-84e2,U+84e4,U+84e7-84eb,U+84ed-84ef,U+84f1-84fb,U+84fd-84fe,U+8500-850b,U+850d-8510,U+8512,U+8514-8516,U+8518-8519,U+851b-851e,U+8520,U+8522-852a,U+852d-8536,U+853e-8542,U+8544-8547,U+854b-854f"}},{uri:p23,descriptors:{unicodeRange:"U+82c2-82c3,U+82c5-82c6,U+82c9,U+82d0,U+82d6,U+82d9-82da,U+82dd,U+82e2,U+82e7-82ea,U+82ec-82ee,U+82f0,U+82f2-82f3,U+82f5-82f6,U+82f8,U+82fa,U+82fc-8300,U+830a-830b,U+830d,U+8310,U+8312-8313,U+8316,U+8318-8319,U+831d-8326,U+8329-832a,U+832e,U+8330,U+8332,U+8337,U+833b,U+833d-833f,U+8341-8342,U+8344-8345,U+8348,U+834a-834e,U+8353,U+8355-8359,U+835d,U+8362,U+8370-8376,U+8379-837a,U+837e-8384,U+8387-8388,U+838a-838d,U+838f-8391,U+8394-8397,U+8399-839a,U+839d,U+839f,U+83a1-83a7,U+83ac-83af,U+83b5,U+83bb,U+83be-83bf,U+83c2-83c4,U+83c6,U+83c8-83c9,U+83cb,U+83cd-83ce,U+83d0-83d3,U+83d5,U+83d7,U+83d9-83db,U+83de,U+83e2-83e4,U+83e6-83e8,U+83eb-83ef,U+83f3-83f7,U+83fa-83fc,U+83fe-8400,U+8402,U+8405,U+8407-840a,U+8410,U+8412-8417,U+8419-841b,U+841e-8423,U+8429-8430,U+8432-8437,U+8439-843b,U+843e-8445,U+8447-8450,U+8452-8455"}},{uri:n23,descriptors:{unicodeRange:"U+81a4-81a5,U+81a7,U+81a9,U+81ab-81b2,U+81b4-81b9,U+81bc-81bf,U+81c4-81c5,U+81c7-81c9,U+81cb,U+81cd-81e2,U+81e4-81e6,U+81e8-81e9,U+81eb,U+81ee-81f2,U+81f5-81fa,U+81fd,U+81ff,U+8203,U+8207-820b,U+820e-820f,U+8211,U+8213,U+8215-821a,U+821d,U+8220,U+8224-8227,U+8229,U+822e,U+8232,U+823a,U+823c-823d,U+823f-8243,U+8245-8246,U+8248,U+824a,U+824c-824e,U+8250-8257,U+8259,U+825b-825e,U+8260-8267,U+8269-826d,U+8271,U+8275-8278,U+827b-827c,U+8280-8281,U+8283,U+8285-8287,U+8289,U+828c,U+8290,U+8293-8296,U+829a-829b,U+829e,U+82a0,U+82a2-82a3,U+82a7,U+82b2,U+82b5-82b6,U+82ba-82bc,U+82bf-82c0"}},{uri:d23,descriptors:{unicodeRange:"U+8059,U+805b-8068,U+806b-8070,U+8072-807e,U+8081-8082,U+8085,U+8088,U+808a,U+808d-8092,U+8094-8095,U+8097,U+8099,U+809e,U+80a3,U+80a6-80a8,U+80ac,U+80b0,U+80b3,U+80b5-80b6,U+80b8-80b9,U+80bb,U+80c5,U+80c7-80cb,U+80cf-80d5,U+80d8,U+80df-80e0,U+80e2-80e3,U+80e6,U+80ee,U+80f5,U+80f7,U+80f9,U+80fb,U+80fe-8101,U+8103-8105,U+8107-8108,U+810b-810c,U+8115,U+8117,U+8119,U+811b-811d,U+811f-812b,U+812d-812e,U+8130,U+8133-8135,U+8137,U+8139-813d,U+813f-8145,U+8147,U+8149,U+814d-814f,U+8152,U+8156-8158,U+815b-815f,U+8161-8164,U+8166,U+8168,U+816a-816c,U+816f,U+8172-8173,U+8175-8178,U+8181,U+8183-8187,U+8189,U+818b-818e,U+8190,U+8192-8197,U+8199-819a,U+819e-81a2"}},{uri:s23,descriptors:{unicodeRange:"U+7f3c-7f41,U+7f43,U+7f46-7f4f,U+7f52-7f53,U+7f56,U+7f59,U+7f5b-7f5e,U+7f60,U+7f63-7f67,U+7f6b-7f6d,U+7f6f-7f70,U+7f73,U+7f75-7f78,U+7f7a-7f7d,U+7f7f-7f80,U+7f82-7f89,U+7f8b,U+7f8d,U+7f8f-7f93,U+7f95-7f99,U+7f9b-7f9c,U+7fa0,U+7fa2-7fa3,U+7fa5-7fa6,U+7fa8-7fae,U+7fb1,U+7fb3-7fb7,U+7fba-7fbb,U+7fbe,U+7fc0,U+7fc2-7fc4,U+7fc6-7fc9,U+7fcb,U+7fcd,U+7fcf-7fd3,U+7fd6-7fd7,U+7fd9-7fde,U+7fe2-7fe4,U+7fe7-7fe8,U+7fea-7fed,U+7fef,U+7ff2,U+7ff4-7ffa,U+7ffd-7fff,U+8002,U+8007-800a,U+800e-800f,U+8011,U+8013,U+801a-801b,U+801d-801f,U+8021,U+8023-8024,U+802b-8030,U+8032,U+8034,U+8039-803a,U+803c,U+803e,U+8040-8041,U+8044-8045,U+8047-8049,U+804e-8051,U+8053,U+8055-8057"}},{uri:o23,descriptors:{unicodeRange:"U+7cd8,U+7cda-7cdb,U+7cdd-7cde,U+7ce1-7ce7,U+7ce9-7cee,U+7cf0-7cf7,U+7cf9-7cfa,U+7cfc-7d09,U+7d0b-7d1f,U+7d21,U+7d23-7d26,U+7d28-7d2a,U+7d2c-7d2e,U+7d30-7d6d,U+7d6f-7d76,U+7d78-7d94"}},{uri:t23,descriptors:{unicodeRange:"U+7afe,U+7b00-7b02,U+7b05,U+7b07,U+7b09,U+7b0c-7b0e,U+7b10,U+7b12-7b13,U+7b16-7b18,U+7b1a,U+7b1c-7b1d,U+7b1f,U+7b21-7b23,U+7b27,U+7b29,U+7b2d,U+7b2f-7b30,U+7b32,U+7b34-7b37,U+7b39,U+7b3b,U+7b3d,U+7b3f-7b44,U+7b46,U+7b48,U+7b4a,U+7b4d-7b4e,U+7b53,U+7b55,U+7b57,U+7b59,U+7b5c,U+7b5e-7b5f,U+7b61,U+7b63-7b6d,U+7b6f-7b70,U+7b73-7b74,U+7b76,U+7b78,U+7b7a,U+7b7c-7b7d,U+7b7f,U+7b81-7b84,U+7b86-7b8c,U+7b8e-7b8f,U+7b91-7b93,U+7b96,U+7b98-7b9b,U+7b9e-7ba0,U+7ba3-7ba5,U+7bae-7bb0,U+7bb2-7bb3,U+7bb5-7bb7,U+7bb9-7bc0,U+7bc2-7bc5,U+7bc8-7bcb,U+7bcd-7bd0,U+7bd2,U+7bd4-7bd8,U+7bdb-7bdc,U+7bde-7be0,U+7be2-7be4,U+7be7-7be9,U+7beb-7bed,U+7bef-7bf0,U+7bf2-7bf6,U+7bf8-7bfb,U+7bfd,U+7bff-7c06,U+7c08-7c0a,U+7c0d-7c0e,U+7c10-7c13"}},{uri:e23,descriptors:{unicodeRange:"U+7a10-7a13,U+7a15-7a16,U+7a18-7a19,U+7a1b-7a1d,U+7a1f,U+7a21-7a22,U+7a24-7a32,U+7a34-7a36,U+7a38,U+7a3a,U+7a3e,U+7a40-7a45,U+7a47-7a50,U+7a52-7a56,U+7a58-7a6f,U+7a71-7a73,U+7a75,U+7a7b-7a7e,U+7a82,U+7a85,U+7a87,U+7a89-7a8c,U+7a8e-7a90,U+7a93-7a94,U+7a99-7a9b,U+7a9e,U+7aa1-7aa4,U+7aa7,U+7aa9-7aab,U+7aae-7ab2,U+7ab4-7abe,U+7ac0-7aca,U+7acc-7ad5,U+7ad7-7ad8,U+7ada-7add,U+7ae1-7ae2,U+7ae4,U+7ae7-7aec,U+7aee,U+7af0-7af8,U+7afb-7afc"}},{uri:u53,descriptors:{unicodeRange:"U+790d-7912,U+7914-791d,U+791f-7923,U+7925-7933,U+7935-7939,U+793d,U+793f,U+7942-7945,U+7947,U+794a-7952,U+7954-7955,U+7958-7959,U+7961,U+7963-7964,U+7966,U+7969-796c,U+796e,U+7970-7976,U+7979,U+797b-797f,U+7982-7983,U+7986-7989,U+798b-798e,U+7990-7999,U+799b-79a6,U+79a8-79b2,U+79b4-79b8,U+79bc,U+79bf,U+79c2,U+79c4-79c5,U+79c7-79c8,U+79ca,U+79cc,U+79ce-79d0,U+79d3-79d4,U+79d6-79d7,U+79d9-79de,U+79e0-79e2,U+79e5,U+79e8,U+79ea,U+79ec,U+79ee,U+79f1-79f7,U+79f9-79fa,U+79fc,U+79fe-79ff,U+7a01,U+7a04-7a05,U+7a07-7a0a,U+7a0c,U+7a0f"}},{uri:B53,descriptors:{unicodeRange:"U+77d8-77da,U+77dd-77e1,U+77e4,U+77e6,U+77e8,U+77ea,U+77ef-77f2,U+77f4-77f5,U+77f7,U+77f9-77fc,U+7803-7808,U+780a-780b,U+780e-7810,U+7813,U+7815,U+7819,U+781b,U+781e,U+7820-7822,U+7824,U+7828,U+782a-782b,U+782e-782f,U+7831-7833,U+7835-7836,U+783d,U+783f,U+7841-7844,U+7846,U+7848-784b,U+784d,U+784f,U+7851,U+7853-7854,U+7858-785c,U+785e-7869,U+786f-7876,U+7878-787b,U+787d-7886,U+7888,U+788a-788b,U+788f-7890,U+7892,U+7894-7896,U+7899,U+789d-789e,U+78a0,U+78a2,U+78a4,U+78a6,U+78a8-78af,U+78b5-78b8,U+78ba-78bd,U+78bf-78c0,U+78c2-78c4,U+78c6-78c8,U+78cc-78cf,U+78d1-78d3,U+78d6-78d8,U+78da-78e7,U+78e9-78eb,U+78ed-78f1,U+78f3,U+78f5-78f6,U+78f8-78f9,U+78fb-7900,U+7902-7904,U+7906-790c"}},{uri:E53,descriptors:{unicodeRange:"U+76af-76b0,U+76b3,U+76b5-76be,U+76c0-76c1,U+76c3-76c4,U+76c7,U+76c9,U+76cb-76cc,U+76d3,U+76d5,U+76d9-76da,U+76dc-76de,U+76e0-76e4,U+76e6-76ed,U+76f0,U+76f3,U+76f5-76f7,U+76fa-76fb,U+76fd,U+76ff-7703,U+7705-7706,U+770a,U+770c,U+770e-7718,U+771b-771e,U+7721,U+7723-7725,U+7727,U+772a-772c,U+772e,U+7730-7734,U+7739,U+773b,U+773d-773f,U+7742,U+7744-7746,U+7748-774f,U+7752-7759,U+775c-7760,U+7764,U+7767,U+7769-776a,U+776d-7778,U+777a-777c,U+7781-7783,U+7786-778b,U+778f-7790,U+7793-779e,U+77a1,U+77a3-77a4,U+77a6,U+77a8,U+77ab,U+77ad-77af,U+77b1-77b2,U+77b4,U+77b6-77ba,U+77bc,U+77be,U+77c0-77cc,U+77ce-77d6"}},{uri:A53,descriptors:{unicodeRange:"U+7589-758a,U+758c-758e,U+7590,U+7593,U+7595,U+7598,U+759b-759c,U+759e,U+75a2,U+75a6-75aa,U+75ad,U+75b6-75b7,U+75ba-75bb,U+75bf-75c1,U+75c6,U+75cb-75cc,U+75ce-75d1,U+75d3,U+75d7,U+75d9-75da,U+75dc-75dd,U+75df-75e1,U+75e5,U+75e9,U+75ec-75ef,U+75f2-75f3,U+75f5-75f8,U+75fa-75fb,U+75fd-75fe,U+7602,U+7604,U+7606-7609,U+760b,U+760d-760f,U+7611-7614,U+7616,U+761a,U+761c-761e,U+7621,U+7623,U+7627-7628,U+762c,U+762e-762f,U+7631-7632,U+7636-7637,U+7639-763b,U+763d,U+7641-7642,U+7644-764b,U+764e-7653,U+7655,U+7657-765b,U+765d,U+765f-7662,U+7664-766a,U+766c-766e,U+7670-7677,U+7679-767a,U+767c,U+767f-7681,U+7683,U+7685,U+7689-768a,U+768c-768d,U+768f-7690,U+7692,U+7694-7695,U+7697-7698,U+769a-76a3,U+76a5-76ad"}},{uri:C53,descriptors:{unicodeRange:"U+7492-749b,U+749d,U+749f-74a6,U+74aa-74b9,U+74bb-74d1,U+74d3-74db,U+74dd,U+74df,U+74e1,U+74e5,U+74e7-74ed,U+74f0-74f3,U+74f5,U+74f8-74fe,U+7500-7503,U+7505-750c,U+750e,U+7510,U+7512,U+7514-7517,U+751b,U+751d-751e,U+7520-7524,U+7526-7527,U+752a,U+752e,U+7534,U+7536,U+7539,U+753c-753d,U+753f,U+7541-7544,U+7546-7547,U+7549-754a,U+754d,U+7550-7553,U+7555-7558,U+755d-7564,U+7567-7569,U+756b-7571,U+7573,U+7575-7577,U+757a-757e,U+7580-7582,U+7584-7585,U+7587-7588"}},{uri:D53,descriptors:{unicodeRange:"U+7372-737d,U+737f-7383,U+7385-7386,U+7388,U+738a,U+738c-738d,U+738f-7390,U+7392-7395,U+7397-739a,U+739c-739e,U+73a0-73a1,U+73a3-73a8,U+73aa,U+73ac-73ad,U+73b1,U+73b4-73b6,U+73b8-73b9,U+73bc-73bf,U+73c1,U+73c3-73c7,U+73cb-73cc,U+73ce,U+73d2-73d8,U+73da-73dd,U+73df,U+73e1-73e4,U+73e6,U+73e8,U+73ea-73ec,U+73ee-73f1,U+73f3-7402,U+7404,U+7407-7408,U+740b-740e,U+7411-7419,U+741c-7421,U+7423-7424,U+7427,U+7429,U+742b,U+742d,U+742f,U+7431-7432,U+7437-743b,U+743d-7440,U+7442-7454,U+7456,U+7458,U+745d,U+7460-746c,U+746e-746f,U+7471-7475,U+7478-747d,U+747f,U+7482,U+7484-7486,U+7488-748a,U+748c-748d,U+748f,U+7491"}},{uri:F53,descriptors:{unicodeRange:"U+7054-705d,U+705f-706a,U+706e,U+7071-7074,U+7077,U+7079-707b,U+707d,U+7081-7084,U+7086-7088,U+708b-708d,U+708f-7091,U+7093,U+7097-7098,U+709a-709b,U+709e-70aa,U+70b0,U+70b2,U+70b4-70b6,U+70ba,U+70be-70bf,U+70c4-70c7,U+70c9,U+70cb-70d7,U+70da,U+70dc-70de,U+70e0-70e3,U+70e5,U+70ea,U+70ee,U+70f0-70f6,U+70f8,U+70fa-70fc,U+70fe-7108,U+710b-710f,U+7111-7112,U+7114,U+7117,U+711b-7125,U+7127-712e,U+7132-7135,U+7137-7144,U+7146-7149,U+714b,U+714d,U+714f-715b,U+715d,U+715f-7163,U+7165,U+7169-716d,U+716f-7171,U+7174-7177"}},{uri:U53,descriptors:{unicodeRange:"U+722e-722f,U+7232-7234,U+723a,U+723c,U+723e,U+7240-7246,U+7249-724b,U+724e-7251,U+7253-7255,U+7257-7258,U+725a,U+725c,U+725e,U+7260,U+7263-7265,U+7268,U+726a-726d,U+7270-7271,U+7273-7274,U+7276-7278,U+727b-727d,U+7282-7283,U+7285-7289,U+728c,U+728e,U+7290-7291,U+7293-729e,U+72a0-72ab,U+72ae,U+72b1-72b3,U+72b5,U+72ba-72c0,U+72c5-72c7,U+72c9-72cc,U+72cf,U+72d1,U+72d3-72d6,U+72d8,U+72da-72dd,U+72df,U+72e2-72e7,U+72ea-72eb,U+72f5-72f6,U+72f9,U+72fd-7300,U+7302,U+7304-7309,U+730b-730d,U+730f-7312,U+7314,U+7318-731a,U+731f-7320,U+7323-7324,U+7326-7328,U+732d,U+732f-7330,U+7332-7333,U+7335-7336,U+733a-733d,U+7340-734c,U+734e-734f,U+7351,U+7353-7356,U+7358-735f,U+7361-736b,U+736e,U+7370-7371"}},{uri:z53,descriptors:{unicodeRange:"U+6ec5-6ec6,U+6ec8-6eca,U+6ecc-6ece,U+6ed0,U+6ed2,U+6ed6,U+6ed8-6ed9,U+6edb-6edd,U+6ee3,U+6ee7,U+6eea-6ef3,U+6ef5-6ef8,U+6efa-6f01,U+6f03-6f05,U+6f07-6f08,U+6f0a-6f0e,U+6f10-6f12,U+6f16-6f1f,U+6f21-6f23,U+6f25-6f28,U+6f2c,U+6f2e,U+6f30,U+6f32,U+6f34-6f35,U+6f37-6f3d,U+6f3f-6f45,U+6f48-6f4a,U+6f4c,U+6f4e-6f57,U+6f59-6f5b,U+6f5d,U+6f5f-6f61,U+6f63-6f65,U+6f67-6f6c,U+6f6f-6f71,U+6f73,U+6f75-6f77,U+6f79,U+6f7b,U+6f7d-6f83,U+6f85-6f87,U+6f8a-6f8b,U+6f8f-6f9b,U+6f9d-6fa0,U+6fa2-6fa6,U+6fa8-6fb1"}},{uri:k53,descriptors:{unicodeRange:"U+6d73,U+6d75-6d76,U+6d79-6d7b,U+6d7d-6d81,U+6d83-6d84,U+6d86-6d87,U+6d8a-6d8b,U+6d8d,U+6d8f-6d90,U+6d92,U+6d96-6d9a,U+6d9c,U+6da2,U+6da5,U+6dac-6dad,U+6db0-6db1,U+6db3-6db4,U+6db6-6db7,U+6db9-6dbe,U+6dc1-6dc3,U+6dc8-6dca,U+6dcd-6dd0,U+6dd2-6dd5,U+6dd7,U+6dda-6ddc,U+6ddf,U+6de2-6de3,U+6de5,U+6de7-6dea,U+6ded,U+6def-6df0,U+6df2,U+6df4-6df6,U+6df8,U+6dfa,U+6dfd-6e04,U+6e06-6e09,U+6e0b,U+6e0f,U+6e12-6e13,U+6e15,U+6e18-6e19,U+6e1b-6e1c,U+6e1e-6e1f,U+6e22,U+6e26-6e28,U+6e2a,U+6e2c,U+6e2e,U+6e30-6e31,U+6e33,U+6e35-6e37,U+6e39,U+6e3b-6e42,U+6e45-6e4c,U+6e4f-6e52,U+6e55,U+6e57,U+6e59-6e5a,U+6e5c-6e5e,U+6e60-6e6a,U+6e6c-6e6d,U+6e6f-6e7d,U+6e80-6e82,U+6e84,U+6e87-6e88,U+6e8a-6e8e,U+6e91-6e97,U+6e99-6e9b,U+6e9d-6e9e,U+6ea0-6ea1,U+6ea3-6ea4,U+6ea6,U+6ea8-6ea9,U+6eab-6eae,U+6eb0,U+6eb3,U+6eb5,U+6eb8-6eb9,U+6ebc,U+6ebe-6ec0,U+6ec3-6ec4"}},{uri:f53,descriptors:{unicodeRange:"U+6bbb-6bbe,U+6bc0,U+6bc3-6bc4,U+6bc6-6bca,U+6bcc,U+6bce,U+6bd0-6bd1,U+6bd8,U+6bda,U+6bdc-6be0,U+6be2-6be9,U+6bec-6bee,U+6bf0-6bf2,U+6bf4,U+6bf6-6bf8,U+6bfa-6bfc,U+6bfe-6c04,U+6c08-6c0c,U+6c0e,U+6c12,U+6c17,U+6c1c-6c1e,U+6c20,U+6c23,U+6c25,U+6c2b-6c2d,U+6c31,U+6c33,U+6c36-6c37,U+6c39-6c3c,U+6c3e-6c3f,U+6c43-6c45,U+6c48,U+6c4b-6c4f,U+6c51-6c53,U+6c56,U+6c58-6c5a,U+6c62-6c63,U+6c65-6c67,U+6c6b-6c6f,U+6c71,U+6c73,U+6c75,U+6c77-6c78,U+6c7a-6c7c,U+6c7f-6c80,U+6c84,U+6c87,U+6c8a-6c8b,U+6c8d-6c8e,U+6c91-6c92,U+6c95-6c98,U+6c9a,U+6c9c-6c9e,U+6ca0,U+6ca2,U+6ca8,U+6cac,U+6caf-6cb0,U+6cb4-6cb7,U+6cba,U+6cc0-6cc3,U+6cc6-6cc8,U+6ccb,U+6ccd-6ccf,U+6cd1-6cd2,U+6cd8-6cda,U+6cdc-6cdd,U+6cdf,U+6ce4,U+6ce6-6ce7,U+6ce9,U+6cec-6ced,U+6cf2,U+6cf4,U+6cf9,U+6cff-6d00,U+6d02-6d03,U+6d05-6d06,U+6d08-6d0a,U+6d0d,U+6d0f-6d11,U+6d13-6d16,U+6d18,U+6d1c-6d1d,U+6d1f-6d24,U+6d26,U+6d28-6d29,U+6d2c-6d2d,U+6d2f-6d30,U+6d34,U+6d36-6d38,U+6d3a,U+6d3f-6d40,U+6d42,U+6d44,U+6d49,U+6d4c,U+6d50,U+6d55-6d58,U+6d5b,U+6d5d,U+6d5f,U+6d61-6d62,U+6d64-6d65,U+6d67-6d68,U+6d6b-6d6d,U+6d70-6d72"}},{uri:M53,descriptors:{unicodeRange:"U+6967-696a,U+696c-696d,U+696f-6970,U+6972-6976,U+697a-697b,U+697d-697f,U+6981,U+6983,U+6985,U+698a-698c,U+698e-6993,U+6996-6997,U+6999-699a,U+699d-69a6,U+69a9-69aa,U+69ac,U+69ae-69b0,U+69b2-69b3,U+69b5-69b6,U+69b8-69ba,U+69bc-69c0,U+69c2-69c9,U+69cb,U+69cd,U+69cf,U+69d1-69d3,U+69d5-69da,U+69dc-69de,U+69e1-69ec,U+69ee-69f1,U+69f3-69fc,U+69fe,U+6a00-6a09,U+6a0b-6a16,U+6a19-6a1e,U+6a20,U+6a22-6a27,U+6a29,U+6a2b-6a2e,U+6a30,U+6a32-6a34,U+6a36-6a3c,U+6a3f-6a43,U+6a45-6a46,U+6a48-6a4a"}},{uri:b53,descriptors:{unicodeRange:"U+6830-6831,U+6834-6836,U+683a-683b,U+683f,U+6847,U+684b,U+684d,U+684f,U+6852,U+6856-685f,U+686a,U+686c-6873,U+6875,U+6878-6880,U+6882,U+6884,U+6887-688e,U+6890-6892,U+6894-6896,U+6898-68a1,U+68a3-68a5,U+68a9-68ac,U+68ae,U+68b1-68b2,U+68b4,U+68b6-68bf,U+68c1,U+68c3-68c8,U+68ca,U+68cc,U+68ce-68d1,U+68d3-68d4,U+68d6-68d7,U+68d9,U+68db-68df,U+68e1-68e2,U+68e4-68ed,U+68ef,U+68f2-68f4,U+68f6-68f8,U+68fb,U+68fd-6900,U+6902-6904,U+6906-690a,U+690c,U+690f,U+6911,U+6913-691e,U+6921-6923,U+6925-692c,U+692e-692f,U+6931-6933,U+6935-6938,U+693a-693c,U+693e,U+6940-6941,U+6943-6953,U+6955-6956,U+6958-6959,U+695b-695c,U+695f,U+6961-6962,U+6964-6965"}},{uri:Z53,descriptors:{unicodeRange:"U+66b8,U+66ba-66bd,U+66bf-66d8,U+66da,U+66de-66e5,U+66e7-66e8,U+66ea-66ef,U+66f1,U+66f5-66f6,U+66f8,U+66fa-66fb,U+66fd,U+6701-6707,U+670c,U+670e-670f,U+6711-6713,U+6716,U+6718-671a,U+671c,U+671e,U+6720-6725,U+6727,U+6729,U+672e,U+6730,U+6732-6733,U+6736-6739,U+673b-673c,U+673e-673f,U+6741,U+6744-6745,U+6747,U+674a-674b,U+674d,U+6752,U+6754-6755,U+6757-675b,U+675d,U+6762-6764,U+6766-6767,U+676b-676c,U+676e,U+6771,U+6774,U+6776,U+6778-677b,U+677d,U+6780,U+6782-6783,U+6785-6786,U+6788,U+678a,U+678c-678f,U+6791-6794,U+6796,U+6799,U+679b,U+679f-67a1,U+67a4,U+67a6,U+67a9,U+67ac,U+67ae,U+67b1-67b2,U+67b4,U+67b9-67c0,U+67c2,U+67c5-67ce,U+67d5-67d7,U+67db,U+67df,U+67e1,U+67e3-67e4,U+67e6-67e8,U+67ea-67eb,U+67ed-67ee,U+67f2,U+67f5-67fc,U+67fe,U+6801-6804,U+6806,U+680d,U+6810,U+6812,U+6814-6815,U+6818-681c,U+681e-6820,U+6822-6828,U+682b-682f"}},{uri:J53,descriptors:{unicodeRange:"U+6569-656a,U+656d-656f,U+6571,U+6573,U+6575-6576,U+6578-6586,U+6588-658a,U+658d-658f,U+6592,U+6594-6596,U+6598,U+659a,U+659d-659e,U+65a0,U+65a2-65a3,U+65a6,U+65a8,U+65aa,U+65ac,U+65ae,U+65b1-65b8,U+65ba-65bb,U+65be-65c0,U+65c2,U+65c7-65ca,U+65cd,U+65d0-65d1,U+65d3-65d5,U+65d8-65df,U+65e1,U+65e3-65e4,U+65ea-65eb,U+65f2-65f5,U+65f8-65f9,U+65fb-65ff,U+6601,U+6604-6605,U+6607-6609,U+660b,U+660d,U+6610-6612,U+6616-6618,U+661a-661c,U+661e,U+6621-6624,U+6626,U+6629-662c,U+662e,U+6630,U+6632-6633,U+6637-663b,U+663d,U+663f-6640,U+6642,U+6644-664a,U+664d-664e,U+6650-6651,U+6658-6659,U+665b-665e,U+6660,U+6662-6663,U+6665,U+6667,U+6669-666d,U+6671-6673,U+6675,U+6678-6679,U+667b-667d,U+667f-6681,U+6683,U+6685-6686,U+6688-668b,U+668d-6690,U+6692-6695,U+6698-669c,U+669e-66a6,U+66a9-66ad,U+66af-66b3,U+66b5-66b7"}},{uri:K53,descriptors:{unicodeRange:"U+5f30,U+5f32-5f38,U+5f3b,U+5f3d-5f3f,U+5f41-5f4f,U+5f51,U+5f54,U+5f59-5f5c,U+5f5e-5f60,U+5f63,U+5f65,U+5f67-5f68,U+5f6b,U+5f6e-5f6f,U+5f72,U+5f74-5f76,U+5f78,U+5f7a,U+5f7d-5f7f,U+5f83,U+5f86,U+5f8d-5f8f,U+5f91,U+5f93-5f94,U+5f96,U+5f9a-5f9b,U+5f9d-5fa0,U+5fa2-5fa7,U+5fa9,U+5fab-5fac,U+5faf-5fb4,U+5fb6,U+5fb8-5fbb,U+5fbe-5fc2,U+5fc7-5fc8,U+5fca-5fcb,U+5fce,U+5fd3-5fd5,U+5fda-5fdc,U+5fde-5fdf,U+5fe2-5fe3,U+5fe5-5fe6,U+5fe8-5fe9,U+5fec,U+5fef-5ff0,U+5ff2-5ff4,U+5ff6-5ff7,U+5ff9-5ffa,U+5ffc,U+6007-6009,U+600b-600c,U+6010-6011,U+6013,U+6017-6018,U+601a,U+601e-601f,U+6022-6024,U+602c-602e,U+6030-6034,U+6036-603a,U+603d-603e,U+6040,U+6044-604a,U+604c,U+604e-604f,U+6051,U+6053-6054,U+6056-6058,U+605b-605c,U+605e-6061,U+6065-6066,U+606e,U+6071-6072,U+6074-6075,U+6077,U+607e,U+6080-6082,U+6085-6088,U+608a-608b,U+608e-6091,U+6093,U+6095,U+6097-6099,U+609c,U+609e,U+60a1-60a2,U+60a4-60a5,U+60a7,U+60a9-60aa,U+60ae,U+60b0,U+60b3,U+60b5-60b7,U+60b9-60ba,U+60bd-60c4,U+60c7-60c9,U+60cc"}},{uri:w53,descriptors:{unicodeRange:"U+635a-635d,U+6360,U+6364-6366,U+6368,U+636a-636c,U+636f-6370,U+6372-6375,U+6378-6379,U+637c-637f,U+6381,U+6383-6386,U+638b,U+638d,U+6391,U+6393-6395,U+6397,U+6399-639f,U+63a1,U+63a4,U+63a6,U+63ab,U+63af,U+63b1-63b2,U+63b5-63b6,U+63b9,U+63bb,U+63bd,U+63bf-63c3,U+63c5,U+63c7-63c8,U+63ca-63cc,U+63d1,U+63d3-63d5,U+63d7-63dd,U+63df,U+63e2,U+63e4-63e8,U+63eb-63ec,U+63ee-63f1,U+63f3,U+63f5,U+63f7,U+63f9-63fc,U+63fe,U+6403-6404,U+6406-640a,U+640d-640e,U+6411-6412,U+6415-641a,U+641d,U+641f,U+6422-6425,U+6427-6429,U+642b,U+642e-6433,U+6435-6439,U+643b-643c,U+643e,U+6440,U+6442-6443,U+6449,U+644b-6451,U+6453,U+6455-6457,U+6459-645d,U+645f-6466,U+6468,U+646a-646c,U+646e-6477,U+647b-6481,U+6483,U+6486,U+6488-648f"}},{uri:Q53,descriptors:{unicodeRange:"U+61c5-61c7,U+61c9,U+61cc-61d0,U+61d3,U+61d5-61e5,U+61e7-61f4,U+61f6-61fe,U+6200-6205,U+6207,U+6209,U+6213-6214,U+6219,U+621c-621e,U+6220,U+6223,U+6226-6229,U+622b,U+622d,U+622f-6232,U+6235-6236,U+6238-623c,U+6242,U+6244-6246,U+624a,U+624f-6250,U+6255-6257,U+6259-625a,U+625c-6262,U+6264-6265,U+6268,U+6271-6272,U+6274-6275,U+6277-6278,U+627a-627b,U+627d,U+6281-6283,U+6285-6288,U+628b-6290,U+6294,U+6299,U+629c-629e,U+62a3,U+62a6-62a7,U+62a9-62aa,U+62ad-62b0,U+62b2-62b4,U+62b6-62b8,U+62ba,U+62be,U+62c0-62c1,U+62c3,U+62cb,U+62cf,U+62d1,U+62d5,U+62dd-62de,U+62e0-62e1,U+62e4,U+62ea-62eb,U+62f0,U+62f2,U+62f5,U+62f8-62fb,U+6300,U+6303-6306,U+630a-630d,U+630f-6310,U+6312-6315,U+6317-6319,U+631c,U+6326-6327,U+6329,U+632c-632e,U+6330-6331,U+6333-6338,U+633b-633c,U+633e-6341,U+6344,U+6347-6348,U+634a,U+6351-6354,U+6356-6359"}},{uri:G53,descriptors:{unicodeRange:"U+5dd0-5dda,U+5ddc,U+5ddf-5de0,U+5de3-5de4,U+5dea,U+5dec-5ded,U+5df0,U+5df5-5df6,U+5df8-5dfc,U+5dff-5e00,U+5e04,U+5e07,U+5e09-5e0b,U+5e0d-5e0e,U+5e12-5e13,U+5e17,U+5e1e-5e25,U+5e28-5e2c,U+5e2f-5e30,U+5e32-5e36,U+5e39-5e3a,U+5e3e-5e41,U+5e43,U+5e46-5e4b,U+5e4d-5e53,U+5e56-5e5a,U+5e5c-5e5d,U+5e5f-5e60,U+5e63-5e71,U+5e75,U+5e77,U+5e79,U+5e7e,U+5e81-5e83,U+5e85,U+5e88-5e89,U+5e8c-5e8e,U+5e92,U+5e98,U+5e9b,U+5e9d,U+5ea1-5ea4,U+5ea8-5eac,U+5eae-5eb2,U+5eb4,U+5eba-5ebd,U+5ebf-5ec8,U+5ecb-5ed0,U+5ed4-5ed5,U+5ed7-5eda,U+5edc-5ee7,U+5ee9,U+5eeb-5ef3,U+5ef5,U+5ef8-5ef9,U+5efb-5efd,U+5f05-5f07,U+5f09,U+5f0c-5f0e,U+5f10,U+5f12,U+5f14,U+5f16,U+5f19-5f1a,U+5f1c-5f1e,U+5f21-5f24,U+5f28,U+5f2b-5f2c,U+5f2e"}},{uri:H53,descriptors:{unicodeRange:"U+60cd-60d0,U+60d2-60d4,U+60d6-60d7,U+60d9,U+60db,U+60de,U+60e1-60e5,U+60ea,U+60f1-60f2,U+60f5,U+60f7-60f8,U+60fb-60ff,U+6102-6105,U+6107,U+610a-610c,U+6110-6114,U+6116-6119,U+611b-611e,U+6121-6122,U+6125,U+6128-612a,U+612c-613e,U+6140-6147,U+6149,U+614b,U+614d,U+614f-6150,U+6152-6154,U+6156-615c,U+615e-6161,U+6163-6166,U+6169-616f,U+6171-6174,U+6176,U+6178-618a,U+618c-618d,U+618f-6193,U+6195-619c,U+619e-61a6,U+61aa-61ab,U+61ad-61b6,U+61b8-61bd,U+61bf-61c1,U+61c3-61c4"}},{uri:q53,descriptors:{unicodeRange:"U+5cf4-5cfa,U+5cfc-5d01,U+5d04-5d05,U+5d08-5d0d,U+5d0f-5d13,U+5d15,U+5d17-5d1a,U+5d1c-5d1d,U+5d1f-5d23,U+5d25,U+5d28,U+5d2a-5d2c,U+5d2f-5d33,U+5d35-5d3c,U+5d3f-5d46,U+5d48-5d49,U+5d4d-5d57,U+5d59-5d5a,U+5d5c,U+5d5e-5d68,U+5d6a,U+5d6d-5d6e,U+5d70-5d73,U+5d75-5d81,U+5d83-5d98,U+5d9a-5d9c,U+5d9e-5db6,U+5db8-5dc4,U+5dc6-5dcc,U+5dce-5dcf"}},{uri:l53,descriptors:{unicodeRange:"U+5b52,U+5b56,U+5b5e,U+5b60-5b61,U+5b67-5b68,U+5b6b,U+5b6d-5b6f,U+5b72,U+5b74,U+5b76-5b79,U+5b7b-5b7c,U+5b7e-5b7f,U+5b82,U+5b86,U+5b8a,U+5b8d-5b8e,U+5b90-5b92,U+5b94,U+5b96,U+5b9f,U+5ba7-5ba9,U+5bac-5baf,U+5bb1-5bb2,U+5bb7,U+5bba-5bbc,U+5bc0-5bc1,U+5bc3,U+5bc8-5bcb,U+5bcd-5bcf,U+5bd1,U+5bd4-5bdc,U+5be0,U+5be2-5be3,U+5be6-5be7,U+5be9-5bed,U+5bef,U+5bf1-5bf7,U+5bfd-5bfe,U+5c00,U+5c02-5c03,U+5c05,U+5c07-5c08,U+5c0b-5c0e,U+5c10,U+5c12-5c13,U+5c17,U+5c19,U+5c1b,U+5c1e-5c21,U+5c23,U+5c26,U+5c28-5c2b,U+5c2d-5c30,U+5c32-5c33,U+5c35-5c37,U+5c43-5c44,U+5c46-5c47,U+5c4c-5c4d,U+5c52-5c54,U+5c56-5c58,U+5c5a-5c5d,U+5c5f,U+5c62,U+5c64,U+5c67-5c6d,U+5c70,U+5c72-5c78,U+5c7b-5c7e,U+5c80,U+5c83-5c87,U+5c89-5c8b,U+5c8e-5c8f,U+5c92-5c93,U+5c95,U+5c9d-5ca1,U+5ca4-5ca8,U+5caa,U+5cae-5cb0,U+5cb2,U+5cb4,U+5cb6,U+5cb9-5cbc,U+5cbe,U+5cc0,U+5cc2-5cc3,U+5cc5-5cca,U+5ccc-5cd1,U+5cd3-5cd8,U+5cda-5ce0,U+5ce2-5ce3,U+5ce7,U+5ce9,U+5ceb-5cec,U+5cee-5cef,U+5cf1-5cf3"}},{uri:L53,descriptors:{unicodeRange:"U+593b,U+593d-5940,U+5943,U+5945-5946,U+594a,U+594c-594d,U+5950,U+5952-5953,U+5959,U+595b-595f,U+5961,U+5963-5964,U+5966-5972,U+5975,U+5977,U+597a-597c,U+597e-5980,U+5985,U+5989,U+598b-598c,U+598e-5991,U+5994-5995,U+5998,U+599a-599d,U+599f-59a2,U+59a6-59a7,U+59ac-59ad,U+59b0-59b1,U+59b3-59b8,U+59ba,U+59bc-59bd,U+59bf-59c5,U+59c7-59c9,U+59cc-59cf,U+59d5-59d6,U+59d9,U+59db,U+59de-59e2,U+59e4,U+59e6-59e7,U+59e9-59eb,U+59ed-59f8,U+59fa,U+59fc-59fe,U+5a00,U+5a02,U+5a0a-5a0b,U+5a0d-5a10,U+5a12,U+5a14-5a17,U+5a19-5a1b,U+5a1d-5a1e,U+5a21-5a22,U+5a24,U+5a26-5a28,U+5a2a-5a30,U+5a33,U+5a35,U+5a37-5a3b,U+5a3d-5a3f,U+5a41-5a45,U+5a47-5a48,U+5a4b-5a54,U+5a56-5a59,U+5a5b-5a61,U+5a63-5a66,U+5a68-5a69,U+5a6b-5a73,U+5a78-5a79,U+5a7b-5a7e,U+5a80-5a90"}},{uri:X53,descriptors:{unicodeRange:"U+5a91,U+5a93-5a99,U+5a9c-5aa9,U+5aab-5ab1,U+5ab4,U+5ab6-5ab7,U+5ab9-5abd,U+5abf-5ac0,U+5ac3-5ac8,U+5aca-5acb,U+5acd-5ad1,U+5ad3,U+5ad5,U+5ad7,U+5ad9-5adb,U+5add-5adf,U+5ae2,U+5ae4-5ae5,U+5ae7-5ae8,U+5aea,U+5aec-5af0,U+5af2-5b08,U+5b0a-5b15,U+5b18-5b31,U+5b33,U+5b35-5b36,U+5b38-5b3f,U+5b41-5b4f"}},{uri:v53,descriptors:{unicodeRange:"U+5843,U+5845-584b,U+584e-5850,U+5852-5853,U+5855-5857,U+5859-585d,U+585f-5864,U+5866-586a,U+586d-587d,U+587f,U+5882,U+5884,U+5886-5888,U+588a-5891,U+5894-5898,U+589b-589d,U+58a0-58a7,U+58aa-58bb,U+58bd-58c0,U+58c2-58c4,U+58c6-58d0,U+58d2-58d4,U+58d6-58e3,U+58e5-58ea,U+58ed,U+58ef,U+58f1-58f2,U+58f4-58f5,U+58f7-58f8,U+58fa-5901,U+5903,U+5905-5906,U+5908-590c,U+590e,U+5910-5913,U+5917-5918,U+591b,U+591d-591e,U+5920-5923,U+5926,U+5928,U+592c,U+5930,U+5932-5933,U+5935-5936"}},{uri:x53,descriptors:{unicodeRange:"U+56d0-56d3,U+56d5-56d6,U+56d8-56d9,U+56dc,U+56e3,U+56e5-56ea,U+56ec,U+56ee-56ef,U+56f2-56f3,U+56f6-56f8,U+56fb-56fc,U+5700-5702,U+5705,U+5707,U+570b-571b,U+571d-571e,U+5720-5722,U+5724-5727,U+572b,U+5731-5732,U+5734-5738,U+573c-573d,U+573f,U+5741,U+5743-5746,U+5748-5749,U+574b,U+5752-5756,U+5758-5759,U+5762-5763,U+5765,U+5767,U+576c,U+576e,U+5770-5772,U+5774-5775,U+5778-577a,U+577d-5781,U+5787-578a,U+578d-5791,U+5794-579a,U+579c-579f,U+57a5,U+57a8,U+57aa,U+57ac,U+57af-57b1,U+57b3,U+57b5-57b7,U+57b9-57c1,U+57c4-57ca,U+57cc-57cd,U+57d0-57d1,U+57d3,U+57d6-57d7,U+57db-57dc,U+57de,U+57e1-57e3,U+57e5-57ec,U+57ee,U+57f0-57f3,U+57f5-57f7,U+57fb-57fc,U+57fe-57ff,U+5801,U+5803-5805,U+5808-580a,U+580c,U+580e-5810,U+5812-5814,U+5816-5818,U+581a-581d,U+581f,U+5822-5823,U+5825-5829,U+582b-582f,U+5831-5834,U+5836-5842"}},{uri:W53,descriptors:{unicodeRange:"U+55f9-55fc,U+55ff,U+5602-5607,U+560a-560b,U+560d,U+5610-5617,U+5619-561a,U+561c-561d,U+5620-5622,U+5625-5626,U+5628-562b,U+562e-5630,U+5633,U+5635,U+5637-5638,U+563a,U+563c-563e,U+5640-564b,U+564f-5653,U+5655-5656,U+565a-565b,U+565d-5661,U+5663,U+5665-5667,U+566d-5670,U+5672-5675,U+5677-567a,U+567d-5684,U+5687-568d,U+5690-5692,U+5694-56a2,U+56a4-56ae,U+56b0-56b6,U+56b8-56bb,U+56bd-56c9,U+56cb-56cf"}},{uri:S53,descriptors:{unicodeRange:"U+5286-5287,U+5289-528f,U+5291-5292,U+5294-529a,U+529c,U+52a4-52a7,U+52ae-52b0,U+52b4-52bd,U+52c0-52c2,U+52c4-52c6,U+52c8,U+52ca,U+52cc-52cf,U+52d1,U+52d3-52d5,U+52d7,U+52d9-52de,U+52e0-52e3,U+52e5-52ef,U+52f1-52f8,U+52fb-52fd,U+5301-5304,U+5307,U+5309-530c,U+530e,U+5311-5314,U+5318,U+531b-531c,U+531e-531f,U+5322,U+5324-5325,U+5327-5329,U+532b-532d,U+532f-5338,U+533c-533d,U+5340,U+5342,U+5344,U+5346,U+534b-534d,U+5350,U+5354,U+5358-5359,U+535b,U+535d,U+5365,U+5368,U+536a,U+536c-536d,U+5372,U+5376,U+5379,U+537b-537e,U+5380-5381,U+5383,U+5387-5388,U+538a,U+538e-5394,U+5396-5397,U+5399,U+539b-539c,U+539e,U+53a0-53a1,U+53a4,U+53a7,U+53aa-53ad,U+53af-53b5,U+53b7-53ba,U+53bc-53be,U+53c0,U+53c3-53c7,U+53ce-53d0,U+53d2-53d3,U+53d5,U+53da,U+53dc-53de,U+53e1-53e2,U+53e7,U+53f4,U+53fa,U+53fe-5400,U+5402,U+5405,U+5407,U+540b,U+5414,U+5418-541a,U+541c,U+5422,U+5424-5425,U+542a,U+5430,U+5433,U+5436-5437,U+543a"}},{uri:Y53,descriptors:{unicodeRange:"U+5101-5105,U+5108-510a,U+510c-5111,U+5113-5120,U+5122-513e,U+5142,U+5147,U+514a,U+514c,U+514e-5150,U+5152-5153,U+5157-5159,U+515b,U+515d-5161,U+5163-5164,U+5166-5167,U+5169-516a,U+516f,U+5172,U+517a,U+517e-517f,U+5183-5184,U+5186-5187,U+518a-518b,U+518e-5191,U+5193-5194,U+5198,U+519a,U+519d-519f,U+51a1,U+51a3,U+51a6-51aa,U+51ad-51ae,U+51b4,U+51b8-51ba,U+51be-51bf,U+51c1-51c3,U+51c5,U+51c8,U+51ca,U+51cd-51ce,U+51d0,U+51d2-51da,U+51dc,U+51de-51df,U+51e2-51e3,U+51e5-51ea,U+51ec,U+51ee,U+51f1-51f2,U+51f4,U+51f7,U+51fe,U+5204-5205,U+5209,U+520b-520c,U+520f-5210,U+5213-5215,U+521c,U+521e-521f,U+5221-5223,U+5225-5227,U+522a,U+522c,U+522f,U+5231-5232,U+5234-5235,U+523c,U+523e,U+5244-5249,U+524b,U+524e-524f,U+5252-5253,U+5255,U+5257-525b,U+525d,U+525f-5260,U+5262-5264,U+5266,U+5268,U+526b-526e,U+5270-5271,U+5273-527c,U+527e,U+5280,U+5283-5285"}},{uri:R53,descriptors:{unicodeRange:"U+543d,U+543f,U+5441-5442,U+5444-5445,U+5447,U+5449,U+544c-544f,U+5451,U+545a,U+545d-5461,U+5463,U+5465,U+5467,U+5469-5470,U+5474,U+5479-547a,U+547e-547f,U+5481,U+5483,U+5485,U+5487-548a,U+548d,U+5491,U+5493,U+5497-5498,U+549c,U+549e-54a2,U+54a5,U+54ae,U+54b0,U+54b2,U+54b5-54b7,U+54b9-54ba,U+54bc,U+54be,U+54c3,U+54c5,U+54ca-54cb,U+54d6,U+54d8,U+54db,U+54e0-54e4,U+54eb-54ec,U+54ef-54f1,U+54f4-54f9,U+54fb,U+54fe,U+5500,U+5502-5505,U+5508,U+550a-550e,U+5512-5513,U+5515-551a,U+551c-551f,U+5521,U+5525-5526,U+5528-5529,U+552b,U+552d,U+5532,U+5534-5536,U+5538-553b,U+553d,U+5540,U+5542,U+5545,U+5547-5548,U+554b-554f,U+5551-5554,U+5557-555b,U+555d-5560,U+5562-5563,U+5568-5569,U+556b,U+556f-5574,U+5579-557a,U+557d,U+557f,U+5585-5586,U+558c-558e,U+5590,U+5592-5593,U+5595-5597,U+559a-559b,U+559e,U+55a0-55a6,U+55a8-55b0,U+55b2,U+55b4,U+55b6,U+55b8,U+55ba,U+55bc,U+55bf-55c3,U+55c6-55c8,U+55ca-55cb,U+55ce-55d0,U+55d5,U+55d7-55db,U+55de,U+55e0,U+55e2,U+55e7,U+55e9,U+55ed-55ee,U+55f0-55f1,U+55f4,U+55f6,U+55f8"}},{uri:T53,descriptors:{unicodeRange:"U+4fe0,U+4fe2,U+4fe4-4fe5,U+4fe7,U+4feb-4fec,U+4ff0,U+4ff2,U+4ff4-4ff7,U+4ff9,U+4ffb-4ffd,U+4fff-500b,U+500e,U+5010-5011,U+5013,U+5015-5017,U+501b,U+501d-501e,U+5020,U+5022-5024,U+5027,U+502b,U+502f-5039,U+503b,U+503d,U+503f-5042,U+5044-5046,U+5049-504b,U+504d,U+5050-5054,U+5056-5059,U+505b,U+505d-5064,U+5066-506b,U+506d-5075,U+5078-507a,U+507c-507d,U+5081-5084,U+5086-5087,U+5089-508c,U+508e-50a2,U+50a4,U+50a6,U+50aa-50ab,U+50ad-50b1,U+50b3-50b9,U+50bc-50ce,U+50d0-50d5,U+50d7-50d9,U+50db-50e5,U+50e8-50eb,U+50ef-50f2,U+50f4,U+50f6-50fa,U+50fc-5100"}},{uri:O53,descriptors:{unicodeRange:"U+49d5-4a77"}},{uri:I53,descriptors:{unicodeRange:"U+4dac-4dad,U+4daf-4db5,U+4e02,U+4e04-4e06,U+4e0f,U+4e12,U+4e17,U+4e1f-4e21,U+4e23,U+4e26,U+4e29,U+4e2e-4e2f,U+4e31,U+4e33,U+4e35,U+4e37,U+4e3c,U+4e40-4e42,U+4e44,U+4e46,U+4e4a,U+4e51,U+4e55,U+4e57,U+4e5a-4e5b,U+4e62-4e65,U+4e67-4e68,U+4e6a-4e6f,U+4e72,U+4e74-4e7d,U+4e7f-4e85,U+4e87,U+4e8a,U+4e90,U+4e96-4e97,U+4e99,U+4e9c-4e9e,U+4ea3,U+4eaa,U+4eaf-4eb1,U+4eb4,U+4eb6-4eb9,U+4ebc-4ebe,U+4ec8,U+4ecc,U+4ecf-4ed0,U+4ed2,U+4eda-4edc,U+4ee0,U+4ee2,U+4ee6-4ee7,U+4ee9,U+4eed-4eef,U+4ef1,U+4ef4,U+4ef8-4efa,U+4efc,U+4efe,U+4f00,U+4f02-4f08,U+4f0b-4f0c,U+4f12-4f16,U+4f1c-4f1d,U+4f21,U+4f23,U+4f28-4f29,U+4f2c-4f2e,U+4f31,U+4f33,U+4f35,U+4f37,U+4f39,U+4f3b,U+4f3e-4f42,U+4f44-4f45,U+4f47-4f4c,U+4f52,U+4f54,U+4f56,U+4f61-4f62,U+4f66,U+4f68,U+4f6a-4f6b,U+4f6d-4f6e,U+4f71-4f72,U+4f75,U+4f77-4f7a,U+4f7d,U+4f80-4f82,U+4f85-4f87,U+4f8a,U+4f8c,U+4f8e,U+4f90,U+4f92-4f93,U+4f95-4f96,U+4f98-4f9a,U+4f9c,U+4f9e-4f9f,U+4fa1-4fa2,U+4fa4,U+4fab,U+4fad,U+4fb0-4fb4,U+4fb6-4fbe,U+4fc0-4fc2,U+4fc6-4fc9,U+4fcb-4fcd,U+4fd2-4fd6,U+4fd9,U+4fdb"}},{uri:P53,descriptors:{unicodeRange:"U+4933-49d4"}},{uri:j53,descriptors:{unicodeRange:"U+487a-4932"}},{uri:N53,descriptors:{unicodeRange:"U+47d2-4879,U+2ce7c,U+2ce88,U+2ce93"}},{uri:V53,descriptors:{unicodeRange:"U+4756-47d1,U+2ca02,U+2ca0e,U+2ca7d,U+2caa9,U+2cb29,U+2cb2e,U+2cb31,U+2cb38-2cb39,U+2cb3f,U+2cb41,U+2cb4e,U+2cb5a,U+2cb64,U+2cb69,U+2cb6c,U+2cb6f,U+2cb76,U+2cb78,U+2cb7c,U+2cbb1,U+2cbbf-2cbc0,U+2cbce,U+2cc5f,U+2ccf5-2ccf6,U+2ccfd,U+2ccff,U+2cd02-2cd03,U+2cd0a,U+2cd8b,U+2cd8d,U+2cd8f-2cd90,U+2cd9f-2cda0,U+2cda8,U+2cdad-2cdae,U+2cdd5,U+2ce18,U+2ce1a,U+2ce23,U+2ce26,U+2ce2a"}},{uri:h53,descriptors:{unicodeRange:"U+46c3-4755,U+2c488,U+2c494,U+2c497,U+2c542,U+2c613,U+2c618,U+2c621,U+2c629,U+2c62b-2c62d,U+2c62f,U+2c642,U+2c64a-2c64b,U+2c72c,U+2c72f,U+2c79f,U+2c7c1,U+2c7fd,U+2c8d9,U+2c8de,U+2c8e1,U+2c8f3,U+2c907,U+2c90a,U+2c91d"}},{uri:i53,descriptors:{unicodeRange:"U+4629-46c2,U+2bdf7,U+2be29,U+2c029-2c02a,U+2c0a9,U+2c0ca,U+2c1d5,U+2c1d9,U+2c1f9,U+2c27c,U+2c288,U+2c2a4,U+2c317,U+2c35b,U+2c361,U+2c364"}},{uri:a53,descriptors:{unicodeRange:"U+458e-4628,U+2b7a9,U+2b7c5,U+2b7e6,U+2b7f9,U+2b806,U+2b80a,U+2b81c,U+2b8b8,U+2bac7,U+2bb5f,U+2bb62,U+2bb7c,U+2bb83,U+2bc1b,U+2bd77,U+2bd87"}},{uri:m53,descriptors:{unicodeRange:"U+4449-4511,U+2afa2,U+2b127-2b128,U+2b137-2b138,U+2b1ed"}},{uri:$53,descriptors:{unicodeRange:"U+439b-4448,U+2a437,U+2a5f1,U+2a602,U+2a61a,U+2a6b2,U+2a7dd,U+2a8fb,U+2a917,U+2aa30,U+2aa36,U+2aa58"}},{uri:y53,descriptors:{unicodeRange:"U+4275-430d,U+298c6,U+29a72,U+29d98,U+29ddb,U+29e15,U+29e3d,U+29e49"}},{uri:r53,descriptors:{unicodeRange:"U+4132-41de,U+28bef,U+28c47,U+28c4f,U+28c51,U+28c54,U+28d10,U+28d71,U+28dfb,U+28e1f,U+28e36,U+28e89,U+28e99,U+28eeb,U+28f32,U+28ff8,U+292a0"}},{uri:g53,descriptors:{unicodeRange:"U+41df-4274,U+292b1,U+29490,U+295cf,U+2967f,U+296f0,U+29719,U+29750"}},{uri:c53,descriptors:{unicodeRange:"U+408e-4131,U+285c8-285c9,U+28678,U+28695,U+286d7,U+286fa,U+287e0,U+28946,U+28949,U+2896b,U+28987-28988,U+289ba-289bb,U+28a1e,U+28a29,U+28a43,U+28a71,U+28a99,U+28acd,U+28add,U+28ae4,U+28b49,U+28bc1"}},{uri:_53,descriptors:{unicodeRange:"U+3e83-3f2f,U+27139,U+273da-273db,U+273fe,U+27410,U+27449,U+27614-27615,U+27631,U+27684,U+27693,U+2770e,U+27723,U+27752"}},{uri:p53,descriptors:{unicodeRange:"U+3f30-3fdb,U+27985,U+27a84,U+27bb3,U+27bbe,U+27bc7,U+27cb8,U+27da0,U+27e10"}},{uri:n53,descriptors:{unicodeRange:"U+3fdc-408d,U+27fb7,U+27ff9,U+2808a,U+280bb,U+2815d,U+28277,U+28282,U+282e2,U+282f3,U+283cd,U+28408,U+2840c,U+28455,U+28468,U+2856b"}},{uri:d53,descriptors:{unicodeRange:"U+3dd2-3e82,U+26a58,U+26a8c,U+26ab7,U+26aff,U+26b5c,U+26c21,U+26c29,U+26c73,U+26cdd,U+26e40,U+26e65,U+26f94,U+26ff6-26ff8,U+270f4,U+2710d"}},{uri:s53,descriptors:{unicodeRange:"U+3d34-3dd1,U+2648d,U+26676,U+2667e,U+266b0,U+2671d,U+2677c,U+267cc,U+268dd,U+268ea,U+26951,U+2696f,U+269dd,U+269fa,U+26a1e"}},{uri:o53,descriptors:{unicodeRange:"U+3c76-3d33,U+25d0a,U+25da1,U+25e2e,U+25e56,U+25e62,U+25e65,U+25ec2,U+25ed7-25ed8,U+25ee8,U+25f23,U+25f5c,U+25fd4,U+25fe0,U+25ffb,U+2600c,U+26017,U+26060,U+260ed,U+26221,U+26270,U+26286,U+2634c,U+26402"}},{uri:t53,descriptors:{unicodeRange:"U+3bda-3c75,U+25771,U+257a9,U+257b4,U+259c4,U+259d4,U+25ae3-25ae4,U+25af1,U+25bb2,U+25c14,U+25c4b,U+25c64"}},{uri:e53,descriptors:{unicodeRange:"U+3b25-3bd9,U+2504a,U+25055,U+25122,U+2512b,U+251a9,U+251cd,U+251e5,U+2521e,U+2524c,U+2542e,U+2548e,U+254d9,U+2550e,U+25532,U+25562,U+255a7-255a8"}},{uri:u73,descriptors:{unicodeRange:"U+3a6b-3b24,U+24896,U+249db,U+24a4d,U+24a7d,U+24ac9,U+24b56,U+24b6f,U+24c16,U+24d14,U+24dea,U+24e0e,U+24e37,U+24e6a,U+24e8b,U+24eaa"}},{uri:B73,descriptors:{unicodeRange:"U+39a9-3a6a,U+24096,U+24103,U+241ac,U+241c6,U+241fe,U+243bc,U+243f8,U+244d3,U+24629,U+246a5,U+247f1"}},{uri:E73,descriptors:{unicodeRange:"U+38e3-39a8,U+23a98,U+23c7f,U+23c97-23c98,U+23cfe,U+23d00,U+23d0e,U+23d40,U+23dd3,U+23df9-23dfa,U+23e23,U+23f7e"}},{uri:A73,descriptors:{unicodeRange:"U+3760-382a,U+22ab8,U+22b43,U+22b46,U+22b4f-22b50,U+22ba6,U+22bca,U+22c1d,U+22c24,U+22c55,U+22d4c,U+22de1"}},{uri:C73,descriptors:{unicodeRange:"U+382b-38e2,U+231b6,U+231c3-231c4,U+231f5,U+23350,U+23372,U+233d0,U+233d2-233d3,U+233d5,U+233da,U+233df,U+233e4,U+2344a-2344b,U+23451,U+23465,U+234e4,U+2355a,U+23594,U+235c4,U+235cb,U+23638-2363a,U+23647,U+2370c,U+2371c,U+2373f,U+23763-23764,U+237e7,U+237ff,U+23824,U+2383d"}},{uri:D73,descriptors:{unicodeRange:"U+3698-375f,U+22218,U+2231e,U+223ad,U+224dc,U+226f3,U+2285b,U+228ab,U+2298f"}},{uri:F73,descriptors:{unicodeRange:"U+35e6-3697,U+21c56,U+21cde,U+21d2d,U+21d45,U+21d62,U+21d78,U+21d92,U+21d9c,U+21da1,U+21db7,U+21de0,U+21e33-21e34,U+21f1e,U+21f76,U+21ffa,U+2217b"}},{uri:U73,descriptors:{unicodeRange:"U+3444-350e,U+20ad3,U+20b1d,U+20b9f,U+20c41,U+20cbf,U+20cd0,U+20d45,U+20de1,U+20e64,U+20e6d,U+20e95,U+20e9d,U+20ea2,U+20f5f,U+210c1,U+21201,U+2123d,U+21255,U+21274,U+2127b"}},{uri:z73,descriptors:{unicodeRange:"U+350f-35e5,U+212d7,U+212e4,U+212fd,U+2131b,U+21336,U+21344,U+2139a,U+213c4,U+21413,U+2146d-2146e,U+215d7,U+21647,U+216b4,U+21706,U+21742,U+218bd,U+219c3"}},{uri:k73,descriptors:{unicodeRange:"U+336d-3443,U+2032b,U+20371,U+20381,U+203f9,U+2044a,U+20509,U+20547,U+205d6,U+20628,U+20676,U+2074f,U+20779,U+20807,U+2083a,U+20895,U+208b9,U+2097c,U+2099d"}},{uri:f73,descriptors:{unicodeRange:"U+328b-336c,U+2000b,U+20089,U+200a2,U+200a4,U+20164,U+201a2,U+20213"}},{uri:M73,descriptors:{unicodeRange:"U+3192-31ba,U+31c0-31e3,U+31f0-321e,U+3220-328a,U+1f250-1f251"}},{uri:b73,descriptors:{unicodeRange:"U+2f74-2fd5,U+3000,U+3003-3007,U+3012-3013,U+3018-301c,U+3020-3029,U+302f-303f,U+3041-3096,U+3099-30a1"}},{uri:Z73,descriptors:{unicodeRange:"U+30a2-30ff,U+3105-312f,U+3131-318e,U+3190-3191"}},{uri:J73,descriptors:{unicodeRange:"U+4e36,U+4ea0,U+4f74,U+4f91,U+4f94,U+4fc5,U+507e,U+50ed,U+5182,U+51f5,U+525e,U+5282,U+52f9,U+5326,U+537a,U+53a3,U+5423,U+5459,U+54b4,U+54d9,U+55c9,U+57f4,U+580b,U+5902,U+5925,U+5a08,U+5ab5,U+5b84,U+5be4,U+5c22,U+5cb5,U+5cbd,U+5d3e,U+5e31,U+5e5e,U+5e80,U+5ee8,U+5f82,U+5fc9,U+5fed,U+600a,U+605d,U+609b,U+609d,U+60dd,U+6243,U+6322,U+63ce,U+640c,U+643f,U+6445,U+64d7,U+6534,U+6549,U+656b,U+6603,U+674c,U+680a,U+6864,U+69d4,U+6a65,U+6c2a,U+6c46,U+6c5c,U+6d0e,U+6d48,U+6e2b,U+6eb2,U+6eb7,U+6f89,U+706c,U+70b1,U+7113,U+71d4,U+727f,U+72f3,U+7303,U+7321,U+736c,U+736f,U+74a9,U+74de,U+750d,U+7513,U+7592,U+75c4,U+7605,U+760a,U+761b,U+7625,U+762d,U+7643,U+7707,U+7747,U+77b5,U+7839,U+784e,U+78a5,U+7924,U+793b,U+798a,U+7a03,U+7a06,U+7a78,U+7a80,U+7aad,U+7ba8,U+7be5,U+7cc8,U+7ec1,U+7f0b,U+7f0f,U+7f12,U+7f68,U+7f9d,U+8025,U+809c,U+80ad,U+80b7,U+80e8,U+811e,U+8204,U+8223,U+822d,U+823b,U+824b,U+825a,U+827d,U+827f,U+828f,U+82c8,U+8307,U+831b,U+8347,U+837d,U+839b,U+83a9,U+83f9,U+84b9,U+8579,U+864d,U+867f,U+86b0,U+86d1,U+86d8,U+86f2,U+8764,U+8770,U+8788,U+8797,U+87ac-87ad,U+87b5,U+881b,U+8844,U+88bc,U+88fc,U+8930,U+89cf,U+89d6,U+8ba0,U+8bd4,U+8c02,U+8c2b,U+8c85,U+8e23,U+8f81-8f82,U+8fd5,U+90b6,U+90db,U+914e,U+9164,U+91ad,U+943e,U+94b7-94b8,U+94eb,U+950d,U+9514,U+9516,U+9518,U+9529,U+9538,U+953f,U+954e,U+955f,U+95fc,U+9667,U+96b3,U+9792,U+97b2,U+98a1,U+9969,U+9987,U+9998,U+9a80,U+9a92,U+9a96,U+9adf,U+9cb4,U+9cbd,U+9cd0,U+9cd4,U+9e31,U+9e3a,U+9e71,U+9ee5,U+9eea,U+9ef9,U+9fa0"}},{uri:K73,descriptors:{unicodeRange:"U+4e0c,U+4e28,U+4e3f,U+4ec2,U+502e,U+50ba,U+5155,U+5181,U+522d,U+5281,U+5290,U+5369,U+53b6,U+54d5,U+54dc,U+54ff,U+552a,U+553c,U+5588,U+55b5,U+5686,U+570a,U+5776,U+5786,U+57a4,U+5820,U+5865,U+58bc,U+5b32,U+5b65,U+5c1c,U+5c66,U+5c6e,U+5c8d,U+5ddb,U+5f2a,U+5f50,U+5f61,U+6067,U+614a,U+615d,U+619d,U+61d4,U+620b,U+6224-6225,U+6343,U+63ad,U+63f2,U+640b,U+6420,U+6434,U+6496,U+64d0,U+6509,U+652e,U+67a8,U+6833,U+6844,U+684a,U+6920,U+6957,U+6971,U+6a8e,U+6a91,U+6aa0,U+6b43,U+6bea,U+6bf5,U+6c15,U+6cd0,U+6ee0,U+6f24,U+6f2d,U+70c0,U+721d,U+728b,U+72c3,U+72e8,U+730a,U+7338-7339,U+734d,U+746d,U+752f,U+754e,U+770d,U+7735,U+778d,U+77a2,U+77e7,U+7857,U+786d,U+78c9,U+78f2,U+791e,U+7953,U+7b58,U+7b9d,U+7bda,U+7cd7,U+7f32-7f33,U+8022,U+8028-8029,U+8035,U+804d,U+8080,U+80c2,U+80e9,U+80ec,U+80f2,U+810e,U+8221,U+8274,U+82b0,U+82e0,U+83b0,U+8487-8488,U+848e,U+84cd,U+84d0,U+8539,U+857a,U+85a8,U+85b7,U+867c,U+871e,U+8723,U+877e,U+878b,U+8793,U+8803,U+88d2,U+8966,U+89cc,U+89eb,U+8b26,U+8c8a,U+8c98,U+8d33,U+8d47,U+8d55,U+8dbc,U+8e40,U+8e94,U+8f77,U+8f79,U+9058,U+91a2,U+91b5,U+928e,U+9494,U+94b6,U+94de,U+94f4,U+94f9,U+950a,U+950e,U+951e,U+952b,U+953c,U+953e,U+9544,U+9561,U+9564,U+9569,U+95f6,U+9603,U+960d,U+963d,U+9674,U+9794,U+97ab,U+98a5,U+9a9f,U+9ab1,U+9ad1,U+9b0f,U+9b2f,U+9c92,U+9c95,U+9cba,U+9cbc,U+9cc6,U+9ccb,U+9cd8,U+9e32,U+9e38,U+9e5b,U+9e7e,U+9eb4,U+9efb-9efc,U+9f3d"}},{uri:w73,descriptors:{unicodeRange:"U+2e3b,U+2e80-2e99,U+2e9b-2ef3,U+2f00-2f73,U+ffffd"}},{uri:Q73,descriptors:{unicodeRange:"U+4e69,U+4f1b,U+4f67,U+4f7e,U+4fdc,U+50e6,U+5196,U+5202,U+5233,U+523f,U+52a2,U+536e,U+5476,U+54ad,U+54cf,U+5537,U+561e,U+56dd,U+56df,U+5709,U+572c,U+57cf,U+57f8,U+580d,U+5881,U+589a,U+5941,U+59b2,U+5c25,U+5d24,U+5d74,U+5e42,U+5e8b,U+5eb3,U+5ed2,U+5fad,U+6003,U+603c,U+6083,U+6100,U+6126,U+6206,U+62ca,U+638e,U+63b4,U+6426,U+646d,U+6535,U+65c4,U+66db,U+6715,U+6769,U+6798,U+67c3,U+6861,U+698d,U+69ca,U+69ed,U+69f2,U+69ff,U+6a18,U+6b39,U+6bb3,U+6c0d,U+6cb2,U+6cd6,U+6cf7,U+6cfa,U+6d33,U+6e16,U+6e53-6e54,U+6ebb,U+6fb6,U+709d,U+72ad,U+72f7,U+72fb,U+7313,U+739f,U+74ba,U+754b,U+755b,U+758b,U+75ac,U+75d6,U+7617,U+7635,U+7640,U+76a4,U+76b2,U+775a,U+77bd,U+781f,U+79b3,U+7b2b,U+7b31,U+7b3e,U+7b6e,U+7b9c,U+7c0b,U+7c9e,U+7cc1,U+7ce8,U+7ea5,U+7f21,U+7f27,U+7f74,U+7fb0,U+8031,U+8071,U+80ea,U+8114,U+8160,U+81a6,U+81c1,U+829f,U+82a4,U+82fb,U+831a,U+8333,U+836c,U+83b6,U+83f8,U+8411,U+841c,U+8489,U+848c,U+85a4,U+8627,U+8629,U+866e,U+86b5,U+872e,U+8731,U+877b,U+877d,U+87ea,U+8813,U+8816,U+8864,U+88ce,U+88e5,U+897b,U+89cb,U+89f3,U+8bfc,U+8c35,U+8d46,U+8d4d,U+8dba,U+8e3a,U+8f75,U+8f7e,U+8fd3,U+9161,U+9179,U+917e,U+91a3,U+94ac,U+94d7,U+94e5,U+952a,U+952c,U+9545,U+9565,U+9568,U+956a,U+961d,U+96e0,U+972a,U+9730,U+989f,U+98e7,U+990d,U+9967,U+9993,U+9aa3,U+9ac0,U+9ae1,U+9aeb,U+9af9,U+9c86,U+9c8b,U+9ca0-9ca1,U+9ca3,U+9ce2,U+9e48,U+9e6a,U+9e87,U+9ee2,U+9ee9,U+9f17,U+9f19,U+9f2c,U+9f80"}},{uri:G73,descriptors:{unicodeRange:"U+4ef3,U+50d6,U+50ec,U+51ab,U+51b1,U+52d6,U+54a9,U+54da,U+55be,U+55cd,U+564d,U+572f,U+574c,U+576b,U+57d8,U+57fd,U+5844,U+59d2,U+5ae0,U+5b16,U+5b37,U+5b5b,U+5b80,U+5d1e,U+5d6b,U+5efe,U+5f11,U+5f56,U+5f58,U+5f73,U+5f8c,U+5fc4,U+5fe4,U+602b,U+6106,U+610d,U+63de,U+63f8,U+641b,U+64e4,U+6634,U+676a,U+67b5,U+681d,U+6883,U+69b1,U+69e0,U+6b37,U+6b9b,U+6d7c,U+6ed7,U+6f36,U+6f72,U+6f8c,U+7035,U+7039,U+7173,U+7178,U+7228,U+728f,U+72b4,U+72ef,U+72f4,U+7331,U+7481,U+74e0,U+7540,U+75c3,U+75e6,U+763c,U+764d,U+76cd,U+7704,U+7743,U+7780,U+7847,U+786a,U+78b9,U+7962,U+7a02,U+7aac,U+7ab3,U+7b0a,U+7b4c,U+7b7b,U+7bfc,U+7c0f,U+7c16,U+7c40,U+7ca2,U+7cc7,U+7cf8,U+7d77,U+7e3b,U+7ea1,U+7ea9,U+7ef2,U+7f02,U+7f07,U+7f0c,U+7f23,U+7f2f,U+7fbc,U+8016,U+8020,U+812c,U+8136,U+8182,U+822f,U+8233,U+825f,U+8268,U+8284,U+8288,U+8291,U+8308,U+8311,U+835b,U+836d,U+83dd,U+8406,U+840f,U+845c,U+84b4,U+84e3,U+850c,U+855e,U+863c,U+86ba,U+86c4,U+86de,U+86f1,U+873e,U+87bd,U+87db,U+880a,U+883c,U+887f,U+88f0,U+890a,U+892b,U+895e,U+89ef,U+8a48,U+8bdc,U+8c18,U+8c33,U+8c94,U+8db1,U+8dcf,U+8dd6,U+8de3,U+8e6f,U+8e90,U+8f7a,U+8fb6,U+902d,U+90be,U+91af,U+936a,U+948b,U+94d8,U+9513,U+953a,U+956c,U+963c,U+9654,U+966c,U+9688,U+97b4,U+996b,U+9a75,U+9a7a,U+9aba,U+9aed,U+9b08,U+9b43,U+9c8e,U+9c94,U+9c9a,U+9e2b,U+9e36,U+9e4b,U+9e4e,U+9e55,U+9e63,U+9e68-9e69,U+9ebd,U+9ec9,U+9f0d,U+9f37,U+9f51"}},{uri:H73,descriptors:{unicodeRange:"U+50a7,U+5240,U+5261,U+52ac,U+531a,U+5363,U+5432,U+5452,U+5456,U+5472,U+5478,U+553f,U+5575,U+5581,U+55cc,U+55fe,U+5601,U+572e,U+57d2,U+57ef,U+581e,U+5924,U+5981,U+5997,U+59a3,U+5aaa,U+5ab8,U+5b34,U+5d5d,U+5def,U+5e11,U+5e91,U+5ed1,U+5ef4,U+5f40,U+600d,U+6019,U+601b,U+605a,U+6092,U+60ab,U+6217,U+623d,U+6369,U+65d2,U+6661,U+670a,U+6753,U+67a7,U+6855,U+68f9,U+6939,U+696e,U+6980,U+6a7c,U+6aab,U+6b82,U+6bf3,U+6bf9,U+6c05,U+6c19-6c1a,U+6ca9,U+6cf6,U+6d1a,U+6dab,U+6f74,U+7085,U+7198,U+71b5,U+7256,U+725d,U+727e,U+72fa,U+7322,U+738e,U+73e5,U+750f,U+755a,U+7594,U+75b3,U+760c,U+7615,U+7630,U+763f,U+77ec,U+7817,U+78a1,U+78d9,U+7905,U+7b2a,U+7b2e,U+7b62,U+7b85,U+7bcc,U+7bea,U+7c26,U+7c74,U+7c9c-7c9d,U+7e47,U+7e9b,U+7e9f,U+7ee0,U+7ee8,U+7ef1,U+7f01,U+7f11,U+7f17,U+7f36,U+7f7e,U+7fee,U+802a,U+80cd,U+8112,U+8169,U+8234,U+8279,U+8298,U+82ca,U+82d8,U+82e1,U+83c0,U+83d4,U+83df,U+8401,U+8451,U+845a,U+8476,U+8478,U+84ba,U+84bd,U+84e0,U+851f,U+8548,U+8556,U+8585,U+868d,U+86e9,U+86f4,U+86f8,U+8765,U+8785,U+87ab,U+87ee,U+8832,U+8872,U+88b7,U+88e2-88e3,U+89da,U+8bce,U+8bd3,U+8bd6,U+8bf9,U+8c16,U+8c73,U+8d5c,U+8dde,U+8f6d,U+8f94,U+8fe8,U+9011,U+915e,U+9185,U+918c,U+94ab,U+94d1,U+94f3,U+9515,U+951d,U+9558,U+9567,U+96ce,U+96e9,U+9785,U+9878,U+987c,U+9883,U+98d1,U+9954,U+9963,U+9a93,U+9ac1,U+9acc,U+9b1f,U+9b49,U+9b4d,U+9b51,U+9ca7,U+9cae,U+9cce,U+9cd3,U+9e37,U+9e39,U+9e41,U+9e46,U+9f22,U+9f2f,U+9f39,U+9f85"}},{uri:q73,descriptors:{unicodeRange:"U+4e5c,U+4edf,U+4f25,U+4f32,U+4f5e,U+4f76,U+4faa,U+4fe6,U+5028,U+5048,U+5250,U+535f,U+538d,U+53c1,U+5412,U+5443,U+54d4,U+54dd,U+5541,U+5550,U+5577,U+55dd,U+55f3,U+560f,U+562c,U+5657-5658,U+5664,U+56af,U+575c,U+577c,U+57b2,U+57da,U+5800,U+5a62,U+5aeb,U+5c3b,U+5ca3,U+5d26,U+5d9d,U+5f01,U+5fb5,U+5fdd,U+5ff8,U+6029,U+6041,U+6079,U+60b1,U+6222,U+629f,U+6332,U+63bc,U+63e0,U+6485,U+65ab,U+65c3,U+65c6,U+668c,U+669d,U+66be,U+67fd,U+6800,U+68fc,U+690b,U+6924,U+6978,U+69a7,U+6a3e,U+6a50,U+6a5b,U+6a97,U+6b24,U+6b8d,U+6baa,U+6c10,U+6c54,U+6ceb,U+6d04,U+6d4d,U+6eb1,U+6ebd,U+7110,U+71b3,U+71f9,U+7230,U+728d,U+7292,U+72b8,U+72d2,U+7360,U+73a2,U+7511,U+75a0,U+75c8,U+779f,U+7826,U+7877,U+7a39,U+7aa8,U+7ae6,U+7b04,U+7b0f,U+7baa,U+7bac,U+7c1f,U+7ccd,U+7ecb,U+7ed4,U+7ed7,U+7efb,U+7f0d,U+7f5f,U+7faf,U+7fd5,U+7fe5,U+8027,U+80bc,U+80dd,U+80fc,U+8132,U+815a,U+8167,U+816d,U+81ca,U+8228,U+82a1,U+82a9,U+82ab,U+82cc,U+8351,U+8368,U+83b8,U+83d8,U+83ea,U+83f0,U+8497,U+84c1,U+858f,U+85ff,U+867b,U+86a8-86a9,U+870a,U+8722,U+876e,U+877c,U+87e5,U+8888,U+88df,U+8919,U+8bcc,U+8bdf,U+8be8,U+8bee,U+8c20,U+8c2f,U+8d36,U+8df8,U+8e05,U+8e2f,U+8f9a,U+9021,U+908b,U+90b4,U+90ba,U+90d0,U+90eb,U+90fe,U+91aa,U+933e,U+9486-9487,U+948d,U+9490,U+94ad,U+94bd,U+94d6,U+94d9,U+9507,U+9546,U+955e,U+956b,U+95e9,U+9604,U+960b,U+9612,U+9615,U+9617,U+96b9,U+989a-989b,U+989e,U+9a78,U+9a7d,U+9aa0,U+9aa2,U+9ac2,U+9b23,U+9b3b,U+9c82,U+9cca,U+9cd9,U+9e28,U+9e5a,U+9e5e,U+9e6c,U+9efe,U+9f0b"}},{uri:l73,descriptors:{unicodeRange:"U+4e47,U+4e8d,U+4f65,U+4f89,U+50ee,U+520e,U+5416,U+5454,U+54bb,U+54c2,U+54d3,U+54de,U+5591,U+55e5,U+560c,U+566b,U+5769,U+578c,U+5793,U+57e4,U+5889,U+593c,U+59ab,U+5ad4,U+5ad8,U+5af1,U+5b53,U+5ba5,U+5c59,U+5c63,U+5d5b,U+5e0f,U+5e14,U+5edb,U+5fbc,U+6004,U+60ad,U+610e,U+61b7,U+624c,U+634c,U+647a,U+64ba,U+65f0,U+6600,U+66f7,U+67e2,U+67f0,U+680c,U+686b,U+6874,U+691f,U+6989,U+6a17,U+6b81,U+6b84,U+6c06-6c07,U+6c3d,U+6d07,U+6d27,U+6d2b,U+6d91,U+6e6b,U+6e8f,U+6fde,U+70bb,U+723b,U+726e,U+72b0,U+72ce,U+72f2,U+7301,U+731e,U+737e,U+7477,U+748e,U+74ff,U+7633,U+7654,U+771a,U+7726,U+7765,U+7768,U+781c,U+7829,U+78d4,U+7913,U+7957,U+79d5,U+79eb,U+7a70,U+7a86,U+7b25,U+7b38,U+7b47,U+7b72,U+7ba6-7ba7,U+7dae,U+7ee1,U+7efe,U+7f26,U+7f31,U+7f35,U+801c,U+8043,U+809f,U+80ab,U+80d7,U+8118,U+8188,U+81cc,U+823e,U+8244,U+824f,U+82b4,U+82c1,U+82e4,U+82f4,U+8306,U+833a,U+835c,U+839c,U+83b3,U+83bc,U+846d,U+867a,U+868b,U+8734,U+87ca,U+886e,U+887e,U+88a2,U+88c9,U+8921,U+8bb5,U+8bf3,U+8c04,U+8c17,U+8c1d,U+8c25,U+8c36,U+8c55,U+8c78,U+8d3d,U+8d40,U+8d59,U+8d67,U+8d91,U+8dbf,U+8deb-8dec,U+8dfd,U+8e14,U+8e41,U+8f8e,U+900b,U+9044,U+9062,U+90cf,U+9123,U+9146,U+9162,U+9172,U+918d,U+9190,U+92c8,U+93ca,U+948c,U+94aa,U+94b2,U+94c8,U+94ca,U+94d5,U+94df,U+94e9-94ea,U+94f7,U+94fc-94fd,U+951b,U+954f,U+9554,U+9559,U+9566,U+9571-9572,U+95f1,U+9608,U+960f,U+97af,U+988f,U+98d5,U+992e,U+9955,U+9ab0,U+9b32,U+9c90,U+9c9e,U+9ca5,U+9ca9,U+9cad,U+9cb1,U+9cc3,U+9e47,U+9ee7,U+9f87"}},{uri:L73,descriptors:{unicodeRange:"U+4e93,U+4ec4,U+4ef5,U+4f27,U+4f7b,U+4fe3,U+5080,U+5121,U+51eb,U+5208,U+52f0,U+53f5,U+5453,U+5466,U+54a6,U+54bf,U+54d0,U+5533,U+5549,U+5556,U+556d,U+558f,U+55f2,U+55f5,U+5627,U+567b,U+56d4,U+571c,U+5739,U+57b4,U+5807,U+58c5,U+59a4,U+59af,U+59d8,U+5a09,U+5a0c,U+5a4a,U+5ad2,U+5b6c,U+5ca2,U+5cac,U+5d03,U+5d6c,U+5db7,U+5ebe,U+5f2d,U+5fea,U+6042,U+6120,U+6175,U+6221,U+623e,U+6339,U+638a,U+643d,U+64b8,U+64e2,U+66e9,U+67b3,U+67c1,U+67d2,U+6832,U+6877,U+68f0,U+6934,U+6966,U+6987,U+6998,U+69c1,U+69ce,U+6a3d,U+6a84,U+6aa9,U+6b87,U+6bd6,U+6c16,U+6c18,U+6cd4,U+6cee,U+6de0,U+6e0c,U+6ecf,U+6f4b,U+70b7,U+7168,U+72d9,U+7352,U+73b3,U+73d0,U+7441,U+74d2,U+75a5,U+75e7-75e8,U+7610,U+7619,U+765e,U+772d,U+7812,U+782c,U+784c,U+7850,U+7856,U+789b,U+78f4,U+7a51,U+7b15,U+7b1e,U+7b24,U+7b5a,U+7bb8,U+7bc1,U+7bd9,U+7ed0,U+7ee6,U+7efa,U+7f1b,U+7f1f,U+7f22,U+7f45,U+7f71,U+7fa7,U+7fbf,U+7ff3,U+8052,U+80b1,U+80db,U+80f4,U+81bb,U+81ec,U+8202,U+8210,U+8249,U+828a,U+828e,U+82e3,U+8315,U+8369,U+8378,U+83a8,U+83aa,U+83b4,U+83e1,U+84fc,U+8538,U+853b,U+859c,U+85ae,U+86b4,U+86c9,U+86cf,U+8725,U+879f,U+87b3,U+887d,U+88fe,U+8a8a,U+8ba7,U+8c07,U+8c14,U+8c30,U+8c47,U+8db5,U+8dd7,U+8e1f,U+8e69,U+8e70,U+8e85,U+8f78,U+8f87,U+8f8b,U+8f8f,U+90c4,U+9143,U+917d,U+948f,U+94cd,U+94d2,U+94ef,U+954a,U+9609-960a,U+96d2,U+9708,U+9765,U+97ea,U+9880,U+98a7,U+996c,U+9980,U+9991,U+9a88,U+9ab6,U+9afb,U+9b47,U+9c87,U+9c9b,U+9cb5,U+9cc7,U+9e2c,U+9e42,U+9e58,U+9ecd,U+9ecf,U+9f8a,U+9f8c"}},{uri:X73,descriptors:{unicodeRange:"U+4ebb,U+4edd,U+4fa9,U+502c,U+50a5,U+51c7,U+51fc,U+523d,U+5241,U+530f,U+5464,U+549d,U+54a3,U+5514,U+5527,U+555c,U+556e,U+5576,U+55b1,U+55b9,U+55eb,U+5624,U+564c,U+5671,U+5685,U+568f,U+56d7,U+56e1,U+57a1,U+57d9,U+5942,U+5a67,U+5c50,U+5c7a,U+5c98,U+5d06,U+5d27,U+5d6f,U+5df3,U+5dfd,U+5e19,U+5ea0,U+5eb9,U+5eea,U+5ffe,U+600f,U+606b,U+6215,U+622c,U+6266,U+62bb,U+62bf,U+6308,U+6387,U+63b8,U+63c4,U+63c6,U+63f6,U+6441,U+6555,U+659b,U+6677,U+66a7,U+6775,U+678b,U+679e,U+6840,U+6849,U+6860,U+68c2,U+6910,U+6a28,U+6a2f,U+6a79,U+6b92-6b93,U+6bc2,U+6bfd,U+6c29,U+6c32,U+6c86,U+6cc5,U+6d0c,U+6d60,U+6da0,U+6ddd,U+6e86,U+6ed3,U+6edf,U+6fb9,U+6fd1,U+6fef,U+7023,U+7080,U+70ca,U+712f,U+7145,U+7284,U+732c,U+73c8,U+73d9,U+740a,U+7457,U+7596,U+759d,U+75a3,U+75d8,U+75e3-75e4,U+75ff,U+7622,U+7688,U+76b4,U+76e5,U+7818,U+7887,U+789a,U+78b2,U+7b08,U+7b33,U+7c2a,U+7ccc,U+7ea8,U+7ec0,U+7fe6,U+8012,U+8084,U+8093,U+80e4,U+80ef,U+8297,U+82a8,U+82be,U+8331,U+8366,U+83c5,U+83fd,U+8473,U+84a1,U+84ca,U+84d1,U+857b,U+85c1,U+85d3,U+8605,U+8662,U+86aa,U+86b1,U+86d4,U+86ed,U+86f3,U+8709,U+8748,U+874c,U+8763,U+89c7,U+89de,U+89e5,U+8a3e,U+8ba6,U+8c00,U+8c21,U+8c49,U+8c7a,U+8d30,U+8df9,U+8e51,U+8e59,U+8f6b,U+8f73,U+8ff3,U+9016,U+9026,U+902f,U+9099,U+909b,U+90c7,U+914a,U+91ae,U+91ba,U+9495,U+94a3,U+94af,U+94ba,U+94bf,U+94cc,U+94e1,U+94f0,U+9531,U+955d,U+95f3,U+9697,U+96bc,U+975b,U+977c,U+98a2,U+998a,U+9994-9995,U+9a9b,U+9ab7,U+9ac5,U+9c91,U+9ccf,U+9cd5,U+9e29,U+9edc,U+9edf,U+9f83,U+9f88-9f89"}},{uri:v73,descriptors:{unicodeRange:"U+4ee8,U+4f22,U+4f43,U+4f57,U+4f5d,U+4f6f,U+4ff8,U+502d,U+507b,U+5345,U+53df,U+53fb,U+544b,U+5482,U+54a7,U+54cc,U+550f,U+5544,U+5555,U+5594,U+55e8,U+55ec,U+55ef,U+564e,U+56f9,U+5704,U+576d,U+5785,U+57ad,U+5914,U+5958,U+599e,U+59aa,U+59be,U+5a06,U+5abe,U+5ae1,U+5b40,U+5bee,U+5cbf,U+5cc4,U+5ccb,U+5d47,U+603f,U+6078,U+607d,U+607f,U+608c,U+609a,U+60fa,U+61ff,U+621b,U+622e,U+626a,U+6371,U+63ae,U+63cd,U+63d6,U+6410,U+6414,U+6421,U+6448,U+64d8,U+6710,U+6748,U+6772,U+680e,U+6954,U+69ab,U+6c68,U+6c8f,U+6ca4,U+6d2e,U+6e4e,U+6e98,U+6fe0,U+7094,U+70e9,U+7116,U+7119,U+723f,U+73c9,U+74e4,U+753e,U+7548,U+75bd,U+75cd,U+7618,U+7634,U+76c5,U+76f1,U+7708,U+7719,U+777e,U+7791,U+77b3,U+7823,U+7827,U+7830,U+7889,U+7893,U+7949,U+795c,U+79e3,U+7a14,U+7a88,U+7a95,U+7aa0,U+7afd,U+7b90,U+7bd1,U+7bfe,U+7da6,U+7ec2,U+7eef,U+7f03-7f04,U+7f08,U+7f58,U+7f61,U+7f9f,U+8174,U+8200,U+828d,U+82c4,U+82d5,U+82dc,U+82f7,U+832d,U+835a,U+840b,U+8438,U+852b,U+869d,U+86ac,U+86d0,U+86f0,U+8782,U+87a8,U+87d1-87d2,U+87e0,U+8839,U+8913,U+891b,U+8934,U+8941,U+89ca,U+89ce,U+8a07,U+8ba3,U+8bc5,U+8bcb,U+8bdb,U+8c11,U+8c15,U+8c29,U+8c32,U+8dc4,U+8dce,U+8ddb,U+8dfa,U+8e09,U+8e1d,U+8e39,U+8e42,U+8e49,U+8e4b,U+8e8f,U+8f71-8f72,U+9004,U+9036,U+9097,U+90dc,U+90e2,U+90e6,U+90ef,U+9104,U+919a,U+91b4,U+938f,U+9497,U+950f,U+9557,U+9562-9563,U+9573,U+9606,U+9649,U+972d,U+973e,U+97a3,U+97eb,U+988c,U+9894,U+98a6,U+9974,U+9977,U+997d,U+9a90,U+9a9d,U+9aef,U+9ca2,U+9ccd,U+9cdf,U+9e20,U+9e4c,U+9e6b,U+9f3e"}},{uri:x73,descriptors:{unicodeRange:"U+4ede,U+4ee1,U+4eeb,U+4fda,U+4ffe,U+5025,U+506c,U+50f3,U+5106,U+520d,U+525c,U+52ad,U+530d,U+5310,U+539d,U+53a9,U+53fc,U+5421,U+5477,U+54e7,U+551b,U+5530,U+557e,U+5599,U+55c4,U+55d1,U+55d4,U+55df,U+55e4,U+55ea,U+5623,U+562d,U+5654,U+56eb,U+56f5,U+57a7,U+57d5,U+57dd,U+584d,U+5880,U+58ec,U+59dd,U+5a32,U+5a55,U+5a75,U+5b51,U+5b71,U+5b73,U+5cd2,U+5ce4,U+5e5b,U+5e96,U+5fd2,U+607b,U+61d1,U+634b,U+636d,U+63b3,U+63ff,U+64c0,U+661d,U+6657,U+66dc,U+67a5,U+6841,U+6867,U+6901,U+699b,U+6a47,U+6b46,U+6c21,U+6c24,U+6c35,U+6c4a,U+6c94,U+6ca3,U+6d39,U+6d63,U+6d6f,U+6d94,U+705e,U+71e7,U+726f,U+72cd,U+72de,U+72f0,U+7325,U+7350,U+7391,U+741a,U+757f,U+7583,U+75b1,U+75b4,U+75b8,U+75c2,U+75f1,U+766f,U+7699,U+7751,U+789c,U+7a17,U+7be6,U+7cb2,U+7ea3,U+7eb0,U+7ebe,U+7eeb,U+7f25,U+7f2c,U+7fb8,U+8026,U+8037,U+8153,U+8171,U+8191,U+8214,U+821b,U+8222,U+826e,U+82eb,U+830c,U+8314,U+8334,U+83d6,U+8418,U+843c,U+84ff,U+8564,U+8572,U+8616,U+866c,U+8693,U+86a3,U+86a7,U+86af,U+86b6,U+86c6,U+86ca,U+8708,U+870d,U+8759,U+8760,U+87af,U+87c6,U+8869,U+88c6,U+89d0,U+8b07,U+8baa-8bab,U+8bc2,U+8be4,U+8bf0,U+8c2a,U+8c62,U+8c89,U+8d49,U+8d6d,U+8d84,U+8d94,U+8db8,U+8dc6,U+8e2e,U+8e3d,U+8e47,U+8e7f,U+9005,U+9051,U+907d,U+9082,U+9088,U+90b0,U+90d3,U+9150,U+949c,U+94a4,U+94b9,U+94cb,U+94e0,U+9509,U+9512,U+951f,U+9534,U+9552-9553,U+965f,U+96b0,U+9791,U+9889,U+9990,U+9a9c,U+9aa7,U+9c88,U+9cb2-9cb3,U+9cb6-9cb7,U+9cc5,U+9cdc,U+9e22,U+9e2a,U+9e57,U+9e67,U+9e73,U+9e82,U+9eb8,U+9ee0,U+9f9b"}},{uri:W73,descriptors:{unicodeRange:"U+4eb5,U+4f09,U+4f5a,U+4f8f,U+4fce,U+4fdf,U+4fea,U+4ff3,U+500c,U+500f,U+504e,U+5088,U+52be,U+5420,U+5457,U+5499,U+549b,U+54c6,U+54d2,U+558b,U+559f,U+55bd,U+55d6,U+565c,U+567c,U+568e,U+5768,U+577b,U+57a9,U+57ed,U+59f9,U+5a11,U+5a40,U+5ae6,U+5b6a,U+5b93,U+5bb8,U+5c15,U+5c99,U+5c9c,U+5cc1,U+5d2e,U+5d4b,U+5d99,U+5e54,U+5e61,U+5fcf-5fd1,U+6002,U+6006,U+6014,U+60af,U+60c6,U+60da,U+60f4,U+621f,U+62c8,U+631b,U+631e,U+63e9,U+64b5,U+655d,U+6619,U+6635,U+6641,U+67ad,U+67b0,U+67b7,U+67e9,U+684e,U+688f,U+695d,U+696b,U+69b7,U+6a58,U+6c26,U+6d35,U+6d43,U+6d9e,U+6dd9,U+6dec,U+6e11,U+6e6e,U+6e9f,U+6ec2,U+6ee2,U+6ef9,U+6f09,U+6f66,U+6f8d,U+6fc2,U+6fc9,U+729f,U+72c8,U+73de,U+7430,U+7566,U+7579,U+75c9,U+75e2,U+75fc,U+762a,U+7638,U+7678,U+76c2,U+76f9,U+778c,U+77cd,U+77dc,U+7800,U+781d,U+782d,U+783b-783c,U+78a3,U+78ec,U+7980,U+7a23,U+7b95,U+7bdd,U+7c0c,U+7c41,U+7c91,U+7cb3,U+7cc5,U+7ecc,U+7f19,U+7fca,U+8006,U+8069,U+807f,U+80bd,U+80ed,U+814b,U+8198,U+82cb,U+82d2,U+834f,U+8360,U+847a,U+84d6,U+84e5,U+8537,U+85d0,U+8671,U+86a4,U+86ce,U+86f9,U+8703,U+8707,U+8737,U+873b,U+8815,U+8936,U+8bc3,U+8bcf,U+8bd2,U+8bd8,U+8be9,U+8c0c,U+8c0f,U+8c4c,U+8d45,U+8d5d,U+8d73,U+8e31,U+8e6d,U+8e76,U+8fe4,U+9041,U+90d7,U+9169,U+92ae,U+94a1,U+94c4,U+94c9,U+94db,U+94e7,U+9503,U+9506,U+9517,U+9528,U+9537,U+9542,U+9549,U+95fe,U+9616,U+961a,U+96c9,U+96f3,U+9701,U+970e,U+9739,U+9753,U+9798,U+98d2-98d3,U+98d9-98da,U+9968,U+996f,U+9984,U+9997,U+9acb,U+9b03,U+9c85,U+9ca8,U+9cab,U+9e49,U+9e51,U+9e66,U+9f10"}},{uri:S73,descriptors:{unicodeRange:"U+4e15,U+4e1e,U+4e2b,U+4eb3,U+4ec9,U+4f0e,U+4f64,U+501c,U+50a9,U+510b,U+51a2,U+51bc,U+527d,U+52d0,U+53fd,U+5429,U+542e,U+5486,U+54af,U+5506,U+5511,U+5522,U+552c,U+556c,U+55b3,U+55d2,U+55e6,U+55fd,U+561f,U+5639,U+5659,U+5662,U+5693,U+572a,U+5892,U+598a,U+5992,U+59a9,U+5a20,U+5ae3,U+5b17,U+5b7d,U+5d34,U+5d3d,U+5d4a,U+5d82,U+5e1a-5e1b,U+5ea5,U+5f0b,U+5f77,U+5fd6,U+5fff,U+6026,U+6035,U+6063,U+60b4,U+60bb,U+60ee,U+612b,U+6194,U+61ca,U+61e6,U+61f5,U+620a,U+6248,U+62a1,U+62d7,U+6376,U+637b,U+652b,U+65bc,U+65cc,U+65ce,U+65d6,U+664c,U+665f,U+6666,U+6684,U+66b9,U+6773,U+6777,U+6787,U+67de,U+6845,U+693d,U+6994,U+6a35,U+6d54,U+6d5c,U+6d8e,U+6dd6,U+6eb4,U+6f2a,U+6f78,U+704f,U+70ec,U+7118,U+714a,U+7172,U+71b9,U+724d,U+728a,U+7337,U+733e,U+7396,U+73b7,U+73cf,U+7428,U+742c,U+742e,U+74ee,U+74f4,U+7525,U+753a,U+7572,U+75d4,U+765c,U+768e,U+7762,U+777d,U+77fd,U+7825,U+7837,U+78b4,U+795f,U+79ed,U+7a1e,U+7b06,U+7b20,U+7ba9,U+7bab,U+7c7c,U+7cbd,U+7cdc,U+7ec9,U+7ef6,U+7f30,U+7f42,U+7f44,U+7f54,U+7f94,U+8004,U+800b,U+8019,U+809b,U+80ae,U+80c4,U+80f1,U+8146,U+816e,U+817c,U+81c0,U+81fc,U+81fe,U+822b,U+830f,U+832f,U+8340,U+8365,U+8385,U+8392,U+83a0,U+8424,U+84af,U+869c,U+8713,U+8717-8718,U+87c0,U+87cb,U+87fe,U+8821,U+8902,U+89d1,U+8bb9,U+8c12,U+8d32,U+8d53,U+8df7,U+8e7c,U+8f7c,U+8f95,U+8fab,U+9052,U+905b,U+9095,U+909d,U+90c5,U+911e,U+9122,U+916a,U+919b,U+948e,U+9492,U+949a,U+94b5,U+94bc,U+94c6,U+94f1,U+9502,U+9511,U+9536,U+956f-9570,U+9602,U+9621,U+9631,U+998b,U+99a5,U+9a81,U+9a9e,U+9ebe,U+9f8b"}},{uri:Y73,descriptors:{unicodeRange:"U+4f2b,U+4f3d,U+4fac,U+5043,U+5055,U+5140,U+5156,U+51cb,U+5243,U+531d,U+536f,U+53a5,U+53ae,U+53f1,U+541d,U+5431,U+547b,U+5492,U+5494,U+54a4,U+54aa,U+54ce,U+54fd,U+5509,U+5520,U+553e,U+557b,U+55c5,U+55e1,U+55f7,U+5608,U+5636,U+563b,U+5773,U+57a0,U+5811,U+587e,U+58d5,U+59e3,U+5a29,U+5a6a,U+5a76,U+5a7a,U+5ac9,U+5b62,U+5b95,U+5c49,U+5c8c,U+5cab,U+5cb7,U+5d02,U+5d58,U+5e44,U+5e7a,U+5eff,U+5f29,U+5f89,U+5f9c,U+5fa8,U+6005,U+6043,U+60b8,U+60d8,U+60ec,U+60f0,U+6115,U+618e,U+630e,U+637a,U+6390,U+63ac,U+63b0,U+64de,U+6525,U+6538,U+65ee-65ef,U+6631,U+6636,U+6654,U+677c,U+67b8,U+67d8,U+683e,U+6886,U+68b5,U+692d,U+6963,U+6979,U+6988,U+6b59,U+6b9a,U+6c69,U+6c74,U+6cae,U+6ce0,U+6cef,U+6d95,U+6dc5,U+6dde,U+6de6,U+6dfc,U+6ea7,U+6f15,U+6f29,U+7096,U+70c3,U+7131,U+715c,U+7166,U+7266,U+7317,U+731d,U+7329,U+73e9,U+7425,U+7455,U+7490,U+74ef,U+7519,U+75b5,U+75b9,U+75de,U+7656,U+7663,U+7691,U+7729,U+77fe,U+783e,U+787c,U+795a,U+7a79,U+7abf,U+7b3a,U+7b4f,U+7b60,U+7b75,U+7b8d,U+7bb4,U+7bd3,U+7be1,U+7cbc,U+7edb,U+7f1c,U+7f8c,U+7fb2,U+7fb9,U+7fce,U+7ff1,U+810d,U+81c6,U+82a5,U+82aa,U+82de,U+8317,U+8343,U+835e,U+8364,U+836a,U+853a,U+8543,U+854a,U+8559,U+8568,U+85b0,U+85b9,U+864f,U+86e4,U+8715,U+8845,U+8884,U+88e8,U+88f1,U+8983,U+8be1,U+8c1f,U+8c27,U+8c5a,U+8c82,U+8d58,U+8dbe,U+8f98,U+9035,U+9074,U+90a1,U+9149,U+9157,U+93d6,U+949d,U+94c2,U+94e3-94e4,U+95eb,U+95f0,U+9611,U+9619,U+9642,U+968d,U+9706,U+970f,U+97ed,U+988a,U+9893,U+98e8,U+9a77,U+9a87,U+9aa1,U+9abc,U+9cdd,U+9e2f,U+9e33,U+9e44,U+9e5c,U+9e9d,U+9edd"}},{uri:R73,descriptors:{unicodeRange:"U+4f58,U+4f6c,U+4f70,U+4fd0,U+5014,U+51bd,U+524c,U+5315,U+5323,U+535e,U+540f,U+542d,U+545b,U+548e,U+549a,U+54ab,U+54fc,U+5567,U+556a,U+5600,U+5618,U+563f,U+5669,U+56f1,U+56ff,U+573b,U+574d,U+579b,U+57b8,U+57c2,U+586c,U+58f9,U+595a,U+598d,U+5993,U+5996,U+59d7,U+5b7a,U+5ba6,U+5c4e,U+5c96,U+5ce5,U+5eb6,U+5f08,U+5f99,U+602f,U+6059,U+606c,U+607a,U+60ed,U+61a9,U+620c,U+6249,U+62a8,U+62c4,U+62ed,U+62fd,U+6342,U+6345,U+6396,U+63a3,U+6402,U+6413,U+642a,U+6487,U+64a9,U+64ac,U+64ae,U+64b7,U+659f,U+65a1,U+667e,U+66f3,U+67e0,U+69db,U+69df,U+6aac,U+6b86,U+6c50,U+6c5e,U+6c76,U+6c85,U+6c8c,U+6cde,U+6d19,U+6d52,U+6da7,U+6db8,U+6e1a,U+6e25,U+6e4d,U+6e5f,U+6ec1,U+6f31,U+6f7a,U+6fa7,U+6fe1,U+701b,U+70ab,U+70f7,U+717d,U+71a8,U+7252,U+72c4,U+72e1,U+7315,U+736d,U+73ae,U+73c0,U+73c2,U+740f,U+75a4,U+7600-7601,U+768b,U+76bf,U+76d4,U+7728,U+772f,U+776c,U+77a0,U+77b0,U+77f8,U+783a,U+78d0,U+78fa,U+7977,U+7a37,U+7a92,U+7afa,U+7b71,U+7b94,U+7cef,U+7f28,U+7fe1,U+808b,U+80e5,U+80eb,U+8110,U+8113,U+812f,U+814c,U+81c3,U+8235,U+82d4,U+8309,U+83c1,U+8431,U+8469,U+84bf,U+84d3,U+84df,U+84e6,U+8511,U+8638,U+86c0,U+86db,U+86fe,U+8757,U+8822,U+8882,U+8885,U+8892,U+88f3,U+892a,U+8ba5,U+8bd9,U+8be0,U+8be7,U+8bfd,U+8c1a,U+8d4a,U+8d4e,U+8d66,U+8dda,U+8e0c,U+8e52,U+8e74,U+8e87,U+8f76,U+8fc2,U+8fe6,U+900d,U+9068,U+90ac,U+90b3,U+90b8,U+90e7,U+9119,U+9131,U+915a,U+916e,U+94b4,U+94d0,U+94e2,U+94ec,U+94ff,U+9522,U+9535,U+9556,U+965b,U+96f9,U+9774,U+9981,U+998d,U+998f,U+9a6e,U+9a7f,U+9a8a,U+9b13,U+9c9f,U+9e3e,U+9e43,U+9e6d,U+9e8b,U+9e92,U+9edb,U+9eef"}},{uri:T73,descriptors:{unicodeRange:"U+4e10,U+4e56,U+4e98,U+4ec3,U+4f3a,U+4f5f,U+4f88,U+4f97,U+4fa5,U+4fe8,U+504c,U+5197,U+52fa,U+5364,U+53e8,U+5406,U+543c,U+545c,U+5471,U+5480,U+5495,U+54b3,U+54df,U+54e6,U+54ee,U+557c,U+5583,U+55dc,U+55e3,U+566c,U+592f,U+5944,U+5983,U+59ca,U+59e5,U+5a13,U+5a7f,U+5b09,U+5bd0,U+5e4c,U+5eb5,U+5f1b,U+5f3c,U+608d,U+60cb,U+61a7,U+61ac,U+61cb,U+6233,U+62a0,U+62e7,U+62ee,U+62f4,U+62f7,U+634e,U+6382,U+63c9,U+63ea,U+6400,U+645e,U+6482,U+6556,U+6593,U+6615,U+664f,U+66e6,U+672d,U+675e,U+67da,U+6805,U+6808,U+6868,U+68a2,U+695e,U+69ad,U+6a80,U+6a90,U+6b83,U+6be1,U+6c30,U+6cad,U+6cb1,U+6cf1,U+6d31,U+6d93,U+6dae,U+6dbf,U+6dc6-6dc7,U+6e0d,U+6e32,U+6e3a,U+6e85,U+6eba,U+6f3e,U+6f5e,U+6f7c,U+6fee,U+71ee,U+722a,U+72b7,U+72e9,U+73ba,U+73d1,U+7409,U+7435-7436,U+7459-745a,U+747e,U+7487,U+74e2,U+7504,U+752c-752d,U+7599,U+759f,U+75a1,U+75ca,U+75f0,U+761f,U+7629,U+777f,U+7785,U+77a5,U+77bf,U+78d5,U+7934,U+7940,U+79a7,U+7b19,U+7c38,U+7c95,U+7cb1,U+7ce0,U+7eca,U+7ef7,U+7f2b,U+7f81,U+7fcc,U+8046,U+8148,U+8165,U+819b,U+81ba,U+828b,U+82ae,U+82b7,U+82d3,U+8301,U+830e,U+831c,U+8338,U+837c,U+8393,U+8398,U+83ba,U+83e0,U+83e9,U+853c,U+8654,U+86df,U+8712,U+873f,U+874e,U+8783,U+8859,U+88a4,U+8925,U+8bb7,U+8bff,U+8c19,U+8c1b,U+8c24,U+8c2c,U+8d61,U+8db4,U+8e6c,U+8f8a,U+8fe5,U+8ff8,U+901e,U+90f4,U+912f,U+9163,U+9170,U+91dc,U+949b,U+94a8,U+94b3,U+94c0,U+94e8,U+9525,U+9530,U+9539,U+954c-954d,U+9550,U+955b,U+962a,U+9685,U+96cc,U+9776,U+988d,U+9975,U+9985,U+9a6f,U+9aa5,U+9ab8,U+9c7f,U+9ca4,U+9cb8,U+9e25,U+9e35,U+9e4a"}},{uri:O73,descriptors:{unicodeRange:"U+4ea2,U+4ea5,U+4f36,U+4f84,U+4f8d,U+501a,U+5029,U+516e,U+51a5,U+51c4,U+51f8,U+5201,U+527f,U+5321,U+5352,U+5366,U+53e9,U+54c7,U+5632,U+5676,U+56b7,U+56bc,U+56da,U+56e4,U+5703,U+5729,U+5742,U+57a2-57a3,U+5815,U+58d1,U+5919,U+592d,U+5955,U+5a05,U+5a25,U+5a34,U+5b70,U+5b75,U+5bdd,U+5bf0,U+5c41,U+5c79,U+5c91,U+5c94,U+5ce6,U+5ced,U+5d69,U+5dc5,U+5e16,U+5e27,U+5f27,U+5f95,U+5ffb,U+6020,U+604d,U+6055,U+60e6,U+60eb,U+6123,U+618b,U+61a8,U+620d,U+62c7,U+62ce,U+62d9,U+631f,U+634d,U+6452,U+6479,U+64ce,U+64d2,U+655b,U+660a,U+6726,U+67c4,U+6809,U+6853,U+68e3,U+68f1,U+68fa,U+693f,U+6942,U+6995,U+69a8,U+69b4,U+6a71,U+6b89,U+6bcb,U+6bd3,U+6bd9,U+6c40,U+6cf8,U+6cfe,U+6d85,U+6da3,U+6daa,U+6e0e,U+6e43-6e44,U+6f88,U+7078,U+7099,U+70bd,U+70d9,U+70fd,U+7109,U+7184,U+7239,U+733f,U+73f2,U+748b,U+749c,U+749e,U+759a,U+75d2,U+75eb,U+7620,U+766b,U+7693,U+76cf,U+7738,U+773a,U+776b,U+778e,U+77aa,U+7852,U+78be,U+7948,U+795b,U+7960,U+796f,U+79ba,U+7a20,U+7a96,U+7aa5,U+7b03,U+7b28,U+7b50,U+7b77,U+7bc6,U+7bf1,U+7c27,U+7d0a,U+7ead,U+7ec5,U+7ee2,U+7ef0,U+7efd,U+7f0e,U+7f2e,U+7f79,U+7f9a,U+8098,U+80da,U+80e7,U+80f0,U+80f3,U+80fa,U+818a,U+81e7,U+8237-8238,U+8299,U+82b8,U+82ce,U+837b,U+83bd,U+83cf,U+8426,U+8475,U+85c9,U+85d5,U+85dc,U+85e9,U+871a,U+8747,U+8749,U+888d,U+8910,U+891a,U+8bb4,U+8be3,U+8bec,U+8bf2,U+8c06,U+8c0d,U+8d31,U+8d48,U+8de4,U+8e1e,U+8e4a,U+8e66,U+8f84,U+8f97,U+9083,U+90e1,U+9165,U+91c9,U+94b0,U+94f5,U+9504,U+9532,U+956d,U+95f5,U+95fa,U+9668,U+9698,U+96bd,U+9704,U+9773,U+9890,U+996a,U+997a,U+9a74,U+9a8b,U+9cc4,U+9ccc"}},{uri:I73,descriptors:{unicodeRange:"U+4ea8,U+4f1e,U+4f51,U+4f63,U+4f7c,U+4f83,U+4fa0,U+4fd1,U+4ffa,U+5018,U+5026,U+508d,U+50bb,U+50f5,U+50fb,U+5162,U+5319,U+5320,U+538c,U+5413,U+541f,U+5475,U+54bd,U+54d1,U+5589,U+5598,U+575f,U+57ae,U+57e0,U+5937,U+5974,U+5978,U+59ae,U+5a1f,U+5a49,U+5ab3,U+5b99,U+5b9b,U+5ba0,U+5be1,U+5be5,U+5c09,U+5c27,U+5de2,U+5e9a,U+5f26,U+5f8a,U+5f98,U+6021,U+606d,U+60bc,U+60d5,U+60e7,U+611a,U+614c,U+6254,U+626f,U+6292,U+6296,U+62b9,U+62e2,U+631a,U+631d,U+6320,U+6346,U+63ba,U+6467,U+64bc,U+658b,U+663c,U+6643,U+6652,U+6656,U+6687,U+66d9,U+66dd,U+66f0,U+673d,U+67ab,U+6816-6817,U+68a7,U+68ad,U+68cd,U+68e0,U+6986,U+69fd,U+6b47,U+6bd7,U+6c1f,U+6c2e-6c2f,U+6cbe,U+6de4,U+6e1d,U+6e83,U+6e9c,U+6ed4-6ed5,U+6f4d,U+70f9,U+7130,U+716e,U+718f,U+71ac,U+71e5,U+72fc,U+731c,U+7334,U+73ca,U+7422,U+7426,U+745f,U+7470,U+75af,U+75f4,U+762b,U+763e,U+7696,U+7737,U+7741,U+77a7,U+77bb,U+77ee,U+785d,U+788c,U+78ca,U+7901,U+796d,U+7985,U+79fd,U+7a3c,U+7a57,U+7a74,U+7b5b,U+7caa,U+7cb9,U+7cd5,U+7eac,U+7eb6,U+7ed1,U+7ee5,U+7f20,U+7f2a,U+7f38,U+7f69,U+7fa1,U+8018,U+8038,U+803f,U+804b,U+80a2,U+80be,U+80d6,U+817a,U+81fb,U+820c,U+82ad,U+82af,U+82bd,U+8327,U+8354,U+835f,U+8367,U+836b,U+840c,U+841d,U+8471,U+849c,U+84b2,U+84c9,U+8517,U+851a,U+8549,U+8681,U+8721,U+8776,U+88d9,U+88f9,U+89c5,U+8c1c,U+8c34,U+8d81,U+8d9f,U+8e0a,U+8e72,U+8eb2,U+8fed,U+901b,U+902e,U+906e,U+9091,U+90aa,U+90af,U+915d,U+9171,U+946b,U+9489,U+9499,U+94a5,U+9508,U+9524,U+952d,U+9551,U+9576,U+95f7,U+9600,U+96b6,U+96c0,U+9756,U+97f6,U+98a0,U+98a4,U+997f,U+9a73,U+9a86,U+9ad3,U+9e3d,U+9ed4"}},{uri:P73,descriptors:{unicodeRange:"U+4e4d,U+4e5e,U+4ec7,U+4ed5,U+50da,U+50e7,U+515c,U+51a4,U+51ff,U+5203,U+5254,U+5300,U+533e,U+5375,U+53ee,U+5435,U+543b,U+5455,U+548b,U+548f,U+54d7,U+54fa,U+5578,U+5587,U+55a7,U+560e,U+5760,U+576f,U+5777,U+5830,U+58a9,U+5962,U+59e8,U+5a07,U+5a23,U+5a3c,U+5b5a,U+5bb5,U+5bc5,U+5bde,U+5c7f,U+5cb1,U+5ce8,U+5cea,U+5d29,U+5d4c,U+5e18,U+5f57,U+5f5d,U+5f87,U+5ff1,U+6016,U+601c,U+6064,U+6177,U+61d2,U+625b,U+62e3,U+62f1,U+634f,U+63a0,U+6401,U+6405,U+6495,U+64c2,U+6512,U+6577,U+6590,U+65a7,U+65a9,U+65f7,U+6627,U+6655,U+6714,U+6795,U+67d1,U+67ff,U+68b3,U+68d5,U+68d8,U+6930,U+6960,U+6977,U+69bb,U+69d0,U+6a31,U+6b7c,U+6bb4,U+6c22,U+6c72,U+6c79,U+6c7e,U+6c81,U+6c93,U+6ca5,U+6cbc,U+6ce3,U+6cfb,U+6d3c,U+6da9,U+6df3,U+6e2d,U+6eaf,U+6ec7,U+6f13,U+6f33,U+6f62,U+6fa1,U+7011,U+707c,U+708a,U+70c1,U+70d8,U+70eb,U+711a,U+7194,U+7281,U+7316,U+7357,U+7384,U+7405,U+742a,U+745b,U+7574,U+7578,U+75ea,U+7682,U+7792,U+77d7,U+77e9,U+77eb,U+77f6,U+780c,U+78c5,U+7941,U+79e4,U+7a1a,U+7a9c,U+7ad6,U+7b5d,U+7bf7,U+7c07,U+7c3f,U+7c9f,U+7ca5,U+7cdf,U+7e82,U+7eab,U+7ece,U+7eda,U+7f09,U+7f15,U+7f9e,U+7fdf,U+7fe9,U+803b,U+803d,U+80aa,U+80b4,U+813e,U+8155,U+817b,U+819d,U+821c,U+82b9,U+82df,U+82ef,U+8304,U+83b9,U+8446,U+853d,U+85af,U+85fb,U+8650,U+865e,U+86d9,U+86ee,U+8700,U+8862,U+889c,U+88d4,U+88f8,U+895f,U+8a79,U+8bb3,U+8bb6,U+8bc0,U+8beb,U+8bf5,U+8c23,U+8c79,U+8d1e,U+8dcb,U+8e29,U+8e44,U+8e81,U+8eac,U+8eaf,U+8f8d,U+9050,U+90f8,U+914b,U+948a,U+94be,U+94ee,U+950c,U+9540,U+962e,U+9647,U+9661,U+9699,U+96cf,U+9716,U+9761,U+97a0,U+97e7,U+9a7c,U+9a8f,U+9ae6,U+9cd6,U+9e26"}},{uri:j73,descriptors:{unicodeRange:"U+4fa3,U+4fae,U+4fd8,U+4fef,U+50a3,U+5189,U+5195,U+51db,U+51f3,U+51f9,U+5220,U+5228,U+5288,U+52ff,U+532e,U+533f,U+5351,U+53db,U+53ed,U+5450,U+5484,U+5490,U+54c9,U+54e9,U+5501,U+5507,U+5543,U+55d3,U+56a3,U+575e,U+589f,U+5984,U+59ec,U+5a04,U+5a36,U+5a77,U+5a9a-5a9b,U+5ab2,U+5ac2,U+5ad6,U+5bc7,U+5c2c,U+5c34,U+5c51,U+5cd9,U+5d0e,U+5deb,U+5e3c,U+5e87,U+5ed3,U+5f13,U+5f64,U+5fe1,U+606a,U+6096,U+60df,U+60f6,U+60f9,U+6151,U+620e,U+6241,U+6252,U+6273,U+627c,U+6289,U+62c2,U+62cc,U+62ef,U+6361,U+6363,U+63b7,U+63e3,U+6518,U+66ae,U+6756,U+6789,U+6813,U+6829,U+6862,U+6866,U+6893,U+6897,U+690e,U+6984,U+69cc,U+6a1f,U+6a44,U+6a59,U+6ba1,U+6c13,U+6c90,U+6ca6,U+6cbd,U+6ccc,U+6cd3,U+6cd7,U+6d4a,U+6d4f,U+6d5a,U+6d9f,U+6da1,U+6dcc,U+6ea5,U+6ee4,U+6ee6,U+6f2f,U+6f8e,U+701a,U+7095,U+709c,U+70af,U+70db,U+70e8,U+714e,U+715e,U+71a0,U+71ce,U+7235,U+7280,U+72d0,U+72f8,U+73ab,U+7410,U+745c,U+7480,U+74a7-74a8,U+74e3,U+75ae,U+75f9,U+76b1,U+76ce,U+7736,U+77e2-77e3,U+781a,U+789f,U+797a,U+79be,U+79c3,U+79c6,U+79f8,U+7a8d,U+7a98,U+7aa6,U+7aff,U+7b1b,U+7cd9,U+7d6e,U+7ede,U+7eee,U+7f00,U+7f24,U+7f2d,U+7fd8,U+800d,U+8116,U+8151,U+81b3,U+8205,U+82c7,U+82db,U+832c,U+8335,U+8339,U+8386,U+846b,U+8587,U+8611,U+8682,U+868a,U+868c,U+8774,U+88d8,U+88f4,U+8912,U+8b6c,U+8bbd,U+8c0e,U+8c41,U+8d26,U+8d3b-8d3c,U+8d50,U+8dea,U+8e35,U+8f99,U+8fe2,U+8fe9,U+9017,U+914c,U+916f,U+9175-9176,U+918b,U+94a0,U+94ae,U+94ce,U+94f2,U+951a,U+952f,U+9541,U+9640,U+9672,U+968b,U+96cd,U+96ef,U+9713,U+97ec,U+9885,U+9992,U+9a6d,U+9a79,U+9a85,U+9cbb,U+9cd7,U+9cde,U+9e93,U+9f9f"}},{uri:N73,descriptors:{unicodeRange:"U+4e11,U+4ed7,U+4fcf,U+4fe9,U+4fed,U+50ac,U+50b2,U+5112,U+5180,U+5188,U+51f6,U+522e,U+5265,U+52cb,U+52df,U+5349,U+5367,U+5378,U+537f,U+5395,U+5398,U+53d4,U+543e,U+5440,U+5446,U+54b8,U+5565-5566,U+5580,U+55bb,U+56ca,U+572d,U+573e,U+574e,U+5782-5784,U+58f3,U+5938-5939,U+5948,U+594e,U+5a1c,U+5a74,U+5ae9,U+5b55,U+5b5c,U+5bb0,U+5bd3,U+5bf8,U+5c3f,U+5d14,U+5d2d,U+5df7,U+5dfe,U+5e05-5e06,U+5e1c,U+5e62,U+5e7b,U+5e7d,U+5ed6,U+5f2f,U+5f66,U+5f6c,U+5fa1,U+604b,U+609f,U+60a6,U+60e8,U+6101,U+6124,U+6127,U+6148,U+61be,U+6247,U+62d8,U+62da,U+633d,U+635e,U+6367,U+6380,U+638f,U+63a9,U+63fd,U+641c,U+64e6,U+655e,U+6572,U+6591,U+65a5,U+6691,U+6735,U+67a2-67a3,U+67ef,U+680b,U+6876,U+6905,U+6a0a,U+6a61,U+6b79,U+6bb7,U+6bbf,U+6c41,U+6c55,U+6c83,U+6c9b,U+6ca7,U+6cfc,U+6d46,U+6d51,U+6d74,U+6d9d,U+6daf,U+6dc0,U+6deb,U+6e17,U+6e24,U+6e89,U+6ea2,U+6ef4,U+6f6d,U+707f,U+70b3,U+70e4,U+70ef,U+710a,U+722c,U+725f,U+7261,U+72ee,U+72f1,U+730e,U+732b,U+7433,U+7538,U+75bc,U+7624,U+7709,U+7750,U+7779,U+7802,U+7898,U+78a7,U+78b1,U+78cb,U+78f7,U+7984,U+7a83,U+7aed,U+7b3c,U+7b4b,U+7c92,U+7c98,U+7ca4,U+7eb9,U+7ee3,U+7ef3,U+7ef5,U+7f05,U+7f55,U+7f62,U+7fc1,U+7fd4,U+7fe0,U+8042,U+806a,U+80a0,U+80a4,U+80c3,U+8102,U+8106,U+814a,U+8154,U+8247,U+8258,U+82cd,U+8328,U+832b,U+8389,U+83ca,U+845b,U+846c,U+84b8,U+8574,U+859b,U+8680,U+8695,U+86c7,U+8702,U+886c,U+8896,U+88b1,U+88e4,U+8bc8,U+8c10,U+8c26,U+8c28,U+8c2d,U+8d4c,U+8d63,U+8f67,U+8f74,U+8fc4,U+9006,U+9063,U+90a2,U+90b1,U+90c1,U+9177,U+9189,U+9493,U+949e,U+94fe,U+9610,U+961c,U+96a7,U+96fe,U+978d,U+97f5,U+9888,U+997c,U+9a84,U+9b3c,U+9b44-9b45,U+9b54,U+9e64,U+9f0e,U+9f9a"}},{uri:V73,descriptors:{unicodeRange:"U+4e19,U+4e38,U+4e53,U+4e7e,U+4e9f,U+4ec6,U+4f50,U+4fde,U+502a,U+5154,U+517d,U+51d1,U+51f0,U+5239,U+5256,U+52c9,U+52fe,U+5308,U+532a,U+535c,U+5384,U+53a2,U+53a8,U+53c9,U+53e0,U+5496,U+54ac,U+54c0,U+54c4,U+54e8,U+5561,U+5582,U+561b,U+5631,U+566a,U+5764,U+576a,U+5792,U+57ab,U+584c,U+5885,U+58f6,U+59a8,U+5acc,U+5bc2,U+5c38-5c39,U+5c60,U+5c6f,U+5c82,U+5c90,U+5d16,U+5dcd,U+5e37,U+5e90,U+5eb8,U+5f6a,U+5fcc,U+6012,U+6068,U+6073,U+607c,U+6094,U+6109,U+621a,U+626e,U+6284,U+62d0,U+62e6,U+62fe,U+6321,U+6328,U+632b,U+6349,U+6454,U+65ed,U+660f,U+6674,U+66a8,U+6749,U+674f,U+6760,U+67af,U+6850,U+6854,U+6869,U+68a8,U+68d2,U+68f5,U+6912,U+6b49,U+6b6a,U+6bef,U+6c28,U+6c5d,U+6c82,U+6cab,U+6cb8,U+6cc4,U+6cf5,U+6d47,U+6d78,U+6da4,U+6dc4,U+6dcb,U+6df9,U+6e0a,U+6e23,U+6e5b,U+6eb6,U+6f06,U+6f47,U+6f84,U+6f9c,U+6fd2,U+7076,U+70ac,U+7199,U+723d,U+72ac,U+72ed,U+7476,U+7529,U+752b,U+754f,U+7554,U+75d5,U+7626,U+76ef,U+7720,U+7766,U+7784,U+77ac,U+780d,U+7838,U+7845,U+786b,U+78b3,U+7978,U+79b9,U+79c9,U+79e7,U+7a3d,U+7a84,U+7a9f,U+7b0b,U+7b52,U+7c7d,U+7f1a,U+7fc5,U+7ff0,U+804a,U+8086-8087,U+808c,U+809a,U+80ba,U+810a,U+8180,U+818f,U+81c2,U+81ed,U+8231,U+8292,U+829c,U+82a6,U+82d1,U+8346,U+838e,U+839e,U+83c7,U+83f1,U+8403,U+840e,U+8513,U+857e,U+85e4,U+867e,U+871c,U+87ba,U+87f9,U+884d,U+8944,U+8a93,U+8c05,U+8d2c,U+8d2e,U+8d42-8d43,U+8dfb,U+8e22,U+8eba,U+8f69,U+8f9c,U+8fa3,U+8fa8,U+8fb1,U+900a,U+9038,U+903b,U+9042,U+904f,U+90b5,U+90dd,U+9102,U+9187,U+94a7,U+94c5,U+9523,U+95f8,U+95fd,U+960e,U+964b-964c,U+96c1,U+9709,U+971c,U+97ad,U+9882,U+9965,U+9976,U+9988,U+99a8,U+9a82,U+9a9a,U+9b41,U+9c8d,U+9e45,U+9e70,U+9e9f,U+9f3b,U+9f7f"}},{uri:h73,descriptors:{unicodeRange:"U+4e08,U+4e18,U+4e1b,U+4e22,U+4e27,U+4e32,U+4e52,U+4e73,U+4ead,U+4ed4,U+4ed9,U+4ef0,U+4fa6,U+5076,U+5179,U+51bb,U+51c9,U+51ef,U+51fd,U+524a,U+526a,U+529d,U+52ab,U+5306,U+5339,U+53d9,U+540a,U+5410,U+541e,U+5439,U+54b1,U+54ed,U+5564,U+558a,U+55b7,U+5634,U+574a,U+5751,U+57a6,U+57cb,U+57d4,U+5824,U+582a,U+5835,U+5858,U+5893,U+58e4,U+5951,U+5986,U+59da,U+59fb,U+59ff,U+5a03,U+5a46,U+5ac1,U+5b5d,U+5bfa,U+5c18,U+5c3a,U+5c48,U+5c4f,U+5c61,U+5cb3,U+5d1b,U+5e15,U+5e3d,U+5e99,U+5e9e,U+5eca,U+5f0a,U+5f17-5f18,U+5f25,U+5f7c,U+5fcd,U+6028,U+60a0,U+60ac,U+60d1,U+614e,U+6155,U+6168,U+61c8,U+6208,U+6212,U+6251,U+629a-629b,U+62ab-62ac,U+62fc,U+6323,U+632a,U+63d2,U+643a,U+6491-6492,U+649e,U+64b0,U+64c5,U+659c,U+6614,U+662d,U+6664,U+6670,U+6676,U+6746,U+67cf,U+67d4,U+682a,U+6843,U+6846,U+68da,U+6b3a,U+6b67,U+6c27,U+6c5b,U+6c64,U+6c70,U+6caa,U+6cca,U+6ce1,U+6d12,U+6d45,U+6dd1,U+6dd8,U+6e34,U+6e7f,U+6ee5,U+6f02,U+7092,U+70c2,U+70e6,U+7115,U+7237,U+7272,U+727a,U+72c2,U+739b,U+73b2,U+743c,U+751c,U+758f,U+75b2,U+7686,U+76c6,U+76d2,U+76fc,U+775b,U+77a9,U+7816,U+788e,U+7897,U+78b0,U+79bd,U+7a0d,U+7a91,U+7a9d,U+7ae3,U+7bad,U+7cca,U+7d2b,U+7eb1,U+7f06,U+7f14,U+7f1d,U+7f50,U+7ffc,U+8036,U+80bf,U+80c1,U+80ce,U+80f8,U+8109,U+810f,U+8170,U+8179,U+819c,U+821f,U+8230,U+8236,U+8273,U+829d,U+82f9,U+8305,U+8350,U+83b2,U+83cc,U+8404,U+840d,U+8427,U+8482,U+8679,U+8854,U+886b,U+8bbc,U+8be6,U+8c31,U+8c6b,U+8d4b,U+8dcc,U+8e2a,U+8e48,U+8f90,U+8fb0,U+9022,U+903c,U+903e,U+9065,U+916c,U+917f,U+94a9,U+94c3,U+94dd,U+94ed,U+9510,U+953b,U+96c7,U+970d,U+9738,U+9877,U+987d,U+989c,U+98d8,U+9a70,U+9a91,U+9aa4,U+9b42,U+9b4f,U+9e2d,U+9e3f,U+9e7f,U+9f20"}},{uri:i73,descriptors:{unicodeRange:"U+4e59,U+4ed3,U+4f0f,U+4f38,U+4f69,U+4fa7,U+4faf,U+4ff1,U+5077,U+5085,U+5144,U+5151,U+51af,U+51b6,U+51cc,U+523a,U+5251,U+5269,U+5272,U+52d8,U+5353,U+5389,U+53f9,U+5401,U+5415,U+541b,U+54f2,U+5524,U+554a,U+559d,U+5609,U+5740,U+575d,U+5806,U+5821,U+586b,U+5915,U+594f,U+5960,U+5999,U+59a5,U+59b9,U+59c6,U+59d1,U+59dc,U+5b5f,U+5b64,U+5b87,U+5bb4,U+5bbf,U+5c16,U+5c1d,U+5c3e,U+5c9a,U+5ca9,U+5cad,U+5cfb,U+5de1,U+5de7,U+5de9,U+5ef7,U+5f04,U+5f70,U+5f79,U+5fc6,U+602a,U+6050,U+6052,U+6070,U+6084,U+60b2,U+60dc,U+60e9,U+6167,U+6170,U+61c2,U+6270,U+6291,U+62b1,U+62bc,U+62dc,U+62df,U+62f3,U+6324,U+633a,U+6377,U+6398,U+63cf,U+640f,U+642c-642d,U+6458,U+6478,U+6500,U+654c,U+6566,U+658c,U+65c1,U+65cb,U+65e8,U+65ec,U+6696-6697,U+6734,U+679a,U+679d,U+67dc,U+67f3-67f4,U+680f,U+683d,U+684c,U+68af,U+699c,U+6bc1,U+6c0f,U+6c1b,U+6c57,U+6c6a,U+6d3d,U+6d6e,U+6d82,U+6db5,U+6dee,U+6e58,U+6eaa,U+6ecb,U+6ede,U+6ee9,U+6f0f,U+6f20,U+6f58,U+704c,U+7070,U+70b8,U+718a,U+7238,U+7262,U+7275,U+72b9,U+72d7,U+72e0,U+741b,U+7434,U+7483,U+74f6-74f7,U+75ab,U+764c,U+7761,U+7855,U+7891,U+78c1,U+79d2,U+7a00,U+7a3b,U+7c97,U+7ea4,U+7eb2,U+7ed2,U+7eea,U+7ef8,U+7f18,U+7fbd,U+8000,U+8010,U+8096,U+809d,U+80a9,U+817f,U+81e3,U+8206,U+8212,U+82ac,U+8302,U+8361,U+8377,U+83f2,U+8461,U+848b,U+84ec,U+8521,U+85aa,U+8870,U+8877,U+8881,U+888b,U+88ad,U+88c2,U+8986,U+8bd1,U+8bf1,U+8d24,U+8d2a,U+8d3e-8d3f,U+8d41,U+8d56,U+8d64,U+8d6b,U+8e0f,U+8f70,U+8f85,U+8f88,U+8fa9,U+9003,U+901d,U+90b9,U+90ce,U+94a6,U+94f8,U+9505,U+95ea,U+95ef,U+95f2,U+95f9,U+9601,U+9605,U+9634,U+966a,U+9677,U+9690,U+9694,U+96d5,U+971e,U+9896-9897,U+9972,U+9a71,U+9a76,U+9a7e,U+9e1f,U+9e23"}},{uri:a73,descriptors:{unicodeRange:"U+4e01,U+4e43,U+4ea6,U+4ef2,U+4eff,U+4f26,U+4f2a,U+4f2f,U+4f5b,U+4fa8,U+4fca,U+4fd7,U+5021,U+504f,U+5141,U+51c0,U+51dd,U+51e4,U+51ed,U+5200,U+5237,U+5427,U+5448,U+54a8,U+5706,U+5708,U+5723,U+575b,U+57c3,U+5899,U+58a8,U+58c1,U+5976,U+5988,U+59bb,U+59d0,U+59d3,U+5a18,U+5a31,U+5a92,U+5b54,U+5b85,U+5baa-5bab,U+5bc4,U+5bd2,U+5be8,U+5bff,U+5c65,U+5d07,U+5e1d,U+5e78,U+5e7c,U+5f03,U+5f1f,U+5f39,U+5f6d,U+5f92,U+5faa,U+5fbd,U+5fe7,U+5ffd,U+60a8,U+60ef,U+6108,U+6162,U+622a,U+6234,U+626b,U+626d,U+62c6,U+62d2,U+62d4,U+62d6,U+62e8,U+6316,U+6355,U+63ed,U+6447,U+64a4,U+65f1,U+6606,U+6628,U+664b,U+6668,U+6682,U+66f9,U+66fc,U+66ff,U+6717,U+6740,U+676d,U+67aa,U+67ec,U+67f1,U+6842,U+6851,U+695a,U+6982,U+6a2a,U+6b20,U+6b23,U+6b32,U+6b96,U+6bc5,U+6beb,U+6c60,U+6c9f,U+6cea,U+6cf3,U+6d1e,U+6d53,U+6d66,U+6d69,U+6d8c,U+6d9b,U+6db2,U+6de1,U+6dfb,U+6e14,U+6ed1,U+6eda,U+6ee8,U+6f2b,U+706d,U+7089,U+708e,U+70ad-70ae,U+70e7,U+7126,U+714c,U+71c3,U+71d5,U+7206,U+7259,U+731b,U+73a9,U+73bb,U+74dc,U+7532,U+7545,U+755c,U+75c7,U+7687,U+76d7,U+76f2,U+788d,U+78e8,U+79e6,U+79e9,U+7a3f,U+7a46,U+7a97,U+7af9,U+7bee,U+7c4d,U+7c89,U+7cd6,U+7eb5,U+7ebd,U+7ed8,U+8017,U+8033,U+80c0,U+80de,U+80f6,U+8138,U+817e,U+81a8,U+820d,U+827e,U+82b3,U+82d7,U+83b1,U+84c4,U+84dd,U+8584,U+864e,U+865a,U+866b,U+86cb,U+88d5,U+89e6,U+8bca,U+8bde,U+8bfa,U+8c0a,U+8c37,U+8c46,U+8c6a,U+8c8c,U+8d1d,U+8d29,U+8d4f,U+8d54,U+8d5a,U+8d60,U+8d62,U+8f7f,U+8f96,U+8f9e-8f9f,U+8fc1,U+8fdf,U+8fea,U+8ff7,U+9012,U+906d,U+9075,U+90a6,U+90bb,U+90ca,U+9178,U+9192,U+91ca,U+94bb,U+94dc,U+94fa,U+9501,U+950b,U+9521,U+955c,U+963b,U+9655,U+9675-9676,U+9887,U+9891,U+9971,U+9a97,U+9ece,U+9ed8"}},{uri:m73,descriptors:{unicodeRange:"U+4e1d,U+4e39,U+4e4c,U+4e4f,U+4e54,U+4e58,U+4e95,U+4ea1,U+4eab,U+4eae,U+4ec1,U+4f10,U+4f19,U+4f30,U+4f34,U+4fb5,U+503e,U+518c,U+5192,U+51a0,U+51ac,U+51b0,U+51e1,U+5211,U+5242,U+52a3,U+52b2,U+52c3,U+52c7,U+52d2,U+52e4,U+5377,U+539a,U+53a6,U+53e5,U+5417,U+5510,U+552f,U+5531,U+574f-5750,U+5761,U+5851,U+5854,U+58ee,U+593a,U+5949,U+5954,U+5a5a,U+5b8b,U+5bbd,U+5c04,U+5c0a,U+5c4b,U+5ce1,U+5cf0,U+5e10,U+5e8a,U+5e9f,U+5ec9,U+5f31,U+5f84,U+5fd8-5fd9,U+5fe0,U+6015,U+6062,U+6069,U+6076,U+6089,U+60a3,U+60ca,U+620f,U+624e,U+6263,U+6298,U+62a2,U+62bd,U+6311,U+6350,U+6389,U+638c,U+63f4,U+6446,U+644a,U+6469,U+64cd,U+654f,U+6562,U+656c,U+65d7,U+65e6,U+65fa,U+660c,U+6653,U+66b4,U+670b,U+672b,U+676f-6770,U+6881,U+6885,U+68a6,U+68cb,U+68ee,U+6b8a,U+6c88-6c89,U+6cc9,U+6ce5,U+6d01,U+6d17,U+6d1b,U+6d59,U+6d6a,U+6da8,U+6df7,U+6e10,U+6e20-6e21,U+6f5c,U+706f,U+70bc,U+719f,U+7267,U+732a,U+73cd,U+7518,U+756a,U+7586,U+7591,U+75db,U+76c8,U+76d0,U+76d6,U+76d8,U+76df,U+76fe,U+77db,U+7801,U+786c,U+795d,U+7965,U+79cb,U+7a77,U+7a7f,U+7aef,U+7b11,U+7bb1,U+7bc7,U+7ea0,U+7eaf,U+7ed5,U+7edc,U+7f13,U+7f29,U+7f34,U+7f8a,U+7ffb,U+8015,U+8058,U+805a,U+8083,U+80af,U+80c6,U+80cc,U+811a,U+8150,U+82e5,U+8336,U+8352,U+83ab,U+8428,U+8463,U+852c,U+8861,U+89c8,U+8bcd,U+8bd7,U+8bda,U+8be2,U+8bef,U+8bf8,U+8c0b,U+8c13,U+8d34,U+8d3a,U+8d74,U+8d76,U+8da3,U+8dd1,U+8ddd,U+8ddf,U+8df3,U+8f68,U+8f6f,U+8f7d,U+8f91,U+8f9b,U+8fbd,U+8fc8,U+8fd4,U+8feb,U+8ff9,U+900f,U+9057,U+907f-9080,U+90d1,U+90ed,U+91ce,U+9519,U+9526,U+95ed,U+9614,U+9635,U+9644,U+9686,U+96c5,U+96ea,U+9707,U+9732,U+9759,U+978b,U+9876,U+9881,U+9910,U+996e,U+9970,U+9c81,U+9e21,U+9ebb,U+9f84"}},{uri:$73,descriptors:{unicodeRange:"U+4e3d,U+4e4e,U+4e71,U+4e8f,U+4ed8,U+4eea,U+4f0a,U+4f0d,U+4f11,U+4f1f,U+4f24,U+4f3c,U+4f73,U+4fc4,U+500d,U+5012,U+501f,U+503a,U+505c,U+507f,U+50a8,U+514d,U+5178,U+517c,U+51b2,U+51b7,U+520a,U+5238,U+523b,U+52b1,U+535a,U+5371,U+5385,U+53eb-53ec,U+53f3,U+53f6,U+5409,U+542b,U+542f,U+5434,U+5462,U+5473,U+547c,U+54c8,U+54ea,U+56fa,U+5733,U+5757,U+5766,U+5802,U+585e,U+590f,U+591c,U+591f,U+5947,U+594b,U+5987,U+5a01,U+5b59,U+5b63,U+5b88,U+5b97,U+5b9c,U+5bbe,U+5bfb,U+5c01,U+5c1a,U+5c24,U+5c3c,U+5c97,U+5c9b,U+5cb8,U+5de6,U+5e01,U+5e2e,U+5e45,U+5e55,U+5e84,U+5ef6,U+5f02,U+5f52,U+5f69,U+5f7b,U+5f90,U+5fae,U+6000,U+600e,U+6025,U+60e0,U+6276,U+6297,U+62b5,U+62cd,U+62d3,U+62e5,U+62e9,U+62ff,U+6302,U+632f,U+63e1,U+6444,U+64ad,U+653b,U+6551,U+6563,U+65a4,U+65e7,U+6620,U+667a,U+66f2,U+671d,U+6731,U+6742,U+675f,U+6768,U+677e-677f,U+6790,U+67b6,U+67d3,U+6863,U+68b0,U+68c9,U+690d,U+6b8b,U+6bcd,U+6bd2,U+6bd5,U+6c38,U+6c61,U+6cbf,U+6cdb,U+6cf0,U+6d2a,U+6d89,U+6da6,U+6f6e,U+6fb3,U+7075,U+707e,U+70df,U+7164,U+7236,U+725b,U+7389,U+73e0,U+745e,U+74e6,U+751a,U+7537,U+75be,U+76ae,U+76db,U+793c,U+7956,U+7981,U+79d8,U+79df,U+79fb,U+7adf,U+7ae5,U+7b14,U+7b26,U+7b54,U+7b79,U+7d2f,U+7eb8,U+7eba,U+7ec6,U+7ee9,U+7eff,U+7f5a,U+7f6a,U+7f72,U+8089,U+80a5,U+80e1,U+8111,U+8131,U+821e,U+822c,U+8270,U+8499,U+8651,U+867d,U+8840,U+8857,U+8863,U+88c1,U+89c9,U+89d2,U+8a89,U+8bed,U+8bfe,U+8c01,U+8c22,U+8d21,U+8d25,U+8d2f,U+8d5e,U+8d75,U+8d8b,U+8dc3,U+8de8,U+8df5,U+8f6e,U+8f86,U+8f89,U+8fc5,U+8ff0,U+8ffd,U+9014,U+904d,U+90ae,U+9274,U+949f,U+952e,U+969c,U+96c4,U+96e8,U+96f6-96f7,U+97e9,U+987f,U+996d,U+9a7b,U+9aa8,U+9c7c,U+9c9c,U+9e4f,U+9f13,U+9f50"}},{uri:y73,descriptors:{unicodeRange:"U+4e13,U+4e16,U+4e1c,U+4e24,U+4e3e,U+4e49,U+4e61,U+4e66,U+4e89,U+4e8c,U+4e94,U+4e9b,U+4ea4,U+4eac,U+4ebf,U+4eca,U+4ef6-4ef7,U+4efb,U+4f18,U+4f20,U+4f46,U+4f7f,U+4fe1,U+503c,U+505a,U+5146,U+5148,U+515a,U+5171,U+5177,U+519b,U+51b3,U+51c6,U+51e0,U+5212,U+521b,U+522b,U+529e,U+52bf,U+534e-534f,U+5355,U+5357,U+5382,U+539f,U+53bb,U+53bf,U+53c2,U+53c8,U+53ca,U+53d6-53d8,U+53e3,U+53ea,U+53f0,U+540d,U+5411,U+56db,U+56de,U+56e0,U+56e2,U+578b,U+57ce,U+57fa,U+589e,U+5904,U+5934,U+5982,U+5b89,U+5b8c,U+5bfc,U+5c06,U+5c11,U+5c40,U+5c71,U+5e38,U+5e72,U+5e76,U+5e7f,U+5e94,U+5e9c,U+5f0f,U+5f15,U+5f20,U+5f3a,U+5f62,U+5f88,U+5fc5,U+5fd7,U+5feb,U+601d,U+6027,U+60c5,U+60f3,U+610f,U+6216,U+6218,U+624b,U+624d,U+6279,U+628a,U+6295,U+6301,U+6307,U+636e,U+63a5,U+63a8,U+652f,U+6536,U+653e,U+6548,U+6559,U+6570,U+65bd,U+65e0,U+6602,U+660e,U+6613,U+66f4,U+6700,U+670d,U+671f,U+672f,U+6743,U+674e,U+6751,U+6761,U+6784,U+6797,U+679c,U+67e5,U+6807,U+6837,U+683c,U+6b21,U+6b63-6b65,U+6bcf,U+6bd4,U+6c42,U+6c5f,U+6ca1,U+6cbb,U+6d3b,U+6d41,U+6d88,U+6df1,U+70b9,U+7136,U+7269,U+7279,U+7531,U+754c,U+767e,U+76ca,U+76f8,U+770b,U+7740,U+7814,U+79ef,U+7a0b,U+7a0e,U+7a76,U+7b80,U+7cbe,U+7cfb,U+7e41,U+7ea7,U+7ec4,U+7ec7,U+7ed3,U+7ed9,U+7edf,U+7f8e,U+8001,U+804c,U+8054,U+80b2,U+81f3,U+8425,U+8868,U+88ab,U+897f,U+89c1-89c2,U+89c4,U+89c6,U+89e3,U+8ba1,U+8ba4,U+8bae,U+8bb0,U+8bba,U+8bc1,U+8c03,U+8d28,U+8d39,U+8def,U+8f66,U+8f6c,U+8fd0-8fd1,U+9020,U+9053,U+90a3,U+90fd,U+91cc,U+9500,U+9547,U+95e8,U+95f4,U+961f,U+9645,U+9662,U+96be,U+96c6,U+9700,U+9769,U+97e6,U+9875,U+9879,U+9886,U+9898,U+98ce,U+9996,U+2b5af,U+2cc56,U+2e9f5,U+30edd-30ede"}},{uri:r73,descriptors:{unicodeRange:"U+4e03,U+4e30,U+4e34,U+4e45,U+4e60,U+4e70,U+4e88,U+4e91-4e92,U+4ea9,U+4eb2,U+4ec0,U+4ecb,U+4ecd,U+4ee4,U+4fee,U+5019,U+5047,U+50cf,U+5145,U+516d,U+5170,U+5175,U+5199,U+51cf,U+51fb,U+521a,U+5224,U+5267,U+52aa,U+5347-5348,U+534a,U+5356,U+5361,U+536b,U+5370,U+538b,U+53e4,U+53e6,U+5403,U+5426,U+5428,U+542c,U+5438,U+5668,U+56ed,U+56f4,U+56fe,U+57df,U+592a,U+5957,U+5b69,U+5b81,U+5b8f,U+5b98,U+5b9d,U+5ba1,U+5ba4,U+5bb3,U+5bc6,U+5bdf,U+5c3d,U+5c5e,U+5c81,U+5ddd,U+5de8,U+5dee,U+5e0c,U+5e86,U+5e8f,U+5e93,U+5e95,U+5e97,U+5ea7,U+5ead,U+5eb7,U+5f55,U+5f81,U+5f85,U+5ff5,U+6001,U+613f,U+6258,U+6267,U+6269,U+626c,U+627e,U+62db,U+62ec,U+6325,U+635f,U+6362,U+6388,U+6392,U+63a2,U+63a7,U+63aa,U+641e,U+6545,U+6597,U+65e2,U+65e9,U+661f,U+665a,U+666e-666f,U+66fe,U+6728,U+67d0,U+6811,U+6838,U+6865,U+697c,U+6b22,U+6b27,U+6b4c,U+6b62,U+6b66,U+6b7b,U+6bdb,U+6c47,U+6c49,U+6c7d,U+6c99,U+6cfd,U+6d0b,U+6d25,U+6d32,U+6d3e,U+6d4b,U+6e29,U+6e56,U+6e7e,U+6f14,U+6fc0,U+706b,U+70c8,U+7247,U+72af,U+72b6,U+72ec,U+732e,U+73ed,U+7403,U+7533,U+753b,U+7559,U+7565,U+7597,U+767b,U+773c,U+7763,U+77ed,U+77ff,U+7968,U+798f,U+79bb,U+79c0-79c1,U+7ad9,U+7ae0,U+7b51,U+7b7e,U+7cae,U+7d22,U+7ea2,U+7eb3,U+7eb7,U+7ec3,U+7ec8,U+7ecd,U+7edd,U+7efc,U+7f16,U+7f3a,U+7f51,U+7f57,U+7f6e,U+80dc,U+822a,U+8239,U+826f,U+82cf,U+82e6,U+8349,U+8363,U+83dc,U+8457,U+85cf,U+878d,U+8865,U+8a00,U+8b66,U+8ba2,U+8ba8,U+8bad,U+8bb2,U+8bc9,U+8bd5,U+8bfb,U+8d2b,U+8d35,U+8d37,U+8f7b,U+8f93,U+8fce,U+8fdd,U+9000-9002,U+9010,U+9047,U+9093,U+9152,U+9488,U+94a2,U+9633,U+9636,U+963f,U+9646,U+9648,U+964d,U+9664,U+9669,U+9760,U+97f3,U+987a,U+987e,U+9884,U+98de,U+9986,U+9ed1"}},{uri:g73,descriptors:{unicodeRange:"U+4e14,U+4e25,U+4e48,U+4e50,U+4e5d,U+4e9a,U+4ec5,U+4efd,U+4f17,U+4f4e-4f4f,U+4f55,U+4f59,U+4f60,U+4f8b,U+4f9b,U+4f9d,U+4fbf,U+4fc3,U+5065,U+513f,U+5149,U+514b,U+516b,U+5174,U+517b,U+518d,U+51b5,U+5207,U+5217-5219,U+521d,U+526f,U+529f,U+52a9,U+52b3,U+5305,U+533b,U+5343,U+5360,U+5373-5374,U+5386,U+53cb-53cd,U+53f2,U+53f7,U+544a,U+5468,U+547d,U+54cd,U+552e,U+5584,U+56f0,U+571f,U+5747,U+575a,U+57f9,U+5883,U+58eb,U+58f0,U+5907,U+590d,U+592e,U+5931,U+5956,U+5965,U+5973,U+5979,U+59cb,U+5b57-5b58,U+5b83,U+5ba2-5ba3,U+5bb9,U+5bcc,U+5c42,U+5c45,U+5c4a,U+5dde,U+5df1,U+5df4,U+5e03,U+5e08,U+5e26,U+5e2d,U+5f71,U+5f80,U+5f8b,U+5fb7,U+606f,U+611f,U+6237,U+623f,U+6253,U+627f,U+6293,U+62a4,U+62c5,U+62c9,U+6309,U+6574,U+6599,U+65ad,U+65af,U+65c5,U+65cf,U+6625,U+663e,U+671b,U+672a,U+6750,U+6781,U+6821,U+6839,U+6848,U+68c0,U+6a21,U+6b3e,U+6bb5,U+6c14,U+6cb3,U+6cb9,U+6ce8,U+6e05,U+6e2f,U+6e38,U+6e90,U+6ee1,U+70ed,U+7167,U+7231,U+7248,U+724c,U+7387,U+738b,U+73af,U+7530,U+75c5,U+767d,U+76d1,U+76f4,U+771f,U+77e5,U+77f3,U+7834,U+7840,U+786e,U+793a,U+795e,U+79f0,U+7a33,U+7a7a,U+7a81,U+7ade,U+7b56,U+7b97,U+7c73,U+7c7b,U+7d20,U+7d27,U+7ea6,U+7eaa,U+7ebf,U+7ee7,U+7eed,U+7ef4,U+7fa4,U+8003,U+80a1,U+81f4,U+8272,U+827a,U+8282,U+82b1,U+82f1,U+8303,U+836f,U+83b7,U+843d,U+88c5,U+8ba9,U+8baf,U+8bb8,U+8bbf,U+8bc4,U+8bc6,U+8bdd,U+8be5,U+8bf7,U+8c08,U+8c61,U+8d1f,U+8d22-8d23,U+8d27,U+8d2d,U+8d38,U+8d5b,U+8d70,U+8d85,U+8d8a,U+8db3,U+8eab,U+8f83,U+8fb9,U+8fdc,U+8fde,U+9009,U+901f,U+914d,U+91c7,U+94b1,U+94c1,U+94f6,U+95fb,U+9632,U+9650,U+968f,U+9752,U+975e,U+987b,U+989d,U+98df,U+9999,U+9a6c,U+9a8c,U+9ec4,U+9feb-9fec"}},{uri:c73,descriptors:{unicodeRange:"U+98fb-990c,U+990e-990f,U+9911-992d,U+992f-9953,U+9956-9962,U+9964,U+9966,U+9973,U+9978-9979,U+997b,U+997e,U+9982-9983,U+9989,U+998c,U+998e,U+999a-99a4,U+99a6-99a7,U+99a9-99c8"}},{uri:_73,descriptors:{unicodeRange:"U+8e4c-8e50,U+8e53-8e58,U+8e5a-8e65,U+8e67-8e68,U+8e6a-8e6b,U+8e6e,U+8e71,U+8e73,U+8e75,U+8e77-8e7b,U+8e7d-8e7e,U+8e80,U+8e82-8e84,U+8e86,U+8e88-8e8e,U+8e91-8e93,U+8e95-8e9b,U+8e9d,U+8e9f-8eaa,U+8ead-8eae,U+8eb0-8eb1,U+8eb3-8eb9,U+8ebb-8ecd,U+8ecf-8f02"}},{uri:p73,descriptors:{unicodeRange:"U+2e3a,U+3001-3002,U+3008-3011,U+3014-3017,U+301d-301f,U+4dae,U+4e00,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e1a,U+4e2a,U+4e2d,U+4e3a-4e3b,U+4e4b,U+4e5f,U+4e86,U+4e8b,U+4e8e,U+4ea7,U+4eba,U+4ece,U+4ed1,U+4ed6,U+4ee3,U+4ee5,U+4eec,U+4f01,U+4f1a,U+4f4d,U+4f53,U+4f5c,U+4fdd,U+5143,U+5165,U+5168,U+516c,U+5173,U+5176,U+5185,U+519c,U+51fa,U+5206,U+5229,U+5230,U+5236,U+524d,U+529b,U+52a0-52a1,U+52a8,U+5316-5317,U+533a,U+5341,U+5362,U+53d1,U+53ef,U+53f8,U+5404,U+5408,U+540c,U+540e,U+5458,U+548c,U+54c1,U+54e5,U+5546,U+559c,U+56fd,U+5728,U+5730,U+573a,U+5916,U+591a,U+5927,U+5929,U+592b,U+597d,U+59d4,U+5b50,U+5b66,U+5b9a,U+5b9e,U+5bb6,U+5bf9,U+5c0f,U+5c14,U+5c31,U+5c55,U+5de5,U+5df2,U+5e02,U+5e73-5e74,U+5ea6,U+5efa,U+5f00,U+5f53,U+5f97,U+5fc3,U+603b,U+6210-6211,U+6240,U+6280,U+62a5,U+63d0,U+6539,U+653f,U+6587,U+65b0,U+65b9,U+65e5,U+65f6,U+662f,U+6708-6709,U+672c,U+673a,U+675c,U+6765,U+6c11,U+6c34,U+6cd5,U+6ce2,U+6d4e,U+6d77,U+73b0,U+7406,U+751f,U+7528,U+7535,U+7684,U+76ee,U+793e,U+79cd,U+79d1,U+7acb,U+7b2c,U+7b49,U+7ba1,U+7ecf,U+8005,U+800c,U+80fd,U+81ea,U+884c,U+8981,U+8bbe,U+8bf4,U+8d44,U+8d77,U+8fbe,U+8fc7,U+8fd8-8fd9,U+8fdb,U+901a,U+90e8,U+91cd,U+91cf,U+91d1,U+9485,U+957f,U+95ee,U+9762,U+9ad8,U+9ea6,U+9f99,U+9fcf,U+9fd4,U+9fed,U+fe10-fe19,U+fe30-fe31,U+fe33-fe44,U+ff01,U+ff0c,U+ff1f,U+2b4e7,U+2b7f7,U+2b7fc,U+2cb2d,U+2cb3b,U+2cb4a,U+2cb5b,U+2cb73"}},{uri:n73,descriptors:{unicodeRange:"U+6490,U+6493-6494,U+6497-6498,U+649a-649d,U+649f-64a3,U+64a5-64a8,U+64aa-64ab,U+64af,U+64b1-64b4,U+64b6,U+64b9,U+64bb,U+64bd-64bf,U+64c1,U+64c3-64c4,U+64c6-64cc,U+64cf,U+64d1,U+64d3-64d6,U+64d9-64dd,U+64df-64e1,U+64e3,U+64e5,U+64e7-64ff,U+6501-6508,U+650a-6511,U+6513-6517,U+6519-6524,U+6526-652a,U+652c-652d,U+6530-6533,U+6537,U+653a,U+653c-653d,U+6540-6544,U+6546-6547,U+654a-654b,U+654d-654e,U+6550,U+6552-6554,U+6557-6558,U+655a,U+655c,U+655f-6561,U+6564-6565,U+6567-6568"}},{uri:d73,descriptors:{unicodeRange:"U+9695-9696,U+969a-969b,U+969d-96a6,U+96a8-96af,U+96b1-96b2,U+96b4-96b5,U+96b7-96b8,U+96ba-96bb,U+96bf,U+96c2-96c3,U+96c8,U+96ca-96cb,U+96d0-96d1,U+96d3-96d4,U+96d6-96df,U+96e1-96e7,U+96eb-96ee,U+96f0-96f2,U+96f4-96f5,U+96f8,U+96fa-96fd,U+96ff,U+9702-9703,U+9705,U+970a-970c,U+9710-9712,U+9714-9715,U+9717-971b,U+971d,U+971f-9729,U+972b-972c,U+972e-972f,U+9731,U+9733-9737,U+973a-973d,U+973f-9751,U+9754-9755,U+9757-9758,U+975a,U+975c-975d,U+975f,U+9763-9764,U+9766-9768,U+976a-9770"}},{uri:s73,descriptors:{unicodeRange:"U+6af0-6b1f,U+6b25-6b26,U+6b28-6b31,U+6b33-6b36,U+6b38,U+6b3b-6b3d,U+6b3f-6b42,U+6b44-6b45,U+6b48,U+6b4a-6b4b,U+6b4d-6b58,U+6b5a-6b61,U+6b68-6b69,U+6b6b-6b78,U+6b7a,U+6b7d-6b80,U+6b85,U+6b88,U+6b8c,U+6b8e-6b91,U+6b94-6b95,U+6b97-6b99,U+6b9c-6ba0,U+6ba2-6ba9,U+6bab-6bb2,U+6bb6,U+6bb8-6bba"}},{uri:o73,descriptors:{unicodeRange:"U+430e-439a,U+29e8a,U+29ec4,U+29edb,U+29ee9,U+29f7e,U+29f83,U+29f8c,U+29fce,U+2a01a,U+2a02f,U+2a082,U+2a0f9,U+2a190,U+2a38c"}},{uri:t73,descriptors:{unicodeRange:"U+92ef-933d,U+933f-9369,U+936b-9388"}},{uri:e73,descriptors:{unicodeRange:"U+4512-458d,U+2b300,U+2b363,U+2b36f,U+2b372,U+2b37d,U+2b404,U+2b410,U+2b413,U+2b461,U+2b4ef,U+2b4f6,U+2b4f9,U+2b50d-2b50e,U+2b536,U+2b5ae,U+2b5b3,U+2b5e7,U+2b5f4,U+2b61c-2b61d,U+2b626-2b628,U+2b62a,U+2b62c,U+2b695-2b696,U+2b6ad,U+2b6ed"}},{uri:uB3,descriptors:{unicodeRange:"U+88bd-88c0,U+88c3-88c4,U+88c7-88c8,U+88ca-88cd,U+88cf-88d1,U+88d3,U+88d6-88d7,U+88da-88de,U+88e0-88e1,U+88e6-88e7,U+88e9-88ef,U+88f2,U+88f5-88f7,U+88fa-88fb,U+88fd,U+88ff-8901,U+8903-8909,U+890b-890f,U+8911,U+8914-8918,U+891c-8920,U+8922-8924,U+8926-8929,U+892c-892f,U+8931-8933,U+8935,U+8937-8940,U+8942-8943,U+8945-895d,U+8960-8965,U+8967-897a,U+897c-897e,U+8980,U+8982,U+8984-8985"}},{uri:BB3,descriptors:{unicodeRange:"U+4b0b-4ba0"}},{uri:EB3,descriptors:{unicodeRange:"U+7179,U+717b-717c,U+717e-7183,U+7185-7189,U+718b-718e,U+7190-7193,U+7195-7197,U+719a-719e,U+71a1-71a7,U+71a9-71ab,U+71ad-71b2,U+71b4,U+71b6-71b8,U+71ba-71c2,U+71c4-71cd,U+71cf-71d3,U+71d6-71df,U+71e1-71e4,U+71e6,U+71e8-71ed,U+71ef-71f8,U+71fa-7205,U+7207-721c,U+721e-7227,U+7229,U+722b,U+722d"}},{uri:AB3,descriptors:{unicodeRange:"U+982e-9874,U+988b,U+988e,U+9892,U+9895,U+9899,U+98a3,U+98a8-98cd,U+98cf-98d0,U+98d4,U+98d6-98d7,U+98db-98dd,U+98e0-98e6,U+98e9-98fa"}},{uri:CB3,descriptors:{unicodeRange:"U+7c14-7c15,U+7c17-7c1e,U+7c20-7c25,U+7c28-7c29,U+7c2b-7c37,U+7c39-7c3e,U+7c42-7c4c,U+7c4e-7c72,U+7c75-7c7a,U+7c7e-7c88,U+7c8a-7c90,U+7c93-7c94,U+7c96,U+7c99-7c9b,U+7ca0-7ca1,U+7ca3,U+7ca6-7ca9,U+7cab-7cad,U+7caf-7cb0,U+7cb4-7cb8,U+7cba-7cbb,U+7cbf-7cc0,U+7cc2-7cc4,U+7cc6,U+7cc9,U+7ccb,U+7cce-7cd4"}},{uri:DB3,descriptors:{unicodeRange:"U+7d95-7da5,U+7da7-7dad,U+7daf-7e2a"}},{uri:FB3,descriptors:{unicodeRange:"U+4a78-4b0a"}},{uri:UB3,descriptors:{unicodeRange:"U+9b30-9b31,U+9b33-9b3a,U+9b3d-9b40,U+9b46,U+9b4a-9b4c,U+9b4e,U+9b50,U+9b52-9b53,U+9b55-9bcf"}},{uri:zB3,descriptors:{unicodeRange:"U+6a4b-6a4f,U+6a51-6a57,U+6a5a,U+6a5c-6a60,U+6a62-6a64,U+6a66-6a70,U+6a72-6a78,U+6a7a-6a7b,U+6a7d-6a7f,U+6a81-6a83,U+6a85-6a8d,U+6a8f,U+6a92-6a96,U+6a98-6a9f,U+6aa1-6aa8,U+6aaa,U+6aad-6aef"}},{uri:kB3,descriptors:{unicodeRange:"U+99c9-9a53"}},{uri:fB3,descriptors:{unicodeRange:"U+8550-8555,U+8557-8558,U+855a-855d,U+855f-8563,U+8565-8567,U+8569-8571,U+8573,U+8575-8578,U+857c-857d,U+857f-8583,U+8586,U+8588-858e,U+8590-859a,U+859d-85a3,U+85a5-85a7,U+85a9,U+85ab-85ad,U+85b1-85b6,U+85b8,U+85ba-85c0,U+85c2-85c8,U+85ca-85ce,U+85d1-85d2,U+85d4,U+85d6-85db,U+85dd-85e3,U+85e5-85e8,U+85ea-85fa,U+85fc-85fe,U+8600-8603"}},{uri:MB3,descriptors:{unicodeRange:"U+6fb2,U+6fb4-6fb5,U+6fb7-6fb8,U+6fba-6fbf,U+6fc1,U+6fc3-6fc8,U+6fca-6fd0,U+6fd3-6fdd,U+6fdf,U+6fe2-6fed,U+6ff0-7010,U+7012-7019,U+701c-7022,U+7024-7034,U+7036-7038,U+703a-704b,U+704d-704e,U+7050-7053"}},{uri:bB3,descriptors:{unicodeRange:"U+4ba1-4c2c"}},{uri:ZB3,descriptors:{unicodeRange:"U+9a54-9a6b,U+9a72,U+9a83,U+9a89,U+9a8d-9a8e,U+9a94-9a95,U+9a99,U+9aa6,U+9aa9-9aaf,U+9ab2-9ab5,U+9ab9,U+9abb,U+9abd-9abf,U+9ac3-9ac4,U+9ac6-9aca,U+9acd-9ad0,U+9ad2,U+9ad4-9ad7,U+9ad9-9ade,U+9ae0,U+9ae2-9ae5,U+9ae7-9aea,U+9aec,U+9aee,U+9af0-9af8,U+9afa,U+9afc-9b02,U+9b04-9b07,U+9b09-9b0e,U+9b10-9b12,U+9b14-9b1e,U+9b20-9b22,U+9b24-9b2e"}},{uri:JB3,descriptors:{unicodeRange:"U+9d1a-9da1"}},{uri:KB3,descriptors:{unicodeRange:"U+9e13-9e1e,U+9e24,U+9e27,U+9e2e,U+9e30,U+9e34,U+9e3b-9e3c,U+9e40,U+9e4d,U+9e50,U+9e52-9e54,U+9e56,U+9e59,U+9e5d,U+9e5f-9e62,U+9e65,U+9e6e-9e6f,U+9e72,U+9e74-9e7d,U+9e80-9e81,U+9e83-9e86,U+9e89-9e8a,U+9e8c-9e91,U+9e94-9e9c,U+9e9e,U+9ea0-9ea5,U+9ea7-9eb3,U+9eb5-9eb7,U+9eb9-9eba,U+9ebc,U+9ebf-9ec3,U+9ec5-9ec8,U+9eca-9ecc,U+9ed0,U+9ed2-9ed3,U+9ed5-9ed7,U+9ed9-9eda,U+9ede,U+9ee1,U+9ee3-9ee4,U+9ee6,U+9ee8,U+9eeb-9eee,U+9ef0-9ef8"}},{uri:wB3,descriptors:{unicodeRange:"U+8b1c-8b25,U+8b27-8b65,U+8b67-8b6b,U+8b6d-8b9f,U+8bac,U+8bb1,U+8bbb,U+8bc7,U+8bd0"}},{uri:QB3,descriptors:{unicodeRange:"U+4cad-4d2f"}},{uri:GB3,descriptors:{unicodeRange:"U+9c4b-9c7b,U+9c7d-9c7e,U+9c80,U+9c83-9c84,U+9c89-9c8a,U+9c8c,U+9c8f,U+9c93,U+9c96-9c99,U+9c9d,U+9caa,U+9cac,U+9caf,U+9cb9,U+9cbe-9cc2,U+9cc8-9cc9,U+9cd1-9cd2,U+9cda-9cdb,U+9ce0-9ce1,U+9ce3-9d19"}},{uri:HB3,descriptors:{unicodeRange:"U+9389-938e,U+9390-93c9,U+93cb-93d5,U+93d7-9410"}},{uri:qB3,descriptors:{unicodeRange:"U+20a0-20b5,U+20b9-20ba,U+20bc-20bd,U+4e2c,U+5107,U+5216,U+5293,U+54f3,U+5523,U+5819,U+5adc,U+5c88,U+5e3b,U+5fee,U+62f6,U+63be,U+6484,U+6499,U+67d9,U+67dd,U+6d5e,U+6f46,U+717a,U+71e0,U+72c1,U+73e7,U+75b0,U+7603,U+7722,U+7809,U+7811,U+7946,U+7967,U+799a,U+7b45,U+7ba2,U+8014,U+80d9,U+8159,U+817d,U+81a3,U+81aa,U+8201,U+833c,U+836e,U+83e5,U+8459,U+84f0,U+8729,U+8753,U+87d3,U+89dc,U+8bf6,U+8c2e,U+8e2c,U+8e9c,U+8e9e,U+8ece,U+8fee,U+9139,U+914f,U+9174,U+9191,U+960c,U+9622,U+9a98,U+9b48,U+9ca6,U+9cb0,U+9da2-9e12,U+9e88,U+9f44,U+9f86"}},{uri:lB3,descriptors:{unicodeRange:"U+9bd0-9c4a"}},{uri:LB3,descriptors:{unicodeRange:"U+4c2d-4cac"}},{uri:XB3,descriptors:{unicodeRange:"U+4d30-4dab"}},{uri:vB3,descriptors:{unicodeRange:"U+9411-943d,U+943f-946a,U+946c-9484"}},{uri:xB3,descriptors:{unicodeRange:"U+9efa,U+9efd,U+9eff-9f0a,U+9f0c,U+9f0f,U+9f11-9f12,U+9f14-9f16,U+9f18,U+9f1a-9f1f,U+9f21,U+9f23-9f2b,U+9f2d-9f2e,U+9f30-9f36,U+9f38,U+9f3a,U+9f3c,U+9f3f-9f43,U+9f45-9f4f,U+9f52-9f7e,U+9f81-9f82,U+9f8d-9f94"}},{uri:WB3,descriptors:{unicodeRange:"U+7e2b-7e3a,U+7e3c-7e40,U+7e42-7e46,U+7e48-7e81,U+7e83-7e9a,U+7e9c-7e9e,U+7eae,U+7eb4,U+7ebb-7ebc,U+7ed6,U+7ee4,U+7eec,U+7ef9,U+7f0a,U+7f10,U+7f1e,U+7f37,U+7f39,U+7f3b"}}];j0(UZ,"loadedFontsCache",new Set),j0(UZ,"_registered"),j0(UZ,"_initialized",!1),j0(UZ,"loadElementsFonts",async(u)=>{let B=UZ.getUniqueFamilies(u),E=UZ.getCharsPerFamily(u);return UZ.loadFontFaces(B,E)});rU=UZ;z1={EQUAL:"Equal",MINUS:"Minus",NUM_ADD:"NumpadAdd",NUM_SUBTRACT:"NumpadSubtract",NUM_ZERO:"Numpad0",BRACKET_RIGHT:"BracketRight",BRACKET_LEFT:"BracketLeft",ONE:"Digit1",TWO:"Digit2",THREE:"Digit3",NINE:"Digit9",QUOTE:"Quote",ZERO:"Digit0",SLASH:"Slash",C:"KeyC",D:"KeyD",H:"KeyH",V:"KeyV",Z:"KeyZ",Y:"KeyY",R:"KeyR",S:"KeyS"},r0={ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",BACKSPACE:"Backspace",ALT:"Alt",CTRL_OR_CMD:lD?"metaKey":"ctrlKey",DELETE:"Delete",ENTER:"Enter",ESCAPE:"Escape",QUESTION_MARK:"?",SPACE:" ",TAB:"Tab",CHEVRON_LEFT:"<",CHEVRON_RIGHT:">",PERIOD:".",COMMA:",",SUBTRACT:"-",SLASH:"/",A:"a",C:"c",D:"d",E:"e",F:"f",G:"g",H:"h",I:"i",L:"l",O:"o",P:"p",Q:"q",R:"r",S:"s",T:"t",V:"v",X:"x",Y:"y",Z:"z",K:"k",W:"w",0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9"},gB3=new Map([[r0.Z,z1.Z],[r0.Y,z1.Y]]),rp=[{icon:m63,value:"selection",key:r0.V,numericKey:r0[1],fillable:!0},{icon:$63,value:"rectangle",key:r0.R,numericKey:r0[2],fillable:!0},{icon:y63,value:"diamond",key:r0.D,numericKey:r0[3],fillable:!0},{icon:r63,value:"ellipse",key:r0.O,numericKey:r0[4],fillable:!0},{icon:g63,value:"arrow",key:r0.A,numericKey:r0[5],fillable:!0},{icon:c63,value:"line",key:r0.L,numericKey:r0[6],fillable:!0},{icon:kX,value:"freedraw",key:[r0.P,r0.X],numericKey:r0[7],fillable:!1},{icon:hf0,value:"text",key:r0.T,numericKey:r0[8],fillable:!1},{icon:_63,value:"image",key:null,numericKey:r0[9],fillable:!1},{icon:p63,value:"eraser",key:r0.E,numericKey:r0[0],fillable:!1}],tB3=LD(),pbu=document.createElement("img");pbu.src=`data:${r4.svg},${encodeURIComponent('<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="image" class="svg-inline--fa fa-image fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#888" d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"></path></svg>')}`;nbu=document.createElement("img");nbu.src=`data:${r4.svg},${encodeURIComponent('<svg viewBox="0 0 668 668" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48ZM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56ZM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.81709 0 0 .81709 124.825 145.825)"/><path d="M256 8C119.034 8 8 119.033 8 256c0 136.967 111.034 248 248 248s248-111.034 248-248S392.967 8 256 8Zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676ZM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.30366 0 0 .30366 506.822 60.065)"/></svg>')}`;sk0=new WeakMap,sbu=new WeakMap([]);C83=/(\s?[A-Z]?,?-?[0-9]*\.[0-9]{0,2})(([0-9]|e|-)*)/g;b9=[1,0],f5=[0,1],rB=[-1,0],gB=[0,-1];j0(ebu,"boundsCache",new WeakMap);f83=ebu,$83=new Set(["boundElements","frameId","containerId","startBinding","endBinding"]);j0(CX,"rebindAffected",(u,B,E)=>{!B||B.isDeleted||un(u,B,(A,C)=>{if(!A||A.isDeleted){E(B,{[C]:null});return}C!=="frameId"&&(A.boundElements?.find((D)=>D.id===B.id)||(j3(B)&&E(A,{boundElements:xO(A.boundElements,new Set,Array(B))}),M4(B)&&(A.boundElements?.find((D)=>D.type==="text")?E(B,{[C]:null}):E(A,{boundElements:xO(A.boundElements,new Set,Array(B))}))))})});j0(DX,"rebindAffected",(u,B,E)=>{!B||B.isDeleted||ep(u,B,(A,C,D)=>{if(!A||A.isDeleted){E(B,{boundElements:xO(B.boundElements,new Set([D]))});return}M4(A)&&((B.boundElements?.slice()??[]).reverse().find((F)=>F.type==="text")?.id===A.id?A.containerId!==B.id&&E(A,{containerId:B.id}):(A.containerId!==null&&E(A,{containerId:null}),E(B,{boundElements:xO(B.boundElements,new Set([A.id]))})))})});n7=function(){let u=null,B=null,E=null,A=(D,F,U,z)=>{if(E!==void 0&&F===B&&D===u&&U.editingGroupId===E?.editingGroupId)return E;let k={};for(let b of D){let Z=b.groupIds;if(U.editingGroupId){let J=Z.indexOf(U.editingGroupId);J>-1&&(Z=Z.slice(0,J))}if(Z.length>0){let J=Z[Z.length-1];k[J]=!0}}let f={},M=F.reduce((b,Z)=>{if(Z.isDeleted)return b;let J=Z.groupIds.find((K)=>k[K]);return J&&(b[Z.id]=!0,Array.isArray(f[J])?f[J].push(Z.id):f[J]=[Z.id]),b},{});for(let b of Object.keys(f))f[b].length<2&&k[b]&&(k[b]=!1);return B=F,u=D,E={editingGroupId:U.editingGroupId,selectedGroupIds:k,selectedElementIds:X1({...U.selectedElementIds,...M},z)},E},C=(D,F,U,z)=>{let k=z?z.scene.getSelectedElements({selectedElementIds:D.selectedElementIds,elements:F}):N3(F,D);return k.length?A(k,F,D,U):{selectedGroupIds:{},editingGroupId:null,selectedElementIds:X1(D.selectedElementIds,U)}};return C.clearCache=()=>{B=null,u=null,E=null},C}();j0(a8,"referenceSnapPoints",null),j0(a8,"visibleGaps",null),j0(a8,"setReferenceSnapPoints",(u)=>{a8.referenceSnapPoints=u}),j0(a8,"getReferenceSnapPoints",()=>a8.referenceSnapPoints),j0(a8,"setVisibleGaps",(u)=>{a8.visibleGaps=u}),j0(a8,"getVisibleGaps",()=>a8.visibleGaps),j0(a8,"destroy",()=>{a8.referenceSnapPoints=null,a8.visibleGaps=null});cU=a8,CZ={version:null,points:[],zoom:null};j0(_9,"POINT_HANDLE_SIZE",10),j0(_9,"getEditorMidPoints",(u,B,E)=>{let A=Y3(u,B);return!Q4(u)&&!E.editingLinearElement&&u.points.length>2&&!A?[]:(CZ.version===u.version&&CZ.zoom===E.zoom.value||_9.updateEditorMidPointsCache(u,B,E),CZ.points)}),j0(_9,"updateEditorMidPointsCache",(u,B,E)=>{let A=_9.getPointsGlobalCoordinates(u,B),C=0,D=[];for(;C<A.length-1;){if(_9.isSegmentTooShort(u,u.points[C],u.points[C+1],C,E.zoom)){D.push(null),C++;continue}let F=_9.getSegmentMidPoint(u,A[C],A[C+1],C+1,B);D.push(F),C++}CZ.points=D,CZ.version=u.version,CZ.zoom=E.zoom.value}),j0(_9,"getSegmentMidpointHitCoords",(u,B,E,A)=>{let{elementId:C}=u,D=_9.getElement(C,A);if(!D)return null;let F=_9.getPointIndexUnderCursor(D,A,E.zoom,B.x,B.y);if(!Q4(D)&&F>=0||_9.getPointsGlobalCoordinates(D,A).length>=3&&!E.editingLinearElement&&!Q4(D))return null;let U=(_9.POINT_HANDLE_SIZE+1)/E.zoom.value,z=u.segmentMidPointHoveredCoords;if(z&&l1(t(z[0],z[1]),t(B.x,B.y))<=U)return z;let k=0,f=_9.getEditorMidPoints(D,A,E);for(;k<f.length;){if(f[k]!==null&&l1(f[k],t(B.x,B.y))<=U)return f[k];k++}return null}),j0(_9,"getBoundTextElementPosition",(u,B,E)=>{let A=_9.getPointsGlobalCoordinates(u,E);A.length<2&&Su(B,{isDeleted:!0});let C=0,D=0;if(u.points.length%2===1){let F=Math.floor(u.points.length/2),U=_9.getPointGlobalCoordinates(u,u.points[F],E);C=U[0]-B.width/2,D=U[1]-B.height/2}else{let F=u.points.length/2-1,U=CZ.points[F];u.points.length===2&&(U=VO(A[0],A[1])),(!U||CZ.version!==u.version)&&(U=_9.getSegmentMidPoint(u,A[F],A[F+1],F+1,E)),C=U[0]-B.width/2,D=U[1]-B.height/2}return{x:C,y:D}}),j0(_9,"getMinMaxXYWithBoundText",(u,B,E,A)=>{let[C,D,F,U]=E,z=(C+F)/2,k=(D+U)/2,{x:f,y:M}=_9.getBoundTextElementPosition(u,A,B),b=f+A.width,Z=M+A.height,J=t(z,k),K=lu(t(C,D),J,u.angle),w=lu(t(F,D),J,u.angle),Q=lu(t(f,M),J,-u.angle),G=lu(t(b,M),J,-u.angle),H=lu(t(f,Z),J,-u.angle),l=lu(t(b,Z),J,-u.angle);return K[0]<w[0]&&K[1]>=w[1]?(C=Math.min(C,H[0]),F=Math.max(F,Math.max(G[0],l[0])),D=Math.min(D,Q[1]),U=Math.max(U,l[1])):K[0]>=w[0]&&K[1]>w[1]?(C=Math.min(C,l[0]),F=Math.max(F,Math.max(Q[0],G[0])),D=Math.min(D,H[1]),U=Math.max(U,G[1])):K[0]>=w[0]?(C=Math.min(C,G[0]),F=Math.max(F,H[0]),D=Math.min(D,l[1]),U=Math.max(U,Q[1])):K[1]<=w[1]&&(C=Math.min(C,Math.min(G[0],Q[0])),F=Math.max(F,l[0]),D=Math.min(D,G[1]),U=Math.max(U,H[1])),[C,D,F,U,z,k]}),j0(_9,"getElementAbsoluteCoords",(u,B,E=!1)=>{let A,C,D,F,U;if(u.points.length<2||!s6.get(u)){let{minX:M,minY:b,maxX:Z,maxY:J}=u.points.reduce((K,[w,Q])=>(K.minY=Math.min(K.minY,Q),K.minX=Math.min(K.minX,w),K.maxX=Math.max(K.maxX,w),K.maxY=Math.max(K.maxY,Q),K),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});C=M+u.x,D=b+u.y,F=Z+u.x,U=J+u.y}else{let M=s6.generateElementShape(u,null),b=OZ(M[0]),[Z,J,K,w]=pp(b);C=Z+u.x,D=J+u.y,F=K+u.x,U=w+u.y}let z=(C+F)/2,k=(D+U)/2;if(A=[C,D,F,U,z,k],!E)return A;let f=Y3(u,B);return f&&(A=_9.getMinMaxXYWithBoundText(u,B,[C,D,F,U],f)),A});Z4=_9,IQ={},e83=new Set(["rectangle","ellipse","diamond","arrow"]),kp=[],BE3=`data:${r4.svg},${encodeURIComponent(`${WZu}${SZu}</svg>`)}`,EE3=`data:${r4.svg},${encodeURIComponent(`${WZu}${uE3}${SZu}</svg>`)}`,AE3=new dT(Date.now());j0(zZ,"satisfiesAddition",({deleted:u,inserted:B})=>u.isDeleted===!0&&!B.isDeleted),j0(zZ,"satisfiesRemoval",({deleted:u,inserted:B})=>!u.isDeleted&&B.isDeleted===!0),j0(zZ,"satisfiesUpdate",({deleted:u,inserted:B})=>!!u.isDeleted==!!B.isDeleted),j0(zZ,"createApplier",(u,B,E)=>{let A=zZ.createGetter(u,B,E);return(C)=>Array.from(C.entries()).reduce((D,[F,U])=>{let z=A(F,U.inserted);if(z){let k=zZ.applyDelta(z,U,E);u.set(k.id,k),D.set(k.id,k)}return D},new Map)}),j0(zZ,"createGetter",(u,B,E)=>(A,C)=>{let D=u.get(A);return D||(D=B.get(A),D&&(E.containsZindexDifference=!0,(C.isDeleted===!1||C.isDeleted!==!0&&D.isDeleted===!1)&&(E.containsVisibleDifference=!0))),D});zku=zZ,Xu={IMMEDIATELY:"IMMEDIATELY",NEVER:"NEVER",EVENTUALLY:"EVENTUALLY"},jU=new Map,ME3=/^(?:http(?:s)?:\/\/)?(?:www\.)?youtu(?:be\.com|\.be)\/(embed\/|watch\?v=|shorts\/|playlist\?list=|embed\/videoseries\?list=)?([a-zA-Z0-9_-]+)(?:\?t=|&t=|\?start=|&start=)?([a-zA-Z0-9_-]+)?[^\s]*$/,bE3=/^(?:http(?:s)?:\/\/)?(?:(?:w){3}\.)?(?:player\.)?vimeo\.com\/(?:video\/)?([^?\s]+)(?:\?.*)?$/,ZE3=/^https:\/\/(?:www\.)?figma\.com/,fku=/^https:\/\/gist\.github\.com\/([\w_-]+)\/([\w_-]+)/,JE3=/^<script[\s\S]*?\ssrc=["'](https:\/\/gist\.github\.com\/.*?)\.js["']/i,Mku=/(?:https?:\/\/)?(?:(?:w){3}\.)?(?:twitter|x)\.com\/[^/]+\/status\/(\d+)/,KE3=/^<blockquote[\s\S]*?\shref=["'](https?:\/\/(?:twitter|x)\.com\/[^"']*)/i,wE3=/^https:\/\/(?:www\.)?val\.town\/(v|embed)\/[a-zA-Z_$][0-9a-zA-Z_$]+\.[a-zA-Z_$][0-9a-zA-Z_$]+/,QE3=/^<(?:iframe|blockquote)[\s\S]*?\s(?:src|href)=["']([^"']*)["'][\s\S]*?>$/i,bku=/giphy.com\/(?:clips|embed|gifs)\/[a-zA-Z0-9]*?-?([a-zA-Z0-9]+)(?:[^a-zA-Z0-9]|$)/,Zku=/^(?:http(?:s)?:\/\/)?(?:www\.)?reddit\.com\/r\/([a-zA-Z0-9_]+)\/comments\/([a-zA-Z0-9_]+)\/([a-zA-Z0-9_]+)\/?(?:\?[^#\s]*)?(?:#[^\s]*)?$/,GE3=/^<blockquote[\s\S]*?\shref=["'](https?:\/\/(?:www\.)?reddit\.com\/[^"']*)/i,ek0=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","link.excalidraw.com","gist.github.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com","val.town","giphy.com","reddit.com"]),Jku=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com","reddit.com"]),iW1=C4({name:"setEmbeddableAsActiveTool",trackEvent:{category:"toolbar"},target:"Tool",label:"toolBar.embeddable",perform:(u,B,E,A)=>{let C=n9(B,{type:"embeddable"});return xD(A.canvas,{...B,activeTool:C}),{elements:u,appState:{...B,activeTool:n9(B,{type:"embeddable"})},captureUpdate:Xu.EVENTUALLY}}}),$Zu=document.createElement("img");$Zu.src=`data:${r4.svg}, ${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#1971c2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>')}`;yZu=document.createElement("img");yZu.src=`data:${r4.svg}, ${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#1971c2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-arrow-big-right-line"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 9v-3.586a1 1 0 0 1 1.707 -.707l6.586 6.586a1 1 0 0 1 0 1.414l-6.586 6.586a1 1 0 0 1 -1.707 -.707v-3.586h-6v-6h6z" /><path d="M3 9v6" /></svg>')}`;__={Bold:"#dddddd",Regular:"#e5e5e5"},Qku={regularLink:null,elementLink:null},Ub0=hO((u)=>{gZu(u)},{trailing:!0}),mE3={selection:!0,text:!0,rectangle:!0,diamond:!0,ellipse:!0,line:!0,image:!0,arrow:!0,freedraw:!0,eraser:!1,custom:!0,frame:!0,embeddable:!0,hand:!0,laser:!1,magicframe:!1},vku={isSidebarDocked:(u,B)=>["defaultSidebarDockedPreference",u.isSidebarDocked??_E3("defaultSidebarDockedPreference",u,B)]},Zp=_13(c13),$A={fillStyle:"hachure",fontFamily:ff,fontSize:mU,opacity:100,roughness:1,strokeColor:m3.black,roundness:null,strokeStyle:"solid",strokeWidth:1,verticalAlign:m8.MIDDLE,locked:!1},mW1="clipboard"in navigator&&"readText"in navigator.clipboard,Gn="clipboard"in navigator&&"writeText"in navigator.clipboard,Hn="clipboard"in navigator&&"write"in navigator.clipboard&&"ClipboardItem"in window&&"toBlob"in HTMLCanvasElement.prototype;K2=function(){let u=null,B=null,E=null,A=(C,D)=>(E!=null&&C===u&&D.selectedElementIds===B||(E=C.some((F)=>D.selectedElementIds[F.id]),u=C,B=D.selectedElementIds),E);return A.clearCache=()=>{u=null,B=null,E=null},A}(),bA3=wfu.default((u)=>{(J3.DEV||J3.MODE===cB.TEST||window?.DEBUG_FRACTIONAL_INDICES)&&Un(u,{shouldThrow:J3.DEV||J3.MODE===cB.TEST,includeBoundTextValidation:!0})},60000,{leading:!0,trailing:!1});j0(Af0,"sceneMapByElement",new WeakMap),j0(Af0,"sceneMapById",new Map);JA3=Af0,aU=JA3,Nku={mouse:8,pen:16,touch:28},JJu={e:!0,s:!0,n:!0,w:!0},Vku={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},gk0={e:!0,s:!0,n:!0,w:!0},ck0=["ns","nesw","ew","nwse"]});var rb0,gb0,cb0,_b0,pb0,nb0,db0,sb0,ob0,tb0,eb0,uZ0,BZ0,EZ0,AZ0,CZ0,DZ0,FZ0,UZ0,zZ0,kZ0,fZ0,MZ0,bZ0,ZZ0,JZ0,KZ0,wZ0,QZ0,GZ0,HZ0,qZ0,lZ0,LZ0,XZ0,JI;var vZ0=g(()=>{rb0={paste:"Paste",pasteAsPlaintext:"Paste as plaintext",pasteCharts:"Paste charts",selectAll:"Select all",multiSelect:"Add element to selection",moveCanvas:"Move canvas",cut:"Cut",copy:"Copy",copyAsPng:"Copy to clipboard as PNG",copyAsSvg:"Copy to clipboard as SVG",copyText:"Copy to clipboard as text",copySource:"Copy source to clipboard",convertToCode:"Convert to code",bringForward:"Bring forward",sendToBack:"Send to back",bringToFront:"Bring to front",sendBackward:"Send backward",delete:"Delete",copyStyles:"Copy styles",pasteStyles:"Paste styles",stroke:"Stroke",changeStroke:"Change stroke color",background:"Background",changeBackground:"Change background color",fill:"Fill",strokeWidth:"Stroke width",strokeStyle:"Stroke style",strokeStyle_solid:"Solid",strokeStyle_dashed:"Dashed",strokeStyle_dotted:"Dotted",sloppiness:"Sloppiness",opacity:"Opacity",textAlign:"Text align",edges:"Edges",sharp:"Sharp",round:"Round",arrowheads:"Arrowheads",arrowhead_none:"None",arrowhead_arrow:"Arrow",arrowhead_bar:"Bar",arrowhead_circle:"Circle",arrowhead_circle_outline:"Circle (outline)",arrowhead_triangle:"Triangle",arrowhead_triangle_outline:"Triangle (outline)",arrowhead_diamond:"Diamond",arrowhead_diamond_outline:"Diamond (outline)",arrowhead_crowfoot_many:"Crow's foot (many)",arrowhead_crowfoot_one:"Crow's foot (one)",arrowhead_crowfoot_one_or_many:"Crow's foot (one or many)",more_options:"More options",arrowtypes:"Arrow type",arrowtype_sharp:"Sharp arrow",arrowtype_round:"Curved arrow",arrowtype_elbowed:"Elbow arrow",fontSize:"Font size",fontFamily:"Font family",addWatermark:'Add "Made with Excalidraw"',handDrawn:"Hand-drawn",normal:"Normal",code:"Code",small:"Small",medium:"Medium",large:"Large",veryLarge:"Very large",solid:"Solid",hachure:"Hachure",zigzag:"Zigzag",crossHatch:"Cross-hatch",thin:"Thin",bold:"Bold",left:"Left",center:"Center",right:"Right",extraBold:"Extra bold",architect:"Architect",artist:"Artist",cartoonist:"Cartoonist",fileTitle:"File name",colorPicker:"Color picker",canvasColors:"Used on canvas",canvasBackground:"Canvas background",drawingCanvas:"Drawing canvas",clearCanvas:"Clear canvas",layers:"Layers",actions:"Actions",language:"Language",liveCollaboration:"Live collaboration...",duplicateSelection:"Duplicate",untitled:"Untitled",name:"Name",yourName:"Your name",madeWithExcalidraw:"Made with Excalidraw",group:"Group selection",ungroup:"Ungroup selection",collaborators:"Collaborators",toggleGrid:"Toggle grid",addToLibrary:"Add to library",removeFromLibrary:"Remove from library",libraryLoadingMessage:"Loading library…",libraries:"Browse libraries",loadingScene:"Loading scene…",loadScene:"Load scene from file",align:"Align",alignTop:"Align top",alignBottom:"Align bottom",alignLeft:"Align left",alignRight:"Align right",centerVertically:"Center vertically",centerHorizontally:"Center horizontally",distributeHorizontally:"Distribute horizontally",distributeVertically:"Distribute vertically",flipHorizontal:"Flip horizontal",flipVertical:"Flip vertical",viewMode:"View mode",share:"Share",showStroke:"Show stroke color picker",showBackground:"Show background color picker",showFonts:"Show font picker",toggleTheme:"Toggle light/dark theme",theme:"Theme",personalLib:"Personal Library",excalidrawLib:"Excalidraw Library",decreaseFontSize:"Decrease font size",increaseFontSize:"Increase font size",unbindText:"Unbind text",bindText:"Bind text to the container",createContainerFromText:"Wrap text in a container",link:{edit:"Edit link",editEmbed:"Edit embeddable link",create:"Add link",label:"Link",labelEmbed:"Link & embed",empty:"No link is set",hint:"Type or paste your link here",goToElement:"Go to target element"},lineEditor:{edit:"Edit line",editArrow:"Edit arrow"},elementLock:{lock:"Lock",unlock:"Unlock",lockAll:"Lock all",unlockAll:"Unlock all"},statusPublished:"Published",sidebarLock:"Keep sidebar open",selectAllElementsInFrame:"Select all elements in frame",removeAllElementsFromFrame:"Remove all elements from frame",eyeDropper:"Pick color from canvas",textToDiagram:"Text to diagram",prompt:"Prompt",followUs:"Follow us",discordChat:"Discord chat",zoomToFitViewport:"Zoom to fit in viewport",zoomToFitSelection:"Zoom to fit selection",zoomToFit:"Zoom to fit all elements",installPWA:"Install Excalidraw locally (PWA)",autoResize:"Enable text auto-resizing",imageCropping:"Image cropping",unCroppedDimension:"Uncropped dimension",copyElementLink:"Copy link to object",linkToElement:"Link to object",wrapSelectionInFrame:"Wrap selection in frame"},gb0={title:"Link to object",desc:"Click on a shape on canvas or paste a link.",notFound:"Linked object wasn't found on canvas."},cb0={noItems:"No items added yet...",hint_emptyLibrary:"Select an item on canvas to add it here, or install a library from the public repository, below.",hint_emptyPrivateLibrary:"Select an item on canvas to add it here."},_b0={title:"Find on canvas",noMatch:"No matches found...",singleResult:"result",multipleResults:"results",placeholder:"Find text on canvas..."},pb0={clearReset:"Reset the canvas",exportJSON:"Export to file",exportImage:"Export image...",export:"Save to...",copyToClipboard:"Copy to clipboard",copyLink:"Copy link",save:"Save to current file",saveAs:"Save as",load:"Open",getShareableLink:"Get shareable link",close:"Close",selectLanguage:"Select language",scrollBackToContent:"Scroll back to content",zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom",menu:"Menu",done:"Done",edit:"Edit",undo:"Undo",redo:"Redo",resetLibrary:"Reset library",createNewRoom:"Create new room",fullScreen:"Full screen",darkMode:"Dark mode",lightMode:"Light mode",systemMode:"System mode",zenMode:"Zen mode",objectsSnapMode:"Snap to objects",exitZenMode:"Exit zen mode",cancel:"Cancel",clear:"Clear",remove:"Remove",embed:"Toggle embedding",publishLibrary:"Publish",submit:"Submit",confirm:"Confirm",embeddableInteractionButton:"Click to interact"},nb0={clearReset:"This will clear the whole canvas. Are you sure?",couldNotCreateShareableLink:"Couldn't create shareable link.",couldNotCreateShareableLinkTooBig:"Couldn't create shareable link: the scene is too big",couldNotLoadInvalidFile:"Couldn't load invalid file",importBackendFailed:"Importing from backend failed.",cannotExportEmptyCanvas:"Cannot export empty canvas.",couldNotCopyToClipboard:"Couldn't copy to clipboard.",decryptFailed:"Couldn't decrypt data.",uploadedSecurly:"The upload has been secured with end-to-end encryption, which means that Excalidraw server and third parties can't read the content.",loadSceneOverridePrompt:"Loading external drawing will replace your existing content. Do you wish to continue?",collabStopOverridePrompt:`Stopping the session will overwrite your previous, locally stored drawing. Are you sure?
(If you want to keep your local drawing, simply close the browser tab instead.)`,errorAddingToLibrary:"Couldn't add item to the library",errorRemovingFromLibrary:"Couldn't remove item from the library",confirmAddLibrary:"This will add {{numShapes}} shape(s) to your library. Are you sure?",imageDoesNotContainScene:"This image does not seem to contain any scene data. Have you enabled scene embedding during export?",cannotRestoreFromImage:"Scene couldn't be restored from this image file",invalidSceneUrl:"Couldn't import scene from the supplied URL. It's either malformed, or doesn't contain valid Excalidraw JSON data.",resetLibrary:"This will clear your library. Are you sure?",removeItemsFromsLibrary:"Delete {{count}} item(s) from library?",invalidEncryptionKey:"Encryption key must be of 22 characters. Live collaboration is disabled.",collabOfflineWarning:`No internet connection available.
Your changes will not be saved!`},db0={unsupportedFileType:"Unsupported file type.",imageInsertError:"Couldn't insert image. Try again later...",fileTooBig:"File is too big. Maximum allowed size is {{maxSize}}.",svgImageInsertError:"Couldn't insert SVG image. The SVG markup looks invalid.",failedToFetchImage:"Failed to fetch image.",cannotResolveCollabServer:"Couldn't connect to the collab server. Please reload the page and try again.",importLibraryError:"Couldn't load library",saveLibraryError:"Couldn't save library to storage. Please save your library to a file locally to make sure you don't lose changes.",collabSaveFailed:"Couldn't save to the backend database. If problems persist, you should save your file locally to ensure you don't lose your work.",collabSaveFailed_sizeExceeded:"Couldn't save to the backend database, the canvas seems to be too big. You should save the file locally to ensure you don't lose your work.",imageToolNotSupported:"Images are disabled.",brave_measure_text_error:{line1:"Looks like you are using Brave browser with the <bold>Aggressively Block Fingerprinting</bold> setting enabled.",line2:"This could result in breaking the <bold>Text Elements</bold> in your drawings.",line3:"We strongly recommend disabling this setting. You can follow <link>these steps</link> on how to do so.",line4:"If disabling this setting doesn't fix the display of text elements, please open an <issueLink>issue</issueLink> on our GitHub, or write us on <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Embeddable elements cannot be added to the library.",iframe:"IFrame elements cannot be added to the library.",image:"Support for adding images to the library coming soon!"},asyncPasteFailedOnRead:"Couldn't paste (couldn't read from system clipboard).",asyncPasteFailedOnParse:"Couldn't paste.",copyToSystemClipboardFailed:"Couldn't copy to clipboard."},sb0={selection:"Selection",image:"Insert image",rectangle:"Rectangle",diamond:"Diamond",ellipse:"Ellipse",arrow:"Arrow",line:"Line",freedraw:"Draw",text:"Text",library:"Library",lock:"Keep selected tool active after drawing",penMode:"Pen mode - prevent touch",link:"Add / Update link for a selected shape",eraser:"Eraser",frame:"Frame tool",magicframe:"Wireframe to code",embeddable:"Web Embed",laser:"Laser pointer",hand:"Hand (panning tool)",extraTools:"More tools",mermaidToExcalidraw:"Mermaid to Excalidraw"},ob0={rectangle:"Rectangle",diamond:"Diamond",ellipse:"Ellipse",arrow:"Arrow",line:"Line",freedraw:"Freedraw",text:"Text",image:"Image",group:"Group",frame:"Frame",magicframe:"Wireframe to code",embeddable:"Web Embed",selection:"Selection",iframe:"IFrame"},tb0={canvasActions:"Canvas actions",selectedShapeActions:"Selected shape actions",shapes:"Shapes"},eb0={dismissSearch:"Escape to dismiss search",canvasPanning:"To move canvas, hold mouse wheel or spacebar while dragging, or use the hand tool",linearElement:"Click to start multiple points, drag for single line",arrowTool:"Click to start multiple points, drag for single line. Press {{arrowShortcut}} again to change arrow type.",freeDraw:"Click and drag, release when you're finished",text:"Tip: you can also add text by double-clicking anywhere with the selection tool",embeddable:"Click-drag to create a website embed",text_selected:"Double-click or press ENTER to edit text",text_editing:"Press Escape or CtrlOrCmd+ENTER to finish editing",linearElementMulti:"Click on last point or press Escape or Enter to finish",lockAngle:"You can constrain angle by holding SHIFT",resize:`You can constrain proportions by holding SHIFT while resizing,
hold ALT to resize from the center`,resizeImage:`You can resize freely by holding SHIFT,
hold ALT to resize from the center`,rotate:"You can constrain angles by holding SHIFT while rotating",lineEditor_info:"Hold CtrlOrCmd and Double-click or press CtrlOrCmd + Enter to edit points",lineEditor_pointSelected:`Press Delete to remove point(s),
CtrlOrCmd+D to duplicate, or drag to move`,lineEditor_nothingSelected:`Select a point to edit (hold SHIFT to select multiple),
or hold Alt and click to add new points`,placeImage:"Click to place the image, or click and drag to set its size manually",publishLibrary:"Publish your own library",bindTextToElement:"Press enter to add text",createFlowchart:"Hold CtrlOrCmd and Arrow key to create a flowchart",deepBoxSelect:"Hold CtrlOrCmd to deep select, and to prevent dragging",eraserRevert:"Hold Alt to revert the elements marked for deletion",firefox_clipboard_write:'This feature can likely be enabled by setting the "dom.events.asyncClipboard.clipboardItem" flag to "true". To change the browser flags in Firefox, visit the "about:config" page.',disableSnapping:"Hold CtrlOrCmd to disable snapping",enterCropEditor:"Double click the image or press ENTER to crop the image",leaveCropEditor:"Click outside the image or press ENTER or ESCAPE to finish cropping"},uZ0={cannotShowPreview:"Cannot show preview",canvasTooBig:"The canvas may be too big.",canvasTooBigTip:"Tip: try moving the farthest elements a bit closer together."},BZ0={headingMain:"Encountered an error. Try <button>reloading the page</button>.",clearCanvasMessage:"If reloading doesn't work, try <button>clearing the canvas</button>.",clearCanvasCaveat:" This will result in loss of work ",trackedToSentry:"The error with identifier {{eventId}} was tracked on our system.",openIssueMessage:"We were very cautious not to include your scene information on the error. If your scene is not private, please consider following up on our <button>bug tracker</button>. Please include information below by copying and pasting into the GitHub issue.",sceneContent:"Scene content:"},EZ0={or:"Or"},AZ0={desc_intro:"Invite people to collaborate on your drawing.",desc_privacy:"Don't worry, the session is end-to-end encrypted, and fully private. Not even our server can see what you draw.",button_startSession:"Start session",button_stopSession:"Stop session",desc_inProgressIntro:"Live-collaboration session is now in progress.",desc_shareLink:"Share this link with anyone you want to collaborate with:",desc_exitSession:"Stopping the session will disconnect you from the room, but you'll be able to continue working with the scene, locally. Note that this won't affect other people, and they'll still be able to collaborate on their version.",shareTitle:"Join a live collaboration session on Excalidraw"},CZ0={title:"Error"},DZ0={disk_title:"Save to disk",disk_details:"Export the scene data to a file from which you can import later.",disk_button:"Save to file",link_title:"Shareable link",link_details:"Export as a read-only link.",link_button:"Export to Link",excalidrawplus_description:"Save the scene to your Excalidraw+ workspace.",excalidrawplus_button:"Export",excalidrawplus_exportError:"Couldn't export to Excalidraw+ at this moment..."},FZ0={blog:"Read our blog",click:"click",deepSelect:"Deep select",deepBoxSelect:"Deep select within box, and prevent dragging",createFlowchart:"Create a flowchart from a generic element",navigateFlowchart:"Navigate a flowchart",curvedArrow:"Curved arrow",curvedLine:"Curved line",documentation:"Documentation",doubleClick:"double-click",drag:"drag",editor:"Editor",editLineArrowPoints:"Edit line/arrow points",editText:"Edit text / add label",github:"Found an issue? Submit",howto:"Follow our guides",or:"or",preventBinding:"Prevent arrow binding",tools:"Tools",shortcuts:"Keyboard shortcuts",textFinish:"Finish editing (text editor)",textNewLine:"Add new line (text editor)",title:"Help",view:"View",zoomToFit:"Zoom to fit all elements",zoomToSelection:"Zoom to selection",toggleElementLock:"Lock/unlock selection",movePageUpDown:"Move page up/down",movePageLeftRight:"Move page left/right",cropStart:"Crop image",cropFinish:"Finish image cropping"},UZ0={title:"Clear canvas"},zZ0={title:"Publish library",itemName:"Item name",authorName:"Author name",githubUsername:"GitHub username",twitterUsername:"Twitter username",libraryName:"Library name",libraryDesc:"Library description",website:"Website",placeholder:{authorName:"Your name or username",libraryName:"Name of your library",libraryDesc:"Description of your library to help people understand its usage",githubHandle:"GitHub handle (optional), so you can edit the library once submitted for review",twitterHandle:"Twitter username (optional), so we know who to credit when promoting over Twitter",website:"Link to your personal website or elsewhere (optional)"},errors:{required:"Required",website:"Enter a valid URL"},noteDescription:"Submit your library to be included in the <link>public library repository</link> for other people to use in their drawings.",noteGuidelines:"The library needs to be manually approved first. Please read the <link>guidelines</link> before submitting. You will need a GitHub account to communicate and make changes if requested, but it is not strictly required.",noteLicense:"By submitting, you agree the library will be published under the <link>MIT License</link>, which in short means anyone can use them without restrictions.",noteItems:"Each library item must have its own name so it's filterable. The following library items will be included:",atleastOneLibItem:"Please select at least one library item to get started",republishWarning:"Note: some of the selected items are marked as already published/submitted. You should only resubmit items when updating an existing library or submission."},kZ0={title:"Library submitted",content:"Thank you {{authorName}}. Your library has been submitted for review. You can track the status <link>here</link>"},fZ0={resetLibrary:"Reset library",removeItemsFromLib:"Remove selected items from library"},MZ0={header:"Export image",label:{withBackground:"Background",onlySelected:"Only selected",darkMode:"Dark mode",embedScene:"Embed scene",scale:"Scale",padding:"Padding"},tooltip:{embedScene:`Scene data will be saved into the exported PNG/SVG file so that the scene can be restored from it.
Will increase exported file size.`},title:{exportToPng:"Export to PNG",exportToSvg:"Export to SVG",copyPngToClipboard:"Copy PNG to clipboard"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copy to clipboard"}},bZ0={tooltip:"Your drawings are end-to-end encrypted so Excalidraw's servers will never see them.",link:"Blog post on end-to-end encryption in Excalidraw"},ZZ0={angle:"Angle",shapes:"Shapes",height:"Height",scene:"Scene",selected:"Selected",storage:"Storage",fullTitle:"Canvas & Shape properties",title:"Properties",generalStats:"General",elementProperties:"Shape properties",total:"Total",version:"Version",versionCopy:"Click to copy",versionNotAvailable:"Version not available",width:"Width"},JZ0={addedToLibrary:"Added to library",copyStyles:"Copied styles.",copyToClipboard:"Copied to clipboard.",copyToClipboardAsPng:`Copied {{exportSelection}} to clipboard as PNG
({{exportColorScheme}})`,copyToClipboardAsSvg:`Copied {{exportSelection}} to clipboard as SVG
({{exportColorScheme}})`,fileSaved:"File saved.",fileSavedToFilename:"Saved to {filename}",canvas:"canvas",selection:"selection",pasteAsSingleElement:`Use {{shortcut}} to paste as a single element,
or paste into an existing text editor`,unableToEmbed:"Embedding this url is currently not allowed. Raise an issue on GitHub to request the url whitelisted",unrecognizedLinkFormat:"The link you embedded does not match the expected format. Please try to paste the 'embed' string provided by the source site",elementLinkCopied:"Link copied to clipboard"},KZ0={transparent:"Transparent",black:"Black",white:"White",red:"Red",pink:"Pink",grape:"Grape",violet:"Violet",gray:"Gray",blue:"Blue",cyan:"Cyan",teal:"Teal",green:"Green",yellow:"Yellow",orange:"Orange",bronze:"Bronze"},wZ0={app:{center_heading:"All your data is saved locally in your browser.",center_heading_plus:"Did you want to go to the Excalidraw+ instead?",menuHint:"Export, preferences, languages, ..."},defaults:{menuHint:"Export, preferences, and more...",center_heading:"Diagrams. Made. Simple.",toolbarHint:"Pick a tool & Start drawing!",helpHint:"Shortcuts & help"}},QZ0={mostUsedCustomColors:"Most used custom colors",colors:"Colors",shades:"Shades",hexCode:"Hex code",noShades:"No shades available for this color"},GZ0={action:{exportToImage:{title:"Export as image",button:"Export as image",description:"Export the scene data as an image from which you can import later."},saveToDisk:{title:"Save to disk",button:"Save to disk",description:"Export the scene data to a file from which you can import later."},excalidrawPlus:{title:"Excalidraw+",button:"Export to Excalidraw+",description:"Save the scene to your Excalidraw+ workspace."}},modal:{loadFromFile:{title:"Load from file",button:"Load from file",description:"Loading from a file will <bold>replace your existing content</bold>.<br></br>You can back up your drawing first using one of the options below."},shareableLink:{title:"Load from link",button:"Replace my content",description:"Loading external drawing will <bold>replace your existing content</bold>.<br></br>You can back up your drawing first by using one of the options below."}}},HZ0={title:"Mermaid to Excalidraw",button:"Insert",description:"Currently only <flowchartLink>Flowchart</flowchartLink>,<sequenceLink> Sequence, </sequenceLink> and <classLink>Class </classLink>Diagrams are supported. The other types will be rendered as image in Excalidraw.",syntax:"Mermaid Syntax",preview:"Preview"},qZ0={placeholder:"Quick search"},lZ0={badge:{old:"old"},sceneFonts:"In this scene",availableFonts:"Available fonts",empty:"No fonts found"},LZ0={empty:"No users found",hint:{text:"Click on user to follow",followStatus:"You're currently following this user",inCall:"User is in a voice call",micMuted:"User's microphone is muted",isSpeaking:"User is speaking"}},XZ0={title:"Command palette",shortcuts:{select:"Select",confirm:"Confirm",close:"Close"},recents:"Recently used",search:{placeholder:"Search menus, commands, and discover hidden gems",noMatch:"No matching commands..."},itemNotAvailable:"Command is not available...",shortcutHint:"For Command palette, use {{shortcut}}"},JI={labels:rb0,elementLink:gb0,library:cb0,search:_b0,buttons:pb0,alerts:nb0,errors:db0,toolBar:sb0,element:ob0,headings:tb0,hints:eb0,canvasError:uZ0,errorSplash:BZ0,shareDialog:EZ0,roomDialog:AZ0,errorDialog:CZ0,exportDialog:DZ0,helpDialog:FZ0,clearCanvasDialog:UZ0,publishDialog:zZ0,publishSuccessDialog:kZ0,confirmDialog:fZ0,imageExportDialog:MZ0,encrypted:bZ0,stats:ZZ0,toast:JZ0,colors:KZ0,welcomeScreen:wZ0,colorPicker:QZ0,overwriteConfirm:GZ0,mermaid:HZ0,quickSearch:qZ0,fontList:lZ0,userList:LZ0,commandPalette:XZ0}});var xZ0=100,WZ0=36,Nn;var SZ0=g(()=>{Nn={"ar-SA":94,"az-AZ":17,"bg-BG":71,"bn-BD":52,"ca-ES":83,"cs-CZ":86,"da-DK":61,"de-DE":100,"el-GR":80,en:xZ0,"es-ES":96,"eu-ES":97,"fa-IR":84,"fi-FI":76,"fr-FR":99,"gl-ES":86,"he-IL":77,"hi-IN":76,"hu-HU":76,"id-ID":91,"it-IT":98,"ja-JP":90,kaa:WZ0,"kab-KAB":76,"kk-KZ":18,"km-KH":83,"ko-KR":100,"ku-TR":87,"lt-LT":48,"lv-LV":77,"mr-IN":98,"my-MM":35,"nb-NO":93,"nl-NL":75,"nn-NO":67,"oc-FR":92,"pa-IN":78,"pl-PL":99,"pt-BR":91,"pt-PT":83,"ro-RO":99,"ru-RU":92,"si-LK":7,"sk-SK":100,"sl-SI":100,"sv-SE":100,"ta-IN":81,"th-TH":44,"tr-TR":87,"uk-UA":93,"vi-VN":49,"zh-CN":100,"zh-HK":22,"zh-TW":100}});var CKu=N1(($A3)=>{function hZ0(u,B){var E=u.length;u.push(B);u:for(;0<E;){var A=E-1>>>1,C=u[A];if(0<$n(C,B))u[A]=B,u[E]=C,E=A;else break u}}function TD(u){return u.length===0?null:u[0]}function cn(u){if(u.length===0)return null;var B=u[0],E=u.pop();if(E!==B){u[0]=E;u:for(var A=0,C=u.length,D=C>>>1;A<D;){var F=2*(A+1)-1,U=u[F],z=F+1,k=u[z];if(0>$n(U,E))z<C&&0>$n(k,U)?(u[A]=k,u[z]=E,A=z):(u[A]=U,u[F]=E,A=F);else if(z<C&&0>$n(k,E))u[A]=k,u[z]=E,A=z;else break u}}return B}function $n(u,B){var E=u.sortIndex-B.sortIndex;return E!==0?E:u.id-B.id}if(typeof performance==="object"&&typeof performance.now==="function")iZ0=performance,$A3.unstable_now=function(){return iZ0.now()};else yn=Date,aZ0=yn.now(),$A3.unstable_now=function(){return yn.now()-aZ0};var iZ0,yn,aZ0,pU=[],NZ=[],mA3=1,dA=null,o7=3,_n=!1,tQ=!1,HI=!1,eJu=typeof setTimeout==="function"?setTimeout:null,uKu=typeof clearTimeout==="function"?clearTimeout:null,tJu=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function mZ0(u){for(var B=TD(NZ);B!==null;){if(B.callback===null)cn(NZ);else if(B.startTime<=u)cn(NZ),B.sortIndex=B.expirationTime,hZ0(pU,B);else break;B=TD(NZ)}}function yZ0(u){if(HI=!1,mZ0(u),!tQ)if(TD(pU)!==null)tQ=!0,gZ0(rZ0);else{var B=TD(NZ);B!==null&&cZ0(yZ0,B.startTime-u)}}function rZ0(u,B){tQ=!1,HI&&(HI=!1,uKu(qI),qI=-1),_n=!0;var E=o7;try{mZ0(B);for(dA=TD(pU);dA!==null&&(!(dA.expirationTime>B)||u&&!AKu());){var A=dA.callback;if(typeof A==="function"){dA.callback=null,o7=dA.priorityLevel;var C=A(dA.expirationTime<=B);B=$A3.unstable_now(),typeof C==="function"?dA.callback=C:dA===TD(pU)&&cn(pU),mZ0(B)}else cn(pU);dA=TD(pU)}if(dA!==null)var D=!0;else{var F=TD(NZ);F!==null&&cZ0(yZ0,F.startTime-B),D=!1}return D}finally{dA=null,o7=E,_n=!1}}var pn=!1,rn=null,qI=-1,BKu=5,EKu=-1;function AKu(){return $A3.unstable_now()-EKu<BKu?!1:!0}function VZ0(){if(rn!==null){var u=$A3.unstable_now();EKu=u;var B=!0;try{B=rn(!0,u)}finally{B?GI():(pn=!1,rn=null)}}else pn=!1}var GI;if(typeof tJu==="function")GI=function(){tJu(VZ0)};else if(typeof MessageChannel<"u")gn=new MessageChannel,$Z0=gn.port2,gn.port1.onmessage=VZ0,GI=function(){$Z0.postMessage(null)};else GI=function(){eJu(VZ0,0)};var gn,$Z0;function gZ0(u){rn=u,pn||(pn=!0,GI())}function cZ0(u,B){qI=eJu(function(){u($A3.unstable_now())},B)}$A3.unstable_IdlePriority=5;$A3.unstable_ImmediatePriority=1;$A3.unstable_LowPriority=4;$A3.unstable_NormalPriority=3;$A3.unstable_Profiling=null;$A3.unstable_UserBlockingPriority=2;$A3.unstable_cancelCallback=function(u){u.callback=null};$A3.unstable_continueExecution=function(){tQ||_n||(tQ=!0,gZ0(rZ0))};$A3.unstable_forceFrameRate=function(u){0>u||125<u?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):BKu=0<u?Math.floor(1000/u):5};$A3.unstable_getCurrentPriorityLevel=function(){return o7};$A3.unstable_getFirstCallbackNode=function(){return TD(pU)};$A3.unstable_next=function(u){switch(o7){case 1:case 2:case 3:var B=3;break;default:B=o7}var E=o7;o7=B;try{return u()}finally{o7=E}};$A3.unstable_pauseExecution=function(){};$A3.unstable_requestPaint=function(){};$A3.unstable_runWithPriority=function(u,B){switch(u){case 1:case 2:case 3:case 4:case 5:break;default:u=3}var E=o7;o7=u;try{return B()}finally{o7=E}};$A3.unstable_scheduleCallback=function(u,B,E){var A=$A3.unstable_now();switch(typeof E==="object"&&E!==null?(E=E.delay,E=typeof E==="number"&&0<E?A+E:A):E=A,u){case 1:var C=-1;break;case 2:C=250;break;case 5:C=1073741823;break;case 4:C=1e4;break;default:C=5000}return C=E+C,u={id:mA3++,callback:B,priorityLevel:u,startTime:E,expirationTime:C,sortIndex:-1},E>A?(u.sortIndex=E,hZ0(NZ,u),TD(pU)===null&&u===TD(NZ)&&(HI?(uKu(qI),qI=-1):HI=!0,cZ0(yZ0,E-A))):(u.sortIndex=C,hZ0(pU,u),tQ||_n||(tQ=!0,gZ0(rZ0))),u};$A3.unstable_shouldYield=AKu;$A3.unstable_wrapCallback=function(u){var B=o7;return function(){var E=o7;o7=B;try{return u.apply(this,arguments)}finally{o7=E}}}});var oK0={};ju(oK0,{version:()=>GGu,unstable_renderSubtreeIntoContainer:()=>QGu,unstable_batchedUpdates:()=>wGu,unmountComponentAtNode:()=>KGu,render:()=>JGu,hydrateRoot:()=>ZGu,hydrate:()=>bGu,flushSync:()=>MGu,findDOMNode:()=>fGu,createRoot:()=>kGu,createPortal:()=>zGu,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>UGu});function A4(u){for(var B="https://reactjs.org/docs/error-decoder.html?invariant="+u,E=1;E<arguments.length;E++)B+="&args[]="+encodeURIComponent(arguments[E]);return"Minified React error #"+u+"; visit "+B+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function bG(u,B){kv(u,B),kv(u+"Capture",B)}function kv(u,B){cI[u]=B;for(u=0;u<B.length;u++)fwu.add(B[u])}function UC3(u){if(ZJ0.call(FKu,u))return!0;if(ZJ0.call(DKu,u))return!1;if(FC3.test(u))return FKu[u]=!0;return DKu[u]=!0,!1}function zC3(u,B,E,A){if(E!==null&&E.type===0)return!1;switch(typeof B){case"function":case"symbol":return!0;case"boolean":if(A)return!1;if(E!==null)return!E.acceptsBooleans;return u=u.toLowerCase().slice(0,5),u!=="data-"&&u!=="aria-";default:return!1}}function kC3(u,B,E,A){if(B===null||typeof B>"u"||zC3(u,B,E,A))return!0;if(A)return!1;if(E!==null)switch(E.type){case 3:return!B;case 4:return B===!1;case 5:return isNaN(B);case 6:return isNaN(B)||1>B}return!1}function oB(u,B,E,A,C,D,F){this.acceptsBooleans=B===2||B===3||B===4,this.attributeName=A,this.attributeNamespace=C,this.mustUseProperty=E,this.propertyName=u,this.type=B,this.sanitizeURL=D,this.removeEmptyString=F}function zK0(u){return u[1].toUpperCase()}function kK0(u,B,E,A){var C=W7.hasOwnProperty(B)?W7[B]:null;if(C!==null?C.type!==0:A||!(2<B.length)||B[0]!=="o"&&B[0]!=="O"||B[1]!=="n"&&B[1]!=="N")kC3(B,E,C,A)&&(E=null),A||C===null?UC3(B)&&(E===null?u.removeAttribute(B):u.setAttribute(B,""+E)):C.mustUseProperty?u[C.propertyName]=E===null?C.type===3?!1:"":E:(B=C.attributeName,A=C.attributeNamespace,E===null?u.removeAttribute(B):(C=C.type,E=C===3||C===4&&E===!0?"":""+E,A?u.setAttributeNS(A,B,E):u.setAttribute(B,E)))}function lI(u){if(u===null||typeof u!=="object")return null;return u=UKu&&u[UKu]||u["@@iterator"],typeof u==="function"?u:null}function YI(u){if(_Z0===void 0)try{throw Error()}catch(E){var B=E.stack.trim().match(/\n( *(at )?)/);_Z0=B&&B[1]||""}return`
`+_Z0+u}function nZ0(u,B){if(!u||pZ0)return"";pZ0=!0;var E=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(B)if(B=function(){throw Error()},Object.defineProperty(B.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(B,[])}catch(k){var A=k}Reflect.construct(u,[],B)}else{try{B.call()}catch(k){A=k}u.call(B.prototype)}else{try{throw Error()}catch(k){A=k}u()}}catch(k){if(k&&A&&typeof k.stack==="string"){for(var C=k.stack.split(`
`),D=A.stack.split(`
`),F=C.length-1,U=D.length-1;1<=F&&0<=U&&C[F]!==D[U];)U--;for(;1<=F&&0<=U;F--,U--)if(C[F]!==D[U]){if(F!==1||U!==1)do if(F--,U--,0>U||C[F]!==D[U]){var z=`
`+C[F].replace(" at new "," at ");return u.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",u.displayName)),z}while(1<=F&&0<=U);break}}}finally{pZ0=!1,Error.prepareStackTrace=E}return(u=u?u.displayName||u.name:"")?YI(u):""}function fC3(u){switch(u.tag){case 5:return YI(u.type);case 16:return YI("Lazy");case 13:return YI("Suspense");case 19:return YI("SuspenseList");case 0:case 2:case 15:return u=nZ0(u.type,!1),u;case 11:return u=nZ0(u.type.render,!1),u;case 1:return u=nZ0(u.type,!0),u;default:return""}}function QJ0(u){if(u==null)return null;if(typeof u==="function")return u.displayName||u.name||null;if(typeof u==="string")return u;switch(u){case _X:return"Fragment";case cX:return"Portal";case JJ0:return"Profiler";case fK0:return"StrictMode";case KJ0:return"Suspense";case wJ0:return"SuspenseList"}if(typeof u==="object")switch(u.$$typeof){case bwu:return(u.displayName||"Context")+".Consumer";case Mwu:return(u._context.displayName||"Context")+".Provider";case MK0:var B=u.render;return u=u.displayName,u||(u=B.displayName||B.name||"",u=u!==""?"ForwardRef("+u+")":"ForwardRef"),u;case bK0:return B=u.displayName||null,B!==null?B:QJ0(u.type)||"Memo";case hZ:B=u._payload,u=u._init;try{return QJ0(u(B))}catch(E){}}return null}function MC3(u){var B=u.type;switch(u.tag){case 24:return"Cache";case 9:return(B.displayName||"Context")+".Consumer";case 10:return(B._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return u=B.render,u=u.displayName||u.name||"",B.displayName||(u!==""?"ForwardRef("+u+")":"ForwardRef");case 7:return"Fragment";case 5:return B;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return QJ0(B);case 8:return B===fK0?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof B==="function")return B.displayName||B.name||null;if(typeof B==="string")return B}return null}function oZ(u){switch(typeof u){case"boolean":case"number":case"string":case"undefined":return u;case"object":return u;default:return""}}function Jwu(u){var B=u.type;return(u=u.nodeName)&&u.toLowerCase()==="input"&&(B==="checkbox"||B==="radio")}function bC3(u){var B=Jwu(u)?"checked":"value",E=Object.getOwnPropertyDescriptor(u.constructor.prototype,B),A=""+u[B];if(!u.hasOwnProperty(B)&&typeof E<"u"&&typeof E.get==="function"&&typeof E.set==="function"){var{get:C,set:D}=E;return Object.defineProperty(u,B,{configurable:!0,get:function(){return C.call(this)},set:function(F){A=""+F,D.call(this,F)}}),Object.defineProperty(u,B,{enumerable:E.enumerable}),{getValue:function(){return A},setValue:function(F){A=""+F},stopTracking:function(){u._valueTracker=null,delete u[B]}}}}function dn(u){u._valueTracker||(u._valueTracker=bC3(u))}function Kwu(u){if(!u)return!1;var B=u._valueTracker;if(!B)return!0;var E=B.getValue(),A="";return u&&(A=Jwu(u)?u.checked?"true":"false":u.value),u=A,u!==E?(B.setValue(u),!0):!1}function qd(u){if(u=u||(typeof document<"u"?document:void 0),typeof u>"u")return null;try{return u.activeElement||u.body}catch(B){return u.body}}function GJ0(u,B){var E=B.checked;return Y9({},B,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:E!=null?E:u._wrapperState.initialChecked})}function zKu(u,B){var E=B.defaultValue==null?"":B.defaultValue,A=B.checked!=null?B.checked:B.defaultChecked;E=oZ(B.value!=null?B.value:E),u._wrapperState={initialChecked:A,initialValue:E,controlled:B.type==="checkbox"||B.type==="radio"?B.checked!=null:B.value!=null}}function wwu(u,B){B=B.checked,B!=null&&kK0(u,"checked",B,!1)}function HJ0(u,B){wwu(u,B);var E=oZ(B.value),A=B.type;if(E!=null)if(A==="number"){if(E===0&&u.value===""||u.value!=E)u.value=""+E}else u.value!==""+E&&(u.value=""+E);else if(A==="submit"||A==="reset"){u.removeAttribute("value");return}B.hasOwnProperty("value")?qJ0(u,B.type,E):B.hasOwnProperty("defaultValue")&&qJ0(u,B.type,oZ(B.defaultValue)),B.checked==null&&B.defaultChecked!=null&&(u.defaultChecked=!!B.defaultChecked)}function kKu(u,B,E){if(B.hasOwnProperty("value")||B.hasOwnProperty("defaultValue")){var A=B.type;if(!(A!=="submit"&&A!=="reset"||B.value!==void 0&&B.value!==null))return;B=""+u._wrapperState.initialValue,E||B===u.value||(u.value=B),u.defaultValue=B}E=u.name,E!==""&&(u.name=""),u.defaultChecked=!!u._wrapperState.initialChecked,E!==""&&(u.name=E)}function qJ0(u,B,E){if(B!=="number"||qd(u.ownerDocument)!==u)E==null?u.defaultValue=""+u._wrapperState.initialValue:u.defaultValue!==""+E&&(u.defaultValue=""+E)}function Av(u,B,E,A){if(u=u.options,B){B={};for(var C=0;C<E.length;C++)B["$"+E[C]]=!0;for(E=0;E<u.length;E++)C=B.hasOwnProperty("$"+u[E].value),u[E].selected!==C&&(u[E].selected=C),C&&A&&(u[E].defaultSelected=!0)}else{E=""+oZ(E),B=null;for(C=0;C<u.length;C++){if(u[C].value===E){u[C].selected=!0,A&&(u[C].defaultSelected=!0);return}B!==null||u[C].disabled||(B=u[C])}B!==null&&(B.selected=!0)}}function lJ0(u,B){if(B.dangerouslySetInnerHTML!=null)throw Error(A4(91));return Y9({},B,{value:void 0,defaultValue:void 0,children:""+u._wrapperState.initialValue})}function fKu(u,B){var E=B.value;if(E==null){if(E=B.children,B=B.defaultValue,E!=null){if(B!=null)throw Error(A4(92));if(RI(E)){if(1<E.length)throw Error(A4(93));E=E[0]}B=E}B==null&&(B=""),E=B}u._wrapperState={initialValue:oZ(E)}}function Qwu(u,B){var E=oZ(B.value),A=oZ(B.defaultValue);E!=null&&(E=""+E,E!==u.value&&(u.value=E),B.defaultValue==null&&u.defaultValue!==E&&(u.defaultValue=E)),A!=null&&(u.defaultValue=""+A)}function MKu(u){var B=u.textContent;B===u._wrapperState.initialValue&&B!==""&&B!==null&&(u.value=B)}function Gwu(u){switch(u){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 LJ0(u,B){return u==null||u==="http://www.w3.org/1999/xhtml"?Gwu(B):u==="http://www.w3.org/2000/svg"&&B==="foreignObject"?"http://www.w3.org/1999/xhtml":u}function _I(u,B){if(B){var E=u.firstChild;if(E&&E===u.lastChild&&E.nodeType===3){E.nodeValue=B;return}}u.textContent=B}function qwu(u,B,E){return B==null||typeof B==="boolean"||B===""?"":E||typeof B!=="number"||B===0||VI.hasOwnProperty(u)&&VI[u]?(""+B).trim():B+"px"}function lwu(u,B){u=u.style;for(var E in B)if(B.hasOwnProperty(E)){var A=E.indexOf("--")===0,C=qwu(E,B[E],A);E==="float"&&(E="cssFloat"),A?u.setProperty(E,C):u[E]=C}}function XJ0(u,B){if(B){if(JC3[u]&&(B.children!=null||B.dangerouslySetInnerHTML!=null))throw Error(A4(137,u));if(B.dangerouslySetInnerHTML!=null){if(B.children!=null)throw Error(A4(60));if(typeof B.dangerouslySetInnerHTML!=="object"||!("__html"in B.dangerouslySetInnerHTML))throw Error(A4(61))}if(B.style!=null&&typeof B.style!=="object")throw Error(A4(62))}}function vJ0(u,B){if(u.indexOf("-")===-1)return typeof B.is==="string";switch(u){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 ZK0(u){return u=u.target||u.srcElement||window,u.correspondingUseElement&&(u=u.correspondingUseElement),u.nodeType===3?u.parentNode:u}function bKu(u){if(u=fP(u)){if(typeof WJ0!=="function")throw Error(A4(280));var B=u.stateNode;B&&(B=nd(B),WJ0(u.stateNode,u.type,B))}}function Lwu(u){Cv?Dv?Dv.push(u):Dv=[u]:Cv=u}function Xwu(){if(Cv){var u=Cv,B=Dv;if(Dv=Cv=null,bKu(u),B)for(u=0;u<B.length;u++)bKu(B[u])}}function vwu(u,B){return u(B)}function xwu(){}function Wwu(u,B,E){if(dZ0)return u(B,E);dZ0=!0;try{return vwu(u,B,E)}finally{if(dZ0=!1,Cv!==null||Dv!==null)xwu(),Xwu()}}function pI(u,B){var E=u.stateNode;if(E===null)return null;var A=nd(E);if(A===null)return null;E=A[B];u:switch(B){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(A=!A.disabled)||(u=u.type,A=!(u==="button"||u==="input"||u==="select"||u==="textarea")),u=!A;break u;default:u=!1}if(u)return null;if(E&&typeof E!=="function")throw Error(A4(231,B,typeof E));return E}function KC3(u,B,E,A,C,D,F,U,z){var k=Array.prototype.slice.call(arguments,3);try{B.apply(E,k)}catch(f){this.onError(f)}}function QC3(u,B,E,A,C,D,F,U,z){hI=!1,ld=null,KC3.apply(wC3,arguments)}function GC3(u,B,E,A,C,D,F,U,z){if(QC3.apply(this,arguments),hI){if(hI){var k=ld;hI=!1,ld=null}else throw Error(A4(198));Ld||(Ld=!0,YJ0=k)}}function ZG(u){var B=u,E=u;if(u.alternate)for(;B.return;)B=B.return;else{u=B;do B=u,(B.flags&4098)!==0&&(E=B.return),u=B.return;while(u)}return B.tag===3?E:null}function Swu(u){if(u.tag===13){var B=u.memoizedState;if(B===null&&(u=u.alternate,u!==null&&(B=u.memoizedState)),B!==null)return B.dehydrated}return null}function ZKu(u){if(ZG(u)!==u)throw Error(A4(188))}function HC3(u){var B=u.alternate;if(!B){if(B=ZG(u),B===null)throw Error(A4(188));return B!==u?null:u}for(var E=u,A=B;;){var C=E.return;if(C===null)break;var D=C.alternate;if(D===null){if(A=C.return,A!==null){E=A;continue}break}if(C.child===D.child){for(D=C.child;D;){if(D===E)return ZKu(C),u;if(D===A)return ZKu(C),B;D=D.sibling}throw Error(A4(188))}if(E.return!==A.return)E=C,A=D;else{for(var F=!1,U=C.child;U;){if(U===E){F=!0,E=C,A=D;break}if(U===A){F=!0,A=C,E=D;break}U=U.sibling}if(!F){for(U=D.child;U;){if(U===E){F=!0,E=D,A=C;break}if(U===A){F=!0,A=D,E=C;break}U=U.sibling}if(!F)throw Error(A4(189))}}if(E.alternate!==A)throw Error(A4(190))}if(E.tag!==3)throw Error(A4(188));return E.stateNode.current===E?u:B}function Ywu(u){return u=HC3(u),u!==null?Rwu(u):null}function Rwu(u){if(u.tag===5||u.tag===6)return u;for(u=u.child;u!==null;){var B=Rwu(u);if(B!==null)return B;u=u.sibling}return null}function vC3(u){if(oU&&typeof oU.onCommitFiberRoot==="function")try{oU.onCommitFiberRoot(gd,u,void 0,(u.current.flags&128)===128)}catch(B){}}function SC3(u){return u>>>=0,u===0?32:31-(xC3(u)/WC3|0)|0}function TI(u){switch(u&-u){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return u&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return u&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return u}}function vd(u,B){var E=u.pendingLanes;if(E===0)return 0;var A=0,C=u.suspendedLanes,D=u.pingedLanes,F=E&268435455;if(F!==0){var U=F&~C;U!==0?A=TI(U):(D&=F,D!==0&&(A=TI(D)))}else F=E&~C,F!==0?A=TI(F):D!==0&&(A=TI(D));if(A===0)return 0;if(B!==0&&B!==A&&(B&C)===0&&(C=A&-A,D=B&-B,C>=D||C===16&&(D&4194240)!==0))return B;if((A&4)!==0&&(A|=E&16),B=u.entangledLanes,B!==0)for(u=u.entanglements,B&=A;0<B;)E=31-ND(B),C=1<<E,A|=u[E],B&=~C;return A}function YC3(u,B){switch(u){case 1:case 2:case 4:return B+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return B+5000;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function RC3(u,B){for(var{suspendedLanes:E,pingedLanes:A,expirationTimes:C,pendingLanes:D}=u;0<D;){var F=31-ND(D),U=1<<F,z=C[F];if(z===-1){if((U&E)===0||(U&A)!==0)C[F]=YC3(U,B)}else z<=B&&(u.expiredLanes|=U);D&=~U}}function RJ0(u){return u=u.pendingLanes&-1073741825,u!==0?u:u&1073741824?1073741824:0}function Pwu(){var u=on;return on<<=1,(on&4194240)===0&&(on=64),u}function sZ0(u){for(var B=[],E=0;31>E;E++)B.push(u);return B}function zP(u,B,E){u.pendingLanes|=B,B!==536870912&&(u.suspendedLanes=0,u.pingedLanes=0),u=u.eventTimes,B=31-ND(B),u[B]=E}function TC3(u,B){var E=u.pendingLanes&~B;u.pendingLanes=B,u.suspendedLanes=0,u.pingedLanes=0,u.expiredLanes&=B,u.mutableReadLanes&=B,u.entangledLanes&=B,B=u.entanglements;var A=u.eventTimes;for(u=u.expirationTimes;0<E;){var C=31-ND(E),D=1<<C;B[C]=0,A[C]=-1,u[C]=-1,E&=~D}}function KK0(u,B){var E=u.entangledLanes|=B;for(u=u.entanglements;E;){var A=31-ND(E),C=1<<A;C&B|u[A]&B&&(u[A]|=B),E&=~C}}function jwu(u){return u&=-u,1<u?4<u?(u&268435455)!==0?16:536870912:4:1}function KKu(u,B){switch(u){case"focusin":case"focusout":rZ=null;break;case"dragenter":case"dragleave":gZ=null;break;case"mouseover":case"mouseout":cZ=null;break;case"pointerover":case"pointerout":nI.delete(B.pointerId);break;case"gotpointercapture":case"lostpointercapture":dI.delete(B.pointerId)}}function LI(u,B,E,A,C,D){if(u===null||u.nativeEvent!==D)return u={blockedOn:B,domEventName:E,eventSystemFlags:A,nativeEvent:D,targetContainers:[C]},B!==null&&(B=fP(B),B!==null&&wK0(B)),u;return u.eventSystemFlags|=A,B=u.targetContainers,C!==null&&B.indexOf(C)===-1&&B.push(C),u}function IC3(u,B,E,A,C){switch(B){case"focusin":return rZ=LI(rZ,u,B,E,A,C),!0;case"dragenter":return gZ=LI(gZ,u,B,E,A,C),!0;case"mouseover":return cZ=LI(cZ,u,B,E,A,C),!0;case"pointerover":var D=C.pointerId;return nI.set(D,LI(nI.get(D)||null,u,B,E,A,C)),!0;case"gotpointercapture":return D=C.pointerId,dI.set(D,LI(dI.get(D)||null,u,B,E,A,C)),!0}return!1}function awu(u){var B=EG(u.target);if(B!==null){var E=ZG(B);if(E!==null){if(B=E.tag,B===13){if(B=Swu(E),B!==null){u.blockedOn=B,iwu(u.priority,function(){Vwu(E)});return}}else if(B===3&&E.stateNode.current.memoizedState.isDehydrated){u.blockedOn=E.tag===3?E.stateNode.containerInfo:null;return}}}u.blockedOn=null}function kd(u){if(u.blockedOn!==null)return!1;for(var B=u.targetContainers;0<B.length;){var E=OJ0(u.domEventName,u.eventSystemFlags,B[0],u.nativeEvent);if(E===null){E=u.nativeEvent;var A=new E.constructor(E.type,E);xJ0=A,E.target.dispatchEvent(A),xJ0=null}else return B=fP(E),B!==null&&wK0(B),u.blockedOn=E,!1;B.shift()}return!0}function wKu(u,B,E){kd(u)&&E.delete(B)}function PC3(){TJ0=!1,rZ!==null&&kd(rZ)&&(rZ=null),gZ!==null&&kd(gZ)&&(gZ=null),cZ!==null&&kd(cZ)&&(cZ=null),nI.forEach(wKu),dI.forEach(wKu)}function XI(u,B){u.blockedOn===B&&(u.blockedOn=null,TJ0||(TJ0=!0,w9.unstable_scheduleCallback(w9.unstable_NormalPriority,PC3)))}function sI(u){function B(C){return XI(C,u)}if(0<en.length){XI(en[0],u);for(var E=1;E<en.length;E++){var A=en[E];A.blockedOn===u&&(A.blockedOn=null)}}rZ!==null&&XI(rZ,u),gZ!==null&&XI(gZ,u),cZ!==null&&XI(cZ,u),nI.forEach(B),dI.forEach(B);for(E=0;E<aZ.length;E++)A=aZ[E],A.blockedOn===u&&(A.blockedOn=null);for(;0<aZ.length&&(E=aZ[0],E.blockedOn===null);)awu(E),E.blockedOn===null&&aZ.shift()}function jC3(u,B,E,A){var C=M6,D=Fv.transition;Fv.transition=null;try{M6=1,QK0(u,B,E,A)}finally{M6=C,Fv.transition=D}}function NC3(u,B,E,A){var C=M6,D=Fv.transition;Fv.transition=null;try{M6=4,QK0(u,B,E,A)}finally{M6=C,Fv.transition=D}}function QK0(u,B,E,A){if(xd){var C=OJ0(u,B,E,A);if(C===null)EJ0(u,B,A,Wd,E),KKu(u,A);else if(IC3(C,u,B,E,A))A.stopPropagation();else if(KKu(u,A),B&4&&-1<OC3.indexOf(u)){for(;C!==null;){var D=fP(C);if(D!==null&&Nwu(D),D=OJ0(u,B,E,A),D===null&&EJ0(u,B,A,Wd,E),D===C)break;C=D}C!==null&&A.stopPropagation()}else EJ0(u,B,A,null,E)}}function OJ0(u,B,E,A){if(Wd=null,u=ZK0(A),u=EG(u),u!==null)if(B=ZG(u),B===null)u=null;else if(E=B.tag,E===13){if(u=Swu(B),u!==null)return u;u=null}else if(E===3){if(B.stateNode.current.memoizedState.isDehydrated)return B.tag===3?B.stateNode.containerInfo:null;u=null}else B!==u&&(u=null);return Wd=u,null}function mwu(u){switch(u){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(LC3()){case JK0:return 1;case Owu:return 4;case Xd:case XC3:return 16;case Iwu:return 536870912;default:return 16}default:return 16}}function $wu(){if(fd)return fd;var u,B=GK0,E=B.length,A,C="value"in $Z?$Z.value:$Z.textContent,D=C.length;for(u=0;u<E&&B[u]===C[u];u++);var F=E-u;for(A=1;A<=F&&B[E-A]===C[D-A];A++);return fd=C.slice(u,1<A?1-A:void 0)}function Md(u){var B=u.keyCode;return"charCode"in u?(u=u.charCode,u===0&&B===13&&(u=13)):u=B,u===10&&(u=13),32<=u||u===13?u:0}function ud(){return!0}function QKu(){return!1}function rE(u){function B(E,A,C,D,F){this._reactName=E,this._targetInst=C,this.type=A,this.nativeEvent=D,this.target=F,this.currentTarget=null;for(var U in u)u.hasOwnProperty(U)&&(E=u[U],this[U]=E?E(D):D[U]);return this.isDefaultPrevented=(D.defaultPrevented!=null?D.defaultPrevented:D.returnValue===!1)?ud:QKu,this.isPropagationStopped=QKu,this}return Y9(B.prototype,{preventDefault:function(){this.defaultPrevented=!0;var E=this.nativeEvent;E&&(E.preventDefault?E.preventDefault():typeof E.returnValue!=="unknown"&&(E.returnValue=!1),this.isDefaultPrevented=ud)},stopPropagation:function(){var E=this.nativeEvent;E&&(E.stopPropagation?E.stopPropagation():typeof E.cancelBubble!=="unknown"&&(E.cancelBubble=!0),this.isPropagationStopped=ud)},persist:function(){},isPersistent:ud}),B}function nC3(u){var B=this.nativeEvent;return B.getModifierState?B.getModifierState(u):(u=pC3[u])?!!B[u]:!1}function qK0(){return nC3}function rwu(u,B){switch(u){case"keyup":return CD3.indexOf(B.keyCode)!==-1;case"keydown":return B.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gwu(u){return u=u.detail,typeof u==="object"&&"data"in u?u.data:null}function FD3(u,B){switch(u){case"compositionend":return gwu(B);case"keypress":if(B.which!==32)return null;return LKu=!0,lKu;case"textInput":return u=B.data,u===lKu&&LKu?null:u;default:return null}}function UD3(u,B){if(pX)return u==="compositionend"||!lK0&&rwu(u,B)?(u=$wu(),fd=GK0=$Z=null,pX=!1,u):null;switch(u){case"paste":return null;case"keypress":if(!(B.ctrlKey||B.altKey||B.metaKey)||B.ctrlKey&&B.altKey){if(B.char&&1<B.char.length)return B.char;if(B.which)return String.fromCharCode(B.which)}return null;case"compositionend":return ywu&&B.locale!=="ko"?null:B.data;default:return null}}function XKu(u){var B=u&&u.nodeName&&u.nodeName.toLowerCase();return B==="input"?!!zD3[u.type]:B==="textarea"?!0:!1}function cwu(u,B,E,A){Lwu(A),B=Sd(B,"onChange"),0<B.length&&(E=new HK0("onChange","change",null,E,A),u.push({event:E,listeners:B}))}function kD3(u){EQu(u,0)}function _d(u){var B=sX(u);if(Kwu(B))return u}function fD3(u,B){if(u==="change")return B}function vKu(){aI&&(aI.detachEvent("onpropertychange",pwu),oI=aI=null)}function pwu(u){if(u.propertyName==="value"&&_d(oI)){var B=[];cwu(B,oI,u,ZK0(u)),Wwu(kD3,B)}}function MD3(u,B,E){u==="focusin"?(vKu(),aI=B,oI=E,aI.attachEvent("onpropertychange",pwu)):u==="focusout"&&vKu()}function bD3(u){if(u==="selectionchange"||u==="keyup"||u==="keydown")return _d(oI)}function ZD3(u,B){if(u==="click")return _d(B)}function JD3(u,B){if(u==="input"||u==="change")return _d(B)}function KD3(u,B){return u===B&&(u!==0||1/u===1/B)||u!==u&&B!==B}function tI(u,B){if(hD(u,B))return!0;if(typeof u!=="object"||u===null||typeof B!=="object"||B===null)return!1;var E=Object.keys(u),A=Object.keys(B);if(E.length!==A.length)return!1;for(A=0;A<E.length;A++){var C=E[A];if(!ZJ0.call(B,C)||!hD(u[C],B[C]))return!1}return!0}function xKu(u){for(;u&&u.firstChild;)u=u.firstChild;return u}function WKu(u,B){var E=xKu(u);u=0;for(var A;E;){if(E.nodeType===3){if(A=u+E.textContent.length,u<=B&&A>=B)return{node:E,offset:B-u};u=A}u:{for(;E;){if(E.nextSibling){E=E.nextSibling;break u}E=E.parentNode}E=void 0}E=xKu(E)}}function nwu(u,B){return u&&B?u===B?!0:u&&u.nodeType===3?!1:B&&B.nodeType===3?nwu(u,B.parentNode):("contains"in u)?u.contains(B):u.compareDocumentPosition?!!(u.compareDocumentPosition(B)&16):!1:!1}function dwu(){for(var u=window,B=qd();B instanceof u.HTMLIFrameElement;){try{var E=typeof B.contentWindow.location.href==="string"}catch(A){E=!1}if(E)u=B.contentWindow;else break;B=qd(u.document)}return B}function LK0(u){var B=u&&u.nodeName&&u.nodeName.toLowerCase();return B&&(B==="input"&&(u.type==="text"||u.type==="search"||u.type==="tel"||u.type==="url"||u.type==="password")||B==="textarea"||u.contentEditable==="true")}function wD3(u){var B=dwu(),E=u.focusedElem,A=u.selectionRange;if(B!==E&&E&&E.ownerDocument&&nwu(E.ownerDocument.documentElement,E)){if(A!==null&&LK0(E)){if(B=A.start,u=A.end,u===void 0&&(u=B),"selectionStart"in E)E.selectionStart=B,E.selectionEnd=Math.min(u,E.value.length);else if(u=(B=E.ownerDocument||document)&&B.defaultView||window,u.getSelection){u=u.getSelection();var C=E.textContent.length,D=Math.min(A.start,C);A=A.end===void 0?D:Math.min(A.end,C),!u.extend&&D>A&&(C=A,A=D,D=C),C=WKu(E,D);var F=WKu(E,A);C&&F&&(u.rangeCount!==1||u.anchorNode!==C.node||u.anchorOffset!==C.offset||u.focusNode!==F.node||u.focusOffset!==F.offset)&&(B=B.createRange(),B.setStart(C.node,C.offset),u.removeAllRanges(),D>A?(u.addRange(B),u.extend(F.node,F.offset)):(B.setEnd(F.node,F.offset),u.addRange(B)))}}B=[];for(u=E;u=u.parentNode;)u.nodeType===1&&B.push({element:u,left:u.scrollLeft,top:u.scrollTop});typeof E.focus==="function"&&E.focus();for(E=0;E<B.length;E++)u=B[E],u.element.scrollLeft=u.left,u.element.scrollTop=u.top}}function SKu(u,B,E){var A=E.window===E?E.document:E.nodeType===9?E:E.ownerDocument;PJ0||nX==null||nX!==qd(A)||(A=nX,("selectionStart"in A)&&LK0(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),mI&&tI(mI,A)||(mI=A,A=Sd(IJ0,"onSelect"),0<A.length&&(B=new HK0("onSelect","select",null,B,E),u.push({event:B,listeners:A}),B.target=nX)))}function Bd(u,B){var E={};return E[u.toLowerCase()]=B.toLowerCase(),E["Webkit"+u]="webkit"+B,E["Moz"+u]="moz"+B,E}function pd(u){if(uJ0[u])return uJ0[u];if(!dX[u])return u;var B=dX[u],E;for(E in B)if(B.hasOwnProperty(E)&&E in swu)return uJ0[u]=B[E];return u}function eZ(u,B){BQu.set(u,B),bG(B,[u])}function RKu(u,B,E){var A=u.type||"unknown-event";u.currentTarget=E,GC3(A,B,void 0,u),u.currentTarget=null}function EQu(u,B){B=(B&4)!==0;for(var E=0;E<u.length;E++){var A=u[E],C=A.event;A=A.listeners;u:{var D=void 0;if(B)for(var F=A.length-1;0<=F;F--){var U=A[F],z=U.instance,k=U.currentTarget;if(U=U.listener,z!==D&&C.isPropagationStopped())break u;RKu(C,U,k),D=z}else for(F=0;F<A.length;F++){if(U=A[F],z=U.instance,k=U.currentTarget,U=U.listener,z!==D&&C.isPropagationStopped())break u;RKu(C,U,k),D=z}}}if(Ld)throw u=YJ0,Ld=!1,YJ0=null,u}function t6(u,B){var E=B[mJ0];E===void 0&&(E=B[mJ0]=new Set);var A=u+"__bubble";E.has(A)||(AQu(B,u,2,!1),E.add(A))}function BJ0(u,B,E){var A=0;B&&(A|=4),AQu(E,u,A,B)}function eI(u){if(!u[Ed]){u[Ed]=!0,fwu.forEach(function(E){E!=="selectionchange"&&(GD3.has(E)||BJ0(E,!1,u),BJ0(E,!0,u))});var B=u.nodeType===9?u:u.ownerDocument;B===null||B[Ed]||(B[Ed]=!0,BJ0("selectionchange",!1,B))}}function AQu(u,B,E,A){switch(mwu(B)){case 1:var C=jC3;break;case 4:C=NC3;break;default:C=QK0}E=C.bind(null,B,E,u),C=void 0,!SJ0||B!=="touchstart"&&B!=="touchmove"&&B!=="wheel"||(C=!0),A?C!==void 0?u.addEventListener(B,E,{capture:!0,passive:C}):u.addEventListener(B,E,!0):C!==void 0?u.addEventListener(B,E,{passive:C}):u.addEventListener(B,E,!1)}function EJ0(u,B,E,A,C){var D=A;if((B&1)===0&&(B&2)===0&&A!==null)u:for(;;){if(A===null)return;var F=A.tag;if(F===3||F===4){var U=A.stateNode.containerInfo;if(U===C||U.nodeType===8&&U.parentNode===C)break;if(F===4)for(F=A.return;F!==null;){var z=F.tag;if(z===3||z===4){if(z=F.stateNode.containerInfo,z===C||z.nodeType===8&&z.parentNode===C)return}F=F.return}for(;U!==null;){if(F=EG(U),F===null)return;if(z=F.tag,z===5||z===6){A=D=F;continue u}U=U.parentNode}}A=A.return}Wwu(function(){var k=D,f=ZK0(E),M=[];u:{var b=BQu.get(u);if(b!==void 0){var Z=HK0,J=u;switch(u){case"keypress":if(Md(E)===0)break u;case"keydown":case"keyup":Z=sC3;break;case"focusin":J="focus",Z=eZ0;break;case"focusout":J="blur",Z=eZ0;break;case"beforeblur":case"afterblur":Z=eZ0;break;case"click":if(E.button===2)break u;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Z=GKu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Z=iC3;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Z=eC3;break;case owu:case twu:case ewu:Z=$C3;break;case uQu:Z=BD3;break;case"scroll":Z=VC3;break;case"wheel":Z=AD3;break;case"copy":case"cut":case"paste":Z=rC3;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Z=qKu}var K=(B&4)!==0,w=!K&&u==="scroll",Q=K?b!==null?b+"Capture":null:b;K=[];for(var G=k,H;G!==null;){H=G;var l=H.stateNode;if(H.tag===5&&l!==null&&(H=l,Q!==null&&(l=pI(G,Q),l!=null&&K.push(uP(G,l,H)))),w)break;G=G.return}0<K.length&&(b=new Z(b,J,null,E,f),M.push({event:b,listeners:K}))}}if((B&7)===0){u:{if(b=u==="mouseover"||u==="pointerover",Z=u==="mouseout"||u==="pointerout",b&&E!==xJ0&&(J=E.relatedTarget||E.fromElement)&&(EG(J)||J[qf]))break u;if(Z||b){if(b=f.window===f?f:(b=f.ownerDocument)?b.defaultView||b.parentWindow:window,Z){if(J=E.relatedTarget||E.toElement,Z=k,J=J?EG(J):null,J!==null&&(w=ZG(J),J!==w||J.tag!==5&&J.tag!==6))J=null}else Z=null,J=k;if(Z!==J){if(K=GKu,l="onMouseLeave",Q="onMouseEnter",G="mouse",u==="pointerout"||u==="pointerover")K=qKu,l="onPointerLeave",Q="onPointerEnter",G="pointer";if(w=Z==null?b:sX(Z),H=J==null?b:sX(J),b=new K(l,G+"leave",Z,E,f),b.target=w,b.relatedTarget=H,l=null,EG(f)===k&&(K=new K(Q,G+"enter",J,E,f),K.target=H,K.relatedTarget=w,l=K),w=l,Z&&J)B:{K=Z,Q=J,G=0;for(H=K;H;H=rX(H))G++;H=0;for(l=Q;l;l=rX(l))H++;for(;0<G-H;)K=rX(K),G--;for(;0<H-G;)Q=rX(Q),H--;for(;G--;){if(K===Q||Q!==null&&K===Q.alternate)break B;K=rX(K),Q=rX(Q)}K=null}else K=null;Z!==null&&TKu(M,b,Z,K,!1),J!==null&&w!==null&&TKu(M,w,J,K,!0)}}}u:{if(b=k?sX(k):window,Z=b.nodeName&&b.nodeName.toLowerCase(),Z==="select"||Z==="input"&&b.type==="file")var q=fD3;else if(XKu(b))if(_wu)q=JD3;else{q=bD3;var L=MD3}else(Z=b.nodeName)&&Z.toLowerCase()==="input"&&(b.type==="checkbox"||b.type==="radio")&&(q=ZD3);if(q&&(q=q(u,k))){cwu(M,q,E,f);break u}L&&L(u,b,k),u==="focusout"&&(L=b._wrapperState)&&L.controlled&&b.type==="number"&&qJ0(b,"number",b.value)}switch(L=k?sX(k):window,u){case"focusin":if(XKu(L)||L.contentEditable==="true")nX=L,IJ0=k,mI=null;break;case"focusout":mI=IJ0=nX=null;break;case"mousedown":PJ0=!0;break;case"contextmenu":case"mouseup":case"dragend":PJ0=!1,SKu(M,E,f);break;case"selectionchange":if(QD3)break;case"keydown":case"keyup":SKu(M,E,f)}var v;if(lK0)u:{switch(u){case"compositionstart":var x="onCompositionStart";break u;case"compositionend":x="onCompositionEnd";break u;case"compositionupdate":x="onCompositionUpdate";break u}x=void 0}else pX?rwu(u,E)&&(x="onCompositionEnd"):u==="keydown"&&E.keyCode===229&&(x="onCompositionStart");if(x&&(ywu&&E.locale!=="ko"&&(pX||x!=="onCompositionStart"?x==="onCompositionEnd"&&pX&&(v=$wu()):($Z=f,GK0=("value"in $Z)?$Z.value:$Z.textContent,pX=!0)),L=Sd(k,x),0<L.length&&(x=new HKu(x,u,null,E,f),M.push({event:x,listeners:L}),v?x.data=v:(v=gwu(E),v!==null&&(x.data=v)))),v=DD3?FD3(u,E):UD3(u,E))k=Sd(k,"onBeforeInput"),0<k.length&&(f=new HKu("onBeforeInput","beforeinput",null,E,f),M.push({event:f,listeners:k}),f.data=v)}EQu(M,B)})}function uP(u,B,E){return{instance:u,listener:B,currentTarget:E}}function Sd(u,B){for(var E=B+"Capture",A=[];u!==null;){var C=u,D=C.stateNode;C.tag===5&&D!==null&&(C=D,D=pI(u,E),D!=null&&A.unshift(uP(u,D,C)),D=pI(u,B),D!=null&&A.push(uP(u,D,C))),u=u.return}return A}function rX(u){if(u===null)return null;do u=u.return;while(u&&u.tag!==5);return u?u:null}function TKu(u,B,E,A,C){for(var D=B._reactName,F=[];E!==null&&E!==A;){var U=E,z=U.alternate,k=U.stateNode;if(z!==null&&z===A)break;U.tag===5&&k!==null&&(U=k,C?(z=pI(E,D),z!=null&&F.unshift(uP(E,z,U))):C||(z=pI(E,D),z!=null&&F.push(uP(E,z,U)))),E=E.return}F.length!==0&&u.push({event:B,listeners:F})}function OKu(u){return(typeof u==="string"?u:""+u).replace(HD3,`
`).replace(qD3,"")}function Ad(u,B,E){if(B=OKu(B),OKu(u)!==B&&E)throw Error(A4(425))}function Yd(){}function iJ0(u,B){return u==="textarea"||u==="noscript"||typeof B.children==="string"||typeof B.children==="number"||typeof B.dangerouslySetInnerHTML==="object"&&B.dangerouslySetInnerHTML!==null&&B.dangerouslySetInnerHTML.__html!=null}function XD3(u){setTimeout(function(){throw u})}function AJ0(u,B){var E=B,A=0;do{var C=E.nextSibling;if(u.removeChild(E),C&&C.nodeType===8)if(E=C.data,E==="/$"){if(A===0){u.removeChild(C),sI(B);return}A--}else E!=="$"&&E!=="$?"&&E!=="$!"||A++;E=C}while(E);sI(B)}function _Z(u){for(;u!=null;u=u.nextSibling){var B=u.nodeType;if(B===1||B===3)break;if(B===8){if(B=u.data,B==="$"||B==="$!"||B==="$?")break;if(B==="/$")return null}}return u}function PKu(u){u=u.previousSibling;for(var B=0;u;){if(u.nodeType===8){var E=u.data;if(E==="$"||E==="$!"||E==="$?"){if(B===0)return u;B--}else E==="/$"&&B++}u=u.previousSibling}return null}function EG(u){var B=u[sU];if(B)return B;for(var E=u.parentNode;E;){if(B=E[qf]||E[sU]){if(E=B.alternate,B.child!==null||E!==null&&E.child!==null)for(u=PKu(u);u!==null;){if(E=u[sU])return E;u=PKu(u)}return B}u=E,E=u.parentNode}return null}function fP(u){return u=u[sU]||u[qf],!u||u.tag!==5&&u.tag!==6&&u.tag!==13&&u.tag!==3?null:u}function sX(u){if(u.tag===5||u.tag===6)return u.stateNode;throw Error(A4(33))}function nd(u){return u[BP]||null}function uJ(u){return{current:u}}function e6(u){0>oX||(u.current=$J0[oX],$J0[oX]=null,oX--)}function h6(u,B){oX++,$J0[oX]=u.current,u.current=B}function fv(u,B){var E=u.type.contextTypes;if(!E)return tZ;var A=u.stateNode;if(A&&A.__reactInternalMemoizedUnmaskedChildContext===B)return A.__reactInternalMemoizedMaskedChildContext;var C={},D;for(D in E)C[D]=B[D];return A&&(u=u.stateNode,u.__reactInternalMemoizedUnmaskedChildContext=B,u.__reactInternalMemoizedMaskedChildContext=C),C}function p8(u){return u=u.childContextTypes,u!==null&&u!==void 0}function Rd(){e6(_8),e6(BB)}function jKu(u,B,E){if(BB.current!==tZ)throw Error(A4(168));h6(BB,B),h6(_8,E)}function CQu(u,B,E){var A=u.stateNode;if(B=B.childContextTypes,typeof A.getChildContext!=="function")return E;A=A.getChildContext();for(var C in A)if(!(C in B))throw Error(A4(108,MC3(u)||"Unknown",C));return Y9({},E,A)}function Td(u){return u=(u=u.stateNode)&&u.__reactInternalMemoizedMergedChildContext||tZ,UG=BB.current,h6(BB,u),h6(_8,_8.current),!0}function NKu(u,B,E){var A=u.stateNode;if(!A)throw Error(A4(169));E?(u=CQu(u,B,UG),A.__reactInternalMemoizedMergedChildContext=u,e6(_8),e6(BB),h6(BB,u)):e6(_8),h6(_8,E)}function DQu(u){Kf===null?Kf=[u]:Kf.push(u)}function WD3(u){dd=!0,DQu(u)}function BJ(){if(!CJ0&&Kf!==null){CJ0=!0;var u=0,B=M6;try{var E=Kf;for(M6=1;u<E.length;u++){var A=E[u];do A=A(!0);while(A!==null)}Kf=null,dd=!1}catch(C){throw Kf!==null&&(Kf=Kf.slice(u+1)),Twu(JK0,BJ),C}finally{M6=B,CJ0=!1}}return null}function uG(u,B){tX[eX++]=Id,tX[eX++]=Od,Od=u,Id=B}function FQu(u,B,E){sA[oA++]=wf,sA[oA++]=Qf,sA[oA++]=zG,zG=u;var A=wf;u=Qf;var C=32-ND(A)-1;A&=~(1<<C),E+=1;var D=32-ND(B)+C;if(30<D){var F=C-C%5;D=(A&(1<<F)-1).toString(32),A>>=F,C-=F,wf=1<<32-ND(B)+C|E<<C|A,Qf=D+u}else wf=1<<D|E<<C|A,Qf=u}function XK0(u){u.return!==null&&(uG(u,1),FQu(u,1,0))}function vK0(u){for(;u===Od;)Od=tX[--eX],tX[eX]=null,Id=tX[--eX],tX[eX]=null;for(;u===zG;)zG=sA[--oA],sA[oA]=null,Qf=sA[--oA],sA[oA]=null,wf=sA[--oA],sA[oA]=null}function UQu(u,B){var E=tA(5,null,null,0);E.elementType="DELETED",E.stateNode=B,E.return=u,B=u.deletions,B===null?(u.deletions=[E],u.flags|=16):B.push(E)}function VKu(u,B){switch(u.tag){case 5:var E=u.type;return B=B.nodeType!==1||E.toLowerCase()!==B.nodeName.toLowerCase()?null:B,B!==null?(u.stateNode=B,yE=u,$E=_Z(B.firstChild),!0):!1;case 6:return B=u.pendingProps===""||B.nodeType!==3?null:B,B!==null?(u.stateNode=B,yE=u,$E=null,!0):!1;case 13:return B=B.nodeType!==8?null:B,B!==null?(E=zG!==null?{id:wf,overflow:Qf}:null,u.memoizedState={dehydrated:B,treeContext:E,retryLane:1073741824},E=tA(18,null,null,0),E.stateNode=B,E.return=u,u.child=E,yE=u,$E=null,!0):!1;default:return!1}}function yJ0(u){return(u.mode&1)!==0&&(u.flags&128)===0}function rJ0(u){if(K9){var B=$E;if(B){var E=B;if(!VKu(u,B)){if(yJ0(u))throw Error(A4(418));B=_Z(E.nextSibling);var A=yE;B&&VKu(u,B)?UQu(A,E):(u.flags=u.flags&-4097|2,K9=!1,yE=u)}}else{if(yJ0(u))throw Error(A4(418));u.flags=u.flags&-4097|2,K9=!1,yE=u}}}function hKu(u){for(u=u.return;u!==null&&u.tag!==5&&u.tag!==3&&u.tag!==13;)u=u.return;yE=u}function Cd(u){if(u!==yE)return!1;if(!K9)return hKu(u),K9=!0,!1;var B;if((B=u.tag!==3)&&!(B=u.tag!==5)&&(B=u.type,B=B!=="head"&&B!=="body"&&!iJ0(u.type,u.memoizedProps)),B&&(B=$E)){if(yJ0(u))throw zQu(),Error(A4(418));for(;B;)UQu(u,B),B=_Z(B.nextSibling)}if(hKu(u),u.tag===13){if(u=u.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(A4(317));u:{u=u.nextSibling;for(B=0;u;){if(u.nodeType===8){var E=u.data;if(E==="/$"){if(B===0){$E=_Z(u.nextSibling);break u}B--}else E!=="$"&&E!=="$!"&&E!=="$?"||B++}u=u.nextSibling}$E=null}}else $E=yE?_Z(u.stateNode.nextSibling):null;return!0}function zQu(){for(var u=$E;u;)u=_Z(u.nextSibling)}function Mv(){$E=yE=null,K9=!1}function xK0(u){jD===null?jD=[u]:jD.push(u)}function xI(u,B,E){if(u=E.ref,u!==null&&typeof u!=="function"&&typeof u!=="object"){if(E._owner){if(E=E._owner,E){if(E.tag!==1)throw Error(A4(309));var A=E.stateNode}if(!A)throw Error(A4(147,u));var C=A,D=""+u;if(B!==null&&B.ref!==null&&typeof B.ref==="function"&&B.ref._stringRef===D)return B.ref;return B=function(F){var U=C.refs;F===null?delete U[D]:U[D]=F},B._stringRef=D,B}if(typeof u!=="string")throw Error(A4(284));if(!E._owner)throw Error(A4(290,u))}return u}function Dd(u,B){throw u=Object.prototype.toString.call(B),Error(A4(31,u==="[object Object]"?"object with keys {"+Object.keys(B).join(", ")+"}":u))}function iKu(u){var B=u._init;return B(u._payload)}function kQu(u){function B(Q,G){if(u){var H=Q.deletions;H===null?(Q.deletions=[G],Q.flags|=16):H.push(G)}}function E(Q,G){if(!u)return null;for(;G!==null;)B(Q,G),G=G.sibling;return null}function A(Q,G){for(Q=new Map;G!==null;)G.key!==null?Q.set(G.key,G):Q.set(G.index,G),G=G.sibling;return Q}function C(Q,G){return Q=sZ(Q,G),Q.index=0,Q.sibling=null,Q}function D(Q,G,H){if(Q.index=H,!u)return Q.flags|=1048576,G;if(H=Q.alternate,H!==null)return H=H.index,H<G?(Q.flags|=2,G):H;return Q.flags|=2,G}function F(Q){return u&&Q.alternate===null&&(Q.flags|=2),Q}function U(Q,G,H,l){if(G===null||G.tag!==6)return G=MJ0(H,Q.mode,l),G.return=Q,G;return G=C(G,H),G.return=Q,G}function z(Q,G,H,l){var q=H.type;if(q===_X)return f(Q,G,H.props.children,l,H.key);if(G!==null&&(G.elementType===q||typeof q==="object"&&q!==null&&q.$$typeof===hZ&&iKu(q)===G.type))return l=C(G,H.props),l.ref=xI(Q,G,H),l.return=Q,l;return l=Hd(H.type,H.key,H.props,null,Q.mode,l),l.ref=xI(Q,G,H),l.return=Q,l}function k(Q,G,H,l){if(G===null||G.tag!==4||G.stateNode.containerInfo!==H.containerInfo||G.stateNode.implementation!==H.implementation)return G=bJ0(H,Q.mode,l),G.return=Q,G;return G=C(G,H.children||[]),G.return=Q,G}function f(Q,G,H,l,q){if(G===null||G.tag!==7)return G=FG(H,Q.mode,l,q),G.return=Q,G;return G=C(G,H),G.return=Q,G}function M(Q,G,H){if(typeof G==="string"&&G!==""||typeof G==="number")return G=MJ0(""+G,Q.mode,H),G.return=Q,G;if(typeof G==="object"&&G!==null){switch(G.$$typeof){case nn:return H=Hd(G.type,G.key,G.props,null,Q.mode,H),H.ref=xI(Q,null,G),H.return=Q,H;case cX:return G=bJ0(G,Q.mode,H),G.return=Q,G;case hZ:var l=G._init;return M(Q,l(G._payload),H)}if(RI(G)||lI(G))return G=FG(G,Q.mode,H,null),G.return=Q,G;Dd(Q,G)}return null}function b(Q,G,H,l){var q=G!==null?G.key:null;if(typeof H==="string"&&H!==""||typeof H==="number")return q!==null?null:U(Q,G,""+H,l);if(typeof H==="object"&&H!==null){switch(H.$$typeof){case nn:return H.key===q?z(Q,G,H,l):null;case cX:return H.key===q?k(Q,G,H,l):null;case hZ:return q=H._init,b(Q,G,q(H._payload),l)}if(RI(H)||lI(H))return q!==null?null:f(Q,G,H,l,null);Dd(Q,H)}return null}function Z(Q,G,H,l,q){if(typeof l==="string"&&l!==""||typeof l==="number")return Q=Q.get(H)||null,U(G,Q,""+l,q);if(typeof l==="object"&&l!==null){switch(l.$$typeof){case nn:return Q=Q.get(l.key===null?H:l.key)||null,z(G,Q,l,q);case cX:return Q=Q.get(l.key===null?H:l.key)||null,k(G,Q,l,q);case hZ:var L=l._init;return Z(Q,G,H,L(l._payload),q)}if(RI(l)||lI(l))return Q=Q.get(H)||null,f(G,Q,l,q,null);Dd(G,l)}return null}function J(Q,G,H,l){for(var q=null,L=null,v=G,x=G=0,S=null;v!==null&&x<H.length;x++){v.index>x?(S=v,v=null):S=v.sibling;var W=b(Q,v,H[x],l);if(W===null){v===null&&(v=S);break}u&&v&&W.alternate===null&&B(Q,v),G=D(W,G,x),L===null?q=W:L.sibling=W,L=W,v=S}if(x===H.length)return E(Q,v),K9&&uG(Q,x),q;if(v===null){for(;x<H.length;x++)v=M(Q,H[x],l),v!==null&&(G=D(v,G,x),L===null?q=v:L.sibling=v,L=v);return K9&&uG(Q,x),q}for(v=A(Q,v);x<H.length;x++)S=Z(v,Q,x,H[x],l),S!==null&&(u&&S.alternate!==null&&v.delete(S.key===null?x:S.key),G=D(S,G,x),L===null?q=S:L.sibling=S,L=S);return u&&v.forEach(function(T){return B(Q,T)}),K9&&uG(Q,x),q}function K(Q,G,H,l){var q=lI(H);if(typeof q!=="function")throw Error(A4(150));if(H=q.call(H),H==null)throw Error(A4(151));for(var L=q=null,v=G,x=G=0,S=null,W=H.next();v!==null&&!W.done;x++,W=H.next()){v.index>x?(S=v,v=null):S=v.sibling;var T=b(Q,v,W.value,l);if(T===null){v===null&&(v=S);break}u&&v&&T.alternate===null&&B(Q,v),G=D(T,G,x),L===null?q=T:L.sibling=T,L=T,v=S}if(W.done)return E(Q,v),K9&&uG(Q,x),q;if(v===null){for(;!W.done;x++,W=H.next())W=M(Q,W.value,l),W!==null&&(G=D(W,G,x),L===null?q=W:L.sibling=W,L=W);return K9&&uG(Q,x),q}for(v=A(Q,v);!W.done;x++,W=H.next())W=Z(v,Q,x,W.value,l),W!==null&&(u&&W.alternate!==null&&v.delete(W.key===null?x:W.key),G=D(W,G,x),L===null?q=W:L.sibling=W,L=W);return u&&v.forEach(function(R){return B(Q,R)}),K9&&uG(Q,x),q}function w(Q,G,H,l){if(typeof H==="object"&&H!==null&&H.type===_X&&H.key===null&&(H=H.props.children),typeof H==="object"&&H!==null){switch(H.$$typeof){case nn:u:{for(var q=H.key,L=G;L!==null;){if(L.key===q){if(q=H.type,q===_X){if(L.tag===7){E(Q,L.sibling),G=C(L,H.props.children),G.return=Q,Q=G;break u}}else if(L.elementType===q||typeof q==="object"&&q!==null&&q.$$typeof===hZ&&iKu(q)===L.type){E(Q,L.sibling),G=C(L,H.props),G.ref=xI(Q,L,H),G.return=Q,Q=G;break u}E(Q,L);break}else B(Q,L);L=L.sibling}H.type===_X?(G=FG(H.props.children,Q.mode,l,H.key),G.return=Q,Q=G):(l=Hd(H.type,H.key,H.props,null,Q.mode,l),l.ref=xI(Q,G,H),l.return=Q,Q=l)}return F(Q);case cX:u:{for(L=H.key;G!==null;){if(G.key===L)if(G.tag===4&&G.stateNode.containerInfo===H.containerInfo&&G.stateNode.implementation===H.implementation){E(Q,G.sibling),G=C(G,H.children||[]),G.return=Q,Q=G;break u}else{E(Q,G);break}else B(Q,G);G=G.sibling}G=bJ0(H,Q.mode,l),G.return=Q,Q=G}return F(Q);case hZ:return L=H._init,w(Q,G,L(H._payload),l)}if(RI(H))return J(Q,G,H,l);if(lI(H))return K(Q,G,H,l);Dd(Q,H)}return typeof H==="string"&&H!==""||typeof H==="number"?(H=""+H,G!==null&&G.tag===6?(E(Q,G.sibling),G=C(G,H),G.return=Q,Q=G):(E(Q,G),G=MJ0(H,Q.mode,l),G.return=Q,Q=G),F(Q)):E(Q,G)}return w}function SK0(){WK0=uv=jd=null}function YK0(u){var B=Pd.current;e6(Pd),u._currentValue=B}function gJ0(u,B,E){for(;u!==null;){var A=u.alternate;if((u.childLanes&B)!==B?(u.childLanes|=B,A!==null&&(A.childLanes|=B)):A!==null&&(A.childLanes&B)!==B&&(A.childLanes|=B),u===E)break;u=u.return}}function Uv(u,B){jd=u,WK0=uv=null,u=u.dependencies,u!==null&&u.firstContext!==null&&((u.lanes&B)!==0&&(c8=!0),u.firstContext=null)}function uC(u){var B=u._currentValue;if(WK0!==u)if(u={context:u,memoizedValue:B,next:null},uv===null){if(jd===null)throw Error(A4(308));uv=u,jd.dependencies={lanes:0,firstContext:u}}else uv=uv.next=u;return B}function RK0(u){AG===null?AG=[u]:AG.push(u)}function MQu(u,B,E,A){var C=B.interleaved;return C===null?(E.next=E,RK0(B)):(E.next=C.next,C.next=E),B.interleaved=E,lf(u,A)}function lf(u,B){u.lanes|=B;var E=u.alternate;E!==null&&(E.lanes|=B),E=u;for(u=u.return;u!==null;)u.childLanes|=B,E=u.alternate,E!==null&&(E.childLanes|=B),E=u,u=u.return;return E.tag===3?E.stateNode:null}function TK0(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function bQu(u,B){u=u.updateQueue,B.updateQueue===u&&(B.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,effects:u.effects})}function Gf(u,B){return{eventTime:u,lane:B,tag:0,payload:null,callback:null,next:null}}function pZ(u,B,E){var A=u.updateQueue;if(A===null)return null;if(A=A.shared,(P1&2)!==0){var C=A.pending;return C===null?B.next=B:(B.next=C.next,C.next=B),A.pending=B,lf(u,E)}return C=A.interleaved,C===null?(B.next=B,RK0(A)):(B.next=C.next,C.next=B),A.interleaved=B,lf(u,E)}function Zd(u,B,E){if(B=B.updateQueue,B!==null&&(B=B.shared,(E&4194240)!==0)){var A=B.lanes;A&=u.pendingLanes,E|=A,B.lanes=E,KK0(u,E)}}function aKu(u,B){var{updateQueue:E,alternate:A}=u;if(A!==null&&(A=A.updateQueue,E===A)){var C=null,D=null;if(E=E.firstBaseUpdate,E!==null){do{var F={eventTime:E.eventTime,lane:E.lane,tag:E.tag,payload:E.payload,callback:E.callback,next:null};D===null?C=D=F:D=D.next=F,E=E.next}while(E!==null);D===null?C=D=B:D=D.next=B}else C=D=B;E={baseState:A.baseState,firstBaseUpdate:C,lastBaseUpdate:D,shared:A.shared,effects:A.effects},u.updateQueue=E;return}u=E.lastBaseUpdate,u===null?E.firstBaseUpdate=B:u.next=B,E.lastBaseUpdate=B}function Nd(u,B,E,A){var C=u.updateQueue;iZ=!1;var{firstBaseUpdate:D,lastBaseUpdate:F}=C,U=C.shared.pending;if(U!==null){C.shared.pending=null;var z=U,k=z.next;z.next=null,F===null?D=k:F.next=k,F=z;var f=u.alternate;f!==null&&(f=f.updateQueue,U=f.lastBaseUpdate,U!==F&&(U===null?f.firstBaseUpdate=k:U.next=k,f.lastBaseUpdate=z))}if(D!==null){var M=C.baseState;F=0,f=k=z=null,U=D;do{var{lane:b,eventTime:Z}=U;if((A&b)===b){f!==null&&(f=f.next={eventTime:Z,lane:0,tag:U.tag,payload:U.payload,callback:U.callback,next:null});u:{var J=u,K=U;switch(b=B,Z=E,K.tag){case 1:if(J=K.payload,typeof J==="function"){M=J.call(Z,M,b);break u}M=J;break u;case 3:J.flags=J.flags&-65537|128;case 0:if(J=K.payload,b=typeof J==="function"?J.call(Z,M,b):J,b===null||b===void 0)break u;M=Y9({},M,b);break u;case 2:iZ=!0}}U.callback!==null&&U.lane!==0&&(u.flags|=64,b=C.effects,b===null?C.effects=[U]:b.push(U))}else Z={eventTime:Z,lane:b,tag:U.tag,payload:U.payload,callback:U.callback,next:null},f===null?(k=f=Z,z=M):f=f.next=Z,F|=b;if(U=U.next,U===null)if(U=C.shared.pending,U===null)break;else b=U,U=b.next,b.next=null,C.lastBaseUpdate=b,C.shared.pending=null}while(1);if(f===null&&(z=M),C.baseState=z,C.firstBaseUpdate=k,C.lastBaseUpdate=f,B=C.shared.interleaved,B!==null){C=B;do F|=C.lane,C=C.next;while(C!==B)}else D===null&&(C.shared.lanes=0);fG|=F,u.lanes=F,u.memoizedState=M}}function mKu(u,B,E){if(u=B.effects,B.effects=null,u!==null)for(B=0;B<u.length;B++){var A=u[B],C=A.callback;if(C!==null){if(A.callback=null,A=E,typeof C!=="function")throw Error(A4(191,C));C.call(A)}}}function CG(u){if(u===MP)throw Error(A4(174));return u}function OK0(u,B){switch(h6(AP,B),h6(EP,u),h6(tU,MP),u=B.nodeType,u){case 9:case 11:B=(B=B.documentElement)?B.namespaceURI:LJ0(null,"");break;default:u=u===8?B.parentNode:B,B=u.namespaceURI||null,u=u.tagName,B=LJ0(B,u)}e6(tU),h6(tU,B)}function Zv(){e6(tU),e6(EP),e6(AP)}function ZQu(u){CG(AP.current);var B=CG(tU.current),E=LJ0(B,u.type);B!==E&&(h6(EP,u),h6(tU,E))}function IK0(u){EP.current===u&&(e6(tU),e6(EP))}function Vd(u){for(var B=u;B!==null;){if(B.tag===13){var E=B.memoizedState;if(E!==null&&(E=E.dehydrated,E===null||E.data==="$?"||E.data==="$!"))return B}else if(B.tag===19&&B.memoizedProps.revealOrder!==void 0){if((B.flags&128)!==0)return B}else if(B.child!==null){B.child.return=B,B=B.child;continue}if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return null;B=B.return}B.sibling.return=B.return,B=B.sibling}return null}function PK0(){for(var u=0;u<DJ0.length;u++)DJ0[u]._workInProgressVersionPrimary=null;DJ0.length=0}function t7(){throw Error(A4(321))}function jK0(u,B){if(B===null)return!1;for(var E=0;E<B.length&&E<u.length;E++)if(!hD(u[E],B[E]))return!1;return!0}function NK0(u,B,E,A,C,D){if(kG=D,S9=B,B.memoizedState=null,B.updateQueue=null,B.lanes=0,Jd.current=u===null||u.memoizedState===null?ID3:PD3,u=E(A,C),$I){D=0;do{if($I=!1,CP=0,25<=D)throw Error(A4(301));D+=1,g5=Z5=null,B.updateQueue=null,Jd.current=jD3,u=E(A,C)}while($I)}if(Jd.current=id,B=Z5!==null&&Z5.next!==null,kG=0,g5=Z5=S9=null,hd=!1,B)throw Error(A4(300));return u}function VK0(){var u=CP!==0;return CP=0,u}function dU(){var u={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return g5===null?S9.memoizedState=g5=u:g5=g5.next=u,g5}function BC(){if(Z5===null){var u=S9.alternate;u=u!==null?u.memoizedState:null}else u=Z5.next;var B=g5===null?S9.memoizedState:g5.next;if(B!==null)g5=B,Z5=u;else{if(u===null)throw Error(A4(310));Z5=u,u={memoizedState:Z5.memoizedState,baseState:Z5.baseState,baseQueue:Z5.baseQueue,queue:Z5.queue,next:null},g5===null?S9.memoizedState=g5=u:g5=g5.next=u}return g5}function DP(u,B){return typeof B==="function"?B(u):B}function UJ0(u){var B=BC(),E=B.queue;if(E===null)throw Error(A4(311));E.lastRenderedReducer=u;var A=Z5,C=A.baseQueue,D=E.pending;if(D!==null){if(C!==null){var F=C.next;C.next=D.next,D.next=F}A.baseQueue=C=D,E.pending=null}if(C!==null){D=C.next,A=A.baseState;var U=F=null,z=null,k=D;do{var f=k.lane;if((kG&f)===f)z!==null&&(z=z.next={lane:0,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),A=k.hasEagerState?k.eagerState:u(A,k.action);else{var M={lane:f,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null};z===null?(U=z=M,F=A):z=z.next=M,S9.lanes|=f,fG|=f}k=k.next}while(k!==null&&k!==D);z===null?F=A:z.next=U,hD(A,B.memoizedState)||(c8=!0),B.memoizedState=A,B.baseState=F,B.baseQueue=z,E.lastRenderedState=A}if(u=E.interleaved,u!==null){C=u;do D=C.lane,S9.lanes|=D,fG|=D,C=C.next;while(C!==u)}else C===null&&(E.lanes=0);return[B.memoizedState,E.dispatch]}function zJ0(u){var B=BC(),E=B.queue;if(E===null)throw Error(A4(311));E.lastRenderedReducer=u;var{dispatch:A,pending:C}=E,D=B.memoizedState;if(C!==null){E.pending=null;var F=C=C.next;do D=u(D,F.action),F=F.next;while(F!==C);hD(D,B.memoizedState)||(c8=!0),B.memoizedState=D,B.baseQueue===null&&(B.baseState=D),E.lastRenderedState=D}return[D,A]}function JQu(){}function KQu(u,B){var E=S9,A=BC(),C=B(),D=!hD(A.memoizedState,C);if(D&&(A.memoizedState=C,c8=!0),A=A.queue,hK0(GQu.bind(null,E,A,u),[u]),A.getSnapshot!==B||D||g5!==null&&g5.memoizedState.tag&1){if(E.flags|=2048,FP(9,QQu.bind(null,E,A,C,B),void 0,null),c5===null)throw Error(A4(349));(kG&30)!==0||wQu(E,B,C)}return C}function wQu(u,B,E){u.flags|=16384,u={getSnapshot:B,value:E},B=S9.updateQueue,B===null?(B={lastEffect:null,stores:null},S9.updateQueue=B,B.stores=[u]):(E=B.stores,E===null?B.stores=[u]:E.push(u))}function QQu(u,B,E,A){B.value=E,B.getSnapshot=A,HQu(B)&&qQu(u)}function GQu(u,B,E){return E(function(){HQu(B)&&qQu(u)})}function HQu(u){var B=u.getSnapshot;u=u.value;try{var E=B();return!hD(u,E)}catch(A){return!0}}function qQu(u){var B=lf(u,1);B!==null&&VD(B,u,1,-1)}function $Ku(u){var B=dU();return typeof u==="function"&&(u=u()),B.memoizedState=B.baseState=u,u={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:DP,lastRenderedState:u},B.queue=u,u=u.dispatch=OD3.bind(null,S9,u),[B.memoizedState,u]}function FP(u,B,E,A){return u={tag:u,create:B,destroy:E,deps:A,next:null},B=S9.updateQueue,B===null?(B={lastEffect:null,stores:null},S9.updateQueue=B,B.lastEffect=u.next=u):(E=B.lastEffect,E===null?B.lastEffect=u.next=u:(A=E.next,E.next=u,u.next=A,B.lastEffect=u)),u}function lQu(){return BC().memoizedState}function Kd(u,B,E,A){var C=dU();S9.flags|=u,C.memoizedState=FP(1|B,E,void 0,A===void 0?null:A)}function sd(u,B,E,A){var C=BC();A=A===void 0?null:A;var D=void 0;if(Z5!==null){var F=Z5.memoizedState;if(D=F.destroy,A!==null&&jK0(A,F.deps)){C.memoizedState=FP(B,E,D,A);return}}S9.flags|=u,C.memoizedState=FP(1|B,E,D,A)}function yKu(u,B){return Kd(8390656,8,u,B)}function hK0(u,B){return sd(2048,8,u,B)}function LQu(u,B){return sd(4,2,u,B)}function XQu(u,B){return sd(4,4,u,B)}function vQu(u,B){if(typeof B==="function")return u=u(),B(u),function(){B(null)};if(B!==null&&B!==void 0)return u=u(),B.current=u,function(){B.current=null}}function xQu(u,B,E){return E=E!==null&&E!==void 0?E.concat([u]):null,sd(4,4,vQu.bind(null,B,u),E)}function iK0(){}function WQu(u,B){var E=BC();B=B===void 0?null:B;var A=E.memoizedState;if(A!==null&&B!==null&&jK0(B,A[1]))return A[0];return E.memoizedState=[u,B],u}function SQu(u,B){var E=BC();B=B===void 0?null:B;var A=E.memoizedState;if(A!==null&&B!==null&&jK0(B,A[1]))return A[0];return u=u(),E.memoizedState=[u,B],u}function YQu(u,B,E){if((kG&21)===0)return u.baseState&&(u.baseState=!1,c8=!0),u.memoizedState=E;return hD(E,B)||(E=Pwu(),S9.lanes|=E,fG|=E,u.baseState=!0),B}function RD3(u,B){var E=M6;M6=E!==0&&4>E?E:4,u(!0);var A=FJ0.transition;FJ0.transition={};try{u(!1),B()}finally{M6=E,FJ0.transition=A}}function RQu(){return BC().memoizedState}function TD3(u,B,E){var A=dZ(u);if(E={lane:A,action:E,hasEagerState:!1,eagerState:null,next:null},TQu(u))OQu(B,E);else if(E=MQu(u,B,E,A),E!==null){var C=sB();VD(E,u,A,C),IQu(E,B,A)}}function OD3(u,B,E){var A=dZ(u),C={lane:A,action:E,hasEagerState:!1,eagerState:null,next:null};if(TQu(u))OQu(B,C);else{var D=u.alternate;if(u.lanes===0&&(D===null||D.lanes===0)&&(D=B.lastRenderedReducer,D!==null))try{var F=B.lastRenderedState,U=D(F,E);if(C.hasEagerState=!0,C.eagerState=U,hD(U,F)){var z=B.interleaved;z===null?(C.next=C,RK0(B)):(C.next=z.next,z.next=C),B.interleaved=C;return}}catch(k){}finally{}E=MQu(u,B,C,A),E!==null&&(C=sB(),VD(E,u,A,C),IQu(E,B,A))}}function TQu(u){var B=u.alternate;return u===S9||B!==null&&B===S9}function OQu(u,B){$I=hd=!0;var E=u.pending;E===null?B.next=B:(B.next=E.next,E.next=B),u.pending=B}function IQu(u,B,E){if((E&4194240)!==0){var A=B.lanes;A&=u.pendingLanes,E|=A,B.lanes=E,KK0(u,E)}}function ID(u,B){if(u&&u.defaultProps){B=Y9({},B),u=u.defaultProps;for(var E in u)B[E]===void 0&&(B[E]=u[E]);return B}return B}function cJ0(u,B,E,A){B=u.memoizedState,E=E(A,B),E=E===null||E===void 0?B:Y9({},B,E),u.memoizedState=E,u.lanes===0&&(u.updateQueue.baseState=E)}function rKu(u,B,E,A,C,D,F){return u=u.stateNode,typeof u.shouldComponentUpdate==="function"?u.shouldComponentUpdate(A,D,F):B.prototype&&B.prototype.isPureReactComponent?!tI(E,A)||!tI(C,D):!0}function PQu(u,B,E){var A=!1,C=tZ,D=B.contextType;return typeof D==="object"&&D!==null?D=uC(D):(C=p8(B)?UG:BB.current,A=B.contextTypes,D=(A=A!==null&&A!==void 0)?fv(u,C):tZ),B=new B(E,D),u.memoizedState=B.state!==null&&B.state!==void 0?B.state:null,B.updater=od,u.stateNode=B,B._reactInternals=u,A&&(u=u.stateNode,u.__reactInternalMemoizedUnmaskedChildContext=C,u.__reactInternalMemoizedMaskedChildContext=D),B}function gKu(u,B,E,A){u=B.state,typeof B.componentWillReceiveProps==="function"&&B.componentWillReceiveProps(E,A),typeof B.UNSAFE_componentWillReceiveProps==="function"&&B.UNSAFE_componentWillReceiveProps(E,A),B.state!==u&&od.enqueueReplaceState(B,B.state,null)}function _J0(u,B,E,A){var C=u.stateNode;C.props=E,C.state=u.memoizedState,C.refs={},TK0(u);var D=B.contextType;typeof D==="object"&&D!==null?C.context=uC(D):(D=p8(B)?UG:BB.current,C.context=fv(u,D)),C.state=u.memoizedState,D=B.getDerivedStateFromProps,typeof D==="function"&&(cJ0(u,B,D,E),C.state=u.memoizedState),typeof B.getDerivedStateFromProps==="function"||typeof C.getSnapshotBeforeUpdate==="function"||typeof C.UNSAFE_componentWillMount!=="function"&&typeof C.componentWillMount!=="function"||(B=C.state,typeof C.componentWillMount==="function"&&C.componentWillMount(),typeof C.UNSAFE_componentWillMount==="function"&&C.UNSAFE_componentWillMount(),B!==C.state&&od.enqueueReplaceState(C,C.state,null),Nd(u,E,C,A),C.state=u.memoizedState),typeof C.componentDidMount==="function"&&(u.flags|=4194308)}function Jv(u,B){try{var E="",A=B;do E+=fC3(A),A=A.return;while(A);var C=E}catch(D){C=`
Error generating stack: `+D.message+`
`+D.stack}return{value:u,source:B,stack:C,digest:null}}function kJ0(u,B,E){return{value:u,source:null,stack:E!=null?E:null,digest:B!=null?B:null}}function pJ0(u,B){try{console.error(B.value)}catch(E){setTimeout(function(){throw E})}}function jQu(u,B,E){E=Gf(-1,E),E.tag=3,E.payload={element:null};var A=B.value;return E.callback=function(){md||(md=!0,AK0=A),pJ0(u,B)},E}function NQu(u,B,E){E=Gf(-1,E),E.tag=3;var A=u.type.getDerivedStateFromError;if(typeof A==="function"){var C=B.value;E.payload=function(){return A(C)},E.callback=function(){pJ0(u,B)}}var D=u.stateNode;return D!==null&&typeof D.componentDidCatch==="function"&&(E.callback=function(){pJ0(u,B),typeof A!=="function"&&(nZ===null?nZ=new Set([this]):nZ.add(this));var F=B.stack;this.componentDidCatch(B.value,{componentStack:F!==null?F:""})}),E}function cKu(u,B,E){var A=u.pingCache;if(A===null){A=u.pingCache=new ND3;var C=new Set;A.set(B,C)}else C=A.get(B),C===void 0&&(C=new Set,A.set(B,C));C.has(E)||(C.add(E),u=dD3.bind(null,u,B,E),B.then(u,u))}function _Ku(u){do{var B;if(B=u.tag===13)B=u.memoizedState,B=B!==null?B.dehydrated!==null?!0:!1:!0;if(B)return u;u=u.return}while(u!==null);return null}function pKu(u,B,E,A,C){if((u.mode&1)===0)return u===B?u.flags|=65536:(u.flags|=128,E.flags|=131072,E.flags&=-52805,E.tag===1&&(E.alternate===null?E.tag=17:(B=Gf(-1,1),B.tag=2,pZ(E,B,1))),E.lanes|=1),u;return u.flags|=65536,u.lanes=C,u}function dB(u,B,E,A){B.child=u===null?fQu(B,null,E,A):bv(B,u.child,E,A)}function nKu(u,B,E,A,C){E=E.render;var D=B.ref;if(Uv(B,C),A=NK0(u,B,E,A,D,C),E=VK0(),u!==null&&!c8)return B.updateQueue=u.updateQueue,B.flags&=-2053,u.lanes&=~C,Lf(u,B,C);return K9&&E&&XK0(B),B.flags|=1,dB(u,B,A,C),B.child}function dKu(u,B,E,A,C){if(u===null){var D=E.type;if(typeof D==="function"&&!_K0(D)&&D.defaultProps===void 0&&E.compare===null&&E.defaultProps===void 0)return B.tag=15,B.type=D,VQu(u,B,D,A,C);return u=Hd(E.type,null,A,B,B.mode,C),u.ref=B.ref,u.return=B,B.child=u}if(D=u.child,(u.lanes&C)===0){var F=D.memoizedProps;if(E=E.compare,E=E!==null?E:tI,E(F,A)&&u.ref===B.ref)return Lf(u,B,C)}return B.flags|=1,u=sZ(D,A),u.ref=B.ref,u.return=B,B.child=u}function VQu(u,B,E,A,C){if(u!==null){var D=u.memoizedProps;if(tI(D,A)&&u.ref===B.ref)if(c8=!1,B.pendingProps=A=D,(u.lanes&C)!==0)(u.flags&131072)!==0&&(c8=!0);else return B.lanes=u.lanes,Lf(u,B,C)}return nJ0(u,B,E,A,C)}function hQu(u,B,E){var A=B.pendingProps,C=A.children,D=u!==null?u.memoizedState:null;if(A.mode==="hidden")if((B.mode&1)===0)B.memoizedState={baseLanes:0,cachePool:null,transitions:null},h6(Ev,mE),mE|=E;else{if((E&1073741824)===0)return u=D!==null?D.baseLanes|E:E,B.lanes=B.childLanes=1073741824,B.memoizedState={baseLanes:u,cachePool:null,transitions:null},B.updateQueue=null,h6(Ev,mE),mE|=u,null;B.memoizedState={baseLanes:0,cachePool:null,transitions:null},A=D!==null?D.baseLanes:E,h6(Ev,mE),mE|=A}else D!==null?(A=D.baseLanes|E,B.memoizedState=null):A=E,h6(Ev,mE),mE|=A;return dB(u,B,C,E),B.child}function iQu(u,B){var E=B.ref;if(u===null&&E!==null||u!==null&&u.ref!==E)B.flags|=512,B.flags|=2097152}function nJ0(u,B,E,A,C){var D=p8(E)?UG:BB.current;if(D=fv(B,D),Uv(B,C),E=NK0(u,B,E,A,D,C),A=VK0(),u!==null&&!c8)return B.updateQueue=u.updateQueue,B.flags&=-2053,u.lanes&=~C,Lf(u,B,C);return K9&&A&&XK0(B),B.flags|=1,dB(u,B,E,C),B.child}function sKu(u,B,E,A,C){if(p8(E)){var D=!0;Td(B)}else D=!1;if(Uv(B,C),B.stateNode===null)wd(u,B),PQu(B,E,A),_J0(B,E,A,C),A=!0;else if(u===null){var{stateNode:F,memoizedProps:U}=B;F.props=U;var z=F.context,k=E.contextType;typeof k==="object"&&k!==null?k=uC(k):(k=p8(E)?UG:BB.current,k=fv(B,k));var f=E.getDerivedStateFromProps,M=typeof f==="function"||typeof F.getSnapshotBeforeUpdate==="function";M||typeof F.UNSAFE_componentWillReceiveProps!=="function"&&typeof F.componentWillReceiveProps!=="function"||(U!==A||z!==k)&&gKu(B,F,A,k),iZ=!1;var b=B.memoizedState;F.state=b,Nd(B,A,F,C),z=B.memoizedState,U!==A||b!==z||_8.current||iZ?(typeof f==="function"&&(cJ0(B,E,f,A),z=B.memoizedState),(U=iZ||rKu(B,E,U,A,b,z,k))?(M||typeof F.UNSAFE_componentWillMount!=="function"&&typeof F.componentWillMount!=="function"||(typeof F.componentWillMount==="function"&&F.componentWillMount(),typeof F.UNSAFE_componentWillMount==="function"&&F.UNSAFE_componentWillMount()),typeof F.componentDidMount==="function"&&(B.flags|=4194308)):(typeof F.componentDidMount==="function"&&(B.flags|=4194308),B.memoizedProps=A,B.memoizedState=z),F.props=A,F.state=z,F.context=k,A=U):(typeof F.componentDidMount==="function"&&(B.flags|=4194308),A=!1)}else{F=B.stateNode,bQu(u,B),U=B.memoizedProps,k=B.type===B.elementType?U:ID(B.type,U),F.props=k,M=B.pendingProps,b=F.context,z=E.contextType,typeof z==="object"&&z!==null?z=uC(z):(z=p8(E)?UG:BB.current,z=fv(B,z));var Z=E.getDerivedStateFromProps;(f=typeof Z==="function"||typeof F.getSnapshotBeforeUpdate==="function")||typeof F.UNSAFE_componentWillReceiveProps!=="function"&&typeof F.componentWillReceiveProps!=="function"||(U!==M||b!==z)&&gKu(B,F,A,z),iZ=!1,b=B.memoizedState,F.state=b,Nd(B,A,F,C);var J=B.memoizedState;U!==M||b!==J||_8.current||iZ?(typeof Z==="function"&&(cJ0(B,E,Z,A),J=B.memoizedState),(k=iZ||rKu(B,E,k,A,b,J,z)||!1)?(f||typeof F.UNSAFE_componentWillUpdate!=="function"&&typeof F.componentWillUpdate!=="function"||(typeof F.componentWillUpdate==="function"&&F.componentWillUpdate(A,J,z),typeof F.UNSAFE_componentWillUpdate==="function"&&F.UNSAFE_componentWillUpdate(A,J,z)),typeof F.componentDidUpdate==="function"&&(B.flags|=4),typeof F.getSnapshotBeforeUpdate==="function"&&(B.flags|=1024)):(typeof F.componentDidUpdate!=="function"||U===u.memoizedProps&&b===u.memoizedState||(B.flags|=4),typeof F.getSnapshotBeforeUpdate!=="function"||U===u.memoizedProps&&b===u.memoizedState||(B.flags|=1024),B.memoizedProps=A,B.memoizedState=J),F.props=A,F.state=J,F.context=z,A=k):(typeof F.componentDidUpdate!=="function"||U===u.memoizedProps&&b===u.memoizedState||(B.flags|=4),typeof F.getSnapshotBeforeUpdate!=="function"||U===u.memoizedProps&&b===u.memoizedState||(B.flags|=1024),A=!1)}return dJ0(u,B,E,A,D,C)}function dJ0(u,B,E,A,C,D){iQu(u,B);var F=(B.flags&128)!==0;if(!A&&!F)return C&&NKu(B,E,!1),Lf(u,B,D);A=B.stateNode,VD3.current=B;var U=F&&typeof E.getDerivedStateFromError!=="function"?null:A.render();return B.flags|=1,u!==null&&F?(B.child=bv(B,u.child,null,D),B.child=bv(B,null,U,D)):dB(u,B,U,D),B.memoizedState=A.state,C&&NKu(B,E,!0),B.child}function aQu(u){var B=u.stateNode;B.pendingContext?jKu(u,B.pendingContext,B.pendingContext!==B.context):B.context&&jKu(u,B.context,!1),OK0(u,B.containerInfo)}function oKu(u,B,E,A,C){return Mv(),xK0(C),B.flags|=256,dB(u,B,E,A),B.child}function oJ0(u){return{baseLanes:u,cachePool:null,transitions:null}}function mQu(u,B,E){var A=B.pendingProps,C=W9.current,D=!1,F=(B.flags&128)!==0,U;if((U=F)||(U=u!==null&&u.memoizedState===null?!1:(C&2)!==0),U)D=!0,B.flags&=-129;else if(u===null||u.memoizedState!==null)C|=1;if(h6(W9,C&1),u===null){if(rJ0(B),u=B.memoizedState,u!==null&&(u=u.dehydrated,u!==null))return(B.mode&1)===0?B.lanes=1:u.data==="$!"?B.lanes=8:B.lanes=1073741824,null;return F=A.children,u=A.fallback,D?(A=B.mode,D=B.child,F={mode:"hidden",children:F},(A&1)===0&&D!==null?(D.childLanes=0,D.pendingProps=F):D=us(F,A,0,null),u=FG(u,A,E,null),D.return=B,u.return=B,D.sibling=u,B.child=D,B.child.memoizedState=oJ0(E),B.memoizedState=sJ0,u):aK0(B,F)}if(C=u.memoizedState,C!==null&&(U=C.dehydrated,U!==null))return hD3(u,B,F,A,U,C,E);if(D){D=A.fallback,F=B.mode,C=u.child,U=C.sibling;var z={mode:"hidden",children:A.children};return(F&1)===0&&B.child!==C?(A=B.child,A.childLanes=0,A.pendingProps=z,B.deletions=null):(A=sZ(C,z),A.subtreeFlags=C.subtreeFlags&14680064),U!==null?D=sZ(U,D):(D=FG(D,F,E,null),D.flags|=2),D.return=B,A.return=B,A.sibling=D,B.child=A,A=D,D=B.child,F=u.child.memoizedState,F=F===null?oJ0(E):{baseLanes:F.baseLanes|E,cachePool:null,transitions:F.transitions},D.memoizedState=F,D.childLanes=u.childLanes&~E,B.memoizedState=sJ0,A}return D=u.child,u=D.sibling,A=sZ(D,{mode:"visible",children:A.children}),(B.mode&1)===0&&(A.lanes=E),A.return=B,A.sibling=null,u!==null&&(E=B.deletions,E===null?(B.deletions=[u],B.flags|=16):E.push(u)),B.child=A,B.memoizedState=null,A}function aK0(u,B){return B=us({mode:"visible",children:B},u.mode,0,null),B.return=u,u.child=B}function Fd(u,B,E,A){return A!==null&&xK0(A),bv(B,u.child,null,E),u=aK0(B,B.pendingProps.children),u.flags|=2,B.memoizedState=null,u}function hD3(u,B,E,A,C,D,F){if(E){if(B.flags&256)return B.flags&=-257,A=kJ0(Error(A4(422))),Fd(u,B,F,A);if(B.memoizedState!==null)return B.child=u.child,B.flags|=128,null;return D=A.fallback,C=B.mode,A=us({mode:"visible",children:A.children},C,0,null),D=FG(D,C,F,null),D.flags|=2,A.return=B,D.return=B,A.sibling=D,B.child=A,(B.mode&1)!==0&&bv(B,u.child,null,F),B.child.memoizedState=oJ0(F),B.memoizedState=sJ0,D}if((B.mode&1)===0)return Fd(u,B,F,null);if(C.data==="$!"){if(A=C.nextSibling&&C.nextSibling.dataset,A)var U=A.dgst;return A=U,D=Error(A4(419)),A=kJ0(D,A,void 0),Fd(u,B,F,A)}if(U=(F&u.childLanes)!==0,c8||U){if(A=c5,A!==null){switch(F&-F){case 4:C=2;break;case 16:C=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:C=32;break;case 536870912:C=268435456;break;default:C=0}C=(C&(A.suspendedLanes|F))!==0?0:C,C!==0&&C!==D.retryLane&&(D.retryLane=C,lf(u,C),VD(A,u,C,-1))}return cK0(),A=kJ0(Error(A4(421))),Fd(u,B,F,A)}if(C.data==="$?")return B.flags|=128,B.child=u.child,B=sD3.bind(null,u),C._reactRetry=B,null;return u=D.treeContext,$E=_Z(C.nextSibling),yE=B,K9=!0,jD=null,u!==null&&(sA[oA++]=wf,sA[oA++]=Qf,sA[oA++]=zG,wf=u.id,Qf=u.overflow,zG=B),B=aK0(B,A.children),B.flags|=4096,B}function tKu(u,B,E){u.lanes|=B;var A=u.alternate;A!==null&&(A.lanes|=B),gJ0(u.return,B,E)}function fJ0(u,B,E,A,C){var D=u.memoizedState;D===null?u.memoizedState={isBackwards:B,rendering:null,renderingStartTime:0,last:A,tail:E,tailMode:C}:(D.isBackwards=B,D.rendering=null,D.renderingStartTime=0,D.last=A,D.tail=E,D.tailMode=C)}function $Qu(u,B,E){var A=B.pendingProps,C=A.revealOrder,D=A.tail;if(dB(u,B,A.children,E),A=W9.current,(A&2)!==0)A=A&1|2,B.flags|=128;else{if(u!==null&&(u.flags&128)!==0)u:for(u=B.child;u!==null;){if(u.tag===13)u.memoizedState!==null&&tKu(u,E,B);else if(u.tag===19)tKu(u,E,B);else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===B)break u;for(;u.sibling===null;){if(u.return===null||u.return===B)break u;u=u.return}u.sibling.return=u.return,u=u.sibling}A&=1}if(h6(W9,A),(B.mode&1)===0)B.memoizedState=null;else switch(C){case"forwards":E=B.child;for(C=null;E!==null;)u=E.alternate,u!==null&&Vd(u)===null&&(C=E),E=E.sibling;E=C,E===null?(C=B.child,B.child=null):(C=E.sibling,E.sibling=null),fJ0(B,!1,C,E,D);break;case"backwards":E=null,C=B.child;for(B.child=null;C!==null;){if(u=C.alternate,u!==null&&Vd(u)===null){B.child=C;break}u=C.sibling,C.sibling=E,E=C,C=u}fJ0(B,!0,E,null,D);break;case"together":fJ0(B,!1,null,null,void 0);break;default:B.memoizedState=null}return B.child}function wd(u,B){(B.mode&1)===0&&u!==null&&(u.alternate=null,B.alternate=null,B.flags|=2)}function Lf(u,B,E){if(u!==null&&(B.dependencies=u.dependencies),fG|=B.lanes,(E&B.childLanes)===0)return null;if(u!==null&&B.child!==u.child)throw Error(A4(153));if(B.child!==null){u=B.child,E=sZ(u,u.pendingProps),B.child=E;for(E.return=B;u.sibling!==null;)u=u.sibling,E=E.sibling=sZ(u,u.pendingProps),E.return=B;E.sibling=null}return B.child}function iD3(u,B,E){switch(B.tag){case 3:aQu(B),Mv();break;case 5:ZQu(B);break;case 1:p8(B.type)&&Td(B);break;case 4:OK0(B,B.stateNode.containerInfo);break;case 10:var A=B.type._context,C=B.memoizedProps.value;h6(Pd,A._currentValue),A._currentValue=C;break;case 13:if(A=B.memoizedState,A!==null){if(A.dehydrated!==null)return h6(W9,W9.current&1),B.flags|=128,null;if((E&B.child.childLanes)!==0)return mQu(u,B,E);return h6(W9,W9.current&1),u=Lf(u,B,E),u!==null?u.sibling:null}h6(W9,W9.current&1);break;case 19:if(A=(E&B.childLanes)!==0,(u.flags&128)!==0){if(A)return $Qu(u,B,E);B.flags|=128}if(C=B.memoizedState,C!==null&&(C.rendering=null,C.tail=null,C.lastEffect=null),h6(W9,W9.current),A)break;else return null;case 22:case 23:return B.lanes=0,hQu(u,B,E)}return Lf(u,B,E)}function WI(u,B){if(!K9)switch(u.tailMode){case"hidden":B=u.tail;for(var E=null;B!==null;)B.alternate!==null&&(E=B),B=B.sibling;E===null?u.tail=null:E.sibling=null;break;case"collapsed":E=u.tail;for(var A=null;E!==null;)E.alternate!==null&&(A=E),E=E.sibling;A===null?B||u.tail===null?u.tail=null:u.tail.sibling=null:A.sibling=null}}function e7(u){var B=u.alternate!==null&&u.alternate.child===u.child,E=0,A=0;if(B)for(var C=u.child;C!==null;)E|=C.lanes|C.childLanes,A|=C.subtreeFlags&14680064,A|=C.flags&14680064,C.return=u,C=C.sibling;else for(C=u.child;C!==null;)E|=C.lanes|C.childLanes,A|=C.subtreeFlags,A|=C.flags,C.return=u,C=C.sibling;return u.subtreeFlags|=A,u.childLanes=E,B}function aD3(u,B,E){var A=B.pendingProps;switch(vK0(B),B.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return e7(B),null;case 1:return p8(B.type)&&Rd(),e7(B),null;case 3:if(A=B.stateNode,Zv(),e6(_8),e6(BB),PK0(),A.pendingContext&&(A.context=A.pendingContext,A.pendingContext=null),u===null||u.child===null)Cd(B)?B.flags|=4:u===null||u.memoizedState.isDehydrated&&(B.flags&256)===0||(B.flags|=1024,jD!==null&&(FK0(jD),jD=null));return tJ0(u,B),e7(B),null;case 5:IK0(B);var C=CG(AP.current);if(E=B.type,u!==null&&B.stateNode!=null)rQu(u,B,E,A,C),u.ref!==B.ref&&(B.flags|=512,B.flags|=2097152);else{if(!A){if(B.stateNode===null)throw Error(A4(166));return e7(B),null}if(u=CG(tU.current),Cd(B)){A=B.stateNode,E=B.type;var D=B.memoizedProps;switch(A[sU]=B,A[BP]=D,u=(B.mode&1)!==0,E){case"dialog":t6("cancel",A),t6("close",A);break;case"iframe":case"object":case"embed":t6("load",A);break;case"video":case"audio":for(C=0;C<NI.length;C++)t6(NI[C],A);break;case"source":t6("error",A);break;case"img":case"image":case"link":t6("error",A),t6("load",A);break;case"details":t6("toggle",A);break;case"input":zKu(A,D),t6("invalid",A);break;case"select":A._wrapperState={wasMultiple:!!D.multiple},t6("invalid",A);break;case"textarea":fKu(A,D),t6("invalid",A)}XJ0(E,D),C=null;for(var F in D)if(D.hasOwnProperty(F)){var U=D[F];F==="children"?typeof U==="string"?A.textContent!==U&&(D.suppressHydrationWarning!==!0&&Ad(A.textContent,U,u),C=["children",U]):typeof U==="number"&&A.textContent!==""+U&&(D.suppressHydrationWarning!==!0&&Ad(A.textContent,U,u),C=["children",""+U]):cI.hasOwnProperty(F)&&U!=null&&F==="onScroll"&&t6("scroll",A)}switch(E){case"input":dn(A),kKu(A,D,!0);break;case"textarea":dn(A),MKu(A);break;case"select":case"option":break;default:typeof D.onClick==="function"&&(A.onclick=Yd)}A=C,B.updateQueue=A,A!==null&&(B.flags|=4)}else{F=C.nodeType===9?C:C.ownerDocument,u==="http://www.w3.org/1999/xhtml"&&(u=Gwu(E)),u==="http://www.w3.org/1999/xhtml"?E==="script"?(u=F.createElement("div"),u.innerHTML="<script><\/script>",u=u.removeChild(u.firstChild)):typeof A.is==="string"?u=F.createElement(E,{is:A.is}):(u=F.createElement(E),E==="select"&&(F=u,A.multiple?F.multiple=!0:A.size&&(F.size=A.size))):u=F.createElementNS(u,E),u[sU]=B,u[BP]=A,yQu(u,B,!1,!1),B.stateNode=u;u:{switch(F=vJ0(E,A),E){case"dialog":t6("cancel",u),t6("close",u),C=A;break;case"iframe":case"object":case"embed":t6("load",u),C=A;break;case"video":case"audio":for(C=0;C<NI.length;C++)t6(NI[C],u);C=A;break;case"source":t6("error",u),C=A;break;case"img":case"image":case"link":t6("error",u),t6("load",u),C=A;break;case"details":t6("toggle",u),C=A;break;case"input":zKu(u,A),C=GJ0(u,A),t6("invalid",u);break;case"option":C=A;break;case"select":u._wrapperState={wasMultiple:!!A.multiple},C=Y9({},A,{value:void 0}),t6("invalid",u);break;case"textarea":fKu(u,A),C=lJ0(u,A),t6("invalid",u);break;default:C=A}XJ0(E,C),U=C;for(D in U)if(U.hasOwnProperty(D)){var z=U[D];D==="style"?lwu(u,z):D==="dangerouslySetInnerHTML"?(z=z?z.__html:void 0,z!=null&&Hwu(u,z)):D==="children"?typeof z==="string"?(E!=="textarea"||z!=="")&&_I(u,z):typeof z==="number"&&_I(u,""+z):D!=="suppressContentEditableWarning"&&D!=="suppressHydrationWarning"&&D!=="autoFocus"&&(cI.hasOwnProperty(D)?z!=null&&D==="onScroll"&&t6("scroll",u):z!=null&&kK0(u,D,z,F))}switch(E){case"input":dn(u),kKu(u,A,!1);break;case"textarea":dn(u),MKu(u);break;case"option":A.value!=null&&u.setAttribute("value",""+oZ(A.value));break;case"select":u.multiple=!!A.multiple,D=A.value,D!=null?Av(u,!!A.multiple,D,!1):A.defaultValue!=null&&Av(u,!!A.multiple,A.defaultValue,!0);break;default:typeof C.onClick==="function"&&(u.onclick=Yd)}switch(E){case"button":case"input":case"select":case"textarea":A=!!A.autoFocus;break u;case"img":A=!0;break u;default:A=!1}}A&&(B.flags|=4)}B.ref!==null&&(B.flags|=512,B.flags|=2097152)}return e7(B),null;case 6:if(u&&B.stateNode!=null)gQu(u,B,u.memoizedProps,A);else{if(typeof A!=="string"&&B.stateNode===null)throw Error(A4(166));if(E=CG(AP.current),CG(tU.current),Cd(B)){if(A=B.stateNode,E=B.memoizedProps,A[sU]=B,D=A.nodeValue!==E){if(u=yE,u!==null)switch(u.tag){case 3:Ad(A.nodeValue,E,(u.mode&1)!==0);break;case 5:u.memoizedProps.suppressHydrationWarning!==!0&&Ad(A.nodeValue,E,(u.mode&1)!==0)}}D&&(B.flags|=4)}else A=(E.nodeType===9?E:E.ownerDocument).createTextNode(A),A[sU]=B,B.stateNode=A}return e7(B),null;case 13:if(e6(W9),A=B.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(K9&&$E!==null&&(B.mode&1)!==0&&(B.flags&128)===0)zQu(),Mv(),B.flags|=98560,D=!1;else if(D=Cd(B),A!==null&&A.dehydrated!==null){if(u===null){if(!D)throw Error(A4(318));if(D=B.memoizedState,D=D!==null?D.dehydrated:null,!D)throw Error(A4(317));D[sU]=B}else Mv(),(B.flags&128)===0&&(B.memoizedState=null),B.flags|=4;e7(B),D=!1}else jD!==null&&(FK0(jD),jD=null),D=!0;if(!D)return B.flags&65536?B:null}if((B.flags&128)!==0)return B.lanes=E,B;return A=A!==null,A!==(u!==null&&u.memoizedState!==null)&&A&&(B.child.flags|=8192,(B.mode&1)!==0&&(u===null||(W9.current&1)!==0?J5===0&&(J5=3):cK0())),B.updateQueue!==null&&(B.flags|=4),e7(B),null;case 4:return Zv(),tJ0(u,B),u===null&&eI(B.stateNode.containerInfo),e7(B),null;case 10:return YK0(B.type._context),e7(B),null;case 17:return p8(B.type)&&Rd(),e7(B),null;case 19:if(e6(W9),D=B.memoizedState,D===null)return e7(B),null;if(A=(B.flags&128)!==0,F=D.rendering,F===null)if(A)WI(D,!1);else{if(J5!==0||u!==null&&(u.flags&128)!==0)for(u=B.child;u!==null;){if(F=Vd(u),F!==null){B.flags|=128,WI(D,!1),A=F.updateQueue,A!==null&&(B.updateQueue=A,B.flags|=4),B.subtreeFlags=0,A=E;for(E=B.child;E!==null;)D=E,u=A,D.flags&=14680066,F=D.alternate,F===null?(D.childLanes=0,D.lanes=u,D.child=null,D.subtreeFlags=0,D.memoizedProps=null,D.memoizedState=null,D.updateQueue=null,D.dependencies=null,D.stateNode=null):(D.childLanes=F.childLanes,D.lanes=F.lanes,D.child=F.child,D.subtreeFlags=0,D.deletions=null,D.memoizedProps=F.memoizedProps,D.memoizedState=F.memoizedState,D.updateQueue=F.updateQueue,D.type=F.type,u=F.dependencies,D.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext}),E=E.sibling;return h6(W9,W9.current&1|2),B.child}u=u.sibling}D.tail!==null&&w2()>Kv&&(B.flags|=128,A=!0,WI(D,!1),B.lanes=4194304)}else{if(!A)if(u=Vd(F),u!==null){if(B.flags|=128,A=!0,E=u.updateQueue,E!==null&&(B.updateQueue=E,B.flags|=4),WI(D,!0),D.tail===null&&D.tailMode==="hidden"&&!F.alternate&&!K9)return e7(B),null}else 2*w2()-D.renderingStartTime>Kv&&E!==1073741824&&(B.flags|=128,A=!0,WI(D,!1),B.lanes=4194304);D.isBackwards?(F.sibling=B.child,B.child=F):(E=D.last,E!==null?E.sibling=F:B.child=F,D.last=F)}if(D.tail!==null)return B=D.tail,D.rendering=B,D.tail=B.sibling,D.renderingStartTime=w2(),B.sibling=null,E=W9.current,h6(W9,A?E&1|2:E&1),B;return e7(B),null;case 22:case 23:return gK0(),A=B.memoizedState!==null,u!==null&&u.memoizedState!==null!==A&&(B.flags|=8192),A&&(B.mode&1)!==0?(mE&1073741824)!==0&&(e7(B),B.subtreeFlags&6&&(B.flags|=8192)):e7(B),null;case 24:return null;case 25:return null}throw Error(A4(156,B.tag))}function mD3(u,B){switch(vK0(B),B.tag){case 1:return p8(B.type)&&Rd(),u=B.flags,u&65536?(B.flags=u&-65537|128,B):null;case 3:return Zv(),e6(_8),e6(BB),PK0(),u=B.flags,(u&65536)!==0&&(u&128)===0?(B.flags=u&-65537|128,B):null;case 5:return IK0(B),null;case 13:if(e6(W9),u=B.memoizedState,u!==null&&u.dehydrated!==null){if(B.alternate===null)throw Error(A4(340));Mv()}return u=B.flags,u&65536?(B.flags=u&-65537|128,B):null;case 19:return e6(W9),null;case 4:return Zv(),null;case 10:return YK0(B.type._context),null;case 22:case 23:return gK0(),null;case 24:return null;default:return null}}function Bv(u,B){var E=u.ref;if(E!==null)if(typeof E==="function")try{E(null)}catch(A){d9(u,B,A)}else E.current=null}function eJ0(u,B,E){try{E()}catch(A){d9(u,B,A)}}function yD3(u,B){if(VJ0=xd,u=dwu(),LK0(u)){if("selectionStart"in u)var E={start:u.selectionStart,end:u.selectionEnd};else u:{E=(E=u.ownerDocument)&&E.defaultView||window;var A=E.getSelection&&E.getSelection();if(A&&A.rangeCount!==0){E=A.anchorNode;var{anchorOffset:C,focusNode:D}=A;A=A.focusOffset;try{E.nodeType,D.nodeType}catch(l){E=null;break u}var F=0,U=-1,z=-1,k=0,f=0,M=u,b=null;B:for(;;){for(var Z;;){if(M!==E||C!==0&&M.nodeType!==3||(U=F+C),M!==D||A!==0&&M.nodeType!==3||(z=F+A),M.nodeType===3&&(F+=M.nodeValue.length),(Z=M.firstChild)===null)break;b=M,M=Z}for(;;){if(M===u)break B;if(b===E&&++k===C&&(U=F),b===D&&++f===A&&(z=F),(Z=M.nextSibling)!==null)break;M=b,b=M.parentNode}M=Z}E=U===-1||z===-1?null:{start:U,end:z}}else E=null}E=E||{start:0,end:0}}else E=null;hJ0={focusedElem:u,selectionRange:E},xd=!1;for(I4=B;I4!==null;)if(B=I4,u=B.child,(B.subtreeFlags&1028)!==0&&u!==null)u.return=B,I4=u;else for(;I4!==null;){B=I4;try{var J=B.alternate;if((B.flags&1024)!==0)switch(B.tag){case 0:case 11:case 15:break;case 1:if(J!==null){var{memoizedProps:K,memoizedState:w}=J,Q=B.stateNode,G=Q.getSnapshotBeforeUpdate(B.elementType===B.type?K:ID(B.type,K),w);Q.__reactInternalSnapshotBeforeUpdate=G}break;case 3:var H=B.stateNode.containerInfo;H.nodeType===1?H.textContent="":H.nodeType===9&&H.documentElement&&H.removeChild(H.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(A4(163))}}catch(l){d9(B,B.return,l)}if(u=B.sibling,u!==null){u.return=B.return,I4=u;break}I4=B.return}return J=eKu,eKu=!1,J}function yI(u,B,E){var A=B.updateQueue;if(A=A!==null?A.lastEffect:null,A!==null){var C=A=A.next;do{if((C.tag&u)===u){var D=C.destroy;C.destroy=void 0,D!==void 0&&eJ0(B,E,D)}C=C.next}while(C!==A)}}function td(u,B){if(B=B.updateQueue,B=B!==null?B.lastEffect:null,B!==null){var E=B=B.next;do{if((E.tag&u)===u){var A=E.create;E.destroy=A()}E=E.next}while(E!==B)}}function uK0(u){var B=u.ref;if(B!==null){var E=u.stateNode;switch(u.tag){case 5:u=E;break;default:u=E}typeof B==="function"?B(u):B.current=u}}function cQu(u){var B=u.alternate;B!==null&&(u.alternate=null,cQu(B)),u.child=null,u.deletions=null,u.sibling=null,u.tag===5&&(B=u.stateNode,B!==null&&(delete B[sU],delete B[BP],delete B[mJ0],delete B[vD3],delete B[xD3])),u.stateNode=null,u.return=null,u.dependencies=null,u.memoizedProps=null,u.memoizedState=null,u.pendingProps=null,u.stateNode=null,u.updateQueue=null}function _Qu(u){return u.tag===5||u.tag===3||u.tag===4}function uwu(u){u:for(;;){for(;u.sibling===null;){if(u.return===null||_Qu(u.return))return null;u=u.return}u.sibling.return=u.return;for(u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.flags&2)continue u;if(u.child===null||u.tag===4)continue u;else u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function BK0(u,B,E){var A=u.tag;if(A===5||A===6)u=u.stateNode,B?E.nodeType===8?E.parentNode.insertBefore(u,B):E.insertBefore(u,B):(E.nodeType===8?(B=E.parentNode,B.insertBefore(u,E)):(B=E,B.appendChild(u)),E=E._reactRootContainer,E!==null&&E!==void 0||B.onclick!==null||(B.onclick=Yd));else if(A!==4&&(u=u.child,u!==null))for(BK0(u,B,E),u=u.sibling;u!==null;)BK0(u,B,E),u=u.sibling}function EK0(u,B,E){var A=u.tag;if(A===5||A===6)u=u.stateNode,B?E.insertBefore(u,B):E.appendChild(u);else if(A!==4&&(u=u.child,u!==null))for(EK0(u,B,E),u=u.sibling;u!==null;)EK0(u,B,E),u=u.sibling}function VZ(u,B,E){for(E=E.child;E!==null;)pQu(u,B,E),E=E.sibling}function pQu(u,B,E){if(oU&&typeof oU.onCommitFiberUnmount==="function")try{oU.onCommitFiberUnmount(gd,E)}catch(U){}switch(E.tag){case 5:uB||Bv(E,B);case 6:var A=v7,C=PD;v7=null,VZ(u,B,E),v7=A,PD=C,v7!==null&&(PD?(u=v7,E=E.stateNode,u.nodeType===8?u.parentNode.removeChild(E):u.removeChild(E)):v7.removeChild(E.stateNode));break;case 18:v7!==null&&(PD?(u=v7,E=E.stateNode,u.nodeType===8?AJ0(u.parentNode,E):u.nodeType===1&&AJ0(u,E),sI(u)):AJ0(v7,E.stateNode));break;case 4:A=v7,C=PD,v7=E.stateNode.containerInfo,PD=!0,VZ(u,B,E),v7=A,PD=C;break;case 0:case 11:case 14:case 15:if(!uB&&(A=E.updateQueue,A!==null&&(A=A.lastEffect,A!==null))){C=A=A.next;do{var D=C,F=D.destroy;D=D.tag,F!==void 0&&((D&2)!==0?eJ0(E,B,F):(D&4)!==0&&eJ0(E,B,F)),C=C.next}while(C!==A)}VZ(u,B,E);break;case 1:if(!uB&&(Bv(E,B),A=E.stateNode,typeof A.componentWillUnmount==="function"))try{A.props=E.memoizedProps,A.state=E.memoizedState,A.componentWillUnmount()}catch(U){d9(E,B,U)}VZ(u,B,E);break;case 21:VZ(u,B,E);break;case 22:E.mode&1?(uB=(A=uB)||E.memoizedState!==null,VZ(u,B,E),uB=A):VZ(u,B,E);break;default:VZ(u,B,E)}}function Bwu(u){var B=u.updateQueue;if(B!==null){u.updateQueue=null;var E=u.stateNode;E===null&&(E=u.stateNode=new $D3),B.forEach(function(A){var C=oD3.bind(null,u,A);E.has(A)||(E.add(A),A.then(C,C))})}}function OD(u,B){var E=B.deletions;if(E!==null)for(var A=0;A<E.length;A++){var C=E[A];try{var D=u,F=B,U=F;u:for(;U!==null;){switch(U.tag){case 5:v7=U.stateNode,PD=!1;break u;case 3:v7=U.stateNode.containerInfo,PD=!0;break u;case 4:v7=U.stateNode.containerInfo,PD=!0;break u}U=U.return}if(v7===null)throw Error(A4(160));pQu(D,F,C),v7=null,PD=!1;var z=C.alternate;z!==null&&(z.return=null),C.return=null}catch(k){d9(C,B,k)}}if(B.subtreeFlags&12854)for(B=B.child;B!==null;)nQu(B,u),B=B.sibling}function nQu(u,B){var{alternate:E,flags:A}=u;switch(u.tag){case 0:case 11:case 14:case 15:if(OD(B,u),nU(u),A&4){try{yI(3,u,u.return),td(3,u)}catch(K){d9(u,u.return,K)}try{yI(5,u,u.return)}catch(K){d9(u,u.return,K)}}break;case 1:OD(B,u),nU(u),A&512&&E!==null&&Bv(E,E.return);break;case 5:if(OD(B,u),nU(u),A&512&&E!==null&&Bv(E,E.return),u.flags&32){var C=u.stateNode;try{_I(C,"")}catch(K){d9(u,u.return,K)}}if(A&4&&(C=u.stateNode,C!=null)){var D=u.memoizedProps,F=E!==null?E.memoizedProps:D,U=u.type,z=u.updateQueue;if(u.updateQueue=null,z!==null)try{U==="input"&&D.type==="radio"&&D.name!=null&&wwu(C,D),vJ0(U,F);var k=vJ0(U,D);for(F=0;F<z.length;F+=2){var f=z[F],M=z[F+1];f==="style"?lwu(C,M):f==="dangerouslySetInnerHTML"?Hwu(C,M):f==="children"?_I(C,M):kK0(C,f,M,k)}switch(U){case"input":HJ0(C,D);break;case"textarea":Qwu(C,D);break;case"select":var b=C._wrapperState.wasMultiple;C._wrapperState.wasMultiple=!!D.multiple;var Z=D.value;Z!=null?Av(C,!!D.multiple,Z,!1):b!==!!D.multiple&&(D.defaultValue!=null?Av(C,!!D.multiple,D.defaultValue,!0):Av(C,!!D.multiple,D.multiple?[]:"",!1))}C[BP]=D}catch(K){d9(u,u.return,K)}}break;case 6:if(OD(B,u),nU(u),A&4){if(u.stateNode===null)throw Error(A4(162));C=u.stateNode,D=u.memoizedProps;try{C.nodeValue=D}catch(K){d9(u,u.return,K)}}break;case 3:if(OD(B,u),nU(u),A&4&&E!==null&&E.memoizedState.isDehydrated)try{sI(B.containerInfo)}catch(K){d9(u,u.return,K)}break;case 4:OD(B,u),nU(u);break;case 13:OD(B,u),nU(u),C=u.child,C.flags&8192&&(D=C.memoizedState!==null,C.stateNode.isHidden=D,!D||C.alternate!==null&&C.alternate.memoizedState!==null||(yK0=w2())),A&4&&Bwu(u);break;case 22:if(f=E!==null&&E.memoizedState!==null,u.mode&1?(uB=(k=uB)||f,OD(B,u),uB=k):OD(B,u),nU(u),A&8192){if(k=u.memoizedState!==null,(u.stateNode.isHidden=k)&&!f&&(u.mode&1)!==0)for(I4=u,f=u.child;f!==null;){for(M=I4=f;I4!==null;){switch(b=I4,Z=b.child,b.tag){case 0:case 11:case 14:case 15:yI(4,b,b.return);break;case 1:Bv(b,b.return);var J=b.stateNode;if(typeof J.componentWillUnmount==="function"){A=b,E=b.return;try{B=A,J.props=B.memoizedProps,J.state=B.memoizedState,J.componentWillUnmount()}catch(K){d9(A,E,K)}}break;case 5:Bv(b,b.return);break;case 22:if(b.memoizedState!==null){Awu(M);continue}}Z!==null?(Z.return=b,I4=Z):Awu(M)}f=f.sibling}u:for(f=null,M=u;;){if(M.tag===5){if(f===null){f=M;try{C=M.stateNode,k?(D=C.style,typeof D.setProperty==="function"?D.setProperty("display","none","important"):D.display="none"):(U=M.stateNode,z=M.memoizedProps.style,F=z!==void 0&&z!==null&&z.hasOwnProperty("display")?z.display:null,U.style.display=qwu("display",F))}catch(K){d9(u,u.return,K)}}}else if(M.tag===6){if(f===null)try{M.stateNode.nodeValue=k?"":M.memoizedProps}catch(K){d9(u,u.return,K)}}else if((M.tag!==22&&M.tag!==23||M.memoizedState===null||M===u)&&M.child!==null){M.child.return=M,M=M.child;continue}if(M===u)break u;for(;M.sibling===null;){if(M.return===null||M.return===u)break u;f===M&&(f=null),M=M.return}f===M&&(f=null),M.sibling.return=M.return,M=M.sibling}}break;case 19:OD(B,u),nU(u),A&4&&Bwu(u);break;case 21:break;default:OD(B,u),nU(u)}}function nU(u){var B=u.flags;if(B&2){try{u:{for(var E=u.return;E!==null;){if(_Qu(E)){var A=E;break u}E=E.return}throw Error(A4(160))}switch(A.tag){case 5:var C=A.stateNode;A.flags&32&&(_I(C,""),A.flags&=-33);var D=uwu(u);EK0(u,D,C);break;case 3:case 4:var F=A.stateNode.containerInfo,U=uwu(u);BK0(u,U,F);break;default:throw Error(A4(161))}}catch(z){d9(u,u.return,z)}u.flags&=-3}B&4096&&(u.flags&=-4097)}function rD3(u,B,E){I4=u,dQu(u,B,E)}function dQu(u,B,E){for(var A=(u.mode&1)!==0;I4!==null;){var C=I4,D=C.child;if(C.tag===22&&A){var F=C.memoizedState!==null||Ud;if(!F){var U=C.alternate,z=U!==null&&U.memoizedState!==null||uB;U=Ud;var k=uB;if(Ud=F,(uB=z)&&!k)for(I4=C;I4!==null;)F=I4,z=F.child,F.tag===22&&F.memoizedState!==null?Cwu(C):z!==null?(z.return=F,I4=z):Cwu(C);for(;D!==null;)I4=D,dQu(D,B,E),D=D.sibling;I4=C,Ud=U,uB=k}Ewu(u,B,E)}else(C.subtreeFlags&8772)!==0&&D!==null?(D.return=C,I4=D):Ewu(u,B,E)}}function Ewu(u){for(;I4!==null;){var B=I4;if((B.flags&8772)!==0){var E=B.alternate;try{if((B.flags&8772)!==0)switch(B.tag){case 0:case 11:case 15:uB||td(5,B);break;case 1:var A=B.stateNode;if(B.flags&4&&!uB)if(E===null)A.componentDidMount();else{var C=B.elementType===B.type?E.memoizedProps:ID(B.type,E.memoizedProps);A.componentDidUpdate(C,E.memoizedState,A.__reactInternalSnapshotBeforeUpdate)}var D=B.updateQueue;D!==null&&mKu(B,D,A);break;case 3:var F=B.updateQueue;if(F!==null){if(E=null,B.child!==null)switch(B.child.tag){case 5:E=B.child.stateNode;break;case 1:E=B.child.stateNode}mKu(B,F,E)}break;case 5:var U=B.stateNode;if(E===null&&B.flags&4){E=U;var z=B.memoizedProps;switch(B.type){case"button":case"input":case"select":case"textarea":z.autoFocus&&E.focus();break;case"img":z.src&&(E.src=z.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(B.memoizedState===null){var k=B.alternate;if(k!==null){var f=k.memoizedState;if(f!==null){var M=f.dehydrated;M!==null&&sI(M)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(A4(163))}uB||B.flags&512&&uK0(B)}catch(b){d9(B,B.return,b)}}if(B===u){I4=null;break}if(E=B.sibling,E!==null){E.return=B.return,I4=E;break}I4=B.return}}function Awu(u){for(;I4!==null;){var B=I4;if(B===u){I4=null;break}var E=B.sibling;if(E!==null){E.return=B.return,I4=E;break}I4=B.return}}function Cwu(u){for(;I4!==null;){var B=I4;try{switch(B.tag){case 0:case 11:case 15:var E=B.return;try{td(4,B)}catch(z){d9(B,E,z)}break;case 1:var A=B.stateNode;if(typeof A.componentDidMount==="function"){var C=B.return;try{A.componentDidMount()}catch(z){d9(B,C,z)}}var D=B.return;try{uK0(B)}catch(z){d9(B,D,z)}break;case 5:var F=B.return;try{uK0(B)}catch(z){d9(B,F,z)}}}catch(z){d9(B,B.return,z)}if(B===u){I4=null;break}var U=B.sibling;if(U!==null){U.return=B.return,I4=U;break}I4=B.return}}function sB(){return(P1&6)!==0?w2():Qd!==-1?Qd:Qd=w2()}function dZ(u){if((u.mode&1)===0)return 1;if((P1&2)!==0&&x7!==0)return x7&-x7;if(SD3.transition!==null)return Gd===0&&(Gd=Pwu()),Gd;if(u=M6,u!==0)return u;return u=window.event,u=u===void 0?16:mwu(u.type),u}function VD(u,B,E,A){if(50<gI)throw gI=0,CK0=null,Error(A4(185));if(zP(u,E,A),(P1&2)===0||u!==c5)u===c5&&((P1&2)===0&&(ed|=E),J5===4&&mZ(u,x7)),n8(u,A),E===1&&P1===0&&(B.mode&1)===0&&(Kv=w2()+500,dd&&BJ())}function n8(u,B){var E=u.callbackNode;RC3(u,B);var A=vd(u,u===c5?x7:0);if(A===0)E!==null&&JKu(E),u.callbackNode=null,u.callbackPriority=0;else if(B=A&-A,u.callbackPriority!==B){if(E!=null&&JKu(E),B===1)u.tag===0?WD3(Dwu.bind(null,u)):DQu(Dwu.bind(null,u)),LD3(function(){(P1&6)===0&&BJ()}),E=null;else{switch(jwu(A)){case 1:E=JK0;break;case 4:E=Owu;break;case 16:E=Xd;break;case 536870912:E=Iwu;break;default:E=Xd}E=AGu(E,sQu.bind(null,u))}u.callbackPriority=B,u.callbackNode=E}}function sQu(u,B){if(Qd=-1,Gd=0,(P1&6)!==0)throw Error(A4(327));var E=u.callbackNode;if(zv()&&u.callbackNode!==E)return null;var A=vd(u,u===c5?x7:0);if(A===0)return null;if((A&30)!==0||(A&u.expiredLanes)!==0||B)B=yd(u,A);else{B=A;var C=P1;P1|=2;var D=tQu();if(c5!==u||x7!==B)Jf=null,Kv=w2()+500,DG(u,B);do try{pD3();break}catch(U){oQu(u,U)}while(1);SK0(),ad.current=D,P1=C,j2!==null?B=0:(c5=null,x7=0,B=J5)}if(B!==0){if(B===2&&(C=RJ0(u),C!==0&&(A=C,B=DK0(u,C))),B===1)throw E=UP,DG(u,0),mZ(u,A),n8(u,w2()),E;if(B===6)mZ(u,A);else{if(C=u.current.alternate,(A&30)===0&&!cD3(C)&&(B=yd(u,A),B===2&&(D=RJ0(u),D!==0&&(A=D,B=DK0(u,D))),B===1))throw E=UP,DG(u,0),mZ(u,A),n8(u,w2()),E;switch(u.finishedWork=C,u.finishedLanes=A,B){case 0:case 1:throw Error(A4(345));case 2:BG(u,g8,Jf);break;case 3:if(mZ(u,A),(A&130023424)===A&&(B=yK0+500-w2(),10<B)){if(vd(u,0)!==0)break;if(C=u.suspendedLanes,(C&A)!==A){sB(),u.pingedLanes|=u.suspendedLanes&C;break}u.timeoutHandle=aJ0(BG.bind(null,u,g8,Jf),B);break}BG(u,g8,Jf);break;case 4:if(mZ(u,A),(A&4194240)===A)break;B=u.eventTimes;for(C=-1;0<A;){var F=31-ND(A);D=1<<F,F=B[F],F>C&&(C=F),A&=~D}if(A=C,A=w2()-A,A=(120>A?120:480>A?480:1080>A?1080:1920>A?1920:3000>A?3000:4320>A?4320:1960*gD3(A/1960))-A,10<A){u.timeoutHandle=aJ0(BG.bind(null,u,g8,Jf),A);break}BG(u,g8,Jf);break;case 5:BG(u,g8,Jf);break;default:throw Error(A4(329))}}}return n8(u,w2()),u.callbackNode===E?sQu.bind(null,u):null}function DK0(u,B){var E=rI;return u.current.memoizedState.isDehydrated&&(DG(u,B).flags|=256),u=yd(u,B),u!==2&&(B=g8,g8=E,B!==null&&FK0(B)),u}function FK0(u){g8===null?g8=u:g8.push.apply(g8,u)}function cD3(u){for(var B=u;;){if(B.flags&16384){var E=B.updateQueue;if(E!==null&&(E=E.stores,E!==null))for(var A=0;A<E.length;A++){var C=E[A],D=C.getSnapshot;C=C.value;try{if(!hD(D(),C))return!1}catch(F){return!1}}}if(E=B.child,B.subtreeFlags&16384&&E!==null)E.return=B,B=E;else{if(B===u)break;for(;B.sibling===null;){if(B.return===null||B.return===u)return!0;B=B.return}B.sibling.return=B.return,B=B.sibling}}return!0}function mZ(u,B){B&=~$K0,B&=~ed,u.suspendedLanes|=B,u.pingedLanes&=~B;for(u=u.expirationTimes;0<B;){var E=31-ND(B),A=1<<E;u[E]=-1,B&=~A}}function Dwu(u){if((P1&6)!==0)throw Error(A4(327));zv();var B=vd(u,0);if((B&1)===0)return n8(u,w2()),null;var E=yd(u,B);if(u.tag!==0&&E===2){var A=RJ0(u);A!==0&&(B=A,E=DK0(u,A))}if(E===1)throw E=UP,DG(u,0),mZ(u,B),n8(u,w2()),E;if(E===6)throw Error(A4(345));return u.finishedWork=u.current.alternate,u.finishedLanes=B,BG(u,g8,Jf),n8(u,w2()),null}function rK0(u,B){var E=P1;P1|=1;try{return u(B)}finally{P1=E,P1===0&&(Kv=w2()+500,dd&&BJ())}}function MG(u){yZ!==null&&yZ.tag===0&&(P1&6)===0&&zv();var B=P1;P1|=1;var E=eA.transition,A=M6;try{if(eA.transition=null,M6=1,u)return u()}finally{M6=A,eA.transition=E,P1=B,(P1&6)===0&&BJ()}}function gK0(){mE=Ev.current,e6(Ev)}function DG(u,B){u.finishedWork=null,u.finishedLanes=0;var E=u.timeoutHandle;if(E!==-1&&(u.timeoutHandle=-1,lD3(E)),j2!==null)for(E=j2.return;E!==null;){var A=E;switch(vK0(A),A.tag){case 1:A=A.type.childContextTypes,A!==null&&A!==void 0&&Rd();break;case 3:Zv(),e6(_8),e6(BB),PK0();break;case 5:IK0(A);break;case 4:Zv();break;case 13:e6(W9);break;case 19:e6(W9);break;case 10:YK0(A.type._context);break;case 22:case 23:gK0()}E=E.return}if(c5=u,j2=u=sZ(u.current,null),x7=mE=B,J5=0,UP=null,$K0=ed=fG=0,g8=rI=null,AG!==null){for(B=0;B<AG.length;B++)if(E=AG[B],A=E.interleaved,A!==null){E.interleaved=null;var C=A.next,D=E.pending;if(D!==null){var F=D.next;D.next=C,A.next=F}E.pending=A}AG=null}return u}function oQu(u,B){do{var E=j2;try{if(SK0(),Jd.current=id,hd){for(var A=S9.memoizedState;A!==null;){var C=A.queue;C!==null&&(C.pending=null),A=A.next}hd=!1}if(kG=0,g5=Z5=S9=null,$I=!1,CP=0,mK0.current=null,E===null||E.return===null){J5=1,UP=B,j2=null;break}u:{var D=u,F=E.return,U=E,z=B;if(B=x7,U.flags|=32768,z!==null&&typeof z==="object"&&typeof z.then==="function"){var k=z,f=U,M=f.tag;if((f.mode&1)===0&&(M===0||M===11||M===15)){var b=f.alternate;b?(f.updateQueue=b.updateQueue,f.memoizedState=b.memoizedState,f.lanes=b.lanes):(f.updateQueue=null,f.memoizedState=null)}var Z=_Ku(F);if(Z!==null){Z.flags&=-257,pKu(Z,F,U,D,B),Z.mode&1&&cKu(D,k,B),B=Z,z=k;var J=B.updateQueue;if(J===null){var K=new Set;K.add(z),B.updateQueue=K}else J.add(z);break u}else{if((B&1)===0){cKu(D,k,B),cK0();break u}z=Error(A4(426))}}else if(K9&&U.mode&1){var w=_Ku(F);if(w!==null){(w.flags&65536)===0&&(w.flags|=256),pKu(w,F,U,D,B),xK0(Jv(z,U));break u}}D=z=Jv(z,U),J5!==4&&(J5=2),rI===null?rI=[D]:rI.push(D),D=F;do{switch(D.tag){case 3:D.flags|=65536,B&=-B,D.lanes|=B;var Q=jQu(D,z,B);aKu(D,Q);break u;case 1:U=z;var{type:G,stateNode:H}=D;if((D.flags&128)===0&&(typeof G.getDerivedStateFromError==="function"||H!==null&&typeof H.componentDidCatch==="function"&&(nZ===null||!nZ.has(H)))){D.flags|=65536,B&=-B,D.lanes|=B;var l=NQu(D,U,B);aKu(D,l);break u}}D=D.return}while(D!==null)}uGu(E)}catch(q){B=q,j2===E&&E!==null&&(j2=E=E.return);continue}break}while(1)}function tQu(){var u=ad.current;return ad.current=id,u===null?id:u}function cK0(){if(J5===0||J5===3||J5===2)J5=4;c5===null||(fG&268435455)===0&&(ed&268435455)===0||mZ(c5,x7)}function yd(u,B){var E=P1;P1|=2;var A=tQu();if(c5!==u||x7!==B)Jf=null,DG(u,B);do try{_D3();break}catch(C){oQu(u,C)}while(1);if(SK0(),P1=E,ad.current=A,j2!==null)throw Error(A4(261));return c5=null,x7=0,J5}function _D3(){for(;j2!==null;)eQu(j2)}function pD3(){for(;j2!==null&&!qC3();)eQu(j2)}function eQu(u){var B=EGu(u.alternate,u,mE);u.memoizedProps=u.pendingProps,B===null?uGu(u):j2=B,mK0.current=null}function uGu(u){var B=u;do{var E=B.alternate;if(u=B.return,(B.flags&32768)===0){if(E=aD3(E,B,mE),E!==null){j2=E;return}}else{if(E=mD3(E,B),E!==null){E.flags&=32767,j2=E;return}if(u!==null)u.flags|=32768,u.subtreeFlags=0,u.deletions=null;else{J5=6,j2=null;return}}if(B=B.sibling,B!==null){j2=B;return}j2=B=u}while(B!==null);J5===0&&(J5=5)}function BG(u,B,E){var A=M6,C=eA.transition;try{eA.transition=null,M6=1,nD3(u,B,E,A)}finally{eA.transition=C,M6=A}return null}function nD3(u,B,E,A){do zv();while(yZ!==null);if((P1&6)!==0)throw Error(A4(327));E=u.finishedWork;var C=u.finishedLanes;if(E===null)return null;if(u.finishedWork=null,u.finishedLanes=0,E===u.current)throw Error(A4(177));u.callbackNode=null,u.callbackPriority=0;var D=E.lanes|E.childLanes;if(TC3(u,D),u===c5&&(j2=c5=null,x7=0),(E.subtreeFlags&2064)===0&&(E.flags&2064)===0||zd||(zd=!0,AGu(Xd,function(){return zv(),null})),D=(E.flags&15990)!==0,(E.subtreeFlags&15990)!==0||D){D=eA.transition,eA.transition=null;var F=M6;M6=1;var U=P1;P1|=4,mK0.current=null,yD3(u,E),nQu(E,u),wD3(hJ0),xd=!!VJ0,hJ0=VJ0=null,u.current=E,rD3(E,u,C),lC3(),P1=U,M6=F,eA.transition=D}else u.current=E;if(zd&&(zd=!1,yZ=u,$d=C),D=u.pendingLanes,D===0&&(nZ=null),vC3(E.stateNode,A),n8(u,w2()),B!==null)for(A=u.onRecoverableError,E=0;E<B.length;E++)C=B[E],A(C.value,{componentStack:C.stack,digest:C.digest});if(md)throw md=!1,u=AK0,AK0=null,u;return($d&1)!==0&&u.tag!==0&&zv(),D=u.pendingLanes,(D&1)!==0?u===CK0?gI++:(gI=0,CK0=u):gI=0,BJ(),null}function zv(){if(yZ!==null){var u=jwu($d),B=eA.transition,E=M6;try{if(eA.transition=null,M6=16>u?16:u,yZ===null)var A=!1;else{if(u=yZ,yZ=null,$d=0,(P1&6)!==0)throw Error(A4(331));var C=P1;P1|=4;for(I4=u.current;I4!==null;){var D=I4,F=D.child;if((I4.flags&16)!==0){var U=D.deletions;if(U!==null){for(var z=0;z<U.length;z++){var k=U[z];for(I4=k;I4!==null;){var f=I4;switch(f.tag){case 0:case 11:case 15:yI(8,f,D)}var M=f.child;if(M!==null)M.return=f,I4=M;else for(;I4!==null;){f=I4;var{sibling:b,return:Z}=f;if(cQu(f),f===k){I4=null;break}if(b!==null){b.return=Z,I4=b;break}I4=Z}}}var J=D.alternate;if(J!==null){var K=J.child;if(K!==null){J.child=null;do{var w=K.sibling;K.sibling=null,K=w}while(K!==null)}}I4=D}}if((D.subtreeFlags&2064)!==0&&F!==null)F.return=D,I4=F;else u:for(;I4!==null;){if(D=I4,(D.flags&2048)!==0)switch(D.tag){case 0:case 11:case 15:yI(9,D,D.return)}var Q=D.sibling;if(Q!==null){Q.return=D.return,I4=Q;break u}I4=D.return}}var G=u.current;for(I4=G;I4!==null;){F=I4;var H=F.child;if((F.subtreeFlags&2064)!==0&&H!==null)H.return=F,I4=H;else u:for(F=G;I4!==null;){if(U=I4,(U.flags&2048)!==0)try{switch(U.tag){case 0:case 11:case 15:td(9,U)}}catch(q){d9(U,U.return,q)}if(U===F){I4=null;break u}var l=U.sibling;if(l!==null){l.return=U.return,I4=l;break u}I4=U.return}}if(P1=C,BJ(),oU&&typeof oU.onPostCommitFiberRoot==="function")try{oU.onPostCommitFiberRoot(gd,u)}catch(q){}A=!0}return A}finally{M6=E,eA.transition=B}}return!1}function Fwu(u,B,E){B=Jv(E,B),B=jQu(u,B,1),u=pZ(u,B,1),B=sB(),u!==null&&(zP(u,1,B),n8(u,B))}function d9(u,B,E){if(u.tag===3)Fwu(u,u,E);else for(;B!==null;){if(B.tag===3){Fwu(B,u,E);break}else if(B.tag===1){var A=B.stateNode;if(typeof B.type.getDerivedStateFromError==="function"||typeof A.componentDidCatch==="function"&&(nZ===null||!nZ.has(A))){u=Jv(E,u),u=NQu(B,u,1),B=pZ(B,u,1),u=sB(),B!==null&&(zP(B,1,u),n8(B,u));break}}B=B.return}}function dD3(u,B,E){var A=u.pingCache;A!==null&&A.delete(B),B=sB(),u.pingedLanes|=u.suspendedLanes&E,c5===u&&(x7&E)===E&&(J5===4||J5===3&&(x7&130023424)===x7&&500>w2()-yK0?DG(u,0):$K0|=E),n8(u,B)}function BGu(u,B){B===0&&((u.mode&1)===0?B=1:(B=tn,tn<<=1,(tn&130023424)===0&&(tn=4194304)));var E=sB();u=lf(u,B),u!==null&&(zP(u,B,E),n8(u,E))}function sD3(u){var B=u.memoizedState,E=0;B!==null&&(E=B.retryLane),BGu(u,E)}function oD3(u,B){var E=0;switch(u.tag){case 13:var{stateNode:A,memoizedState:C}=u;C!==null&&(E=C.retryLane);break;case 19:A=u.stateNode;break;default:throw Error(A4(314))}A!==null&&A.delete(B),BGu(u,E)}function AGu(u,B){return Twu(u,B)}function tD3(u,B,E,A){this.tag=u,this.key=E,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=B,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=A,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function tA(u,B,E,A){return new tD3(u,B,E,A)}function _K0(u){return u=u.prototype,!(!u||!u.isReactComponent)}function eD3(u){if(typeof u==="function")return _K0(u)?1:0;if(u!==void 0&&u!==null){if(u=u.$$typeof,u===MK0)return 11;if(u===bK0)return 14}return 2}function sZ(u,B){var E=u.alternate;return E===null?(E=tA(u.tag,B,u.key,u.mode),E.elementType=u.elementType,E.type=u.type,E.stateNode=u.stateNode,E.alternate=u,u.alternate=E):(E.pendingProps=B,E.type=u.type,E.flags=0,E.subtreeFlags=0,E.deletions=null),E.flags=u.flags&14680064,E.childLanes=u.childLanes,E.lanes=u.lanes,E.child=u.child,E.memoizedProps=u.memoizedProps,E.memoizedState=u.memoizedState,E.updateQueue=u.updateQueue,B=u.dependencies,E.dependencies=B===null?null:{lanes:B.lanes,firstContext:B.firstContext},E.sibling=u.sibling,E.index=u.index,E.ref=u.ref,E}function Hd(u,B,E,A,C,D){var F=2;if(A=u,typeof u==="function")_K0(u)&&(F=1);else if(typeof u==="string")F=5;else u:switch(u){case _X:return FG(E.children,C,D,B);case fK0:F=8,C|=8;break;case JJ0:return u=tA(12,E,B,C|2),u.elementType=JJ0,u.lanes=D,u;case KJ0:return u=tA(13,E,B,C),u.elementType=KJ0,u.lanes=D,u;case wJ0:return u=tA(19,E,B,C),u.elementType=wJ0,u.lanes=D,u;case Zwu:return us(E,C,D,B);default:if(typeof u==="object"&&u!==null)switch(u.$$typeof){case Mwu:F=10;break u;case bwu:F=9;break u;case MK0:F=11;break u;case bK0:F=14;break u;case hZ:F=16,A=null;break u}throw Error(A4(130,u==null?u:typeof u,""))}return B=tA(F,E,B,C),B.elementType=u,B.type=A,B.lanes=D,B}function FG(u,B,E,A){return u=tA(7,u,A,B),u.lanes=E,u}function us(u,B,E,A){return u=tA(22,u,A,B),u.elementType=Zwu,u.lanes=E,u.stateNode={isHidden:!1},u}function MJ0(u,B,E){return u=tA(6,u,null,B),u.lanes=E,u}function bJ0(u,B,E){return B=tA(4,u.children!==null?u.children:[],u.key,B),B.lanes=E,B.stateNode={containerInfo:u.containerInfo,pendingChildren:null,implementation:u.implementation},B}function uF3(u,B,E,A,C){this.tag=B,this.containerInfo=u,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sZ0(0),this.expirationTimes=sZ0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sZ0(0),this.identifierPrefix=A,this.onRecoverableError=C,this.mutableSourceEagerHydrationData=null}function pK0(u,B,E,A,C,D,F,U,z){return u=new uF3(u,B,E,U,z),B===1?(B=1,D===!0&&(B|=8)):B=0,D=tA(3,null,null,B),u.current=D,D.stateNode=u,D.memoizedState={element:A,isDehydrated:E,cache:null,transitions:null,pendingSuspenseBoundaries:null},TK0(D),u}function BF3(u,B,E){var A=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:cX,key:A==null?null:""+A,children:u,containerInfo:B,implementation:E}}function CGu(u){if(!u)return tZ;u=u._reactInternals;u:{if(ZG(u)!==u||u.tag!==1)throw Error(A4(170));var B=u;do{switch(B.tag){case 3:B=B.stateNode.context;break u;case 1:if(p8(B.type)){B=B.stateNode.__reactInternalMemoizedMergedChildContext;break u}}B=B.return}while(B!==null);throw Error(A4(171))}if(u.tag===1){var E=u.type;if(p8(E))return CQu(u,E,B)}return B}function DGu(u,B,E,A,C,D,F,U,z){return u=pK0(E,A,!0,u,C,D,F,U,z),u.context=CGu(null),E=u.current,A=sB(),C=dZ(E),D=Gf(A,C),D.callback=B!==void 0&&B!==null?B:null,pZ(E,D,C),u.current.lanes=C,zP(u,C,A),n8(u,A),u}function Bs(u,B,E,A){var C=B.current,D=sB(),F=dZ(C);return E=CGu(E),B.context===null?B.context=E:B.pendingContext=E,B=Gf(D,F),B.payload={element:u},A=A===void 0?null:A,A!==null&&(B.callback=A),u=pZ(C,B,F),u!==null&&(VD(u,C,F,D),Zd(u,C,F)),F}function rd(u){if(u=u.current,!u.child)return null;switch(u.child.tag){case 5:return u.child.stateNode;default:return u.child.stateNode}}function Uwu(u,B){if(u=u.memoizedState,u!==null&&u.dehydrated!==null){var E=u.retryLane;u.retryLane=E!==0&&E<B?E:B}}function nK0(u,B){Uwu(u,B),(u=u.alternate)&&Uwu(u,B)}function EF3(){return null}function dK0(u){this._internalRoot=u}function Es(u){this._internalRoot=u}function sK0(u){return!(!u||u.nodeType!==1&&u.nodeType!==9&&u.nodeType!==11)}function As(u){return!(!u||u.nodeType!==1&&u.nodeType!==9&&u.nodeType!==11&&(u.nodeType!==8||u.nodeValue!==" react-mount-point-unstable "))}function zwu(){}function AF3(u,B,E,A,C){if(C){if(typeof A==="function"){var D=A;A=function(){var k=rd(F);D.call(k)}}var F=DGu(B,A,u,0,null,!1,!1,"",zwu);return u._reactRootContainer=F,u[qf]=F.current,eI(u.nodeType===8?u.parentNode:u),MG(),F}for(;C=u.lastChild;)u.removeChild(C);if(typeof A==="function"){var U=A;A=function(){var k=rd(z);U.call(k)}}var z=pK0(u,0,!1,null,null,!1,!1,"",zwu);return u._reactRootContainer=z,u[qf]=z.current,eI(u.nodeType===8?u.parentNode:u),MG(function(){Bs(B,z,E,A)}),z}function Cs(u,B,E,A,C){var D=E._reactRootContainer;if(D){var F=D;if(typeof C==="function"){var U=C;C=function(){var z=rd(F);U.call(z)}}Bs(B,F,u,C)}else F=AF3(E,B,u,C,A);return rd(F)}var kwu,w9,fwu,cI,Hf,ZJ0,FC3,DKu,FKu,W7,UK0,Xf,nn,cX,_X,fK0,JJ0,Mwu,bwu,MK0,KJ0,wJ0,bK0,hZ,Zwu,UKu,Y9,_Z0,pZ0=!1,RI,sn,Hwu,VI,ZC3,JC3,xJ0=null,WJ0=null,Cv=null,Dv=null,dZ0=!1,SJ0=!1,eQ,hI=!1,ld=null,Ld=!1,YJ0=null,wC3,Twu,JKu,qC3,lC3,w2,LC3,JK0,Owu,Xd,XC3,Iwu,gd=null,oU=null,ND,xC3,WC3,on=64,tn=4194304,M6=0,Nwu,wK0,Vwu,hwu,iwu,TJ0=!1,en,rZ=null,gZ=null,cZ=null,nI,dI,aZ,OC3,Fv,xd=!0,Wd=null,$Z=null,GK0=null,fd=null,wv,HK0,kP,VC3,oZ0,tZ0,vI,cd,GKu,hC3,iC3,aC3,eZ0,mC3,$C3,yC3,rC3,gC3,HKu,cC3,_C3,pC3,dC3,sC3,oC3,qKu,tC3,eC3,uD3,BD3,ED3,AD3,CD3,lK0,iI=null,DD3,ywu,lKu,LKu=!1,pX=!1,zD3,aI=null,oI=null,_wu=!1,OI,II,bd,hD,QD3,nX=null,IJ0=null,mI=null,PJ0=!1,dX,uJ0,swu,owu,twu,ewu,uQu,BQu,YKu,jI,jJ0,NJ0,PI,NI,GD3,Ed,HD3,qD3,VJ0=null,hJ0=null,aJ0,lD3,IKu,LD3,Qv,sU,BP,qf,mJ0,vD3,xD3,$J0,oX=-1,tZ,BB,_8,UG,Kf=null,dd=!1,CJ0=!1,tX,eX=0,Od=null,Id=0,sA,oA=0,zG=null,wf=1,Qf="",yE=null,$E=null,K9=!1,jD=null,SD3,bv,fQu,Pd,jd=null,uv=null,WK0=null,AG=null,iZ=!1,MP,tU,EP,AP,W9,DJ0,Jd,FJ0,kG=0,S9=null,Z5=null,g5=null,hd=!1,$I=!1,CP=0,YD3=0,id,ID3,PD3,jD3,od,ND3,VD3,c8=!1,sJ0,yQu,tJ0,rQu,gQu,Ud=!1,uB=!1,$D3,I4=null,eKu=!1,v7=null,PD=!1,gD3,ad,mK0,eA,P1=0,c5=null,j2=null,x7=0,mE=0,Ev,J5=0,UP=null,fG=0,ed=0,$K0=0,rI=null,g8=null,yK0=0,Kv=1/0,Jf=null,md=!1,AK0=null,nZ=null,zd=!1,yZ=null,$d=0,gI=0,CK0=null,Qd=-1,Gd=0,EGu,FGu,CF3,SI,DF3,gX,UGu,zGu=function(u,B){var E=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!sK0(B))throw Error(A4(200));return BF3(u,B,null,E)},kGu=function(u,B){if(!sK0(u))throw Error(A4(299));var E=!1,A="",C=FGu;return B!==null&&B!==void 0&&(B.unstable_strictMode===!0&&(E=!0),B.identifierPrefix!==void 0&&(A=B.identifierPrefix),B.onRecoverableError!==void 0&&(C=B.onRecoverableError)),B=pK0(u,1,!1,null,null,E,!1,A,C),u[qf]=B.current,eI(u.nodeType===8?u.parentNode:u),new dK0(B)},fGu=function(u){if(u==null)return null;if(u.nodeType===1)return u;var B=u._reactInternals;if(B===void 0){if(typeof u.render==="function")throw Error(A4(188));throw u=Object.keys(u).join(","),Error(A4(268,u))}return u=Ywu(B),u=u===null?null:u.stateNode,u},MGu=function(u){return MG(u)},bGu=function(u,B,E){if(!As(B))throw Error(A4(200));return Cs(null,u,B,!0,E)},ZGu=function(u,B,E){if(!sK0(u))throw Error(A4(405));var A=E!=null&&E.hydratedSources||null,C=!1,D="",F=FGu;if(E!==null&&E!==void 0&&(E.unstable_strictMode===!0&&(C=!0),E.identifierPrefix!==void 0&&(D=E.identifierPrefix),E.onRecoverableError!==void 0&&(F=E.onRecoverableError)),B=DGu(B,null,u,1,E!=null?E:null,C,!1,D,F),u[qf]=B.current,eI(u),A)for(u=0;u<A.length;u++)E=A[u],C=E._getVersion,C=C(E._source),B.mutableSourceEagerHydrationData==null?B.mutableSourceEagerHydrationData=[E,C]:B.mutableSourceEagerHydrationData.push(E,C);return new Es(B)},JGu=function(u,B,E){if(!As(B))throw Error(A4(200));return Cs(null,u,B,!1,E)},KGu=function(u){if(!As(u))throw Error(A4(40));return u._reactRootContainer?(MG(function(){Cs(null,null,u,!1,function(){u._reactRootContainer=null,u[qf]=null})}),!0):!1},wGu,QGu=function(u,B,E,A){if(!As(E))throw Error(A4(200));if(u==null||u._reactInternals===void 0)throw Error(A4(38));return Cs(u,B,E,!1,A)},GGu="18.3.1-next-f1338f8080-20240426";var HGu=g(()=>{kwu=Eu(Hu(),1),w9=Eu(CKu(),1);fwu=new Set,cI={};Hf=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ZJ0=Object.prototype.hasOwnProperty,FC3=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,DKu={},FKu={};W7={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(u){W7[u]=new oB(u,0,!1,u,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(u){var B=u[0];W7[B]=new oB(B,1,!1,u[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(u){W7[u]=new oB(u,2,!1,u.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(u){W7[u]=new oB(u,2,!1,u,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(u){W7[u]=new oB(u,3,!1,u.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(u){W7[u]=new oB(u,3,!0,u,null,!1,!1)});["capture","download"].forEach(function(u){W7[u]=new oB(u,4,!1,u,null,!1,!1)});["cols","rows","size","span"].forEach(function(u){W7[u]=new oB(u,6,!1,u,null,!1,!1)});["rowSpan","start"].forEach(function(u){W7[u]=new oB(u,5,!1,u.toLowerCase(),null,!1,!1)});UK0=/[\-:]([a-z])/g;"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(u){var B=u.replace(UK0,zK0);W7[B]=new oB(B,1,!1,u,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(u){var B=u.replace(UK0,zK0);W7[B]=new oB(B,1,!1,u,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(u){var B=u.replace(UK0,zK0);W7[B]=new oB(B,1,!1,u,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(u){W7[u]=new oB(u,1,!1,u.toLowerCase(),null,!1,!1)});W7.xlinkHref=new oB("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(u){W7[u]=new oB(u,1,!1,u.toLowerCase(),null,!0,!0)});Xf=kwu.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,nn=Symbol.for("react.element"),cX=Symbol.for("react.portal"),_X=Symbol.for("react.fragment"),fK0=Symbol.for("react.strict_mode"),JJ0=Symbol.for("react.profiler"),Mwu=Symbol.for("react.provider"),bwu=Symbol.for("react.context"),MK0=Symbol.for("react.forward_ref"),KJ0=Symbol.for("react.suspense"),wJ0=Symbol.for("react.suspense_list"),bK0=Symbol.for("react.memo"),hZ=Symbol.for("react.lazy"),Zwu=Symbol.for("react.offscreen"),UKu=Symbol.iterator;Y9=Object.assign;RI=Array.isArray;Hwu=function(u){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(B,E,A,C){MSApp.execUnsafeLocalFunction(function(){return u(B,E,A,C)})}:u}(function(u,B){if(u.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in u)u.innerHTML=B;else{sn=sn||document.createElement("div"),sn.innerHTML="<svg>"+B.valueOf().toString()+"</svg>";for(B=sn.firstChild;u.firstChild;)u.removeChild(u.firstChild);for(;B.firstChild;)u.appendChild(B.firstChild)}});VI={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ZC3=["Webkit","ms","Moz","O"];Object.keys(VI).forEach(function(u){ZC3.forEach(function(B){B=B+u.charAt(0).toUpperCase()+u.substring(1),VI[B]=VI[u]})});JC3=Y9({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});if(Hf)try{eQ={},Object.defineProperty(eQ,"passive",{get:function(){SJ0=!0}}),window.addEventListener("test",eQ,eQ),window.removeEventListener("test",eQ,eQ)}catch(u){SJ0=!1}wC3={onError:function(u){hI=!0,ld=u}};Twu=w9.unstable_scheduleCallback,JKu=w9.unstable_cancelCallback,qC3=w9.unstable_shouldYield,lC3=w9.unstable_requestPaint,w2=w9.unstable_now,LC3=w9.unstable_getCurrentPriorityLevel,JK0=w9.unstable_ImmediatePriority,Owu=w9.unstable_UserBlockingPriority,Xd=w9.unstable_NormalPriority,XC3=w9.unstable_LowPriority,Iwu=w9.unstable_IdlePriority;ND=Math.clz32?Math.clz32:SC3,xC3=Math.log,WC3=Math.LN2;en=[],nI=new Map,dI=new Map,aZ=[],OC3="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");Fv=Xf.ReactCurrentBatchConfig;wv={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(u){return u.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},HK0=rE(wv),kP=Y9({},wv,{view:0,detail:0}),VC3=rE(kP),cd=Y9({},kP,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qK0,button:0,buttons:0,relatedTarget:function(u){return u.relatedTarget===void 0?u.fromElement===u.srcElement?u.toElement:u.fromElement:u.relatedTarget},movementX:function(u){if("movementX"in u)return u.movementX;return u!==vI&&(vI&&u.type==="mousemove"?(oZ0=u.screenX-vI.screenX,tZ0=u.screenY-vI.screenY):tZ0=oZ0=0,vI=u),oZ0},movementY:function(u){return"movementY"in u?u.movementY:tZ0}}),GKu=rE(cd),hC3=Y9({},cd,{dataTransfer:0}),iC3=rE(hC3),aC3=Y9({},kP,{relatedTarget:0}),eZ0=rE(aC3),mC3=Y9({},wv,{animationName:0,elapsedTime:0,pseudoElement:0}),$C3=rE(mC3),yC3=Y9({},wv,{clipboardData:function(u){return"clipboardData"in u?u.clipboardData:window.clipboardData}}),rC3=rE(yC3),gC3=Y9({},wv,{data:0}),HKu=rE(gC3),cC3={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},_C3={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},pC3={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};dC3=Y9({},kP,{key:function(u){if(u.key){var B=cC3[u.key]||u.key;if(B!=="Unidentified")return B}return u.type==="keypress"?(u=Md(u),u===13?"Enter":String.fromCharCode(u)):u.type==="keydown"||u.type==="keyup"?_C3[u.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qK0,charCode:function(u){return u.type==="keypress"?Md(u):0},keyCode:function(u){return u.type==="keydown"||u.type==="keyup"?u.keyCode:0},which:function(u){return u.type==="keypress"?Md(u):u.type==="keydown"||u.type==="keyup"?u.keyCode:0}}),sC3=rE(dC3),oC3=Y9({},cd,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),qKu=rE(oC3),tC3=Y9({},kP,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qK0}),eC3=rE(tC3),uD3=Y9({},wv,{propertyName:0,elapsedTime:0,pseudoElement:0}),BD3=rE(uD3),ED3=Y9({},cd,{deltaX:function(u){return"deltaX"in u?u.deltaX:("wheelDeltaX"in u)?-u.wheelDeltaX:0},deltaY:function(u){return"deltaY"in u?u.deltaY:("wheelDeltaY"in u)?-u.wheelDeltaY:("wheelDelta"in u)?-u.wheelDelta:0},deltaZ:0,deltaMode:0}),AD3=rE(ED3),CD3=[9,13,27,32],lK0=Hf&&"CompositionEvent"in window;Hf&&"documentMode"in document&&(iI=document.documentMode);DD3=Hf&&"TextEvent"in window&&!iI,ywu=Hf&&(!lK0||iI&&8<iI&&11>=iI),lKu=String.fromCharCode(32);zD3={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};if(Hf){if(Hf){if(II="oninput"in document,!II)bd=document.createElement("div"),bd.setAttribute("oninput","return;"),II=typeof bd.oninput==="function";OI=II}else OI=!1;_wu=OI&&(!document.documentMode||9<document.documentMode)}hD=typeof Object.is==="function"?Object.is:KD3;QD3=Hf&&"documentMode"in document&&11>=document.documentMode;dX={animationend:Bd("Animation","AnimationEnd"),animationiteration:Bd("Animation","AnimationIteration"),animationstart:Bd("Animation","AnimationStart"),transitionend:Bd("Transition","TransitionEnd")},uJ0={},swu={};Hf&&(swu=document.createElement("div").style,("AnimationEvent"in window)||(delete dX.animationend.animation,delete dX.animationiteration.animation,delete dX.animationstart.animation),("TransitionEvent"in window)||delete dX.transitionend.transition);owu=pd("animationend"),twu=pd("animationiteration"),ewu=pd("animationstart"),uQu=pd("transitionend"),BQu=new Map,YKu="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");for(PI=0;PI<YKu.length;PI++)jI=YKu[PI],jJ0=jI.toLowerCase(),NJ0=jI[0].toUpperCase()+jI.slice(1),eZ(jJ0,"on"+NJ0);eZ(owu,"onAnimationEnd");eZ(twu,"onAnimationIteration");eZ(ewu,"onAnimationStart");eZ("dblclick","onDoubleClick");eZ("focusin","onFocus");eZ("focusout","onBlur");eZ(uQu,"onTransitionEnd");kv("onMouseEnter",["mouseout","mouseover"]);kv("onMouseLeave",["mouseout","mouseover"]);kv("onPointerEnter",["pointerout","pointerover"]);kv("onPointerLeave",["pointerout","pointerover"]);bG("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));bG("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));bG("onBeforeInput",["compositionend","keypress","textInput","paste"]);bG("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));bG("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));bG("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));NI="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),GD3=new Set("cancel close invalid load scroll toggle".split(" ").concat(NI));Ed="_reactListening"+Math.random().toString(36).slice(2);HD3=/\r\n?/g,qD3=/\u0000|\uFFFD/g;aJ0=typeof setTimeout==="function"?setTimeout:void 0,lD3=typeof clearTimeout==="function"?clearTimeout:void 0,IKu=typeof Promise==="function"?Promise:void 0,LD3=typeof queueMicrotask==="function"?queueMicrotask:typeof IKu<"u"?function(u){return IKu.resolve(null).then(u).catch(XD3)}:aJ0;Qv=Math.random().toString(36).slice(2),sU="__reactFiber$"+Qv,BP="__reactProps$"+Qv,qf="__reactContainer$"+Qv,mJ0="__reactEvents$"+Qv,vD3="__reactListeners$"+Qv,xD3="__reactHandles$"+Qv;$J0=[];tZ={},BB=uJ(tZ),_8=uJ(!1),UG=tZ;tX=[],sA=[];SD3=Xf.ReactCurrentBatchConfig;bv=kQu(!0),fQu=kQu(!1),Pd=uJ(null);MP={},tU=uJ(MP),EP=uJ(MP),AP=uJ(MP);W9=uJ(0);DJ0=[];Jd=Xf.ReactCurrentDispatcher,FJ0=Xf.ReactCurrentBatchConfig;id={readContext:uC,useCallback:t7,useContext:t7,useEffect:t7,useImperativeHandle:t7,useInsertionEffect:t7,useLayoutEffect:t7,useMemo:t7,useReducer:t7,useRef:t7,useState:t7,useDebugValue:t7,useDeferredValue:t7,useTransition:t7,useMutableSource:t7,useSyncExternalStore:t7,useId:t7,unstable_isNewReconciler:!1},ID3={readContext:uC,useCallback:function(u,B){return dU().memoizedState=[u,B===void 0?null:B],u},useContext:uC,useEffect:yKu,useImperativeHandle:function(u,B,E){return E=E!==null&&E!==void 0?E.concat([u]):null,Kd(4194308,4,vQu.bind(null,B,u),E)},useLayoutEffect:function(u,B){return Kd(4194308,4,u,B)},useInsertionEffect:function(u,B){return Kd(4,2,u,B)},useMemo:function(u,B){var E=dU();return B=B===void 0?null:B,u=u(),E.memoizedState=[u,B],u},useReducer:function(u,B,E){var A=dU();return B=E!==void 0?E(B):B,A.memoizedState=A.baseState=B,u={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:B},A.queue=u,u=u.dispatch=TD3.bind(null,S9,u),[A.memoizedState,u]},useRef:function(u){var B=dU();return u={current:u},B.memoizedState=u},useState:$Ku,useDebugValue:iK0,useDeferredValue:function(u){return dU().memoizedState=u},useTransition:function(){var u=$Ku(!1),B=u[0];return u=RD3.bind(null,u[1]),dU().memoizedState=u,[B,u]},useMutableSource:function(){},useSyncExternalStore:function(u,B,E){var A=S9,C=dU();if(K9){if(E===void 0)throw Error(A4(407));E=E()}else{if(E=B(),c5===null)throw Error(A4(349));(kG&30)!==0||wQu(A,B,E)}C.memoizedState=E;var D={value:E,getSnapshot:B};return C.queue=D,yKu(GQu.bind(null,A,D,u),[u]),A.flags|=2048,FP(9,QQu.bind(null,A,D,E,B),void 0,null),E},useId:function(){var u=dU(),B=c5.identifierPrefix;if(K9){var E=Qf,A=wf;E=(A&~(1<<32-ND(A)-1)).toString(32)+E,B=":"+B+"R"+E,E=CP++,0<E&&(B+="H"+E.toString(32)),B+=":"}else E=YD3++,B=":"+B+"r"+E.toString(32)+":";return u.memoizedState=B},unstable_isNewReconciler:!1},PD3={readContext:uC,useCallback:WQu,useContext:uC,useEffect:hK0,useImperativeHandle:xQu,useInsertionEffect:LQu,useLayoutEffect:XQu,useMemo:SQu,useReducer:UJ0,useRef:lQu,useState:function(){return UJ0(DP)},useDebugValue:iK0,useDeferredValue:function(u){var B=BC();return YQu(B,Z5.memoizedState,u)},useTransition:function(){var u=UJ0(DP)[0],B=BC().memoizedState;return[u,B]},useMutableSource:JQu,useSyncExternalStore:KQu,useId:RQu,unstable_isNewReconciler:!1},jD3={readContext:uC,useCallback:WQu,useContext:uC,useEffect:hK0,useImperativeHandle:xQu,useInsertionEffect:LQu,useLayoutEffect:XQu,useMemo:SQu,useReducer:zJ0,useRef:lQu,useState:function(){return zJ0(DP)},useDebugValue:iK0,useDeferredValue:function(u){var B=BC();return Z5===null?B.memoizedState=u:YQu(B,Z5.memoizedState,u)},useTransition:function(){var u=zJ0(DP)[0],B=BC().memoizedState;return[u,B]},useMutableSource:JQu,useSyncExternalStore:KQu,useId:RQu,unstable_isNewReconciler:!1};od={isMounted:function(u){return(u=u._reactInternals)?ZG(u)===u:!1},enqueueSetState:function(u,B,E){u=u._reactInternals;var A=sB(),C=dZ(u),D=Gf(A,C);D.payload=B,E!==void 0&&E!==null&&(D.callback=E),B=pZ(u,D,C),B!==null&&(VD(B,u,C,A),Zd(B,u,C))},enqueueReplaceState:function(u,B,E){u=u._reactInternals;var A=sB(),C=dZ(u),D=Gf(A,C);D.tag=1,D.payload=B,E!==void 0&&E!==null&&(D.callback=E),B=pZ(u,D,C),B!==null&&(VD(B,u,C,A),Zd(B,u,C))},enqueueForceUpdate:function(u,B){u=u._reactInternals;var E=sB(),A=dZ(u),C=Gf(E,A);C.tag=2,B!==void 0&&B!==null&&(C.callback=B),B=pZ(u,C,A),B!==null&&(VD(B,u,A,E),Zd(B,u,A))}};ND3=typeof WeakMap==="function"?WeakMap:Map;VD3=Xf.ReactCurrentOwner;sJ0={dehydrated:null,treeContext:null,retryLane:0};yQu=function(u,B){for(var E=B.child;E!==null;){if(E.tag===5||E.tag===6)u.appendChild(E.stateNode);else if(E.tag!==4&&E.child!==null){E.child.return=E,E=E.child;continue}if(E===B)break;for(;E.sibling===null;){if(E.return===null||E.return===B)return;E=E.return}E.sibling.return=E.return,E=E.sibling}};tJ0=function(){};rQu=function(u,B,E,A){var C=u.memoizedProps;if(C!==A){u=B.stateNode,CG(tU.current);var D=null;switch(E){case"input":C=GJ0(u,C),A=GJ0(u,A),D=[];break;case"select":C=Y9({},C,{value:void 0}),A=Y9({},A,{value:void 0}),D=[];break;case"textarea":C=lJ0(u,C),A=lJ0(u,A),D=[];break;default:typeof C.onClick!=="function"&&typeof A.onClick==="function"&&(u.onclick=Yd)}XJ0(E,A);var F;E=null;for(k in C)if(!A.hasOwnProperty(k)&&C.hasOwnProperty(k)&&C[k]!=null)if(k==="style"){var U=C[k];for(F in U)U.hasOwnProperty(F)&&(E||(E={}),E[F]="")}else k!=="dangerouslySetInnerHTML"&&k!=="children"&&k!=="suppressContentEditableWarning"&&k!=="suppressHydrationWarning"&&k!=="autoFocus"&&(cI.hasOwnProperty(k)?D||(D=[]):(D=D||[]).push(k,null));for(k in A){var z=A[k];if(U=C!=null?C[k]:void 0,A.hasOwnProperty(k)&&z!==U&&(z!=null||U!=null))if(k==="style")if(U){for(F in U)!U.hasOwnProperty(F)||z&&z.hasOwnProperty(F)||(E||(E={}),E[F]="");for(F in z)z.hasOwnProperty(F)&&U[F]!==z[F]&&(E||(E={}),E[F]=z[F])}else E||(D||(D=[]),D.push(k,E)),E=z;else k==="dangerouslySetInnerHTML"?(z=z?z.__html:void 0,U=U?U.__html:void 0,z!=null&&U!==z&&(D=D||[]).push(k,z)):k==="children"?typeof z!=="string"&&typeof z!=="number"||(D=D||[]).push(k,""+z):k!=="suppressContentEditableWarning"&&k!=="suppressHydrationWarning"&&(cI.hasOwnProperty(k)?(z!=null&&k==="onScroll"&&t6("scroll",u),D||U===z||(D=[])):(D=D||[]).push(k,z))}E&&(D=D||[]).push("style",E);var k=D;if(B.updateQueue=k)B.flags|=4}};gQu=function(u,B,E,A){E!==A&&(B.flags|=4)};$D3=typeof WeakSet==="function"?WeakSet:Set;gD3=Math.ceil,ad=Xf.ReactCurrentDispatcher,mK0=Xf.ReactCurrentOwner,eA=Xf.ReactCurrentBatchConfig,Ev=uJ(0);EGu=function(u,B,E){if(u!==null)if(u.memoizedProps!==B.pendingProps||_8.current)c8=!0;else{if((u.lanes&E)===0&&(B.flags&128)===0)return c8=!1,iD3(u,B,E);c8=(u.flags&131072)!==0?!0:!1}else c8=!1,K9&&(B.flags&1048576)!==0&&FQu(B,Id,B.index);switch(B.lanes=0,B.tag){case 2:var A=B.type;wd(u,B),u=B.pendingProps;var C=fv(B,BB.current);Uv(B,E),C=NK0(null,B,A,u,C,E);var D=VK0();return B.flags|=1,typeof C==="object"&&C!==null&&typeof C.render==="function"&&C.$$typeof===void 0?(B.tag=1,B.memoizedState=null,B.updateQueue=null,p8(A)?(D=!0,Td(B)):D=!1,B.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,TK0(B),C.updater=od,B.stateNode=C,C._reactInternals=B,_J0(B,A,u,E),B=dJ0(null,B,A,!0,D,E)):(B.tag=0,K9&&D&&XK0(B),dB(null,B,C,E),B=B.child),B;case 16:A=B.elementType;u:{switch(wd(u,B),u=B.pendingProps,C=A._init,A=C(A._payload),B.type=A,C=B.tag=eD3(A),u=ID(A,u),C){case 0:B=nJ0(null,B,A,u,E);break u;case 1:B=sKu(null,B,A,u,E);break u;case 11:B=nKu(null,B,A,u,E);break u;case 14:B=dKu(null,B,A,ID(A.type,u),E);break u}throw Error(A4(306,A,""))}return B;case 0:return A=B.type,C=B.pendingProps,C=B.elementType===A?C:ID(A,C),nJ0(u,B,A,C,E);case 1:return A=B.type,C=B.pendingProps,C=B.elementType===A?C:ID(A,C),sKu(u,B,A,C,E);case 3:u:{if(aQu(B),u===null)throw Error(A4(387));A=B.pendingProps,D=B.memoizedState,C=D.element,bQu(u,B),Nd(B,A,null,E);var F=B.memoizedState;if(A=F.element,D.isDehydrated)if(D={element:A,isDehydrated:!1,cache:F.cache,pendingSuspenseBoundaries:F.pendingSuspenseBoundaries,transitions:F.transitions},B.updateQueue.baseState=D,B.memoizedState=D,B.flags&256){C=Jv(Error(A4(423)),B),B=oKu(u,B,A,E,C);break u}else if(A!==C){C=Jv(Error(A4(424)),B),B=oKu(u,B,A,E,C);break u}else for($E=_Z(B.stateNode.containerInfo.firstChild),yE=B,K9=!0,jD=null,E=fQu(B,null,A,E),B.child=E;E;)E.flags=E.flags&-3|4096,E=E.sibling;else{if(Mv(),A===C){B=Lf(u,B,E);break u}dB(u,B,A,E)}B=B.child}return B;case 5:return ZQu(B),u===null&&rJ0(B),A=B.type,C=B.pendingProps,D=u!==null?u.memoizedProps:null,F=C.children,iJ0(A,C)?F=null:D!==null&&iJ0(A,D)&&(B.flags|=32),iQu(u,B),dB(u,B,F,E),B.child;case 6:return u===null&&rJ0(B),null;case 13:return mQu(u,B,E);case 4:return OK0(B,B.stateNode.containerInfo),A=B.pendingProps,u===null?B.child=bv(B,null,A,E):dB(u,B,A,E),B.child;case 11:return A=B.type,C=B.pendingProps,C=B.elementType===A?C:ID(A,C),nKu(u,B,A,C,E);case 7:return dB(u,B,B.pendingProps,E),B.child;case 8:return dB(u,B,B.pendingProps.children,E),B.child;case 12:return dB(u,B,B.pendingProps.children,E),B.child;case 10:u:{if(A=B.type._context,C=B.pendingProps,D=B.memoizedProps,F=C.value,h6(Pd,A._currentValue),A._currentValue=F,D!==null)if(hD(D.value,F)){if(D.children===C.children&&!_8.current){B=Lf(u,B,E);break u}}else for(D=B.child,D!==null&&(D.return=B);D!==null;){var U=D.dependencies;if(U!==null){F=D.child;for(var z=U.firstContext;z!==null;){if(z.context===A){if(D.tag===1){z=Gf(-1,E&-E),z.tag=2;var k=D.updateQueue;if(k!==null){k=k.shared;var f=k.pending;f===null?z.next=z:(z.next=f.next,f.next=z),k.pending=z}}D.lanes|=E,z=D.alternate,z!==null&&(z.lanes|=E),gJ0(D.return,E,B),U.lanes|=E;break}z=z.next}}else if(D.tag===10)F=D.type===B.type?null:D.child;else if(D.tag===18){if(F=D.return,F===null)throw Error(A4(341));F.lanes|=E,U=F.alternate,U!==null&&(U.lanes|=E),gJ0(F,E,B),F=D.sibling}else F=D.child;if(F!==null)F.return=D;else for(F=D;F!==null;){if(F===B){F=null;break}if(D=F.sibling,D!==null){D.return=F.return,F=D;break}F=F.return}D=F}dB(u,B,C.children,E),B=B.child}return B;case 9:return C=B.type,A=B.pendingProps.children,Uv(B,E),C=uC(C),A=A(C),B.flags|=1,dB(u,B,A,E),B.child;case 14:return A=B.type,C=ID(A,B.pendingProps),C=ID(A.type,C),dKu(u,B,A,C,E);case 15:return VQu(u,B,B.type,B.pendingProps,E);case 17:return A=B.type,C=B.pendingProps,C=B.elementType===A?C:ID(A,C),wd(u,B),B.tag=1,p8(A)?(u=!0,Td(B)):u=!1,Uv(B,E),PQu(B,A,C),_J0(B,A,C,E),dJ0(null,B,A,!0,u,E);case 19:return $Qu(u,B,E);case 22:return hQu(u,B,E)}throw Error(A4(156,B.tag))};FGu=typeof reportError==="function"?reportError:function(u){console.error(u)};Es.prototype.render=dK0.prototype.render=function(u){var B=this._internalRoot;if(B===null)throw Error(A4(409));Bs(u,B,null,null)};Es.prototype.unmount=dK0.prototype.unmount=function(){var u=this._internalRoot;if(u!==null){this._internalRoot=null;var B=u.containerInfo;MG(function(){Bs(null,u,null,null)}),B[qf]=null}};Es.prototype.unstable_scheduleHydration=function(u){if(u){var B=hwu();u={blockedOn:null,target:u,priority:B};for(var E=0;E<aZ.length&&B!==0&&B<aZ[E].priority;E++);aZ.splice(E,0,u),E===0&&awu(u)}};Nwu=function(u){switch(u.tag){case 3:var B=u.stateNode;if(B.current.memoizedState.isDehydrated){var E=TI(B.pendingLanes);E!==0&&(KK0(B,E|1),n8(B,w2()),(P1&6)===0&&(Kv=w2()+500,BJ()))}break;case 13:MG(function(){var A=lf(u,1);if(A!==null){var C=sB();VD(A,u,1,C)}}),nK0(u,1)}};wK0=function(u){if(u.tag===13){var B=lf(u,134217728);if(B!==null){var E=sB();VD(B,u,134217728,E)}nK0(u,134217728)}};Vwu=function(u){if(u.tag===13){var B=dZ(u),E=lf(u,B);if(E!==null){var A=sB();VD(E,u,B,A)}nK0(u,B)}};hwu=function(){return M6};iwu=function(u,B){var E=M6;try{return M6=u,B()}finally{M6=E}};WJ0=function(u,B,E){switch(B){case"input":if(HJ0(u,E),B=E.name,E.type==="radio"&&B!=null){for(E=u;E.parentNode;)E=E.parentNode;E=E.querySelectorAll("input[name="+JSON.stringify(""+B)+'][type="radio"]');for(B=0;B<E.length;B++){var A=E[B];if(A!==u&&A.form===u.form){var C=nd(A);if(!C)throw Error(A4(90));Kwu(A),HJ0(A,C)}}}break;case"textarea":Qwu(u,E);break;case"select":B=E.value,B!=null&&Av(u,!!E.multiple,B,!1)}};vwu=rK0;xwu=MG;CF3={usingClientEntryPoint:!1,Events:[fP,sX,nd,Lwu,Xwu,rK0]},SI={findFiberByHostInstance:EG,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},DF3={bundleType:SI.bundleType,version:SI.version,rendererPackageName:SI.rendererPackageName,rendererConfig:SI.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Xf.ReactCurrentDispatcher,findHostInstanceByFiber:function(u){return u=Ywu(u),u===null?null:u.stateNode},findFiberByHostInstance:SI.findFiberByHostInstance||EF3,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){if(gX=__REACT_DEVTOOLS_GLOBAL_HOOK__,!gX.isDisabled&&gX.supportsFiber)try{gd=gX.inject(DF3),oU=gX}catch(u){}}UGu=CF3,wGu=rK0});var gE=N1((LS1,lGu)=>{HGu();function qGu(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=="function")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(qGu)}catch(u){console.error(u)}}qGu(),lGu.exports=oK0});var mqu=N1((iqu,aqu)=>{(function(){var u=this,B={};if(typeof iqu<"u")aqu.exports=B;else u.fuzzy=B;B.simpleFilter=function(E,A){return A.filter(function(C){return B.test(E,C)})},B.test=function(E,A){return B.match(E,A)!==null},B.match=function(E,A,C){C=C||{};var D=0,F=[],U=A.length,z=0,k=0,f=C.pre||"",M=C.post||"",b=C.caseSensitive&&A||A.toLowerCase(),Z;E=C.caseSensitive&&E||E.toLowerCase();for(var J=0;J<U;J++){if(Z=A[J],b[J]===E[D])Z=f+Z+M,D+=1,k+=1+k;else k=0;z+=k,F[F.length]=Z}if(D===E.length)return z=b===E?1/0:z,{rendered:F.join(""),score:z};return null},B.filter=function(E,A,C){if(!A||A.length===0)return[];if(typeof E!=="string")return A;return C=C||{},A.reduce(function(D,F,U,z){var k=F;if(C.extract)k=C.extract(F);var f=B.match(E,k,C);if(f!=null)D[D.length]={string:f.rendered,score:f.score,index:U,original:F};return D},[]).sort(function(D,F){var U=F.score-D.score;if(U)return U;return D.index-F.index})}})()});var rqu=N1((Ez3)=>{var yD=Eu(Hu());function pU3(u,B){return u===B&&(u!==0||1/u===1/B)||u!==u&&B!==B}var nU3=typeof Object.is==="function"?Object.is:pU3,dU3=yD.useState,sU3=yD.useEffect,oU3=yD.useLayoutEffect,tU3=yD.useDebugValue;function eU3(u,B){var E=B(),A=dU3({inst:{value:E,getSnapshot:B}}),C=A[0].inst,D=A[1];return oU3(function(){C.value=E,C.getSnapshot=B,iw0(C)&&D({inst:C})},[u,E,B]),sU3(function(){return iw0(C)&&D({inst:C}),u(function(){iw0(C)&&D({inst:C})})},[u]),tU3(E),E}function iw0(u){var B=u.getSnapshot;u=u.value;try{var E=B();return!nU3(u,E)}catch(A){return!0}}function uz3(u,B){return B()}var Bz3=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?uz3:eU3;Ez3.useSyncExternalStore=yD.useSyncExternalStore!==void 0?yD.useSyncExternalStore:Bz3});var gqu=N1((bz3)=>{var zJ=Eu(Hu()),Cz3=rqu();function Dz3(u,B){return u===B&&(u!==0||1/u===1/B)||u!==u&&B!==B}var Fz3=typeof Object.is==="function"?Object.is:Dz3,Uz3=Cz3.useSyncExternalStore,zz3=zJ.useRef,kz3=zJ.useEffect,fz3=zJ.useMemo,Mz3=zJ.useDebugValue;bz3.useSyncExternalStoreWithSelector=function(u,B,E,A,C){var D=zz3(null);if(D.current===null){var F={hasValue:!1,value:null};D.current=F}else F=D.current;D=fz3(function(){function z(Z){if(!k){if(k=!0,f=Z,Z=A(Z),C!==void 0&&F.hasValue){var J=F.value;if(C(J,Z))return M=J}return M=Z}if(J=M,Fz3(f,Z))return J;var K=A(Z);if(C!==void 0&&C(J,K))return f=Z,J;return f=Z,M=K}var k=!1,f,M,b=E===void 0?null:E;return[function(){return z(B())},b===null?void 0:function(){return z(b())}]},[B,E,A,C]);var U=Uz3(u,D[0],D[1]);return kz3(function(){F.hasValue=!0,F.value=U},[U]),Mz3(U),U}});var Tlu=N1((eO1,Rlu)=>{var Qk3="Expected a function",Slu=NaN,Gk3="[object Symbol]",Hk3=/^\s+|\s+$/g,qk3=/^[-+]0x[0-9a-f]+$/i,lk3=/^0b[01]+$/i,Lk3=/^0o[0-7]+$/i,Xk3=parseInt,vk3=typeof global=="object"&&global&&global.Object===Object&&global,xk3=typeof self=="object"&&self&&self.Object===Object&&self,Wk3=vk3||xk3||Function("return this")(),Sk3=Object.prototype,Yk3=Sk3.toString,Rk3=Math.max,Tk3=Math.min,CQ0=function(){return Wk3.Date.now()};function Ok3(u,B,E){var A,C,D,F,U,z,k=0,f=!1,M=!1,b=!0;if(typeof u!="function")throw TypeError(Qk3);if(B=Ylu(B)||0,DQ0(E))f=!!E.leading,M="maxWait"in E,D=M?Rk3(Ylu(E.maxWait)||0,B):D,b="trailing"in E?!!E.trailing:b;function Z(L){var v=A,x=C;return A=C=void 0,k=L,F=u.apply(x,v),F}function J(L){return k=L,U=setTimeout(Q,B),f?Z(L):F}function K(L){var v=L-z,x=L-k,S=B-v;return M?Tk3(S,D-x):S}function w(L){var v=L-z,x=L-k;return z===void 0||v>=B||v<0||M&&x>=D}function Q(){var L=CQ0();if(w(L))return G(L);U=setTimeout(Q,K(L))}function G(L){if(U=void 0,b&&A)return Z(L);return A=C=void 0,F}function H(){if(U!==void 0)clearTimeout(U);k=0,A=z=C=U=void 0}function l(){return U===void 0?F:G(CQ0())}function q(){var L=CQ0(),v=w(L);if(A=arguments,C=this,z=L,v){if(U===void 0)return J(z);if(M)return U=setTimeout(Q,B),Z(z)}if(U===void 0)U=setTimeout(Q,B);return F}return q.cancel=H,q.flush=l,q}function DQ0(u){var B=typeof u;return!!u&&(B=="object"||B=="function")}function Ik3(u){return!!u&&typeof u=="object"}function Pk3(u){return typeof u=="symbol"||Ik3(u)&&Yk3.call(u)==Gk3}function Ylu(u){if(typeof u=="number")return u;if(Pk3(u))return Slu;if(DQ0(u)){var B=typeof u.valueOf=="function"?u.valueOf():u;u=DQ0(B)?B+"":B}if(typeof u!="string")return u===0?u:+u;u=u.replace(Hk3,"");var E=lk3.test(u);return E||Lk3.test(u)?Xk3(u.slice(2),E?2:8):qk3.test(u)?Slu:+u}Rlu.exports=Ok3});var ULu={};ju(ULu,{welcomeScreen:()=>ALu,toolBar:()=>alu,toast:()=>BLu,stats:()=>uLu,roomDialog:()=>glu,publishSuccessDialog:()=>slu,publishDialog:()=>dlu,overwriteConfirm:()=>DLu,mermaid:()=>FLu,library:()=>Nlu,labels:()=>jlu,imageExportDialog:()=>tlu,hints:()=>$lu,helpDialog:()=>plu,headings:()=>mlu,exportDialog:()=>_lu,errors:()=>ilu,errorSplash:()=>rlu,errorDialog:()=>clu,encrypted:()=>elu,default:()=>mk3,confirmDialog:()=>olu,colors:()=>ELu,colorPicker:()=>CLu,clearCanvasDialog:()=>nlu,canvasError:()=>ylu,buttons:()=>Vlu,alerts:()=>hlu});var jlu,Nlu,Vlu,hlu,ilu,alu,mlu,$lu,ylu,rlu,glu,clu,_lu,plu,nlu,dlu,slu,olu,tlu,elu,uLu,BLu,ELu,ALu,CLu,DLu,FLu,mk3;var zLu=g(()=>{m4();jlu={paste:"لصق",pasteAsPlaintext:"اللصق كنص عادي",pasteCharts:"لصق الرسوم البيانية",selectAll:"تحديد الكل",multiSelect:"إضافة عنصر للتحديد",moveCanvas:"نقل لوح الرسم",cut:"قص",copy:"نسخ",copyAsPng:"نسخ إلى الحافظة بصيغة PNG",copyAsSvg:"نسخ إلى الحافظة بصيغة SVG",copyText:"نسخ إلى الحافظة كنص",copySource:"",convertToCode:"",bringForward:"جلب للأمام",sendToBack:"أرسل للخلف",bringToFront:"أحضر للأمام",sendBackward:"أرسل للخلف",delete:"حذف",copyStyles:"نسخ الأنماط",pasteStyles:"لصق الأنماط",stroke:"الخط",background:"الخلفية",fill:"التعبئة",strokeWidth:"سُمك الخط",strokeStyle:"نمط الخط",strokeStyle_solid:"متصل",strokeStyle_dashed:"متقطع",strokeStyle_dotted:"منقط",sloppiness:"الإمالة",opacity:"الشفافية",textAlign:"محاذاة النص",edges:"الحواف",sharp:"حادة",round:"دائرية",arrowheads:"رؤوس الأسهم",arrowhead_none:"لا شيء",arrowhead_arrow:"سهم",arrowhead_bar:"شريط",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"مثلث",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"حجم الخط",fontFamily:"نوع الخط",addWatermark:'إضافة "مصنوعة بواسطة Excalidraw"',handDrawn:"رسم باليد",normal:"عادي",code:"رمز",small:"صغير",medium:"متوسط",large:"كبير",veryLarge:"كبير جدا",solid:"كامل",hachure:"خطوط",zigzag:"متعرج",crossHatch:"خطوط متقطعة",thin:"نحيف",bold:"داكن",left:"الـيسار",center:"وسط",right:"يمين",extraBold:"عريض",architect:"معماري",artist:"رسام",cartoonist:"كرتوني",fileTitle:"إسم الملف",colorPicker:"منتقي اللون",canvasColors:"تستخدم على القماش",canvasBackground:"خلفية اللوحة",drawingCanvas:"لوحة الرسم",layers:"الطبقات",actions:"الإجراءات",language:"اللغة",liveCollaboration:"التعاون المباشر...",duplicateSelection:"تكرار",untitled:"غير معنون",name:"الاسم",yourName:"اسمك",madeWithExcalidraw:"مصنوعة بواسطة Excalidraw",group:"تحديد مجموعة",ungroup:"إلغاء تحديد مجموعة",collaborators:"المتعاونون",showGrid:"إظهار الشبكة",addToLibrary:"أضف إلى المكتبة",removeFromLibrary:"حذف من المكتبة",libraryLoadingMessage:"جارٍ تحميل المكتبة…",libraries:"تصفح المكتبات",loadingScene:"جاري تحميل المشهد…",align:"محاذاة",alignTop:"محاذاة إلى اﻷعلى",alignBottom:"محاذاة إلى اﻷسفل",alignLeft:"محاذاة إلى اليسار",alignRight:"محاذاة إلى اليمين",centerVertically:"توسيط عمودي",centerHorizontally:"توسيط أفقي",distributeHorizontally:"التوزيع الأفقي",distributeVertically:"التوزيع عمودياً",flipHorizontal:"قلب عامودي",flipVertical:"قلب أفقي",viewMode:"نمط العرض",share:"مشاركة",showStroke:"إظهار منتقي لون الخط",showBackground:"إظهار منتقي لون الخلفية",toggleTheme:"غير النمط",personalLib:"المكتبة الشخصية",excalidrawLib:"مكتبتنا",decreaseFontSize:"تصغير حجم الخط",increaseFontSize:"تكبير حجم الخط",unbindText:"فك ربط النص",bindText:"ربط النص بالحاوية",createContainerFromText:"نص مغلف في حاوية",link:{edit:"تعديل الرابط",editEmbed:"تحرير الرابط وإدراجه",create:"إنشاء رابط",createEmbed:"إنشاء رابط و إدراجه",label:"رابط",labelEmbed:"رابط و إدراج",empty:"لم يتم تعيين رابط"},lineEditor:{edit:"تحرير السطر",exit:"الخروج من المُحرر"},elementLock:{lock:"قفل",unlock:"فتح",lockAll:"قفل الكل",unlockAll:"فتح الكل"},statusPublished:"نُشر",sidebarLock:"إبقاء الشريط الجانبي مفتوح",selectAllElementsInFrame:"تحديد جميع العناصر في الإطار",removeAllElementsFromFrame:"إزالة جميع العناصر من الإطار",eyeDropper:"اختيار اللون من القماش",textToDiagram:"",prompt:""},Nlu={noItems:"لا توجد عناصر أضيفت بعد...",hint_emptyLibrary:"حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.",hint_emptyPrivateLibrary:"حدد عنصر على القماش لإضافته هنا."},Vlu={clearReset:"إعادة تعيين اللوحة",exportJSON:"صدر الملف",exportImage:"تصدير الصورة...",export:"حفظ إلى...",copyToClipboard:"نسخ إلى الحافظة",save:"احفظ للملف الحالي",saveAs:"حفظ كـ",load:"فتح",getShareableLink:"احصل على رابط المشاركة",close:"غلق",selectLanguage:"اختر اللغة",scrollBackToContent:"الرجوع إلى المحتوى",zoomIn:"تكبير",zoomOut:"تصغير",resetZoom:"إعادة تعيين الشاشة",menu:"القائمة",done:"تم",edit:"تعديل",undo:"تراجع",redo:"إعادة تنفيذ",resetLibrary:"إعادة ضبط المكتبة",createNewRoom:"إنشاء غرفة جديدة",fullScreen:"شاشة كاملة",darkMode:"الوضع المظلم",lightMode:"الوضع المضيء",zenMode:"وضع التأمل",objectsSnapMode:"التقط إلى العناصر",exitZenMode:"إلغاء الوضع الليلى",cancel:"إلغاء",clear:"مسح",remove:"إزالة",embed:"تبديل الإدراج",publishLibrary:"انشر",submit:"أرسل",confirm:"تأكيد",embeddableInteractionButton:"اضغط للتفاعل"},hlu={clearReset:"هذا سيُزيل كامل اللوحة. هل أنت متأكد؟",couldNotCreateShareableLink:"تعذر إنشاء رابطة المشاركة.",couldNotCreateShareableLinkTooBig:"تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا",couldNotLoadInvalidFile:"تعذر التحميل، الملف غير صالح",importBackendFailed:"فشل الاستيراد من الخادوم.",cannotExportEmptyCanvas:"لا يمكن تصدير لوحة فارغة.",couldNotCopyToClipboard:"تعذر النسخ إلى الحافظة.",decryptFailed:"تعذر فك تشفير البيانات.",uploadedSecurly:"تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.",loadSceneOverridePrompt:"تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟",collabStopOverridePrompt:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
(إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`,errorAddingToLibrary:"تعذر إضافة العنصر للمكتبة",errorRemovingFromLibrary:"تعذر إزالة العنصر من المكتبة",confirmAddLibrary:"هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟",imageDoesNotContainScene:"يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟",cannotRestoreFromImage:"تعذر استعادة المشهد من ملف الصورة",invalidSceneUrl:"تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.",resetLibrary:"هذا سوف يمسح مكتبتك. هل أنت متأكد؟",removeItemsFromsLibrary:"حذف {{count}} عنصر (عناصر) من المكتبة؟",invalidEncryptionKey:"مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.",collabOfflineWarning:`لا يوجد اتصال بالانترنت.
لن يتم حفظ التغييرات التي قمت بها!`},ilu={unsupportedFileType:"نوع الملف غير مدعوم.",imageInsertError:"تعذر إدراج الصورة. حاول مرة أخرى لاحقاً...",fileTooBig:"الملف كبير جداً. الحد الأقصى المسموح به للحجم هو {{maxSize}}.",svgImageInsertError:"تعذر إدراج صورة SVG. يبدو أن ترميز SVG غير صحيح.",failedToFetchImage:"",invalidSVGString:"SVG غير صالح.",cannotResolveCollabServer:"تعذر الاتصال بخادم التعاون. الرجاء إعادة تحميل الصفحة والمحاولة مرة أخرى.",importLibraryError:"تعذر تحميل المكتبة",collabSaveFailed:"تعذر الحفظ في قاعدة البيانات. إذا استمرت المشاكل، يفضل أن تحفظ ملفك محليا كي لا تفقد عملك.",collabSaveFailed_sizeExceeded:"تعذر الحفظ في قاعدة البيانات، يبدو أن القماش كبير للغاية، يفضّل حفظ الملف محليا كي لا تفقد عملك.",imageToolNotSupported:"",brave_measure_text_error:{line1:"يبدو أنك تستخدم متصفح Brave مع إعداد <bold>حظر صارم لتتبع البصمة</bold>.",line2:"قد يؤدي هذا إلى كسر <bold>عناصر النص</bold> في الرسومات الخاصة بك.",line3:"من المستحسن إلغاء تفعيل هذا الإعداد. يمكنك اتباع <link>هذه الخطوات</link> لفعل ذلك.",line4:"إذا لم يصلح تعطيل هذا الإعداد طريقة عرض النصوص، الرجاء كتابة <issueLink>بلاغ</issueLink> على حسابنا في GitHub، أو راسلنا على <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"لا يمكن إضافة العناصر القابلة للتضمين في المكتبة.",iframe:"",image:"سوف يتم دعم إضافة صور إلى المكتبة قريباً!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},alu={selection:"تحديد",image:"إدراج صورة",rectangle:"مستطيل",diamond:"مضلع",ellipse:"دائرة",arrow:"سهم",line:"خط",freedraw:"رسم",text:"نص",library:"مكتبة",lock:"الحفاظ على أداة التحديد نشطة بعد الرسم",penMode:"وضع القلم - امنع اللمس",link:"إضافة/تحديث الرابط للشكل المحدد",eraser:"ممحاة",frame:"أداة الإطار",magicframe:"",embeddable:"تضمين ويب",laser:"مؤشر ليزر",hand:"يد (أداة الإزاحة)",extraTools:"المزيد من أﻷدوات",mermaidToExcalidraw:"",magicSettings:""},mlu={canvasActions:"إجراءات اللوحة",selectedShapeActions:"إجراءات الشكل المحدد",shapes:"الأشكال"},$lu={canvasPanning:"لتحريك القماش، اضغط على عجلة الفأرة أو مفتاح المسافة أثناء السحب، أو استخدم أداة اليد",linearElement:"انقر لبدء نقاط متعددة، اسحب لخط واحد",freeDraw:"انقر واسحب، افرج عند الانتهاء",text:"نصيحة: يمكنك أيضًا إضافة نص بالنقر المزدوج في أي مكان بأداة الاختيار",embeddable:"اضغط مع السحب لإنشاء موقع ويب مضمّن",text_selected:"انقر نقراً مزدوجاً أو اضغط ادخال لتعديل النص",text_editing:"اضغط على Esc أو (Ctrl أو Cmd) + Enter لإنهاء التعديل",linearElementMulti:"انقر فوق النقطة الأخيرة أو اضغط على Esc أو Enter للإنهاء",lockAngle:"يمكنك تقييد الزاوية بالضغط على SHIFT",resize:`يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،
اضغط على ALT لتغيير الحجم من المركز`,resizeImage:`يمكنك تغيير الحجم بحرية بالضغط بأستمرار على SHIFT،
اضغط بأستمرار على ALT أيضا لتغيير الحجم من المركز`,rotate:"يمكنك تقييد الزوايا من خلال الضغط على SHIFT أثناء الدوران",lineEditor_info:"اضغط على مفتاح (Ctrl أو Cmd) و انقر بشكل مزدوج، أو اضغط على مفتاحي (Ctrl أو Cmd) و (Enter) لتعديل النقاط",lineEditor_pointSelected:"اضغط على حذف لإزالة النقطة (النِّقَاط)، Ctrl/Cmd+D للتكرار، أو اسحب للانتقال",lineEditor_nothingSelected:`اختر نقطة لتعديلها (اضغط على SHIFT لتحديد عدة نِقَاط),
أو اضغط على ALT و انقر بالفأرة لإضافة نِقَاط جديدة`,placeImage:"انقر لوضع الصورة، أو انقر واسحب لتعيين حجمها يدوياً",publishLibrary:"نشر مكتبتك",bindTextToElement:"اضغط على إدخال لإضافة نص",deepBoxSelect:"اضغط على Ctrl\\Cmd للاختيار العميق، ولمنع السحب",eraserRevert:"اضغط على Alt لاستعادة العناصر المعلَّمة للحذف",firefox_clipboard_write:'يمكن على الأرجح تمكين هذه الميزة عن طريق تعيين علم "dom.events.asyncClipboard.clipboardItem" إلى "true". لتغيير أعلام المتصفح في Firefox، قم بزيارة صفحة "about:config".',disableSnapping:"اضغط على Ctrl أو Cmd لتعطيل الالتقاط"},ylu={cannotShowPreview:"تعذر عرض المعاينة",canvasTooBig:"قد تكون اللوحة كبيرة جداً.",canvasTooBigTip:"نصيحة: حاول تحريك العناصر البعيدة بشكل أقرب قليلاً."},rlu={headingMain:"حدث خطأ. حاول <button>تحديث الصفحة</button>.",clearCanvasMessage:"إذا لم تعمل إعادة التحميل، حاول مرة أخرى ",clearCanvasCaveat:" هذا سيؤدي إلى فقدان العمل ",trackedToSentry:"تم تتبع الخطأ في المعرف {{eventId}} على نظامنا.",openIssueMessage:"حرصنا على عدم إضافة معلومات المشهد في بلاغ الخطأ. في حال كون مشهدك لا يحمل أي معلومات خاصة نرجو المتابعة على <button>نظام تتبع الأخطاء</button>. نرجو إضافة المعلومات أدناه بنسخها ولصقها في محتوى البلاغ على GitHub.",sceneContent:"محتوى المشهد:"},glu={desc_intro:"يمكنك دعوة الآخرين لمشاركتك نفس الجلسة التي تعمل عليها.",desc_privacy:"لا تقلق، الجلسة تستخدم التشفير من النهاية إلى النهاية، لذلك فإن أي شيء ترسمه سيبقى خاصاً. لن يتمكن حتى الخادوم الخاص بنا من رؤية ما توصلت إليه.",button_startSession:"بدء الجلسة",button_stopSession:"إيقاف الجلسة",desc_inProgressIntro:"تجري الآن المشاركة الحية.",desc_shareLink:"شارك هذا الرابط مع أي شخص تريده أن يشاركك الجلسة:",desc_exitSession:"إيقاف الجلسة سيؤدي إلى قطع الاتصال الخاص بك من الغرفة، ولكن ستتمكن من مواصلة العمل مع المشهد، محليا. لاحظ أن هذا لن يؤثر على الأشخاص الآخرين، و سيظلون قادرين على التعاون في إصدارهم.",shareTitle:"الانضمام إلى جلسة تعاون حية على Excalidraw"},clu={title:"خطأ"},_lu={disk_title:"حفظ الملف للجهاز",disk_details:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً.",disk_button:"إحفظ لملف",link_title:"رابط قابل للمشاركة",link_details:"صدر الملف للمشاهدة فقط.",link_button:"التصدير كرابط",excalidrawplus_description:"حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك.",excalidrawplus_button:"تصدير",excalidrawplus_exportError:"تعذر التصدير إلى +Excalidraw في الوقت الحالي..."},plu={blog:"اقرأ مدونتنا",click:"انقر",deepSelect:"تحديد عميق",deepBoxSelect:"تحديد عميق داخل المربع، ومنع السحب",curvedArrow:"سهم مائل",curvedLine:"خط مائل",documentation:"دليل الاستخدام",doubleClick:"انقر مرتين",drag:"اسحب",editor:"المحرر",editLineArrowPoints:"تحرير سطر/نقاط سهم",editText:"تعديل النص / إضافة تسمية",github:"عثرت على مشكلة؟ إرسال",howto:"اتبع التعليمات",or:"أو",preventBinding:"منع ارتبط السهم",tools:"الأدوات",shortcuts:"اختصارات لوحة المفاتيح",textFinish:"إنهاء التعديل (محرر النص)",textNewLine:"أضف سطر جديد (محرر نص)",title:"المساعدة",view:"عرض",zoomToFit:"تكبير للملائمة",zoomToSelection:"تكبير للعنصر المحدد",toggleElementLock:"إغلاق/فتح المحدد",movePageUpDown:"نقل الصفحة أعلى/أسفل",movePageLeftRight:"نقل الصفحة يسار/يمين"},nlu={title:"مسح اللوحة"},dlu={title:"نشر المكتبة",itemName:"إسم العنصر",authorName:"إسم المؤلف",githubUsername:"اسم المستخدم في جيت هب",twitterUsername:"اسم المستخدم في تويتر",libraryName:"اسم المكتبة",libraryDesc:"وصف المكتبة",website:"الموقع",placeholder:{authorName:"اسمك أو اسم المستخدم",libraryName:"اسم مكتبتك",libraryDesc:"وصف مكتبتك لمساعدة الناس على فهم استخدامها",githubHandle:"معالج GitHub (اختياري)، حتى تتمكن من تحرير المكتبة عند إرسالها للمراجعة",twitterHandle:"اسم مستخدم تويتر (اختياري)، حتى نعرف من الذي سيتم الإشارة إليه عند الترويج عبر تويتر",website:"رابط إلى موقعك الشخصي أو في مكان آخر (اختياري)"},errors:{required:"مطلوب",website:"أدخل عنوان URL صالح"},noteDescription:"تقديم مكتبتك لتضمينها في مستودع المكتبة العامة <link></link> لأشخاص آخرين لاستخدامها في رسومهم.",noteGuidelines:"تحتاج المكتبة إلى الموافقة أولا. يرجى قراءة <link>المعايير</link> قبل تقديمها. سوف تحتاج إلى حساب GitHub للتواصل وإجراء التغييرات عند الطلب، ولكن ليس مطلوبا بشكل صارم.",noteLicense:"تقديمك يعني موافقتك على نشر المكتبة المقدمة تحت <link>MIT ترخيص</link>، ما يعني أن لأي أحد الحق في استخدامها دون قيود.",noteItems:"يجب أن يكون لكل عنصر مكتبة اسمه الخاص حتى يكون قابلاً للتصفية. سيتم تضمين عناصر المكتبة التالية:",atleastOneLibItem:"يرجى تحديد عنصر مكتبة واحد على الأقل للبدء",republishWarning:"ملاحظة: بعض العناصر المحددة معينة على أنه نشرها أو تقديمها من قبل. يجب عليك فقط إعادة إرسال العناصر عند تحديث مكتبة موجودة أو إرسالها."},slu={title:"تم إرسال المكتبة",content:"شكرا لك {{authorName}}. لقد تم إرسال مكتبتك للمراجعة. يمكنك تتبع الحالة"},olu={resetLibrary:"إعادة ضبط المكتبة",removeItemsFromLib:"إزالة العناصر المحددة من المكتبة"},tlu={header:"تصدير الصورة",label:{withBackground:"الخلفية",onlySelected:"المحدد فقط",darkMode:"الوضع الداكن",embedScene:"تضمين المشهد",scale:"الحجم",padding:"الهوامش"},tooltip:{embedScene:`سيتم حفظ بيانات المشهد في ملف PNG/SVG المصدّر بحيث يمكن استعادة المشهد منه.
سيزيد حجم الملف المصدر.`},title:{exportToPng:"تصدير بصيغة PNG",exportToSvg:"تصدير بصيغة SVG",copyPngToClipboard:"نسخ الـ PNG إلى الحافظة"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"نسخ إلى الحافظة"}},elu={tooltip:"رسوماتك مشفرة من النهاية إلى النهاية حتى أن خوادم Excalidraw لن تراها أبدا.",link:"مشاركة المدونة في التشفير من النهاية إلى النهاية في Excalidraw"},uLu={angle:"الزاوية",element:"عنصر",elements:"العناصر",height:"الارتفاع",scene:"المشهد",selected:"المحدد",storage:"التخزين",title:"إحصائيات للمهووسين",total:"المجموع",version:"الإصدار",versionCopy:"انقر للنسخ",versionNotAvailable:"الإصدار غير متوفر",width:"العرض"},BLu={addedToLibrary:"تمت الاضافة الى المكتبة!",copyStyles:"نسخت الانماط.",copyToClipboard:"نسخ إلى الحافظة.",copyToClipboardAsPng:`تم نسخ {{exportSelection}} إلى الحافظة بصيغة PNG
({{exportColorScheme}})`,fileSaved:"تم حفظ الملف.",fileSavedToFilename:"حفظ باسم {filename}",canvas:"لوحة الرسم",selection:"العنصر المحدد",pasteAsSingleElement:`استخدم {{shortcut}} للصق كعنصر واحد،
أو لصق في محرر نص موجود`,unableToEmbed:"تضمين هذا الرابط غير مسموح حاليًا. افتح بلاغاً على GitHub لطلب عنوان Url القائمة البيضاء",unrecognizedLinkFormat:"الرابط الذي ضمنته لا يتطابق مع التنسيق المتوقع. الرجاء محاولة لصق النص 'المضمن' المُزوَد من موقع المصدر"},ELu={transparent:"شفاف",black:"أسود",white:"أبيض",red:"أحمر",pink:"وردي",grape:"عنبي",violet:"بنفسجي",gray:"رمادي",blue:"أزرق",cyan:"سماوي",teal:"أزرق مخضر",green:"أخضر",yellow:"أصفر",orange:"برتقالي",bronze:"برونزي"},ALu={app:{center_heading:"جميع بياناتك محفوظة محليا في المتصفح الخاص بك.",center_heading_plus:"هل تريد الذهاب إلى Excalidraw+ بدلاً من ذلك؟",menuHint:"التصدير والتفضيلات واللغات ..."},defaults:{menuHint:"التصدير والتفضيلات وغيرها...",center_heading:"الرسم البياني التصويري. بشكل مبسط.",toolbarHint:"اختر أداة و ابدأ الرسم!",helpHint:"الاختصارات و المساعدة"}},CLu={mostUsedCustomColors:"الألوان المخصصة الأكثر استخداما",colors:"الألوان",shades:"الدرجات",hexCode:"رمز Hex",noShades:"لا تتوفر درجات لهذا اللون"},DLu={action:{exportToImage:{title:"تصدير كصورة",button:"تصدير كصورة",description:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً."},saveToDisk:{title:"حفظ الملف للجهاز",button:"حفظ الملف للجهاز",description:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً."},excalidrawPlus:{title:"Excalidraw+",button:"تصدير إلى Excalidraw+",description:"حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك."}},modal:{loadFromFile:{title:"تحميل من ملف",button:"تحميل من ملف",description:"سيتم التحميل من الملف <bold>استبدال المحتوى الموجود</bold>.<br></br>يمكنك النسخ الاحتياطي لرسمك أولاً باستخدام أحد الخيارات أدناه."},shareableLink:{title:"تحميل من رابط",button:"استبدال محتواي",description:"سيتسبب تحميل رسمة خارجية <bold>باستبدال محتواك الموجود حالياً</bold>.<br></br>بإمكانك إجراء النسخ الاحتياطي لرسمتك الحالية باستخدام أحد الخيارات أدناه."}}},FLu={title:"",button:"",description:"",syntax:"",preview:""},mk3={labels:jlu,library:Nlu,buttons:Vlu,alerts:hlu,errors:ilu,toolBar:alu,headings:mlu,hints:$lu,canvasError:ylu,errorSplash:rlu,roomDialog:glu,errorDialog:clu,exportDialog:_lu,helpDialog:plu,clearCanvasDialog:nlu,publishDialog:dlu,publishSuccessDialog:slu,confirmDialog:olu,imageExportDialog:tlu,encrypted:elu,stats:uLu,toast:BLu,colors:ELu,welcomeScreen:ALu,colorPicker:CLu,overwriteConfirm:DLu,mermaid:FLu}});var VLu={};ju(VLu,{welcomeScreen:()=>ILu,toolBar:()=>JLu,toast:()=>TLu,stats:()=>RLu,roomDialog:()=>HLu,publishSuccessDialog:()=>xLu,publishDialog:()=>vLu,overwriteConfirm:()=>jLu,mermaid:()=>NLu,library:()=>fLu,labels:()=>kLu,imageExportDialog:()=>SLu,hints:()=>wLu,helpDialog:()=>LLu,headings:()=>KLu,exportDialog:()=>lLu,errors:()=>ZLu,errorSplash:()=>GLu,errorDialog:()=>qLu,encrypted:()=>YLu,default:()=>$k3,confirmDialog:()=>WLu,colors:()=>OLu,colorPicker:()=>PLu,clearCanvasDialog:()=>XLu,canvasError:()=>QLu,buttons:()=>MLu,alerts:()=>bLu});var kLu,fLu,MLu,bLu,ZLu,JLu,KLu,wLu,QLu,GLu,HLu,qLu,lLu,LLu,XLu,vLu,xLu,WLu,SLu,YLu,RLu,TLu,OLu,ILu,PLu,jLu,NLu,$k3;var hLu=g(()=>{m4();kLu={paste:"Yapışdır",pasteAsPlaintext:"Düz mətn kimi yapışdırın",pasteCharts:"Diaqramları yapışdırın",selectAll:"Hamısını seç",multiSelect:"Seçimə element əlavə edin",moveCanvas:"Kanvası köçürün",cut:"Kəs",copy:"Kopyala",copyAsPng:"PNG olaraq panoya kopyala",copyAsSvg:"SVG olaraq panoya kopyala",copyText:"Mətn olaraq panoya kopyala",copySource:"",convertToCode:"",bringForward:"Önə daşı",sendToBack:"Geriyə göndərin",bringToFront:"Önə gətirin",sendBackward:"Geriyə göndərin",delete:"Sil",copyStyles:"Stilləri kopyalayın",pasteStyles:"Stilləri yapışdırın",stroke:"Strok rəngi",background:"Arxa fon",fill:"Doldur",strokeWidth:"Strok eni",strokeStyle:"Strok stili",strokeStyle_solid:"Solid",strokeStyle_dashed:"Kəsik",strokeStyle_dotted:"Nöqtəli",sloppiness:"Səliqəsizlik",opacity:"Şəffaflıq",textAlign:"Mətni uyğunlaşdır",edges:"Kənarlar",sharp:"Kəskin",round:"Dəyirmi",arrowheads:"Ox ucları",arrowhead_none:"Heç biri",arrowhead_arrow:"Ox",arrowhead_bar:"Çubuq",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Üçbucaq",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Şrift ölçüsü",fontFamily:"Şrift qrupu",addWatermark:'"Made with Excalidraw" əlavə et',handDrawn:"Əllə çəkilmiş",normal:"Normal",code:"Kod",small:"Kiçik",medium:"Orta",large:"Böyük",veryLarge:"Çox böyük",solid:"Solid",hachure:"Ştrix",zigzag:"Ziqzaq",crossHatch:"Çarpaz dəlik",thin:"İncə",bold:"Qalın",left:"Sol",center:"Mərkəz",right:"Sağ",extraBold:"Ekstra qalın",architect:"Memar",artist:"Rəssam",cartoonist:"Karikaturaçı",fileTitle:"Fayl adı",colorPicker:"Rəng seçən",canvasColors:"Kanvas üzərində istifadə olunur",canvasBackground:"Kanvas arxa fonu",drawingCanvas:"Kanvas çəkmək",layers:"Qatlar",actions:"Hərəkətlər",language:"Dil",liveCollaboration:"Canlı əməkdaşlıq...",duplicateSelection:"Dublikat",untitled:"Başlıqsız",name:"Ad",yourName:"Adınız",madeWithExcalidraw:"Excalidraw ilə hazırlanmışdır",group:"Qrup şəklində seçim",ungroup:"Qrupsuz seçim",collaborators:"",showGrid:"",addToLibrary:"",removeFromLibrary:"",libraryLoadingMessage:"",libraries:"",loadingScene:"",align:"",alignTop:"",alignBottom:"",alignLeft:"",alignRight:"",centerVertically:"",centerHorizontally:"",distributeHorizontally:"",distributeVertically:"",flipHorizontal:"",flipVertical:"",viewMode:"",share:"",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"",editEmbed:"",create:"",createEmbed:"",label:"",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},fLu={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},MLu={clearReset:"",exportJSON:"",exportImage:"",export:"",copyToClipboard:"",save:"",saveAs:"",load:"",getShareableLink:"",close:"",selectLanguage:"",scrollBackToContent:"",zoomIn:"",zoomOut:"",resetZoom:"",menu:"",done:"",edit:"",undo:"",redo:"",resetLibrary:"",createNewRoom:"",fullScreen:"",darkMode:"",lightMode:"",zenMode:"",objectsSnapMode:"",exitZenMode:"",cancel:"",clear:"",remove:"",embed:"",publishLibrary:"",submit:"",confirm:"",embeddableInteractionButton:""},bLu={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},ZLu={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},JLu={selection:"",image:"",rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},KLu={canvasActions:"",selectedShapeActions:"",shapes:""},wLu={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},QLu={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},GLu={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},HLu={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},qLu={title:""},lLu={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},LLu={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},XLu={title:""},vLu={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},xLu={title:"",content:""},WLu={resetLibrary:"",removeItemsFromLib:""},SLu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},YLu={tooltip:"",link:""},RLu={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},TLu={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},OLu={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},ILu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},PLu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},jLu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},NLu={title:"",button:"",description:"",syntax:"",preview:""},$k3={labels:kLu,library:fLu,buttons:MLu,alerts:bLu,errors:ZLu,toolBar:JLu,headings:KLu,hints:wLu,canvasError:QLu,errorSplash:GLu,roomDialog:HLu,errorDialog:qLu,exportDialog:lLu,helpDialog:LLu,clearCanvasDialog:XLu,publishDialog:vLu,publishSuccessDialog:xLu,confirmDialog:WLu,imageExportDialog:SLu,encrypted:YLu,stats:RLu,toast:TLu,colors:OLu,welcomeScreen:ILu,colorPicker:PLu,overwriteConfirm:jLu,mermaid:NLu}});var MXu={};ju(MXu,{welcomeScreen:()=>UXu,toolBar:()=>rLu,toast:()=>DXu,stats:()=>CXu,roomDialog:()=>nLu,publishSuccessDialog:()=>uXu,publishDialog:()=>eLu,overwriteConfirm:()=>kXu,mermaid:()=>fXu,library:()=>aLu,labels:()=>iLu,imageExportDialog:()=>EXu,hints:()=>cLu,helpDialog:()=>oLu,headings:()=>gLu,exportDialog:()=>sLu,errors:()=>yLu,errorSplash:()=>pLu,errorDialog:()=>dLu,encrypted:()=>AXu,default:()=>yk3,confirmDialog:()=>BXu,colors:()=>FXu,colorPicker:()=>zXu,clearCanvasDialog:()=>tLu,canvasError:()=>_Lu,buttons:()=>mLu,alerts:()=>$Lu});var iLu,aLu,mLu,$Lu,yLu,rLu,gLu,cLu,_Lu,pLu,nLu,dLu,sLu,oLu,tLu,eLu,uXu,BXu,EXu,AXu,CXu,DXu,FXu,UXu,zXu,kXu,fXu,yk3;var bXu=g(()=>{m4();iLu={paste:"Постави",pasteAsPlaintext:"Постави като обикновен текст",pasteCharts:"Постави графики",selectAll:"Маркирай всичко",multiSelect:"Добави елемент към селекция",moveCanvas:"Премести платно",cut:"Изрежи",copy:"Копирай",copyAsPng:"Копиране в клипборда",copyAsSvg:"Копирано в клипборда като SVG",copyText:"",copySource:"",convertToCode:"",bringForward:"Преместване напред",sendToBack:"Изнасяне назад",bringToFront:"Изнасяне отпред",sendBackward:"Изпрати отзад",delete:"Изтрий",copyStyles:"Копирайте стилове",pasteStyles:"Постави стилове",stroke:"Щрих",background:"Фон",fill:"Наситеност",strokeWidth:"Ширина на щриха",strokeStyle:"Стил на линия",strokeStyle_solid:"Плътен",strokeStyle_dashed:"Пунктир",strokeStyle_dotted:"Пунктирано",sloppiness:"Небрежност",opacity:"Прозрачност",textAlign:"Подравняване на текста",edges:"Крайща",sharp:"Остър",round:"Закръглено",arrowheads:"Стрелки",arrowhead_none:"Без",arrowhead_arrow:"Стрелка",arrowhead_bar:"Връх на стрелката",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Триъгълник",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Размер на шрифта",fontFamily:"Семейство шрифтове",addWatermark:'Добави "Направено с Excalidraw"',handDrawn:"Нарисувано на ръка",normal:"Нормален",code:"Код",small:"Малък",medium:"Среден",large:"Голям",veryLarge:"Много голям",solid:"Солиден",hachure:"Хералдика",zigzag:"Зигзаг",crossHatch:"Двойно-пресечено",thin:"Тънък",bold:"Ясно очертан",left:"Ляво",center:"Център",right:"Дясно",extraBold:"Много ясно очертан",architect:"Архитект",artist:"Художник",cartoonist:"Карикатурист",fileTitle:"Име на файл",colorPicker:"Избор на цвят",canvasColors:"Използван на платно",canvasBackground:"Фон на платно",drawingCanvas:"Платно за рисуване",layers:"Слоеве",actions:"Действия",language:"Език",liveCollaboration:"",duplicateSelection:"Дублирай",untitled:"Неозаглавено",name:"Име",yourName:"Вашето име",madeWithExcalidraw:"Направено с Excalidraw",group:"Групирай селекцията",ungroup:"Спри групирането на селекцията",collaborators:"Сътрудници",showGrid:"Показване на мрежа",addToLibrary:"Добавяне към библиотеката",removeFromLibrary:"Премахване от библиотеката",libraryLoadingMessage:"Зареждане на библиотеката…",libraries:"Разглеждане на библиотеките",loadingScene:"Зареждане на сцена…",align:"Подравняване",alignTop:"Подравняване отгоре",alignBottom:"Подравняване отдолу",alignLeft:"Подравняване отляво",alignRight:"Подравняване отдясно",centerVertically:"Центрирай вертикално",centerHorizontally:"Центрирай хоризонтално",distributeHorizontally:"Разпредели хоризонтално",distributeVertically:"Разпредели вертикално",flipHorizontal:"Хоризонтално обръщане",flipVertical:"Вертикално обръщане",viewMode:"Изглед",share:"Сподели",showStroke:"",showBackground:"",toggleTheme:"Включи тема",personalLib:"Лична Библиотека",excalidrawLib:"Excalidraw Библиотека",decreaseFontSize:"Намали размера на шрифта",increaseFontSize:"Увеличи размера на шрифта",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"Редактирай линк",editEmbed:"",create:"",createEmbed:"",label:"Линк",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"Заключи",unlock:"Отключи",lockAll:"Заключи всички",unlockAll:"Отключи всички"},statusPublished:"Публикувани",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"Избери цвят от платното",textToDiagram:"",prompt:""},aLu={noItems:"Няма добавени неща все още...",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},mLu={clearReset:"Нулиране на платно",exportJSON:"",exportImage:"",export:"Запази на...",copyToClipboard:"Копиране в клипборда",save:"Запази към текущ файл",saveAs:"Запиши като",load:"Отвори",getShareableLink:"Получаване на връзка за споделяне",close:"Затвори",selectLanguage:"Избор на език",scrollBackToContent:"Превъртете обратно към съдържанието",zoomIn:"Приближаване",zoomOut:"Отдалечаване",resetZoom:"Стандартен мащаб",menu:"Меню",done:"Завършено",edit:"Редактиране",undo:"Отмяна",redo:"Повтори",resetLibrary:"Нулиране на библиотеката",createNewRoom:"Създай нова стая",fullScreen:"На цял екран",darkMode:"Тъмен режим",lightMode:"Светъл режим",zenMode:"Режим Zen",objectsSnapMode:"",exitZenMode:"Спиране на Zen режим",cancel:"Отмени",clear:"Изчисти",remove:"Премахване",embed:"",publishLibrary:"Публикувай",submit:"Изпрати",confirm:"Потвърждаване",embeddableInteractionButton:""},$Lu={clearReset:"Това ще изчисти цялото платно. Сигурни ли сте?",couldNotCreateShareableLink:"Връзката не може да бъде създадена.",couldNotCreateShareableLinkTooBig:"Не може да се създаде връзка за споделяне: сцената е твърде голяма",couldNotLoadInvalidFile:"Невалиден файл не може да се зареди",importBackendFailed:"Импортирането от бекенд не беше успешно.",cannotExportEmptyCanvas:"Не може да се експортира празно платно.",couldNotCopyToClipboard:"Не можем да копираме в клипбоарда.",decryptFailed:"Данните не можаха да се дешифрират.",uploadedSecurly:"Качването е защитено с криптиране от край до край, което означава, че сървърът Excalidraw и трети страни не могат да четат съдържанието.",loadSceneOverridePrompt:"Зареждането на външна рисунка ще презапише настоящото ви съдържание. Желаете ли да продължите?",collabStopOverridePrompt:`Прекратяването на сесията ще презапише предишната, локално запазена, рисунка. Сигурни ли сте?
(Ако искате да продължите с локалната рисунка, просто затворете таба на браузъра.)`,errorAddingToLibrary:"Не можем да заредим от библиотеката",errorRemovingFromLibrary:"Не можем да премахнем елемент от библиотеката",confirmAddLibrary:"Ще се добавят {{numShapes}} фигура(и) във вашата библиотека. Сигурни ли сте?",imageDoesNotContainScene:"",cannotRestoreFromImage:"Не може да бъде възстановена сцена от този файл",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"Изтрий {{count}} елемент(а) от библиотеката?",invalidEncryptionKey:"",collabOfflineWarning:""},yLu={unsupportedFileType:"Този файлов формат не се поддържа.",imageInsertError:"",fileTooBig:"Файлът е твърде голям. Максималния допустим размер е {{maxSize}}.",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"Невалиден SVG.",cannotResolveCollabServer:"",importLibraryError:"Не можем да заредим библиотеката",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"Силно препоръчваме да изключите тази настройка. Можете да следвате <link>тези стъпки</link> за това как да го направите.",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},rLu={selection:"Селекция",image:"Вмъкване на изображение",rectangle:"Правоъгълник",diamond:"Диамант",ellipse:"Елипс",arrow:"Стрелка",line:"Линия",freedraw:"Рисуване",text:"Текст",library:"Библиотека",lock:"Поддържайте избрания инструмент активен след рисуване",penMode:"",link:"",eraser:"Гума",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"Още инструменти",mermaidToExcalidraw:"",magicSettings:""},gLu={canvasActions:"Действия по платното",selectedShapeActions:"Избрани действия",shapes:"Фигури"},cLu={canvasPanning:"",linearElement:"Кликнете, за да стартирате няколко точки, плъзнете за една линия",freeDraw:"Натиснете и влачете, пуснете като сте готови",text:"Подсказка: Можете също да добавите текст като натиснете някъде два път с инструмента за селекция",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"Кликнете върху последната точка или натиснете Escape или Enter, за да завършите",lockAngle:"Можете да ограничите ъгъла, като задържите SHIFT",resize:`Може да ограничите при преоразмеряване като задържите SHIFT,
задръжте ALT за преоразмерите през центъра`,resizeImage:"",rotate:"Можете да ограничите ъглите, като държите SHIFT, докато се въртите",lineEditor_info:"",lineEditor_pointSelected:"Натиснете Delete за да изтриете точка(и), CtrlOrCmd+D за дуплициране, или извлачете за да преместите",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"Натиснете Enter, за да добавите",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},_Lu={cannotShowPreview:"Невъзможност за показване на preview",canvasTooBig:"Платното е твърде голямо.",canvasTooBigTip:"Подсказка: пробвайте да приближите далечните елементи по-близко."},pLu={headingMain:"Среща грешка. Опитайте <button>презареждане на страницата.</button>",clearCanvasMessage:"Ако презареждането не работи, опитайте <button>изчистване на платното.</button>",clearCanvasCaveat:" Това ще доведе до загуба на работа ",trackedToSentry:"Грешката с идентификатор {{eventId}} беше проследен в нашата система.",openIssueMessage:"Бяхме много предпазливи да не включите информацията за вашата сцена при грешката. Ако сцената ви не е частна, моля, помислете за последващи действия на нашата <button>тракер за грешки.</button> Моля, включете информация по-долу, като я копирате и добавите в GitHub.",sceneContent:"Съдържание на сцената:"},nLu={desc_intro:"Можете да поканите хора на текущата си сцена да си сътрудничат с вас.",desc_privacy:"Не се притеснявайте, сесията използва криптиране от край до край, така че каквото нарисувате ще остане частно. Дори нашият сървър няма да може да види какво предлагате.",button_startSession:"Стартирайте сесията",button_stopSession:"Стоп на сесията",desc_inProgressIntro:"Сесията за сътрудничество на живо е в ход.",desc_shareLink:"Споделете тази връзка с всеки, с когото искате да си сътрудничите:",desc_exitSession:"Спирането на сесията ще ви изключи от стаята, но ще можете да продължите да работите със сцената, локално. Имайте предвид, че това няма да засегне други хора и те все още ще могат да си сътрудничат с тяхната версия.",shareTitle:""},dLu={title:"Грешка"},sLu={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"Експорт",excalidrawplus_exportError:""},oLu={blog:"Прочетете нашия блог",click:"клик",deepSelect:"",deepBoxSelect:"",curvedArrow:"Извита стрелка",curvedLine:"Извита линия",documentation:"Документация",doubleClick:"двойно-щракване",drag:"плъзнете",editor:"Редактор",editLineArrowPoints:"",editText:"",github:"Намерихте проблем? Изпратете",howto:"Следвайте нашите ръководства",or:"или",preventBinding:"Спри прилепяне на стрелките",tools:"Инструменти",shortcuts:"Клавиши за бърз достъп",textFinish:"Завърши редактиране (текстов редактор)",textNewLine:"Добави нова линия (текстов редактор)",title:"Помощ",view:"Преглед",zoomToFit:"Приближи докато се виждат всички елементи",zoomToSelection:"Приближи селекцията",toggleElementLock:"Заключи/Отключи селекция",movePageUpDown:"Премести страница нагоре/надолу",movePageLeftRight:"Премести страница наляво/надясно"},tLu={title:"Изчисти платното"},eLu={title:"Публикувай библиотека",itemName:"Име",authorName:"Авторско име",githubUsername:"GitHub потребителско име",twitterUsername:"Twitter потребителско име",libraryName:"Име на библиотеката",libraryDesc:"Описание на библиотеката",website:"Уебсайт",placeholder:{authorName:"Името или потребителското Ви име",libraryName:"Име на библиотеката Ви",libraryDesc:"Описание на библиотеката ви, за да помогнете на хората да разберат приложенията ѝ",githubHandle:"",twitterHandle:"",website:""},errors:{required:"Задължително",website:"Въведете валиден URL адрес"},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},uXu={title:"",content:""},BXu={resetLibrary:"Нулирай библиотека",removeItemsFromLib:""},EXu={header:"",label:{withBackground:"Фон",onlySelected:"Само избраното",darkMode:"Тъмен режим",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"Изнасяне в PNG",exportToSvg:"Изнасяне в SVG",copyPngToClipboard:"Копирай PNG в клипборда"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Копиране в клипборда"}},AXu={tooltip:"Вашите рисунки са криптирани от край до край, така че сървърите на Excalidraw няма да могат да ги виждат.",link:""},CXu={angle:"Ъгъл",element:"Елемент",elements:"Елементи",height:"Височина",scene:"Сцена",selected:"Селектирано",storage:"Съхранение на данни",title:"Статистика за хакери",total:"Общо",version:"Версия",versionCopy:"Настисни за да копираш",versionNotAvailable:"Версията не е налична",width:"Широчина"},DXu={addedToLibrary:"Добавена към библиотеката",copyStyles:"Копирани стилове.",copyToClipboard:"Копирано в клипборда.",copyToClipboardAsPng:`Копира {{exportSelection}} в клипборда като PNG
({{exportColorScheme}})`,fileSaved:"Файлът е запазен.",fileSavedToFilename:"Запазен към {filename}",canvas:"платно",selection:"селекция",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},FXu={transparent:"Прозрачен",black:"Черен",white:"Бял",red:"Червен",pink:"Розов",grape:"Грозде",violet:"Виолетово",gray:"Сив",blue:"Син",cyan:"Синьозелено",teal:"Тъмно синьо-зелено",green:"Зелено",yellow:"Жълто",orange:"Оранжево",bronze:"Бронзово"},UXu={app:{center_heading:"Всичките Ви данни са запазени локално в браузъра Ви.",center_heading_plus:"",menuHint:"Експорт, предпочитания, езици, ..."},defaults:{menuHint:"Експорт, предпочитания, и още...",center_heading:"Диаграми. Направени. Просто.",toolbarHint:"Изберете инструмент & Започнете да рисувате!",helpHint:"Преки пътища & помощ"}},zXu={mostUsedCustomColors:"Най-често използвани цветове",colors:"Цветове",shades:"Нюанси",hexCode:"Шестнадесетичен код",noShades:""},kXu={action:{exportToImage:{title:"Изнеси като изображение",button:"Изнеси като изображение",description:""},saveToDisk:{title:"Запази към диск",button:"Запази към диск",description:""},excalidrawPlus:{title:"Excalidraw+",button:"Експортирай към Excalidraw+",description:"Запази сцената към Excalidraw+ работното място."}},modal:{loadFromFile:{title:"Зареди от файл",button:"Зареди от файл",description:""},shareableLink:{title:"Зареди от линк",button:"Замени моето съдържание",description:""}}},fXu={title:"",button:"",description:"",syntax:"",preview:""},yk3={labels:iLu,library:aLu,buttons:mLu,alerts:$Lu,errors:yLu,toolBar:rLu,headings:gLu,hints:cLu,canvasError:_Lu,errorSplash:pLu,roomDialog:nLu,errorDialog:dLu,exportDialog:sLu,helpDialog:oLu,clearCanvasDialog:tLu,publishDialog:eLu,publishSuccessDialog:uXu,confirmDialog:BXu,imageExportDialog:EXu,encrypted:AXu,stats:CXu,toast:DXu,colors:FXu,welcomeScreen:UXu,colorPicker:zXu,overwriteConfirm:kXu,mermaid:fXu}});var mXu={};ju(mXu,{welcomeScreen:()=>VXu,toolBar:()=>GXu,toast:()=>jXu,stats:()=>PXu,roomDialog:()=>XXu,publishSuccessDialog:()=>RXu,publishDialog:()=>YXu,overwriteConfirm:()=>iXu,mermaid:()=>aXu,library:()=>JXu,labels:()=>ZXu,imageExportDialog:()=>OXu,hints:()=>qXu,helpDialog:()=>WXu,headings:()=>HXu,exportDialog:()=>xXu,errors:()=>QXu,errorSplash:()=>LXu,errorDialog:()=>vXu,encrypted:()=>IXu,default:()=>rk3,confirmDialog:()=>TXu,colors:()=>NXu,colorPicker:()=>hXu,clearCanvasDialog:()=>SXu,canvasError:()=>lXu,buttons:()=>KXu,alerts:()=>wXu});var ZXu,JXu,KXu,wXu,QXu,GXu,HXu,qXu,lXu,LXu,XXu,vXu,xXu,WXu,SXu,YXu,RXu,TXu,OXu,IXu,PXu,jXu,NXu,VXu,hXu,iXu,aXu,rk3;var $Xu=g(()=>{m4();ZXu={paste:"পেস্ট করুন",pasteAsPlaintext:"প্লেইনটেক্সট হিসাবে পেস্ট করুন",pasteCharts:"চার্ট পেস্ট করুন",selectAll:"সবটা সিলেক্ট করুন",multiSelect:"একাধিক সিলেক্ট করুন",moveCanvas:"ক্যানভাস সরান",cut:"কাট করুন",copy:"কপি করুন",copyAsPng:"পীএনজী ছবির মতন কপি করুন",copyAsSvg:"এসভীজী ছবির মতন কপি করুন",copyText:"লিখিত তথ্যের মতন কপি করুন",copySource:"",convertToCode:"",bringForward:"অধিকতর সামনে আনুন",sendToBack:"অধিকতর পিছনে নিয়ে যান",bringToFront:"সবার সামনে আনুন",sendBackward:"সবার পিছনে নিয়ে যান",delete:"মুছা",copyStyles:"ডিজাইন কপি করুন",pasteStyles:"ডিজাইন পেস্ট করুন",stroke:"রেখাংশ",background:"পটভূমি",fill:"রং",strokeWidth:"রেখাংশের বেধ",strokeStyle:"রেখাংশের ডিজাইন",strokeStyle_solid:"পুরু",strokeStyle_dashed:"পাতলা",strokeStyle_dotted:"বিন্দুবিন্দু",sloppiness:"ভ্রান্তি",opacity:"দৃশ্যমানতা",textAlign:"লেখ অনুভূমি",edges:"কোণ",sharp:"তীক্ষ্ণ",round:"গোল",arrowheads:"তীরের শীর্ষভাগ",arrowhead_none:"কিছু না",arrowhead_arrow:"তীর",arrowhead_bar:"রেখাংশ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"ত্রিভূজ",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"লেখনীর মাত্রা",fontFamily:"লেখনীর হরফ",addWatermark:"এক্সক্যালিড্র দ্বারা প্রস্তুত",handDrawn:"হাতে আঁকা",normal:"স্বাভাবিক",code:"কোড",small:"ছোট",medium:"মাঝারি",large:"বড়",veryLarge:"অনেক বড়",solid:"দৃঢ়",hachure:"ভ্রুলেখা",zigzag:"আঁকাবাঁকা",crossHatch:"ক্রস হ্যাচ",thin:"পাতলা",bold:"পুরু",left:"বাম",center:"কেন্দ্র",right:"ডান",extraBold:"অতি পুরু",architect:"স্থপতি",artist:"শিল্পী",cartoonist:"চিত্রকার",fileTitle:"ফাইলের নাম",colorPicker:"রং পছন্দ করুন",canvasColors:"ক্যানভাসের রং",canvasBackground:"ক্যানভাসের পটভূমি",drawingCanvas:"ব্যবহৃত ক্যানভাস",layers:"মাত্রা",actions:"ক্রিয়া",language:"ভাষা",liveCollaboration:"সরাসরি পারস্পরিক সহযোগিতা...",duplicateSelection:"সদৃশ সিলেক্ট",untitled:"অনামী",name:"নাম",yourName:"আপনার নাম",madeWithExcalidraw:"এক্সক্যালিড্র দ্বারা তৈরি",group:"দল গঠন করুন",ungroup:"দল বিভেদ করুন",collaborators:"সহযোগী",showGrid:"গ্রিড দেখান",addToLibrary:"সংগ্রহে যোগ করুন",removeFromLibrary:"সংগ্রহ থেকে বের করুন",libraryLoadingMessage:"সংগ্রহ তৈরি হচ্ছে",libraries:"সংগ্রহ দেখুন",loadingScene:"দৃশ্য তৈরি হচ্ছে",align:"পংক্তিবিন্যাস",alignTop:"উপর পংক্তি",alignBottom:"নিম্ন পংক্তি",alignLeft:"বাম পংক্তি",alignRight:"ডান পংক্তি",centerVertically:"উলম্ব কেন্দ্রিত",centerHorizontally:"অনুভূমিক কেন্দ্রিত",distributeHorizontally:"অনুভূমিকভাবে বিতরণ করুন",distributeVertically:"উল্লম্বভাবে বিতরণ করুন",flipHorizontal:"অনুভূমিক আবর্তন",flipVertical:"উলম্ব আবর্তন",viewMode:"দৃশ্য",share:"ভাগ করুন",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"লেখনীর মাত্রা কমান",increaseFontSize:"লেখনীর মাত্রা বাড়ান",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"লিঙ্ক সংশোধন",editEmbed:"",create:"লিঙ্ক তৈরী",createEmbed:"",label:"লিঙ্ক নামকরণ",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"আবদ্ধ করুন",unlock:"বিচ্ছিন্ন করুন",lockAll:"সব আবদ্ধ করুন",unlockAll:"সব বিচ্ছিন্ন করুন"},statusPublished:"প্রকাশিত",sidebarLock:"লক",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},JXu={noItems:"সংগ্রহে কিছু যোগ করা হয়নি",hint_emptyLibrary:"এখানে যোগ করার জন্য ক্যানভাসে একটি বস্তু নির্বাচন করুন, অথবা নীচে, প্রকাশ্য সংগ্রহশালা থেকে একটি সংগ্রহ ইনস্টল করুন৷",hint_emptyPrivateLibrary:"এখানে যোগ করার জন্য ক্যানভাসে একটি বস্তু নির্বাচন করুন"},KXu={clearReset:"ক্যানভাস সাফ করুন",exportJSON:"জেসন নিবদ্ধ করুন",exportImage:"",export:"",copyToClipboard:"ক্লিপবোর্ডে কপি করুন",save:"জমা করুন",saveAs:"অন্যভাবে জমা করুন",load:"",getShareableLink:"ভাগযোগ্য লিঙ্ক পান",close:"বন্ধ করুন",selectLanguage:"ভাষা চিহ্নিত করুন",scrollBackToContent:"বিষয়বস্তুতে ফেরত যান",zoomIn:"বড় করুন",zoomOut:"ছোট করুন",resetZoom:"স্বাভাবিক করুন",menu:"তালিকা",done:"সম্পন্ন",edit:"সংশোধন করুন",undo:"ফেরত যান",redo:"পুনরায় করুন",resetLibrary:"সংগ্রহ সাফ করুন",createNewRoom:"নতুন রুম বানান",fullScreen:"পূর্ণস্ক্রীন",darkMode:"ডার্ক মোড",lightMode:"লাইট মোড",zenMode:"জেন মোড",objectsSnapMode:"",exitZenMode:"জেন মোড বন্ধ করুন",cancel:"বাতিল",clear:"সাফ",remove:"বিয়োগ",embed:"",publishLibrary:"সংগ্রহ প্রকাশ করুন",submit:"জমা করুন",confirm:"নিশ্চিত করুন",embeddableInteractionButton:""},wXu={clearReset:"এটি পুরো ক্যানভাস সাফ করবে। আপনি কি নিশ্চিত?",couldNotCreateShareableLink:"ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি।",couldNotCreateShareableLinkTooBig:"ভাগ করা যায় এমন লিঙ্ক তৈরি করা যায়নি: দৃশ্যটি খুব বড়",couldNotLoadInvalidFile:"অবৈধ ফাইল লোড করা যায়নি",importBackendFailed:"ব্যাকেন্ড থেকে আপলোড ব্যর্থ হয়েছে।",cannotExportEmptyCanvas:"খালি ক্যানভাস নিবদ্ধ করা যাবে না।",couldNotCopyToClipboard:"ক্লিপবোর্ডে কপি করা যায়নি।",decryptFailed:"তথ্য ডিক্রিপ্ট করা যায়নি।",uploadedSecurly:"আপলোডটি এন্ড-টু-এন্ড এনক্রিপশনের মাধ্যমে সুরক্ষিত করা হয়েছে, যার অর্থ হল এক্সক্যালিড্র সার্ভার এবং তৃতীয় পক্ষের দ্বারা পড়তে পারা সম্ভব নয়।",loadSceneOverridePrompt:"বাহ্যিক অঙ্কন লোড করা আপনার বিদ্যমান দৃশ্য প্রতিস্থাপন করবে। আপনি কি অবিরত করতে চান?",collabStopOverridePrompt:`অধিবেশন বন্ধ করা আপনার পূর্ববর্তী, স্থানীয়ভাবে সঞ্চিত অঙ্কন ওভাররাইট করবে। আপনি কি নিশ্চিত?
(যদি আপনি আপনার স্থানীয় অঙ্কন রাখতে চান, তাহলে শুধু ব্রাউজার ট্যাবটি বন্ধ করুন।)`,errorAddingToLibrary:"বস্তুটি সংগ্রহে যোগ করা যায়নি",errorRemovingFromLibrary:"বস্তুটি সংগ্রহ থেকে বিয়োগ করা যায়নি",confirmAddLibrary:"এটি আপনার সংগ্রহে {{numShapes}} আকার(গুলি) যোগ করবে। আপনি কি নিশ্চিত?",imageDoesNotContainScene:"এই ছবিতে কোনো দৃশ্যের তথ্য আছে বলে মনে হয় না৷ আপনি কি নিবদ্ধ করার সময় দৃশ্য এমবেডিং করতে সক্ষম?",cannotRestoreFromImage:"এই ফাইল থেকে দৃশ্য পুনরুদ্ধার করা যায়নি",invalidSceneUrl:"সরবরাহ করা লিঙ্ক থেকে দৃশ্য লোড করা যায়নি৷ এটি হয় বিকৃত, অথবা বৈধ এক্সক্যালিড্র জেসন তথ্য নেই৷",resetLibrary:"এটি আপনার সংগ্রহ পরিষ্কার করবে। আপনি কি নিশ্চিত?",removeItemsFromsLibrary:"সংগ্রহ থেকে {{count}} বস্তু বিয়োগ করা হবে। আপনি কি নিশ্চিত?",invalidEncryptionKey:"অবৈধ এনক্রীপশন কী।",collabOfflineWarning:""},QXu={unsupportedFileType:"অসমর্থিত ফাইল।",imageInsertError:"ছবি সন্নিবেশ করা যায়নি। পরে আবার চেষ্টা করুন...",fileTooBig:"ফাইলটি খুব বড়। সর্বাধিক অনুমোদিত আকার হল {{maxSize}}৷",svgImageInsertError:"এসভীজী ছবি সন্নিবেশ করা যায়নি। এসভীজী মার্কআপটি অবৈধ মনে হচ্ছে৷",failedToFetchImage:"",invalidSVGString:"এসভীজী মার্কআপটি অবৈধ মনে হচ্ছে৷",cannotResolveCollabServer:"কোল্যাব সার্ভারের সাথে সংযোগ করা যায়নি। পৃষ্ঠাটি পুনরায় লোড করে আবার চেষ্টা করুন।",importLibraryError:"সংগ্রহ লোড করা যায়নি",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},GXu={selection:"বাছাই",image:"চিত্র সন্নিবেশ",rectangle:"আয়তক্ষেত্র",diamond:"রুহিতন",ellipse:"উপবৃত্ত",arrow:"তীর",line:"রেখা",freedraw:"কলম",text:"লেখা",library:"সংগ্রহ",lock:"আঁকার পরে নির্বাচিত টুল সক্রিয় রাখুন",penMode:"",link:"একটি নির্বাচিত আকৃতির জন্য লিঙ্ক যোগ বা আপডেট করুন",eraser:"ঝাড়ন",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},HXu={canvasActions:"ক্যানভাস কার্যকলাপ",selectedShapeActions:"বাছাই করা আকার(গুলি)র কার্যকলাপ",shapes:"আকার(গুলি)"},qXu={canvasPanning:"",linearElement:"একাধিক বিন্দু শুরু করতে ক্লিক করুন, একক লাইনের জন্য টেনে আনুন",freeDraw:"ক্লিক করুন এবং টেনে আনুন, আপনার কাজ শেষ হলে ছেড়ে দিন",text:"বিশেষ্য: আপনি নির্বাচন টুলের সাথে যে কোনো জায়গায় ডাবল-ক্লিক করে পাঠ্য যোগ করতে পারেন",embeddable:"",text_selected:"লেখা সম্পাদনা করতে ডাবল-ক্লিক করুন বা এন্টার টিপুন",text_editing:"লেখা সম্পাদনা শেষ করতে এসকেপ বা কন্ট্রোল/কম্যান্ড যোগে এন্টার টিপুন",linearElementMulti:"শেষ বিন্দুতে ক্লিক করুন অথবা শেষ করতে এসকেপ বা এন্টার টিপুন",lockAngle:"ঘোরানোর সময় আপনি শিফ্ট ধরে রেখে কোণ সীমাবদ্ধ করতে পারেন",resize:`আপনি আকার পরিবর্তন করার সময় শিফ্ট ধরে রেখে অনুপাতকে সীমাবদ্ধ করতে পারেন,
কেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরে রাখুন`,resizeImage:"আপনি শিফ্ট ধরে রেখে অবাধে আকার পরিবর্তন করতে পারেন, কেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরুন",rotate:"আপনি ঘোরানোর সময় শিফ্ট ধরে রেখে কোণগুলিকে সীমাবদ্ধ করতে পারেন",lineEditor_info:"",lineEditor_pointSelected:"বিন্দু(গুলি) মুছতে ডিলিট টিপুন, কন্ট্রোল/কম্যান্ড যোগে ডি টিপুন নকল করতে অথবা সরানোর জন্য টানুন",lineEditor_nothingSelected:`সম্পাদনা করার জন্য একটি বিন্দু নির্বাচন করুন (একাধিক নির্বাচন করতে শিফ্ট ধরে রাখুন),
অথবা অল্ট ধরে রাখুন এবং নতুন বিন্দু যোগ করতে ক্লিক করুন`,placeImage:"ছবিটি স্থাপন করতে ক্লিক করুন, অথবা নিজে আকার সেট করতে ক্লিক করুন এবং টেনে আনুন",publishLibrary:"আপনার নিজস্ব সংগ্রহ প্রকাশ করুন",bindTextToElement:"লেখা যোগ করতে এন্টার টিপুন",deepBoxSelect:"",eraserRevert:"মুছে ফেলার জন্য চিহ্নিত উপাদানগুলিকে ফিরিয়ে আনতে অল্ট ধরে রাখুন",firefox_clipboard_write:"",disableSnapping:""},lXu={cannotShowPreview:"প্রিভিউ দেখাতে অপারগ",canvasTooBig:"ক্যানভাস অনেক বড়।",canvasTooBigTip:"বিশেষ্য: দূরতম উপাদানগুলোকে একটু কাছাকাছি নিয়ে যাওয়ার চেষ্টা করুন।"},LXu={headingMain:"একটি ত্রুটির সম্মুখীন হয়েছে৷ চেষ্টা করুন <button>পৃষ্ঠাটি পুনরায় লোড করার।</button>",clearCanvasMessage:"যদি পুনরায় লোড করা কাজ না করে, চেষ্টা করুন <button>ক্যানভাস পরিষ্কার করার।</button>",clearCanvasCaveat:" এর ফলে কাজের ক্ষতি হবে ",trackedToSentry:"ত্রুটি {{eventId}} আমাদের সিস্টেমে ট্র্যাক করা হয়েছিল।",openIssueMessage:"আমরা ত্রুটিতে আপনার দৃশ্যের তথ্য অন্তর্ভুক্ত না করার জন্য খুব সতর্ক ছিলাম। আপনার দৃশ্য ব্যক্তিগত না হলে, আমাদের অনুসরণ করার কথা বিবেচনা করুন <button>ত্রুটি ইতিবৃত্ত।</button> অনুগ্রহ করে GitHub ইস্যুতে অনুলিপি এবং পেস্ট করে নীচের তথ্য অন্তর্ভুক্ত করুন।",sceneContent:"দৃশ্য বিষয়বস্তু:"},XXu={desc_intro:"আপনি আপনার সাথে সহযোগিতা করার জন্য আপনার বর্তমান দৃশ্যে লোকেদের আমন্ত্রণ জানাতে পারেন৷",desc_privacy:"চিন্তা করবেন না, সেশনটি এন্ড-টু-এন্ড এনক্রিপশন ব্যবহার করে, তাই আপনি যা আঁকবেন তা গোপন থাকবে। এমনকি আমাদের সার্ভার আপনি যা নিয়ে এসেছেন তা দেখতে সক্ষম হবে না।",button_startSession:"সেশন শুরু করুন",button_stopSession:"সেশন বন্ধ করুন",desc_inProgressIntro:"লাইভ-সহযোগীতার সেশন এখন চলছে।",desc_shareLink:"আপনি যার সাথে সহযোগিতা করতে চান তাদের সাথে এই লিঙ্কটি ভাগ করুন: ",desc_exitSession:"অধিবেশন বন্ধ করা আপনাকে রুম থেকে সংযোগ বিচ্ছিন্ন করবে, কিন্তু আপনি স্থানীয়ভাবে দৃশ্যের সাথে কাজ চালিয়ে যেতে সক্ষম হবেন। মনে রাখবেন যে এটি অন্য লোকেদের প্রভাবিত করবে না এবং তারা এখনও তাদের সংস্করণে সহযোগিতা করতে সক্ষম হবে।",shareTitle:"এক্সক্যালিড্র লাইভ সহযোগিতা সেশনে যোগ দিন"},vXu={title:"ত্রুটি"},xXu={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"নিবদ্ধ",excalidrawplus_exportError:""},WXu={blog:"",click:"ক্লিক",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"অথবা",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},SXu={title:""},YXu={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},RXu={title:"",content:""},TXu={resetLibrary:"",removeItemsFromLib:""},OXu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},IXu={tooltip:"",link:""},PXu={angle:"কোণ",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:"প্রস্থ"},jXu={addedToLibrary:"সংগ্রহশালায় যুক্ত হয়েছে",copyStyles:"",copyToClipboard:"ক্লিপবোর্ডে কপি করা হয়েছে।",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"বাছাই",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},NXu={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},VXu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},hXu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},iXu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},aXu={title:"",button:"",description:"",syntax:"",preview:""},rk3={labels:ZXu,library:JXu,buttons:KXu,alerts:wXu,errors:QXu,toolBar:GXu,headings:HXu,hints:qXu,canvasError:lXu,errorSplash:LXu,roomDialog:XXu,errorDialog:vXu,exportDialog:xXu,helpDialog:WXu,clearCanvasDialog:SXu,publishDialog:YXu,publishSuccessDialog:RXu,confirmDialog:TXu,imageExportDialog:OXu,encrypted:IXu,stats:PXu,toast:jXu,colors:NXu,welcomeScreen:VXu,colorPicker:hXu,overwriteConfirm:iXu,mermaid:aXu}});var Kvu={};ju(Kvu,{welcomeScreen:()=>Mvu,toolBar:()=>pXu,toast:()=>kvu,stats:()=>zvu,roomDialog:()=>tXu,publishSuccessDialog:()=>Cvu,publishDialog:()=>Avu,overwriteConfirm:()=>Zvu,mermaid:()=>Jvu,library:()=>rXu,labels:()=>yXu,imageExportDialog:()=>Fvu,hints:()=>dXu,helpDialog:()=>Bvu,headings:()=>nXu,exportDialog:()=>uvu,errors:()=>_Xu,errorSplash:()=>oXu,errorDialog:()=>eXu,encrypted:()=>Uvu,default:()=>gk3,confirmDialog:()=>Dvu,colors:()=>fvu,colorPicker:()=>bvu,clearCanvasDialog:()=>Evu,canvasError:()=>sXu,buttons:()=>gXu,alerts:()=>cXu});var yXu,rXu,gXu,cXu,_Xu,pXu,nXu,dXu,sXu,oXu,tXu,eXu,uvu,Bvu,Evu,Avu,Cvu,Dvu,Fvu,Uvu,zvu,kvu,fvu,Mvu,bvu,Zvu,Jvu,gk3;var wvu=g(()=>{m4();yXu={paste:"Enganxa",pasteAsPlaintext:"Enganxar com a text pla",pasteCharts:"Enganxa els diagrames",selectAll:"Selecciona-ho tot",multiSelect:"Afegeix un element a la selecció",moveCanvas:"Mou el llenç",cut:"Retalla",copy:"Copia",copyAsPng:"Copia al porta-retalls com a PNG",copyAsSvg:"Copia al porta-retalls com a SVG",copyText:"Copia al porta-retalls com a text",copySource:"Copia l'origen al porta-retalls",convertToCode:"",bringForward:"Porta endavant",sendToBack:"Envia enrere",bringToFront:"Porta al davant",sendBackward:"Envia al fons",delete:"Elimina",copyStyles:"Copia els estils",pasteStyles:"Enganxa els estils",stroke:"Color del traç",background:"Color del fons",fill:"Estil del fons",strokeWidth:"Amplada del traç",strokeStyle:"Estil del traç",strokeStyle_solid:"Sòlid",strokeStyle_dashed:"Guions",strokeStyle_dotted:"Punts",sloppiness:"Estil del traç",opacity:"Opacitat",textAlign:"Alineació del text",edges:"Vores",sharp:"Agut",round:"Arrodonit",arrowheads:"Puntes de fletxa",arrowhead_none:"Cap",arrowhead_arrow:"Fletxa",arrowhead_bar:"Barra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Triangle",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Mida de lletra",fontFamily:"Tipus de lletra",addWatermark:"Afegeix-hi «Fet amb Excalidraw»",handDrawn:"Dibuixat a mà",normal:"Normal",code:"Codi",small:"Petit",medium:"Mitjà",large:"Gran",veryLarge:"Molt gran",solid:"Sòlid",hachure:"Ratlletes",zigzag:"",crossHatch:"Ratlletes creuades",thin:"Fi",bold:"Negreta",left:"Esquerra",center:"Centre",right:"Dreta",extraBold:"Extra negreta",architect:"Arquitecte",artist:"Artista",cartoonist:"Dibuixant",fileTitle:"Nom del fitxer",colorPicker:"Selector de colors",canvasColors:"Usat al llenç",canvasBackground:"Fons del llenç",drawingCanvas:"Llenç de dibuix",layers:"Capes",actions:"Accions",language:"Llengua",liveCollaboration:"Col·laboració en directe...",duplicateSelection:"Duplica",untitled:"Sense títol",name:"Nom",yourName:"El vostre nom",madeWithExcalidraw:"Fet amb Excalidraw",group:"Agrupa la selecció",ungroup:"Desagrupa la selecció",collaborators:"Col·laboradors",showGrid:"Mostra la graella",addToLibrary:"Afegir a la biblioteca",removeFromLibrary:"Eliminar de la biblioteca",libraryLoadingMessage:"S'està carregant la biblioteca…",libraries:"Explora les biblioteques",loadingScene:"S'està carregant l'escena…",align:"Alinea",alignTop:"Alinea a la part superior",alignBottom:"Alinea a la part inferior",alignLeft:"Alinea a lesquerra",alignRight:"Alinea a la dreta",centerVertically:"Centra verticalment",centerHorizontally:"Centra horitzontalment",distributeHorizontally:"Distribueix horitzontalment",distributeVertically:"Distribueix verticalment",flipHorizontal:"Capgira horitzontalment",flipVertical:"Capgira verticalment",viewMode:"Mode de visualització",share:"Comparteix",showStroke:"Mostra el selector de color del traç",showBackground:"Mostra el selector de color de fons",toggleTheme:"Activa o desactiva el tema",personalLib:"Biblioteca personal",excalidrawLib:"Biblioteca d'Excalidraw",decreaseFontSize:"Redueix la mida de la lletra",increaseFontSize:"Augmenta la mida de la lletra",unbindText:"Desvincular el text",bindText:"Ajusta el text al contenidor",createContainerFromText:"",link:{edit:"Edita l'enllaç",editEmbed:"Edita l'enllaç i incrusta-ho",create:"Crea un enllaç",createEmbed:"",label:"Enllaç",labelEmbed:"",empty:"No s'ha definit cap enllaç"},lineEditor:{edit:"Editar línia",exit:"Sortir de l'editor de línia"},elementLock:{lock:"Bloca",unlock:"Desbloca",lockAll:"Bloca-ho tot",unlockAll:"Desbloca-ho tot"},statusPublished:"Publicat",sidebarLock:"Manté la barra lateral oberta",selectAllElementsInFrame:"Selecciona tots els elements del marc",removeAllElementsFromFrame:"Eliminat tots els elements del marc",eyeDropper:"",textToDiagram:"",prompt:""},rXu={noItems:"Encara no s'hi han afegit elements...",hint_emptyLibrary:"Trieu un element o un llenç per a afegir-lo aquí, o instal·leu una biblioteca del repositori públic, més avall.",hint_emptyPrivateLibrary:"Trieu un element o un llenç per a afegir-lo aquí."},gXu={clearReset:"Neteja el llenç",exportJSON:"Exporta a un fitxer",exportImage:"Exporta la imatge...",export:"Guardar a...",copyToClipboard:"Copia al porta-retalls",save:"Desa al fitxer actual",saveAs:"Anomena i desa",load:"Obrir",getShareableLink:"Obté l'enllaç per a compartir",close:"Tanca",selectLanguage:"Trieu la llengua",scrollBackToContent:"Torna al contingut",zoomIn:"Apropa't",zoomOut:"Allunya't",resetZoom:"Restableix el zoom",menu:"Menú",done:"Fet",edit:"Edita",undo:"Desfés",redo:"Refés",resetLibrary:"Restableix la biblioteca",createNewRoom:"Crea una sala nova",fullScreen:"Pantalla completa",darkMode:"Mode fosc",lightMode:"Mode clar",zenMode:"Mode zen",objectsSnapMode:"",exitZenMode:"Surt de mode zen",cancel:"Cancel·la",clear:"Neteja",remove:"Suprimeix",embed:"",publishLibrary:"Publica",submit:"Envia",confirm:"Confirma",embeddableInteractionButton:"Feu clic per interactuar"},cXu={clearReset:"S'esborrarà tot el llenç. N'esteu segur?",couldNotCreateShareableLink:"No s'ha pogut crear un enllaç per a compartir.",couldNotCreateShareableLinkTooBig:"No sha pogut crear un enllaç per a compartir: lescena és massa gran",couldNotLoadInvalidFile:"No s'ha pogut carregar un fitxer no vàlid",importBackendFailed:"Importació fallida.",cannotExportEmptyCanvas:"No es pot exportar un llenç buit.",couldNotCopyToClipboard:"No s'ha pogut copiar al porta-retalls.",decryptFailed:"No s'ha pogut desencriptar.",uploadedSecurly:"La càrrega s'ha assegurat amb xifratge punta a punta, cosa que significa que el servidor Excalidraw i tercers no poden llegir el contingut.",loadSceneOverridePrompt:"Si carregas aquest dibuix extern, substituirá el que tens. Vols continuar?",collabStopOverridePrompt:`Aturar la sessió provocarà la sobreescriptura del dibuix previ, que hi ha desat en l'emmagatzematge local. N'esteu segur?
(Si voleu conservar el dibuix local, tanqueu la pentanya del navegador en comptes d'aturar la sessió).`,errorAddingToLibrary:"No s'ha pogut afegir l'element a la biblioteca",errorRemovingFromLibrary:"No s'ha pogut eliminar l'element de la biblioteca",confirmAddLibrary:"Això afegirà {{numShapes}} forma(es) a la vostra biblioteca. Estàs segur?",imageDoesNotContainScene:"Aquesta imatge no sembla contenir cap dada d'escena. Heu activat l'incrustació de l'escena durant l'exportació?",cannotRestoreFromImage:"Lescena no sha pogut restaurar des daquest fitxer dimatge",invalidSceneUrl:"No s'ha pogut importar l'escena des de l'adreça URL proporcionada. Està malformada o no conté dades Excalidraw JSON vàlides.",resetLibrary:"Això buidarà la biblioteca. N'esteu segur?",removeItemsFromsLibrary:"Suprimir {{count}} element(s) de la biblioteca?",invalidEncryptionKey:"La clau d'encriptació ha de tenir 22 caràcters. La col·laboració en directe està desactivada.",collabOfflineWarning:`Sense connexió a internet disponible.
Els vostres canvis no seran guardats!`},_Xu={unsupportedFileType:"Tipus de fitxer no suportat.",imageInsertError:"No s'ha pogut insertar la imatge, torneu-ho a provar més tard...",fileTooBig:"El fitxer és massa gros. La mida màxima permesa és {{maxSize}}.",svgImageInsertError:"No ha estat possible inserir la imatge SVG. Les marques SVG semblen invàlides.",failedToFetchImage:"",invalidSVGString:"SVG no vàlid.",cannotResolveCollabServer:"No ha estat possible connectar amb el servidor collab. Si us plau recarregueu la pàgina i torneu a provar.",importLibraryError:"No s'ha pogut carregar la biblioteca",collabSaveFailed:"No s'ha pogut desar a la base de dades de fons. Si els problemes persisteixen, hauríeu de desar el fitxer localment per assegurar-vos que no perdeu el vostre treball.",collabSaveFailed_sizeExceeded:"No s'ha pogut desar a la base de dades de fons, sembla que el llenç és massa gran. Hauríeu de desar el fitxer localment per assegurar-vos que no perdeu el vostre treball.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"No s'ha pogut enganxar.",copyToSystemClipboardFailed:""},pXu={selection:"Selecció",image:"Insereix imatge",rectangle:"Rectangle",diamond:"Rombe",ellipse:"El·lipse",arrow:"Fletxa",line:"Línia",freedraw:"Dibuix",text:"Text",library:"Biblioteca",lock:"Mantenir activa l'eina seleccionada desprès de dibuixar",penMode:"Mode de llapis - evita tocar",link:"Afegeix / actualitza l'enllaç per a la forma seleccionada",eraser:"Esborrador",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Mà (eina de desplaçament)",extraTools:"",mermaidToExcalidraw:"De Mermaid a Excalidraw",magicSettings:"Preferències d'IA"},nXu={canvasActions:"Accions del llenç",selectedShapeActions:"Accions per a les formes seleccionades",shapes:"Formes"},dXu={canvasPanning:"Per moure el llenç, manteniu premuda la roda del ratolí o la barra espaiadora mentre arrossegueu o utilitzeu l'eina manual",linearElement:"Feu clic per a dibuixar múltiples punts; arrossegueu per a una sola línia",freeDraw:"Feu clic i arrossegueu, deixeu anar per a finalitzar",text:"Consell: també podeu afegir text fent doble clic en qualsevol lloc amb l'eina de selecció",embeddable:"",text_selected:"Feu doble clic o premeu Retorn per a editar el text",text_editing:"Premeu Escapada o Ctrl+Retorn (o Ordre+Retorn) per a finalitzar l'edició",linearElementMulti:"Feu clic a l'ultim punt, o pitgeu Esc o Retorn per a finalitzar",lockAngle:"Per restringir els angles, mantenir premut el majúscul (SHIFT)",resize:"Per restringir les proporcions mentres es canvia la mida, mantenir premut el majúscul (SHIFT); per canviar la mida des del centre, mantenir premut ALT",resizeImage:`Podeu redimensionar lliurement prement MAJÚSCULA;
per a redimensionar des del centre, premeu ALT`,rotate:"Per restringir els angles mentre gira, mantenir premut el majúscul (SHIFT)",lineEditor_info:"Mantingueu premut Ctrl o Cmd i feu doble clic o premeu Ctrl o Cmd + Retorn per editar els punts",lineEditor_pointSelected:"Premeu Suprimir per a eliminar el(s) punt(s), CtrlOrCmd+D per a duplicar-lo, o arrossegueu-lo per a moure'l",lineEditor_nothingSelected:`Seleccioneu un punt per a editar-lo (premeu SHIFT si voleu
selecció múltiple), o manteniu Alt i feu clic per a afegir més punts`,placeImage:"Feu clic per a col·locar la imatge o clic i arrossegar per a establir-ne la mida manualment",publishLibrary:"Publiqueu la vostra pròpia llibreria",bindTextToElement:"Premeu enter per a afegir-hi text",deepBoxSelect:"Manteniu CtrlOrCmd per a selecció profunda, i per a evitar l'arrossegament",eraserRevert:"Mantingueu premuda Alt per a revertir els elements seleccionats per a esborrar",firefox_clipboard_write:'És probable que aquesta funció es pugui activar posant la marca "dom.events.asyncClipboard.clipboardItem" a "true". Per canviar les marques del navegador al Firefox, visiteu la pàgina "about:config".',disableSnapping:""},sXu={cannotShowPreview:"No es pot mostrar la previsualització",canvasTooBig:"Pot ser que el llenç sigui massa gran.",canvasTooBigTip:"Consell: proveu dacostar una mica els elements més allunyats."},oXu={headingMain:"S'ha produït un error. Proveu <button>recarregar la pàgina.</button>",clearCanvasMessage:"Si la recàrrega no funciona, proveu <button>esborrar el llenç.</button>",clearCanvasCaveat:" Això resultarà en la pèrdua de feina ",trackedToSentry:"L'error amb l'identificador {{eventId}} s'ha rastrejat en el nostre sistema.",openIssueMessage:"Anàvem amb molta cura de no incloure la informació de la vostra escena en l'error. Si l'escena no és privada, podeu fer-ne el seguiment al nostre <button>rastrejador d'errors.</button> Incloeu la informació a continuació copiant i enganxant a GitHub Issues.",sceneContent:"Contingut de l'escena:"},tXu={desc_intro:"Podeu convidar persones a la vostra escena actual a col·laborar amb vós.",desc_privacy:"No us preocupeu, la sessió utilitza el xifratge de punta a punta, de manera que qualsevol cosa que dibuixeu romandrà privada. Ni tan sols el nostre servidor podrà veure què feu.",button_startSession:"Inicia la sessió",button_stopSession:"Atura la sessió",desc_inProgressIntro:"La sessió de col·laboració en directe està en marxa.",desc_shareLink:"Comparteix aquest enllaç amb qualsevol persona amb qui vulgueu col·laborar:",desc_exitSession:"Si atureu la sessió, us desconectareu de la sala, però podreu continuar treballant amb el dibuix localment. Tingues en compte que això no afectarà a altres persones, i encara podran col·laborar en la seva versió.",shareTitle:"Uniu-vos a una sessió de col·laboració en directe a Excalidraw"},eXu={title:"Error"},uvu={disk_title:"Desa al disc",disk_details:"Exporta les dades de l'escena a un fitxer que després podreu importar.",disk_button:"Desa en un fitxer",link_title:"Enllaç per a compartir",link_details:"Exporta com a un enllaç de només lectura.",link_button:"Exporta a un enllaç",excalidrawplus_description:"Desa l'escena en el vostre espai de treball Excalidraw+.",excalidrawplus_button:"Exporta",excalidrawplus_exportError:"No és possible exportar a Excalidraw+ ara mateix..."},Bvu={blog:"Llegiu el nostre blog",click:"clic",deepSelect:"Selecció profunda",deepBoxSelect:"Seleccioneu profundament dins del quadre i eviteu arrossegar",curvedArrow:"Fletxa corba",curvedLine:"Línia corba",documentation:"Documentació",doubleClick:"doble clic",drag:"arrossega",editor:"Editor",editLineArrowPoints:"",editText:"",github:"Hi heu trobat un problema? Informeu-ne",howto:"Seguiu les nostres guies",or:"o",preventBinding:"Prevenir vinculació de la fletxa",tools:"Eines",shortcuts:"Dreceres de teclat",textFinish:"Finalitza l'edició (editor de text)",textNewLine:"Afegeix una línia nova (editor de text)",title:"Ajuda",view:"Visualització",zoomToFit:"Zoom per veure tots els elements",zoomToSelection:"Zoom per veure la selecció",toggleElementLock:"Blocar/desblocar la selecció",movePageUpDown:"Mou la pàgina cap amunt/a baix",movePageLeftRight:"Mou la pàgina cap a l'esquerra/dreta"},Evu={title:"Neteja el llenç"},Avu={title:"Publica la biblioteca",itemName:"Nom de l'element",authorName:"Nom de l'autor/a",githubUsername:"Nom d'usuari de GitHub",twitterUsername:"Nom d'usuari de Twitter",libraryName:"Nom de la biblioteca",libraryDesc:"Descripció de la biblioteca",website:"Lloc web",placeholder:{authorName:"Nom o usuari",libraryName:"Nom de la vostra biblioteca",libraryDesc:"Descripció de la biblioteca per a ajudar a la gent a entendre'n el funcionament",githubHandle:"Identificador de GitHub (opcional), per tal que pugueu editar la biblioteca una vegada enviada per a ser revisada",twitterHandle:"Usuari de twitter (opcional), per tal que puguem donar-vos crèdit quan fem la promoció a Twitter",website:"Enllaç al vostre lloc web personal o a qualsevol altre (opcional)"},errors:{required:"Requerit",website:"Introduïu una URL vàlida"},noteDescription:"Envieu la vostra biblioteca perquè sigui inclosa al <link>repositori públic</link>per tal que altres persones puguin fer-ne ús en els seus dibuixos.",noteGuidelines:"La biblioteca ha de ser aprovada manualment. Si us plau, llegiu les <link>directrius</link> abans d'enviar-hi res. Necessitareu un compte de GitHub per a comunicar i fer-hi canvis si cal, però no és requisit imprescindible.",noteLicense:"Quan l'envieu, accepteu que la biblioteca sigui publicada sota la <link>llicència MIT, </link>que, en resum, vol dir que qualsevol persona pot fer-ne ús sense restriccions.",noteItems:"Cada element de la biblioteca ha de tenir el seu propi nom per tal que sigui filtrable. S'hi inclouran els elements següents:",atleastOneLibItem:"Si us plau, seleccioneu si més no un element de la biblioteca per a començar",republishWarning:"Nota: alguns dels elements seleccionats s'han marcat com a publicats/enviats. Només hauríeu de reenviar elements quan actualitzeu una biblioteca existent."},Cvu={title:"Biblioteca enviada",content:"Gràcies, {{authorName}}. La vostra biblioteca ha estat enviada per a ser revisada. Podeu comprovar-ne l'estat<link>aquí</link>"},Dvu={resetLibrary:"Restableix la biblioteca",removeItemsFromLib:"Suprimeix els elements seleccionats de la llibreria"},Fvu={header:"",label:{withBackground:"",onlySelected:"Només els seleccionats",darkMode:"Mode fosc",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"Exporta a PNG",exportToSvg:"Exporta a SVG",copyPngToClipboard:"Copia el PNG al porta-retalls"},button:{exportToPng:"PNG",exportToSvg:"",copyPngToClipboard:""}},Uvu={tooltip:"Els vostres dibuixos estan xifrats de punta a punta de manera que els servidors dExcalidraw no els veuran mai.",link:"Article del blog sobre encriptació d'extrem a extrem a Excalidraw"},zvu={angle:"Angle",element:"Element",elements:"Elements",height:"Altura",scene:"Escena",selected:"Seleccionat",storage:"Emmagatzematge",title:"Estadístiques per nerds",total:"Total",version:"Versió",versionCopy:"Feu clic per a copiar",versionNotAvailable:"Versió no disponible",width:"Amplada"},kvu={addedToLibrary:"Afegit a la biblioteca",copyStyles:"S'han copiat els estils.",copyToClipboard:"S'ha copiat al porta-retalls.",copyToClipboardAsPng:`S'ha copiat {{exportSelection}} al porta-retalls en format PNG
({{exportColorScheme}})`,fileSaved:"S'ha desat el fitxer.",fileSavedToFilename:"S'ha desat a {filename}",canvas:"el llenç",selection:"la selecció",pasteAsSingleElement:`Fer servir {{shortcut}} per enganxar com un sol element,
o enganxeu-lo en un editor de text existent`,unableToEmbed:"",unrecognizedLinkFormat:""},fvu={transparent:"Transparent",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"Verd",yellow:"Groc",orange:"Taronja",bronze:"Bronze"},Mvu={app:{center_heading:"Totes les vostres dades es guarden localment al vostre navegador.",center_heading_plus:"Vols anar a Excalidraw+ en comptes?",menuHint:"Exportar, preferències, llenguatges..."},defaults:{menuHint:"Exportar, preferències i més...",center_heading:"Diagrames. Fer. Simple.",toolbarHint:"Selecciona una eina i comença a dibuixar!",helpHint:"Dreceres i ajuda"}},bvu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},Zvu={action:{exportToImage:{title:"Exporta com a imatge",button:"Exporta com a imatge",description:""},saveToDisk:{title:"Desa al disc",button:"Desa al disc",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"Carrega des d'un fitxer",button:"Carrega des d'un fitxer",description:""},shareableLink:{title:"Carrega des d'un enllaç",button:"",description:""}}},Jvu={title:"De Mermaid a Excalidraw",button:"Insereix",description:"",syntax:"Sintaxi de Mermaid",preview:"Previsualització"},gk3={labels:yXu,library:rXu,buttons:gXu,alerts:cXu,errors:_Xu,toolBar:pXu,headings:nXu,hints:dXu,canvasError:sXu,errorSplash:oXu,roomDialog:tXu,errorDialog:eXu,exportDialog:uvu,helpDialog:Bvu,clearCanvasDialog:Evu,publishDialog:Avu,publishSuccessDialog:Cvu,confirmDialog:Dvu,imageExportDialog:Fvu,encrypted:Uvu,stats:zvu,toast:kvu,colors:fvu,welcomeScreen:Mvu,colorPicker:bvu,overwriteConfirm:Zvu,mermaid:Jvu}});var gvu={};ju(gvu,{welcomeScreen:()=>mvu,toolBar:()=>Lvu,toast:()=>ivu,stats:()=>hvu,roomDialog:()=>Svu,publishSuccessDialog:()=>Pvu,publishDialog:()=>Ivu,overwriteConfirm:()=>yvu,mermaid:()=>rvu,library:()=>Gvu,labels:()=>Qvu,imageExportDialog:()=>Nvu,hints:()=>vvu,helpDialog:()=>Tvu,headings:()=>Xvu,exportDialog:()=>Rvu,errors:()=>lvu,errorSplash:()=>Wvu,errorDialog:()=>Yvu,encrypted:()=>Vvu,default:()=>ck3,confirmDialog:()=>jvu,colors:()=>avu,colorPicker:()=>$vu,clearCanvasDialog:()=>Ovu,canvasError:()=>xvu,buttons:()=>Hvu,alerts:()=>qvu});var Qvu,Gvu,Hvu,qvu,lvu,Lvu,Xvu,vvu,xvu,Wvu,Svu,Yvu,Rvu,Tvu,Ovu,Ivu,Pvu,jvu,Nvu,Vvu,hvu,ivu,avu,mvu,$vu,yvu,rvu,ck3;var cvu=g(()=>{m4();Qvu={paste:"Vložit",pasteAsPlaintext:"Vložit jako prostý text",pasteCharts:"Vložit grafy",selectAll:"Vybrat vše",multiSelect:"Přidat prvek do výběru",moveCanvas:"Posunout plátno",cut:"Vyjmout",copy:"Kopírovat",copyAsPng:"Zkopírovat do schránky jako PNG",copyAsSvg:"Zkopírovat do schránky jako SVG",copyText:"Zkopírovat do schránky jako text",copySource:"",convertToCode:"",bringForward:"Přenést blíž",sendToBack:"Přenést do pozadí",bringToFront:"Přenést do popředí",sendBackward:"Přenést dál",delete:"Smazat",copyStyles:"Kopírovat styly",pasteStyles:"Vložit styly",stroke:"Obrys",background:"Pozadí",fill:"Výplň",strokeWidth:"Tloušťka tahu",strokeStyle:"Styl tahu",strokeStyle_solid:"Plný",strokeStyle_dashed:"Čárkovaný",strokeStyle_dotted:"Tečkovaný",sloppiness:"Stylizace",opacity:"Průhlednost",textAlign:"Zarovnání textu",edges:"Hrany",sharp:"Ostré",round:"Zaoblené",arrowheads:"Styl šipky",arrowhead_none:"Žádný",arrowhead_arrow:"Šipka",arrowhead_bar:"Kóta",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Trojúhelník",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Velikost písma",fontFamily:"Písmo",addWatermark:'Přidat "Vyrobeno s Excalidraw"',handDrawn:"Od ruky",normal:"Normální",code:"Kód",small:"Malé",medium:"Střední",large:"Velké",veryLarge:"Velmi velké",solid:"Plný",hachure:"Hachure",zigzag:"Klikatě",crossHatch:"Křížový šrafování",thin:"Tenký",bold:"Tlustý",left:"Vlevo",center:"Na střed",right:"Vpravo",extraBold:"Extra tlustý",architect:"Architekt",artist:"Umělec",cartoonist:"Kartoonista",fileTitle:"Název souboru",colorPicker:"Výběr barvy",canvasColors:"Použito na plátně",canvasBackground:"Pozadí plátna",drawingCanvas:"Kreslicí plátno",layers:"Vrstvy",actions:"Akce",language:"Jazyk",liveCollaboration:"Živá spolupráce...",duplicateSelection:"Duplikovat",untitled:"Bez názvu",name:"Název",yourName:"Vaše jméno",madeWithExcalidraw:"Vytvořeno v Excalidraw",group:"Sloučit výběr do skupiny",ungroup:"Zrušit sloučení skupiny",collaborators:"Spolupracovníci",showGrid:"Zobrazit mřížku",addToLibrary:"Přidat do knihovny",removeFromLibrary:"Odebrat z knihovny",libraryLoadingMessage:"Načítání knihovny…",libraries:"Procházet knihovny",loadingScene:"Načítání scény…",align:"Zarovnání",alignTop:"Zarovnat nahoru",alignBottom:"Zarovnat dolů",alignLeft:"Zarovnat vlevo",alignRight:"Zarovnejte vpravo",centerVertically:"Vycentrovat svisle",centerHorizontally:"Vycentrovat vodorovně",distributeHorizontally:"Rozložit horizontálně",distributeVertically:"Rozložit svisle",flipHorizontal:"Převrátit vodorovně",flipVertical:"Převrátit svisle",viewMode:"Náhled",share:"Sdílet",showStroke:"Zobrazit výběr barvy",showBackground:"Zobrazit výběr barev pozadí",toggleTheme:"Přepnout tmavý řežim",personalLib:"Osobní knihovna",excalidrawLib:"Exkalidraw knihovna",decreaseFontSize:"Zmenšit písmo",increaseFontSize:"Zvětšit písmo",unbindText:"Zrušit vazbu textu",bindText:"Vázat text s kontejnerem",createContainerFromText:"Zabalit text do kontejneru",link:{edit:"Upravit odkaz",editEmbed:"",create:"Vytvořit odkaz",createEmbed:"",label:"Odkaz",labelEmbed:"",empty:""},lineEditor:{edit:"Upravit čáru",exit:"Ukončit editor řádků"},elementLock:{lock:"Uzamknout",unlock:"Odemknout",lockAll:"Uzamknout vše",unlockAll:"Odemknout vše"},statusPublished:"Zveřejněno",sidebarLock:"Ponechat postranní panel otevřený",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"Vyberte barvu z plátna",textToDiagram:"",prompt:""},Gvu={noItems:"Dosud neexistují žádné položky...",hint_emptyLibrary:"Vyberte položku na plátně a přidejte ji sem nebo nainstalujte knihovnu z veřejného úložiště níže.",hint_emptyPrivateLibrary:"Vyberte položku na plátně a přidejte ji sem."},Hvu={clearReset:"Resetovat plátno",exportJSON:"Exportovat do souboru",exportImage:"Exportovat obrázek...",export:"Uložit jako...",copyToClipboard:"Kopírovat do schránky",save:"Uložit do aktuálního souboru",saveAs:"Uložit jako",load:"Otevřít",getShareableLink:"Získat odkaz pro sdílení",close:"Zavřít",selectLanguage:"Zvolit jazyk",scrollBackToContent:"Přejít zpět na obsah",zoomIn:"Přiblížit",zoomOut:"Oddálit",resetZoom:"Resetovat přiblížení",menu:"Menu",done:"Hotovo",edit:"Upravit",undo:"Zpět",redo:"Znovu",resetLibrary:"Obnovit knihovnu",createNewRoom:"Vytvořit novou místnost",fullScreen:"Celá obrazovka",darkMode:"Tmavý režim",lightMode:"Světlý režim",zenMode:"Zen mód",objectsSnapMode:"",exitZenMode:"Opustit zen mód",cancel:"Zrušit",clear:"Vyčistit",remove:"Odstranit",embed:"",publishLibrary:"Zveřejnit",submit:"Odeslat",confirm:"Potvrdit",embeddableInteractionButton:""},qvu={clearReset:"Toto vymaže celé plátno. Jste si jisti?",couldNotCreateShareableLink:"Nepodařilo se vytvořit sdílitelný odkaz.",couldNotCreateShareableLinkTooBig:"Nepodařilo se vytvořit sdílený odkaz: scéna je příliš velká",couldNotLoadInvalidFile:"Nepodařilo se načíst neplatný soubor",importBackendFailed:"Import z backendu se nezdařil.",cannotExportEmptyCanvas:"Nelze exportovat prázdné plátno.",couldNotCopyToClipboard:"Nelze zkopírovat do schránky.",decryptFailed:"Nelze dešifrovat data.",uploadedSecurly:"Nahrávání je zabezpečeno koncovým šifrováním, což znamená, že server Excalidraw ani třetí strany nemohou obsah přečíst.",loadSceneOverridePrompt:"Načítání externího výkresu nahradí váš existující obsah. Přejete si pokračovat?",collabStopOverridePrompt:`Zastavení relace přepíše vaše předchozí, lokálně uložené kresby. Jste si jisti?
(Pokud chcete zachovat místní kresbu, jednoduše zavřete kartu prohlížeče)`,errorAddingToLibrary:"Položku nelze přidat do knihovny",errorRemovingFromLibrary:"Položku nelze odstranit z knihovny",confirmAddLibrary:"Tímto přidáte {{numShapes}} tvarů do tvé knihovny. Jste si jisti?",imageDoesNotContainScene:"Zdá se, že tento obrázek neobsahuje žádná data o scéně. Zapnuli jste při exportu vkládání scény?",cannotRestoreFromImage:"Scénu nelze obnovit z tohoto souboru obrázku",invalidSceneUrl:"Nelze importovat scénu z zadané URL. Je buď poškozená, nebo neobsahuje platná JSON data Excalidraw.",resetLibrary:"Tímto vymažete vaši knihovnu. Jste si jisti?",removeItemsFromsLibrary:"Smazat {{count}} položek z knihovny?",invalidEncryptionKey:"Šifrovací klíč musí mít 22 znaků. Live spolupráce je zakázána.",collabOfflineWarning:`Není k dispozici žádné internetové připojení.
Vaše změny nebudou uloženy!`},lvu={unsupportedFileType:"Nepodporovaný typ souboru.",imageInsertError:"Nelze vložit obrázek. Zkuste to později...",fileTooBig:"Soubor je příliš velký. Maximální povolená velikost je {{maxSize}}.",svgImageInsertError:"Nelze vložit SVG obrázek. Značení SVG je neplatné.",failedToFetchImage:"",invalidSVGString:"Neplatný SVG.",cannotResolveCollabServer:"Nelze se připojit ke sdílenému serveru. Prosím obnovte stránku a zkuste to znovu.",importLibraryError:"Nelze načíst knihovnu",collabSaveFailed:"Nelze uložit do databáze na serveru. Pokud problémy přetrvávají, měli byste uložit soubor lokálně, abyste se ujistili, že neztratíte svou práci.",collabSaveFailed_sizeExceeded:"Nelze uložit do databáze na serveru, plátno se zdá být příliš velké. Měli byste uložit soubor lokálně, abyste se ujistili, že neztratíte svou práci.",imageToolNotSupported:"",brave_measure_text_error:{line1:"Vypadá to, že používáte Brave prohlížeč s povoleným nastavením <bold>Aggressively Block Fingerprinting</bold>.",line2:"To by mohlo vést k narušení <bold>Textových elementů</bold> ve vašich výkresech.",line3:"Důrazně doporučujeme zakázat toto nastavení. Můžete sledovat <link>tyto kroky</link> jak to udělat.",line4:"Pokud vypnutí tohoto nastavení neopravuje zobrazení textových prvků, prosím, otevřete <issueLink>problém</issueLink> na našem GitHubu, nebo nám napište na <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Lvu={selection:"Výběr",image:"Vložit obrázek",rectangle:"Obdélník",diamond:"Diamant",ellipse:"Elipsa",arrow:"Šipka",line:"Čára",freedraw:"Kreslení",text:"Text",library:"Knihovna",lock:"Po kreslení ponechat vybraný nástroj aktivní",penMode:"Režim Pera - zabránit dotyku",link:"Přidat/aktualizovat odkaz pro vybraný tvar",eraser:"Guma",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Ruka (nástroj pro posouvání)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},Xvu={canvasActions:"Akce plátna",selectedShapeActions:"Akce vybraného tvaru",shapes:"Tvary"},vvu={canvasPanning:"Chcete-li přesunout plátno, podržte kolečko nebo mezerník při tažení nebo použijte nástroj Ruka",linearElement:"Kliknutím pro více bodů, táhnutím pro jednu čáru",freeDraw:"Klikněte a táhněte, pro ukončení pusťte",text:"Tip: Text můžete také přidat dvojitým kliknutím kdekoli pomocí nástroje pro výběr",embeddable:"",text_selected:"Dvojklikem nebo stisknutím klávesy ENTER upravíte text",text_editing:"Stiskněte Escape nebo Ctrl/Cmd+ENTER pro dokončení úprav",linearElementMulti:"Klikněte na poslední bod nebo stiskněte Escape anebo Enter pro dokončení",lockAngle:"Úhel můžete omezit podržením SHIFT",resize:`Můžete omezit proporce podržením SHIFT při změně velikosti,
podržte ALT pro změnu velikosti od středu`,resizeImage:`Můžete volně změnit velikost podržením SHIFT,
podržením klávesy ALT změníte velikosti od středu`,rotate:"Úhly můžete omezit podržením SHIFT při otáčení",lineEditor_info:"Podržte Ctrl/Cmd a dvakrát klikněte nebo stiskněte Ctrl/Cmd + Enter pro úpravu bodů",lineEditor_pointSelected:`Stisknutím tlačítka Delete odstraňte bod(y),
Ctrl/Cmd+D pro duplicitu nebo táhnutím pro přesun`,lineEditor_nothingSelected:`Vyberte bod, který chcete upravit (podržením klávesy SHIFT vyberete více položek),
nebo podržením klávesy Alt a kliknutím přidáte nové body`,placeImage:"Kliknutím umístěte obrázek, nebo klepnutím a přetažením ručně nastavíte jeho velikost",publishLibrary:"Publikovat vlastní knihovnu",bindTextToElement:"Stiskněte Enter pro přidání textu",deepBoxSelect:"Podržte Ctrl/Cmd pro hluboký výběr a pro zabránění táhnutí",eraserRevert:"Podržením klávesy Alt vrátíte prvky označené pro smazání",firefox_clipboard_write:'Tato funkce může být povolena nastavením vlajky "dom.events.asyncClipboard.clipboardItem" na "true". Chcete-li změnit vlajky prohlížeče ve Firefoxu, navštivte stránku "about:config".',disableSnapping:""},xvu={cannotShowPreview:"Náhled nelze zobrazit",canvasTooBig:"Plátno je možná příliš velké.",canvasTooBigTip:"Tip: zkus posunout nejvzdálenější prvky trochu blíže k sobě."},Wvu={headingMain:"Chyba. Zkuste <button>znovu načíst stránku</button>.",clearCanvasMessage:"Pokud opětovné načtení nefunguje, zkuste <button>vymazat plátno</button>.",clearCanvasCaveat:" To povede ke ztrátě dat ",trackedToSentry:"Chyba identifikátoru {{eventId}} byl zaznamenán v našem systému.",openIssueMessage:"Byli jsme velmi opatrní, abychom neuváděli informace o Vaší scéně. Pokud vaše scéna není soukromá, zvažte prosím sledování na našem <button>bug trackeru</button>. Uveďte prosím níže uvedené informace kopírováním a vložením do problému na GitHubu.",sceneContent:"Obsah scény:"},Svu={desc_intro:"Můžete pozvat lidi na vaši aktuální scénu ke spolupráci s vámi.",desc_privacy:"Nebojte se, relace používá end-to-end šifrování, takže cokoliv nakreslíte zůstane soukromé. Ani náš server nebude schopen vidět, s čím budete pracovat.",button_startSession:"Zahájit relaci",button_stopSession:"Ukončit relaci",desc_inProgressIntro:"Živá spolupráce právě probíhá.",desc_shareLink:"Sdílejte tento odkaz s každým, s kým chcete spolupracovat:",desc_exitSession:"Zastavením relace se odpojíte od místnosti, ale budete moci pokračovat v práci s touto scénou lokálně. Všimněte si, že to nebude mít vliv na ostatní lidi a budou stále moci spolupracovat na jejich verzi.",shareTitle:"Připojte se k aktivní spolupráci na Excalidraw"},Yvu={title:"Chyba"},Rvu={disk_title:"Uložit na disk",disk_details:"Exportovat data scény do souboru, ze kterého můžete importovat později.",disk_button:"Uložit do souboru",link_title:"Odkaz pro sdílení",link_details:"Exportovat jako odkaz pouze pro čtení.",link_button:"Exportovat do odkazu",excalidrawplus_description:"Uložit scénu do vašeho pracovního prostoru Excalidraw+.",excalidrawplus_button:"Exportovat",excalidrawplus_exportError:"Export do Excalidraw+ se v tuto chvíli nezdařil..."},Tvu={blog:"Přečtěte si náš blog",click:"kliknutí",deepSelect:"Hluboký výběr",deepBoxSelect:"Hluboký výběr uvnitř boxu a zabránění táhnnutí",curvedArrow:"Zakřivená šipka",curvedLine:"Zakřivená čára",documentation:"Dokumentace",doubleClick:"dvojklik",drag:"tažení",editor:"Editor",editLineArrowPoints:"Upravit body linií/šipek",editText:"Upravit text / přidat popis",github:"Našel jsi problém? Nahlaš ho",howto:"Sledujte naše návody",or:"nebo",preventBinding:"Zabránit vázání šipky",tools:"Nástroje",shortcuts:"Klávesové zkratky",textFinish:"Dokončit úpravy (textový editor)",textNewLine:"Přidat nový řádek (textový editor)",title:"Nápověda",view:"Zobrazení",zoomToFit:"Přiblížit na zobrazení všech prvků",zoomToSelection:"Přiblížit na výběr",toggleElementLock:"Zamknout/odemknout výběr",movePageUpDown:"Posunout stránku nahoru/dolů",movePageLeftRight:"Přesunout stránku doleva/doprava"},Ovu={title:"Vymazat plátno"},Ivu={title:"Publikovat knihovnu",itemName:"Název položky",authorName:"Jméno autora",githubUsername:"GitHub uživatelské jméno",twitterUsername:"Twitter uživatelské jméno",libraryName:"Název knihovny",libraryDesc:"Popis knihovny",website:"Webová stránka",placeholder:{authorName:"Jméno nebo uživatelské jméno",libraryName:"Název vaší knihovny",libraryDesc:"Popis Vaší knihovny, který pomůže lidem pochopit její využití",githubHandle:"Github uživatelské jméno (nepovinné), abyste mohli upravovat knihovnu poté co je odeslána ke kontrole",twitterHandle:"Twitter uživatelské jméno (nepovinné), abychom věděli koho označit při propagaci na Twitteru",website:"Odkaz na Vaši osobní webovou stránku nebo jinam (nepovinné)"},errors:{required:"Povinné",website:"Zadejte platnou URL adresu"},noteDescription:"Odešlete svou knihovnu, pro zařazení do <link>veřejného úložiště knihoven</link>, odkud ji budou moci při kreslení využít i ostatní uživatelé.",noteGuidelines:"Knihovna musí být nejdříve ručně schválena. Přečtěte si prosím <link>pokyny</link>",noteLicense:"Odesláním souhlasíte s tím, že knihovna bude zveřejněna pod <link>MIT licencí</link>, stručně řečeno, kdokoli ji může používat bez omezení.",noteItems:"Každá položka knihovny musí mít svůj vlastní název, aby byla filtrovatelná. Následující položky knihovny budou zahrnuty:",atleastOneLibItem:"Vyberte alespoň jednu položku knihovny, kterou chcete začít",republishWarning:"Poznámka: některé z vybraných položek jsou označeny jako již zveřejněné/odeslané. Položky byste měli znovu odeslat pouze při aktualizaci existující knihovny nebo podání."},Pvu={title:"Knihovna byla odeslána",content:"Děkujeme vám {{authorName}}. Vaše knihovna byla odeslána k posouzení. Stav můžete sledovat <link>zde</link>"},jvu={resetLibrary:"Resetovat knihovnu",removeItemsFromLib:"Odstranit vybrané položky z knihovny"},Nvu={header:"Exportovat obrázek",label:{withBackground:"Pozadí",onlySelected:"Pouze vybrané",darkMode:"Tmavý režim",embedScene:"Vložit scénu",scale:"Měřítko",padding:"Odsazení"},tooltip:{embedScene:`Data scény budou uložena do exportovaného souboru PNG/SVG tak, aby z něj mohla být scéna obnovena.
Zvýší se velikost exportovaného souboru.`},title:{exportToPng:"Exportovat do PNG",exportToSvg:"Exportovat do SVG",copyPngToClipboard:"Kopírovat PNG do schránky"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Kopírovat do schránky"}},Vvu={tooltip:"Vaše kresby jsou end-to-end šifrované, takže servery Excalidraw je nikdy neuvidí.",link:"Blog příspěvek na end-to-end šifrování v Excalidraw"},hvu={angle:"Úhel",element:"Prvek",elements:"Prvky",height:"Výška",scene:"Scéna",selected:"Vybráno",storage:"Úložiště",title:"Statistika pro nerdy",total:"Celkem",version:"Verze",versionCopy:"Kliknutím zkopírujete",versionNotAvailable:"Verze není k dispozici",width:"Šířka"},ivu={addedToLibrary:"Přidáno do knihovny",copyStyles:"Styly byly zkopírovány.",copyToClipboard:"Zkopírováno do schránky.",copyToClipboardAsPng:`{{exportSelection}} zkopírován do schránky jako PNG
({{exportColorScheme}})`,fileSaved:"Soubor byl uložen.",fileSavedToFilename:"Uloženo do {filename}",canvas:"plátno",selection:"výběr",pasteAsSingleElement:`Pomocí {{shortcut}} vložte jako jeden prvek,
nebo vložte do existujícího textového editoru`,unableToEmbed:"",unrecognizedLinkFormat:""},avu={transparent:"Průhledná",black:"Černá",white:"Bílá",red:"Červená",pink:"Růžová",grape:"Vínová",violet:"Fialová",gray:"Šedá",blue:"Modrá",cyan:"Azurová",teal:"Modrozelená",green:"Zelená",yellow:"Žlutá",orange:"Oranžová",bronze:"Bronzová"},mvu={app:{center_heading:"Všechna vaše data jsou uložena lokálně ve vašem prohlížeči.",center_heading_plus:"Chcete místo toho přejít na Excalidraw+?",menuHint:"Export, nastavení, jazyky, ..."},defaults:{menuHint:"Export, nastavení a další...",center_heading:"Diagramy. Vytvořeny. Jednoduše.",toolbarHint:"Vyberte nástroj a začněte kreslit!",helpHint:"Zkratky a pomoc"}},$vu={mostUsedCustomColors:"Nejpoužívanější vlastní barvy",colors:"Barvy",shades:"Stíny",hexCode:"Hex kód",noShades:"Pro tuto barvu nejsou k dispozici žádné odstíny"},yvu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},rvu={title:"",button:"",description:"",syntax:"",preview:""},ck3={labels:Qvu,library:Gvu,buttons:Hvu,alerts:qvu,errors:lvu,toolBar:Lvu,headings:Xvu,hints:vvu,canvasError:xvu,errorSplash:Wvu,roomDialog:Svu,errorDialog:Yvu,exportDialog:Rvu,helpDialog:Tvu,clearCanvasDialog:Ovu,publishDialog:Ivu,publishSuccessDialog:Pvu,confirmDialog:jvu,imageExportDialog:Nvu,encrypted:Vvu,stats:hvu,toast:ivu,colors:avu,welcomeScreen:mvu,colorPicker:$vu,overwriteConfirm:yvu,mermaid:rvu}});var Hxu={};ju(Hxu,{welcomeScreen:()=>Kxu,toolBar:()=>ovu,toast:()=>Zxu,stats:()=>bxu,roomDialog:()=>Exu,publishSuccessDialog:()=>zxu,publishDialog:()=>Uxu,overwriteConfirm:()=>Qxu,mermaid:()=>Gxu,library:()=>pvu,labels:()=>_vu,imageExportDialog:()=>fxu,hints:()=>evu,helpDialog:()=>Dxu,headings:()=>tvu,exportDialog:()=>Cxu,errors:()=>svu,errorSplash:()=>Bxu,errorDialog:()=>Axu,encrypted:()=>Mxu,default:()=>_k3,confirmDialog:()=>kxu,colors:()=>Jxu,colorPicker:()=>wxu,clearCanvasDialog:()=>Fxu,canvasError:()=>uxu,buttons:()=>nvu,alerts:()=>dvu});var _vu,pvu,nvu,dvu,svu,ovu,tvu,evu,uxu,Bxu,Exu,Axu,Cxu,Dxu,Fxu,Uxu,zxu,kxu,fxu,Mxu,bxu,Zxu,Jxu,Kxu,wxu,Qxu,Gxu,_k3;var qxu=g(()=>{m4();_vu={paste:"Indsæt",pasteAsPlaintext:"Indsæt som klartekst",pasteCharts:"Indsæt diagrammer",selectAll:"Marker alle",multiSelect:"Tilføj element til markering",moveCanvas:"Flyt lærred",cut:"Klip",copy:"Kopier",copyAsPng:"Kopier til klippebord som PNG",copyAsSvg:"Kopier til klippebord som SVG",copyText:"Kopiér til udklipsholder som tekst",copySource:"Kopiér kilde til udklipsholder",convertToCode:"Konvertér til kode",bringForward:"Flyt fremad",sendToBack:"Placer bagest",bringToFront:"Placer forrest",sendBackward:"Send bagud",delete:"Fjern",copyStyles:"Kopier stil",pasteStyles:"Indsæt stil",stroke:"Linje",background:"Baggrund",fill:"Udfyld",strokeWidth:"Linjebredde",strokeStyle:"Linjeform",strokeStyle_solid:"Solid",strokeStyle_dashed:"Stiplet",strokeStyle_dotted:"Prikket",sloppiness:"Sjuskethed",opacity:"Gennemsigtighed",textAlign:"Tekstjustering",edges:"Kanter",sharp:"Skarp",round:"Rund",arrowheads:"Pilehoveder",arrowhead_none:"Ingen",arrowhead_arrow:"Pil",arrowhead_bar:"Bjælke",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Trekant",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Skriftstørrelse",fontFamily:"Skrifttypefamilie",addWatermark:'Tilføj "Lavet med Excalidraw"',handDrawn:"Hånd-tegnet",normal:"Normal",code:"Kode",small:"Lille",medium:"Mellem",large:"Stor",veryLarge:"Meget stor",solid:"Solid",hachure:"Skravering",zigzag:"Zigzag",crossHatch:"Krydsskravering",thin:"Tynd",bold:"Fed",left:"Venstre",center:"Centrere",right:"Højre",extraBold:"Extra fed",architect:"Arkitekt",artist:"Kunstner",cartoonist:"Tegneserietegner",fileTitle:"Filnavn",colorPicker:"Farvevælger",canvasColors:"Brugt på lærred",canvasBackground:"Lærredsbaggrund",drawingCanvas:"Tegnelærred",layers:"Lag",actions:"Handlinger",language:"Sprog",liveCollaboration:"Live samarbejde...",duplicateSelection:"Duplikér",untitled:"Unavngivet",name:"Navn",yourName:"Dit navn",madeWithExcalidraw:"Fremstillet med Excalidraw",group:"Grupper valgte",ungroup:"Opløs gruppe",collaborators:"Deltagere",showGrid:"Vis gitter",addToLibrary:"Føj til Bibliotek",removeFromLibrary:"Fjern fra biblioteket",libraryLoadingMessage:"Indlæser bibliotek…",libraries:"Gennemse biblioteker",loadingScene:"Indlæser scene…",align:"Justér",alignTop:"Juster til top",alignBottom:"Juster til bund",alignLeft:"Venstrejusteret",alignRight:"Juster højre",centerVertically:"Center vertikalt",centerHorizontally:"Vandret centreret",distributeHorizontally:"Distribuer vandret",distributeVertically:"Distribuer lodret",flipHorizontal:"Spejlvend horisontalt",flipVertical:"Vend lodret",viewMode:"Visningstilstand",share:"Del",showStroke:"Vis stregfarve-vælger",showBackground:"Vis baggrundsfarve-vælger",toggleTheme:"Skift tema",personalLib:"Personligt bibliotek",excalidrawLib:"Excalidraw Bibliotek",decreaseFontSize:"Gør skriften mindre",increaseFontSize:"Gør skriften større",unbindText:"Frigør tekst",bindText:"Bind tekst til beholderen",createContainerFromText:"Ombryd tekst i en beholder",link:{edit:"Redigér link",editEmbed:"Redigér link & indlejret",create:"Link oprettet",createEmbed:"Opret link & indlejret",label:"Links",labelEmbed:"Link & indlejret",empty:"Intet link angivet"},lineEditor:{edit:"Rediger Linje",exit:"Afslut linjeeditor"},elementLock:{lock:"Lås",unlock:"Lås op",lockAll:"Lås alle",unlockAll:"Lås alle op"},statusPublished:"Udgiver",sidebarLock:"Hold sidepanel åben",selectAllElementsInFrame:"Vælg alle elementer i rammen",removeAllElementsFromFrame:"Fjern alle elementer fra ramme",eyeDropper:"Vælg farve fra lærred",textToDiagram:"Tekst til diagram",prompt:"Prompt"},pvu={noItems:"Ingen varer tilføjet endnu...",hint_emptyLibrary:"Vælg et element på lærred for at tilføje det her, eller installer et bibliotek fra det offentlige arkiv, nedenfor.",hint_emptyPrivateLibrary:"Vælg et element på lærred for at tilføje det her."},nvu={clearReset:"Nulstil lærredet",exportJSON:"Eksportér til fil",exportImage:"Eksporter billede...",export:"Gem til...",copyToClipboard:"Kopier til klippebord",save:"Gem til nuværende fil",saveAs:"Gem som",load:"Åbn",getShareableLink:"Lav et delbart link",close:"Luk",selectLanguage:"Vælg sprog",scrollBackToContent:"Scroll tilbage til indhold",zoomIn:"Zoom ind",zoomOut:"Zoom ud",resetZoom:"Nulstil zoom",menu:"Menu",done:"Færdig",edit:"Rediger",undo:"Fortryd",redo:"Gendan",resetLibrary:"Nulstil bibliotek",createNewRoom:"Opret nyt rum",fullScreen:"Fuld skærm",darkMode:"Mørk tilstand",lightMode:"Lys baggrund",zenMode:"Zentilstand",objectsSnapMode:"Fastgør til objekter",exitZenMode:"Stop zentilstand",cancel:"Annuller",clear:"Ryd",remove:"Fjern",embed:"Slå indlejring til/fra",publishLibrary:"Publicér",submit:"Gem",confirm:"Bekræft",embeddableInteractionButton:"Klik for at interagere"},dvu={clearReset:"Dette vil rydde hele lærredet. Er du sikker?",couldNotCreateShareableLink:"Kunne ikke oprette delbart link.",couldNotCreateShareableLinkTooBig:"Kunne ikke oprette delbart link: scenen er for stor",couldNotLoadInvalidFile:"Kunne ikke indlæse ugyldig fil",importBackendFailed:"Import fra backend mislykkedes.",cannotExportEmptyCanvas:"Kan ikke eksportere tomt lærred.",couldNotCopyToClipboard:"Kunne ikke kopiere til udklipsholderen.",decryptFailed:"Kunne ikke dekryptere data.",uploadedSecurly:"Upload er blevet sikret med ende-til-ende kryptering, hvilket betyder, at Excalidraw server og tredjeparter ikke kan læse indholdet.",loadSceneOverridePrompt:"Indlæsning af ekstern tegning erstatter dit eksisterende indhold. Ønsker du at fortsætte?",collabStopOverridePrompt:`Stopper sessionen vil overskrive din tidligere, lokalt gemte tegning. Er du sikker?
(Hvis du ønsker at beholde din lokale tegning, skal du blot lukke browserfanen i stedet.)`,errorAddingToLibrary:"Kunne ikke tilføje element til biblioteket",errorRemovingFromLibrary:"Kunne ikke fjerne element fra biblioteket",confirmAddLibrary:"Dette vil tilføje {{numShapes}} form(er) til dit bibliotek. Er du sikker?",imageDoesNotContainScene:"Dette billede synes ikke at indeholde scene data. Har du aktiveret scene indlejring under eksport?",cannotRestoreFromImage:"Scene kunne ikke gendannes fra denne billedfil",invalidSceneUrl:"Kunne ikke importere scene fra den angivne URL. Det er enten misdannet eller indeholder ikke gyldige Excalidraw JSON data.",resetLibrary:"Dette vil rydde hele lærredet. Er du sikker?",removeItemsFromsLibrary:"Slet {{count}} vare(r) fra biblioteket?",invalidEncryptionKey:"Krypteringsnøglen skal være på 22 tegn. Live-samarbejde er deaktiveret.",collabOfflineWarning:`Ingen internetforbindelse tilgængelig.
Dine ændringer vil ikke blive gemt!`},svu={unsupportedFileType:"Filtypen er ikke understøttet.",imageInsertError:"Billedet kunne ikke indsættes. Prøv igen senere...",fileTooBig:"Filen er for stor. Maksimal tilladt størrelse er {{maxSize}}.",svgImageInsertError:"Kunne ikke indsætte SVG-billede. SVG-markup'en ser ugyldig ud.",failedToFetchImage:"Dataene blev ikke hentet.",invalidSVGString:"Ugyldig SVG.",cannotResolveCollabServer:"Kunne ikke oprette forbindelse til samarbejdsserveren. Genindlæs siden og prøv igen.",importLibraryError:"Biblioteket kunne ikke indlæses",collabSaveFailed:"Kunne ikke gemme i databasen. Hvis problemerne fortsætter, bør du gemme din fil lokalt for at sikre, at du ikke mister dit arbejde.",collabSaveFailed_sizeExceeded:"Kunne ikke gemme i databasen, lærredet lader til at være for stort. Du bør gemme filen lokalt for at sikre, at du ikke mister dit arbejde.",imageToolNotSupported:"Billeder er deaktiveret.",brave_measure_text_error:{line1:"Det ser ud til, at du bruger Brave browser med indstillingen <bold>Aggressively Block Fingerprinting</bold> aktiveret.",line2:"Dette kan resultere i brud på <bold>tekstelementerne</bold> i dine tegninger.",line3:"Vi anbefaler kraftigt at deaktivere denne indstilling. Du kan følge <link>disse trin</link> om, hvordan du gør det.",line4:"Hvis deaktivering af denne indstilling ikke løser visning af tekstelementer, åbn venligst et <issueLink>issue</issueLink> på vores GitHub, eller skriv os på <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Indlejringselementer kan ikke tilføjes til biblioteket.",iframe:"IFrame elementer kan ikke tilføjes til biblioteket.",image:"Understøttelse af at tilføje billeder til biblioteket kommer snart!"},asyncPasteFailedOnRead:"Kunne ikke indsætte (kan ikke læse fra systemets udklipsholder).",asyncPasteFailedOnParse:"Kunne ikke indsætte.",copyToSystemClipboardFailed:"Kunne ikke kopiere til udklipsholderen."},ovu={selection:"&Udvalg",image:"Indsæt billeder",rectangle:"Rektangler",diamond:"Diamanter",ellipse:"Ellipser",arrow:"Pile",line:"Linje",freedraw:"Tegn",text:"Tekster",library:"~Bibliotek",lock:"Behold valgte værktøj aktiv efter tegning",penMode:"Pen-tilstand - forhindrer berøring",link:"Tilføj/ Opdater link for en valgt form",eraser:"Slet",frame:"Rammeværktøj",magicframe:"Wireframe til kode",embeddable:"Web-indlejring",laser:"Lasermarkør",hand:"Hånd (panorering værktøj)",extraTools:"Flere værktøjer",mermaidToExcalidraw:"Mermaid til Excalidraw",magicSettings:"AI indstillinger"},tvu={canvasActions:"Lærred handlinger",selectedShapeActions:"Valgte figurhandlinger",shapes:"Former"},evu={canvasPanning:"For at flytte lærred, hold musehjulet eller mellemrumstasten mens du trækker, eller brug håndværktøjet",linearElement:"Klik for at starte flere punkter, træk for enkelt linje",freeDraw:"Klik og træk, slip når du er færdig",text:"Tip: du kan også tilføje tekst ved at dobbeltklikke hvor som helst med det valgte værktøj",embeddable:"Klik på træk for at oprette en hjemmeside indlejret",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},uxu={cannotShowPreview:"Kan ikke vise forhåndsvisning",canvasTooBig:"Lærredet kan være for stort.",canvasTooBigTip:"Tip: Prøv at flytte de fjerneste elementer lidt tættere sammen."},Bxu={headingMain:"Der opstod en fejl. Prøv <button>at genindlæse siden</button>.",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"<button></button> Kopiere og indsæt venligst oplysningerne nedenfor i et GitHub problem.",sceneContent:"Scene indhold:"},Exu={desc_intro:"Du kan invitere folk til din nuværende scene, så de kan samarbejde med dig.",desc_privacy:"Bare rolig, sessionen bruger end-to-end kryptering, så uanset hvad du tegner vil det forblive privat. Ikke engang vores server vil kunne se, hvad du kommer op med.",button_startSession:"Start session",button_stopSession:"Stop session",desc_inProgressIntro:"Live-samarbejde session er nu begyndt.",desc_shareLink:"Del dette link med enhver, du ønsker at samarbejde med:",desc_exitSession:"",shareTitle:""},Axu={title:"Fejl"},Cxu={disk_title:"Gem til disk",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},Dxu={blog:"Læs vores blog",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},Fxu={title:""},Uxu={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},zxu={title:"",content:""},kxu={resetLibrary:"",removeItemsFromLib:""},fxu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},Mxu={tooltip:"",link:""},bxu={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"Statistik for nørder",total:"",version:"",versionCopy:"Klik for at kopiere",versionNotAvailable:"",width:"Bredde"},Zxu={addedToLibrary:"",copyStyles:"Kopieret stilarter.",copyToClipboard:"Kopieret til klippebord.",copyToClipboardAsPng:`Kopieret {{exportSelection}} til klippebord som PNG
({{exportColorScheme}})`,fileSaved:"Fil gemt.",fileSavedToFilename:"Gemt som {filename}",canvas:"canvas",selection:"markering",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},Jxu={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},Kxu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},wxu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},Qxu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Gxu={title:"",button:"",description:"",syntax:"",preview:""},_k3={labels:_vu,library:pvu,buttons:nvu,alerts:dvu,errors:svu,toolBar:ovu,headings:tvu,hints:evu,canvasError:uxu,errorSplash:Bxu,roomDialog:Exu,errorDialog:Axu,exportDialog:Cxu,helpDialog:Dxu,clearCanvasDialog:Fxu,publishDialog:Uxu,publishSuccessDialog:zxu,confirmDialog:kxu,imageExportDialog:fxu,encrypted:Mxu,stats:bxu,toast:Zxu,colors:Jxu,welcomeScreen:Kxu,colorPicker:wxu,overwriteConfirm:Qxu,mermaid:Gxu}});var nxu={};ju(nxu,{welcomeScreen:()=>gxu,toolBar:()=>Wxu,toast:()=>yxu,stats:()=>$xu,roomDialog:()=>Oxu,publishSuccessDialog:()=>hxu,publishDialog:()=>Vxu,overwriteConfirm:()=>_xu,mermaid:()=>pxu,library:()=>Lxu,labels:()=>lxu,imageExportDialog:()=>axu,hints:()=>Yxu,helpDialog:()=>jxu,headings:()=>Sxu,exportDialog:()=>Pxu,errors:()=>xxu,errorSplash:()=>Txu,errorDialog:()=>Ixu,encrypted:()=>mxu,default:()=>pk3,confirmDialog:()=>ixu,colors:()=>rxu,colorPicker:()=>cxu,clearCanvasDialog:()=>Nxu,canvasError:()=>Rxu,buttons:()=>Xxu,alerts:()=>vxu});var lxu,Lxu,Xxu,vxu,xxu,Wxu,Sxu,Yxu,Rxu,Txu,Oxu,Ixu,Pxu,jxu,Nxu,Vxu,hxu,ixu,axu,mxu,$xu,yxu,rxu,gxu,cxu,_xu,pxu,pk3;var dxu=g(()=>{m4();lxu={paste:"Einfügen",pasteAsPlaintext:"Als reinen Text einfügen",pasteCharts:"Diagramme einfügen",selectAll:"Alle auswählen",multiSelect:"Element zur Auswahl hinzufügen",moveCanvas:"Leinwand verschieben",cut:"Ausschneiden",copy:"Kopieren",copyAsPng:"In Zwischenablage kopieren (PNG)",copyAsSvg:"In Zwischenablage kopieren (SVG)",copyText:"In die Zwischenablage als Text kopieren",copySource:"Quelle in Zwischenablage kopieren",convertToCode:"In Code konvertieren",bringForward:"Nach vorne",sendToBack:"In den Hintergrund",bringToFront:"In den Vordergrund",sendBackward:"Nach hinten",delete:"Löschen",copyStyles:"Formatierung kopieren",pasteStyles:"Formatierung übernehmen",stroke:"Strich",background:"Hintergrund",fill:"Füllung",strokeWidth:"Strichstärke",strokeStyle:"Konturstil",strokeStyle_solid:"Durchgezogen",strokeStyle_dashed:"Gestrichelt",strokeStyle_dotted:"Gepunktet",sloppiness:"Sauberkeit",opacity:"Deckkraft",textAlign:"Textausrichtung",edges:"Kanten",sharp:"Scharf",round:"Rund",arrowheads:"Pfeilspitzen",arrowhead_none:"Keine",arrowhead_arrow:"Pfeil",arrowhead_bar:"Balken",arrowhead_circle:"Kreis",arrowhead_circle_outline:"Kreis (Umrandung)",arrowhead_triangle:"Dreieck",arrowhead_triangle_outline:"Dreieck (Umrandung)",arrowhead_diamond:"Raute",arrowhead_diamond_outline:"Raute (Umrandung)",fontSize:"Schriftgröße",fontFamily:"Schriftfamilie",addWatermark:'"Made with Excalidraw" hinzufügen',handDrawn:"Handgezeichnet",normal:"Normal",code:"Code",small:"Klein",medium:"Mittel",large:"Groß",veryLarge:"Sehr groß",solid:"Deckend",hachure:"Schraffiert",zigzag:"Zickzack",crossHatch:"Kreuzschraffiert",thin:"Dünn",bold:"Fett",left:"Links",center:"Zentriert",right:"Rechts",extraBold:"Extra Fett",architect:"Architekt",artist:"Künstler",cartoonist:"Karikaturist",fileTitle:"Dateiname",colorPicker:"Farbauswähler",canvasColors:"Auf Leinwand verwendet",canvasBackground:"Zeichenflächenhintergrund",drawingCanvas:"Leinwand",layers:"Ebenen",actions:"Aktionen",language:"Sprache",liveCollaboration:"Live-Zusammenarbeit...",duplicateSelection:"Duplizieren",untitled:"Unbenannt",name:"Name",yourName:"Dein Name",madeWithExcalidraw:"Made with Excalidraw",group:"Auswahl gruppieren",ungroup:"Gruppierung aufheben",collaborators:"Mitarbeitende",showGrid:"Raster anzeigen",addToLibrary:"Zur Bibliothek hinzufügen",removeFromLibrary:"Aus Bibliothek entfernen",libraryLoadingMessage:"Lade Bibliothek…",libraries:"Bibliotheken durchsuchen",loadingScene:"Lade Zeichnung…",align:"Ausrichten",alignTop:"Obere Kanten",alignBottom:"Untere Kanten",alignLeft:"Linke Kanten",alignRight:"Rechte Kanten",centerVertically:"Vertikal zentrieren",centerHorizontally:"Horizontal zentrieren",distributeHorizontally:"Horizontal verteilen",distributeVertically:"Vertikal verteilen",flipHorizontal:"Horizontal spiegeln",flipVertical:"Vertikal spiegeln",viewMode:"Ansichtsmodus",share:"Teilen",showStroke:"Auswahl für Strichfarbe anzeigen",showBackground:"Hintergrundfarbe auswählen",toggleTheme:"Design umschalten",personalLib:"Persönliche Bibliothek",excalidrawLib:"Excalidraw Bibliothek",decreaseFontSize:"Schriftgröße verkleinern",increaseFontSize:"Schrift vergrößern",unbindText:"Text lösen",bindText:"Text an Container binden",createContainerFromText:"Text in Container einbetten",link:{edit:"Link bearbeiten",editEmbed:"Link bearbeiten & einbetten",create:"Link erstellen",createEmbed:"Link erstellen & einbetten",label:"Link",labelEmbed:"Verlinken & einbetten",empty:"Kein Link festgelegt"},lineEditor:{edit:"Linie bearbeiten",exit:"Linieneditor verlassen"},elementLock:{lock:"Sperren",unlock:"Entsperren",lockAll:"Alle sperren",unlockAll:"Alle entsperren"},statusPublished:"Veröffentlicht",sidebarLock:"Seitenleiste offen lassen",selectAllElementsInFrame:"Alle Elemente im Rahmen auswählen",removeAllElementsFromFrame:"Alle Elemente aus dem Rahmen entfernen",eyeDropper:"Farbe von der Zeichenfläche auswählen",textToDiagram:"Text zu Diagramm",prompt:"Eingabe"},Lxu={noItems:"Noch keine Elemente hinzugefügt...",hint_emptyLibrary:"Wähle ein Element auf der Zeichenfläche, um es hier hinzuzufügen. Oder installiere eine Bibliothek aus dem öffentlichen Verzeichnis.",hint_emptyPrivateLibrary:"Wähle ein Element von der Zeichenfläche, um es hier hinzuzufügen."},Xxu={clearReset:"Zeichenfläche löschen & Hintergrundfarbe zurücksetzen",exportJSON:"In Datei exportieren",exportImage:"Exportiere Bild...",export:"Speichern als...",copyToClipboard:"In Zwischenablage kopieren",save:"In aktueller Datei speichern",saveAs:"Speichern unter",load:"Öffnen",getShareableLink:"Teilbaren Link erhalten",close:"Schließen",selectLanguage:"Sprache auswählen",scrollBackToContent:"Zurück zum Inhalt",zoomIn:"Vergrößern",zoomOut:"Verkleinern",resetZoom:"Zoom zurücksetzen",menu:"Menü",done:"Fertig",edit:"Bearbeiten",undo:"Rückgängig machen",redo:"Wiederholen",resetLibrary:"Bibliothek zurücksetzen",createNewRoom:"Neuen Raum erstellen",fullScreen:"Vollbildanzeige",darkMode:"Dunkles Design",lightMode:"Helles Design",zenMode:"Zen-Modus",objectsSnapMode:"Einrasten an Objekten",exitZenMode:"Zen-Modus verlassen",cancel:"Abbrechen",clear:"Löschen",remove:"Entfernen",embed:"Einbettung umschalten",publishLibrary:"Veröffentlichen",submit:"Absenden",confirm:"Bestätigen",embeddableInteractionButton:"Klicken, um zu interagieren"},vxu={clearReset:"Dies wird die ganze Zeichenfläche löschen. Bist du dir sicher?",couldNotCreateShareableLink:"Konnte keinen teilbaren Link erstellen.",couldNotCreateShareableLinkTooBig:"Konnte keinen teilbaren Link erstellen: Die Zeichnung ist zu groß",couldNotLoadInvalidFile:"Ungültige Datei konnte nicht geladen werden",importBackendFailed:"Import vom Server ist fehlgeschlagen.",cannotExportEmptyCanvas:"Leere Zeichenfläche kann nicht exportiert werden.",couldNotCopyToClipboard:"Kopieren in die Zwischenablage fehlgeschlagen.",decryptFailed:"Daten konnten nicht entschlüsselt werden.",uploadedSecurly:"Der Upload wurde mit Ende-zu-Ende-Verschlüsselung gespeichert. Weder Excalidraw noch Dritte können den Inhalt einsehen.",loadSceneOverridePrompt:"Das Laden einer externen Zeichnung ersetzt den vorhandenen Inhalt. Möchtest du fortfahren?",collabStopOverridePrompt:`Das Stoppen der Sitzung wird deine vorherige, lokal gespeicherte Zeichnung überschreiben. Bist du dir sicher?
(Wenn du deine lokale Zeichnung behalten möchtest, schließe stattdessen den Browser-Tab.)`,errorAddingToLibrary:"Das Element konnte nicht zur Bibliothek hinzugefügt werden",errorRemovingFromLibrary:"Das Element konnte nicht aus der Bibliothek entfernt werden",confirmAddLibrary:"Dies fügt {{numShapes}} Form(en) zu deiner Bibliothek hinzu. Bist du dir sicher?",imageDoesNotContainScene:"Dieses Bild scheint keine Szenendaten zu enthalten. Hast Du das Einbetten der Szene während des Exports aktiviert?",cannotRestoreFromImage:"Die Zeichnung konnte aus dieser Bilddatei nicht wiederhergestellt werden",invalidSceneUrl:"Die Szene konnte nicht von der angegebenen URL importiert werden. Sie ist entweder fehlerhaft oder enthält keine gültigen Excalidraw JSON-Daten.",resetLibrary:"Dieses löscht deine Bibliothek. Bist du sicher?",removeItemsFromsLibrary:"{{count}} Element(e) aus der Bibliothek löschen?",invalidEncryptionKey:"Verschlüsselungsschlüssel muss 22 Zeichen lang sein. Die Live-Zusammenarbeit ist deaktiviert.",collabOfflineWarning:`Keine Internetverbindung verfügbar.
Deine Änderungen werden nicht gespeichert!`},xxu={unsupportedFileType:"Nicht unterstützter Dateityp.",imageInsertError:"Das Bild konnte nicht eingefügt werden. Versuche es später erneut...",fileTooBig:"Die Datei ist zu groß. Die maximal zulässige Größe ist {{maxSize}}.",svgImageInsertError:"SVG-Bild konnte nicht eingefügt werden. Das SVG-Markup sieht ungültig aus.",failedToFetchImage:"Bild konnte nicht abgerufen werden.",invalidSVGString:"Ungültige SVG.",cannotResolveCollabServer:"Konnte keine Verbindung zum Collab-Server herstellen. Bitte lade die Seite neu und versuche es erneut.",importLibraryError:"Bibliothek konnte nicht geladen werden",collabSaveFailed:"Keine Speicherung in der Backend-Datenbank möglich. Wenn die Probleme weiterhin bestehen, solltest Du Deine Datei lokal speichern, um sicherzustellen, dass Du Deine Arbeit nicht verlierst.",collabSaveFailed_sizeExceeded:"Keine Speicherung in der Backend-Datenbank möglich, die Zeichenfläche scheint zu groß zu sein. Du solltest Deine Datei lokal speichern, um sicherzustellen, dass Du Deine Arbeit nicht verlierst.",imageToolNotSupported:"Bilder sind deaktiviert.",brave_measure_text_error:{line1:"Sieht so aus, als ob Du den Brave-Browser verwendest und die <bold>aggressive Blockierung von Fingerabdrücken</bold> aktiviert hast.",line2:"Dies könnte dazu führen, dass die <bold>Textelemente</bold> in Ihren Zeichnungen zerstört werden.",line3:"Wir empfehlen dringend, diese Einstellung zu deaktivieren. Dazu kannst Du <link>diesen Schritten</link> folgen.",line4:"Wenn die Deaktivierung dieser Einstellung die fehlerhafte Anzeige von Textelementen nicht behebt, öffne bitte ein <issueLink>Ticket</issueLink> auf unserem GitHub oder schreibe uns auf <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Einbettbare Elemente können der Bibliothek nicht hinzugefügt werden.",iframe:"IFrame-Elemente können nicht zur Bibliothek hinzugefügt werden.",image:"Unterstützung für das Hinzufügen von Bildern in die Bibliothek kommt bald!"},asyncPasteFailedOnRead:"Einfügen fehlgeschlagen (konnte aus der Zwischenablage des Systems nicht gelesen werden).",asyncPasteFailedOnParse:"Einfügen fehlgeschlagen.",copyToSystemClipboardFailed:"Kopieren in die Zwischenablage fehlgeschlagen."},Wxu={selection:"Auswahl",image:"Bild einfügen",rectangle:"Rechteck",diamond:"Raute",ellipse:"Ellipse",arrow:"Pfeil",line:"Linie",freedraw:"Zeichnen",text:"Text",library:"Bibliothek",lock:"Ausgewähltes Werkzeug nach Zeichnen aktiv lassen",penMode:"Stift-Modus - Berührung verhindern",link:"Link für ausgewählte Form hinzufügen / aktualisieren",eraser:"Radierer",frame:"Rahmenwerkzeug",magicframe:"Wireframe zu Code",embeddable:"Web-Einbettung",laser:"Laserpointer",hand:"Hand (Schwenkwerkzeug)",extraTools:"Weitere Werkzeuge",mermaidToExcalidraw:"Mermaid zu Excalidraw",magicSettings:"KI-Einstellungen"},Sxu={canvasActions:"Aktionen für Zeichenfläche",selectedShapeActions:"Aktionen für Auswahl",shapes:"Formen"},Yxu={canvasPanning:"Um die Zeichenfläche zu verschieben, halte das Mausrad oder die Leertaste während des Ziehens, oder verwende das Hand-Werkzeug",linearElement:"Klicken für Linie mit mehreren Punkten, Ziehen für einzelne Linie",freeDraw:"Klicke und ziehe. Lass los, wenn du fertig bist",text:"Tipp: Du kannst auch Text hinzufügen, indem du mit dem Auswahlwerkzeug auf eine beliebige Stelle doppelklickst",embeddable:"Klicken und ziehen, um eine Webseiten-Einbettung zu erstellen",text_selected:"Doppelklicken oder Eingabetaste drücken, um Text zu bearbeiten",text_editing:"Drücke Escape oder CtrlOrCmd+Eingabetaste, um die Bearbeitung abzuschließen",linearElementMulti:"Zum Beenden auf den letzten Punkt klicken oder Escape oder Eingabe drücken",lockAngle:"Du kannst Winkel einschränken, indem du SHIFT gedrückt hältst",resize:"Du kannst die Proportionen einschränken, indem du SHIFT während der Größenänderung gedrückt hältst. Halte ALT gedrückt, um die Größe vom Zentrum aus zu ändern",resizeImage:"Du kannst die Größe frei ändern, indem du SHIFT gedrückt hältst; halte ALT, um die Größe vom Zentrum aus zu ändern",rotate:"Du kannst Winkel einschränken, indem du SHIFT während der Drehung gedrückt hältst",lineEditor_info:"CtrlOrCmd halten und Doppelklick oder CtrlOrCmd + Eingabe drücken, um Punkte zu bearbeiten",lineEditor_pointSelected:"Drücke Löschen, um Punkt(e) zu entfernen, CtrlOrCmd+D zum Duplizieren oder ziehe zum Verschieben",lineEditor_nothingSelected:`Wähle einen zu bearbeitenden Punkt (halte SHIFT gedrückt um mehrere Punkte auszuwählen),
oder halte Alt gedrückt und klicke um neue Punkte hinzuzufügen`,placeImage:"Klicken, um das Bild zu platzieren oder klicken und ziehen um seine Größe manuell zu setzen",publishLibrary:"Veröffentliche deine eigene Bibliothek",bindTextToElement:"Zum Hinzufügen Eingabetaste drücken",deepBoxSelect:"Halte CtrlOrCmd gedrückt, um innerhalb der Gruppe auszuwählen, und um Ziehen zu vermeiden",eraserRevert:"Halte Alt gedrückt, um die zum Löschen markierten Elemente zurückzusetzen",firefox_clipboard_write:'Diese Funktion kann wahrscheinlich aktiviert werden, indem die Einstellung "dom.events.asyncClipboard.clipboardItem" auf "true" gesetzt wird. Um die Browsereinstellungen in Firefox zu ändern, besuche die Seite "about:config".',disableSnapping:"Halte CtrlOrCmd gedrückt, um das Einrasten zu deaktivieren"},Rxu={cannotShowPreview:"Vorschau kann nicht angezeigt werden",canvasTooBig:"Die Leinwand ist möglicherweise zu groß.",canvasTooBigTip:"Tipp: Schiebe die am weitesten entfernten Elemente ein wenig näher zusammen."},Txu={headingMain:"Es ist ein Fehler aufgetreten. Versuche <button>die Seite neu zu laden.</button>",clearCanvasMessage:"Wenn das Neuladen nicht funktioniert, versuche <button>die Zeichenfläche zu löschen.</button>",clearCanvasCaveat:" Dies wird zum Verlust von Daten führen ",trackedToSentry:"Der Fehler mit der Kennung {{eventId}} wurde in unserem System registriert.",openIssueMessage:"Wir waren sehr vorsichtig und haben deine Zeichnungsinformationen nicht in die Fehlerinformationen aufgenommen. Wenn deine Zeichnung nicht privat ist, unterstütze uns bitte über unseren <button>Bug-Tracker</button>. Bitte teile die unten stehenden Informationen mit uns im GitHub Issue (Kopieren und Einfügen).",sceneContent:"Zeichnungsinhalt:"},Oxu={desc_intro:"Du kannst Leute zu deiner aktuellen Zeichnung einladen um mit ihnen zusammenzuarbeiten.",desc_privacy:"Keine Sorge, die Sitzung nutzt eine Ende-zu-Ende-Verschlüsselung. Alles was du zeichnest, bleibt privat. Auch unser Server sieht nicht, was du dir einfallen lässt.",button_startSession:"Sitzung starten",button_stopSession:"Sitzung beenden",desc_inProgressIntro:"Die Live-Sitzung wird nun ausgeführt.",desc_shareLink:"Teile diesen Link mit allen, mit denen du zusammenarbeiten möchtest:",desc_exitSession:"Wenn du die Sitzung beendest, wird deine Verbindung zum Raum getrennt. Du kannst jedoch lokal weiter an der Zeichnung arbeiten. Beachte, dass dies keine Auswirkungen auf andere hat und diese weiterhin gemeinsam an ihrer Version arbeiten können.",shareTitle:"An einer Live-Kollaborationssitzung auf Excalidraw teilnehmen"},Ixu={title:"Fehler"},Pxu={disk_title:"Auf Festplatte speichern",disk_details:"Exportiere die Zeichnungsdaten in eine Datei, die Du später importieren kannst.",disk_button:"Als Datei speichern",link_title:"Teilbarer Link",link_details:"Als schreibgeschützten Link exportieren.",link_button:"Als Link exportieren",excalidrawplus_description:"Speichere die Szene in deinem Excalidraw+ Arbeitsbereich.",excalidrawplus_button:"Exportieren",excalidrawplus_exportError:"Konnte nicht nach Excalidraw+ exportieren..."},jxu={blog:"Lies unseren Blog",click:"klicken",deepSelect:"Auswahl innerhalb der Gruppe",deepBoxSelect:"Auswahl innerhalb der Gruppe, und Ziehen vermeiden",curvedArrow:"Gebogener Pfeil",curvedLine:"Gebogene Linie",documentation:"Dokumentation",doubleClick:"doppelklicken",drag:"ziehen",editor:"Editor",editLineArrowPoints:"Linien-/Pfeil-Punkte bearbeiten",editText:"Text bearbeiten / Label hinzufügen",github:"Ein Problem gefunden? Informiere uns",howto:"Folge unseren Anleitungen",or:"oder",preventBinding:"Pfeil-Bindung verhindern",tools:"Werkzeuge",shortcuts:"Tastaturkürzel",textFinish:"Bearbeitung beenden (Texteditor)",textNewLine:"Neue Zeile hinzufügen (Texteditor)",title:"Hilfe",view:"Ansicht",zoomToFit:"Zoomen um alle Elemente einzupassen",zoomToSelection:"Auf Auswahl zoomen",toggleElementLock:"Auswahl sperren/entsperren",movePageUpDown:"Seite nach oben/unten verschieben",movePageLeftRight:"Seite nach links/rechts verschieben"},Nxu={title:"Zeichenfläche löschen"},Vxu={title:"Bibliothek veröffentlichen",itemName:"Elementname",authorName:"Name des Autors",githubUsername:"GitHub-Benutzername",twitterUsername:"Twitter-Benutzername",libraryName:"Name der Bibliothek",libraryDesc:"Beschreibung der Bibliothek",website:"Webseite",placeholder:{authorName:"Dein Name oder Benutzername",libraryName:"Name deiner Bibliothek",libraryDesc:"Beschreibung deiner Bibliothek, um anderen Nutzern bei der Verwendung zu helfen",githubHandle:"GitHub-Handle (optional), damit du die Bibliothek bearbeiten kannst, wenn sie zur Überprüfung eingereicht wurde",twitterHandle:"Twitter-Benutzername (optional), damit wir wissen, wen wir bei Werbung über Twitter nennen können",website:"Link zu deiner persönlichen Webseite oder zu anderer Seite (optional)"},errors:{required:"Erforderlich",website:"Gültige URL eingeben"},noteDescription:"Sende deine Bibliothek ein, um in die <link>öffentliche Bibliotheks-Repository aufgenommen zu werden</link>damit andere Nutzer sie in ihren Zeichnungen verwenden können.",noteGuidelines:"Die Bibliothek muss zuerst manuell freigegeben werden. Bitte lies die <link>Richtlinien</link> vor dem Absenden. Du benötigst ein GitHub-Konto, um zu kommunizieren und Änderungen vorzunehmen, falls erforderlich, aber es ist nicht unbedingt erforderlich.",noteLicense:"Mit dem Absenden stimmst du zu, dass die Bibliothek unter der <link>MIT-Lizenz, </link>die zusammengefasst beinhaltet, dass jeder sie ohne Einschränkungen nutzen kann.",noteItems:"Jedes Bibliothekselement muss einen eigenen Namen haben, damit es gefiltert werden kann. Die folgenden Bibliothekselemente werden hinzugefügt:",atleastOneLibItem:"Bitte wähle mindestens ein Bibliothekselement aus, um zu beginnen",republishWarning:"Hinweis: Einige der ausgewählten Elemente sind bereits als veröffentlicht/eingereicht markiert. Du solltest Elemente nur erneut einreichen, wenn Du eine existierende Bibliothek oder Einreichung aktualisierst."},hxu={title:"Bibliothek übermittelt",content:"Vielen Dank {{authorName}}. Deine Bibliothek wurde zur Überprüfung eingereicht. Du kannst den Status verfolgen<link>hier</link>"},ixu={resetLibrary:"Bibliothek zurücksetzen",removeItemsFromLib:"Ausgewählte Elemente aus der Bibliothek entfernen"},axu={header:"Bild exportieren",label:{withBackground:"Hintergrund",onlySelected:"Nur ausgewählte",darkMode:"Dunkler Modus",embedScene:"Szene einbetten",scale:"Skalierung",padding:"Abstand"},tooltip:{embedScene:`Die Zeichnungsdaten werden in der exportierten PNG/SVG-Datei gespeichert, sodass das Dokument später weiter bearbeitet werden kann.
Dieses wird die exportierte Datei vergrößern.`},title:{exportToPng:"Als PNG exportieren",exportToSvg:"Als SVG exportieren",copyPngToClipboard:"PNG in die Zwischenablage kopieren"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"In Zwischenablage kopieren"}},mxu={tooltip:"Da deine Zeichnungen Ende-zu-Ende verschlüsselt werden, sehen auch unsere Excalidraw-Server sie niemals.",link:"Blogbeitrag über Ende-zu-Ende-Verschlüsselung in Excalidraw"},$xu={angle:"Winkel",element:"Element",elements:"Elemente",height:"Höhe",scene:"Zeichnung",selected:"Ausgewählt",storage:"Speicher",title:"Statistiken für Nerds",total:"Gesamt",version:"Version",versionCopy:"Zum Kopieren klicken",versionNotAvailable:"Version nicht verfügbar",width:"Breite"},yxu={addedToLibrary:"Zur Bibliothek hinzugefügt",copyStyles:"Formatierungen kopiert.",copyToClipboard:"In die Zwischenablage kopiert.",copyToClipboardAsPng:`{{exportSelection}} als PNG in die Zwischenablage kopiert
({{exportColorScheme}})`,fileSaved:"Datei gespeichert.",fileSavedToFilename:"Als {filename} gespeichert",canvas:"Zeichenfläche",selection:"Auswahl",pasteAsSingleElement:`Verwende {{shortcut}} , um als einzelnes Element
einzufügen oder in einen existierenden Texteditor einzufügen`,unableToEmbed:"Einbetten dieser URL ist derzeit nicht zulässig. Erstelle einen Issue auf GitHub, um die URL freigeben zu lassen",unrecognizedLinkFormat:"Der Link, den Du eingebettet hast, stimmt nicht mit dem erwarteten Format überein. Bitte versuche den 'embed' String einzufügen, der von der Quellseite zur Verfügung gestellt wird"},rxu={transparent:"Transparent",black:"Schwarz",white:"Weiß",red:"Rot",pink:"Pink",grape:"Traube",violet:"Violett",gray:"Grau",blue:"Blau",cyan:"Cyan",teal:"Blaugrün",green:"Grün",yellow:"Gelb",orange:"Orange",bronze:"Bronze"},gxu={app:{center_heading:"Alle Daten werden lokal in Deinem Browser gespeichert.",center_heading_plus:"Möchtest du stattdessen zu Excalidraw+ gehen?",menuHint:"Exportieren, Einstellungen, Sprachen, ..."},defaults:{menuHint:"Exportieren, Einstellungen und mehr...",center_heading:"Diagramme. Einfach. Gemacht.",toolbarHint:"Wähle ein Werkzeug & beginne zu zeichnen!",helpHint:"Kurzbefehle & Hilfe"}},cxu={mostUsedCustomColors:"Beliebteste benutzerdefinierte Farben",colors:"Farben",shades:"Schattierungen",hexCode:"Hex-Code",noShades:"Keine Schattierungen für diese Farbe verfügbar"},_xu={action:{exportToImage:{title:"Als Bild exportieren",button:"Als Bild exportieren",description:"Exportiere die Zeichnungsdaten als ein Bild, von dem Du später importieren kannst."},saveToDisk:{title:"Auf Festplatte speichern",button:"Auf Festplatte speichern",description:"Exportiere die Zeichnungsdaten in eine Datei, von der Du später importieren kannst."},excalidrawPlus:{title:"Excalidraw+",button:"Export nach Excalidraw+",description:"Speichere die Szene in deinem Excalidraw+-Arbeitsbereich."}},modal:{loadFromFile:{title:"Aus Datei laden",button:"Aus Datei laden",description:"Das Laden aus einer Datei wird <bold>Deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst Deine Zeichnung zuerst mit einer der folgenden Optionen sichern."},shareableLink:{title:"Aus Link laden",button:"Meinen Inhalt ersetzen",description:"Das Laden einer externen Zeichnung wird <bold>Deinen vorhandenen Inhalt ersetzen</bold>.<br></br>Du kannst Deine Zeichnung zuerst mit einer der folgenden Optionen sichern."}}},pxu={title:"Mermaid zu Excalidraw",button:"Einfügen",description:"Derzeit werden nur <flowchartLink>Flussdiagramme</flowchartLink>, <sequenceLink>Sequenzdiagramme</sequenceLink> und <classLink>Klassendiagramme</classLink> unterstützt. Die anderen Typen werden als Bild in Excalidraw dargestellt.",syntax:"Mermaid-Syntax",preview:"Vorschau"},pk3={labels:lxu,library:Lxu,buttons:Xxu,alerts:vxu,errors:xxu,toolBar:Wxu,headings:Sxu,hints:Yxu,canvasError:Rxu,errorSplash:Txu,roomDialog:Oxu,errorDialog:Ixu,exportDialog:Pxu,helpDialog:jxu,clearCanvasDialog:Nxu,publishDialog:Vxu,publishSuccessDialog:hxu,confirmDialog:ixu,imageExportDialog:axu,encrypted:mxu,stats:$xu,toast:yxu,colors:rxu,welcomeScreen:gxu,colorPicker:cxu,overwriteConfirm:_xu,mermaid:pxu}});var XWu={};ju(XWu,{welcomeScreen:()=>HWu,toolBar:()=>BWu,toast:()=>QWu,stats:()=>wWu,roomDialog:()=>FWu,publishSuccessDialog:()=>bWu,publishDialog:()=>MWu,overwriteConfirm:()=>lWu,mermaid:()=>LWu,library:()=>oxu,labels:()=>sxu,imageExportDialog:()=>JWu,hints:()=>AWu,helpDialog:()=>kWu,headings:()=>EWu,exportDialog:()=>zWu,errors:()=>uWu,errorSplash:()=>DWu,errorDialog:()=>UWu,encrypted:()=>KWu,default:()=>nk3,confirmDialog:()=>ZWu,colors:()=>GWu,colorPicker:()=>qWu,clearCanvasDialog:()=>fWu,canvasError:()=>CWu,buttons:()=>txu,alerts:()=>exu});var sxu,oxu,txu,exu,uWu,BWu,EWu,AWu,CWu,DWu,FWu,UWu,zWu,kWu,fWu,MWu,bWu,ZWu,JWu,KWu,wWu,QWu,GWu,HWu,qWu,lWu,LWu,nk3;var vWu=g(()=>{m4();sxu={paste:"Επικόλληση",pasteAsPlaintext:"Επικόλληση ως απλό κείμενο",pasteCharts:"Επικόλληση γραφημάτων",selectAll:"Επιλογή όλων",multiSelect:"Προσθέστε το στοιχείο στην επιλογή",moveCanvas:"Μετακίνηση καμβά",cut:"Αποκοπή",copy:"Αντιγραφή",copyAsPng:"Αντιγραφή στο πρόχειρο ως PNG",copyAsSvg:"Αντιγραφή στο πρόχειρο ως SVG",copyText:"Αντιγραφή στο πρόχειρο ως κείμενο",copySource:"",convertToCode:"",bringForward:"Στο προσκήνιο",sendToBack:"Ένα επίπεδο πίσω",bringToFront:"Ένα επίπεδο μπροστά",sendBackward:"Στο παρασκήνιο",delete:"Διαγραφή",copyStyles:"Αντιγραφή εμφάνισης",pasteStyles:"Επικόλληση εμφάνισης",stroke:"Μολυβιά",background:"Φόντο",fill:"Γέμισμα",strokeWidth:"Πάχος μολυβιάς",strokeStyle:"Στυλ περιγράμματος",strokeStyle_solid:"Συμπαγής",strokeStyle_dashed:"Διακεκομμένη με παύλες",strokeStyle_dotted:"Διακεκομμένη με τελείες",sloppiness:"Ακαταστασία",opacity:"Διαφάνεια",textAlign:"Στοίχιση κειμένου",edges:"Άκρες",sharp:"Οξύ",round:"Στρογγυλό",arrowheads:"Σύμβολα βελών",arrowhead_none:"Κανένα",arrowhead_arrow:"Βέλος",arrowhead_bar:"Μπάρα",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Τρίγωνο",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Μέγεθος γραμματοσειράς",fontFamily:"Γραμματοσειρά",addWatermark:'Προσθήκη "Φτιαγμένο με Excalidraw"',handDrawn:"Σχεδιασμένο στο χέρι",normal:"Κανονική",code:"Κώδικας",small:"Μικρό",medium:"Μεσαίο",large:"Μεγάλο",veryLarge:"Πολύ μεγάλο",solid:"Συμπαγής",hachure:"Εκκόλαψη",zigzag:"",crossHatch:"Διασταυρούμενη εκκόλαψη",thin:"Λεπτή",bold:"Έντονη",left:"Αριστερά",center:"Κέντρο",right:"Δεξιά",extraBold:"Πολύ έντονη",architect:"Αρχιτέκτονας",artist:"Καλλιτέχνης",cartoonist:"Σκιτσογράφος",fileTitle:"Όνομα αρχείου",colorPicker:"Επιλογή Χρώματος",canvasColors:"Χρησιμοποείται στον καμβά",canvasBackground:"Φόντο καμβά",drawingCanvas:"Σχεδίαση καμβά",layers:"Στρώματα",actions:"Ενέργειες",language:"Γλώσσα",liveCollaboration:"Live συνεργασία...",duplicateSelection:"Δημιουργία αντιγράφου",untitled:"Χωρίς τίτλο",name:"Όνομα",yourName:"Το όνομά σου",madeWithExcalidraw:"Φτιαγμένο με Excalidraw",group:"Δημιουργία ομάδας από επιλογή",ungroup:"Κατάργηση ομάδας από επιλογή",collaborators:"Συνεργάτες",showGrid:"Προβολή πλέγματος",addToLibrary:"Προσθήκη στη βιβλιοθήκη",removeFromLibrary:"Αφαίρεση από τη βιβλιοθήκη",libraryLoadingMessage:"Φόρτωση βιβλιοθήκης…",libraries:"Άλλες βιβλιοθήκες",loadingScene:"Φόρτωση σκηνής…",align:"Στοίχιση",alignTop:"Στοίχιση πάνω",alignBottom:"Στοίχιση κάτω",alignLeft:"Στοίχιση αριστερά",alignRight:"Στοίχιση δεξιά",centerVertically:"Κέντρο κάθετα",centerHorizontally:"Κέντρο οριζόντια",distributeHorizontally:"Οριζόντια κατανομή",distributeVertically:"Κατακόρυφη κατανομή",flipHorizontal:"Οριζόντια αναστροφή",flipVertical:"Κατακόρυφη αναστροφή",viewMode:"Λειτουργία προβολής",share:"Κοινοποίηση",showStroke:"Εμφάνιση επιλογέα χρωμάτων πινελιάς",showBackground:"Εμφάνιση επιλογέα χρώματος φόντου",toggleTheme:"Εναλλαγή θέματος",personalLib:"Προσωπική Βιβλιοθήκη",excalidrawLib:"Βιβλιοθήκη Excalidraw",decreaseFontSize:"Μείωση μεγέθους γραμματοσειράς",increaseFontSize:"Αύξηση μεγέθους γραμματοσειράς",unbindText:"Αποσύνδεση κειμένου",bindText:"Δέσμευση κειμένου στο δοχείο",createContainerFromText:"",link:{edit:"Επεξεργασία συνδέσμου",editEmbed:"",create:"Δημιουργία συνδέσμου",createEmbed:"",label:"Σύνδεσμος",labelEmbed:"",empty:""},lineEditor:{edit:"Επεξεργασία γραμμής",exit:"Έξοδος επεξεργαστή κειμένου"},elementLock:{lock:"Κλείδωμα",unlock:"Ξεκλείδωμα",lockAll:"Κλείδωμα όλων",unlockAll:"Ξεκλείδωμα όλων"},statusPublished:"Δημοσιευμένο",sidebarLock:"Κρατήστε την πλαϊνή μπάρα ανοιχτή",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},oxu={noItems:"Δεν έχουν προστεθεί αντικείμενα ακόμη...",hint_emptyLibrary:"Επιλέξτε ένα στοιχείο στον καμβά για να το προσθέσετε εδώ, ή εγκαταστήστε μια βιβλιοθήκη από το δημόσιο αποθετήριο, παρακάτω.",hint_emptyPrivateLibrary:"Επιλέξτε ένα στοιχείο στον καμβά για να το προσθέσετε εδώ."},txu={clearReset:"Επαναφορά του καμβά",exportJSON:"Εξαγωγή σε αρχείο",exportImage:"Εξαγωγή εικόνας...",export:"Αποθήκευση ως...",copyToClipboard:"Αντιγραφή στο πρόχειρο",save:"Αποθήκευση στο τρέχον αρχείο",saveAs:"Αποθήκευση ως",load:"Άνοιγμα",getShareableLink:"Δημόσιος σύνδεσμος",close:"Κλείσιμο",selectLanguage:"Επιλογή γλώσσας",scrollBackToContent:"Μετακινηθείτε πίσω στο περιεχόμενο",zoomIn:"Μεγέθυνση",zoomOut:"Σμίκρυνση",resetZoom:"Επαναφορά μεγέθυνσης",menu:"Μενού",done:"Τέλος",edit:"Επεξεργασία",undo:"Αναίρεση",redo:"Επαναφορά",resetLibrary:"Καθαρισμός βιβλιοθήκης",createNewRoom:"Δημιουργία νέου χώρου",fullScreen:"Πλήρης οθόνη",darkMode:"Σκοτεινή λειτουργία",lightMode:"Φωτεινή λειτουργία",zenMode:"Λειτουργία Zεν",objectsSnapMode:"",exitZenMode:"Έξοδος από την λειτουργία Zen",cancel:"Ακύρωση",clear:"Καθαρισμός",remove:"Κατάργηση",embed:"",publishLibrary:"Δημοσίευση",submit:"Υποβολή",confirm:"Επιβεβαίωση",embeddableInteractionButton:""},exu={clearReset:"Αυτό θα σβήσει ολόκληρο τον καμβά. Είσαι σίγουρος;",couldNotCreateShareableLink:"Δεν ήταν δυνατή η δημιουργία συνδέσμου κοινής χρήσης.",couldNotCreateShareableLinkTooBig:"Δεν ήταν δυνατή η δημιουργία κοινόχρηστου συνδέσμου: η σκηνή είναι πολύ μεγάλη",couldNotLoadInvalidFile:"Δεν μπόρεσε να ανοίξει εσφαλμένο αρχείο",importBackendFailed:"Η εισαγωγή από το backend απέτυχε.",cannotExportEmptyCanvas:"Δεν είναι δυνατή η εξαγωγή κενού καμβά.",couldNotCopyToClipboard:"Αδυναμία αντιγραφής στο πρόχειρο.",decryptFailed:"Δεν ήταν δυνατή η αποκρυπτογράφηση δεδομένων.",uploadedSecurly:"Η μεταφόρτωση έχει εξασφαλιστεί με κρυπτογράφηση από άκρο σε άκρο, πράγμα που σημαίνει ότι ο διακομιστής Excalidraw και τρίτα μέρη δεν μπορούν να διαβάσουν το περιεχόμενο.",loadSceneOverridePrompt:"Η φόρτωση εξωτερικού σχεδίου θα αντικαταστήσει το υπάρχον περιεχόμενο. Επιθυμείτε να συνεχίσετε;",collabStopOverridePrompt:`Η διακοπή της συνεδρίας θα αντικαταστήσει το προηγούμενο, τοπικά αποθηκευμένο σχέδιο. Είστε σίγουροι?
(Αν θέλετε να διατηρήσετε το τοπικό σας σχέδιο, απλά κλείστε την καρτέλα του προγράμματος περιήγησης.)`,errorAddingToLibrary:"Αδυναμία προσθήκης αντικειμένου στη βιβλιοθήκη",errorRemovingFromLibrary:"Αδυναμία αφαίρεσης αντικειμένου από τη βιβλιοθήκη",confirmAddLibrary:"Αυτό θα προσθέσει {{numShapes}} σχήμα(τα) στη βιβλιοθήκη σας. Είστε σίγουροι;",imageDoesNotContainScene:"Αυτή η εικόνα δεν φαίνεται να περιέχει δεδομένα σκηνής. Έχετε ενεργοποιήσει την ενσωμάτωση σκηνής κατά την εξαγωγή;",cannotRestoreFromImage:"Η σκηνή δεν ήταν δυνατό να αποκατασταθεί από αυτό το αρχείο εικόνας",invalidSceneUrl:"Δεν ήταν δυνατή η εισαγωγή σκηνής από το URL που δώσατε. Είτε έχει λάθος μορφή, είτε δεν περιέχει έγκυρα δεδομένα JSON Excalidraw.",resetLibrary:"Αυτό θα καθαρίσει τη βιβλιοθήκη σας. Είστε σίγουροι;",removeItemsFromsLibrary:"Διαγραφή {{count}} αντικειμένου(ων) από τη βιβλιοθήκη;",invalidEncryptionKey:"Το κλειδί κρυπτογράφησης πρέπει να είναι 22 χαρακτήρες. Η ζωντανή συνεργασία είναι απενεργοποιημένη.",collabOfflineWarning:`Δεν υπάρχει διαθέσιμη σύνδεση στο internet.
Οι αλλαγές σας δεν θα αποθηκευτούν!`},uWu={unsupportedFileType:"Μη υποστηριζόμενος τύπος αρχείου.",imageInsertError:"Αδυναμία εισαγωγής εικόνας. Προσπαθήστε ξανά αργότερα...",fileTooBig:"Το αρχείο είναι πολύ μεγάλο. Το μέγιστο επιτρεπόμενο μέγεθος είναι {{maxSize}}.",svgImageInsertError:"Αδυναμία εισαγωγής εικόνας SVG. Η σήμανση της SVG δεν φαίνεται έγκυρη.",failedToFetchImage:"",invalidSVGString:"Μη έγκυρο SVG.",cannotResolveCollabServer:"Αδυναμία σύνδεσης με τον διακομιστή συνεργασίας. Παρακαλώ ανανεώστε τη σελίδα και προσπαθήστε ξανά.",importLibraryError:"Αδυναμία φόρτωσης βιβλιοθήκης",collabSaveFailed:"Η αποθήκευση στη βάση δεδομένων δεν ήταν δυνατή. Αν το προβλήματα παραμείνει, θα πρέπει να αποθηκεύσετε το αρχείο σας τοπικά για να βεβαιωθείτε ότι δεν χάνετε την εργασία σας.",collabSaveFailed_sizeExceeded:"Η αποθήκευση στη βάση δεδομένων δεν ήταν δυνατή, ο καμβάς φαίνεται να είναι πολύ μεγάλος. Θα πρέπει να αποθηκεύσετε το αρχείο τοπικά για να βεβαιωθείτε ότι δεν θα χάσετε την εργασία σας.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},BWu={selection:"Επιλογή",image:"Εισαγωγή εικόνας",rectangle:"Ορθογώνιο",diamond:"Ρόμβος",ellipse:"Έλλειψη",arrow:"Βέλος",line:"Γραμμή",freedraw:"Σχεδίαση",text:"Κείμενο",library:"Βιβλιοθήκη",lock:"Κράτησε επιλεγμένο το εργαλείο μετά το σχέδιο",penMode:"Λειτουργία μολυβιού - αποτροπή αφής",link:"Προσθήκη/ Ενημέρωση συνδέσμου για ένα επιλεγμένο σχήμα",eraser:"Γόμα",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},EWu={canvasActions:"Ενέργειες καμβά",selectedShapeActions:"Επιλεγμένες ενέργειες σχήματος",shapes:"Σχήματα"},AWu={canvasPanning:"",linearElement:"Κάνε κλικ για να ξεκινήσεις πολλαπλά σημεία, σύρε για μια γραμμή",freeDraw:"Κάντε κλικ και σύρτε, απελευθερώσατε όταν έχετε τελειώσει",text:"Tip: μπορείτε επίσης να προσθέστε κείμενο με διπλό-κλικ οπουδήποτε με το εργαλείο επιλογών",embeddable:"",text_selected:"Κάντε διπλό κλικ ή πατήστε ENTER για να επεξεργαστείτε το κείμενο",text_editing:"Πατήστε Escape ή CtrlOrCmd+ENTER για να ολοκληρώσετε την επεξεργασία",linearElementMulti:"Κάνε κλικ στο τελευταίο σημείο ή πάτησε Escape ή Enter για να τελειώσεις",lockAngle:"Μπορείτε να περιορίσετε τη γωνία κρατώντας πατημένο το SHIFT",resize:`Μπορείς να περιορίσεις τις αναλογίες κρατώντας το SHIFT ενώ αλλάζεις μέγεθος,
κράτησε πατημένο το ALT για αλλαγή μεγέθους από το κέντρο`,resizeImage:`Μπορείτε να αλλάξετε το μέγεθος ελεύθερα κρατώντας πατημένο το SHIFT,
κρατήστε πατημένο το ALT για να αλλάξετε το μέγεθος από το κέντρο`,rotate:"Μπορείς να περιορίσεις τις γωνίες κρατώντας πατημένο το πλήκτρο SHIFT κατά την περιστροφή",lineEditor_info:"Κρατήστε πατημένο Ctrl ή Cmd και πατήστε το πλήκτρο Ctrl ή Cmd + Enter για επεξεργασία σημείων",lineEditor_pointSelected:`Πατήστε Διαγραφή για αφαίρεση σημείου(ων),
CtrlOrCmd+D για αντιγραφή, ή σύρετε για μετακίνηση`,lineEditor_nothingSelected:`Επιλέξτε ένα σημείο για να επεξεργαστείτε (κρατήστε πατημένο το SHIFT για να επιλέξετε πολλαπλά),
ή κρατήστε πατημένο το Alt και κάντε κλικ για να προσθέσετε νέα σημεία`,placeImage:"Κάντε κλικ για να τοποθετήσετε την εικόνα ή κάντε κλικ και σύρετε για να ορίσετε το μέγεθός της χειροκίνητα",publishLibrary:"Δημοσιεύστε τη δική σας βιβλιοθήκη",bindTextToElement:"Πατήστε Enter για προσθήκη κειμένου",deepBoxSelect:"Κρατήστε πατημένο το CtrlOrCmd για να επιλέξετε βαθιά, και να αποτρέψετε τη μεταφορά",eraserRevert:"Κρατήστε πατημένο το Alt για να επαναφέρετε τα στοιχεία που σημειώθηκαν για διαγραφή",firefox_clipboard_write:'Αυτή η επιλογή μπορεί πιθανώς να ενεργοποιηθεί αλλάζοντας την ρύθμιση "dom.events.asyncClipboard.clipboardItem" σε "true". Για να αλλάξετε τις ρυθμίσεις του προγράμματος περιήγησης στο Firefox, επισκεφθείτε τη σελίδα "about:config".',disableSnapping:""},CWu={cannotShowPreview:"Αδυναμία εμφάνισης προεπισκόπησης",canvasTooBig:"Ο καμβάς μπορεί να είναι μεγάλος.",canvasTooBigTip:"Συμβουλή: προσπαθήστε να μετακινήσετε τα πιο απομακρυσμένα στοιχεία λίγο πιο κοντά μαζί."},DWu={headingMain:"Συνέβη κάποιο σφάλμα. Προσπάθησε <button>φόρτωσε ξανά την σελίδα.</button>",clearCanvasMessage:"Εάν το παραπάνω δεν δουλέψει, προσπάθησε <button>καθαρίσετε τον κανβά.</button>",clearCanvasCaveat:" Αυτό θα προκαλέσει απώλεια της δουλειάς σου ",trackedToSentry:"Το σφάλμα με αναγνωριστικό {{eventId}} παρακολουθήθηκε στο σύστημά μας.",openIssueMessage:"Ήμασταν πολύ προσεκτικοί για να μην συμπεριλάβουμε τις πληροφορίες της σκηνής σου στο σφάλμα. Αν η σκηνή σου δεν είναι ιδιωτική, παρακαλώ σκέψου να ακολουθήσεις το δικό μας <button>ανιχνευτής σφαλμάτων.</button> Παρακαλώ να συμπεριλάβετε τις παρακάτω πληροφορίες, αντιγράφοντας και επικολλώντας το ζήτημα στο GitHub.",sceneContent:"Περιεχόμενο σκηνής:"},FWu={desc_intro:"Μπορείς να προσκαλέσεις άλλους να δουλέψουν μαζί σου.",desc_privacy:"Μην ανησυχείς, η συνεδρία χρησιμοποιεί κρυπτογράφηση από σημείο σε σημείο, άρα οτιδήποτε κάνεις θα παραμείνει ανοιχτό μόνο σε εσένα. Ούτε οι μηχανές μας μπορούν να δουν τι κάνεις.",button_startSession:"Έναρξη Συνεδρίας",button_stopSession:"Τερματισμός Συνεδρίας",desc_inProgressIntro:"Η ζωντανή συνεργασία με άλλους είναι σε ενεργή.",desc_shareLink:"Μοιραστείτε τον σύνδεσμο με όποιον θέλετε να δουλέψετε μαζί:",desc_exitSession:"Η διακοπή θα σας αποσυνδέσει από το δωμάτιο, αλλά θα μπορείτε να συνεχίσετε να δουλεύετε στον πίνακα, τοπικά. Σημειώσατε ότι αυτό δεν θα επηρεάσει τον πίνακα άλλων, και θα μπορούν ακόμα να συνεισφέρουν στην δική τους έκδοση.",shareTitle:"Συμμετάσχετε σε μια ζωντανή συνεδρία συνεργασίας για το Excalidraw"},UWu={title:"Σφάλμα"},zWu={disk_title:"Αποθήκευση στο δίσκο",disk_details:"Εξαγωγή δεδομένων σκηνής σε ένα αρχείο από το οποίο μπορείτε να εισάγετε αργότερα.",disk_button:"Αποθήκευση σε αρχείο",link_title:"Κοινόχρηστος σύνδεσμος",link_details:"Εξαγωγή ως σύνδεσμο μόνο για ανάγνωση.",link_button:"Εξαγωγή σε Σύνδεση",excalidrawplus_description:"Αποθηκεύστε τη σκηνή στο χώρο εργασίας σας Excalidraw+.",excalidrawplus_button:"Εξαγωγή",excalidrawplus_exportError:"Δεν ήταν δυνατή η εξαγωγή στο Excalidraw+ αυτή τη στιγμή..."},kWu={blog:"Διαβάστε το Blog μας",click:"κλικ",deepSelect:"Βαθιά επιλογή",deepBoxSelect:"Βαθιά επιλογή μέσα στο πλαίσιο και αποτροπή συρσίματος",curvedArrow:"Κυρτό βέλος",curvedLine:"Κυρτή γραμμή",documentation:"Εγχειρίδιο",doubleClick:"διπλό κλικ",drag:"σύρε",editor:"Επεξεργαστής",editLineArrowPoints:"",editText:"",github:"Βρήκατε πρόβλημα; Υποβάλετε το",howto:"Ακολουθήστε τους οδηγούς μας",or:"ή",preventBinding:"Αποτροπή δέσμευσης βέλων",tools:"Εργαλεία",shortcuts:"Συντομεύσεις πληκτρολογίου",textFinish:"Ολοκλήρωση επεξεργασίας (επεξεργαστής κειμένου)",textNewLine:"Προσθήκη νέας γραμμής (επεξεργαστής κειμένου)",title:"Βοήθεια",view:"Προβολή",zoomToFit:"Zoom ώστε να χωρέσουν όλα τα στοιχεία",zoomToSelection:"Ζουμ στην επιλογή",toggleElementLock:"Κλείδωμα/Ξεκλείδωμα επιλογής",movePageUpDown:"Μετακίνηση σελίδας πάνω/κάτω",movePageLeftRight:"Μετακίνηση σελίδας αριστερά/δεξιά"},fWu={title:"Καθαρισμός καμβά"},MWu={title:"Δημοσίευση βιβλιοθήκης",itemName:"Όνομα αντικειμένου",authorName:"Όνομα δημιουργού",githubUsername:"GitHub username",twitterUsername:"Twitter username",libraryName:"Όνομα βιβλιοθήκης",libraryDesc:"Περιγραφή βιβλιοθήκης",website:"Ιστοσελίδα",placeholder:{authorName:"Όνομα ή όνομα χρήστη",libraryName:"Όνομα της βιβλιοθήκης σας",libraryDesc:"Περιγραφή της βιβλιοθήκης σας ώστε να βοηθήσει το κοινό να κατανοήσει τη χρήση της",githubHandle:"Όνομα χρήστη στο GitHub (προαιρετικό), ώστε να μπορείτε να επεξεργαστείτε τη βιβλιοθήκη αφού υποβληθεί για αξιολόγηση",twitterHandle:"Όνομα χρήστη Twitter (προαιρετικό), ώστε να γνωρίζουμε σε ποιον/η να δώσουμε εύσημα κατά την προώθηση μέσω Twitter",website:"Σύνδεσμος για την προσωπική σας ιστοσελίδα ή αλλού (προαιρετικό)"},errors:{required:"Απαιτείται",website:"Εισάγετε μια έγκυρη διεύθυνση URL"},noteDescription:"Υποβάλετε τη βιβλιοθήκη σας για να συμπεριληφθεί στο <link>δημόσιο αποθετήριο βιβλιοθήκης</link>ώστε να χρησιμοποιηθεί από άλλα άτομα στα σχέδιά τους.",noteGuidelines:"Η βιβλιοθήκη πρέπει πρώτα να εγκριθεί χειροκίνητα. Παρακαλώ διαβάστε τους <link>οδηγίες</link> πριν την υποβολή. Θα χρειαστείτε έναν λογαριασμό GitHub για την επικοινωνία και για να προβείτε σε αλλαγές εφ' όσον χρειαστεί, αλλά δεν είναι αυστηρή απαίτηση.",noteLicense:"Με την υποβολή, συμφωνείτε ότι η βιβλιοθήκη θα δημοσιευθεί υπό την <link>Άδεια MIT, </link>που εν συντομία σημαίνει ότι ο καθένας μπορεί να τα χρησιμοποιήσει χωρίς περιορισμούς.",noteItems:"Κάθε αντικείμενο της βιβλιοθήκης πρέπει να έχει το δικό του όνομα ώστε να μπορεί να φιλτραριστεί. Θα συμπεριληφθούν τα ακόλουθα αντικείμενα βιβλιοθήκης:",atleastOneLibItem:"Παρακαλώ επιλέξτε τουλάχιστον ένα αντικείμενο βιβλιοθήκης για να ξεκινήσετε",republishWarning:"Σημείωση: μερικά από τα επιλεγμένα αντικέιμενα έχουν ήδη επισημανθεί ως δημοσιευμένα/υποβεβλημένα. Θα πρέπει να υποβάλετε αντικείμενα εκ νέου μόνο για να ενημερώσετε μία ήδη υπάρχουσα βιβλιοθήκη ή υποβολή."},bWu={title:"Η βιβλιοθήκη υποβλήθηκε",content:"Ευχαριστούμε {{authorName}}. Η βιβλιοθήκη σας έχει υποβληθεί για αξιολόγηση. Μπορείτε να παρακολουθείτε τη διαδικασία<link>εδώ</link>"},ZWu={resetLibrary:"Καθαρισμός βιβλιοθήκης",removeItemsFromLib:"Αφαίρεση επιλεγμένων αντικειμένων από τη βιβλιοθήκη"},JWu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},KWu={tooltip:"Τα σχέδιά σου είναι κρυπτογραφημένα από άκρο σε άκρο, έτσι δεν θα είναι ποτέ ορατά μέσα από τους διακομιστές του Excalidraw.",link:"Blog post στην κρυπτογράφηση end-to-end στο Excalidraw"},wWu={angle:"Γωνία",element:"Στοιχείο",elements:"Στοιχεία",height:"Ύψος",scene:"Σκηνή",selected:"Επιλεγμένα",storage:"Χώρος",title:"Στατιστικά για σπασίκλες",total:"Σύνολο ",version:"Έκδοση",versionCopy:"Κάνε κλικ για αντιγραφή",versionNotAvailable:"Έκδοση μη διαθέσιμη",width:"Πλάτος"},QWu={addedToLibrary:"Προστέθηκε στη βιβλιοθήκη",copyStyles:"Αντιγράφηκαν στυλ.",copyToClipboard:"Αντιγράφηκε στο πρόχειρο.",copyToClipboardAsPng:`Αντιγράφηκε {{exportSelection}} στο πρόχειρο ως PNG
({{exportColorScheme}})`,fileSaved:"Το αρχείο αποθηκεύτηκε.",fileSavedToFilename:"Αποθηκεύτηκε στο {filename}",canvas:"καμβάς",selection:"επιλογή",pasteAsSingleElement:`Χρησιμοποίησε το {{shortcut}} για να επικολλήσεις ως ένα μόνο στοιχείο,
ή να επικολλήσεις σε έναν υπάρχοντα επεξεργαστή κειμένου`,unableToEmbed:"",unrecognizedLinkFormat:""},GWu={transparent:"Διαφανές",black:"Μαύρο",white:"Λευκό",red:"Κόκκινο",pink:"Ροζ",grape:"Σταφυλί",violet:"Βιολετί",gray:"Γκρι",blue:"Μπλε",cyan:"Κυανό",teal:"Τιρκουάζ",green:"Πράσινο",yellow:"Κίτρινο",orange:"Πορτοκαλί",bronze:"Χαλκινο"},HWu={app:{center_heading:"Όλα τα δεδομένα σας αποθηκεύονται τοπικά στο πρόγραμμα περιήγησης.",center_heading_plus:"Μήπως θέλατε να πάτε στο Excalidraw+;",menuHint:"Εξαγωγή, προτιμήσεις, γλώσσες, ..."},defaults:{menuHint:"Εξαγωγή, προτιμήσεις και άλλες επιλογές...",center_heading:"Διαγράμματα. Εύκολα. Γρήγορα.",toolbarHint:"Επιλέξτε ένα εργαλείο και ξεκινήστε να σχεδιάζεται!",helpHint:"Συντομεύσεις και βοήθεια"}},qWu={mostUsedCustomColors:"Πιο χρησιμοποιούμενα χρώματα",colors:"Χρώματα",shades:"Αποχρώσεις",hexCode:"Κωδικός Hex",noShades:"Δεν υπάρχουν διαθέσιμες αποχρώσεις για αυτό το χρώμα"},lWu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},LWu={title:"",button:"",description:"",syntax:"",preview:""},nk3={labels:sxu,library:oxu,buttons:txu,alerts:exu,errors:uWu,toolBar:BWu,headings:EWu,hints:AWu,canvasError:CWu,errorSplash:DWu,roomDialog:FWu,errorDialog:UWu,exportDialog:zWu,helpDialog:kWu,clearCanvasDialog:fWu,publishDialog:MWu,publishSuccessDialog:bWu,confirmDialog:ZWu,imageExportDialog:JWu,encrypted:KWu,stats:wWu,toast:QWu,colors:GWu,welcomeScreen:HWu,colorPicker:qWu,overwriteConfirm:lWu,mermaid:LWu}});var xWu={};ju(xWu,{welcomeScreen:()=>wZ0,userList:()=>LZ0,toolBar:()=>sb0,toast:()=>JZ0,stats:()=>ZZ0,shareDialog:()=>EZ0,search:()=>_b0,roomDialog:()=>AZ0,quickSearch:()=>qZ0,publishSuccessDialog:()=>kZ0,publishDialog:()=>zZ0,overwriteConfirm:()=>GZ0,mermaid:()=>HZ0,library:()=>cb0,labels:()=>rb0,imageExportDialog:()=>MZ0,hints:()=>eb0,helpDialog:()=>FZ0,headings:()=>tb0,fontList:()=>lZ0,exportDialog:()=>DZ0,errors:()=>db0,errorSplash:()=>BZ0,errorDialog:()=>CZ0,encrypted:()=>bZ0,elementLink:()=>gb0,element:()=>ob0,default:()=>JI,confirmDialog:()=>fZ0,commandPalette:()=>XZ0,colors:()=>KZ0,colorPicker:()=>QZ0,clearCanvasDialog:()=>UZ0,canvasError:()=>uZ0,buttons:()=>pb0,alerts:()=>nb0});var WWu=g(()=>{vZ0();m4()});var uSu={};ju(uSu,{welcomeScreen:()=>sWu,toolBar:()=>IWu,toast:()=>nWu,stats:()=>pWu,roomDialog:()=>hWu,publishSuccessDialog:()=>rWu,publishDialog:()=>yWu,overwriteConfirm:()=>tWu,mermaid:()=>eWu,library:()=>YWu,labels:()=>SWu,imageExportDialog:()=>cWu,hints:()=>jWu,helpDialog:()=>mWu,headings:()=>PWu,exportDialog:()=>aWu,errors:()=>OWu,errorSplash:()=>VWu,errorDialog:()=>iWu,encrypted:()=>_Wu,default:()=>dk3,confirmDialog:()=>gWu,colors:()=>dWu,colorPicker:()=>oWu,clearCanvasDialog:()=>$Wu,canvasError:()=>NWu,buttons:()=>RWu,alerts:()=>TWu});var SWu,YWu,RWu,TWu,OWu,IWu,PWu,jWu,NWu,VWu,hWu,iWu,aWu,mWu,$Wu,yWu,rWu,gWu,cWu,_Wu,pWu,nWu,dWu,sWu,oWu,tWu,eWu,dk3;var BSu=g(()=>{m4();SWu={paste:"Pegar",pasteAsPlaintext:"Pegar como texto sin formato",pasteCharts:"Pegar gráficos",selectAll:"Seleccionar todo",multiSelect:"Añadir elemento a la selección",moveCanvas:"Mover el lienzo",cut:"Cortar",copy:"Copiar",copyAsPng:"Copiar al portapapeles como PNG",copyAsSvg:"Copiar al portapapeles como SVG",copyText:"Copiar al portapapeles como texto",copySource:"Copiar fuente al portapapeles",convertToCode:"Convertir a código",bringForward:"Traer hacia delante",sendToBack:"Enviar al fondo",bringToFront:"Traer al frente",sendBackward:"Enviar atrás",delete:"Borrar",copyStyles:"Copiar estilos",pasteStyles:"Pegar estilos",stroke:"Trazo",background:"Fondo",fill:"Rellenar",strokeWidth:"Grosor del trazo",strokeStyle:"Estilo del trazo",strokeStyle_solid:"Sólido",strokeStyle_dashed:"Discontinua",strokeStyle_dotted:"Punteado",sloppiness:"Estilo de trazo",opacity:"Opacidad",textAlign:"Alineado de texto",edges:"Bordes",sharp:"Afilado",round:"Redondo",arrowheads:"Puntas de flecha",arrowhead_none:"Ninguna",arrowhead_arrow:"Flecha",arrowhead_bar:"Barra",arrowhead_circle:"Círculo",arrowhead_circle_outline:"Círculo (contorno)",arrowhead_triangle:"Triángulo",arrowhead_triangle_outline:"Triángulo (contorno)",arrowhead_diamond:"Diamante",arrowhead_diamond_outline:"Diamante (contorno)",fontSize:"Tamaño de la fuente",fontFamily:"Tipo de fuente",addWatermark:'Agregar "Hecho con Excalidraw"',handDrawn:"Dibujado a mano",normal:"Normal",code:"Código",small:"Pequeña",medium:"Mediana",large:"Grande",veryLarge:"Muy grande",solid:"Sólido",hachure:"Folleto",zigzag:"Zigzag",crossHatch:"Rayado transversal",thin:"Fino",bold:"Grueso",left:"Izquierda",center:"Centrado",right:"Derecha",extraBold:"Extra negrita",architect:"Arquitecto",artist:"Artista",cartoonist:"Caricatura",fileTitle:"Nombre del archivo",colorPicker:"Selector de color",canvasColors:"Usado en lienzo",canvasBackground:"Fondo del lienzo",drawingCanvas:"Lienzo de dibujo",layers:"Capas",actions:"Acciones",language:"Idioma",liveCollaboration:"Colaboración en directo...",duplicateSelection:"Duplicar",untitled:"Sin título",name:"Nombre",yourName:"Tu nombre",madeWithExcalidraw:"Hecho con Excalidraw",group:"Agrupar selección",ungroup:"Desagrupar selección",collaborators:"Colaboradores",showGrid:"Mostrar cuadrícula",addToLibrary:"Añadir a la biblioteca",removeFromLibrary:"Eliminar de la biblioteca",libraryLoadingMessage:"Cargando biblioteca…",libraries:"Explorar bibliotecas",loadingScene:"Cargando escena…",align:"Alinear",alignTop:"Alineación superior",alignBottom:"Alineación inferior",alignLeft:"Alinear a la izquierda",alignRight:"Alinear a la derecha",centerVertically:"Centrar verticalmente",centerHorizontally:"Centrar horizontalmente",distributeHorizontally:"Distribuir horizontalmente",distributeVertically:"Distribuir verticalmente",flipHorizontal:"Girar horizontalmente",flipVertical:"Girar verticalmente",viewMode:"Modo presentación",share:"Compartir",showStroke:"Mostrar selector de color de trazo",showBackground:"Mostrar el selector de color de fondo",toggleTheme:"Cambiar tema",personalLib:"Biblioteca personal",excalidrawLib:"Biblioteca Excalidraw",decreaseFontSize:"Disminuir tamaño de letra",increaseFontSize:"Aumentar el tamaño de letra",unbindText:"Desvincular texto",bindText:"Vincular texto al contenedor",createContainerFromText:"Envolver el texto en un contenedor",link:{edit:"Editar enlace",editEmbed:"Editar enlace e incrustar",create:"Crear enlace",createEmbed:"Crear enlace e incrustar",label:"Enlace",labelEmbed:"Enlazar e incrustar",empty:"No se ha establecido un enlace"},lineEditor:{edit:"Editar línea",exit:"Salir del editor en línea"},elementLock:{lock:"Bloquear",unlock:"Desbloquear",lockAll:"Bloquear todo",unlockAll:"Desbloquear todo"},statusPublished:"Publicado",sidebarLock:"Mantener barra lateral abierta",selectAllElementsInFrame:"Seleccionar todos los elementos en el marco",removeAllElementsFromFrame:"Eliminar todos los elementos del marco",eyeDropper:"Seleccionar un color del lienzo",textToDiagram:"Texto a diagrama",prompt:"Sugerencia"},YWu={noItems:"No hay elementos añadidos todavía...",hint_emptyLibrary:"Seleccione un elemento en el lienzo para añadirlo aquí, o instale una biblioteca del repositorio público, a continuación.",hint_emptyPrivateLibrary:"Seleccione un elemento del lienzo para añadirlo aquí."},RWu={clearReset:"Limpiar lienzo y reiniciar el color de fondo",exportJSON:"Exportar a archivo",exportImage:"Exportar imagen...",export:"Guardar en...",copyToClipboard:"Copiar al portapapeles",save:"Guardar en archivo actual",saveAs:"Guardar como",load:"Abrir",getShareableLink:"Obtener enlace para compartir",close:"Cerrar",selectLanguage:"Elegir idioma",scrollBackToContent:"Volver al contenido",zoomIn:"Acercarse",zoomOut:"Alejarse",resetZoom:"Restablecer zoom",menu:"Menú",done:"Hecho",edit:"Editar",undo:"Deshacer",redo:"Rehacer",resetLibrary:"Reiniciar biblioteca",createNewRoom:"Crear nueva sala",fullScreen:"Pantalla completa",darkMode:"Modo oscuro",lightMode:"Modo claro",zenMode:"Modo Zen",objectsSnapMode:"Ajustar a los objetos",exitZenMode:"Salir del modo Zen",cancel:"Cancelar",clear:"Borrar",remove:"Eliminar",embed:"",publishLibrary:"Publicar",submit:"Enviar",confirm:"Confirmar",embeddableInteractionButton:"Pulsa para interactuar"},TWu={clearReset:"Esto limpiará todo el lienzo. Estás seguro?",couldNotCreateShareableLink:"No se pudo crear un enlace para compartir.",couldNotCreateShareableLinkTooBig:"No se pudo crear el enlace para compartir: la escena es demasiado grande",couldNotLoadInvalidFile:"No se pudo cargar el archivo no válido",importBackendFailed:"La importación falló.",cannotExportEmptyCanvas:"No se puede exportar un lienzo vació",couldNotCopyToClipboard:"No se pudo copiar al portapapeles.",decryptFailed:"No se pudieron descifrar los datos.",uploadedSecurly:"La carga ha sido asegurada con cifrado de principio a fin, lo que significa que el servidor de Excalidraw y terceros no pueden leer el contenido.",loadSceneOverridePrompt:"Si carga este dibujo externo, reemplazará el que tiene. ¿Desea continuar?",collabStopOverridePrompt:`Detener la sesión sobrescribirá su dibujo anterior almacenado localmente. ¿Está seguro?
(Si desea mantener su dibujo local, simplemente cierre la pestaña del navegador.)`,errorAddingToLibrary:"No se pudo agregar el elemento a la biblioteca",errorRemovingFromLibrary:"No se pudo quitar el elemento de la biblioteca",confirmAddLibrary:"Esto añadirá {{numShapes}} forma(s) a tu biblioteca. ¿Estás seguro?",imageDoesNotContainScene:"Esta imagen no parece contener datos de escena. ¿Ha habilitado la inserción de la escena durante la exportación?",cannotRestoreFromImage:"No se pudo restaurar la escena desde este archivo de imagen",invalidSceneUrl:"No se ha podido importar la escena desde la URL proporcionada. Está mal formada, o no contiene datos de Excalidraw JSON válidos.",resetLibrary:"Esto borrará tu biblioteca. ¿Estás seguro?",removeItemsFromsLibrary:"¿Eliminar {{count}} elemento(s) de la biblioteca?",invalidEncryptionKey:"La clave de cifrado debe tener 22 caracteres. La colaboración en vivo está deshabilitada.",collabOfflineWarning:`No hay conexión a internet disponible.
¡No se guardarán los cambios!`},OWu={unsupportedFileType:"Tipo de archivo no admitido.",imageInsertError:"No se pudo insertar la imagen. Inténtelo de nuevo más tarde...",fileTooBig:"Archivo demasiado grande. El tamaño máximo permitido es {{maxSize}}.",svgImageInsertError:"No se pudo insertar la imagen SVG. El código SVG parece inválido.",failedToFetchImage:"Error al obtener la imagen.",invalidSVGString:"SVG no válido.",cannotResolveCollabServer:"No se pudo conectar al servidor colaborador. Por favor, vuelva a cargar la página y vuelva a intentarlo.",importLibraryError:"No se pudo cargar la librería",collabSaveFailed:"No se pudo guardar en la base de datos del backend. Si los problemas persisten, debería guardar su archivo localmente para asegurarse de que no pierde su trabajo.",collabSaveFailed_sizeExceeded:"No se pudo guardar en la base de datos del backend, el lienzo parece ser demasiado grande. Debería guardar el archivo localmente para asegurarse de que no pierde su trabajo.",imageToolNotSupported:"",brave_measure_text_error:{line1:"Parece que estás usando el navegador Brave con el ajuste <bold>Forzar el bloqueo de huellas digitales</bold> habilitado.",line2:"Esto podría resultar en errores en los <bold>Elementos de Texto</bold> en tus dibujos.",line3:"Recomendamos fuertemente deshabilitar esta configuración. Puedes seguir <link>estos pasos</link> sobre cómo hacerlo.",line4:""},libraryElementTypeError:{embeddable:"",iframe:"Los elementos IFrame no se pueden agregar a la biblioteca.",image:""},asyncPasteFailedOnRead:"No se pudo pegar (no se pudo leer desde el portapapeles del sistema).",asyncPasteFailedOnParse:"No se pudo pegar.",copyToSystemClipboardFailed:"No se pudo copiar al portapapeles."},IWu={selection:"Selección",image:"Insertar imagen",rectangle:"Rectángulo",diamond:"Diamante",ellipse:"Elipse",arrow:"Flecha",line:"Línea",freedraw:"Dibujar",text:"Texto",library:"Biblioteca",lock:"Mantener la herramienta seleccionada activa después de dibujar",penMode:"Modo Lápiz - previene toque",link:"Añadir/Actualizar enlace para una forma seleccionada",eraser:"Borrar",frame:"",magicframe:"Esquema a código",embeddable:"Incrustar Web",laser:"Puntero láser",hand:"Mano (herramienta de panoramización)",extraTools:"Más herramientas",mermaidToExcalidraw:"Mermaid a Excalidraw",magicSettings:"Ajustes AI"},PWu={canvasActions:"Acciones del lienzo",selectedShapeActions:"Acciones de la forma seleccionada",shapes:"Formas"},jWu={canvasPanning:"Para mover el lienzo, mantenga la rueda del ratón o la barra espaciadora mientras arrastra o utilice la herramienta de mano",linearElement:"Haz clic para dibujar múltiples puntos, arrastrar para solo una línea",freeDraw:"Haz clic y arrastra, suelta al terminar",text:"Consejo: también puedes añadir texto haciendo doble clic en cualquier lugar con la herramienta de selección",embeddable:"Haga clic y arrastre para crear un sitio web incrustado",text_selected:"Doble clic o pulse ENTER para editar el texto",text_editing:"Pulse Escape o Ctrl/Cmd + ENTER para terminar de editar",linearElementMulti:"Haz clic en el último punto o presiona Escape o Enter para finalizar",lockAngle:"Puedes restringir el ángulo manteniendo presionado el botón SHIFT",resize:`Para mantener las proporciones mantén SHIFT presionado mientras modificas el tamaño,
mantén presionado ALT para modificar el tamaño desde el centro`,resizeImage:`Puede redimensionar libremente pulsando SHIFT,
pulse ALT para redimensionar desde el centro`,rotate:"Puedes restringir los ángulos manteniendo presionado SHIFT mientras giras",lineEditor_info:"Mantenga pulsado CtrlOrCmd y haga doble click o presione CtrlOrCmd + Enter para editar puntos",lineEditor_pointSelected:"Presione Suprimir para eliminar el/los punto(s), CtrlOrCmd+D para duplicarlo, o arrástrelo para moverlo",lineEditor_nothingSelected:`Seleccione un punto a editar (mantenga MAYÚSCULAS para seleccionar múltiples),
o mantenga pulsado Alt y haga click para añadir nuevos puntos`,placeImage:"Haga clic para colocar la imagen o haga click y arrastre para establecer su tamaño manualmente",publishLibrary:"Publica tu propia biblioteca",bindTextToElement:"Presione Entrar para agregar",deepBoxSelect:"Mantén CtrlOrCmd para seleccionar en profundidad, y para evitar arrastrar",eraserRevert:"Mantenga pulsado Alt para revertir los elementos marcados para su eliminación",firefox_clipboard_write:'Esta característica puede ser habilitada estableciendo la bandera "dom.events.asyncClipboard.clipboardItem" a "true". Para cambiar las banderas del navegador en Firefox, visite la página "about:config".',disableSnapping:"Mantén pulsado CtrlOrCmd para desactivar el ajuste"},NWu={cannotShowPreview:"No se puede mostrar la vista previa",canvasTooBig:"El lienzo podría ser demasiado grande.",canvasTooBigTip:"Sugerencia: intenta acercar un poco más los elementos más lejanos."},VWu={headingMain:"Se encontró un error. Intente <button>recargando la página.</button>",clearCanvasMessage:"Si la recarga no funciona, intente <button>limpiando el lienzo.</button>",clearCanvasCaveat:" Esto provocará la pérdida de su trabajo ",trackedToSentry:"El error con el identificador {{eventId}} fue rastreado en nuestro sistema.",openIssueMessage:"Fuimos muy cautelosos de no incluir la información de tu escena en el error. Si tu escena no es privada, por favor considera seguir nuestro <button>rastreador de errores.</button> Por favor, incluya la siguiente información copiándola y pegándola en el issue de GitHub.",sceneContent:"Contenido de la escena:"},hWu={desc_intro:"Puede invitar a otras personas a tu actual escena para que colaboren contigo.",desc_privacy:"No te preocupes, la sesión usa encriptación de punta a punta, por lo que todo lo que se dibuje se mantendrá privadamente. Ni siquiera nuestro servidor podrá ver lo que haces.",button_startSession:"Iniciar sesión",button_stopSession:"Detener sesión",desc_inProgressIntro:"La sesión de colaboración en vivo está ahora en progreso.",desc_shareLink:"Comparte este enlace con cualquier persona con quien quieras colaborar:",desc_exitSession:"Detener la sesión te desconectará de la sala, pero podrás seguir trabajando con la escena en su computadora, esto es de modo local. Ten en cuenta que esto no afectará a otras personas, y que las mismas seguirán siendo capaces de colaborar en tu escena.",shareTitle:"Únase a una sesión colaborativa en vivo en Excalidraw"},iWu={title:"Error"},aWu={disk_title:"Guardar en disco",disk_details:"Exportar los datos de la escena a un archivo desde el cual pueda importar más tarde.",disk_button:"Guardar en archivo",link_title:"Enlace para compartir",link_details:"Exportar como enlace de sólo lectura.",link_button:"Exportar a Link",excalidrawplus_description:"Guarde la escena en su espacio de trabajo de Excalidraw+.",excalidrawplus_button:"Exportar",excalidrawplus_exportError:"No se pudo exportar a Excalidraw+ en este momento..."},mWu={blog:"Lea nuestro blog",click:"click",deepSelect:"Selección profunda",deepBoxSelect:"Seleccione en profundidad dentro de la caja, y evite arrastrar",curvedArrow:"Flecha curva",curvedLine:"Línea curva",documentation:"Documentación",doubleClick:"doble clic",drag:"arrastrar",editor:"Editor",editLineArrowPoints:"Editar puntos de línea/flecha",editText:"Editar texto / añadir etiqueta",github:"¿Ha encontrado un problema? Envíelo",howto:"Siga nuestras guías",or:"o",preventBinding:"Evitar enlace de flechas",tools:"Herramientas",shortcuts:"Atajos del teclado",textFinish:"Finalizar edición (editor de texto)",textNewLine:"Añadir nueva linea (editor de texto)",title:"Ayuda",view:"Vista",zoomToFit:"Ajustar la vista para mostrar todos los elementos",zoomToSelection:"Ampliar selección",toggleElementLock:"Bloquear/desbloquear selección",movePageUpDown:"Mover página hacia arriba/abajo",movePageLeftRight:"Mover página hacia la izquierda/derecha"},$Wu={title:"Borrar lienzo"},yWu={title:"Publicar biblioteca",itemName:"Nombre del artículo",authorName:"Nombre del autor",githubUsername:"Nombre de usuario de GitHub",twitterUsername:"Nombre de usuario de Twitter",libraryName:"Nombre de la biblioteca",libraryDesc:"Descripción de la biblioteca",website:"Sitio Web",placeholder:{authorName:"Nombre o nombre de usuario",libraryName:"Nombre de tu biblioteca",libraryDesc:"Descripción de su biblioteca para ayudar a la gente a entender su uso",githubHandle:"Nombre de usuario de GitHub (opcional), así podrá editar la biblioteca una vez enviada para su revisión",twitterHandle:"Nombre de usuario de Twitter (opcional), así sabemos a quién acreditar cuando se promociona en Twitter",website:"Enlace a su sitio web personal o en cualquier otro lugar (opcional)"},errors:{required:"Requerido",website:"Introduce una URL válida"},noteDescription:"Envía tu biblioteca para ser incluida en el <link>repositorio de librería pública</link>para que otras personas utilicen en sus dibujos.",noteGuidelines:"La biblioteca debe ser aprobada manualmente primero. Por favor, lea la <link>pautas</link> antes de enviar. Necesitará una cuenta de GitHub para comunicarse y hacer cambios si se solicita, pero no es estrictamente necesario.",noteLicense:"Al enviar, usted acepta que la biblioteca se publicará bajo el <link>Licencia MIT </link>que en breve significa que cualquiera puede utilizarlos sin restricciones.",noteItems:"Cada elemento de la biblioteca debe tener su propio nombre para que sea filtrable. Los siguientes elementos de la biblioteca serán incluidos:",atleastOneLibItem:"Por favor, seleccione al menos un elemento de la biblioteca para empezar",republishWarning:"Nota: algunos de los elementos seleccionados están marcados como ya publicados/enviados. Sólo debería volver a enviar elementos cuando se actualice una biblioteca o envío."},rWu={title:"Biblioteca enviada",content:"Gracias {{authorName}}. Su biblioteca ha sido enviada para ser revisada. Puede seguir el estado<link>aquí</link>"},gWu={resetLibrary:"Reiniciar biblioteca",removeItemsFromLib:"Eliminar elementos seleccionados de la biblioteca"},cWu={header:"Exportar imagen",label:{withBackground:"Fondo",onlySelected:"Sólo seleccionados",darkMode:"Modo oscuro",embedScene:"Incrustar escena",scale:"Escalar",padding:"Espaciado"},tooltip:{embedScene:""},title:{exportToPng:"Exportar a PNG",exportToSvg:"Exportar a SVG",copyPngToClipboard:"Copiar PNG al portapapeles"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copiar al portapapeles"}},_Wu={tooltip:"Tus dibujos están cifrados de punto a punto, por lo que los servidores de Excalidraw nunca los verán.",link:"Entrada en el blog sobre cifrado de extremo a extremo"},pWu={angle:"Ángulo",element:"Elemento",elements:"Elementos",height:"Alto",scene:"Escena",selected:"Seleccionado",storage:"Almacenamiento",title:"Estadísticas para nerds",total:"Total",version:"Versión",versionCopy:"Click para copiar",versionNotAvailable:"Versión no disponible",width:"Ancho"},nWu={addedToLibrary:"Añadido a la biblioteca",copyStyles:"Estilos copiados.",copyToClipboard:"Copiado en el portapapeles.",copyToClipboardAsPng:`Copiado {{exportSelection}} al portapapeles como PNG
({{exportColorScheme}})`,fileSaved:"Archivo guardado.",fileSavedToFilename:"Guardado en {filename}",canvas:"lienzo",selection:"selección",pasteAsSingleElement:`Usa {{shortcut}} para pegar como un solo elemento,
o pegar en un editor de texto existente`,unableToEmbed:"",unrecognizedLinkFormat:""},dWu={transparent:"Transparente",black:"Negro",white:"Blanco",red:"Rojo",pink:"Rosa",grape:"Uva",violet:"Violeta",gray:"Gris",blue:"Azul",cyan:"Cian",teal:"Turquesa",green:"Verde",yellow:"Amarillo",orange:"Naranja",bronze:"Bronce"},sWu={app:{center_heading:"Toda su información es guardada localmente en su navegador.",center_heading_plus:"¿Quieres ir a Excalidraw+?",menuHint:"Exportar, preferencias, idiomas, ..."},defaults:{menuHint:"Exportar, preferencias y más...",center_heading:"Diagramas. Hecho. Simplemente.",toolbarHint:"¡Elige una herramienta y empieza a dibujar!",helpHint:"Atajos y ayuda"}},oWu={mostUsedCustomColors:"Colores personalizados más utilizados",colors:"Colores",shades:"",hexCode:"Código Hexadecimal",noShades:""},tWu={action:{exportToImage:{title:"Exportar como imagen",button:"Exportar como imagen",description:""},saveToDisk:{title:"Guardar en el disco",button:"Guardar en el disco",description:"Exporta los datos de la escena a un archivo desde el cual podrás importar más tarde."},excalidrawPlus:{title:"",button:"Exportar a Excalidraw+",description:""}},modal:{loadFromFile:{title:"Cargar desde un archivo",button:"Cargar desde un archivo",description:""},shareableLink:{title:"Cargar desde un enlace",button:"Reemplazar mi contenido",description:"Cargar un dibujo externo <bold>reemplazará tu contenido existente</bold>.<br></br>Puedes primero hacer una copia de seguridad de tu dibujo usando una de las opciones de abajo."}}},eWu={title:"Mermaid a Excalidraw",button:"Insertar",description:"Actualmente sólo <flowchartLink>Flowchart</flowchartLink>,<sequenceLink> Secuencia, </sequenceLink> y <classLink>Class </classLink>Diagramas son soportados. Los otros tipos se renderizarán como imagen en Excalidraw.",syntax:"Sintaxis Mermaid",preview:"Vista previa"},dk3={labels:SWu,library:YWu,buttons:RWu,alerts:TWu,errors:OWu,toolBar:IWu,headings:PWu,hints:jWu,canvasError:NWu,errorSplash:VWu,roomDialog:hWu,errorDialog:iWu,exportDialog:aWu,helpDialog:mWu,clearCanvasDialog:$Wu,publishDialog:yWu,publishSuccessDialog:rWu,confirmDialog:gWu,imageExportDialog:cWu,encrypted:_Wu,stats:pWu,toast:nWu,colors:dWu,welcomeScreen:sWu,colorPicker:oWu,overwriteConfirm:tWu,mermaid:eWu}});var RSu={};ju(RSu,{welcomeScreen:()=>xSu,toolBar:()=>USu,toast:()=>XSu,stats:()=>LSu,roomDialog:()=>bSu,publishSuccessDialog:()=>GSu,publishDialog:()=>QSu,overwriteConfirm:()=>SSu,mermaid:()=>YSu,library:()=>ASu,labels:()=>ESu,imageExportDialog:()=>qSu,hints:()=>kSu,helpDialog:()=>KSu,headings:()=>zSu,exportDialog:()=>JSu,errors:()=>FSu,errorSplash:()=>MSu,errorDialog:()=>ZSu,encrypted:()=>lSu,default:()=>sk3,confirmDialog:()=>HSu,colors:()=>vSu,colorPicker:()=>WSu,clearCanvasDialog:()=>wSu,canvasError:()=>fSu,buttons:()=>CSu,alerts:()=>DSu});var ESu,ASu,CSu,DSu,FSu,USu,zSu,kSu,fSu,MSu,bSu,ZSu,JSu,KSu,wSu,QSu,GSu,HSu,qSu,lSu,LSu,XSu,vSu,xSu,WSu,SSu,YSu,sk3;var TSu=g(()=>{m4();ESu={paste:"Itsatsi",pasteAsPlaintext:"Itsatsi testu arrunt gisa",pasteCharts:"Itsatsi grafikoak",selectAll:"Hautatu dena",multiSelect:"Gehitu elementua hautapenera",moveCanvas:"Mugitu oihala",cut:"Ebaki",copy:"Kopiatu",copyAsPng:"Kopiatu arbelera PNG gisa",copyAsSvg:"Kopiatu arbelera SVG gisa",copyText:"Kopiatu arbelera testu gisa",copySource:"Kopiatu iturria arbelean",convertToCode:"Bihurtu kodea",bringForward:"Ekarri aurrerago",sendToBack:"Eraman atzera",bringToFront:"Ekarri aurrera",sendBackward:"Eraman atzerago",delete:"Ezabatu",copyStyles:"Kopiatu estiloak",pasteStyles:"Itsatsi estiloak",stroke:"Marra",background:"Atzeko planoa",fill:"Bete",strokeWidth:"Marraren zabalera",strokeStyle:"Marraren estiloa",strokeStyle_solid:"Solidoa",strokeStyle_dashed:"Marratua",strokeStyle_dotted:"Puntukatua",sloppiness:"Marraren trazoa",opacity:"Opakotasuna",textAlign:"Testuaren lerrokapena",edges:"Ertzak",sharp:"Ertz bizia",round:"Borobildua",arrowheads:"Gezi-puntak",arrowhead_none:"Bat ere ez",arrowhead_arrow:"Gezia",arrowhead_bar:"Barra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Hirukia",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Letra-tamaina",fontFamily:"Letra-tipoa",addWatermark:'Gehitu "Excalidraw bidez egina"',handDrawn:"Eskuz marraztua",normal:"Normala",code:"Kodea",small:"Txikia",medium:"Ertaina",large:"Handia",veryLarge:"Oso handia",solid:"Solidoa",hachure:"Itzalduna",zigzag:"Sigi-saga",crossHatch:"Marraduna",thin:"Mehea",bold:"Lodia",left:"Ezkerrean",center:"Erdian",right:"Eskuinean",extraBold:"Oso lodia",architect:"Arkitektoa",artist:"Artista",cartoonist:"Marrazkilaria",fileTitle:"Fitxategi izena",colorPicker:"Kolore-hautatzailea",canvasColors:"Oihalean erabilita",canvasBackground:"Oihalaren atzeko planoa",drawingCanvas:"Marrazteko oihala",layers:"Geruzak",actions:"Ekintzak",language:"Hizkuntza",liveCollaboration:"Zuzeneko elkarlana...",duplicateSelection:"Bikoiztu",untitled:"Izengabea",name:"Izena",yourName:"Zure izena",madeWithExcalidraw:"Excalidraw bidez egina",group:"Hautapena taldea bihurtu",ungroup:"Desegin hautapenaren taldea",collaborators:"Kolaboratzaileak",showGrid:"Erakutsi sareta",addToLibrary:"Gehitu liburutegira",removeFromLibrary:"Kendu liburutegitik",libraryLoadingMessage:"Liburutegia kargatzen…",libraries:"Arakatu liburutegiak",loadingScene:"Eszena kargatzen…",align:"Lerrokatu",alignTop:"Lerrokatu goian",alignBottom:"Lerrokatu behean",alignLeft:"Lerrokatu ezkerrean",alignRight:"Lerrokatu eskuinean",centerVertically:"Erdiratu bertikalki",centerHorizontally:"Erdiratu horizontalki",distributeHorizontally:"Banandu horizontalki",distributeVertically:"Banandu bertikalki",flipHorizontal:"Irauli horizontalki",flipVertical:"Irauli bertikalki",viewMode:"Ikuspegia",share:"Partekatu",showStroke:"Erakutsi marraren kolore-hautatzailea",showBackground:"Erakutsi atzeko planoaren kolore-hautatzailea",toggleTheme:"Aldatu gaia",personalLib:"Liburutegi pertsonala",excalidrawLib:"Excalidraw liburutegia",decreaseFontSize:"Txikitu letra tamaina",increaseFontSize:"Handitu letra tamaina",unbindText:"Askatu testua",bindText:"Lotu testua edukiontziari",createContainerFromText:"Bilatu testua edukiontzi batean",link:{edit:"Editatu esteka",editEmbed:"Editatu esteka eta kapsulatu",create:"Sortu esteka",createEmbed:"Sortu esteka eta kapsulatu",label:"Esteka",labelEmbed:"Esteka eta kapsula",empty:"Ez da estekarik ezarri"},lineEditor:{edit:"Editatu lerroa",exit:"Irten lerro-editoretik"},elementLock:{lock:"Blokeatu",unlock:"Desblokeatu",lockAll:"Blokeatu guztiak",unlockAll:"Desblokeatu guztiak"},statusPublished:"Argitaratua",sidebarLock:"Mantendu alboko barra irekita",selectAllElementsInFrame:"Hautatu markoko elementu guztiak",removeAllElementsFromFrame:"Kendu markoko elementu guztiak",eyeDropper:"Aukeratu kolorea oihaletik",textToDiagram:"Testutik diagramara",prompt:""},ASu={noItems:"Oraindik ez da elementurik gehitu...",hint_emptyLibrary:"Hautatu oihaleko elementu bat hemen gehitzeko, edo instalatu liburutegi bat beheko biltegi publikotik.",hint_emptyPrivateLibrary:"Hautatu oihaleko elementu bat hemen gehitzeko."},CSu={clearReset:"Garbitu oihala",exportJSON:"Esportatu fitxategira",exportImage:"Esportatu irudia...",export:"Gorde hemen...",copyToClipboard:"Kopiatu arbelera",save:"Gorde uneko fitxategian",saveAs:"Gorde honela",load:"Ireki",getShareableLink:"Lortu partekatzeko esteka",close:"Itxi",selectLanguage:"Hautatu hizkuntza",scrollBackToContent:"Joan atzera edukira",zoomIn:"Handiagotu",zoomOut:"Txikiagotu",resetZoom:"Leheneratu zooma",menu:"Menua",done:"Egina",edit:"Editatu",undo:"Desegin",redo:"Berregin",resetLibrary:"Leheneratu liburutegia",createNewRoom:"Sortu gela berria",fullScreen:"Pantaila osoa",darkMode:"Modu iluna",lightMode:"Modu argia",zenMode:"Zen modua",objectsSnapMode:"Atxiki objektuei",exitZenMode:"Irten Zen modutik",cancel:"Utzi",clear:"Garbitu",remove:"Kendu",embed:"Aldatu kapsulatzea",publishLibrary:"Argitaratu",submit:"Bidali",confirm:"Bai",embeddableInteractionButton:"Egin klik elkar eragiteko"},DSu={clearReset:"Honek oihal osoa garbituko du. Ziur zaude?",couldNotCreateShareableLink:"Ezin izan da partekatzeko estekarik sortu.",couldNotCreateShareableLinkTooBig:"Ezin izan da partekatzeko estekarik sortu: eszena handiegia da",couldNotLoadInvalidFile:"Ezin izan da kargatu, fitxategiak ez du balio",importBackendFailed:"Inportazioak huts egin du.",cannotExportEmptyCanvas:"Ezin izan da oihal hutsa esportatu.",couldNotCopyToClipboard:"Ezin izan da arbelean kopiatu.",decryptFailed:"Ezin izan da deszifratu.",uploadedSecurly:"Kargatzea muturretik muturrerako zifratze bidez ziurtatu da, hau da, Excalidraw zerbitzariak eta hirugarrenek ezin dutela edukia irakurri.",loadSceneOverridePrompt:"Kanpoko marrazkia kargatzeak lehendik duzun edukia ordezkatuko du. Jarraitu nahi duzu?",collabStopOverridePrompt:`Saioa gelditzeak lokalean gordetako zure aurreko marrazkia gainidatziko du. Ziur zaude?
(Zure marrazki lokala mantendu nahi baduzu, itxi arakatzailearen fitxa.)`,errorAddingToLibrary:"Ezin izan da elementua liburutegian gehitu",errorRemovingFromLibrary:"Ezin izan da elementua liburutegitik kendu",confirmAddLibrary:"Honek {{numShapes}} forma gehituko ditu zure liburutegian. Ziur zaude?",imageDoesNotContainScene:"Irudi honek ez dirudi eszena daturik duenik. Eszena kapsulatzea gaitu al duzu esportazioan?",cannotRestoreFromImage:"Ezin izan da eszena leheneratu irudi fitxategi honetatik",invalidSceneUrl:"Ezin izan da eszena inportatu emandako URLtik. Gaizki eratuta dago edo ez du baliozko Excalidraw JSON daturik.",resetLibrary:"Honek zure liburutegia garbituko du. Ziur zaude?",removeItemsFromsLibrary:"Liburutegitik {{count}} elementu ezabatu?",invalidEncryptionKey:"Enkriptazio-gakoak 22 karaktere izan behar ditu. Zuzeneko lankidetza desgaituta dago.",collabOfflineWarning:`Ez dago Interneteko konexiorik.
Zure aldaketak ez dira gordeko!`},FSu={unsupportedFileType:"Onartu gabeko fitxategi mota.",imageInsertError:"Ezin izan da irudia txertatu. Saiatu berriro geroago...",fileTooBig:"Fitxategia handiegia da. Onartutako gehienezko tamaina {{maxSize}} da.",svgImageInsertError:"Ezin izan da SVG irudia txertatu. SVG markak baliogabea dirudi.",failedToFetchImage:"Ezin izan da irudia eskuratu.",invalidSVGString:"SVG baliogabea.",cannotResolveCollabServer:"Ezin izan da elkarlaneko zerbitzarira konektatu. Mesedez, berriro kargatu orria eta saiatu berriro.",importLibraryError:"Ezin izan da liburutegia kargatu",collabSaveFailed:"Ezin izan da backend datu-basean gorde. Arazoak jarraitzen badu, zure fitxategia lokalean gorde beharko zenuke zure lana ez duzula galtzen ziurtatzeko.",collabSaveFailed_sizeExceeded:"Ezin izan da backend datu-basean gorde, ohiala handiegia dela dirudi. Fitxategia lokalean gorde beharko zenuke zure lana galtzen ez duzula ziurtatzeko.",imageToolNotSupported:"Irudiak desgaituta daude.",brave_measure_text_error:{line1:"Brave arakatzailea erabiltzen ari zarela dirudi <bold>Blokeatu hatz-markak erasokorki</bold> ezarpena gaituta.",line2:"Honek zure marrazkietako <bold>Testu-elementuak</bold> hautsi ditzake.",line3:"Ezarpen hau desgaitzea gomendatzen dugu. <link>urrats hauek</link> jarrai ditzakezu hori nola egin jakiteko.",line4:"Ezarpen hau desgaituz gero, testu-elementuen bistaratzea konpontzen ez bada, ireki <issueLink>arazo</issueLink> gure GitHub-en edo idatzi iezaguzu <discordLink>Discord</discordLink> helbidera"},libraryElementTypeError:{embeddable:"Kapsulatutako elementuak ezin dira liburutegira gehitu.",iframe:"IFrame elementuak ezin dira liburutegira gehitu.",image:"Laster egongo da irudiak liburutegian gehitzeko laguntza!"},asyncPasteFailedOnRead:"Ezin izan da itsatsi (ezin izan da sistemaren arbeletik irakurri).",asyncPasteFailedOnParse:"Ezin izan da itsatsi.",copyToSystemClipboardFailed:"Ezin izan da arbelean kopiatu."},USu={selection:"Hautapena",image:"Txertatu irudia",rectangle:"Laukizuzena",diamond:"Diamantea",ellipse:"Elipsea",arrow:"Gezia",line:"Lerroa",freedraw:"Marraztu",text:"Testua",library:"Liburutegia",lock:"Mantendu aktibo hautatutako tresna marraztu ondoren",penMode:"Luma modua - ukipena saihestu",link:"Gehitu / Eguneratu esteka hautatutako forma baterako",eraser:"Borragoma",frame:"Marko tresna",magicframe:"Wireframe kodetzeko",embeddable:"Web kapsulatzea",laser:"Laser punteroa",hand:"Eskua (panoratze tresna)",extraTools:"Tresna gehiago",mermaidToExcalidraw:"",magicSettings:"AI ezarpenak"},zSu={canvasActions:"Canvas ekintzak",selectedShapeActions:"Hautatutako formaren ekintzak",shapes:"Formak"},kSu={canvasPanning:"Oihala mugitzeko, eutsi saguaren gurpila edo zuriune-barra arrastatzean, edo erabili esku tresna",linearElement:"Egin klik hainbat puntu hasteko, arrastatu lerro bakarrerako",freeDraw:"Egin klik eta arrastatu, askatu amaitutakoan",text:"Aholkua: testua gehitu dezakezu edozein lekutan klik bikoitza eginez hautapen tresnarekin",embeddable:"Egin klik eta arrastatu webgunea kapsulatzeko",text_selected:"Egin klik bikoitza edo sakatu SARTU testua editatzeko",text_editing:"Sakatu Esc edo Ctrl+SARTU editatzen amaitzeko",linearElementMulti:"Egin klik azken puntuan edo sakatu Esc edo Sartu amaitzeko",lockAngle:"SHIFT sakatuta angelua mantendu dezakezu",resize:`Proportzioak mantendu ditzakezu SHIFT sakatuta tamaina aldatzen duzun bitartean.
sakatu ALT erditik tamaina aldatzeko`,resizeImage:`Tamaina libreki alda dezakezu SHIFT sakatuta,
sakatu ALT erditik tamaina aldatzeko`,rotate:"Angeluak mantendu ditzakezu SHIFT sakatuta biratzen duzun bitartean",lineEditor_info:"Eutsi sakatuta Ctrl edo Cmd eta egin klik bikoitza edo sakatu Ctrl edo Cmd + Sartu puntuak editatzeko",lineEditor_pointSelected:`Sakatu Ezabatu puntuak kentzeko,
Ktrl+D bikoizteko, edo arrastatu mugitzeko`,lineEditor_nothingSelected:`Hautatu editatzeko puntu bat (SHIFT sakatuta anitz hautatzeko),
edo eduki Alt sakatuta eta egin klik puntu berriak gehitzeko`,placeImage:"Egin klik irudia kokatzeko, edo egin klik eta arrastatu bere tamaina eskuz ezartzeko",publishLibrary:"Argitaratu zure liburutegia",bindTextToElement:"Sakatu Sartu testua gehitzeko",deepBoxSelect:"Eutsi Ctrl edo Cmd sakatuta aukeraketa sakona egiteko eta arrastatzea saihesteko",eraserRevert:"Eduki Alt sakatuta ezabatzeko markatutako elementuak leheneratzeko",firefox_clipboard_write:'Ezaugarri hau "dom.events.asyncClipboard.clipboardItem" marka "true" gisa ezarrita gaitu daiteke. Firefox-en arakatzailearen banderak aldatzeko, bisitatu "about:config" orrialdera.',disableSnapping:"Eduki sakatuta Ctrl edo Cmd tekla atxikipena desgaitzeko"},fSu={cannotShowPreview:"Ezin da oihala aurreikusi",canvasTooBig:"Agian oihala handiegia da.",canvasTooBigTip:"Aholkua: saiatu urrunen dauden elementuak pixka bat hurbiltzen."},MSu={headingMain:"Errore bat aurkitu da. Saiatu <button>orria birkargatzen.</button>",clearCanvasMessage:"Birkargatzea ez bada burutzen, saiatu <button>oihala garbitzen.</button>",clearCanvasCaveat:" Honen ondorioz lana galduko da ",trackedToSentry:"Identifikatzailearen errorea {{eventId}} gure sistemak behatu du.",openIssueMessage:"Oso kontuz ibili gara zure eszenaren informazioa errorean ez sartzeko. Zure eszena pribatua ez bada, kontuan hartu gure <button>erroreen jarraipena egitea.</button> Sartu beheko informazioa kopiatu eta itsatsi bidez GitHub issue-n.",sceneContent:"Eszenaren edukia:"},bSu={desc_intro:"Jendea zure uneko eszenara gonbida dezakezu zurekin elkarlanean aritzeko.",desc_privacy:"Ez kezkatu, saioak muturretik muturrerako enkriptatzea erabiltzen du, beraz, marrazten duzuna pribatua izango da. Gure zerbitzariak ere ezingo du ikusi zer egiten duzun.",button_startSession:"Hasi saioa",button_stopSession:"Itxi saioa",desc_inProgressIntro:"Zuzeneko lankidetza saioa abian da.",desc_shareLink:"Partekatu esteka hau elkarlanean aritu nahi duzun edonorekin:",desc_exitSession:"Saioa ixteak aretotik deskonektatuko zaitu, baina eszenarekin lanean jarraitu ahal izango duzu lokalean. Kontuan izan honek ez diela beste pertsonei eragingo, eta euren bertsioan elkarlanean aritu ahal izango dira.",shareTitle:"Sartu Excalidraw-en zuzeneko lankidetza-saio batean"},ZSu={title:"Errorea"},JSu={disk_title:"Gorde diskoan",disk_details:"Esportatu eszenaren datuak geroago inportatu ahal izango duzun fitxategi batan.",disk_button:"Gorde fitxategian",link_title:"Partekatzeko esteka",link_details:"Esportatu irakurtzeko soilik moduko esteka.",link_button:"Esportatu esteka",excalidrawplus_description:"Gorde eszena zure Excalidraw+ laneko areara.",excalidrawplus_button:"Esportatu",excalidrawplus_exportError:"Une honetan ezin izan da esportatu Excalidraw+era..."},KSu={blog:"Irakurri gure bloga",click:"sakatu",deepSelect:"Hautapen sakona",deepBoxSelect:"Hautapen sakona egin laukizuzen bidez, eta saihestu arrastatzea",curvedArrow:"Gezi kurbatua",curvedLine:"Lerro kurbatua",documentation:"Dokumentazioa",doubleClick:"klik bikoitza",drag:"arrastatu",editor:"Editorea",editLineArrowPoints:"Editatu lerroak/gezi-puntuak",editText:"Editatu testua / gehitu etiketa",github:"Arazorik izan al duzu? Eman horren berri",howto:"Jarraitu gure gidak",or:"edo",preventBinding:"Saihestu gezien gainjartzea",tools:"Tresnak",shortcuts:"Laster-teklak",textFinish:"Bukatu edizioa (testu editorea)",textNewLine:"Gehitu lerro berri bat (testu editorea)",title:"Laguntza",view:"Bistaratu",zoomToFit:"Egin zoom elementu guztiak ikusteko",zoomToSelection:"Zooma hautapenera",toggleElementLock:"Blokeatu/desbloketatu hautapena",movePageUpDown:"Mugitu orria gora/behera",movePageLeftRight:"Mugitu orria ezker/eskuin"},wSu={title:"Garbitu oihala"},QSu={title:"Argitaratu liburutegia",itemName:"Elementuaren izena",authorName:"Egilearen izena",githubUsername:"GitHub-eko erabiltzaile-izena",twitterUsername:"Twitter-eko erabiltzaile-izena",libraryName:"Liburutegiaren izena",libraryDesc:"Liburutegiaren deskripzioa",website:"Webgunea",placeholder:{authorName:"Zure izena edo erabiltzaile-izena",libraryName:"Zure liburutegiaren izena",libraryDesc:"Zure liburutegiaren deskripzioa laguntzeko jendeari ulertzen haren erabilpena",githubHandle:"GitHub heldulekua (aukerakoa), liburutegia editatu ahal izateko berrikustera bidalitakoan",twitterHandle:"Twitter-eko erabiltzaile-izena (aukerakoa), badakigu nori kreditatu behar dugun Twitter bidez sustatzeko",website:"Estekatu zure webgunera edo nahi duzun tokira (aukerakoa)"},errors:{required:"Beharrezkoa",website:"Sartu baliozko URL bat"},noteDescription:"Bidali zure liburutegira sartu ahal izateko <link>zure liburutegiko biltegian</link>beste jendeak bere marrazkietan erabili ahal izateko.",noteGuidelines:"Liburutegia eskuz onartu behar da. Irakurri <link>gidalerroak</link> bidali aurretik. GitHub kontu bat edukitzea komeni da komunikatzeko eta aldaketak egin ahal izateko, baina ez da guztiz beharrezkoa.",noteLicense:"Bidaltzen baduzu, onartzen duzu liburutegia <link>MIT lizentziarekin argitaratuko dela, </link>zeinak, laburbilduz, esan nahi du edozeinek erabiltzen ahal duela murrizketarik gabe.",noteItems:"Liburutegiko elementu bakoitzak bere izena eduki behar du iragazi ahal izateko. Liburutegiko hurrengo elementuak barne daude:",atleastOneLibItem:"Hautatu gutxienez liburutegiko elementu bat gutxienez hasi ahal izateko",republishWarning:"Oharra: hautatutako elementu batzuk dagoeneko argitaratuta/bidalita bezala markatuta daude. Elementuak berriro bidali behar dituzu lehendik dagoen liburutegi edo bidalketa eguneratzen duzunean."},GSu={title:"Liburutegia bidali da",content:"Eskerrik asko {{authorName}}. Zure liburutegia bidali da berrikustera. Jarraitu dezakezu haren egoera<link>hemen</link>"},HSu={resetLibrary:"Leheneratu liburutegia",removeItemsFromLib:"Kendu hautatutako elementuak liburutegitik"},qSu={header:"Esportatu irudia",label:{withBackground:"Atzeko planoa",onlySelected:"Hautapena soilik",darkMode:"Modu iluna",embedScene:"Txertatu eszena",scale:"Eskala",padding:"Betegarria"},tooltip:{embedScene:`Eszenaren datuak esportatutako PNG/SVG fitxategian gordeko dira, eszena bertatik berrezartzeko.
Esportatutako fitxategien tamaina handituko da.`},title:{exportToPng:"Esportatu PNG gisa",exportToSvg:"Esportatu SVG gisa",copyPngToClipboard:"Kopiatu PNG arbelera"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Kopiatu arbelean"}},lSu={tooltip:"Zure marrazkiak muturretik muturrera enkriptatu dira, beraz Excalidraw-ren zerbitzariek ezingo dituzte ikusi.",link:"Excalidraw-ren muturretik muturrerako enkriptatzearen gaineko mezua blogean"},LSu={angle:"Angelua",element:"Elementua",elements:"Elementuak",height:"Altuera",scene:"Eszena",selected:"Hautatua",storage:"Biltegia",title:"Datuak",total:"Guztira",version:"Bertsioa",versionCopy:"Klikatu kopiatzeko",versionNotAvailable:"Bertsio ez eskuragarria",width:"Zabalera"},XSu={addedToLibrary:"Liburutegira gehitu da",copyStyles:"Estiloak kopiatu dira.",copyToClipboard:"Arbelean kopiatu da.",copyToClipboardAsPng:`{{exportSelection}} kopiatu da arbelean PNG gisa
({{exportColorScheme}})`,fileSaved:"Fitxategia gorde da.",fileSavedToFilename:"{filename}-n gorde da",canvas:"oihala",selection:"hautapena",pasteAsSingleElement:`Erabili {{shortcut}} elementu bakar gisa itsasteko,
edo itsatsi lehendik dagoen testu-editore batean`,unableToEmbed:"Url hau txertatzea ez da une honetan onartzen. Sortu issue bat GitHub-en Urla zerrenda zurian sartzea eskatzeko",unrecognizedLinkFormat:"Kapsulatu duzun esteka ez dator bat espero den formatuarekin. Mesedez, saiatu iturburu-guneak emandako 'kapsulatu' katea itsasten"},vSu={transparent:"Gardena",black:"Beltza",white:"Zuria",red:"Gorria",pink:"Arrosa",grape:"Mahats kolorea",violet:"Bioleta",gray:"Grisa",blue:"Urdina",cyan:"Ziana",teal:"Berde urdinxka",green:"Berdea",yellow:"Horia",orange:"Laranja",bronze:"Brontzea"},xSu={app:{center_heading:"Zure datu guztiak lokalean gordetzen dira zure nabigatzailean.",center_heading_plus:"Horren ordez Excalidraw+-era joan nahi al zenuen?",menuHint:"Esportatu, hobespenak, hizkuntzak..."},defaults:{menuHint:"Esportatu, hobespenak eta gehiago...",center_heading:"Diagramak. Egina. Sinplea.",toolbarHint:"Aukeratu tresna bat eta hasi marrazten!",helpHint:"Lasterbideak eta laguntza"}},WSu={mostUsedCustomColors:"Gehien erabilitako kolore pertsonalizatuak",colors:"Koloreak",shades:"Ñabardurak",hexCode:"Hez kodea",noShades:"Kolore honetarako ez dago ñabardurarik eskuragarri"},SSu={action:{exportToImage:{title:"Esportatu irudi gisa",button:"Esportatu irudi gisa",description:"Esportatu eszenaren datuak geroago inportatu ahal izango duzun irudi gisa."},saveToDisk:{title:"Gorde diskoan",button:"Gorde diskoan",description:"Esportatu eszenaren datuak geroago inportatu ahal izango duzun fitxategi batan."},excalidrawPlus:{title:"Excalidraw+",button:"Esportatu Excalidraw+ra",description:"Gorde eszena zure Excalidraw+ laneko areara."}},modal:{loadFromFile:{title:"Fitxategitik kargatu",button:"Fitxategitik kargatu",description:"Fitxategi batetik kargatzeak <bold>lehendik duzun edukia ordezkatuko du</bold>.<br></br>Lehenengo marrazkiaren babeskopia egin dezakezu beheko aukeretako bat erabiliz."},shareableLink:{title:"Estekatik kargatu",button:"Ordeztu nire edukia",description:"Kanpoko irudi bat kargatzeak <bold>lehendik duzun edukia ordezkatuko du</bold>.<br></br>. Zure marrazkiaren babeskopia egin dezakezu lehenik beheko aukeretako bat erabiliz."}}},YSu={title:"",button:"Txertatu",description:"",syntax:"",preview:"Aurrebista"},sk3={labels:ESu,library:ASu,buttons:CSu,alerts:DSu,errors:FSu,toolBar:USu,headings:zSu,hints:kSu,canvasError:fSu,errorSplash:MSu,roomDialog:bSu,errorDialog:ZSu,exportDialog:JSu,helpDialog:KSu,clearCanvasDialog:wSu,publishDialog:QSu,publishSuccessDialog:GSu,confirmDialog:HSu,imageExportDialog:qSu,encrypted:lSu,stats:LSu,toast:XSu,colors:vSu,welcomeScreen:xSu,colorPicker:WSu,overwriteConfirm:SSu,mermaid:YSu}});var CYu={};ju(CYu,{welcomeScreen:()=>uYu,toolBar:()=>VSu,toast:()=>tSu,stats:()=>oSu,roomDialog:()=>$Su,publishSuccessDialog:()=>pSu,publishDialog:()=>_Su,overwriteConfirm:()=>EYu,mermaid:()=>AYu,library:()=>ISu,labels:()=>OSu,imageExportDialog:()=>dSu,hints:()=>iSu,helpDialog:()=>gSu,headings:()=>hSu,exportDialog:()=>rSu,errors:()=>NSu,errorSplash:()=>mSu,errorDialog:()=>ySu,encrypted:()=>sSu,default:()=>ok3,confirmDialog:()=>nSu,colors:()=>eSu,colorPicker:()=>BYu,clearCanvasDialog:()=>cSu,canvasError:()=>aSu,buttons:()=>PSu,alerts:()=>jSu});var OSu,ISu,PSu,jSu,NSu,VSu,hSu,iSu,aSu,mSu,$Su,ySu,rSu,gSu,cSu,_Su,pSu,nSu,dSu,sSu,oSu,tSu,eSu,uYu,BYu,EYu,AYu,ok3;var DYu=g(()=>{m4();OSu={paste:"جای گذاری",pasteAsPlaintext:"جای‌گذاری به عنوان متن ساده",pasteCharts:"قراردادن نمودارها",selectAll:"انتخاب همه",multiSelect:"یک ایتم به انتخاب شده ها اضافه کنید.",moveCanvas:"جابجایی بوم",cut:"بریدن",copy:"کپی",copyAsPng:"کپی در حافطه موقت به صورت PNG",copyAsSvg:"کپی در حافطه موقت به صورت SVG",copyText:"کپی در حافطه موقت به صورت متن",copySource:"",convertToCode:"",bringForward:"جلو آوردن",sendToBack:"پس فرستادن",bringToFront:"جلو آوردن",sendBackward:"پس فرستادن",delete:"حذف",copyStyles:"کپی سبک",pasteStyles:"جای گذاری سبک",stroke:"حاشیه",background:"پس زمینه",fill:"رنگ آمیزی",strokeWidth:"ضخامت حاشیه",strokeStyle:"استایل حاشیه",strokeStyle_solid:"یکدست",strokeStyle_dashed:"خط چین",strokeStyle_dotted:"نقطه چین",sloppiness:"دقت",opacity:"شفافیت",textAlign:"چیدمان متن",edges:"لبه ها",sharp:"تیز",round:"دور",arrowheads:"سر پیکان",arrowhead_none:"هیچ کدام",arrowhead_arrow:"پیکان",arrowhead_bar:"میله ای",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"مثلث",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"اندازه قلم",fontFamily:"نوع قلم",addWatermark:'"ساخته شده با Excalidraw" را اضافه کن',handDrawn:"دست نویس",normal:"عادی",code:"کد",small:"کوچک",medium:"متوسط",large:"بزرگ",veryLarge:"بسیار بزرگ",solid:"توپر",hachure:"هاشور",zigzag:"زیگزاگ",crossHatch:"هاشور متقاطع",thin:"نازک",bold:"ضخیم",left:"چپ",center:"وسط",right:"راست",extraBold:"خیلی ضخیم",architect:"معمار",artist:"هنرمند",cartoonist:"کارتونیست",fileTitle:"نام فایل",colorPicker:"انتخابگر رنگ",canvasColors:"رنگ های بوم",canvasBackground:"بوم",drawingCanvas:"بوم نقاشی",layers:"لایه ها",actions:"عملیات",language:"زبان",liveCollaboration:"همکاری آنلاین...",duplicateSelection:"تکرار",untitled:"بدون عنوان",name:"نام",yourName:"نام شما",madeWithExcalidraw:"ساخته شده با Excalidraw",group:"گروهبندی انتخابها",ungroup:"حذف گروهبندی انتخابها",collaborators:"همکاران",showGrid:"نمایش گرید",addToLibrary:"افزودن به کتابخانه",removeFromLibrary:"حذف از کتابخانه",libraryLoadingMessage:"بارگذاری کتابخانه…",libraries:"مرور کردن کتابخانه ها",loadingScene:"باگذاری صحنه…",align:"تراز",alignTop:"تراز به بالا",alignBottom:"تراز به پایین",alignLeft:"تراز به چپ",alignRight:"تراز به راست",centerVertically:"وسط قرار دادن به صورت عمودی",centerHorizontally:"وسط قرار دادن به صورت افقی",distributeHorizontally:"توزیع کردن به صورت افقی",distributeVertically:"توزیع کردن به صورت عمودی",flipHorizontal:"چرخش افقی",flipVertical:"چرخش عمودی",viewMode:"حالت نمایش",share:"اشتراک‌گذاری",showStroke:"نمایش انتخاب کننده رنگ حاشیه",showBackground:"نمایش انتخاب کننده رنگ پس زمینه",toggleTheme:"تغییر تم",personalLib:"کتابخانه شخصی",excalidrawLib:"کتابخانه",decreaseFontSize:"کاهش اندازه فونت",increaseFontSize:"افزایش دادن اندازه فونت",unbindText:"بازکردن نوشته",bindText:"بستن نوشته",createContainerFromText:"متن را در یک جایگاه بپیچید",link:{edit:"ویرایش لینک",editEmbed:"",create:"ایجاد پیوند",createEmbed:"",label:"لینک",labelEmbed:"",empty:""},lineEditor:{edit:"ویرایش لینک",exit:"خروج از ویرایشگر"},elementLock:{lock:"قفل",unlock:"باز کردن",lockAll:"قفل همه",unlockAll:"باز کردن قفل همه"},statusPublished:"منتشر شده",sidebarLock:"باز نگه داشتن سایدبار",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"انتخاب رنگ از کرباس",textToDiagram:"",prompt:""},ISu={noItems:"آیتمی به اینجا اضافه نشده...",hint_emptyLibrary:"یک آیتم روی بوم را برای اضافه شده به اینجا انتخاب کنید، یا یک کتابخانه از مخزن عمومی در بخش پایین را نصب کنید.",hint_emptyPrivateLibrary:"یک آیتم روی بوم را برای اضافه شدن به اینجا انتخاب کنید."},PSu={clearReset:"پاکسازی بوم نقاشی",exportJSON:"خروجی در فایل",exportImage:"خروجی گرفتن از تصویر...",export:"ذخیره در...",copyToClipboard:"کپی در حافظه موقت",save:"ذخیره در همین فایل",saveAs:"ذخیره با نام",load:"باز کردن",getShareableLink:"دریافت لینک قابل اشتراک",close:"بستن",selectLanguage:"انتخاب زبان",scrollBackToContent:"به محتوا بروید",zoomIn:"بزرگ نمایی",zoomOut:"کوچک نمایی",resetZoom:"اندازه اصلی",menu:"فهرست",done:"انجام شد",edit:"ویرایش",undo:"بازگرد",redo:"از سر",resetLibrary:"تنظیم مجدد کتابخانه",createNewRoom:"ایجاد یک اتاق جدید",fullScreen:"تمام‌صفحه",darkMode:"حالت تیره",lightMode:"حالت روشن",zenMode:"حالت ذن",objectsSnapMode:"",exitZenMode:"خروج از حالت تمرکز",cancel:"لغو",clear:"پاک کردن",remove:"پاک کردن",embed:"",publishLibrary:"انتشار",submit:"ارسال",confirm:"تایید",embeddableInteractionButton:""},jSu={clearReset:"این کار کل صفحه را پاک میکند. آیا مطمئنید؟",couldNotCreateShareableLink:"عدم توانایی در ساخت یک لینک قابل اشتراک.",couldNotCreateShareableLinkTooBig:"لینک قابل اشتراک گذاری ایجاد نشد: محتوای صحنه بسیار بزرگ است",couldNotLoadInvalidFile:"عدم توانایی در بازگذاری فایل نامعتبر",importBackendFailed:"بارگیری از پشت صحنه با شکست مواجه شد.",cannotExportEmptyCanvas:"بوم خالی قابل تبدیل نیست.",couldNotCopyToClipboard:"به کلیپ بورد کپی نشد.",decryptFailed:"رمزگشایی داده ها امکان پذیر نیست.",uploadedSecurly:"آپلود با رمزگذاری دو طرفه انجام میشود، به این معنی که سرور Excalidraw و اشخاص ثالث نمی توانند مطالب شما را بخوانند.",loadSceneOverridePrompt:"بارگزاری یک طرح خارجی محتوای فعلی رو از بین میبرد. آیا میخواهید ادامه دهید؟",collabStopOverridePrompt:`با توقف بوم نقاشی، نقشه قبلی و ذخیره شده محلی شما را بازنویسی می کند. مطمئنی؟
(اگر می خواهید نقاشی محلی خود را حفظ کنید، به سادگی برگه مرورگر را ببندید.)`,errorAddingToLibrary:"مورد به کتابخانه اضافه نشد",errorRemovingFromLibrary:"مورد از کتابخانه حذف نشد",confirmAddLibrary:"{{numShapes}} از اشکال به کتابخانه شما اضافه خواهد شد. مطمئن هستید؟",imageDoesNotContainScene:"به نظر نمی رسد این تصویر حاوی داده های بوم نقاشی باشد. آیا جاسازی صحنه را در حین خروجی فعال کرده اید?",cannotRestoreFromImage:"صحنه را نمی توان از این فایل تصویری بازیابی کرد",invalidSceneUrl:"بوم نقاشی از آدرس ارائه شده وارد نشد. این یا نادرست است، یا حاوی داده Excalidraw JSON معتبر نیست.",resetLibrary:"ین کار کل صفحه را پاک میکند. آیا مطمئنید?",removeItemsFromsLibrary:"حذف {{count}} آیتم(ها) از کتابخانه?",invalidEncryptionKey:"کلید رمزگذاری باید 22 کاراکتر باشد. همکاری زنده غیرفعال است.",collabOfflineWarning:`اتصال به اینترنت در دسترس نیست.
تغییرات شما ذخیره نمی شود!`},NSu={unsupportedFileType:"نوع فایل پشتیبانی نشده.",imageInsertError:"عکس ارسال نشد. بعداً دوباره تلاش کنید...",fileTooBig:"فایل خیلی بزرگ است حداکثر اندازه مجاز {{maxSize}}.",svgImageInsertError:"تصویر SVG وارد نشد. نشانه گذاری SVG نامعتبر به نظر می رسد.",failedToFetchImage:"",invalidSVGString:"SVG نادرست.",cannotResolveCollabServer:"به سرور collab متصل نشد. لطفا صفحه را مجددا بارگذاری کنید و دوباره تلاش کنید.",importLibraryError:"داده‌ها بارگذاری نشدند",collabSaveFailed:"در پایگاه داده باطن ذخیره نشد. اگر مشکلات همچنان ادامه داشت، باید فایل خود را به صورت محلی ذخیره کنید تا مطمئن شوید کار خود را از دست نمی دهید.",collabSaveFailed_sizeExceeded:"در پایگاه داده بکند ذخیره نشد. اگر مشکلات همچنان ادامه داشت، باید فایل خود را به صورت محلی ذخیره کنید تا مطمئن شوید کار خود را از دست نمی دهید.",imageToolNotSupported:"",brave_measure_text_error:{line1:"به نظر می‌رسد از مرورگر Brave با تنظیم <bold> مسدود کردن شدید اثرانگشت</bold> استفاده می‌کنید.",line2:"این می تواند منجر به شکستن <bold>عناصر متن</bold> در نقاشی های شما شود.",line3:"اکیداً توصیه می کنیم این تنظیم را غیرفعال کنید. برای نحوه انجام این کار می‌توانید <link>این مراحل</link> را دنبال کنید.",line4:"اگر غیرفعال کردن این تنظیم نمایش عناصر متنی را برطرف نکرد، لطفاً یک <issueLink>مشکل</issueLink> را در GitHub ما باز کنید یا برای ما در <discordLink>Discord</discordLink> بنویسید."},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},VSu={selection:"گزینش",image:"وارد کردن تصویر",rectangle:"مستطیل",diamond:"لوزی",ellipse:"بیضی",arrow:"پیکان",line:"خط",freedraw:"کشیدن",text:"متن",library:"کتابخانه",lock:"ابزار انتخاب شده را بعد از کشیدن نگه دار",penMode:"حالت قلم - جلوگیری از تماس",link:"افزودن/به‌روزرسانی پیوند برای شکل انتخابی",eraser:"پاک کن",frame:"",magicframe:"",embeddable:"",laser:"",hand:"دست (ابزار پانینگ)",extraTools:"ابزارهای بیشتر",mermaidToExcalidraw:"",magicSettings:""},hSu={canvasActions:"عملیات روی بوم",selectedShapeActions:"عملیات روی شکل انتخاب شده",shapes:"شکل‌ها"},iSu={canvasPanning:"برای حرکت دادن بوم، چرخ ماوس یا فاصله را در حین کشیدن نگه دارید یا از ابزار دستی استفاده کنید",linearElement:"برای چند نقطه کلیک و برای یک خط بکشید",freeDraw:"کلیک کنید و بکشید و وقتی کار تمام شد رها کنید",text:"نکته: با برنامه انتخاب شده شما میتوانید با دوبار کلیک کردن هرکجا میخواید متن اظاف کنید",embeddable:"",text_selected:"دوبار کلیک کنید یا Enter را فشار دهید تا نقاط را ویرایش کنید",text_editing:"Escape یا CtrlOrCmd+ENTER را فشار دهید تا ویرایش تمام شود",linearElementMulti:"روی آخرین نقطه کلیک کنید یا کلید ESC را بزنید یا کلید Enter را بزنید برای اتمام کار",lockAngle:"با نگه داشتن SHIFT هنگام چرخش می توانید زاویه ها را محدود کنید",resize:"می توانید با نگه داشتن SHIFT در هنگام تغییر اندازه، نسبت ها را محدود کنید،ALT را برای تغییر اندازه از مرکز نگه دارید",resizeImage:`با نگه داشتن SHIFT می توانید آزادانه اندازه را تغییر دهید،
برای تغییر اندازه از مرکز، ALT را نگه دارید`,rotate:"با نگه داشتن SHIFT هنگام چرخش می توانید زاویه ها را محدود کنید",lineEditor_info:"CtrlOrCmd را نگه دارید و دوبار کلیک کنید یا CtrlOrCmd + Enter را فشار دهید تا نقاط را ویرایش کنید.",lineEditor_pointSelected:"برای حذف نقطه Delete برای کپی زدن Ctrl یا Cmd+D را بزنید و یا برای جابجایی بکشید",lineEditor_nothingSelected:`یک نقطه را برای ویرایش انتخاب کنید (SHIFT را برای انتخاب چندگانه نگه دارید)،
یا Alt را نگه دارید و برای افزودن نقاط جدید کلیک کنید`,placeImage:"برای قرار دادن تصویر کلیک کنید، یا کلیک کنید و بکشید تا اندازه آن به صورت دستی تنظیم شود",publishLibrary:"کتابخانه خود را منتشر کنید",bindTextToElement:"برای افزودن اینتر را بزنید",deepBoxSelect:"CtrlOrCmd را برای انتخاب عمیق و جلوگیری از کشیدن نگه دارید",eraserRevert:"Alt را نگه دارید تا عناصر علامت گذاری شده برای حذف برگردند",firefox_clipboard_write:'احتمالاً می‌توان این ویژگی را با تنظیم پرچم «dom.events.asyncClipboard.clipboardItem» روی «true» فعال کرد. برای تغییر پرچم های مرورگر در فایرفاکس، از صفحه "about:config" دیدن کنید.',disableSnapping:""},aSu={cannotShowPreview:"پیش نمایش نشان داده نمی شود",canvasTooBig:"بوم نقاشی بسیار بزرگ است.",canvasTooBigTip:"نکته: سعی کنید دورترین عناصر را کمی به همدیگر نزدیک کنید."},mSu={headingMain:"",clearCanvasMessage:"اگر بازنشانی صفحه مشکل را حل نکرد این را امتحان کنید ",clearCanvasCaveat:" این باعث میشود کارهای شما ذخیره نشود ",trackedToSentry:"",openIssueMessage:"",sceneContent:"محتوای صحنه:"},$Su={desc_intro:"می توانید افرادی را به صحنه فعلی خود دعوت کنید تا با شما همکاری کنند.",desc_privacy:"نگران نباشید، این جلسه از رمزگذاری دوطرفه استفاده می کند، پس هر چیزی بکشید خصوصی خواهد ماند. حتی سرور ما نمیتواند ببیند چیزی که شما طراحی میکنید.",button_startSession:"شروع جلسه",button_stopSession:"پایان جلسه",desc_inProgressIntro:"جلسه همکاری آنلاین در حال انجام است.",desc_shareLink:"این لینک را با هر کسی که می خواهید با او همکاری کنید به اشتراک بگذارید:",desc_exitSession:"با پایان دادن جلسه، شما از اتاق حذف میکند، اما می توانید به صورت محلی کار خود را با بوم ادامه دهید. توجه داشته باشید که این مورد بر سایر افراد تأثیر نمی گذارد و همچنان می توانند در نسخه خود همکاری کنند.",shareTitle:"به یک جلسه همکاری زنده در Excalidraw بپیوندید"},ySu={title:"خطا"},rSu={disk_title:"ذخیره در دیسک",disk_details:"داده های صحنه را به فایلی که بعداً می توانید از آن وارد کنید صادر کنید.",disk_button:"ذخیره در فایل",link_title:"لینک قابل اشتراک‌گذاری",link_details:"خروجی به عنوان یک پیوند فقط خواندنی.",link_button:"خروجی در فایل",excalidrawplus_description:"صحنه را در فضای کاری Excalidraw+ خود ذخیره کنید.",excalidrawplus_button:"خروجی گرفتن",excalidrawplus_exportError:"در حال حاضر نمی‌توان به Excalidraw+ صادر کرد..."},gSu={blog:"بلاگ ما را بخوانید",click:"کلیک",deepSelect:"انتخاب عمیق",deepBoxSelect:"انتخاب عمیق در کادر، و جلوگیری از کشیدن",curvedArrow:"فلش خمیده",curvedLine:"منحنی",documentation:"مستندات",doubleClick:"دابل کلیک",drag:"کشیدن",editor:"ویرایشگر",editLineArrowPoints:"نقاط خط/پیکان را ویرایش کنید",editText:"ویرایش متن / افزودن برچسب",github:"اشکالی می بینید؟ گزارش دهید",howto:"راهنمای ما را دنبال کنید",or:"یا",preventBinding:"مانع شدن از چسبیدن فلش ها",tools:"ابزار",shortcuts:"میانبرهای صفحه کلید",textFinish:"پایان ویرایش (ویرایشگر متن)",textNewLine:"افزودن خط جدید (ویرایشگر متن)",title:"راهنما",view:"مشاهده",zoomToFit:"بزرگنمایی برای دیدن تمام آیتم ها",zoomToSelection:"بزرگنمایی قسمت انتخاب شده",toggleElementLock:"قفل/بازکردن انتخاب شده ها",movePageUpDown:"حرکت صفحه به بالا/پایین",movePageLeftRight:"حرکت صفحه به چپ/راست"},cSu={title:"پاک کردن بوم"},_Su={title:"انتشار کتابخانه",itemName:"نام آیتم",authorName:"نام نویسنده",githubUsername:"نام کاربری گیت هاب",twitterUsername:"نام کاربری توییتر",libraryName:"نام کتابخانه",libraryDesc:"توضیحات کتابخانه",website:"تارنما",placeholder:{authorName:"نام یا نام کاربری شما",libraryName:"اسم کتابخانه",libraryDesc:"شرحی از کتابخانه شما برای کمک به مردم برای درک استفاده از آن",githubHandle:"دسته GitHub (اختیاری)، بنابراین می توانید پس از ارسال برای بررسی، کتابخانه را ویرایش کنید",twitterHandle:"نام کاربری توییتر (اختیاری)، بنابراین می دانیم هنگام تبلیغ در توییتر به چه کسی اعتبار دهیم",website:"پیوند به وب سایت شخصی شما یا هر جای دیگر (اختیاری)"},errors:{required:"لازم",website:"وارد کردن آدرس درست"},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"هر مورد کتابخانه باید نام خاص خود را داشته باشد تا قابل فیلتر باشد. اقلام کتابخانه زیر شامل خواهد شد:",atleastOneLibItem:"لطفاً حداقل یک مورد از کتابخانه را برای شروع انتخاب کنید",republishWarning:"توجه: برخی از موارد انتخاب شده به عنوان قبلاً منتشر شده/ارسال شده علامت گذاری شده اند. شما فقط باید هنگام به‌روزرسانی یک کتابخانه موجود یا ارسال، موارد را دوباره ارسال کنید."},pSu={title:"کتابخانه ارسال شد",content:"تشکر از شما {{authorName}}. کتابخانه شما برای بررسی ارسال شده است. می توانید وضعیت را پیگیری کنید"},nSu={resetLibrary:"تنظیم مجدد کتابخانه",removeItemsFromLib:"موارد انتخاب شده از موارد پسندیده حذف شوند"},dSu={header:"",label:{withBackground:"پس زمینه",onlySelected:"",darkMode:"حالت تیره",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"کپی در کلیپ‌بورد"}},sSu={tooltip:"شما در یک محیط رمزگزاری شده دو طرفه در حال طراحی هستید پس Excalidraw هرگز طرح های شما را نمیبند.",link:"پست وبلاگ در مورد رمزگذاری سرتاسر در Excalidraw"},oSu={angle:"زاویه",element:"اِلمان",elements:"اِلمان ها",height:"ارتفاع",scene:"صحنه",selected:"انتخاب شده",storage:"حافظه",title:"آمار برای نردها",total:"مجموع",version:"نسخه",versionCopy:"برای کپی کردن کلیک کنید",versionNotAvailable:"نسخه غیرقابل دسترس",width:"عرض"},tSu={addedToLibrary:"به مجموعه اضافه شد",copyStyles:"کپی سبک.",copyToClipboard:"در کلیپ‌بورد کپی شد.",copyToClipboardAsPng:`کپی {{exportSelection}} در کلیپبورد به عنوان PNG
({{exportColorScheme}})`,fileSaved:"فایل ذخیره شد.",fileSavedToFilename:"ذخیره در {filename}",canvas:"بوم",selection:"انتخاب",pasteAsSingleElement:`از {{shortcut}} برای چسباندن به عنوان یک عنصر استفاده کنید،
یا در یک ویرایشگر متن موجود جایگذاری کنید`,unableToEmbed:"",unrecognizedLinkFormat:""},eSu={transparent:"شفاف",black:"سیاه",white:"سفید",red:"قرمز",pink:"صورتی",grape:"یاقوتی",violet:"بنفش",gray:"خاکستری",blue:"آبی",cyan:"فیروزه‌ای",teal:"سبزآبی",green:"سبز",yellow:"زرد",orange:"نارنجی",bronze:"برنزی"},uYu={app:{center_heading:"تمام داده های شما به صورت محلی در مرورگر شما ذخیره می شود.",center_heading_plus:"آیا می‌خواهید به جای آن به Excalidraw+ بروید؟",menuHint:"خروجی، ترجیحات، زبان ها، ..."},defaults:{menuHint:"خروجی، ترجیحات، وبیشتر ...",center_heading:"نمودارها .ساخته شده. ساده.",toolbarHint:"ابزاری را انتخاب کنید و نقاشی را شروع کنید!",helpHint:"میانبرها و راهنما"}},BYu={mostUsedCustomColors:"",colors:"رنگ‌ها",shades:"جلوه‌ها",hexCode:"کدِ هگز",noShades:""},EYu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"ذخیره در دیسک",button:"ذخیره در دیسک",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"بارگذاری از فایل",button:"بارگذاری از فایل",description:""},shareableLink:{title:"",button:"",description:""}}},AYu={title:"",button:"",description:"",syntax:"",preview:"پیش‌نمایش"},ok3={labels:OSu,library:ISu,buttons:PSu,alerts:jSu,errors:NSu,toolBar:VSu,headings:hSu,hints:iSu,canvasError:aSu,errorSplash:mSu,roomDialog:$Su,errorDialog:ySu,exportDialog:rSu,helpDialog:gSu,clearCanvasDialog:cSu,publishDialog:_Su,publishSuccessDialog:pSu,confirmDialog:nSu,imageExportDialog:dSu,encrypted:sSu,stats:oSu,toast:tSu,colors:eSu,welcomeScreen:uYu,colorPicker:BYu,overwriteConfirm:EYu,mermaid:AYu}});var PYu={};ju(PYu,{welcomeScreen:()=>RYu,toolBar:()=>MYu,toast:()=>SYu,stats:()=>WYu,roomDialog:()=>wYu,publishSuccessDialog:()=>LYu,publishDialog:()=>lYu,overwriteConfirm:()=>OYu,mermaid:()=>IYu,library:()=>UYu,labels:()=>FYu,imageExportDialog:()=>vYu,hints:()=>ZYu,helpDialog:()=>HYu,headings:()=>bYu,exportDialog:()=>GYu,errors:()=>fYu,errorSplash:()=>KYu,errorDialog:()=>QYu,encrypted:()=>xYu,default:()=>tk3,confirmDialog:()=>XYu,colors:()=>YYu,colorPicker:()=>TYu,clearCanvasDialog:()=>qYu,canvasError:()=>JYu,buttons:()=>zYu,alerts:()=>kYu});var FYu,UYu,zYu,kYu,fYu,MYu,bYu,ZYu,JYu,KYu,wYu,QYu,GYu,HYu,qYu,lYu,LYu,XYu,vYu,xYu,WYu,SYu,YYu,RYu,TYu,OYu,IYu,tk3;var jYu=g(()=>{m4();FYu={paste:"Liitä",pasteAsPlaintext:"Liitä pelkkänä tekstinä",pasteCharts:"Liitä kaaviot",selectAll:"Valitse kaikki",multiSelect:"Lisää kohde valintaan",moveCanvas:"Siirrä piirtoaluetta",cut:"Leikkaa",copy:"Kopioi",copyAsPng:"Kopioi leikepöydälle PNG-tiedostona",copyAsSvg:"Kopioi leikepöydälle SVG-tiedostona",copyText:"Kopioi tekstinä",copySource:"",convertToCode:"",bringForward:"Tuo eteenpäin",sendToBack:"Vie taakse",bringToFront:"Tuo eteen",sendBackward:"Vie taaksepäin",delete:"Poista",copyStyles:"Kopioi tyyli",pasteStyles:"Liitä tyyli",stroke:"Piirto",background:"Tausta",fill:"Täyttö",strokeWidth:"Viivan leveys",strokeStyle:"Viivan tyyli",strokeStyle_solid:"Yhtenäinen",strokeStyle_dashed:"Katkoviiva",strokeStyle_dotted:"Pisteviiva",sloppiness:"Viivan tarkkuus",opacity:"Peittävyys",textAlign:"Tekstin tasaus",edges:"Reunat",sharp:"Terävä",round:"Pyöristetty",arrowheads:"Nuolenkärjet",arrowhead_none:"Ei mitään",arrowhead_arrow:"Nuoli",arrowhead_bar:"Tasapää",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Kolmio",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Kirjasinkoko",fontFamily:"Kirjasintyyppi",addWatermark:'Lisää "Tehty Excalidrawilla"',handDrawn:"Käsinpiirretty",normal:"Tavallinen",code:"Koodi",small:"Pieni",medium:"Keskikoko",large:"Suuri",veryLarge:"Erittäin suuri",solid:"Yhtenäinen",hachure:"Vinoviivoitus",zigzag:"",crossHatch:"Ristiviivoitus",thin:"Ohut",bold:"Lihavoitu",left:"Vasen",center:"Keskitä",right:"Oikea",extraBold:"Erittäin lihavoitu",architect:"Arkkitehti",artist:"Taiteilija",cartoonist:"Sarjakuva",fileTitle:"Tiedostonimi",colorPicker:"Värin valinta",canvasColors:"Käytössä piirtoalueella",canvasBackground:"Piirtoalueen tausta",drawingCanvas:"Piirtoalue",layers:"Tasot",actions:"Toiminnot",language:"Kieli",liveCollaboration:"Live Yhteistyö...",duplicateSelection:"Monista",untitled:"Nimetön",name:"Nimi",yourName:"Nimesi",madeWithExcalidraw:"Tehty Excalidrawilla",group:"Ryhmitä valinta",ungroup:"Pura valittu ryhmä",collaborators:"Yhteistyökumppanit",showGrid:"Näytä ruudukko",addToLibrary:"Lisää kirjastoon",removeFromLibrary:"Poista kirjastosta",libraryLoadingMessage:"Ladataan kirjastoa…",libraries:"Selaa kirjastoja",loadingScene:"Ladataan työtä…",align:"Tasaa",alignTop:"Tasaa ylös",alignBottom:"Tasaa alas",alignLeft:"Tasaa vasemmalle",alignRight:"Tasaa oikealle",centerVertically:"Keskitä pystysuunnassa",centerHorizontally:"Keskitä vaakasuunnassa",distributeHorizontally:"Jaa vaakasuunnassa",distributeVertically:"Jaa pystysuunnassa",flipHorizontal:"Käännä vaakasuunnassa",flipVertical:"Käännä pystysuunnassa",viewMode:"Katselutila",share:"Jaa",showStroke:"Näytä viivan värin valitsin",showBackground:"Näytä taustavärin valitsin",toggleTheme:"Vaihda teema",personalLib:"Oma kirjasto",excalidrawLib:"Excalidraw kirjasto",decreaseFontSize:"Pienennä kirjasinkokoa",increaseFontSize:"Kasvata kirjasinkokoa",unbindText:"Irroita teksti",bindText:"Kiinnitä teksti säiliöön",createContainerFromText:"",link:{edit:"Muokkaa linkkiä",editEmbed:"",create:"Luo linkki",createEmbed:"",label:"Linkki",labelEmbed:"",empty:""},lineEditor:{edit:"Muokkaa riviä",exit:"Poistu rivieditorista"},elementLock:{lock:"Lukitse",unlock:"Poista lukitus",lockAll:"Lukitse kaikki",unlockAll:"Poista lukitus kaikista"},statusPublished:"Julkaistu",sidebarLock:"Pidä sivupalkki avoinna",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},UYu={noItems:"Kirjastossa ei ole vielä yhtään kohdetta...",hint_emptyLibrary:"Valitse lisättävä kohde piirtoalueelta, tai asenna alta julkinen kirjasto.",hint_emptyPrivateLibrary:"Valitse lisättävä kohde piirtoalueelta."},zYu={clearReset:"Tyhjennä piirtoalue",exportJSON:"Vie tiedostoon",exportImage:"Vie kuva...",export:"Tallenna nimellä...",copyToClipboard:"Kopioi leikepöydälle",save:"Tallenna nykyiseen tiedostoon",saveAs:"Tallenna nimellä",load:"Avaa",getShareableLink:"Hae jaettava linkki",close:"Sulje",selectLanguage:"Valitse kieli",scrollBackToContent:"Näytä sisältö",zoomIn:"Lähennä",zoomOut:"Loitonna",resetZoom:"Nollaa suurennuksen taso",menu:"Valikko",done:"Valmis",edit:"Muokkaa",undo:"Kumoa",redo:"Tee uudelleen",resetLibrary:"Tyhjennä kirjasto",createNewRoom:"Luo huone",fullScreen:"Koko näyttö",darkMode:"Tumma tila",lightMode:"Vaalea tila",zenMode:"Zen-tila",objectsSnapMode:"",exitZenMode:"Poistu zen-tilasta",cancel:"Peruuta",clear:"Pyyhi",remove:"Poista",embed:"",publishLibrary:"Julkaise",submit:"Lähetä",confirm:"Vahvista",embeddableInteractionButton:""},kYu={clearReset:"Tämä tyhjentää koko piirtoalueen. Jatketaanko?",couldNotCreateShareableLink:"Jaettavan linkin luominen epäonnistui.",couldNotCreateShareableLinkTooBig:"Jaettavaa linkkiä ei voitu luoda: teos on liian suuri",couldNotLoadInvalidFile:"Virheellistä tiedostoa ei voitu avata",importBackendFailed:"Palvelimelta tuonti epäonnistui.",cannotExportEmptyCanvas:"Tyhjää piirtoaluetta ei voi viedä.",couldNotCopyToClipboard:"Leikepöydälle vieminen epäonnistui.",decryptFailed:"Salauksen purkaminen epäonnistui.",uploadedSecurly:"Lähetys on turvattu päästä-päähän-salauksella. Excalidrawin palvelin ja kolmannet osapuolet eivät voi lukea sisältöä.",loadSceneOverridePrompt:"Ulkopuolisen piirroksen lataaminen korvaa nykyisen sisältösi. Jatketaanko?",collabStopOverridePrompt:`Istunnon lopettaminen korvaa aiemman, paikallisesti tallennetun piirustuksen. Jatketaanko?
(Jos haluat säilyttää paikallisesti tallennetun piirustuksen, sulje selaimen välilehti lopettamisen sijaan.)`,errorAddingToLibrary:"Kohdetta ei voitu lisätä kirjastoon",errorRemovingFromLibrary:"Kohdetta ei voitu poistaa kirjastosta",confirmAddLibrary:"Tämä lisää {{numShapes}} muotoa kirjastoosi. Jatketaanko?",imageDoesNotContainScene:"Tämä kuva ei näytä sisältävän piirrostietoja. Oletko ottanut käyttöön piirroksen tallennuksen viennin aikana?",cannotRestoreFromImage:"Teosta ei voitu palauttaa tästä kuvatiedostosta",invalidSceneUrl:"Teosta ei voitu tuoda annetusta URL-osoitteesta. Tallenne on vioittunut, tai osoitteessa ei ole Excalidraw JSON-dataa.",resetLibrary:"Tämä tyhjentää kirjastosi. Jatketaanko?",removeItemsFromsLibrary:"Poista {{count}} kohdetta kirjastosta?",invalidEncryptionKey:"Salausavaimen on oltava 22 merkkiä pitkä. Live-yhteistyö ei ole käytössä.",collabOfflineWarning:`Internet-yhteyttä ei ole saatavilla.
Muutoksiasi ei tallenneta!`},fYu={unsupportedFileType:"Tiedostotyyppiä ei tueta.",imageInsertError:"Kuvan lisääminen epäonnistui. Yritä myöhemmin uudelleen...",fileTooBig:"Tiedosto on liian suuri. Suurin sallittu koko on {{maxSize}}.",svgImageInsertError:"SVG- kuvaa ei voitu lisätä. Tiedoston SVG-sisältö näyttää virheelliseltä.",failedToFetchImage:"",invalidSVGString:"Virheellinen SVG.",cannotResolveCollabServer:"Yhteyden muodostaminen collab-palvelimeen epäonnistui. Virkistä sivu ja yritä uudelleen.",importLibraryError:"Kokoelman lataaminen epäonnistui",collabSaveFailed:"Ei voitu tallentaan palvelimen tietokantaan. Jos ongelmia esiintyy, sinun kannatta tallentaa tallentaa tiedosto paikallisesti varmistaaksesi, että et menetä työtäsi.",collabSaveFailed_sizeExceeded:"Ei voitu tallentaan palvelimen tietokantaan. Jos ongelmia esiintyy, sinun kannatta tallentaa tallentaa tiedosto paikallisesti varmistaaksesi, että et menetä työtäsi.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},MYu={selection:"Valinta",image:"Lisää kuva",rectangle:"Suorakulmio",diamond:"Vinoneliö",ellipse:"Soikio",arrow:"Nuoli",line:"Viiva",freedraw:"Piirrä",text:"Teksti",library:"Kirjasto",lock:"Pidä valittu työkalu aktiivisena piirron jälkeen",penMode:"Kynätila - estä kosketus",link:"Lisää/päivitä linkki valitulle muodolle",eraser:"Poistotyökalu",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Käsi (panning-työkalu)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},bYu={canvasActions:"Piirtoalueen toiminnot",selectedShapeActions:"Valitun muodon toiminnot",shapes:"Muodot"},ZYu={canvasPanning:"Piirtoalueen liikuttamiseksi pidä hiiren pyörää tai välilyöntiä pohjassa tai käytä käsityökalua",linearElement:"Klikkaa piirtääksesi useampi piste, raahaa piirtääksesi yksittäinen viiva",freeDraw:"Paina ja raahaa, päästä irti kun olet valmis",text:"Vinkki: voit myös lisätä tekstiä kaksoisnapsauttamalla mihin tahansa valintatyökalulla",embeddable:"",text_selected:"Kaksoisnapsauta tai paina ENTER muokataksesi tekstiä",text_editing:"Paina Escape tai CtrlOrCmd+ENTER lopettaaksesi muokkaamisen",linearElementMulti:"Lopeta klikkaamalla viimeistä pistettä, painamalla Escape- tai Enter-näppäintä",lockAngle:"Voit rajoittaa kulmaa pitämällä SHIFT-näppäintä alaspainettuna",resize:"Voit rajoittaa mittasuhteet pitämällä SHIFT-näppäintä alaspainettuna kun muutat kokoa, pidä ALT-näppäintä alaspainettuna muuttaaksesi kokoa keskipisteen suhteen",resizeImage:"Voit muuttaa kokoa vapaasti pitämällä SHIFTiä pohjassa, pidä ALT pohjassa muuttaaksesi kokoa keskipisteen ympäri",rotate:"Voit rajoittaa kulman pitämällä SHIFT pohjassa pyörittäessäsi",lineEditor_info:"Pidä CtrlOrCmd pohjassa ja kaksoisnapsauta tai paina CtrlOrCmd + Enter muokataksesi pisteitä",lineEditor_pointSelected:"Poista piste(et) painamalla delete, monista painamalla CtrlOrCmd+D, tai liikuta raahaamalla",lineEditor_nothingSelected:"Valitse muokattava piste (monivalinta pitämällä SHIFT pohjassa), tai paina Alt ja klikkaa lisätäksesi uusia pisteitä",placeImage:"Klikkaa asettaaksesi kuvan, tai klikkaa ja raahaa asettaaksesi sen koon manuaalisesti",publishLibrary:"Julkaise oma kirjasto",bindTextToElement:"Lisää tekstiä painamalla enter",deepBoxSelect:"Käytä syvävalintaa ja estä raahaus painamalla CtrlOrCmd",eraserRevert:"Pidä Alt alaspainettuna, kumotaksesi merkittyjen elementtien poistamisen",firefox_clipboard_write:'Tämä ominaisuus voidaan todennäköisesti ottaa käyttöön asettamalla "dom.events.asyncClipboard.clipboardItem" kohta "true":ksi. Vaihtaaksesi selaimen kohdan Firefoxissa, käy "about:config" sivulla.',disableSnapping:""},JYu={cannotShowPreview:"Esikatselua ei voitu näyttää",canvasTooBig:"Piirtoalue saattaa olla liian suuri.",canvasTooBigTip:"Vinkki: yritä siirtää kaukaisimpia elementtejä hieman lähemmäs toisiaan."},KYu={headingMain:"Tapahtui virhe. Yritä <button>sivun lataamista uudelleen.</button>",clearCanvasMessage:"Mikäli sivun lataaminen uudelleen ei auta, yritä <button>tyhjentää piirtoalue.</button>",clearCanvasCaveat:" Tämä johtaa työn menetykseen ",trackedToSentry:"Virhe tunnisteella {{eventId}} tallennettiin järjestelmäämme.",openIssueMessage:"Olimme varovaisia emmekä sisällyttäneet tietoa piirroksestasi virheeseen. Mikäli piirroksesi ei ole yksityinen, harkitsethan kertovasi meille <button>virheenseurantajärjestelmässämme.</button> Sisällytä alla olevat tiedot kopioimalla ne GitHub-ongelmaan.",sceneContent:"Piirroksen tiedot:"},wYu={desc_intro:"Voit kutsua ihmisiä piirrokseesi tekemään yhteistyötä kanssasi.",desc_privacy:"Älä huoli, istunto käyttää päästä-päähän-salausta, joten mitä tahansa piirrätkin, se pysyy salassa. Edes palvelimemme eivät näe mitä keksit.",button_startSession:"Aloita istunto",button_stopSession:"Lopeta istunto",desc_inProgressIntro:"Jaettu istunto on nyt käynnissä.",desc_shareLink:"Jaa tämä linkki kenelle tahansa, jonka kanssa haluat tehdä yhteistyötä:",desc_exitSession:"Istunnon pysäyttäminen katkaisee yhteyden huoneeseen, mutta voit vielä jatkaa työskentelyä paikallisesti. Huomaa, että tämä ei vaikuta muihin käyttäjiin ja he voivat jatkaa oman versionsa parissa työskentelyä.",shareTitle:"Liity Excalidraw live-yhteistyöistuntoon"},QYu={title:"Virhe"},GYu={disk_title:"Tallenna levylle",disk_details:"Vie työn tiedot tiedostoon, josta sen voi tuoda myöhemmin.",disk_button:"Tallenna tiedostoon",link_title:"Jaettava linkki",link_details:"Vie vain luku -linkkinä.",link_button:"Vie linkkinä",excalidrawplus_description:"Tallenna teos Excalidraw+ tilaan.",excalidrawplus_button:"Vie",excalidrawplus_exportError:"Ei voitu viedä Excalidraw+-palveluun tällä hetkellä..."},HYu={blog:"Lue blogiamme",click:"klikkaa",deepSelect:"Syvävalinta",deepBoxSelect:"Käytä syvävalintaa ja estä raahaus",curvedArrow:"Kaareva nuoli",curvedLine:"Kaareva viiva",documentation:"Käyttöohjeet",doubleClick:"kaksoisnapsautus",drag:"vedä",editor:"Muokkausohjelma",editLineArrowPoints:"",editText:"",github:"Löysitkö ongelman? Kerro meille",howto:"Seuraa oppaitamme",or:"tai",preventBinding:"Estä nuolten kiinnitys",tools:"Työkalut",shortcuts:"Pikanäppäimet",textFinish:"Lopeta muokkaus (tekstieditori)",textNewLine:"Lisää uusi rivi (tekstieditori)",title:"Ohjeet",view:"Näkymä",zoomToFit:"Näytä kaikki elementit",zoomToSelection:"Näytä valinta",toggleElementLock:"Lukitse / poista lukitus valinta",movePageUpDown:"Siirrä sivua ylös/alas",movePageLeftRight:"Siirrä sivua vasemmalle/oikealle"},qYu={title:"Pyyhi piirtoalue"},lYu={title:"Julkaise kirjasto",itemName:"Kohteen nimi",authorName:"Tekijän nimi",githubUsername:"GitHub-käyttäjätunnus",twitterUsername:"Twitter-käyttäjätunnus",libraryName:"Kirjaston nimi",libraryDesc:"Kirjaston kuvaus",website:"Verkkosivu",placeholder:{authorName:"Nimesi tai käyttäjänimesi",libraryName:"Kirjastosi nimi",libraryDesc:"Kirjaston kuvaus, joka auttaa ihmisiä ymmärtämään sen käyttötarkoitukset",githubHandle:"GitHub-tunnuksesi (valinnainen), jotta voit muokata kirjastoa sen jälkeen kun se on lähetetty tarkastettavaksi",twitterHandle:"Twitter-tunnus (valinnainen), jotta tiedämme ketä kiittää kun viestimme Twitterissä",website:"Linkki henkilökohtaiselle verkkosivustollesi tai muualle (valinnainen)"},errors:{required:"Pakollinen",website:"Syötä oikeamuotoinen URL-osoite"},noteDescription:"Lähetä kirjastosi, jotta se voidaan sisällyttää <link>julkisessa kirjastolistauksessa</link>muiden käyttöön omissa piirrustuksissaan.",noteGuidelines:"Kirjasto on ensin hyväksyttävä manuaalisesti. Ole hyvä ja lue <link>ohjeet</link> ennen lähettämistä. Tarvitset GitHub-tilin, jotta voit viestiä ja tehdä muutoksia pyydettäessä, mutta se ei ole ehdottoman välttämätöntä.",noteLicense:"Lähettämällä hyväksyt että kirjasto julkaistaan <link>MIT-lisenssin </link>alla, mikä lyhyesti antaa muiden käyttää sitä ilman rajoituksia.",noteItems:"Jokaisella kirjaston kohteella on oltava oma nimensä suodatusta varten. Seuraavat kirjaston kohteet sisältyvät:",atleastOneLibItem:"Valitse vähintään yksi kirjaston kohde aloittaaksesi",republishWarning:"Huom! Osa valituista kohteista on merkitty jo julkaistu/lähetetyiksi. Lähetä kohteita uudelleen vain päivitettäessä olemassa olevaa kirjastoa tai ehdotusta."},LYu={title:"Kirjasto lähetetty",content:"Kiitos {{authorName}}. Kirjastosi on lähetetty tarkistettavaksi. Voit seurata sen tilaa<link>täällä</link>"},XYu={resetLibrary:"Tyhjennä kirjasto",removeItemsFromLib:"Poista valitut kohteet kirjastosta"},vYu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},xYu={tooltip:"Piirroksesi ovat päästä-päähän-salattuja, joten Excalidrawin palvelimet eivät koskaan näe niitä.",link:"Blogiartikkeli päästä päähän -salauksesta Excalidraw:ssa"},WYu={angle:"Kulma",element:"Elementti",elements:"Elementit",height:"Korkeus",scene:"Teos",selected:"Valitut",storage:"Tallennustila",title:"Tilastoja nörteille",total:"Yhteensä",version:"Versio",versionCopy:"Klikkaa kopioidaksesi",versionNotAvailable:"Versio ei saatavilla",width:"Leveys"},SYu={addedToLibrary:"Lisätty kirjastoon",copyStyles:"Tyylit kopioitiin.",copyToClipboard:"Kopioitiin leikepöydälle.",copyToClipboardAsPng:`Kopioitiin {{exportSelection}} leikepöydälle PNG:nä
({{exportColorScheme}})`,fileSaved:"Tiedosto tallennettu.",fileSavedToFilename:"Tallennettiin kohteeseen {filename}",canvas:"piirtoalue",selection:"valinta",pasteAsSingleElement:`Käytä {{shortcut}} liittääksesi yhtenä elementtinä,
tai liittääksesi olemassa olevaan tekstieditoriin`,unableToEmbed:"",unrecognizedLinkFormat:""},YYu={transparent:"Läpinäkyvä",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},RYu={app:{center_heading:"Kaikki tietosi on tallennettu paikallisesti selaimellesi.",center_heading_plus:"Haluatko sen sijaan mennä Excalidraw+:aan?",menuHint:"Vie, asetukset, kielet, ..."},defaults:{menuHint:"Vie, asetukset ja lisää...",center_heading:"Kaaviot. Tehty. Yksinkertaiseksi.",toolbarHint:"Valitse työkalu ja aloita piirtäminen!",helpHint:"Pikanäppäimet & ohje"}},TYu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},OYu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},IYu={title:"",button:"",description:"",syntax:"",preview:""},tk3={labels:FYu,library:UYu,buttons:zYu,alerts:kYu,errors:fYu,toolBar:MYu,headings:bYu,hints:ZYu,canvasError:JYu,errorSplash:KYu,roomDialog:wYu,errorDialog:QYu,exportDialog:GYu,helpDialog:HYu,clearCanvasDialog:qYu,publishDialog:lYu,publishSuccessDialog:LYu,confirmDialog:XYu,imageExportDialog:vYu,encrypted:xYu,stats:WYu,toast:SYu,colors:YYu,welcomeScreen:RYu,colorPicker:TYu,overwriteConfirm:OYu,mermaid:IYu}});var zRu={};ju(zRu,{welcomeScreen:()=>CRu,toolBar:()=>mYu,toast:()=>ERu,stats:()=>BRu,roomDialog:()=>cYu,publishSuccessDialog:()=>oYu,publishDialog:()=>sYu,overwriteConfirm:()=>FRu,mermaid:()=>URu,library:()=>VYu,labels:()=>NYu,imageExportDialog:()=>eYu,hints:()=>yYu,helpDialog:()=>nYu,headings:()=>$Yu,exportDialog:()=>pYu,errors:()=>aYu,errorSplash:()=>gYu,errorDialog:()=>_Yu,encrypted:()=>uRu,default:()=>ek3,confirmDialog:()=>tYu,colors:()=>ARu,colorPicker:()=>DRu,clearCanvasDialog:()=>dYu,canvasError:()=>rYu,buttons:()=>hYu,alerts:()=>iYu});var NYu,VYu,hYu,iYu,aYu,mYu,$Yu,yYu,rYu,gYu,cYu,_Yu,pYu,nYu,dYu,sYu,oYu,tYu,eYu,uRu,BRu,ERu,ARu,CRu,DRu,FRu,URu,ek3;var kRu=g(()=>{m4();NYu={paste:"Coller",pasteAsPlaintext:"Coller comme texte brut",pasteCharts:"Coller les graphiques",selectAll:"Tout sélectionner",multiSelect:"Ajouter l'élément à la sélection",moveCanvas:"Déplacer le canevas",cut:"Couper",copy:"Copier",copyAsPng:"Copier dans le presse-papier en PNG",copyAsSvg:"Copier dans le presse-papier en SVG",copyText:"Copier dans le presse-papier en tant que texte",copySource:"Copier la source dans le presse-papiers",convertToCode:"Convertir en code",bringForward:"Envoyer vers l'avant",sendToBack:"Déplacer à l'arrière-plan",bringToFront:"Mettre au premier plan",sendBackward:"Reculer d'un plan",delete:"Supprimer",copyStyles:"Copier les styles",pasteStyles:"Coller les styles",stroke:"Trait",background:"Arrière-plan",fill:"Remplissage",strokeWidth:"Largeur du contour",strokeStyle:"Style du trait",strokeStyle_solid:"Continu",strokeStyle_dashed:"Tirets",strokeStyle_dotted:"Pointillés",sloppiness:"Style de tracé",opacity:"Transparence",textAlign:"Alignement du texte",edges:"Angles",sharp:"Pointus",round:"Arrondis",arrowheads:"Extrémités",arrowhead_none:"Sans",arrowhead_arrow:"Flèche",arrowhead_bar:"Barre",arrowhead_circle:"Cercle",arrowhead_circle_outline:"Contour du cercle",arrowhead_triangle:"Triangle",arrowhead_triangle_outline:"Triangle (contour)",arrowhead_diamond:"Losange",arrowhead_diamond_outline:"",fontSize:"Taille de la police",fontFamily:"Police",addWatermark:'Ajouter "Réalisé avec Excalidraw"',handDrawn:"À main levée",normal:"Normale",code:"Code",small:"Petite",medium:"Moyenne",large:"Grande",veryLarge:"Très grande",solid:"Solide",hachure:"Hachures",zigzag:"Zigzag",crossHatch:"Hachures croisées",thin:"Fine",bold:"Épaisse",left:"À gauche",center:"Au centre",right:"À droite",extraBold:"Très épaisse",architect:"Architecte",artist:"Artiste",cartoonist:"Caricaturiste",fileTitle:"Nom du fichier",colorPicker:"Sélecteur de couleur",canvasColors:"Utilisé sur la zone de dessin",canvasBackground:"Arrière-plan du canevas",drawingCanvas:"Zone de dessin",layers:"Disposition",actions:"Actions",language:"Langue",liveCollaboration:"Collaboration en direct...",duplicateSelection:"Dupliquer",untitled:"Sans-titre",name:"Nom",yourName:"Votre nom",madeWithExcalidraw:"Fait avec Excalidraw",group:"Grouper la sélection",ungroup:"Dégrouper la sélection",collaborators:"Collaborateurs",showGrid:"Afficher la grille",addToLibrary:"Ajouter à la bibliothèque",removeFromLibrary:"Supprimer de la bibliothèque",libraryLoadingMessage:"Chargement de la bibliothèque…",libraries:"Parcourir les bibliothèques",loadingScene:"Chargement de la scène…",align:"Alignement",alignTop:"Aligner en haut",alignBottom:"Aligner en bas",alignLeft:"Aligner à gauche",alignRight:"Aligner à droite",centerVertically:"Centrer verticalement",centerHorizontally:"Centrer horizontalement",distributeHorizontally:"Répartir horizontalement",distributeVertically:"Répartir verticalement",flipHorizontal:"Retourner horizontalement",flipVertical:"Retourner verticalement",viewMode:"Mode présentation",share:"Partager",showStroke:"Afficher le sélecteur de couleur de trait",showBackground:"Afficher le sélecteur de couleur de fond",toggleTheme:"Changer le thème",personalLib:"Bibliothèque personnelle",excalidrawLib:"Bibliothèque Excalidraw",decreaseFontSize:"Diminuer la taille de police",increaseFontSize:"Augmenter la taille de la police",unbindText:"Dissocier le texte",bindText:"Associer le texte au conteneur",createContainerFromText:"Encadrer le texte dans un conteneur",link:{edit:"Modifier le lien",editEmbed:"Éditer le lien & intégrer",create:"Ajouter un lien",createEmbed:"Créer un lien & intégrer",label:"Lien",labelEmbed:"Lier & intégrer",empty:"Aucun lien défini"},lineEditor:{edit:"Modifier la ligne",exit:"Quitter l'éditeur de ligne"},elementLock:{lock:"Verrouiller",unlock:"Déverrouiller",lockAll:"Tout verrouiller",unlockAll:"Tout déverrouiller"},statusPublished:"Publié",sidebarLock:"Maintenir la barre latérale ouverte",selectAllElementsInFrame:"Sélectionner tous les éléments du cadre",removeAllElementsFromFrame:"Supprimer tous les éléments du cadre",eyeDropper:"Choisir la couleur depuis la toile",textToDiagram:"Texte vers Diagramme",prompt:"Consignes"},VYu={noItems:"Aucun élément n'a encore été ajouté ...",hint_emptyLibrary:"Sélectionnez un élément sur le canevas pour l'ajouter ici ou installez une bibliothèque depuis le dépôt public, ci-dessous.",hint_emptyPrivateLibrary:"Sélectionnez un élément sur le canevas pour l'ajouter ici."},hYu={clearReset:"Réinitialiser le canevas",exportJSON:"Exporter comme fichier",exportImage:"Exporter l'image...",export:"Enregistrer sous...",copyToClipboard:"Copier dans le presse-papier",save:"Enregistrer dans le fichier actuel",saveAs:"Enregistrer sous",load:"Ouvrir",getShareableLink:"Obtenir un lien de partage",close:"Fermer",selectLanguage:"Choisir une langue",scrollBackToContent:"Revenir au contenu",zoomIn:"Zoomer",zoomOut:"Dézoomer",resetZoom:"Réinitialiser le zoom",menu:"Menu",done:"Terminé",edit:"Modifier",undo:"Annuler",redo:"Rétablir",resetLibrary:"Réinitialiser la bibliothèque",createNewRoom:"Créer une nouvelle salle",fullScreen:"Plein écran",darkMode:"Mode sombre",lightMode:"Mode clair",zenMode:"Mode zen",objectsSnapMode:"Aimanter aux objets",exitZenMode:"Quitter le mode zen",cancel:"Annuler",clear:"Effacer",remove:"Supprimer",embed:"Activer/Désactiver l'intégration",publishLibrary:"Publier",submit:"Envoyer",confirm:"Confirmer",embeddableInteractionButton:"Cliquez pour interagir"},iYu={clearReset:"L'intégralité du canevas va être effacée. Êtes-vous sûr ?",couldNotCreateShareableLink:"Impossible de créer un lien de partage.",couldNotCreateShareableLinkTooBig:"Impossible de créer un lien de partage : la scène est trop volumineuse",couldNotLoadInvalidFile:"Impossible de charger un fichier invalide",importBackendFailed:"L'importation depuis le serveur a échoué.",cannotExportEmptyCanvas:"Impossible d'exporter un canevas vide.",couldNotCopyToClipboard:"Impossible de copier dans le presse-papiers.",decryptFailed:"Les données n'ont pas pu être déchiffrées.",uploadedSecurly:"Le téléchargement a été sécurisé avec un chiffrement de bout en bout, ce qui signifie que ni Excalidraw ni personne d'autre ne peut en lire le contenu.",loadSceneOverridePrompt:"Le chargement d'un dessin externe remplacera votre contenu actuel. Souhaitez-vous continuer ?",collabStopOverridePrompt:`Arrêter la session écrasera votre précédent dessin stocké localement. Êtes-vous sûr·e ?
(Si vous voulez garder votre dessin local, fermez simplement l'onglet du navigateur à la place.)`,errorAddingToLibrary:"Impossible d'ajouter l'élément à la bibliothèque",errorRemovingFromLibrary:"Impossible de retirer l'élément de la bibliothèque",confirmAddLibrary:"Cela va ajouter {{numShapes}} forme(s) à votre bibliothèque. Êtes-vous sûr·e ?",imageDoesNotContainScene:"Cette image ne semble pas contenir de données de scène. Avez-vous activé l'intégration de scène lors de l'exportation ?",cannotRestoreFromImage:"Impossible de restaurer la scène depuis ce fichier image",invalidSceneUrl:"Impossible d'importer la scène depuis l'URL fournie. Elle est soit incorrecte, soit ne contient pas de données JSON Excalidraw valides.",resetLibrary:"Cela va effacer votre bibliothèque. Êtes-vous sûr·e ?",removeItemsFromsLibrary:"Supprimer {{count}} élément(s) de la bibliothèque ?",invalidEncryptionKey:"La clé de chiffrement doit comporter 22 caractères. La collaboration en direct est désactivée.",collabOfflineWarning:`Aucune connexion internet disponible.
Vos modifications ne seront pas enregistrées !`},aYu={unsupportedFileType:"Type de fichier non supporté.",imageInsertError:"Impossible d'insérer l'image. Réessayez plus tard...",fileTooBig:"Le fichier est trop volumineux. La taille maximale autorisée est de {{maxSize}}.",svgImageInsertError:"Impossible d'insérer l'image SVG. Le balisage SVG semble invalide.",failedToFetchImage:"Échec de récupération de l'image.",invalidSVGString:"SVG invalide.",cannotResolveCollabServer:"Impossible de se connecter au serveur collaboratif. Veuillez recharger la page et réessayer.",importLibraryError:"Impossible de charger la bibliothèque",collabSaveFailed:"Impossible d'enregistrer dans la base de données en arrière-plan. Si des problèmes persistent, vous devriez enregistrer votre fichier localement pour vous assurer de ne pas perdre votre travail.",collabSaveFailed_sizeExceeded:"Impossible d'enregistrer dans la base de données en arrière-plan, le tableau semble trop grand. Vous devriez enregistrer le fichier localement pour vous assurer de ne pas perdre votre travail.",imageToolNotSupported:"Les images sont désactivées.",brave_measure_text_error:{line1:"On dirait que vous utilisez le navigateur Brave avec l'option <bold>Bloquer agressivement le fichage</bold> activée.",line2:"Cela pourrait entraîner des problèmes avec les <bold>Éléments Textuels</bold> dans vos dessins.",line3:"Nous recommandons fortement de désactiver cette option. Vous pouvez suivre <link>ces instructions</link> pour savoir comment faire.",line4:"Si désactiver cette option de résout pas le problème d'affichage des éléments textuels, veuillez ouvrir un <issueLink>ticket</issueLink> sur notre GitHub, ou écrivez-nous sur notre <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Les éléments intégrés ne peuvent pas être ajoutés à la librairie.",iframe:"",image:"Le support pour l'ajout d'images à la librairie arrive bientôt !"},asyncPasteFailedOnRead:"Impossible de coller (impossible de lire le presse-papiers système).",asyncPasteFailedOnParse:"Impossible de coller.",copyToSystemClipboardFailed:"Échec de la copie dans le presse-papiers."},mYu={selection:"Sélection",image:"Insérer une image",rectangle:"Rectangle",diamond:"Losange",ellipse:"Ellipse",arrow:"Flèche",line:"Ligne",freedraw:"Dessiner",text:"Texte",library:"Bibliothèque",lock:"Garder l'outil sélectionné actif après le dessin",penMode:"Mode stylo - évite le toucher",link:"Ajouter/mettre à jour le lien pour une forme sélectionnée",eraser:"Gomme",frame:"Outil de cadre",magicframe:"",embeddable:"Intégration Web",laser:"Pointeur laser",hand:"Mains (outil de déplacement de la vue)",extraTools:"Plus d'outils",mermaidToExcalidraw:"De Mermaid à Excalidraw",magicSettings:"Paramètres IA"},$Yu={canvasActions:"Actions du canevas",selectedShapeActions:"Actions pour la forme sélectionnée",shapes:"Formes"},yYu={canvasPanning:"Pour déplacer la zone de dessin, maintenez la molette de la souris enfoncée ou la barre d'espace tout en faisant glisser, ou utiliser l'outil main.",linearElement:"Cliquez pour démarrer plusieurs points, faites glisser pour une seule ligne",freeDraw:"Cliquez et faites glissez, relâchez quand vous avez terminé",text:"Astuce : vous pouvez aussi ajouter du texte en double-cliquant n'importe où avec l'outil de sélection",embeddable:"Cliquez et glissez pour créer une intégration de site web",text_selected:"Double-cliquez ou appuyez sur ENTRÉE pour modifier le texte",text_editing:"Appuyez sur ÉCHAP ou Ctrl/Cmd+ENTRÉE pour terminer l'édition",linearElementMulti:"Cliquez sur le dernier point ou appuyez sur Échap ou Entrée pour terminer",lockAngle:"Vous pouvez restreindre l'angle en maintenant MAJ",resize:"Vous pouvez conserver les proportions en maintenant la touche MAJ pendant le redimensionnement, maintenez la touche ALT pour redimensionner par rapport au centre",resizeImage:`Vous pouvez redimensionner librement en maintenant SHIFT,
maintenez ALT pour redimensionner depuis le centre`,rotate:"Vous pouvez restreindre les angles en maintenant MAJ pendant la rotation",lineEditor_info:"Maintenez CtrlOrCmd et Double-cliquez ou appuyez sur CtrlOrCmd + Entrée pour modifier les points",lineEditor_pointSelected:"Appuyer sur Suppr. pour supprimer des points, Ctrl ou Cmd+D pour dupliquer, ou faire glisser pour déplacer",lineEditor_nothingSelected:`Sélectionner un point pour éditer (maintenir la touche MAJ pour en sélectionner plusieurs),
ou maintenir la touche Alt enfoncée et cliquer pour ajouter de nouveaux points`,placeImage:"Cliquez pour placer l'image, ou cliquez et faites glisser pour définir sa taille manuellement",publishLibrary:"Publier votre propre bibliothèque",bindTextToElement:"Appuyer sur Entrée pour ajouter du texte",deepBoxSelect:"Maintenir Ctrl ou Cmd pour sélectionner dans les groupes et empêcher le déplacement",eraserRevert:"Maintenez Alt enfoncé pour annuler les éléments marqués pour suppression",firefox_clipboard_write:`Cette fonctionnalité devrait pouvoir être activée en définissant l'option "dom.events.asyncClipboard.clipboard.clipboardItem" à "true". Pour modifier les paramètres du navigateur dans Firefox, visitez la page "about:config".`,disableSnapping:"Maintenez CtrlOuCmd pour désactiver l'aimantation"},rYu={cannotShowPreview:"Impossible dafficher laperçu",canvasTooBig:"Le canevas est peut-être trop grand.",canvasTooBigTip:"Astuce : essayez de rapprocher un peu les éléments les plus éloignés."},gYu={headingMain:"Une erreur est survenue. Essayez <button>de recharger la page.</button>",clearCanvasMessage:"Si le rechargement ne résout pas l'erreur, essayez <button>effacement du canevas.</button>",clearCanvasCaveat:" Cela entraînera une perte du travail ",trackedToSentry:"L'erreur avec l'identifiant {{eventId}} a été enregistrée dans notre système.",openIssueMessage:"Nous avons fait très attention à ne pas inclure les informations de votre scène dans l'erreur. Si votre scène n'est pas privée, veuillez envisager de poursuivre sur notre <button>outil de suivi des bugs.</button> Veuillez inclure les informations ci-dessous en les copiant-collant dans le ticket GitHub.",sceneContent:"Contenu de la scène :"},cYu={desc_intro:"Vous pouvez inviter des personnes à collaborer avec vous sur votre scène actuelle.",desc_privacy:"Pas d'inquiétude, la session utilise le chiffrement de bout en bout, donc tout ce que vous dessinez restera privé. Même notre serveur ne pourra voir ce que vous faites.",button_startSession:"Démarrer la session",button_stopSession:"Arrêter la session",desc_inProgressIntro:"La session de collaboration en direct est maintenant en cours.",desc_shareLink:"Partagez ce lien avec les personnes avec lesquelles vous souhaitez collaborer :",desc_exitSession:"Arrêter la session vous déconnectera de la salle, mais vous pourrez continuer à travailler avec la scène, localement. Notez que cela n'affectera pas les autres personnes, et ils pourront toujours collaborer sur leur version.",shareTitle:"Rejoindre une session de collaboration en direct sur Excalidraw"},_Yu={title:"Erreur"},pYu={disk_title:"Enregistrer sur le disque",disk_details:"Exporter les données de la scène comme un fichier que vous pourrez importer ultérieurement.",disk_button:"Enregistrer comme fichier",link_title:"Lien partageable",link_details:"Exporter comme un lien en lecture seule.",link_button:"Exporter comme lien",excalidrawplus_description:"Enregistrer la scène dans votre espace de travail Excalidraw+.",excalidrawplus_button:"Exporter",excalidrawplus_exportError:"Impossible d'exporter vers Excalidraw+ pour le moment..."},nYu={blog:"Lire notre blog",click:"clic",deepSelect:"Sélection dans les groupes",deepBoxSelect:"Sélectionner dans les groupes, et empêcher le déplacement",curvedArrow:"Flèche courbée",curvedLine:"Ligne courbée",documentation:"Documentation",doubleClick:"double-clic",drag:"glisser",editor:"Éditeur",editLineArrowPoints:"Modifier les points de ligne/flèche",editText:"Modifier le texte / ajouter un libellé",github:"Problème trouvé ? Soumettre",howto:"Suivez nos guides",or:"ou",preventBinding:"Empêcher la liaison de flèche",tools:"Outils",shortcuts:"Raccourcis clavier",textFinish:"Terminer l'édition (éditeur de texte)",textNewLine:"Ajouter une nouvelle ligne (éditeur de texte)",title:"Aide",view:"Affichage",zoomToFit:"Zoomer pour voir tous les éléments",zoomToSelection:"Zoomer sur la sélection",toggleElementLock:"Verrouiller/déverrouiller la sélection",movePageUpDown:"Déplacer la page vers le haut/bas",movePageLeftRight:"Déplacer la page vers la gauche/droite"},dYu={title:"Effacer la zone de dessin"},sYu={title:"Publier la bibliothèque",itemName:"Nom de l’élément",authorName:"Nom de l'auteur",githubUsername:"Nom d'utilisateur GitHub",twitterUsername:"Nom d'utilisateur Twitter",libraryName:"Nom de la bibliothèque",libraryDesc:"Description de la bibliothèque",website:"Site web",placeholder:{authorName:"Votre nom ou nom d'utilisateur",libraryName:"Nom de votre bibliothèque",libraryDesc:"Description de votre bibliothèque pour aider les gens à comprendre son usage",githubHandle:"Nom d'utilisateur GitHub (optionnel), pour que tu puisses modifier la bibliothèque une fois soumise pour vérification",twitterHandle:"Nom d'utilisateur Twitter (optionnel), pour savoir qui créditer lors de la promotion sur Twitter",website:"Lien vers votre site web personnel ou autre (optionnel)"},errors:{required:"Requis",website:"Entrer une URL valide"},noteDescription:"Soumets ta bibliothèque pour l'inclure au <link>dépôt de bibliothèque publique</link>pour permettre son utilisation par autrui dans leurs dessins.",noteGuidelines:"La bibliothèque doit d'abord être approuvée manuellement. Veuillez lire les <link>lignes directrices</link> avant de la soumettre. Vous aurez besoin d'un compte GitHub pour communiquer et apporter des modifications si demandé, mais ce n'est pas obligatoire.",noteLicense:"En soumettant, vous acceptez que la bibliothèque soit publiée sous la <link>Licence MIT, </link>ce qui en gros signifie que tout le monde peut l'utiliser sans restrictions.",noteItems:"Chaque élément de la bibliothèque doit avoir son propre nom afin qu'il soit filtrable. Les éléments de bibliothèque suivants seront inclus :",atleastOneLibItem:"Veuillez sélectionner au moins un élément de bibliothèque pour commencer",republishWarning:"Remarque : certains des éléments sélectionnés sont marqués comme étant déjà publiés/soumis. Vous devez uniquement resoumettre des éléments lors de la mise à jour d'une bibliothèque ou d'une soumission existante."},oYu={title:"Bibliothèque soumise",content:"Merci {{authorName}}. Votre bibliothèque a été soumise pour examen. Vous pouvez suivre le statut<link>ici</link>"},tYu={resetLibrary:"Réinitialiser la bibliothèque",removeItemsFromLib:"Enlever les éléments sélectionnés de la bibliothèque"},eYu={header:"Exporter l'image",label:{withBackground:"Fond",onlySelected:"Uniquement la sélection",darkMode:"Mode sombre",embedScene:"Intégrer la scène",scale:"Échelle",padding:"Marge interne"},tooltip:{embedScene:`Les données de la scène seront sauvegardées dans le fichier PNG/SVG exporté afin que la scène puisse être restaurée depuis celui-ci.
Cela augmentera la taille du fichier exporté.`},title:{exportToPng:"Exporter en PNG",exportToSvg:"Exporter en SVG",copyPngToClipboard:"Copier le PNG dans le presse-papier"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copier dans le presse-papier"}},uRu={tooltip:"Vos dessins sont chiffrés de bout en bout, les serveurs d'Excalidraw ne les verront jamais.",link:"Article de blog sur le chiffrement de bout en bout dans Excalidraw"},BRu={angle:"Angle",element:"Élément",elements:"Éléments",height:"Hauteur",scene:"Scène",selected:"Sélection",storage:"Stockage",title:"Stats pour les nerds",total:"Total",version:"Version",versionCopy:"Cliquer pour copier",versionNotAvailable:"Version non disponible",width:"Largeur"},ERu={addedToLibrary:"Ajouté à la bibliothèque",copyStyles:"Styles copiés.",copyToClipboard:"Copié dans le presse-papier.",copyToClipboardAsPng:`{{exportSelection}} copié dans le presse-papier en PNG
({{exportColorScheme}})`,fileSaved:"Fichier enregistré.",fileSavedToFilename:"Enregistré sous {filename}",canvas:"canevas",selection:"sélection",pasteAsSingleElement:`Utiliser {{shortcut}} pour coller comme un seul élément,
ou coller dans un éditeur de texte existant`,unableToEmbed:"Intégrer cet URL n'est actuellement pas autorisé. Ouvrez un ticket sur GitHub pour demander son ajout à la liste blanche",unrecognizedLinkFormat:"Le lien que vous avez intégré ne correspond pas au format attendu. Veuillez essayer de coller la chaîne d'intégration fournie par le site source"},ARu={transparent:"Transparent",black:"Noir",white:"Blanc",red:"Rouge",pink:"Rose",grape:"Mauve",violet:"Violet",gray:"Gris",blue:"Bleu",cyan:"Cyan",teal:"Turquoise",green:"Vert",yellow:"Jaune",orange:"Orange",bronze:"Bronze"},CRu={app:{center_heading:"Toutes vos données sont sauvegardées en local dans votre navigateur.",center_heading_plus:"Vouliez-vous plutôt aller à Excalidraw+ à la place ?",menuHint:"Exportation, préférences, langues, ..."},defaults:{menuHint:"Exportation, préférences et plus...",center_heading:"Diagrammes. Rendus. Simples.",toolbarHint:"Choisissez un outil et commencez à dessiner !",helpHint:"Raccourcis et aide"}},DRu={mostUsedCustomColors:"Couleurs personnalisées les plus fréquemment utilisées",colors:"Couleurs",shades:"Nuances",hexCode:"Code hex",noShades:"Aucune nuance disponible pour cette couleur"},FRu={action:{exportToImage:{title:"Exporter en image",button:"Exporter en image",description:"Exporter les données de la scène comme une image que vous pourrez importer ultérieurement."},saveToDisk:{title:"Sauvegarder sur le disque",button:"Sauvegarder sur le disque",description:"Exporter les données de la scène comme un fichier que vous pourrez importer ultérieurement."},excalidrawPlus:{title:"Excalidraw+",button:"Exporter vers Excalidraw+",description:"Enregistrer la scène dans votre espace de travail Excalidraw+."}},modal:{loadFromFile:{title:"Charger depuis un fichier",button:"Charger depuis un fichier",description:"Charger depuis un fichier va <bold>remplacer votre contenu existant</bold>.<br></br>Vous pouvez d'abord sauvegarder votre dessin en utilisant l'une des options ci-dessous."},shareableLink:{title:"Charger depuis un lien",button:"Remplacer mon contenu",description:"Charger un dessin externe va <bold>remplacer votre contenu existant</bold>.<br></br>Vous pouvez d'abord sauvegarder votre dessin en utilisant l'une des options ci-dessous."}}},URu={title:"De Mermaid à Excalidraw",button:"Insérer",description:"",syntax:"Syntaxe Mermaid",preview:"Prévisualisation"},ek3={labels:NYu,library:VYu,buttons:hYu,alerts:iYu,errors:aYu,toolBar:mYu,headings:$Yu,hints:yYu,canvasError:rYu,errorSplash:gYu,roomDialog:cYu,errorDialog:_Yu,exportDialog:pYu,helpDialog:nYu,clearCanvasDialog:dYu,publishDialog:sYu,publishSuccessDialog:oYu,confirmDialog:tYu,imageExportDialog:eYu,encrypted:uRu,stats:BRu,toast:ERu,colors:ARu,welcomeScreen:CRu,colorPicker:DRu,overwriteConfirm:FRu,mermaid:URu}});var hRu={};ju(hRu,{welcomeScreen:()=>PRu,toolBar:()=>KRu,toast:()=>ORu,stats:()=>TRu,roomDialog:()=>qRu,publishSuccessDialog:()=>WRu,publishDialog:()=>xRu,overwriteConfirm:()=>NRu,mermaid:()=>VRu,library:()=>MRu,labels:()=>fRu,imageExportDialog:()=>YRu,hints:()=>QRu,helpDialog:()=>XRu,headings:()=>wRu,exportDialog:()=>LRu,errors:()=>JRu,errorSplash:()=>HRu,errorDialog:()=>lRu,encrypted:()=>RRu,default:()=>uf3,confirmDialog:()=>SRu,colors:()=>IRu,colorPicker:()=>jRu,clearCanvasDialog:()=>vRu,canvasError:()=>GRu,buttons:()=>bRu,alerts:()=>ZRu});var fRu,MRu,bRu,ZRu,JRu,KRu,wRu,QRu,GRu,HRu,qRu,lRu,LRu,XRu,vRu,xRu,WRu,SRu,YRu,RRu,TRu,ORu,IRu,PRu,jRu,NRu,VRu,uf3;var iRu=g(()=>{m4();fRu={paste:"Pegar",pasteAsPlaintext:"Pegar coma texto sen formato",pasteCharts:"Pegar gráficos",selectAll:"Seleccionar todo",multiSelect:"Engadir elemento á selección",moveCanvas:"Mover o lenzo",cut:"Cortar",copy:"Copiar",copyAsPng:"Copiar no portapapeis como PNG",copyAsSvg:"Copiar no portapapeis como SVG",copyText:"Copia no portapapeis como texto",copySource:"",convertToCode:"",bringForward:"Traer cara adiante",sendToBack:"Enviar cara atrás",bringToFront:"Traer á fronte",sendBackward:"Enviar ao fondo",delete:"Borrar",copyStyles:"Copiar estilo",pasteStyles:"Pegar estilo",stroke:"Trazo",background:"Fondo",fill:"Recheo",strokeWidth:"Largo do trazo",strokeStyle:"Estilo do trazo",strokeStyle_solid:"Sólido",strokeStyle_dashed:"Liña de trazos",strokeStyle_dotted:"Liña de puntos",sloppiness:"Estilo de trazo",opacity:"Opacidade",textAlign:"Aliñar texto",edges:"Bordos",sharp:"Agudo",round:"Redondo",arrowheads:"Puntas de frecha",arrowhead_none:"Ningunha",arrowhead_arrow:"Frecha",arrowhead_bar:"Barra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Triángulo",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Tamaño da fonte",fontFamily:"Tipo de fonte",addWatermark:'Engadir "Feito con Excalidraw"',handDrawn:"Debuxado a man",normal:"Normal",code:"Código",small:"Pequeno",medium:"Mediano",large:"Grande",veryLarge:"Moi grande",solid:"Sólido",hachure:"Folleto",zigzag:"Zigzag",crossHatch:"Raiado transversal",thin:"Estreito",bold:"Groso",left:"Esquerda",center:"Centrado",right:"Dereita",extraBold:"Moi groso",architect:"Arquitecto",artist:"Artista",cartoonist:"Caricatura",fileTitle:"Nome do arquivo",colorPicker:"Selector de cor",canvasColors:"Usado en lenzo",canvasBackground:"Fondo do lenzo",drawingCanvas:"Lenzo de debuxo",layers:"Capas",actions:"Accións",language:"Idioma",liveCollaboration:"Colaboración en directo...",duplicateSelection:"Duplicar",untitled:"Sen título",name:"Nome",yourName:"O teu nome",madeWithExcalidraw:"Feito con Excalidraw",group:"Agrupar selección",ungroup:"Desagrupar selección",collaborators:"Colaboradores",showGrid:"Mostrar cuadrícula",addToLibrary:"Engadir á biblioteca",removeFromLibrary:"Eliminar da biblioteca",libraryLoadingMessage:"Cargando biblioteca…",libraries:"Explorar bibliotecas",loadingScene:"Cargando escena…",align:"Aliñamento",alignTop:"Aliñamento superior",alignBottom:"Aliñamento inferior",alignLeft:"Aliñar a esquerda",alignRight:"Aliñar a dereita",centerVertically:"Centrar verticalmente",centerHorizontally:"Centrar horizontalmente",distributeHorizontally:"Distribuír horizontalmente",distributeVertically:"Distribuír verticalmente",flipHorizontal:"Virar horizontalmente",flipVertical:"Virar verticalmente",viewMode:"Modo de visualización",share:"Compartir",showStroke:"Mostrar selector de cores do trazo",showBackground:"Mostrar selector de cores do fondo",toggleTheme:"Alternar tema",personalLib:"Biblioteca Persoal",excalidrawLib:"Biblioteca Excalidraw",decreaseFontSize:"Diminuír tamaño da fonte",increaseFontSize:"Aumentar o tamaño da fonte",unbindText:"Desvincular texto",bindText:"Ligar o texto ao contedor",createContainerFromText:"Envolver o texto nun contedor",link:{edit:"Editar ligazón",editEmbed:"",create:"Crear ligazón",createEmbed:"",label:"Ligazón",labelEmbed:"",empty:""},lineEditor:{edit:"Editar liña",exit:"Saír do editor de liñas"},elementLock:{lock:"Bloquear",unlock:"Desbloquear",lockAll:"Bloquear todo",unlockAll:"Desbloquear todo"},statusPublished:"Publicado",sidebarLock:"Manter a barra lateral aberta",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},MRu={noItems:"Aínda non hai elementos engadidos...",hint_emptyLibrary:"Seleccione un elemento no lenzo para engadilo aquí, ou instale unha biblioteca dende o repositorio público, como se detalla a continuación.",hint_emptyPrivateLibrary:"Seleccione un elemento do lenzo para engadilo aquí."},bRu={clearReset:"Limpar o lenzo",exportJSON:"Exportar a arquivo",exportImage:"Exportar imaxe...",export:"Gardar en...",copyToClipboard:"Copiar ao portapapeis",save:"Gardar no ficheiro actual",saveAs:"Gardar como",load:"Abrir",getShareableLink:"Obter unha ligazón que se poida compartir",close:"Pechar",selectLanguage:"Seleccionar idioma",scrollBackToContent:"Volver ao contido",zoomIn:"Ampliar",zoomOut:"Reducir",resetZoom:"Reiniciar zoom",menu:"Menú",done:"Feito",edit:"Editar",undo:"Desfacer",redo:"Refacer",resetLibrary:"Reiniciar biblioteca",createNewRoom:"Crear nova sala",fullScreen:"Pantalla completa",darkMode:"Modo escuro",lightMode:"Modo claro",zenMode:"Modo zen",objectsSnapMode:"",exitZenMode:"Saír do modo zen",cancel:"Cancelar",clear:"Limpar",remove:"Eliminar",embed:"",publishLibrary:"Publicar",submit:"Enviar",confirm:"Confirmar",embeddableInteractionButton:"Faga clic para interactuar"},ZRu={clearReset:"Isto limpará todo o lenzo. Estás seguro?",couldNotCreateShareableLink:"Non se puido crear unha ligazón para compartir.",couldNotCreateShareableLinkTooBig:"Non se puido crear a ligazón para compartir: a escena é demasiado grande",couldNotLoadInvalidFile:"Non se puido cargar o ficheiro non válido",importBackendFailed:"A importación dende o backend fallou.",cannotExportEmptyCanvas:"Non se pode exportar un lenzo baleiro.",couldNotCopyToClipboard:"Non se puido copiar ao portapapeis.",decryptFailed:"Non se poideron descifrar os datos.",uploadedSecurly:"A carga foi asegurada con cifrado de extremo a extremo, o que significa que o servidor de Excalidraw e terceiros non poden ler o contido.",loadSceneOverridePrompt:"A carga dun debuxo externo substituirá o contido existente. Desexa continuar?",collabStopOverridePrompt:`Deter a sesión, sobrescribirá o seu debuxo local previamente almacenado. Está seguro?
(Se quere manter o seu debuxo local, simplemente peche a lapela do navegador.)`,errorAddingToLibrary:"Non se puido engadir o elemento á biblioteca",errorRemovingFromLibrary:"Non se puido eliminar o elemento da biblioteca",confirmAddLibrary:"Isto engadirá {{numShapes}} forma(s) a túa biblioteca. Estás seguro?",imageDoesNotContainScene:"Esta imaxe non parece conter ningún dato da escena. Activou a inserción de escenas durante a exportación?",cannotRestoreFromImage:"Non se puido restaurar a escena dende este arquivo de imaxe",invalidSceneUrl:"Non se puido importar a escena dende a URL proporcionada. Ou ben está malformada ou non contén un JSON con información válida para Excalidraw.",resetLibrary:"Isto limpará a súa biblioteca. Está seguro?",removeItemsFromsLibrary:"Eliminar {{count}} elemento(s) da biblioteca?",invalidEncryptionKey:"A clave de cifrado debe ter 22 caracteres. A colaboración en directo está desactivada.",collabOfflineWarning:`Non hai conexión a Internet dispoñible.
Os teus cambios non serán gardados!`},JRu={unsupportedFileType:"Tipo de ficheiro non soportado.",imageInsertError:"Non se puido inserir a imaxe. Probe de novo máis tarde...",fileTooBig:"O ficheiro é demasiado grande. O tamaño máximo permitido é {{maxSize}}.",svgImageInsertError:"Non se puido inserir como imaxe SVG. O marcado SVG semella inválido.",failedToFetchImage:"",invalidSVGString:"SVG inválido.",cannotResolveCollabServer:"Non se puido conectar ao servidor de colaboración. Por favor recargue a páxina e probe de novo.",importLibraryError:"Non se puido cargar a biblioteca",collabSaveFailed:"Non se puido gardar na base de datos. Se o problema persiste, deberías gardar o teu arquivo de maneira local para asegurarte de non perdelo teu traballo.",collabSaveFailed_sizeExceeded:"Non se puido gardar na base de datos, o lenzo semella demasiado grande. Deberías gardar o teu arquivo de maneira local para asegurarte de non perdelo teu traballo.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},KRu={selection:"Selección",image:"Inserir imaxe",rectangle:"Rectángulo",diamond:"Diamante",ellipse:"Elipse",arrow:"Frecha",line:"Liña",freedraw:"Debuxar",text:"Texto",library:"Biblioteca",lock:"Manter a ferramenta seleccionada activa despois de debuxar",penMode:"Modo lapis - evitar o contacto",link:"Engadir/ Actualizar ligazón para a forma seleccionada",eraser:"Goma de borrar",frame:"",magicframe:"",embeddable:"Inserir na web",laser:"Punteiro láser",hand:"Man (ferramenta de desprazamento)",extraTools:"Máis ferramentas",mermaidToExcalidraw:"",magicSettings:""},wRu={canvasActions:"Accións do lenzo",selectedShapeActions:"Accións da forma seleccionada",shapes:"Formas"},QRu={canvasPanning:"Para mover o lenzo, manteña pulsada a roda do rato ou a barra de espazo mentres arrastra, ou utilice a ferramenta da man",linearElement:"Faga clic para iniciar varios puntos, arrastre para unha sola liña",freeDraw:"Fai clic e arrastra, solta cando acabes",text:"Consello: tamén podes engadir texto facendo dobre-clic en calquera lugar coa ferramenta de selección",embeddable:"Faga clic e arrastre para crear un sitio web embebido",text_selected:"Dobre-clic ou prema ENTER para editar o texto",text_editing:"Prema Escape ou CtrlOrCmd+ENTER para finalizar a edición",linearElementMulti:"Faga clic no último punto ou prema Escape ou Enter para rematar",lockAngle:"Pode reducir o ángulo mantendo SHIFT",resize:`Pode reducir as proporcións mantendo SHIFT mentres axusta o tamaño,
manteña ALT para axustalo dende o centro`,resizeImage:`Pode axustar o tamaño libremente mantendo SHIFT,
manteña ALT para axustalo dende o centro`,rotate:"Podes reducir os ángulos mantendo SHIFT mentres os rotas",lineEditor_info:"Manteña pulsado CtrlOrCmd e faga dobre clic ou prema CtrlOrCmd + Enter para editar puntos",lineEditor_pointSelected:`Prema Suprimir para eliminar o(s) punto(s)
CtrlOrCmd+D para duplicalos, ou arrastre para movelos`,lineEditor_nothingSelected:`Seleccione un punto para editar (manteña pulsado SHIFT para selección múltiple),
ou manteña pulsado Alt e faga clic para engadir novos puntos`,placeImage:"Faga clic para colocar a imaxe, ou faga clic e arrastre para establecer o seu tamaño manualmente",publishLibrary:"Publica a túa propia biblioteca",bindTextToElement:"Prema a tecla enter para engadir texto",deepBoxSelect:"Manteña pulsado CtrlOrCmd para seleccionar en profundidade e evitar o arrastre",eraserRevert:"Manteña pulsado Alt para reverter os elementos marcados para a súa eliminación",firefox_clipboard_write:'Esta función pódese activar establecendo a opción "dom.events.asyncClipboard.clipboardItem" a "true". Para cambiar as opcións do navegador en Firefox, visita a páxina "about:config".',disableSnapping:""},GRu={cannotShowPreview:"Non se pode mostrar a vista previa",canvasTooBig:"Pode que o lenzo sexa demasiado grande.",canvasTooBigTip:"Consello: Probe a acercar un pouco os elementos máis afastados."},HRu={headingMain:"Atopouse un erro. Probe <button>recargando a páxina.</button>",clearCanvasMessage:"Se recargar non funcionou, probe <button>limpando o lenzo.</button>",clearCanvasCaveat:" Isto resultará nunha perda do seu traballo ",trackedToSentry:"O erro con identificador {{eventId}} foi rastrexado no noso sistema.",openIssueMessage:"Fomos moi cautelosos de non incluír a información da súa escena no erro. Se a súa escena non é privada, por favor, considere o seguimento do noso <button>rastrexador de erros.</button> Por favor inclúa a seguinte información copiándoa e pegándoa na issue de Github.",sceneContent:"Contido da escena:"},qRu={desc_intro:"Podes invitar xente a colaborar contigo na túa escena actual.",desc_privacy:"Non te preocupes, a sesión usa cifrado de punto a punto, polo que calquera cousa que debuxes mantense privada. Nin tan sequera o noso servidor será capaz de ver o que fas.",button_startSession:"Comezar sesión",button_stopSession:"Rematar sesión",desc_inProgressIntro:"A sesión de colaboración en directo está agora en progreso.",desc_shareLink:"Comparte esta ligazón con calquera que queiras colaborar:",desc_exitSession:"Deter a sesión desconectarao da sala, pero poderá seguir traballando coa escena de maneira local. Teña en conta que isto non afectará a outras persoas, que poderán seguir colaborando na súa versión.",shareTitle:"Únase a unha sesión de colaboración en directo en Excalidraw"},lRu={title:"Erro"},LRu={disk_title:"Gardar no disco",disk_details:"Exporte os datos da escena a un ficheiro que poderás importar máis tarde.",disk_button:"Gardar nun ficheiro",link_title:"Ligazón para compartir",link_details:"Exportar como unha ligazón de só lectura.",link_button:"Exportar a unha ligazón",excalidrawplus_description:"Garde a escena no seu espazo de traballo en Excalidraw+.",excalidrawplus_button:"Exportar",excalidrawplus_exportError:"Non se puido exportar a Excalidraw+ neste momento..."},XRu={blog:"Le o noso blog",click:"clic",deepSelect:"Selección en profundidade",deepBoxSelect:"Selección en profundidade dentro da caixa, evitando o arrastre",curvedArrow:"Frecha curva",curvedLine:"Liña curva",documentation:"Documentación",doubleClick:"dobre-clic",drag:"arrastrar",editor:"Editor",editLineArrowPoints:"",editText:"",github:"Encontrou un problema? Envíeo",howto:"Sigue as nosas normas",or:"ou",preventBinding:"Evitar a unión de frechas",tools:"Ferramentas",shortcuts:"Atallos de teclado",textFinish:"Rematar de editar (editor de texto)",textNewLine:"Engadir unha nova liña (editor de texto)",title:"Axuda",view:"Vista",zoomToFit:"Zoom que se axuste a todos os elementos",zoomToSelection:"Zoom á selección",toggleElementLock:"Bloquear/desbloquear selección",movePageUpDown:"Mover páxina cara enriba/abaixo",movePageLeftRight:"Mover páxina cara a esquerda/dereita"},vRu={title:"Limpar lenzo"},xRu={title:"Publicar biblioteca",itemName:"Nome do elemento",authorName:"Nome do autor",githubUsername:"Nome de usuario en Github",twitterUsername:"Nome de usuario en Twitter",libraryName:"Nome da biblioteca",libraryDesc:"Descrición da biblioteca",website:"Páxina web",placeholder:{authorName:"O seu nome ou nome de usuario",libraryName:"Nome da súa biblioteca",libraryDesc:"Descrición da súa biblioteca para axudar a xente a entender o seu uso",githubHandle:"Nome de usuario de GitHub (opcional), así poderás editar a biblioteca unha vez enviada para a súa revisión",twitterHandle:"Nome de usuario en Twitter(opcional), así sabemos a quen darlle crédito cando se lle de promoción a través de Twitter",website:"Ligazón ao teu sitio web persoal ou a outro sitio (opcional)"},errors:{required:"Obrigatorio",website:"Introduza unha URL válida"},noteDescription:"Envíe a súa biblioteca para que sexa incluída no <link>repositorio público de bibliotecas</link>para que outra xente a poida usar nos seus debuxos.",noteGuidelines:"A biblioteca necesita ser aprobada manualmente primeiro. Por favor, lea as <link>normas</link> antes de ser enviado. Necesitarás unha conta de GitHub para comunicarte ou facer cambios se se solicitan, pero non é estritamente necesario.",noteLicense:"Ao enviar, estás de acordo con que a biblioteca sexa publicada baixo a <link>Licenza MIT, </link>o cal significa que, en resumo, calquera pode usalo sen restricións.",noteItems:"Cada elemento da biblioteca debe ter o seu nome propio para que se poida filtrar. Os seguintes elementos da biblioteca serán incluídos:",atleastOneLibItem:"Por favor seleccione polo menos un elemento da biblioteca para comezar",republishWarning:"Nota: algúns dos elementos seleccionados están marcados como xa publicados/enviados. Só deberías reenviar elementos cando se actualice unha biblioteca ou envío."},WRu={title:"Biblioteca enviada",content:"Grazas {{authorName}}. A súa biblioteca foi enviada para ser revisada. Pode seguir o estado<link>aquí</link>"},SRu={resetLibrary:"Restablecer biblioteca",removeItemsFromLib:"Eliminar os elementos seleccionados da biblioteca"},YRu={header:"Exportar imaxe",label:{withBackground:"Fondo",onlySelected:"",darkMode:"Modo escuro",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"Exportar a PNG",exportToSvg:"Exportar a SVG",copyPngToClipboard:"Copiar PNG ao portapapeis"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copiar ao portapapeis"}},RRu={tooltip:"Os teus debuxos están cifrados de punto a punto, polo que os servidores de Excalidraw nunca os verán.",link:"Entrada do blog acerca do cifrado de punto a punto en Excalidraw"},TRu={angle:"Ángulo",element:"Elemento",elements:"Elementos",height:"Alto",scene:"Escena",selected:"Seleccionado",storage:"Almacenamento",title:"Estadísticas para nerds",total:"Total",version:"Versión",versionCopy:"Faga clic para copiar",versionNotAvailable:"Versión non dispoñible",width:"Ancho"},ORu={addedToLibrary:"Engadido á biblioteca",copyStyles:"Estilos copiados.",copyToClipboard:"Copiado ao portapapeis.",copyToClipboardAsPng:`Copiar {{exportSelection}} ao portapapeis como PNG
({{exportColorScheme}})`,fileSaved:"Ficheiro gardado.",fileSavedToFilename:"Gardado en {filename}",canvas:"lenzo",selection:"selección",pasteAsSingleElement:`Usa {{shortcut}} para pegar como un único elemento
ou pega nun editor de texto existente`,unableToEmbed:"",unrecognizedLinkFormat:""},IRu={transparent:"Transparente",black:"Negro",white:"Branco",red:"Vermello",pink:"Rosa",grape:"Uva",violet:"Violeta",gray:"Gris",blue:"Azul",cyan:"",teal:"",green:"Verde",yellow:"Marelo",orange:"Laranxa",bronze:"Bronce"},PRu={app:{center_heading:"Toda a información é gardada de maneira local no seu navegador.",center_heading_plus:"Queres ir a Excalidraw+ no seu lugar?",menuHint:"Exportar, preferencias, idiomas, ..."},defaults:{menuHint:"Exportar, preferencias, e máis...",center_heading:"Diagramas. Feito. Sinxelo.",toolbarHint:"Escolle unha ferramenta & Comeza a debuxar!",helpHint:"Atallos & axuda"}},jRu={mostUsedCustomColors:"",colors:"Cores",shades:"",hexCode:"",noShades:""},NRu={action:{exportToImage:{title:"Exportar como imaxe",button:"Exportar como imaxe",description:""},saveToDisk:{title:"Gardar no disco",button:"Gardar no disco",description:""},excalidrawPlus:{title:"Excalidraw+",button:"Exportar a Excalidraw+",description:""}},modal:{loadFromFile:{title:"Cargar dende arquivo",button:"Cargar dende arquivo",description:""},shareableLink:{title:"Cargar dende un enlace",button:"Substituír o meu contido",description:""}}},VRu={title:"",button:"",description:"",syntax:"",preview:""},uf3={labels:fRu,library:MRu,buttons:bRu,alerts:ZRu,errors:JRu,toolBar:KRu,headings:wRu,hints:QRu,canvasError:GRu,errorSplash:HRu,roomDialog:qRu,errorDialog:lRu,exportDialog:LRu,helpDialog:XRu,clearCanvasDialog:vRu,publishDialog:xRu,publishSuccessDialog:WRu,confirmDialog:SRu,imageExportDialog:YRu,encrypted:RRu,stats:TRu,toast:ORu,colors:IRu,welcomeScreen:PRu,colorPicker:jRu,overwriteConfirm:NRu,mermaid:VRu}});var bTu={};ju(bTu,{welcomeScreen:()=>zTu,toolBar:()=>gRu,toast:()=>FTu,stats:()=>DTu,roomDialog:()=>dRu,publishSuccessDialog:()=>BTu,publishDialog:()=>uTu,overwriteConfirm:()=>fTu,mermaid:()=>MTu,library:()=>mRu,labels:()=>aRu,imageExportDialog:()=>ATu,hints:()=>_Ru,helpDialog:()=>tRu,headings:()=>cRu,exportDialog:()=>oRu,errors:()=>rRu,errorSplash:()=>nRu,errorDialog:()=>sRu,encrypted:()=>CTu,default:()=>Bf3,confirmDialog:()=>ETu,colors:()=>UTu,colorPicker:()=>kTu,clearCanvasDialog:()=>eRu,canvasError:()=>pRu,buttons:()=>$Ru,alerts:()=>yRu});var aRu,mRu,$Ru,yRu,rRu,gRu,cRu,_Ru,pRu,nRu,dRu,sRu,oRu,tRu,eRu,uTu,BTu,ETu,ATu,CTu,DTu,FTu,UTu,zTu,kTu,fTu,MTu,Bf3;var ZTu=g(()=>{m4();aRu={paste:"הדבק",pasteAsPlaintext:"הדבק ללא עיצוב",pasteCharts:"הדבק גרפים",selectAll:"בחר הכל",multiSelect:"הוסף רכיב לבחירה",moveCanvas:"הזז את הקנבס",cut:"גזור",copy:"העתק",copyAsPng:"העתק ללוח כ PNG",copyAsSvg:"העתק ללוח כ SVG",copyText:"העתק ללוח כטקסט",copySource:"",convertToCode:"",bringForward:"הבא שכבה קדימה",sendToBack:"שלח אחורה",bringToFront:"העבר לחזית",sendBackward:"העבר שכבה אחורה",delete:"מחק",copyStyles:"העתק סגנון",pasteStyles:"הדבק סגנון",stroke:"קו מתאר",background:"רקע",fill:"מילוי",strokeWidth:"עובי קו מתאר",strokeStyle:"סגנון קו המתאר",strokeStyle_solid:"מלא",strokeStyle_dashed:"מקווקו",strokeStyle_dotted:"מנוקד",sloppiness:"רישול",opacity:"אטימות",textAlign:"יישור טקסט",edges:"קצוות",sharp:"חד",round:"עגול",arrowheads:"ראשי חצים",arrowhead_none:"ללא",arrowhead_arrow:"חץ",arrowhead_bar:"קצה אנכי",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"משולש",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"גודל גופן",fontFamily:"גופן",addWatermark:'הוסף "נוצר באמצעות Excalidraw"',handDrawn:"ציור יד",normal:"רגיל",code:"קוד",small:"קטן",medium:"בינוני",large:"גדול",veryLarge:"גדול מאוד",solid:"מוצק",hachure:"קווים מקבילים קצרים להצגת כיוון וחדות שיפוע במפה",zigzag:"זיגזג",crossHatch:"קווים מוצלבים שתי וערב",thin:"דק",bold:"מודגש",left:"שמאל",center:"מרכז",right:"ימין",extraBold:"מודגש במיוחד",architect:"ארכיטקט",artist:"אמן",cartoonist:"קריקטוריסט",fileTitle:"שם קובץ",colorPicker:"בוחר צבעים",canvasColors:"בשימוש בקנבס",canvasBackground:"רקע קנבס",drawingCanvas:"קנבס ציור",layers:"שכבות",actions:"פעולות",language:"שפה",liveCollaboration:"התחל שיתוף חי...",duplicateSelection:"שכפל",untitled:"ללא כותרת",name:"שם",yourName:"שמך",madeWithExcalidraw:"נוצר באמצעות Excalidraw",group:"קבץ",ungroup:"פרק קבוצה",collaborators:"שותפים",showGrid:"הצג רשת",addToLibrary:"הוסף לספריה",removeFromLibrary:"הסר מספריה",libraryLoadingMessage:"טוען ספריה…",libraries:"עיין בספריות",loadingScene:"טוען תצוגה…",align:"יישר",alignTop:"יישר למעלה",alignBottom:"יישר למטה",alignLeft:"יישר לשמאל",alignRight:"יישר לימין",centerVertically:"מרכז אנכית",centerHorizontally:"מרכז אופקית",distributeHorizontally:"חלוקה אופקית",distributeVertically:"חלוקה אנכית",flipHorizontal:"הפוך אופקית",flipVertical:"הפוך אנכית",viewMode:"מצב תצוגה",share:"שתף",showStroke:"הצג בוחר צבע מברשת",showBackground:"הצג בוחר צבע רקע",toggleTheme:"שינוי ערכת העיצוב",personalLib:"ספריה פרטית",excalidrawLib:"הספריה של Excalidraw",decreaseFontSize:"הקטן את גודל הגופן",increaseFontSize:"הגדל את גודל הגופן",unbindText:"ביטול קיבוע הטקסט",bindText:"קיבוע הטקסט למיכל",createContainerFromText:"ארוז טקסט במיכל",link:{edit:"עריכת קישור",editEmbed:"ערוך קישור ושבץ",create:"יצירת קישור",createEmbed:"צור קישור ושבץ",label:"קישור",labelEmbed:"קשר ושבץ",empty:"לא נקבע קישור"},lineEditor:{edit:"ערוך קו",exit:"צא מעורך הקו"},elementLock:{lock:"נעילה",unlock:"ביטול נעילה",lockAll:"לנעול הכל",unlockAll:"שחרור הכול"},statusPublished:"פורסם",sidebarLock:"שמור את סרגל הצד פתוח",selectAllElementsInFrame:"בחר את כל האלמנטים במסגרת",removeAllElementsFromFrame:"הסר את כל האלמנטים שבמסגרת",eyeDropper:"",textToDiagram:"",prompt:""},mRu={noItems:"עוד לא הוספת דברים...",hint_emptyLibrary:"בחר משהו בקנבס כדי להוסיף אותו לכאן, או שתתקין ספריה מהספריה הציבורית מטה.",hint_emptyPrivateLibrary:"בחר משהו בקנבס כדי להוסיף אותו לכאן."},$Ru={clearReset:"אפס את הקנבאס",exportJSON:"ייצא לקובץ",exportImage:"ייצוא התמונה...",export:"שמור ל...",copyToClipboard:"העתק ללוח",save:"שמור לקובץ נוכחי",saveAs:"שמירה בשם",load:"פתח",getShareableLink:"קבל קישור לשיתוף",close:"סגור",selectLanguage:"בחר שפה",scrollBackToContent:"גלול בחזרה לתוכן",zoomIn:"הגדל",zoomOut:"הקטן",resetZoom:"איפוס זום",menu:"תפריט",done:"בוצע",edit:"ערוך",undo:"בטל",redo:"בצע מחדש",resetLibrary:"איפוס ספריה",createNewRoom:"צור חדר חדש",fullScreen:"מסך מלא",darkMode:"מצב כהה",lightMode:"מצב בהיר",zenMode:"מצב זן",objectsSnapMode:"",exitZenMode:"צא ממצב זן",cancel:"ביטול",clear:"ניקוי",remove:"הסר",embed:"",publishLibrary:"פרסום",submit:"שליחה",confirm:"אשר",embeddableInteractionButton:""},yRu={clearReset:"פעולה זו תנקה את כל הקנבס. אתה בטוח?",couldNotCreateShareableLink:"יצירת קישור לשיתוף נכשל.",couldNotCreateShareableLinkTooBig:"יצירת קישור לשיתוף נכשל: התצוגה גדולה מדי",couldNotLoadInvalidFile:"טעינת קובץ לא תקין נכשלה",importBackendFailed:"ייבוא מהשרת נכשל.",cannotExportEmptyCanvas:"לא ניתן לייצא קנבאס ריק.",couldNotCopyToClipboard:"לא ניתן היה להעתיק ללוח.",decryptFailed:"פיענוח ההצפנה של המידע נכשל.",uploadedSecurly:"ההעלאה אובטחה באמצעות הצפנה מקצה לקצה, פירוש הדבר שהשרת של Excalidraw וגורמי צד ג׳ לא יכולים לקרוא את התוכן.",loadSceneOverridePrompt:"טעינה של ציור חיצוני תחליף את התוכן הקיים שלך. האם תרצה להמשיך?",collabStopOverridePrompt:`עצירת השיתוף תוביל למחיקת הציור הקודם ששמור מקומית בדפדפן. האם אתה בטוח?
(אם תרצה לשמור את הציור המקומי, סגור את הטאב של הדפדפן במקום.)`,errorAddingToLibrary:"לא ניתן להוסיף פריט לספרייה",errorRemovingFromLibrary:"לא ניתן להסיר פריט מהספריה",confirmAddLibrary:"זה יוסיף {{numShapes}} צורה(ות) לספריה שלך. האם אתה בטוח?",imageDoesNotContainScene:"נראה שהתמונה לא מכילה מידע על הסצינה. האם אפשרת הטמעת מידע הסצינה בעת השמירה?",cannotRestoreFromImage:"לא הצלחנו לשחזר את הסצנה מקובץ התמונה",invalidSceneUrl:"ייבוא מידע סצנה מהקישור שסופק כשל. או שהוא משובש, או שאינו מכיל מידע של Excalidraw בפורמט JSON.",resetLibrary:"פעולה זו תנקה את כל הספריה שלך. אתה בטוח?",removeItemsFromsLibrary:"מחק {{count}} פריט(ים) מהספריה?",invalidEncryptionKey:"מפתח ההצפנה חייב להיות בן 22 תוים. השיתוף החי מנוטרל.",collabOfflineWarning:`אין חיבור זמין לאינטרנט.
השינויים שלך לא ישמרו!`},rRu={unsupportedFileType:"סוג הקובץ אינו נתמך.",imageInsertError:"לא ניתן היה להוסיף את התמונה. אנא נסה שוב מאוחר יותר...",fileTooBig:"הקובץ גדול מדי. הגודל המירבי המותר הינו {{maxSize}}.",svgImageInsertError:"לא ניתן היה להוסיף את תמונת ה-SVG. הסימונים בתוך קובץ ה-SVG עשויים להיות שגויים.",failedToFetchImage:"",invalidSVGString:"SVG שגוי.",cannotResolveCollabServer:"לא הצלחתי להתחבר לשרת השיתוף. אנא רענן את הדף ונסה שוב.",importLibraryError:"לא ניתן היה לטעון את הספריה",collabSaveFailed:"לא הצלחתי להתחבר למסד הנתונים האחורי. אם הבעיה ממשיכה, כדאי שתשמור את הקובץ מקומית כדי לוודא שלא תאבד את העבודה שלך.",collabSaveFailed_sizeExceeded:"לא הצלחתי לשמור למסד הנתונים האחורי, נראה שהקנבס שלך גדול מדי. כדאי שתשמור את הקובץ מקומית כדי לוודא שלא תאבד את העבודה שלך.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},gRu={selection:"בחירה",image:"הוספת תמונה",rectangle:"מלבן",diamond:"יהלום",ellipse:"אליפסה",arrow:"חץ",line:"קו",freedraw:"צייר",text:"טקסט",library:"ספריה",lock:"השאר את הכלי הנבחר פעיל גם לאחר סיום הציור",penMode:"מצב עט - מנע נגיעה",link:"הוספה/עדכון קישור של הצורה שנבחרה",eraser:"מחק",frame:"",magicframe:"",embeddable:"",laser:"",hand:"יד (כלי הזזה)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},cRu={canvasActions:"פעולות קנבאס",selectedShapeActions:"פעולות על הצורות שנבחרו",shapes:"צורות"},_Ru={canvasPanning:"כדי להזיז את הקנבס, החזק את גלגל העכבר לחוץ או את מקש הרווח לחוץ תוך כדי גרירה, או השתמש בכלי היד",linearElement:"לחץ להתחלת מספר נקודות, גרור לקו יחיד",freeDraw:"לחץ וגרור, שחרר כשסיימת",text:"טיפ: אפשר להוסיף טקסט על ידי לחיצה כפולה בכל מקום עם כלי הבחירה",embeddable:"",text_selected:"לחץ לחיצה כפולה או הקש על אנטר לעריכת הטקסט",text_editing:"כדי לסיים את העריכה לחץ על מקש Escape או על Ctrl (Cmd במחשבי אפל) ומקש Enter",linearElementMulti:"הקלק על הנקודה האחרונה או הקש Escape או Enter לסיום",lockAngle:"ניתן להגביל את הזוויות על ידי החזקה של מקש ה- SHIFT",resize:`ניתן להגביל פרופורציות על ידי לחיצה על SHIFT תוך כדי שינוי גודל,
החזק ALT בשביל לשנות גודל ביחס למרכז`,resizeImage:`אתה יכול לשנות את הגודל בחופשיות על ידי החזקת מקש SHIFT,
החזק את מקש ALT כדי לבצע שינוי גודל מהמרכז`,rotate:"ניתן להגביל זוויות על ידי לחיצה על SHIFT תוך כדי סיבוב",lineEditor_info:"החזק Ctrl / Cmd ובצע לחיצה כפולה או לחץ Ctrl / Cmd + Enter לעריכת נקודות",lineEditor_pointSelected:`לחץ Delete למחיקת נקודה/ות,
Ctrl / Cmd + D לשכפול, או גרור להזזה`,lineEditor_nothingSelected:`בחר נקודה כדי לערוך (החזק SHIFT לבחירת כמה),
או החזק Alt והקלק להוספת נקודות חדשות`,placeImage:"הקלק להנחת התמונה, או הקלק וגרור להגדרת הגודל שלו ידנית",publishLibrary:"פרסם ספריה משלך",bindTextToElement:"הקש Enter כדי להוספת טקסט",deepBoxSelect:"החזק Ctrl / Cmd לבחירה עמוקה ולמניעת גרירה",eraserRevert:"החזק Alt להחזרת רכיבים מסומנים למחיקה",firefox_clipboard_write:'יכולות זה ניתנת להפעלה על ידי שינוי הדגל של "dom.events.asyncClipboard.clipboardItem" למצב "true". כדי לשנות את הדגל בדפדפן Firefox, בקר בעמוד ״about:config״.',disableSnapping:""},pRu={cannotShowPreview:"לא ניתן להראות תצוגה מקדימה",canvasTooBig:"הקנבס עלול להיות גדול מדי.",canvasTooBigTip:"טיפ: נסה להזיז את הרכיבים הרחוקים ביותר מעט קרוב יותר האחד לשני."},nRu={headingMain:"",clearCanvasMessage:"אם טעינה מחדש לא עובדת, נסה ",clearCanvasCaveat:" זה יגרום לאובדן העבודה ",trackedToSentry:"",openIssueMessage:"",sceneContent:"תוכן הקנבאס:"},dRu={desc_intro:"אתה יכול להזמין אנשים לקנבאס הנוכחי שלך לעבודה משותפת.",desc_privacy:"אל דאגה, השיתוף מוצפן מקצה לקצה, כך שכל מה שתצייר ישאר פרטי. אפילו השרתים שלנו לא יוכלו לראות את מה שאתה ממציא.",button_startSession:"התחל שיתוף",button_stopSession:"הפסק שיתוף",desc_inProgressIntro:"שיתוף חי פעיל כרגע.",desc_shareLink:"שתף את הקישור עם כל מי שאתה מעוניין לעבוד אתו:",desc_exitSession:"עצירת השיתוף תנתק אותך מהחדר, אבל עדיין תוכל להמשיך לעבוד על הקנבאס, מקומית. שים לב שזה לא ישפיע על אנשים אחרים, והם עדיין יוכלו לבצע שיתוף עם הגרסה שלהם.",shareTitle:"הצטרף לשיתוף לעבודה משותפת חיה, בזמן אמת, על גבי Excalidraw"},sRu={title:"שגיאה"},oRu={disk_title:"שמור לכונן",disk_details:"ייצא מידע של הקנבאס לקובץ שתוכל לייבא אחר כך.",disk_button:"שמירה לקובץ",link_title:"קבל קישור לשיתוף",link_details:"ייצוא כקישור לקריאה בלבד.",link_button:"ייצוא לקישור",excalidrawplus_description:"שמור את הקנבאס לסביבת העבודה שלך ב- +Excalidraw.",excalidrawplus_button:"ייצוא",excalidrawplus_exportError:"לא הצלחתי לייצא ל- +Excalidraw כרגע..."},tRu={blog:"קרא את הבלוג שלנו",click:"קליק",deepSelect:"בחירה עמוקה",deepBoxSelect:"בחירה עמוקה בתוך קופסה ומניעת גרירה",curvedArrow:"חץ מעוגל",curvedLine:"קו מעוגל",documentation:"תיעוד",doubleClick:"לחיצה כפולה",drag:"גרור",editor:"עורך",editLineArrowPoints:"",editText:"",github:"מצאת בעיה? דווח",howto:"עקוב אחר המדריכים שלנו",or:"או",preventBinding:"למנוע נעיצת חיצים",tools:"כלים",shortcuts:"קיצורי מקלדת",textFinish:"סיים עריכה (עורך טקסט)",textNewLine:"הוסף שורה חדשה (עורך טקסט)",title:"עזרה",view:"תצוגה",zoomToFit:"זום להתאמת כל האלמנטים למסך",zoomToSelection:"התמקד בבחירה",toggleElementLock:"נעילה/ביטול הנעילה של הרכיבים הנבחרים",movePageUpDown:"זוז עמוד למעלה/למטה",movePageLeftRight:"זוז עמוד שמאלה/ימינה"},eRu={title:"ניקוי הקנבס"},uTu={title:"פרסם ספריה",itemName:"שם הפריט",authorName:"שם היוצר",githubUsername:"שם המשתמש שלך ב-GitHub",twitterUsername:"שם המשתמש שלך ב-Twitter",libraryName:"שם הספריה",libraryDesc:"תיאור הספריה",website:"אתר",placeholder:{authorName:"שמך או שם המשתמש שלך",libraryName:"תנו שם לספריה",libraryDesc:"תיאור של הספריה שלך כדי לסייע למשתמשים להבין את השימוש בה",githubHandle:"כינוי GitHub (לא חובה), כדי שתוכל לערוך את הספרית לאחר שנשלחה לבדיקה",twitterHandle:"שם משתמש טוויטר (לא חובה), כדי שנדע למי לתת קרדיט כשאנחנו מפרסמים בטוויטר",website:"קישור לאתר הפרטי שלך או לכל מקום אחר (אופציונאלי)"},errors:{required:"נדרש",website:"הזינו כתובת URL תקינה"},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"לכל פריט בסיפריה חייב להיות שם כדי שאפשר יהיה לסנן. הפריטי סיפריה הבאים יהיו כלולים:",atleastOneLibItem:"אנא בחר לפחות פריט אחד מספריה כדי להתחיל",republishWarning:"הערה: חלק מהפריטים שבחרת מסומנים ככאלו שכבר פורסמו/נשלחו. אתה צריך לשלוח פריטים מחדש כאשר אתה מעדכן ספריה או הגשה קיימים."},BTu={title:"הספריה הוגשה",content:"תודה {{authorName}}. הספריה שלך נשלחה לבחינה. תוכל לעקוב אחרי סטטוס הפרסום"},ETu={resetLibrary:"איפוס ספריה",removeItemsFromLib:"הסר את הפריטים הנבחרים מהספריה"},ATu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},CTu={tooltip:"הציורים שלך מוצפנים מקצה לקצה כך שהשרתים של Excalidraw לא יראו אותם לעולם.",link:"פוסט בבלוג על הצפנה מקצה לקצב ב-Excalidraw"},DTu={angle:"זווית",element:"רכיב",elements:"רכיבים",height:"גובה",scene:"תצוגה",selected:"נבחר",storage:"אחסון",title:"סטטיסטיקות לחנונים",total:"סה״כ",version:"גרסה",versionCopy:"לחץ להעתקה",versionNotAvailable:"הגרסה אינה זמינה",width:"רוחב"},FTu={addedToLibrary:"נוסף לספריה",copyStyles:"סגנונות הועתקו.",copyToClipboard:"הועתק ללוח.",copyToClipboardAsPng:`{{exportSelection}} הועתקה ללוח כ-PNG
({{exportColorScheme}})`,fileSaved:"קובץ נשמר.",fileSavedToFilename:"נשמר לקובץ {filename}",canvas:"קנבאס",selection:"בחירה",pasteAsSingleElement:`השתמש ב- {{shortcut}} כדי להדביק כפריט יחיד,
או הדבק לתוך עורך טקסט קיים`,unableToEmbed:"",unrecognizedLinkFormat:""},UTu={transparent:"שקוף",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},zTu={app:{center_heading:"כל המידע שלח נשמר מקומית בדפדפן.",center_heading_plus:"אתה רוצה ללכת אל Excalidraw+ במקום?",menuHint:"ייצוא, העדפות, שפות, ..."},defaults:{menuHint:"ייצוא, העדפות, ועוד...",center_heading:"איורים. נעשים. פשוטים.",toolbarHint:"בחר כלי & והתחל לצייר!",helpHint:"קיצורים & עזרה"}},kTu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},fTu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},MTu={title:"",button:"",description:"",syntax:"",preview:""},Bf3={labels:aRu,library:mRu,buttons:$Ru,alerts:yRu,errors:rRu,toolBar:gRu,headings:cRu,hints:_Ru,canvasError:pRu,errorSplash:nRu,roomDialog:dRu,errorDialog:sRu,exportDialog:oRu,helpDialog:tRu,clearCanvasDialog:eRu,publishDialog:uTu,publishSuccessDialog:BTu,confirmDialog:ETu,imageExportDialog:ATu,encrypted:CTu,stats:DTu,toast:FTu,colors:UTu,welcomeScreen:zTu,colorPicker:kTu,overwriteConfirm:fTu,mermaid:MTu}});var $Tu={};ju($Tu,{welcomeScreen:()=>hTu,toolBar:()=>HTu,toast:()=>NTu,stats:()=>jTu,roomDialog:()=>vTu,publishSuccessDialog:()=>TTu,publishDialog:()=>RTu,overwriteConfirm:()=>aTu,mermaid:()=>mTu,library:()=>KTu,labels:()=>JTu,imageExportDialog:()=>ITu,hints:()=>lTu,helpDialog:()=>STu,headings:()=>qTu,exportDialog:()=>WTu,errors:()=>GTu,errorSplash:()=>XTu,errorDialog:()=>xTu,encrypted:()=>PTu,default:()=>Ef3,confirmDialog:()=>OTu,colors:()=>VTu,colorPicker:()=>iTu,clearCanvasDialog:()=>YTu,canvasError:()=>LTu,buttons:()=>wTu,alerts:()=>QTu});var JTu,KTu,wTu,QTu,GTu,HTu,qTu,lTu,LTu,XTu,vTu,xTu,WTu,STu,YTu,RTu,TTu,OTu,ITu,PTu,jTu,NTu,VTu,hTu,iTu,aTu,mTu,Ef3;var yTu=g(()=>{m4();JTu={paste:"चिपकाएँ",pasteAsPlaintext:"सादे पाठ के रूप में चिपकाएं",pasteCharts:"चार्ट चिपकाएँ",selectAll:"सभी चुनें",multiSelect:"आकार को चयन में जोड़ें",moveCanvas:"कैनवास को स्थानांतरित करें",cut:"काटें",copy:"प्रतिलिपि",copyAsPng:"क्लिपबोर्ड पर कॉपी करें ,पीएनजी के रूप में",copyAsSvg:"क्लिपबोर्ड पर कॉपी करें,एसवीजी के रूप में",copyText:"लेखन के रूप में पटल पर कॉपी करें",copySource:"स्त्रोत को प्रति-फलक पे प्रतिलिपित करे.",convertToCode:"सांकेतिक लिपि में परिवर्तित करे",bringForward:"सामने लाएं",sendToBack:"पीछे भेजें",bringToFront:"सामने लाएँ",sendBackward:"पीचे भीजे",delete:"मिटाए",copyStyles:"कॉपी स्टाइल",pasteStyles:"स्टाइल पेस्ट करें",stroke:"रेखा",background:"पृष्ठभूमि",fill:"भरें",strokeWidth:"रेखा की चौड़ाई",strokeStyle:"स्ट्रोक का आकार",strokeStyle_solid:"ठोस",strokeStyle_dashed:"डैश",strokeStyle_dotted:"बिंदीदार",sloppiness:"बेढ़ंगापन",opacity:"अपारदर्शिता",textAlign:"टेक्स्ट संरेखन",edges:"किनारा",sharp:"नुकीला",round:"गोल",arrowheads:"तीर शीर्ष",arrowhead_none:"कोई भी नहीं",arrowhead_arrow:"तीर",arrowhead_bar:"बार",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"त्रिकोण",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"फ़ॉन्ट का आकार",fontFamily:"फ़ॉन्ट का परिवार",addWatermark:'ऐड "मेड विथ एक्सकैलिडराव"',handDrawn:"हाथ से बनाया हुआ",normal:"साधारण",code:"कोड",small:"छोटा",medium:"मध्यम",large:"बड़ा",veryLarge:"बहुत बड़ा",solid:"दृढ़",hachure:"हैशूर",zigzag:"तेढ़ी मेढ़ी",crossHatch:"क्रॉस हैच",thin:"पतला",bold:"मोटा",left:"बाएं",center:"मध्य",right:"दाएँ",extraBold:"बहुत मोटा",architect:"वास्तुकार",artist:"कलाकार",cartoonist:"व्यंग्य चित्रकार",fileTitle:"फ़ाइल का नाम",colorPicker:"रंग चयन",canvasColors:"कॅनवास पर प्रयोगित",canvasBackground:"कैनवास बैकग्राउंड",drawingCanvas:"कैनवास बना रहे हैं",layers:"परतें",actions:"कार्रवाई",language:"भाषा",liveCollaboration:"जीवंत सहयोग...",duplicateSelection:"डुप्लिकेट",untitled:"अशीर्षित",name:"नाम",yourName:"आपका नाम",madeWithExcalidraw:"मेड विथ एक्सकैलिडराव",group:"समूह चयन",ungroup:"समूह चयन असमूहीकृत करें",collaborators:"सहयोगी",showGrid:"ग्रिड दिखाएं",addToLibrary:"लाइब्रेरी से जोड़ें",removeFromLibrary:"लाइब्रेरी से निकालें",libraryLoadingMessage:"लाइब्रेरी खुल रही है",libraries:"लाइब्रेरी ब्राउज़ करें",loadingScene:"दृश्य खुल रहा है",align:"संरेखित करें",alignTop:"ऊपर संरेखित करें",alignBottom:"नीचे संरेखित करें",alignLeft:"बायें संरेखित करें",alignRight:"दायें संरेखित करें",centerVertically:"लंबवत केन्द्रित",centerHorizontally:"क्षैतिज केन्द्रित",distributeHorizontally:"क्षैतिज रूप से वितरित करें",distributeVertically:"खड़ी रूप से वितरित करें",flipHorizontal:"दायें बायें पलटे",flipVertical:"ऊपर नीचे पलटे",viewMode:"अलग अलग देखें",share:"शेयर करें",showStroke:"",showBackground:"पृष्ठभूमि रंग वरक़ दिखाये",toggleTheme:"",personalLib:"वैयक्तिक समूहकोष",excalidrawLib:"एक्सकेलीड्रॉ समूहकोष",decreaseFontSize:"आकार घटाइऐ",increaseFontSize:"फ़ॉन्ट आकार बढ़ाएँ",unbindText:"लिपि को बंधमुक्त करें",bindText:"लेखन को कोश से जोड़े",createContainerFromText:"मूलपाठ कंटेनर में मोड के दिखाए",link:{edit:"कड़ी संपादित करे",editEmbed:"",create:"",createEmbed:"",label:"",labelEmbed:"",empty:""},lineEditor:{edit:"रेखा संपादित करे",exit:"रेखा संपादक के बाहर"},elementLock:{lock:"ताले में रखें",unlock:"ताले से बाहर",lockAll:"सब ताले के अंदर रखे",unlockAll:"सब ताले के बाहर निकाले"},statusPublished:"प्रकाशित",sidebarLock:"साइडबार खुला रखे.",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"चित्रफलक से रंग चुने",textToDiagram:"",prompt:""},KTu={noItems:"अभी तक कोई आइटम जोडा नहीं गया.",hint_emptyLibrary:"यहाँ जोड़ने के लिए पटल से एक वस्तु चुने, अथवा जन कोष से एक संग्रह नीचे स्थापित करें.",hint_emptyPrivateLibrary:"यहाँ जोड़ने के लिए पटल से एक वस्तु चुने."},wTu={clearReset:"कैनवास रीसेट करें",exportJSON:"",exportImage:"प्रतिमा निर्यात करे...",export:"यंहा सुरक्षित करे...",copyToClipboard:"क्लिपबोर्ड पर प्रतिलिपि बनाएँ",save:"",saveAs:"सेव करे इस तरह",load:"खोलें",getShareableLink:"साझा करने योग्य लिंक प्राप्त करें",close:"बंद करें",selectLanguage:"भाषा चुनें",scrollBackToContent:"सामग्री पर वापस स्क्रॉल करें",zoomIn:"बड़ा करें",zoomOut:"छोटा करें",resetZoom:"ज़ूम रीसेट करें",menu:"मेन्यू",done:"समाप्त",edit:"संशोधन करें",undo:"पूर्ववत् करें",redo:"फिर से करें",resetLibrary:"",createNewRoom:"एक नया कमरा बनाएं",fullScreen:"पूरी स्क्रीन",darkMode:"डार्क मोड",lightMode:"लाइट मोड",zenMode:"ज़ेन मोड",objectsSnapMode:"वस्तुओं से पकड़े",exitZenMode:"जेन मोड से बाहर निकलें",cancel:"",clear:"साफ़ करे",remove:"हटाएं",embed:"",publishLibrary:"प्रकाशित करें",submit:"प्रस्तुत करे",confirm:"पुष्टि करें",embeddableInteractionButton:""},QTu={clearReset:"इससे पूरा कैनवास साफ हो जाएगा। क्या आपको यकीन है?",couldNotCreateShareableLink:"साझा करने योग्य लिंक नहीं बनाया जा सका।",couldNotCreateShareableLinkTooBig:"लिंक शेयर नहीं कर सकता: दृश्य बहुत बड़ा",couldNotLoadInvalidFile:"अमान्य फ़ाइल लोड नहीं की जा सकी",importBackendFailed:"बैकएंड से आयात करना विफल रहा।",cannotExportEmptyCanvas:"खाली कैनवास निर्यात नहीं कर सकता।",couldNotCopyToClipboard:"क्लिपबोर्ड पर कॉपी नहीं किया जा सका",decryptFailed:"डेटा को डिक्रिप्ट नहीं किया जा सका।",uploadedSecurly:"अपलोड को एंड-टू-एंड एन्क्रिप्शन के साथ सुरक्षित किया गया है, जिसका मतलब है कि एक्सक्लूसिव सर्वर और थर्ड पार्टी कंटेंट नहीं पढ़ सकते हैं।",loadSceneOverridePrompt:"लोड हो रहा है बाहरी ड्राइंग आपके मौजूदा सामग्री को बदल देगा। क्या आप जारी रखना चाहते हैं?",collabStopOverridePrompt:"चालू सत्र समाप्ति से आपका संग्रहित पूर्व स्थानीय अधिलेखन नष्ट होकर पुनः अधिलेखित होगा, क्या आपको यक़ीन हैं? ( यदी आपको पूर्व स्थापित अधिलेखन सुरक्षित चाहिये तो बस ब्राउज़र टैब बंद करे)",errorAddingToLibrary:"संग्रह में जोडा न जा सका",errorRemovingFromLibrary:"संग्रह से हटाया नहीं जा सका",confirmAddLibrary:"लाइब्रेरी जोड़ें पुष्‍टि करें आकार संख्या",imageDoesNotContainScene:"ऐसा लगता है कि इस छवि में कोई दृश्य डेटा नहीं है। क्या आपने निर्यात के दौरान दृश्य एम्बेडिंग अनुमतित की है?",cannotRestoreFromImage:"छवि फ़ाइल बहाल दृश्य नहीं है",invalidSceneUrl:"दिये गये युआरेल से दृश्य आयात नहीं किया जा सका. यह या तो अनुचित है, या इसमें उचित Excalidraw JSON डेटा नहीं है।",resetLibrary:"यह पूरा संग्रह रिक्त करेगा. क्या आपको यक़ीन हैं?",removeItemsFromsLibrary:"{{count}} वस्तु(यें) संग्रह से हटायें?",invalidEncryptionKey:"कूटलेखन कुंजी 22 अक्षरों की होनी चाहिये, इसलिये जीवंत सहयोग अक्षम हैं",collabOfflineWarning:`कोई इंटरनेट कनेक्शन उपलब्ध नहीं है।
आपके बदलाव सहेजे नहीं जाएंगे!`},GTu={unsupportedFileType:"असमर्थित फाइल प्रकार",imageInsertError:"छवि सम्मिलित नहीं की जा सकी. पुनः प्रयत्न करे...",fileTooBig:"फ़ाइल ज़रूरत से ज़्यादा बड़ी हैं. अधिकतम अनुमित परिमाण {{maxSize}} हैं",svgImageInsertError:"एसवीजी छवि सम्मिलित नहीं कर सके, एसवीजी रचना अनुचित हैं",failedToFetchImage:"",invalidSVGString:"अनुचित SVG",cannotResolveCollabServer:"कॉलेब सर्वर से कनेक्शन नहीं हो पा रहा. कृपया पृष्ठ को पुनः लाने का प्रयास करे.",importLibraryError:"संग्रह प्रतिष्ठापित नहीं किया जा सका",collabSaveFailed:"किसी कारण वश अंदरूनी डेटाबेस में सहेजा नहीं जा सका। यदि समस्या बनी रहती है, तो किये काम को खोने न देने के लिये अपनी फ़ाइल को स्थानीय रूप से सहेजे।",collabSaveFailed_sizeExceeded:"लगता है कि पृष्ठ तल काफ़ी बड़ा है, इस्कारण अंदरूनी डेटाबेस में सहेजा नहीं जा सका। किये काम को खोने न देने के लिये अपनी फ़ाइल को स्थानीय रूप से सहेजे।",imageToolNotSupported:"प्रतिमायें अक्षम की गयी हैं",brave_measure_text_error:{line1:"लगता है कि आप Brave ब्राउज़र का उपयोग कर रहे और साथ में <bold>आक्रामक उँगलियो के छाप </bold> का चयन किया हुवा है",line2:"यह आपके चित्रों के <bold>पाठ तत्वों</bold>को खंडित कर सकता हैं",line3:"हमें आपसे ठोस आग्रह है की आप सेट्टिंग में इस विकल्प का चयन ना करे.<link> इस अनुक्रम </link> का पालन करके इसका पता लगा सकते हैं",line4:"यदि इस सेटिंग्स को अक्षम करने पर भी पृष्ठ ठीक नहीं दिखता हो तो, हमारे GitHub पर एक <issueLink>मुद्दा प्रस्तुत</issueLink> करे, या हमें <discordLink>डिस्कोर्ड</discordLink> पर लिखित सम्पर्क करें"},libraryElementTypeError:{embeddable:"",iframe:"आयफ़्रेम तत्व समूहकोष में जोडा नहीं जा सका.",image:""},asyncPasteFailedOnRead:"चिपकाया नहीं जा सका (सिस्टम क्लिपबोर्ड से पढ़ा नहीं जा सका).",asyncPasteFailedOnParse:"चिपकाया नहीं जा सका.",copyToSystemClipboardFailed:"क्लिपबोर्ड पर प्रतिलिपि नहीं बनाई जा सकी."},HTu={selection:"चयन",image:"छवि सम्मिलित करें",rectangle:"आयात",diamond:"तिर्यग्वर्ग",ellipse:"दीर्घवृत्त",arrow:"तीर",line:"रेखा",freedraw:"चित्रांतित करे",text:"पाठ",library:"लाइब्रेरी",lock:"ड्राइंग के बाद चयनित टूल को सक्रिय रखें",penMode:"पेन का मोड - स्पर्श टाले",link:"",eraser:"रबड़",frame:"",magicframe:"तारिक ढाँचें को सांकेतिक लिपि में",embeddable:"",laser:"लेसर टॉर्च",hand:"हाथ ( खिसकाने का औज़ार)",extraTools:"",mermaidToExcalidraw:"मर्मेड से एक्सकाली में",magicSettings:"कृतिम बुद्धिमत्ता सेटिंग्स"},qTu={canvasActions:"कैनवास क्रिया",selectedShapeActions:"चयनित आकृति क्रियाएं",shapes:"आकृतियाँ"},lTu={canvasPanning:"कैनवास को सरकाने के लिए, ड्रैग करते समय माउस व्हील को पकड़े रखे या स्पेसबार को दबाए रखे, अथवा हाथ वाले औज़ार का उपयोग करें",linearElement:"कई बिंदुओं को शुरू करने के लिए क्लिक करें, सिंगल लाइन के लिए खींचें",freeDraw:"क्लिक करें और खींचें। समाप्त करने के लिए, छोड़ो",text:"आप चयन टूल से कहीं भी डबल-क्लिक करके टेक्स्ट जोड़ सकते हैं",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"अंतिम बिंदु पर क्लिक करें या समाप्त होने के लिए एस्केप या एंटर दबाएं",lockAngle:"आप घूर्णन करते समय SHIFT पकड़कर कोणों को मोड़ सकते हैं",resize:`आकार बदलते समय आप SHIFT को पकड़ कर अनुपात में कमी कर सकते हैं,
केंद्र से आकार बदलने के लिए ALT दबाए रखें`,resizeImage:"",rotate:"आप घूर्णन करते समय SHIFT पकड़कर कोणों को विवश कर सकते हैं",lineEditor_info:"बिंदुओं को सम्पादित करने के लिए CtrlOrCmd को दबायें रखते हुये डबल क्लिक करे, अथवा CtrlOrCmd + Enter साथ दबाये",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"मिटाने के लिए चुने हुए चीजों को ना चुनने के लिए Alt साथ में दबाए",firefox_clipboard_write:'"dom.events.asyncClipboard.clipboardItem" फ़्लैग को "true" पर सेट करके इस सुविधा को संभवतः सक्षम किया जा सकता है। Firefox में ब्राउज़र फ़्लैग बदलने के लिए, "about:config" पृष्ठ पर जाएँ।',disableSnapping:"स्नैपिंग को निष्क्रिय करने के लिए CtrlOrCmd दबाए रखें"},LTu={cannotShowPreview:"पूर्वावलोकन नहीं दिखा सकते हैं",canvasTooBig:"कैनवास बहुत बड़ा",canvasTooBigTip:"कैनवास बहुत बड़ा टिप"},XTu={headingMain:"एक त्रुटि का सामना करना पड़ा। प्रयत्न <button>इस पृष्ठ को पुनः लोड करें</button>",clearCanvasMessage:"यदि पुनः लोड करना काम नहीं करता है, तो प्रयास करें <button>कैनवास साफ करना।</button>",clearCanvasCaveat:" इससे काम का नुकसान होगा ",trackedToSentry:"पहचानकर्ता के साथ त्रुटि {{eventId}} हमारे सिस्टम पर नज़र रखी गई थी।",openIssueMessage:"हम बहुत सतर्क थे कि त्रुटि पर आपकी दृश्य जानकारी शामिल न करें। यदि आपका दृश्य निजी नहीं है, तो कृपया हमारे बारे में विचार करें <button>बग ट्रैकर</button> कृपया GitHub मुद्दे को कॉपी और पेस्ट करके नीचे दी गई जानकारी शामिल करें।",sceneContent:"दृश्य सामग्री:"},vTu={desc_intro:"आप अपने वर्तमान दृश्य के लोगों को अपने साथ सहयोग करने के लिए आमंत्रित कर सकते हैं।",desc_privacy:"चिंता न करें, सत्र अंत-से-अंत एन्क्रिप्शन का उपयोग करता है, इसलिए आप जो भी ड्रा करेंगे वह निजी रहेगा। यहां तक कि हमारा सर्वर भी नहीं देख पाएगा कि आप क्या कर रहे हैं।",button_startSession:"सत्र प्रारंभ करें",button_stopSession:"सत्र रुकें",desc_inProgressIntro:"लाइव सहयोग सत्र अब जारी है।",desc_shareLink:"इस लिंक को आप जिस किसी के साथ भी सहयोग करना चाहते हैं, उसके साथ साझा करें",desc_exitSession:"सत्र रोकना आपको रूम से बाहर कर देगा, लेकिन आप स्थानीय स्तर पर दृश्य के साथ काम करना जारी रख पाएंगे। ध्यान दें कि यह अन्य लोगों को प्रभावित नहीं करेगा, और वे अभी भी अपने संस्करण पर सहयोग करने में सक्षम होंगे।",shareTitle:""},xTu={title:"गलती"},WTu={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},STu={blog:"हमारा ब्लॉग पढे",click:"क्लिक करें",deepSelect:"",deepBoxSelect:"",curvedArrow:"वक्र तीर",curvedLine:"वक्र रेखा",documentation:"",doubleClick:"",drag:"खींचें",editor:"संपादक",editLineArrowPoints:"रेखा/तीर बिंदु सम्पादित करे",editText:"पाठ्य सम्पादित करे/ लेबल जोड़े",github:"मुद्दा मिला? प्रस्तुत करें",howto:"हमारे गाइड का पालन करें",or:"या",preventBinding:"तीर बंधन रोकें",tools:"औज़ार",shortcuts:"कीबोर्ड के शॉर्टकट्स",textFinish:"",textNewLine:"",title:"मदद",view:"दृश्य",zoomToFit:"सभी तत्वों को फिट करने के लिए ज़ूम करें",zoomToSelection:"चयन तक ज़ूम करे",toggleElementLock:"ताले के अंदर/बाहर चुनाव",movePageUpDown:"पृष्ठ ऊपर/नीचे करे",movePageLeftRight:"पृष्ठ बायी/दायी तरफ करे"},YTu={title:""},RTu={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:"मान्य URL प्रविष्ट करें"},noteDescription:"संग्रह सम्मिलित करने हेतु प्रस्तुत करें <link>सार्वजनिक संग्रहालय</link>अन्य वक्तियों को उनके चित्रकारी में उपयोग के लिये",noteGuidelines:"संग्रह को पहले स्वीकृति आवश्यक कृपया यह पढ़ें <link>दिशा-निर्देश</link>",noteLicense:"जमा करके, आप सहमत हैं कि संग्रहण को <link>MIT लाइसेंस</link> के तहत प्रकाशित किया जाएगा, जिसका संक्षिप्त अर्थ है कि कोई भी बिना किसी प्रतिबंध के उनका उपयोग कर सकता है।",noteItems:"",atleastOneLibItem:"",republishWarning:"टिप्पणी: कुछ चुने हुवे आइटम पहले ही प्रकाशित/प्रस्तुत किए जा चुके हैं। किसी प्रकाशित संग्रह को अद्यतन करते समय या पहले से प्रस्तुत आइटम को पुन्हा प्रस्तुत करते समय, आप बस उसे केवल अद्यतन करें ।"},TTu={title:"",content:"{{authorName}} धन्यवाद. आपका संग्रहण समीक्षा के लिए दर्ज हो चुका है. समीक्षा स्थिति <link>यहाँ</link>जान सकते हैं."},OTu={resetLibrary:"",removeItemsFromLib:""},ITu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},PTu={tooltip:"आपके चित्र अंत-से-अंत एन्क्रिप्टेड हैं, इसलिए एक्सक्लूसिव्रॉव के सर्वर उन्हें कभी नहीं देखेंगे।",link:""},jTu={angle:"कोण",element:"एलिमेंट",elements:"एलिमेंट",height:"ऊंचाई",scene:"दृश्य",selected:"चयनित",storage:"संग्रह",title:"बेवकूफ के लिए आँकड़े",total:"कुल",version:"संस्करण",versionCopy:"काॅपी करने के लिए क्लिक करें",versionNotAvailable:"संस्करण उपलब्ध नहीं है",width:"चौड़ाई"},NTu={addedToLibrary:"",copyStyles:"काॅपी कीए स्टाइल",copyToClipboard:"क्लिपबोर्ड में कॉपी कीए",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:`एक अवयव के रूप में चिपकाने के लिए {{shortcut}} का उपयोग करें,
या किसी मौजूदा पाठ संपादक में चिपकायें`,unableToEmbed:"",unrecognizedLinkFormat:""},VTu={transparent:"",black:"काला",white:"सफ़ेद",red:"लाल",pink:"गुलाबी",grape:"अंगूरी",violet:"जामुनी",gray:"गहरा",blue:"नीला",cyan:"आसमानी",teal:"हरा-नीला",green:"हरा",yellow:"पीला",orange:"नारंगी",bronze:"कांस्य"},hTu={app:{center_heading:"आपका सर्व डेटा ब्राउज़र के भीतर स्थानिक जगह पे सुरक्षित किया गया.",center_heading_plus:"बजाय आपको Excalidraw+ पर जाना है?",menuHint:"निर्यात, पसंद, भाषायें, ..."},defaults:{menuHint:"निर्यात, पसंद, और भी...",center_heading:"चित्रांकन। बनाया गया। सरल।",toolbarHint:"एक औजार चुने और चित्रकारी प्रारंभ करे!",helpHint:"शॉर्ट्कट और सहाय्य"}},iTu={mostUsedCustomColors:"अधिकांश उपयोगित रंग",colors:"रंग",shades:"छाया",hexCode:"हेक्स कोड",noShades:"इस रंग की कोई छाया उपलब्ध नहीं हैं"},aTu={action:{exportToImage:{title:"छवि स्वरूप में निर्यात करे",button:"छवि स्वरूप निर्यात करे",description:"दृष्य डेटा छवि स्वरूप में निर्यात करे, उस स्वरूप से आप उसे पुनः आयात कर सकते हो"},saveToDisk:{title:"डिस्क में सम्हाले",button:"डिस्क में सम्हाले",description:"दृष्य डेटा बाहरी फ़ाइल में निर्यात करे, जहाँसे आप उसे पुनः आयात कर सकते हो"},excalidrawPlus:{title:"एक्षकालीड्रॉ+",button:"एक्षकालीड्रॉ+ में निर्यात करे",description:"दृष्य को आपके एक्षकालीड्रॉ+ के कर्यस्थल में सम्हाले"}},modal:{loadFromFile:{title:"फ़ाइल से लोड करें:",button:"फ़ाइल से लोड करें:",description:"फ़ाइल से लोड करने पर <bold>यह आपके कार्य की जगह लेलेगा </bold><br></br>आपकी ड्रॉइंग निम्न दर्शित विकल्पो में से एक चुनके और उपयोग करके सम्हाल सकते हैं"},shareableLink:{title:"लिंक से लोड करें:",button:"इस जगह प्रतिस्थापित करे",description:"बाहर का चित्र लोड करने पर <bold>यह आपके कार्य की जगह लेलेगा </bold><br></br>आप आपकी ड्रॉइंग पहले निम्न दर्शित विकल्पो में से एक चुनके और उपयोग करके सम्हाल सकते हों."}}},mTu={title:"मर्मेड से एक्सकाली में",button:"अंदर डाले",description:"",syntax:"मर्मेड संरचना नियम",preview:"पूर्वावलोकन"},Ef3={labels:JTu,library:KTu,buttons:wTu,alerts:QTu,errors:GTu,toolBar:HTu,headings:qTu,hints:lTu,canvasError:LTu,errorSplash:XTu,roomDialog:vTu,errorDialog:xTu,exportDialog:WTu,helpDialog:STu,clearCanvasDialog:YTu,publishDialog:RTu,publishSuccessDialog:TTu,confirmDialog:OTu,imageExportDialog:ITu,encrypted:PTu,stats:jTu,toast:NTu,colors:VTu,welcomeScreen:hTu,colorPicker:iTu,overwriteConfirm:aTu,mermaid:mTu}});var wOu={};ju(wOu,{welcomeScreen:()=>bOu,toolBar:()=>nTu,toast:()=>fOu,stats:()=>kOu,roomDialog:()=>eTu,publishSuccessDialog:()=>DOu,publishDialog:()=>COu,overwriteConfirm:()=>JOu,mermaid:()=>KOu,library:()=>gTu,labels:()=>rTu,imageExportDialog:()=>UOu,hints:()=>sTu,helpDialog:()=>EOu,headings:()=>dTu,exportDialog:()=>BOu,errors:()=>pTu,errorSplash:()=>tTu,errorDialog:()=>uOu,encrypted:()=>zOu,default:()=>Af3,confirmDialog:()=>FOu,colors:()=>MOu,colorPicker:()=>ZOu,clearCanvasDialog:()=>AOu,canvasError:()=>oTu,buttons:()=>cTu,alerts:()=>_Tu});var rTu,gTu,cTu,_Tu,pTu,nTu,dTu,sTu,oTu,tTu,eTu,uOu,BOu,EOu,AOu,COu,DOu,FOu,UOu,zOu,kOu,fOu,MOu,bOu,ZOu,JOu,KOu,Af3;var QOu=g(()=>{m4();rTu={paste:"Beillesztés",pasteAsPlaintext:"Beillesztés formázatlan szövegként",pasteCharts:"Grafikon beillesztése",selectAll:"Összes kijelölése",multiSelect:"Elem hozzáadása a kijelöléshez",moveCanvas:"Vászon mozgatása",cut:"Kivágás",copy:"Másolás",copyAsPng:"Vágólapra másolás mint PNG",copyAsSvg:"Vágólapra másolás mint SVG",copyText:"Vágólapra másolás szövegként",copySource:"",convertToCode:"",bringForward:"Előrébb hozás",sendToBack:"Hátraküldés",bringToFront:"Előrehozás",sendBackward:"Hátrébb küldés",delete:"Törlés",copyStyles:"Stílus másolása",pasteStyles:"Stílus beillesztése",stroke:"Körvonal",background:"Háttér",fill:"Kitöltés",strokeWidth:"Körvonal vastagsága",strokeStyle:"Körvonal stílusa",strokeStyle_solid:"Kitöltött",strokeStyle_dashed:"Szaggatott",strokeStyle_dotted:"Pontozott",sloppiness:"Stílus",opacity:"Áttetszőség",textAlign:"Szöveg igazítása",edges:"Szélek",sharp:"Éles",round:"Kerek",arrowheads:"Nyílhegyek",arrowhead_none:"Nincs",arrowhead_arrow:"Nyíl",arrowhead_bar:"Oszlop",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Háromszög",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Betűméret",fontFamily:"Betűkészlet család",addWatermark:'Add hozzá, hogy "Excalidraw-val készült"',handDrawn:"Kézzel rajzolt",normal:"Normál",code:"Kód",small:"Kicsi",medium:"Közepes",large:"Nagy",veryLarge:"Nagyon nagy",solid:"Kitöltött",hachure:"Vonalkázott",zigzag:"Cikkcakk",crossHatch:"Keresztcsíkozott",thin:"Vékony",bold:"Félkövér",left:"Bal",center:"Közép",right:"Jobb",extraBold:"Extra Félkövér",architect:"Tervezői",artist:"Művészi",cartoonist:"Karikatúrás",fileTitle:"Fájlnév",colorPicker:"Színválasztó",canvasColors:"Rajzvászonon használt",canvasBackground:"Vászon háttérszíne",drawingCanvas:"Rajzvászon",layers:"Rétegek",actions:"Műveletek",language:"Nyelv",liveCollaboration:"Élő együttműködés...",duplicateSelection:"Duplikálás",untitled:"Névtelen",name:"Név",yourName:"Neved",madeWithExcalidraw:"Excalidraw-val készült",group:"Csoportosítás",ungroup:"Csoportbontás",collaborators:"Közreműködők",showGrid:"Rács megjelenítése",addToLibrary:"Hozzáadás a könyvtárhoz",removeFromLibrary:"Eltávólítás a könyvtárból",libraryLoadingMessage:"Könyvtár betöltése…",libraries:"Könyvtárak böngészése",loadingScene:"Jelenet betöltése…",align:"Igazítás",alignTop:"Felülre igazítás",alignBottom:"Alulra igazítás",alignLeft:"Balra igazítás",alignRight:"Jobbra igazítás",centerVertically:"Függőlegesen középre igazított",centerHorizontally:"Vízszintesen középre igazított",distributeHorizontally:"Vízszintes elosztás",distributeVertically:"Függőleges elosztás",flipHorizontal:"Vízszintes tükrözés",flipVertical:"Függőleges tükrözés",viewMode:"Nézet",share:"Megosztás",showStroke:"Körvonal színválasztó megjelenítése",showBackground:"Háttérszín-választó megjelenítése",toggleTheme:"Téma váltása",personalLib:"Személyes könyvtár",excalidrawLib:"Excalidraw könyvtár",decreaseFontSize:"Betűméret csökkentése",increaseFontSize:"Betűméret növelése",unbindText:"Szövegkötés feloldása",bindText:"",createContainerFromText:"Szöveg bekeretezése",link:{edit:"Hivatkozás szerkesztése",editEmbed:"Link szerkesztése / beágyazása",create:"Hivatkozás létrehozása",createEmbed:"Link létrehozása / beágyazása",label:"Hivatkozás",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"Rögzítés",unlock:"Rögzítés feloldása",lockAll:"Összes rögzítése",unlockAll:"Összes feloldása"},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},gTu={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},cTu={clearReset:"Vászon törlése",exportJSON:"Exportálás fájlba",exportImage:"Kép exportálása...",export:"Mentés másként...",copyToClipboard:"Vágólapra másolás",save:"Mentés az aktuális fájlba",saveAs:"Mentés másként",load:"Megnyitás",getShareableLink:"Megosztható link létrehozása",close:"Bezárás",selectLanguage:"Nyelv kiválasztása",scrollBackToContent:"Visszagörgetés a tartalomhoz",zoomIn:"Nagyítás",zoomOut:"Kicsinyítés",resetZoom:"Nagyítás alaphelyzetbe",menu:"Menü",done:"Kész",edit:"Szerkesztés",undo:"Vissza",redo:"Újra",resetLibrary:"Könyvtár alaphelyzetbe állítása",createNewRoom:"Új szoba létrehozása",fullScreen:"Teljes képernyő",darkMode:"Sötét mód",lightMode:"Világos mód",zenMode:"Letisztult mód",objectsSnapMode:"",exitZenMode:"Kilépés a letisztult módból",cancel:"Mégsem",clear:"Kiűrítés",remove:"Eltávolítás",embed:"",publishLibrary:"Közzététel",submit:"Elküldés",confirm:"Megerősítés",embeddableInteractionButton:""},_Tu={clearReset:"Ez a művelet törli a vászont. Biztos benne?",couldNotCreateShareableLink:"Nem sikerült megosztható linket létrehozni.",couldNotCreateShareableLinkTooBig:"Nem sikerült megosztható linket látrehozni: túl nagy a jelenet",couldNotLoadInvalidFile:"Nem sikerült betölteni a helytelen fájlt",importBackendFailed:"Nem sikerült betölteni a szerverről.",cannotExportEmptyCanvas:"Üres vászont nem lehet exportálni.",couldNotCopyToClipboard:"",decryptFailed:"Nem sikerült visszafejteni a titkosított adatot.",uploadedSecurly:"A feltöltést végpontok közötti titkosítással biztosítottuk, ami azt jelenti, hogy egy harmadik fél nem tudja megnézni a tartalmát, beleértve az Excalidraw szervereit is.",loadSceneOverridePrompt:"A betöltött külső rajz felül fogja írnia meglévőt. Szeretnéd folytatni?",collabStopOverridePrompt:`A munkamenet leállítása felül fogja írni az előzőleg helyben tárolt rajzot. Biztosan ezt akarod?
(Ha meg akarod tartani a helyben tárolt rajzot, egyszerűen csak zárd be a böngésző fület)`,errorAddingToLibrary:"A tétel nem addható hozzá a könyvtárhoz",errorRemovingFromLibrary:"A tétel nem távolítható el a könyvtárból",confirmAddLibrary:"Ez a művelet {{numShapes}} formát fog hozzáadni a könyvtáradhoz. Biztos vagy benne?",imageDoesNotContainScene:"Úgy tűnik, hogy ez a kép nem tartalmaz jelenetadatokat. Engedélyezted a jelenetbeágyazást az exportálás során?",cannotRestoreFromImage:"A jelenet visszaállítása nem sikerült ebből a kép fájlból",invalidSceneUrl:"Nem sikerült importálni a jelenetet a megadott URL-ről. Rossz formátumú, vagy nem tartalmaz érvényes Excalidraw JSON-adatokat.",resetLibrary:"Ezzel törlöd a könyvtárát. biztos vagy ebben?",removeItemsFromsLibrary:"{{count}} elemet törölsz a könyvtárból?",invalidEncryptionKey:"A titkosítási kulcsnak 22 karakterből kell állnia. Az élő együttműködés le van tiltva.",collabOfflineWarning:""},pTu={unsupportedFileType:"Nem támogatott fájltípus.",imageInsertError:"Nem sikerült beszúrni a képet. Próbáld újra később...",fileTooBig:"A fájl túl nagy. A megengedett maximális méret {{maxSize}}.",svgImageInsertError:"Nem sikerült beszúrni az SVG-képet. Az SVG szintaktika érvénytelennek tűnik.",failedToFetchImage:"",invalidSVGString:"Érvénytelen SVG.",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},nTu={selection:"Kijelölés",image:"Kép beszúrása",rectangle:"Téglalap",diamond:"Rombusz",ellipse:"Ellipszis",arrow:"Nyíl",line:"Vonal",freedraw:"Rajzolás",text:"Szöveg",library:"Könyvtár",lock:"Rajzolás után az aktív eszközt tartsa kijelölve",penMode:"",link:"Hivatkozás hozzáadása/frissítése a kiválasztott alakzathoz",eraser:"Radír",frame:"",magicframe:"",embeddable:"Weblap beágyazása",laser:"Lézermutató",hand:"",extraTools:"További eszközök",mermaidToExcalidraw:"",magicSettings:""},dTu={canvasActions:"Vászon műveletek",selectedShapeActions:"Kijelölt forma műveletei",shapes:"Alakzatok"},sTu={canvasPanning:"",linearElement:"Kattintással görbe, az eger húzásával pedig egyenes nyilat rajzolhatsz",freeDraw:"Kattints és húzd, majd engedd el, amikor végeztél",text:"Tipp: A kijelölés eszközzel a dupla kattintás új szöveget hoz létre",embeddable:"",text_selected:"Kattints duplán, vagy nyomj entert a szöveg szerkesztéséhez",text_editing:"Nyomjd meg az Escape vagy a Ctrl/Cmd+ENTER billentyűkombinációt a szerkesztés befejezéséhez",linearElementMulti:"Kattints a következő ív pozíciójára, vagy fejezd be a nyilat az Escape vagy Enter megnyomásával",lockAngle:"A SHIFT billentyű lenyomva tartásával korlátozhatja forgatás szögét",resize:`A SHIFT billentyű lenyomva tartásával az átméretezés megtartja az arányokat,
az ALT lenyomva tartásával pedig a középpont egy helyben marad`,resizeImage:`A SHIFT billentyű lenyomva tartásával szabadon átméretezheted,
tartsd lenyomva az ALT billentyűt a középről való átméretezéshez`,rotate:"A SHIFT billentyű lenyomva tartásával korlátozhatja a szögek illesztését",lineEditor_info:"",lineEditor_pointSelected:`Nyomd meg a Törlés gombot a pont(ok) eltávolításához,
A Ctrl/Cmd+D a többszörözéshez, vagy húzással mozgathatja`,lineEditor_nothingSelected:`Válaszd ki a szerkeszteni kívánt pontot (több kijelöléséhez tartsd lenyomva a SHIFT billentyűt),
vagy Alt, és kattintson az új pontok hozzáadásához`,placeImage:"Kattints a kép elhelyezéséhez, vagy kattints és méretezd manuálisan",publishLibrary:"Tedd közzé saját könyvtáradat",bindTextToElement:"Nyomd meg az Entert szöveg hozzáadáshoz",deepBoxSelect:"Tartsd lenyomva a Ctrl/Cmd billentyűt a mély kijelöléshez és a húzás megakadályozásához",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},oTu={cannotShowPreview:"Előnézet nem jeleníthető meg",canvasTooBig:"A vászon talán túl nagy.",canvasTooBigTip:"Tipp: próbáld meg a legtávolabbi elemeket közelebb hozni egy máshoz."},tTu={headingMain:"Hiba történt. Próbáld <button>újratölteni az oldalt.</button>",clearCanvasMessage:"Ha az újratöltés nem működik, próbáld <button>letörölni a vászont.</button>",clearCanvasCaveat:" Ezzel az eddigi munka elveszik ",trackedToSentry:"A hibakód azonosítóval {{eventId}} nyomon van követve a rendszerünkben.",openIssueMessage:"Vigyáztunk arra, hogy a jelenthez tartozó információ ne jelenjen meg a hibaüzenetben. Ha a jeleneted nem bizalmas, kérjük add hozzá a <button>hibakövető rendszerünkhöz.</button> Kérjük, másolja be az alábbi információkat a GitHub problémába.",sceneContent:"Jelenet tartalma:"},eTu={desc_intro:"Meghívhat embereket a jelenlegi jelenetbe, hogy együttműködjenek önnel.",desc_privacy:"Ne aggódj, a munkamenet végpontok közötti titkosítást használ, tehát bármit rajzolsz, privát marad. Még a szerverünkről se lehet belenézni.",button_startSession:"Munkamenet indítása",button_stopSession:"Munkamenet leállítása",desc_inProgressIntro:"Az élő együttműködési munkamenet folyamatban van.",desc_shareLink:"Ossza meg ezt a linket bárkivel, akivel együtt szeretne működni:",desc_exitSession:"Az munkamenet leállítása kilépteti önt a szobából, de folytathatja a munkát a saját gépén. Vegye figyelembe, hogy ez nem érinti más emberek munkáját és ők továbbra is együttműködhetnek a saját változatukon.",shareTitle:"Csatlakozás egy élő együttműködési munkamenethez az Excalidraw-ban"},uOu={title:"Hiba"},BOu={disk_title:"Mentés lemezre",disk_details:"Exportálja a jelenetadatokat egy fájlba, amelyből később importálhatja.",disk_button:"Mentés fájlba",link_title:"Megosztható hivatkozás",link_details:"Exportálás csak olvasható hivatkozásként.",link_button:"Exportálás hivatkozásba",excalidrawplus_description:"Mentse el a jelenetet az Excalidraw+ munkaterületére.",excalidrawplus_button:"Exportálás",excalidrawplus_exportError:"Jelenleg nem lehet exportálni az Excalidraw+-ba..."},EOu={blog:"Olvasd a blogunkat",click:"kattintás",deepSelect:"Mély kijelölés",deepBoxSelect:"Mély kijelölés a dobozon belül, és a húzás megakadályozása",curvedArrow:"Ívelt nyíl",curvedLine:"Ívelt vonal",documentation:"Dokumentáció",doubleClick:"dupla kattintás",drag:"vonszolás",editor:"Szerkesztő",editLineArrowPoints:"",editText:"",github:"Hibát találtál? Küld be",howto:"Kövesd az útmutatóinkat",or:"vagy",preventBinding:"A nyíl ne ragadjon",tools:"",shortcuts:"Gyorsbillentyűk",textFinish:"Szerkesztés befejezése (szöveg)",textNewLine:"Új sor hozzáadása (szöveg)",title:"Segítség",view:"Nézet",zoomToFit:"Az összes elem látótérbe hozása",zoomToSelection:"Kijelölésre nagyítás",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},AOu={title:"Rajzvászon alaphelyzetbe"},COu={title:"Könyvtár közzététele",itemName:"Tétel neve",authorName:"Szerző neve",githubUsername:"GitHub felhasználónév",twitterUsername:"Twitter felhasználónév",libraryName:"Könyvtár neve",libraryDesc:"Könyvtár leírása",website:"Weboldal",placeholder:{authorName:"Neved vagy felhasználóneved",libraryName:"A könyvtárad neve",libraryDesc:"A könyvtárad használatát segítő leírás",githubHandle:"GitHub-handle(opcionális), így szerkesztheted a könyvtárat, miután elküldted ellenőrzésre",twitterHandle:"Twitter-felhasználónév (opcionális), így tudjuk, kinek kell jóváírni a Twitteren keresztüli reklámozást",website:"Hivatkozás személyes webhelyedre vagy máshová (nem kötelező)"},errors:{required:"Kötelező",website:"Adj meg egy érvényes URL-t"},noteDescription:"Küld be könyvtáradat, hogy bekerüljön a <link>nyilvános könyvtár tárolóba</link>hogy mások is felhasználhassák a rajzaikban.",noteGuidelines:"A könyvtárat először manuálisan kell jóváhagyni. Kérjük, olvassa el a <link>segédletet</link> benyújtása előtt. Szüksége lesz egy GitHub-fiókra a kommunikációhoz és a módosításokhoz, ha kérik, de ez nem feltétlenül szükséges.",noteLicense:"A beküldéssel elfogadja, hogy a könyvtár a következő alatt kerül közzétételre <link>MIT Licensz </link>ami röviden azt jelenti, hogy bárki korlátozás nélkül használhatja őket.",noteItems:"Minden könyvtárelemnek saját nevével kell rendelkeznie, hogy szűrhető legyen. A következő könyvtári tételek kerülnek bele:",atleastOneLibItem:"A kezdéshez válassz ki legalább egy könyvtári elemet",republishWarning:""},DOu={title:"A könyvtár beküldve",content:"Köszönjük {{authorName}}. Könyvtáradat elküldtük felülvizsgálatra. Nyomon követheted az állapotot<link>itt</link>"},FOu={resetLibrary:"Könyvtár alaphelyzetbe állítása",removeItemsFromLib:"A kiválasztott elemek eltávolítása a könyvtárból"},UOu={header:"Kép exportálása",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Vágólapra másolás"}},zOu={tooltip:"A rajzaidat végpontok közötti titkosítással tároljuk, tehát az Excalidraw szervereiről se tud más belenézni.",link:"Blogbejegyzés a végpontok közötti titkosításról az Excalidraw-ban"},kOu={angle:"Szög",element:"Elem",elements:"Elemek",height:"Magasság",scene:"Jelenet",selected:"Kijelölt",storage:"Tárhely",title:"Statisztikák",total:"Összesen",version:"Verzió",versionCopy:"Kattints a másoláshoz",versionNotAvailable:"A verzió nem elérhető",width:"Szélesség"},fOu={addedToLibrary:"Könyvtárhoz adva",copyStyles:"Másolt stílusok.",copyToClipboard:"Vágólapra másolva.",copyToClipboardAsPng:`Az {{exportSelection}} PNG formátumban a vágólapra másolva
({{exportColorScheme}})`,fileSaved:"Fájl elmentve.",fileSavedToFilename:"Mentve mint {filename}",canvas:"rajzvászon",selection:"kijelölés",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},MOu={transparent:"Átlátszó",black:"Fekete",white:"Fehér",red:"Piros",pink:"Rózsaszín",grape:"",violet:"Ibolya",gray:"Szürke",blue:"Kék",cyan:"Cián",teal:"Kékes-zöld",green:"Zöld",yellow:"Sárga",orange:"Narancssárga",bronze:"Bronz"},bOu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},ZOu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"Hexadecimális kód",noShades:""},JOu={action:{exportToImage:{title:"Exportálás képként",button:"Exportálás képként",description:""},saveToDisk:{title:"Mentés a lemezre",button:"Mentés a lemezre",description:""},excalidrawPlus:{title:"Excalidraw+",button:"",description:""}},modal:{loadFromFile:{title:"Betöltés fájlból",button:"Betöltés fájlból",description:""},shareableLink:{title:"Feltöltás linkből",button:"",description:""}}},KOu={title:"",button:"",description:"",syntax:"",preview:""},Af3={labels:rTu,library:gTu,buttons:cTu,alerts:_Tu,errors:pTu,toolBar:nTu,headings:dTu,hints:sTu,canvasError:oTu,errorSplash:tTu,roomDialog:eTu,errorDialog:uOu,exportDialog:BOu,helpDialog:EOu,clearCanvasDialog:AOu,publishDialog:COu,publishSuccessDialog:DOu,confirmDialog:FOu,imageExportDialog:UOu,encrypted:zOu,stats:kOu,toast:fOu,colors:MOu,welcomeScreen:bOu,colorPicker:ZOu,overwriteConfirm:JOu,mermaid:KOu}});var cOu={};ju(cOu,{welcomeScreen:()=>$Ou,toolBar:()=>XOu,toast:()=>aOu,stats:()=>iOu,roomDialog:()=>YOu,publishSuccessDialog:()=>jOu,publishDialog:()=>POu,overwriteConfirm:()=>rOu,mermaid:()=>gOu,library:()=>HOu,labels:()=>GOu,imageExportDialog:()=>VOu,hints:()=>xOu,helpDialog:()=>OOu,headings:()=>vOu,exportDialog:()=>TOu,errors:()=>LOu,errorSplash:()=>SOu,errorDialog:()=>ROu,encrypted:()=>hOu,default:()=>Cf3,confirmDialog:()=>NOu,colors:()=>mOu,colorPicker:()=>yOu,clearCanvasDialog:()=>IOu,canvasError:()=>WOu,buttons:()=>qOu,alerts:()=>lOu});var GOu,HOu,qOu,lOu,LOu,XOu,vOu,xOu,WOu,SOu,YOu,ROu,TOu,OOu,IOu,POu,jOu,NOu,VOu,hOu,iOu,aOu,mOu,$Ou,yOu,rOu,gOu,Cf3;var _Ou=g(()=>{m4();GOu={paste:"Tempel",pasteAsPlaintext:"Tempel sebagai teks biasa",pasteCharts:"Tempel diagram",selectAll:"Pilih semua",multiSelect:"Tambahkan elemen ke pilihan",moveCanvas:"Pindahkan kanvas",cut:"Potong",copy:"Salin",copyAsPng:"Salin ke papan klip sebagai PNG",copyAsSvg:"Salin ke papan klip sebagai SVG",copyText:"Salin ke papan klip sebagai teks",copySource:"",convertToCode:"",bringForward:"Bawa maju",sendToBack:"Kirim ke belakang",bringToFront:"Bawa ke depan",sendBackward:"Kirim mundur",delete:"Hapus",copyStyles:"Salin gaya",pasteStyles:"Tempelkan gaya",stroke:"Guratan",background:"Latar",fill:"Isian",strokeWidth:"Lebar guratan",strokeStyle:"Gaya guratan",strokeStyle_solid:"Padat",strokeStyle_dashed:"Putus-putus",strokeStyle_dotted:"Titik-titik",sloppiness:"Kecerobohan",opacity:"Keburaman",textAlign:"Perataan teks",edges:"Tepi",sharp:"Tajam",round:"Bulat",arrowheads:"Mata panah",arrowhead_none:"Tidak ada",arrowhead_arrow:"Panah",arrowhead_bar:"Batang",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Segitiga",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Ukuran font",fontFamily:"Jenis font",addWatermark:'Tambahkan "Dibuat dengan Excalidraw"',handDrawn:"Tulisan tangan",normal:"Normal",code:"Kode",small:"Kecil",medium:"Sedang",large:"Besar",veryLarge:"Sangat besar",solid:"Padat",hachure:"Garis-garis",zigzag:"Zigzag",crossHatch:"Asiran silang",thin:"Lembut",bold:"Tebal",left:"Kiri",center:"Tengah",right:"Kanan",extraBold:"Sangat tebal",architect:"Arsitek",artist:"Artis",cartoonist:"Kartunis",fileTitle:"Nama file",colorPicker:"Pilihan Warna",canvasColors:"Digunakan di kanvas",canvasBackground:"Latar Kanvas",drawingCanvas:"Kanvas",layers:"Lapisan",actions:"Aksi",language:"Bahasa",liveCollaboration:"Kolaborasi langsung...",duplicateSelection:"Duplikat",untitled:"Tanpa judul",name:"Nama",yourName:"Nama Anda",madeWithExcalidraw:"Dibuat dengan Excalidraw",group:"Kelompokan pilihan",ungroup:"Pisahkan pilihan",collaborators:"Kolaborator",showGrid:"Tampilkan grid",addToLibrary:"Tambahkan ke pustaka",removeFromLibrary:"Hapus dari pustaka",libraryLoadingMessage:"Memuat pustaka…",libraries:"Telusur pustaka",loadingScene:"Memuat pemandangan…",align:"Perataan",alignTop:"Rata atas",alignBottom:"Rata bawah",alignLeft:"Rata kiri",alignRight:"Rata kanan",centerVertically:"Pusatkan secara vertikal",centerHorizontally:"Pusatkan secara horizontal",distributeHorizontally:"Distribusikan horizontal",distributeVertically:"Distribusikan vertikal",flipHorizontal:"Balikkan horizontal",flipVertical:"Balikkan vertikal",viewMode:"Mode tampilan",share:"Bagikan",showStroke:"Tampilkan garis pengambil warna",showBackground:"Tampilkan latar pengambil warna",toggleTheme:"Ubah tema",personalLib:"Pustaka Pribadi",excalidrawLib:"Pustaka Excalidraw",decreaseFontSize:"Kecilkan ukuran font",increaseFontSize:"Besarkan ukuran font",unbindText:"Lepas teks",bindText:"Kunci teks ke kontainer",createContainerFromText:"Bungkus teks dalam kontainer",link:{edit:"Edit tautan",editEmbed:"",create:"Buat tautan",createEmbed:"",label:"Tautan",labelEmbed:"",empty:""},lineEditor:{edit:"Edit tautan",exit:"Keluar editor garis"},elementLock:{lock:"Kunci",unlock:"Lepas",lockAll:"Kunci semua",unlockAll:"Lepas semua"},statusPublished:"Telah terbit",sidebarLock:"Biarkan sidebar tetap terbuka",selectAllElementsInFrame:"Pilih semua elemen di bingkai",removeAllElementsFromFrame:"Hapus semua elemen dari bingkai",eyeDropper:"Ambil warna dari kanvas",textToDiagram:"",prompt:""},HOu={noItems:"Belum ada item yang ditambahkan...",hint_emptyLibrary:"Pilih item pada kanvas untuk menambahkan nya di sini, atau pasang pustaka dari gudang di bawah ini.",hint_emptyPrivateLibrary:"Pilih item pada kanvas untuk menambahkan nya di sini."},qOu={clearReset:"Setel Ulang Kanvas",exportJSON:"Ekspor ke file",exportImage:"Ekspor gambar...",export:"Simpan ke...",copyToClipboard:"Salin ke Papan Klip",save:"Simpan ke file sekarang",saveAs:"Simpan sebagai",load:"Buka",getShareableLink:"Buat Tautan yang Bisa Dibagian",close:"Tutup",selectLanguage:"Pilih bahasa",scrollBackToContent:"Gulir kembali ke konten",zoomIn:"Besarkan",zoomOut:"Kecilkan",resetZoom:"Reset Pembesaran",menu:"Menu",done:"Selesai",edit:"Edit",undo:"Urungkan",redo:"Ulangi",resetLibrary:"Reset pustaka",createNewRoom:"Buat ruang baru",fullScreen:"Layar penuh",darkMode:"Mode gelap",lightMode:"Mode terang",zenMode:"Mode zen",objectsSnapMode:"",exitZenMode:"Keluar dari mode zen",cancel:"Batal",clear:"Hapus",remove:"Hapus",embed:"",publishLibrary:"Terbitkan",submit:"Kirimkan",confirm:"Konfirmasi",embeddableInteractionButton:""},lOu={clearReset:"Ini akan menghapus semua yang ada dikanvas. Apakah kamu yakin ?",couldNotCreateShareableLink:"Tidak bisa membuat tautan yang bisa dibagikan",couldNotCreateShareableLinkTooBig:"Tidak dapat membuat tautan yang dapat dibagikan: pemandangan terlalu besar",couldNotLoadInvalidFile:"Tidak dapat memuat berkas yang tidak valid",importBackendFailed:"Gagal mengimpor dari backend",cannotExportEmptyCanvas:"Tidak bisa mengekspor kanvas kosong",couldNotCopyToClipboard:"Tidak bisa menyalin ke papan klip.",decryptFailed:"Tidak dapat mengdekripsi data.",uploadedSecurly:"Pengunggahan ini telah diamankan menggunakan enkripsi end-to-end, artinya server Excalidraw dan pihak ketiga tidak data membaca nya",loadSceneOverridePrompt:"Memuat gambar external akan mengganti konten Anda yang ada. Apakah Anda ingin melanjutkan?",collabStopOverridePrompt:`Menghentikan sesi akan menimpa gambar Anda yang tersimpan secara lokal. Anda yakin?
(Jika Anda ingin menyimpan gambar lokal Anda, gantinya cukup tutup tab browser.)`,errorAddingToLibrary:"Tidak dapat menambahkan item ke pustaka",errorRemovingFromLibrary:"Tidak dapat membuang item dari pustaka",confirmAddLibrary:"Ini akan menambahkan {{numShapes}} bentuk ke pustaka Anda. Anda yakin?",imageDoesNotContainScene:"Gambar ini sepertinya tidak terdapat data pemandangan. Sudahkah Anda mengaktifkan penyematan pemandangan ketika ekspor?",cannotRestoreFromImage:"Pemandangan tidak dapat dipulihkan dari file gambar ini",invalidSceneUrl:"Tidak dapat impor pemandangan dari URL. Kemungkinan URL itu rusak atau tidak berisi data JSON Excalidraw yang valid.",resetLibrary:"Ini akan menghapus pustaka Anda. Anda yakin?",removeItemsFromsLibrary:"Hapus {{count}} item dari pustaka?",invalidEncryptionKey:"Sandi enkripsi harus 22 karakter. Kolaborasi langsung dinonaktifkan.",collabOfflineWarning:`Tidak ada koneksi internet.
Perubahan tidak akan disimpan!`},LOu={unsupportedFileType:"Tipe file tidak didukung.",imageInsertError:"Tidak dapat menyisipkan gambar. Coba lagi nanti...",fileTooBig:"File terlalu besar. Ukuran maksimum yang dibolehkan {{maxSize}}.",svgImageInsertError:"Tidak dapat menyisipkan gambar SVG. Markup SVG sepertinya tidak valid.",failedToFetchImage:"",invalidSVGString:"SVG tidak valid.",cannotResolveCollabServer:"Tidak dapat terhubung ke server kolab. Muat ulang laman dan coba lagi.",importLibraryError:"Tidak dapat memuat pustaka",collabSaveFailed:"Tidak dapat menyimpan ke dalam basis data server. Jika masih berlanjut, Anda sebaiknya simpan berkas Anda secara lokal untuk memastikan pekerjaan Anda tidak hilang.",collabSaveFailed_sizeExceeded:"Tidak dapat menyimpan ke dalam basis data server, tampaknya ukuran kanvas terlalu besar. Anda sebaiknya simpan berkas Anda secara lokal untuk memastikan pekerjaan Anda tidak hilang.",imageToolNotSupported:"",brave_measure_text_error:{line1:"Sepertinya Anda menggunkan peramban Brave dengan pengaturan <bold>Blokir Fingerprinting yang Agresif</bold> diaktifkan.",line2:"Ini dapat membuat <bold>Elemen Teks</bold> dalam gambar mu.",line3:"Kami sangat menyarankan mematikan pengaturan ini. Anda dapat mengikuti <link>langkah-langkah ini</link> untuk melakukannya.",line4:`Jika mematikan pengaturan ini tidak membenarkan tampilan elemen teks, mohon buka
<issueLink>isu</issueLink> di GitHub kami, atau chat kami di <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},XOu={selection:"Pilihan",image:"Sisipkan gambar",rectangle:"Persegi",diamond:"Berlian",ellipse:"Elips",arrow:"Panah",line:"Garis",freedraw:"Gambar",text:"Teks",library:"Pustaka",lock:"Biarkan alat yang dipilih aktif setelah menggambar",penMode:"Mode pena - mencegah sentuhan",link:"Tambah/Perbarui tautan untuk bentuk yang dipilih",eraser:"Penghapus",frame:"Alat bingkai",magicframe:"",embeddable:"",laser:"",hand:"Tangan (alat panning)",extraTools:"Alat-alat lain",mermaidToExcalidraw:"",magicSettings:""},vOu={canvasActions:"Opsi Kanvas",selectedShapeActions:"Opsi bentuk yang dipilih",shapes:"Bentuk"},xOu={canvasPanning:"Untuk memindahkan kanvas, tekan roda mouse atau spacebar sambil menyeret, atau menggunakan alat tangan",linearElement:"Klik untuk memulai banyak poin, seret untuk satu baris",freeDraw:"Klik dan seret, lepaskan jika Anda selesai",text:"Tip: Anda juga dapat menambahkan teks dengan klik ganda di mana saja dengan alat pemilihan",embeddable:"",text_selected:"Klik ganda atau tekan ENTER untuk edit teks",text_editing:"Tekan Escape atau CtrlAtauCmd+ENTER untuk selesai mengedit",linearElementMulti:"Klik pada titik akhir atau tekan Escape atau Enter untuk menyelesaikan",lockAngle:"Anda dapat menjaga sudut dengan menahan SHIFT",resize:`Anda dapat menjaga proposi dengan menekan SHIFT sambil mengubah ukuran,
tekan AlT untuk mengubah ukuran dari tengah`,resizeImage:`Anda dapat mengubah secara bebas dengan menekan SHIFT,
Tekan ALT untuk mengubah dari tengah`,rotate:"Anda dapat menjaga sudut dengan menahan SHIFT sambil memutar",lineEditor_info:"Tekan Ctrl/Cmd dan Dobel-klik atau tekan Ctrl/Cmd +Enter untuk mengedit poin",lineEditor_pointSelected:"Tekan Delete untuk menghapus titik, Ctrl/Cmd + D untuk menduplikasi, atau seret untuk memindahkan",lineEditor_nothingSelected:"Pilih titik untuk mengedit (tekan SHIFT untuk pilih banyak), atau tekan Alt dan klik untuk tambahkan titik baru",placeImage:"Klik untuk tempatkan gambar, atau klik dan jatuhkan untuk tetapkan ukuran secara manual",publishLibrary:"Terbitkan pustaka Anda",bindTextToElement:"Tekan enter untuk tambahkan teks",deepBoxSelect:"Tekan Ctrl atau Cmd untuk memilih yang di dalam, dan mencegah penggeseran",eraserRevert:"Tahan Alt untuk mengembalikan elemen yang ditandai untuk dihapus",firefox_clipboard_write:'Fitur ini dapat diaktifkan melalui pengaturan flag "dom.events.asyncClipboard.clipboardItem" ke "true". Untuk mengganti flag di Firefox, pergi ke laman "about:config".',disableSnapping:""},WOu={cannotShowPreview:"Tidak dapat menampilkan pratinjau",canvasTooBig:"Kanvas mungkin terlalu besar.",canvasTooBigTip:"Tip: coba pindahkan elemen-terjauh lebih dekat bersama."},SOu={headingMain:"Mengalami sebuah kesalahan. Cobalah <button>muat ulang halaman.</button>",clearCanvasMessage:"Jika memuat ulang tidak bekerja, cobalah <button>bersihkan canvas.</button>",clearCanvasCaveat:" Ini akan menghasilkan hilangnya pekerjaan ",trackedToSentry:"Kesalahan dengan pengidentifikasi {{eventId}} dilacak di sistem kami.",openIssueMessage:"Kami sangat berhati-hati untuk tidak menyertakan informasi pemandangan Anda pada kesalahan. Jika pemandangan Anda tidak bersifat pribadi, mohon pertimbangkan menindak lanjut pada <button>pelacak bug.</button> Mohon sertakan informasi dibawah ini dengan menyalin dan menempelkan di Github issue.",sceneContent:"Pemandangan konten:"},YOu={desc_intro:"Anda dapat mengundang orang ke pemandangan Anda saat ini untuk berkolaborasi dengan Anda.",desc_privacy:"Jangan khawatir, sesi menggunakan enkripsi end-to-end, sehingga apa pun yang Anda gambar akan tetap bersifat pribadi. Bahkan server kami tidak dapat melihat apa yang Anda lakukan.",button_startSession:"Mulai sesi",button_stopSession:"Hentikan sesi",desc_inProgressIntro:"Sesi kolaborasi sedang berlangsung sekarang.",desc_shareLink:"Bagikan tautan ini dengan siapa pun yang Anda inginkan untuk kolaborasi bersama:",desc_exitSession:"Menghentikan sesi akan memutuskan hubungan Anda dari ruangan, tetapi Anda dapat melanjutkan bekerja dengan pemandangan Anda secara lokal. Perhatikan bahwa ini tidak memengaruhi orang lain, dan mereka masih dapat berkolaborasi pada versi mereka.",shareTitle:"Gabung sesi kolaborasi langsung di Excalidraw"},ROu={title:"Kesalahan"},TOu={disk_title:"Simpan ke disk",disk_details:"Ekspor data pemandangan ke file yang mana Anda dapat impor nanti.",disk_button:"Simpan ke file",link_title:"Tautan",link_details:"Ekspor sebagai tautan yang hanya dibaca.",link_button:"Ekspor ke tautan",excalidrawplus_description:"Simpan pemandangan ke ruang kerja Excalidraw+ Anda.",excalidrawplus_button:"Ekspor",excalidrawplus_exportError:"Tidak dapat ekspor ke Excalidraw+ saat ini..."},OOu={blog:"Baca blog kami",click:"klik",deepSelect:"Pilih dalam",deepBoxSelect:"Pilih dalam kotak, dan cegah penggeseran",curvedArrow:"Panah lengkung",curvedLine:"Garis lengkung",documentation:"Dokumentasi",doubleClick:"klik-ganda",drag:"seret",editor:"Editor",editLineArrowPoints:"Edit titik garis/panah",editText:"Edit teks / tambah label",github:"Menemukan masalah? Kirimkan",howto:"Ikuti panduan kami",or:"atau",preventBinding:"Cegah pengikatan panah",tools:"Alat",shortcuts:"Pintasan keyboard",textFinish:"Selesai mengedit (editor teks)",textNewLine:"Tambahkan garis baru (editor teks)",title:"Bantuan",view:"Tampilan",zoomToFit:"Perbesar agar sesuai dengan semua elemen",zoomToSelection:"Perbesar ke seleksi",toggleElementLock:"Kunci/lepas seleksi",movePageUpDown:"Pindah halaman keatas/kebawah",movePageLeftRight:"Pindah halaman kebawah/keatas"},IOu={title:"Hapus kanvas"},POu={title:"Terbitkan pustaka",itemName:"Nama item",authorName:"Nama pembuat",githubUsername:"Nama pengguna github",twitterUsername:"Nama pengguna Twitter",libraryName:"Nama Pustaka",libraryDesc:"Deskripsi pustaka",website:"Situs Web",placeholder:{authorName:"Nama atau nama pengguna Anda",libraryName:"Nama dari pustaka Anda",libraryDesc:"Deskripsi pustaka Anda untuk membantu orang mengerti penggunaannya",githubHandle:"Akun GitHub (opsional), jadi Anda dapat mengubah pustaka ketika diserahkan untuk review",twitterHandle:"Nama pengguna Twitter (opsional), jadi kami tahu siapa dipuji ketika mempromosikannya melalui Twitter",website:"Hubungkan ke situs personal Anda atau lainnya (opsional)"},errors:{required:"Dibutuhkan",website:"Masukkan URL valid"},noteDescription:"Kirimkan pustaka Anda untuk disertakan di <link>repositori pustaka publik</link>untuk orang lain menggunakannya dalam gambar mereka.",noteGuidelines:"Pustaka butuh disetujui secara manual terlebih dahulu. Baca <link>pedoman</link> sebelum mengirim. Anda butuh akun GitHub untuk berkomunikasi dan membuat perubahan jika dibutuhkan, tetapi tidak wajib dibutukan.",noteLicense:"Dengan mengkirimkannya, Anda setuju pustaka akan diterbitkan dibawah <link>Lisensi MIT, </link>yang artinya siapa pun dapat menggunakannya tanpa batasan.",noteItems:"Setiap item pustaka harus memiliki nama, sehingga bisa disortir. Item pustaka di bawah ini akan dimasukan:",atleastOneLibItem:"Pilih setidaknya satu item pustaka untuk mulai",republishWarning:"Catatan: beberapa item yang dipilih telah ditandai sebagai sudah dipublikasikan/diserahkan. Anda hanya dapat menyerahkan kembali item-item ketika memperbarui pustaka atau pengumpulan."},jOu={title:"Pustaka telah dikirm",content:"Terima kasih {{authorName}}. pustaka Anda telah diserahkan untuk ditinjau ulang. Anda dapat cek statusnya<link>di sini</link>"},NOu={resetLibrary:"Reset pustaka",removeItemsFromLib:"Hapus item yang dipilih dari pustaka"},VOu={header:"Ekspor gambar",label:{withBackground:"Latar",onlySelected:"Hanya yang dipilih",darkMode:"Mode gelap",embedScene:"Sematkan pemandangan",scale:"Skala",padding:"Lapisan"},tooltip:{embedScene:`Data pemandangan akan disimpan dalam file PNG/SVG yang diekspor sehingga pemandangan itu dapat dipulihkan darinya.
Akan membesarkan ukuran file yang diekspor.`},title:{exportToPng:"Ekspor ke PNG",exportToSvg:"Ekspor ke SVG",copyPngToClipboard:"Salin PNG ke papan klip"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Salin ke papan klip"}},hOu={tooltip:"Gambar anda terenkripsi end-to-end sehingga server Excalidraw tidak akan pernah dapat melihatnya.",link:"Pos blog tentang enkripsi ujung ke ujung di Excalidraw"},iOu={angle:"Sudut",element:"Elemen",elements:"Elemen",height:"Tinggi",scene:"Pemandangan",selected:"Terpilih",storage:"Penyimpanan",title:"Statistik untuk nerd",total:"Total",version:"Versi",versionCopy:"Klik untuk salin",versionNotAvailable:"Versi tidak tersedia",width:"Lebar"},aOu={addedToLibrary:"Tambahkan ke pustaka",copyStyles:"Gaya tersalin.",copyToClipboard:"Tersalin ke papan klip.",copyToClipboardAsPng:`Tersalin {{exportSelection}} ke clipboard sebagai PNG
({{exportColorScheme}})`,fileSaved:"File tersimpan.",fileSavedToFilename:"Disimpan ke {filename}",canvas:"kanvas",selection:"pilihan",pasteAsSingleElement:`Gunakan {{shortcut}} untuk menempelkan sebagai satu elemen,
atau tempelkan ke teks editor yang ada`,unableToEmbed:"",unrecognizedLinkFormat:""},mOu={transparent:"Transparan",black:"Hitam",white:"Putih",red:"Merah",pink:"Pink",grape:"Ungu",violet:"Violet",gray:"Abu-abu",blue:"Biru",cyan:"Cyan",teal:"Teal",green:"Hijau",yellow:"Kuning",orange:"Jingga",bronze:"Tembaga"},$Ou={app:{center_heading:"Semua data Anda disimpan secara lokal di peramban Anda.",center_heading_plus:"Apa Anda ingin berpindah ke Excalidraw+?",menuHint:"Ekspor, preferensi, bahasa, ..."},defaults:{menuHint:"Ekspor, preferensi, dan selebihnya...",center_heading:"Diagram. Menjadi. Mudah.",toolbarHint:"Pilih alat & mulai menggambar!",helpHint:"Pintasan & bantuan"}},yOu={mostUsedCustomColors:"Warna yang sering dipakai",colors:"Warna",shades:"Nuansa",hexCode:"Kode hexa",noShades:"Tidak ada nuansa untuk warna ini"},rOu={action:{exportToImage:{title:"Ekspor sebagai gambar",button:"Ekspor sebagai gambar",description:"Ekspor data pemandangan sebagai gambar yang dapat anda impor nanti."},saveToDisk:{title:"Simpan ke disk",button:"Simpan ke disk",description:"Ekspor data pemandangan ke file yang dapat Anda dapat impor nanti."},excalidrawPlus:{title:"Excalidraw+",button:"Ekspor ke Excalidraw+",description:"Simpan pemandangan ke ruang kerja Excalidraw+ Anda."}},modal:{loadFromFile:{title:"Muat dari file",button:"Muat dari file",description:"Memuat dari file yang akan <bold>menggantikan konten Anda sekarang</bold>.<br></br>Anda dapat mencadangkan gambar anda dulu menggunakan opsi-opsi ini."},shareableLink:{title:"Muat dari link",button:"Ganti konten saya",description:"Memuat dari file yang akan <bold>menggantikan konten Anda sekarang</bold>.<br></br>Anda dapat mencadangkan gambar anda dulu menggunakan opsi-opsi ini."}}},gOu={title:"",button:"",description:"",syntax:"",preview:""},Cf3={labels:GOu,library:HOu,buttons:qOu,alerts:lOu,errors:LOu,toolBar:XOu,headings:vOu,hints:xOu,canvasError:WOu,errorSplash:SOu,roomDialog:YOu,errorDialog:ROu,exportDialog:TOu,helpDialog:OOu,clearCanvasDialog:IOu,publishDialog:POu,publishSuccessDialog:jOu,confirmDialog:NOu,imageExportDialog:VOu,encrypted:hOu,stats:iOu,toast:aOu,colors:mOu,welcomeScreen:$Ou,colorPicker:yOu,overwriteConfirm:rOu,mermaid:gOu}});var qIu={};ju(qIu,{welcomeScreen:()=>wIu,toolBar:()=>tOu,toast:()=>JIu,stats:()=>ZIu,roomDialog:()=>AIu,publishSuccessDialog:()=>kIu,publishDialog:()=>zIu,overwriteConfirm:()=>GIu,mermaid:()=>HIu,library:()=>nOu,labels:()=>pOu,imageExportDialog:()=>MIu,hints:()=>uIu,helpDialog:()=>FIu,headings:()=>eOu,exportDialog:()=>DIu,errors:()=>oOu,errorSplash:()=>EIu,errorDialog:()=>CIu,encrypted:()=>bIu,default:()=>Df3,confirmDialog:()=>fIu,colors:()=>KIu,colorPicker:()=>QIu,clearCanvasDialog:()=>UIu,canvasError:()=>BIu,buttons:()=>dOu,alerts:()=>sOu});var pOu,nOu,dOu,sOu,oOu,tOu,eOu,uIu,BIu,EIu,AIu,CIu,DIu,FIu,UIu,zIu,kIu,fIu,MIu,bIu,ZIu,JIu,KIu,wIu,QIu,GIu,HIu,Df3;var lIu=g(()=>{m4();pOu={paste:"Incolla",pasteAsPlaintext:"Incolla come testo normale",pasteCharts:"Incolla grafici",selectAll:"Seleziona tutto",multiSelect:"Aggiungi elemento alla selezione",moveCanvas:"Sposta tela",cut:"Taglia",copy:"Copia",copyAsPng:"Copia negli appunti come PNG",copyAsSvg:"Copia negli appunti come SVG",copyText:"Copia negli appunti come testo",copySource:"Copia sorgente negli appunti",convertToCode:"Converti in codice",bringForward:"Porta avanti",sendToBack:"Manda in fondo",bringToFront:"Porta in cima",sendBackward:"Manda dietro",delete:"Elimina",copyStyles:"Copia stili",pasteStyles:"Incolla stili",stroke:"Tratto",background:"Sfondo",fill:"Riempimento",strokeWidth:"Spessore del tratto",strokeStyle:"Stile del tratto",strokeStyle_solid:"Pieno",strokeStyle_dashed:"Tratteggiato",strokeStyle_dotted:"Punteggiato",sloppiness:"Imprecisione",opacity:"Opacità",textAlign:"Allineamento del testo",edges:"Bordi",sharp:"Acuto",round:"Rotondo",arrowheads:"Punta della freccia",arrowhead_none:"Nessuno",arrowhead_arrow:"Freccia",arrowhead_bar:"Barra",arrowhead_circle:"Cerchio",arrowhead_circle_outline:"Cerchio (contorno)",arrowhead_triangle:"Triangolo",arrowhead_triangle_outline:"Triangolo (contorno)",arrowhead_diamond:"Diamante",arrowhead_diamond_outline:"Diamante (contorno)",fontSize:"Dimensione carattere",fontFamily:"Carattere",addWatermark:'Aggiungi "Creato con Excalidraw"',handDrawn:"A mano libera",normal:"Normale",code:"Codice",small:"Piccolo",medium:"Medio",large:"Grande",veryLarge:"Molto grande",solid:"Pieno",hachure:"Tratteggio obliquo",zigzag:"Zig zag",crossHatch:"Tratteggio incrociato",thin:"Sottile",bold:"Grassetto",left:"Sinistra",center:"Centro",right:"Destra",extraBold:"Extra Grassetto",architect:"Architetto",artist:"Artista",cartoonist:"Fumettista",fileTitle:"Nome del file",colorPicker:"Selettore colore",canvasColors:"Usato su tela",canvasBackground:"Sfondo tela",drawingCanvas:"Area di disegno",layers:"Livelli",actions:"Azioni",language:"Lingua",liveCollaboration:"Collaborazione dal vivo...",duplicateSelection:"Duplica",untitled:"Senza titolo",name:"Nome",yourName:"Il vostro nome",madeWithExcalidraw:"Creato con Excalidraw",group:"Crea gruppo da selezione",ungroup:"Dividi gruppo da selezione",collaborators:"Collaboratori",showGrid:"Visualizza griglia",addToLibrary:"Aggiungi alla libreria",removeFromLibrary:"Rimuovi dalla libreria",libraryLoadingMessage:"Caricamento libreria…",libraries:"Sfoglia librerie",loadingScene:"Caricamento della scena…",align:"Allinea",alignTop:"Allinea in alto",alignBottom:"Allinea in basso",alignLeft:"Allinea a sinistra",alignRight:"Allinea a destra",centerVertically:"Centra Verticalmente",centerHorizontally:"Centra orizzontalmente",distributeHorizontally:"Distribuisci orizzontalmente",distributeVertically:"Distribuisci verticalmente",flipHorizontal:"Capovolgi orizzontalmente",flipVertical:"Capovolgi verticalmente",viewMode:"Modalità visualizzazione",share:"Condividi",showStroke:"Mostra selettore colore del tratto",showBackground:"Mostra selettore colore di sfondo",toggleTheme:"Cambia tema",personalLib:"Libreria Personale",excalidrawLib:"Libreria di Excalidraw",decreaseFontSize:"Riduci dimensione dei caratteri",increaseFontSize:"Aumenta la dimensione dei caratteri",unbindText:"Scollega testo",bindText:"Associa il testo al container",createContainerFromText:"Avvolgi il testo in un container",link:{edit:"Modifica link",editEmbed:"Modifica collegamento e incorpora",create:"Crea link",createEmbed:"Crea collegamento e incorpora",label:"Link",labelEmbed:"Collega & incorpora",empty:"Nessun collegamento impostato"},lineEditor:{edit:"Modifica linea",exit:"Esci dall'editor di linea"},elementLock:{lock:"Blocca",unlock:"Sblocca",lockAll:"Blocca tutto",unlockAll:"Sblocca tutto"},statusPublished:"Pubblicato",sidebarLock:"Mantieni aperta la barra laterale",selectAllElementsInFrame:"Seleziona tutti gli elementi nel riquadro",removeAllElementsFromFrame:"Rimuovi tutti gli elementi dal riquadro",eyeDropper:"Scegli il colore della tela",textToDiagram:"Testo a diagramma",prompt:"Prompt"},nOu={noItems:"Nessun elemento ancora aggiunto...",hint_emptyLibrary:"Seleziona un elemento sulla tela per aggiungerlo qui, o installa una libreria dal repository pubblico qui sotto.",hint_emptyPrivateLibrary:"Seleziona un elemento sulla tela per aggiungerlo qui."},dOu={clearReset:"Svuota la tela",exportJSON:"Esporta su file",exportImage:"Esporta immagine...",export:"Salva in...",copyToClipboard:"Copia negli appunti",save:"Salva sul file corrente",saveAs:"Salva con nome",load:"Apri",getShareableLink:"Ottieni link condivisibile",close:"Chiudi",selectLanguage:"Seleziona lingua",scrollBackToContent:"Scorri indietro fino al contenuto",zoomIn:"Aumenta ingrandimento",zoomOut:"Riduci ingrandimento",resetZoom:"Ripristina ingrandimento",menu:"Menù",done:"Fatto",edit:"Modifica",undo:"Annulla",redo:"Ripeti",resetLibrary:"Ripristina libreria",createNewRoom:"Crea nuova stanza",fullScreen:"Schermo intero",darkMode:"Tema scuro",lightMode:"Tema chiaro",zenMode:"Modalità Zen",objectsSnapMode:"Aggancia agli oggetti",exitZenMode:"Uscire dalla modalità zen",cancel:"Annulla",clear:"Cancella",remove:"Rimuovi",embed:"Attiva/disattiva incorporamento",publishLibrary:"Pubblica",submit:"Invia",confirm:"Conferma",embeddableInteractionButton:"Clicca per interagire"},sOu={clearReset:"Questa azione cancellerà l'intera tela. Sei sicuro?",couldNotCreateShareableLink:"Non riesco a creare un link condivisibile.",couldNotCreateShareableLinkTooBig:"Impossibile creare il link condivisibile: la scena è troppo grande",couldNotLoadInvalidFile:"Impossibile caricare un file no valido",importBackendFailed:"Importazione dal server fallita.",cannotExportEmptyCanvas:"Non è possibile esportare una tela vuota.",couldNotCopyToClipboard:"Impossibile copiare negli appunti.",decryptFailed:"Impossibile decriptare i dati.",uploadedSecurly:"L'upload è stato protetto con la crittografia end-to-end, il che significa che il server Excalidraw e terze parti non possono leggere il contenuto.",loadSceneOverridePrompt:"Se carichi questo disegno esterno, sostituirà quello che hai. Vuoi continuare?",collabStopOverridePrompt:`Interrompere la sessione sovrascriverà il precedente disegno memorizzato localmente. Sei sicuro?
(Se vuoi mantenere il tuo disegno locale, chiudi semplicemente la scheda del browser.)`,errorAddingToLibrary:"Impossibile aggiungere l'elemento alla libreria",errorRemovingFromLibrary:"Impossibile rimuovere l'elemento dalla libreria",confirmAddLibrary:"Questo aggiungerà {{numShapes}} forma(e) alla tua libreria. Sei sicuro?",imageDoesNotContainScene:"Questa immagine pare non contenere alcuna scena. Avevi incluso la scena durante l'esportazione?",cannotRestoreFromImage:"Impossibile ripristinare la scena da questo file immagine",invalidSceneUrl:"Impossibile importare la scena dall'URL fornito. Potrebbe essere malformato o non contenere dati JSON Excalidraw validi.",resetLibrary:"Questa azione cancellerà l'intera libreria. Sei sicuro?",removeItemsFromsLibrary:"Eliminare {{count}} elementi dalla libreria?",invalidEncryptionKey:"La chiave di cifratura deve essere composta da 22 caratteri. La collaborazione live è disabilitata.",collabOfflineWarning:`Nessuna connessione internet disponibile.
Le tue modifiche non verranno salvate!`},oOu={unsupportedFileType:"Tipo di file non supportato.",imageInsertError:"Non è stato possibile inserire l'immagine. Riprova più tardi...",fileTooBig:"Il file è troppo grande. La dimensione massima consentita è {{maxSize}}.",svgImageInsertError:"Impossibile inserire l'immagine SVG. Il markup SVG non sembra corretto.",failedToFetchImage:"Impossibile recuperare l'immagine.",invalidSVGString:"SVG non valido.",cannotResolveCollabServer:"Impossibile connettersi al server di collab. Ricarica la pagina e riprova.",importLibraryError:"Impossibile caricare la libreria",collabSaveFailed:"Impossibile salvare nel database di backend. Se i problemi persistono, dovresti salvare il tuo file localmente per assicurarti di non perdere il tuo lavoro.",collabSaveFailed_sizeExceeded:"Impossibile salvare nel database di backend, la tela sembra essere troppo grande. Dovresti salvare il file localmente per assicurarti di non perdere il tuo lavoro.",imageToolNotSupported:"Le immagini sono disabilitate.",brave_measure_text_error:{line1:"Sembra che tu stia utilizzando il browser Brave con l'impostazione <bold>Blocco aggressivo delle impronte digitali</bold> abilitata.",line2:"Ciò potrebbe causare la rottura degli <bold>Elementi di testo</bold> nei tuoi disegni.",line3:"Consigliamo vivamente di disabilitare questa impostazione. Puoi seguire <link>questi passaggi</link> su come farlo.",line4:"Se la disattivazione di questa impostazione non risolve la visualizzazione degli elementi di testo, apri un <issueLink>problema</issueLink> sul nostro GitHub o scrivici su <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Gli elementi incorporabili non possono essere aggiunti alla libreria.",iframe:"Gli elementi IFrame non possono essere aggiunti alla libreria.",image:"Il supporto per l'aggiunta d'immagini alla libreria verrà aggiunto a breve!"},asyncPasteFailedOnRead:"Impossibile incollare (non è possibile leggere dagli appunti di sistema).",asyncPasteFailedOnParse:"Impossibile incollare.",copyToSystemClipboardFailed:"Impossibile copiare negli appunti."},tOu={selection:"Selezione",image:"Inserisci immagine",rectangle:"Rettangolo",diamond:"Rombo",ellipse:"Ellisse",arrow:"Freccia",line:"Linea",freedraw:"Disegno",text:"Testo",library:"Libreria",lock:"Mantieni lo strumento selezionato attivo dopo aver disegnato",penMode:"Modalità penna - previene il tocco",link:"Aggiungi/ aggiorna il link per una forma selezionata",eraser:"Gomma",frame:"Strumento riquadro",magicframe:"",embeddable:"Incorporamento Web",laser:"Puntatore laser",hand:"Mano (strumento di panoramica)",extraTools:"Altri strumenti",mermaidToExcalidraw:"",magicSettings:"Impostazioni di IA"},eOu={canvasActions:"Azioni sulla Tela",selectedShapeActions:"Impostazioni della forma selezionata",shapes:"Forme"},uIu={canvasPanning:"Per spostare la tela, tieni premuta la rotellina del mouse o la barra spaziatrice mentre trascini oppure usa lo strumento mano",linearElement:"Clicca per iniziare una linea in più punti, trascina per singola linea",freeDraw:"Clicca e trascina, rilascia quando avrai finito",text:"Suggerimento: puoi anche aggiungere del testo facendo doppio clic ovunque con lo strumento di selezione",embeddable:"Fare click e trascina per creare un incorporamento web",text_selected:"Fai doppio click o premi INVIO per modificare il testo",text_editing:"Premi ESC o CtrlOCmd+INVIO per completare le modifiche",linearElementMulti:"Clicca sull'ultimo punto o premi Esc o Invio per finire",lockAngle:"Puoi limitare l'angolo tenendo premuto SHIFT",resize:`Per vincolare le proporzioni, tieni premuto MAIUSC durante il ridimensionamento;
per ridimensionare dal centro, tieni premuto ALT`,resizeImage:`Puoi ridimensionare liberamente tenendo premuto SHIFT,
tieni premuto ALT per ridimensionare dal centro`,rotate:"Puoi mantenere gli angoli tenendo premuto SHIFT durante la rotazione",lineEditor_info:"Tieni premuto Ctrl o Cmd e doppio clic oppure premi Ctrl o Cmd + Invio per modificare i punti",lineEditor_pointSelected:`Premi Elimina per rimuovere il punto(i),
CtrlOCmd+D per duplicare o trascinare per spostare`,lineEditor_nothingSelected:`Seleziona un punto da modificare (tieni premuto MAIUSC per selezionare più punti),
oppure tieni premuto Alt e fai clic per aggiungere nuovi punti`,placeImage:"Fai click per posizionare l'immagine, o click e trascina per impostarne la dimensione manualmente",publishLibrary:"Pubblica la tua libreria",bindTextToElement:"Premi invio per aggiungere il testo",deepBoxSelect:"Tieni premuto CtrlOCmd per selezionare in profondità e per impedire il trascinamento",eraserRevert:"Tieni premuto Alt per ripristinare gli elementi contrassegnati per l'eliminazione",firefox_clipboard_write:'Questa funzione può essere abilitata impostando il flag "dom.events.asyncClipboard.clipboardItem" su "true". Per modificare i flag del browser in Firefox, visitare la pagina "about:config".',disableSnapping:"Tieni premuto Ctrl o Cmd per disabilitare lo snap"},BIu={cannotShowPreview:"Impossibile visualizzare l'anteprima",canvasTooBig:"La tela potrebbe essere troppo grande.",canvasTooBigTip:"Suggerimento: prova a spostare gli elementi più lontani più vicini tra loro."},EIu={headingMain:"Si è verificato un errore. Provare <button>ricaricando la pagina.</button>",clearCanvasMessage:"Se ricaricare non funziona, prova <button>pulire la tela.</button>",clearCanvasCaveat:" Questo risulterà nella perdita del lavoro ",trackedToSentry:"L'errore con identificativo {{eventId}} è stato tracciato nel nostro sistema.",openIssueMessage:"Siamo stati molto cauti nel non includere informazioni della scena nell'errore. Se la tua scena non è privata, ti preghiamo di considerare la sua inclusione nel nostro <button>bug tracker.</button> Per favore includi le informazioni riportate qui sotto copiandole e incollandole nella issue di GitHub.",sceneContent:"Contenuto della scena:"},AIu={desc_intro:"Puoi invitare persone nella tua scena attuale per collaborare con te.",desc_privacy:"Non preoccuparti, la sessione utilizza la crittografia end-to-end, quindi qualsiasi cosa disegni rimarrà privata. Nemmeno il nostro server sarà in grado di vedere cosa hai creato.",button_startSession:"Avvia sessione",button_stopSession:"Termina sessione",desc_inProgressIntro:"La sessione di collaborazione è attualmente in corso.",desc_shareLink:"Condividi questo link con chiunque desideri collaborare:",desc_exitSession:"Interrompere la sessione scollegherà la tua stanza ma potrai continuare a lavorare con la scena, localmente. Tieni presente che questo non influirà sulle altre persone, e che saranno ancora in grado di collaborare alla loro versione.",shareTitle:"Partecipa a una sessione di collaborazione live su Excalidraw"},CIu={title:"Errore"},DIu={disk_title:"Salva su disco",disk_details:"Esporta i dati della scena su file, dal quale potrai importare in seguito.",disk_button:"Salva su file",link_title:"Link condivisibile",link_details:"Esporta come link di sola lettura.",link_button:"Esporta come Link",excalidrawplus_description:"Salva la scena nel tuo spazio di lavoro Excalidraw+.",excalidrawplus_button:"Esporta",excalidrawplus_exportError:"Non è stato possibile esportare su Excalidraw+ al questo momento..."},FIu={blog:"Leggi il nostro blog",click:"click",deepSelect:"Selezione profonda",deepBoxSelect:"Seleziona in profondità all'interno della casella e previene il trascinamento",curvedArrow:"Freccia curva",curvedLine:"Linea curva",documentation:"Documentazione",doubleClick:"doppio-click",drag:"trascina",editor:"Editor",editLineArrowPoints:"Modifica punti linea/freccia",editText:"Modifica testo / aggiungi etichetta",github:"Trovato un problema? Segnalalo",howto:"Segui le nostre guide",or:"oppure",preventBinding:"Impedisci legame della freccia",tools:"Stumenti",shortcuts:"Scorciatoie da tastiera",textFinish:"Completa la modifica (editor di testo)",textNewLine:"Aggiungi nuova riga (editor di testo)",title:"Guida",view:"Vista",zoomToFit:"Adatta zoom per mostrare tutti gli elementi",zoomToSelection:"Zoom alla selezione",toggleElementLock:"Blocca/sblocca selezione",movePageUpDown:"Sposta la pagina su/giù",movePageLeftRight:"Sposta la pagina a sinistra/destra"},UIu={title:"Svuota la tela"},zIu={title:"Pubblica la libreria",itemName:"Nome dell'elemento",authorName:"Nome dell'autore",githubUsername:"Nome utente di GitHub",twitterUsername:"Nome utente di Twitter",libraryName:"Nome della libreria",libraryDesc:"Descrizione della libreria",website:"Sito Web",placeholder:{authorName:"Il tuo nome o nome utente",libraryName:"Nome della tua libreria",libraryDesc:"Descrizione della tua libreria per aiutare le persone a comprenderne lo scopo",githubHandle:"Handle di GitHub (opzionale), così che tu possa modificare la libreria una volta inviata per la revisione",twitterHandle:"Nome utente di Twitter (opzionale), così che sappiamo chi accreditare promuovendo su Twitter",website:"Link al tuo sito web personale o altro (opzionale)"},errors:{required:"Obbligatorio",website:"Inserisci un URL valido"},noteDescription:"Invia la tua libreria da includere nella <link>repository della libreria pubblica</link>perché sia usata da altri nei loro disegni.",noteGuidelines:"La libreria dev'esser prima approvata manualmente. Sei pregato di leggere le <link>linee guida</link> prima di inviarla. Necessiterai di un profilo di GitHub per comunicare ed effettuare modifiche se richiesto, ma non è strettamente necessario.",noteLicense:"Inviando, acconsenti che la libreria sarà pubblicata sotto la <link>Licenza MIT, </link>che in breve significa che chiunque possa usarla senza restrizioni.",noteItems:"Ogni elemento della libreria deve avere il proprio nome, così che sia filtrabile. Gli elementi della seguente libreria saranno inclusi:",atleastOneLibItem:"Sei pregato di selezionare almeno un elemento della libreria per iniziare",republishWarning:"Nota: alcuni degli elementi selezionati sono contrassegnati come già pubblicati/presentati. È necessario reinviare gli elementi solo quando si aggiorna una libreria o una presentazione esistente."},kIu={title:"Libreria inviata",content:"Grazie {{authorName}}. La tua libreria è stata inviata per la revisione. Puoi monitorarne lo stato<link>qui</link>"},fIu={resetLibrary:"Ripristina la libreria",removeItemsFromLib:"Rimuovi gli elementi selezionati dalla libreria"},MIu={header:"Esporta immagine",label:{withBackground:"Sfondo",onlySelected:"Solo selezionato",darkMode:"Tema scuro",embedScene:"Includi scena",scale:"Scala",padding:"Rientro"},tooltip:{embedScene:`I dati della scena saranno salvati nel file PNG/SVG esportato in modo che la scena possa essere ripristinata da esso.
Questo aumenterà la dimensione del file esportato.`},title:{exportToPng:"Esporta come PNG",exportToSvg:"Esporta come SVG",copyPngToClipboard:"Copia PNG negli appunti"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copia negli appunti"}},bIu={tooltip:"I tuoi disegni sono crittografati end-to-end in modo che i server di Excalidraw non li possano mai vedere.",link:"Articolo del blog sulla crittografia end-to-end di Excalidraw"},ZIu={angle:"Angolo",element:"Elemento",elements:"Elementi",height:"Altezza",scene:"Scena",selected:"Selezionato",storage:"Memoria",title:"Statistiche per nerd",total:"Totale",version:"Versione",versionCopy:"Clicca per copiare",versionNotAvailable:"Versione non disponibile",width:"Larghezza"},JIu={addedToLibrary:"Aggiunto alla libreria",copyStyles:"Stili copiati.",copyToClipboard:"Copiato negli appunti.",copyToClipboardAsPng:`{{exportSelection}} copiato negli appunti come PNG
({{exportColorScheme}})`,fileSaved:"File salvato.",fileSavedToFilename:"Salvato in {filename}",canvas:"tela",selection:"selezione",pasteAsSingleElement:`Usa {{shortcut}} per incollare come un singolo elemento,
o incollare in un editor di testo esistente`,unableToEmbed:"Incorporare questo url non è permesso. Crea una issue su GitHub per richiedere che l'url sia autorizzato",unrecognizedLinkFormat:"Il link che hai incorporato non corrisponde al formato previsto. Prova a incollare la stringa 'embed' fornita dal sito di origine"},KIu={transparent:"Trasparente",black:"Nero",white:"Bianco",red:"Rosso",pink:"Rosa",grape:"Uva",violet:"Viola",gray:"Grigio",blue:"Blu",cyan:"Ciano",teal:"Verde acqua",green:"Verde",yellow:"Giallo",orange:"Arancio",bronze:"Bronzo"},wIu={app:{center_heading:"Tutti i tuoi dati sono salvati localmente nel browser.",center_heading_plus:"Volevi invece andare su Excalidraw+?",menuHint:"Esporta, preferenze, lingue, ..."},defaults:{menuHint:"Esporta, preferenze, e altro...",center_heading:"Diagrammi. Fatto. Semplice.",toolbarHint:"Scegli uno strumento & Inizia a disegnare!",helpHint:"Scorciatoie & aiuto"}},QIu={mostUsedCustomColors:"Colori personalizzati più utilizzati",colors:"Colori",shades:"Sfumature",hexCode:"Codice esadecimale",noShades:"Nessuna sfumatura disponibile per questo colore"},GIu={action:{exportToImage:{title:"Esporta come immagine",button:"Esporta come immagine",description:"Esporta i dati della scena come immagine, che potrai importare in seguito."},saveToDisk:{title:"Salva su disco",button:"Salva su disco",description:"Esporta i dati della scena su file, che potrai importare in seguito."},excalidrawPlus:{title:"Excalidraw+",button:"Esporta su Excalidraw+",description:"Salva la scena sul tuo spazio di lavoro Excalidraw+."}},modal:{loadFromFile:{title:"Carica da file",button:"Carica da file",description:"Il caricamento da file sostituirà <bold>il contenuto esistente</bold>.<br></br>Puoi salvare il tuo disegno prima usando una delle opzioni qui sotto."},shareableLink:{title:"Carica da link",button:"Sostituisci il mio contenuto",description:"Il caricamento da file sostituirà <bold>il contenuto esistente</bold>.<br></br>Puoi salvare il tuo disegno prima usando una delle opzioni qui sotto."}}},HIu={title:"",button:"Inserisci",description:"",syntax:"",preview:"Anteprima"},Df3={labels:pOu,library:nOu,buttons:dOu,alerts:sOu,errors:oOu,toolBar:tOu,headings:eOu,hints:uIu,canvasError:BIu,errorSplash:EIu,roomDialog:AIu,errorDialog:CIu,exportDialog:DIu,helpDialog:FIu,clearCanvasDialog:UIu,publishDialog:zIu,publishSuccessDialog:kIu,confirmDialog:fIu,imageExportDialog:MIu,encrypted:bIu,stats:ZIu,toast:JIu,colors:KIu,welcomeScreen:wIu,colorPicker:QIu,overwriteConfirm:GIu,mermaid:HIu}});var dIu={};ju(dIu,{welcomeScreen:()=>cIu,toolBar:()=>SIu,toast:()=>rIu,stats:()=>yIu,roomDialog:()=>IIu,publishSuccessDialog:()=>iIu,publishDialog:()=>hIu,overwriteConfirm:()=>pIu,mermaid:()=>nIu,library:()=>XIu,labels:()=>LIu,imageExportDialog:()=>mIu,hints:()=>RIu,helpDialog:()=>NIu,headings:()=>YIu,exportDialog:()=>jIu,errors:()=>WIu,errorSplash:()=>OIu,errorDialog:()=>PIu,encrypted:()=>$Iu,default:()=>Ff3,confirmDialog:()=>aIu,colors:()=>gIu,colorPicker:()=>_Iu,clearCanvasDialog:()=>VIu,canvasError:()=>TIu,buttons:()=>vIu,alerts:()=>xIu});var LIu,XIu,vIu,xIu,WIu,SIu,YIu,RIu,TIu,OIu,IIu,PIu,jIu,NIu,VIu,hIu,iIu,aIu,mIu,$Iu,yIu,rIu,gIu,cIu,_Iu,pIu,nIu,Ff3;var sIu=g(()=>{m4();LIu={paste:"貼り付け",pasteAsPlaintext:"書式なしテキストとして貼り付け",pasteCharts:"チャートの貼り付け",selectAll:"すべて選択",multiSelect:"複数選択",moveCanvas:"キャンバスを移動",cut:"切り取り",copy:"コピー",copyAsPng:"PNGとしてクリップボードへコピー",copyAsSvg:"SVGとしてクリップボードへコピー",copyText:"テキストとしてクリップボードにコピー",copySource:"",convertToCode:"",bringForward:"前面に移動",sendToBack:"最背面に移動",bringToFront:"最前面に移動",sendBackward:"背面に移動",delete:"削除",copyStyles:"スタイルのコピー",pasteStyles:"スタイルの貼り付け",stroke:"線",background:"背景",fill:"塗りつぶし",strokeWidth:"線の太さ",strokeStyle:"線の種類",strokeStyle_solid:"実線",strokeStyle_dashed:"破線",strokeStyle_dotted:"点線",sloppiness:"ばらつき加減",opacity:"透明度",textAlign:"文字の配置",edges:"角",sharp:"四角",round:"丸",arrowheads:"線の終点",arrowhead_none:"なし",arrowhead_arrow:"矢印",arrowhead_bar:"バー",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"三角",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"フォントの大きさ",fontFamily:"フォントの種類",addWatermark:'"Made with Excalidraw"と表示',handDrawn:"手描き風",normal:"普通",code:"コード",small:"小",medium:"中",large:"大",veryLarge:"特大",solid:"ベタ塗り",hachure:"斜線",zigzag:"ジグザグ",crossHatch:"網掛け",thin:"細",bold:"太字",left:"左寄せ",center:"中央寄せ",right:"右寄せ",extraBold:"極太",architect:"正確",artist:"アート",cartoonist:"漫画風",fileTitle:"ファイル名",colorPicker:"色選択",canvasColors:"キャンバス上で使用",canvasBackground:"キャンバスの背景",drawingCanvas:"キャンバスの描画",layers:"レイヤー",actions:"操作",language:"言語",liveCollaboration:"共同編集...",duplicateSelection:"複製",untitled:"無題",name:"名前",yourName:"あなたの名前",madeWithExcalidraw:"Excalidrawで作成",group:"グループ化",ungroup:"グループ化を解除",collaborators:"共同編集者",showGrid:"グリッドを表示",addToLibrary:"ライブラリに追加",removeFromLibrary:"ライブラリから削除",libraryLoadingMessage:"ライブラリを読み込み中…",libraries:"ライブラリを参照する",loadingScene:"シーンを読み込み中…",align:"配置",alignTop:"上揃え",alignBottom:"下揃え",alignLeft:"左揃え",alignRight:"右揃え",centerVertically:"縦方向に中央揃え",centerHorizontally:"横方向に中央揃え",distributeHorizontally:"水平方向に分散配置",distributeVertically:"垂直方向に分散配置",flipHorizontal:"水平方向に反転",flipVertical:"垂直方向に反転",viewMode:"閲覧モード",share:"共有",showStroke:"ストロークカラーピッカーを表示",showBackground:"背景色ピッカーを表示",toggleTheme:"テーマの切り替え",personalLib:"個人ライブラリ",excalidrawLib:"Excalidrawライブラリ",decreaseFontSize:"フォントサイズを縮小",increaseFontSize:"フォントサイズを拡大",unbindText:"テキストのバインド解除",bindText:"テキストをコンテナにバインド",createContainerFromText:"コンテナ内でテキストを折り返す",link:{edit:"リンクを編集",editEmbed:"リンクの編集と埋め込み",create:"リンクを作成",createEmbed:"リンクの作成と埋め込み",label:"リンク",labelEmbed:"リンクと埋め込み",empty:"リンクが設定されていません"},lineEditor:{edit:"行を編集",exit:"行エディタを終了"},elementLock:{lock:"ロック",unlock:"ロック解除",lockAll:"すべてロック",unlockAll:"すべてのロックを解除"},statusPublished:"公開済み",sidebarLock:"サイドバーを開いたままにする",selectAllElementsInFrame:"フレーム内のすべての要素を選択",removeAllElementsFromFrame:"フレーム内のすべての要素を削除",eyeDropper:"キャンバスから色を選択",textToDiagram:"",prompt:""},XIu={noItems:"まだアイテムが追加されていません…",hint_emptyLibrary:"キャンバス上のアイテムを選択してここに追加するか、以下の公開リポジトリからライブラリをインストールしてください。",hint_emptyPrivateLibrary:"キャンバス上のアイテムを選択すると、ここに追加されます。"},vIu={clearReset:"キャンバスのリセット",exportJSON:"ファイルへエクスポート",exportImage:"画像のエクスポート...",export:"名前を付けて保存...",copyToClipboard:"クリップボードにコピー",save:"現在のファイルに保存",saveAs:"名前を付けて保存",load:"開く",getShareableLink:"共有URLの取得",close:"閉じる",selectLanguage:"言語の選択",scrollBackToContent:"コンテンツまでスクロールで戻る",zoomIn:"拡大",zoomOut:"縮小",resetZoom:"拡大/縮小をリセット",menu:"メニュー",done:"完了",edit:"編集",undo:"元に戻す",redo:"やり直し",resetLibrary:"ライブラリをリセット",createNewRoom:"新しい部屋を作成する",fullScreen:"フルスクリーン",darkMode:"ダークモード",lightMode:"ライトモード",zenMode:"Zenモード",objectsSnapMode:"",exitZenMode:"集中モードをやめる",cancel:"キャンセル",clear:"消去",remove:"削除",embed:"埋め込みの切り替え",publishLibrary:"公開",submit:"送信",confirm:"確認",embeddableInteractionButton:""},xIu={clearReset:"この操作によってキャンバス全体が消えます。よろしいですか?",couldNotCreateShareableLink:"共有URLを作成できませんでした。",couldNotCreateShareableLinkTooBig:"共有可能なリンクを作成できませんでした: シーンが大きすぎます",couldNotLoadInvalidFile:"無効なファイルを読み込めませんでした。",importBackendFailed:"サーバーからの読み込みに失敗しました。",cannotExportEmptyCanvas:"空のキャンバスはエクスポートできません。",couldNotCopyToClipboard:"クリップボードにコピーできませんでした。",decryptFailed:"データを復号できませんでした。",uploadedSecurly:"データのアップロードはエンドツーエンド暗号化によって保護されています。Excalidrawサーバーと第三者はデータの内容を見ることができません。",loadSceneOverridePrompt:"外部図面を読み込むと、既存のコンテンツが置き換わります。続行しますか?",collabStopOverridePrompt:`セッションを停止すると、ローカルに保存されている図が上書きされます。 本当によろしいですか?
(ローカルの図を保持したい場合は、セッションを停止せずにブラウザタブを閉じてください。)`,errorAddingToLibrary:"アイテムをライブラリに追加できませんでした",errorRemovingFromLibrary:"ライブラリからアイテムを削除できませんでした",confirmAddLibrary:"{{numShapes}} 個の図形をライブラリに追加します。よろしいですか?",imageDoesNotContainScene:"この画像にはシーンデータが含まれていないようです。エクスポート時にシーンの埋め込みを有効にしましたか?",cannotRestoreFromImage:"このイメージファイルからシーンを復元できませんでした",invalidSceneUrl:"指定された URL からシーンをインポートできませんでした。不正な形式であるか、有効な Excalidraw JSON データが含まれていません。",resetLibrary:"ライブラリを消去します。本当によろしいですか?",removeItemsFromsLibrary:"{{count}} 個のアイテムをライブラリから削除しますか?",invalidEncryptionKey:"暗号化キーは22文字でなければなりません。ライブコラボレーションは無効化されています。",collabOfflineWarning:`インターネットに接続されていません。
変更は保存されません!`},WIu={unsupportedFileType:"サポートされていないファイル形式です。",imageInsertError:"画像を挿入できませんでした。後でもう一度お試しください...",fileTooBig:"ファイルが大きすぎます。許可される最大サイズは {{maxSize}} です。",svgImageInsertError:"SVGイメージを挿入できませんでした。SVGマークアップは無効に見えます。",failedToFetchImage:"",invalidSVGString:"無効なSVGです。",cannotResolveCollabServer:"コラボレーションサーバに接続できませんでした。ページを再読み込みして、もう一度お試しください。",importLibraryError:"ライブラリを読み込めませんでした。",collabSaveFailed:"バックエンドデータベースに保存できませんでした。問題が解決しない場合は、作業を失わないようにローカルにファイルを保存してください。",collabSaveFailed_sizeExceeded:"キャンバスが大きすぎるため、バックエンドデータベースに保存できませんでした。問題が解決しない場合は、作業を失わないようにローカルにファイルを保存してください。",imageToolNotSupported:"",brave_measure_text_error:{line1:"<bold>Aggressly Block Fingerprinting</bold> の設定が有効なBraveブラウザを使用しているようです。",line2:"これにより、図面の <bold>テキスト要素</bold> が壊れる可能性があります。",line3:"この設定を無効にすることを強く推奨します。 <link>設定手順</link> をこちらから確認できます。",line4:"この設定を無効にすると、テキスト要素の表示が修正されません。 GitHub で <issueLink>Issue</issueLink> を開くか、 <discordLink>Discord</discordLink> にご記入ください"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},SIu={selection:"選択",image:"画像を挿入",rectangle:"矩形",diamond:"ひし形",ellipse:"楕円",arrow:"矢印",line:"直線",freedraw:"描画",text:"テキスト",library:"ライブラリ",lock:"描画後も使用中のツールを選択したままにする",penMode:"ペンモード - タッチ防止",link:"選択した図形のリンクを追加/更新",eraser:"消しゴム",frame:"フレームツール",magicframe:"",embeddable:"Web埋め込み",laser:"",hand:"手 (パンニングツール)",extraTools:"その他のツール",mermaidToExcalidraw:"",magicSettings:""},YIu={canvasActions:"キャンバス操作",selectedShapeActions:"選択された図形に対する操作",shapes:"図形"},RIu={canvasPanning:"キャンバスを移動するには、マウスホイールまたはスペースバーを押しながらドラッグするか、手ツールを使用します",linearElement:"クリックすると複数の頂点からなる曲線を開始、ドラッグすると直線",freeDraw:"クリックしてドラッグします。離すと終了します",text:"ヒント: 選択ツールを使用して任意の場所をダブルクリックしてテキストを追加することもできます",embeddable:"",text_selected:"テキストを編集するには、ダブルクリックまたはEnterキーを押します",text_editing:"Esc キーまたは CtrlOrCmd+ENTER キーを押して編集を終了します",linearElementMulti:"最後のポイントをクリックするか、エスケープまたはEnterを押して終了します",lockAngle:"SHIFTを押したままにすると、角度を制限することができます",resize:"サイズを変更中にSHIFTを押すと縦横比を固定できます。Altを押すと中央からサイズを変更できます",resizeImage:`SHIFTを長押しすると自由にサイズを変更できます。
中央からサイズを変更するにはALTを長押しします`,rotate:"回転中にSHIFT キーを押すと角度を制限することができます",lineEditor_info:"CtrlOrCmd を押したままダブルクリックするか、CtrlOrCmd + Enter を押して点を編集します",lineEditor_pointSelected:"Deleteキーを押すと点を削除、CtrlOrCmd+Dで複製、マウスドラッグで移動",lineEditor_nothingSelected:`編集する点を選択(SHIFTを押したままで複数選択)、
Altキーを押しながらクリックすると新しい点を追加`,placeImage:"クリックして画像を配置するか、クリックしてドラッグしてサイズを手動で設定します",publishLibrary:"自分のライブラリを公開",bindTextToElement:"Enterを押してテキストを追加",deepBoxSelect:"CtrlOrCmd を押し続けることでドラッグを抑止し、深い選択を行います",eraserRevert:"Alt を押し続けることで削除マークされた要素を元に戻す",firefox_clipboard_write:'この機能は、"dom.events.asyncClipboard.clipboardItem" フラグを "true" に設定することで有効になる可能性があります。Firefox でブラウザーの設定を変更するには、"about:config" ページを参照してください。',disableSnapping:""},TIu={cannotShowPreview:"プレビューを表示できません",canvasTooBig:"キャンバスが大きすぎます。",canvasTooBigTip:"ヒント: 最も遠い要素をもう少し近づけてみてください。"},OIu={headingMain:"エラーが発生しました。もう一度やり直してください。 <button>ページを再読み込みする。</button>",clearCanvasMessage:"再読み込みがうまくいかない場合は、 <button>キャンバスを消去しています</button>",clearCanvasCaveat:" これにより作業が失われます ",trackedToSentry:"識別子のエラー {{eventId}} が我々のシステムで追跡されました。",openIssueMessage:"エラーに関するシーン情報を含めないように非常に慎重に設定しました。もしあなたのシーンがプライベートでない場合は、私たちのフォローアップを検討してください。 <button>バグ報告</button> GitHub のIssueに以下の情報をコピーして貼り付けてください。",sceneContent:"シーンの内容:"},IIu={desc_intro:"他の人を編集中のあなたの画面に招待して共同編集することができます。",desc_privacy:"このセッションはエンドツーエンド暗号化されており、描画内容は保護されています。運営サーバーからも内容は見えません。",button_startSession:"セッションを開始する",button_stopSession:"セッションを終了する",desc_inProgressIntro:"共同編集セッションが有効になっています。",desc_shareLink:"下記URLを共同編集したい人に共有してください:",desc_exitSession:"セッションを終了するとあなたはルームから切断されますが、ローカルで作業を続けることができます。セッションを終了しても他のメンバには影響はなく、引き続き共同作業を行うことができます。",shareTitle:"Excalidrawの共同編集セッションに参加する"},PIu={title:"エラー"},jIu={disk_title:"ディスクに保存",disk_details:"シーンデータを後からインポートできるファイルにエクスポートします。",disk_button:"ファイルへ保存",link_title:"共有可能なリンク",link_details:"読み取り専用リンクとしてエクスポート",link_button:"リンクとしてエクスポート",excalidrawplus_description:"Excalidraw+ ワークスペースにシーンを保存します。",excalidrawplus_button:"エクスポート",excalidrawplus_exportError:"Excalidraw+ にエクスポートできませんでした..."},NIu={blog:"公式ブログを読む",click:"クリック",deepSelect:"深い選択",deepBoxSelect:"ボックス内の深い選択、およびドラッグの抑止",curvedArrow:"カーブした矢印",curvedLine:"曲線",documentation:"ドキュメント",doubleClick:"ダブルクリック",drag:"ドラッグ",editor:"エディタ",editLineArrowPoints:"",editText:"テキストの編集 / ラベルの追加",github:"不具合報告はこちら",howto:"ヘルプ・マニュアル",or:"または",preventBinding:"矢印を結合しない",tools:"ツール",shortcuts:"キーボードショートカット",textFinish:"編集を終了 (テキストエディタ)",textNewLine:"新しい行を追加 (テキスト)",title:"ヘルプ",view:"表示",zoomToFit:"すべての要素が収まるようにズーム",zoomToSelection:"選択要素にズーム",toggleElementLock:"選択したアイテムをロック/ロック解除",movePageUpDown:"ページを上下に移動",movePageLeftRight:"ページを左右に移動"},VIu={title:"キャンバスを消去"},hIu={title:"ライブラリを公開",itemName:"アイテム名",authorName:"作成者名",githubUsername:"GitHub ユーザ名",twitterUsername:"Twitter ユーザ名",libraryName:"ライブラリ名",libraryDesc:"ライブラリの説明",website:"Webサイト",placeholder:{authorName:"お名前またはユーザー名",libraryName:"あなたのライブラリ名",libraryDesc:"ライブラリの使い方を理解するための説明",githubHandle:"GitHubハンドル(任意)。一度レビューのために送信されると、ライブラリを編集できます",twitterHandle:"Twitterのユーザー名 (任意)。Twitterでプロモーションする際にクレジットする人を知っておくためのものです",website:"個人のウェブサイトまたは他のサイトへのリンク (任意)"},errors:{required:"必須項目",website:"有効な URL を入力してください"},noteDescription:"以下に含めるライブラリを提出してください <link>公開ライブラリのリポジトリ</link>他の人が作図に使えるようにするためです",noteGuidelines:"最初にライブラリを手動で承認する必要があります。次をお読みください <link>ガイドライン</link> 送信する前に、GitHubアカウントが必要になりますが、必須ではありません。",noteLicense:"提出することにより、ライブラリが次の下で公開されることに同意します: <link>MIT ライセンス </link>つまり誰でも制限なく使えるということです",noteItems:"各ライブラリ項目は、フィルタリングのために独自の名前を持つ必要があります。以下のライブラリアイテムが含まれます:",atleastOneLibItem:"開始するには少なくとも1つのライブラリ項目を選択してください",republishWarning:"注意: 選択された項目の中には、すでに公開/投稿済みと表示されているものがあります。既存のライブラリや投稿を更新する場合のみ、アイテムを再投稿してください。"},iIu={title:"ライブラリを送信しました",content:"{{authorName}} さん、ありがとうございます。あなたのライブラリはレビューのために提出されました。状況を追跡できます。<link>こちら</link>"},aIu={resetLibrary:"ライブラリをリセット",removeItemsFromLib:"選択したアイテムをライブラリから削除"},mIu={header:"画像をエクスポート",label:{withBackground:"背景",onlySelected:"",darkMode:"ダークモード",embedScene:"",scale:"スケール",padding:"余白"},tooltip:{embedScene:""},title:{exportToPng:"PNG にエクスポート",exportToSvg:"SVG にエクスポート",copyPngToClipboard:"クリップボードにPNGをコピー"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"クリップボードにコピー"}},$Iu={tooltip:"描画内容はエンドツーエンド暗号化が施されており、Excalidrawサーバーが内容を見ることはできません。",link:"Excalidrawのエンドツーエンド暗号化に関するブログ記事"},yIu={angle:"角度",element:"要素",elements:"要素",height:"高さ",scene:"シーン",selected:"選択済み",storage:"ストレージ",title:"詳細統計情報",total:"合計",version:"バージョン",versionCopy:"クリックしてコピー",versionNotAvailable:"利用できないバージョン",width:"幅"},rIu={addedToLibrary:"ライブラリに追加しました",copyStyles:"スタイルをコピーしました。",copyToClipboard:"クリップボードにコピー",copyToClipboardAsPng:`{{exportSelection}} を PNG 形式でクリップボードにコピーしました
({{exportColorScheme}})`,fileSaved:"ファイルを保存しました",fileSavedToFilename:"{filename} に保存しました",canvas:"キャンバス",selection:"選択",pasteAsSingleElement:`{{shortcut}} を使用して単一の要素として貼り付けるか、
既存のテキストエディタに貼り付け`,unableToEmbed:"",unrecognizedLinkFormat:""},gIu={transparent:"透明",black:"黒",white:"白",red:"赤",pink:"ピンク",grape:"グレープ",violet:"バイオレット",gray:"灰色",blue:"青",cyan:"シアン",teal:"ティール",green:"緑",yellow:"黄",orange:"オレンジ",bronze:"ブロンズ"},cIu={app:{center_heading:"すべてのデータはブラウザにローカル保存されます。",center_heading_plus:"代わりにExcalidraw+を開きますか?",menuHint:"エクスポート、設定、言語..."},defaults:{menuHint:"エクスポート、設定、その他...",center_heading:"ダイアグラムを簡単に。",toolbarHint:"ツールを選んで描き始めよう!",helpHint:"ショートカットとヘルプ"}},_Iu={mostUsedCustomColors:"最も使用されているカスタム色",colors:"色",shades:"影",hexCode:"Hexコード",noShades:""},pIu={action:{exportToImage:{title:"画像としてエクスポート",button:"画像としてエクスポート",description:""},saveToDisk:{title:"ディスクに保存",button:"ディスクに保存",description:""},excalidrawPlus:{title:"Excalidraw+",button:"Excalidraw+にエクスポート",description:"Excalidraw+ ワークスペースにシーンを保存します。"}},modal:{loadFromFile:{title:"ファイルからロード",button:"ファイルからロード",description:""},shareableLink:{title:"リンクからロード",button:"",description:""}}},nIu={title:"",button:"",description:"",syntax:"",preview:""},Ff3={labels:LIu,library:XIu,buttons:vIu,alerts:xIu,errors:WIu,toolBar:SIu,headings:YIu,hints:RIu,canvasError:TIu,errorSplash:OIu,roomDialog:IIu,errorDialog:PIu,exportDialog:jIu,helpDialog:NIu,clearCanvasDialog:VIu,publishDialog:hIu,publishSuccessDialog:iIu,confirmDialog:aIu,imageExportDialog:mIu,encrypted:$Iu,stats:yIu,toast:rIu,colors:gIu,welcomeScreen:cIu,colorPicker:_Iu,overwriteConfirm:pIu,mermaid:nIu}});var vPu={};ju(vPu,{welcomeScreen:()=>qPu,toolBar:()=>EPu,toast:()=>GPu,stats:()=>QPu,roomDialog:()=>UPu,publishSuccessDialog:()=>ZPu,publishDialog:()=>bPu,overwriteConfirm:()=>LPu,mermaid:()=>XPu,library:()=>tIu,labels:()=>oIu,imageExportDialog:()=>KPu,hints:()=>CPu,helpDialog:()=>fPu,headings:()=>APu,exportDialog:()=>kPu,errors:()=>BPu,errorSplash:()=>FPu,errorDialog:()=>zPu,encrypted:()=>wPu,default:()=>Uf3,confirmDialog:()=>JPu,colors:()=>HPu,colorPicker:()=>lPu,clearCanvasDialog:()=>MPu,canvasError:()=>DPu,buttons:()=>eIu,alerts:()=>uPu});var oIu,tIu,eIu,uPu,BPu,EPu,APu,CPu,DPu,FPu,UPu,zPu,kPu,fPu,MPu,bPu,ZPu,JPu,KPu,wPu,QPu,GPu,HPu,qPu,lPu,LPu,XPu,Uf3;var xPu=g(()=>{m4();oIu={paste:"Qoyıw",pasteAsPlaintext:"Ápiwayı tekst retinde qoyıw",pasteCharts:"Diagrammalardı qoyıw",selectAll:"Barlıǵın tańlaw",multiSelect:"",moveCanvas:"",cut:"Qıyıw",copy:"Kóshirip alıw",copyAsPng:"Almasıw buferine PNG retinde kóshirip alıw",copyAsSvg:"Almasıw buferine SVG retinde kóshirip alıw",copyText:"Almasıw buferine tekst retinde kóshirip alıw",copySource:"",convertToCode:"",bringForward:"",sendToBack:"",bringToFront:"",sendBackward:"",delete:"Óshiriw",copyStyles:"",pasteStyles:"",stroke:"Jiyek",background:"Fon",fill:"",strokeWidth:"",strokeStyle:"",strokeStyle_solid:"",strokeStyle_dashed:"",strokeStyle_dotted:"",sloppiness:"",opacity:"",textAlign:"",edges:"Qırlar",sharp:"",round:"",arrowheads:"",arrowhead_none:"Joq",arrowhead_arrow:"Jebe",arrowhead_bar:"",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Shrift ólshemi",fontFamily:"Shrift toplamı",addWatermark:"",handDrawn:"",normal:"",code:"Kod",small:"",medium:"Ortasha",large:"Úlken",veryLarge:"Júdá úlken",solid:"",hachure:"",zigzag:"Zigzag",crossHatch:"",thin:"Jińishke",bold:"Qalıń",left:"",center:"",right:"",extraBold:"",architect:"",artist:"Súwretshi",cartoonist:"",fileTitle:"Fayl ataması",colorPicker:"Reńdi tańlaw",canvasColors:"",canvasBackground:"",drawingCanvas:"",layers:"Qatlamlar",actions:"Háreketler",language:"Til",liveCollaboration:"",duplicateSelection:"Nusqa",untitled:"Atamasız",name:"Ataması",yourName:"Atıńız",madeWithExcalidraw:"Excalidraw járdeminde islengen",group:"",ungroup:"",collaborators:"Qatnasıwshılar",showGrid:"",addToLibrary:"Kitapxanaǵa qosıw",removeFromLibrary:"Kitapxanadan alıp taslaw",libraryLoadingMessage:"Kitapxana júklenbekte…",libraries:"Kitapxanalardı kóriw",loadingScene:"Saxna júklenbekte…",align:"",alignTop:"",alignBottom:"",alignLeft:"",alignRight:"",centerVertically:"",centerHorizontally:"",distributeHorizontally:"",distributeVertically:"",flipHorizontal:"",flipVertical:"",viewMode:"Kóriw rejimi",share:"Bólisiw",showStroke:"",showBackground:"",toggleTheme:"Temanı ózgertiw",personalLib:"Jeke kitapxana",excalidrawLib:"Excalidraw kitapxanası",decreaseFontSize:"Shrift ólshemin kishireytiw",increaseFontSize:"Shrift ólshemin úlkeytiw",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"Siltemeni ózgertiw",editEmbed:"",create:"Siltemeni jaratıw",createEmbed:"",label:"Silteme",labelEmbed:"",empty:""},lineEditor:{edit:"Qatardı ózgertiw",exit:"Qatardı ózgertiw redaktorınan shıǵıw"},elementLock:{lock:"Qulıplaw",unlock:"Qulıptan shıǵarıw",lockAll:"Barlıǵın qulıplaw",unlockAll:"Barlıǵın qulıptan shıǵarıw"},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},tIu={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},eIu={clearReset:"",exportJSON:"",exportImage:"Súwretti eksportlaw...",export:"Retinde saqlaw...",copyToClipboard:"Almasıw buferine kóshirip alındı",save:"Ámeldegi faylǵa saqlaw",saveAs:"Retinde saqlaw",load:"Ashıw",getShareableLink:"",close:"Jabıw",selectLanguage:"Tildi tańlaw",scrollBackToContent:"",zoomIn:"",zoomOut:"",resetZoom:"",menu:"Menyu",done:"Tayın",edit:"Ózgertiw",undo:"",redo:"",resetLibrary:"",createNewRoom:"",fullScreen:"Tolıq ekran",darkMode:"Qarańǵı tema",lightMode:"Jaqtı tema",zenMode:"",objectsSnapMode:"",exitZenMode:"",cancel:"Biykarlaw",clear:"Tazalaw",remove:"Óshiriw",embed:"",publishLibrary:"Jariyalaw",submit:"Jiberiw",confirm:"Tastıyıqlaw",embeddableInteractionButton:""},uPu={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"Almasıw buferine kóshirip alıw ámelge aspadı.",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},BPu={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"Jaramsız SVG.",cannotResolveCollabServer:"",importLibraryError:"Kitapxananı júklew ámelge aspadı",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},EPu={selection:"",image:"Súwret qoyıw",rectangle:"Tórt múyeshlik",diamond:"",ellipse:"",arrow:"",line:"Sızıq",freedraw:"Sızıw",text:"Tekst",library:"Kitapxana",lock:"",penMode:"",link:"",eraser:"Óshirgish",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},APu={canvasActions:"",selectedShapeActions:"",shapes:"Figuralar"},CPu={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"Tekst qosıw ushın Enter túymesin basıń",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},DPu={cannotShowPreview:"Aldınnan kóriwdi kórsetiw múmkin emes",canvasTooBig:"",canvasTooBigTip:""},FPu={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},UPu={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},zPu={title:"Qátelik"},kPu={disk_title:"Diskke saqlaw",disk_details:"",disk_button:"Faylǵa saqlaw",link_title:"",link_details:"",link_button:"Siltemege eksportlaw",excalidrawplus_description:"",excalidrawplus_button:"Eksportlaw",excalidrawplus_exportError:""},fPu={blog:"Biziń blogtı oqıń",click:"basıw",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"Hújjetshilik",doubleClick:"",drag:"",editor:"Redaktor",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"yamasa",preventBinding:"",tools:"Ásbaplar",shortcuts:"",textFinish:"",textNewLine:"",title:"Járdem",view:"Kóriw",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},MPu={title:""},bPu={title:"",itemName:"",authorName:"Avtor atı",githubUsername:"GitHub paydalanıwshı atı",twitterUsername:"Twitter paydalanıwshı atı",libraryName:"Kitapxana ataması",libraryDesc:"",website:"Veb-sayt",placeholder:{authorName:"Atıńız yamasa paydalanıwshı atı",libraryName:"Kitapxanańız ataması",libraryDesc:"",githubHandle:"",twitterHandle:"",website:"Jeke veb-saytıńız yamasa basqa saytqa silteme (májbúriy emes)"},errors:{required:"Májbúriy",website:"Jaramlı URL mánzil kirgiziń"},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},ZPu={title:"Kitapxana jiberildi",content:""},JPu={resetLibrary:"Kitapxananı qayta ornatıw",removeItemsFromLib:""},KPu={header:"Súwretti eksportlaw",label:{withBackground:"Fon",onlySelected:"",darkMode:"Qarańǵı tema",embedScene:"",scale:"Kólem",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Almasıw buferine kóshirip alıw"}},wPu={tooltip:"",link:""},QPu={angle:"",element:"Element",elements:"Elementler",height:"",scene:"Saxna",selected:"Tańlandı",storage:"",title:"",total:"",version:"Versiya",versionCopy:"Kóshirip alıw ushın basıń",versionNotAvailable:"",width:"Eni"},GPu={addedToLibrary:"Kitapxanaǵa qosıldı",copyStyles:"",copyToClipboard:"Almasıw buferine kóshirip alındı.",copyToClipboardAsPng:"",fileSaved:"Fayl saqlandı.",fileSavedToFilename:"{filename} saqlandı",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},HPu={transparent:"",black:"Qara",white:"Aq",red:"Qızıl",pink:"Qızǵılt",grape:"",violet:"Qızǵılt kók",gray:"",blue:"Kók",cyan:"Kók aspan",teal:"Piruza",green:"Jasıl",yellow:"Sarı",orange:"Qızǵılt sarı",bronze:""},qPu={app:{center_heading:"",center_heading_plus:"Excalidraw+ ge ótiwdi qáleysiz be?",menuHint:"Eksportlaw, sazlawlar, tiller, ..."},defaults:{menuHint:"Eksportlaw, sazlawlar hám basqa...",center_heading:"Diagrammalar. Ápiwayı.",toolbarHint:"",helpHint:""}},lPu={mostUsedCustomColors:"Kóp qollanılatuǵın arnawlı reńler",colors:"Reńler",shades:"",hexCode:"",noShades:""},LPu={action:{exportToImage:{title:"Súwret retinde eksportlaw",button:"Súwret retinde eksportlaw",description:""},saveToDisk:{title:"Diskke saqlaw",button:"Diskke saqlaw",description:""},excalidrawPlus:{title:"Excalidraw+",button:"",description:""}},modal:{loadFromFile:{title:"Fayldan júklew",button:"Fayldan júklew",description:""},shareableLink:{title:"Siltemeden júklew",button:"",description:""}}},XPu={title:"",button:"",description:"",syntax:"",preview:""},Uf3={labels:oIu,library:tIu,buttons:eIu,alerts:uPu,errors:BPu,toolBar:EPu,headings:APu,hints:CPu,canvasError:DPu,errorSplash:FPu,roomDialog:UPu,errorDialog:zPu,exportDialog:kPu,helpDialog:fPu,clearCanvasDialog:MPu,publishDialog:bPu,publishSuccessDialog:ZPu,confirmDialog:JPu,imageExportDialog:KPu,encrypted:wPu,stats:QPu,toast:GPu,colors:HPu,welcomeScreen:qPu,colorPicker:lPu,overwriteConfirm:LPu,mermaid:XPu}});var ePu={};ju(ePu,{welcomeScreen:()=>dPu,toolBar:()=>OPu,toast:()=>pPu,stats:()=>_Pu,roomDialog:()=>VPu,publishSuccessDialog:()=>yPu,publishDialog:()=>$Pu,overwriteConfirm:()=>oPu,mermaid:()=>tPu,library:()=>SPu,labels:()=>WPu,imageExportDialog:()=>gPu,hints:()=>PPu,helpDialog:()=>aPu,headings:()=>IPu,exportDialog:()=>iPu,errors:()=>TPu,errorSplash:()=>NPu,errorDialog:()=>hPu,encrypted:()=>cPu,default:()=>zf3,confirmDialog:()=>rPu,colors:()=>nPu,colorPicker:()=>sPu,clearCanvasDialog:()=>mPu,canvasError:()=>jPu,buttons:()=>YPu,alerts:()=>RPu});var WPu,SPu,YPu,RPu,TPu,OPu,IPu,PPu,jPu,NPu,VPu,hPu,iPu,aPu,mPu,$Pu,yPu,rPu,gPu,cPu,_Pu,pPu,nPu,dPu,sPu,oPu,tPu,zf3;var uju=g(()=>{m4();WPu={paste:"Senṭeḍ",pasteAsPlaintext:"",pasteCharts:"Senṭeḍ udlifen",selectAll:"Fren akk",multiSelect:"Rnu aferdis ɣer tefrayt",moveCanvas:"Smutti taɣzut n usuneɣ",cut:"Gzem",copy:"Nɣel",copyAsPng:"Nɣel ɣer tecfawit am PNG",copyAsSvg:"Nɣel ɣer tecfawit am SVG",copyText:"Nɣel ɣer tecfawit am uḍris",copySource:"",convertToCode:"",bringForward:"Awi ɣer sdat",sendToBack:"Awi s agilal",bringToFront:"Err ɣer deffir",sendBackward:"Awi ɣer deffir",delete:"Kkes",copyStyles:"Nɣel iɣunab",pasteStyles:"Senṭeḍ iɣunab",stroke:"Azizdew",background:"Agilal",fill:"Taččart",strokeWidth:"Tehri n yizirig",strokeStyle:"Aɣanib n tizirig",strokeStyle_solid:"Aččuran",strokeStyle_dashed:"S tjerriḍin",strokeStyle_dotted:"S tenqiḍin",sloppiness:"Astehzi",opacity:"Tiḍullest",textAlign:"Areyyec n uḍris",edges:"Leryuf",sharp:"Yemsed",round:"Imdewer",arrowheads:"Ixfawen n tenccabt",arrowhead_none:"Ulac",arrowhead_arrow:"Taneccabt",arrowhead_bar:"Afeggag",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Akerdis",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Tiddi n tsefsit",fontFamily:"Tawacult n tsefsiyin",addWatermark:'Seddu "Yettwaxdem s Excalidraw"',handDrawn:"Asuneɣ s ufus",normal:"Amagnu",code:"Tangalt",small:"Meẓẓi",medium:"Alemmas",large:"Ameqran",veryLarge:"Meqqer aṭas",solid:"Aččuran",hachure:"Azerreg",zigzag:"",crossHatch:"Azerreg anmidag",thin:"Arqaq",bold:"Azuran",left:"Azelmaḍ",center:"Talemmast",right:"Ayfus",extraBold:"Azuran aṭas",architect:"Amasdag",artist:"Anaẓur",cartoonist:"Amefɣul",fileTitle:"Isem n ufaylu",colorPicker:"Amafran n yini",canvasColors:"Yettwaseqdec di teɣzut n usuneɣ",canvasBackground:"Agilal n teɣzut n usuneɣ",drawingCanvas:"Taɣzut n usuneɣ",layers:"Tissiyin",actions:"Tigawin",language:"Tutlayt",liveCollaboration:"Amɛiwen s srid...",duplicateSelection:"Sisleg",untitled:"War azwel",name:"Isem",yourName:"Isem-ik (im)",madeWithExcalidraw:"Yettwaxdem s Excalidraw",group:"Segrew tafrayt",ungroup:"Kkess asegrew i tefrayt",collaborators:"Imɛiwnen",showGrid:"Beqqeḍ aferrug",addToLibrary:"Rnu ɣer temkarḍit",removeFromLibrary:"Kkes si temkarḍit",libraryLoadingMessage:"Asali n temkarḍit…",libraries:"Snirem timkarḍiyin",loadingScene:"Asali n usayes…",align:"Reyyec",alignTop:"Areyyec uksawen",alignBottom:"Areyyec ukessar",alignLeft:"Reyyec s azelmaḍ",alignRight:"Areyyec s ayfus",centerVertically:"Di tlemmast s ibeddi",centerHorizontally:"Di tlemmast s uglawi",distributeHorizontally:"Freq s uglawi",distributeVertically:"Freq s yibeddi",flipHorizontal:"Tuttya taglawant",flipVertical:"Tuttya tubdidt",viewMode:"Askar n tmuɣli",share:"Bḍu",showStroke:"Beqqeḍ amelqaḍ n yini n yizirig",showBackground:"Beqqeḍ amelqaḍ n yini n ugilal",toggleTheme:"Snifel asentel",personalLib:"Tamkarḍit tudmawant",excalidrawLib:"Tamkarḍit n Excalidraw",decreaseFontSize:"Senqes tiddi n tsefsit",increaseFontSize:"Sali tiddi n tsefsit",unbindText:"Serreḥ iweḍris",bindText:"Arez aḍris s anagbar",createContainerFromText:"",link:{edit:"Ẓreg aseɣwen",editEmbed:"",create:"Snulfu-d aseɣwen",createEmbed:"",label:"Aseɣwen",labelEmbed:"",empty:""},lineEditor:{edit:"Ẓreg izirig",exit:"Ffeɣ seg umaẓrag n yizirig"},elementLock:{lock:"Sekkeṛ",unlock:"Serreḥ",lockAll:"Sekkeṛ akk",unlockAll:"Serreḥ akk"},statusPublished:"Yeffeɣ-d",sidebarLock:"Eǧǧ afeggag n yidis yeldi",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},SPu={noItems:"Ulac iferdisen yettwarnan yakan...",hint_emptyLibrary:"Fren aferdis di teɣzut nusuneɣ akken at-ternuḍ dagi, neɣ sbedd tamkarḍit seg usarsay azayez, ukessar-agi.",hint_emptyPrivateLibrary:"Fren aferdis di teɣzut nusuneɣ akken at-ternuḍ dagi."},YPu={clearReset:"Ales awennez n teɣzut n usuneɣ",exportJSON:"Sifeḍ afaylu",exportImage:"Sifeḍ tugna...",export:"Sekles di...",copyToClipboard:"Nɣel ɣer tecfawit",save:"Sekles deg ufaylu amiran",saveAs:"Sekles am",load:"Ldi",getShareableLink:"Awi-d aseɣwen n beṭṭu",close:"Mdel",selectLanguage:"Fren tutlayt",scrollBackToContent:"Uɣal s agbur",zoomIn:"Simɣur",zoomOut:"Simẓi",resetZoom:"Ales awennez n usemɣer",menu:"Umuɣ",done:"Ifukk",edit:"Ẓreg",undo:"Sefsex",redo:"Err-d",resetLibrary:"Ales awennez n temkarḍit",createNewRoom:"Snulfu-d taxxamt tamaynutt",fullScreen:"Agdil aččuran",darkMode:"Askar imsulles",lightMode:"Askar afaw",zenMode:"Askar Zen",objectsSnapMode:"",exitZenMode:"Ffeɣ seg uskar Zen",cancel:"Sefsex",clear:"Sfeḍ",remove:"Kkes",embed:"",publishLibrary:"Ẓreg",submit:"Azen",confirm:"Sentem",embeddableInteractionButton:""},RPu={clearReset:"Ayagi ad isfeḍ akk taɣzut n usuneɣ. Tetḥeqqeḍ?",couldNotCreateShareableLink:"D awezɣi asnulfu n useɣwen n beṭṭu.",couldNotCreateShareableLinkTooBig:"D awezɣi asnulfu n useɣwen n beṭṭu. Asayes ɣezzif aṭas",couldNotLoadInvalidFile:"D awezɣi asali n ufaylu armeɣtu",importBackendFailed:"Takterḍ seg uɣawas n deffir ur teddi ara.",cannotExportEmptyCanvas:"D awezɣi asifeḍ n teɣzut n usuneɣ tilemt.",couldNotCopyToClipboard:"Ulamek anɣal ɣer tecfawit.",decryptFailed:"D awezɣi tukksa n uwgelhen i yisefka.",uploadedSecurly:"Asili yettwasɣelles s uwgelhen ixef s ixef, ayagi yebɣa ad d-yini belli aqeddac n Excalidraw akked medden ur zmiren ara ad ɣren agbur.",loadSceneOverridePrompt:"Asali n wunuɣ uffiɣ ad isemselsi agbur-inek (m) yellan. Tebɣiḍ ad tkemmeleḍ?",collabStopOverridePrompt:`Aḥbas n tɣimit ad yesefsex unuɣ-inek (m) yettwaḥerzen yakan s wudem adigan. Tetḥeqqeḍ?
(Ma tebɣiḍ ad teǧǧeḍ unuɣ-inek (m) adigan, mdel iccer n yiminig, deg umḍiq.)`,errorAddingToLibrary:"Ulamek ara yettwarnu uferdis ɣer temkarḍit",errorRemovingFromLibrary:"Ulamek ara yettwakkes uferdis si temkarḍit",confirmAddLibrary:"Ayagi adirnu talɣa (win) {{numShapes}} ɣer temkarḍit-inek (m). Tetḥeqqeḍ?",imageDoesNotContainScene:"Tugna-agi tettban-d ur tesɛi ara isefka n usayes. Tesremdeḍ aseddu n usayes deg usifeḍ?",cannotRestoreFromImage:"Asayes ulamek ara d-yettwarr seg ufaylu-agi n tugna",invalidSceneUrl:"Ulamek taktert n usayes seg URL i d-ittunefken. Ahat mačči d tameɣtut neɣ ur tegbir ara isefka JSON n Excalidraw.",resetLibrary:"Ayagi ad isfeḍ tamkarḍit-inek•m. Tetḥeqqeḍ?",removeItemsFromsLibrary:"Ad tekkseḍ {{count}} n uferdis (en) si temkarḍit?",invalidEncryptionKey:"Tasarut n uwgelhen isefk ad tesɛu 22 n yiekkilen. Amɛiwen srid yensa.",collabOfflineWarning:`Ulac tuqqna n internet.
Ibedilen-ik ur ttwaklasen ara!`},TPu={unsupportedFileType:"Anaw n ufaylu ur yettwasefrak ara.",imageInsertError:"D awezɣi tugra n tugna. Eɛreḍ tikkelt-nniḍen ardeqqal...",fileTooBig:"Afaylu meqqer aṭas. Tiddi tafellayt yurgen d {{maxSize}}.",svgImageInsertError:"D awezɣi tugra n tugna SVG. Acraḍ SVG yettban-d d armeɣtu.",failedToFetchImage:"",invalidSVGString:"SVG armeɣtu.",cannotResolveCollabServer:"Ulamek tuqqna s aqeddac n umyalel. Ma ulac uɣilif ales asali n usebter sakin eɛreḍ tikkelt-nniḍen.",importLibraryError:"Ur d-ssalay ara tamkarḍit",collabSaveFailed:"Ulamek asekles deg uzadur n yisefka deg ugilal. Ma ikemmel wugur, isefk ad teskelseḍ afaylu s wudem adigan akken ad tetḥeqqeḍ ur tesruḥuyeḍ ara amahil-inek•inem.",collabSaveFailed_sizeExceeded:"Ulamek asekles deg uzadur n yisefka deg ugilal, taɣzut n usuneɣ tettban-d temqer aṭas. Isefk ad teskelseḍ afaylu s wudem adigan akken ad tetḥeqqeḍ ur tesruḥuyeḍ ara amahil-inek•inem.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"Ayagi yezmer ad d-iglu s truẓi n<bold>Iferdisen n uḍris</bold>deg wunuɣen-inek.",line3:"Ad k-nsemter ad tsexsiḍ aɣewwar-agi. Tzemreḍ ad tḍefreḍ<link>isurifen-agi</link> ɣef wamek ara txedmeḍ.",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},OPu={selection:"Tafrayt",image:"Ger tugna",rectangle:"Asrem",diamond:"Ameɣṛun",ellipse:"Taglayt",arrow:"Taneccabt",line:"Izirig",freedraw:"Suneɣ",text:"Aḍris",library:"Tamkarḍit",lock:"Eǧǧ afecku n tefrayt yermed mbaɛd asuneɣ",penMode:"Askar n yimru - gdel tanalit",link:"Rnu/leqqem aseɣwen i talɣa yettwafernen",eraser:"Sfeḍ",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Afus (afecku n usmutti n tmuɣli)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},IPu={canvasActions:"Tigawin n teɣzut n usuneɣ",selectedShapeActions:"Tigawin n talɣa yettwafernen",shapes:"Talɣiwin"},PPu={canvasPanning:"Akken ad tesmuttiḍ taɣzut n usuneɣ, ṭṭef ṛṛuda n umumed, neɣ seqdec afecku Afus",linearElement:"Ssit akken ad tebduḍ aṭas n tenqiḍin, zuɣer i yiwen n yizirig",freeDraw:"Ssit yerna zuɣer, serreḥ ticki tfukeḍ",text:"Tixidest: tzemreḍ daɣen ad ternuḍ aḍris s usiti snat n tikkal anida tebɣiḍ s ufecku n tefrayt",embeddable:"",text_selected:"Ssit snat n tikkal neɣ ssed taqeffalt Kcem akken ad tẓergeḍ aḍris",text_editing:"Ssit Escape neɣ CtrlOrCmd+ENTER akken ad tfakkeḍ asiẓreg",linearElementMulti:"Ssit ɣef tenqiḍt taneggarut neɣ ssed taqeffalt Escape neɣ taqeffalt Kcem akken ad tfakkeḍ",lockAngle:"Tzemreḍ ad tḥettmeḍ tiɣmert s tuṭṭfa n tqeffalt SHIFT",resize:`Tzemreḍ ad tḥettemeḍ assaɣ s tuṭṭfa n tqeffalt SHIFT mi ara tettbeddileḍ tiddi,
ma teṭṭfeḍ ALT abeddel n tiddi ad yili si tlemmast`,resizeImage:`Tzemreḍ ad talseḍ tiddi s tilelli s tuṭṭfa n SHIFT,
ṭṭef ALT akken ad talseḍ tiddi si tlemmast`,rotate:"Tzemreḍ ad tḥettemeḍ tiɣemmar s tuṭṭfa n SHIFT di tuzzya",lineEditor_info:"Ssed ɣef CtrlOrCmd yerna ssit snat n tikkal neɣ ssed ɣef CtrlOrCmd + Kcem akken ad tẓergeḍ tineqqiḍin",lineEditor_pointSelected:`Ssed taqeffalt kkes akken ad tekkseḍ tanqiḍ (tinqiḍin),
CtrlOrCmd+D akken ad tsiselgeḍ, neɣ zuɣer akken ad tesmuttiḍ`,lineEditor_nothingSelected:`Fren tanqiḍt akken ad tẓergeḍ (ṭṭef SHIFT akken ad tferneḍ aṭas),
neɣ ṭṭef Alt akken ad ternuḍ tinqiḍin timaynutin`,placeImage:"Ssit akken ad tserseḍ tugna, neɣ ssit u zuɣer akken ad tesbaduḍ tiddi-ines s ufus",publishLibrary:"Siẓreg tamkarḍit-inek•inem",bindTextToElement:"Ssed ɣef kcem akken ad ternuḍ aḍris",deepBoxSelect:"Ṭṭef CtrlOrCmd akken ad tferneḍ s telqey, yerna ad trewleḍ i uzuɣer",eraserRevert:"Ssed Alt akken ad tsefsxeḍ iferdisen yettwacerḍen i tukksa",firefox_clipboard_write:"",disableSnapping:""},jPu={cannotShowPreview:"Ulamek abeqqeḍ n teskant",canvasTooBig:"Taɣzut n usuneɣ tezmer ad tili temeqqer aṭas.",canvasTooBigTip:"Tixidest: eɛreḍ ad tesqerbeḍ ciṭ iferdisen yembaɛaden."},NPu={headingMain:"Teḍra-d tuccḍa. Eɛreḍ <button>asali n usebter tikkelt-nniḍen.</button>",clearCanvasMessage:"Ma yella tulsa n usali ur tefri ara ugur, eɛreḍ <button>asfaḍ n teɣzut n usuneɣ.</button>",clearCanvasCaveat:" Ayagi ad d-iglu s usṛuḥu n umahil ",trackedToSentry:"Tuccḍa akked umesmagi {{eventId}} tettwasekles deg unagraw-nneɣ.",openIssueMessage:"Nḥuder aṭas akken ur nseddu ara talɣut n usayes-inek (m) di tuccḍa. Ma yella asayes-inek (m) mačči d amaẓlay, ttxil-k (m) xemmem ad ḍefreḍ <button>afecku n weḍfar n yibugen.</button> Ma ulac uɣilif seddu talɣut ukessar-agi s wenɣal akked usenṭeḍ di GitHub issue.",sceneContent:"Agbur n usayes:"},VPu={desc_intro:"Tzemreḍ ad d-teɛerḍeḍ medden ɣer usayes-inek (m) amiran akken ad ttekkin yid-k.",desc_privacy:"Ur tqelliq ara, tiɣimit tsseqdac awgelhen ixef s ixef, dɣa ayen ara tsunɣeḍ ad iqqim d amaẓlay. Ula d aqeddac-nneɣ ur yezmir ara ad iwali acu txeddemeḍ.",button_startSession:"Bdu tiɣimit",button_stopSession:"Ḥbes tiɣimit",desc_inProgressIntro:"Tiɣimit n umɛawen s srid tetteddu akka tura.",desc_shareLink:"Bḍu aseɣwen-agi akked medden ukud tebɣiḍ ad temɛawaneḍ:",desc_exitSession:"Aḥbas n tɣimit ad k (m) yesenser si texxamt, maca ad tizmireḍ ad tkemmeleḍ amahil s usayes, s wudem adigan. Ẓer belli ayagi ur yettḥaz ara imdanen-nniḍen, yerna ad izmiren ad kemmelen ad mɛawanen di tsuffeɣt-nnsen.",shareTitle:"Rnu ɣer tɣimit n umɛiwen s srid n Excalidraw"},hPu={title:"Tuccḍa"},iPu={disk_title:"Sekles deg uḍebsi",disk_details:"Sekles isefka n usayes deg ufaylu ansi ara tizmireḍ ad d-tketreḍ areḍqal.",disk_button:"Sekles deg ufaylu",link_title:"Aseɣwen n beṭṭu",link_details:"Sifeḍ am useɣwen n tɣuri kan.",link_button:"Sifeḍ deg useɣwen",excalidrawplus_description:"Sekles asayes-inek•inem di tallunt n umahil Excalidraw+.",excalidrawplus_button:"Sifeḍ",excalidrawplus_exportError:"Ulamek asifeḍ ɣer Excalidraw+ akka tura..."},aPu={blog:"Ɣeṛ ablug-nneɣ",click:"ssit",deepSelect:"Afran s telqey",deepBoxSelect:"Afran s telqey s tnaka, yerna ad tyrewleḍ i uzuɣer",curvedArrow:"Taneccabt izelgen",curvedLine:"Izirig izelgen",documentation:"Tasemlit",doubleClick:"ssit snat n tikkal",drag:"zuɣer",editor:"Amaẓrag",editLineArrowPoints:"Ẓreg tinqiḍin n yizirig/taneccabt",editText:"Ẓreg aḍris/rnu tabzimt",github:"Tufiḍ-d ugur? Azen-aɣ-d",howto:"Ḍfer imniren-nneɣ",or:"neɣ",preventBinding:"Seḥbes tuqqna n tneccabin",tools:"Ifecka",shortcuts:"Inegzumen n unasiw",textFinish:"Fak asiẓreg (amaẓrag n uḍris)",textNewLine:"Rnu ajerriḍ amaynut (amaẓrag n uḍris)",title:"Tallelt",view:"Tamuɣli",zoomToFit:"Simɣur akken ad twliḍ akk iferdisen",zoomToSelection:"Simɣur ɣer tefrayt",toggleElementLock:"Sekkeṛ/kkes asekker i tefrayt",movePageUpDown:"Smutti asebter d asawen/akessar",movePageLeftRight:"Smutti asebter s azelmaḍ/ayfus"},mPu={title:"Sfeḍ taɣzut n usuneɣ"},$Pu={title:"Suffeɣ-d tamkarḍit",itemName:"Isem n uferdis",authorName:"Isem n umeskar",githubUsername:"Isem n useqdac n GitHub",twitterUsername:"Isem n useqdac n Twitter",libraryName:"Isem n temkarḍit",libraryDesc:"Aglam n temkarḍit",website:"Asmel n web",placeholder:{authorName:"Isem neɣ isem n useqdac inek•inem",libraryName:"Isem n temkarḍit-inek•inem",libraryDesc:"Aglam n temkarḍit-inek•inem akken ad tɛiwneḍ medden ad fehmen aseqdec-inec",githubHandle:"Isem n useqdac n GitHub ( d anefrunan) akken ad tizmireḍ ad tisẓrigeḍ tamkarḍit ticki tuzneḍ-tt i uselken",twitterHandle:"Isem n useqdac n Twitter (d anefrunan) akken ad nẓer anwa ara nsenmer deg udellel di Twitter",website:"Aseɣwen ɣer usmel-inek•inem neɣ wayeḍ (d anefrunan)"},errors:{required:"Yettwasra",website:"Sekcem URL ameɣtu"},noteDescription:"Azen tamkarḍit-inek•inem akken ad teddu di <link>akaram azayez n temkarḍit</link>i yimdanen-nniḍen ara isqedcen deg wunuɣen-nnsen.",noteGuidelines:"Tamkarḍit teḥwaǧ ad tettwaqbel s ufus qbel. Ma ulac uɣilif ɣer <link>iwellihen</link> send ad tazneḍ. Tesriḍ amiḍan n GitHub akken ad tmmeslayeḍ yerna ad tgeḍ ibeddilen ma yelaq, maca mačči d ayen yettwaḥetmen.",noteLicense:"Mi tuzneḍ ad tqebleḍ akken tamkarḍit ad d-teffeɣ s <link>Turagt MIT, </link>ayen yebɣan ad d-yini belli yal yiwen izmer ad ten-iseqdec war tilist.",noteItems:"Yal aferdis n temkarḍit isefk ad isɛu isem-is i yiman-is akken ad yili wamek ara yettusizdeg. Iferdisen-agi n temkarḍit ad ddun:",atleastOneLibItem:"Ma ulac uɣilif fern ma drus yiwen n uferdis n temkarḍit akken ad tebduḍ",republishWarning:"Tamawt: kra n yiferdisen yettwafernen ttwacerḍen ffeɣen-d/ttwaznen. Isefk ad talseḍ tuzzna n yiferdisen anagar mi ara tleqqemeḍ tamkarḍit neɣ tuzzna yellan."},yPu={title:"Tamkarḍit tettwazen",content:"Tanemmirt-ik•im {{authorName}}. Tamkarḍit-inek•inem tettwazen i weselken. Tzemreḍ ad tḍefreḍ aẓayer<link>dagi</link>"},rPu={resetLibrary:"Ales awennez n temkarḍit",removeItemsFromLib:"Kkes iferdisen yettafernen si temkarḍit"},gPu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},cPu={tooltip:"Unuɣen-inek (m) ttuwgelhnen seg yixef s ixef dɣa iqeddacen n Excalidraw werǧin ad ten-walin. ",link:"Amagrad ɣef uwgelhen ixef s ixef di Excalidraw"},_Pu={angle:"Tiɣmeṛt",element:"Aferdis",elements:"Iferdisen",height:"Tattayt",scene:"Asayes",selected:"Yettwafren",storage:"Aḥraz",title:"",total:"Aɣrud",version:"Alqem",versionCopy:"Sit ad tneɣleḍ",versionNotAvailable:"Ur inuḥ ulqem",width:"Tehri"},pPu={addedToLibrary:"Yettwarna ɣer temkarḍit",copyStyles:"Iɣunab yettwaneɣlen.",copyToClipboard:"Yettwaɣel ɣer tecfawit.",copyToClipboardAsPng:`{{exportSelection}} yettwanɣel ɣer tecfawit am PNG
({{exportColorScheme}})`,fileSaved:"Afaylu yettwasekles.",fileSavedToFilename:"Yettwasekles di {filename}",canvas:"taɣzut n usuneɣ",selection:"tafrayt",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},nPu={transparent:"Afrawan",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},dPu={app:{center_heading:"Akk isefka-inek•inem ttwakelsen s wudem adigan deg yiminig-inek•inem.",center_heading_plus:"Tebɣiḍ ad tedduḍ ɣer Excalidraw+ deg umḍiq?",menuHint:"Asifeḍ, ismenyifen, tutlayin, ..."},defaults:{menuHint:"Asifeḍ, ismenyifen, d wayen-nniḍen...",center_heading:"",toolbarHint:"Fren afecku tebduḍ asuneɣ!",helpHint:"Inegzumen akked tallelt"}},sPu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},oPu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},tPu={title:"",button:"",description:"",syntax:"",preview:""},zf3={labels:WPu,library:SPu,buttons:YPu,alerts:RPu,errors:TPu,toolBar:OPu,headings:IPu,hints:PPu,canvasError:jPu,errorSplash:NPu,roomDialog:VPu,errorDialog:hPu,exportDialog:iPu,helpDialog:aPu,clearCanvasDialog:mPu,publishDialog:$Pu,publishSuccessDialog:yPu,confirmDialog:rPu,imageExportDialog:gPu,encrypted:cPu,stats:_Pu,toast:pPu,colors:nPu,welcomeScreen:dPu,colorPicker:sPu,overwriteConfirm:oPu,mermaid:tPu}});var Yju={};ju(Yju,{welcomeScreen:()=>vju,toolBar:()=>Fju,toast:()=>Lju,stats:()=>lju,roomDialog:()=>Mju,publishSuccessDialog:()=>Qju,publishDialog:()=>wju,overwriteConfirm:()=>Wju,mermaid:()=>Sju,library:()=>Eju,labels:()=>Bju,imageExportDialog:()=>Hju,hints:()=>zju,helpDialog:()=>Jju,headings:()=>Uju,exportDialog:()=>Zju,errors:()=>Dju,errorSplash:()=>fju,errorDialog:()=>bju,encrypted:()=>qju,default:()=>kf3,confirmDialog:()=>Gju,colors:()=>Xju,colorPicker:()=>xju,clearCanvasDialog:()=>Kju,canvasError:()=>kju,buttons:()=>Aju,alerts:()=>Cju});var Bju,Eju,Aju,Cju,Dju,Fju,Uju,zju,kju,fju,Mju,bju,Zju,Jju,Kju,wju,Qju,Gju,Hju,qju,lju,Lju,Xju,vju,xju,Wju,Sju,kf3;var Rju=g(()=>{m4();Bju={paste:"Қою",pasteAsPlaintext:"",pasteCharts:"Диаграммаларды қою",selectAll:"Бәрін таңдау",multiSelect:"",moveCanvas:"",cut:"Қию",copy:"Көшіру",copyAsPng:"",copyAsSvg:"",copyText:"",copySource:"",convertToCode:"",bringForward:"",sendToBack:"",bringToFront:"",sendBackward:"",delete:"Жою",copyStyles:"Стильдерді көшіру",pasteStyles:"Стильдерді қою",stroke:"",background:"",fill:"",strokeWidth:"",strokeStyle:"",strokeStyle_solid:"",strokeStyle_dashed:"",strokeStyle_dotted:"",sloppiness:"",opacity:"",textAlign:"",edges:"",sharp:"",round:"",arrowheads:"Нұсқар ұштары",arrowhead_none:"Жоқ",arrowhead_arrow:"Нұсқар",arrowhead_bar:"Тосқауыл",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Қаріп өлшемі",fontFamily:"Қаріп тобы",addWatermark:"",handDrawn:"",normal:"Қалыпты",code:"",small:"Кіші",medium:"Орта",large:"Үлкен",veryLarge:"Өте үлкен",solid:"",hachure:"",zigzag:"",crossHatch:"",thin:"",bold:"",left:"Солға",center:"Ортаға",right:"Оңға",extraBold:"",architect:"",artist:"",cartoonist:"",fileTitle:"Файл атауы",colorPicker:"",canvasColors:"",canvasBackground:"",drawingCanvas:"",layers:"",actions:"",language:"Тіл",liveCollaboration:"",duplicateSelection:"Көшірме",untitled:"Атауысыз",name:"",yourName:"",madeWithExcalidraw:"",group:"",ungroup:"",collaborators:"",showGrid:"",addToLibrary:"",removeFromLibrary:"",libraryLoadingMessage:"",libraries:"",loadingScene:"",align:"",alignTop:"",alignBottom:"",alignLeft:"",alignRight:"",centerVertically:"",centerHorizontally:"",distributeHorizontally:"",distributeVertically:"",flipHorizontal:"",flipVertical:"",viewMode:"",share:"",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"",editEmbed:"",create:"",createEmbed:"",label:"",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},Eju={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},Aju={clearReset:"",exportJSON:"",exportImage:"",export:"",copyToClipboard:"",save:"",saveAs:"",load:"",getShareableLink:"",close:"Жабу",selectLanguage:"Тілді таңдау",scrollBackToContent:"",zoomIn:"",zoomOut:"",resetZoom:"",menu:"Mәзір",done:"Дайын",edit:"",undo:"",redo:"",resetLibrary:"",createNewRoom:"",fullScreen:"",darkMode:"",lightMode:"",zenMode:"",objectsSnapMode:"",exitZenMode:"",cancel:"",clear:"",remove:"",embed:"",publishLibrary:"",submit:"",confirm:"",embeddableInteractionButton:""},Cju={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},Dju={unsupportedFileType:"",imageInsertError:"Суретті жүктеу мүмкін болмады. Кейінірек қайталап көріңіз...",fileTooBig:"Файл өте үлкен. Максималды рұқсат етілген көлем {{maxSize}}.",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Fju={selection:"",image:"Суретті қою",rectangle:"",diamond:"",ellipse:"",arrow:"Нұсқар",line:"",freedraw:"",text:"Мәтін",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},Uju={canvasActions:"",selectedShapeActions:"",shapes:""},zju={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},kju={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},fju={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},Mju={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},bju={title:"Қате"},Zju={disk_title:"",disk_details:"Сахна деректерін кейін қайта импорттауға болатын файлға экспорттаңыз.",disk_button:"Файлға сақтау",link_title:"Ортақ сілтеме",link_details:"Тек оқуға арналған сілтеме ретінде экспорттау.",link_button:"Сілтемеге экспорттау",excalidrawplus_description:"Сахнаны өзіңіздің Excalidraw+ жұмыс кеңістігінде сақтаңыз.",excalidrawplus_button:"Экспорт",excalidrawplus_exportError:"Қазіргі уақытта Excalidraw+ үшін экспорттау мүмкін емес..."},Jju={blog:"Біздің блогты оқу",click:"шерту",deepSelect:"",deepBoxSelect:"",curvedArrow:"Майысқан нұсқар",curvedLine:"Майысқан сызық",documentation:"Құжаттама",doubleClick:"қос шерту",drag:"апару",editor:"Өңдеу",editLineArrowPoints:"",editText:"",github:"Қате таптыңыз ба? Жолдаңыз",howto:"Біздің нұсқаулықтарды орындаңыз",or:"немесе",preventBinding:"Нұсқарды байланыстыруға жол бермеу",tools:"",shortcuts:"Пернетақта пәрмендері",textFinish:"Өңдеуді аяқтау (мәтіндік редактор)",textNewLine:"Жаңа жолға көшу (мәтіндік редактор)",title:"Көмек",view:"Көру",zoomToFit:"Барлық элементтердің көлеміне сәйкес үлкейту",zoomToSelection:"Таңдалғанды үлкейту",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},Kju={title:""},wju={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},Qju={title:"",content:""},Gju={resetLibrary:"",removeItemsFromLib:""},Hju={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},qju={tooltip:"Сіздің сызбаларыңыз өтпелі шифрлеу арқылы шифрланған, сондықтан Excalidraw серверлері оларды ешқашан көрмейді.",link:"Excalidraw қолданатын өтпелі шифрлеу туралы блог жазбасы"},lju={angle:"Бұрыш",element:"Элемент",elements:"Элементтер",height:"Биіктігі",scene:"Сахна",selected:"Таңдалды",storage:"Сақтау көлемі",title:"",total:"Барлығы",version:"Нұсқа",versionCopy:"Көшіру үшін басыңыз",versionNotAvailable:"Бұл нұсқа қолжетімсіз",width:"Ені"},Lju={addedToLibrary:"",copyStyles:"Стильдер көшірілді.",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"Файл сақталды.",fileSavedToFilename:"{filename} сақталды",canvas:"",selection:"таңдау",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},Xju={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},vju={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},xju={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},Wju={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Sju={title:"",button:"",description:"",syntax:"",preview:""},kf3={labels:Bju,library:Eju,buttons:Aju,alerts:Cju,errors:Dju,toolBar:Fju,headings:Uju,hints:zju,canvasError:kju,errorSplash:fju,roomDialog:Mju,errorDialog:bju,exportDialog:Zju,helpDialog:Jju,clearCanvasDialog:Kju,publishDialog:wju,publishSuccessDialog:Qju,confirmDialog:Gju,imageExportDialog:Hju,encrypted:qju,stats:lju,toast:Lju,colors:Xju,welcomeScreen:vju,colorPicker:xju,overwriteConfirm:Wju,mermaid:Sju}});var ANu={};ju(ANu,{welcomeScreen:()=>eju,toolBar:()=>Nju,toast:()=>oju,stats:()=>sju,roomDialog:()=>mju,publishSuccessDialog:()=>_ju,publishDialog:()=>cju,overwriteConfirm:()=>BNu,mermaid:()=>ENu,library:()=>Oju,labels:()=>Tju,imageExportDialog:()=>nju,hints:()=>hju,helpDialog:()=>rju,headings:()=>Vju,exportDialog:()=>yju,errors:()=>jju,errorSplash:()=>aju,errorDialog:()=>$ju,encrypted:()=>dju,default:()=>ff3,confirmDialog:()=>pju,colors:()=>tju,colorPicker:()=>uNu,clearCanvasDialog:()=>gju,canvasError:()=>iju,buttons:()=>Iju,alerts:()=>Pju});var Tju,Oju,Iju,Pju,jju,Nju,Vju,hju,iju,aju,mju,$ju,yju,rju,gju,cju,_ju,pju,nju,dju,sju,oju,tju,eju,uNu,BNu,ENu,ff3;var CNu=g(()=>{m4();Tju={paste:"បិទភ្ជាប់",pasteAsPlaintext:"បិទភ្ជាប់ជាអត្ថបទធម្មតា",pasteCharts:"បិទភ្ជាប់តារាង",selectAll:"ជ្រើសរើស​ទាំងអស់",multiSelect:"បន្ថែមធាតុទៅលើការជ្រើសរើស",moveCanvas:"ផ្លាស់ទីបាវ",cut:"កាត់",copy:"ចម្លង",copyAsPng:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​ PNG",copyAsSvg:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​ SVG",copyText:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​អត្ថបទ",copySource:"",convertToCode:"",bringForward:"នាំយកទៅលើ",sendToBack:"នាំយកទៅក្រោយបង្អស់",bringToFront:"នាំយកទៅលើបង្អស់",sendBackward:"នាំយកទៅក្រោយ",delete:"លុប",copyStyles:"ចម្លងរចនាប័ទ្ម",pasteStyles:"បិទភ្ជាប់រចនាប័ទ្ម",stroke:"ខ្វាច់",background:"ផ្ទៃខាងក្រោយ",fill:"បំពេញ",strokeWidth:"ទទឹងខ្វាច់",strokeStyle:"រចនាប័ទ្មរបស់ខ្វាច់",strokeStyle_solid:"តាន់",strokeStyle_dashed:"ដាច់ៗ",strokeStyle_dotted:"ចំណុចៗ",sloppiness:"រចនាប័ទ្មបន្ទាត់",opacity:"ភាពច្បាស់",textAlign:"តម្រឹមអត្ថបទ",edges:"គែម",sharp:"មុត",round:"រាងមូល",arrowheads:"ក្បាលព្រួញ",arrowhead_none:"គ្មាន",arrowhead_arrow:"ព្រួញ",arrowhead_bar:"របារ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"ត្រីកោណ",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"ទំហំពុម្ពអក្សរ",fontFamily:"ក្រុម​ពុម្ពអក្សរ",addWatermark:'បន្ថែមវ៉ាត់ធើម៉ាក "Made with Excalidraw"',handDrawn:"គូរដោយដៃ",normal:"ធម្មតា",code:"កូដ",small:"តូច",medium:"មធ្យម",large:"ធំ",veryLarge:"ធំខ្លាំង",solid:"តាន់",hachure:"Hachure",zigzag:"Zigzag",crossHatch:"បន្ទាត់ឆ្នូតៗ",thin:"ស្តើង",bold:"ដឹត",left:"ខាងឆ្វេង",center:"កណ្ដាល",right:"នៅខាងស្ដាំ",extraBold:"ដិតបន្ថែម",architect:"ស្ថាបត្យករ",artist:"សិល្បៈករ",cartoonist:"អ្នកគំនូរជីវចល",fileTitle:"ឈ្មោះ​ឯកសារ",colorPicker:"ឧបករណ៍​ជ្រើស​ពណ៌",canvasColors:"ប្រើលើបាវ",canvasBackground:"ផ្ទៃខាងក្រោយបាវ",drawingCanvas:"តំបន់គំនូរ",layers:"ស្រទាប់",actions:"សកម្មភាព",language:"ភាសា",liveCollaboration:"សហការគ្នាផ្ទាល់...",duplicateSelection:"ចម្លង",untitled:"គ្មានឈ្មោះ",name:"ឈ្មោះ",yourName:"ឈ្មោះ​របស់​អ្នក",madeWithExcalidraw:"បង្កើតជាមួយ Excalidraw",group:"ការជ្រើសរើសជាក្រុម",ungroup:"បំបែកក្រុមការជ្រើសរើសជាក្រុម",collaborators:"អ្នកសហការ",showGrid:"បង្ហាញក្រឡាចត្រង្គ",addToLibrary:"បន្ថែមទៅបណ្ណាល័យ",removeFromLibrary:"លុបចេញពីបណ្ណាល័យ",libraryLoadingMessage:"កំពុងផ្ទុកបណ្ណាល័យ...",libraries:"រកមើលបណ្ណាល័យ",loadingScene:"កំពុង​ផ្ទុក​ស៊ីន...",align:"តម្រឹម",alignTop:"តម្រឹមផ្នែកខាងលើ",alignBottom:"តម្រឹមផ្នែកខាងក្រោម",alignLeft:"​តម្រឹម​ឆ្វេង",alignRight:"តម្រឹម​ស្តាំ",centerVertically:"កណ្តាល​បញ្ឈរ",centerHorizontally:"កណ្តាល​ផ្ដេក",distributeHorizontally:"ចែកចាយផ្ដេក",distributeVertically:"ចែកចាយបញ្ឈរ",flipHorizontal:"ត្រឡប់​ដោយ​ផ្ដេក",flipVertical:"ត្រឡប់​ដោយ​បញ្ឈរ",viewMode:"ម៉ូដ​បង្ហាញ",share:"ចែករំលែក",showStroke:"បង្ហាញឧបករណ៍ជ្រើសរើសពណ៌ខ្វាច់",showBackground:"បង្ហាញឧបករណ៍ជ្រើសរើសពណ៌ផ្ទៃខាងក្រោយ",toggleTheme:"បិទ/បើកប្រធានបទ",personalLib:"បណ្ណាល័យផ្ទាល់ខ្លួន",excalidrawLib:"បណ្ណាល័យ Excalidraw",decreaseFontSize:"បន្ថយទំហំពុម្ពអក្សរ",increaseFontSize:"បង្កើនទំហំពុម្ពអក្សរ",unbindText:"ស្រាយអត្ថបទ",bindText:"ភ្ជាប់អត្ថបទទៅប្រអប់",createContainerFromText:"រុំអត្ថបទក្នុងប្រអប់មួយ",link:{edit:"កែតំណភ្ជាប់",editEmbed:"",create:"បង្កើតតំណភ្ជាប់",createEmbed:"",label:"តំណ",labelEmbed:"",empty:""},lineEditor:{edit:"កែសម្រួលបន្ទាត់",exit:"ចាកចេញពីការកែសម្រួលបន្ទាត់"},elementLock:{lock:"ចាក់សោ",unlock:"ដោះសោ",lockAll:"ចាក់សោទាំងអស់",unlockAll:"ដោះសោទាំងអស់"},statusPublished:"ត្រូវបានបោះពុម្ពផ្សាយ",sidebarLock:"ទុករបារចំហៀងបើក",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},Oju={noItems:"មិនទាន់មានធាតុបន្ថែមទេ...",hint_emptyLibrary:"ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ ឬដំឡើងបណ្ណាល័យពីឃ្លាំងសាធារណៈខាងក្រោម។",hint_emptyPrivateLibrary:"ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ"},Iju={clearReset:"កំណត់បាវឡើងវិញ",exportJSON:"នាំចេញជាឯកសារ",exportImage:"នាំរូបភាពចេញ",export:"រក្សាទុក​នៅ...",copyToClipboard:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់",save:"រក្សាទុកទៅឯកសារបច្ចុប្បន្ន",saveAs:"រក្សាទុក​ជា",load:"បើក",getShareableLink:"យកតំណដែលអាចចែករំលែកបាន",close:"បិទ",selectLanguage:"រើសភាសា",scrollBackToContent:"រំកិលត្រឡប់ទៅមាតិកាវិញ",zoomIn:"ពង្រីក",zoomOut:"បង្រួម",resetZoom:"កំណត់ការពង្រីកឡើងវិញ",menu:"ម៉ឺនុយ",done:"រួចរាល់",edit:"កែ",undo:"ត្រឡប់វិញ",redo:"ធ្វើ​វិញ",resetLibrary:"កំណត់បណ្ណាល័យឡើងវិញ",createNewRoom:"បង្កើតបន្ទប់ថ្មី",fullScreen:"ពេញ​អេក្រង់",darkMode:"ម៉ូដងងឹត",lightMode:"ម៉ូដភ្លឺ",zenMode:"ម៉ូត Zen",objectsSnapMode:"",exitZenMode:"ចេញពី zen ម៉ូត",cancel:"បោះបង់",clear:"សម្អាត",remove:"ដកចេញ",embed:"",publishLibrary:"បោះពុម្ពផ្សាយ",submit:"ដាក់​ស្នើ",confirm:"បញ្ជាក់",embeddableInteractionButton:""},Pju={clearReset:"វានឹងសម្អាតបាវទាំងមូល។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?",couldNotCreateShareableLink:"មិនអាចបង្កើតតំណដែលអាចចែករំលែកបានទេ។",couldNotCreateShareableLinkTooBig:"មិន​អាច​បង្កើត​តំណ​ដែល​អាច​ចែក​រំលែក​បាន៖ ស៊ីន​ធំ​ពេក",couldNotLoadInvalidFile:"មិនអាចផ្ទុកឯកសារមិនត្រឹមត្រូវបានទេ។",importBackendFailed:"ការនាំចូលពីម៉ាស៊ីនមេបានបរាជ័យ។",cannotExportEmptyCanvas:"មិនអាចនាំចេញបាវទទេបានទេ។",couldNotCopyToClipboard:"មិនអាចចម្លងទៅក្ដារតម្បៀតខ្ទាស់បានទេ។",decryptFailed:"មិនអាចឌិគ្រីបទិន្នន័យបានទេ។",uploadedSecurly:"ការបង្ហោះត្រូវបានការពារដោយការអ៊ិនគ្រីបពីចុងដល់ចប់ មានន័យថា ទាំងម៉ាស៊ីនមេរបស់ Excalidraw ឬភាគីទីបីមិនអាចអានខ្លឹមសារបានទេ។",loadSceneOverridePrompt:"ការផ្ទុកគំនូរខាងក្រៅនឹងជំនួសមាតិកាដែលមានស្រាប់របស់អ្នក។ តើអ្នកចង់បន្តទេ?",collabStopOverridePrompt:`ការបញ្ឈប់សម័យនឹងសរសេរជាន់លើគំនូរដែលបានរក្សាទុកនៅលើកុំព្យូទ័ររបស់អ្នកពីមុន។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?
(ប្រសិនបើអ្នកចង់រក្សាគំនូរដែលនៅលើកុំព្យូទ័ររបស់អ្នក គ្រាន់តែបិទផ្ទាំងកម្មវិធីរុករក។)`,errorAddingToLibrary:"មិនអាចបន្ថែមធាតុទៅបណ្ណាល័យបានទេ",errorRemovingFromLibrary:"មិនអាចលុបធាតុចេញពីបណ្ណាល័យបានទេ",confirmAddLibrary:"វានឹងបន្ថែមរូបរាង {{numShapes}} ទៅបណ្ណាល័យរបស់អ្នក។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?",imageDoesNotContainScene:"រូបភាពនេះហាក់ដូចជាមិនមានទិន្នន័យស៊ីនណាមួយទេ។ តើអ្នកបានបើកការបង្កប់ស៊ីននៅពេលនាំចេញទេ?",cannotRestoreFromImage:"មិនអាចស្ដារស៊ីនពីឯកសាររូបភាពនេះបានទេ",invalidSceneUrl:"មិន​អាច​នាំចូល​ស៊ីន​ពី URL ដែល​បាន​ផ្តល់​ឱ្យ​ទេ។ វាមានទម្រង់ខុស ឬមិនមានទិន្នន័យ Excalidraw JSON ដែលត្រឹមត្រូវ។",resetLibrary:"វានឹងសម្អាតបាវទាំងមូល។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?",removeItemsFromsLibrary:"តើអ្នកប្រាកដថាចង់លុប {{count}} ធាតុចេញពីបណ្ណាល័យទេ?",invalidEncryptionKey:"សោអ៊ីនគ្រីបត្រូវតែមាន 22 តួអក្សរ។ ការសហការផ្ទាល់ត្រូវបានបិទ។",collabOfflineWarning:`គ្មានការតភ្ជាប់អ៊ីនធឺណិត។
ការផ្លាស់ប្តូររបស់អ្នកនឹងមិនត្រូវបានរក្សាទុកទេ!`},jju={unsupportedFileType:"ប្រភេទឯកសារមិនត្រូវបានគាំទ្រទេ។",imageInsertError:"មិនអាចបញ្ចូលរូបភាពបានទេ។ សូម​ព្យាយាម​ម្តង​ទៀត​នៅ​ពេល​ក្រោយ……",fileTooBig:"ឯកសារធំពេក។ ទំហំអតិបរមាដែលអនុញ្ញាតគឺ {{maxSize}}។",svgImageInsertError:"មិនអាចបញ្ចូលរូបភាព SVG បានទេ។ ស្លាក SVG ហាក់ដូចជាមិនត្រឹមត្រូវ។",failedToFetchImage:"",invalidSVGString:"SVG មិន​ត្រឹមត្រូវ។",cannotResolveCollabServer:"មិនអាចភ្ជាប់ទៅម៉ាស៊ីនមេសហការផ្ទាល់បានទេ។ សូមផ្ទុកទំព័រឡើងវិញ ហើយព្យាយាមម្តងទៀត។",importLibraryError:"មិនអាចផ្ទុកបណ្ណាល័យបានទេ។",collabSaveFailed:"មិនអាចរក្សាទុកទៅម៉ាស៊ីនមេបានទេ។ ប្រសិនបើបញ្ហានៅតែបន្តកើតមាន​ អ្នកគួរតែរក្សាទុកឯកសាររបស់អ្នកនៅលើកុំព្យូទ័ររបស់អ្នកសិន ដើម្បីធានាថាការងាររបស់អ្នកមិនបាត់បង់។",collabSaveFailed_sizeExceeded:"មិនអាចរក្សាទុកទៅម៉ាស៊ីនមេបានទេ, ផ្ទាំងបាវហាក់ដូចជាធំពេក។ អ្នកគួរតែរក្សាទុកឯកសាររបស់អ្នកនៅលើកុំព្យូទ័ររបស់អ្នកសិន ដើម្បីធានាថាការងាររបស់អ្នកមិនបាត់បង់។",imageToolNotSupported:"",brave_measure_text_error:{line1:"អ្នកហាក់ដូចជាកំពុងប្រើប្រាស់កម្មវិធីរុករកតាមអ៊ីនធឺណិត Brave ជាមួយនឹងការកំណត់ <bold>ការពារស្នាមម្រាមដៃយ៉ាងធ្ងន់ធ្ងរ</bold> ត្រូវបានបើក។",line2:"វាអាចបណ្តាលឱ្យមានការបំបែក <bold>ធាតុអត្ថបទ</bold> នៅក្នុងគំនូររបស់អ្នក។",line3:"យើងណែនាំយ៉ាងមុតមាំឱ្យបិទការកំណត់នេះ។ អ្នកអាចអនុវត្តតាម <link>ជំហានទាំងនេះ</link> ដើម្បីបិទការកំណត់នេះ។",line4:"ប្រសិនបើការបិទការកំណត់នេះមិនបានជួសជុលការបង្ហាញធាតុអត្ថបទទេ សូមដាក់ <issueLink>issue</issueLink> នៅលើ GitHub ឬរាយការណ៍នៅលើ <discordLink>Discord</discordLink> របស់យើង"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Nju={selection:"ការជ្រើសរើស",image:"បញ្ចូលរូបភាព",rectangle:"ចតុ​កោណ​កែង​",diamond:"ពេជ្រ",ellipse:"ពងក្រពើ",arrow:"ព្រួញ",line:"បន្ទាត់",freedraw:"គូរ",text:"អត្ថបទ",library:"បណ្ណាល័យ",lock:"រក្សារឧបករណ៍ដែលបានជ្រើសរើសបន្ទាប់ពីគូររួច",penMode:"របៀបប៊ិច - ជៀសវាងការប៉ះ",link:"បន្ថែម/ធ្វើបច្ចុប្បន្នភាពតំណភ្ជាប់សម្រាប់រូបរាងដែលបានជ្រើសរើស",eraser:"ជ័រលុប",frame:"",magicframe:"",embeddable:"",laser:"",hand:"ដៃ (panning tool)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},Vju={canvasActions:"សកម្មភាពបាវ",selectedShapeActions:"សកម្មភាពរបស់រាងដែលបានជ្រើសរើស",shapes:"រាង"},hju={canvasPanning:"ដើម្បីផ្លាស់ទីបាវ សូមសង្កត់កង់កណ្ដុរឬគ្រាប់ចុចspacebarខណៈពេលកំពុងអូស ឬប្រើឧបករណ៍ដៃ។",linearElement:"ចុចដើម្បីបង្កើតចំណុចច្រើន អូសដើម្បីបង្កើតបន្ទាត់មួយ",freeDraw:"ចុច​ហើយ​អូស លែង​ពេល​រួចរាល់",text:"គន្លឹះ៖ អ្នកក៏អាចបន្ថែមអត្ថបទដោយចុចពីរដងនៅកន្លែងណាមួយដោយប្រើឧបករណ៍ជ្រើសរើស",embeddable:"",text_selected:"ចុចពីរដង ឬចុច ENTER ដើម្បីកែសម្រួលអត្ថបទ",text_editing:"ចុច Escape ឬ CtrlOrCmd +ENTER ដើម្បីបញ្ចប់ការកែសម្រួល",linearElementMulti:"ចុចលើចំណុចចុងក្រោយ ឬចុច Esc/Enter ដើម្បីបញ្ចប់",lockAngle:"អ្នកអាចសង្កត់ Shift ដើម្បីកំណត់មុំ",resize:`អ្នកអាចសង្កត់ SHIFT ដើម្បីបងំ្ខឲមានសមាមាត្រ ខណៈពេលដែលប្តូរទំហំ
សង្កត់ ALT ដើម្បីប្តូរទំហំពីកណ្តាល`,resizeImage:`អ្នកអាចប្តូរទំហំរូបភាពដោយសេរីដោយសង្កត់ SHIFT,
សង្កត់ ALT ដើម្បីប្តូរទំហំពីកណ្តាល`,rotate:"អ្នកអាចសង្កត់ Shift ខណៈពេលកំពុងបង្វិល ដើម្បីកម្រិតមុំ",lineEditor_info:"សង្កត់ CtrlOrCmd ហើយចុចពីរដង ឬចុច CtrlOrCmd + Enter ដើម្បីកែសម្រួលចំណុច",lineEditor_pointSelected:`ចុច Delete ដើម្បីលុបចំណុច(ច្រើន)
CtrlOrCmd+D ដើម្បីចម្លង, ឬអូសដើម្បីផ្លាស់ទី`,lineEditor_nothingSelected:`ជ្រើសរើសចំណុចដែលត្រូវកែសម្រួល (សង្កត់ SHIFT ដើម្បីជ្រើសរើសច្រើនចំណុច)
ឬ សង្កត់ Alt ហើយចុចដើម្បីបន្ថែមចំណុចថ្មី។`,placeImage:"ចុចដើម្បីដាក់រូបភាព ឬចុចហើយអូសដើម្បីកំណត់ទំហំរបស់រូបភាពដោយដៃ",publishLibrary:"បោះពុម្ពផ្សាយបណ្ណាល័យផ្ទាល់ខ្លួនរបស់អ្នក",bindTextToElement:"ចុច Enter ដើម្បីបន្ថែមអត្ថបទ",deepBoxSelect:"សង្កត់ CtrlOrCmd ដើម្បីជ្រើសរើសយ៉ាងជ្រៅ និងជៀសវាងការអូស",eraserRevert:"សង្កត់ Alt ដើម្បីដកការជ្រើសរើសធាតុដែលត្រូវបានសម្គាល់សម្រាប់ការលុប",firefox_clipboard_write:`បើកមុខងារនេះដោយកំណត់ទង់ "dom.events.asyncClipboard.clipboardItem" ទៅ "true"
ដើម្បីផ្លាស់ប្តូរទង់កម្មវិធីរុករកនៅក្នុង Firefox សូមចូលទៅកាន់ទំព័រ "about:config"។`,disableSnapping:""},iju={cannotShowPreview:"មិនអាចបង្ហាញការមើលជាមុនបាន",canvasTooBig:"បាវអាចមានទំហំធំពេក។",canvasTooBigTip:"គន្លឹះ៖ ព្យាយាមផ្លាស់ទីធាតុដែលឆ្ងាយបំផុតឱ្យទៅជិតគ្នាបន្តិច។"},aju={headingMain:"បានជួបប្រទះកំហុសមួយ។ សូមព្យាយាម <button>ផ្ទុកទំព័រឡើងវិញ</button>។",clearCanvasMessage:"ប្រសិនបើការផ្ទុកឡើងវិញមិនអាចដោះស្រាយកំហុសបានទេ សូមសាកល្បង <button>សម្អាតបាវ។</button>",clearCanvasCaveat:" នេះនឹងបណ្តាលឱ្យបាត់បង់ការងារ ",trackedToSentry:"កំហុសជាមួយលេខសម្គាល់ {{eventId}} ត្រូវបានតាមដាននៅលើប្រព័ន្ធរបស់យើង។",openIssueMessage:"យើងមានការប្រុងប្រយ័ត្នខ្លាំងណាស់ក្នុងការមិនបញ្ចូលព័ត៌មានរបស់ស៊ីនរបស់អ្នកទៅលើកំហុស។ ប្រសិនបើស៊ីនរបស់អ្នកមិនមានលក្ខណៈឯកជនទេ សូមពិចារណាបន្តទៅកាន់ <button>កម្មវិធីតាមដានកំហុសរបស់យើង។</button> សូមបញ្ចូលព័ត៌មានខាងក្រោមដោយចម្លង និងបិទភ្ជាប់វាទៅក្នុងបញ្ហារបស់ GitHub។",sceneContent:"មាតិកាបាវ៖"},mju={desc_intro:"អ្នកអាចអញ្ជើញអ្នកដទៃឱ្យសហការជាមួយអ្នកនៅលើស៊ីនបច្ចុប្បន្ន។",desc_privacy:"កុំបារម្ភ វគ្គប្រើការអ៊ិនគ្រីបពីចុងដល់ចប់ ដូច្នេះអ្វីដែលអ្នកគូរនឹងនៅតែជាឯកជន។ សូម្បីតែម៉ាស៊ីនមេរបស់យើងក៏នឹងមិនអាចមើលឃើញអ្វីដែលអ្នកកំពុងធ្វើដែរ។",button_startSession:"ចាប់ផ្តើមវគ្គ",button_stopSession:"បញ្ឈប់វគ្គ",desc_inProgressIntro:"វគ្គសហការផ្ទាល់ឥឡូវនេះកំពុងដំណើរការ។",desc_shareLink:"ចែករំលែកតំណនេះជាមួយអ្នកដែលអ្នកចង់សហការជាមួយ៖",desc_exitSession:"ការបញ្ឈប់វគ្គនេះនឹងផ្តាច់អ្នកចេញពីបន្ទប់ ប៉ុន្តែអ្នកនឹងនៅតែអាចបន្តប្រើបាវនៅលើកុំព្យូទ័ររបស់អ្នក។ សូមចំណាំថាវានឹងមិនប៉ះពាល់ដល់អ្នកប្រើប្រាស់ផ្សេងទៀតទេ​ ហើយពួកគេនឹងនៅតែអាចបន្តសហការលើកំណែរបស់ពួកគេ។",shareTitle:"ចូលរួមវគ្គសហការផ្ទាល់នៅលើ Excalidraw"},$ju={title:"មានកំហុស"},yju={disk_title:"រក្សាទុកទៅថាស",disk_details:"នាំចេញទិន្នន័យរបស់ស៊ីនជាឯកសារដែលអ្នកអាចនាំចូលនៅពេលក្រោយ។",disk_button:"រក្សាទុកក្នុងឯកសារ",link_title:"តំណដែលអាចចែករំលែកបាន",link_details:"នាំចេញជាតំណបានតែមើលឬអាន។",link_button:"នាំចេញជាតំណ",excalidrawplus_description:"រក្សាទុកស៊ីនទៅកន្លែងធ្វើការ Excalidraw+ របស់អ្នក។",excalidrawplus_button:"នាំចេញ",excalidrawplus_exportError:"មិនអាចនាំចេញទៅ Excalidraw+ បានទេនៅពេលនេះ..."},rju={blog:"អានប្លក់របស់យើង",click:"ចុច",deepSelect:"ការជ្រើសរើសជាក្រុម",deepBoxSelect:"ជ្រើសរើសជាក្រុម និង ជៀសវាងការអូសទាញផ្លាស់ទី",curvedArrow:"ព្រួញកោង",curvedLine:"ព្រួញកោង",documentation:"ឯកសារ",doubleClick:"ចុច​ពីរ​ដង",drag:"អូស",editor:"កម្មវិធីនិពន្ធ",editLineArrowPoints:"កែសម្រួលចំណុចនៃបន្ទាត់ ឬព្រួញ",editText:"បន្ថែម ឬកែសម្រួលអត្ថបទ",github:"រកឃើញបញ្ហា? ដាក់ស្នើ",howto:"ឯកសារជំនួយ",or:"ឬ",preventBinding:"ទប់ស្កាត់ការចងព្រួញ",tools:"ឧបករណ៍",shortcuts:"ផ្លូវកាត់ក្តារចុច",textFinish:"បញ្ចប់ការកែសម្រួល (កម្មវិធីនិពន្ធអត្ថបទ)",textNewLine:"ចុះបន្ទាត់ (កម្មវិធីនិពន្ធអត្ថបទ)",title:"ជំនួយ",view:"បង្ហាញ",zoomToFit:"ធ្វើមាត្រដ្ឋានឱ្យសមនឹងធាតុទាំងអស់។",zoomToSelection:"ពង្រីកទៅការជ្រើសរើស",toggleElementLock:"ចាក់សោ/ដោះសោការជ្រើសរើស",movePageUpDown:"ផ្លាស់ទីទំព័រឡើងលើ/ចុះក្រោម",movePageLeftRight:"ផ្លាស់ទីទំព័រទៅឆ្វេង/ស្ដាំ"},gju={title:"សម្អាតបាវ"},cju={title:"បោះពុម្ពបណ្ណាល័យ",itemName:"ឈ្មោះ​ធាតុ",authorName:"ឈ្មោះអ្នកនិពន្ធ",githubUsername:"ឈ្មោះអ្នកប្រើ GitHub",twitterUsername:"ឈ្មោះអ្នកប្រើ Twitter",libraryName:"ឈ្មោះបណ្ណាល័យ",libraryDesc:"ការពិពណ៌នាអំពីបណ្ណាល័យ",website:"គេហទំព័រ",placeholder:{authorName:"ឈ្មោះរបស់អ្នក ឬឈ្មោះអ្នកប្រើប្រាស់",libraryName:"ឈ្មោះបណ្ណាល័យរបស់អ្នក",libraryDesc:"ការពិពណ៌នាអំពីបណ្ណាល័យរបស់អ្នក នឹងអនុញ្ញាតឱ្យអ្នក​ផ្សេងយល់ពីការប្រើប្រាស់របស់វា។",githubHandle:"ឈ្មោះអ្នកប្រើ GitHub (ជាជម្រើស) ដូច្នេះអ្នកអាចកែសម្រួលបណ្ណាល័យបាននៅពេលដាក់ស្នើសម្រាប់ការពិនិត្យ",twitterHandle:"ឈ្មោះអ្នកប្រើប្រាស់ Twitter (ជាជម្រើស) ដូច្នេះយើងដឹងថាអ្នកណាដែលត្រូវផ្តល់ក្រេឌីតនៅពេលផ្សព្វផ្សាយតាម Twitter",website:"ភ្ជាប់ទៅគេហទំព័រផ្ទាល់ខ្លួនរបស់អ្នក ឬគេហទំព័រផ្សេងទៀត (ជាជម្រើស)"},errors:{required:"ត្រូវបានទាមទារ",website:"សូមវាយបញ្ចូល URL ​ដែលត្រឹមត្រូវ"},noteDescription:"ដាក់ស្នើបណ្ណាល័យរបស់អ្នកដើម្បីដាក់បញ្ចូលក្នុង <link>ឃ្លាំងបណ្ណាល័យសាធារណៈ</link> សម្រាប់ឲ្យអ្នកផ្សេងប្រើក្នុងគំនូររបស់ពួកគេ។",noteGuidelines:"បណ្ណាល័យត្រូវតែអនុម័តដោយដៃជាមុនសិន។ សូមអាន <link>ការណែនាំ</link> មុនពេលដាក់ស្នើ។ ការប្រាស្រ័យទាក់ទងជាបន្តបន្ទាប់ និងការផ្លាស់ប្តូរបណ្ណាល័យទាមទារឱ្យអ្នកមានគណនី GitHub ប៉ុន្តែមិនត្រូវបានទាមទារយ៉ាងតឹងរ៉ឹងទេ។",noteLicense:"តាមរយៈការដាក់ស្នើ អ្នកយល់ព្រមថាបណ្ណាល័យនឹងត្រូវបានបោះពុម្ពផ្សាយក្រោម <link>អាជ្ញាប័ណ្ណ MIT</link> ដែលមានន័យយ៉ាងខ្លី អ្នកណាក៏អាចប្រើប្រាស់វាបានដោយគ្មានការរឹតត្បិត។",noteItems:"ធាតុនីមួយៗនៅក្នុងបណ្ណាល័យត្រូវតែមានឈ្មោះផ្ទាល់ខ្លួនដើម្បីយើងអាចត្រងវាបាន។ ធាតុខាងក្រោមនឹងត្រូវបានរួមបញ្ចូល:",atleastOneLibItem:"សូមជ្រើសរើសយ៉ាងហោចណាស់ធាតុបណ្ណាល័យមួយដើម្បីចាប់ផ្តើម",republishWarning:"ចំណាំ៖ ធាតុដែលត្រូវបានជ្រើសរើសមួយចំនួនត្រូវបានសម្គាល់ថាបានបោះពុម្ព/បញ្ជូនរួចរាល់ហើយ។ អ្នកគួរតែបញ្ជូនធាតុឡើងវិញនៅពេលដែលធ្វើបច្ចុប្បន្នភាពបណ្ណាល័យដែលមានស្រាប់ ឬការបញ្ជូន។"},_ju={title:"បណ្ណាល័យត្រូវបានដាក់ស្នើ",content:"សូមអរគុណ {{authorName}}។ បណ្ណាល័យរបស់អ្នកត្រូវបានបញ្ជូនមកពិនិត្យ។ សូមចុច <link>ទីនេះ</link> ដើម្បីតាមដានស្ថានភាពនៃការដាក់ស្នើនេះ។"},pju={resetLibrary:"កំណត់បណ្ណាល័យឡើងវិញ",removeItemsFromLib:"លុបធាតុដែលបានជ្រើសរើសចេញពីបណ្ណាល័យ"},nju={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},dju={tooltip:"គំនូររបស់អ្នកត្រូវបានអ៊ិនគ្រីបពីចុងដល់ចប់ ដូច្នេះម៉ាស៊ីនមេរបស់ Excalidraw នឹងមិនឃើញពួកវាទេ។",link:"ប្លក់ផុសលើការអ៊ិនគ្រីបពីចុងដល់ចុងក្នុង Excalidraw"},sju={angle:"មុំ",element:"ធាតុ",elements:"ធាតុច្រើន",height:"កម្ពស់",scene:"ស៊ីន",selected:"បានជ្រើសរើស",storage:"ការផ្ទុក",title:"ស្ថិតិសម្រាប់ nerds",total:"សរុប",version:"ជំនាន់:",versionCopy:"ចុចដើម្បីចម្លង",versionNotAvailable:"កំណែមិនអាចប្រើបាន",width:"ទទឹង​"},oju={addedToLibrary:"បានបន្ថែមទៅបណ្ណាល័យ",copyStyles:"រចនាប័ទ្មត្រូវបានចម្លង។",copyToClipboard:"បានចម្លងទៅក្ដារតម្បៀតខ្ទាស់។",copyToClipboardAsPng:`បានចម្លង {{exportSelection}} ទៅក្ដារតម្បៀតខ្ទាស់ជា PNG
({{exportColorScheme}})`,fileSaved:"ឯកសារត្រូវបានរក្សាទុក។",fileSavedToFilename:"បានរក្សាទុកនៅក្នុង {filename}",canvas:"តំបន់គំនូរ",selection:"ការជ្រើសរើស",pasteAsSingleElement:`ប្រើ {{shortcut}} ដើម្បីបិទភ្ជាប់ជាធាតុតែមួយ,
ឬបិទភ្ជាប់ទៅក្នុងកម្មវិធីនិពន្ធអត្ថបទដែលមានស្រាប់`,unableToEmbed:"",unrecognizedLinkFormat:""},tju={transparent:"ថ្លាមើលធ្លុះ",black:"ពណ៍ខ្មៅ",white:"ពណ៌ស",red:"ពណ៌ក្រហម",pink:"ពណ៌ផ្កាឈូក",grape:"ពណ៌ទំពាំងបាយជូរ",violet:"ពណ៌ស្វាយ",gray:"ពណ៌ប្រផេះ",blue:"ពណ៌ខៀវ",cyan:"ពណ៌ផ្ទៃមេឃ",teal:"ពណ៌​ខៀវបៃតង",green:"ពណ៌បៃតង",yellow:"ពណ៌លឿង",orange:"ពណ៌ទឹកក្រូច",bronze:"ពណ៌សំរិទ្ធ"},eju={app:{center_heading:"ទិន្នន័យទាំងអស់របស់អ្នក ត្រូវបានរក្សាទុកនៅក្នុង browser របស់អ្នក ។",center_heading_plus:"តើ​អ្នក​ចង់​ទៅ Excalidraw+ ​វិញ ឬ មែន?",menuHint:"នាំចេញ ចំណូលចិត្ត ភាសា ..."},defaults:{menuHint:"ការនាំចេញ ចំណូលចិត្ត និង ច្រើនទៀត...",center_heading:"ងាយស្រួល ។ ធ្វើ ។​ ដ្យាក្រាម ។",toolbarHint:"ជ្រើសរើសឧបករណ៍មួយ និង ចាប់ផ្តើមគូរ!",helpHint:"ផ្លូវកាត់ & ជំនួយ"}},uNu={mostUsedCustomColors:"ពណ៌ផ្ទាល់ខ្លួនដែលប្រើច្រើនបំផុត",colors:"ពណ៌",shades:"ស្រមោល",hexCode:"លេខកូដ hex",noShades:"មិនមានស្រមោលសម្រាប់ពណ៌នេះទេ"},BNu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},ENu={title:"",button:"",description:"",syntax:"",preview:""},ff3={labels:Tju,library:Oju,buttons:Iju,alerts:Pju,errors:jju,toolBar:Nju,headings:Vju,hints:hju,canvasError:iju,errorSplash:aju,roomDialog:mju,errorDialog:$ju,exportDialog:yju,helpDialog:rju,clearCanvasDialog:gju,publishDialog:cju,publishSuccessDialog:_ju,confirmDialog:pju,imageExportDialog:nju,encrypted:dju,stats:sju,toast:oju,colors:tju,welcomeScreen:eju,colorPicker:uNu,overwriteConfirm:BNu,mermaid:ENu}});var INu={};ju(INu,{welcomeScreen:()=>YNu,toolBar:()=>fNu,toast:()=>WNu,stats:()=>xNu,roomDialog:()=>KNu,publishSuccessDialog:()=>lNu,publishDialog:()=>qNu,overwriteConfirm:()=>TNu,mermaid:()=>ONu,library:()=>FNu,labels:()=>DNu,imageExportDialog:()=>XNu,hints:()=>bNu,helpDialog:()=>GNu,headings:()=>MNu,exportDialog:()=>QNu,errors:()=>kNu,errorSplash:()=>JNu,errorDialog:()=>wNu,encrypted:()=>vNu,default:()=>Mf3,confirmDialog:()=>LNu,colors:()=>SNu,colorPicker:()=>RNu,clearCanvasDialog:()=>HNu,canvasError:()=>ZNu,buttons:()=>UNu,alerts:()=>zNu});var DNu,FNu,UNu,zNu,kNu,fNu,MNu,bNu,ZNu,JNu,KNu,wNu,QNu,GNu,HNu,qNu,lNu,LNu,XNu,vNu,xNu,WNu,SNu,YNu,RNu,TNu,ONu,Mf3;var PNu=g(()=>{m4();DNu={paste:"붙여넣기",pasteAsPlaintext:"일반 텍스트로 붙여넣기",pasteCharts:"차트 붙여넣기",selectAll:"전체 선택",multiSelect:"선택 영역에 추가하기",moveCanvas:"캔버스 이동",cut:"잘라내기",copy:"복사",copyAsPng:"클립보드로 PNG 이미지 복사",copyAsSvg:"클립보드로 SVG 이미지 복사",copyText:"클립보드로 텍스트 복사",copySource:"소스코드를 클립보드로 복사",convertToCode:"코드로 변환",bringForward:"앞으로 가져오기",sendToBack:"맨 뒤로 보내기",bringToFront:"맨 앞으로 가져오기",sendBackward:"뒤로 보내기",delete:"삭제",copyStyles:"스타일 복사하기",pasteStyles:"스타일 붙여넣기",stroke:"선 색상",background:"배경색",fill:"채우기",strokeWidth:"선 굵기",strokeStyle:"선",strokeStyle_solid:"실선",strokeStyle_dashed:"파선",strokeStyle_dotted:"점선",sloppiness:"대충 긋기",opacity:"불투명도",textAlign:"텍스트 정렬",edges:"가장자리",sharp:"뾰족하게",round:"둥글게",arrowheads:"화살촉",arrowhead_none:"없음",arrowhead_arrow:"화살표",arrowhead_bar:"막대",arrowhead_circle:"원",arrowhead_circle_outline:"원 (외곽선)",arrowhead_triangle:"삼각형",arrowhead_triangle_outline:"삼각형 (외곽선)",arrowhead_diamond:"마름모",arrowhead_diamond_outline:"마름모 (외곽선)",fontSize:"글자 크기",fontFamily:"글꼴",addWatermark:'"Made with Excalidraw" 추가',handDrawn:"손글씨",normal:"일반",code:"코드",small:"작게",medium:"보통",large:"크게",veryLarge:"매우 크게",solid:"단색",hachure:"평행선",zigzag:"지그재그",crossHatch:"교차선",thin:"얇게",bold:"굵게",left:"왼쪽",center:"가운데",right:"오른쪽",extraBold:"매우 굵게",architect:"건축가",artist:"예술가",cartoonist:"만화가",fileTitle:"파일 이름",colorPicker:"색상 선택기",canvasColors:"캔버스에서 사용되었음",canvasBackground:"캔버스 배경",drawingCanvas:"캔버스 그리기",layers:"레이어",actions:"동작",language:"언어",liveCollaboration:"실시간 협업...",duplicateSelection:"복제",untitled:"제목 없음",name:"이름",yourName:"이름 입력",madeWithExcalidraw:"Made with Excalidraw",group:"그룹 생성",ungroup:"그룹 해제",collaborators:"공동 작업자",showGrid:"그리드 보기",addToLibrary:"라이브러리에 추가",removeFromLibrary:"라이브러리에서 제거",libraryLoadingMessage:"라이브러리 불러오는 중…",libraries:"라이브러리 찾기",loadingScene:"화면 불러오는 중…",align:"정렬",alignTop:"상단 정렬",alignBottom:"하단 정렬",alignLeft:"왼쪽 정렬",alignRight:"오른쪽 정렬",centerVertically:"수직으로 중앙 정렬",centerHorizontally:"수평으로 중앙 정렬",distributeHorizontally:"수평으로 분배",distributeVertically:"수직으로 분배",flipHorizontal:"좌우반전",flipVertical:"상하반전",viewMode:"보기 모드",share:"공유",showStroke:"윤곽선 색상 선택기 열기",showBackground:"배경 색상 선택기 열기",toggleTheme:"테마 전환",personalLib:"개인 라이브러리",excalidrawLib:"Excalidraw 라이브러리",decreaseFontSize:"폰트 사이즈 줄이기",increaseFontSize:"폰트 사이즈 키우기",unbindText:"텍스트 분리",bindText:"텍스트를 컨테이너에 결합",createContainerFromText:"텍스트를 컨테이너에 담기",link:{edit:"링크 수정하기",editEmbed:"링크 & 임베드 수정하기",create:"링크 만들기",createEmbed:"링크 & 임베드 만들기",label:"링크",labelEmbed:"링크 & 임베드",empty:"링크를 지정하지 않았습니다"},lineEditor:{edit:"선 수정하기",exit:"선 편집기 종료"},elementLock:{lock:"잠금",unlock:"잠금 해제",lockAll:"모두 잠금",unlockAll:"모두 잠금 해제"},statusPublished:"게시됨",sidebarLock:"사이드바 유지",selectAllElementsInFrame:"프레임의 모든 요소 선택",removeAllElementsFromFrame:"프레임의 모든 요소 삭제",eyeDropper:"캔버스에서 색상 고르기",textToDiagram:"텍스트를 다이어그램으로",prompt:"프롬프트"},FNu={noItems:"추가된 아이템 없음",hint_emptyLibrary:"캔버스 위에서 아이템을 선택하여 여기에 추가를 하거나, 아래의 공용 저장소에서 라이브러리를 설치하세요.",hint_emptyPrivateLibrary:"캔버스 위에서 아이템을 선택하여 여기 추가하세요."},UNu={clearReset:"캔버스 초기화",exportJSON:"파일로 내보내기",exportImage:"이미지 내보내기",export:"다른 이름으로 저장...",copyToClipboard:"클립보드로 복사",save:"현재 파일에 저장",saveAs:"다른 이름으로 저장",load:"열기",getShareableLink:"공유 가능한 링크 생성",close:"닫기",selectLanguage:"언어 선택",scrollBackToContent:"콘텐츠 영역으로 스크롤하기",zoomIn:"확대",zoomOut:"축소",resetZoom:"확대/축소 초기화",menu:"메뉴",done:"완료",edit:"수정",undo:"실행 취소",redo:"다시 실행",resetLibrary:"라이브러리 리셋",createNewRoom:"방 만들기",fullScreen:"전체화면",darkMode:"다크 모드",lightMode:"밝은 모드",zenMode:"젠 모드",objectsSnapMode:"다른 요소들에 정렬시키기",exitZenMode:"젠 모드 종료하기",cancel:"취소",clear:"지우기",remove:"삭제",embed:"임베딩 토글",publishLibrary:"게시하기",submit:"제출",confirm:"확인",embeddableInteractionButton:"클릭하여 상호작용"},zNu={clearReset:"모든 작업 내용이 초기화됩니다. 계속하시겠습니까?",couldNotCreateShareableLink:"공유 가능한 링크를 생성할 수 없습니다.",couldNotCreateShareableLinkTooBig:"공유 가능한 링크를 생성할 수 없습니다: 화면이 너무 큽니다.",couldNotLoadInvalidFile:"유효하지 않은 파일입니다.",importBackendFailed:"서버로부터 불러 오지 못했습니다.",cannotExportEmptyCanvas:"빈 캔버스를 내보낼 수 없습니다.",couldNotCopyToClipboard:"클립보드로 복사하지 못했습니다.",decryptFailed:"데이터를 복호화하지 못했습니다.",uploadedSecurly:"업로드는 종단 간 암호화로 보호되므로 Excalidraw 서버 및 타사가 콘텐츠를 읽을 수 없습니다.",loadSceneOverridePrompt:"외부 파일을 불러 오면 기존 콘텐츠가 대체됩니다. 계속 진행할까요?",collabStopOverridePrompt:`협업 세션을 종료하면 로컬 저장소에 있는 그림이 협업 세션의 그림으로 대체됩니다. 진행하겠습니까?
(로컬 저장소에 있는 그림을 유지하려면 현재 브라우저 탭을 닫아주세요.)`,errorAddingToLibrary:"아이템을 라이브러리에 추가 할수 없습니다",errorRemovingFromLibrary:"라이브러리에서 아이템을 삭제할수 없습니다",confirmAddLibrary:"{{numShapes}}개의 모양이 라이브러리에 추가됩니다. 계속하시겠어요?",imageDoesNotContainScene:"이 이미지는 화면 데이터를 포함하고 있지 않은 것 같습니다. 내보낼 때 화면을 첨부하도록 설정하셨나요?",cannotRestoreFromImage:"이미지 파일에서 화면을 복구할 수 없었습니다",invalidSceneUrl:"제공된 URL에서 화면을 가져오는데 실패했습니다. 주소가 잘못되거나, 유효한 Excalidraw JSON 데이터를 포함하고 있지 않은 것일 수 있습니다.",resetLibrary:"당신의 라이브러리를 초기화 합니다. 계속하시겠습니까?",removeItemsFromsLibrary:"{{count}}개의 아이템을 라이브러리에서 삭제하시겠습니까?",invalidEncryptionKey:"암호화 키는 반드시 22글자여야 합니다. 실시간 협업이 비활성화됩니다.",collabOfflineWarning:`인터넷에 연결되어 있지 않습니다.
변경 사항들이 저장되지 않습니다!`},kNu={unsupportedFileType:"지원하지 않는 파일 형식 입니다.",imageInsertError:"이미지를 삽입할 수 없습니다. 나중에 다시 시도 하십시오",fileTooBig:"파일이 너무 큽니다. 최대 크기는 {{maxSize}} 입니다.",svgImageInsertError:"SVG 이미지를 삽입하지 못했습니다. SVG 문법이 유효하지 않은 것 같습니다.",failedToFetchImage:"이미지를 가져오는데 실패했습니다.",invalidSVGString:"유효하지 않은 SVG입니다.",cannotResolveCollabServer:"협업 서버에 접속하는데 실패했습니다. 페이지를 새로고침하고 다시 시도해보세요.",importLibraryError:"라이브러리를 불러오지 못했습니다.",collabSaveFailed:"데이터베이스에 저장하지 못했습니다. 문제가 계속 된다면, 작업 내용을 잃지 않도록 로컬 저장소에 저장해 주세요.",collabSaveFailed_sizeExceeded:"데이터베이스에 저장하지 못했습니다. 캔버스가 너무 큰 거 같습니다. 문제가 계속 된다면, 작업 내용을 잃지 않도록 로컬 저장소에 저장해 주세요.",imageToolNotSupported:"이미지가 비활성화 되었습니다.",brave_measure_text_error:{line1:"귀하께서는 <bold>강력한 지문 차단 설정</bold>이 활성화된 Brave browser를 사용하고 계신 것 같습니다.",line2:"이 기능으로 인해 화이트보드의 <bold>텍스트 요소들</bold>이 손상될 수 있습니다.",line3:"저희는 해당 기능을 비활성화하는 것을 강력히 권장 드립니다. 비활성화 방법에 대해서는 <link>이 게시글</link>을 참고해주세요.",line4:"만약 이 설정을 껐음에도 텍스트 요소들이 올바르게 표시되지 않는다면, 저희 Github에 <issueLink>이슈</issueLink>를 올려주시거나 <discordLink>Discord</discordLink>로 알려주세요."},libraryElementTypeError:{embeddable:"임베드 요소들은 라이브러리에 추가할 수 없습니다.",iframe:"IFrame 요소들은 라이브러리에 추가할 수 없습니다.",image:"라이브러리에 이미지 삽입 기능은 곧 지원될 예정입니다!"},asyncPasteFailedOnRead:"붙여넣는데 실패했습니다. (시스템 클립보드를 읽는데 실패했습니다)",asyncPasteFailedOnParse:"붙여넣는데 실패했습니다.",copyToSystemClipboardFailed:"클립보드로 복사하는데 실패했습니다."},fNu={selection:"선택",image:"이미지 삽입",rectangle:"사각형",diamond:"다이아몬드",ellipse:"타원",arrow:"화살표",line:"선",freedraw:"그리기",text:"텍스트",library:"라이브러리",lock:"선택된 도구 유지하기",penMode:"펜 모드 - 터치 방지",link:"선택한 도형에 대해서 링크를 추가/업데이트",eraser:"지우개",frame:"프레임 도구",magicframe:"와이어프레임을 코드로",embeddable:"웹 임베드",laser:"레이저 포인터",hand:"손 (패닝 도구)",extraTools:"다른 도구",mermaidToExcalidraw:"Mermaid에서 불러오기",magicSettings:"AI 설정"},MNu={canvasActions:"캔버스 동작",selectedShapeActions:"선택된 모양 동작",shapes:"모양"},bNu={canvasPanning:"캔버스를 옮기려면 마우스 휠이나 스페이스바를 누르고 드래그하거나, 손 도구를 사용하기",linearElement:"여러 점을 연결하려면 클릭하고, 직선을 그리려면 바로 드래그하세요.",freeDraw:"클릭 후 드래그하세요. 완료되면 놓으세요.",text:"팁: 선택 툴로 아무 곳이나 더블 클릭해 텍스트를 추가할 수도 있습니다.",embeddable:"클릭 및 드래그하여 웹사이트 임베드 만들기",text_selected:"더블 클릭 또는 ENTER를 눌러서 텍스트 수정",text_editing:"ESC나 CtrlOrCmd+ENTER를 눌러서 수정을 종료하기",linearElementMulti:"마지막 지점을 클릭하거나 Esc 또는 Enter 키를 눌러 완료하세요.",lockAngle:"SHIFT 키를 누르면서 회전하면 각도를 제한할 수 있습니다.",resize:`SHIFT 키를 누르면서 조정하면 크기의 비율이 제한됩니다.
ALT를 누르면서 조정하면 중앙을 기준으로 크기를 조정합니다.`,resizeImage:`SHIFT를 눌러서 자유롭게 크기를 변경하거나,
ALT를 눌러서 중앙을 고정하고 크기를 변경하기`,rotate:"SHIFT 키를 누르면서 회전하면 각도를 제한할 수 있습니다.",lineEditor_info:"꼭짓점을 수정하려면 CtrlOrCmd 키를 누르고 더블 클릭을 하거나 CtrlOrCmd + Enter를 누르세요.",lineEditor_pointSelected:`Delete 키로 꼭짓점을 제거하거나,
CtrlOrCmd+D 로 복제하거나, 드래그 해서 이동시키기`,lineEditor_nothingSelected:`꼭짓점을 선택해서 수정하거나 (SHIFT를 눌러서 여러개 선택),
Alt를 누르고 클릭해서 새로운 꼭짓점 추가하기`,placeImage:"클릭해서 이미지를 배치하거나, 클릭하고 드래그해서 사이즈를 조정하기",publishLibrary:"당신만의 라이브러리를 게시하기",bindTextToElement:"Enter 키를 눌러서 텍스트 추가하기",deepBoxSelect:"CtrlOrCmd 키를 눌러서 깊게 선택하고, 드래그하지 않도록 하기",eraserRevert:"Alt를 눌러서 삭제하도록 지정된 요소를 되돌리기",firefox_clipboard_write:'이 기능은 설정에서 "dom.events.asyncClipboard.clipboardItem" 플래그를 "true"로 설정하여 활성화할 수 있습니다. Firefox에서 브라우저 플래그를 수정하려면, "about:config" 페이지에 접속하세요.',disableSnapping:"CtrlOrCmd 키를 눌러서 다른 요소와의 정렬 무시하기"},ZNu={cannotShowPreview:"미리보기를 볼 수 없습니다",canvasTooBig:"캔버스가 너무 큽니다.",canvasTooBigTip:"팁: 멀리 있는 요소들을 좀 더 가까이로 붙여 보세요."},JNu={headingMain:"오류가 발생했습니다. <button>페이지 새로고침</button>",clearCanvasMessage:"새로고침으로 해결되지 않을 경우, <button>캔버스 비우기</button>",clearCanvasCaveat:" 작업 내용을 잃게 됩니다 ",trackedToSentry:"오류 {{eventId}} 가 시스템에서 발견되었습니다.",openIssueMessage:"저희는 화면 정보를 오류에 포함하지 않도록 매우 주의하고 있습니다. 혹시 화면에 민감한 내용이 없다면 이곳에 업로드를 고려해주세요.<button>버그 트래커</button> 아래 정보를 GitHub 이슈에 복사 및 붙여넣기해 주세요.",sceneContent:"화면 내용:"},KNu={desc_intro:"현재 화면에 공동 작업자를 초대해 협업할 수 있습니다.",desc_privacy:"안심하세요, 세션은 종단 간 암호화를 사용하므로 당신의 작업은 비공개로 유지되며 서버조차도 작업 내용을 알 수 없습니다.",button_startSession:"세션 시작",button_stopSession:"세션 중단",desc_inProgressIntro:"실시간 협업 세션이 진행 중입니다.",desc_shareLink:"공동 작업자에게 이 링크를 공유하세요.",desc_exitSession:"세션을 중단하면 연결은 끊어지나 작업을 이어갈 수 있습니다. 이 작업은 다른 작업자에게 영향을 미치지 않으며 각자의 공동 작업은 계속 유지됩니다.",shareTitle:"Excalidraw의 실시간 협업 세션에 참가하기"},wNu={title:"오류"},QNu={disk_title:"디스크에 저장",disk_details:"나중에 다시 불러올 수 있도록 화면 데이터를 내보냅니다.",disk_button:"파일로 저장",link_title:"공유 가능한 링크 생성",link_details:"읽기 전용 링크로 내보냅니다.",link_button:"링크로 내보내기",excalidrawplus_description:"화면을 당신의 Excalidraw+ 작업 공간으로 저장합니다.",excalidrawplus_button:"내보내기",excalidrawplus_exportError:"지금은 Excalidraw+로 내보낼 수 없습니다..."},GNu={blog:"블로그 읽어보기",click:"클릭",deepSelect:"깊게 선택",deepBoxSelect:"영역을 깊게 선택하고, 드래그하지 않도록 하기",curvedArrow:"곡선 화살표",curvedLine:"곡선",documentation:"설명서",doubleClick:"더블 클릭",drag:"드래그",editor:"에디터",editLineArrowPoints:"직선 / 화살표 꼭짓점 수정",editText:"텍스트 수정 / 라벨 추가",github:"문제 제보하기",howto:"가이드 참고하기",or:"또는",preventBinding:"화살표가 붙지 않게 하기",tools:"도구",shortcuts:"키보드 단축키",textFinish:"편집 완료 (텍스트 에디터)",textNewLine:"줄바꿈(텍스트 에디터)",title:"도움말",view:"보기",zoomToFit:"모든 요소가 보이도록 확대/축소",zoomToSelection:"선택 영역으로 확대/축소",toggleElementLock:"선택한 항목을 잠금/잠금 해제",movePageUpDown:"페이지 움직이기 위/아래",movePageLeftRight:"페이지 움직이기 좌/우"},HNu={title:"캔버스 지우기"},qNu={title:"라이브러리 게시하기",itemName:"아이템 이름",authorName:"저자명",githubUsername:"깃허브 사용자이름",twitterUsername:"트위터 사용자이름",libraryName:"라이브러리 이름",libraryDesc:"라이브러리 설명",website:"웹사이트",placeholder:{authorName:"이름 또는 사용자명",libraryName:"당신의 라이브러리 이름",libraryDesc:"사람들에게 라이브러리의 용도를 알기 쉽게 설명해주세요",githubHandle:"GitHub 사용자명 (선택), 제출한 뒤에도 심사를 위해서 라이브러리를 수정할 때 사용됩니다",twitterHandle:"Twitter 사용자명 (선택), Twitter를 통해서 홍보할 때 제작자를 밝히기 위해 사용됩니다",website:"개인 웹사이트나 다른 어딘가의 링크 (선택)"},errors:{required:"필수사항",website:"유효한 URL을 입력하세요"},noteDescription:"당신의 라이브러리를 제출하여 <link>공개 라이브러리 저장소</link>에서 다른 사람들의 그림에 사용할 수 있도록 하세요.",noteGuidelines:"라이브러리는 먼저 수동으로 승인되어야 합니다. 제출하기 전에 <link>가이드라인</link>을 먼저 읽어보세요. 의견을 공유하거나 변경사항을 만들기 위해선 GitHub 계정이 필요하지만, 반드시 필요하진 않습니다.",noteLicense:"제출함으로써, 당신은 라이브러리가 <link>MIT 라이선스 </link>하에 배포됨을, 즉 아무나 제약 없이 사용할 수 있음에 동의합니다.",noteItems:"각각의 라이브러리는 분류할 수 있도록 고유한 이름을 가져야 합니다. 다음의 라이브러리 항목이 포함됩니다:",atleastOneLibItem:"최소한 하나의 라이브러리를 선택해주세요",republishWarning:"참고: 선택된 항목의 일부는 이미 제출/게시되었습니다. 기존의 라이브러리나 제출물을 업데이트하는 경우에만 제출하세요."},lNu={title:"라이브러리 제출됨",content:"{{authorName}}님 감사합니다. 당신의 라이브러리가 심사를 위해 제출되었습니다. 진행 상황을<link>여기에서 확인하실 수 있습니다.</link>"},LNu={resetLibrary:"라이브러리 리셋",removeItemsFromLib:"선택한 항목을 라이브러리에서 제거"},XNu={header:"이미지 내보내기",label:{withBackground:"배경",onlySelected:"선택한 항목만",darkMode:"다크 모드",embedScene:"화면을 담기",scale:"크기",padding:"여백"},tooltip:{embedScene:"화면 정보가 내보내는 PNG/SVG 파일에 저장되어 이후에 파일에서 화면을 복구할 수 있습니다. 파일 크기가 증가합니다."},title:{exportToPng:"PNG로 내보내기",exportToSvg:"SVG로 내보내기",copyPngToClipboard:"클립보드로 PNG 복사"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"클립보드로 복사"}},vNu={tooltip:"그림은 종단 간 암호화되므로 Excalidraw의 서버는 절대로 내용을 알 수 없습니다.",link:"Excalidraw의 종단 간 암호화에 대한 블로그 포스트"},xNu={angle:"각도",element:"요소",elements:"요소",height:"높이",scene:"화면",selected:"선택됨",storage:"저장공간",title:"덕후들을 위한 통계",total:"합계",version:"버전",versionCopy:"복사하려면 클릭",versionNotAvailable:"해당 버전 사용 불가능",width:"너비"},WNu={addedToLibrary:"라이브러리에 추가되었습니다",copyStyles:"스타일 복사.",copyToClipboard:"클립보드로 복사.",copyToClipboardAsPng:`{{exportSelection}}를 클립보드에 PNG로 복사했습니다
({{exportColorScheme}})`,fileSaved:"파일이 저장되었습니다.",fileSavedToFilename:"{filename} 로 저장되었습니다",canvas:"캔버스",selection:"선택한 요소",pasteAsSingleElement:"단일 요소로 붙여넣거나, 기존 텍스트 에디터에 붙여넣으려면 {{shortcut}} 을 사용하세요.",unableToEmbed:"이 URL의 임베딩이 허용되지 않았습니다. GitHub에 이슈를 남겨서 이 URL이 화이트리스트에 등재될 수 있도록 요청하세요",unrecognizedLinkFormat:'임베딩하려는 링크의 형식이 잘못된 것 같습니다. 원본 사이트에서 제공하는 "임베딩" 텍스트를 그대로 붙여 넣어 주세요'},SNu={transparent:"투명",black:"블랙",white:"화이트",red:"레드",pink:"핑크",grape:"그레이프",violet:"바이올렛",gray:"그레이",blue:"블루",cyan:"시안",teal:"틸",green:"그린",yellow:"옐로우",orange:"오렌지",bronze:"브론즈"},YNu={app:{center_heading:"모든 데이터는 브라우저에 안전하게 저장됩니다.",center_heading_plus:"대신 Excalidraw+로 이동하시겠습니까?",menuHint:"내보내기, 설정, 언어, ..."},defaults:{menuHint:"내보내기, 설정, 등등...",center_heading:"간단하게 만드는 다이어그램.",toolbarHint:"도구를 선택하고, 그리세요!",helpHint:"단축키 & 도움말"}},RNu={mostUsedCustomColors:"가장 많이 사용된 색상들",colors:"색상",shades:"색조",hexCode:"Hex 코드",noShades:"사용할 수 있는 색조가 없음"},TNu={action:{exportToImage:{title:"이미지로 내보내기",button:"이미지로 내보내기",description:"나중에 다시 불러올 수 있도록 화면 데이터를 이미지로 내보냅니다."},saveToDisk:{title:"디스크에 저장",button:"디스크에 저장",description:"나중에 다시 불러올 수 있도록 화면 데이터를 내보냅니다."},excalidrawPlus:{title:"Excalidraw+",button:"Excalidraw+로 내보내기",description:"화면을 당신의 Excalidraw+ 작업 공간으로 저장합니다."}},modal:{loadFromFile:{title:"파일에서 불러오기",button:"파일에서 불러오기",description:"파일을 불러오면 <bold>현재 작성된 데이터를 덮어쓰게 됩니다</bold>.<br></br>다음 옵션 중 하나를 선택하여 작업물을 백업해 둘 수 있습니다."},shareableLink:{title:"주소에서 불러오기",button:"컨텐츠를 덮어쓰기",description:"외부 작업물을 불러오면 <bold>현재 작성된 데이터를 덮어쓰게 됩니다</bold>.<br></br>다음 옵션 중 하나를 선택하여 작업물을 백업해 둘 수 있습니다."}}},ONu={title:"Mermaid에서 불러오기",button:"삽입하기",description:"지금은 <flowchartLink>순서도</flowchartLink>,<sequenceLink> 시퀀스</sequenceLink>, <classLink>클래스 </classLink>다이어그램만 지원합니다. 다른 형식들은 Excalidraw에서는 이미지로 표시됩니다.",syntax:"Mermaid 구문",preview:"미리보기"},Mf3={labels:DNu,library:FNu,buttons:UNu,alerts:zNu,errors:kNu,toolBar:fNu,headings:MNu,hints:bNu,canvasError:ZNu,errorSplash:JNu,roomDialog:KNu,errorDialog:wNu,exportDialog:QNu,helpDialog:GNu,clearCanvasDialog:HNu,publishDialog:qNu,publishSuccessDialog:lNu,confirmDialog:LNu,imageExportDialog:XNu,encrypted:vNu,stats:xNu,toast:WNu,colors:SNu,welcomeScreen:YNu,colorPicker:RNu,overwriteConfirm:TNu,mermaid:ONu}});var UVu={};ju(UVu,{welcomeScreen:()=>AVu,toolBar:()=>aNu,toast:()=>BVu,stats:()=>uVu,roomDialog:()=>gNu,publishSuccessDialog:()=>sNu,publishDialog:()=>dNu,overwriteConfirm:()=>DVu,mermaid:()=>FVu,library:()=>NNu,labels:()=>jNu,imageExportDialog:()=>tNu,hints:()=>$Nu,helpDialog:()=>pNu,headings:()=>mNu,exportDialog:()=>_Nu,errors:()=>iNu,errorSplash:()=>rNu,errorDialog:()=>cNu,encrypted:()=>eNu,default:()=>bf3,confirmDialog:()=>oNu,colors:()=>EVu,colorPicker:()=>CVu,clearCanvasDialog:()=>nNu,canvasError:()=>yNu,buttons:()=>VNu,alerts:()=>hNu});var jNu,NNu,VNu,hNu,iNu,aNu,mNu,$Nu,yNu,rNu,gNu,cNu,_Nu,pNu,nNu,dNu,sNu,oNu,tNu,eNu,uVu,BVu,EVu,AVu,CVu,DVu,FVu,bf3;var zVu=g(()=>{m4();jNu={paste:"دانانەوە",pasteAsPlaintext:"دایبنێ وەک دەقی سادە",pasteCharts:"دانانەوەی خشتەکان",selectAll:"دیاریکردنی هەموو",multiSelect:"زیادکردنی بۆ دیاریکراوەکان",moveCanvas:"تابلۆ بجوڵێنە",cut:"بڕین",copy:"لەبەرگرتنەوە",copyAsPng:"PNGلەبەرگرتنەوە بۆ تەختەنووس وەک",copyAsSvg:"SVGلەبەرگرتنەوە بۆ تەختەنووس وەک",copyText:"لەبەرگرتنەوە بۆ تەختەنووس وەک نوسین",copySource:"",convertToCode:"",bringForward:"بهێنە پێشتر",sendToBack:"بنێرە دواوە",bringToFront:"بهێنە پێشەوە",sendBackward:"بنێرە دواتر",delete:"سڕینەوە",copyStyles:"لەبەرگرتنەوەی ستایل",pasteStyles:"دانانەوەی ستایل",stroke:"هێڵکار",background:"پاشبنەما",fill:"پڕکردنەوە",strokeWidth:"پانی هێڵکاری",strokeStyle:"ستایلی هێڵکاری",strokeStyle_solid:"سادە",strokeStyle_dashed:"پچڕ پچڕ",strokeStyle_dotted:"خاڵدار",sloppiness:"لێژی",opacity:"ڕوونی",textAlign:"ڕێکخستنی دەق",edges:"لێوارەکان",sharp:"تیژ",round:"چەماوە",arrowheads:"سەرەتیر",arrowhead_none:"هیچیان",arrowhead_arrow:"تیر",arrowhead_bar:"هێڵ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"سێگۆشە",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"قەبارەی فۆنت",fontFamily:"خێزانی فۆنت",addWatermark:'زیادبکە "Made with Excalidraw"',handDrawn:"دەست کێشراو",normal:"ئاسایی",code:"کۆد",small:"بچووک",medium:"ناوەند",large:"گه‌وره‌",veryLarge:"زۆر گه‌وره‌",solid:"سادە",hachure:"هاچور",zigzag:"زیگزاگ",crossHatch:"کرۆس هاتچ",thin:"تەنک",bold:"تۆخ",left:"چەپ",center:"ناوه‌ند",right:"ڕاست",extraBold:"زۆر تۆخ",architect:"تەلارساز",artist:"هونەرمەند",cartoonist:"کارتۆنی",fileTitle:"ناوی فایل",colorPicker:"ڕەنگ هەڵگر",canvasColors:"بەکارهاتووە لەسەر تابلۆ",canvasBackground:"پاشبنەمای تابلۆ",drawingCanvas:"کێشانی تابلۆ",layers:"چینەکان",actions:"کردارەکان",language:"زمان",liveCollaboration:"هاوکاریکردنی زیندو...",duplicateSelection:"لەبەرگرتنەوە",untitled:"بێ ناونیشان",name:"ناو",yourName:"ناوەکەت",madeWithExcalidraw:"دروستکراوە بە Excalidraw",group:"دیاریکردنی گروپ",ungroup:"گروپی دیاریکراوەکان لابەرە",collaborators:"هاوکارەکان",showGrid:"گرید نیشانبدە",addToLibrary:"زیادکردن بۆ کتێبخانە",removeFromLibrary:"لابردن لە کتێبخانە",libraryLoadingMessage:"...بارکردنی کتێبخانە",libraries:"گەڕانی کتێبخانە",loadingScene:"...بارکردنی دیمەنەکە",align:"لاچەنکردن",alignTop:"لاچەنکردن بۆ سەرەوە",alignBottom:"لاچەنکردن بۆ خوارەوە",alignLeft:"لاچەنکردن بۆ چەپ",alignRight:"لاچەنکردن بۆ ڕاست",centerVertically:"بە ستونی ناوەند بکە",centerHorizontally:"بە ئاسۆی ناوەند بکە",distributeHorizontally:"بە ئاسۆی دابەشی بکە",distributeVertically:"بە ستونی دابەشی بکە",flipHorizontal:"هەڵگەڕانەوەی ئاسۆیی",flipVertical:"هەڵگەڕانەوەی ستونی",viewMode:"دۆخی بینین",share:"هاوبەشی پێکردن",showStroke:"ڕەنگهەڵگری هێڵکار نیشانبدە",showBackground:"ڕەنگهەڵگری باکگراوند نیشانبدە",toggleTheme:"دۆخی ڕوکار بگۆڕە",personalLib:"کتێبخانەی کەسی",excalidrawLib:"کتێبخانەی Excalidraw",decreaseFontSize:"کەمکردنەوەی قەبارەی فۆنت",increaseFontSize:"زایدکردنی قەبارەی فۆنت",unbindText:"دەقەکە جیابکەرەوە",bindText:"دەقەکە ببەستەوە بە کۆنتەینەرەکەوە",createContainerFromText:"دەق لە چوارچێوەیەکدا بپێچە",link:{edit:"دەستکاریکردنی بەستەر",editEmbed:"",create:"دروستکردنی بەستەر",createEmbed:"",label:"بەستەر",labelEmbed:"",empty:""},lineEditor:{edit:"دەستکاری کردنی دێڕ",exit:"دەرچوون لە دەستکاریکەری دێڕ"},elementLock:{lock:"قفڵکردن",unlock:"کردنەوە",lockAll:"قفڵکردنی هەموو",unlockAll:"کردنەوەی قفلی هەمووی"},statusPublished:"بڵاوکراوەتەوە",sidebarLock:"هێشتنەوەی شریتی لا بە کراوەیی",selectAllElementsInFrame:"هەموو توخمەکانی ناو چوارچێوەکە دیاری بکە",removeAllElementsFromFrame:"هەموو توخمەکانی ناو چوارچێوەکە لابەرە",eyeDropper:"ڕەنگێک لەسەر تابلۆکە هەڵبژێرە",textToDiagram:"",prompt:""},NNu={noItems:"هێشتا هیچ بڕگەیەک زیاد نەکراوە...",hint_emptyLibrary:"شتێک لەسەر تابلۆ هەڵبژێرە بۆ ئەوەی لێرە زیادی بکەیت، یان کتێبخانەیەک لە کۆگا گشتیەکەوە دابمەزرێنە، لە خوارەوە.",hint_emptyPrivateLibrary:"شتێک لەسەر تابلۆ هەڵبژێرە بۆ ئەوەی لێرە زیادی بکەیت."},VNu={clearReset:"تابلۆکە وەک سەرەتا لێبکەوە",exportJSON:"هەناردەکردن بۆ فایل",exportImage:"وێنە هەناردە بکە...",export:"پاشەکەوت بکە بۆ...",copyToClipboard:"له‌به‌ری بگره‌وه‌ بۆ ته‌خته‌نووس",save:"پاشەکەوت بکە بۆ فایلی بەردەست",saveAs:"پاشەکەوتکردن وەک",load:"بکەرەوە",getShareableLink:"بەستەری هاوبەشیپێکردن بەدەستبهێنە",close:"داخستن",selectLanguage:"دیاریکردنی زمان",scrollBackToContent:"گەڕاندنەوە بۆ ناوەڕۆک",zoomIn:"نزیک خستنەوە",zoomOut:"دوورخستنەوە",resetZoom:"ڕێستکردنی زووم",menu:"پێڕست",done:"تەواو",edit:"دەستکاری کردن",undo:"گه‌ڕانه‌وه‌ بۆ پێشوو",redo:"گه‌ڕانه‌وه‌ بۆ داهاتوو",resetLibrary:"ڕێکخستنەوەی کتێبخانە",createNewRoom:"ژوورێکی نوێ دروست بکە",fullScreen:"پڕ بە شاشە",darkMode:"دۆخی تاریک",lightMode:"دۆخی ڕووناک",zenMode:"دۆخی زێن",objectsSnapMode:"",exitZenMode:"بەجێهێشتنی دۆخی زێن",cancel:"هەڵوەشاندنەوە",clear:"خاوێنکردنەوە",remove:"لابردن",embed:"",publishLibrary:"بڵاوکردنەوە",submit:"پێشکەشکردن",confirm:"دوپاتکردنەوە",embeddableInteractionButton:""},hNu={clearReset:"ئەمە هەموو تابلۆکە خاوێن دەکاتەوە، دڵنیایت؟",couldNotCreateShareableLink:"نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت",couldNotCreateShareableLinkTooBig:"نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت: دیمەنەکە زۆر گەورەیە",couldNotLoadInvalidFile:"ناتوانرا باربکرێت، فایلەکە دروستنییە",importBackendFailed:"هاوردەکردن لە پاشکۆکە سەرکەوتوو نەبوو.",cannotExportEmptyCanvas:"ناتوانرێت تابلۆی بەتاڵ هەناردەبکرێت.",couldNotCopyToClipboard:"ناتوانرا لەبەربگیرێتەوە بۆ تەختەنوس",decryptFailed:"ناتوانرا داتاکان شیبکرێتەوە",uploadedSecurly:"بارکردنەکە بە کۆدکردنی کۆتایی بۆ کۆتایی پارێزراوە، ئەمەش واتە سێرڤەری Excalidraw و لایەنی سێیەم ناتوانن ناوەڕۆکەکە بخوێننەوە.",loadSceneOverridePrompt:"بارکردنی وێنەکێشانی دەرەکی جێگەی ناوەڕۆکی بەردەستت دەگرێتەوە. دەتەوێت بەردەوام بیت؟",collabStopOverridePrompt:`وەستاندنی دانیشتنەکە وێنەکێشانی پێشووت دەنووسێتەوە کە لە ناوخۆدا هەڵگیراوە. ئایا دڵنیایت?
(ئەگەر دەتەوێت وێنەکێشانی ناوخۆیی خۆت بهێڵیتەوە، لەبری ئەوە تەنها تابی وێبگەڕەکە دابخە).`,errorAddingToLibrary:"نەیتوانی بڕگە زیاد بکات بۆ کتێبخانە",errorRemovingFromLibrary:"نەیتوانی بڕگە لە کتێبخانە بسڕێتەوە",confirmAddLibrary:"ئەمە {{numShapes}} شێوە(ەکان) زیاد دەکات بۆ کتێبخانەکەت. ئایا دڵنیایت?",imageDoesNotContainScene:"وادیارە ئەم وێنەیە هیچ داتایەکی دیمەنی تێدا نییە. ئایا دیمەنی چەسپاندنت لە کاتی هەناردەدا چالاک کردووە؟",cannotRestoreFromImage:"ناتوانرێت دیمەنەکە بگەڕێندرێتەوە لەم فایلە وێنەیە",invalidSceneUrl:'ناتوانێت دیمەنەکە هاوردە بکات لە URL ی دابینکراو. یان نادروستە، یان داتای "ئێکسکالیدراو" JSON ی دروستی تێدا نییە.',resetLibrary:"ئەمە کتێبخانەکەت خاوێن دەکاتەوە. ئایا دڵنیایت?",removeItemsFromsLibrary:"سڕینەوەی {{count}} ئایتم(ەکان) لە کتێبخانە؟",invalidEncryptionKey:"کلیلی رەمزاندن دەبێت لە 22 پیت بێت. هاوکاری ڕاستەوخۆ لە کارخراوە.",collabOfflineWarning:`هێڵی ئینتەرنێت بەردەست نییە.
گۆڕانکارییەکانت سەیڤ ناکرێن!`},iNu={unsupportedFileType:"جۆری فایلی پشتگیری نەکراو.",imageInsertError:"نەیتوانی وێنە داخڵ بکات. دواتر هەوڵ بدە",fileTooBig:"فایلەکە زۆر گەورەیە. زۆرترین قەبارەی ڕێگەپێدراو {{maxSize}}}.",svgImageInsertError:"نەیتوانی وێنەی SVG داخڵ بکات. نیشانەی ئێس ڤی جی نادروست دیارە.",failedToFetchImage:"",invalidSVGString:"ئێس ڤی جی نادروستە.",cannotResolveCollabServer:"ناتوانێت پەیوەندی بکات بە سێرڤەری کۆلاب. تکایە لاپەڕەکە دووبارە باربکەوە و دووبارە هەوڵ بدەوە.",importLibraryError:"نەیتوانی کتێبخانە بار بکات",collabSaveFailed:"نەتوانرا لە بنکەدراوەی ڕاژەدا پاشەکەوت بکرێت. ئەگەر کێشەکان بەردەوام بوون، پێویستە فایلەکەت لە ناوخۆدا هەڵبگریت بۆ ئەوەی دڵنیا بیت کە کارەکانت لەدەست نادەیت.",collabSaveFailed_sizeExceeded:"نەتوانرا لە بنکەدراوەی ڕاژەدا پاشەکەوت بکرێت، پێدەچێت تابلۆکە زۆر گەورە بێت. پێویستە فایلەکە لە ناوخۆدا هەڵبگریت بۆ ئەوەی دڵنیا بیت کە کارەکانت لەدەست نادەیت.",imageToolNotSupported:"",brave_measure_text_error:{line1:"وادیارە وێبگەڕی Brave بەکاردەهێنیت و ڕێکخستنی <bold>Aggressively Block Fingerprinting</bold> ـت چالاک کردووە.",line2:"ئەمە ئەکرێ ببێتە هۆی تێکدانی <bold>دانە دەقییەکان</bold> لە وێنەکێشانەکانتدا.",line3:"ئێمە بە توندی پێشنیاری لەکارخستنی ئەم ڕێکخستنە دەکەین. بۆ لە کارخستنی دەتوانیت بەم <link>هەنگاوانە</link>دا بڕۆیت.",line4:"ئەگەر لەکارخستنی ئەم ڕێکخستنە نەبوە هۆی چاککردنەوەی پێشاندانی دانە دەقییەکان، تکایە <issueLink>کێشە</issueLink>یەک بکەرەوە لەسەر گیتهەبەکەمان، یان بۆمان بنوسە لەسەر <discordLink>دیسکۆرد</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},aNu={selection:"دەستنیشانکردن",image:"داخڵکردنی وێنە",rectangle:"لاکێشە",diamond:"ئەڵماس",ellipse:"هێلکەیی",arrow:"تیر",line:"هێڵ",freedraw:"کێشان",text:"دەق",library:"کتێبخانە",lock:"ئامێرە دیاریکراوەکان چالاک بهێڵەوە دوای وێنەکێشان",penMode:"شێوازی قەڵەم - دەست لێدان ڕابگرە",link:"زیادکردن/ نوێکردنەوەی لینک بۆ شێوەی دیاریکراو",eraser:"سڕەر",frame:"ئامرازی چوارچێوە",magicframe:"",embeddable:"",laser:"",hand:"دەست (ئامرازی پانکردن)",extraTools:"ئامرازی زیاتر",mermaidToExcalidraw:"",magicSettings:""},mNu={canvasActions:"کردارەکانی تابلۆ",selectedShapeActions:"کردارەکانی شێوەی دەستنیشانکراو",shapes:"شێوەکان"},$Nu={canvasPanning:"بۆ جوڵاندنی تابلۆ، ویلی ماوسەکەت یان دوگمەی سپەیس بگرە لەکاتی ڕاکێشاندە، یانیش ئامرازی دەستەکە بەکاربهێنە",linearElement:"کرتە بکە بۆ دەستپێکردنی چەند خاڵێک، ڕایبکێشە بۆ یەک هێڵ",freeDraw:"کرتە بکە و ڕایبکێشە، کاتێک تەواو بوویت دەست هەڵگرە",text:"زانیاری: هەروەها دەتوانیت دەق زیادبکەیت بە دوو کرتەکردن لە هەر شوێنێک لەگەڵ ئامڕازی دەستنیشانکردن",embeddable:"",text_selected:"دووجار کلیک بکە یان ENTER بکە بۆ دەستکاریکردنی دەق",text_editing:"بۆ تەواوکردنی دەستکاریکردنەکە Escape یان Ctrl/Cmd+ENTER بکە",linearElementMulti:"کلیک لەسەر کۆتا خاڵ بکە یان Escape یان Enter بکە بۆ تەواوکردن",lockAngle:"دەتوانیت گۆشە سنووردار بکەیت بە ڕاگرتنی SHIFT",resize:`دەتوانیت ڕێژەکان سنووردار بکەیت بە ڕاگرتنی SHIFT لەکاتی گۆڕینی قەبارەدا،
ALT ڕابگرە بۆ گۆڕینی قەبارە لە ناوەندەوە`,resizeImage:`دەتوانیت بە ئازادی قەبارە بگۆڕیت بە ڕاگرتنی SHIFT،
ALT ڕابگرە بۆ گۆڕینی قەبارە لە ناوەندەوە`,rotate:"دەتوانیت گۆشەکان سنووردار بکەیت بە ڕاگرتنی SHIFT لەکاتی سوڕانەوەدا",lineEditor_info:"یان Ctrl یان Cmd بگرە و دوانە کلیک بکە یانیش پەنجە بنێ بە Ctrl یان Cmd + ئینتەر بۆ دەستکاریکردنی خاڵەکان",lineEditor_pointSelected:"بۆ لابردنی خاڵەکان Delete دابگرە، Ctrl Cmd+D بکە بۆ لەبەرگرتنەوە، یان بۆ جووڵە ڕاکێشان بکە",lineEditor_nothingSelected:`خاڵێک هەڵبژێرە بۆ دەستکاریکردن (SHIFT ڕابگرە بۆ هەڵبژاردنی چەندین)،
یان Alt ڕابگرە و کلیک بکە بۆ زیادکردنی خاڵە نوێیەکان`,placeImage:"کلیک بکە بۆ دانانی وێنەکە، یان کلیک بکە و ڕایبکێشە بۆ ئەوەی قەبارەکەی بە دەستی دابنێیت",publishLibrary:"کتێبخانەی تایبەت بە خۆت بڵاوبکەرەوە",bindTextToElement:"بۆ زیادکردنی دەق enter بکە",deepBoxSelect:"CtrlOrCmd ڕابگرە بۆ هەڵبژاردنی قووڵ، و بۆ ڕێگریکردن لە ڕاکێشان",eraserRevert:"بۆ گەڕاندنەوەی ئەو توخمانەی کە بۆ سڕینەوە نیشانە کراون، Alt ڕابگرە",firefox_clipboard_write:'ئەم تایبەتمەندییە بە ئەگەرێکی زۆرەوە دەتوانرێت چالاک بکرێت بە ڕێکخستنی ئاڵای "dom.events.asyncClipboard.clipboardItem" بۆ "true". بۆ گۆڕینی ئاڵاکانی وێبگەڕ لە فایەرفۆکسدا، سەردانی لاپەڕەی "about:config" بکە.',disableSnapping:""},yNu={cannotShowPreview:"ناتوانرێ پێشبینین پیشان بدرێت",canvasTooBig:"تابلۆکە لەوانەیە زۆر گەورەبێت.",canvasTooBigTip:"زانیاری: هەوڵ بدە دوورترین توخمەکان کەمێک لە یەکتر نزیک بکەوە."},rNu={headingMain:"تووشی هەڵەیەک بوو. هەوڵ بدە <button>دووبارە بارکردنی لاپەڕەکە.</button>",clearCanvasMessage:"ئەگەر دووبارە بارکردنەوە کار ناکات، هەوڵبدە <button>خاوێنکردنەوەی تابلۆکە.</button>",clearCanvasCaveat:" ئەمە دەبێتە هۆی لەدەستدانی ئەوەی کە کردوتە ",trackedToSentry:"هەڵەکە لەگەڵ ناسێنەری {{eventId}} لەسەر سیستەمەکەمان بەدواداچوونی بۆ کرا.",openIssueMessage:"ئێمە زۆر وریا بووین کە زانیارییەکانی دیمەنەکەت لەسەر هەڵەکە نەخەینەڕوو. ئەگەر دیمەنەکەت تایبەت نییە، تکایە بیر لە بەدواداچوون بکەنەوە بۆ ئێمە <button>شوێنپێهەڵگری هەڵە.</button> تکایە ئەم زانیارییانەی خوارەوە کۆپی بکە و لە بەشی کێشەکانی Github دایبنێ.",sceneContent:"پێکهاتەی ناو دیمەنەکە:"},gNu={desc_intro:"دەتوانیت خەڵک بانگهێشت بکەیت بۆ دیمەنی ئێستات بۆ هاوکاری کردن لەگەڵت.",desc_privacy:"نیگەران مەبە، دانیشتنەکە کۆدکردنی کۆتایی بە کۆتایی بەکاردەهێنێت، بۆیە هەرچییەک بکێشیت بە تایبەتی دەمێنێتەوە. تەنانەت سێرڤەرەکەمان ناتوانێت بزانێت کە تۆ چیت دروستکردووە.",button_startSession:"دەستپێکردنی دانیشتن",button_stopSession:"وەستاندنی دانیشتن",desc_inProgressIntro:"دانیشتنی هاوکاری ڕاستەوخۆ ئێستا لە ئارادایە.",desc_shareLink:"هاوبەشکردنی ئەم لینکە لەگەڵ هەر کەسێک کە دەتەوێت هاوکاری بکەیت لەگەڵ:",desc_exitSession:"وەستاندنی دانیشتنەکە پەیوەندیت لەگەڵ ژوورەکە دەپچڕێنێت، بەڵام تۆ دەتوانیت بەردەوام بیت لە کارکردن لەگەڵ دیمەنەکە، لە ناوخۆدا. تێبینی بکە کە ئەمە کاریگەری لەسەر کەسانی تر نابێت، وە ئەوان هێشتا دەتوانن هاوکاری بکەن لەسەر وەشانەکەیان.",shareTitle:"بەشداری بکە لە دانیشتنی هاریکاری ڕاستەوخۆ لە ئێکسکالیدراو"},cNu={title:"هه‌ڵه‌ ڕوویدا"},_Nu={disk_title:"پاشەکەوت بکە لە دیسک",disk_details:"هەناردەکردنی داتای دیمەنەکە بۆ فایلێک کە دواتر دەتوانیت لێی هاوردە بکەیت.",disk_button:"پاشەکەوت بکە بۆ فایل",link_title:"بەستەری هاوبەشیپێکردن",link_details:"ناردن وەک بەستەری تەنها-خوێندنەوە.",link_button:"هەناردەکردن بۆ بەستەر",excalidrawplus_description:"دیمەنەکە لە شوێنی کارکردنی Excalidraw+ هەڵبگرە.",excalidrawplus_button:"هەناردەکردن",excalidrawplus_exportError:"لەم ساتەدا نەتوانرا هەناردە بکرێت بۆ Excalidrow+..."},pNu={blog:"بلۆگەکەمان بخوێنەوە",click:"گرتە",deepSelect:"دەستنیشانکردنی قوڵ",deepBoxSelect:"لەناو بۆکسەکەدا بە قووڵی هەڵبژێرە، و ڕێگری لە ڕاکێشان بکە",curvedArrow:"تیری نوشتاوە",curvedLine:"هێڵی نوشتاوە",documentation:"دۆکیومێنتەیشن",doubleClick:"دوو گرتە",drag:"راکێشان",editor:"دەستکاریکەر",editLineArrowPoints:"دەستکاری خاڵەکانی هێڵ/تیر بکە",editText:"دەستکاری دەق بکە / لەیبڵێک زیاد بکە",github:"کێشەیەکت دۆزیەوە؟ پێشکەشکردن",howto:"شوێن ڕینماییەکانمان بکەوە",or:"یان",preventBinding:"ڕێگریبکە لە نوشتاناوەی تیر",tools:"ئامرازەکان",shortcuts:"کورتکراوەکانی تەختەکلیل",textFinish:"تەواوکردنی دەستکاریکردن (دەستکاریکەری دەق)",textNewLine:"زیادکردنی دێڕی نوێ (دەستکاریکەری دەق)",title:"یارماتی",view:"دیمەن",zoomToFit:"زووم بکە بۆ ئەوەی لەگەڵ هەموو توخمەکاندا بگونجێت",zoomToSelection:"زووم بکە بۆ دەستنیشانکراوەکان",toggleElementLock:"قفڵ/کردنەوەی دەستنیشانکراوەکان",movePageUpDown:"لاپەڕەکە بجوڵێنە بۆ سەرەوە/خوارەوە",movePageLeftRight:"لاپەڕەکە بجوڵێنە بۆ چەپ/ڕاست"},nNu={title:"تابلۆکە خاوێن بکەرەوە"},dNu={title:"پێشکەشکردنی کتێبخانە",itemName:"ناوی بڕگە",authorName:"ناوی نوسەر",githubUsername:"ناوی بەکارهێنەری Github",twitterUsername:"ناوی بەکارهێنەری Twitter",libraryName:"ناوی کتێبخانە",libraryDesc:"وەسفی کتێبخانە",website:"ماڵپەڕ",placeholder:{authorName:"ناوەکات یاخود ناوی بەکارهێنەر",libraryName:"ناوی کتێبخانەکەت",libraryDesc:"وەسفی کتێبخانەکەت بۆ یارمەتیدانی خەڵک بۆ تێگەیشتن لە بەکارهێنانی",githubHandle:"ناوی GitHub (ئارەزوومەندانە)، بۆیە دەتوانیت دەستکاری کتێبخانەکە بکەیت کاتێک پێشکەش دەکرێت بۆ پێداچوونەوە",twitterHandle:"ناوی بەکارهێنەری تویتەر (ئارەزوومەندانە)، بۆیە بزانین لەکاتی بانگەشەکردن لە ڕێگەی تویتەرەوە کریدت بۆ کێ بکەین",website:"لینکی ماڵپەڕی تایبەتی خۆت یان شوێنێکی تر (ئارەزومەندانە)"},errors:{required:"داواکراوە",website:"URLێکی دروست تێبنووسە"},noteDescription:"کتێبخانەکەت بنێرە بۆ ئەوەی بخرێتە ناو <link>کۆگای کتێبخانەی گشتی</link>بۆ ئەوەی کەسانی تر لە وێنەکێشانەکانیاندا بەکاری بهێنن.",noteGuidelines:"کتێبخانەکە پێویستە سەرەتا بە دەست پەسەند بکرێت. تکایە بفەرمو بە خوێندنەوەی <link>ڕێنماییەکان</link> پێش پێشکەشکردن. پێویستت بە ئەژمێری GitHub دەبێت بۆ پەیوەندیکردن و گۆڕانکاری ئەگەر داوای لێکرا، بەڵام بە توندی پێویست نییە.",noteLicense:"بە پێشکەشکردن، تۆ ڕەزامەندیت لەسەر بڵاوکردنەوەی کتێبخانەکە بەپێی <link>مۆڵەتی MIT، </link>کە بە کورتی مانای ئەوەیە کە هەرکەسێک دەتوانێت بە بێ سنوور بەکاری بهێنێت",noteItems:"هەر شتێکی کتێبخانە دەبێت ناوی تایبەتی خۆی هەبێت بۆ ئەوەی بتوانرێت فلتەر بکرێت. ئەم بابەتانەی کتێبخانانەی خوارەوە لەخۆدەگرێت:",atleastOneLibItem:"تکایە بەلایەنی کەمەوە یەک بڕگەی کتێبخانە دیاریبکە بۆ دەستپێکردن",republishWarning:"تێبینی: هەندێک لە ئایتمە دیاریکراوەکان نیشانکراون وەک ئەوەی پێشتر بڵاوکراونەتەوە/نێردراون. تەنها پێویستە شتەکان دووبارە پێشکەش بکەیتەوە لە کاتی نوێکردنەوەی کتێبخانەیەکی هەبوو یان پێشکەشکردن."},sNu={title:"کتێبخانە پێشکەش کرا",content:"سوپاس {{authorName}}. کتێبخانەکەت پێشکەش کراوە بۆ پێداچوونەوە. دەتوانیت بەدواداچوون بۆ دۆخەکە بکەیت<link>لێرە</link>"},oNu={resetLibrary:"ڕێکخستنەوەی کتێبخانە",removeItemsFromLib:"لابردنی ئایتمە دیاریکراوەکان لە کتێبخانە"},tNu={header:"وێنە هەناردە بکە",label:{withBackground:"پاشبنەما",onlySelected:"تەنها دیاریکراوەکان",darkMode:"دۆخی تاریک",embedScene:"دیمەنەکە بەکاربهێنەرەوە",scale:"قەبارە",padding:"بۆشایی"},tooltip:{embedScene:`داتاکانی دیمەنەکە لە فایلە هەناردەکراوەکەی PNG/SVG هەڵدەگیرێن بۆ ئەوەی دیمەنەکە لێیەوە بگەڕێتەوە.
قەبارەی پەڕگەی هەناردەکراو زیاد دەکات.`},title:{exportToPng:"هەناردە بکە وەک PNG",exportToSvg:"هەناردە بکە وەک SVG",copyPngToClipboard:"لەبەربگرەوە بۆ سەر تەختەنوس"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"له‌به‌ری بگره‌وه‌ بۆ ته‌خته‌نووس"}},eNu={tooltip:"وێنەکێشانەکانت لە کۆتاییەوە بۆ کۆتایی کۆد کراون بۆیە سێرڤەرەکانی ئێکسکالیدرا هەرگیز نایانبینن.",link:"بلۆگ پۆست لەسەر کۆدکردنی کۆتای بۆ کۆتای لە ئێکسکالیدرەو"},uVu={angle:"گۆشە",element:"توخم",elements:"توخمەکان",height:"بەرزی",scene:"دیمەنەکە",selected:"دەستنیشانکراوەکان",storage:"بیرگە",title:"ئامار بۆ نێردەکان",total:"گشتی",version:"وەشان",versionCopy:"کلیک بۆ لەبەرگرتنەوە",versionNotAvailable:"وەشان بەردەست نییە",width:"پانی"},BVu={addedToLibrary:"زیادکرا بۆ کتێبخانە",copyStyles:"ستایلی کۆپیکراو.",copyToClipboard:"لەبەرگیرایەوە بۆ تەختەنوس.",copyToClipboardAsPng:`کۆپی کراوە {{exportSelection}} بۆ کلیپبۆرد وەک PNG
({{exportColorScheme}})`,fileSaved:"فایل هەڵگیرا.",fileSavedToFilename:"هەڵگیراوە بۆ {filename}",canvas:"تابلۆ",selection:"دەستنیشانکراوەکان",pasteAsSingleElement:"بۆ دانانەوە وەکو یەک توخم یان دانانەوە بۆ نێو دەسکاریکەرێکی دەق کە بوونی هەیە {{shortcut}} بەکاربهێنە",unableToEmbed:"",unrecognizedLinkFormat:""},EVu={transparent:"ڕوون",black:"ڕەش",white:"سپی",red:"سور",pink:"پەمەیی",grape:"مێوژی",violet:"مۆری کاڵ",gray:"خۆڵەمێشی",blue:"شین",cyan:"شینی ئاسمانی",teal:"شەدری",green:"سه‌وز",yellow:"زەرد",orange:"پرتەقاڵی",bronze:"برۆنزی"},AVu={app:{center_heading:"هەموو داتاکانت لە ناوخۆی وێنگەڕەکەتدا پاشەکەوت کراوە.",center_heading_plus:"ویستت بڕۆیت بۆ Excalidraw+?",menuHint:"هەناردەکردن، ڕێکخستنەکان، زمانەکان، ..."},defaults:{menuHint:"هەناردەکردن، ڕێکخستنەکان، و زیاتر...",center_heading:"دایاگرامەکان. ئاسان. کراون.",toolbarHint:"ئامرازێک هەڵبگرە و دەستبکە بە کێشان!",helpHint:"قەدبڕەکان و یارمەتی"}},CVu={mostUsedCustomColors:"زۆرترین ڕەنگە باوە بەکارهاتووەکان",colors:"ڕەنگەکان",shades:"سێبەرەکان",hexCode:"کۆدی هێکس",noShades:"هیچ سێبەرێک بۆ ئەم ڕەنگە بەردەست نییە"},DVu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},FVu={title:"",button:"",description:"",syntax:"",preview:""},bf3={labels:jNu,library:NNu,buttons:VNu,alerts:hNu,errors:iNu,toolBar:aNu,headings:mNu,hints:$Nu,canvasError:yNu,errorSplash:rNu,roomDialog:gNu,errorDialog:cNu,exportDialog:_Nu,helpDialog:pNu,clearCanvasDialog:nNu,publishDialog:dNu,publishSuccessDialog:sNu,confirmDialog:oNu,imageExportDialog:tNu,encrypted:eNu,stats:uVu,toast:BVu,colors:EVu,welcomeScreen:AVu,colorPicker:CVu,overwriteConfirm:DVu,mermaid:FVu}});var VVu={};ju(VVu,{welcomeScreen:()=>IVu,toolBar:()=>JVu,toast:()=>TVu,stats:()=>RVu,roomDialog:()=>HVu,publishSuccessDialog:()=>xVu,publishDialog:()=>vVu,overwriteConfirm:()=>jVu,mermaid:()=>NVu,library:()=>fVu,labels:()=>kVu,imageExportDialog:()=>SVu,hints:()=>wVu,helpDialog:()=>LVu,headings:()=>KVu,exportDialog:()=>lVu,errors:()=>ZVu,errorSplash:()=>GVu,errorDialog:()=>qVu,encrypted:()=>YVu,default:()=>Zf3,confirmDialog:()=>WVu,colors:()=>OVu,colorPicker:()=>PVu,clearCanvasDialog:()=>XVu,canvasError:()=>QVu,buttons:()=>MVu,alerts:()=>bVu});var kVu,fVu,MVu,bVu,ZVu,JVu,KVu,wVu,QVu,GVu,HVu,qVu,lVu,LVu,XVu,vVu,xVu,WVu,SVu,YVu,RVu,TVu,OVu,IVu,PVu,jVu,NVu,Zf3;var hVu=g(()=>{m4();kVu={paste:"Įklijuoti",pasteAsPlaintext:"Įklijuoti kaip paprastą tekstą",pasteCharts:"Įklijuoti diagramas",selectAll:"Pažymėti viską",multiSelect:"Pridėkite elementą prie pasirinktų",moveCanvas:"Judinti drobę",cut:"Iškirpti",copy:"Kopijuoti",copyAsPng:"Kopijuoti į iškarpinę kaip PNG",copyAsSvg:"Kopijuoti į iškarpinę kaip SVG",copyText:"Kopijuoti į iškarpinę kaip tekstą",copySource:"",convertToCode:"",bringForward:"Kelti priekio link",sendToBack:"Nustumti į užnugarį",bringToFront:"Iškelti į priekį",sendBackward:"Nustumti link užnugario",delete:"Ištrinti",copyStyles:"Kopijuoti stilius",pasteStyles:"Įklijuoti stilius",stroke:"Linija",background:"Fonas",fill:"Užpildymas",strokeWidth:"Linijos storis",strokeStyle:"Linijos stilius",strokeStyle_solid:"Ištisinė",strokeStyle_dashed:"Brūkšniuota",strokeStyle_dotted:"Taškuota",sloppiness:"Netvarkingumas",opacity:"Nepermatomumas",textAlign:"Teksto lygiavimas",edges:"Kraštai",sharp:"Aštrus",round:"Užapvalintas",arrowheads:"Rodyklės viršūnės",arrowhead_none:"Jokios",arrowhead_arrow:"Rodyklė",arrowhead_bar:"Brukšnys",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Trikampis",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Šrifto dydis",fontFamily:"Šriftas",addWatermark:"Sukurta su Excalidraw",handDrawn:"Ranka rašytas",normal:"Normalus",code:"Kodas",small:"Mažas",medium:"Vidutinis",large:"Didelis",veryLarge:"Labai didelis",solid:"",hachure:"",zigzag:"",crossHatch:"",thin:"Plonas",bold:"Pastorintas",left:"Kairėje",center:"Centre",right:"Dešinėje",extraBold:"Labiau pastorintas",architect:"Architektas",artist:"Menininkas",cartoonist:"Karikatūristas",fileTitle:"Failo pavadinimas",colorPicker:"Spalvos parinkiklis",canvasColors:"",canvasBackground:"Drobės fonas",drawingCanvas:"",layers:"Sluoksniai",actions:"Veiksmai",language:"Kalba",liveCollaboration:"Bendradarbiavimas gyvai...",duplicateSelection:"",untitled:"",name:"",yourName:"Jūsų vardas",madeWithExcalidraw:"Sukurta su Excalidraw",group:"Grupuoti pasirinkimą",ungroup:"Išgrupuoti pasirinkimą",collaborators:"Bendradarbiautojai",showGrid:"Rodyti tinklelį",addToLibrary:"Pridėti į biblioteką",removeFromLibrary:"Pašalinti iš bibliotekos",libraryLoadingMessage:"",libraries:"Naršyti bibliotekas",loadingScene:"",align:"Lygiuoti",alignTop:"Lygiuoti viršuje",alignBottom:"Lygiuoti apačioje",alignLeft:"Lygiuoti kairėje",alignRight:"Lygiuoti dešinėje",centerVertically:"Centruoti vertikaliai",centerHorizontally:"Centruoti horizontaliai",distributeHorizontally:"",distributeVertically:"",flipHorizontal:"Apversti horizontaliai",flipVertical:"Apversti vertikaliai",viewMode:"",share:"Dalintis",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"Asmeninė biblioteka",excalidrawLib:"Exaclidraw biblioteka",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"Redeguoti nuorodą",editEmbed:"",create:"Sukurti nuorodą",createEmbed:"",label:"Nuoroda",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"Užrakinti",unlock:"Atrakinti",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},fVu={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},MVu={clearReset:"",exportJSON:"Eksportuoti į failą",exportImage:"",export:"",copyToClipboard:"Kopijuoti į iškarpinę",save:"",saveAs:"Išsaugoti kaip",load:"",getShareableLink:"Gauti nuorodą dalinimuisi",close:"Uždaryti",selectLanguage:"Pasirinkite kalbą",scrollBackToContent:"",zoomIn:"Priartinti",zoomOut:"Nutolinti",resetZoom:"",menu:"Meniu",done:"",edit:"Redaguoti",undo:"Anuliuoti",redo:"",resetLibrary:"Atstatyti biblioteką",createNewRoom:"Sukurti naują kambarį",fullScreen:"Visas ekranas",darkMode:"Tamsus režimas",lightMode:"Šviesus režimas",zenMode:"„Zen“ režimas",objectsSnapMode:"",exitZenMode:"Išeiti iš „Zen“ režimo",cancel:"Atšaukti",clear:"Išvalyti",remove:"Pašalinti",embed:"",publishLibrary:"Paskelbti",submit:"Pateikti",confirm:"Patvirtinti",embeddableInteractionButton:""},bVu={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:`Sesijos nutraukimas perrašys ankstesnį, lokaliai išsaugotą piešinį. Ar tikrai to nori?
(Jei nori išlaikyti lokalų piešinį, tiesiog uždaryk naršyklės skirtuką.)`,errorAddingToLibrary:"Nepavyko įtraukti elemento į biblioteką",errorRemovingFromLibrary:"Nepavyko pašalinti elemento iš bibliotekos",confirmAddLibrary:"Tai įtrauks {{numShapes}} figūrą/-as į tavo biblioteką. Ar tikrai to nori?",imageDoesNotContainScene:"Panašu, jog šis paveiksliukas neturi scenos duomenų. Ar yra įjuntas scenos įtraukimas ekportavimo metu?",cannotRestoreFromImage:"Nepavyko atstatyti scenos iš šio nuotraukos failo",invalidSceneUrl:"Nepavyko suimportuoti scenos iš pateiktos nuorodos (URL). Ji arba blogai suformatuota, arba savyje neturi teisingų Excalidraw JSON duomenų.",resetLibrary:"Tai išvalys tavo biblioteką. Ar tikrai to nori?",removeItemsFromsLibrary:"Ištrinti {{count}} elementą/-us iš bibliotekos?",invalidEncryptionKey:"Šifravimo raktas turi būti iš 22 simbolių. Redagavimas gyvai yra išjungtas.",collabOfflineWarning:""},ZVu={unsupportedFileType:"Nepalaikomas failo tipas.",imageInsertError:"Nepyko įkelti paveiksliuko. Pabandyk vėliau...",fileTooBig:"Per didelis failas. Didžiausias leidžiamas dydis yra {{maxSize}}.",svgImageInsertError:"Nepavyko įtraukti SVG paveiksliuko. Panašu, jog SVG yra nevalidus.",failedToFetchImage:"",invalidSVGString:"Nevalidus SVG.",cannotResolveCollabServer:"Nepavyko prisijungti prie serverio bendradarbiavimui. Perkrauk puslapį ir pabandyk prisijungti dar kartą.",importLibraryError:"Nepavyko įkelti bibliotekos",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},JVu={selection:"Žymėjimas",image:"Įkelti paveiksliuką",rectangle:"Stačiakampis",diamond:"Deimantas",ellipse:"Elipsė",arrow:"Rodyklė",line:"Linija",freedraw:"Piešti",text:"Tekstas",library:"Biblioteka",lock:"Baigus piešti, išlaikyti pasirinktą įrankį",penMode:"Rašyklio režimas - neleisti prisilietimų",link:"Pridėti / Atnaujinti pasirinktos figūros nuorodą",eraser:"Trintukas",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},KVu={canvasActions:"Veiksmai su drobe",selectedShapeActions:"Veiksmai su pasirinkta figūra",shapes:"Figūros"},wVu={canvasPanning:"",linearElement:"Paspaudimai sukurs papildomus taškus, nepertraukiamas tempimas sukurs liniją",freeDraw:"Spausk ir tempk, paleisk kai norėsi pabaigti",text:"Užuomina: tekstą taip pat galima pridėti bet kur su dvigubu pelės paspaudimu, kol parinkas žymėjimo įrankis",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},QVu={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},GVu={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},HVu={desc_intro:"",desc_privacy:"",button_startSession:"Pradėti seansą",button_stopSession:"Sustabdyti seansą",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},qVu={title:"Klaida"},lVu={disk_title:"Įrašyti į diską",disk_details:"",disk_button:"Įrašyti į failą",link_title:"Nuoroda dalinimuisi",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"Eksportuoti",excalidrawplus_exportError:""},LVu={blog:"",click:"paspaudimas",deepSelect:"",deepBoxSelect:"",curvedArrow:"Banguota rodyklė",curvedLine:"Banguota linija",documentation:"Dokumentacija",doubleClick:"dvigubas paspaudimas",drag:"vilkti",editor:"Redaktorius",editLineArrowPoints:"",editText:"",github:"Radai klaidą? Pateik",howto:"Vadovaukis mūsų gidu",or:"arba",preventBinding:"",tools:"Įrankiai",shortcuts:"Spartieji klavišai",textFinish:"Baigti redagavimą (teksto redaktoriuje)",textNewLine:"Pridėti naują eilutę (tekto redaktoriuje)",title:"Pagalba",view:"",zoomToFit:"",zoomToSelection:"Priartinti iki pažymėtos vietos",toggleElementLock:"",movePageUpDown:"Pajudinti puslapį aukštyn/žemyn",movePageLeftRight:"Pajudinti puslapį kairėn/dešinėn"},XVu={title:"Išvalyti drobę"},vVu={title:"Paviešinti biblioteką",itemName:"Elemento pavadinimas",authorName:"Autoriaus vardas",githubUsername:"Github spalyvardis",twitterUsername:"Twitter slapyvardis",libraryName:"Bibliotekos pavadinimas",libraryDesc:"Bibliotekos aprašas",website:"Tinklalapis",placeholder:{authorName:"Tavo vardas arba spalyvardis",libraryName:"Tavo bibliotekos pavadinimas",libraryDesc:"Tavo bibliotekos aprašas, padėti žmonėms geriau suprasti jos paskirtį",githubHandle:"",twitterHandle:"",website:""},errors:{required:"Privalomas",website:"Įveskite teisingą nuorodą (URL)"},noteDescription:"Pateik savo biblioteką, jog ji galėtų būti įtraukta į <link></link>jog kiti žmonės galėtų tai naudoti savo piešiniuose.",noteGuidelines:"Visų pirma, biblioteka turi būti rankiniu būdu patvirtinta. Prašome paskaityti <link>gairės</link>",noteLicense:"<link>MIT licencija, </link>",noteItems:"",atleastOneLibItem:"",republishWarning:""},xVu={title:"Biblioteka pateikta",content:"Ačiū {{authorName}}. Tavo biblioteka buvo pateikta peržiūrai. Gali sekti būseną<link>čia</link>"},WVu={resetLibrary:"Atstatyti biblioteką",removeItemsFromLib:"Pašalinti pasirinktus elementus iš bibliotekos"},SVu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},YVu={tooltip:"",link:""},RVu={angle:"",element:"Elementas",elements:"Elementai",height:"Aukštis",scene:"Scena",selected:"Pasirinkta",storage:"Saugykla",title:"Informacija moksliukams",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:"Plotis"},TVu={addedToLibrary:"Pridėta į biblioteką",copyStyles:"",copyToClipboard:"Nukopijuota į iškarpinę.",copyToClipboardAsPng:"",fileSaved:"Failas išsaugotas.",fileSavedToFilename:"Išsaugota į {filename}",canvas:"drobė",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},OVu={transparent:"Permatoma",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},IVu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},PVu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},jVu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},NVu={title:"",button:"",description:"",syntax:"",preview:""},Zf3={labels:kVu,library:fVu,buttons:MVu,alerts:bVu,errors:ZVu,toolBar:JVu,headings:KVu,hints:wVu,canvasError:QVu,errorSplash:GVu,roomDialog:HVu,errorDialog:qVu,exportDialog:lVu,helpDialog:LVu,clearCanvasDialog:XVu,publishDialog:vVu,publishSuccessDialog:xVu,confirmDialog:WVu,imageExportDialog:SVu,encrypted:YVu,stats:RVu,toast:TVu,colors:OVu,welcomeScreen:IVu,colorPicker:PVu,overwriteConfirm:jVu,mermaid:NVu}});var Mhu={};ju(Mhu,{welcomeScreen:()=>Uhu,toolBar:()=>rVu,toast:()=>Dhu,stats:()=>Chu,roomDialog:()=>nVu,publishSuccessDialog:()=>uhu,publishDialog:()=>eVu,overwriteConfirm:()=>khu,mermaid:()=>fhu,library:()=>aVu,labels:()=>iVu,imageExportDialog:()=>Ehu,hints:()=>cVu,helpDialog:()=>oVu,headings:()=>gVu,exportDialog:()=>sVu,errors:()=>yVu,errorSplash:()=>pVu,errorDialog:()=>dVu,encrypted:()=>Ahu,default:()=>Jf3,confirmDialog:()=>Bhu,colors:()=>Fhu,colorPicker:()=>zhu,clearCanvasDialog:()=>tVu,canvasError:()=>_Vu,buttons:()=>mVu,alerts:()=>$Vu});var iVu,aVu,mVu,$Vu,yVu,rVu,gVu,cVu,_Vu,pVu,nVu,dVu,sVu,oVu,tVu,eVu,uhu,Bhu,Ehu,Ahu,Chu,Dhu,Fhu,Uhu,zhu,khu,fhu,Jf3;var bhu=g(()=>{m4();iVu={paste:"Ielīmēt",pasteAsPlaintext:"Ielīmēt kā vienkāršu tekstu",pasteCharts:"Ielīmēt grafikus",selectAll:"Atlasīt visu",multiSelect:"Pievienot elementu atlasei",moveCanvas:"Pārvietot tāfeli",cut:"Izgriezt",copy:"Kopēt",copyAsPng:"Kopēt starpliktuvē kā PNG",copyAsSvg:"Kopēt starpliktuvē kā SVG",copyText:"Kopēt starpliktuvē kā tekstu",copySource:"",convertToCode:"",bringForward:"Pārvietot vienu slāni augstāk",sendToBack:"Pārvietot uz zemāko slāni",bringToFront:"Pārvietot uz virsējo slāni",sendBackward:"Pārvietot par vienu slāni zemāk",delete:"Dzēst",copyStyles:"Kopēt stilus",pasteStyles:"Ielīmēt stilus",stroke:"Svītras krāsa",background:"Fona krāsa",fill:"Aizpildījums",strokeWidth:"Svītras platums",strokeStyle:"Svītras stils",strokeStyle_solid:"Vienlaidu",strokeStyle_dashed:"Raustīta līnija",strokeStyle_dotted:"Punktota līnija",sloppiness:"Precizitāte",opacity:"Necaurspīdīgums",textAlign:"Teksta līdzināšana",edges:"Malas",sharp:"Asas",round:"Apaļas",arrowheads:"Bultas",arrowhead_none:"Nekādas",arrowhead_arrow:"Bulta",arrowhead_bar:"Svītra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Trijstūris",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Teksta lielums",fontFamily:"Fontu saime",addWatermark:'Pievienot "Radīts ar Excalidraw"',handDrawn:"Rokraksts",normal:"Parasts",code:"Kods",small:"Mazs",medium:"Vidējs",large:"Liels",veryLarge:"Ļoti liels",solid:"Pilns",hachure:"Svītrots",zigzag:"Zigzaglīnija",crossHatch:"Šķērssvītrots",thin:"Šaurs",bold:"Trekns",left:"Pa kreisi",center:"Vidū",right:"Pa labi",extraBold:"Īpaši trekns",architect:"Arhitekts",artist:"Mākslinieks",cartoonist:"Karikatūrists",fileTitle:"Datnes nosaukums",colorPicker:"Krāsu atlasītājs",canvasColors:"Izmantots tāfelei",canvasBackground:"Ainas fons",drawingCanvas:"Tāfele",layers:"Slāņi",actions:"Darbības",language:"Valoda",liveCollaboration:"Sadarbība tiešsaistē...",duplicateSelection:"Izveidot kopiju",untitled:"Bez nosaukuma",name:"Vārds",yourName:"Jūsu vārds",madeWithExcalidraw:"Radīts ar Excalidraw",group:"Grupēt atlasīto",ungroup:"Atgrupēt atlasīto",collaborators:"Dalībnieki",showGrid:"Rādīt režģi",addToLibrary:"Pievienot bibliotēkai",removeFromLibrary:"Izņemt no bibliotēkas",libraryLoadingMessage:"Ielādē bibliotēku…",libraries:"Apskatīt bibliotēkas",loadingScene:"Ielādē ainu…",align:"Līdzināt",alignTop:"Līdzināt augšpusē",alignBottom:"Līdzināt lejā",alignLeft:"Līdzināt pa kreisi",alignRight:"Līdzināt pa labi",centerVertically:"Centrēt vertikāli",centerHorizontally:"Centrēt horizontāli",distributeHorizontally:"Izdalīt horizontāli",distributeVertically:"Izdalīt vertikāli",flipHorizontal:"Apmest horizontāli",flipVertical:"Apmest vertikāli",viewMode:"Skata režīms",share:"Kopīgot",showStroke:"Rādīt svītras krāsas atlasītāju",showBackground:"Rādīt fona krāsas atlasītāju",toggleTheme:"Pārslēgt krāsu tēmu",personalLib:"Personīgā bibliotēka",excalidrawLib:"Excalidraw bibliotēka",decreaseFontSize:"Samazināt fonta izmēru",increaseFontSize:"Palielināt fonta izmēru",unbindText:"Atdalīt tekstu",bindText:"Piesaistīt tekstu figūrai",createContainerFromText:"Ietilpināt tekstu figurā",link:{edit:"Rediģēt saiti",editEmbed:"",create:"Izveidot saiti",createEmbed:"",label:"Saite",labelEmbed:"",empty:""},lineEditor:{edit:"Rediģēt līniju",exit:"Aizvērt līnijas redaktoru"},elementLock:{lock:"Fiksēt",unlock:"Atbrīvot",lockAll:"Fiksēt visu",unlockAll:"Atbrīvot visu"},statusPublished:"Publicēts",sidebarLock:"Paturēt atvērtu sānjoslu",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},aVu={noItems:"Neviena vienība vēl nav pievienota...",hint_emptyLibrary:"Atlasiet objektu tāfelē, lai to šeit pievienotu, vai pievienojiet publisku bibliotēku zemāk.",hint_emptyPrivateLibrary:"Atlasiet objektu tāfelē, lai to šeit pievienotu."},mVu={clearReset:"Atiestatīt tāfeli",exportJSON:"Eksportēt kā failu",exportImage:"Eksportēt attēlu...",export:"Saglabāt uz...",copyToClipboard:"Kopēt starpliktuvē",save:"Saglabāt pašreizējo datni",saveAs:"Saglabāt kā",load:"Atvērt",getShareableLink:"Iegūt kopīgošanas saiti",close:"Aizvērt",selectLanguage:"Izvēlieties valodu",scrollBackToContent:"Atgriezties pie satura",zoomIn:"Tuvināt",zoomOut:"Tālināt",resetZoom:"Atiestatīt tuvinājumu",menu:"Izvēlne",done:"Gatavs",edit:"Rediģēt",undo:"Atsaukt",redo:"Atcelt atsaukšanu",resetLibrary:"Atiestatīt bibliotēku",createNewRoom:"Izveidot jaunu telpu",fullScreen:"Pilnekrāna režīms",darkMode:"Tumšais režīms",lightMode:"Gaišais režīms",zenMode:"Zen režīms",objectsSnapMode:"",exitZenMode:"Pamest Zen režīmu",cancel:"Atcelt",clear:"Notīrīt",remove:"Noņemt",embed:"",publishLibrary:"Publicēt",submit:"Iesniegt",confirm:"Apstiprināt",embeddableInteractionButton:""},$Vu={clearReset:"Šī funkcija notīrīs visu tāfeli. Vai turpināt?",couldNotCreateShareableLink:"Nevarēja izveidot kopīgojamo saiti.",couldNotCreateShareableLinkTooBig:"Nevarēja izveidot kopīgojamo saiti aina ir par lielu",couldNotLoadInvalidFile:"Nevarēja ielādēt nederīgu datni",importBackendFailed:"Ielāde no krātuves neizdevās.",cannotExportEmptyCanvas:"Nevar eksportēt tukšu tāfeli.",couldNotCopyToClipboard:"Nevarēja nokopēt starpliktuvē.",decryptFailed:"Nevarēja atšifrēt datus.",uploadedSecurly:"Augšuplāde nodrošināta ar šifrēšanu no gala līdz galam, kas nozīmē, ka Excalidraw serveri un trešās puses nevar lasīt saturu.",loadSceneOverridePrompt:"Ārēja satura ielāde aizstās jūsu pašreizējo saturu. Vai vēlaties turpināt?",collabStopOverridePrompt:`Sesijas pārtraukšana pārrakstīs jūsu iepriekšējo zīmējumu, kas saglabāts jūsu pārlūkā. Vai turpināt?
(Ja vēlaties paturēt zīmējumu, kas saglabāts jūsu pārlūkā, vienkārši aizveriet pārlūka cilni.)`,errorAddingToLibrary:"Nevarēja pievienot vienumu bibliotēkai",errorRemovingFromLibrary:"Nevarēja izņemt vienumu no bibliotēkas",confirmAddLibrary:"Šī funkcija pievienos {{numShapes}} formu(-as) jūsu bibliotēkai. Vai turpināt?",imageDoesNotContainScene:"Šķiet, ka attēls nesatur ainas datus. Vai iespējojāt ainas iegulšanu, kad eksportējāt?",cannotRestoreFromImage:"Ainu nevarēja atgūt no attēla datnes",invalidSceneUrl:"Nevarēja importēt ainu no norādītā URL. Vai nu tas ir nederīgs, vai nesatur derīgus Excalidraw JSON datus.",resetLibrary:"Šī funkcija iztukšos bibliotēku. Vai turpināt?",removeItemsFromsLibrary:"Vai izņemt {{count}} vienumu(s) no bibliotēkas?",invalidEncryptionKey:"Šifrēšanas atslēgai jābūt 22 simbolus garai. Tiešsaistes sadarbība ir izslēgta.",collabOfflineWarning:`Nav pieejams interneta pieslēgums.
Jūsu izmaiņas netiks saglabātas!`},yVu={unsupportedFileType:"Neatbalstīts datnes veids.",imageInsertError:"Nevarēja ievietot attēlu. Mēģiniet vēlāk...",fileTooBig:"Datne ir par lielu. Lielākais atļautais izmērs ir {{maxSize}}.",svgImageInsertError:"Nevarēja ievietot SVG attēlu. Šķiet, ka SVG marķējums nav derīgs.",failedToFetchImage:"",invalidSVGString:"Nederīgs SVG.",cannotResolveCollabServer:"Nevarēja savienoties ar sadarbošanās serveri. Lūdzu, pārlādējiet lapu un mēģiniet vēlreiz.",importLibraryError:"Nevarēja ielādēt bibliotēku",collabSaveFailed:"Darbs nav saglabāts datubāzē. Ja problēma turpinās, saglabājiet datni lokālajā krātuvē, lai nodrošinātos pret darba pazaudēšanu.",collabSaveFailed_sizeExceeded:"Darbs nav saglabāts datubāzē, šķiet, ka tāfele ir pārāk liela. Saglabājiet datni lokālajā krātuvē, lai nodrošinātos pret darba pazaudēšanu.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},rVu={selection:"Atlase",image:"Ievietot attēlu",rectangle:"Taisnstūris",diamond:"Rombs",ellipse:"Elipse",arrow:"Bulta",line:"Līnija",freedraw:"Zīmēt",text:"Teksts",library:"Bibliotēka",lock:"Paturēt izvēlēto rīku pēc darbības",penMode:"Pildspalvas režīms novērst pieskaršanos",link:"Pievienot/rediģēt atlasītās figūras saiti",eraser:"Dzēšgumija",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Roka (panoramēšanas rīks)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},gVu={canvasActions:"Tāfeles darbības",selectedShapeActions:"Izvēlētās formas darbības",shapes:"Formas"},cVu={canvasPanning:"Lai bīdītu tāfeli, turiet nospiestu ritināšanas vai atstarpes taustiņu, vai izmanto rokas rīku",linearElement:"Klikšķiniet, lai sāktu zīmēt vairākus punktus; velciet, lai zīmētu līniju",freeDraw:"Spiediet un velciet; atlaidiet, kad pabeidzat",text:"Ieteikums: lai pievienotu tekstu, varat arī jebkur dubultklikšķināt ar atlases rīku",embeddable:"",text_selected:"Dubultklikšķiniet vai spiediet ievades taustiņu, lai rediģētu tekstu",text_editing:"Spiediet iziešanas taustiņu vai CtrlOrCmd+ENTER, lai beigtu rediģēt",linearElementMulti:"Klikšķiniet uz pēdējā punkta vai spiediet izejas vai ievades taustiņu, lai pabeigtu",lockAngle:"Varat ierobežot leņķi, turot nospiestu SHIFT",resize:`Kad maināt izmēru, varat ierobežot proporcijas, turot nospiestu SHIFT,
vai arī ALT, lai mainītu izmēru ap centru`,resizeImage:`Varat brīvi mainīt izmēru, turot nospiestu SHIFT;
turiet nospiestu ALT, lai mainītu izmēru ap centru`,rotate:"Rotējot varat ierobežot leņķi, turot nospiestu SHIFT",lineEditor_info:"Turiet CtrlOrCmd un dubultklikšķiniet, vai spiediet CtrlOrCmd + Enter, lai rediģētu punktus",lineEditor_pointSelected:"Spiediet dzēšanas taustiņu, lai noņemtu punktus, CtrlOrCmd+D, lai to kopētu, vai velciet, lai pārvietotu",lineEditor_nothingSelected:`Atlasiet punktu, lai labotu (turiet nospiestu SHIFT, lai atlasītu vairākus),
vai turiet Alt un clikšķiniet, lai pievienotu jaunus punktus`,placeImage:"Klikšķiniet, lai novietotu attēlu, vai spiediet un velciet, lai iestatītu tā izmēru",publishLibrary:"Publicēt savu bibliotēku",bindTextToElement:"Spiediet ievades taustiņu, lai pievienotu tekstu",deepBoxSelect:"Turient nospiestu Ctrl vai Cmd, lai atlasītu dziļumā un lai nepieļautu objektu pavilkšanu",eraserRevert:"Turiet Alt, lai noņemtu elementus no dzēsšanas atlases",firefox_clipboard_write:'Šis iestatījums var tikt ieslēgts ar "dom.events.asyncClipboard.clipboardItem" marķieri pārslēgtu uz "true". Lai mainītu pārlūka marķierus Firefox, apmeklē "about:config" lapu.',disableSnapping:""},_Vu={cannotShowPreview:"Nevar rādīt priekšskatījumu",canvasTooBig:"Iespējams, tāfele ir par lielu.",canvasTooBigTip:"Ieteikums: mēģiniet satuvināt pašus tālākos elementus."},pVu={headingMain:"Notikusi kļūda. Mēģiniet <button>pārlādēt lapu.</button>",clearCanvasMessage:"Ja pārlādēšana nestrādā, mēģiniet <button>notīrot tāfeli.</button>",clearCanvasCaveat:" Tas novedīs pie darba zaudēšanas ",trackedToSentry:"Kļūda ar kodu {{eventId}} tika noteikta mūsu sistēmā.",openIssueMessage:"Mēs uzmanījāmies, lai neiekļautu jūsu ainas informāciju šajā kļūdā. Ja jūsu aina nav privāta, lūdzu ziņojiet par šo kļūdu mūsu <button>kļūdu uzskaitē.</button> Lūdzu, miniet sekojošo informāciju to kopējot un ielīmējot jūsu ziņojumā platformā GitHub.",sceneContent:"Ainas saturs:"},nVu={desc_intro:"Varat ielūgt cilvēkus pašreizējajā ainā, lai sadarbotos ar tiem.",desc_privacy:"Neuztraucieties, sesija izmanto šifrēšanu no gala līdz galam, tātad jūsu zīmējums paliks privāts. Pat mūsu serveri nevarēs redzēt, ar ko esat nācis klajā.",button_startSession:"Sākt sesiju",button_stopSession:"Beigt sesiju",desc_inProgressIntro:"Notiek tiešsaistes sadarbības sesija.",desc_shareLink:"Dalieties ar šo saiti ar jebkuru, ar ko vēlaties sadarboties:",desc_exitSession:"Sesijas beigšana jūs atvienos no sadarbošanās, bet jūs vēl joprojām varēsiet strādāt ar ainu savā datorā. Ievērojiet, ka šis neietekmēs citus dalībniekus, un viņi vēl joprojām varēs sadarboties savā ainas versijā.",shareTitle:"Pievienoties tiešsaistes sadarbībai programmā Excalidraw"},dVu={title:"Kļūda"},sVu={disk_title:"Saglabāt diskā",disk_details:"Eksportēt ainas datus datnē, ko vēlāk varēsiet importēt.",disk_button:"Saglabāt datnē",link_title:"Kopīgošanas saite",link_details:"Eksportēt kā tikai lasāmu saiti.",link_button:"Eksportēt kā saiti",excalidrawplus_description:"Saglabāt ainu savā Excalidraw+ darbvietā.",excalidrawplus_button:"Eksportēt",excalidrawplus_exportError:"Pašreiz nevarēja eksportēt uz Excalidraw+..."},oVu={blog:"Lasīt mūsu blogu",click:"klikšķis",deepSelect:"Atlasīt dziļumā",deepBoxSelect:"Atlasīt dziļumā kastes ietvaros, un nepieļaut pavilkšanu",curvedArrow:"Liekta bulta",curvedLine:"Liekta līnija",documentation:"Dokumentācija",doubleClick:"dubultklikšķis",drag:"vilkt",editor:"Redaktors",editLineArrowPoints:"Rediģēt līniju/bultu punktus",editText:"Rediģēt tekstu/pievienot birku",github:"Sastapāt kļūdu? Ziņot",howto:"Sekojiet mūsu instrukcijām",or:"vai",preventBinding:"Novērst bultu piesaistīšanos",tools:"Rīki",shortcuts:"Tastatūras saīsnes",textFinish:"Pabeigt rediģēšanu (teksta redaktorā)",textNewLine:"Nākamā rindiņa (teksta redaktorā)",title:"Palīdzība",view:"Skatīt",zoomToFit:"Iestatīt mērogu, kas iekļauj visus elementus",zoomToSelection:"Iestatīt mērogu, lai rādītu atlasi",toggleElementLock:"Fiksēt/atbrīvot atlasīto",movePageUpDown:"Pārvietot lapu augšup/lejup",movePageLeftRight:"Pārvietot lapu pa labi/kreisi"},tVu={title:"Notīrīt tāfeli"},eVu={title:"Publicēt bibliotēku",itemName:"Vienuma nosaukums",authorName:"Autora vārds",githubUsername:"GitHub lietotājvārds",twitterUsername:"Twitter lietotājvārds",libraryName:"Bibliotēkas nosaukums",libraryDesc:"Bibliotēkas apraksts",website:"Mājaslapa",placeholder:{authorName:"Jūsu vārds vai lietotājvārds",libraryName:"Jūsu bibliotēkas nosaukums",libraryDesc:"Bibliotēkas apraksts, kas palīdzēs citiem saprast tās pielietojumu",githubHandle:"GitHub lietotājvārds (neobligāts), lai jūs varētu rediģēt bibliotēku pēc tās iesniegšanas izskatīšanai",twitterHandle:"Twitter lietotājvārds (neobligāts), lai mēs varētu jūs pieminēt kā autoru, kad reklamēsim bibliotēku platformā Twitter",website:"Saikne uz jūsu personīgo mājaslapu vai kādu citu lapu (neobligāta)"},errors:{required:"Obligāts",website:"Ievadiet derīgu URL"},noteDescription:"Iesniegt savu bibliotēku iekļaušanai <link>publiskajā bibliotēku datubāzē</link>, lai citi to varētu izmantot savos zīmējumos.",noteGuidelines:"Šai bibliotēkai vispirms jātiek manuāli apstiprinātai. Lūdzu, izlasiet <link>norādījumus</link> pirms iesniegšanas. Jums vajadzēs GitHub kontu, lai sazinātos un veiktu izmaiņas, ja tādas būs pieprasītas, bet tas nav absolūti nepieciešams.",noteLicense:"Iesniedzot bibliotēku, jūs piekrītat tās publicēšanai saskaņā ar <link>MIT Licenci, </link>kas īsumā nozīmē, ka jebkurš to varēs izmantot bez ierobežojumiem.",noteItems:"Katram bibliotēkas vienumam jābūt savam nosaukumam, lai to varētu atrast filtrējot. Tiks iekļauti sekojošie bibliotēkas vienumi:",atleastOneLibItem:"Lūdzu, atlasiet vismaz vienu bibliotēkas vienumu, lai sāktu darbu",republishWarning:"Ievēro: daži no atzīmētajiem objektiem jau atzīmēti kā publicēti vai iesniegti publicēšanai. Tos vajadzētu atkārtoti iesniegt tikai tad, ja vēlies labot esošo bibliotēku."},uhu={title:"Bibliotēka iesniegta",content:"Paldies, {{authorName}}! Jūsu bibliotēka iesniegta izskatīšanai. Jūs varat izsekot iesnieguma statusam<link>šeit</link>"},Bhu={resetLibrary:"Atiestatīt bibliotēku",removeItemsFromLib:"Noņemt atlasītos vienumus no bibliotēkas"},Ehu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},Ahu={tooltip:"Jūsu zīmējumi ir šifrēti no gala līdz galam; līdz ar to Excalidraw serveri tos nekad neredzēs.",link:"Ieraksts par šifrēšanu no gala līdz galam Excalidraw blogā"},Chu={angle:"Leņķis",element:"Elements",elements:"Elementi",height:"Augstums",scene:"Aina",selected:"Atlasīti",storage:"Krātuve",title:"Statistika entuziastiem",total:"Kopā",version:"Versija",versionCopy:"Klikšķiniet, lai nokopētu",versionNotAvailable:"Versija nav pieejama",width:"Platums"},Dhu={addedToLibrary:"Pievienots bibliotēkai",copyStyles:"Nokopēja stilus.",copyToClipboard:"Nokopēja starpliktuvē.",copyToClipboardAsPng:"Nokopēja {{exportSelection}} starpliktuvē kā PNG ({{exportColorScheme}})",fileSaved:"Datne saglabāta.",fileSavedToFilename:"Saglabāts kā {filename}",canvas:"tāfeli",selection:"atlasi",pasteAsSingleElement:"Izmantojiet {{shortcut}}, lai ielīmētu kā jaunu elementu, vai ielīmētu esošā teksta lauciņā",unableToEmbed:"",unrecognizedLinkFormat:""},Fhu={transparent:"Caurspīdīgs",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},Uhu={app:{center_heading:"Visi jūsu dati tiek glabāti uz vietas jūsu pārlūkā.",center_heading_plus:"Vai tā vietā vēlies doties uz Excalidraw+?",menuHint:"Eksportēšana, iestatījumi, valodas..."},defaults:{menuHint:"Eksportēšana, iestatījumi un vēl...",center_heading:"Diagrammas. Izveidotas. Vienkārši.",toolbarHint:"Izvēlies rīku un sāc zīmēt!",helpHint:"Īsceļi un palīdzība"}},zhu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},khu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},fhu={title:"",button:"",description:"",syntax:"",preview:""},Jf3={labels:iVu,library:aVu,buttons:mVu,alerts:$Vu,errors:yVu,toolBar:rVu,headings:gVu,hints:cVu,canvasError:_Vu,errorSplash:pVu,roomDialog:nVu,errorDialog:dVu,exportDialog:sVu,helpDialog:oVu,clearCanvasDialog:tVu,publishDialog:eVu,publishSuccessDialog:uhu,confirmDialog:Bhu,imageExportDialog:Ehu,encrypted:Ahu,stats:Chu,toast:Dhu,colors:Fhu,welcomeScreen:Uhu,colorPicker:zhu,overwriteConfirm:khu,mermaid:fhu}});var mhu={};ju(mhu,{welcomeScreen:()=>Vhu,toolBar:()=>Ghu,toast:()=>jhu,stats:()=>Phu,roomDialog:()=>Xhu,publishSuccessDialog:()=>Rhu,publishDialog:()=>Yhu,overwriteConfirm:()=>ihu,mermaid:()=>ahu,library:()=>Jhu,labels:()=>Zhu,imageExportDialog:()=>Ohu,hints:()=>qhu,helpDialog:()=>Whu,headings:()=>Hhu,exportDialog:()=>xhu,errors:()=>Qhu,errorSplash:()=>Lhu,errorDialog:()=>vhu,encrypted:()=>Ihu,default:()=>Kf3,confirmDialog:()=>Thu,colors:()=>Nhu,colorPicker:()=>hhu,clearCanvasDialog:()=>Shu,canvasError:()=>lhu,buttons:()=>Khu,alerts:()=>whu});var Zhu,Jhu,Khu,whu,Qhu,Ghu,Hhu,qhu,lhu,Lhu,Xhu,vhu,xhu,Whu,Shu,Yhu,Rhu,Thu,Ohu,Ihu,Phu,jhu,Nhu,Vhu,hhu,ihu,ahu,Kf3;var $hu=g(()=>{m4();Zhu={paste:"चिटकवा",pasteAsPlaintext:"साधा मजकूर च्या रुपात पेस्ट करा",pasteCharts:"चार्ट चिकटवा",selectAll:"समस्त निवडा",multiSelect:"निवडित तत्व जोडा",moveCanvas:"पटल हलवा",cut:"कापा",copy:"प्रतिलिपी",copyAsPng:"PNG रूपे फळी वर कॉपी करा",copyAsSvg:"SVG रूपे फळी वर कॉपी करा",copyText:"लिखित रूपे फळी वर कॉपी करा",copySource:"स्त्रोत फळी वर कॉपी करा",convertToCode:"सांकेतिक लिपित रूपांतरित करा",bringForward:"पुढे पुढे आणा",sendToBack:"सर्वात मागे करा",bringToFront:"सर्वात पुढे आणा",sendBackward:"मागे मागे करा",delete:"हटवा",copyStyles:"शैली कॉपी करा",pasteStyles:"कॉपी केलेली शैली वापरा",stroke:"रेघे चा रंग",background:"पार्श्वभूमी",fill:"भरा",strokeWidth:"रेघ रुंदी",strokeStyle:"रेघ शैली",strokeStyle_solid:"भरीव",strokeStyle_dashed:"तुटित तुटित",strokeStyle_dotted:"ठिपके ठिपके",sloppiness:"गबाळेपणा",opacity:"अपारदर्शक्ता",textAlign:"मजकूर संरेखन",edges:"किनारी",sharp:"टोचरं",round:"गोलाकार",arrowheads:"बाण टोक",arrowhead_none:"कुठलाहि नाही",arrowhead_arrow:"बाण",arrowhead_bar:"दांडुक",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"त्रिकोण",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"अक्षर आकार",fontFamily:"अक्षर समूह",addWatermark:'"एक्सकेलीड्रॉ ने बनवलेलं" जोडा',handDrawn:"हातानी बनवलेलं",normal:"सामान्य",code:"सांकेतिक लिपि",small:"छोटे",medium:"मध्यम",large:"मोठं",veryLarge:"फार मोठं",solid:"भरीव",hachure:"हैशूर रेखांकन",zigzag:"वाकडी तिकड़ी",crossHatch:"आडव्या रेघा",thin:"पातळ",bold:"जाड",left:"डावं",center:"मधे",right:"उजवं",extraBold:"जास्त जाड",architect:"वास्तुविद्याविशारद",artist:"कलाकार",cartoonist:"व्यंग्य चित्रकार",fileTitle:"फाईलचे नाव",colorPicker:"रंग निवडक",canvasColors:"कॅनवास वर वापरलेले",canvasBackground:"पटल पार्श्वभूमि",drawingCanvas:"चित्र पटल",layers:"स्तर",actions:"क्रिया",language:"भाषा",liveCollaboration:"ज्वलंत सहयोग...",duplicateSelection:"प्रतिलिपि",untitled:"अशीर्षकांकित",name:"नाव",yourName:"तुमचे नाव",madeWithExcalidraw:"एक्सकेलीड्रॉ ने बनवलेलं",group:"समूह निवड",ungroup:"समूह निवड ला रद्द करा",collaborators:"Sahayog",showGrid:"ग्रिड दाखवा",addToLibrary:"संग्रह मधे सम्मिलित करा",removeFromLibrary:"संग्रहातून काढ़ा",libraryLoadingMessage:"संग्रह लोड होत आहे…",libraries:"संग्रह देखे",loadingScene:"दृश्य लोड होत आहे…",align:"संरेखित करा",alignTop:"वर संरेखित करा",alignBottom:"खाली संरेखित करा",alignLeft:"डावा बाजूला संरेखित करा",alignRight:"उजव्या बाजूला संरेखित करा",centerVertically:"मधल्या मधे उभं संरेखित करा",centerHorizontally:"मधल्या मधे आडवं संरेखित करा",distributeHorizontally:"आडवं वितरित करा",distributeVertically:"उभं वितरित करा",flipHorizontal:"आडवं फ्लिप करा",flipVertical:"उभं फ्लिप करा",viewMode:"पहायची पद्धत",share:"सामायिक करा",showStroke:"रेघ रंग निवड यंत्र दाखवा",showBackground:"पार्श्वभूमि: रंग निवड यंत्र दाखवा",toggleTheme:"शैली बदला",personalLib:"वैयक्तिक संग्रह",excalidrawLib:"एक्सकेलीड्रॉ संग्रह",decreaseFontSize:"अक्षर आकार छोटा करा",increaseFontSize:"अक्षर आकार मोठा करा",unbindText:"लेखन संबंध संपवा",bindText:"शब्द समूह ला पात्रात घ्या",createContainerFromText:"मजकूर कंटेनर मधे मोडून दाखवा",link:{edit:"दुवा संपादन",editEmbed:"कड़ी सम्पादित करा आणि रुतवा",create:"दुवा तयार करा",createEmbed:"नवीन कड़ी बनवा आणि रुतवा",label:"दुवा",labelEmbed:"कड़ी आणि रूतवणे",empty:"कुठलिही कड़ी दिली नाही"},lineEditor:{edit:"रेघ संपादन",exit:"रेघ संपादकाबाहेर"},elementLock:{lock:"कुलूपात ठेवा",unlock:"कुलूपातून बाहेर",lockAll:"सर्व कुलूपात ठेवा",unlockAll:"सर्व कुलूपातून बाहेर"},statusPublished:"प्रकाशित करा",sidebarLock:"साइडबार उघडं ठेवा",selectAllElementsInFrame:"चौकटीतले सर्व तत्वांचे चयन करा",removeAllElementsFromFrame:"चौकटीतून सर्व काढून टाका",eyeDropper:"चित्रफलकातून रंग निवडा",textToDiagram:"",prompt:""},Jhu={noItems:"अजून कोणतेही आइटम जोडलेले नाही...",hint_emptyLibrary:"पटल वर एक वस्तु निवडुन एथे जोडा, किव्हा एक संग्रह जन कोष कडुन खाली स्थापित करा.",hint_emptyPrivateLibrary:"ईथे जोडण्या साठी पटल वरून एक वस्तु निवडा."},Khu={clearReset:"पटल पुसा",exportJSON:"फ़ाइलमधे बाहेर ठेवा",exportImage:"प्रतिमा निर्यात करा...",export:"येथे सुरक्षित करा...",copyToClipboard:"फळी वर कॉपी करा",save:"वर्तमान फ़ाइल मधे जतन करा",saveAs:"ह्या नावाने जतन करा",load:"उघडा",getShareableLink:"सामायिके साठी दुवा प्राप्त करा",close:"बंद करा",selectLanguage:"भाषा निवड करा",scrollBackToContent:"पहलेचा मजकुर वर मागे स्क्रॉल करा",zoomIn:"मोठं करून पहा",zoomOut:"छोटं करून पहा",resetZoom:"छोटं मोठं करणं बंद करा",menu:"यादि",done:"झालं",edit:"संपादित करा",undo:"पूर्ववत करा",redo:"पुन्हा करा(&R)",resetLibrary:"संग्रह पुनर्स्थित करा",createNewRoom:"एक नवी खोली बनवा",fullScreen:"पूर्ण दृश्यपटल",darkMode:"अंधार स्थिथि",lightMode:"उजेड स्थिति",zenMode:"ध्यानग्र स्थिति",objectsSnapMode:"वस्तूंपासून पकड़ा",exitZenMode:"ध्यानग्र स्थितितून बाहेर",cancel:"रद्द",clear:"स्वछ",remove:"हटवा",embed:"रुतवणे उलटे करा",publishLibrary:"प्रकाशित करा",submit:"जमा करा",confirm:"पुष्टि करा",embeddableInteractionButton:"संवादा साठी क्लिक करा"},whu={clearReset:"पटल स्वच्छ होणार, तुम्हाला खात्री आहे का?",couldNotCreateShareableLink:"सामायी करण करण्या योग्य दुवा नाही बनवता आला.",couldNotCreateShareableLinkTooBig:"सामायी करण करण्या योग्य दुवा नाही बनवता आला: दृश्य फार मोठं आहे",couldNotLoadInvalidFile:"अवैध फ़ाइल लोड करता आली नाही",importBackendFailed:"बैकएंड हून मागवणे विफल झाले.",cannotExportEmptyCanvas:"रिकामा पटल जतन करता येत नाही.",couldNotCopyToClipboard:"पटल वर कॉपी नाही झाली.",decryptFailed:"डीक्रिप्ट करता आले नाही.",uploadedSecurly:"अपलोड या टोकापासून त्या टोकापर्यंत कूटबद्धित करून सुरक्षित केले गेले आहे, हयाचा अर्थ असा की एक्सकेलीड्रॉ सर्व्हर आणि तृतीय पक्ष मजकूर वाचू शकत नाहीत.",loadSceneOverridePrompt:"बाह्य रेखाचित्र लोड केल्याने तुमची तुमचा विद्यमान मजकूर बदलेल. हे काम तुम्हाला चालू ठेवायचे आहे का?",collabStopOverridePrompt:`सत्र थांबवल्याने तुमचे पूर्वीचे, स्थानिकरित्या संग्रहित रेखाचित्र अधिलिखित होईल. तुला खात्री आहे?
(तुम्हाला तुमचे स्थानिक रेखाचित्र ठेवायचे असल्यास, त्याऐवजी फक्त ब्राउझर टॅब बंद करा.)`,errorAddingToLibrary:"संग्रहात तत्व जोडू शकलो नाही",errorRemovingFromLibrary:"संग्रहातून तत्व काढू शकलो नाही",confirmAddLibrary:"हे तुमच्या संग्राहात {{numShapes}} आकार (एक किव्हा अनेक) जोडेल. तुला खात्री आहे?",imageDoesNotContainScene:"या प्रतिमेमध्ये कोणताही दृश्य डेटा असल्याचे दिसत नाही. बाहेर जतन करताना तुम्ही दृश्य रुतवले होते का?",cannotRestoreFromImage:"प्रतिमा फ़ाइल पासून दृश्य पुनः रचित नाही झाला",invalidSceneUrl:"दिलेल्या यू-आर-एल पासून दृश्य आणू शकलो नाही. तो एकतर बरोबार नाही आहे किंवा त्यात वैध एक्सकेलीड्रॉ जेसन डेटा नाही.",resetLibrary:"पटल स्वच्छ होणार, तुम्हाला खात्री आहे का?",removeItemsFromsLibrary:"संग्रहातून {{count}} तत्व (एक किव्हा अनेक) काढू?",invalidEncryptionKey:"कूटबद्धन कुंजी 22 अक्षरांची असणे आवश्यक आहे. थेट सहयोग अक्षम केले आहे.",collabOfflineWarning:`इंटरनेट कनेक्शन उपलब्ध नाही.
तुमचे बदल जतन केले जाणार नाहीत!`},Qhu={unsupportedFileType:"असमर्थित फाइल प्रकार.",imageInsertError:"प्रतिमा आत घालता येत नाही. नंतर पुन्हा प्रयत्न करा...",fileTooBig:"फाइल फार मोठी आहे. आकाराची कमाल परवानगी {{maxSize}} आहे.",svgImageInsertError:"एस-वी-जी प्रतिमा आत घालवू शकलो नाही. एस-वी-जी-मार्क-अप यंत्र अयोग्य आहे.",failedToFetchImage:"प्रतिमा आणणे नाही जमले.",invalidSVGString:"अयोग्य एस-वी-जी.",cannotResolveCollabServer:"कॉलेब-सर्वर हे पोहोचत नाही आहे. पान परत लोड करायचा प्रयत्न करावे.",importLibraryError:"संग्रह प्रतिस्थापित नाही करता आला",collabSaveFailed:"काही कारणा निमित्त आतल्या डेटाबेसमध्ये जतन करू शकत नाही। समस्या तशिस राहिल्यास, तुम्ही तुमचे काम गमावणार नाही याची खात्री करण्यासाठी तुम्ही तुमची फाइल स्थानिक जतन करावी.",collabSaveFailed_sizeExceeded:`लगता है कि पृष्ठ तल काफ़ी बड़ा है, इस्कारण अंदरूनी डेटाबेस में सहेजा नहीं जा सका। किये काम को खोने न देने के लिये अपनी फ़ाइल को स्थानीय रूप से सहेजे।
बॅकएंड डेटाबेसमध्ये जतन करू शकत नाही, कॅनव्हास खूप मोठा असल्याचे दिसते. तुम्ही तुमचे काम गमावणार नाही याची खात्री करण्यासाठी तुम्ही फाइल स्थानिक पातळीवर जतन करावी.`,imageToolNotSupported:"प्रतिमां अक्षम केली गेली आहेत.",brave_measure_text_error:{line1:"असं वाटते की तुम्हीं Brave ब्राउज़र वापरतात आहात आणि त्या बरोबार <bold>आक्रामक पद्धति चें बोटांचे ठसे </bold> हां सेटिंग्स चा विकल्प चयन केलेला आहे.",line2:"हे तुमच्या चित्रांच्या <bold>पाठ तत्वांनां </bold> खंडित करू शकतात.",line3:"तुम्हाला आमच्या कड़ून खूप आग्रह आहे की हे सेटिंग्स मधले चयन नका करु. <link>हे अनुक्रम </link> हे कसे करावे हे दाखवु शकते.",line4:"ही सेटिंग अक्षम करूनही पृष्ठ योग्यरित्या प्रदर्शित होत नसल्यास, आमच्या GitHub वर <issueLink>समस्या</issueLink> सबमिट करा, किव्हा <discordLink>डिस्कॉर्ड</discordLink> वर आम्हाला लिहा"},libraryElementTypeError:{embeddable:"रुतलेले तत्व समूह कोषात जोडले जाऊ शकत नाही.",iframe:"आयफ़्रेम तत्व समूहकोषात जोडला जाऊ शकत नाही.",image:"प्रतिमा समूह कोषात जोड़ायचे लवकरच येत आहेत!"},asyncPasteFailedOnRead:"चिटकवता नाही जमले ( सिस्टम क्लिप्बॉर्ड पासून वाचणे नाही जमले).",asyncPasteFailedOnParse:"चिटकवता नाही जमले.",copyToSystemClipboardFailed:"क्लिपबोर्ड वर प्रतिलिपि करणे नाही जमले."},Ghu={selection:"निवड",image:"प्रतिमा आत घाला",rectangle:"आयत",diamond:"चौकोन आकाराचा",ellipse:"अंडाकार",arrow:"बाण",line:"रेखा",freedraw:"रेखांकित करा",text:"टेक्स्ट",library:"संग्रह",lock:"निवडलेले यंत्र चित्रकरण झाल्या नंतर ही सक्रिय ठेवा",penMode:"पेन चा मोड - स्पर्श टाळा",link:"निवडलेल्या आकारासाठी दुवा जोडा/बदल करा",eraser:"खोड रबर",frame:"चौकट यंत्र",magicframe:"वायरफ़्रेम पासून सांकेतिक लिपि",embeddable:"वेब रुतवा",laser:"लेसर टॉर्च",hand:"हात ( सरकवण्या चे उपकरण)",extraTools:"आणिक यंत्रे",mermaidToExcalidraw:"मर्मेड पासून एक्सकाली मधे",magicSettings:"कृतिम बुद्दिवत्ता सेटिंग्स"},Hhu={canvasActions:"पटल क्रिया",selectedShapeActions:"निवडित आकार क्रिया",shapes:"आकार"},qhu={canvasPanning:"कॅनव्हास सरकवण्या साठी, ड्रॅग करताना माउस व्हील धरा किंवा स्पेसबार दाबून ठेवा अथवा हात वालं उपकरण वापरा",linearElement:"अनेक बिंदु साठी क्लिक करा, रेघे साठी ड्रैग करा",freeDraw:"क्लिक आणि ड्रैग करा, झालं तेव्हा सोडा",text:"टीप: तुम्हीं निवड यंत्रानी कोठेही दुहेरी क्लिक करून टेक्स्ट जोडू शकता",embeddable:"वेबसाइट रुतोण्या साठी दाबून-खेचा (क्लिक-ड्रैग करा)",text_selected:"लेखन संपादन साठी दुहेरी क्लिक करा किव्हा एंटर दाबा",text_editing:"संपादन संपवायचं असल्यास एस्केप दाबा किव्हा कंट्रोल या कम्मांड बरोबार एंटर दाबा",linearElementMulti:"शेवटच्या बिंदु वर क्लिक करा किव्हा एस्केप या एंटर दाबा",lockAngle:"शिफ्ट धरून तुम्ही कोन मर्यादित करू शकता",resize:`आकार छोटा मोठा करताना SHIFT धरून तुम्ही प्रमाण मर्यादित करू शकता,
केंद्रापासून आकार छोटा मोठा करण्यासाठी ALT धरून ठेवा`,resizeImage:`SHIFT धरून तुम्ही मुक्तपणे आकार मोठा छोटा करु शकता,
केंद्रापासून आकार मोठा छोटा करण्यासाठी ALT धरून ठेवा`,rotate:"फिरवत असताना शिफ्ट धरून तुम्ही कोन मर्यादित करू शकता",lineEditor_info:"पॉइंट संपादित करण्यासाठी CtrlOrCmd दाबून ठेवुन डबल-क्लिक करा किंवा CtrlOrCmd + Enter बरोबर दाबा",lineEditor_pointSelected:`बिंदु (एक किव्हा अनेक) काढ़ण्या साठी डिलीट की दाबा,
CtrlOrCmd बरोबार D प्रति साठी,
किव्हा ड्रेग हलवण्या साठी`,lineEditor_nothingSelected:`संपादित करण्यासाठी एक बिंदू निवडा (अनेक निवडण्यासाठी SHIFT धरून ठेवा),
किंवा Alt धरून ठेवा आणि नवीन बिंदू जोडण्यासाठी क्लिक करा`,placeImage:"प्रतिमा ठेवण्यासाठी क्लिक करा, किंवा त्याचा आकार बदलण्या साठी क्लिक करा आणि ड्रॅग करा",publishLibrary:"आपला खाजगी संग्रह प्रकाशित करा",bindTextToElement:"मजकूर जोडण्यासाठी एंटर की दाबा",deepBoxSelect:"खोल निवड ह्या साठी कंट्रोल किव्हा कमांड दाबून ठेवा, आणि बाहेर खेचणे वाचवण्या साठी पण",eraserRevert:"खोडण्या साठी घेतलेल्या वस्तु ना घेण्या साठी Alt दाबून ठेवावे",firefox_clipboard_write:'हे वैशिष्ट्य "dom.events.asyncClipboard.clipboardItem" फ्लॅग "सत्य" वर सेट करून शक्यतो सक्षम केले जाऊ शकते. Firefox मध्ये ब्राउझर फ्लॅग बदलण्यासाठी, "about:config" पृष्ठावर जा.',disableSnapping:"स्नैपिंग अक्षम करण्या साठी CtrlOrCmd दाबून ठेवा"},lhu={cannotShowPreview:"पूर्वावलोकन दाखवू शकत नाही",canvasTooBig:"पटल खूप जास्त मोठा असू शकतो.",canvasTooBigTip:"टीप: दूर चा तत्व थोडं जवळ आणण्याचा प्रयत्न करावा."},Lhu={headingMain:"त्रुटि आली. परत प्रयत्न करा <button>ह्या पानाला पुनः लोड करा.</button>",clearCanvasMessage:"रीलोडिंग होत नसल्यास, परत प्रयत्न करा <button>पटल स्वच्छ करित आहे.</button>",clearCanvasCaveat:" त्यामुळे केलेल्या कामाचे नुकसान होईल ",trackedToSentry:"त्रुटि क्रमांक के साथ त्रुटि {{eventId}} आमच्या प्रणाली नी निरीक्षण केले होते.",openIssueMessage:"त्रुटीत तुमची दृश्य माहिती समाविष्ट न करण्यासाठी आम्ही खूप सावध होतो. तुमचा सीन खाजगी नसल्यास, कृपया आम्हाला पुढ च्या कारवाई साठी सम्पर्क साधा <button>त्रुटि व्यवस्थापन.</button> कृपया गिटहब समस्येमध्ये कॉपी आणि पेस्ट करून खालिल माहिती समाविष्ट करा.",sceneContent:"दृश्य विषय:"},Xhu={desc_intro:"तुम्‍ही तुमच्‍या सध्‍याच्‍या दृश्यासाठी लोकांना आपल्‍यासह सहयोग करण्‍यासाठी आमंत्रित करू शकता.",desc_privacy:"काळजी करू नका, सत्र या टोकापासून त्या टोकापर्यंत कूटबद्धता वापरते, त्यामुळे तुम्ही जे काही काढाल ते खाजगी राहील. तुम्ही काय घेऊन आला आहात हे आमचा सर्व्हर ही देखील पाहू शकत नाही.",button_startSession:"सत्र सुरु करा",button_stopSession:"सत्र थाम्बवा",desc_inProgressIntro:"थेट सहयोग सत्र चालू आहे.",desc_shareLink:"तुम्ही ज्यांच्याशी सहयोग करू इच्छिता त्यांच्याशी ही दुवा सामायिक करा:",desc_exitSession:"सत्र थांबवल्याने तुम्हीं खोली तून बाहेर याल, तरिही तुम्ही स्थानिक पातळीवर दृश्यासह काम करु शकाल. लक्षात ठेवा की याचा इतर लोकांवर परिणाम होणार नाही आणि ते त्यांच्या आवृत्तीवर सहयोग करित राहातील.",shareTitle:"एक्सकेलीड्रॉ वर थेट सहयोग सत्रात सामील व्हा"},vhu={title:"त्रुटि"},xhu={disk_title:"डिस्क मधे जतन करा",disk_details:"सीन डेटा बाहेर एक फ़ाइल मधे जतन करा, त्या फ़ाइल मधुम तो डेटा नंतर परत आणु शकता.",disk_button:"फ़ाइल मधे जतन करा",link_title:"सामायिके साठी दुवा",link_details:"नुसतं वाचु देणारा दुवा चा स्वरूपे बाहेर ठेवा.",link_button:"दुवा स्वरूपे बाहेर ठेवा",excalidrawplus_description:"दृश्य तुमच्या एक्सकेलीड्रॉ कार्यक्षेत्र मधे जतन करा.",excalidrawplus_button:"बाहेर ठेवा",excalidrawplus_exportError:"एक्सकेलीड्रॉ मधे बाहेर ठेवता नाही येत..."},Whu={blog:"आमचा ब्लॉग वाचा",click:"क्लिक करा",deepSelect:"खोल निवड",deepBoxSelect:"चौकट मधे खोल निवड करा आणि बाहेर ओढणे वाचवा",curvedArrow:"वक्र बाण",curvedLine:"वक्र रेघ",documentation:"कागदपत्रे",doubleClick:"दुहेरी क्लिक",drag:"ओढा",editor:"संपादक",editLineArrowPoints:"रेघ/तीर बिंदु सम्पादित करा",editText:"पाठ्य सम्पादित करा/ लेबल जोडा",github:"समस्या मिळाली? प्रस्तुत करा",howto:"आमच्या मार्गदर्शकाचे अनुसरण करा",or:"किंवा",preventBinding:"बाण बंधन होणं टाळा",tools:"अवजार",shortcuts:"कीबोर्ड शॉर्टकट",textFinish:"संपादन संपले (मजकूर संपादन)",textNewLine:"नवी ओळ जोडा (मजकूर संपादक)",title:"मदत",view:"दृश्य",zoomToFit:"सर्व तत्व दिसतील असे दृश्यरूप आकार करा",zoomToSelection:"निवडी प्रयंत दृश्यरूप आकार करा",toggleElementLock:"कुलूपातून आत/बाहेर निवड",movePageUpDown:"पान वर/खाली करा",movePageLeftRight:"पान डावी/उजवी कडे करा"},Shu={title:"पटल स्वच्छ करा"},Yhu={title:"संग्रह प्रकाशित करा",itemName:"वस्तु चे नाव",authorName:"लेखक चे नाव",githubUsername:"गिटहब वापरकर्तानाव",twitterUsername:"ट्विटर वापरकर्तानाव",libraryName:"संग्रहाचे नाव",libraryDesc:"संग्रहाचे वर्णन",website:"वेबसाइट",placeholder:{authorName:"तुमचे नाव किव्हा वापरकर्तानाव",libraryName:"तुमचा संग्रहाचे नाव",libraryDesc:"तुमचा संग्रहाचे वर्णन लोकांना संग्रहा बद्दल जाणकारी देतील",githubHandle:"गिटहब हैंडल (वैकल्पिक), एकदा संग्रह पुनरावलोकना साठी जमा केल्या नंतर ही तुम्हीं सम्पादित करु शकता",twitterHandle:"ट्विटर वापरकार्यक नाव (वैकल्पिक), त्यामुळे ट्विटर वर ज़हीरांति साठी कोणाला गुण द्यायचे हे आम्हाला समजेल",website:"दुवा तुमच्या वैयक्तिक वेब-साइट किव्हा कुठे दूसरिकडे (ऐच्छिक) करावा"},errors:{required:"आवश्यक आहे",website:"वैध यू-आर-एल द्या"},noteDescription:"समाविष्ट करण्या साठी तुमचा संग्रह ह्याचात जमा करा <link>सार्वजनिक संग्रहाचे कोठार</link>इतर लोकांना त्यांच्या रेखाचित्रांमधे वापरण्यासाठी.",noteGuidelines:"संग्रहाला आधी स्वहस्ते स्वीकृती मिळणे आवश्यक आहे. कृपया हे वाचा <link>मार्गदर्शक तत्त्वे</link> जमा करण्या पूर्वी, तुमच्या जवळ एक गिटहब खाते असणे आवश्यक आहे जे संवादा साठी आणिक बदल करण्या साठी लागेल, तरी हे सर्व अगदी आवश्यक नाही आहे.",noteLicense:"जमा करताना तुम्हीं सहमति दाखवतात आहे की संग्रह ह्याचा खाली प्रकाशित होईल <link>एम-आइ-टी परवाना, </link>ज्याचा थोडक्यात अर्थ कोणीही निर्बंधांशिवाय वापरू शकतो.",noteItems:"प्रतैक संग्रहाचे नाव, नीट शोधनासाठी, असणे आवश्यक आहे. खाली दिलेल्या वस्तु समाविष्ट केल्या जातील:",atleastOneLibItem:"सुरु करण्यासाठी, कृपया करून, कमित कमी एक वस्तु तरी निवडा",republishWarning:"टीप: काही निवडक आयटम आधीच प्रकाशित/प्रस्तुत केलेले आहेत. विद्यमान लायब्ररी किंवा प्रस्तुतित आयटम अद्यावित करताना तुम्ही फक्त तो पुन्हा प्रस्तुत करा."},Rhu={title:"संग्रह जमा केला",content:"धन्यवाद {{authorName}}. आपला संग्रह पुनरावलोकना साठी जमा झाला आहे. तुम्हीं स्थिति सारखी तपासू सकता<link>इकडे</link>"},Thu={resetLibrary:"संग्रह पुनर्स्थित करा",removeItemsFromLib:"निवडलेले आयटम्स संग्रहातून काढा"},Ohu={header:"प्रतिमा निर्यात करा",label:{withBackground:"पार्श्वभूमि",onlySelected:"फक्त चयन केलेले",darkMode:"अंधारमय स्थिति",embedScene:"दृश्य रुतवा",scale:"क़िती पट",padding:"ग़ादी"},tooltip:{embedScene:"दृश्य डेटा निर्यात केलेल्या पी-एन-जी किव्हा एस-वी-जी फ़ाईल मधे सुरक्षीत केला जाईल, त्याने दृश्य पुनः परत आणता येईल. निर्यात केलेली फ़ाईल चा आकार त्याने वाढेल."},title:{exportToPng:"पी-एन-जी स्वरूपात बाहेर ठेवा",exportToSvg:"एस-वी-जी स्वरूपात बाहेर ठेवा",copyPngToClipboard:"पी-एन-जी रूपे फळी वर कॉपी करा"},button:{exportToPng:"पीएनजी",exportToSvg:"एसविज़ी",copyPngToClipboard:"फळी वर कॉपी करा"}},Ihu={tooltip:"तुमचे चित्रे या टोकापासून त्या टोकापर्यंत कूटबद्धतित आहेत, त्या कारणांनी ऐक्सकैलिड्रॉ सर्वर्स ह्यानां ते पहाणं कधीच जमणार नाही.",link:"ब्लॉग पोस्ट ऐक्सकैलिड्रॉ मधे या टोकापासून त्या टोकापर्यंत कूटबद्धतित आहेत"},Phu={angle:"कोण",element:"वस्तु",elements:"वस्तु",height:"उंची",scene:"दृश्य",selected:"निवडलेले",storage:"साठवण",title:"अभ्यासू लोगो के लिये आंकडे",total:"योग",version:"आवृत्ती",versionCopy:"कॉपी करायला क्लिक करा",versionNotAvailable:"आवृति उपलब्ध नाही",width:"रुंदी"},jhu={addedToLibrary:"संग्रह मधे सम्मिलित",copyStyles:"कॉपी केलेली शैली.",copyToClipboard:"फळी वर कॉपी झाली.",copyToClipboardAsPng:`{{exportSelection}} फळी वर पी-एन-जी स्वरूपात कॉपी झाली
({{exportColorScheme}})`,fileSaved:"फ़ाइल जतन झाली.",fileSavedToFilename:"{filename} मधे जतन झाली",canvas:"पटल",selection:"निवड",pasteAsSingleElement:`एक घटक म्हणून चिपकावण्या साठी {{shortcut}} वापरा,
किंवा विद्यमान मजकूर संपादकात चिपकवा`,unableToEmbed:"युआरेल रूतवणे प्रतिबंधित आहेत. आपली युआरेल श्वेतसूचित आणण्या साठी कृपया एक मुद्दा ग़िटहब वर उठवा",unrecognizedLinkFormat:"जी युआरेल तुम्हीं रतवली आहे, ती आपेक्षित प्रकारे नाही आहे. कृपया स्त्रोत साइट नी 'रूतवण्या साठी दिलेलि लिपि' चिपकावण्याचा प्रयास करा"},Nhu={transparent:"पारदर्शक",black:"काळा",white:"पांढरा",red:"लाल",pink:"गुलाबी",grape:"अंगूरी",violet:"जांभळा",gray:"राखाडी",blue:"निळा",cyan:"आकाशी",teal:"हिरवट निळा",green:"हिरवा",yellow:"पिवळा",orange:"केशरी",bronze:"कांस्य"},Vhu={app:{center_heading:"तुमचा सर्व डेटा तुमच्या ब्राउझरमध्ये स्थानिक पातळीवर जतन केला जातो.",center_heading_plus:"त्याऐवजी तुम्हाला Excalidraw+ वर जायचे आहे का?",menuHint:"निर्यात, आवड़ी-निवडी, भाषा, ..."},defaults:{menuHint:"निर्यात, आवड़ी निवडी आणि आणकिही...",center_heading:"आकृत्या. काढणे. सोपे.",toolbarHint:"एक साधन निवडा आणि चित्रीकरण सुरु करा!",helpHint:"शॉर्टकट आणि सहाय्य"}},hhu={mostUsedCustomColors:"सर्वात जास्त वापरणीस रंग",colors:"रंग",shades:"रंगछटा",hexCode:"हेक्स कोड",noShades:"ह्या रंगाच्या छटा उपलब्ध नाहित"},ihu={action:{exportToImage:{title:"छवि स्वरूपे निर्यात करा",button:"छवि स्वरूपे निर्यात करा",description:"सीन डेटा बाहेर एक फ़ाइल मधे जतन करा, त्या फ़ाइल मधुन तो डेटा नंतर परत आणु शकता."},saveToDisk:{title:"डिस्क मधे जतन करा",button:"डिस्क मधे जतन करा",description:"सीन डेटा बाहेर एक फ़ाइल मधे जतन करा, त्या फ़ाइल मधुन तो डेटा नंतर परत आणु शकता."},excalidrawPlus:{title:"एक्षकालीड्रॉ +",button:"एक्षकाली ड्रॉ+ मधे निर्यात करा",description:"दृष्य तुमच्या एक्षकालीड्रॉ+ चा कार्यस्थल मधे जतन करा."}},modal:{loadFromFile:{title:"फ़ाइल मधुन लोड करा",button:"फ़ाइल मधुन लोड करा",description:"फ़ाइल मधुन लोड केल्या वर ते <bold>तुमचा सध्याचा कामा ठिकाणि एईल </bold><br></br> तुम्हीं तुमचं चित्र एकाधं खाली दिलेलं विकल्प निवडुन पहले सुरक्षीत करु शकता."},shareableLink:{title:"लिंक पासून लोड करा",button:"माझ सध्याचे कार्य बदला",description:"बाहरी चित्र लोड केल्या वर ते <bold>तुमचा सध्याचा कामा ठिकाणि एईल </bold><br></br> तुम्हीं तुमचं चित्र एकाधं खाली दिलेलं विकल्प निवडुन पहले सुरक्षीत करु शकता."}}},ahu={title:"मर्मेड पासून एक्सकाली मधे",button:"शिरवा",description:"",syntax:"मर्मेड संरचना नियम",preview:"पूर्वावलोकन"},Kf3={labels:Zhu,library:Jhu,buttons:Khu,alerts:whu,errors:Qhu,toolBar:Ghu,headings:Hhu,hints:qhu,canvasError:lhu,errorSplash:Lhu,roomDialog:Xhu,errorDialog:vhu,exportDialog:xhu,helpDialog:Whu,clearCanvasDialog:Shu,publishDialog:Yhu,publishSuccessDialog:Rhu,confirmDialog:Thu,imageExportDialog:Ohu,encrypted:Ihu,stats:Phu,toast:jhu,colors:Nhu,welcomeScreen:Vhu,colorPicker:hhu,overwriteConfirm:ihu,mermaid:ahu}});var Kiu={};ju(Kiu,{welcomeScreen:()=>Miu,toolBar:()=>phu,toast:()=>kiu,stats:()=>ziu,roomDialog:()=>thu,publishSuccessDialog:()=>Ciu,publishDialog:()=>Aiu,overwriteConfirm:()=>Ziu,mermaid:()=>Jiu,library:()=>rhu,labels:()=>yhu,imageExportDialog:()=>Fiu,hints:()=>dhu,helpDialog:()=>Biu,headings:()=>nhu,exportDialog:()=>uiu,errors:()=>_hu,errorSplash:()=>ohu,errorDialog:()=>ehu,encrypted:()=>Uiu,default:()=>wf3,confirmDialog:()=>Diu,colors:()=>fiu,colorPicker:()=>biu,clearCanvasDialog:()=>Eiu,canvasError:()=>shu,buttons:()=>ghu,alerts:()=>chu});var yhu,rhu,ghu,chu,_hu,phu,nhu,dhu,shu,ohu,thu,ehu,uiu,Biu,Eiu,Aiu,Ciu,Diu,Fiu,Uiu,ziu,kiu,fiu,Miu,biu,Ziu,Jiu,wf3;var wiu=g(()=>{m4();yhu={paste:"ထား",pasteAsPlaintext:"",pasteCharts:"",selectAll:"အကုန်ရွေး",multiSelect:"ရွေးထားသည့်ထဲပုံထည့်",moveCanvas:"ကားချပ်ရွှေ့",cut:"",copy:"ကူး",copyAsPng:"PNG အနေဖြင့်ကူး",copyAsSvg:"SVG အနေဖြင့်ကူး",copyText:"",copySource:"",convertToCode:"",bringForward:"ရှေ့ပို့",sendToBack:"နောက်ဆုံးထား",bringToFront:"ရှေ့ဆုံးထား",sendBackward:"နောက်ပို့",delete:"ဖျက်",copyStyles:"ပုံစံကူး",pasteStyles:"ပုံစံထား",stroke:"မျဉ်း",background:"နောက်ခံ",fill:"ဖြည့်",strokeWidth:"မျဉ်းအထူ",strokeStyle:"မျဉ်းပုံစံ",strokeStyle_solid:"အပြည့်",strokeStyle_dashed:"မျဉ်းပြတ်",strokeStyle_dotted:"မျဉ်းစက်",sloppiness:"သေသပ်မှု",opacity:"ထင်ရှားမှု",textAlign:"စာသားညှိ",edges:"အစွန်း",sharp:"ထောင့်ချွန်",round:"ထောင့်ဝိုင်း",arrowheads:"မြှားခေါင်း",arrowhead_none:"ဘာမျှမရှိ",arrowhead_arrow:"မြှား",arrowhead_bar:"",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"စာလုံးအရွယ်",fontFamily:"စာလုံးပုံစံ",addWatermark:'"Excalidraw ဖြင့်ဖန်တီးသည်။" စာသားထည့်',handDrawn:"လက်ရေး",normal:"ပုံမှန်",code:"ကုဒ်",small:"အသေး",medium:"အလတ်",large:"အကြီး",veryLarge:"ပိုကြီး",solid:"အပြည့်",hachure:"မျဉ်းစောင်း",zigzag:"",crossHatch:"ဇကာကွက်",thin:"ပါး",bold:"ထူ",left:"ဘယ်",center:"အလယ်",right:"ညာ",extraBold:"ပိုထူ",architect:"ဗိသုကာ",artist:"ပန်းချီ",cartoonist:"ကာတွန်း",fileTitle:"",colorPicker:"အရောင်ရွေး",canvasColors:"",canvasBackground:"ကားချပ်နောက်ခံ",drawingCanvas:"ပုံဆွဲကားချပ်",layers:"အလွှာများ",actions:"လုပ်ဆောင်ချက်များ",language:"ဘာသာစကား",liveCollaboration:"",duplicateSelection:"ပွား",untitled:"အမည်မရှိ",name:"အမည်",yourName:"သင့်အမည်",madeWithExcalidraw:"Excalidraw ဖြင့်ဖန်တီးသည်။",group:"အုပ်စုဖွဲ့",ungroup:"အုပ်စုဖျက်သိမ်း",collaborators:"ပူးပေါင်းပါဝင်သူများ",showGrid:"",addToLibrary:"မှတ်တမ်းတင်",removeFromLibrary:"မှတ်တမ်းမှထုတ်",libraryLoadingMessage:"မှတ်တမ်းအား တင်သွင်းနေသည်…",libraries:"စာကြည့်တိုက်တွင်ရှာဖွေပါ",loadingScene:"မြင်ကွင်းဖော်နေသည်…",align:"ချိန်ညှိ",alignTop:"ထိပ်ညှိ",alignBottom:"အခြေညှိ",alignLeft:"ဘယ်ညှိ",alignRight:"ညာညှိ",centerVertically:"ဒေါင်လိုက်အလယ်ညှိ",centerHorizontally:"အလျားလိုက်အလယ်ညှိ",distributeHorizontally:"အလျားလိုက်",distributeVertically:"ထောင်လိုက်",flipHorizontal:"",flipVertical:"",viewMode:"",share:"",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"",editEmbed:"",create:"",createEmbed:"",label:"",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},rhu={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},ghu={clearReset:"ကားချပ်ရှင်းလင်း",exportJSON:"",exportImage:"",export:"",copyToClipboard:"ကူးယူ",save:"",saveAs:"ပြောင်းသိမ်း",load:"",getShareableLink:"မျှဝေရန် လင့်ခ်ရယူ",close:"ပိတ်",selectLanguage:"ဘာသာစကားရွေးပါ",scrollBackToContent:"ကားချပ်ပြန်တည်",zoomIn:"ချဲ့",zoomOut:"ချုံ့",resetZoom:"ပုံမှန်ပြန်ထား",menu:"မီနူး",done:"ပြီးပြီ",edit:"ပြင်ဆင်",undo:"ပြန်ထား",redo:"ထပ်လုပ်",resetLibrary:"",createNewRoom:"အခန်းသစ်ဖွဲ့",fullScreen:"",darkMode:"",lightMode:"",zenMode:"",objectsSnapMode:"",exitZenMode:"ဇင်မြင်ကွင်းမှထွက်",cancel:"",clear:"",remove:"",embed:"",publishLibrary:"",submit:"",confirm:"",embeddableInteractionButton:""},chu={clearReset:"ကားချပ်တစ်ခုလုံးရှင်းလင်းပါတော့မည်။ အတည်ပြုပါ။",couldNotCreateShareableLink:"မျှဝေရန် လင့်ခ်မရယူနိုင်သေးပါ။",couldNotCreateShareableLinkTooBig:"မြင်ကွင်းအရမ်းကြီးနေသဖြင့် မျှဝေရန် လင့်ခ်မရယူနိုင်သေးပါ။",couldNotLoadInvalidFile:"လွဲမှားနေသောဖိုင်အား တင်၍မရပါ။",importBackendFailed:"Backend မှမလုပ်ဆောင်နိုင်သေးပါ။",cannotExportEmptyCanvas:"ကားချပ်အလွတ်အားထုတ်ယူ၍မရပါ။",couldNotCopyToClipboard:"",decryptFailed:"အချက်အလက်ဖော်ယူ၍မရပါ။",uploadedSecurly:"တင်သွင်းအချက်အလက်များအား နှစ်ဘက်စွန်းတိုင်လျှို့ဝှက်စနစ်အသုံးပြု၍လုံခြုံစွာထိန်းသိမ်းထားပါသဖြင့် Excalidraw ဆာဗာနှင့်ဆက်စပ်အဖွဲ့အစည်းများပင်လျှင်မဖတ်ရှုနိုင်ပါ။",loadSceneOverridePrompt:"လက်ရှိရေးဆွဲထားသမျှအား ပြင်ပမှတင်သွင်းသောပုံနှင့်အစားထိုးပါမည်။ ဆက်လက်ဆောင်ရွက်လိုပါသလား။",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"{{numShapes}} ခုသောပုံသဏ္ဌာန်အားမှတ်တမ်းတင်ပါမည်။ အတည်ပြုပါ။",imageDoesNotContainScene:"",cannotRestoreFromImage:"ဤပုံဖြင့်မြင်ကွင်းပြန်လည်မရယူနိုင်ပါ။",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},_hu={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},phu={selection:"ရွေးချယ်",image:"",rectangle:"စတုဂံ",diamond:"စိန်",ellipse:"အဝိုင်း",arrow:"မြှား",line:"မျဉ်း",freedraw:"",text:"စာသား",library:"မှတ်တမ်း",lock:"ရွေးချယ်ထားသောကိရိယာကိုသာဆက်သုံး",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},nhu={canvasActions:"ကားချပ်လုပ်ဆောင်ချက်",selectedShapeActions:"ပုံသဏ္ဌာန်လုပ်ဆောင်ချက်",shapes:"ပုံသဏ္ဌာန်များ"},dhu={canvasPanning:"",linearElement:"အမှတ်များချမှတ်ရေးဆွဲရန်ကလစ်နှိပ်ပါ၊ မျဉ်းတစ်ကြောင်းတည်းအတွက် တရွတ်ဆွဲပါ။",freeDraw:"ကလစ်နှိပ်၍ တရွတ်ဆွဲပါ၊ ပြီးလျှင်လွှတ်ပါ။",text:"မှတ်ချက်။ ။မည်သည့်ကိရိယာရွေးထားသည်ဖြစ်စေ ကလစ်နှစ်ချက်နှိပ်၍စာသားထည့်နိုင်သည်",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"နောက်ဆုံးအမှတ်ပေါ်တွင်ကလစ်နှိပ်ခြင်း၊ Escape (သို့) Enter နှိပ်ခြင်းတို့ဖြင့်အဆုံးသတ်နိုင်",lockAngle:"",resize:"အချိုးအစားကန့်သတ်ရန် Shift နှင့် ဗဟိုမှချိန်ညှိရန် Alt တို့ကိုနှိပ်ထားနိုင်သည်",resizeImage:"",rotate:"Shift ကိုနှိပ်ထားခြင်းဖြင့် ထောင့်အလိုက်လှည့်နိုင်သည်",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},shu={cannotShowPreview:"နမူနာမပြသနိုင်ပါ",canvasTooBig:"ကားချပ်အလွန်ကြီးကောင်းကြီးနေနိုင်သည်။",canvasTooBigTip:"မှတ်ချက်။ ။ဝေးကွာနေသော ပုံများ၊ စာများအား ပိုမိုနီးကပ်အောင်ရွှေ့ကြည့်ပါ။"},ohu={headingMain:"ချို့ယွင်းမှုဖြစ်ပေါ်ခဲ့သဖြင့် ထပ်မံကြိုးစားကြည့်ရန် <button>စာမျက်နှာအား အသစ်ပြန်လည်ရယူပါ။</button>",clearCanvasMessage:"အသစ်ပြန်လည်မရယူနိုင်ပါက ထပ်မံကြိုးစားကြည့်ရန်<button>ကားချပ်အား ရှင်းလင်းပါ။</button>",clearCanvasCaveat:" ရေးဆွဲထားသည်များ ဆုံးရှုံးနိုင်သည် ",trackedToSentry:"ချို့ယွင်းမှုသတ်မှတ်ချက် {{eventId}} အားစနစ်အတွင်းခြေရာကောက်ပြီးပါပြီ။",openIssueMessage:"ချို့ယွင်းမှုမှတ်တမ်းတွင် အရေးကြီးအချက်အလက်များပါဝင်မှုမရှိစေရန်အထူးသတိပြုပါသည်။ မပါဝင်ပါက ဆက်လက်ဆောင်ရွက်ရန် <button>ချို့ယွင်းမှုအားခြေရာကောက်ပါ။</button> အောက်ပါအချက်အလက်များအား Github တွင် Issue အနေဖြင့်ဖြည့်သွင်းဖော်ပြပေးပါ။",sceneContent:"မြင်ကွင်းပါအချက်အလက်။ ။"},thu={desc_intro:"လက်ရှိမြင်ကွင်းတွင်ပူးပေါင်းရေးဆွဲရန် အခြားသူများအား ဖိတ်ကြားနိုင်သည်။",desc_privacy:"နှစ်ဘက်စွန်းတိုင်လျှို့ဝှက်ထားသဖြင့်ရေးဆွဲသမျှအား ဆာဗာပေါ်မှပင်လျှင်ကြည့်ရှုနိုင်မည်မဟုတ်ပါ။ မစိုးရိမ်ပါနှင့်။",button_startSession:"ပူးပေါင်းမှုစတင်",button_stopSession:"ပူးပေါင်းမှုအဆုံးသတ်",desc_inProgressIntro:"တိုက်ရိုက်ပူးပေါင်းရေးဆွဲမှုများပြုလုပ်နေပါသည်။",desc_shareLink:"ဤလင့်ခ်အား ပူးပေါင်းရေးဆွဲလိုသူများထံပေးပို့ပါ။ ။ ",desc_exitSession:"ပူးပေါင်းမှုရပ်တန့်ပါက အဖွဲ့အတွင်းမှထွက်ခွာသွားမည်ဖြစ်သော်လည်း မိမိမြင်ကွင်းတွင်ဆက်လက်ရေးဆွဲနိုင်ပါမည်။ အဖွဲ့အတွင်းကျန်ရှိနေခဲ့သောအခြားပါဝင်သူများသည်လည်း ဆက်လက်ပူးပေါင်းရေးဆွဲနေနိုင်ပါလိမ့်မည်။",shareTitle:""},ehu={title:"ချို့ယွင်းချက်"},uiu={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},Biu={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},Eiu={title:""},Aiu={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},Ciu={title:"",content:""},Diu={resetLibrary:"",removeItemsFromLib:""},Fiu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},Uiu={tooltip:"ရေးဆွဲထားသောပုံများအား နှစ်ဘက်စွန်းတိုင်လျှို့ဝှက်ထားသဖြင့် Excalidraw ၏ဆာဗာများပင်လျှင်မြင်တွေ့ရမည်မဟုတ်ပါ။",link:""},ziu={angle:"ထောင့်",element:"",elements:"",height:"အမြင့်",scene:"မြင်ကွင်း",selected:"ရွေးချယ်သည်",storage:"သိုလှောင်ခန်း",title:"အက္ခရာများအတွက်အချက်အလက်များ",total:"စုစုပေါင်း",version:"",versionCopy:"",versionNotAvailable:"",width:"အကျယ်"},kiu={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},fiu={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},Miu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},biu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},Ziu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Jiu={title:"",button:"",description:"",syntax:"",preview:""},wf3={labels:yhu,library:rhu,buttons:ghu,alerts:chu,errors:_hu,toolBar:phu,headings:nhu,hints:dhu,canvasError:shu,errorSplash:ohu,roomDialog:thu,errorDialog:ehu,exportDialog:uiu,helpDialog:Biu,clearCanvasDialog:Eiu,publishDialog:Aiu,publishSuccessDialog:Ciu,confirmDialog:Diu,imageExportDialog:Fiu,encrypted:Uiu,stats:ziu,toast:kiu,colors:fiu,welcomeScreen:Miu,colorPicker:biu,overwriteConfirm:Ziu,mermaid:Jiu}});var giu={};ju(giu,{welcomeScreen:()=>miu,toolBar:()=>Liu,toast:()=>iiu,stats:()=>hiu,roomDialog:()=>Siu,publishSuccessDialog:()=>Piu,publishDialog:()=>Iiu,overwriteConfirm:()=>yiu,mermaid:()=>riu,library:()=>Giu,labels:()=>Qiu,imageExportDialog:()=>Niu,hints:()=>viu,helpDialog:()=>Tiu,headings:()=>Xiu,exportDialog:()=>Riu,errors:()=>liu,errorSplash:()=>Wiu,errorDialog:()=>Yiu,encrypted:()=>Viu,default:()=>Qf3,confirmDialog:()=>jiu,colors:()=>aiu,colorPicker:()=>$iu,clearCanvasDialog:()=>Oiu,canvasError:()=>xiu,buttons:()=>Hiu,alerts:()=>qiu});var Qiu,Giu,Hiu,qiu,liu,Liu,Xiu,viu,xiu,Wiu,Siu,Yiu,Riu,Tiu,Oiu,Iiu,Piu,jiu,Niu,Viu,hiu,iiu,aiu,miu,$iu,yiu,riu,Qf3;var ciu=g(()=>{m4();Qiu={paste:"Lim inn",pasteAsPlaintext:"Lim inn som klartekst",pasteCharts:"Lim inn diagrammer",selectAll:"Velg alt",multiSelect:"Legg til element i utvalg",moveCanvas:"Flytt lerretet",cut:"Klipp ut",copy:"Kopier",copyAsPng:"Kopier til PNG",copyAsSvg:"Kopier til utklippstavlen som SVG",copyText:"Kopier til utklippstavlen som tekst",copySource:"",convertToCode:"",bringForward:"Flytt framover",sendToBack:"Send bakerst",bringToFront:"Flytt forrest",sendBackward:"Send bakover",delete:"Slett",copyStyles:"Kopier stiler",pasteStyles:"Lim inn stiler",stroke:"Strek",background:"Bakgrunn",fill:"Fyll",strokeWidth:"Strektykkelse",strokeStyle:"Strekstil",strokeStyle_solid:"Heltrukket",strokeStyle_dashed:"Stiplet",strokeStyle_dotted:"Prikket",sloppiness:"Ujevnhet",opacity:"Synlighet",textAlign:"Tekstjustering",edges:"Kanter",sharp:"Skarp",round:"Rund",arrowheads:"Pilspisser",arrowhead_none:"Ingen",arrowhead_arrow:"Pil",arrowhead_bar:"Søyle",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Trekant",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Skriftstørrelse",fontFamily:"Fontfamilie",addWatermark:'Legg til "Laget med Excalidraw"',handDrawn:"Håndtegnet",normal:"Normal",code:"Kode",small:"Liten",medium:"Medium",large:"Stor",veryLarge:"Svært stor",solid:"Helfarge",hachure:"Skravert",zigzag:"Sikk-sakk",crossHatch:"Krysskravert",thin:"Tynn",bold:"Tykk",left:"Venstre",center:"Midtstill",right:"Høyre",extraBold:"Ekstra tykk",architect:"Arkitekt",artist:"Kunstner",cartoonist:"Tegner",fileTitle:"Filnavn",colorPicker:"Fargevelger",canvasColors:"Brukes på lerretet",canvasBackground:"Lerretsbakgrunn",drawingCanvas:"Lerret",layers:"Lag",actions:"Handlinger",language:"Språk",liveCollaboration:"Sanntids-samarbeid...",duplicateSelection:"Dupliser",untitled:"Uten navn",name:"Navn",yourName:"Ditt navn",madeWithExcalidraw:"Laget med Excalidraw",group:"Gruppér utvalg",ungroup:"Avgruppér utvalg",collaborators:"Samarbeidspartnere",showGrid:"Vis rutenett",addToLibrary:"Legg til i bibliotek",removeFromLibrary:"Fjern fra bibliotek",libraryLoadingMessage:"Laster bibliotek…",libraries:"Bla gjennom biblioteker",loadingScene:"Laster inn scene…",align:"Juster",alignTop:"Juster øverst",alignBottom:"Juster nederst",alignLeft:"Juster venstre",alignRight:"Juster høyre",centerVertically:"Midtstill vertikalt",centerHorizontally:"Midtstill horisontalt",distributeHorizontally:"Distribuer horisontalt",distributeVertically:"Distribuer vertikalt",flipHorizontal:"Snu horisontalt",flipVertical:"Snu vertikalt",viewMode:"Visningsmodus",share:"Del",showStroke:"Vis fargevelger for kantfarge",showBackground:"Vis fargevelger for bakgrunnsfarge",toggleTheme:"Veksle tema",personalLib:"Personlig bibliotek",excalidrawLib:"Excalidraw-bibliotek",decreaseFontSize:"Reduser skriftstørrelse",increaseFontSize:"Øk skriftstørrelse",unbindText:"Avbind tekst",bindText:"Bind tekst til beholderen",createContainerFromText:"La tekst flyte i en beholder",link:{edit:"Rediger lenke",editEmbed:"Rediger lenke og bygg inn",create:"Opprett lenke",createEmbed:"Opprett lenke og bygg inn",label:"Lenke",labelEmbed:"Lenk & bygg inn",empty:"Ingen lenke er valgt"},lineEditor:{edit:"Rediger linje",exit:"Avslutt linjeredigering"},elementLock:{lock:"Lås",unlock:"Lås opp",lockAll:"Lås alle",unlockAll:"Lås opp alle"},statusPublished:"Publisert",sidebarLock:"Holde sidemenyen åpen",selectAllElementsInFrame:"Velg alle elementene i rammen",removeAllElementsFromFrame:"Fjern alle elementer fra rammen",eyeDropper:"Velg farge fra lerretet",textToDiagram:"",prompt:""},Giu={noItems:"Ingen elementer lagt til ennå...",hint_emptyLibrary:"Velg et objekt på lerretet for å legge det til her, eller installer et bibliotek fra den offentlige samlingen under.",hint_emptyPrivateLibrary:"Velg et objekt på lerretet for å legge det til her."},Hiu={clearReset:"Tøm lerretet og tilbakestill bakgrunnsfargen",exportJSON:"Eksporter til fil",exportImage:"Eksporter bilde...",export:"Lagre som...",copyToClipboard:"Kopier til utklippstavle",save:"Lagre til aktiv fil",saveAs:"Lagre som",load:"Åpne",getShareableLink:"Få delingslenke",close:"Lukk",selectLanguage:"Velg språk",scrollBackToContent:"Skroll tilbake til innhold",zoomIn:"Zoom inn",zoomOut:"Zoom ut",resetZoom:"Nullstill zoom",menu:"Meny",done:"Ferdig",edit:"Rediger",undo:"Angre",redo:"Gjør om",resetLibrary:"Nullstill bibliotek",createNewRoom:"Opprett et nytt rom",fullScreen:"Fullskjerm",darkMode:"Mørk modus",lightMode:"Lys modus",zenMode:"Zen-modus",objectsSnapMode:"",exitZenMode:"Avslutt zen-modus",cancel:"Avbryt",clear:"Tøm",remove:"Fjern",embed:"Slå av/på innebygging",publishLibrary:"Publiser",submit:"Send inn",confirm:"Bekreft",embeddableInteractionButton:"Klikk for å samhandle"},qiu={clearReset:"Dette vil tømme lerretet. Er du sikker?",couldNotCreateShareableLink:"Kunne ikke lage delbar lenke.",couldNotCreateShareableLinkTooBig:"Kunne ikke opprette lenke til deling: scenen er for stor",couldNotLoadInvalidFile:"Kunne ikke laste inn ugyldig fil",importBackendFailed:"Importering av backend feilet.",cannotExportEmptyCanvas:"Kan ikke eksportere et tomt lerret.",couldNotCopyToClipboard:"Kunne ikke kopiere til utklippstavlen.",decryptFailed:"Kunne ikke dekryptere data.",uploadedSecurly:"Opplastingen er kryptert og kan ikke leses av Excalidraw-serveren eller tredjeparter.",loadSceneOverridePrompt:"Å laste inn ekstern tegning vil erstatte det eksisterende innholdet. Ønsker du å fortsette?",collabStopOverridePrompt:`Hvis du slutter økten, overskrives din forrige, lokalt lagrede tegning. Er du sikker?
(Hvis du ønsker å beholde din lokale tegning, bare lukk nettleserfanen i stedet.)`,errorAddingToLibrary:"Kunne ikke legge element i biblioteket",errorRemovingFromLibrary:"Kunne ikke fjerne element fra biblioteket",confirmAddLibrary:"Dette vil legge til {{numShapes}} figur(er) i biblioteket ditt. Er du sikker?",imageDoesNotContainScene:"Det ser ikke ut til at dette bildet inneholder noen scenedata. Har du aktivert innebygging av scene under eksporten?",cannotRestoreFromImage:"Scenen kunne ikke gjenopprettes fra denne bildefilen",invalidSceneUrl:"Kunne ikke importere scene fra den oppgitte URL-en. Den er enten ødelagt, eller inneholder ikke gyldig Excalidraw JSON-data.",resetLibrary:"Dette vil tømme biblioteket ditt. Er du sikker?",removeItemsFromsLibrary:"Slett {{count}} element(er) fra biblioteket?",invalidEncryptionKey:"Krypteringsnøkkel må ha 22 tegn. Live-samarbeid er deaktivert.",collabOfflineWarning:`Ingen Internett-tilkobling tilgjengelig.
Endringer dine vil ikke bli lagret!`},liu={unsupportedFileType:"Filtypen støttes ikke.",imageInsertError:"Kunne ikke sette inn bildet. Prøv igjen senere...",fileTooBig:"Filen er for stor. Maksimal tillatt størrelse er {{maxSize}}.",svgImageInsertError:"Kunne ikke sette inn SVG-bilde. SVG-koden ser ugyldig ut.",failedToFetchImage:"",invalidSVGString:"Ugyldig SVG.",cannotResolveCollabServer:"Kunne ikke koble til samarbeidsserveren. Vennligst oppdater siden og prøv på nytt.",importLibraryError:"Kunne ikke laste bibliotek",collabSaveFailed:"Kan ikke lagre i backend-databasen. Hvis problemer vedvarer, bør du lagre filen lokalt for å sikre at du ikke mister arbeidet.",collabSaveFailed_sizeExceeded:"Kunne ikke lagre til backend-databasen, lerretet ser ut til å være for stort. Du bør lagre filen lokalt for å sikre at du ikke mister arbeidet ditt.",imageToolNotSupported:"",brave_measure_text_error:{line1:"Ser ut som om du bruker Brave nettleser med <bold>Aggressivt Block Finger</bold> -innstillingen aktivert.",line2:"Dette kan resultere i å bryte <bold>tekst-elementene</bold> i tegningene.",line3:"Vi anbefaler på det sterkeste å deaktivere denne innstillingen. Du kan følge <link>disse trinnene</link> om hvordan du gjør det.",line4:"Hvis deaktivering av denne innstillingen ikke fikser visningen av tekstelementer, vennligst åpne en <issueLink>sak</issueLink> på vår GitHub, eller skriv oss på <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Innebygde elementer kan ikke legges til i biblioteket.",iframe:"",image:"Støtte for å legge til bilder i biblioteket kommer snart!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Liu={selection:"Velg",image:"Sett inn bilde",rectangle:"Rektangel",diamond:"Diamant",ellipse:"Ellipse",arrow:"Pil",line:"Linje",freedraw:"Tegn",text:"Tekst",library:"Bibliotek",lock:"Behold merket verktøy som aktivt",penMode:"Pennemodus - forhindre berøring",link:"Legg til / oppdater link for en valgt figur",eraser:"Viskelær",frame:"Rammeverktøy",magicframe:"",embeddable:"Nettinnbygging",laser:"",hand:"Hånd (panoreringsverktøy)",extraTools:"Flere verktøy",mermaidToExcalidraw:"",magicSettings:""},Xiu={canvasActions:"Handlinger: lerret",selectedShapeActions:"Handlinger: valgt objekt",shapes:"Former"},viu={canvasPanning:"For å flytte lerretet, hold musehjulet eller mellomromstasten mens du drar, eller bruk hånd-verktøyet",linearElement:"Klikk for å starte linje med flere punkter, eller dra for en enkel linje",freeDraw:"Klikk og dra, slipp når du er ferdig",text:"Tips: du kan også legge til tekst ved å dobbeltklikke hvor som helst med utvalgsverktøyet",embeddable:"Klikk og dra for å opprette en nettside innebygd",text_selected:"Dobbeltklikk eller trykk ENTER for å redigere tekst",text_editing:"Trykk Escape eller Ctrl/Cmd+Enter for å fullføre redigering",linearElementMulti:"Klikk på siste punkt eller trykk Escape eller Enter for å fullføre",lockAngle:"Du kan låse vinkelen ved å holde nede SHIFT",resize:`Du kan beholde forholdet ved å trykke SHIFT mens du endrer størrelse,
trykk ALT for å endre størrelsen fra midten`,resizeImage:`Du kan endre størrelse fritt ved å holde SHIFT,
hold ALT for å endre størrelse fra midten`,rotate:"Du kan låse vinklene ved å holde SHIFT mens du roterer",lineEditor_info:"Hold Ctrl/Cmd og dobbelklikk eller trykk Ctrl/Cmd + Enter for å endre punkter",lineEditor_pointSelected:"Trykk på Slett for å fjerne punktet, Ctrl / Cmd+D for å duplisere, eller dra for å flytte",lineEditor_nothingSelected:`Velg et punkt å redigere (hold SHIFT for å velge flere),
eller hold Alt og klikk for å legge til nye punkter`,placeImage:"Klikk for å plassere bildet, eller klikk og dra for å angi størrelsen manuelt",publishLibrary:"Publiser ditt eget bibliotek",bindTextToElement:"Trykk Enter for å legge til tekst",deepBoxSelect:"Hold CTRL/CMD for å markere dypt og forhindre flytting",eraserRevert:"Hold Alt for å reversere elementene merket for sletting",firefox_clipboard_write:'Denne funksjonen kan sannsynligvis aktiveres ved å sette "dom.events.asyncClipboard.clipboardItem" flagget til "true". For å endre nettleserens flagg i Firefox, besøk "about:config"-siden.',disableSnapping:""},xiu={cannotShowPreview:"Kan ikke vise forhåndsvisning",canvasTooBig:"Lerretet kan være for stort.",canvasTooBigTip:"Tips: Prøv å flytte de ytterste elementene litt tettere sammen."},Wiu={headingMain:"En feil oppsto. Prøv <button>å laste siden på nytt.</button>",clearCanvasMessage:"Om ny sidelasting ikke fungerer, prøv <button>å tømme lerretet.</button>",clearCanvasCaveat:" Dette vil føre til tap av arbeid ",trackedToSentry:"Feilen med identifikator {{eventId}} ble logget i vårt system.",openIssueMessage:"Vi er veldig nøye med å ikke inkludere dine scene-opplysninger i feilen. Hvis din scene ikke er privat, vurder å følge opp i vårt <button>feilrapporteringssystem.</button> Ta med opplysningene nedenfor ved å kopiere og lime inn i GitHub-saken.",sceneContent:"Scene-innhold:"},Siu={desc_intro:"Du kan invitere personer til scenen din for å samarbeide med deg.",desc_privacy:"Ta det med ro, sesjonen bruker ende-til-ende-kryptering, så alt du tegner forblir privat. Ikke en gang serveren vår kan se hva du lager.",button_startSession:"Start økt",button_stopSession:"Stopp sesjon",desc_inProgressIntro:"Sanntids-samarbeidsøkt er nå i gang.",desc_shareLink:"Del denne linken med de du vil samarbeide med:",desc_exitSession:"Dersom du avslutter sesjonen blir du frakoblet rommet, men du kan fortsette å arbeide med scenen lokalt. Vær oppmerksom på at dette ikke vil påvirke andre personer, og de vil fortsatt ha mulighet til å samarbeide på deres versjon.",shareTitle:"Bli med i en live samarbeidsøkt på Excalidraw"},Yiu={title:"Feil"},Riu={disk_title:"Lagre til disk",disk_details:"Eksporter scene-dataene til en fil som du kan importere fra senere.",disk_button:"Lagre til fil",link_title:"Delbar lenke",link_details:"Eksporter som en skrivebeskyttet lenke.",link_button:"Eksporter til lenke",excalidrawplus_description:"Lagre scenen til ditt Excalidraw+ arbeidsområde.",excalidrawplus_button:"Eksporter",excalidrawplus_exportError:"Kunne ikke eksportere til Excalidraw+ for øyeblikket..."},Tiu={blog:"Les bloggen vår",click:"klikk",deepSelect:"Marker dypt",deepBoxSelect:"Marker dypt innad i boks og forhindre flytting",curvedArrow:"Buet pil",curvedLine:"Buet linje",documentation:"Dokumentasjon",doubleClick:"dobbeltklikk",drag:"dra",editor:"Redigeringsvisning",editLineArrowPoints:"Rediger linje/pilpunkter",editText:"Rediger tekst / legg til etikett",github:"Funnet et problem? Send inn",howto:"Følg våre veiledninger",or:"eller",preventBinding:"Forhindre pilbinding",tools:"Verktøy",shortcuts:"Tastatursnarveier",textFinish:"Fullfør redigering (teksteditor)",textNewLine:"Legg til ny linje (teksteditor)",title:"Hjelp",view:"Vis",zoomToFit:"Zoom for å se alle elementer",zoomToSelection:"Zoom til utvalg",toggleElementLock:"Lås/lås opp utvalg",movePageUpDown:"Flytt side opp/ned",movePageLeftRight:"Flytt siden til venstre/høyre"},Oiu={title:"Tøm lerret"},Iiu={title:"Publiser bibliotek",itemName:"Elementnavn",authorName:"Forfatterens navn",githubUsername:"GitHub-brukernavnet",twitterUsername:"Twitter-brukernavn",libraryName:"Biblioteknavn",libraryDesc:"Beskrivelse av bibliotek",website:"Nettsted",placeholder:{authorName:"Ditt navn eller brukernavn",libraryName:"Navnet på biblioteket ditt",libraryDesc:"Beskrivelse av biblioteket ditt for å hjelpe folk med å forstå bruken",githubHandle:"Github-brukernavn (valgfritt), slik at du kan redigere biblioteket når du har sendt inn for gjennomgang",twitterHandle:"Twitter-brukernavn (valgfritt), slik at vi vet hvem vi skal kreditere når promotert på Twitter",website:"Lenke til din personlige nettside eller et annet sted (valgfritt)"},errors:{required:"Påkrevd",website:"Angi en gyldig nettadresse"},noteDescription:"Send inn biblioteket ditt som skal inkluderes i <link>kildekode for offentlig bibliotek</link>for andre å bruke dem i tegninger.",noteGuidelines:"Biblioteket må godkjennes manuelt først. Les <link>retningslinjene</link> før innsending. Du vil trenge en GitHub-konto for å kommunisere og gjøre endringer hvis ønsket, men det er ikke påkrevd.",noteLicense:"Ved å sende inn godtar du at biblioteket blir publisert under <link>MIT-lisens, </link>som kortfattet betyr at andre kan bruke dem uten begrensninger.",noteItems:"Hvert bibliotek må ha sitt eget navn, så det er filtrerbart. Følgende bibliotekselementer vil bli inkludert:",atleastOneLibItem:"Vennligst velg minst ett bibliotek for å komme i gang",republishWarning:"Merk: noen av de valgte elementene er merket som allerede publisert/sendt. Du bør kun sende inn elementer på nytt når du oppdaterer et eksisterende bibliotek eller innlevering."},Piu={title:"Bibliotek innsendt",content:"Takk {{authorName}}. Ditt bibliotek har blitt sendt inn for gjennomgang. Du kan spore statusen<link>her</link>"},jiu={resetLibrary:"Nullstill bibliotek",removeItemsFromLib:"Fjern valgte elementer fra bibliotek"},Niu={header:"Eksporter bilde",label:{withBackground:"Bakgrunn",onlySelected:"Kun valgte",darkMode:"Mørk modus",embedScene:"Bygg inn scene",scale:"Skalering",padding:"Avstand"},tooltip:{embedScene:`Scenedata vil bli lagret i den eksporterte PNG/SVG-filen, slik at scenen kan gjenopprettes fra den.
Det vil øke den eksporterte filstørrelsen.`},title:{exportToPng:"Eksporter til PNG",exportToSvg:"Eksporter til SVG",copyPngToClipboard:"Kopier PNG til utklippstavlen"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Kopier til utklippstavle"}},Viu={tooltip:"Dine tegninger er ende-til-ende-krypterte slik at Excalidraw sine servere aldri vil se dem.",link:"Blogginnlegg om ende-til-ende-kryptering i Excalidraw"},hiu={angle:"Vinkel",element:"Element",elements:"Elementer",height:"Høyde",scene:"Scene",selected:"Valgt",storage:"Lagring",title:"Statistikk for nerder",total:"Totalt",version:"Versjon",versionCopy:"Klikk for å kopiere",versionNotAvailable:"Versjon ikke tilgjengelig",width:"Bredde"},iiu={addedToLibrary:"Lagt til i biblioteket",copyStyles:"Kopierte stiler.",copyToClipboard:"Kopiert til utklippstavlen.",copyToClipboardAsPng:`Kopierte {{exportSelection}} til utklippstavlen som PNG
({{exportColorScheme}})`,fileSaved:"Fil lagret.",fileSavedToFilename:"Lagret til {filename}",canvas:"lerret",selection:"utvalg",pasteAsSingleElement:`Bruk {{shortcut}} for å lime inn som ett enkelt element,
eller lim inn i en eksisterende tekstbehandler`,unableToEmbed:"Innbygging av denne nettadressen er ikke tillatt. Oppret en sak på GitHub for å be om url-hvitelisting",unrecognizedLinkFormat:'Linken du bygget inn samsvarer ikke med det forventede formatet. Prøv å lime inn "bygg inn"-strengen fra kildesiden'},aiu={transparent:"Gjennomsiktig",black:"Svart",white:"Hvit",red:"Rød",pink:"Rosa",grape:"Drue",violet:"Fiolett",gray:"Grå",blue:"Blå",cyan:"Turkis",teal:"Blågrønn",green:"Grønn",yellow:"Gul",orange:"Oransje",bronze:"Bronse"},miu={app:{center_heading:"Alle dine data lagres lokalt i din nettleser.",center_heading_plus:"Ønsker du å gå til Excalidraw+ i stedet?",menuHint:"Eksporter, innstillinger, språk, ..."},defaults:{menuHint:"Eksporter, innstillinger og mer...",center_heading:"Diagrammer. Gjort. Enkelt.",toolbarHint:"Velg et verktøy og start å tegne!",helpHint:"Snarveier & hjelp"}},$iu={mostUsedCustomColors:"Mest brukte egendefinerte farger",colors:"Farger",shades:"Toner",hexCode:"Heksadesimal kode",noShades:"Ingen toner tilgjengelig for denne fargen"},yiu={action:{exportToImage:{title:"Eksporter som bilde",button:"Eksporter som bilde",description:"Eksporter scene-dataene til en fil som du kan importere fra senere."},saveToDisk:{title:"Lagre til disk",button:"Lagre til disk",description:"Eksporter scene-dataene til en fil som du kan importere fra senere."},excalidrawPlus:{title:"Excalidraw+",button:"Eksporter til Excalidraw+",description:"Lagre scenen til ditt Excalidraw+-arbeidsområde."}},modal:{loadFromFile:{title:"Last inn fra fil",button:"Last inn fra fil",description:"Å laste fra en fil vil <bold>erstatte ditt eksisterende innhold</bold>.<br></br>Du kan sikkerhetskopiere tegningen din først ved å bruke en av valgene under."},shareableLink:{title:"Last inn fra lenke",button:"Erstatt innholdet mitt",description:"Lasting av ekstern tegning vil <bold>erstatte ditt eksisterende innhold</bold>.<br></br>Du kan sikkerhetskopiere tegningen din først ved å bruke en av valgene nedenfor."}}},riu={title:"",button:"",description:"",syntax:"",preview:""},Qf3={labels:Qiu,library:Giu,buttons:Hiu,alerts:qiu,errors:liu,toolBar:Liu,headings:Xiu,hints:viu,canvasError:xiu,errorSplash:Wiu,roomDialog:Siu,errorDialog:Yiu,exportDialog:Riu,helpDialog:Tiu,clearCanvasDialog:Oiu,publishDialog:Iiu,publishSuccessDialog:Piu,confirmDialog:jiu,imageExportDialog:Niu,encrypted:Viu,stats:hiu,toast:iiu,colors:aiu,welcomeScreen:miu,colorPicker:$iu,overwriteConfirm:yiu,mermaid:riu}});var Hau={};ju(Hau,{welcomeScreen:()=>Kau,toolBar:()=>oiu,toast:()=>Zau,stats:()=>bau,roomDialog:()=>Eau,publishSuccessDialog:()=>zau,publishDialog:()=>Uau,overwriteConfirm:()=>Qau,mermaid:()=>Gau,library:()=>piu,labels:()=>_iu,imageExportDialog:()=>fau,hints:()=>eiu,helpDialog:()=>Dau,headings:()=>tiu,exportDialog:()=>Cau,errors:()=>siu,errorSplash:()=>Bau,errorDialog:()=>Aau,encrypted:()=>Mau,default:()=>Gf3,confirmDialog:()=>kau,colors:()=>Jau,colorPicker:()=>wau,clearCanvasDialog:()=>Fau,canvasError:()=>uau,buttons:()=>niu,alerts:()=>diu});var _iu,piu,niu,diu,siu,oiu,tiu,eiu,uau,Bau,Eau,Aau,Cau,Dau,Fau,Uau,zau,kau,fau,Mau,bau,Zau,Jau,Kau,wau,Qau,Gau,Gf3;var qau=g(()=>{m4();_iu={paste:"Plakken",pasteAsPlaintext:"Plakken als platte tekst",pasteCharts:"Plak grafieken",selectAll:"Alles selecteren",multiSelect:"Voeg element toe aan selectie",moveCanvas:"Canvas verplaatsen",cut:"Knip",copy:"Kopiëren",copyAsPng:"Kopieer als PNG",copyAsSvg:"Kopieer naar klembord als SVG",copyText:"Kopieer naar klembord als tekst",copySource:"",convertToCode:"",bringForward:"Breng naar voren",sendToBack:"Stuur naar achtergrond",bringToFront:"Breng naar voorgrond",sendBackward:"Breng naar achter",delete:"Verwijderen",copyStyles:"Kopieer opmaak",pasteStyles:"Plak opmaak",stroke:"Lijn",background:"Achtergrond",fill:"Invulling",strokeWidth:"Lijnbreedte",strokeStyle:"Lijnstijl",strokeStyle_solid:"Ononderbroken",strokeStyle_dashed:"Gestreept",strokeStyle_dotted:"Gestippeld",sloppiness:"Slordigheid",opacity:"Doorzichtigheid",textAlign:"Uitlijning",edges:"Randen",sharp:"Hoekig",round:"Rond",arrowheads:"Pijlpunten",arrowhead_none:"Geen",arrowhead_arrow:"Pijl",arrowhead_bar:"Balk",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Driehoek",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Tekstgrootte",fontFamily:"Lettertype",addWatermark:'Voeg "Gemaakt met Excalidraw" toe',handDrawn:"Handgetekend",normal:"Normaal",code:"Code",small:"Klein",medium:"Medium",large:"Groot",veryLarge:"Zeer groot",solid:"Ingekleurd",hachure:"Arcering",zigzag:"",crossHatch:"Tweemaal gearceerd",thin:"Dun",bold:"Vet",left:"Links",center:"Midden",right:"Rechts",extraBold:"Zwaar",architect:"Architect",artist:"Artiest",cartoonist:"Cartoonist",fileTitle:"Bestandsnaam",colorPicker:"Kleurenkiezer",canvasColors:"Gebruikt op canvas",canvasBackground:"Canvas achtergrond",drawingCanvas:"Canvas",layers:"Lagen",actions:"Acties",language:"Taal",liveCollaboration:"Live Samenwerking...",duplicateSelection:"Dupliceer",untitled:"Naamloos",name:"Naam",yourName:"Jouw naam",madeWithExcalidraw:"Gemaakt met Excalidraw",group:"Groeperen",ungroup:"Groep opheffen",collaborators:"Deelnemers",showGrid:"Raster weergeven",addToLibrary:"Voeg toe aan bibliotheek",removeFromLibrary:"Verwijder uit bibliotheek",libraryLoadingMessage:"Bibliotheek laden…",libraries:"Blader door bibliotheken",loadingScene:"Scène laden…",align:"Uitlijnen",alignTop:"Boven uitlijnen",alignBottom:"Onder uitlijnen",alignLeft:"Links uitlijnen",alignRight:"Rechts uitlijnen",centerVertically:"Verticaal Centreren",centerHorizontally:"Horizontaal Centreren",distributeHorizontally:"Horizontaal verspreiden",distributeVertically:"Verticaal distribueren",flipHorizontal:"Horizontaal spiegelen",flipVertical:"Verticaal spiegelen",viewMode:"Weergavemodus",share:"Deel",showStroke:"Toon lijn kleur kiezer",showBackground:"Toon achtergrondkleur kiezer",toggleTheme:"Thema aan/uit",personalLib:"Persoonlijke bibliotheek",excalidrawLib:"Excalidraw bibliotheek",decreaseFontSize:"Letters verkleinen",increaseFontSize:"Letters vergroten",unbindText:"Ontkoppel tekst",bindText:"Koppel tekst aan de container",createContainerFromText:"",link:{edit:"Wijzig link",editEmbed:"Link bewerken & insluiten",create:"Maak link",createEmbed:"Link maken en insluiten",label:"Link",labelEmbed:"Link toevoegen & insluiten",empty:"Er is geen link ingesteld"},lineEditor:{edit:"Bewerk regel",exit:"Verlaat regel-editor"},elementLock:{lock:"Vergrendel",unlock:"Ontgrendel",lockAll:"Vergrendel alles",unlockAll:"Ontgrendel alles"},statusPublished:"Gepubliceerd",sidebarLock:"Zijbalk open houden",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},piu={noItems:"Nog geen items toegevoegd...",hint_emptyLibrary:"Selecteer een item op het canvas om het hier toe te voegen of installeer een bibliotheek uit de openbare repository, hieronder.",hint_emptyPrivateLibrary:"Selecteer een item op het canvas om het hier toe te voegen."},niu={clearReset:"Canvas opnieuw instellen",exportJSON:"Exporteren naar bestand",exportImage:"Exporteer afbeelding...",export:"Sla op...",copyToClipboard:"Kopieer",save:"Opslaan naar huidige bestand",saveAs:"Opslaan als",load:"Open",getShareableLink:"Maak een deelbare link",close:"Sluiten",selectLanguage:"Taal selecteren",scrollBackToContent:"Scroll terug naar inhoud",zoomIn:"Inzoomen",zoomOut:"Uitzoomen",resetZoom:"Zoom terugzetten",menu:"Menu",done:"Klaar",edit:"Bewerken",undo:"Ongedaan maken",redo:"Herstel ongedaan maken",resetLibrary:"Bibliotheek Resetten",createNewRoom:"Creëer live-samenwerkingssessie",fullScreen:"Volledig scherm",darkMode:"Donkere modus",lightMode:"Lichte modus",zenMode:"Zen modus",objectsSnapMode:"",exitZenMode:"Verlaat zen modus",cancel:"Annuleren",clear:"Wissen",remove:"Verwijderen",embed:"Insluiten in-/uitschakelen",publishLibrary:"Publiceren",submit:"Versturen",confirm:"Bevestigen",embeddableInteractionButton:"Klik voor interactie"},diu={clearReset:"Dit zal het hele canvas verwijderen. Weet je het zeker?",couldNotCreateShareableLink:"Kon geen deelbare link aanmaken.",couldNotCreateShareableLinkTooBig:"Kan geen deelbare link aanmaken: de scène is te groot",couldNotLoadInvalidFile:"Kan ongeldig bestand niet laden",importBackendFailed:"Importeren vanuit backend mislukt.",cannotExportEmptyCanvas:"Kan geen leeg canvas exporteren.",couldNotCopyToClipboard:"Kon niet naar klembord kopiëren.",decryptFailed:"Kan gegevens niet decoderen.",uploadedSecurly:"De upload is beveiligd met end-to-end encryptie, wat betekent dat de Excalidraw server en derden de inhoud niet kunnen lezen.",loadSceneOverridePrompt:"Het inladen van een externe tekening zal je bestaande inhoud vervangen. Wil je verdergaan?",collabStopOverridePrompt:`Wanneer de sessie wordt gestopt, overschrijft u de eerdere, lokaal opgeslagen tekening. Weet je het zeker?
(Als je de lokale tekening wilt behouden, sluit je in plaats daarvan het browsertabblad)`,errorAddingToLibrary:"Kan item niet toevoegen aan de bibliotheek",errorRemovingFromLibrary:"Kan item niet uit de bibliotheek verwijderen",confirmAddLibrary:"Dit zal {{numShapes}} vorm(en) toevoegen aan je bibliotheek. Weet je het zeker?",imageDoesNotContainScene:"Deze afbeelding lijkt geen scène gegevens te bevatten. Heb je scène embedding tijdens het exporteren ingeschakeld?",cannotRestoreFromImage:"Scène kan niet worden hersteld vanuit dit afbeeldingsbestand",invalidSceneUrl:"Kan scène niet importeren vanuit de opgegeven URL. Het is onjuist of bevat geen geldige Excalidraw JSON-gegevens.",resetLibrary:"Dit zal je bibliotheek wissen. Weet je het zeker?",removeItemsFromsLibrary:"Verwijder {{count}} item(s) uit bibliotheek?",invalidEncryptionKey:"Encryptiesleutel moet 22 tekens zijn. Live samenwerking is uitgeschakeld.",collabOfflineWarning:`Geen internetverbinding beschikbaar.
Je wijzigingen worden niet opgeslagen!`},siu={unsupportedFileType:"Niet-ondersteund bestandstype.",imageInsertError:"Afbeelding invoegen mislukt. Probeer het later opnieuw...",fileTooBig:"Bestand is te groot. Maximale grootte is {{maxSize}}.",svgImageInsertError:"Kon geen SVG-afbeelding invoegen. De SVG-opmaak ziet er niet geldig uit.",failedToFetchImage:"",invalidSVGString:"Ongeldige SVG.",cannotResolveCollabServer:"Kan geen verbinding maken met de collab server. Herlaad de pagina en probeer het opnieuw.",importLibraryError:"Kon bibliotheek niet laden",collabSaveFailed:"Kan niet opslaan in de backend database. Als de problemen blijven bestaan, moet u het bestand lokaal opslaan om ervoor te zorgen dat u uw werk niet verliest.",collabSaveFailed_sizeExceeded:"Kan de backend database niet opslaan, het canvas lijkt te groot te zijn. U moet het bestand lokaal opslaan om ervoor te zorgen dat u uw werk niet verliest.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"Ingesloten elementen kunnen niet worden toegevoegd aan de bibliotheek.",iframe:"",image:"Ondersteuning voor het toevoegen van afbeeldingen aan de bibliotheek komt binnenkort!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},oiu={selection:"Selectie",image:"Voeg afbeelding in",rectangle:"Rechthoek",diamond:"Ruit",ellipse:"Ovaal",arrow:"Pijl",line:"Lijn",freedraw:"Teken",text:"Tekst",library:"Bibliotheek",lock:"Geselecteerde tool actief houden na tekenen",penMode:"Pen modus - Blokkeer aanraken",link:"Link toevoegen / bijwerken voor een geselecteerde vorm",eraser:"Gum",frame:"",magicframe:"",embeddable:"Web insluiten",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},tiu={canvasActions:"Canvasacties",selectedShapeActions:"Acties van geselecteerde vorm",shapes:"Vormen"},eiu={canvasPanning:"Om de canvas te verplaatsen, houd muiswiel of spatiebalk ingedrukt tijdens slepen, of gebruik het handgereedschap",linearElement:"Klik om meerdere punten te starten, sleep voor één lijn",freeDraw:"Klik en sleep, laat los als je klaar bent",text:"Tip: je kunt tekst toevoegen door ergens dubbel te klikken met de selectietool",embeddable:"Klink-sleep om een website-insluiting te maken",text_selected:"Dubbelklik of druk op ENTER om tekst te bewerken",text_editing:"Druk op Escape of CtrlOrCmd+ENTER om het bewerken te voltooien",linearElementMulti:"Klik op het laatste punt of druk op Escape of Enter om te stoppen",lockAngle:"Je kunt de hoek beperken door SHIFT ingedrukt te houden",resize:`Houd tijdens het vergroten SHIFT ingedrukt om verhoudingen te behouden,
gebruik ALT om vanuit het midden te vergroten/verkleinen`,resizeImage:"",rotate:"Je kan hoeken beperken door SHIFT ingedrukt te houden wanneer je draait",lineEditor_info:"Houd CtrlOrCmd en Dubbelklik of druk op CtrlOrCmd + Enter om punten te bewerken",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"Publiceer je eigen bibliotheek",bindTextToElement:"Druk op enter om tekst toe te voegen",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},uau={cannotShowPreview:"Kan voorbeeld niet tonen",canvasTooBig:"Het canvas is mogelijk te groot.",canvasTooBigTip:"Tip: beweeg de verste elementen iets dichter bij elkaar."},Bau={headingMain:"Fout opgetreden. Probeer <button>de pagina opnieuw laden.</button>",clearCanvasMessage:"Als herladen niet werkt, probeer <button>het canvas te wissen.</button>",clearCanvasCaveat:" Dit zal leiden tot verlies van je werk ",trackedToSentry:"De fout met ID {{eventId}} was gevolgd op ons systeem.",openIssueMessage:"We waren voorzichtig om je scène-informatie niet in de fout toe te voegen. Als je scène niet privé is, overweeg dan alstublieft het opvolgen op onze <button>bugtracker.</button> Kopieer de informatie hieronder naar de GitHub issue.",sceneContent:"Scène-inhoud:"},Eau={desc_intro:"Je kunt mensen uitnodigen om met je samen te werken.",desc_privacy:"Geen zorgen, de sessie gebruikt end-to-end encryptie, dus wat je tekent blijft privé. Zelfs onze server zal niet kunnen zien wat je tekent.",button_startSession:"Start sessie",button_stopSession:"Stop sessie",desc_inProgressIntro:"De live-samenwerkingssessie is nu gestart.",desc_shareLink:"Deel deze link met iedereen waarmee je wil samenwerken:",desc_exitSession:`Het stoppen van de sessie zal je loskoppelen van de kamer, maar je kunt lokaal doorwerken met de scène.
Pas op: dit heeft geen invloed op andere mensen en dat zij nog steeds in staat zullen zijn om samen te werken aan hun versie.`,shareTitle:"Neem deel aan een live samenwerkingssessie op Excalidraw"},Aau={title:"Fout"},Cau={disk_title:"Opslaan op schijf",disk_details:"De scènegegevens exporteren naar een bestand waaruit u later kunt importeren.",disk_button:"Opslaan naar bestand",link_title:"Deelbare link",link_details:"Exporteren als een alleen-lezen link.",link_button:"Exporteer naar link",excalidrawplus_description:"Sla de scène op in je Excalidraw+ werkruimte.",excalidrawplus_button:"Exporteer",excalidrawplus_exportError:"Kan op dit moment niet exporteren naar Excalidraw+..."},Dau={blog:"Lees onze blog",click:"klik",deepSelect:"Deep selecteer",deepBoxSelect:"",curvedArrow:"Gebogen pijl",curvedLine:"Kromme lijn",documentation:"Documentatie",doubleClick:"dubbelklikken",drag:"slepen",editor:"Editor",editLineArrowPoints:"",editText:"",github:"Probleem gevonden? Verzenden",howto:"Volg onze handleidingen",or:"of",preventBinding:"Pijlbinding voorkomen",tools:"Tools",shortcuts:"Sneltoetsen",textFinish:"Voltooi het bewerken (teksteditor)",textNewLine:"Nieuwe regel toevoegen (teksteditor)",title:"Help",view:"Weergave",zoomToFit:"Zoom in op alle elementen",zoomToSelection:"Inzoomen op selectie",toggleElementLock:"",movePageUpDown:"Pagina omhoog/omlaag",movePageLeftRight:"Verplaats pagina links/rechts"},Fau={title:"Wis canvas"},Uau={title:"Publiceer bibliotheek",itemName:"Itemnaam",authorName:"Naam auteur",githubUsername:"GitHub gebruikersnaam",twitterUsername:"Twitter gebruikersnaam",libraryName:"Naam bibliotheek",libraryDesc:"Beschrijving van de bibliotheek",website:"Website",placeholder:{authorName:"Je naam of gebruikersnaam",libraryName:"Naam van je bibliotheek",libraryDesc:"Beschrijving van je bibliotheek om mensen te helpen het gebruik ervan te begrijpen",githubHandle:"",twitterHandle:"",website:"Link naar je persoonlijke website of elders (optioneel)"},errors:{required:"Vereist",website:"Vul een geldige URL in"},noteDescription:"<link>openbare repository</link>",noteGuidelines:"<link>richtlijnen</link>",noteLicense:"<link>MIT-licentie, </link>",noteItems:"",atleastOneLibItem:"",republishWarning:""},zau={title:"Bibliotheek ingediend",content:"<link>Hier</link>"},kau={resetLibrary:"Reset bibliotheek",removeItemsFromLib:"Verwijder geselecteerde items uit bibliotheek"},fau={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},Mau={tooltip:"Je tekeningen zijn beveiligd met end-to-end encryptie, dus Excalidraw's servers zullen nooit zien wat je tekent.",link:"Blog post over end-to-end versleuteling in Excalidraw"},bau={angle:"Hoek",element:"Element",elements:"Elementen",height:"Hoogte",scene:"Scene",selected:"Geselecteerd",storage:"Opslag",title:"Statistieken voor nerds",total:"Totaal",version:"Versie",versionCopy:"Klik om te kopiëren",versionNotAvailable:"Versie niet beschikbaar",width:"Breedte"},Zau={addedToLibrary:"Toegevoegd aan bibliotheek",copyStyles:"Stijlen gekopieerd.",copyToClipboard:"Gekopieerd naar het klembord.",copyToClipboardAsPng:`{{exportSelection}} naar klembord gekopieerd als PNG
({{exportColorScheme}})`,fileSaved:"Bestand opgeslagen.",fileSavedToFilename:"Opgeslagen als {filename}",canvas:"canvas",selection:"selectie",pasteAsSingleElement:`Gebruik {{shortcut}} om te plakken als een enkel element,
of plak in een bestaande teksteditor`,unableToEmbed:"Het insluiten van deze url is momenteel niet toegestaan. Zet een probleem op GitHub om de URL op de whitelist te zetten",unrecognizedLinkFormat:"De link die u hebt ingesloten komt niet overeen met het verwachte formaat. Probeer de 'embed' string van de bronsite te plakken"},Jau={transparent:"Transparant",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},Kau={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"Exporteren, voorkeuren en meer...",center_heading:"Diagrammen. Eenvoudig. Gemaakt.",toolbarHint:"Kies een tool & begin met tekenen!",helpHint:"Snelkoppelingen en hulp"}},wau={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},Qau={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Gau={title:"",button:"",description:"",syntax:"",preview:""},Gf3={labels:_iu,library:piu,buttons:niu,alerts:diu,errors:siu,toolBar:oiu,headings:tiu,hints:eiu,canvasError:uau,errorSplash:Bau,roomDialog:Eau,errorDialog:Aau,exportDialog:Cau,helpDialog:Dau,clearCanvasDialog:Fau,publishDialog:Uau,publishSuccessDialog:zau,confirmDialog:kau,imageExportDialog:fau,encrypted:Mau,stats:bau,toast:Zau,colors:Jau,welcomeScreen:Kau,colorPicker:wau,overwriteConfirm:Qau,mermaid:Gau}});var nau={};ju(nau,{welcomeScreen:()=>gau,toolBar:()=>Wau,toast:()=>yau,stats:()=>$au,roomDialog:()=>Oau,publishSuccessDialog:()=>hau,publishDialog:()=>Vau,overwriteConfirm:()=>_au,mermaid:()=>pau,library:()=>Lau,labels:()=>lau,imageExportDialog:()=>aau,hints:()=>Yau,helpDialog:()=>jau,headings:()=>Sau,exportDialog:()=>Pau,errors:()=>xau,errorSplash:()=>Tau,errorDialog:()=>Iau,encrypted:()=>mau,default:()=>Hf3,confirmDialog:()=>iau,colors:()=>rau,colorPicker:()=>cau,clearCanvasDialog:()=>Nau,canvasError:()=>Rau,buttons:()=>Xau,alerts:()=>vau});var lau,Lau,Xau,vau,xau,Wau,Sau,Yau,Rau,Tau,Oau,Iau,Pau,jau,Nau,Vau,hau,iau,aau,mau,$au,yau,rau,gau,cau,_au,pau,Hf3;var dau=g(()=>{m4();lau={paste:"Lim inn",pasteAsPlaintext:"",pasteCharts:"Lim inn diagram",selectAll:"Vel alt",multiSelect:"Legg til element i utval",moveCanvas:"Flytt lerretet",cut:"Klipp ut",copy:"Kopier",copyAsPng:"Kopier til utklippstavla som PNG",copyAsSvg:"Kopier til utklippstavla som SVG",copyText:"",copySource:"",convertToCode:"",bringForward:"Flytt framover",sendToBack:"Send heilt bak",bringToFront:"Flytt heilt fram",sendBackward:"Send bakover",delete:"Slett",copyStyles:"Kopier stilar",pasteStyles:"Lim inn stilar",stroke:"Strek",background:"Bakgrunn",fill:"Fyll",strokeWidth:"Strekbreidd",strokeStyle:"Strekstil",strokeStyle_solid:"Solid",strokeStyle_dashed:"Stipla",strokeStyle_dotted:"Prikka",sloppiness:"Ujamnheit",opacity:"Synlegheit",textAlign:"Tekstjustering",edges:"Kanter",sharp:"Skarp",round:"Rund",arrowheads:"Pilhovud",arrowhead_none:"Ingen",arrowhead_arrow:"Pil",arrowhead_bar:"Stolpe",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Trekant",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Skriftstorleik",fontFamily:"Skrifttype",addWatermark:"Legg til «Laga med Excalidraw»",handDrawn:"Handteikna",normal:"Normal",code:"Kode",small:"Liten",medium:"Medium",large:"Stor",veryLarge:"Svært stor",solid:"Solid",hachure:"Skravert",zigzag:"",crossHatch:"Krysskravert",thin:"Tynn",bold:"Tjukk",left:"Venstre",center:"Midstill",right:"Høgre",extraBold:"Ekstra tjukk",architect:"Arkitekt",artist:"Kunstnar",cartoonist:"Teiknar",fileTitle:"Filnamn",colorPicker:"Fargeveljar",canvasColors:"Brukt på lerretet",canvasBackground:"Lerretsbakgrunn",drawingCanvas:"Lerret",layers:"Lag",actions:"Handlingar",language:"Språk",liveCollaboration:"",duplicateSelection:"Dupliser",untitled:"Utan namn",name:"Namn",yourName:"Namnet ditt",madeWithExcalidraw:"Laga med Excalidraw",group:"Grupper utval",ungroup:"Avgrupper utval",collaborators:"Samarbeidarar",showGrid:"Vis rutenett",addToLibrary:"Legg til i bibliotek",removeFromLibrary:"Fjern frå bibliotek",libraryLoadingMessage:"Laster bibliotek…",libraries:"Blad gjennom bibliotek",loadingScene:"Laster scene…",align:"Juster",alignTop:"Juster til topp",alignBottom:"Juster til botn",alignLeft:"Juster til venstre",alignRight:"Juster til høgre",centerVertically:"Midtstill vertikalt",centerHorizontally:"Midtstill horisontalt",distributeHorizontally:"Sprei horisontalt",distributeVertically:"Sprei vertikalt",flipHorizontal:"Vipp vassrett",flipVertical:"Vipp loddrett",viewMode:"Visningsmodus",share:"Del",showStroke:"Vis fargeveljar for linjer",showBackground:"Vis fargeveljar for bakgrunn",toggleTheme:"Veksle tema",personalLib:"Personleg bibliotek",excalidrawLib:"Excalidraw-bibliotek",decreaseFontSize:"Gjer skriftstorleik mindre",increaseFontSize:"Gjer skriftstorleik større",unbindText:"Avbind tekst",bindText:"",createContainerFromText:"",link:{edit:"Rediger lenke",editEmbed:"",create:"Lag lenke",createEmbed:"",label:"Lenke",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},Lau={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},Xau={clearReset:"Tilbakestill lerretet",exportJSON:"Eksporter til fil",exportImage:"",export:"",copyToClipboard:"Kopier til utklippstavla",save:"Lagre til noverande fil",saveAs:"Lagre som",load:"",getShareableLink:"Hent delingslenke",close:"Lukk",selectLanguage:"Vel språk",scrollBackToContent:"Skroll tilbake til innhald",zoomIn:"Zoom inn",zoomOut:"Zoom ut",resetZoom:"Nullstill zoom",menu:"Meny",done:"Ferdig",edit:"Rediger",undo:"Angre",redo:"Gjer om",resetLibrary:"Nullstill bibliotek",createNewRoom:"Lag nytt rom",fullScreen:"Fullskjerm",darkMode:"Mørk modus",lightMode:"Lys modus",zenMode:"Zen-modus",objectsSnapMode:"",exitZenMode:"Avslutt zen-modus",cancel:"Avbryt",clear:"Tøm",remove:"Fjern",embed:"",publishLibrary:"Publiser",submit:"Send inn",confirm:"Stadfest",embeddableInteractionButton:""},vau={clearReset:"Dette vil tømme lerretet. Er du sikker?",couldNotCreateShareableLink:"Kunne ikkje lage delingslenke.",couldNotCreateShareableLinkTooBig:"Kunne ikkje opprette deleleg lenke: scena er for stor",couldNotLoadInvalidFile:"Kunne ikkje laste inn ugyldig fil",importBackendFailed:"Importering av backend feila.",cannotExportEmptyCanvas:"Kan ikkje eksportere eit tomt lerret.",couldNotCopyToClipboard:"",decryptFailed:"Kunne ikkje dekryptere data.",uploadedSecurly:"Opplastinga er kryptert og er ikkje mogleg å lese av Excalidraw-serveren eller tredjepartar.",loadSceneOverridePrompt:"Innlasting av ekstern teikning erstattar ditt eksisterande innhald. Ynskjer du å fortsette?",collabStopOverridePrompt:`Viss du avsluttar økta overskriv du den førre, lokalt lagra teikninga di. Er du sikker?
(Ønsker du å halde fram med denne? Då er det berre å lukke denne fana.)`,errorAddingToLibrary:"Kunne ikkje legge elementet i biblioteket",errorRemovingFromLibrary:"Kunne ikkje fjerne elementet frå biblioteket",confirmAddLibrary:"Dette vil legge til {{numShapes}} form(er) i biblioteket ditt. Er du sikker?",imageDoesNotContainScene:"Dette biletet ser ikkje ut til å ha noko scenedata. Har du skrutt på innbygging av scene medan eksporteringa heldt på?",cannotRestoreFromImage:"Scena kunne ikkje gjenopprettast frå denne biletfila",invalidSceneUrl:"Kunne ikkje hente noko scene frå den URL-en. Ho er anten øydelagd eller inneheld ikkje gyldig Excalidraw JSON-data.",resetLibrary:"Dette vil fjerne alt innhald frå biblioteket. Er du sikker?",removeItemsFromsLibrary:"Slette {{count}} element frå biblioteket?",invalidEncryptionKey:"Krypteringsnøkkelen må ha 22 teikn. Sanntidssamarbeid er deaktivert.",collabOfflineWarning:""},xau={unsupportedFileType:"Filtypen er ikkje støtta.",imageInsertError:"Kunne ikkje sette inn biletet. Prøv igjen seinare...",fileTooBig:"Fila er for stor. Maksimal tillate storleik er {{maxSize}}.",svgImageInsertError:"Kunne ikkje sette inn SVG-biletet. SVG-koden ser ugyldig ut.",failedToFetchImage:"",invalidSVGString:"Ugyldig SVG.",cannotResolveCollabServer:"Kunne ikkje kople til samarbeidsserveren. Ver vennleg å oppdatere inn sida og prøv på nytt.",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Wau={selection:"Vel",image:"Sett in bilete",rectangle:"Rektangel",diamond:"Diamant",ellipse:"Ellipse",arrow:"Pil",line:"Linje",freedraw:"Teikn",text:"Tekst",library:"Bibliotek",lock:"Hald fram med valt verktøy",penMode:"",link:"Legg til/ oppdater lenke til valt figur",eraser:"Viskelêr",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},Sau={canvasActions:"Handlingar: lerret",selectedShapeActions:"Handlingar: valt objekt",shapes:"Formar"},Yau={canvasPanning:"",linearElement:"Klikk for å starte linje med fleire punkt, eller drag for ei enkel linje",freeDraw:"Klikk og drag, slepp når du er ferdig",text:"Tips: du kan òg leggje til tekst ved å dobbeltklikke kor som helst med utvalgsverktyet",embeddable:"",text_selected:"Dobbelklikk eller trykk ENTER for å redigere teksta",text_editing:"Trykk Escape eller CtrlOrCmd+ENTER for å fullføre redigeringa",linearElementMulti:"Klikk på siste punkt eller trykk Escape eller Enter for å fullføre",lockAngle:"Du kan begrense vinkelen ved å holde nede SKIFT",resize:`Du kan halde fram med forholdet ved å trykke SHIFT medan du endrar storleik,
trykk ALT for å endre storleiken frå midten`,resizeImage:`Du kan endre storleiken fritt ved å halde inne SHIFT,
hald ALT for å endre storleik frå sentrum`,rotate:"Du kan låse vinklane ved å halde SHIFT medan du roterer",lineEditor_info:"",lineEditor_pointSelected:`Trykk på Slett for å fjerne punkt(a),
Ctrl / Cmd+D for å duplisere, eller drag for å flytte`,lineEditor_nothingSelected:`Vel eit punkt å redigere (hald inne SHIFT for å velje fleire),
eller hald inne Alt og klikk for å legge til nye punkt`,placeImage:"Klikk for å plassere biletet, eller klikk og drag for å velje storleik manuelt",publishLibrary:"Publiser ditt eige bibliotek",bindTextToElement:"Trykk på enter for å legge til tekst",deepBoxSelect:"Hald inne Ctrl / Cmd for å velje djupt, og forhindre flytting",eraserRevert:"Hald inne Alt for å reversere markering av element for sletting",firefox_clipboard_write:"",disableSnapping:""},Rau={cannotShowPreview:"Kan ikkje vise førehandsvising",canvasTooBig:"Lerretet er mogleg for stort.",canvasTooBigTip:"Tips: prøv å flytte elementa som er lengst frå kvarandre, litt nærare kvarandre."},Tau={headingMain:"Ein feil oppstod. Prøv <button>å laste sida på nytt.</button>",clearCanvasMessage:"Om ny sidelasting ikkje fungerer, prøv <button>å tømme lerretet.</button>",clearCanvasCaveat:" Dette vil føre til tap av arbeid ",trackedToSentry:"Feilen med identifikator {{eventId}} vart logga i systemet vårt.",openIssueMessage:"Vi er veldig nøye med å ikkje inkludere scene-opplysingane dine i feilmeldinga. Viss scena di ikkje er privat kan du vurdere å følge opp i <button>feilrapporteringssystemet vårt.</button> Ta med opplysingane nedanfor ved å kopiere og lime inn i GitHub-saka.",sceneContent:"Scene-innhald:"},Oau={desc_intro:"Du kan invitere personar til scena di for å samarbeide med deg.",desc_privacy:"Ta det med ro; økta brukar ende-til-ende-kryptering, så alt du teiknar held fram med å vere privat. Ikkje ein gong serveren vår kan sjå kva du lagar.",button_startSession:"Start økt",button_stopSession:"Stopp økt",desc_inProgressIntro:"Sanntids-samarbeidsøkt er no i gang.",desc_shareLink:"Del denne lenka med dei du vil samarbeide med:",desc_exitSession:"Dersom du avsluttar økta blir du kopla frå rommet, men du kan halde fram med å arbeide med scena lokalt. Ver merksam på at dette ikkje vil påverke andre personar, og desse vil framleis ha moglegheit til å samarbeide på deira eigen versjon.",shareTitle:"Bli med på eit sanntidssamarbeid på Excalidraw"},Iau={title:"Feil"},Pau={disk_title:"Lagre til disk",disk_details:"Eksporter scenedataa til ei fil du kan importere seinare.",disk_button:"Lagre til fil",link_title:"Deleleg lenke",link_details:"Eksporter som skrivebeskytta lenke.",link_button:"Eksporter til lenke",excalidrawplus_description:"Lagre scena til Excalidraw+-arbeidsområdet ditt.",excalidrawplus_button:"Eksporter",excalidrawplus_exportError:"Kunne ikkje eksportere til Excalidraw+ akkurat no..."},jau={blog:"Les bloggen vår",click:"klikk",deepSelect:"Marker djupt",deepBoxSelect:"Marker djupt inni boksen og forhindr flytting",curvedArrow:"Boga pil",curvedLine:"Boga linje",documentation:"Dokumentasjon",doubleClick:"dobbelklikk",drag:"drag",editor:"Redigering",editLineArrowPoints:"",editText:"",github:"Funne eit problem? Send inn",howto:"Følg vegleiinga vår",or:"eller",preventBinding:"Hindre pilkopling",tools:"",shortcuts:"Tastatursnarvegar",textFinish:"Fullfør redigering (teksthandsamar)",textNewLine:"Legg til ny linje (teksthandsamar)",title:"Hjelp",view:"Vising",zoomToFit:"Zoom for å sjå alle elementa",zoomToSelection:"Zoom til utval",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},Nau={title:"Tøm lerretet"},Vau={title:"Publiser bibliotek",itemName:"Elementnamn",authorName:"Eigaren sitt namn",githubUsername:"GitHub-brukarnamn",twitterUsername:"Twitter-brukarnamn",libraryName:"Biblioteknamn",libraryDesc:"Bibliotekskildring",website:"Nettstad",placeholder:{authorName:"Namnet eller brukarnamnet ditt",libraryName:"Namnet på biblioteket ditt",libraryDesc:"Skildring av biblioteket ditt sånn at andre forstår bruken av det",githubHandle:"GitHub-brukarnamn (valfritt), slik at du kan redigere bibiloteket når det er sendt inn til vurdering",twitterHandle:"Twitter-brukarnamn (valfritt), så vi veit kven vi skal kreditere på Twitter",website:"Lenke til den personlege nettstaden din eller ein anna stad (valfritt)"},errors:{required:"Kravt",website:"Fyll inn ein gyldig URL"},noteDescription:"Send inn biblioteket ditt til inkludering i <link>den offentlege bibliotek-kjeldekoda</link>slik at andre kan bruke det i teikningane deira.",noteGuidelines:"Biblioteket må godkjennast manuelt fyrst. Ver vennleg å lese <link>retningslinjene</link> før du sender inn. Du kjem til å trenge ein GitHub-konto for å kommunisere og gjere endringar dersom kravt, men det er ikkje strengt naudsynt.",noteLicense:"Ved å sende inn godkjenner du at biblioteket vert publisert under <link>MIT-lisensen, </link>som kort sagt betyr at kven som helst kan bruke det utan avgrensingar.",noteItems:"Kvart bibliotekselement må ha eit eige namn, slik at det er mogleg å filtrere. Dei følgande bibliotekselementa blir inkludert:",atleastOneLibItem:"Ver vennleg å markere minst eitt bibliotekselement for å starte",republishWarning:""},hau={title:"Bibliotek innsendt",content:"Tusen takk {{authorName}}! Biblioteket ditt har blitt sendt inn til gjennomgang. Du kan halde styr på status<link>her</link>"},iau={resetLibrary:"Tilbakestill bibliotek",removeItemsFromLib:"Fjern valde element frå biblioteket"},aau={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},mau={tooltip:"Teikningane dine er ende-til-ende-krypterte slik at Excalidraw sine serverar aldri får sjå dei.",link:"Blogginnlegg om ende-til-ende-kryptering i Excalidraw"},$au={angle:"Vinkel",element:"Element",elements:"Element",height:"Høgde",scene:"Scene",selected:"Valde",storage:"Lagring",title:"Statistikk for nerdar",total:"Totalt",version:"Versjon",versionCopy:"Klikk for å kopiere",versionNotAvailable:"Versjonen er ikkje tilgjengeleg",width:"Breidde"},yau={addedToLibrary:"Lagt til i bibliotek",copyStyles:"Kopierte stilane.",copyToClipboard:"Kopiert til utklippstavla.",copyToClipboardAsPng:`Kopierte {{exportSelection}} til utklippstavla som PNG
({{exportColorScheme}})`,fileSaved:"Fila er lagra.",fileSavedToFilename:"Lagra som {filename}",canvas:"lerret",selection:"val",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},rau={transparent:"Gjennomsiktig",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},gau={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},cau={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},_au={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},pau={title:"",button:"",description:"",syntax:"",preview:""},Hf3={labels:lau,library:Lau,buttons:Xau,alerts:vau,errors:xau,toolBar:Wau,headings:Sau,hints:Yau,canvasError:Rau,errorSplash:Tau,roomDialog:Oau,errorDialog:Iau,exportDialog:Pau,helpDialog:jau,clearCanvasDialog:Nau,publishDialog:Vau,publishSuccessDialog:hau,confirmDialog:iau,imageExportDialog:aau,encrypted:mau,stats:$au,toast:yau,colors:rau,welcomeScreen:gau,colorPicker:cau,overwriteConfirm:_au,mermaid:pau}});var Xmu={};ju(Xmu,{welcomeScreen:()=>Hmu,toolBar:()=>Bmu,toast:()=>Qmu,stats:()=>wmu,roomDialog:()=>Fmu,publishSuccessDialog:()=>bmu,publishDialog:()=>Mmu,overwriteConfirm:()=>lmu,mermaid:()=>Lmu,library:()=>oau,labels:()=>sau,imageExportDialog:()=>Jmu,hints:()=>Amu,helpDialog:()=>kmu,headings:()=>Emu,exportDialog:()=>zmu,errors:()=>umu,errorSplash:()=>Dmu,errorDialog:()=>Umu,encrypted:()=>Kmu,default:()=>qf3,confirmDialog:()=>Zmu,colors:()=>Gmu,colorPicker:()=>qmu,clearCanvasDialog:()=>fmu,canvasError:()=>Cmu,buttons:()=>tau,alerts:()=>eau});var sau,oau,tau,eau,umu,Bmu,Emu,Amu,Cmu,Dmu,Fmu,Umu,zmu,kmu,fmu,Mmu,bmu,Zmu,Jmu,Kmu,wmu,Qmu,Gmu,Hmu,qmu,lmu,Lmu,qf3;var vmu=g(()=>{m4();sau={paste:"Pegar",pasteAsPlaintext:"Pegar en tèxt brut",pasteCharts:"Pegar los grafics",selectAll:"Tot seleccionar",multiSelect:"Apondre un element a la seleccion",moveCanvas:"Desplaçar lo canabàs",cut:"Talhar",copy:"Copiar",copyAsPng:"Copiar al quichapapièrs coma PNG",copyAsSvg:"Copiar al quichapapièrs coma SVG",copyText:"Copiar al quichapapièrs coma tèxt",copySource:"",convertToCode:"",bringForward:"En avant",sendToBack:"En arrièr",bringToFront:"A lendavant",sendBackward:"Endarrièr",delete:"Suprimir",copyStyles:"Copiar los estiles",pasteStyles:"Pegar los estils",stroke:"Contorn",background:"Rèireplan",fill:"Empliment",strokeWidth:"Largor de contorn",strokeStyle:"Estil de contorn",strokeStyle_solid:"Solide",strokeStyle_dashed:"Tiret",strokeStyle_dotted:"Puntilhat",sloppiness:"Estil de traça",opacity:"Opacitat",textAlign:"Alinhament tèxt",edges:"Angles",sharp:"Ponchut",round:"Arredonit",arrowheads:"Cap de la flècha",arrowhead_none:"Cap",arrowhead_arrow:"Sageta",arrowhead_bar:"Barra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Triangle",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Talha polissa",fontFamily:"Familha de polissa",addWatermark:"Apondre « Fabricat amb Excalidraw »",handDrawn:"A la man levada",normal:"Normala",code:"Còdi",small:"Pichona",medium:"Mejana",large:"Granda",veryLarge:"Gradassa",solid:"Solide",hachure:"Raia",zigzag:"Zigzag",crossHatch:"Raia crosada",thin:"Fin",bold:"Espés",left:"Esquèrra",center:"Centre",right:"Drecha",extraBold:"Espesàs",architect:"Arquitècte",artist:"Artista",cartoonist:"Dessenhaire",fileTitle:"Nom del fichièr",colorPicker:"Selector de color",canvasColors:"Utilizada suls canabassses",canvasBackground:"Rèireplan del canabàs",drawingCanvas:"Zòna de dessenh",layers:"Calques",actions:"Accions",language:"Lenga",liveCollaboration:"Collaboracion en dirèct...",duplicateSelection:"Duplicar",untitled:"Sens títol",name:"Nom",yourName:"Vòstre nom",madeWithExcalidraw:"Fabricat amb Excalidraw",group:"Gropar la seleccion",ungroup:"Desunir la seleccion",collaborators:"Collaborators",showGrid:"Afichar la gresilha",addToLibrary:"Apondre a la bibliotèca",removeFromLibrary:"Suprimir de la bibliotèca",libraryLoadingMessage:"Cargament de la bibliotèca…",libraries:"Percórrer las bibliotècas",loadingScene:"Cargament de la scèna…",align:"Alinhament",alignTop:"Alinhar ennaut",alignBottom:"Alinhar enbàs",alignLeft:"Alinhar a esquèrra",alignRight:"Alinhar a drecha",centerVertically:"Centrar verticalament",centerHorizontally:"Centrar orizontalament",distributeHorizontally:"Distribuir orizontalament",distributeVertically:"Distribuir verticalament",flipHorizontal:"Virar orizontalament",flipVertical:"Virar verticalament",viewMode:"Mòde de vista",share:"Partejar",showStroke:"Mostrar lo selector de color de contorn",showBackground:"Mostrar lo selector de color de fons",toggleTheme:"Alternar tèma",personalLib:"Bibliotèca personala",excalidrawLib:"Bibliotèca Excalidraw",decreaseFontSize:"Reduire talha polissa",increaseFontSize:"Aumentar talha polissa",unbindText:"Dessociar lo tèxte",bindText:"Ligar lo tèxt al contenidor",createContainerFromText:"Envelopar lo tèxte dins un contenedor",link:{edit:"Modificar lo ligam",editEmbed:"Modificar lo ligam e lintegracion",create:"Crear un ligam",createEmbed:"Crear un ligam e son integracion",label:"Ligam",labelEmbed:"Ligam e integracion",empty:"Cap de ligam pas definit"},lineEditor:{edit:"Modificar la linha",exit:"Sortir de leditor de linha"},elementLock:{lock:"Verrolhar",unlock:"Desverrolhar",lockAll:"Tot verrolhar",unlockAll:"Tot desverrolhar"},statusPublished:"Publicat",sidebarLock:"Gardar la barra laterala dobèrta",selectAllElementsInFrame:"Seleccionar totes los elements del quadre",removeAllElementsFromFrame:"Tirar totes los elements dal quadre",eyeDropper:"Prendre la color a partir dun canabàs",textToDiagram:"",prompt:""},oau={noItems:"Cap delement pas encara apondut...",hint_emptyLibrary:"Seleccionatz un element dapondre aquí, o installatz una bibliotèca del depaus public, çai-jos.",hint_emptyPrivateLibrary:"Seleccionatz un element dapondre aquí pel canabàs."},tau={clearReset:"Reïnicializar lo canabàs",exportJSON:"Exportar en fichièr",exportImage:"Exportar imatges...",export:"Enregistrar dins...",copyToClipboard:"Copiar al quichapapièrs",save:"Salvar al fichièr actual",saveAs:"Enregistrar jos",load:"Dobrir",getShareableLink:"Obténer lo ligam de partatge",close:"Tampar",selectLanguage:"Causir una lenga",scrollBackToContent:"Tornar al contengut",zoomIn:"Zoom avant",zoomOut:"Zoom arrièr",resetZoom:"Tirar lo zoom",menu:"Menú",done:"Acabat",edit:"Modificar",undo:"Anullar",redo:"Restablir",resetLibrary:"Reïnicializar la bibliotèca",createNewRoom:"Crear sala novèla",fullScreen:"Ecran complèt",darkMode:"Mòde escur",lightMode:"Mòde clar",zenMode:"Mòde escur",objectsSnapMode:"Ancorar als objèctes",exitZenMode:"Sortir del mòde zen",cancel:"Anullar",clear:"Escafar",remove:"Tirar",embed:"Alternar lintegracion",publishLibrary:"Publicar",submit:"Enviar",confirm:"Confirmar",embeddableInteractionButton:"Clicar per interagir"},eau={clearReset:"Aquò suprimirà lo canabàs complèt. O volètz vertadièrament?",couldNotCreateShareableLink:"Creacion impossibla del ligam de partatge.",couldNotCreateShareableLinkTooBig:"Creacion impossibla del ligam de partatge: la scèna es tròp granda",couldNotLoadInvalidFile:"Cargament impossible dun fichièr invalid",importBackendFailed:"Importacion fracassada.",cannotExportEmptyCanvas:"Impossible dexportar los canabasses voids.",couldNotCopyToClipboard:"Còpia impossibla al quichapapièrs.",decryptFailed:"Deschiframent impossible de las donadas.",uploadedSecurly:"Lo telecargament es estat securizat amb un chiframent del cap a la fin, significa que los servidors dExcalidraw o que quina tèrça part que siá pòdon pas legir lo contengut.",loadSceneOverridePrompt:"Cargar un dessenh extèrn remplaçarà vòstre contengut existent. Volètz contunhar?",collabStopOverridePrompt:`Arrestar la session remplaçarà vòstre precedent dessenh gardat localament. O volètz vertadièrament?
(Se volètz gardar vòstre dessenh local, tampatz simplament longlet del navegador a la plaça)`,errorAddingToLibrary:"Apondon impossible de lelement a la bibliotèca",errorRemovingFromLibrary:"Supression impossibla de lelement a la bibliotèca",confirmAddLibrary:"Apondrà {{numShapes}} forma(s) a vòstra bibliotèca. Confirmatz?",imageDoesNotContainScene:"Aqueste imatge sembla pas conténer cap de donadas de scèna. Avètz activat lintegracion de scèna pendent lexportacion?",cannotRestoreFromImage:"Restauracion impossibla de la scèna a partir del fichièr imatge",invalidSceneUrl:"Importacion impossibla de la scèna a partir de lURL provesida. Es siá mal formatada o siá conten pas cap de donada JSON Excalidraw valida.",resetLibrary:"Aquò suprimirà vòstra bibliotèca. O volètz vertadièrament?",removeItemsFromsLibrary:"Suprimir {{count}} element(s) de la bibliotèca?",invalidEncryptionKey:"La clau de chiframent deu conténer 22 caractèrs. La collaboracion en dirèct es desactivada.",collabOfflineWarning:`Cap de connexion pas disponibla.
Vòstras modificacions seràn pas salvadas !`},umu={unsupportedFileType:"Tipe de fichièr pas pres en carga.",imageInsertError:"Insercion dimatge impossibla. Tornatz ensajar mai tard...",fileTooBig:"Fichièr tròp pesuc. La talha maximala autorizada es {{maxSize}}.",svgImageInsertError:"Insercion dimatge SVG impossibla. Las balisas SVG semblan invalidas.",failedToFetchImage:"Fracàs de la recuperacion de limatge.",invalidSVGString:"SVG invalid.",cannotResolveCollabServer:"Connexion impossibla al servidor collab. Mercés de recargar la pagina e tornar ensajar.",importLibraryError:"Impossible de cargar la bibliotèca",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"Empegatge impossible (lectura impossibla a partir del quichapapièrs).",asyncPasteFailedOnParse:"Empegatge impossible.",copyToSystemClipboardFailed:"Còpia impossibla al quichapapièrs."},Bmu={selection:"Seleccion",image:"Inserir imatge",rectangle:"Rectangle",diamond:"Lausange",ellipse:"Ellipsa",arrow:"Sageta",line:"Linha",freedraw:"Dessenhar",text:"Tèxt",library:"Bibliotèca",lock:"Mantenir activa laisina aprèp dessenhar",penMode:"Mòde estilo - empachar lo contact",link:"Apondre/Actualizar lo ligam per una fòrma seleccionada",eraser:"Goma",frame:"Esplech quadre",magicframe:"",embeddable:"Integracion Web",laser:"Puntador laser",hand:"Man (aisina de desplaçament de la vista)",extraTools:"Mai daisinas",mermaidToExcalidraw:"De Mermaid cap a Excalidraw",magicSettings:""},Emu={canvasActions:"Accions del canabàs",selectedShapeActions:"Accions per la forma seleccionada",shapes:"Formas"},Amu={canvasPanning:"",linearElement:"Clicatz per començar mantun punt, lisatz per una sola linha",freeDraw:"Clicatz e lisatz, relargatz un còp acabat",text:"Astúcia: podètz tanben apondre de tèxt en doble clicant ont que siá amb laisina de seleccion",embeddable:"",text_selected:"Clicatz dos còps o quichatz ENTRADA per modificar lo tèxt",text_editing:"Quichatz ESCAPAR o CtrlOrCmd+ENTRADA per acabar la modificacion",linearElementMulti:"Clicatz sul darrièr punt o quichatz Ecap o Entrada per acabar",lockAngle:"Podètz restrénger langle en mantenent MAJ",resize:`Podètz servar las proporcions en mantenent la tòca MAJ pendent lo redimensionament,
mantenètz la tòca ALT per redimensionar a partir del centre`,resizeImage:`Podètz retalhar liurament en quichant CTRL,
quichatz ALT per retalhar a partir del centre`,rotate:"Podètz restrénger los angles en mantenent MAJ pendent la rotacion",lineEditor_info:"Tenètz quichat Ctrl o Cmd e doble clic o quichatz Ctrl o Cmd + Entrada per modificar los ponches",lineEditor_pointSelected:`Quichar Suprimir per tirar lo(s) punt(s),
CtrlOCmd+D per duplicar, o lisatz per desplaçar`,lineEditor_nothingSelected:`Seleccionar un punt deditar (manténer Maj. per ne seleccionar mantun),
o manténer Alt e clicar per napondre de novèls`,placeImage:"Clicatz per plaçar limatge, o clicatz e lisatz per definir sa talha manualament",publishLibrary:"Publicar vòstra pròpria bibliotèca",bindTextToElement:"Quichatz Entrada per apondre de tèxte",deepBoxSelect:"Gardar CtrlOCmd per una seleccion gropada e empachar lo desplaçament",eraserRevert:"Tenètz quichat Alt per anullar los elements marcats per supression",firefox_clipboard_write:"",disableSnapping:""},Cmu={cannotShowPreview:"Afichatge impossible de lapercebut",canvasTooBig:"Lo canabàs pòt èsser tròp grand.",canvasTooBigTip:"Astúcia: ensajatz de sarrar los elements mai alonhats."},Dmu={headingMain:"Una error ses producha. Ensajatz <button>recargament de la pagina.</button>",clearCanvasMessage:"Se recargar fonciona pas, ensajatz <button>descafar los canabasses.</button>",clearCanvasCaveat:" Menarà a una pèrda del trabalh ",trackedToSentry:"Error amb lidentificant {{eventId}} es estada enregistrada sus nòstre sistèma.",openIssueMessage:"Èrem plan prudents per inclure pas dinformacions de la scèna vòstra sus lerror. Se vòstra scèna es pas privada, volgatz considerar de perseguir sus nòstre <button>traçadors davarias.</button> Volgatz inclure las informacions çai-jos en las copiant e pegant a lissue GitHub.",sceneContent:"Contengut de la scèna:"},Fmu={desc_intro:"Podètz convidar lo monde a vòstra scèna actuala per participar amb vos.",desc_privacy:"Vos en fagatz pas, la session utiliza lo chiframent del cap a la fin, çò que dessenetz demorarà privat. Mai nòstres servidors poiràn pas veire vòstra creacion.",button_startSession:"Començar la session",button_stopSession:"Arrestar la session",desc_inProgressIntro:"La session de collaboracion es ara en cors.",desc_shareLink:"Partejatz aqueste ligam amb lo monde amb qui volètz collaborar:",desc_exitSession:"Arrestar la session vos desconnectarà de la sala, mas poiretz contunhar de trabalhar a la scèna, en local. Notatz quaquò afectarà pas los autres, e poiràn collaborar a lor version.",shareTitle:"Rejonhètz una session collaborativa sus Excalidraw"},Umu={title:"Error"},zmu={disk_title:"Salvar al disc",disk_details:"Exportar las donadas de la scèna cap a un fichièr que podètz importar mai tard.",disk_button:"Salvar al fichièr",link_title:"Ligam de partejar",link_details:"Exportar coma un ligam de lectura sola.",link_button:"Exportar en ligam",excalidrawplus_description:"Enregistrar la scèna dins vòstre espaci de trabalh Excalidraw+.",excalidrawplus_button:"Exportar",excalidrawplus_exportError:"Export impossibla cap a Excalidraw+ pel moment..."},kmu={blog:"Legir nòstre blog",click:"clic",deepSelect:"Seleccion prigonda",deepBoxSelect:"Seleccionar demest un grop e empacha lo desplaçament",curvedArrow:"Sageta corba",curvedLine:"Linha corba",documentation:"Documentacion",doubleClick:"doble clic",drag:"lisar",editor:"Editor",editLineArrowPoints:"",editText:"Modificar lo tèxte / apondre etiqueta",github:"Problèma trobat? Senhalatz-lo",howto:"Seguissètz nòstras guidas",or:"o",preventBinding:"Empachar la fixacion de sagetas",tools:"Aisinas",shortcuts:"Acorchis clavièr",textFinish:"Terminar ledicion (editor de tèxt)",textNewLine:"Apondre linha novèl (editor de tèxt)",title:"Ajuda",view:"Vista",zoomToFit:"Zoomar per veire totes los elements",zoomToSelection:"Zoomar la seleccion",toggleElementLock:"Verrolhar/Desverrolhar la seleccion",movePageUpDown:"Desplaçar la pagina ennaut/enbàs",movePageLeftRight:"Desplaçar la pagina a esquèrra/drecha"},fmu={title:"Escafar canabàs"},Mmu={title:"Publicar la bibliotèca",itemName:"Nom de lelement",authorName:"Nom de lautor",githubUsername:"Nom dutilizaire GitHub",twitterUsername:"Nom dutilizaire Twitter",libraryName:"Nom de la bibliotèca",libraryDesc:"Descripcion de la bibliotèca",website:"Site web",placeholder:{authorName:"Vòstre nom o nom dutilizaire",libraryName:"Nom de vòstra bibliotèca",libraryDesc:"Descripcion de vòstra bibliotèca per ajudar lo monde a comprendre son utilizacion",githubHandle:"GitHub handle(opcional), per poder modificar la bibliotèca un còp enviada per repassa",twitterHandle:"Nom dutilizaire Twitter (opcional), per saber qual mercejar quand ne parlam sus Twitter",website:"Ligam cap a vòstre site web personal o endacòm mai (opcional)"},errors:{required:"Requerit",website:"Picatz una URL valida"},noteDescription:"Enviatz vòstra bibliotèca per èsser compresa al <link>repertòri public de bibliotèca</link>per que los autres lutilizen dins lor dessenhs.",noteGuidelines:"Qualquun deu aprovar la bibliotèca manualament per començar. Volgatz legir las <link>linhas directrises</link> abans de sometre. Vos farà mestièr un compte GitHub per comunicar e realizar de modificacions se demandadas, mas es pas complètament obligatòri.",noteLicense:"En sometent, acceptatz que la bibliotèca siá publicada sota la <link>Licéncia MIT, </link>que significa en brèu que qual que siá pòt lutilizar sens cap de restriccion.",noteItems:"Cada element de bibliotèca deu aver un nom pròpri per èsser filtrable. Los elements de bibliotèca seguentas seràn incluses:",atleastOneLibItem:"Volgatz seleccionar almens un element de bibliotèca per començar",republishWarning:"Nòta: dunes elements seleccionats son marcats ja coma publicats/enviats. Deuriatz sonque tornar enviar los elements pendent lactualizacion duna bibliotèca existenta o un mandadís."},bmu={title:"Bibliotèca somesa",content:"Mercés {{authorName}}. Vòstre bibliotèca es estada somesa per repassa. Podètz seguir lavançament<link>aquí</link>"},Zmu={resetLibrary:"Reïnicializar la bibliotèca",removeItemsFromLib:"Tirar los elements seleccionats de la bibliotèca"},Jmu={header:"Exportar imatges",label:{withBackground:"Rèireplan",onlySelected:"Seleccion sonque",darkMode:"Mòde escur",embedScene:"Embarcar la scèna",scale:"Escala",padding:"Espaçament"},tooltip:{embedScene:""},title:{exportToPng:"Exportar en PNG",exportToSvg:"Exportar en SVG",copyPngToClipboard:"Copiar PNG al quichapapièrs"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copiar al quichapapièrs"}},Kmu={tooltip:"Vòstres dessenhs son chifrats del cap a la fin en consequéncia los servidors dExcalidraw los veiràn pas jamai.",link:"Article de blòg sul chiframent del cap a la fin dins Excalidraw"},wmu={angle:"Angle",element:"Element",elements:"Elements",height:"Nautor",scene:"Scèna",selected:"Seleccionat",storage:"Emmagazinatge",title:"Estatisticas pels nerds",total:"Total",version:"Version",versionCopy:"Clicar per copiar",versionNotAvailable:"Version pas disponibla",width:"Largor"},Qmu={addedToLibrary:"Apondut a la bibliotèca",copyStyles:"Estiles copiats.",copyToClipboard:"Copiats al quichapapièrs.",copyToClipboardAsPng:"{{exportSelection}} copiat coma PNG ({{exportColorScheme}})",fileSaved:"Fichièr enregistrat.",fileSavedToFilename:"Enregistrat jos {filename}",canvas:"canabàs",selection:"seleccion",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},Gmu={transparent:"Transparéncia",black:"Negre",white:"Blanc",red:"Roge",pink:"Ròse",grape:"Bordèu",violet:"Violet",gray:"Gris",blue:"Blau",cyan:"Cian",teal:"Sarcèla",green:"Verd",yellow:"Jaune",orange:"Irange",bronze:"Bronze"},Hmu={app:{center_heading:"Totas las donadas son enregistradas dins vòstre navegador.",center_heading_plus:"Voliatz puslèu utilizar Excalidraw+ a la plaça?",menuHint:"Exportar, preferéncias, lengas, ..."},defaults:{menuHint:"Exportar, preferéncias, e mai...",center_heading:"Diagram. Tot. Simplament.",toolbarHint:"Prenètz un esplech e començatz de dessenhar!",helpHint:"Acorchis e ajuda"}},qmu={mostUsedCustomColors:"Colors personalizadas mai utilizadas",colors:"Colors",shades:"Nuanças",hexCode:"Còdi exadecimal",noShades:"Cap de nuança pas disponibla per aquesta color"},lmu={action:{exportToImage:{title:"Exportar coma imatge",button:"Exportar coma imatge",description:""},saveToDisk:{title:"Salvar al disc",button:"Salvar al disc",description:"Exportar las donadas de la scèna cap a un fichièr que podètz importar mai tard."},excalidrawPlus:{title:"Excalidraw+",button:"Exportar dins Excalidraw+",description:"Enregistrar la scèna dins vòstre espaci de trabalh Excalidraw+."}},modal:{loadFromFile:{title:"Cargar dun fichièr",button:"Cargar dun fichièr",description:""},shareableLink:{title:"Cargar dun ligam",button:"Remplaçar mon contengut",description:""}}},Lmu={title:"De Mermaid cap a Excalidraw",button:"Inserir",description:"",syntax:"Sintaxi Mermaid",preview:"Apercebut"},qf3={labels:sau,library:oau,buttons:tau,alerts:eau,errors:umu,toolBar:Bmu,headings:Emu,hints:Amu,canvasError:Cmu,errorSplash:Dmu,roomDialog:Fmu,errorDialog:Umu,exportDialog:zmu,helpDialog:kmu,clearCanvasDialog:fmu,publishDialog:Mmu,publishSuccessDialog:bmu,confirmDialog:Zmu,imageExportDialog:Jmu,encrypted:Kmu,stats:wmu,toast:Qmu,colors:Gmu,welcomeScreen:Hmu,colorPicker:qmu,overwriteConfirm:lmu,mermaid:Lmu}});var tmu={};ju(tmu,{welcomeScreen:()=>nmu,toolBar:()=>Tmu,toast:()=>_mu,stats:()=>cmu,roomDialog:()=>Nmu,publishSuccessDialog:()=>$mu,publishDialog:()=>mmu,overwriteConfirm:()=>smu,mermaid:()=>omu,library:()=>Wmu,labels:()=>xmu,imageExportDialog:()=>rmu,hints:()=>Imu,helpDialog:()=>imu,headings:()=>Omu,exportDialog:()=>hmu,errors:()=>Rmu,errorSplash:()=>jmu,errorDialog:()=>Vmu,encrypted:()=>gmu,default:()=>lf3,confirmDialog:()=>ymu,colors:()=>pmu,colorPicker:()=>dmu,clearCanvasDialog:()=>amu,canvasError:()=>Pmu,buttons:()=>Smu,alerts:()=>Ymu});var xmu,Wmu,Smu,Ymu,Rmu,Tmu,Omu,Imu,Pmu,jmu,Nmu,Vmu,hmu,imu,amu,mmu,$mu,ymu,rmu,gmu,cmu,_mu,pmu,nmu,dmu,smu,omu,lf3;var emu=g(()=>{m4();xmu={paste:"ਪੇਸਟ ਕਰੋ",pasteAsPlaintext:"ਸਾਦੇ ਪਾਠ ਵਜੋਂ ਪੇਸਟ ਕਰੋ",pasteCharts:"ਚਾਰਟ ਪੇਸਟ ਕਰੋ",selectAll:"ਸਾਰੇ ਚੁਣੋ",multiSelect:"ਐਲੀਮੈਂਟ ਨੂੰ ਚੋਣ ਵਿੱਚ ਜੋੜੋ",moveCanvas:"ਕੈਨਵਸ ਹਿਲਾਓ",cut:"ਕੱਟੋ",copy:"ਕਾਪੀ ਕਰੋ",copyAsPng:"ਕਲਿੱਪਬੋਰਡ 'ਤੇ PNG ਵਜੋਂ ਕਾਪੀ ਕਰੋ",copyAsSvg:"ਕਲਿੱਪਬੋਰਡ 'ਤੇ SVG ਵਜੋਂ ਕਾਪੀ ਕਰੋ",copyText:"ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਪਾਠ ਵਜੋਂ ਕਾਪੀ ਕਰੋ",copySource:"",convertToCode:"",bringForward:"ਅੱਗੇ ਲਿਆਓ",sendToBack:"ਸਭ ਤੋਂ ਪਿੱਛੇ ਭੇਜੋ",bringToFront:"ਸਭ ਤੋਂ ਅੱਗੇ ਲਿਆਓ",sendBackward:"ਪਿੱਛੇ ਭੇਜੋ",delete:"ਮਿਟਾਓ",copyStyles:"ਸਟਾਇਲ ਕਾਪੀ ਕਰੋ",pasteStyles:"ਸਟਾਇਲ ਪੇਸਟ ਕਰੋ",stroke:"ਰੇਖਾ",background:"ਬੈਕਗਰਾਉਂਡ",fill:"ਭਰਨਾ",strokeWidth:"ਰੇਖਾ ਦੀ ਚੌੜਾਈ",strokeStyle:"ਰੇਖਾ ਦਾ ਸਟਾਇਲ",strokeStyle_solid:"ਠੋਸ",strokeStyle_dashed:"ਡੈਸ਼ ਵਾਲੀ",strokeStyle_dotted:"ਬਿੰਦੀਆਂ ਵਾਲੀ",sloppiness:"ਬੇਤਰਤੀਬੀ",opacity:"ਅਪਾਰਦਰਸ਼ਤਾ",textAlign:"ਲਿਖਤ ਇਕਸਾਰਤਾ",edges:"ਕਿਨਾਰੇ",sharp:"ਤਿੱਖੇ",round:"ਗੋਲ",arrowheads:"ਤੀਰ ਦੇ ਸਿਰੇ",arrowhead_none:"ਕੋਈ ਨਹੀਂ",arrowhead_arrow:"ਤੀਰ",arrowhead_bar:"ਡੰਡੀ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"ਤਿਕੋਣ",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"ਫੌਂਟ ਅਕਾਰ",fontFamily:"ਫੌਂਟ ਪਰਿਵਾਰ",addWatermark:'"Excalidraw ਨਾਲ ਬਣਾਇਆ" ਜੋੜੋ',handDrawn:"ਹੱਥਲਿਖਤ",normal:"ਆਮ",code:"ਕੋਡ",small:"ਛੋਟਾ",medium:"ਮੱਧਮ",large:"ਵੱਡਾ",veryLarge:"ਬਹੁਤ ਵੱਡਾ",solid:"ਠੋਸ",hachure:"ਤਿਰਛੀਆਂ ਗਰਿੱਲਾਂ",zigzag:"ਵਿੰਗ-ਤੜਿੰਗ",crossHatch:"ਜਾਲੀ",thin:"ਪਤਲੀ",bold:"ਮੋਟੀ",left:"ਖੱਬੇ",center:"ਵਿਚਕਾਰ",right:"ਸੱਜੇ",extraBold:"ਬਹੁਤ ਮੋਟੀ",architect:"ਭਵਨ ਨਿਰਮਾਣਕਾਰੀ",artist:"ਕਲਾਕਾਰ",cartoonist:"ਕਾਰਟੂਨਿਸਟ",fileTitle:"ਫਾਈਲ ਦਾ ਨਾਂ",colorPicker:"ਰੰਗ ਚੋਣਕਾਰ",canvasColors:"ਕੈਨਵਸ 'ਤੇ ਵਰਤਿਆ",canvasBackground:"ਕੈਨਵਸ ਦਾ ਬੈਕਗਰਾਉਂਡ",drawingCanvas:"ਡਰਾਇੰਗ ਕੈਨਵਸ",layers:"ਪਰਤਾਂ",actions:"ਕਾਰਵਾਈਆਂ",language:"ਭਾਸ਼ਾ",liveCollaboration:"ਲਾਇਵ ਸਹਿਯੋਗ...",duplicateSelection:"ਡੁਪਲੀਕੇਟ ਬਣਾਓ",untitled:"ਬੇ-ਸਿਰਨਾਵਾਂ",name:"ਨਾਂ",yourName:"ਤੁਹਾਡਾ ਨਾਂ",madeWithExcalidraw:"Excalidraw ਨਾਲ ਬਣਾਇਆ",group:"ਚੋਣ ਦਾ ਗਰੁੱਪ ਬਣਾਓ",ungroup:"ਚੋਣ ਦਾ ਗਰੁੱਪ ਤੋੜੋ",collaborators:"ਸਹਿਯੋਗੀ",showGrid:"ਜਾਲੀ ਦਿਖਾਓ",addToLibrary:"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਜੋੜੋ",removeFromLibrary:"ਲਾਇਬ੍ਰੇਰੀ 'ਚੋਂ ਹਟਾਓ",libraryLoadingMessage:"ਲਾਇਬ੍ਰੇਰੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…",libraries:"ਲਾਇਬ੍ਰੇਰੀਆਂ ਬਰਾਉਜ਼ ਕਰੋ",loadingScene:"ਦ੍ਰਿਸ਼ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…",align:"ਇਕਸਾਰ",alignTop:"ਉੱਪਰ ਇਕਸਾਰ ਕਰੋ",alignBottom:"ਹੇਠਾਂ ਇਕਸਾਰ ਕਰੋ",alignLeft:"ਖੱਬੇ ਇਕਸਾਰ ਕਰੋ",alignRight:"ਸੱਜੇ ਇਕਸਾਰ ਕਰੋ",centerVertically:"ਲੇਟਵੇਂ ਵਿਚਕਾਰ ਕਰੋ",centerHorizontally:"ਖੜ੍ਹਵੇਂ ਵਿਚਕਾਰ ਕਰੋ",distributeHorizontally:"ਖੜ੍ਹਵੇਂ ਇਕਸਾਰ ਵੰਡੋ",distributeVertically:"ਲੇਟਵੇਂ ਇਕਸਾਰ ਵੰਡੋ",flipHorizontal:"ਲੇਟਵੇਂ ਪਾਸੇ ਪਲਟੋ",flipVertical:"ਖੜ੍ਹਵੇਂ ਪਾਸੇ ਪਲਟੋ",viewMode:"ਦੇਖਣ ਵਾਲਾ ਮੋਡ",share:"ਸਾਂਝਾ ਕਰੋ",showStroke:"ਰੇਖਾ ਦਾ ਰੰਗ ਚੋਣਕਾਰ ਦਿਖਾਓ",showBackground:"ਬੈਕਗਰਾਉਂਡ ਦਾ ਰੰਗ ਚੋਣਕਾਰ ਦਿਖਾਓ",toggleTheme:"ਥੀਮ ਬਦਲੋ",personalLib:"ਨਿੱਜੀ ਲਾਇਬ੍ਰੇਰੀ",excalidrawLib:"ਐਕਸਕਲੀਡਰਾਅ ਲਾਇਬ੍ਰੇਰੀ",decreaseFontSize:"ਫੌਂਟ ਦਾ ਅਕਾਰ ਘਟਾਓ",increaseFontSize:"ਫੌਂਟ ਦਾ ਅਕਾਰ ਵਧਾਓ",unbindText:"ਪਾਠ ਨੂੰ ਵੱਖ ਕਰੋ",bindText:"ਪਾਠ ਨੂੰ ਕੰਟੇਨਰ ਨਾਲ ਬੰਨ੍ਹੋ",createContainerFromText:"ਪਾਠ ਨੂੰ ਕੰਟੇਨਰ ਵਿੱਚ ਇਕੱਠਾ ਕਰੋ",link:{edit:"ਕੜੀ ਸੋਧੋ",editEmbed:"",create:"ਕੜੀ ਬਣਾਓ",createEmbed:"",label:"ਕੜੀ",labelEmbed:"",empty:""},lineEditor:{edit:"ਪੰਕਤੀ ਸੋਧੋ",exit:"ਪੰਕਤੀ ਸੋਧਕ 'ਤੋਂ ਬਾਹਰ ਨਿਕਲੋ"},elementLock:{lock:"ਲਾਕ ਕਰੋ",unlock:"ਅਨਲਾਕ ਕਰੋ",lockAll:"ਸਭ ਲਾਕ ਕਰੋ",unlockAll:"ਸਭ ਅਨਲਾਕ ਕਰੋ"},statusPublished:"ਪ੍ਰਕਾਸ਼ਤ ਹੈ",sidebarLock:"ਸਾਈਡਬਾਰ ਨੂੰ ਖੁੱਲ੍ਹਾ ਰੱਖੋ",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},Wmu={noItems:"ਹਾਲੇ ਤੱਕ ਕੋਈ ਚੀਜ ਜੋੜੀ ਨਹੀਂ ਗਈ...",hint_emptyLibrary:"ਇੱਥੇ ਆਈਟਮ ਜੋੜਨ ਲਈ ਉਸਨੂੰ ਕੈਨਵਸ ‘ਤੇ ਚੁਣੋ, ਜਾਂ ਹੇਠਾਂ ਪਬਲਿਕ ਰਿਪਾਜ਼ੀਟਰੀ ‘ਚੋਂ ਲਾਇਬ੍ਰੇਰੀ ਸਥਾਪਤ ਕਰੋ।",hint_emptyPrivateLibrary:"ਇੱਥੇ ਆਈਟਮ ਜੋੜਨ ਲਈ ਉਸਨੂੰ ਕੈਨਵਸ ‘ਤੇ ਚੁਣੋ।"},Smu={clearReset:"ਕੈਨਵਸ ਰੀਸੈੱਟ ਕਰੋ",exportJSON:"ਫਾਈਲ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ",exportImage:"ਤਸਵੀਰ ਨਿਰਯਾਤ ਕਰੋ...",export:"ਇਸ ਵਿੱਚ ਸਾਂਭੋ...",copyToClipboard:"ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰੋ",save:"ਮੌਜੂਦਾ ਫਾਈਲ ਵਿੱਚ ਸਾਂਭੋ",saveAs:"ਇਸ ਵਜੋਂ ਸਾਂਭੋ",load:"ਖੋਲ੍ਹੋ",getShareableLink:"ਸਾਂਝੀ ਕਰਨ ਵਾਲੀ ਲਿੰਕ ਲਵੋ",close:"ਬੰਦ ਕਰੋ",selectLanguage:"ਭਾਸ਼ਾ ਚੁਣੋ",scrollBackToContent:"ਸਮੱਗਰੀ 'ਤੇ ਵਾਪਸ ਸਕਰੋਲ ਕਰੋ",zoomIn:"ਜ਼ੂਮ ਵਧਾਓ",zoomOut:"ਜ਼ੂਮ ਘਟਾਓ",resetZoom:"ਜ਼ੂਮ ਰੀਸੈੱਟ ਕਰੋ",menu:"ਮੇਨੂ",done:"ਹੋ ਗਿਆ",edit:"ਸੋਧੋ",undo:"ਅਣਕੀਤਾ ਕਰੋ",redo:"ਮੁੜ-ਕਰੋ",resetLibrary:"ਲਾਇਬ੍ਰੇਰੀ ਰੀਸੈੱਟ ਕਰੋ",createNewRoom:"ਨਵਾਂ ਕਮਰਾ ਬਣਾਓ",fullScreen:"ਪੂਰੀ ਸਕਰੀਨ",darkMode:"ਡਾਰਕ ਮੋਡ",lightMode:"ਲਾਇਟ ਮੋਡ",zenMode:"ਜ਼ੈੱਨ ਮੋਡ",objectsSnapMode:"",exitZenMode:"ਜ਼ੈੱਨ ਮੋਡ 'ਚੋਂ ਬਾਹਰ ਨਿਕਲੋ",cancel:"ਰੱਦ ਕਰੋ",clear:"ਸਾਫ਼ ਕਰੋ",remove:"ਹਟਾਓ",embed:"",publishLibrary:"ਪ੍ਰਕਾਸ਼ਤ ਕਰੋ",submit:"ਜਮ੍ਹਾ ਕਰਵਾਓ",confirm:"ਪੁਸ਼ਟੀ ਕਰੋ",embeddableInteractionButton:""},Ymu={clearReset:"ਇਹ ਸਾਰਾ ਕੈਨਵਸ ਸਾਫ ਕਰ ਦੇਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਪੱਕਾ ਇੰਝ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?",couldNotCreateShareableLink:"ਸਾਂਝੀ ਕਰਨ ਵਾਲੀ ਲਿੰਕ ਨਹੀਂ ਬਣਾ ਸਕੇ।",couldNotCreateShareableLinkTooBig:"ਸਾਂਝੀ ਕਰਨ ਵਾਲੀ ਲਿੰਕ ਨਹੀਂ ਬਣਾ ਸਕੇ: ਦ੍ਰਿਸ਼ ਬਹੁਤ ਵੱਡਾ ਹੈ",couldNotLoadInvalidFile:"ਨਜਾਇਜ਼ ਫਾਈਲ ਲੋਡ ਨਹੀਂ ਕਰ ਸਕੇ",importBackendFailed:"ਬੈਕਐੱਨਡ ਤੋਂ ਆਯਾਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਹੇ।",cannotExportEmptyCanvas:"ਖਾਲੀ ਕੈਨਵਸ ਨੂੰ ਨਿਰਯਾਤ ਨਹੀਂ ਕਰ ਸਕਦੇ।",couldNotCopyToClipboard:"ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।",decryptFailed:"ਡਾਟਾ ਡੀਕਰਿਪਟ ਨਹੀਂ ਕਰ ਸਕੇ।",uploadedSecurly:"ਅੱਪਲੋਡ ਸਿਰੇ-ਤੋਂ-ਸਿਰੇ ਤੱਕ ਇਨਕਰਿਪਸ਼ਨ ਨਾਲ ਸੁਰੱਖਿਅਤ ਕੀਤੀ ਹੋਈ ਹੈ, ਜਿਸਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ Excalidraw ਸਰਵਰ ਅਤੇ ਤੀਜੀ ਧਿਰ ਦੇ ਬੰਦੇ ਸਮੱਗਰੀ ਨੂੰ ਪੜ੍ਹ ਨਹੀਂ ਸਕਦੇ।",loadSceneOverridePrompt:"ਬਾਹਰੀ ਡਰਾਇੰਗ ਨੂੰ ਲੋਡ ਕਰਨਾ ਤੁਹਾਡੀ ਮੌਜੂਦਾ ਸਮੱਗਰੀ ਦੀ ਥਾਂ ਲੈ ਲਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?",collabStopOverridePrompt:`ਇਜਲਾਸ ਨੂੰ ਰੋਕਣਾ ਪਿਛਲੀ ਲੋਕਲ ਸਾਂਭੀ ਡਰਾਇੰਗ ਦੀ ਥਾਂ ਲੈ ਲਵੇਗਾ। ਪੱਕਾ ਇੰਝ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?
(ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਲੋਕਲ ਡਰਾਇੰਗ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਇਹ ਕਰਨ ਦੀ ਬਜਾਏ ਬੱਸ ਆਪਣਾ ਟੈਬ ਬੰਦ ਕਰ ਦਿਉ।)`,errorAddingToLibrary:"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸਮੱਗਰੀ ਨਹੀਂ ਜੋੜ ਸਕੇ",errorRemovingFromLibrary:"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚੋਂ ਸਮੱਗਰੀ ਨਹੀਂ ਹਟਾ ਸਕੇ",confirmAddLibrary:"ਇਹ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ {{numShapes}} ਆਕ੍ਰਿਤੀ(ਆਂ) ਨੂੰ ਜੋੜ ਦੇਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਪੱਕਾ ਇੰਝ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?",imageDoesNotContainScene:"ਇਸ ਤਸਵੀਰ ਵਿੱਚ ਦ੍ਰਿਸ਼ ਦਾ ਕੋਈ ਵੀ ਡਾਟਾ ਨਜ਼ਰ ਨਹੀਂ ਆ ਰਿਹਾ। ਕੀ ਤੁਸੀਂ ਨਿਰਯਾਤ ਕਰਦੇ ਸਮੇਂ ਦ੍ਰਿਸ਼ ਨੂੰ ਮੜ੍ਹਣਾ ਸਮਰੱਥ ਕੀਤਾ ਸੀ?",cannotRestoreFromImage:"ਇਸ ਤਸਵੀਰ ਫਾਈਲ ਤੋਂ ਦ੍ਰਿਸ਼ ਬਹਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ",invalidSceneUrl:"ਦਿੱਤੀ ਗਈ URL 'ਚੋਂ ਦ੍ਰਿਸ਼ ਨੂੰ ਆਯਾਤ ਨਹੀਂ ਕਰ ਸਕੇ। ਇਹ ਜਾਂ ਤਾਂ ਖਰਾਬ ਹੈ, ਜਾਂ ਇਸ ਵਿੱਚ ਜਾਇਜ਼ Excalidraw JSON ਡਾਟਾ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ।",resetLibrary:"ਇਹ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਸਾਫ ਕਰ ਦੇਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਪੱਕਾ ਇੰਝ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?",removeItemsFromsLibrary:"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚੋਂ {{count}} ਚੀਜ਼(-ਜ਼ਾਂ) ਮਿਟਾਉਣੀਆਂ ਹਨ?",invalidEncryptionKey:"ਇਨਕਰਿਪਸ਼ਨ ਕੁੰਜੀ ‌‌22 ਅੱਖਰਾਂ ਦੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਲਾਇਵ ਸਹਿਯੋਗ ਬੰਦ ਹੈ।",collabOfflineWarning:`ਕੋਈ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਹੈ
ਤੁਹਾਡੀਆਂ ਤਬਦੀਲੀਆਂ ਸਾਂਭੀਆਂ ਨਹੀਂ ਜਾਣਗੀਆਂ।`},Rmu={unsupportedFileType:"ਫਾਈਲ ਦੀ ਕਿਸਮ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ।",imageInsertError:"ਚਿੱਤਰ ਸ਼ਾਮਲ ਨਹੀਂ ਜਾ ਸਕਿਆ, ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ...",fileTooBig:"ਫਾਈਲ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵੱਡੀ ਹੈ। ਵੱਧ-ਤੋਂ-ਵੱਧ ਪ੍ਰਵਾਨਤ ਅਕਾਰ {{maxSize}} ਹੈ।",svgImageInsertError:"SVG ਤਸਵੀਰ ਸ਼ਾਮਲ ਨਹੀਂ ਕਰ ਸਕੇ। SVG ਮਾਰਕ-ਅੱਪ ਨਜਾਇਜ਼ ਲੱਗ ਰਿਹਾ ਹੈ।",failedToFetchImage:"",invalidSVGString:"SVG ਨਜਾਇਜ਼ ਹੈ।",cannotResolveCollabServer:"",importLibraryError:"ਲਾਇਬ੍ਰੇਰੀ ਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Tmu={selection:"ਚੋਣਕਾਰ",image:"ਤਸਵੀਰ ਸ਼ਾਮਲ ਕਰੋ",rectangle:"ਆਇਤ",diamond:"ਹੀਰਾ",ellipse:"ਅੰਡਾਕਾਰ",arrow:"ਤੀਰ",line:"ਲਕੀਰ",freedraw:"ਵਾਹੋ",text:"ਪਾਠ",library:"ਲਾਇਬ੍ਰੇਰੀ",lock:"ਡਰਾਇੰਗ ਤੋਂ ਬਾਅਦ ਵੀ ਚੁਣੇ ਹੋਏ ਸੰਦ ਨੂੰ ਸਰਗਰਮ ਰੱਖੋ ",penMode:"ਪੈੱਨ ਮੋਡ - ਟੱਚ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ",link:"",eraser:"ਰਬੜ",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},Omu={canvasActions:"ਕੈਨਵਸ ਦੀਆਂ ਕਾਰਵਾਈਆਂ",selectedShapeActions:"ਚੁਣੀ ਆਕ੍ਰਿਤੀ ਦੀਆਂ ਕਾਰਵਾਈਆਂ",shapes:"ਆਕ੍ਰਿਤੀਆਂ"},Imu={canvasPanning:"",linearElement:"ਇੱਕ ਤੋਂ ਜ਼ਿਆਦਾ ਬਿੰਦੂਆਂ ਲਈ ਕਲਿੱਕ ਕਰਕੇ ਸ਼ੁਰੂਆਤ ਕਰੋ, ਇਕਹਿਰੀ ਲਕੀਰ ਲਈ ਘਸੀਟੋ",freeDraw:"ਕਲਿੱਕ ਕਰਕੇ ਘਸੀਟੋ, ਪੂਰਾ ਹੋਣ 'ਤੇ ਛੱਡ ਦਿਉ",text:"ਨੁਸਖਾ: ਤੁਸੀਂ ਚੋਣਕਾਰ ਸੰਦ ਰਾਹੀਂ ਕਿਤੇ ਵੀ ਡਬਲ-ਕਲਿੱਕ ਕਰਕੇ ਵੀ ਪਾਠ ਜੋੜ ਸਕਦੇ ਹੋ",embeddable:"",text_selected:"ਪਾਠ ਨੂੰ ਸੋਧਣ ਲਈ ਡਬਲ-ਕਲਿੱਕ ਕਰੋ ਜਾਂ ਐਂਟਰ ਦਬਾਓ",text_editing:"ਸੋਧ ਮੁਕੰਮਲ ਕਰਨ ਲਈ ਐਸਕੇਪ (Esc) ਜਾਂ Ctrl-ਜਾਂ-Cmd+ਐਂਟਰ (enter) ਦਬਾਓ",linearElementMulti:"ਮੁਕੰਮਲ ਕਰਨ ਲਈ ਆਖਰੀ ਬਿੰਦੂ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਜਾਂ ਇਸਕੇਪ ਜਾਂ ਐਂਟਰ ਦਬਾਓ",lockAngle:"ਤੁਸੀਂ SHIFT ਦਬਾਈ ਰੱਖ ਕੇ ਕੋਣਾਂ ਨੂੰ ਕਾਬੂ ਕਰ ਸਕਦੇ ਹੋ",resize:"ਤੁਸੀਂ ਅਕਾਰ ਬਦਲਦੇ ਸਮੇਂ SHIFT ਦਬਾਈ ਰੱਖ ਕੇ ਅਨੁਪਾਤ ਨੂੰ ਕਾਬੂ ਕਰ ਸਕਦੇ ਹੋ, ਵਿਚਕਾਰ ਤੋਂ ਅਕਾਰ ਬਦਲਣ ਲਈ ALT ਦਬਾਓ",resizeImage:"",rotate:"ਤੁਸੀਂ ਘੁਮਾਉਂਦੇ ਹੋਏ SHIFT ਦਬਾਈ ਰੱਖ ਕੇ ਕੋਣਾਂ ਨੂੰ ਕਾਬੂ ਕਰ ਸਕਦੇ ਹੋ",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ",bindTextToElement:"ਪਾਠ ਜੋੜਨ ਲਈ ਐੰਟਰ ਦਬਾਓ",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},Pmu={cannotShowPreview:"ਝਲਕ ਨਹੀਂ ਦਿਖਾ ਸਕਦੇ",canvasTooBig:"ਸ਼ਾਇਦ ਕੈਨਵਸ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵੱਡਾ ਹੈ।",canvasTooBigTip:"ਨੁਸਖਾ: ਸਭ ਤੋਂ ਦੂਰ ਸਥਿੱਤ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਥੋੜ੍ਹਾ ਜਿਹਾ ਨੇੜੇ ਲਿਆ ਕੇ ਦੇਖੋ।"},jmu={headingMain:"ਕੋਈ ਸਮੱਸਿਆ ਖੜ੍ਹੀ ਹੋਈ। <button>ਪੰਨਾ ਮੁੜ-ਲੋਡ</button> ਕਰਕੇ ਦੇਖੋ।",clearCanvasMessage:"ਜੇ ਮੁੜ-ਲੋਡ ਕਰਨਾ ਕੰਮ ਨਾ ਕਰੇ, ਤਾਂ ਇਹ ਕਰਕੇ ਦੇਖੋ <button>ਕੈਨਵਸ ਸਾਫ ਕਰੋ।</button>",clearCanvasCaveat:" ਇਹ ਸਾਰਾ ਕੰਮ ਗਵਾ ਦੇਵੇਗਾ ",trackedToSentry:"ਸੂਚਕ {{eventId}} ਵਾਲੀ ਸਮੱਸਿਆ ਸਾਡੇ ਸਿਸਟਮ 'ਤੇ ਟਰੈਕ ਕੀਤੀ ਗਈ ਸੀ।",openIssueMessage:"ਅਸੀਂ ਬੜੇ ਸਾਵਧਾਨ ਸੀ ਕਿ ਗਲਤੀ ਵਿੱਚ ਤੁਹਾਡੇ ਦ੍ਰਿਸ਼ ਦੀ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਨਾ ਕਰੀਏ। ਜੇ ਤੁਹਾਡਾ ਦ੍ਰਿਸ਼ ਨਿੱਜੀ ਨਹੀਂ ਹੈ ਤਾਂ ਇਸ 'ਤੇ ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਜੀ <button>ਬੱਗ ਟਰੈਕਰ।</button>ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਨੂੰ ਕਾਪੀ ਕਰਕੇ ਗਿੱਟਹੱਬ ਮੁੱਦੇ ਵਿੱਚ ਪੇਸਟ ਕਰਕੇ ਸ਼ਾਮਲ ਕਰੋ ਜੀ।",sceneContent:"ਦ੍ਰਿਸ਼ ਦੀ ਸਮੱਗਰੀ:"},Nmu={desc_intro:"ਤੁਸੀਂ ਲੋਕਾਂ ਨੂੰ ਆਪਣੇ ਨਾਲ ਮੌਜੂਦਾ ਦ੍ਰਿਸ਼ 'ਤੇ ਸਹਿਯੋਗ ਕਰਨ ਲਈ ਸੱਦਾ ਭੇਜ ਸਕਦੇ ਹੋ।",desc_privacy:"ਫਿਕਰ ਨਾ ਕਰੋ, ਇਜਲਾਸ ਸਿਰੇ-ਤੋਂ-ਸਿਰੇ ਤੱਕ ਇਨਕਰਿਪਸ਼ਨ ਵਰਤਦਾ ਹੈ, ਸੋ ਜੋ ਕੁਝ ਵੀ ਤੁਸੀਂ ਵਾਹੁੰਦੇ ਹੋ ਉਹ ਨਿੱਜੀ ਹੀ ਰਹਿੰਦਾ ਹੈ। ਇੱਥੋਂ ਤੱਕ ਕਿ ਸਾਡੇ ਸਰਵਰ ਵੀ ਨਹੀਂ ਜਾਣ ਸਕਣਗੇ ਕਿ ਤੁਸੀਂ ਕੀ ਬਣਾਇਆ ਹੈ।",button_startSession:"ਇਜਲਾਸ ਸ਼ੁਰੂ ਕਰੋ",button_stopSession:"ਇਜਲਾਸ ਰੋਕੋ",desc_inProgressIntro:"ਲਾਇਵ ਸਹਿਯੋਗ ਇਜਲਾਸ ਹੁਣ ਚੱਲ ਰਿਹਾ ਹੈ।",desc_shareLink:"ਇਸ ਲਿੰਕ ਨੂੰ ਉਹਨਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ ਜਿਹਨਾਂ ਨਾਲ ਤੁਸੀਂ ਸਹਿਯੋਗ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ:",desc_exitSession:"ਇਜਲਾਸ ਨੂੰ ਰੋਕਣਾ ਤੁਹਾਡਾ ਕਮਰੇ ਨਾਲੋਂ ਨਾਤਾ ਤੋੜ ਦੇਵੇਗਾ, ਪਰ ਤੁਸੀਂ ਸਥਾਨਕ ਪੱਧਰ 'ਤੇ ਦ੍ਰਿਸ਼ ਨਾਲ ਕੰਮ ਕਰਨਾ ਜਾਰੀ ਰੱਖ ਸਕੋਗੇ। ਇਹ ਧਿਆਨ 'ਚ ਰੱਖੋ ਕਿ ਇਹ ਬਾਕੀ ਲੋਕਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਕਰੇਗਾ , ਅਤੇ ਉਹ ਹਾਲੇ ਵੀ ਆਪਣੇ ਸੰਸਕਰਨ 'ਤੇ ਸਹਿਯੋਗ ਕਰਨ ਦੇ ਕਾਬਲ ਹੋਣਗੇ।",shareTitle:"Excalidraw 'ਤੇ ਲਾਈਵ ਇਜਲਾਸ ਦਾ ਹਿੱਸਾ ਬਣੋ"},Vmu={title:"ਗਲਤੀ"},hmu={disk_title:"ਡਿਸਕ ਵਿੱਚ ਸਾਂਭੋ",disk_details:"ਦ੍ਰਿਸ਼ ਦਾ ਡਾਟਾ ਫਾਈਲ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ ਜਿੱਥੋਂ ਤੁਸੀਂ ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ ਆਯਾਤ ਕਰ ਸਕਦੇ ਹੋ।",disk_button:"ਫਾਈਲ ਵਿੱਚ ਸਾਂਭੋ",link_title:"ਸਾਂਝੀ ਕਰਨ ਵਾਲੀ ਲਿੰਕ",link_details:"ਸਿਰਫ ਦੇਖੇ-ਜਾਣ ਵਾਲੀ ਲਿੰਕ ਵਜੋਂ ਨਿਰਯਾਤ ਕਰੋ।",link_button:"ਲਿੰਕ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ",excalidrawplus_description:"ਆਪਣੇ ਦ੍ਰਿਸ਼ ਦੇ ਡਾਟੇ ਨੂੰ Excalidraw+ ਵਰਕਸਪੇਸ ਵਿੱਚ ਸਾਂਭੋ।",excalidrawplus_button:"ਨਿਰਯਾਤ ਕਰੋ",excalidrawplus_exportError:"ਇਸ ਸਮੇਂ Excalidraw+ ਵਿੱਚ ਨਿਰਯਾਤ ਨਹੀਂ ਕਰ ਸਕੇ..."},imu={blog:"ਸਾਡਾ ਬਲੌਗ ਪੜ੍ਹੋ",click:"ਕਲਿੱਕ",deepSelect:"",deepBoxSelect:"",curvedArrow:"ਵਿੰਗਾ ਤੀਰ",curvedLine:"ਵਿੰਗੀ ਲਕੀਰ",documentation:"ਕਾਗਜ਼ਾਤ",doubleClick:"ਡਬਲ-ਕਲਿੱਕ",drag:"ਘਸੀਟੋ",editor:"ਸੋਧਕ",editLineArrowPoints:"",editText:"",github:"ਕੋਈ ਸਮੱਸਿਆ ਲੱਭੀ? ਜਮ੍ਹਾਂ ਕਰਵਾਓ",howto:"ਸਾਡੀਆਂ ਗਾਈਡਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ",or:"ਜਾਂ",preventBinding:"ਤੀਰ ਬੱਝਣਾ ਰੋਕੋ",tools:"ਟੂਲ",shortcuts:"ਕੀਬੋਰਡ ਸ਼ਾਰਟਕੱਟ",textFinish:"ਸੋਧਣਾ ਮੁਕੰਮਲ ਕਰੋ (ਪਾਠ ਸੋਧਕ)",textNewLine:"ਨਵੀਂ ਪੰਕਤੀ ਜੋੜੋ (ਪਾਠ ਸੋਧਕ)",title:"ਮਦਦ",view:"ਦਿੱਖ",zoomToFit:"ਸਾਰੇ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਫਿੱਟ ਕਰਨ ਲਈ ਜ਼ੂਮ ਕਰੋ",zoomToSelection:"ਚੋਣ ਤੱਕ ਜ਼ੂਮ ਕਰੋ",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},amu={title:"ਕੈਨਵਸ ਨੂੰ ਸਾਫ਼ ਕਰੋ"},mmu={title:"ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਪ੍ਰਕਾਸ਼ਤ ਕਰੋ",itemName:"ਚੀਜ਼ ਦਾ ਨਾਂ",authorName:"ਲੇਖਕ ਦਾ ਨਾਂ",githubUsername:"ਗਿੱਟਹੱਬ ਵਰਤੋਂਕਾਰ ਨਾਂ",twitterUsername:"ਟਵਿੱਟਰ ਦਾ ਵਰਤੋਂਕਾਰ-ਨਾਂ",libraryName:"ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਨਾਂ",libraryDesc:"ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਵੇਰਵਾ",website:"ਵੈੱਬਸਾਇਟ",placeholder:{authorName:"ਤੁਹਾਡਾ ਨਾਂ ਜਾਂ ਵਰਤੋਂਕਾਰ-ਨਾਂ",libraryName:"ਤੁਹਾਡੀ ਲਾਇਬਰ੍ਰੀ ਦਾ ਨਾਂ",libraryDesc:"ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਵੇਰਵਾ ਤਾਂ ਜੋ ਲੋਕਾਂ ਨੂੰ ਇਸ ਤੋੰਂ ਇਸਦੀ ਵਰਤੋਂ ਕਰਨ ਸਬੰਧੀ ਮਦਦ ਮਿਲ ਸਕੇ",githubHandle:"",twitterHandle:"",website:""},errors:{required:"ਲੋੜੀਂਦਾ",website:"ਜਾਇਜ਼ URL ਭਰੋ"},noteDescription:"ਹੋਰ ਲੋਕਾਂ ਵੱਲੋਂ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਵਰਤਣ ਲਈ ਸਕਣ ਇਸ ਲਈ<link>ਜਨਤਕ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਰਿਪਾਜ਼ੀਟਰੀ</link> ਵਿੱਚ ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਸ਼ਾਮਲ ਕਰਵਾਉਣ ਲਈ ਜਮ੍ਹਾ ਕਰਵਾਓ",noteGuidelines:"<link>ਦਿਸ਼ਾ ਨਿਰਦੇਸ਼</link>",noteLicense:"<link>MIT ਲਾਇਸੈਂਸ, </link>",noteItems:"",atleastOneLibItem:"",republishWarning:""},$mu={title:"ਲਾਇਬ੍ਰੇਰੀ ਜਮ੍ਹਾਂ ਕਰਵਾਈ",content:"ਧੰਨਵਾਦ {{authorName}} ਜੀਉ। ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਸਮੀਖਿਆ ਲਈ ਭੇਜ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਉਸਦੀ ਸਥਿਤੀ <link>ਇੱਥੇ</link> ਦੇਖ ਸਕਦੇ ਹੋ।"},ymu={resetLibrary:"ਲਾਇਬ੍ਰੇਰੀ ਰੀਸੈੱਟ ਕਰੋ",removeItemsFromLib:"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚੋਂ ਚੁਣੀਆਂ ਹੋਈਆਂ ਆਈਟਮਾਂ ਹਟਾਓ"},rmu={header:"ਤਸਵੀਰ ਨਿਰਯਾਤ ਕਰੋ",label:{withBackground:"ਪਿਛੋਕੜ",onlySelected:"ਸਿਰਫ ਚੁਣੇ ਹੋਏ",darkMode:"ਡਾਰਕ ਮੋਡ",embedScene:"ਦ੍ਰਿਸ਼ ਮੜ੍ਹੋ",scale:"ਸਕੇਲ",padding:"ਪੈਡਿੰਗ"},tooltip:{embedScene:""},title:{exportToPng:"PNG ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ",exportToSvg:"SVG ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ",copyPngToClipboard:"PNG ਨੂੰ ਕਲਿੱਪੋਬਰਡ ‘ਤੇ ਕਾਪੀ ਕਰੋ"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"ਗੱਤੇ 'ਤੇ ਕਾਪੀ ਕਰੋ"}},gmu={tooltip:"ਤੁਹਾਡੀ ਡਰਾਇੰਗਾਂ ਸਿਰੇ-ਤੋਂ-ਸਿਰੇ ਤੱਕ ਇਨਕਰਿਪਟ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ, ਇਸ ਲਈ Excalidraw ਦੇ ਸਰਵਰ ਉਹਨਾਂ ਨੂੰ ਕਦੇ ਵੀ ਨਹੀਂ ਦੇਖਣਗੇ।",link:"Excalidraw ਵਿੱਚ ਸਿਰੇ-ਤੋਂ-ਸਿਰੇ ਤੱਕ ਇਨਕ੍ਰਿਪਸ਼ਨ 'ਤੇ ਬਲੌਗ ਸੰਪਾਦਨਾ"},cmu={angle:"ਕੋਣ",element:"ਐਲੀਮੈਂਟ",elements:"ਐਲੀਮੈਂਟ",height:"ਉਚਾਈ",scene:"ਦ੍ਰਿਸ਼",selected:"ਚੁਣੇ",storage:"ਸਟੋਰੇਜ",title:"ਪੜਾਕੂਆਂ ਲਈ ਅੰਕੜੇ",total:"ਕੁੱਲ",version:"ਸੰਸਕਰਨ",versionCopy:"ਕਾਪੀ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ",versionNotAvailable:"ਸੰਸਕਰਨ ਉਪਲਬਧ ਨਹੀਂ ਹੈ",width:"ਚੌੜਾਈ"},_mu={addedToLibrary:"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਜੋੜਿਆ",copyStyles:"ਕਾਪੀ ਕੀਤੇ ਸਟਾਇਲ।",copyToClipboard:"ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕੀਤਾ।",copyToClipboardAsPng:"{{exportSelection}} ਨੂੰ ਕਲਿੱਪਬੋਰਡ 'ਤੇ PNG ਵਜੋਂ ਕਾਪੀ ਕੀਤਾ ({{exportColorScheme}})",fileSaved:"ਫਾਈਲ ਸਾਂਭੀ ਗਈ।",fileSavedToFilename:"{filename} ਵਿੱਚ ਸਾਂਭੀ",canvas:"ਕੈਨਵਸ",selection:"ਚੋਣ",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},pmu={transparent:"ਪਾਰਦਰਸ਼ੀ",black:"ਕਾਲੀ",white:"ਸਫ਼ੈਦ",red:"ਲਾਲ",pink:"ਗੁਲਾਬੀ",grape:"ਅੰਗੂਰੀ",violet:"ਜਾਮਣੀ",gray:"ਸੁਰਮਈ",blue:"ਨੀਲਾ",cyan:"ਫਿਰੋਜੀ",teal:"ਟੀਲ",green:"ਹਰਾ",yellow:"ਪੀਲਾ",orange:"ਸੰਤਰੀ",bronze:"ਕਾਂਸੇਰੰਗਾ"},nmu={app:{center_heading:"ਤੁਹਾਡਾ ਸਾਰਾ ਡਾਟਾ ਤੁਹਾਡੇ ਲੋਕਲ ਬਰਾਉਜ਼ਰ ਵਿੱਚ ਸਾਂਭਿਆ ਹੋਇਆ ਹੈ।",center_heading_plus:"",menuHint:"ਨਿਰਯਾਤ, ਤਰਜੀਹਾਂ, ਭਾਸ਼ਾਵਾਂ, …"},defaults:{menuHint:"ਨਿਰਯਾਤ, ਤਰਜੀਹਾਂ, ਅਤੇ ਹੋਰ ਵੀ ਬਹੁਤ ਕੁਝ…",center_heading:"ਡਾਇਆਗ੍ਰਾਮਾਂ। ਕੀਤੀਆਂ। ਸੁਖਾਲੀਆਂ।",toolbarHint:"",helpHint:"ਸ਼ਾਰਟਕੱਟ ਤੇ ਮਦਦ"}},dmu={mostUsedCustomColors:"ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਕਸਟਮ ਰੰਗ",colors:"ਰੰਗ",shades:"ਸ਼ੇਡਾਂ",hexCode:"ਹੈਕਸ ਕੋਡ",noShades:"ਇਸ ਰੰਗ ਦੀ ਕੋਈ ਸ਼ੇਡ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"},smu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},omu={title:"",button:"",description:"",syntax:"",preview:""},lf3={labels:xmu,library:Wmu,buttons:Smu,alerts:Ymu,errors:Rmu,toolBar:Tmu,headings:Omu,hints:Imu,canvasError:Pmu,errorSplash:jmu,roomDialog:Nmu,errorDialog:Vmu,exportDialog:hmu,helpDialog:imu,clearCanvasDialog:amu,publishDialog:mmu,publishSuccessDialog:$mu,confirmDialog:ymu,imageExportDialog:rmu,encrypted:gmu,stats:cmu,toast:_mu,colors:pmu,welcomeScreen:nmu,colorPicker:dmu,overwriteConfirm:smu,mermaid:omu}});var u$u={};ju(u$u,{kaa:()=>WZ0,en:()=>xZ0,default:()=>Nn});var B$u=g(()=>{SZ0();m4()});var R$u={};ju(R$u,{welcomeScreen:()=>x$u,toolBar:()=>U$u,toast:()=>X$u,stats:()=>L$u,roomDialog:()=>b$u,publishSuccessDialog:()=>G$u,publishDialog:()=>Q$u,overwriteConfirm:()=>S$u,mermaid:()=>Y$u,library:()=>A$u,labels:()=>E$u,imageExportDialog:()=>q$u,hints:()=>k$u,helpDialog:()=>K$u,headings:()=>z$u,exportDialog:()=>J$u,errors:()=>F$u,errorSplash:()=>M$u,errorDialog:()=>Z$u,encrypted:()=>l$u,default:()=>Lf3,confirmDialog:()=>H$u,colors:()=>v$u,colorPicker:()=>W$u,clearCanvasDialog:()=>w$u,canvasError:()=>f$u,buttons:()=>C$u,alerts:()=>D$u});var E$u,A$u,C$u,D$u,F$u,U$u,z$u,k$u,f$u,M$u,b$u,Z$u,J$u,K$u,w$u,Q$u,G$u,H$u,q$u,l$u,L$u,X$u,v$u,x$u,W$u,S$u,Y$u,Lf3;var T$u=g(()=>{m4();E$u={paste:"Wklej",pasteAsPlaintext:"Wklej jako zwykły tekst",pasteCharts:"Wklej wykresy",selectAll:"Zaznacz wszystko",multiSelect:"Dodaj element do zaznaczenia",moveCanvas:"Przesuń obszar roboczy",cut:"Wytnij",copy:"Kopiuj",copyAsPng:"Skopiuj do schowka jako plik PNG",copyAsSvg:"Skopiuj do schowka jako plik SVG",copyText:"Skopiuj do schowka jako tekst",copySource:"Skopiuj źródło do schowka",convertToCode:"Skonwertuj do kodu",bringForward:"Przenieś wyżej",sendToBack:"Przenieś na spód",bringToFront:"Przenieś na wierzch",sendBackward:"Przenieś niżej",delete:"Usuń",copyStyles:"Kopiuj style",pasteStyles:"Wklej style",stroke:"Kolor obramowania",background:"Kolor wypełnienia",fill:"Wypełnienie",strokeWidth:"Grubość obramowania",strokeStyle:"Styl obrysu",strokeStyle_solid:"Pełny",strokeStyle_dashed:"Kreskowany",strokeStyle_dotted:"Kropkowany",sloppiness:"Styl kreski",opacity:"Przeźroczystość",textAlign:"Wyrównanie tekstu",edges:"Krawędzie",sharp:"Ostry",round:"Zaokrąglij",arrowheads:"Groty",arrowhead_none:"Brak",arrowhead_arrow:"Strzałka",arrowhead_bar:"Kreska",arrowhead_circle:"Okrąg",arrowhead_circle_outline:"Okrąg (obrys)",arrowhead_triangle:"Trójkąt",arrowhead_triangle_outline:"Trójkąt (obrys)",arrowhead_diamond:"Romb",arrowhead_diamond_outline:"Romb (obrys)",fontSize:"Rozmiar tekstu",fontFamily:"Krój pisma",addWatermark:'Dodaj "Zrobione w Excalidraw"',handDrawn:"Odręczny",normal:"Normalny",code:"Kod",small:"Mały",medium:"Średni",large:"Duży",veryLarge:"Bardzo duży",solid:"Pełne",hachure:"Linie",zigzag:"Zygzak",crossHatch:"Zakreślone",thin:"Cienkie",bold:"Pogrubione",left:"Do lewej",center:"Do środka",right:"Do prawej",extraBold:"Ekstra pogrubione",architect:"Dokładny",artist:"Artystyczny",cartoonist:"Rysunkowy",fileTitle:"Nazwa pliku",colorPicker:"Paleta kolorów",canvasColors:"Używane na płótnie",canvasBackground:"Kolor dokumentu",drawingCanvas:"Obszar roboczy",layers:"Warstwy",actions:"Akcje",language:"Język",liveCollaboration:"Współpraca w czasie rzeczywistym...",duplicateSelection:"Powiel",untitled:"Bez tytułu",name:"Nazwa",yourName:"Twoje imię",madeWithExcalidraw:"Zrobione w Excalidraw",group:"Zgrupuj wybrane",ungroup:"Rozgrupuj wybrane",collaborators:"Współtwórcy",showGrid:"Pokaż siatkę",addToLibrary:"Dodaj do biblioteki",removeFromLibrary:"Usuń z biblioteki",libraryLoadingMessage:"Wczytywanie biblioteki…",libraries:"Przeglądaj biblioteki",loadingScene:"Wczytywanie sceny…",align:"Wyrównaj",alignTop:"Wyrównaj do góry",alignBottom:"Wyrównaj do dołu",alignLeft:"Wyrównaj do lewej",alignRight:"Wyrównaj do prawej",centerVertically:"Wyśrodkuj w pionie",centerHorizontally:"Wyśrodkuj w poziomie",distributeHorizontally:"Rozłóż poziomo",distributeVertically:"Rozłóż pionowo",flipHorizontal:"Odwróć w poziomie",flipVertical:"Odwróć w pionie",viewMode:"Tryb widoku",share:"Udostępnij",showStroke:"Pokaż próbnik kolorów obrysu",showBackground:"Pokaż próbnik koloru tła",toggleTheme:"Przełącz motyw",personalLib:"Biblioteka prywatna",excalidrawLib:"Biblioteka Excalidraw",decreaseFontSize:"Zmniejsz rozmiar czcionki",increaseFontSize:"Zwiększ rozmiar czcionki",unbindText:"Odłącz tekst od kontenera",bindText:"Połącz tekst z kontenerem",createContainerFromText:"Zawijaj tekst w kontenerze",link:{edit:"Edytuj łącze",editEmbed:"Edytuj i osadź link",create:"Utwórz łącze",createEmbed:"Stwórz i osadź link",label:"Łącze",labelEmbed:"Podlinkuj i osadź",empty:"Nie ustawiono linku"},lineEditor:{edit:"Edytuj linię",exit:"Wyjdź z edytora linii"},elementLock:{lock:"Zablokuj",unlock:"Odblokuj",lockAll:"Zablokuj wszystko",unlockAll:"Odblokuj wszystko"},statusPublished:"Opublikowano",sidebarLock:"Panel boczny zawsze otwarty",selectAllElementsInFrame:"Zaznacz wszystkie elementy w ramce",removeAllElementsFromFrame:"Usuń wszystkie elementy z ramki",eyeDropper:"Wybierz kolor z płótna",textToDiagram:"Tekst do diagramu",prompt:""},A$u={noItems:"Nie dodano jeszcze żadnych elementów...",hint_emptyLibrary:"Wybierz element na płótnie, aby go tutaj dodać, lub zainstaluj bibliotekę z poniższego publicznego repozytorium.",hint_emptyPrivateLibrary:"Wybierz element, aby dodać go tutaj."},C$u={clearReset:"Wyczyść dokument i zresetuj kolor dokumentu",exportJSON:"Eksportuj do pliku",exportImage:"Eksportuj obraz...",export:"Zapisz jako...",copyToClipboard:"Skopiuj do schowka",save:"Zapisz do bieżącego pliku",saveAs:"Zapisz jako",load:"Otwórz",getShareableLink:"Udostępnij",close:"Zamknij",selectLanguage:"Wybierz język",scrollBackToContent:"Wróć do obszaru roboczego",zoomIn:"Powiększ",zoomOut:"Pomniejsz",resetZoom:"Zresetuj powiększenie",menu:"Menu",done:"Gotowe",edit:"Edytuj",undo:"Cofnij",redo:"Przywróć",resetLibrary:"Resetuj bibliotekę",createNewRoom:"Utwórz nowy pokój",fullScreen:"Pełny ekran",darkMode:"Ciemny motyw",lightMode:"Jasny motyw",zenMode:"Tryb Zen",objectsSnapMode:"Przyciąganie do obiektów",exitZenMode:"Wyjdź z trybu Zen",cancel:"Anuluj",clear:"Wyczyść",remove:"Usuń",embed:"Przełącz osadzenie",publishLibrary:"Opublikuj",submit:"Prześlij",confirm:"Zatwierdź",embeddableInteractionButton:"Kliknij, aby wejść w interakcję"},D$u={clearReset:"To spowoduje usunięcie wszystkiego z dokumentu. Czy chcesz kontynuować?",couldNotCreateShareableLink:"Wystąpił błąd przy generowaniu linka do udostępniania.",couldNotCreateShareableLinkTooBig:"Nie można utworzyć linku do udostępnienia: scena jest za duża",couldNotLoadInvalidFile:"Nie udało się otworzyć pliku. Wybrany plik jest nieprawidłowy.",importBackendFailed:"Wystąpił błąd podczas importowania pliku.",cannotExportEmptyCanvas:"Najpierw musisz coś narysować, aby zapisać dokument.",couldNotCopyToClipboard:"Nie udało się skopiować do schowka.",decryptFailed:"Nie udało się odszyfrować danych.",uploadedSecurly:"By zapewnić Ci prywatność, udostępnianie projektu jest zabezpieczone szyfrowaniem end-to-end, co oznacza, że poza tobą i osobą z którą podzielisz się linkiem, nikt nie ma dostępu do tego co udostępniasz.",loadSceneOverridePrompt:"Wczytanie zewnętrznego rysunku zastąpi istniejącą zawartość. Czy chcesz kontynuować?",collabStopOverridePrompt:`Zatrzymanie sesji nadpisze poprzedni, zapisany lokalnie rysunek. Czy jesteś pewien?
(Jeśli chcesz zachować swój lokalny rysunek, po prostu zamknij zakładkę przeglądarki.)`,errorAddingToLibrary:"Nie udało się dodać elementu do biblioteki",errorRemovingFromLibrary:"Nie udało się usunąć elementu z biblioteki",confirmAddLibrary:"To doda {{numShapes}} kształtów do twojej biblioteki. Jesteś pewien?",imageDoesNotContainScene:"Ten obraz nie zawiera żadnych informacji o scenie. Czy włączyłeś osadzanie sceny podczas eksportu?",cannotRestoreFromImage:"Scena nie mogła zostać przywrócona z pliku obrazu",invalidSceneUrl:"Nie udało się zaimportować sceny z podanego adresu URL. Jest ona wadliwa lub nie zawiera poprawnych danych Excalidraw w formacie JSON.",resetLibrary:"To wyczyści twoją bibliotekę. Jesteś pewien?",removeItemsFromsLibrary:"Usunąć {{count}} element(ów) z biblioteki?",invalidEncryptionKey:"Klucz szyfrowania musi składać się z 22 znaków. Współpraca na żywo jest wyłączona.",collabOfflineWarning:`Brak połączenia z Internetem.
Twoje zmiany nie zostaną zapisane!`},F$u={unsupportedFileType:"Nieobsługiwany typ pliku.",imageInsertError:"Nie udało się wstawić obrazu. Spróbuj ponownie później...",fileTooBig:"Plik jest zbyt duży. Maksymalny dozwolony rozmiar to {{maxSize}}.",svgImageInsertError:"Nie udało się wstawić obrazu SVG. Znacznik SVG wygląda na nieprawidłowy.",failedToFetchImage:"Nie udało się załadować obrazu.",invalidSVGString:"Nieprawidłowy SVG.",cannotResolveCollabServer:"Nie można połączyć się z serwerem współpracy w czasie rzeczywistym. Proszę odświeżyć stronę i spróbować ponownie.",importLibraryError:"Wystąpił błąd w trakcie ładowania biblioteki",collabSaveFailed:"Nie udało się zapisać w bazie danych. Jeśli problemy nie ustąpią, zapisz plik lokalnie, aby nie utracić swojej pracy.",collabSaveFailed_sizeExceeded:"Nie udało się zapisać w bazie danych — dokument jest za duży. Zapisz plik lokalnie, aby nie utracić swojej pracy.",imageToolNotSupported:"Dodawanie obrazów jest wyłączone.",brave_measure_text_error:{line1:"Wygląda na to, że używasz przeglądarki Brave z włączonym ustawieniem <bold>Agressively Block Fingerprinting</bold>.",line2:"Może to doprowadzić do złamania <bold>elementów tekstu</bold> na rysunkach.",line3:"Zdecydowanie zalecamy wyłączenie tego ustawienia. Możesz wykonać <link>te kroki</link>, aby to zrobić.",line4:"Jeśli wyłączenie tego ustawienia nie naprawia wyświetlania elementów tekstowych, zgłoś <issueLink>problem</issueLink> na naszym GitHubie lub napisz do nas na <discordLink>Discordzie</discordLink>"},libraryElementTypeError:{embeddable:"Elementy osadzone nie mogą zostać dodane do biblioteki.",iframe:"Elementy IFrame nie mogą zostać dodane do biblioteki.",image:"Dodawania obrazów do biblioteki nadejdzie wkrótce!"},asyncPasteFailedOnRead:"Nie udało się wkleić (nie udało się odczytać ze schowka systemowego).",asyncPasteFailedOnParse:"Nie udało się wkleić.",copyToSystemClipboardFailed:"Nie udało się skopiować do schowka."},U$u={selection:"Zaznaczenie",image:"Wstaw obraz",rectangle:"Prostokąt",diamond:"Romb",ellipse:"Elipsa",arrow:"Strzałka",line:"Linia",freedraw:"Rysuj",text:"Tekst",library:"Biblioteka",lock:"Zablokuj wybrane narzędzie",penMode:"Tryb pióra — zapobiegaj dotknięciom",link:"Dodaj/aktualizuj link dla wybranego kształtu",eraser:"Gumka",frame:"Ramka",magicframe:"Wireframe do kodu",embeddable:"Osadzenie z internetu",laser:"Wskaźnik laserowy",hand:"Ręka (narzędzie do przesuwania)",extraTools:"Więcej narzędzi",mermaidToExcalidraw:"Konwertuj diagram Mermaid do Excalidraw",magicSettings:"Ustawienia AI"},z$u={canvasActions:"Narzędzia",selectedShapeActions:"Wybrane narzędzie",shapes:"Kształty"},k$u={canvasPanning:"Aby przesunąć płótno, przytrzymaj kółko myszy lub spację podczas przeciągania, albo użyj narzędzia ręki",linearElement:"Naciśnij, aby zrobić punkt, przeciągnij, aby narysować linię",freeDraw:"Naciśnij i przeciągnij by rysować, puść kiedy skończysz",text:"Wskazówka: możesz również dodać tekst klikając dwukrotnie gdziekolwiek za pomocą narzędzia zaznaczania",embeddable:"Kliknij i przeciągnij, aby stworzyć osadzenie strony",text_selected:"Kliknij dwukrotnie lub naciśnij ENTER, aby edytować tekst",text_editing:"Naciśnij Escape lub Ctrl (Cmd w macOS) + ENTER, aby zakończyć edycję",linearElementMulti:"Aby zakończyć krzywą, ponownie kliknij w ostatni punkt, bądź naciśnij Esc albo Enter",lockAngle:"Możesz ograniczyć kąt trzymając SHIFT",resize:"Możesz zachować proporcję trzymająć wcisnięty SHIFT, przytrzymaj ALT by zmienić rozmiar względem środka",resizeImage:`Możesz zmienić rozmiar swobodnie trzymając SHIFT,
przytrzymaj ALT, aby przeskalować względem środka obiektu`,rotate:"Możesz obracać element w równych odstępach trzymając wciśnięty SHIFT",lineEditor_info:"Przytrzymaj CtrlOrCmd i kliknij dwukrotnie lub naciśnij CtrlOrCmd + Enter, aby edytować punkty",lineEditor_pointSelected:"Naciśnij przycisk Delete, aby usunąć punkt. Ctrl/Cmd+D, aby go zduplikować. Przeciągnij, aby go przenieść",lineEditor_nothingSelected:`Wybierz punkt do edycji (przytrzymaj SHIFT, aby wybrać wiele),
lub przytrzymaj Alt i kliknij, aby dodać nowe punkty`,placeImage:"Kliknij, aby umieścić obraz, lub kliknij i przeciągnij, aby ustawić jego rozmiar ręcznie",publishLibrary:"Opublikuj własną bibliotekę",bindTextToElement:"Wciśnij enter, aby dodać tekst",deepBoxSelect:"Przytrzymaj CtrlOrCmd, aby wybrać w obrębie grupy i uniknąć przeciągania",eraserRevert:"Przytrzymaj Alt, aby przywrócić elementy oznaczone do usunięcia",firefox_clipboard_write:'Ta funkcja może być włączona poprzez ustawienie flagi "dom.events.asyncClipboard.clipboardItem" na "true". Aby zmienić flagi przeglądarki w Firefox, odwiedź stronę "about:config".',disableSnapping:"Przytrzymaj Ctrl lub Cmd, aby wyłączyć przyciąganie"},f$u={cannotShowPreview:"Nie można wyświetlić podglądu",canvasTooBig:"Obszar roboczy może być za duży.",canvasTooBigTip:"Wskazówka: spróbuj nieco zbliżyć najdalej wysunięte elementy."},M$u={headingMain:"Wystąpił błąd. Spróbuj <button>odświeżyć stronę.</button>",clearCanvasMessage:"Jeśli odświeżenie strony nie zadziałało, spróbuj <button>usunąć wszystko z dokumentu.</button>",clearCanvasCaveat:" Pamiętaj tylko, że spowoduje to utratę całej twojej pracy ",trackedToSentry:"Błąd o identyfikatorze {{eventId}} został zaraportowany w naszym systemie.",openIssueMessage:"Szanujemy twoją prywatność i raport nie zawierał żadnych danych dotyczących tego nad czym pracowałeś, natomiast jeżeli jesteś w stanie podzielić się tym nad czym pracowałeś, prosimy o dodatkowy raport poprzez <button>nasze narzędzie do raportowania błędów.</button> Prosimy o dołączenie poniższej informacji poprzez skopiowanie jej i umieszczenie jej w zgłoszeniu na portalu GitHub.",sceneContent:"Zawartość dokumentu:"},b$u={desc_intro:"Będziesz w stanie pracować wraz z osobami które zaprosisz do współpracy.",desc_privacy:"By zapewnić Ci prywatność, sesja współpracy na żywo jest zabezpieczona szyfrowaniem end-to-end, co oznacza, że poza tobą i osobami z którymi podzielisz się linkiem, nikt nie ma dostępu do tego co będziecie tworzyć.",button_startSession:"Rozpocznij sesję",button_stopSession:"Zakończ sesję",desc_inProgressIntro:"Sesja współpracy na żywo właśnie się rozpoczęła.",desc_shareLink:"Udostępnij ten link osobom, z którymi chcesz współpracować:",desc_exitSession:"Zakończenie sesji spowoduje odłączenie ciebie od pokoju, ale nadal będziesz mógł lokalnie kontynuować pracę. Zauważ, że osoby z którymi współpracowałeś nadal będą mogły współpracować.",shareTitle:"Dołącz do sesji współpracy na żywo w Excalidraw"},Z$u={title:"Wystąpił błąd"},J$u={disk_title:"Zapisz na dysku",disk_details:"Eksportuj dane sceny do pliku, z którego możesz importować później.",disk_button:"Zapisz do pliku",link_title:"Link do udostępnienia",link_details:"Eksportuj jako link tylko do odczytu.",link_button:"Wygeneruj link",excalidrawplus_description:"Zapisz scenę do swojego obszaru roboczego Excalidraw+.",excalidrawplus_button:"Eksportuj",excalidrawplus_exportError:"W tej chwili nie można wyeksportować do Excalidraw+..."},K$u={blog:"Przeczytaj na naszym blogu",click:"kliknięcie",deepSelect:"Wybór w obrębie grupy",deepBoxSelect:"Wybór w obrębie grupy i unikanie przeciągania",curvedArrow:"Zakrzywiona strzałka",curvedLine:"Zakrzywiona linia",documentation:"Dokumentacja",doubleClick:"podwójne kliknięcie",drag:"przeciągnij",editor:"Edytor",editLineArrowPoints:"Edytuj punkty linii/strzałki",editText:"Edytuj tekst/dodaj etykietę",github:"Znalazłeś problem? Prześlij",howto:"Skorzystaj z instrukcji",or:"lub",preventBinding:"Zapobiegaj wiązaniu strzałek",tools:"Narzędzia",shortcuts:"Skróty klawiszowe",textFinish:"Zakończ edycję (edytor tekstu)",textNewLine:"Dodaj nowy wiersz (edytor tekstu)",title:"Pomoc",view:"Widok",zoomToFit:"Powiększ, aby wyświetlić wszystkie elementy",zoomToSelection:"Przybliż do zaznaczenia",toggleElementLock:"Zablokuj/odblokuj zaznaczenie",movePageUpDown:"Przesuń stronę w górę/w dół",movePageLeftRight:"Przenieś stronę w lewo/prawo"},w$u={title:"Wyczyść płótno"},Q$u={title:"Opublikuj bibliotekę",itemName:"Nazwa elementu",authorName:"Nazwa autora",githubUsername:"Nazwa użytkownika na GitHubie",twitterUsername:"Nazwa użytkownika Twitter",libraryName:"Nazwa biblioteki",libraryDesc:"Opis biblioteki",website:"Strona internetowa",placeholder:{authorName:"Twoje imię lub nazwa użytkownika",libraryName:"Nazwa twojej biblioteki",libraryDesc:"Opis twojej biblioteki, aby pomóc innym zrozumieć jej działanie",githubHandle:"Uchwyt GitHub (opcjonalny), dzięki czemu możesz edytować bibliotekę po przesłaniu do sprawdzenia",twitterHandle:"Nazwa użytkownika w serwisie Twitter (opcjonalna), aby wiedzieć kogo oznaczyć przy promowaniu na Twitterze",website:"Link do Twojej osobistej strony internetowej lub gdzie indziej (opcjonalnie)"},errors:{required:"Wymagane",website:"Wprowadź prawidłowy adres URL"},noteDescription:"<link></link>dla innych osób do wykorzystania w swoich rysunkach.",noteGuidelines:"Biblioteka musi być najpierw zatwierdzona ręcznie. Przeczytaj <link>wytyczne</link>",noteLicense:"Wysyłając zgadzasz się, że biblioteka zostanie opublikowana pod <link>Licencja MIT, </link>w skrócie, każdy może z nich korzystać bez ograniczeń.",noteItems:"Każdy element biblioteki musi mieć własną nazwę, aby był filtrowalny. Uwzględnione zostaną następujące elementy biblioteki:",atleastOneLibItem:"Proszę wybrać co najmniej jeden element biblioteki, by rozpocząć",republishWarning:"Uwaga: niektóre z wybranych elementów są oznaczone jako już opublikowane/wysłane. Powinieneś ponownie przesłać elementy tylko wtedy, gdy aktualizujesz istniejącą bibliotekę lub zgłoszenie."},G$u={title:"Biblioteka została przesłana",content:"Dziękujemy {{authorName}}. Twoja biblioteka została przesłana do sprawdzenia. Możesz śledzić jej stan<link>tutaj</link>"},H$u={resetLibrary:"Zresetuj Bibliotekę",removeItemsFromLib:"Usuń wybrane elementy z biblioteki"},q$u={header:"Eksportuj obraz",label:{withBackground:"Tło",onlySelected:"Tylko wybrane",darkMode:"Tryb ciemny",embedScene:"Osadź scenę",scale:"Skala",padding:"Dopełnienie"},tooltip:{embedScene:`Dane sceny zostaną zapisane w eksportowanym pliku PNG/SVG tak, aby scena mogła zostać z niego przywrócona.
Zwiększy to rozmiar eksportowanego pliku.`},title:{exportToPng:"Zapisz jako PNG",exportToSvg:"Zapisz jako SVG",copyPngToClipboard:"Skopiuj do schowka jako PNG"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Skopiuj do schowka"}},l$u={tooltip:"Twoje rysunki są zabezpieczone szyfrowaniem end-to-end, tak więc nawet w Excalidraw nie jesteśmy w stanie zobaczyć tego co tworzysz.",link:"Wpis na blogu dotyczący szyfrowania end-to-end w Excalidraw"},L$u={angle:"Kąt",element:"Element",elements:"Elementy",height:"Wysokość",scene:"Scena",selected:"Zaznaczenie",storage:"Pamięć",title:"Statystyki dla nerdów",total:"Łącznie",version:"Wersja",versionCopy:"Kliknij, aby skopiować",versionNotAvailable:"Wersja niedostępna",width:"Szerokość"},X$u={addedToLibrary:"Dodano do biblioteki",copyStyles:"Skopiowano style.",copyToClipboard:"Skopiowano do schowka.",copyToClipboardAsPng:`Skopiowano {{exportSelection}} do schowka jako PNG
({{exportColorScheme}})`,fileSaved:"Zapisano plik.",fileSavedToFilename:"Zapisano jako {filename}",canvas:"płótno",selection:"zaznaczenie",pasteAsSingleElement:`Użyj {{shortcut}}, aby wkleić jako pojedynczy element,
lub wklej do istniejącego edytora tekstu`,unableToEmbed:"Osadzenie tego linku jest obecnie niedozwolone. Zgłoś propozycję na portalu GitHub, aby dodać go do listy dozwolonych wyjątków",unrecognizedLinkFormat:'Osadzony link ma niewłaściwy format. Spróbuj wkleić całą zawartość pola "embed" z oryginalnej strony.'},v$u={transparent:"Przezroczysty",black:"Czarny",white:"Biały",red:"Czerwony",pink:"Różowy",grape:"Winogronowy",violet:"Fioletowy",gray:"Szary",blue:"Niebieski",cyan:"Cyjanowy",teal:"Turkusowy",green:"Zielony",yellow:"Żółty",orange:"Pomarańczowy",bronze:"Brązowy"},x$u={app:{center_heading:"Wszystkie dane są zapisywane lokalnie w przeglądarce.",center_heading_plus:"Czy zamiast tego chcesz przejść do Excalidraw+?",menuHint:"Eksportuj, preferencje, języki..."},defaults:{menuHint:"Eksportuj, preferencje i więcej...",center_heading:"Schematy uproszczone.",toolbarHint:"Wybierz narzędzie i zacznij rysować!",helpHint:"Skróty klawiaturowe i pomoc"}},W$u={mostUsedCustomColors:"Najczęściej używane kolory",colors:"Kolory",shades:"Odcienie",hexCode:"Kod HEX",noShades:"Brak dostępnych odcieni dla tego koloru"},S$u={action:{exportToImage:{title:"Eksportuj jako obraz",button:"Eksportuj jako obraz",description:"Eksportuj zawartość sceny jako obraz z możliwością importowania."},saveToDisk:{title:"Zapisz na dysku",button:"Zapisz na dysku",description:"Eksportuj zawartość sceny jako plik z możliwością importowania."},excalidrawPlus:{title:"Excalidraw+",button:"Eksportuj do Excalidraw+",description:"Zapisz scenę do swojego obszaru roboczego Excalidraw+."}},modal:{loadFromFile:{title:"Wczytaj z pliku",button:"Wczytaj z pliku",description:"Wczytanie z pliku <bold>nadpisze istniejącą zawartość</bold>.<br></br>Możesz najpierw utworzyć kopię zapasową swojego rysunku, używając jednej z poniższych opcji."},shareableLink:{title:"Wczytaj z linku",button:"Nadpisz moją zawartość",description:"Wczytanie zewnętrznego pliku <bold>nadpisze istniejącą zawartość</bold>.<br></br>Możesz najpierw utworzyć kopię zapasową swojego rysunku, używając jednej z poniższych opcji."}}},Y$u={title:"Konwertuj diagram Mermaid do Excalidraw",button:"Wstaw",description:"Obecnie wspierane są jedynie <flowchartLink>proste grafy</flowchartLink>, <sequenceLink>sekwencje</sequenceLink> i <classLink>diagramy klas</classLink>. Pozostałe typy będą wyświetlane jako obrazy w Excalidraw.",syntax:"Składnia diagramów Mermaid",preview:"Podgląd"},Lf3={labels:E$u,library:A$u,buttons:C$u,alerts:D$u,errors:F$u,toolBar:U$u,headings:z$u,hints:k$u,canvasError:f$u,errorSplash:M$u,roomDialog:b$u,errorDialog:Z$u,exportDialog:J$u,helpDialog:K$u,clearCanvasDialog:w$u,publishDialog:Q$u,publishSuccessDialog:G$u,confirmDialog:H$u,imageExportDialog:q$u,encrypted:l$u,stats:L$u,toast:X$u,colors:v$u,welcomeScreen:x$u,colorPicker:W$u,overwriteConfirm:S$u,mermaid:Y$u}});var Cyu={};ju(Cyu,{welcomeScreen:()=>uyu,toolBar:()=>V$u,toast:()=>t$u,stats:()=>o$u,roomDialog:()=>$$u,publishSuccessDialog:()=>p$u,publishDialog:()=>_$u,overwriteConfirm:()=>Eyu,mermaid:()=>Ayu,library:()=>I$u,labels:()=>O$u,imageExportDialog:()=>d$u,hints:()=>i$u,helpDialog:()=>g$u,headings:()=>h$u,exportDialog:()=>r$u,errors:()=>N$u,errorSplash:()=>m$u,errorDialog:()=>y$u,encrypted:()=>s$u,default:()=>Xf3,confirmDialog:()=>n$u,colors:()=>e$u,colorPicker:()=>Byu,clearCanvasDialog:()=>c$u,canvasError:()=>a$u,buttons:()=>P$u,alerts:()=>j$u});var O$u,I$u,P$u,j$u,N$u,V$u,h$u,i$u,a$u,m$u,$$u,y$u,r$u,g$u,c$u,_$u,p$u,n$u,d$u,s$u,o$u,t$u,e$u,uyu,Byu,Eyu,Ayu,Xf3;var Dyu=g(()=>{m4();O$u={paste:"Colar",pasteAsPlaintext:"Colar como texto sem formatação",pasteCharts:"Colar gráficos",selectAll:"Selecionar tudo",multiSelect:"Adicionar elemento à seleção",moveCanvas:"Mover tela",cut:"Recortar",copy:"Copiar",copyAsPng:"Copiar para a área de transferência como PNG",copyAsSvg:"Copiar para a área de transferência como SVG",copyText:"Copiar para área de transferência como texto",copySource:"",convertToCode:"",bringForward:"Trazer para a frente",sendToBack:"Enviar para o fundo",bringToFront:"Trazer para o primeiro plano",sendBackward:"Enviar para trás",delete:"Apagar",copyStyles:"Copiar os estilos",pasteStyles:"Colar os estilos",stroke:"Contorno",background:"Fundo",fill:"Preenchimento",strokeWidth:"Espessura do traço",strokeStyle:"Estilo de traço",strokeStyle_solid:"Sólido",strokeStyle_dashed:"Tracejado",strokeStyle_dotted:"Pontilhado",sloppiness:"Precisão do traço",opacity:"Opacidade",textAlign:"Alinhamento do texto",edges:"Arestas",sharp:"Pontudo",round:"Arredondado",arrowheads:"Pontas",arrowhead_none:"Nenhuma",arrowhead_arrow:"Flecha",arrowhead_bar:"Barra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Triângulo",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Tamanho da fonte",fontFamily:"Família da fonte",addWatermark:'Adicionar "Feito com Excalidraw"',handDrawn:"Manuscrito",normal:"Normal",code:"Código",small:"Pequeno",medium:"Médio",large:"Grande",veryLarge:"Muito grande",solid:"Sólido",hachure:"Hachura",zigzag:"Zigue-zague",crossHatch:"Hachura cruzada",thin:"Fino",bold:"Espesso",left:"Esquerda",center:"Centralizar",right:"Direita",extraBold:"Muito espesso",architect:"Arquiteto",artist:"Artista",cartoonist:"Cartunista",fileTitle:"Nome do arquivo",colorPicker:"Seletor de cores",canvasColors:"Usado na tela",canvasBackground:"Fundo da tela",drawingCanvas:"Tela de desenho",layers:"Camadas",actions:"Ações",language:"Idioma",liveCollaboration:"Colaboração ao vivo...",duplicateSelection:"Duplicar",untitled:"Sem título",name:"Nome",yourName:"Seu nome",madeWithExcalidraw:"Feito com Excalidraw",group:"Agrupar seleção",ungroup:"Desagrupar seleção",collaborators:"Colaboradores",showGrid:"Mostrar grade",addToLibrary:"Adicionar à biblioteca",removeFromLibrary:"Remover da biblioteca",libraryLoadingMessage:"Carregando biblioteca…",libraries:"Procurar bibliotecas",loadingScene:"Carregando cena…",align:"Alinhamento",alignTop:"Alinhar ao topo",alignBottom:"Alinhar embaixo",alignLeft:"Alinhar à esquerda",alignRight:"Alinhar à direita",centerVertically:"Centralizar verticalmente",centerHorizontally:"Centralizar horizontalmente",distributeHorizontally:"Distribuir horizontalmente",distributeVertically:"Distribuir verticalmente",flipHorizontal:"Inverter horizontalmente",flipVertical:"Inverter verticalmente",viewMode:"Modo de visualização",share:"Compartilhar",showStroke:"Exibir seletor de cores do traço",showBackground:"Exibir seletor de cores do fundo",toggleTheme:"Alternar tema",personalLib:"Biblioteca Pessoal",excalidrawLib:"Biblioteca do Excalidraw",decreaseFontSize:"Diminuir o tamanho da fonte",increaseFontSize:"Aumentar o tamanho da fonte",unbindText:"Desvincular texto",bindText:"Vincular texto ao contêiner",createContainerFromText:"Envolver texto em um contêiner",link:{edit:"Editar link",editEmbed:"",create:"Criar link",createEmbed:"",label:"Link",labelEmbed:"",empty:""},lineEditor:{edit:"Editar linha",exit:"Sair do editor de linha"},elementLock:{lock:"Bloquear",unlock:"Desbloquear",lockAll:"Bloquear tudo",unlockAll:"Desbloquear tudo"},statusPublished:"Publicado",sidebarLock:"Manter barra lateral aberta",selectAllElementsInFrame:"Selecionar todos os elementos no quadro",removeAllElementsFromFrame:"Remover todos os elementos do quadro",eyeDropper:"Escolher cor da tela",textToDiagram:"",prompt:""},I$u={noItems:"Nenhum item adicionado ainda...",hint_emptyLibrary:"Selecione um item na tela para adicioná-lo aqui, ou instale uma biblioteca do repositório público, abaixo.",hint_emptyPrivateLibrary:"Selecione um item na tela para adicioná-lo aqui."},P$u={clearReset:"Limpar o canvas e redefinir a cor de fundo",exportJSON:"Exportar arquivo",exportImage:"Exportar imagem...",export:"Salvar como...",copyToClipboard:"Copiar para o clipboard",save:"Salvar para o arquivo atual",saveAs:"Salvar como",load:"Abrir",getShareableLink:"Obter um link de compartilhamento",close:"Fechar",selectLanguage:"Selecionar idioma",scrollBackToContent:"Voltar para o conteúdo",zoomIn:"Aumentar zoom",zoomOut:"Diminuir zoom",resetZoom:"Redefinir zoom",menu:"Menu",done:"Concluído",edit:"Editar",undo:"Desfazer",redo:"Refazer",resetLibrary:"Redefinir biblioteca",createNewRoom:"Criar nova sala",fullScreen:"Tela cheia",darkMode:"Modo escuro",lightMode:"Modo claro",zenMode:"Modo Zen",objectsSnapMode:"",exitZenMode:"Sair do modo zen",cancel:"Cancelar",clear:"Limpar",remove:"Remover",embed:"",publishLibrary:"Publicar",submit:"Enviar",confirm:"Confirmar",embeddableInteractionButton:""},j$u={clearReset:"Isto irá limpar toda a tela. Você tem certeza?",couldNotCreateShareableLink:"Não foi possível criar um link de compartilhamento.",couldNotCreateShareableLinkTooBig:"Não foi possível criar um link compartilhável: a cena é muito grande",couldNotLoadInvalidFile:"Não foi possível carregar o arquivo inválido",importBackendFailed:"A importação do servidor falhou.",cannotExportEmptyCanvas:"Não é possível exportar um canvas vazio.",couldNotCopyToClipboard:"Não foi possível copiar para a área de transferência.",decryptFailed:"Não foi possível descriptografar os dados.",uploadedSecurly:"O upload foi protegido com criptografia de ponta a ponta, o que significa que o servidor do Excalidraw e terceiros não podem ler o conteúdo.",loadSceneOverridePrompt:"Carregar um desenho externo substituirá o seu conteúdo existente. Deseja continuar?",collabStopOverridePrompt:`Ao interromper a sessão, você substituirá seu desenho anterior, armazenado localmente. Você tem certeza?
(Se você deseja manter seu desenho local, simplesmente feche a aba do navegador.)`,errorAddingToLibrary:"Não foi possível adicionar o item à biblioteca",errorRemovingFromLibrary:"Não foi possível remover o item da biblioteca",confirmAddLibrary:"Isso adicionará {{numShapes}} forma(s) à sua biblioteca. Tem certeza?",imageDoesNotContainScene:"Esta imagem parece não conter dados de cenas. Você ativou a incorporação da cena durante a exportação?",cannotRestoreFromImage:"Não foi possível restaurar a cena deste arquivo de imagem",invalidSceneUrl:"Não foi possível importar a cena da URL fornecida. Ela está incompleta ou não contém dados JSON válidos do Excalidraw.",resetLibrary:"Isto limpará a sua biblioteca. Você tem certeza?",removeItemsFromsLibrary:"Excluir {{count}} item(ns) da biblioteca?",invalidEncryptionKey:"A chave de encriptação deve ter 22 caracteres. A colaboração ao vivo está desabilitada.",collabOfflineWarning:`Sem conexão com a internet disponível.
Suas alterações não serão salvas!`},N$u={unsupportedFileType:"Tipo de arquivo não suportado.",imageInsertError:"Não foi possível inserir imagem. Tente novamente mais tarde...",fileTooBig:"O arquivo é muito grande. O tamanho máximo permitido é {{maxSize}}.",svgImageInsertError:"Não foi possível inserir a imagem SVG. A marcação SVG parece inválida.",failedToFetchImage:"",invalidSVGString:"SVG Inválido.",cannotResolveCollabServer:"Não foi possível conectar-se ao servidor colaborativo. Por favor, recarregue a página e tente novamente.",importLibraryError:"Não foi possível carregar a biblioteca",collabSaveFailed:"Não foi possível salvar no banco de dados do servidor. Se os problemas persistirem, salve o arquivo localmente para garantir que não perca o seu trabalho.",collabSaveFailed_sizeExceeded:"Não foi possível salvar no banco de dados do servidor, a tela parece ser muito grande. Se os problemas persistirem, salve o arquivo localmente para garantir que não perca o seu trabalho.",imageToolNotSupported:"",brave_measure_text_error:{line1:"Parece que você está usando o navegador Brave com a configuração <bold>Bloquear Impressões Digitais</bold> no modo agressivo.",line2:"Isso pode acabar quebrando <bold>Elementos de Texto</bold> em seus desenhos.",line3:"Recomendamos fortemente desativar essa configuração. Você pode acessar o <link>passo a passo</link> sobre como fazer isso.",line4:"Se desativar essa configuração não corrigir a exibição de elementos de texto, por favor abra uma <issueLink>issue</issueLink> em nosso GitHub, ou mande uma mensagem em nosso <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},V$u={selection:"Seleção",image:"Inserir imagem",rectangle:"Retângulo",diamond:"Losango",ellipse:"Elipse",arrow:"Flecha",line:"Linha",freedraw:"Desenhar",text:"Texto",library:"Biblioteca",lock:"Manter ativa a ferramenta selecionada após desenhar",penMode:"Modo caneta — impede o toque",link:"Adicionar/Atualizar link para uma forma selecionada",eraser:"Borracha",frame:"Ferramenta de quadro",magicframe:"",embeddable:"",laser:"",hand:"Mão (ferramenta de rolagem)",extraTools:"Mais ferramentas",mermaidToExcalidraw:"",magicSettings:""},h$u={canvasActions:"Ações da tela",selectedShapeActions:"Ações das formas selecionadas",shapes:"Formas"},i$u={canvasPanning:"Para mover a tela, segure a roda do mouse ou a barra de espaço enquanto arrasta ou use a ferramenta de mão",linearElement:"Clique para iniciar vários pontos, arraste para uma única linha",freeDraw:"Toque e arraste, solte quando terminar",text:"Dica: você também pode adicionar texto clicando duas vezes em qualquer lugar com a ferramenta de seleção",embeddable:"",text_selected:"Clique duplo ou tecle ENTER para editar o texto",text_editing:"Pressione Esc ou Ctrl/Cmd+ENTER para encerrar a edição",linearElementMulti:"Clique no último ponto ou pressione Escape ou Enter para terminar",lockAngle:"Você pode restringir o ângulo segurando o SHIFT",resize:`Você pode restringir proporções segurando SHIFT enquanto redimensiona,
segure ALT para redimensionar do centro`,resizeImage:`Você pode redimensionar livremente segurando SHIFT,
segure ALT para redimensionar a partir do centro`,rotate:"Você pode restringir os ângulos segurando SHIFT enquanto gira",lineEditor_info:"Pressione CtrlOuCmd e duplo-clique ou pressione CtrlOuCmd + Enter para editar pontos",lineEditor_pointSelected:`Pressione Delete para remover o(s) ponto(s),
Ctrl/Cmd+D para duplicar ou arraste para mover`,lineEditor_nothingSelected:"Selecione um ponto para editar (segure SHIFT para selecionar vários) ou segure Alt e clique para adicionar novos pontos",placeImage:"Clique para colocar a imagem, ou clique e arraste para definir manualmente o seu tamanho",publishLibrary:"Publicar sua própria biblioteca",bindTextToElement:"Pressione Enter para adicionar o texto",deepBoxSelect:"Segure Ctrl/Cmd para seleção profunda e para evitar arrastar",eraserRevert:"Segure a tecla Alt para inverter os elementos marcados para exclusão",firefox_clipboard_write:'Esse recurso pode ser ativado configurando a opção "dom.events.asyncClipboard.clipboardItem" como "true". Para alterar os sinalizadores do navegador no Firefox, visite a página "about:config".',disableSnapping:""},a$u={cannotShowPreview:"Não é possível mostrar pré-visualização",canvasTooBig:"A tela pode ser muito grande.",canvasTooBigTip:"Dica: tente aproximar um pouco os elementos mais distantes."},m$u={headingMain:"Foi encontrado um erro. Tente <button>recarregar a página.</button>",clearCanvasMessage:"Se recarregar a página não funcionar, tente <button>limpando a tela.</button>",clearCanvasCaveat:" Isso resultará em perda de trabalho ",trackedToSentry:"O erro com o identificador {{eventId}} foi rastreado no nosso sistema.",openIssueMessage:"Fomos muito cautelosos para não incluir suas informações de cena no erro. Se sua cena não for privada, por favor, considere seguir nosso <button>rastreador de bugs.</button> Por favor, inclua informações abaixo, copiando e colando para a issue do GitHub.",sceneContent:"Conteúdo da cena:"},$$u={desc_intro:"Você pode convidar pessoas para sua cena atual para colaborar com você.",desc_privacy:"Não se preocupe, a sessão usa criptografia de ponta a ponta; portanto, o que você desenhar permanecerá privado. Nem mesmo nosso servidor poderá ver o que você cria.",button_startSession:"Iniciar sessão",button_stopSession:"Parar sessão",desc_inProgressIntro:"A sessão de colaboração ao vivo está agora em andamento.",desc_shareLink:"Compartilhe este link com qualquer pessoa com quem você queira colaborar:",desc_exitSession:"Interrompendo a sessão você irá se desconectar da sala, mas você poderá continuar trabalhando com a cena localmente. Observe que isso não afetará outras pessoas, e elas ainda poderão colaborar em suas versões.",shareTitle:"Participe de uma sessão ao vivo de colaboração no Excalidraw"},y$u={title:"Erro"},r$u={disk_title:"Salvar no computador",disk_details:"Exportar os dados da cena para um arquivo que você poderá importar mais tarde.",disk_button:"Salvar em um arquivo",link_title:"Link compartilhável",link_details:"Exportar como link de apenas leitura.",link_button:"Exportar link",excalidrawplus_description:"Salvar a cena na sua área de trabalho Excalidraw+.",excalidrawplus_button:"Exportar",excalidrawplus_exportError:"Não é possível exportar para o Excalidraw+ neste momento..."},g$u={blog:"Leia o nosso blog",click:"clicar",deepSelect:"Seleção profunda",deepBoxSelect:"Use a seleção profunda dentro da caixa para previnir arrastar",curvedArrow:"Seta curva",curvedLine:"Linha curva",documentation:"Documentação",doubleClick:"clique duplo",drag:"arrastar",editor:"Editor",editLineArrowPoints:"Editar linha/ponta da seta",editText:"Editar texto / adicionar etiqueta",github:"Encontrou algum problema? Nos informe",howto:"Siga nossos guias",or:"ou",preventBinding:"Evitar fixação de seta",tools:"Ferramentas",shortcuts:"Atalhos de teclado",textFinish:"Encerrar edição (editor de texto)",textNewLine:"Adicionar nova linha (editor de texto)",title:"Ajudar",view:"Visualizar",zoomToFit:"Ampliar para encaixar todos os elementos",zoomToSelection:"Ampliar a seleção",toggleElementLock:"Bloquear/desbloquear seleção",movePageUpDown:"Mover a página para cima/baixo",movePageLeftRight:"Mover a página para esquerda/direita"},c$u={title:"Limpar a tela"},_$u={title:"Publicar biblioteca",itemName:"Nome do item",authorName:"Nome do autor",githubUsername:"Nome de usuário do GitHub",twitterUsername:"Nome de usuário do Twitter",libraryName:"Nome da Biblioteca",libraryDesc:"Descrição da biblioteca",website:"Site",placeholder:{authorName:"Seu nome ou nome de usuário",libraryName:"Nome da sua biblioteca",libraryDesc:"Descrição para ajudar as pessoas a entenderem o uso da sua da sua biblioteca",githubHandle:"Identificador do GitHub (opcional), para que você possa editar a biblioteca depois de enviar para revisão",twitterHandle:"Nome de usuário do Twitter (opcional), para que saibamos quem deve ser creditado se promovermos no Twitter",website:"Link para o seu site pessoal ou outro lugar (opcional)"},errors:{required:"Obrigatório",website:"Informe uma URL válida"},noteDescription:"Envie sua biblioteca para ser incluída no <link>repositório de biblioteca pública</link>para outras pessoas usarem em seus desenhos.",noteGuidelines:"A biblioteca precisa ser aprovada manualmente primeiro. Por favor leia o <link>orientações</link> antes de enviar. Você precisará de uma conta do GitHub para se comunicar e fazer alterações quando solicitado, mas não é estritamente necessário.",noteLicense:"Ao enviar, você concorda que a biblioteca será publicada sob a <link>Licença MIT, </link>o que, em suma, significa que qualquer pessoa pode utilizá-los sem restrições.",noteItems:"Cada item da biblioteca deve ter seu próprio nome para que seja filtrável. Os seguintes itens da biblioteca serão incluídos:",atleastOneLibItem:"Por favor, selecione pelo menos um item da biblioteca para começar",republishWarning:"Nota: alguns dos itens selecionados estão marcados como já publicado/enviado. Você só deve reenviar itens ao atualizar uma biblioteca existente ou submissão."},p$u={title:"Biblioteca enviada",content:"Obrigado {{authorName}}. Sua biblioteca foi enviada para análise. Você pode acompanhar o status<link>aqui</link>"},n$u={resetLibrary:"Redefinir biblioteca",removeItemsFromLib:"Remover itens selecionados da biblioteca"},d$u={header:"Exportar imagem",label:{withBackground:"Fundo",onlySelected:"Somente selecionados",darkMode:"Modo escuro",embedScene:"Incorporar cena",scale:"Escala",padding:"Margem interna"},tooltip:{embedScene:`Os dados da cena serão salvos no arquivo PNG/SVG exportado para que a cena possa ser restaurada a partir dele.
Isso aumentará o tamanho do arquivo exportado.`},title:{exportToPng:"Exportar como PNG",exportToSvg:"Exportar como SVG",copyPngToClipboard:"Copiar PNG para área de transferência"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copiar para a área de transferência"}},s$u={tooltip:"Seus desenhos são criptografados de ponta a ponta, então os servidores do Excalidraw nunca os verão.",link:"Publicação de blog com criptografia de ponta a ponta no Excalidraw"},o$u={angle:"Ângulo",element:"Elemento",elements:"Elementos",height:"Altura",scene:"Cena",selected:"Selecionado",storage:"Armazenamento",title:"Estatísticas para nerds",total:"Total",version:"Versão",versionCopy:"Clique para copiar",versionNotAvailable:"Versão não disponível",width:"Largura"},t$u={addedToLibrary:"Adicionado à biblioteca",copyStyles:"Estilos copiados.",copyToClipboard:"Copiado para área de transferência.",copyToClipboardAsPng:"{{exportSelection}} copiado para a área de transferência como PNG ({{exportColorScheme}})",fileSaved:"Arquivo salvo.",fileSavedToFilename:"Salvo em {filename}",canvas:"tela",selection:"seleção",pasteAsSingleElement:`Use {{shortcut}} para colar como um único elemento,
ou cole em um editor de texto já existente`,unableToEmbed:"",unrecognizedLinkFormat:""},e$u={transparent:"Transparente",black:"Preto",white:"Branco",red:"Vermelho",pink:"Rosa",grape:"Uva",violet:"Violeta",gray:"Cinza",blue:"Azul",cyan:"Ciano",teal:"Verde-azulado",green:"Verde",yellow:"Amarelo",orange:"Laranja",bronze:"Bronze"},uyu={app:{center_heading:"Todos os dados são salvos localmente no seu navegador.",center_heading_plus:"Você queria ir para o Excalidraw+ em vez disso?",menuHint:"Exportar, preferências, idiomas..."},defaults:{menuHint:"Exportar, preferências e mais...",center_heading:"Diagramas, Feito. Simples.",toolbarHint:"Escolha uma ferramenta e comece a desenhar!",helpHint:"Atalhos e ajuda"}},Byu={mostUsedCustomColors:"Cores personalizadas mais usadas",colors:"Cores",shades:"Tons",hexCode:"Código hexadecimal",noShades:"Sem tons disponíveis para essa cor"},Eyu={action:{exportToImage:{title:"Exportar como imagem",button:"Exportar como imagem",description:"Exportar os dados da cena para um arquivo que você poderá importar mais tarde."},saveToDisk:{title:"Salvar no computador",button:"Salvar no computador",description:"Exportar os dados da cena para um arquivo que você poderá importar mais tarde."},excalidrawPlus:{title:"Excalidraw+",button:"Exportar para Excalidraw+",description:"Salvar a cena na sua área de trabalho Excalidraw+."}},modal:{loadFromFile:{title:"Carregar de arquivo",button:"Carregar de arquivo",description:"Carregar de um arquivo irá <bold> substituir o conteúdo existente</bold>.<br></br>Você pode salvar seu desenho primeiro usando uma das opções abaixo."},shareableLink:{title:"Carregar de um link",button:"Substituir meu conteúdo",description:"Carregar um desenho externo irá <bold> substituir seu conteúdo existente</bold>.<br></br>Você pode salvar seu desenho antes utilizando uma das opções abaixo."}}},Ayu={title:"",button:"",description:"",syntax:"",preview:""},Xf3={labels:O$u,library:I$u,buttons:P$u,alerts:j$u,errors:N$u,toolBar:V$u,headings:h$u,hints:i$u,canvasError:a$u,errorSplash:m$u,roomDialog:$$u,errorDialog:y$u,exportDialog:r$u,helpDialog:g$u,clearCanvasDialog:c$u,publishDialog:_$u,publishSuccessDialog:p$u,confirmDialog:n$u,imageExportDialog:d$u,encrypted:s$u,stats:o$u,toast:t$u,colors:e$u,welcomeScreen:uyu,colorPicker:Byu,overwriteConfirm:Eyu,mermaid:Ayu}});var Pyu={};ju(Pyu,{welcomeScreen:()=>Ryu,toolBar:()=>Myu,toast:()=>Syu,stats:()=>Wyu,roomDialog:()=>wyu,publishSuccessDialog:()=>Lyu,publishDialog:()=>lyu,overwriteConfirm:()=>Oyu,mermaid:()=>Iyu,library:()=>Uyu,labels:()=>Fyu,imageExportDialog:()=>vyu,hints:()=>Zyu,helpDialog:()=>Hyu,headings:()=>byu,exportDialog:()=>Gyu,errors:()=>fyu,errorSplash:()=>Kyu,errorDialog:()=>Qyu,encrypted:()=>xyu,default:()=>vf3,confirmDialog:()=>Xyu,colors:()=>Yyu,colorPicker:()=>Tyu,clearCanvasDialog:()=>qyu,canvasError:()=>Jyu,buttons:()=>zyu,alerts:()=>kyu});var Fyu,Uyu,zyu,kyu,fyu,Myu,byu,Zyu,Jyu,Kyu,wyu,Qyu,Gyu,Hyu,qyu,lyu,Lyu,Xyu,vyu,xyu,Wyu,Syu,Yyu,Ryu,Tyu,Oyu,Iyu,vf3;var jyu=g(()=>{m4();Fyu={paste:"Colar",pasteAsPlaintext:"Colar como texto simples",pasteCharts:"Colar gráficos",selectAll:"Selecionar tudo",multiSelect:"Adicionar elemento à seleção",moveCanvas:"Mover tela",cut:"Cortar",copy:"Copiar",copyAsPng:"Copiar para a área de transferência como PNG",copyAsSvg:"Copiar para a área de transferência como SVG",copyText:"Copiar para Área de Transferência como texto",copySource:"",convertToCode:"",bringForward:"Trazer para o primeiro plano",sendToBack:"Enviar para o plano de fundo",bringToFront:"Trazer para o primeiro plano",sendBackward:"Enviar para trás",delete:"Apagar",copyStyles:"Copiar os estilos",pasteStyles:"Colar os estilos",stroke:"Contornos",background:"Fundo",fill:"Preenchimento",strokeWidth:"Espessura do traço",strokeStyle:"Estilo de traço",strokeStyle_solid:"Sólido",strokeStyle_dashed:"Tracejado",strokeStyle_dotted:"Pontilhado",sloppiness:"Desleixo",opacity:"Opacidade",textAlign:"Alinhamento do texto",edges:"Arestas",sharp:"Aguçado",round:"Redondo",arrowheads:"Pontas",arrowhead_none:"Nenhuma",arrowhead_arrow:"Seta",arrowhead_bar:"Barra",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Triângulo",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Tamanho da fonte",fontFamily:"Família da fontes",addWatermark:'Adicionar "Feito com Excalidraw"',handDrawn:"Manuscrito",normal:"Normal",code:"Código",small:"Pequeno",medium:"Médio",large:"Grande",veryLarge:"Muito grande",solid:"Sólido",hachure:"Eclosão",zigzag:"ziguezague",crossHatch:"Sombreado",thin:"Fino",bold:"Espesso",left:"Esquerda",center:"Centralizar",right:"Direita",extraBold:"Muito espesso",architect:"Arquitecto",artist:"Artista",cartoonist:"Caricaturista",fileTitle:"Nome do ficheiro",colorPicker:"Seletor de cores",canvasColors:"Usado na tela",canvasBackground:"Fundo da área de desenho",drawingCanvas:"Área de desenho",layers:"Camadas",actions:"Ações",language:"Idioma",liveCollaboration:"Colaboração ao vivo...",duplicateSelection:"Duplicar",untitled:"Sem título",name:"Nome",yourName:"O seu nome",madeWithExcalidraw:"Feito com Excalidraw",group:"Agrupar seleção",ungroup:"Desagrupar seleção",collaborators:"Colaboradores",showGrid:"Mostrar grelha",addToLibrary:"Adicionar à biblioteca",removeFromLibrary:"Remover da biblioteca",libraryLoadingMessage:"A carregar a biblioteca…",libraries:"Procurar bibliotecas",loadingScene:"A carregar a cena…",align:"Alinhamento",alignTop:"Alinhar ao topo",alignBottom:"Alinhar ao fundo",alignLeft:"Alinhar à esquerda",alignRight:"Alinhar à direita",centerVertically:"Centrar verticalmente",centerHorizontally:"Centrar horizontalmente",distributeHorizontally:"Distribuir horizontalmente",distributeVertically:"Distribuir verticalmente",flipHorizontal:"Inverter horizontalmente",flipVertical:"Inverter verticalmente",viewMode:"Modo de visualização",share:"Partilhar",showStroke:"Mostrar seletor de cores do traço",showBackground:"Mostrar seletor de cores do fundo",toggleTheme:"Alternar tema",personalLib:"Biblioteca pessoal",excalidrawLib:"Biblioteca do Excalidraw",decreaseFontSize:"Reduzir o tamanho do tipo de letra",increaseFontSize:"Aumentar o tamanho do tipo de letra",unbindText:"Desvincular texto",bindText:"Ligar texto ao recipiente",createContainerFromText:"Envolver texto num recipiente",link:{edit:"Editar ligação",editEmbed:"",create:"Criar ligação",createEmbed:"",label:"Ligação",labelEmbed:"",empty:""},lineEditor:{edit:"Editar linha",exit:"Sair do editor de linha"},elementLock:{lock:"Bloquear",unlock:"Desbloquear",lockAll:"Bloquear todos",unlockAll:"Desbloquear todos"},statusPublished:"Publicado",sidebarLock:"Manter a barra lateral aberta",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},Uyu={noItems:"Ainda não foram adicionados nenhuns itens...",hint_emptyLibrary:"Seleccione um item na tela para adicioná-lo aqui, ou então instale uma biblioteca do repositório público abaixo.",hint_emptyPrivateLibrary:"Seleccione um item na tela para adicioná-lo aqui."},zyu={clearReset:"Limpar a área de desenho e redefinir a cor de fundo",exportJSON:"Exportar para ficheiro",exportImage:"Exportar imagem...",export:"Guardar para...",copyToClipboard:"Copiar para o clipboard",save:"Guardar no ficheiro atual",saveAs:"Guardar como",load:"Abrir",getShareableLink:"Obter um link de partilha",close:"Fechar",selectLanguage:"Selecionar idioma",scrollBackToContent:"Voltar ao conteúdo",zoomIn:"Aumentar zoom",zoomOut:"Diminuir zoom",resetZoom:"Redefinir zoom",menu:"Menu",done:"Concluído",edit:"Editar",undo:"Desfazer",redo:"Refazer",resetLibrary:"Repor a biblioteca",createNewRoom:"Criar nova sala",fullScreen:"Ecrã inteiro",darkMode:"Modo escuro",lightMode:"Modo claro",zenMode:"Modo zen",objectsSnapMode:"",exitZenMode:"Sair do modo zen",cancel:"Cancelar",clear:"Limpar",remove:"Remover",embed:"",publishLibrary:"Publicar",submit:"Enviar",confirm:"Confirmar",embeddableInteractionButton:""},kyu={clearReset:"Isto irá limpar toda a área de desenho. Tem a certeza?",couldNotCreateShareableLink:"Não foi possível criar um link partilhável.",couldNotCreateShareableLinkTooBig:"Não foi possível criar um link partilhável: a cena é muito grande",couldNotLoadInvalidFile:"Não foi possível carregar o ficheiro inválido",importBackendFailed:"A importação do servidor falhou.",cannotExportEmptyCanvas:"Não é possível exportar uma área de desenho vazia.",couldNotCopyToClipboard:"Não foi possível copiar para a área de transferência.",decryptFailed:"Não foi possível desencriptar os dados.",uploadedSecurly:"O upload foi protegido com criptografia de ponta a ponta, o que significa que o servidor do Excalidraw e terceiros não podem ler o conteúdo.",loadSceneOverridePrompt:"Se carregar um desenho externo substituirá o conteúdo existente. Quer continuar?",collabStopOverridePrompt:`Ao interromper a sessão irá substituir o último desenho guardado. Tem a certeza?
(Caso queira manter o último desenho, simplesmente feche a janela do navegador.)`,errorAddingToLibrary:"Não foi possível adicionar o item à biblioteca",errorRemovingFromLibrary:"Não foi possível remover o item da biblioteca",confirmAddLibrary:"Isso adicionará {{numShapes}} forma(s) à sua biblioteca. Tem a certeza?",imageDoesNotContainScene:"Esta imagem parece não conter dados de cenas. Ativou a incorporação da cena durante a exportação?",cannotRestoreFromImage:"Não foi possível restaurar a cena deste ficheiro de imagem",invalidSceneUrl:"Não foi possível importar a cena a partir do URL fornecido. Ou está mal formado ou não contém dados JSON do Excalidraw válidos.",resetLibrary:"Isto irá limpar a sua biblioteca. Tem a certeza?",removeItemsFromsLibrary:"Apagar {{count}} item(ns) da biblioteca?",invalidEncryptionKey:"Chave de encriptação deve ter 22 caracteres. A colaboração ao vivo está desativada.",collabOfflineWarning:`Sem ligação à internet disponível.
As suas alterações não serão salvas!`},fyu={unsupportedFileType:"Tipo de ficheiro não suportado.",imageInsertError:"Não foi possível inserir a imagem, tente novamente mais tarde...",fileTooBig:"O ficheiro é muito grande. O tamanho máximo permitido é {{maxSize}}.",svgImageInsertError:"Não foi possível inserir a imagem SVG. A marcação SVG parece inválida.",failedToFetchImage:"",invalidSVGString:"SVG inválido.",cannotResolveCollabServer:"Não foi possível fazer a ligação ao servidor colaborativo. Por favor, volte a carregar a página e tente novamente.",importLibraryError:"Não foi possível carregar a biblioteca",collabSaveFailed:"Não foi possível guardar na base de dados de backend. Se os problemas persistirem, guarde o ficheiro localmente para garantir que não perde o seu trabalho.",collabSaveFailed_sizeExceeded:"Não foi possível guardar na base de dados de backend, o ecrã parece estar muito grande. Deve guardar o ficheiro localmente para garantir que não perde o seu trabalho.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Myu={selection:"Seleção",image:"Inserir imagem",rectangle:"Retângulo",diamond:"Losango",ellipse:"Elipse",arrow:"Flecha",line:"Linha",freedraw:"Desenhar",text:"Texto",library:"Biblioteca",lock:"Manter a ferramenta selecionada ativa após desenhar",penMode:"Modo caneta - impedir toque",link:"Acrescentar/ Adicionar ligação para uma forma seleccionada",eraser:"Borracha",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Mão (ferramenta de movimento da tela)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},byu={canvasActions:"Ações da área de desenho",selectedShapeActions:"Ações das formas selecionadas",shapes:"Formas"},Zyu={canvasPanning:"Para mover a tela, carregue na roda do rato ou na barra de espaço enquanto arrasta, ou use a ferramenta da mão",linearElement:"Clique para iniciar vários pontos, arraste para uma única linha",freeDraw:"Clique e arraste, large quando terminar",text:"Dica: também pode adicionar texto clicando duas vezes em qualquer lugar com a ferramenta de seleção",embeddable:"",text_selected:"Clique duas vezes ou pressione a tecla Enter para editar o texto",text_editing:"Pressione a tecla Escape ou CtrlOrCmd+ENTER para terminar a edição",linearElementMulti:"Clique no último ponto ou pressione Escape ou Enter para terminar",lockAngle:"Pode restringir o ângulo mantendo premida a tecla SHIFT",resize:`Pode restringir as proporções mantendo a tecla SHIFT premida enquanto redimensiona,
mantenha a tecla ALT premida para redimensionar a partir do centro`,resizeImage:`Pode redimensionar livremente mantendo pressionada a tecla SHIFT,
mantenha pressionada a tecla ALT para redimensionar do centro`,rotate:"Pode restringir os ângulos mantendo a tecla SHIFT premida enquanto roda",lineEditor_info:"Pressione CtrlOrCmd e faça um duplo-clique ou pressione CtrlOrCmd + Enter para editar pontos",lineEditor_pointSelected:"Carregue na tecla Delete para remover o(s) ponto(s), CtrlOuCmd+D para duplicar, ou arraste para mover",lineEditor_nothingSelected:`Seleccione um ponto para editar (carregue em SHIFT para seleccionar vários),
ou carregue em Alt e clique para acrescentar novos pontos`,placeImage:"Clique para colocar a imagem ou clique e arraste para definir o seu tamanho manualmente",publishLibrary:"Publique a sua própria biblioteca",bindTextToElement:"Carregue Enter para acrescentar texto",deepBoxSelect:"Mantenha a tecla CtrlOrCmd carregada para selecção profunda, impedindo o arrastamento",eraserRevert:"Carregue também em Alt para reverter os elementos marcados para serem apagados",firefox_clipboard_write:'Esta função pode provavelmente ser ativada definindo a opção "dom.events.asyncClipboard.clipboardItem" como "true". Para alterar os sinalizadores do navegador no Firefox, visite a página "about:config".',disableSnapping:""},Jyu={cannotShowPreview:"Não é possível mostrar uma pré-visualização",canvasTooBig:"A área de desenho pode ser muito grande.",canvasTooBigTip:"Dica: tente aproximar um pouco os elementos mais distantes."},Kyu={headingMain:"Foi encontrado um erro. Tente <button>recarregar a página.</button>",clearCanvasMessage:"Se a recarga não funcionar, tente <button>a limpar a área de desenho.</button>",clearCanvasCaveat:" Isso resultará em perda de trabalho ",trackedToSentry:"O erro com o identificador {{eventId}} foi rastreado no nosso sistema.",openIssueMessage:"Fomos muito cautelosos para não incluir suas informações de cena no erro. Se sua cena não for privada, por favor, considere seguir nosso <button>rastreador de bugs.</button> Por favor, inclua informações abaixo, copiando e colando no relatório de erros no GitHub.",sceneContent:"Conteúdo da cena:"},wyu={desc_intro:"Pode convidar pessoas para colaborarem na sua cena atual.",desc_privacy:"Não se preocupe, a sessão usa criptografia de ponta-a-ponta, por isso o que desenhar permanecerá privado. Nem mesmo o nosso servidor poderá ver o que cria.",button_startSession:"Iniciar sessão",button_stopSession:"Parar sessão",desc_inProgressIntro:"A sessão de colaboração ao vivo está agora em andamento.",desc_shareLink:"Partilhe este link com qualquer pessoa com quem queira colaborar:",desc_exitSession:"Interrompendo a sessão irá desconectar-se da sala, mas poderá continuar a trabalhar com a cena localmente. Note que isso não afetará outras pessoas e elas ainda poderão colaborar nas versões deles.",shareTitle:"Participe numa sessão de colaboração ao vivo no Excalidraw"},Qyu={title:"Erro"},Gyu={disk_title:"Guardar no disco",disk_details:"Exportar os dados da cena para um ficheiro do qual poderá importar mais tarde.",disk_button:"Guardar num ficheiro",link_title:"Link partilhável",link_details:"Exportar como um link de apenas leitura.",link_button:"Exportar para link",excalidrawplus_description:"Guardar a cena no seu espaço de trabalho Excalidraw+",excalidrawplus_button:"Exportar",excalidrawplus_exportError:"Não foi possível exportar para o Excalidraw+ neste momento..."},Hyu={blog:"Leia o nosso blogue",click:"clicar",deepSelect:"Selecção profunda",deepBoxSelect:"Selecção profunda dentro da caixa, impedindo que seja arrastada",curvedArrow:"Seta curva",curvedLine:"Linha curva",documentation:"Documentação",doubleClick:"clique duplo",drag:"arrastar",editor:"Editor",editLineArrowPoints:"Editar pontos de linha/seta",editText:"Editar texto / adicionar etiqueta",github:"Encontrou algum problema? Informe-nos",howto:"Siga os nossos guias",or:"ou",preventBinding:"Prevenir fixação de seta",tools:"Ferramentas",shortcuts:"Atalhos de teclado",textFinish:"Finalizar edição (editor texto)",textNewLine:"Adicionar nova linha (editor de texto)",title:"Ajuda",view:"Visualizar",zoomToFit:"Ajustar para todos os elementos caberem",zoomToSelection:"Ampliar a seleção",toggleElementLock:"Trancar/destrancar selecção",movePageUpDown:"Mover página para cima / baixo",movePageLeftRight:"Mover página para esquerda / direita"},qyu={title:"Apagar tela"},lyu={title:"Publicar biblioteca",itemName:"Nome do item",authorName:"Nome do autor",githubUsername:"Nome de utilizador do GitHub",twitterUsername:"Nome de utilizador no Twitter",libraryName:"Nome da biblioteca",libraryDesc:"Descrição da biblioteca",website:"Página web",placeholder:{authorName:"Introduza o seu nome ou nome de utilizador",libraryName:"Nome da sua biblioteca",libraryDesc:"Descrição da sua biblioteca para ajudar as pessoas a entender a utilização dela",githubHandle:"Identificador do GitHub (opcional), para que possa editar a biblioteca depois desta ser enviada para revisão",twitterHandle:"Nome do Twitter (opcional), para que saibamos quem merece os créditos na promoção via Twitter",website:"Ligação para a sua página pessoal ou qualquer outra (opcional)"},errors:{required:"Obrigatório",website:"Introduza um URL válido"},noteDescription:"Envie a sua biblioteca para ser incluída no <link>repositório de bibliotecas públicas</link>para outras pessoas a poderem usar nos seus próprios desenhos.",noteGuidelines:"A biblioteca precisa ser aprovada manualmente primeiro. Por favor, leia <link>orientações</link> antes de enviar. Vai precisar de uma conta no GitHub para comunicar e fazer alterações se solicitado, mas não é estritamente necessária.",noteLicense:"Ao enviar, concorda que a biblioteca será publicada sob a <link>Licença MIT, </link>o que significa, de forma resumida, que qualquer pessoa pode utilizá-la sem restrições.",noteItems:"Cada item da biblioteca deve ter o seu próprio nome para que este seja pesquisável com filtros. Os seguintes itens da biblioteca serão incluídos:",atleastOneLibItem:"Por favor, seleccione pelo menos um item da biblioteca para começar",republishWarning:"Nota: alguns dos itens seleccionados estão marcados como já publicados/enviados. Só deve reenviar itens ao actualizar uma biblioteca existente ou submissão."},Lyu={title:"Biblioteca enviada",content:"Obrigado {{authorName}}. A sua biblioteca foi enviada para análise. Pode acompanhar o status<link>aqui</link>"},Xyu={resetLibrary:"Repor a biblioteca",removeItemsFromLib:"Remover os itens seleccionados da biblioteca"},vyu={header:"Exportar imagem",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"Cena embutida",scale:"",padding:"Espaçamento"},tooltip:{embedScene:""},title:{exportToPng:"Exportar em PNG",exportToSvg:"Exportar em SVG",copyPngToClipboard:""},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:""}},xyu={tooltip:"Os seus desenhos são encriptados de ponta-a-ponta, por isso os servidores do Excalidraw nunca os verão.",link:"Publicação de blogue na encriptação ponta-a-ponta no Excalidraw"},Wyu={angle:"Ângulo",element:"Elemento",elements:"Elementos",height:"Altura",scene:"Cena",selected:"Selecionado",storage:"Armazenamento",title:"Estatísticas para nerds",total:"Total",version:"Versão",versionCopy:"Clique para copiar",versionNotAvailable:"Versão não disponível",width:"Largura"},Syu={addedToLibrary:"Acrescentado à biblioteca",copyStyles:"Estilos copiados.",copyToClipboard:"Copiado para a área de transferência.",copyToClipboardAsPng:`{{exportSelection}} copiado para a área de transferência como PNG
({{exportColorScheme}})`,fileSaved:"Ficheiro guardado.",fileSavedToFilename:"Guardado como {filename}",canvas:"área de desenho",selection:"seleção",pasteAsSingleElement:`Usar {{shortcut}} para colar como um único elemento,
ou colar num editor de texto existente`,unableToEmbed:"",unrecognizedLinkFormat:""},Yyu={transparent:"Transparente",black:"Preto",white:"Branco",red:"Vermelho",pink:"Rosa",grape:"Uva",violet:"Violeta",gray:"Cinza",blue:"Azul",cyan:"",teal:"",green:"Verde",yellow:"Amarelo",orange:"Laranja",bronze:"Bronze"},Ryu={app:{center_heading:"Todos os dados são guardados no seu navegador local.",center_heading_plus:"Queria antes ir para o Excalidraw+?",menuHint:"Exportar, preferências, idiomas..."},defaults:{menuHint:"Exportar, preferências e outros...",center_heading:"Diagramas. Feito. Simples.",toolbarHint:"Escolha uma ferramenta e comece a desenhar!",helpHint:"Atalhos e ajuda"}},Tyu={mostUsedCustomColors:"",colors:"Cores",shades:"Tons",hexCode:"",noShades:""},Oyu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"Guardar no disco",button:"Guardar no disco",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"Carregar a partir de ficheiro",button:"Carregar a partir de ficheiro",description:""},shareableLink:{title:"",button:"",description:""}}},Iyu={title:"",button:"",description:"",syntax:"",preview:""},vf3={labels:Fyu,library:Uyu,buttons:zyu,alerts:kyu,errors:fyu,toolBar:Myu,headings:byu,hints:Zyu,canvasError:Jyu,errorSplash:Kyu,roomDialog:wyu,errorDialog:Qyu,exportDialog:Gyu,helpDialog:Hyu,clearCanvasDialog:qyu,publishDialog:lyu,publishSuccessDialog:Lyu,confirmDialog:Xyu,imageExportDialog:vyu,encrypted:xyu,stats:Wyu,toast:Syu,colors:Yyu,welcomeScreen:Ryu,colorPicker:Tyu,overwriteConfirm:Oyu,mermaid:Iyu}});var zru={};ju(zru,{welcomeScreen:()=>Cru,toolBar:()=>myu,toast:()=>Eru,stats:()=>Bru,roomDialog:()=>cyu,publishSuccessDialog:()=>oyu,publishDialog:()=>syu,overwriteConfirm:()=>Fru,mermaid:()=>Uru,library:()=>Vyu,labels:()=>Nyu,imageExportDialog:()=>eyu,hints:()=>yyu,helpDialog:()=>nyu,headings:()=>$yu,exportDialog:()=>pyu,errors:()=>ayu,errorSplash:()=>gyu,errorDialog:()=>_yu,encrypted:()=>uru,default:()=>xf3,confirmDialog:()=>tyu,colors:()=>Aru,colorPicker:()=>Dru,clearCanvasDialog:()=>dyu,canvasError:()=>ryu,buttons:()=>hyu,alerts:()=>iyu});var Nyu,Vyu,hyu,iyu,ayu,myu,$yu,yyu,ryu,gyu,cyu,_yu,pyu,nyu,dyu,syu,oyu,tyu,eyu,uru,Bru,Eru,Aru,Cru,Dru,Fru,Uru,xf3;var kru=g(()=>{m4();Nyu={paste:"Lipire",pasteAsPlaintext:"Inserare ca text simplu",pasteCharts:"Lipire diagrame",selectAll:"Selectare totală",multiSelect:"Adaugă element la selecție",moveCanvas:"Mutare pânză",cut:"Decupare",copy:"Copiere",copyAsPng:"Copiere în memoria temporară ca PNG",copyAsSvg:"Copiere în memoria temporară ca SVG",copyText:"Copiere în memoria temporară ca text",copySource:"Copiere sursă în memoria temporară",convertToCode:"Convertire în cod",bringForward:"Aducere în plan apropiat",sendToBack:"Trimitere în ultimul plan",bringToFront:"Aducere în prim plan",sendBackward:"Trimitere în plan secundar",delete:"Ștergere",copyStyles:"Copiere stiluri",pasteStyles:"Lipire stiluri",stroke:"Contur",background:"Fundal",fill:"Umplere",strokeWidth:"Lățimea conturului",strokeStyle:"Stilul conturului",strokeStyle_solid:"Neîntrerupt",strokeStyle_dashed:"Liniuțe",strokeStyle_dotted:"Punctat",sloppiness:"Aspectul trasării",opacity:"Opacitate",textAlign:"Alinierea textului",edges:"Margini",sharp:"Ascuțite",round:"Rotunde",arrowheads:"Vârfuri de săgeată",arrowhead_none:"Niciunul",arrowhead_arrow:"Săgeată",arrowhead_bar:"Bară",arrowhead_circle:"Cerc",arrowhead_circle_outline:"Cerc (contur)",arrowhead_triangle:"Triunghi",arrowhead_triangle_outline:"Triunghi (contur)",arrowhead_diamond:"Romb",arrowhead_diamond_outline:"Romb (contur)",fontSize:"Dimensiune font",fontFamily:"Familia de fonturi",addWatermark:"Adaugă „Realizat cu Excalidraw”",handDrawn:"Scris de mână",normal:"Normal",code:"Cod",small:"Mică",medium:"Medie",large:"Mare",veryLarge:"Foarte mare",solid:"Plină",hachure:"Hașură",zigzag:"Zigzag",crossHatch:"Hașură transversală",thin:"Subțire",bold:"Îngroșată",left:"Stânga",center:"Centru",right:"Dreapta",extraBold:"Extra îngroșată",architect:"Arhitect",artist:"Artist",cartoonist:"Caricaturist",fileTitle:"Nume de fișier",colorPicker:"Selector de culoare",canvasColors:"Folosite pe pânză",canvasBackground:"Fundalul pânzei",drawingCanvas:"Pânză pentru desenat",layers:"Straturi",actions:"Acțiuni",language:"Limbă",liveCollaboration:"Colaborare în direct...",duplicateSelection:"Duplicare",untitled:"Nedenumit",name:"Nume",yourName:"Numele tău",madeWithExcalidraw:"Realizat cu Excalidraw",group:"Grupare selecție",ungroup:"Degrupare selecție",collaborators:"Colaboratori",showGrid:"Afișare grilă",addToLibrary:"Adăugare la bibliotecă",removeFromLibrary:"Eliminare din bibliotecă",libraryLoadingMessage:"Se încarcă biblioteca…",libraries:"Răsfoiește bibliotecile",loadingScene:"Se încarcă scena…",align:"Aliniere",alignTop:"Aliniere sus",alignBottom:"Aliniere jos",alignLeft:"Aliniere la stânga",alignRight:"Aliniere la dreapta",centerVertically:"Centrare verticală",centerHorizontally:"Centrare orizontală",distributeHorizontally:"Distribuie orizontal",distributeVertically:"Distribuie vertical",flipHorizontal:"Răsturnare orizontală",flipVertical:"Răsturnare verticală",viewMode:"Mod de vizualizare",share:"Distribuie",showStroke:"Afișare selector culoare contur",showBackground:"Afișare selector culoare fundal",toggleTheme:"Comutare temă",personalLib:"Biblioteca personală",excalidrawLib:"Biblioteca Excalidraw",decreaseFontSize:"Micșorează dimensiunea fontului",increaseFontSize:"Mărește dimensiunea fontului",unbindText:"Deconectare text",bindText:"Legare text de container",createContainerFromText:"Încadrare text într-un container",link:{edit:"Editare URL",editEmbed:"Editare URL și încorporare",create:"Creare URL",createEmbed:"Creare URL și încorporare",label:"URL",labelEmbed:"URL și încorporare",empty:"Nu este setat niciun URL"},lineEditor:{edit:"Editare linie",exit:"Părăsire editor de linii"},elementLock:{lock:"Blocare",unlock:"Deblocare",lockAll:"Blocare toate",unlockAll:"Deblocare toate"},statusPublished:"Publicat",sidebarLock:"Păstrează deschisă bara laterală",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"Alegere culoare din pânză",textToDiagram:"Text la diagramă",prompt:"Solicitare"},Vyu={noItems:"Niciun element adăugat încă...",hint_emptyLibrary:"Selectează un element de pe pânză pentru a-l adăuga aici sau instalează o bibliotecă din depozitul public, de mai jos.",hint_emptyPrivateLibrary:"Selectează un element de pe pânză pentru a-l adăuga aici."},hyu={clearReset:"Resetare pânză",exportJSON:"Exportare la fișiere",exportImage:"Exportare imagine...",export:"Salvare în...",copyToClipboard:"Copiere în memoria temporară",save:"Salvare în fișierul curent",saveAs:"Salvare ca",load:"Deschidere",getShareableLink:"Obține URL partajabil",close:"Închidere",selectLanguage:"Selectare limbă",scrollBackToContent:"Derulare înapoi la conținut",zoomIn:"Apropiere",zoomOut:"Depărtare",resetZoom:"Resetare transfocare",menu:"Meniu",done:"Efectuat",edit:"Edit",undo:"Anulare",redo:"Refacere",resetLibrary:"Resetare bibliotecă",createNewRoom:"Creare cameră nouă",fullScreen:"Ecran complet",darkMode:"Mod întunecat",lightMode:"Mod luminos",zenMode:"Mod zen",objectsSnapMode:"Ancorare la obiecte",exitZenMode:"Ieșire din modul zen",cancel:"Anulare",clear:"Ștergere",remove:"Eliminare",embed:"Comutare încorporare",publishLibrary:"Publicare",submit:"Trimitere",confirm:"Confirmare",embeddableInteractionButton:"Clic pentru interacționare"},iyu={clearReset:"Această opțiune va șterge întreaga pânză. Confirmi?",couldNotCreateShareableLink:"Nu s-a putut crea un URL partajabil.",couldNotCreateShareableLinkTooBig:"Nu s-a putut crea un URL partajabil: scena este prea mare",couldNotLoadInvalidFile:"Fișierul invalid nu a putut fi încărcat",importBackendFailed:"Importarea de la nivel de server a eșuat.",cannotExportEmptyCanvas:"Nu se poate exporta pânza goală.",couldNotCopyToClipboard:"Nu s-a putut copia în memoria temporară.",decryptFailed:"Datele nu au putut fi decriptate.",uploadedSecurly:"Încărcarea a fost securizată prin criptare integrală, însemnând că serverul Excalidraw și terții nu pot citi conținutul.",loadSceneOverridePrompt:"Încărcarea desenului extern va înlocui conținutul existent. Dorești să continui?",collabStopOverridePrompt:`Oprirea sesiunii va suprascrie desenul anterior stocat local. Confirmi alegerea?
(Dacă vrei să păstrezi desenul local, pur și simplu închide fila navigatorului în schimb.)`,errorAddingToLibrary:"Elementul nu a putut fi adăugat în bibliotecă",errorRemovingFromLibrary:"Elementul nu a putut fi eliminat din bibliotecă",confirmAddLibrary:"Această acțiune va adăuga {{numShapes}} formă(e) la biblioteca ta. Confirmi?",imageDoesNotContainScene:"Această imagine nu pare să conțină date de scenă. Ai activat încorporarea scenei în timpul exportului?",cannotRestoreFromImage:"Scena nu a putut fi restaurată din acest fișier de imagine",invalidSceneUrl:"Scena nu a putut fi importată din URL-ul furnizat. Este fie incorect formată, fie nu conține date JSON Excalidraw valide.",resetLibrary:"Această opțiune va elimina conținutul din bibliotecă. Confirmi?",removeItemsFromsLibrary:"Ștergi {{count}} element(e) din bibliotecă?",invalidEncryptionKey:"Cheia de criptare trebuie să aibă 22 de caractere. Colaborarea în direct este dezactivată.",collabOfflineWarning:`Nu este disponibilă nicio conexiune la internet.
Modificările nu vor fi salvate!`},ayu={unsupportedFileType:"Tip de fișier neacceptat.",imageInsertError:"Imaginea nu a putut fi introdusă. Reîncearcă mai târziu...",fileTooBig:"Fișierul este prea mare. Dimensiunea maximă permisă este de {{maxSize}}.",svgImageInsertError:"Imaginea SVG nu a putut fi introdus. Marcajul SVG pare invalid.",failedToFetchImage:"Preluarea imaginii a eșuat.",invalidSVGString:"SVG invalid.",cannotResolveCollabServer:"Nu a putut fi realizată conexiunea la serverul de colaborare. Reîncarcă pagina și încearcă din nou.",importLibraryError:"Biblioteca nu a putut fi încărcată",collabSaveFailed:"Nu s-a putut salva în baza de date la nivel de server. Dacă problemele persistă, ar trebui să salvezi fișierul la nivel local pentru a te asigura că nu îți pierzi munca.",collabSaveFailed_sizeExceeded:"Nu s-a putut salva în baza de date la nivel de server, întrucât se pare că pânza este prea mare. Ar trebui să salvezi fișierul la nivel local pentru a te asigura că nu îți pierzi munca.",imageToolNotSupported:"Imaginile sunt dezactivate.",brave_measure_text_error:{line1:"Se pare că folosești navigatorul Brave cu opțiunea <bold>strictă pentru blocarea amprentării</bold>.",line2:"Acest lucru poate duce la întreruperea <bold>elementelor text</bold> din desene.",line3:"Îți recomandăm ferm să dezactivezi această setare. Poți urma <link>acești pași</link> pentru a face acest lucru.",line4:"Dacă dezactivarea acestei setări nu duce la remedierea afișării elementelor text, deschide un tichet de <issueLink>problemă</issueLink> pe pagina noastră de GitHub sau scrie-ne pe <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Elementele încorporabile nu pot fi adăugate la bibliotecă.",iframe:"Elementele iFrame nu pot fi adăugate la bibliotecă.",image:"În curând vor putea fi adăugate imagini în bibliotecă!"},asyncPasteFailedOnRead:"Lipirea nu a putut fi efectuată (nu s-a putut citit din memoria temporară a sistemului).",asyncPasteFailedOnParse:"Lipirea nu a putut fi efectuată.",copyToSystemClipboardFailed:"Nu s-a putut copia în memoria temporară."},myu={selection:"Selecție",image:"Introducere imagine",rectangle:"Dreptunghi",diamond:"Romb",ellipse:"Elipsă",arrow:"Săgeată",line:"Linie",freedraw:"Desenare",text:"Text",library:"Bibliotecă",lock:"Menține activ instrumentul selectat după desenare",penMode:"Mod stilou împiedică atingerea",link:"Adăugare/actualizare URL pentru forma selectată",eraser:"Radieră",frame:"",magicframe:"Structură-de-fire la cod",embeddable:"Încorporare web",laser:"Indicator laser",hand:"Mână (instrument de panoramare)",extraTools:"",mermaidToExcalidraw:"Mermaid la Excalidraw",magicSettings:"Setări IA"},$yu={canvasActions:"Acțiuni pentru pânză",selectedShapeActions:"Acțiuni pentru forma selectată",shapes:"Forme"},yyu={canvasPanning:"Pentru a muta pânză, ține apăsată rotița mausului sau bara de spațiu sau folosește instrumentul în formă de mână",linearElement:"Dă clic pentru a crea mai multe puncte, glisează pentru a forma o singură linie",freeDraw:"Dă clic pe pânză și glisează cursorul, apoi eliberează-l când ai terminat",text:"Sfat: poți adăuga text și dând dublu clic oriunde cu instrumentul de selecție",embeddable:"Dă clic și trage pentru a crea un cod de încorporare de pagină web",text_selected:"Dă dublu clic sau apasă tasta Enter pentru a edita textul",text_editing:"Apasă tasta Escape sau Ctrl sau Cmd + Enter pentru a finaliza editarea",linearElementMulti:"Dă clic pe ultimul punct sau apasă tasta Escape sau tasta Enter pentru a termina",lockAngle:"Poți constrânge unghiul prin ținerea apăsată a tastei SHIFT",resize:`Poți constrânge proporțiile, ținând apăsată tasta SHIFT în timp ce redimensionezi,
ține apăsată tasta ALT pentru a redimensiona de la centru`,resizeImage:`Poți redimensiona liber ținând apăsată tasta SHIFT,
ține apăsată tasta ALT pentru a redimensiona din centru`,rotate:"Poți constrânge unghiurile, ținând apăsată tasta SHIFT în timp ce rotești",lineEditor_info:"Ține apăsată tasta Ctrl sau Cmd și dă dublu clic sau apasă tasta Ctrl sau Cmd + Enter pentru a edita puncte",lineEditor_pointSelected:`Apasă tasta Delete pentru a elimina punctele,
combinația de taste Ctrl sau Cmd + D pentru a le duplica sau glisează-le pentru a le schimba poziția`,lineEditor_nothingSelected:`Selectează un punct pentru a-l edita (ține apăsată tasta SHIFT pentru a selecta mai multe),
sau ține apăsată tasta Alt și dă clic pentru a adăuga puncte noi`,placeImage:"Dă clic pentru a poziționa imaginea sau dă clic și glisează pentru a seta manual dimensiunea imaginii",publishLibrary:"Publică propria bibliotecă",bindTextToElement:"Apasă tasta Enter pentru a adăuga text",deepBoxSelect:"Ține apăsată tasta Ctrl sau Cmd pentru a efectua selectarea de adâncime și pentru a preveni glisarea",eraserRevert:"Ține apăsată tasta Alt pentru a anula elementele marcate pentru ștergere",firefox_clipboard_write:"Această caracteristică poate fi probabil activată prin setarea preferinței „dom.events.asyncClipboard.clipboardItem” ca „true”. Pentru a schimba preferințele navigatorului în Firefox, accesează pagina „about:config”.",disableSnapping:"Ține apăsat CtrlOrCmd pentru a dezactiva ancorarea"},ryu={cannotShowPreview:"Nu se poate afișa previzualizarea",canvasTooBig:"Pânza poate fi prea mare.",canvasTooBigTip:"Sfat: încearcă să apropii puțin mai mult elementele cele mai îndepărtate."},gyu={headingMain:"A apărut o eroare. Încearcă <button>să reîncarci pagina</button>.",clearCanvasMessage:"Dacă reîncărcarea nu funcționează, încearcă <button>să ștergi pânza</button>.",clearCanvasCaveat:" Acest lucru va duce la pierderea progresului ",trackedToSentry:"Eroarea cu identificatorul {{eventId}} a fost urmărită în sistemul nostru.",openIssueMessage:"Am luat măsuri de precauție pentru a nu include informații despre scenă în eroare. Dacă scena nu este privată, oferă-ne mai multe informații în <button>monitorul nostru pentru erori</button>. Include informațiile de mai jos copiindu-le și lipindu-le în tichetul cu problemă de pe GitHub.",sceneContent:"Conținutul scenei:"},cyu={desc_intro:"Poți invita alte persoane pentru a colabora la scena actuală.",desc_privacy:"Nu te îngrijora. Sesiunea utilizează criptarea integrală, astfel încât orice desenezi va rămâne privat. Nici măcar serverul nostru nu va putea vedea pe ce ai lucrat.",button_startSession:"Pornire sesiune",button_stopSession:"Oprire sesiune",desc_inProgressIntro:"Sesiunea de colaborare în direct este în curs de desfășurare.",desc_shareLink:"Distribuie acest URL persoanelor cu care dorești să colaborezi:",desc_exitSession:"Oprirea sesiunii te va deconecta de la sală, însă vei putea lucra în continuare, pe plan local, cu scena. Reține că această opțiune nu va afecta alte persoane, iar acestea vor putea să colaboreze în continuare pe versiunea lor.",shareTitle:"Alătură-te unei sesiuni de colaborare în direct pe Excalidraw"},_yu={title:"Eroare"},pyu={disk_title:"Salvare pe disc",disk_details:"Exportă datele scenei pe un fișier din care poți importa mai târziu.",disk_button:"Salvare în fișier",link_title:"URL partajabil",link_details:"Exportă ca URL doar în citire.",link_button:"Exportare în URL",excalidrawplus_description:"Salvează scena în spațiul de lucru Excalidraw+.",excalidrawplus_button:"Exportare",excalidrawplus_exportError:"Excalidraw+ nu a putut fi exportat în acest moment..."},nyu={blog:"Citește blogul nostru",click:"clic",deepSelect:"Selectare de adâncime",deepBoxSelect:"Selectare de adâncime în casetă și prevenire glisare",curvedArrow:"Săgeată curbată",curvedLine:"Linie curbată",documentation:"Documentație",doubleClick:"dublu clic",drag:"glisare",editor:"Editor",editLineArrowPoints:"Editare puncte de săgeată/rând",editText:"Editare text/adăugare etichetă",github:"Ai întâmpinat o problemă? Trimite un raport",howto:"Urmărește ghidurile noastre",or:"sau",preventBinding:"Împiedică legarea săgeții",tools:"Instrumente",shortcuts:"Comenzi rapide de la tastatură",textFinish:"Finalizează editarea (editor de text)",textNewLine:"Adaugă o linie nouă (editor de text)",title:"Ajutor",view:"Vizualizare",zoomToFit:"Transfocare pentru a cuprinde totul",zoomToSelection:"Transfocare la selecție",toggleElementLock:"Blocare/deblocare selecție",movePageUpDown:"Deplasare pagină sus/jos",movePageLeftRight:"Deplasare pagină stânga/dreapta"},dyu={title:"Ștergere pânză"},syu={title:"Publicare bibliotecă",itemName:"Denumirea elementului",authorName:"Numele autorului",githubUsername:"Numele de utilizator GitHub",twitterUsername:"Numele de utilizator Twitter",libraryName:"Denumirea bibliotecii",libraryDesc:"Descrierea bibliotecii",website:"Pagină de internet",placeholder:{authorName:"Numele sau numele tău de utilizator",libraryName:"Numele bibliotecii tale",libraryDesc:"Descrierea bibliotecii tale pentru a ajuta oamenii să înțeleagă utilizarea acesteia",githubHandle:"Numele de utilizator GitHub (opțional), pentru a putea edita biblioteca odată ce este trimisă spre revizuire",twitterHandle:"Numele de utilizator Twitter (opțional), pentru a indica sursa la promovarea pe Twitter",website:"Trimitere către pagina ta personală de internet sau altundeva (opțional)"},errors:{required:"Obligatoriu",website:"Introdu un URL valid"},noteDescription:"Trimite-ți biblioteca pentru a fi inclusă în <link>depozitul de biblioteci publice</link> în vederea utilizării de către alte persoane în desenele lor.",noteGuidelines:"Biblioteca trebuie aprobată manual mai întâi. Citește <link>orientările</link> înainte de trimitere. Vei avea nevoie de un cont GitHub pentru a comunica și efectua modificări, dacă este cazul, însă nu este strict necesar.",noteLicense:"Prin trimiterea bibliotecii, ești de acord că aceasta va fi publicată sub <link>Licența MIT, </link>care, pe scurt, înseamnă că oricine o poate folosi fără restricții.",noteItems:"Fiecare element din bibliotecă trebuie să aibă propriul nume astfel încât să fie filtrabil. Următoarele elemente din bibliotecă vor fi incluse:",atleastOneLibItem:"Selectează cel puțin un element din bibliotecă pentru a începe",republishWarning:"Observație: unele dintre elementele selectate sunt marcate ca fiind deja publicate/trimise. Ar trebui să retrimiți elemente numai atunci când actualizezi o trimitere sau o bibliotecă existentă."},oyu={title:"Bibliotecă trimisă",content:"Îți mulțumim, {{authorName}}. Biblioteca a fost trimisă spre revizuire. Poți urmări starea <link>aici</link>"},tyu={resetLibrary:"Resetare bibliotecă",removeItemsFromLib:"Elimină elementele selectate din bibliotecă"},eyu={header:"Exportare imagine",label:{withBackground:"Fundal",onlySelected:"Numai selecția",darkMode:"Mod întunecat",embedScene:"Încorporare scenă",scale:"Scală",padding:"Spațiere"},tooltip:{embedScene:`Datele scenei vor fi salvate în fișierul PNG/SVG exportat, astfel că scena va putea fi restaurată din acesta.
Va crește dimensiunea fișierului exportat.`},title:{exportToPng:"Exportare ca PNG",exportToSvg:"Exportare ca SVG",copyPngToClipboard:"Copiere PNG în memoria temporară"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Copiere în memoria temporară"}},uru={tooltip:"Desenele tale sunt criptate integral, astfel că serverele Excalidraw nu le vor vedea niciodată.",link:"Articol de blog pe criptarea integrală din Excalidraw"},Bru={angle:"Unghi",element:"Element",elements:"Elemente",height:"Înălțime",scene:"Scenă",selected:"Selectate",storage:"Stocare",title:"Statistici pentru pasionați",total:"Total",version:"Versiune",versionCopy:"Clic pentru copiere",versionNotAvailable:"Versiune indisponibilă",width:"Lățime"},Eru={addedToLibrary:"Adăugat în bibliotecă",copyStyles:"Stiluri copiate.",copyToClipboard:"Copiat în memoria temporară.",copyToClipboardAsPng:`S-a copiat {{exportSelection}} în memoria temporară sub formă de PNG
({{exportColorScheme}})`,fileSaved:"Fișier salvat.",fileSavedToFilename:"Salvat în {filename}",canvas:"pânza",selection:"selecția",pasteAsSingleElement:`Folosește {{shortcut}} pentru a insera ca un singur element
sau insera într-un editor de text existent`,unableToEmbed:"Încorporarea acestui URL nu este permisă momentan. Deschideți un tichet cu probleme pe GitHub pentru a solicita adăugarea acestui URL în lista albă",unrecognizedLinkFormat:"URL-ul pe care l-ai încorporat nu coincide cu formatul așteptat. Încearcă să lipești șirul „de încorporat” furnizat de pagina sursă"},Aru={transparent:"Transparent",black:"Negru",white:"Alb",red:"Roșu",pink:"Roz",grape:"Struguriu",violet:"Violet",gray:"Gri",blue:"Albastru",cyan:"Cyan",teal:"Cyan-verde",green:"Verde",yellow:"Galben",orange:"Portocaliu",bronze:"Bronz"},Cru={app:{center_heading:"Toate datele tale sunt salvate local în navigatorul tău.",center_heading_plus:"Ai vrut să mergi în schimb la Excalidraw+?",menuHint:"Exportare, preferințe, limbi, ..."},defaults:{menuHint:"Exportare, preferințe și mai multe...",center_heading:"Diagrame. Făcute. Simple.",toolbarHint:"Alege un instrument și începe să desenezi!",helpHint:"Comenzi rapide și ajutor"}},Dru={mostUsedCustomColors:"Cele mai utilizate culori personalizate",colors:"Culori",shades:"Nuanțe",hexCode:"Cod hexa",noShades:"Nu este disponibilă nicio nuanță pentru această culoare"},Fru={action:{exportToImage:{title:"Exportare ca imagine",button:"Exportare ca imagine",description:"Exportă datele scenei ca fișier din care poți importa mai târziu."},saveToDisk:{title:"Salvare pe disc",button:"Salvare pe disc",description:"Exportă datele scenei pe un fișier din care poți importa mai târziu."},excalidrawPlus:{title:"Excalidraw+",button:"Exportare în Excalidraw+",description:"Salvează scena în spațiul de lucru Excalidraw+."}},modal:{loadFromFile:{title:"Încărcare din fișier",button:"Încărcare din fișier",description:"Încărcarea dintr-un fișier va <bold>înlocui conținutul existent</bold>.<br></br>Poți face mai întâi o copie de rezervă a desenului folosind una dintre opțiunile de mai jos."},shareableLink:{title:"Încărcare din lnk",button:"Înlocuiește conținutul meu",description:"Încărcarea unui desen extern va <bold>înlocui conținutul existent</bold>.<br></br>Poți face mai întâi o copie de rezervă a desenului folosind una dintre opțiunile de mai jos."}}},Uru={title:"Mermaid la Excalidraw",button:"Introducere",description:"În prezent, numai <flowchartLink>Organigramele</flowchartLink>, <sequenceLink>Diagramele de secvență</sequenceLink> și <classLink>Diagramele de clasă</classLink> sunt acceptate. Celelalte tipuri vor fi redate ca imagine în Excalidraw.",syntax:"Sintaxă Mermaid",preview:"Previzualizare"},xf3={labels:Nyu,library:Vyu,buttons:hyu,alerts:iyu,errors:ayu,toolBar:myu,headings:$yu,hints:yyu,canvasError:ryu,errorSplash:gyu,roomDialog:cyu,errorDialog:_yu,exportDialog:pyu,helpDialog:nyu,clearCanvasDialog:dyu,publishDialog:syu,publishSuccessDialog:oyu,confirmDialog:tyu,imageExportDialog:eyu,encrypted:uru,stats:Bru,toast:Eru,colors:Aru,welcomeScreen:Cru,colorPicker:Dru,overwriteConfirm:Fru,mermaid:Uru}});var hru={};ju(hru,{welcomeScreen:()=>Pru,toolBar:()=>Kru,toast:()=>Oru,stats:()=>Tru,roomDialog:()=>qru,publishSuccessDialog:()=>Wru,publishDialog:()=>xru,overwriteConfirm:()=>Nru,mermaid:()=>Vru,library:()=>Mru,labels:()=>fru,imageExportDialog:()=>Yru,hints:()=>Qru,helpDialog:()=>Xru,headings:()=>wru,exportDialog:()=>Lru,errors:()=>Jru,errorSplash:()=>Hru,errorDialog:()=>lru,encrypted:()=>Rru,default:()=>Wf3,confirmDialog:()=>Sru,colors:()=>Iru,colorPicker:()=>jru,clearCanvasDialog:()=>vru,canvasError:()=>Gru,buttons:()=>bru,alerts:()=>Zru});var fru,Mru,bru,Zru,Jru,Kru,wru,Qru,Gru,Hru,qru,lru,Lru,Xru,vru,xru,Wru,Sru,Yru,Rru,Tru,Oru,Iru,Pru,jru,Nru,Vru,Wf3;var iru=g(()=>{m4();fru={paste:"Вставить",pasteAsPlaintext:"Вставить как обычный текст",pasteCharts:"Вставить диаграммы",selectAll:"Выбрать всё",multiSelect:"Добавить элемент в выделенный фрагмент",moveCanvas:"Переместить холст",cut:"Вырезать",copy:"Копировать",copyAsPng:"Скопировать в буфер обмена как PNG",copyAsSvg:"Скопировать в буфер обмена как SVG",copyText:"Скопировать в буфер обмена как текст",copySource:"Копировать источник в буфер обмена",convertToCode:"Преобразовать в код",bringForward:"Переместить вперед",sendToBack:"На задний план",bringToFront:"На передний план",sendBackward:"Переместить назад",delete:"Удалить",copyStyles:"Скопировать стили",pasteStyles:"Вставить стили",stroke:"Обводка",background:"Фон",fill:"Заливка",strokeWidth:"Толщина штриха",strokeStyle:"Стиль обводки",strokeStyle_solid:"Сплошная",strokeStyle_dashed:"Пунктирная",strokeStyle_dotted:"Точечная",sloppiness:"Стиль обводки",opacity:"Непрозрачность",textAlign:"Выравнивание текста",edges:"Края",sharp:"Острые",round:"Скругленные",arrowheads:"Стрелка",arrowhead_none:"Нет",arrowhead_arrow:"Cтрелка",arrowhead_bar:"Черта",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Треугольник",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Размер шрифта",fontFamily:"Семейство шрифтов",addWatermark:"Добавить «Создано в Excalidraw»",handDrawn:"От руки",normal:"Обычный",code:"Код",small:"Малый",medium:"Средний",large:"Большой",veryLarge:"Очень большой",solid:"Однотонная",hachure:"Штрихованная",zigzag:"Зигзаг",crossHatch:"Перекрестная",thin:"Тонкая",bold:"Жирная",left:"Слева",center:"Центр",right:"Справа",extraBold:"Очень жирная",architect:"Архитектор",artist:"Художник",cartoonist:"Карикатурист",fileTitle:"Имя файла",colorPicker:"Выбор цвета",canvasColors:"Используется на холсте",canvasBackground:"Фон холста",drawingCanvas:"Полотно",layers:"Слои",actions:"Действия",language:"Язык",liveCollaboration:"Онлайн взаимодействие...",duplicateSelection:"Дубликат",untitled:"Безымянный",name:"Имя",yourName:"Ваше имя",madeWithExcalidraw:"Сделано в Excalidraw",group:"Сгруппировать выделение",ungroup:"Разделить выделение",collaborators:"Участники",showGrid:"Показать сетку",addToLibrary:"Добавить в библиотеку",removeFromLibrary:"Удалить из библиотеки",libraryLoadingMessage:"Загрузка библиотеки…",libraries:"Просмотреть библиотеки",loadingScene:"Загрузка сцены…",align:"Выровнять",alignTop:"Выровнять по верхнему краю",alignBottom:"Выровнять по нижнему краю",alignLeft:"Выровнять по левому краю",alignRight:"Выровнять по правому краю",centerVertically:"Центрировать по вертикали",centerHorizontally:"Центрировать по горизонтали",distributeHorizontally:"Распределить по горизонтали",distributeVertically:"Распределить по вертикали",flipHorizontal:"Переворот по горизонтали",flipVertical:"Переворот по вертикали",viewMode:"Вид",share:"Поделиться",showStroke:"Показать выбор цвета обводки",showBackground:"Показать выбор цвета фона",toggleTheme:"Переключить тему",personalLib:"Личная библиотека",excalidrawLib:"Библиотека Excalidraw",decreaseFontSize:"Уменьшить шрифт",increaseFontSize:"Увеличить шрифт",unbindText:"Отвязать текст",bindText:"Привязать текст к контейнеру",createContainerFromText:"Поместить текст в контейнер",link:{edit:"Редактировать ссылку",editEmbed:"",create:"Создать ссылку",createEmbed:"",label:"Ссылка",labelEmbed:"",empty:""},lineEditor:{edit:"Редактирование строки",exit:"Выход из редактора строки"},elementLock:{lock:"Блокировать",unlock:"Разблокировать",lockAll:"Заблокировать все",unlockAll:"Разблокировать все"},statusPublished:"Опубликовано",sidebarLock:"Держать боковую панель открытой",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"Взять образец цвета с холста",textToDiagram:"Текст в диаграмму",prompt:""},Mru={noItems:"Пока ничего не добавлено...",hint_emptyLibrary:"Выберите объект на холсте, чтобы добавить его сюда, или установите библиотеку из публичного репозитория ниже.",hint_emptyPrivateLibrary:"Выберите объект на холсте, чтобы добавить его сюда."},bru={clearReset:"Очистить холст и сбросить цвет фона",exportJSON:"Сохранить в",exportImage:"Экспортировать изображение...",export:"Сохранить как...",copyToClipboard:"Скопировать в буфер обмена",save:"Сохранить в текущий файл",saveAs:"Сохранить как",load:"Открыть",getShareableLink:"Получить доступ по ссылке",close:"Закрыть",selectLanguage:"Выбрать язык",scrollBackToContent:"Вернуться к содержимому",zoomIn:"Увеличить",zoomOut:"Уменьшить",resetZoom:"Сбросить масштаб",menu:"Меню",done:"Готово",edit:"Изменить",undo:"Шаг назад",redo:"Шаг вперед",resetLibrary:"Сброс библиотеки",createNewRoom:"Создать новую комнату",fullScreen:"Полный экран",darkMode:"Темная тема",lightMode:"Светлая тема",zenMode:"Режим Дзен",objectsSnapMode:"Привязка к объектам",exitZenMode:"Выключить режим концентрации внимания",cancel:"Отменить",clear:"Очистить",remove:"Удалить",embed:"",publishLibrary:"Опубликовать",submit:"Отправить",confirm:"Подтвердить",embeddableInteractionButton:""},Zru={clearReset:"Это очистит весь холст. Вы уверены?",couldNotCreateShareableLink:"Не удалось создать общедоступную ссылку.",couldNotCreateShareableLinkTooBig:"Нельзя создать ссылку, чтобы поделиться. Сцена слишком большая",couldNotLoadInvalidFile:"Не удалось загрузить недопустимый файл",importBackendFailed:"Не удалось импортировать из бэкэнда.",cannotExportEmptyCanvas:"Не может экспортировать пустой холст.",couldNotCopyToClipboard:"Не удалось скопировать в буфер обмена.",decryptFailed:"Не удалось расшифровать данные.",uploadedSecurly:"Загружаемые данные защищена сквозным шифрованием, что означает, что сервер Excalidraw и третьи стороны не могут прочитать содержимое.",loadSceneOverridePrompt:"Загрузка рисунка приведёт к замене имеющегося содержимого. Вы хотите продолжить?",collabStopOverridePrompt:`Остановка сессии перезапишет ваш предыдущий, локально сохранённый рисунок. Вы уверены?
(Если вы хотите оставить ваш локальный рисунок, просто закройте вкладку браузера)`,errorAddingToLibrary:"Не удалось добавить объект в библиотеку",errorRemovingFromLibrary:"Не удалось удалить объект из библиотеки",confirmAddLibrary:"Будет добавлено {{numShapes}} фигур в вашу библиотеку. Продолжить?",imageDoesNotContainScene:"Это изображение не содержит данных сцены. Вы включили встраивание сцены во время экспорта?",cannotRestoreFromImage:"Сцена не может быть восстановлена из этого изображения",invalidSceneUrl:"Невозможно импортировать сцену с предоставленного URL. Неверный формат, или не содержит верных Excalidraw JSON данных.",resetLibrary:"Это очистит вашу библиотеку. Вы уверены?",removeItemsFromsLibrary:"Удалить {{count}} объект(ов) из библиотеки?",invalidEncryptionKey:"Ключ шифрования должен состоять из 22 символов. Одновременное редактирование отключено.",collabOfflineWarning:`Отсутствует интернет-соединение.
Ваши изменения не будут сохранены!`},Jru={unsupportedFileType:"Неподдерживаемый тип файла.",imageInsertError:"Не удалось вставить изображение. Попробуйте позже...",fileTooBig:"Очень большой файл. Максимально разрешенный размер {{maxSize}}.",svgImageInsertError:"Не удалось вставить изображение SVG. Разметка SVG выглядит недействительной.",failedToFetchImage:"Не удалось получить изображение.",invalidSVGString:"Некорректный SVG.",cannotResolveCollabServer:"Не удалось подключиться к серверу совместного редактирования. Перезагрузите страницу и повторите попытку.",importLibraryError:"Не удалось загрузить библиотеку",collabSaveFailed:"Не удалось сохранить в базу данных. Если проблема повторится, нужно будет сохранить файл локально, чтобы быть уверенным, что вы не потеряете вашу работу.",collabSaveFailed_sizeExceeded:"Не удалось сохранить в базу данных. Похоже, что холст слишком большой. Нужно сохранить файл локально, чтобы быть уверенным, что вы не потеряете вашу работу.",imageToolNotSupported:"Изображения отключены.",brave_measure_text_error:{line1:"Похоже, вы используете браузер Brave с включенной опцией <bold>Агрессивно блокировать отслеживание</bold>.",line2:"Это может привести к поломке <bold>Текстовых объектов</bold> на рисунке.",line3:"Мы настоятельно рекомендуем отключить эту настройку. Для этого нужно выполнить <link>эти шаги</link>.",line4:"Если отключение этой настройки не исправит отображение текстовых объектов, создайте <issueLink>issue</issueLink> на нашем GitHub или напишите нам в <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"Элементы IFrame не могут быть добавлены в библиотеку.",image:""},asyncPasteFailedOnRead:"Не удалось вставить (невозможно прочитать из системного буфера обмена).",asyncPasteFailedOnParse:"Не удалось вставить.",copyToSystemClipboardFailed:"Не удалось скопировать в буфер обмена."},Kru={selection:"Выделение области",image:"Вставить изображение",rectangle:"Прямоугольник",diamond:"Ромб",ellipse:"Эллипс",arrow:"Cтрелка",line:"Линия",freedraw:"Чертить",text:"Текст",library:"Библиотека",lock:"Сохранять выбранный инструмент активным после рисования",penMode:"Режим пера - предотвращение касания",link:"Добавить/обновить ссылку для выбранной фигуры",eraser:"Ластик",frame:"",magicframe:"",embeddable:"",laser:"Лазерная указка",hand:"Рука (перемещение холста)",extraTools:"",mermaidToExcalidraw:"Из Mermaid в Excalidraw",magicSettings:"Параметры AI"},wru={canvasActions:"Операции холста",selectedShapeActions:"Операции выбранной фигуры",shapes:"Фигуры"},Qru={canvasPanning:'Чтобы двигать холст, удерживайте колесо мыши или пробел во время перетаскивания, или используйте инструмент "Рука"',linearElement:"Нажмите, чтобы начать несколько точек, перетащите для одной линии",freeDraw:"Нажмите и перетаскивайте, отпустите по завершении",text:"Совет: при выбранном инструменте выделения дважды щёлкните в любом месте, чтобы добавить текст",embeddable:"",text_selected:"Дважды щелкните мышью или нажмите ENTER, чтобы редактировать текст",text_editing:"Нажмите Escape либо Ctrl или Cmd + ENTER для завершения редактирования",linearElementMulti:"Кликните на последней точке или нажмите Escape или Enter чтобы закончить",lockAngle:"Вы можете ограничить угол удерживая SHIFT",resize:`Вы можете ограничить пропорции, удерживая SHIFT во время изменения размеров,
удерживайте ALT чтобы изменить размер из центра`,resizeImage:`Вы можете свободно изменять размеры, удерживая кнопку SHIFT,
удерживайте кнопку ALT, чтобы изменять размер относительно центра`,rotate:"Вы можете ограничить углы, удерживая SHIFT во время вращения",lineEditor_info:"Удерживайте CtrlOrCmd и дважды кликните или нажмите CtrlOrCmd + Enter для редактирования точек",lineEditor_pointSelected:`Нажмите Delete для удаления точки (точек),
Ctrl+D или Cmd+D для дублирования, перетащите для перемещения`,lineEditor_nothingSelected:`Выберите точку для редактирования (удерживайте SHIFT выбора нескольких точек),
или удерживайте Alt и кликните для добавления новых точек`,placeImage:"Щелкните, чтобы разместить изображение, или нажмите и перетащите, чтобы установить его размер вручную",publishLibrary:"Опубликовать свою собственную библиотеку",bindTextToElement:"Нажмите Enter для добавления текста",deepBoxSelect:"Удерживайте Ctrl или Cmd для глубокого выделения, чтобы предотвратить перетаскивание",eraserRevert:"Удерживайте Alt, чтобы вернуть элементы, отмеченные для удаления",firefox_clipboard_write:'Эта функция может быть включена при изменении значения флага "dom.events.asyncClipboard.clipboardItem" на "true". Чтобы изменить флаги браузера в Firefox, посетите страницу "about:config".',disableSnapping:""},Gru={cannotShowPreview:"Не удается отобразить предпросмотр",canvasTooBig:"Сцена слишком большая.",canvasTooBigTip:"Совет: попробуйте сблизить элементы рисунка."},Hru={headingMain:"Возникла ошибка. Попробуйте <button>перезагрузить страницу.</button>",clearCanvasMessage:"Если перезагрузка страницы не помогла, попробуйте <button>очистить холст.</button>",clearCanvasCaveat:" Текущая работа будет утеряна ",trackedToSentry:"Ошибка с идентификатором {{eventId}} отслеживается в нашей системе.",openIssueMessage:"Для безопасности информация о вашей сцене не включена в ошибку. Если в сцене нет ничего конфиденциального, пожалуйста следуйте нашим <button>баг трекере.</button> Пожалуйста, приложите информацию ниже, скопировав и вставив её, в issue GitHub.",sceneContent:"Содержание сцены:"},qru={desc_intro:"Вы можете пригласить людей в текущую сцену для совместной работы.",desc_privacy:"Не беспокойтесь — во время сеанса используется сквозное шифрование. Всё, что вы нарисуете, останется конфиденциальным и не будет доступно даже нашему серверу.",button_startSession:"Начать сеанс",button_stopSession:"Завершить сеанс",desc_inProgressIntro:"Сеанс совместной работы запущен.",desc_shareLink:"Поделитесь этой ссылкой со всеми участниками:",desc_exitSession:"Завершив сеанс, вы выйдете из комнаты, но сможете продолжить работать с документом локально. Это не повлияет на работу других пользователей — они смогут продолжить совместную работу с их версией документа.",shareTitle:"Присоединиться к активной совместной сессии на Excalidraw"},lru={title:"Ошибка"},Lru={disk_title:"Сохранить на диск",disk_details:"Экспортировать данные сцены в файл, из которого можно импортировать позже.",disk_button:"Сохранить в файл",link_title:"Поделитесь ссылкой",link_details:"Экспорт ссылки только для чтения.",link_button:"Экспорт в ссылку",excalidrawplus_description:"Сохраните сцену в ваше рабочее пространство Excalidraw+.",excalidrawplus_button:"Экспорт",excalidrawplus_exportError:"Не удалось экспортировать в Excalidraw+ на данный момент..."},Xru={blog:"Прочитайте наш блог",click:"нажать",deepSelect:"Глубокое выделение",deepBoxSelect:"Глубокое выделение рамкой, и предотвращение перетаскивания",curvedArrow:"Изогнутая стрелка",curvedLine:"Изогнутая линия",documentation:"Документация",doubleClick:"двойной клик",drag:"перетащить",editor:"Редактор",editLineArrowPoints:"Редактировать концы линий/стрелок",editText:"Редактировать текст / добавить метку",github:"Нашли проблему? Отправьте",howto:"Следуйте нашим инструкциям",or:"или",preventBinding:"Предотвращать привязку стрелок",tools:"Инструменты",shortcuts:"Горячие клавиши",textFinish:"Закончить редактирование (текстовый редактор)",textNewLine:"Добавить новую строку (текстовый редактор)",title:"Помощь",view:"Просмотр",zoomToFit:"Отмастштабировать, чтобы поместились все элементы",zoomToSelection:"Увеличить до выделенного",toggleElementLock:"Заблокировать/разблокировать выделение",movePageUpDown:"Сдвинуть страницу вверх/вниз",movePageLeftRight:"Сдвинуть страницу вправо/влево"},vru={title:"Очистить холст"},xru={title:"Опубликовать библиотеку",itemName:"Название объекта",authorName:"Имя автора",githubUsername:"Имя пользователя GitHub",twitterUsername:"Имя пользователя в Twitter",libraryName:"Название библиотеки",libraryDesc:"Описание библиотеки",website:"Веб-сайт",placeholder:{authorName:"Ваше имя или имя пользователя",libraryName:"Название вашей библиотеки",libraryDesc:"Описание вашей библиотеки, которое поможет людям понять её назначение",githubHandle:"Имя пользователя GitHub (необязательно), чтобы вы смогли редактировать библиотеку после её отправки на проверку",twitterHandle:"Имя пользователя в Twitter (необязательно), чтобы мы знали, кого упомянуть при продвижении в Twitter",website:"Ссылка на ваш личный или какой-то другой сайт (необязательно)"},errors:{required:"Обязательно",website:"Введите допустимый URL-адрес"},noteDescription:"Отправить вашу библиотеку для включения в <link>хранилище публичных библиотек</link>, чтобы другие люди могли использовать объекты из вашей библиотеки в своих рисунках.",noteGuidelines:"Библиотека должна быть подтверждена вручную. Пожалуйста, прочтите <link>рекомендации</link> перед отправкой. Вам понадобится учетная запись GitHub, чтобы общаться и вносить изменения при необходимости, но это не обязательно.",noteLicense:"Выполняя отправку, вы соглашаетесь с тем, что библиотека будет опубликована под <link>лицензией MIT, </link>, что, вкратце, означает, что каждый может использовать её без ограничений.",noteItems:"Каждый объект в библиотеке должен иметь свое собственное имя, чтобы по нему можно было фильтровать. Следующие объекты библиотеки будут включены:",atleastOneLibItem:"Пожалуйста, выберите хотя бы один объект в библиотеке, чтобы начать",republishWarning:"Примечание: некоторые из выбранных элементов помечены как уже опубликованные/отправленные. Вы должны повторно отправить элементы только при обновлении существующей библиотеки или сдаче работы."},Wru={title:"Библиотека отправлена",content:"Благодарим вас, {{authorName}}. Ваша библиотека была отправлена на проверку. Вы можете отслеживать статус<link>здесь</link>"},Sru={resetLibrary:"Сброс библиотеки",removeItemsFromLib:"Удалить выбранные объекты из библиотеки"},Yru={header:"Экспортировать изображение",label:{withBackground:"Фон",onlySelected:"Только выделенное",darkMode:"Темная тема",embedScene:"Встроить сцену",scale:"Масштаб",padding:"Отступ"},tooltip:{embedScene:"Сцена будет сохранена в PNG/SVG файл так, чтобы всю сцену можно будет восстановить из этого файла. Это увеличит размер файла."},title:{exportToPng:"Экспорт в PNG",exportToSvg:"Экспорт в SVG",copyPngToClipboard:"Скопировать PNG в буфер обмена"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Скопировать в буфер обмена"}},Rru={tooltip:"Ваши данные защищены сквозным (End-to-end) шифрованием. Серверы Excalidraw никогда не получат доступ к ним.",link:"Запись блога о сквозном шифровании в Excalidraw"},Tru={angle:"Угол",element:"Элемент",elements:"Элементы",height:"Высота",scene:"Сцены",selected:"Выбран",storage:"Хранилище",title:"Статистика для ботаников",total:"Всего",version:"Версия",versionCopy:"Копировать",versionNotAvailable:"Версия не доступна",width:"Ширина"},Oru={addedToLibrary:"Добавлено в библиотеку",copyStyles:"Скопированы стили.",copyToClipboard:"Скопировано в буфер обмена.",copyToClipboardAsPng:"{{exportSelection}} скопировано как PNG ({{exportColorScheme}})",fileSaved:"Файл сохранён.",fileSavedToFilename:"Сохранено в {filename}",canvas:"холст",selection:"выделение",pasteAsSingleElement:`Используйте {{shortcut}}, чтобы вставить один объект,
или вставьте в существующий текстовый редактор`,unableToEmbed:"",unrecognizedLinkFormat:""},Iru={transparent:"Прозрачный",black:"Чёрный",white:"Белый",red:"Красный",pink:"Розовый",grape:"Виноградный",violet:"Фиолетовый",gray:"Серый",blue:"Синий",cyan:"Голубой",teal:"Бирюзовый",green:"Зелёный",yellow:"Жёлтый",orange:"Оранжевый",bronze:"Бронзовый"},Pru={app:{center_heading:"Все ваши данные сохраняются локально в вашем браузере.",center_heading_plus:"Хотите перейти на Excalidraw+?",menuHint:"Экспорт, настройки, языки, ..."},defaults:{menuHint:"Экспорт, настройки и другое...",center_heading:"Диаграммы. Просто.",toolbarHint:"Выберите инструмент и начните рисовать!",helpHint:"Сочетания клавиш и помощь"}},jru={mostUsedCustomColors:"Часто используемые пользовательские цвета",colors:"Цвета",shades:"Оттенки",hexCode:"Шестнадцатеричный код",noShades:"Нет доступных оттенков для этого цвета"},Nru={action:{exportToImage:{title:"Экспортировать как изображение",button:"Экспортировать как изображение",description:""},saveToDisk:{title:"Сохранить на диск",button:"Сохранить на диск",description:""},excalidrawPlus:{title:"Excalidraw+",button:"Экспорт в Excalidraw+",description:""}},modal:{loadFromFile:{title:"Загрузить из файла",button:"Загрузить из файла",description:""},shareableLink:{title:"Загрузить по ссылке",button:"",description:""}}},Vru={title:"Из Mermaid в Excalidraw",button:"Вставить",description:"",syntax:"Синтаксис Mermaid",preview:"Предпросмотр"},Wf3={labels:fru,library:Mru,buttons:bru,alerts:Zru,errors:Jru,toolBar:Kru,headings:wru,hints:Qru,canvasError:Gru,errorSplash:Hru,roomDialog:qru,errorDialog:lru,exportDialog:Lru,helpDialog:Xru,clearCanvasDialog:vru,publishDialog:xru,publishSuccessDialog:Wru,confirmDialog:Sru,imageExportDialog:Yru,encrypted:Rru,stats:Tru,toast:Oru,colors:Iru,welcomeScreen:Pru,colorPicker:jru,overwriteConfirm:Nru,mermaid:Vru}});var bgu={};ju(bgu,{welcomeScreen:()=>zgu,toolBar:()=>gru,toast:()=>Fgu,stats:()=>Dgu,roomDialog:()=>dru,publishSuccessDialog:()=>Bgu,publishDialog:()=>ugu,overwriteConfirm:()=>fgu,mermaid:()=>Mgu,library:()=>mru,labels:()=>aru,imageExportDialog:()=>Agu,hints:()=>_ru,helpDialog:()=>tru,headings:()=>cru,exportDialog:()=>oru,errors:()=>rru,errorSplash:()=>nru,errorDialog:()=>sru,encrypted:()=>Cgu,default:()=>Sf3,confirmDialog:()=>Egu,colors:()=>Ugu,colorPicker:()=>kgu,clearCanvasDialog:()=>eru,canvasError:()=>pru,buttons:()=>$ru,alerts:()=>yru});var aru,mru,$ru,yru,rru,gru,cru,_ru,pru,nru,dru,sru,oru,tru,eru,ugu,Bgu,Egu,Agu,Cgu,Dgu,Fgu,Ugu,zgu,kgu,fgu,Mgu,Sf3;var Zgu=g(()=>{m4();aru={paste:"අලවන්න",pasteAsPlaintext:"",pasteCharts:"ප්‍රස්ථාරය",selectAll:"සියල්ලම",multiSelect:"තෝරා ගැනීමට අංගය එකතු කරන්න",moveCanvas:"කැන්වසය චලනය කරන්න",cut:"කපන්න",copy:"පිටපත් කරන්න",copyAsPng:"PNG ලෙස පිටපත් කරන්න",copyAsSvg:"SVG ලෙස පිටපත් කරන්න",copyText:"",copySource:"",convertToCode:"",bringForward:"ඉදිරියට ගෙන්න",sendToBack:"පසුපසටම ගෙනියන්න",bringToFront:"ඉදිරියටම ගෙන්න",sendBackward:"පසුපසට ගෙනියන්න",delete:"මකන්න",copyStyles:"",pasteStyles:"",stroke:"",background:"",fill:"",strokeWidth:"",strokeStyle:"",strokeStyle_solid:"",strokeStyle_dashed:"",strokeStyle_dotted:"",sloppiness:"",opacity:"",textAlign:"",edges:"",sharp:"",round:"",arrowheads:"",arrowhead_none:"",arrowhead_arrow:"",arrowhead_bar:"",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"",fontFamily:"",addWatermark:"",handDrawn:"",normal:"",code:"",small:"",medium:"",large:"",veryLarge:"ඉතා විශාල",solid:"විශාල",hachure:"මධ්‍යම",zigzag:"",crossHatch:"",thin:"කෙට්ටු",bold:"තද",left:"වම",center:"මැද",right:"දකුණ",extraBold:"ඉතා තද",architect:"වාස්තුවේදීයා",artist:"කලාකරු",cartoonist:"සැකිලිරූකරු",fileTitle:"ගොනු නාමය",colorPicker:"පාට තෝරකය",canvasColors:"",canvasBackground:"කැන්වස පසුබිම",drawingCanvas:"චිත්‍රක කැන්වසය",layers:"ලේයර",actions:"ක්‍රියාකාරකම",language:"භාෂාව ",liveCollaboration:"",duplicateSelection:"",untitled:"",name:"නම",yourName:"",madeWithExcalidraw:"",group:"",ungroup:"",collaborators:"",showGrid:"",addToLibrary:"",removeFromLibrary:"",libraryLoadingMessage:"",libraries:"",loadingScene:"",align:"",alignTop:"",alignBottom:"",alignLeft:"",alignRight:"",centerVertically:"",centerHorizontally:"",distributeHorizontally:"",distributeVertically:"",flipHorizontal:"",flipVertical:"",viewMode:"",share:"",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"",editEmbed:"",create:"",createEmbed:"",label:"",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},mru={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},$ru={clearReset:"",exportJSON:"",exportImage:"",export:"",copyToClipboard:"",save:"",saveAs:"",load:"",getShareableLink:"",close:"",selectLanguage:"",scrollBackToContent:"",zoomIn:"",zoomOut:"",resetZoom:"",menu:"",done:"",edit:"",undo:"",redo:"",resetLibrary:"",createNewRoom:"",fullScreen:"",darkMode:"",lightMode:"",zenMode:"",objectsSnapMode:"",exitZenMode:"",cancel:"",clear:"",remove:"",embed:"",publishLibrary:"",submit:"",confirm:"",embeddableInteractionButton:""},yru={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},rru={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},gru={selection:"",image:"",rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},cru={canvasActions:"",selectedShapeActions:"",shapes:""},_ru={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},pru={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},nru={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},dru={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},sru={title:""},oru={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},tru={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},eru={title:""},ugu={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},Bgu={title:"",content:""},Egu={resetLibrary:"",removeItemsFromLib:""},Agu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},Cgu={tooltip:"",link:""},Dgu={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},Fgu={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},Ugu={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},zgu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},kgu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},fgu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Mgu={title:"",button:"",description:"",syntax:"",preview:""},Sf3={labels:aru,library:mru,buttons:$ru,alerts:yru,errors:rru,toolBar:gru,headings:cru,hints:_ru,canvasError:pru,errorSplash:nru,roomDialog:dru,errorDialog:sru,exportDialog:oru,helpDialog:tru,clearCanvasDialog:eru,publishDialog:ugu,publishSuccessDialog:Bgu,confirmDialog:Egu,imageExportDialog:Agu,encrypted:Cgu,stats:Dgu,toast:Fgu,colors:Ugu,welcomeScreen:zgu,colorPicker:kgu,overwriteConfirm:fgu,mermaid:Mgu}});var $gu={};ju($gu,{welcomeScreen:()=>hgu,toolBar:()=>Hgu,toast:()=>Ngu,stats:()=>jgu,roomDialog:()=>vgu,publishSuccessDialog:()=>Tgu,publishDialog:()=>Rgu,overwriteConfirm:()=>agu,mermaid:()=>mgu,library:()=>Kgu,labels:()=>Jgu,imageExportDialog:()=>Igu,hints:()=>lgu,helpDialog:()=>Sgu,headings:()=>qgu,exportDialog:()=>Wgu,errors:()=>Ggu,errorSplash:()=>Xgu,errorDialog:()=>xgu,encrypted:()=>Pgu,default:()=>Yf3,confirmDialog:()=>Ogu,colors:()=>Vgu,colorPicker:()=>igu,clearCanvasDialog:()=>Ygu,canvasError:()=>Lgu,buttons:()=>wgu,alerts:()=>Qgu});var Jgu,Kgu,wgu,Qgu,Ggu,Hgu,qgu,lgu,Lgu,Xgu,vgu,xgu,Wgu,Sgu,Ygu,Rgu,Tgu,Ogu,Igu,Pgu,jgu,Ngu,Vgu,hgu,igu,agu,mgu,Yf3;var ygu=g(()=>{m4();Jgu={paste:"Vložiť",pasteAsPlaintext:"Vložiť ako obyčajný text",pasteCharts:"Vložiť grafy",selectAll:"Vybrať všetko",multiSelect:"Pridať prvok do výberu",moveCanvas:"Pohyb plátna",cut:"Vystrihnúť",copy:"Kopírovať",copyAsPng:"Kopírovať do schránky ako PNG",copyAsSvg:"Kopírovať do schránky ako SVG",copyText:"Kopírovať do schránky ako text",copySource:"Kopírovať kód do schránky",convertToCode:"Konvertovať na kód",bringForward:"Presunúť o úroveň dopredu",sendToBack:"Presunúť dozadu",bringToFront:"Presunúť dopredu",sendBackward:"Presunúť o úroveň dozadu",delete:"Vymazať",copyStyles:"Kopírovať štýly",pasteStyles:"Vložiť štýly",stroke:"Obrys",background:"Pozadie",fill:"Výplň",strokeWidth:"Hrúbka obrysu",strokeStyle:"Štýl obrysu",strokeStyle_solid:"Plný",strokeStyle_dashed:"Čiarkovaný",strokeStyle_dotted:"Bodkovaný",sloppiness:"Štylizácia",opacity:"Priehľadnosť",textAlign:"Zarovnanie textu",edges:"Okraje",sharp:"Ostré",round:"Zaokrúhlené",arrowheads:"Zakončenie šípky",arrowhead_none:"Žiadne",arrowhead_arrow:"Šípka",arrowhead_bar:"Čiara",arrowhead_circle:"Kruh",arrowhead_circle_outline:"Kruh (obrys)",arrowhead_triangle:"Trojuholník",arrowhead_triangle_outline:"Trojuholník (obrys)",arrowhead_diamond:"Diamant",arrowhead_diamond_outline:"Diamant (obrys)",fontSize:"Veľkosť písma",fontFamily:"Písmo",addWatermark:'Pridať "Vytvorené s Excalidraw"',handDrawn:"Ručne písané",normal:"Normálne",code:"Kód",small:"Malé",medium:"Stredné",large:"Veľké",veryLarge:"Veľmi veľké",solid:"Plná",hachure:"Šrafovaná",zigzag:"Cik-cak",crossHatch:"Mriežkovaná",thin:"Tenká",bold:"Hrubá",left:"Doľava",center:"Na stred",right:"Doprava",extraBold:"Veľmi hrubá",architect:"Architekt",artist:"Umelec",cartoonist:"Ilustrátor",fileTitle:"Názov súboru",colorPicker:"Výber farby",canvasColors:"Použité na plátne",canvasBackground:"Pozadie plátna",drawingCanvas:"Kresliace plátno",layers:"Vrstvy",actions:"Akcie",language:"Jazyk",liveCollaboration:"Živá spolupráca...",duplicateSelection:"Duplikovať",untitled:"Bez názvu",name:"Meno",yourName:"Vaše meno",madeWithExcalidraw:"Vytvorené s Excalidraw",group:"Zoskupiť",ungroup:"Zrušiť zoskupenie",collaborators:"Spolupracovníci",showGrid:"Zobraziť mriežku",addToLibrary:"Pridať do knižnice",removeFromLibrary:"Odstrániť z knižnice",libraryLoadingMessage:"Načítavanie knižnice…",libraries:"Prehliadať knižnice",loadingScene:"Načítavanie scény…",align:"Zarovnanie",alignTop:"Zarovnať nahor",alignBottom:"Zarovnať nadol",alignLeft:"Zarovnať doľava",alignRight:"Zarovnať doprava",centerVertically:"Zarovnať zvislo na stred",centerHorizontally:"Zarovnať vodorovne na stred",distributeHorizontally:"Rozmiestniť vodorovne",distributeVertically:"Rozmiestniť zvisle",flipHorizontal:"Prevrátiť vodorovne",flipVertical:"Prevrátiť zvislo",viewMode:"Režim zobrazenia",share:"Zdieľať",showStroke:"Zobraziť výber farby pre obrys",showBackground:"Zobraziť výber farby pre pozadie",toggleTheme:"Prepnúť tému",personalLib:"Moja knižnica",excalidrawLib:"Excalidraw knižnica",decreaseFontSize:"Zmenšiť veľkosť písma",increaseFontSize:"Zväčšiť veľkosť písma",unbindText:"Zrušiť previazanie textu",bindText:"Previazať text s kontajnerom",createContainerFromText:"Zabaliť text do kontajneru",link:{edit:"Upraviť odkaz",editEmbed:"Editovať a zapustiť odkaz",create:"Vytvoriť odkaz",createEmbed:"Vytvoriť a zapustiť odkaz",label:"Odkaz",labelEmbed:"Zapustiť odkaz",empty:"Nie je nastavený žiaden odkaz"},lineEditor:{edit:"Upraviť čiaru",exit:"Ukončiť editovanie čiary"},elementLock:{lock:"Zamknúť",unlock:"Odomknúť",lockAll:"Zamknúť všetko",unlockAll:"Odomknúť všetko"},statusPublished:"Zverejnené",sidebarLock:"Nechať bočný panel otvorený",selectAllElementsInFrame:"Vybrať všetky prvky v ráme",removeAllElementsFromFrame:"Odstrániť všetky prvky z rámu",eyeDropper:"Vybrať farbu z plátna",textToDiagram:"Text na diagram",prompt:"Inštrukcia"},Kgu={noItems:"Zatiaľ neboli pridané žiadne položky...",hint_emptyLibrary:"Vyberte položku z plátna pre jej pridanie do knižnice alebo použite knižnicu z verejného zoznamu knižníc nižšie.",hint_emptyPrivateLibrary:"Vyberte položku z plátna pre jej pridanie do knižnice."},wgu={clearReset:"Obnoviť plátno",exportJSON:"Exportovať do súboru",exportImage:"Exportovať obrázok...",export:"Uložiť do...",copyToClipboard:"Kopírovať do schránky",save:"Uložiť do aktuálneho súboru",saveAs:"Uložiť ako",load:"Otvoriť",getShareableLink:"Získať odkaz na zdieľanie",close:"Zavrieť",selectLanguage:"Zvoliť jazyk",scrollBackToContent:"Vrátiť sa späť na obsah",zoomIn:"Priblížiť",zoomOut:"Oddialiť",resetZoom:"Obnoviť priblíženie",menu:"Ponuka",done:"Hotovo",edit:"Upraviť",undo:"Späť",redo:"Znova",resetLibrary:"Obnoviť knižnicu",createNewRoom:"Vytvoriť novú miestnosť",fullScreen:"Celá obrazovka",darkMode:"Tmavý režim",lightMode:"Svetlý režim",zenMode:"Režim zen",objectsSnapMode:"Prichytiť k objektom",exitZenMode:"Zrušiť režim zen",cancel:"Zrušiť",clear:"Vymazať",remove:"Odstrániť",embed:"Prepnúť zapustenie",publishLibrary:"Uverejniť",submit:"Potvrdiť",confirm:"Potvrdiť",embeddableInteractionButton:"Kliknite pre interakciu"},Qgu={clearReset:"Týmto sa vyčistí celé plátno. Ste si istí?",couldNotCreateShareableLink:"Nepodarilo sa vytvoriť odkaz na zdieľanie.",couldNotCreateShareableLinkTooBig:"Nepodarilo sa vytvoriť odkaz na zdieľanie: scéna je príliš veľká",couldNotLoadInvalidFile:"Nepodarilo sa načítať nevalidný súbor",importBackendFailed:"Nepdarilo sa importovanie zo serveru.",cannotExportEmptyCanvas:"Nie je možné exportovať prázdne plátno.",couldNotCopyToClipboard:"Kopírovanie do schránky sa nepodarilo.",decryptFailed:"Nepodarilo sa rozšifrovať údaje.",uploadedSecurly:"Nahratie je zabezpečené end-to-end šifrovaním, takže Excalidraw server a tretie strany nedokážu prečítať jeho obsah.",loadSceneOverridePrompt:"Nahratie externej kresby nahradí existujúci obsah. Prajete si pokračovať?",collabStopOverridePrompt:`Ukončenie schôdze nahradí vašu predchádzajúcu lokálne uloženú scénu. Ste si istý?
(Ak si chcete ponechať lokálnu scénu, jednoducho iba zavrite kartu prehliadača.)`,errorAddingToLibrary:"Nepodarilo sa pridať položku do knižnice",errorRemovingFromLibrary:"Nepodarilo sa odstrániť položku z knižnice",confirmAddLibrary:"Týmto sa pridá {{numShapes}} tvar(ov) do vašej knižnice. Ste si istí?",imageDoesNotContainScene:"Tento obrázok neobsahuje žiadne údaje scény. Zvolili ste možnosť zahrnúť scénu počas exportu?",cannotRestoreFromImage:"Nepodarilo sa obnoviť scénu z tohto obrázkového súboru",invalidSceneUrl:"Nepodarilo sa načítať scénu z poskytnutej URL. Je nevalidná alebo neobsahuje žiadne validné Excalidraw JSON dáta.",resetLibrary:"Týmto vyprázdnite vašu knižnicu. Ste si istý?",removeItemsFromsLibrary:"Odstrániť {{count}} položiek z knižnice?",invalidEncryptionKey:"Šifrovací kľúč musí mať 22 znakov. Živá spolupráca je vypnutá.",collabOfflineWarning:`Internetové pripojenie nie je dostupné.
Vaše zmeny nebudú uložené!`},Ggu={unsupportedFileType:"Nepodporovaný typ súboru.",imageInsertError:"Nepodarilo sa vložiť obrázok. Skúste to znova neskôr...",fileTooBig:"Súbor je príliš veľký. Maximálna povolená veľkosť je {{maxSize}}.",svgImageInsertError:"Nepodarilo sa vložiť SVG obrázok. SVG formát je pravdepodobne nevalidný.",failedToFetchImage:"Načítanie obrázka zlyhalo.",invalidSVGString:"Nevalidné SVG.",cannotResolveCollabServer:"Nepodarilo sa pripojiť ku kolaboračnému serveru. Prosím obnovte stránku a skúste to znovu.",importLibraryError:"Nepodarilo sa načítať knižnicu",collabSaveFailed:"Uloženie do databázy sa nepodarilo. Ak tento problém pretrváva uložte si váš súbor lokálne aby ste nestratili vašu prácu.",collabSaveFailed_sizeExceeded:"Uloženie do databázy sa nepodarilo, pretože veľkosť plátna je príliš veľká. Uložte si váš súbor lokálne aby ste nestratili vašu prácu.",imageToolNotSupported:"Obrázky sú vypnuté.",brave_measure_text_error:{line1:"Vyzerá to, že používate prehliadač Brave so zapnutým nastavením pre <bold>agresívne blokovanie</bold>.",line2:"To môže spôsobiť nesprávne zobrazenie <bold>textových prvkov</bold> vo vašej kresbe.",line3:"Dôrazne odporúčame vypnutie toho nastavenia. Môžete tak spraviť vykonaním <link>týchto krokov</link>.",line4:"Ak vypnutie toho nastavenia nevyrieši problém so zobrazením textových prvkov, prosím ohláste <issueLink>problém</issueLink> na našom GitHub-e alebo nám napíšte na náš <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Zapustené prvky nie je možné pridať do knižnice.",iframe:"Vložené rámce IFrame nie je možné pridať do knižnice.",image:"Podpora pre pridávanie obrázkov do knižnice bude dostupná už čoskoro!"},asyncPasteFailedOnRead:"Vloženie sa nepodarilo (nebolo možné prečítať obsah schránky).",asyncPasteFailedOnParse:"Vloženie sa nepodarilo.",copyToSystemClipboardFailed:"Kopírovanie do schránky sa nepodarilo."},Hgu={selection:"Výber",image:"Vložiť obrázok",rectangle:"Obdĺžnik",diamond:"Diamant",ellipse:"Elipsa",arrow:"Šípka",line:"Čiara",freedraw:"Kresliť",text:"Text",library:"Knižnica",lock:"Nechať zvolený nástroj aktívny po skončení kreslenia",penMode:"Režim pera zabrániť dotyku",link:"Pridať/ Upraviť odkaz pre vybraný tvar",eraser:"Guma",frame:"Nástroj rám",magicframe:"Drôtený model na kód",embeddable:"Web Embed",laser:"Laserový ukazovateľ",hand:"Ruka (nástroj pre pohyb plátna)",extraTools:"Ďalšie nástroje",mermaidToExcalidraw:"Mermaid do Excalidraw",magicSettings:"AI nastavenia"},qgu={canvasActions:"Akcie plátna",selectedShapeActions:"Akcie tvarov z výberu",shapes:"Tvary"},lgu={canvasPanning:"Pre pohyb plátna podržte koliesko myši alebo medzerník počas ťahania, alebo použite nástroj ruka",linearElement:"Kliknite na vloženie viacerých bodov, potiahnite na vytvorenie jednej priamky",freeDraw:"Kliknite a ťahajte, pustite na ukončenie",text:"Tip: text môžete pridať aj dvojklikom kdekoľvek, ak je zvolený nástroj výber",embeddable:"Kliknite a ťahajte pre zapustenie webovej stránky",text_selected:"Použite dvojklik alebo stlačte Enter na editáciu textu",text_editing:"Stlačte Escape alebo CtrlOrCmd+ENTER na ukončenie editovania",linearElementMulti:"Kliknite na počiatočný bod alebo stlačte Escape alebo Enter na ukončenie",lockAngle:"Počas rotácie obmedzíte uhol podržaním SHIFT",resize:"Počas zmeny veľkosti zachováte proporcie podržaním SHIFT,\\npodržaním ALT meníte veľkosť so zachovaním stredu",resizeImage:"Podržte SHIFT pre voľnú zmenu veľkosti, podržte ALT pre zmenu veľkosti od stredu",rotate:"Počas rotácie obmedzíte uhol podržaním SHIFT",lineEditor_info:"Podržte CtrlOrCmd a kliknite dva krát alebo stlačte CtrlOrCmd + Enter pre editáciu bodov",lineEditor_pointSelected:"Stačte Delete na vymazanie bodu (bodov), CtrlOrCmd+D na duplikovanie, alebo potiahnite na presunutie",lineEditor_nothingSelected:"Zvoľte bod na upravovanie (podržte SHIFT pre zvolenie viacerých bodov) alebo podržte Alt a kliknite na pridanie nového bodu",placeImage:"Kliknite pre umiestnenie obrázka alebo kliknite a ťahajte pre zmenu jeho veľkosti",publishLibrary:"Uverejniť vašu knižnicu",bindTextToElement:"Stlačte enter na pridanie textu",deepBoxSelect:"Podržte CtrlOrCmd na výber v skupine alebo zamedzeniu poťiahnutia",eraserRevert:"Podržte Alt pre prehodenie položiek určených na vymazanie",firefox_clipboard_write:'Táto sa funkcionalita sa dá zapnúť nastavením "dom.events.asyncClipboard.clipboardItem" na "true". Pre zmenu nastavení vo Firefox-e otvorte stránku "about:config".',disableSnapping:"Podržte CtrlOrCmd pre vypnutie prichytávania"},Lgu={cannotShowPreview:"Nie je možné zobraziť náhľad plátna",canvasTooBig:"Plátno je možno príliš veľké.",canvasTooBigTip:"Tip: skúste presunúť najvzdialenejšie prvky bližšie k sebe."},Xgu={headingMain:"Nastala chyba. Vyskúšajte <button>obnoviť stránku.</button>",clearCanvasMessage:"Ak obnovenie stránky nepomáha, vyskúšajte <button>vyčistiť plátno.</button>",clearCanvasCaveat:" To bude mať za následok stratu práce ",trackedToSentry:"Chyba s identifikátorom {{eventId}} bola zaznamenaná v našom systéme.",openIssueMessage:"Boli sme veľmi opatrní, aby informácie vašej scény neboli v chybe zaznamenané. Ak vaša scéna nie je súkromná, prosím zvážte pokračovanie na naše <button>hlásenie chýb.</button> Prosím zahrňte informácie nižšie pomocou kopírovania a prilepenia do GitHub issue.",sceneContent:"Obsah scény:"},vgu={desc_intro:"Pozvite niekoho do svojej aktuálnej scény a pracujte spoločne.",desc_privacy:"Nemajte obavy, schôdza používa end-to-end šifrovanie, takže všetko čo nakreslíte je súkromné. Dokonca, ani náš server dedokáže prečítať, čo ste vytvorili.",button_startSession:"Začať schôdzu",button_stopSession:"Ukončiť schôdzu",desc_inProgressIntro:"Práve prebieha živá schôdza.",desc_shareLink:"Zdieľajte tento odkaz s osobou, s ktorou chcete spolupracovať:",desc_exitSession:"Ukončenie schôdze vás odpojí z miestnosti, avšak naďalej budete môcť pokračovať v práci na scéne lokálne. Toto neovplyvní ostatných spolupracovníkov a stále budú môcť spolupracovať na ich verzii.",shareTitle:"Pripojiť sa k živej schôdzi na Excalidraw"},xgu={title:"Chyba"},Wgu={disk_title:"Uložiť na disk",disk_details:"Exportovať údaje scény do súboru, z ktorého môžu byť neskôr importované.",disk_button:"Uložiť do súboru",link_title:"Odkaz na zdieľanie",link_details:"Exportovať ako odkaz iba na čítanie.",link_button:"Exportovať ako odkaz",excalidrawplus_description:"Uložiť scénu do vášho Excalidraw+ pracovného priestoru.",excalidrawplus_button:"Exportovať",excalidrawplus_exportError:"Nepodarilo sa vykonať export do Excalidraw+..."},Sgu={blog:"Prečítajte si náš blog",click:"kliknutie",deepSelect:"Výber v skupine",deepBoxSelect:"Výber v skupine alebo zamedzenie poťiahnutia",curvedArrow:"Zakrivená šípka",curvedLine:"Zakrivená čiara",documentation:"Dokumentácia",doubleClick:"dvojklik",drag:"potiahnutie",editor:"Editovanie",editLineArrowPoints:"Editácia bodov čiary/šípky",editText:"Editácia textu / pridanie štítku",github:"Objavili ste problém? Nahláste ho",howto:"Postupujte podľa naších návodov",or:"alebo",preventBinding:"Zakázať pripájanie šípky",tools:"Nástroje",shortcuts:"Klávesové skratky",textFinish:"Ukončenie editovania (text editor)",textNewLine:"Vložiť nový riadok (text editor)",title:"Pomocník",view:"Zobrazenie",zoomToFit:"Priblížiť aby boli zahrnuté všetky prvky",zoomToSelection:"Priblížiť na výber",toggleElementLock:"Zamknúť/odomknúť vybrané",movePageUpDown:"Posunúť stranu hore/dole",movePageLeftRight:"Posunúť stranu doľava/doprava"},Ygu={title:"Vyčistiť plátno"},Rgu={title:"Uverejniť knižnicu",itemName:"Názov položky",authorName:"Meno autora",githubUsername:"Github užívateľské meno",twitterUsername:"Twitter užívateľské meno",libraryName:"Názov knižnice",libraryDesc:"Popis knižnice",website:"Webová stránka",placeholder:{authorName:"Vaše meno alebo užívateľské meno",libraryName:"Názov vašej knižnice",libraryDesc:"Popis vašej knižnice, ktorý ostatným pomôže porozumieť jej vhodnému použitiu",githubHandle:"GitHub užívateľské meno (nepovinné), aby ste mohli robiť úpravy po tom, čo bude knižnica uverejnená na schválenie",twitterHandle:"Twitter užívateľské meno (nepovinné), aby sme vedeli komu pripísať zásluhu pri propagovaní cez Twitter",website:"Odkaz na vašu osobnú webovú stránku alebo niekam inam (nepovinné)"},errors:{required:"Povinné",website:"Zadajte platnú adresu URL"},noteDescription:"Uverejnite vašu knižnicu vo <link>verejnom zozname knižníc</link>aby ju aj ostatní mohli použiť v ich náčrtoch.",noteGuidelines:"Knižnica musí byť najprv manuálne schválená. Prosím prečítajte si <link>pokyny</link> pred uverejnením. Budete potrebovať Github účet na komunikáciu a vykonanie zmien, ak budú potrebné, avšak nie je to úplne povinné.",noteLicense:"Potvrdením súhlasíte, že knižnica bude zverejnená s <link>MIT licenciou, </link>čo v skratke znamená, že ju môže použiť hocikto bez obmedzení.",noteItems:"Každá položka v knižnici musí mať svoje vlastné meno, aby sa dala vyhľadať. Súčasťou knižnice budú nasledujúce položky:",atleastOneLibItem:"Začnite prosím zvolením aspoň jednej položky z knižnice",republishWarning:"Poznámka: Niektoré z vybraných položiek sú už označené ako zverejnené. Ich znovu uverejnenie by ste mali vykovať iba vtedy ak aktualizujete už existujúcu knižnicu alebo požiadavku na uverejnenie."},Tgu={title:"Knižnica uverejnená",content:"Ďakujeme vám {{authorName}}. Vaša knižnica bola uverejnená na posúdenie. Stav môžete skontrolovať<link>tu</link>"},Ogu={resetLibrary:"Obnoviť knižnicu",removeItemsFromLib:"Odstrániť zvolené položky z knižnice"},Igu={header:"Exportovať obrázok",label:{withBackground:"Pozadie",onlySelected:"Iba vybrané",darkMode:"Tmavý režim",embedScene:"Zahrnúť scénu",scale:"Mierka",padding:"Odsadenie"},tooltip:{embedScene:`Údaje scény budú uložené do exportovaného PNG/SVG súboru, takže scéna z neho môže byť opäť obnovená.
Bude to mať za následok zvýšenie veľkosti súboru.`},title:{exportToPng:"Exportovať do PNG",exportToSvg:"Exportovať do SVG",copyPngToClipboard:"Kopírovať PNG do schránky"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Kopírovať do schránky"}},Pgu={tooltip:"Vaše kresby používajú end-to-end šifrovanie, takže ich Excalidraw server nedokáže prečítať.",link:"Blog o end-to-end šifrovaní v Excalidraw"},jgu={angle:"Uhol",element:"Prvok",elements:"Prvky",height:"Výška",scene:"Scéna",selected:"Vybrané",storage:"Úložisko",title:"Štatistiky",total:"Celkom",version:"Verzia",versionCopy:"Kliknutím skopírujete",versionNotAvailable:"Verzia nie je k dispozícii",width:"Šírka"},Ngu={addedToLibrary:"Pridané do knižnice",copyStyles:"Štýly skopírované.",copyToClipboard:"Skopírované do schránky.",copyToClipboardAsPng:`Kopírovanie {{exportSelection}} do schránky ako PNG prebehlo úspešne
({{exportColorScheme}})`,fileSaved:"Súbor uložený.",fileSavedToFilename:"Uložený ako {filename}",canvas:"plátna",selection:"výberu",pasteAsSingleElement:"Použitím {{shortcut}} vložte ako samostatný prvok alebo vložte do existujúceho editovaného textu",unableToEmbed:"Zapustenie tejto URL nie je povolené. Vytvorte issue na GitHub-e a požiadajte povolenie tejto URL",unrecognizedLinkFormat:"Odkaz, ktorý sa snažíte zapustiť nie je v očakávanom formáte. Prosím skúste vložiť 'odkaz na zdieľanie' poskytnutý zdrojovou webovou stránkou"},Vgu={transparent:"Priehľadná",black:"Čierna",white:"Biela",red:"Červená",pink:"Ružová",grape:"Hroznová fialová",violet:"Fialová",gray:"Sivá",blue:"Modrá",cyan:"Azúrová",teal:"Modrozelená",green:"Zelená",yellow:"Žltá",orange:"Oranžová",bronze:"Bronzová"},hgu={app:{center_heading:"Všetky vaše dáta sú uložené lokálne vo vašom prehliadači.",center_heading_plus:"Chceli ste namiesto toho prejsť do Excalidraw+?",menuHint:"Exportovanie, nastavenia, jazyky, ..."},defaults:{menuHint:"Exportovanie, nastavenia a ďalšie...",center_heading:"Diagramy. Jednoducho.",toolbarHint:"Zvoľte nástroj a začnite kresliť!",helpHint:"Klávesové skratky a pomocník"}},igu={mostUsedCustomColors:"Najpoužívanejšie vlastné farby",colors:"Farby",shades:"Odtiene",hexCode:"Hex kód",noShades:"Pre túto farbu nie sú dostupné žiadne odtiene"},agu={action:{exportToImage:{title:"Exportovať ako obrázok",button:"Exportovať ako obrázok",description:"Exportovať údaje scény ako obrázok, z ktorého môžu byť neskôr importované."},saveToDisk:{title:"Uložiť na disk",button:"Uložiť na disk",description:"Exportovať údaje scény do súboru, z ktorého môžu byť neskôr importované."},excalidrawPlus:{title:"Excalidraw+",button:"Exportovať ako Excalidraw+",description:"Uložiť scénu do vášho Excalidraw+ pracovného priestoru."}},modal:{loadFromFile:{title:"Načítať zo súboru",button:"Načítať zo súboru",description:"Načítanie zo súboru <bold>nahradí váš existujúci obsah</bold>.<br></br>Vašu kresbu môžete zálohovať jednou z nižšie uvedených možností."},shareableLink:{title:"Načítať z odkazu",button:"Nahradiť môj obsah",description:"Načítanie externej kresby <bold>nahradí váš existujúci obsah</bold>.<br></br>Vašu kresbu môžete zálohovať jednou z nižšie uvedených možností."}}},mgu={title:"Mermaid do Excalidraw",button:"Vložiť",description:"Aktuálne sú podporované iba <flowchartLink>vývojové diagramy</flowchartLink>, <sequenceLink>sekvenčné diagramy</sequenceLink> a <classLink>diagramy tried</classLink>. Ostatné typy budú v Excalidraw vykreslené ako obrázky.",syntax:"Mermaid syntax",preview:"Ukážka"},Yf3={labels:Jgu,library:Kgu,buttons:wgu,alerts:Qgu,errors:Ggu,toolBar:Hgu,headings:qgu,hints:lgu,canvasError:Lgu,errorSplash:Xgu,roomDialog:vgu,errorDialog:xgu,exportDialog:Wgu,helpDialog:Sgu,clearCanvasDialog:Ygu,publishDialog:Rgu,publishSuccessDialog:Tgu,confirmDialog:Ogu,imageExportDialog:Igu,encrypted:Pgu,stats:jgu,toast:Ngu,colors:Vgu,welcomeScreen:hgu,colorPicker:igu,overwriteConfirm:agu,mermaid:mgu}});var wcu={};ju(wcu,{welcomeScreen:()=>bcu,toolBar:()=>ngu,toast:()=>fcu,stats:()=>kcu,roomDialog:()=>egu,publishSuccessDialog:()=>Dcu,publishDialog:()=>Ccu,overwriteConfirm:()=>Jcu,mermaid:()=>Kcu,library:()=>ggu,labels:()=>rgu,imageExportDialog:()=>Ucu,hints:()=>sgu,helpDialog:()=>Ecu,headings:()=>dgu,exportDialog:()=>Bcu,errors:()=>pgu,errorSplash:()=>tgu,errorDialog:()=>ucu,encrypted:()=>zcu,default:()=>Rf3,confirmDialog:()=>Fcu,colors:()=>Mcu,colorPicker:()=>Zcu,clearCanvasDialog:()=>Acu,canvasError:()=>ogu,buttons:()=>cgu,alerts:()=>_gu});var rgu,ggu,cgu,_gu,pgu,ngu,dgu,sgu,ogu,tgu,egu,ucu,Bcu,Ecu,Acu,Ccu,Dcu,Fcu,Ucu,zcu,kcu,fcu,Mcu,bcu,Zcu,Jcu,Kcu,Rf3;var Qcu=g(()=>{m4();rgu={paste:"Prilepi",pasteAsPlaintext:"Prilepi kot navadno besedilo",pasteCharts:"Prilepi grafikone",selectAll:"Izberi vse",multiSelect:"Dodaj element v izbor",moveCanvas:"Premakni platno",cut:"Izreži",copy:"Kopiraj",copyAsPng:"Kopiraj v odložišče kot PNG",copyAsSvg:"Kopiraj v odložišče kot SVG",copyText:"Kopiraj v odložišče kot besedilo",copySource:"Kopiraj vir v odložišče",convertToCode:"Pretvori v kodo",bringForward:"Postavi naprej",sendToBack:"Pomakni v ozadje",bringToFront:"Pomakni v ospredje",sendBackward:"Pošlji nazaj",delete:"Izbriši",copyStyles:"Kopiraj slog",pasteStyles:"Prilepi slog",stroke:"Poteza",background:"Ozadje",fill:"Polnilo",strokeWidth:"Debelina poteze",strokeStyle:"Slog poteze",strokeStyle_solid:"Polna",strokeStyle_dashed:"Črtkana",strokeStyle_dotted:"Pikasta",sloppiness:"Površnost",opacity:"Prekrivnost",textAlign:"Poravnava besedila",edges:"Robovi",sharp:"Ostri",round:"Okrogli",arrowheads:"Puščice",arrowhead_none:"Brez",arrowhead_arrow:"Puščica",arrowhead_bar:"Palica",arrowhead_circle:"Krog",arrowhead_circle_outline:"Krog (oris)",arrowhead_triangle:"Trikotnik",arrowhead_triangle_outline:"Trikotnik (oris)",arrowhead_diamond:"Diamant",arrowhead_diamond_outline:"Diamant (oris)",fontSize:"Velikost pisave",fontFamily:"Družina pisave",addWatermark:'Dodaj "Izdelano z Excalidraw"',handDrawn:"Ročno narisano",normal:"Običajno",code:"Koda",small:"Majhna",medium:"Srednja",large:"Velika",veryLarge:"Zelo velika",solid:"Polno",hachure:"Šrafura",zigzag:"Cikcak",crossHatch:"Križno",thin:"Tanko",bold:"Krepko",left:"Levo",center:"Sredina",right:"Desno",extraBold:"Ekstra krepko",architect:"Arhitekt",artist:"Umetnik",cartoonist:"Risar",fileTitle:"Ime datoteke",colorPicker:"Izbor barve",canvasColors:"Uporabljeno na platnu",canvasBackground:"Ozadje platna",drawingCanvas:"Platno za risanje",layers:"Plasti",actions:"Dejanja",language:"Jezik",liveCollaboration:"Sodelovanje v živo...",duplicateSelection:"Podvoji",untitled:"Neimenovana",name:"Ime",yourName:"Vaše ime",madeWithExcalidraw:"Izdelano z Excalidraw",group:"Združi izbor",ungroup:"Razdruži izbor",collaborators:"Sodelavci",showGrid:"Prikaži mrežo",addToLibrary:"Dodaj v knjižnico",removeFromLibrary:"Odstrani iz knjižnice",libraryLoadingMessage:"Nalaganje knjižnice ...",libraries:"Brskaj po knjižnicah",loadingScene:"Nalaganje scene...",align:"Poravnava",alignTop:"Poravnaj na vrh",alignBottom:"Poravnaj na dno",alignLeft:"Poravnaj levo",alignRight:"Poravnaj desno",centerVertically:"Navpično na sredini",centerHorizontally:"Vodoravno na sredini",distributeHorizontally:"Porazdeli vodoravno",distributeVertically:"Porazdeli navpično",flipHorizontal:"Obrni vodoravno",flipVertical:"Obrni navpično",viewMode:"Način ogleda",share:"Deli",showStroke:"Prikaži izbirnik barv poteze",showBackground:"Prikaži izbirnik barv ozadja",toggleTheme:"Obrni temo",personalLib:"Osebna knjižnica",excalidrawLib:"Knjižnica Excalidraw",decreaseFontSize:"Zmanjšaj velikost pisave",increaseFontSize:"Povečaj velikost pisave",unbindText:"Veži besedilo",bindText:"Veži besedilo na element",createContainerFromText:"Zavij besedilo v vsebnik",link:{edit:"Uredi povezavo",editEmbed:"Uredi povezavo in vdelaj",create:"Ustvari povezavo",createEmbed:"Ustvari povezavo in vdelaj",label:"Povezava",labelEmbed:"Povezava in vdelovanje",empty:"Povezava ni nastavljena"},lineEditor:{edit:"Uredi črto",exit:"Zapri urejanje črte"},elementLock:{lock:"Zakleni",unlock:"Odkleni",lockAll:"Zakleni vse",unlockAll:"Odkleni vse"},statusPublished:"Objavljeno",sidebarLock:"Obdrži stransko vrstico odprto",selectAllElementsInFrame:"Izberi vse elemente v okvirju",removeAllElementsFromFrame:"Izbriši vse elemente v okvirju",eyeDropper:"Izberi barvo s platna",textToDiagram:"Besedilo v diagram",prompt:"Poziv"},ggu={noItems:"Dodan še ni noben element...",hint_emptyLibrary:"Izberite element na platnu, da ga dodate sem, ali namestite knjižnico iz javnega skladišča spodaj.",hint_emptyPrivateLibrary:"Izberite element na platnu, da ga dodate sem."},cgu={clearReset:"Ponastavi platno",exportJSON:"Izvozi v datoteko",exportImage:"Izvozi sliko...",export:"Shrani v...",copyToClipboard:"Kopiraj v odložišče",save:"Shrani v trenutno datoteko",saveAs:"Shrani kot",load:"Odpri",getShareableLink:"Pridobi povezavo za deljenje",close:"Zapri",selectLanguage:"Izberi jezik",scrollBackToContent:"Pomakni se nazaj na vsebino",zoomIn:"Povečaj",zoomOut:"Pomanjšaj",resetZoom:"Ponastavi povečavo",menu:"Meni",done:"Končano",edit:"Uredi",undo:"Razveljavi",redo:"Ponovi",resetLibrary:"Ponastavi knjižnico",createNewRoom:"Ustvari novo sobo",fullScreen:"Celozaslonski način",darkMode:"Temni način",lightMode:"Svetli način",zenMode:"Način Zen",objectsSnapMode:"Pripenjanje na predmete",exitZenMode:"Zapri način Zen",cancel:"Prekliči",clear:"Počisti",remove:"Odstrani",embed:"Preklopi vdelavo",publishLibrary:"Objavi",submit:"Pošlji",confirm:"Potrdi",embeddableInteractionButton:"Kliknite za interakcijo"},_gu={clearReset:"To bo počistilo celotno platno. Ali ste prepričani?",couldNotCreateShareableLink:"Povezave za deljenje ni bilo mogoče ustvariti.",couldNotCreateShareableLinkTooBig:"Povezave za deljenje ni bilo mogoče ustvariti: scena je prevelika",couldNotLoadInvalidFile:"Neveljavne datoteke ni bilo mogoče naložiti",importBackendFailed:"Uvoz iz zaledja ni uspel.",cannotExportEmptyCanvas:"Izvoz prazne scene ni mogoč.",couldNotCopyToClipboard:"Kopiranje v odložišče ni uspelo.",decryptFailed:"Dešifriranje podatkov ni uspelo.",uploadedSecurly:"Nalaganje je bilo zaščiteno s šifriranjem od konca do konca, kar pomeni, da strežnik Excalidraw in tretje osebe ne morejo brati vsebine.",loadSceneOverridePrompt:"Nalaganje zunanje risbe bo nadomestilo vašo obstoječo vsebino. Ali želite nadaljevati?",collabStopOverridePrompt:`Ustavitev seje bo prepisala vašo prejšnjo, lokalno shranjeno risbo. Ali ste prepričani?
(Če želite obdržati lokalno risbo, preprosto zaprite zavihek brskalnika.)`,errorAddingToLibrary:"Elementa ni bilo mogoče dodati v knjižnico",errorRemovingFromLibrary:"Elementa ni bilo mogoče izbrisati iz knjižnice",confirmAddLibrary:"S tem boste v vašo knjižnico dodali oblike ({{numShapes}}). Ali ste prepričani?",imageDoesNotContainScene:"Zdi se, da ta slika ne vsebuje podatkov o sceni. Ali ste med izvozom omogočili vdelavo scene?",cannotRestoreFromImage:"Scene ni bilo mogoče obnoviti iz te slikovne datoteke",invalidSceneUrl:"S priloženega URL-ja ni bilo mogoče uvoziti scene. Je napačno oblikovana ali pa ne vsebuje veljavnih podatkov Excalidraw JSON.",resetLibrary:"To bo počistilo vašo knjižnico. Ali ste prepričani?",removeItemsFromsLibrary:"Izbriši elemente ({{count}}) iz knjižnice?",invalidEncryptionKey:"Ključ za šifriranje mora vsebovati 22 znakov. Sodelovanje v živo je onemogočeno.",collabOfflineWarning:`Internetna povezava ni na voljo.
Vaše spremembe ne bodo shranjene!`},pgu={unsupportedFileType:"Nepodprt tip datoteke.",imageInsertError:"Vstavljanje slike ni bilo uspešno. Poskusite ponovno kasneje...",fileTooBig:"Datoteka je prevelika. Največja dovoljena velikost je {{maxSize}}.",svgImageInsertError:"Vstavljanje slike SVG ni uspelo. Oznake SVG so videti neveljavne.",failedToFetchImage:"Pridobivanje slike ni uspelo.",invalidSVGString:"Neveljaven SVG.",cannotResolveCollabServer:"Povezave s strežnikom za sodelovanje ni bilo mogoče vzpostaviti. Ponovno naložite stran in poskusite znova.",importLibraryError:"Nalaganje knjižnice ni uspelo",collabSaveFailed:"Ni bilo mogoče shraniti v zaledno bazo podatkov. Če se težave nadaljujejo, shranite datoteko lokalno, da ne boste izgubili svojega dela.",collabSaveFailed_sizeExceeded:"Ni bilo mogoče shraniti v zaledno bazo podatkov, zdi se, da je platno preveliko. Datoteko shranite lokalno, da ne izgubite svojega dela.",imageToolNotSupported:"Slike so onemogočene.",brave_measure_text_error:{line1:"Videti je, da uporabljate brskalnik Brave z omogočeno nastavitvijo <bold>Agresivno blokiranje prstnih odtisov</bold>.",line2:"To bi lahko povzročilo motnje v obnašanju <bold>besedilnih elementov</bold> v vaših risbah.",line3:"Močno priporočamo, da onemogočite to nastavitev. Sledite <link>tem korakom</link>, kako to storiti.",line4:"Če onemogočanje te nastavitve ne popravi prikaza besedilnih elementov, odprite <issueLink>vprašanje</issueLink> na našem GitHubu ali nam pišite na <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Vdelani elementi ne morejo biti dodani v knjižnico.",iframe:"Elementov iFrame ni mogoče dodati v knjižnico.",image:"Podpora za dodajanje slik v knjižnico prihaja kmalu!"},asyncPasteFailedOnRead:"Ni bilo mogoče prilepiti (ni bilo mogoče brati iz sistemskega odložišča).",asyncPasteFailedOnParse:"Ni bilo mogoče prilepiti.",copyToSystemClipboardFailed:"Ni bilo mogoče kopirati v odložišče."},ngu={selection:"Izbor",image:"Vstavi sliko",rectangle:"Pravokotnik",diamond:"Diamant",ellipse:"Elipsa",arrow:"Puščica",line:"Črta",freedraw:"Risanje",text:"Besedilo",library:"Knjižnica",lock:"Ohrani izbrano orodje aktivno po risanju",penMode:"Način peresa - prepreči dotik",link:"Dodaj/posodobi povezavo za izbrano obliko",eraser:"Radirka",frame:"Okvir",magicframe:"Žični okvir v kodo",embeddable:"Spletna vdelava",laser:"Laserski kazalec",hand:"Roka (orodje za premikanje)",extraTools:"Več orodij",mermaidToExcalidraw:"Mermaid v Excalidraw",magicSettings:"Nastavitve AI"},dgu={canvasActions:"Dejanja za platno",selectedShapeActions:"Dejanja za izbrane oblike",shapes:"Oblike"},sgu={canvasPanning:"Za premikanje platna med vlečenjem držite kolesce miške ali preslednico ali uporabite orodje roka",linearElement:"Kliknite za začetek več točk, povlecite za posamezno črto",freeDraw:"Kliknite in povlecite, spustite, ko končate",text:"Namig: besedilo lahko dodate tudi z dvoklikom kjer koli z orodjem za izbiro",embeddable:"Kliknite in povlecite, da ustvarite spletno vdelavo",text_selected:"Dvokliknite ali pritisnite tipko Enter, da uredite besedilo",text_editing:"Pritisnite tipko Escape ali CtrlOrCmd+Enter za zaključek urejanja",linearElementMulti:"Kliknite zadnjo točko ali pritisnite Escape ali Enter, da končate",lockAngle:"Kot lahko omejite tako, da držite tipko Shift",resize:"Razmerja lahko omejite tako, da držite tipko Shift med spreminjanjem velikosti. Držite tipko Alt, da spremenite velikost od središča",resizeImage:"Velikost lahko prosto spreminjate tako, da držite tipko Shift. Držite tipko Alt, da spremenite velikost od središča",rotate:"Kote lahko omejite tako, da med vrtenjem držite tipko Shift",lineEditor_info:"Držite CtrlOrCmd in dvokliknite ali pritisnite CtrlOrCmd + Enter za urejanje točk",lineEditor_pointSelected:"Pritisnite tipko Delete, da odstranite točko(e), CtrlOrCmd+D za podvojitev ali povlecite za premikanje",lineEditor_nothingSelected:"Izberite točko za urejanje (pridržite tipko Shift za izbiro več točk), ali držite tipko Alt in kliknite za dodajanje novih točk",placeImage:"Kliknite, da postavite sliko, ali kliknite in povlecite, da ročno nastavite njeno velikost",publishLibrary:"Objavi svojo knjižnico",bindTextToElement:"Pritisnite tipko Enter za dodajanje besedila",deepBoxSelect:"Držite tipko CtrlOrCmd za globoko izbiro in preprečitev vlečenja",eraserRevert:"Pridržite tipko Alt, da razveljavite elemente, označene za brisanje",firefox_clipboard_write:'To funkcijo lahko verjetno omogočite z nastavitvijo zastavice "dom.events.asyncClipboard.clipboardItem" na "true". Če želite spremeniti zastavice brskalnika v Firefoxu, obiščite stran "about:config".',disableSnapping:"Držite CtrlOrCmd, da onemogočite pripenjanje"},ogu={cannotShowPreview:"Predogleda ni bilo mogoče prikazati",canvasTooBig:"Morda je platno preveliko.",canvasTooBigTip:"Nasvet: poskusite premakniti najbolj oddaljene elemente nekoliko bližje skupaj."},tgu={headingMain:"Prišlo je do napake. Poskusite <button>ponovno naložiti stran.</button>",clearCanvasMessage:"Če ponovno nalaganje ne deluje, poskusite <button>počistiti platno.</button>",clearCanvasCaveat:" To bo povzročilo izgubo dela ",trackedToSentry:"Napaka z identifikatorjem {{eventId}} smo zabeležili v naš sistem.",openIssueMessage:"Zelo smo bili previdni, da v podatke o napaki nismo vključili vaših podatkov o sceni. Če vaša scena ni zasebna, vas prosimo, da napišete več podrobnosti na našem <button>sledilniku hroščev.</button> Prosimo, vključite spodnje informacije tako, da jih kopirate in prilepite v GitHub vprašanje.",sceneContent:"Vsebina scene:"},egu={desc_intro:"Na vašo trenutno sceno lahko povabite osebe, ki bodo sodelovale z vami.",desc_privacy:"Brez skrbi. Seja uporablja šifriranje od konca do konca, tako da bo vse, kar narišete, ostalo zasebno. Niti naš strežnik ne bo mogel videti, kaj si izmislite.",button_startSession:"Začni sejo",button_stopSession:"Ustavi sejo",desc_inProgressIntro:"Seja sodelovanja v živo je v teku.",desc_shareLink:"Delite to povezavo z vsemi, s katerimi želite sodelovati:",desc_exitSession:"Ustavitev seje vas bo odklopila od sobe, vendar boste lahko lokalno nadaljevali delo s sceno. To pa ne bo vplivalo na druge osebe. Druge osebe bodo še vedno lahko sodelovale v svoji različici.",shareTitle:"Pridruži se seji sodelovanja v živo na Excalidraw"},ucu={title:"Napaka"},Bcu={disk_title:"Shrani na disk",disk_details:"Izvozite podatke scene v datoteko, iz katere jo lahko pozneje uvozite.",disk_button:"Shrani v datoteko",link_title:"Povezava za deljenje",link_details:"Izvoz kot povezava samo za branje.",link_button:"Izvoz kot povezava",excalidrawplus_description:"Shrani sceno v svoj delovni prostor Excalidraw+.",excalidrawplus_button:"Izvoz",excalidrawplus_exportError:"Trenutno ni bilo mogoče izvoziti v Excalidraw+..."},Ecu={blog:"Preberite naš blog",click:"klik",deepSelect:"Globoka izbira",deepBoxSelect:"Globoka izbira znotraj polja in preprečitev vlečenja",curvedArrow:"Ukrivljena puščica",curvedLine:"Ukrivljena črta",documentation:"Dokumentacija",doubleClick:"dvojni klik",drag:"vleci",editor:"Urejevalnik",editLineArrowPoints:"Uredi črto/točke puščice",editText:"Uredi besedilo / dodaj oznako",github:"Ste našli težavo? Pošljite",howto:"Sledite našim vodičem",or:"ali",preventBinding:"Prepreči vezanje puščice",tools:"Orodja",shortcuts:"Bližnjice na tipkovnici",textFinish:"Zaključi urejanje (urejevalnik besedila)",textNewLine:"Dodaj novo vrstico (urejevalnik besedila)",title:"Pomoč",view:"Pogled",zoomToFit:"Približaj na vse elemente",zoomToSelection:"Približaj na izbor",toggleElementLock:"Zakleni/odkleni izbor",movePageUpDown:"Premakni stran gor/dol",movePageLeftRight:"Premakni stran levo/desno"},Acu={title:"Počisti platno"},Ccu={title:"Objavi knjižnico",itemName:"Ime elementa",authorName:"Ime avtorja",githubUsername:"GitHub uporabniško ime",twitterUsername:"Twitter uporabniško ime",libraryName:"Ime knjižnice",libraryDesc:"Opis knijžnice",website:"Spletna stran",placeholder:{authorName:"Vaše ime ali uporabniško ime",libraryName:"Ime vaše knjižnice",libraryDesc:"Opis vaše knjižnice, da bodo ljudje lažje razumeli njeno uporabo",githubHandle:"GitHub uporabniško ime (neobvezno), tako da lahko urejate knjižnico potem, ko jo pošljete v pregled",twitterHandle:"Twitter uporabniško ime (neobvezno), tako da vemo, koga omeniti pri promociji prek Twitterja",website:"Povezava na vašo osebno spletno stran ali drugam (neobvezno)"},errors:{required:"Obvezno",website:"Vnesite veljaven URL"},noteDescription:"Predložite svojo knjižnico, da bo vključena v <link>javno skladišče knjižnic,</link>da jih drugi lahko uporabljajo v svojih risbah.",noteGuidelines:"Knjižnica mora biti najprej ročno odobrena. Prosimo vas, da pred oddajanjem preberete naše <link>smernice.</link>Za komunikacijo in spreminjanje po potrebi boste potrebovali račun GitHub, vendar to ni obvezno.",noteLicense:"Z oddajo se strinjate, da bo knjižnica objavljena pod <link>licenco MIT, </link>kar na kratko pomeni, da jo lahko kdorkoli uporablja brez omejitev.",noteItems:"Vsak element knjižnice mora imeti svoje ime, tako da ga je mogoče filtrirati. Vključeni bodo naslednji elementi knjižnice:",atleastOneLibItem:"Za začetek izberite vsaj en element knjižnice",republishWarning:"Opomba: nekateri izbrani predmeti so označeni kot že objavljeni/oddani. Elemente lahko znova oddate samo, ko posodabljate obstoječo knjižnico ali oddajo."},Dcu={title:"Knjižnica oddana",content:"{{authorName}}, hvala. Vaša knjižnica je bila poslana v pregled. Stanje lahko spremljate<link>tukaj</link>"},Fcu={resetLibrary:"Ponastavi knjižnico",removeItemsFromLib:"Odstran izbrane elemente iz knjižnice"},Ucu={header:"Izvozi sliko",label:{withBackground:"Ozadje",onlySelected:"Samo izbor",darkMode:"Temni način",embedScene:"Vdelaj sceno",scale:"Povečava",padding:"Odmik"},tooltip:{embedScene:`Podatki o sceni bodo shranjeni v izvoženo datoteko PNG/SVG, tako da bo sceno mogoče obnoviti iz nje.
To bo povečalo velikost izvožene datoteke.`},title:{exportToPng:"Izvozi v PNG",exportToSvg:"Izvozi v SVG",copyPngToClipboard:"Kopiraj PNG v odložišče"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Kopiraj v odložišče"}},zcu={tooltip:"Vaše risbe so šifrirane od konca do konca, tako da jih strežniki Excalidraw nikoli ne bodo videli.",link:"Blog objava o šifriranju od konca do konca v Excalidraw"},kcu={angle:"Kot",element:"Element",elements:"Elementi",height:"Višina",scene:"Scena",selected:"Izbrano",storage:"Shramba",title:"Statistika za napredne uporabnike",total:"Skupaj",version:"Različica",versionCopy:"Kliknite za kopiranje",versionNotAvailable:"Različica ni na voljo",width:"Širina"},fcu={addedToLibrary:"Dodano v knjižnico",copyStyles:"Slogi kopirani.",copyToClipboard:"Kopirano v odložišče.",copyToClipboardAsPng:"Kopirano v odložišče kot PNG ({{exportSelection}}, {{exportColorScheme}})",fileSaved:"Datoteka shranjena.",fileSavedToFilename:"Shranjeno v {filename}",canvas:"platno",selection:"izbor",pasteAsSingleElement:`Uporabite {{shortcut}}, da prilepite kot en element,
ali prilepite v obstoječ urejevalnik besedil`,unableToEmbed:"Vdelava tega URL-ja trenutno ni dovoljena. Ustvarite vprašanje na GitHub-u in prosite za vmestitev URL-ja na seznam dovoljenih",unrecognizedLinkFormat:"Povezava, ki ste jo vdelali, se ne ujema s pričakovano obliko. Poskusite prilepiti niz za vdelavo, ki ste ga prejeli na izvorni strani"},Mcu={transparent:"Prosojno",black:"Črna",white:"Bela",red:"Rdeča",pink:"Roza",grape:"Grozdje",violet:"Vijolična",gray:"Siva",blue:"Modra",cyan:"Cijan",teal:"Turkizna",green:"Zelena",yellow:"Rumena",orange:"Oranžna",bronze:"Bronasta"},bcu={app:{center_heading:"Vsi vaši podatki so shranjeni lokalno v vašem brskalniku.",center_heading_plus:"Ste namesto tega želeli odpreti Excalidraw+?",menuHint:"Izvoz, nastavitve, jeziki, ..."},defaults:{menuHint:"Izvoz, nastavitve in več ...",center_heading:"Diagrami. Enostavno.",toolbarHint:"Izberi orodje in začni z risanjem!",helpHint:"Bližnjice in pomoč"}},Zcu={mostUsedCustomColors:"Najpogosteje uporabljene barve po meri",colors:"Barve",shades:"Odtenki",hexCode:"Hex koda",noShades:"Odtenki za to barvo niso na voljo"},Jcu={action:{exportToImage:{title:"Izvozi kot sliko",button:"Izvozi kot sliko",description:"Izvozite podatke scene kot sliko, iz katere jo lahko pozneje uvozite."},saveToDisk:{title:"Shrani na disk",button:"Shrani na disk",description:"Izvozite podatke scene v datoteko, iz katere jo lahko pozneje uvozite."},excalidrawPlus:{title:"Excalidraw+",button:"Izvozi v Excalidraw+",description:"Shrani sceno v svoj delovni prostor Excalidraw+."}},modal:{loadFromFile:{title:"Naloži iz datoteke",button:"Naloži iz datoteke",description:"Nalaganje iz datoteke bo <bold>prepisalo vašo obstoječo vsebino</bold>.<br></br>Svojo risbo lahko najprej varnostno kopirate z eno od spodnjih možnosti."},shareableLink:{title:"Naloži iz povezave",button:"Zamenjaj mojo vsebino",description:"Nalaganje zunanje risbe bo <bold>prepisalo vašo obstoječo vsebino</bold>.<br></br>Svojo risbo lahko najprej varnostno kopirate z eno od spodnjih možnosti."}}},Kcu={title:"Mermaid v Excalidraw",button:"Vstavi",description:"Trenutno so podprti samo <flowchartLink>diagrami poteka</flowchartLink>, <sequenceLink>diagrami zaporedij</sequenceLink> in <classLink>Razredni diagrami</classLink>. Druge vrste bodo upodobljene kot slike v Excalidraw.",syntax:"Sintaksa Mermaid",preview:"Predogled"},Rf3={labels:rgu,library:ggu,buttons:cgu,alerts:_gu,errors:pgu,toolBar:ngu,headings:dgu,hints:sgu,canvasError:ogu,errorSplash:tgu,roomDialog:egu,errorDialog:ucu,exportDialog:Bcu,helpDialog:Ecu,clearCanvasDialog:Acu,publishDialog:Ccu,publishSuccessDialog:Dcu,confirmDialog:Fcu,imageExportDialog:Ucu,encrypted:zcu,stats:kcu,toast:fcu,colors:Mcu,welcomeScreen:bcu,colorPicker:Zcu,overwriteConfirm:Jcu,mermaid:Kcu}});var ccu={};ju(ccu,{welcomeScreen:()=>$cu,toolBar:()=>Xcu,toast:()=>acu,stats:()=>icu,roomDialog:()=>Ycu,publishSuccessDialog:()=>jcu,publishDialog:()=>Pcu,overwriteConfirm:()=>rcu,mermaid:()=>gcu,library:()=>Hcu,labels:()=>Gcu,imageExportDialog:()=>Vcu,hints:()=>xcu,helpDialog:()=>Ocu,headings:()=>vcu,exportDialog:()=>Tcu,errors:()=>Lcu,errorSplash:()=>Scu,errorDialog:()=>Rcu,encrypted:()=>hcu,default:()=>Tf3,confirmDialog:()=>Ncu,colors:()=>mcu,colorPicker:()=>ycu,clearCanvasDialog:()=>Icu,canvasError:()=>Wcu,buttons:()=>qcu,alerts:()=>lcu});var Gcu,Hcu,qcu,lcu,Lcu,Xcu,vcu,xcu,Wcu,Scu,Ycu,Rcu,Tcu,Ocu,Icu,Pcu,jcu,Ncu,Vcu,hcu,icu,acu,mcu,$cu,ycu,rcu,gcu,Tf3;var _cu=g(()=>{m4();Gcu={paste:"Klistra in",pasteAsPlaintext:"Klistra som oformaterad text",pasteCharts:"Klistra in diagram",selectAll:"Markera alla",multiSelect:"Lägg till element till markering",moveCanvas:"Flytta canvas",cut:"Klipp ut",copy:"Kopiera",copyAsPng:"Kopiera till urklipp som PNG",copyAsSvg:"Kopiera till urklipp som SVG",copyText:"Kopiera till urklipp som text",copySource:"Kopiera källa till urklipp",convertToCode:"Konvertera till kod",bringForward:"Flytta framåt",sendToBack:"Flytta underst",bringToFront:"Flytta främst",sendBackward:"Skicka bakåt",delete:"Ta bort",copyStyles:"Kopiera stil",pasteStyles:"Klistra in stil",stroke:"Linje",background:"Bakgrund",fill:"Fyllnad",strokeWidth:"Linjebredd",strokeStyle:"Linjestil",strokeStyle_solid:"Solid",strokeStyle_dashed:"Streckad",strokeStyle_dotted:"Punktad",sloppiness:"Slarvighet",opacity:"Genomskinlighet",textAlign:"Textjustering",edges:"Kanter",sharp:"Skarp",round:"Rund",arrowheads:"Pilhuvuden",arrowhead_none:"Inga",arrowhead_arrow:"Pil",arrowhead_bar:"Stolpe",arrowhead_circle:"Cirkel",arrowhead_circle_outline:"Cirkel (kontur)",arrowhead_triangle:"Triangel",arrowhead_triangle_outline:"Triangel (kontur)",arrowhead_diamond:"Diamant",arrowhead_diamond_outline:"Diamant (kontur)",fontSize:"Teckenstorlek",fontFamily:"Teckensnitt",addWatermark:'Lägg till "Skapad med Excalidraw"',handDrawn:"Handritad",normal:"Normal",code:"Kod",small:"Liten",medium:"Medium",large:"Stor",veryLarge:"Mycket stor",solid:"Solid",hachure:"Skraffering",zigzag:"Sicksack",crossHatch:"Skraffera med kors",thin:"Tunn",bold:"Fet",left:"Vänster",center:"Centrera",right:"Höger",extraBold:"Extra fet",architect:"Arkitekt",artist:"Artist",cartoonist:"Serietecknare",fileTitle:"Filnamn",colorPicker:"Färgväljare",canvasColors:"Används på canvas",canvasBackground:"Canvas-bakgrund",drawingCanvas:"Ritar canvas",layers:"Lager",actions:"Åtgärder",language:"Språk",liveCollaboration:"Samarbeta live...",duplicateSelection:"Duplicera",untitled:"Namnlös",name:"Namn",yourName:"Ditt namn",madeWithExcalidraw:"Skapad med Excalidraw",group:"Gruppera markering",ungroup:"Avgruppera markering",collaborators:"Medarbetare",showGrid:"Visa rutnät",addToLibrary:"Lägg till i biblioteket",removeFromLibrary:"Ta bort från bibliotek",libraryLoadingMessage:"Laddar bibliotek…",libraries:"Bläddra i bibliotek",loadingScene:"Laddar skiss…",align:"Justera",alignTop:"Justera överkant",alignBottom:"Justera underkant",alignLeft:"Justera vänster",alignRight:"Justera höger",centerVertically:"Centrera vertikalt",centerHorizontally:"Centrera horisontellt",distributeHorizontally:"Fördela horisontellt",distributeVertically:"Fördela vertikalt",flipHorizontal:"Vänd horisontellt",flipVertical:"Vänd vertikalt",viewMode:"Visningsläge",share:"Dela",showStroke:"Visa färgväljare för linjefärg",showBackground:"Visa färgväljare för bakgrundsfärg",toggleTheme:"Växla tema",personalLib:"Personligt bibliotek",excalidrawLib:"Excalidraw bibliotek",decreaseFontSize:"Minska fontstorleken",increaseFontSize:"Öka fontstorleken",unbindText:"Koppla bort text",bindText:"Bind texten till behållaren",createContainerFromText:"Radbryt text i en avgränsad yta",link:{edit:"Redigera länk",editEmbed:"Redigera länk & bädda in",create:"Skapa länk",createEmbed:"Skapa länk & bädda in",label:"Länk",labelEmbed:"Länka & bädda in",empty:"Ingen länk är angiven"},lineEditor:{edit:"Redigera linje",exit:"Avsluta linjeredigerare"},elementLock:{lock:"Lås",unlock:"Lås upp",lockAll:"Lås alla",unlockAll:"Lås upp alla"},statusPublished:"Publicerad",sidebarLock:"Håll sidofältet öppet",selectAllElementsInFrame:"Markera alla element i rutan",removeAllElementsFromFrame:"Ta bort alla element från rutan",eyeDropper:"Välj färg från canvas",textToDiagram:"Text till diagram",prompt:"Fråga"},Hcu={noItems:"Inga objekt tillagda ännu...",hint_emptyLibrary:"Välj ett objekt på canvasen för att lägga till det här, eller installera ett bibliotek från det publika arkivet, nedan.",hint_emptyPrivateLibrary:"Välj ett objekt på canvasen för att lägga till det här."},qcu={clearReset:"Återställ canvasen",exportJSON:"Exportera till fil",exportImage:"Exportera bild...",export:"Spara till...",copyToClipboard:"Kopiera till urklipp",save:"Spara till aktuell fil",saveAs:"Spara som",load:"Öppna",getShareableLink:"Hämta delbar länk",close:"Stäng",selectLanguage:"Välj språk",scrollBackToContent:"Bläddra tillbaka till innehållet",zoomIn:"Zooma in",zoomOut:"Zooma ut",resetZoom:"Återställ zoom",menu:"Meny",done:"Klart",edit:"Redigera",undo:"Ångra",redo:"Gör om",resetLibrary:"Återställ bibliotek",createNewRoom:"Skapa ett nytt rum",fullScreen:"Helskärm",darkMode:"Mörkt läge",lightMode:"Ljust läge",zenMode:"Zen-läge",objectsSnapMode:"Fäst mot objekt",exitZenMode:"Gå ur zen-läge",cancel:"Avbryt",clear:"Rensa",remove:"Ta bort",embed:"Växla inbäddning",publishLibrary:"Publicera",submit:"Skicka",confirm:"Bekräfta",embeddableInteractionButton:"Klicka för att interagera"},lcu={clearReset:"Detta rensar hela canvasen. Är du säker?",couldNotCreateShareableLink:"Kunde inte skapa delbar länk.",couldNotCreateShareableLinkTooBig:"Kunde inte skapa delbar länk: skissen är för stor",couldNotLoadInvalidFile:"Kunde inte ladda ogiltig fil",importBackendFailed:"Importering från backend misslyckades.",cannotExportEmptyCanvas:"Kan inte exportera tom canvas.",couldNotCopyToClipboard:"Kunde inte kopiera till urklipp.",decryptFailed:"Kunde inte avkryptera data.",uploadedSecurly:"Uppladdning har säkrats med kryptering från ände till ände. vilket innebär att Excalidraw server och tredje part inte kan läsa innehållet.",loadSceneOverridePrompt:"Laddning av extern skiss kommer att ersätta ditt befintliga innehåll. Vill du fortsätta?",collabStopOverridePrompt:`Att stoppa sessionen kommer att skriva över din föregående, lokalt lagrade skiss. Är du säker?
(Om du vill behålla din lokala skiss, stäng bara webbläsarfliken istället.)`,errorAddingToLibrary:"Kunde inte lägga till objekt i biblioteket",errorRemovingFromLibrary:"Kunde inte ta bort objekt från biblioteket",confirmAddLibrary:"Detta kommer att lägga till {{numShapes}} form(er) till ditt bibliotek. Är du säker?",imageDoesNotContainScene:"Den här bilden verkar inte innehålla någon skissdata. Har du aktiverat inbäddning av skiss under export?",cannotRestoreFromImage:"Skiss kunde inte återställas från denna bildfil",invalidSceneUrl:"Det gick inte att importera skiss från den angivna webbadressen. Antingen har den fel format, eller så innehåller den ingen giltig Excalidraw JSON data.",resetLibrary:"Detta kommer att rensa ditt bibliotek. Är du säker?",removeItemsFromsLibrary:"Ta bort {{count}} objekt från biblioteket?",invalidEncryptionKey:"Krypteringsnyckeln måste vara 22 tecken. Livesamarbetet är inaktiverat.",collabOfflineWarning:`Ingen internetanslutning tillgänglig.
Dina ändringar kommer inte att sparas!`},Lcu={unsupportedFileType:"Filtypen stöds inte.",imageInsertError:"Kunde inte infoga bild. Försök igen senare...",fileTooBig:"Filen är för stor. Maximal tillåten storlek är {{maxSize}}.",svgImageInsertError:"Kunde inte infoga SVG-bild. SVG-koden ser ogiltig ut.",failedToFetchImage:"Kunde inte hämta bilden.",invalidSVGString:"Ogiltig SVG.",cannotResolveCollabServer:"Det gick inte att ansluta till samarbets-servern. Ladda om sidan och försök igen.",importLibraryError:"Kunde inte ladda bibliotek",collabSaveFailed:"Det gick inte att spara i backend-databasen. Om problemen kvarstår bör du spara filen lokalt för att se till att du inte förlorar ditt arbete.",collabSaveFailed_sizeExceeded:"Det gick inte att spara till backend-databasen, whiteboarden verkar vara för stor. Du bör spara filen lokalt för att du inte ska förlora ditt arbete.",imageToolNotSupported:"Bilder är inaktiverade.",brave_measure_text_error:{line1:"Det ser ut som om du använder Brave-webbläsaren med <bold>Aggressivt Blockera fingeravtryck</bold> inställningen aktiverad.",line2:"Detta kan resultera i trasiga <bold>Textelement</bold> i dina ritningar.",line3:"Vi rekommenderar starkt att du inaktiverar den här inställningen. Du kan följa <link>dessa steg</link> för att inaktivera den.",line4:"Om inaktivering av denna inställning inte åtgärdar visningen av textelement, öppna ett <issueLink>ärende</issueLink> på vår GitHub, eller skriv till oss på <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Inbäddbara element kan inte läggas till i biblioteket.",iframe:"IFrame-element kan inte läggas till i biblioteket.",image:"Stöd för att lägga till bilder till biblioteket kommer snart!"},asyncPasteFailedOnRead:"Kunde inte klistra in (kunde inte läsa från urklipp).",asyncPasteFailedOnParse:"Kunde inte klistra in.",copyToSystemClipboardFailed:"Kunde inte kopiera till urklipp."},Xcu={selection:"Markering",image:"Infoga bild",rectangle:"Rektangel",diamond:"Diamant",ellipse:"Ellips",arrow:"Pil",line:"Linje",freedraw:"Rita",text:"Text",library:"Bibliotek",lock:"Håll valt verktyg aktivt efter ritande",penMode:"Pennläge - förhindra touch",link:"Lägg till / Uppdatera länk för en vald form",eraser:"Radergummi",frame:"Rutverktyg",magicframe:"Trådram till kod",embeddable:"Bädda in (web)",laser:"Laserpekare",hand:"Hand (panoreringsverktyg)",extraTools:"Fler verktyg",mermaidToExcalidraw:"Mermaid till Excalidraw",magicSettings:"AI-inställningar"},vcu={canvasActions:"Canvas-åtgärder",selectedShapeActions:"Valda formåtgärder",shapes:"Former"},xcu={canvasPanning:"För att flytta whiteboarden, håll mushjulet eller mellanslagstangenten medan du drar eller använd handverktyget",linearElement:"Klicka för att starta flera punkter, dra för en linje",freeDraw:"Klicka och dra, släpp när du är klar",text:"Tips: du kan också lägga till text genom att dubbelklicka var som helst med markeringsverktyget",embeddable:"Klicka-dra för att skapa en webbplats-inbäddning",text_selected:"Dubbelklicka eller tryck ENTER för att redigera text",text_editing:"Tryck Escape eller CtrlOrCmd + ENTER för att slutföra redigeringen",linearElementMulti:"Klicka på sista punkten eller tryck Escape eller Enter för att avsluta",lockAngle:"Du kan begränsa vinkeln genom att hålla SKIFT",resize:`Du kan behålla proportioner genom att hålla SHIFT medan du ändrar storlek,
håller du ALT ändras storlek relativt mitten`,resizeImage:`Du kan ändra storlek fritt genom att hålla SHIFT,
håll ALT för att ändra storlek från mitten`,rotate:"Du kan begränsa vinklar genom att hålla SHIFT medan du roterar",lineEditor_info:"Håll Ctrl/Cmd och dubbelklicka eller tryck på Ctrl/Cmd + Enter för att redigera punkter",lineEditor_pointSelected:"Tryck på Ta bort för att ta bort punkt(er), Ctrl + D eller Cmd + D för att duplicera, eller dra för att flytta",lineEditor_nothingSelected:`Välj en punkt att redigera (håll SHIFT för att välja flera),
eller håll ned Alt och klicka för att lägga till nya punkter`,placeImage:"Klicka för att placera bilden, eller klicka och dra för att ställa in dess storlek manuellt",publishLibrary:"Publicera ditt eget bibliotek",bindTextToElement:"Tryck på Enter för att lägga till text",deepBoxSelect:"Håll Ctrl eller Cmd för att djupvälja, och för att förhindra att dra",eraserRevert:"Håll Alt för att återställa de element som är markerade för borttagning",firefox_clipboard_write:'Denna funktion kan sannolikt aktiveras genom att ställa in "dom.events.asyncClipboard.clipboardItem" flaggan till "true". För att ändra webbläsarens flaggor i Firefox, besök "about:config" sidan.',disableSnapping:"Håll Ctrl eller Cmd för att inaktivera fästning"},Wcu={cannotShowPreview:"Kan inte visa förhandsgranskning",canvasTooBig:"Canvasen kan vara för stor.",canvasTooBigTip:"Tips: prova att flytta de mest avlägsna elementen lite närmare varandra."},Scu={headingMain:"Ett fel uppstod. Försök <button>med att läsa in sidan på nytt.</button>",clearCanvasMessage:"Om omladdning inte fungerar, försök <button>rensa canvasen.</button>",clearCanvasCaveat:" Detta kommer att leda till förlust av arbete ",trackedToSentry:"Felet med identifieraren {{eventId}} spårades på vårt system.",openIssueMessage:"Vi var mycket försiktiga med att inte inkludera din skissinformation om felet. Om din skiss inte är privat, vänligen överväga att följa upp på vår <button>buggspårare.</button> Vänligen inkludera information nedan genom att kopiera och klistra in i GitHub-problemet.",sceneContent:"Skissinnehåll:"},Ycu={desc_intro:"Du kan bjuda in personer till din nuvarande skiss för att samarbeta med dig.",desc_privacy:"Oroa dig inte, sessionen använder kryptering från ände till ände, så vad du än ritar kommer att förbli privat. Inte ens vår server kommer att kunna se vad du skissar.",button_startSession:"Starta sessionen",button_stopSession:"Stoppa session",desc_inProgressIntro:"Nu pågår en live-samarbetssession.",desc_shareLink:"Dela denna länk med någon du vill samarbeta med:",desc_exitSession:"Att avbryta sessionen kommer att koppla bort dig från rummet, men du kommer att kunna fortsätta arbeta med skissen, lokalt. Observera att detta inte påverkar andra människor, och de kommer fortfarande att kunna samarbeta på deras version.",shareTitle:"Delta i en live-samarbetssession på Excalidraw"},Rcu={title:"Fel"},Tcu={disk_title:"Spara till disk",disk_details:"Exportera skissdata till en fil som du kan importera från senare.",disk_button:"Spara till fil",link_title:"Delbar länk",link_details:"Exportera som en skrivskyddad länk.",link_button:"Exportera till länk",excalidrawplus_description:"Spara skissen till din Excalidraw+ arbetsyta.",excalidrawplus_button:"Exportera",excalidrawplus_exportError:"Det gick inte att exportera till Excalidraw+ just nu..."},Ocu={blog:"Läs vår blogg",click:"klicka",deepSelect:"Djupval",deepBoxSelect:"Djupval inom boxen, och förhindra att dra",curvedArrow:"Böjd pil",curvedLine:"Böjd linje",documentation:"Dokumentation",doubleClick:"dubbelklicka",drag:"dra",editor:"Redigerare",editLineArrowPoints:"Redigera linje-/pilpunkter",editText:"Redigera text / lägg till etikett",github:"Hittat ett problem? Rapportera",howto:"Följ våra guider",or:"eller",preventBinding:"Förhindra pilbindning",tools:"Verktyg",shortcuts:"Tangentbordsgenvägar",textFinish:"Slutför redigering (text)",textNewLine:"Lägg till ny rad (text)",title:"Hjälp",view:"Visa",zoomToFit:"Zooma för att rymma alla element",zoomToSelection:"Zooma till markering",toggleElementLock:"Lås/Lås upp valda",movePageUpDown:"Flytta sida upp/ner",movePageLeftRight:"Flytta sida vänster/höger"},Icu={title:"Rensa canvas"},Pcu={title:"Publicera bibliotek",itemName:"Objektnamn",authorName:"Upphovsmannens namn",githubUsername:"GitHub-användarnamn",twitterUsername:"Twitter-användarnamn",libraryName:"Biblioteksnamn",libraryDesc:"Biblioteksbeskrivning",website:"Webbplats",placeholder:{authorName:"Ditt namn eller användarnamn",libraryName:"Namn på ditt bibliotek",libraryDesc:"Beskrivning av ditt bibliotek för att hjälpa människor att förstå dess användning",githubHandle:"Github-användarnamn (valfritt), så att du kan redigera biblioteket när du har skickat in det för granskning",twitterHandle:"Twitter-användarnamn (valfritt), så vi vet vem att kreditera när du marknadsför på Twitter",website:"Länk till din personliga webbplats eller någon annan (valfritt)"},errors:{required:"Obligatoriskt",website:"Ange en giltig URL"},noteDescription:"Skicka ditt bibliotek för att inkluderas i <link>det offentliga bibliotekets arkiv</link>för andra människor att använda i sina skisser.",noteGuidelines:"Biblioteket måste godkännas manuellt först. Vänligen läs <link>riktlinjerna</link> innan du skickar in. Du behöver ett GitHub-konto för att kommunicera och göra ändringar om så önskas, men det krävs inte.",noteLicense:"Genom att skicka in godkänner du att biblioteket kommer att publiceras under <link>MIT-licens, </link>vilket kort sagt betyder att vem som helst kan använda det utan restriktioner.",noteItems:"Varje objekt måste ha sitt eget namn så att det är filtrerbart. Följande objekt kommer att inkluderas:",atleastOneLibItem:"Välj minst ett biblioteksobjekt för att komma igång",republishWarning:"Obs: några av de markerade objekten är redan markerade som publicerade/skickade. Du bör endast skicka objekt igen när du uppdaterar ett befintligt bibliotek eller inlämning."},jcu={title:"Bibliotek inskickat",content:"Tack {{authorName}}. Ditt bibliotek har skickats för granskning. Du kan följa status<link>här</link>"},Ncu={resetLibrary:"Återställ bibliotek",removeItemsFromLib:"Ta bort markerade objekt från biblioteket"},Vcu={header:"Exportera bild",label:{withBackground:"Bakgrund",onlySelected:"Endast markerade",darkMode:"Mörkt läge",embedScene:"Bädda in skiss",scale:"Skala",padding:"Utfyllnad"},tooltip:{embedScene:`Skissdata kommer att sparas i den exporterade PNG/SVG-filen så att skissen kan återställas från den.
Kommer att öka exporterad filstorlek.`},title:{exportToPng:"Exportera till PNG",exportToSvg:"Exportera till SVG",copyPngToClipboard:"Kopiera PNG till urklipp"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Kopiera till urklipp"}},hcu={tooltip:"Dina skisser är krypterade från ände till ände så Excalidraws servrar kommer aldrig att se dem.",link:"Blogginlägg om kryptering från ände till ände i Excalidraw"},icu={angle:"Vinkel",element:"Element",elements:"Element",height:"Höjd",scene:"Skiss",selected:"Valda",storage:"Lagring",title:"Statistik för nördar",total:"Totalt",version:"Version",versionCopy:"Klicka för att kopiera",versionNotAvailable:"Versionen är inte tillgänglig",width:"Bredd"},acu={addedToLibrary:"Tillagd i biblioteket",copyStyles:"Kopierade stilar.",copyToClipboard:"Kopierad till urklipp.",copyToClipboardAsPng:`Kopierade {{exportSelection}} till urklipp som PNG
({{exportColorScheme}})`,fileSaved:"Fil sparad.",fileSavedToFilename:"Sparad till {filename}",canvas:"canvas",selection:"markering",pasteAsSingleElement:`Använd {{shortcut}} för att klistra in som ett enda element,
eller klistra in i en befintlig textredigerare`,unableToEmbed:"Att bädda in denna webbadress är för närvarande inte tillåtet. Skapa en problemrapport på GitHub för att begära att webbadressen vitlistas.",unrecognizedLinkFormat:"Länken du bäddade in matchar inte det förväntade formatet. Försök klistra in 'embed'-strängen som tillhandahålls av källwebbplatsen"},mcu={transparent:"Genomskinlig",black:"Svart",white:"Vit",red:"Röd",pink:"Rosa",grape:"Lila",violet:"Violett",gray:"Grå",blue:"Blå",cyan:"Turkos",teal:"Blågrön",green:"Grön",yellow:"Gul",orange:"Orange",bronze:"Brons"},$cu={app:{center_heading:"All data sparas lokalt i din webbläsare.",center_heading_plus:"Ville du gå till Excalidraw+ istället?",menuHint:"Exportera, inställningar, språk, ..."},defaults:{menuHint:"Exportera, inställningar och mer...",center_heading:"Förenklade. Diagram.",toolbarHint:"Välj ett verktyg & börja rita!",helpHint:"Genvägar & hjälp"}},ycu={mostUsedCustomColors:"Mest frekvent använda anpassade färger",colors:"Färger",shades:"Nyanser",hexCode:"Hex-kod",noShades:"Inga nyanser tillgängliga för denna färg"},rcu={action:{exportToImage:{title:"Exportera som bild",button:"Exportera som bild",description:"Exportera scendata som en bild från vilken du kan importera senare."},saveToDisk:{title:"Spara till disk",button:"Spara till disk",description:"Exportera scendata till en fil från vilken du kan importera senare."},excalidrawPlus:{title:"Excalidraw+",button:"Exportera till Excalidraw+",description:"Spara skissen till din Excalidraw+ arbetsyta."}},modal:{loadFromFile:{title:"Läs in från fil",button:"Läs in från fil",description:"Laddar från en fil kommer <bold>ersätta ditt befintliga innehåll</bold>.<br></br>Du kan säkerhetskopiera din ritning först med hjälp av ett av alternativen nedan."},shareableLink:{title:"Läs in från länk",button:"Ersätt mitt innehåll",description:"Inläsning av en extern ritning kommer <bold>ersätta ditt befintliga innehåll</bold>.<br></br>Du kan säkerhetskopiera din ritning först genom att använda ett av alternativen nedan."}}},gcu={title:"Mermaid till Excalidraw",button:"Infoga",description:"För närvarande stöds endast <flowchartLink>Flödesdiagram</flowchartLink>,<sequenceLink> Sekvensdiagram </sequenceLink> och <classLink>Klassdiagram</classLink>. De andra typerna kommer att återges som bild i Excalidraw.",syntax:"Mermaid-syntax",preview:"Förhandsgranska"},Tf3={labels:Gcu,library:Hcu,buttons:qcu,alerts:lcu,errors:Lcu,toolBar:Xcu,headings:vcu,hints:xcu,canvasError:Wcu,errorSplash:Scu,roomDialog:Ycu,errorDialog:Rcu,exportDialog:Tcu,helpDialog:Ocu,clearCanvasDialog:Icu,publishDialog:Pcu,publishSuccessDialog:jcu,confirmDialog:Ncu,imageExportDialog:Vcu,encrypted:hcu,stats:icu,toast:acu,colors:mcu,welcomeScreen:$cu,colorPicker:ycu,overwriteConfirm:rcu,mermaid:gcu}});var q_u={};ju(q_u,{welcomeScreen:()=>w_u,toolBar:()=>tcu,toast:()=>J_u,stats:()=>Z_u,roomDialog:()=>A_u,publishSuccessDialog:()=>k_u,publishDialog:()=>z_u,overwriteConfirm:()=>G_u,mermaid:()=>H_u,library:()=>ncu,labels:()=>pcu,imageExportDialog:()=>M_u,hints:()=>u_u,helpDialog:()=>F_u,headings:()=>ecu,exportDialog:()=>D_u,errors:()=>ocu,errorSplash:()=>E_u,errorDialog:()=>C_u,encrypted:()=>b_u,default:()=>Of3,confirmDialog:()=>f_u,colors:()=>K_u,colorPicker:()=>Q_u,clearCanvasDialog:()=>U_u,canvasError:()=>B_u,buttons:()=>dcu,alerts:()=>scu});var pcu,ncu,dcu,scu,ocu,tcu,ecu,u_u,B_u,E_u,A_u,C_u,D_u,F_u,U_u,z_u,k_u,f_u,M_u,b_u,Z_u,J_u,K_u,w_u,Q_u,G_u,H_u,Of3;var l_u=g(()=>{m4();pcu={paste:"ஒட்டு",pasteAsPlaintext:"அலங்காரமின்றி ஒட்டு",pasteCharts:"விளக்கப்படங்களை ஒட்டு",selectAll:"எல்லாம் தேர்ந்தெடு",multiSelect:"உறுப்பைத் தெரிவில் சேர்",moveCanvas:"கித்தானை நகர்த்து",cut:"வெட்டு",copy:"நகலெடு",copyAsPng:"நகலகத்திற்கு PNG ஆக நகலெடு",copyAsSvg:"நகலகத்திற்கு SVG ஆக நகலெடு",copyText:"நகலகத்திற்கு உரையாக நகலெடு",copySource:"",convertToCode:"",bringForward:"முன்நோக்கி கொண்டுவா",sendToBack:"பின்னே அனுப்பு",bringToFront:"முன்னே கொண்டுவா",sendBackward:"பின்நோக்கி அனுப்பு",delete:"அழி",copyStyles:"ஒயில்களை நகலெடு",pasteStyles:"ஒயில்களை ஒட்டு",stroke:"கீறல்",background:"பின்புலம்",fill:"நிரப்பல்",strokeWidth:"கீறல் அகலம்",strokeStyle:"கீறல் ஒயில்",strokeStyle_solid:"திடமான",strokeStyle_dashed:"கோடிட்ட",strokeStyle_dotted:"புள்ளியிட்ட",sloppiness:"அசட்டுத்தனம்",opacity:"ஒளிபுகாவியல்பு",textAlign:"உரைச் சீரமைப்பு",edges:"விளிம்புகள்",sharp:"கூர்மை",round:"வட்டம்",arrowheads:"அம்புத்தலைகள்",arrowhead_none:"ஏதுமில்லை",arrowhead_arrow:"அம்பு",arrowhead_bar:"பட்டை",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"முக்கோணம்",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"எழுத்துரு அளவு",fontFamily:"எழுத்துரு குடும்பம்",addWatermark:'"எக்ஸ்கேலிட்ரா கொண்டு ஆனது"-ஐச் சேர்',handDrawn:"கையால்-வரைந்த",normal:"இயல்பு",code:"குறியீடு",small:"சிறிய",medium:"நடுத்தரமான",large:"பெரிய",veryLarge:"மிகப் பெரிய",solid:"திடமான",hachure:"மலைக்குறிக்கோடு",zigzag:"கோணல்மாணல்",crossHatch:"குறுக்குகதவு",thin:"மெல்லிய",bold:"பட்டை",left:"இடது",center:"மையம்",right:"வலது",extraBold:"கூடுதல் பட்டை",architect:"கட்டடக்கலைஞர்",artist:"கலைஞர்",cartoonist:"கேலிச்சித்திர ஓவியர்",fileTitle:"கோப்புப் பெயர்",colorPicker:"நிறத் தேர்வி",canvasColors:"கித்தானில் பயன்படுத்தப்பட்டது",canvasBackground:"கித்தான் பின்னணி",drawingCanvas:"கித்தான் வரைகிறது",layers:"அடுக்குகள்",actions:"செயல்கள்",language:"மொழி",liveCollaboration:"நேரடி கூட்டுப்பணி...",duplicateSelection:"நகலாக்கு",untitled:"தலைப்பற்றது",name:"பெயர்",yourName:"உங்கள் பெயர்",madeWithExcalidraw:"எக்ஸ்கேலிட்ரா கொண்டு ஆனது",group:"தேர்ந்ததை ஒன்றிணை",ungroup:"தேர்ந்ததைப் பிரி",collaborators:"கூட்டுப்பணியினர்",showGrid:"கட்டதைக் காட்டு",addToLibrary:"நூலகத்தில் சேர்",removeFromLibrary:"நூலகத்திலிருந்து நீக்கு",libraryLoadingMessage:"நூலகத்தை ஏற்றுகிறது…",libraries:"நூலகங்களை உலாவு",loadingScene:"காட்சியை ஏற்றுகிறது…",align:"சீரமை",alignTop:"மேலே சீரமை",alignBottom:"கீழே சீரமை",alignLeft:"இடதில் சீரமை",alignRight:"வலதில் சீரமை",centerVertically:"செங்குத்தாக மையப்படுத்து",centerHorizontally:"கிடைமட்டமாக மையப்படுத்து",distributeHorizontally:"கிடைமட்டமாக விநியோகி",distributeVertically:"செங்குத்தாக விநியோகி",flipHorizontal:"கிடைமட்டமாக புரட்டு",flipVertical:"செங்குத்தாக புரட்டு",viewMode:"பார்வை பயன்முறை",share:"பகிர்",showStroke:"கீறல் நிற எடுப்பானைக் காட்டு",showBackground:"பின்னணி நிற எடுப்பானைக் காட்டு",toggleTheme:"தோற்றத்தை நிலைமாற்று",personalLib:"தனக்குரிய நூலகம்",excalidrawLib:"எக்ஸ்கேலிட்ரா நூலகம்",decreaseFontSize:"எழுத்துரு அளவைக் குறை",increaseFontSize:"எழுத்துரு அளவை அதிகரி",unbindText:"உரையைப் பிணைவவிழ்",bindText:"உரையைக் கொள்கலனுக்குப் பிணை",createContainerFromText:"உரையைக் கொள்கலனுள் சுருட்டு",link:{edit:"தொடுப்பைத் திருத்து",editEmbed:"",create:"தொடுப்பைப் படை",createEmbed:"",label:"தொடுப்பு",labelEmbed:"",empty:""},lineEditor:{edit:"தொடுப்பைத் திருத்து",exit:"வரி திருத்தியிலிருந்து வெளியேறு"},elementLock:{lock:"பூட்டு",unlock:"பூட்டவிழ்",lockAll:"எல்லாம் பூட்டு",unlockAll:"எல்லாம் பூட்டவிழ்"},statusPublished:"வெளியிடப்பட்டது",sidebarLock:"பக்கப்பட்டையைத் திறந்தே வை",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"கித்தானிலிருந்து நிறம் தேர்ந்தெடு",textToDiagram:"",prompt:""},ncu={noItems:"இதுவரை உருப்படிகள் சேரக்கப்படவில்லை...",hint_emptyLibrary:"கித்தானிலுள்ள உருப்படியை இங்குச் சேர்க்க தேர்ந்தெடு, அல்லது கீழுள்ள பொது களஞ்சியத்திலிருந்து நூலகத்தை நிறுவு.",hint_emptyPrivateLibrary:"கித்தானிலுள்ள உருப்படியை இங்குச் சேர்க்க தேர்ந்தெடு."},dcu={clearReset:"கித்தானை அகரமாக்கு",exportJSON:"கோப்புக்கு ஏற்றுமதிசெய்",exportImage:"படத்தை ஏற்றுமதிசெய்...",export:"இதில் சேமி...",copyToClipboard:"நகலகத்திற்கு நகலெடு",save:"தற்போதைய கோப்புக்குச் சேமி",saveAs:"இப்படி சேமி",load:"திற",getShareableLink:"பகிரக்கூடிய தொடுப்பைப் பெறு",close:"மூடு",selectLanguage:"மொழியைத் தேர்ந்தெடு",scrollBackToContent:"உருட்டி உள்ளடக்கத்துக்குத் திரும்பு",zoomIn:"பெரிதாக்கு",zoomOut:"சிறிதாக்கு",resetZoom:"உருவளவை அகரமாக்கு",menu:"சிறுபட்டி",done:"முடிந்தது",edit:"திருத்து",undo:"செயல்தவிர்",redo:"மீண்டும்செய்",resetLibrary:"நூலகத்தை அகரமாக்கு",createNewRoom:"புதிய அறையை உருவாக்கு",fullScreen:"முழுத் திரை",darkMode:"கருமை பயன்முறை",lightMode:"வெளிர்ந்த பயன்முறை",zenMode:"ஜென் பயன்முறை",objectsSnapMode:"",exitZenMode:"ஜென் பயன்முறையை விலகு",cancel:"ரத்துசெய்",clear:"துடை",remove:"நீக்கு",embed:"",publishLibrary:"பிரசுரி",submit:"சமர்ப்பி",confirm:"உறுதிசெய்",embeddableInteractionButton:""},scu={clearReset:"இது முழு கித்தானையும் துடைக்கும். நீங்கள் உறுதியா?",couldNotCreateShareableLink:"பகிரக்கூடிய தொடுப்பை உருவாக்க முடியவில்லை.",couldNotCreateShareableLinkTooBig:"பகிரக்கூடிய தொடுப்பை உருவாக்க முடியவில்லை: காட்சி மிகப்பெரிதாக உள்ளது",couldNotLoadInvalidFile:"செல்லாத கோப்பை ஏற்ற முடியவில்லை",importBackendFailed:"தேகத்திலிருந்து இறக்குமதி தோல்வி.",cannotExportEmptyCanvas:"காலியான கித்தானை ஏற்றுமதிசெய்ய முடியாது.",couldNotCopyToClipboard:"நகலகத்திற்கு நகலெடுக்க முடியவில்லை.",decryptFailed:"தரவை மறைநீக்க முடியவில்லை.",uploadedSecurly:"பதிவேற்றம் இருமுனை மறையாகத்தால் பாதுகாக்கப்பட்டுள்ளது, எனவே எக்ஸ்கேலிட்ரா சேவையகமும் மூன்றாம் தரப்பினரும் உள்ளடக்கத்தை வாசிக்கமுடியாது.",loadSceneOverridePrompt:"வெளிப்புறச்சித்திரமேற்றல் இருக்கிற உள்ளடக்கத்தை இடங்கொள்ளும். தொடர விருப்பமா?",collabStopOverridePrompt:`அமர்வை நிறுத்துதல் முன்னர் அகமாக தேக்கிய உம் சித்திரத்தை மேலெழுதும். நீங்கள் உறுதியா?
(உம் அக சித்திரத்தை வைக்கவேண்டுமெனில், சும்மா உலாவி தாவலை மூடுக அதற்குபதிலாக.)`,errorAddingToLibrary:"உருப்படியை நூலகத்தில் சேர்க்க இயலா",errorRemovingFromLibrary:"உருப்படியை நூலகத்திலிருந்து நீக்க இயலா",confirmAddLibrary:"இதனால் {{numShapes}} வடிவம்(கள்) உம் நூலகத்தில் சேரும். நீங்கள் உறுதியா?",imageDoesNotContainScene:"இப்படத்தில் காட்சி தரவு ஏதும் இருப்பதுபோல் தெரியவில்லை. ஏற்றுமதியின்போது காட்சி உட்பதிதலை இயக்கினீரா?",cannotRestoreFromImage:"இப்படக்கோப்பிலிருந்து காட்சி மீட்டெடுக்கப்பட முடியாது",invalidSceneUrl:"வழங்கப்பட்ட உரலியிலிருந்து காட்சியை இறக்கவியலா. இது தவறான வடிவத்தில் உள்ளது, அ செல்லத்தக்க எக்ஸ்கேலிட்ரா JSON தரவைக் கொண்டில்லை.",resetLibrary:"இது உங்கள் நுலகத்தைத் துடைக்கும். நீங்கள் உறுதியா?",removeItemsFromsLibrary:"{{count}} உருப்படி(கள்)-ஐ உம் நூலகத்திலிருந்து அழிக்கவா?",invalidEncryptionKey:"மறையாக்க விசை 22 வரியுருக்கள் கொண்டிருக்கவேண்டும். நேரடி கூட்டுப்பணி முடக்கப்பட்டது.",collabOfflineWarning:`இணைய இணைப்பு இல்லை.
உமது மாற்றங்கள் சேமிக்கப்படா!`},ocu={unsupportedFileType:"ஆதரிக்கப்படா கோப்பு வகை.",imageInsertError:"படத்தைப் புகுத்தவியலா. பிறகு மீண்டும் முயலவும்...",fileTooBig:"கோப்பு மிகப்பெரிது. அனுமதிக்கப்பட்ட அதிகபட்ச அளவு {{maxSize}}.",svgImageInsertError:"எஸ்விஜி படத்தைப் புகுத்தவியலா. எஸ்விஜியின் மார்க்அப் செல்லாததாக தெரிகிறது.",failedToFetchImage:"",invalidSVGString:"செல்லாத SVG.",cannotResolveCollabServer:"கூட்டுப்பணிச் சேவையகத்துடன் இணைக்க முடியவில்லை. பக்கத்தை மீளேற்றி மீண்டும் முயலவும்.",importLibraryError:"நூலகத்தை ஏற்ற முடியவில்லை",collabSaveFailed:"பின்முனை தரவுத்தளத்தில் சேமிக்க முடியவில்லை. சிக்கல்கள் நீடித்தால், உமது வேலைகளை இழக்காமலிருப்பதை உறுதிசெய்ய உமது கோப்பை உள்ளகத்தில் சேமிக்க வேண்டும்.",collabSaveFailed_sizeExceeded:"பின்முனை தரவுத்தளத்தில் சேமிக்க முடியவில்லை, கித்தான் மிகப்பெரிதாகத் தெரிகிறது. உமது வேலைகளை இழக்காமலிருப்பதை உறுதிசெய்ய உமது கோப்பை உள்ளகத்தில் சேமிக்க வேண்டும்.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},tcu={selection:"தெரிவு",image:"படத்தைப் புகுத்து",rectangle:"செவ்வகம்",diamond:"வைரம்",ellipse:"நீள்வட்டம்",arrow:"அம்பு",line:"வரி",freedraw:"வரை",text:"உரை",library:"நூலகம்",lock:"தேர்ந்த கருவியை வரைந்த பின்பும் வைத்திரு",penMode:"பேனா - தடுப்பு தொடுதல்",link:"தேர்தெடுத்த வடிவத்திற்குத் தொடுப்பைச் சேர்/ புதுப்பி",eraser:"அழிப்பி",frame:"சட்டகம் கருவி",magicframe:"",embeddable:"",laser:"",hand:"கை (பார்வை நகர்கும் கருவி)",extraTools:"மற்ற கருவிகள்",mermaidToExcalidraw:"",magicSettings:""},ecu={canvasActions:"கித்தான் செயல்கள்",selectedShapeActions:"தேர்ந்த வடிவம் செயல்கள்",shapes:"வடிவங்கள்"},u_u={canvasPanning:"",linearElement:"பல புள்ளிகளைத் துவக்க சொடுக்கு, ஒற்றை வரிக்கு பிடித்திழு",freeDraw:"சொடுக்கி பிடித்திழு, முடித்ததும் விடுவி",text:"துணுக்குதவி: தெரிவு கருவி கொண்டு எங்காவது இரு-சொடுக்கி உரையைச் சேர்க்கலாம்",embeddable:"",text_selected:"உரையைத் திருத்த இரு-சொடுக்கு அ ENTERஐ அழுத்து",text_editing:"திருத்துவதை முடிக்க Escape அ CtrlOrCmd+ENTERஐ அழுத்து",linearElementMulti:"கடைசி புள்ளியில் சொடுக்கு அ முடிக்க Escape அ Enter அழுத்து",lockAngle:"SHIFTஐ அழுத்திப்பிடித்து கோணத்தை வற்புறுத்தலாம்",resize:`மறுஅளவிடுகையில் SHIFTஐ அழுத்திப்பிடித்து விகிதசமத்தை வற்புறுத்தலாம்,
மையத்திலிருந்து மறுஅளவிட ALTஐ அழுத்திப்பிடி`,resizeImage:`SHIFTஐ நீண்டழுத்தி கட்டற்று அளவுமாற்றலாம்,
மையத்திலிருந்து அளவுமாற்ற ALTஐ நீண்டழுத்துக`,rotate:"சுழற்றுகையில் SHIFTஐ அழுத்திப்பிடித்து கோணங்களை வற்புறுத்தலாம்",lineEditor_info:"",lineEditor_pointSelected:`புள்ளி(கள்)ஐ நீக்க Deleteஐ அழுத்து,
நகலாக்க CtrlOrCmd+D, அ நகர்த்த பிடித்திழு`,lineEditor_nothingSelected:`திருத்த புள்ளியைத் தேர்ந்தெடு (பலவற்றை தேர SHIFTஐ அழுத்திப்பிடி),
அ புதிய புள்ளிகளைச் சேர்க்க Altஐ அழுத்திப்பிடித்துச் சொடுக்கு`,placeImage:"படத்தை வைக்கச் சொடுக்கு, அ கைமுறையாக அளவு அமைக்க சொடுக்கி பிடித்திழு",publishLibrary:"உம் சொந்த நூலகத்தைப் பிரசுரி",bindTextToElement:"உரையைச் சேர்க்க enterஐ அழுத்து",deepBoxSelect:"ஆழ்ந்துத் தேரவும் பிடித்திழுத்தலைத் தவிர்க்கவும் CtrlOrCmdஐ அழுத்திப்பிடி",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},B_u={cannotShowPreview:"முன்னோட்டம் காட்ட இயலவில்லை",canvasTooBig:"கித்தான் மிகப்பெரிதாக இருக்கலாம்.",canvasTooBigTip:"துணுக்குதவி: தூரத்திலுள்ள உறுப்புகளைப் நெருக்கமாக நகர்த்தப்பார்."},E_u={headingMain:"பிழையைச் சந்தித்தீரா. முயலவும் <button>பக்கத்தை மீண்டுமேற்றுகிறது.</button>",clearCanvasMessage:"மீண்டுமேற்றல் வேலைசெய்யவிட்டால், முயற்சி <button>கித்தானைத் துடைக்கிறது.</button>",clearCanvasCaveat:" இது வேலையை இழக்கக்கூடும் ",trackedToSentry:"இனங்காணியில் பிழை {{eventId}} எங்கள் இயங்குதளத்தில் தடமறியப்பட்டது.",openIssueMessage:"பிழையில் உம் காட்சி தகவலை உள்ளடக்காமலிருக்க நாங்கள் மிக எச்சரிக்கையாக இருந்தோம். உம் காட்சி தனிப்பட்டதில்லையெனில், பின்தொடர்வதற்கு பரிசீலிக்கவும் எங்கள் <button>பிழை தடமி.</button> கீழுள்ள தகவலை நகலெடுத்து ஒட்டி GitHub சிக்கலுள் உள்ளடக்கவும்.",sceneContent:"காட்சி உள்ளடக்கம்:"},A_u={desc_intro:"உம்முடன் கூட்டுப்பணிசெய்ய மக்களை தற்போதைய காட்சிக்கு அழைப்பிடலாம்.",desc_privacy:"வருந்தாதீர், அமர்வு இருமுனை மறையகத்தைப் பயன்படுத்துகிறது, ஆக நீங்கள் வரைவது எதுவும் தனிப்பட்டதாக இருக்கும். எங்கள் சேவையகத்தால் கூட நீங்கள் என்ன செய்ததைப் பார்க்கவியலாது.",button_startSession:"அமர்வைத் துவக்கு",button_stopSession:"அமர்வை நிறுத்து",desc_inProgressIntro:"நேரடி-கூட்டுப்பணி அமர்வு தற்போது செயலிலுள்ளது.",desc_shareLink:"கூட்டுப்பணிபுரிய விரும்பும் எவருனும் இத்தொடுப்பைப் பகிர்க:",desc_exitSession:"அமர்வை நிறுத்தல் உம்மை அறையிலிருந்து துண்டிக்கும், ஆனால் காட்சியுடன் தொடர்ந்து பணிபுரிய உம்மாலியலும், அகமாக. இது பிற மக்களைப் பாதிக்காதென்பதைக் குறி, மற்றும் அவர்களாலவர்களுடைய பதிப்பில் இன்னும் கூட்டுப்பணிபுரியவியலும்.",shareTitle:"எக்ஸ்கேலிட்ராவில் நேரடி கூட்டுப்பணி அமர்வில் சேர்"},C_u={title:"பிழை"},D_u={disk_title:"வட்டில் சேமி",disk_details:"காட்சித் தரவை நீங்கள் பின்னர் இறக்குமதி செய்யக்கூடிய ஒரு கோப்பிற்கு ஏற்றுமதிசெய்க.",disk_button:"கோப்பில் சேமி",link_title:"பகிரக்கூடிய தொடுப்பு",link_details:"வாசிக்க-மட்டும் தொடுப்பாக ஏற்றுமதிசெய்.",link_button:"தொடுப்புக்கு ஏற்றுமதிசெய்",excalidrawplus_description:"காட்சியை உன் எக்ஸ்கேலிட்ரா பணியிடத்தில் சேமி.",excalidrawplus_button:"ஏற்றுமதி",excalidrawplus_exportError:"இத்தருணத்தில் எக்ஸ்கேலிட்ரா+ க்கு ஏற்றுமதிசெய்ய முடியவில்லை..."},F_u={blog:"எமது வலைப்பூவை வாசி",click:"சொடுக்கு",deepSelect:"ஆழ்ந்துத் தேர்",deepBoxSelect:"பெட்டியினுள் ஆழ்ந்துத் தேர், மற்றும் பிடித்திழுத்தலைத் தவிர்",curvedArrow:"வளைந்த அம்பு",curvedLine:"வளைந்த வரி",documentation:"ஆவணமாக்கல்",doubleClick:"இரு-சொடுக்கு",drag:"பிடித்திழு",editor:"திருத்தி",editLineArrowPoints:"",editText:"",github:"சிக்கலைக் கண்டீரா? சமர்ப்பி",howto:"எங்கள் கையேடுகளைப் பின்பற்றுக",or:"அ",preventBinding:"அம்பு பிணைதலைத் தவிர்",tools:"கருவிகள்",shortcuts:"விசைப்பலகை குறுக்குவழிகள்",textFinish:"திருத்துதலை முடி (உரை திருத்தி)",textNewLine:"புதிய வரியைச் சேர் (உரை திருத்தி)",title:"உதவி",view:"பார்",zoomToFit:"அனைத்துறுப்புகளும் பொருந்தும்படி விரிவாக்கு",zoomToSelection:"தெரிவுக்கு விரிவாக்கு",toggleElementLock:"தேர்ந்தெடுப்பைப் பூட்டு/பூட்டவிழ்",movePageUpDown:"மேலே/கீழே நகர்த்தவும்",movePageLeftRight:"இடது/வலது பக்கம் நகர்த்தவும்"},U_u={title:"கித்தானைத் துடை"},z_u={title:"நூலகத்தைப் பிரசுரி",itemName:"உருப்படியின் பெயர்",authorName:"ஆசிரியர் பெயர்",githubUsername:"GitHub பயனர்பெயர்",twitterUsername:"டுவிட்டர் பயனர்பெயர்",libraryName:"நூலக பெயர்",libraryDesc:"நூலக விவரிப்பு",website:"வலைத்தளம்",placeholder:{authorName:"உம் பெயர் அ பயனர்பெயர்",libraryName:"உம் நூலகத்தின் பெயர்",libraryDesc:"உம் நூலகத்தின் விவரிப்பு இதன் பயன்பாட்டை மக்கள் புரிந்துகொள்ளவுதவ",githubHandle:"GitHub கைப்பிடி (விரும்பினால்), ஆதலால் நீங்கள் நூலகத்தை மதிப்பாய்விற்காக சமர்ப்பித்தவுடன் திருத்தமுடியும்",twitterHandle:"டுவிட்டர் பயனர்பெயர் (விரும்பினால்), ஆதலால் டுவிட்டரில் முன்னிறுத்தும்போது யாமெவரைப் புகழ்வதென்றறிவோம்",website:"உமக்குரிய வலைத்தளத்திற்கு அ வேறெங்கிற்குமான தொடுப்பு (விரும்பினால்)"},errors:{required:"தேவைப்டுகிறது",website:"செல்லத்தக்க உரலியை உள்ளிடு"},noteDescription:"உம் நூலகத்தைச் சமர்ப்பி உள்ளடக்குவதற்கு <link>பொது நூலக களஞ்சியத்தில்</link>பிற மக்களவர்களின் சித்திரங்களில் பயன்படுத்த.",noteGuidelines:"நூலகம் முதலில் கைமுறையாக ஒப்புக்கொள்ளப்படவேண்டும். வாசிக்கவும் <link>வழிகாட்டுதல்களைச்</link> சமர்ப்பிக்கும் முன்பு. கோரப்பட்டால் தொடர்புகொள்ள மற்றும் மாற்றங்கள் செய்ய உமக்கொரு GitHub கணக்கு தேவை, ஆனால் அது கண்டிப்பாக தேவையல்ல.",noteLicense:"சமர்ப்பிப்பதனால், நூலகம் இதனடியில் பிரசரிக்கப்பட ஏற்கிறீர்கள் <link>MIT உரிமம், </link>சுருக்கமாக எவருமிதைப் வரையறையின்றி பயன்படுத்தலாமென குறிக்கிறது.",noteItems:"வடிக்கட்டக்கூடியதாகவிருக்க ஒவ்வொரு நூலகவுருப்படிக்கும் சொந்த பெயர் இருக்கவேண்டும். பின்வரும் நூலகவுருப்படிகள் உள்ளடக்கப்படும்:",atleastOneLibItem:"ஆரம்பிக்க ஒரு நூலக உருப்படியையாவது தேர்ந்தெடுக்கவும்",republishWarning:""},k_u={title:"நூலகம் சமர்ப்பிக்கப்பட்டது",content:"நன்றி {{authorName}}. உமது நூலகம் மதிப்பாய்விற்காக சமர்ப்பிக்கப்பட்டது. நிலையை நீங்கள் தடமறியலாம்<link>இங்கே</link>"},f_u={resetLibrary:"நூலகத்தை அகரமாக்கு",removeItemsFromLib:"நூலகத்திலிருந்து தேர்ந்தெடுத்த உருப்படிகளை நீக்கு"},M_u={header:"படத்தை ஏற்றுமதிதல",label:{withBackground:"பின்னணி",onlySelected:"தேர்ந்ததை மட்டும்",darkMode:"இருள் பயன்முறை",embedScene:"காட்சியை உட்பொதி",scale:"அளவுகோல்",padding:""},tooltip:{embedScene:""},title:{exportToPng:"PNGக்கு ஏற்றுமதிசெய்",exportToSvg:"SVGக்கு ஏற்றுமதிசெய்",copyPngToClipboard:""},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:""}},b_u={tooltip:"உம் சித்திரங்கள் இருமுனை மறையாக்கம் செய்யப்பட்டவையாதலால் எக்ஸ்கேலிட்ராவின் சேவையகங்கள் அவற்றை ஒருபோதும் பார்க்கா.",link:"எக்ஸ்கேலிட்ராவில் இருமுனை மறையாக்கம் மீதான வலைப்பூ இடுகை"},Z_u={angle:"கோணம்",element:"உறுப்பு",elements:"உறுப்புகள்",height:"உயரம்",scene:"காட்சி",selected:"தேர்ந்தவை",storage:"சேமிப்பகம்",title:"மேதாவிகளுக்கான புள்ளிவிவரங்கள்",total:"மொத்தம்",version:"பதிப்பு",versionCopy:"நகலெடுக்க சொடுக்கு",versionNotAvailable:"பதிப்பு கிடைக்கவில்லை",width:"அகலம்"},J_u={addedToLibrary:"நூலகத்தில் சேர்க்கப்பட்டது",copyStyles:"ஒயில்கள் நகலெடுக்கப்பட்டன.",copyToClipboard:"நகலகத்திற்கு நகலெடுக்கப்பட்டது.",copyToClipboardAsPng:`{{exportSelection}}-ஐ நகலகத்திற்கு PNG ஆக நகலெடுத்தது
({{exportColorScheme}})`,fileSaved:"கோப்பு சேமிக்கப்பட்டது.",fileSavedToFilename:"{filename}-க்கு சேமிக்கப்பட்டது",canvas:"கித்தான்",selection:"தெரிவு",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},K_u={transparent:"ஒளிபுகுத்தன்மை",black:"கருப்பு",white:"வெள்ளை",red:"சிவப்பு",pink:"இளஞ்சிவப்பு",grape:"திராட்சை",violet:"ஊதா",gray:"சாம்பல்",blue:"நீலம்",cyan:"மயில்நிறம்",teal:"டீல்",green:"பச்சை",yellow:"மஞ்சள்",orange:"ஆரஞ்சு",bronze:"வெண்கலம்"},w_u={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"எளிமையாக வரைபடங்கள் உருவாக்க!",toolbarHint:"கருவியைத் தேர்ந்தெடு & வரை!",helpHint:"குறுக்குவழிகள் & உதவி"}},Q_u={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},G_u={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},H_u={title:"",button:"",description:"",syntax:"",preview:""},Of3={labels:pcu,library:ncu,buttons:dcu,alerts:scu,errors:ocu,toolBar:tcu,headings:ecu,hints:u_u,canvasError:B_u,errorSplash:E_u,roomDialog:A_u,errorDialog:C_u,exportDialog:D_u,helpDialog:F_u,clearCanvasDialog:U_u,publishDialog:z_u,publishSuccessDialog:k_u,confirmDialog:f_u,imageExportDialog:M_u,encrypted:b_u,stats:Z_u,toast:J_u,colors:K_u,welcomeScreen:w_u,colorPicker:Q_u,overwriteConfirm:G_u,mermaid:H_u}});var d_u={};ju(d_u,{welcomeScreen:()=>c_u,toolBar:()=>S_u,toast:()=>r_u,stats:()=>y_u,roomDialog:()=>I_u,publishSuccessDialog:()=>i_u,publishDialog:()=>h_u,overwriteConfirm:()=>p_u,mermaid:()=>n_u,library:()=>X_u,labels:()=>L_u,imageExportDialog:()=>m_u,hints:()=>R_u,helpDialog:()=>N_u,headings:()=>Y_u,exportDialog:()=>j_u,errors:()=>W_u,errorSplash:()=>O_u,errorDialog:()=>P_u,encrypted:()=>$_u,default:()=>If3,confirmDialog:()=>a_u,colors:()=>g_u,colorPicker:()=>__u,clearCanvasDialog:()=>V_u,canvasError:()=>T_u,buttons:()=>v_u,alerts:()=>x_u});var L_u,X_u,v_u,x_u,W_u,S_u,Y_u,R_u,T_u,O_u,I_u,P_u,j_u,N_u,V_u,h_u,i_u,a_u,m_u,$_u,y_u,r_u,g_u,c_u,__u,p_u,n_u,If3;var s_u=g(()=>{m4();L_u={paste:"วาง",pasteAsPlaintext:"วางโดยไม่มีการจัดรูปแบบ",pasteCharts:"วางแผนภูมิ",selectAll:"เลือกทั้งหมด",multiSelect:"",moveCanvas:"",cut:"ตัด",copy:"คัดลอก",copyAsPng:"คัดลองไปยังคลิปบอร์ดเป็น PNG",copyAsSvg:"คัดลองไปยังคลิปบอร์ดเป็น SVG",copyText:"คัดลองไปยังคลิปบอร์ดเป็นข้อความ",copySource:"",convertToCode:"",bringForward:"นำขึ้นข้างบน",sendToBack:"ย้ายไปข้างล่าง",bringToFront:"นำขึ้นข้างหน้า",sendBackward:"ย้ายไปข้างหลัง",delete:"ลบ",copyStyles:"คัดลอกรูปแบบ",pasteStyles:"วางรูปแบบ",stroke:"เส้นขอบ",background:"พื้นหลัง",fill:"เติมสี",strokeWidth:"น้ำหนักเส้นขอบ",strokeStyle:"รูปแบบเส้น",strokeStyle_solid:"เส้นทึบ",strokeStyle_dashed:"เส้นประ",strokeStyle_dotted:"จุด",sloppiness:"ความเลอะเทอะ",opacity:"ความทึบแสง",textAlign:"จัดข้อความ",edges:"ขอบ",sharp:"",round:"",arrowheads:"หัวลูกศร",arrowhead_none:"ไม่มี",arrowhead_arrow:"ลูกศร",arrowhead_bar:"แถบ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"สามเหลี่ยม",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"ขนาดตัวอักษร",fontFamily:"แบบตัวอักษร",addWatermark:'เพิ่มลายน้ำ "สร้างด้วย Excalidraw"',handDrawn:"ลายมือ",normal:"ปกติ",code:"โค้ด",small:"เล็ก",medium:"กลาง",large:"ใหญ่",veryLarge:"ใหญ่มาก",solid:"",hachure:"",zigzag:"",crossHatch:"",thin:"บาง",bold:"หนา",left:"ซ้าย",center:"กลาง",right:"ขวา",extraBold:"หนาพิเศษ",architect:"",artist:"ศิลปิน",cartoonist:"",fileTitle:"ชื่อไฟล์",colorPicker:"เลือกสีที่กำหนดเอง",canvasColors:"",canvasBackground:"",drawingCanvas:"",layers:"",actions:"การกระทำ",language:"ภาษา",liveCollaboration:"",duplicateSelection:"ทำสำเนา",untitled:"ไม่มีชื่อ",name:"ชื่อ",yourName:"ชื่อของคุณ",madeWithExcalidraw:"",group:"จัดกลุ่ม",ungroup:"ยกเลิกการจัดกลุ่ม",collaborators:"",showGrid:"แสดงเส้นตาราง",addToLibrary:"เพิ่มไปในคลัง",removeFromLibrary:"นำออกจากคลัง",libraryLoadingMessage:"กำลังโหลดคลัง...",libraries:"",loadingScene:"กำลังโหลดฉาก",align:"จัดตำแหน่ง",alignTop:"จัดชิดด้านบน",alignBottom:"จัดชิดด้านล่าง",alignLeft:"จัดชิดซ้าย",alignRight:"จัดชิดขวา",centerVertically:"กึ่งกลางแนวตั้ง",centerHorizontally:"กึ่งกลางแนวนอน",distributeHorizontally:"กระจายแนวนอน",distributeVertically:"กระจายแนวตั้ง",flipHorizontal:"พลิกแนวนอน",flipVertical:"พลิกแนวตั้ง",viewMode:"โหมดมุมมอง",share:"แชร์",showStroke:"",showBackground:"",toggleTheme:"สลับธีม",personalLib:"คลังของฉัน",excalidrawLib:"คลังของ Excalidraw",decreaseFontSize:"ลดขนาดตัวอักษร",increaseFontSize:"เพิ่มขนาดตัวอักษร",unbindText:"ยกเลิกการผูกติด",bindText:"",createContainerFromText:"",link:{edit:"แก้ไขลิงก์",editEmbed:"แก้ไขลิงค์และการฝัง",create:"สร้างลิงค์",createEmbed:"สร้างลิงค์และการฝัง",label:"ลิงค์",labelEmbed:"ลิงค์และการฝัง",empty:"ไม่ได้ใส่ลิงค์"},lineEditor:{edit:"แก้ไขเส้น",exit:""},elementLock:{lock:"ล็อก",unlock:"ปลดล็อก",lockAll:"ล็อกทั้งหมด",unlockAll:"ปลดล็อกทั้งหมด"},statusPublished:"เผยแพร่",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},X_u={noItems:"ยังไม่มีรายการที่เพิ่มเข้าไปได้",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},v_u={clearReset:"รีเซ็ทผืนผ้าใบ",exportJSON:"ส่งออกไปยังไฟล์",exportImage:"ส่งออกเป็นรูปภาพ",export:"บันทึกไปยัง",copyToClipboard:"คัดลอกไปยังคลิปบอร์ด",save:"บันทึกเป็นไฟล์ปัจจุบัน",saveAs:"บันทึกเป็น",load:"เปิด",getShareableLink:"สร้างลิงค์ที่แชร์ได้",close:"ปิด",selectLanguage:"เลือกภาษา",scrollBackToContent:"เลื่อนกลับไปด้านบน",zoomIn:"ซูมเข้า",zoomOut:"ซูมออก",resetZoom:"รีเซ็ตการซูม",menu:"เมนู",done:"เสร็จสิ้น",edit:"แก้ไข",undo:"เลิกทำ",redo:"ทำซ้ำ",resetLibrary:"รีเซ็ตคลัง",createNewRoom:"สร้างห้องใหม่",fullScreen:"เต็มหน้าจอ",darkMode:"โหมดกลางคืน",lightMode:"โหมดกลางวัน",zenMode:"โหมด Zen",objectsSnapMode:"",exitZenMode:"ออกจากโหมด Zen",cancel:"ยกเลิก",clear:"เคลียร์",remove:"ลบ",embed:"สลับการฝัง",publishLibrary:"เผยแพร่",submit:"ตกลง",confirm:"ยืนยัน",embeddableInteractionButton:"คลิกเพื่อปฏิสัมพันธ์"},x_u={clearReset:"",couldNotCreateShareableLink:"ไม่สามารถสร้างลิงค์ได้",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"ไม่สามารถโหลดไฟล์ที่ผิดพลาดได้",importBackendFailed:"เกิดข้อผิดพลาดจากการนำเข้าจากระบบหลังบ้าน",cannotExportEmptyCanvas:"ไม่สามารถนำออกจากผืนผ้าใบที่ว่างเปล่าได้",couldNotCopyToClipboard:"ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้",decryptFailed:"ไม่สามารถถอดรหัสข้อมูลได้",uploadedSecurly:"การอัพโหลดได้ถูกเข้ารหัสแบบ end-to-end หมายความว่าเซิร์ฟเวอร์ของ Excalidraw และบุคคลอื่นไม่สามารถอ่านข้อมูลได้",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"ไม่สามารถเพิ่มรายการเข้าไปในคลังได้",errorRemovingFromLibrary:"ไม่สามารถลบรายการนี้ออกจากคลังได้",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},W_u={unsupportedFileType:"ไม่รองรับชนิดของไฟล์นี้",imageInsertError:"ไม่สามารถเพิ่มรูปภาพได้ ลองอีกครั้งในภายหลัง",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"ไฟล์ SVG ผิดพลาด",cannotResolveCollabServer:"ไม่สามารถเชื่อต่อกับ collab เซิร์ฟเวอร์ได้ โปรดลองโหลดหน้านี้ใหม่และลองอีกครั้ง",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"การเพิ่มองค์ประกอบที่ฝังยังไม่สามารถเพิ่มเข้าไปในไลบลารีได้",iframe:"",image:"การสนับสนุนสำหรับเพิ่มรูปภาพลงในไลบลารีจะมาในเร็ว ๆ นี้"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},S_u={selection:"",image:"",rectangle:"สี่เหลี่ยมผืนผ้า",diamond:"",ellipse:"วงรี",arrow:"ลูกศร",line:"",freedraw:"",text:"ข้อความ",library:"คลัง",lock:"",penMode:"",link:"",eraser:"ยางลบ",frame:"",magicframe:"",embeddable:"ฝังเว็บ",laser:"",hand:"",extraTools:"เครื่องมืออื่นๆ",mermaidToExcalidraw:"",magicSettings:""},Y_u={canvasActions:"",selectedShapeActions:"",shapes:"รูปร่าง"},R_u={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"คลิกและลากเพื่อสร้างการฝังสำหรับเว็บไซต์",text_selected:"คลิกสองครั้งหรือกด ENTER เพื่อแก้ไขข้อความ",text_editing:"กดปุ่ม Esc หรือกด Ctrl, Cmd + Enter เพื่อเสร็จการแก้ไข",linearElementMulti:"คลิกที่จุดสุดท้ายหรือกด Escape หรือ Enter เพื่อเสร็จสิ้น",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:`กดปุ่ม Delete เพื่อลบจุด
กด Ctrl หรือ Cmd + D เพื่อทำซ้ำหรือลากเพื่อเคลื่อนย้าย`,lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},T_u={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},O_u={headingMain:"<button>กำลังรีโหลดหน้า</button>",clearCanvasMessage:"ถ้าโหลดไม่ได้ ให้ลอง <button>เคลียร์ผืนผ้าใบ</button>",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},I_u={desc_intro:"",desc_privacy:"",button_startSession:"เริ่มเซสชัน",button_stopSession:"หยุดเซสชัน",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},P_u={title:""},j_u={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:"ไม่สามารถส่งออกไปที่ Excalidraw+ ได้ในขณะนี้"},N_u={blog:"อ่านบล็อกของพวกเรา",click:"คลิก",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"ดับเบิลคลิก",drag:"ลาก",editor:"",editLineArrowPoints:"",editText:"แก้ไขข้อความ / เพิ่มข้อความ",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"ช่วยเหลือ",view:"ดู",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:"ย้ายหน้าไปด้าน ซ้าย/ขวา"},V_u={title:""},h_u={title:"",itemName:"",authorName:"ชื่อเจ้าของ",githubUsername:"ชื่อผู้ใช้ GitHub",twitterUsername:"ชื่อผู้ใช้ Twitter",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},i_u={title:"",content:""},a_u={resetLibrary:"",removeItemsFromLib:""},m_u={header:"",label:{withBackground:"",onlySelected:"",darkMode:"โหมดกลางคืน",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"ส่งออกไปเป็น SVG",exportToSvg:"ส่งออกไปเป็น SVG",copyPngToClipboard:"คัดลอก PNG ไปยังคลิปบอร์ด"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"คัดลอกไปยังคลิปบอร์ด"}},$_u={tooltip:"",link:""},y_u={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},r_u={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},g_u={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"ฟ้าน้ำทะเล",green:"เขียว",yellow:"เหลือง",orange:"ส้ม",bronze:"ทองแดง"},c_u={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},__u={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},p_u={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},n_u={title:"",button:"",description:"",syntax:"",preview:""},If3={labels:L_u,library:X_u,buttons:v_u,alerts:x_u,errors:W_u,toolBar:S_u,headings:Y_u,hints:R_u,canvasError:T_u,errorSplash:O_u,roomDialog:I_u,errorDialog:P_u,exportDialog:j_u,helpDialog:N_u,clearCanvasDialog:V_u,publishDialog:h_u,publishSuccessDialog:i_u,confirmDialog:a_u,imageExportDialog:m_u,encrypted:$_u,stats:y_u,toast:r_u,colors:g_u,welcomeScreen:c_u,colorPicker:__u,overwriteConfirm:p_u,mermaid:n_u}});var vpu={};ju(vpu,{welcomeScreen:()=>qpu,toolBar:()=>Epu,toast:()=>Gpu,stats:()=>Qpu,roomDialog:()=>Upu,publishSuccessDialog:()=>Zpu,publishDialog:()=>bpu,overwriteConfirm:()=>Lpu,mermaid:()=>Xpu,library:()=>t_u,labels:()=>o_u,imageExportDialog:()=>Kpu,hints:()=>Cpu,helpDialog:()=>fpu,headings:()=>Apu,exportDialog:()=>kpu,errors:()=>Bpu,errorSplash:()=>Fpu,errorDialog:()=>zpu,encrypted:()=>wpu,default:()=>Pf3,confirmDialog:()=>Jpu,colors:()=>Hpu,colorPicker:()=>lpu,clearCanvasDialog:()=>Mpu,canvasError:()=>Dpu,buttons:()=>e_u,alerts:()=>upu});var o_u,t_u,e_u,upu,Bpu,Epu,Apu,Cpu,Dpu,Fpu,Upu,zpu,kpu,fpu,Mpu,bpu,Zpu,Jpu,Kpu,wpu,Qpu,Gpu,Hpu,qpu,lpu,Lpu,Xpu,Pf3;var xpu=g(()=>{m4();o_u={paste:"Yapıştır",pasteAsPlaintext:"Düz metin olarak yapıştır",pasteCharts:"Grafikleri yapıştır",selectAll:"Tümünü seç",multiSelect:"Seçime öge ekle",moveCanvas:"Tuvali taşı",cut:"Kes",copy:"Kopyala",copyAsPng:"Panoya PNG olarak kopyala",copyAsSvg:"Panoya SVG olarak kopyala",copyText:"Panoya metin olarak kopyala",copySource:"",convertToCode:"",bringForward:"Bir öne getir",sendToBack:"Arkaya gönder",bringToFront:"En öne getir",sendBackward:"Bir geriye gönder",delete:"Sil",copyStyles:"Stilleri kopyala",pasteStyles:"Stilleri yapıştır",stroke:"Vurgu",background:"Arka plan",fill:"Doldur",strokeWidth:"Kontur genişliği",strokeStyle:"Kontur stili",strokeStyle_solid:"Dolu",strokeStyle_dashed:"Kesik çizgili",strokeStyle_dotted:"Noktalı",sloppiness:"Üstün körülük",opacity:"Opaklık",textAlign:"Metin hizala",edges:"Kenarlar",sharp:"Keskin",round:"Yuvarlak",arrowheads:"Ok uçları",arrowhead_none:"Yok",arrowhead_arrow:"Ok",arrowhead_bar:"Çizgi",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Üçgen",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Yazı tipi boyutu",fontFamily:"Yazı tipi ailesi",addWatermark:'"Excalidraw ile yapıldı" yazısını ekle',handDrawn:"El-yazısı",normal:"Normal",code:"Kod",small:"Küçük",medium:"Orta",large:"Büyük",veryLarge:"Çok geniş",solid:"Dolu",hachure:"Taralı",zigzag:"Zikzak",crossHatch:"Çapraz-taralı",thin:"İnce",bold:"Kalın",left:"Sol",center:"Ortala",right:"Sağ",extraBold:"Ekstra kalın",architect:"Mimar",artist:"Sanatçı",cartoonist:"Karikatürist",fileTitle:"Dosya adı",colorPicker:"Renk seçici",canvasColors:"Tuvalin üzerinde kullanıldı",canvasBackground:"Tuval arka planı",drawingCanvas:"Çizim tuvali",layers:"Katmanlar",actions:"Eylemler",language:"Dil",liveCollaboration:"Canlı ortak çalışma alanı...",duplicateSelection:"Çoğalt",untitled:"Adsız",name:"İsim",yourName:"İsminiz",madeWithExcalidraw:"Excalidraw ile yapıldı",group:"Seçimi grup yap",ungroup:"Seçilen grubu dağıt",collaborators:"Ortaklar",showGrid:"Izgarayı göster",addToLibrary:"Kütüphaneye ekle",removeFromLibrary:"Kütüphaneden kaldır",libraryLoadingMessage:"Kütüphane yükleniyor…",libraries:"Kütüphanelere gözat",loadingScene:"Sahne yükleniyor…",align:"Hizala",alignTop:"Yukarı hizala",alignBottom:"Aşağı hizala",alignLeft:"Sola hizala",alignRight:"Sağa hizala",centerVertically:"Dikeyde ortala",centerHorizontally:"Yatayda ortala",distributeHorizontally:"Yatay dağıt",distributeVertically:"Dikey dağıt",flipHorizontal:"Yatay döndür",flipVertical:"Dikey döndür",viewMode:"Görünüm modu",share:"Paylaş",showStroke:"Kontur için renk seçiciyi göster",showBackground:"Arkaplan için renk seçiciyi göster",toggleTheme:"Temayı etkinleştir/devre dışı bırak",personalLib:"Kişisel Kitaplık",excalidrawLib:"Excalidraw Kitaplığı",decreaseFontSize:"Yazı Tipi Boyutunu Küçült",increaseFontSize:"Yazı Tipi Boyutunu Büyült",unbindText:"Metni çöz",bindText:"Metni taşıyıcıya bağla",createContainerFromText:"Metni bileşen içinde sar",link:{edit:"Bağlantıyı düzenle",editEmbed:"Bağlantıyı düzenle & yerleştir",create:"Bağlantı oluştur",createEmbed:"Bağlantı oluştur & yerleştir",label:"Bağlantı",labelEmbed:"Bağlantı & yerleştirme",empty:"Herhangi bir bağlantı oluşturulmadı"},lineEditor:{edit:"Çizgiyi düzenle",exit:"Çizgi düzenlemeden çık"},elementLock:{lock:"Kilitle",unlock:"Kilidi Kaldır",lockAll:"Hepsini kilitle",unlockAll:"Hepsinin kilidini kaldır"},statusPublished:"Yayınlandı",sidebarLock:"Kenar çubuğu açık kalsın",selectAllElementsInFrame:"Çerçevedeki tüm bileşenleri seç",removeAllElementsFromFrame:"Çerçevedeki tüm bileşenleri sil",eyeDropper:"Tuvalden renk seç",textToDiagram:"",prompt:""},t_u={noItems:"Öğe eklenmedi...",hint_emptyLibrary:"Öğelerden birini eklemek için öğeyi seçiniz veya aşağıdaki genel kütüphaneden öğeleri ekleyin.",hint_emptyPrivateLibrary:"Tuvalden bir eleman seçerek sayfaya ekleyin."},e_u={clearReset:"Tuvali sıfırla",exportJSON:"Dosyaya aktar",exportImage:"Resimleri dışa aktar...",export:"Şuraya kaydet...",copyToClipboard:"Panoya kopyala",save:"Geçerli dosyaya kaydet",saveAs:"Farklı kaydet",load:"Aç",getShareableLink:"Paylaşılabilir bağlantı al",close:"Kapat",selectLanguage:"Dil seçin",scrollBackToContent:"İçeriğe geri dön",zoomIn:"Yakınlaştır",zoomOut:"Uzaklaştır",resetZoom:"Yakınlaştırmayı sıfırla",menu:"Menü",done:"Tamam",edit:"Düzenle",undo:"Geri Al",redo:"Yeniden yap",resetLibrary:"Kütüphaneyi sıfırla",createNewRoom:"Yeni oda oluştur",fullScreen:"Tam ekran",darkMode:"Koyu tema",lightMode:"Açık tema",zenMode:"Zen modu",objectsSnapMode:"Nesnelere hizala",exitZenMode:"Zen modundan çık",cancel:"İptal",clear:"Temizle",remove:"Kaldır",embed:"",publishLibrary:"Yayınla",submit:"Gönder",confirm:"Onayla",embeddableInteractionButton:"Etkileşime girmek için tıkla"},upu={clearReset:"Tuvalin tamamı temizlenecek. Emin misiniz?",couldNotCreateShareableLink:"Paylaşılabilir bağlantı oluşturulamadı.",couldNotCreateShareableLinkTooBig:"Paylaşılabilir bağlantı oluşturulamadı: sahne çok büyük",couldNotLoadInvalidFile:"Bilinmeyen dosya yüklenemiyor",importBackendFailed:"Sunucudan içe aktarma başarısız.",cannotExportEmptyCanvas:"Boş tuval dışarıya aktarılamaz.",couldNotCopyToClipboard:"Panoya kopyalanamıyor.",decryptFailed:"Şifrelenmiş veri çözümlenemedi.",uploadedSecurly:"Yükleme uçtan uca şifreleme ile korunmaktadır. Excalidraw sunucusu ve üçüncül şahıslar içeriği okuyamayacaktır.",loadSceneOverridePrompt:"Harici çizimler yüklemek mevcut olan içeriği değiştirecektir. Devam etmek istiyor musunuz?",collabStopOverridePrompt:`Oturumu sonlandırmak daha önceki, yerel olarak kaydedilmiş çizimin üzerine kaydedilmesine sebep olacak. Emin misiniz?
(Yerel çiziminizi kaybetmemek için tarayıcı sekmesini kapatabilirsiniz.)`,errorAddingToLibrary:"Öğe kütüphaneye eklenemedi",errorRemovingFromLibrary:"Öğe kütüphaneden silinemedi",confirmAddLibrary:"Bu, kitaplığınıza {{numShapes}} tane şekil ekleyecek. Emin misiniz?",imageDoesNotContainScene:"Bu görüntü herhangi bir sahne verisi içermiyor gibi görünüyor. Dışa aktarma sırasında sahne yerleştirmeyi etkinleştirdiniz mi?",cannotRestoreFromImage:"Sahne bu resim dosyasından geri yüklenemedi",invalidSceneUrl:"Verilen bağlantıdan çalışma alanı yüklenemedi. Dosya bozuk olabilir veya geçerli bir Excalidraw JSON verisi bulundurmuyor olabilir.",resetLibrary:"Bu işlem kütüphanenizi sıfırlayacak. Emin misiniz?",removeItemsFromsLibrary:"{{count}} öğe(ler) kitaplıktan kaldırılsın mı?",invalidEncryptionKey:"Şifreleme anahtarı 22 karakter olmalı. Canlı işbirliği devre dışı bırakıldı.",collabOfflineWarning:"İnternet bağlantısı bulunamadı. Değişiklikleriniz kaydedilmeyecek!"},Bpu={unsupportedFileType:"Desteklenmeyen dosya türü.",imageInsertError:"Görsel eklenemedi. Daha sonra tekrar deneyin...",fileTooBig:"Dosya çok büyük. İzin verilen maksimum boyut {{maxSize}}.",svgImageInsertError:"SVG resmi eklenemedi. SVG işaretlemesi geçersiz görünüyor.",failedToFetchImage:"",invalidSVGString:"Geçersiz SVG.",cannotResolveCollabServer:"İş birliği sunucusuna bağlanılamıyor. Lütfen sayfayı yenileyip tekrar deneyin.",importLibraryError:"Kütüphane yüklenemedi",collabSaveFailed:"Backend veritabanına kaydedilemedi. Eğer problem devam ederse, çalışmanızı korumak için dosyayı yerel olarak kaydetmelisiniz.",collabSaveFailed_sizeExceeded:"Backend veritabanına kaydedilemedi; tuval çok büyük. Çalışmanızı korumak için dosyayı yerel olarak kaydetmelisiniz.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:"Resimleri kütüphaneye ekleme desteği yakında geliyor!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Epu={selection:"Seçme",image:"Görsel ekle",rectangle:"Dikdörtgen",diamond:"Elmas",ellipse:"Elips",arrow:"Ok",line:"Çizgi",freedraw:"Çiz",text:"Yazı",library:"Kütüphane",lock:"Seçilen aracı çizimden sonra aktif tut",penMode:"Kalem modu - dokunmayı engelle",link:"Seçilen şekil için bağlantı Ekle/Güncelle",eraser:"Silgi",frame:"Çerçeve aracı",magicframe:"",embeddable:"Web Yerleştirme",laser:"Lazer işaretçisi",hand:"",extraTools:"Daha fazla araç",mermaidToExcalidraw:"",magicSettings:""},Apu={canvasActions:"Tuval eylemleri",selectedShapeActions:"Seçilen şekil aksiyonları",shapes:"Şekiller"},Cpu={canvasPanning:"",linearElement:"Birden fazla nokta için tıklayın, tek çizgi için sürükleyin",freeDraw:"Tıkla ve sürükle, bitirdiğinde serbest bırak",text:"İpucu: seçme aracıyla herhangi bir yere çift tıklayarak da yazı ekleyebilirsin",embeddable:"Web sitesi yerleştirmek için sürükle bırak",text_selected:"Metni düzenlemek için çift tıklayın veya ENTER'a basın",text_editing:"Düzenlemeyi bitirmek için ESC veya Ctrl/Cmd+ENTER tuşlarına basın",linearElementMulti:"Bitirmek için son noktaya tıklayın ya da Escape veya Enter tuşuna basın",lockAngle:"SHIFT tuşuna basılı tutarak açıyı koruyabilirsiniz",resize:`Yeniden boyutlandırırken SHIFT tuşunu basılı tutarak oranları sınırlayabilirsiniz,
merkezden yeniden boyutlandırmak için ALT tuşunu basılı tutun`,resizeImage:"SHIFT'e basılı tutarak serbestçe yeniden boyutlandırabilirsiniz, merkezden yeniden boyutlandırmak için ALT tuşunu basılı tutun",rotate:"Döndürürken SHIFT tuşuna basılı tutarak açıları koruyabilirsiniz",lineEditor_info:"Puanları düzenlemek için ctrl veya cmd tuşuna basılı tutup çift tıklayın veya enter tuşuna basın",lineEditor_pointSelected:`Sil tuşuna basarak noktaları silin,
Ctrl/Cmd + D ile çoğaltın, ya da sürükleyerek taşıyın`,lineEditor_nothingSelected:`Düzenlemek için bir nokta seçin (birden fazla seçmek için SHIFT tuşunu basılı tutun),
veya Alt tuşunu basılı tutun ve yeni noktalar eklemek için tıklayın`,placeImage:"Resmi yerleştirmek için tıklayın ya da boyutunu manuel olarak ayarlamak için tıklayıp sürükleyin",publishLibrary:"Kendi kitaplığınızı yayınlayın",bindTextToElement:"Enter tuşuna basarak metin ekleyin",deepBoxSelect:"Ctrl/Cmd tuşuna basılı tutarak derin seçim yapın ya da sürüklemeyi engelleyin",eraserRevert:"Alt tuşuna basılı tutarak silinme için işaretlenmiş ögeleri tersine çevirin",firefox_clipboard_write:"",disableSnapping:""},Dpu={cannotShowPreview:"Önizleme gösterilemiyor",canvasTooBig:"Kanvas çok büyük olabilir.",canvasTooBigTip:"İpucu: En uzaktaki elemanları birbirine yakınlaştırmayı deneyin."},Fpu={headingMain:"Hata oluştu. Lütfen <button>sayfayı yenilemeyi deneyin.</button>",clearCanvasMessage:"Yenileme sonrası sorun devam ediyorsa, lütfen <button>çizim alanını temizlemeyi deneyin.</button>",clearCanvasCaveat:" Bu, yaptığınız değişiklikleri sıfırlayacak ",trackedToSentry:"Tanımlayıcı ile ilgili hata {{eventId}} sistemimize yakalandı.",openIssueMessage:"Sahne bilginizi hata mesajına yansıtmamak için oldukça dikkatli davrandık. Eğer sahneniz gizli değilse hatayı lütfen şuradan takip edin <button>hata takibi.</button> Lütfen aşağıya GitHub sorununa kopyalayarak ve yapıştırarak bilgi ekleyin.",sceneContent:"Sahne içeriği:"},Upu={desc_intro:"Çalışma alanınıza, sizinle birlikte çalışabilmeleri için başkalarını da ekleyebilirsiniz.",desc_privacy:"Çalışma ortamında yaptıklarınız ve çizimleriniz uçtan uca şifrelemeyle saklanmaktadır. Sunucularımız dahi bu verileri şifrelenmemiş haliyle göremez.",button_startSession:"Oturumu başlat",button_stopSession:"Oturumu sonlandır",desc_inProgressIntro:"Ortak çalışma ortamı oluşturuldu.",desc_shareLink:"Bu bağlantıyı birlikte çalışacağınız kişilerle paylaşabilirsiniz:",desc_exitSession:"Çalışma ortamını kapattığınızda ortak çalışmadan ayrılmış olursunuz ancak kendi versiyonunuzda çalışmaya devam edebilirsiniz. Bu durumda ortak çalıştığınız diğer kişiler etkilenmeyecek, çalışma ortamındaki versiyon üzerinden çalışmaya devam edebilecekler.",shareTitle:"Excalidraw'da canlı ortak calışma oturumuna katıl"},zpu={title:"Hata"},kpu={disk_title:"Belleğe kaydet",disk_details:"Sahne verilerini daha sonra içe aktarabileceğiniz bir dosyaya aktarın.",disk_button:"Dosyaya kaydet",link_title:"Paylaşılabilir bağlantı",link_details:"Salt okunur bir bağlantı olarak dışa aktarın.",link_button:"Bağlantı olarak dışa aktar",excalidrawplus_description:"Sahneyi Excalidraw+ çalışma alanınıza kaydedin.",excalidrawplus_button:"Dışa aktar",excalidrawplus_exportError:"Şu anda Excalidraw+'a aktarılamadı..."},fpu={blog:"Blog'umuzu okuyun",click:"tıkla",deepSelect:"Derin seçim",deepBoxSelect:"Kutu içerisinde derin seçim yapın, sürüklemeyi engelleyin",curvedArrow:"Eğri ok",curvedLine:"Eğri çizgi",documentation:"Dokümantasyon",doubleClick:"çift-tıklama",drag:"sürükle",editor:"Düzenleyici",editLineArrowPoints:"Çizgi/ok noktalarını düzenle",editText:"Etiket / metin düzenle",github:"Bir hata mı buldun? Bildir",howto:"Rehberlerimizi takip edin",or:"veya",preventBinding:"Ok bağlamayı önleyin",tools:"Araçlar",shortcuts:"Klavye kısayolları",textFinish:"Düzenlemeyi bitir (metin düzenleyici)",textNewLine:"Yeni satır ekle (metin düzenleyici)",title:"Yardım",view:"Görünüm",zoomToFit:"Tüm öğeleri sığdırmak için yakınlaştır",zoomToSelection:"Seçime yakınlaş",toggleElementLock:"Seçimi Kilitle/çöz",movePageUpDown:"Sayfayı yukarı/aşağı kaydır",movePageLeftRight:"Sayfayı sola/sağa kaydır"},Mpu={title:"Tuvali temizle"},bpu={title:"Kitaplığı yayınla",itemName:"Öğe adı",authorName:"Yazar adı",githubUsername:"GıtHub kullanıcı adı",twitterUsername:"Twitter kullanıcı adı",libraryName:"Kitaplık adı",libraryDesc:"Kitaplık açıklaması",website:"Web sitesi",placeholder:{authorName:"Adınız ya da kullanıcı adınız",libraryName:"Kitaplığınızın adı",libraryDesc:"İnsanların kullanımını anlamasına yardımcı olmak için kitaplığınızın açıklaması",githubHandle:"Github bağlantısı ( tercihe bağlı), kütüphane gözden geçirme için onaylandığında düzenleyebiliesiniz diye",twitterHandle:"Twitter kullanıcı adı ( tercihe bağlı), bu sayede Twitter üzerinde paylaşıren çalışmanızı size atfedebiliriz",website:"Kişisel web sayfanızı ya da başka bir yeri bağlayın (tercihe bağlı)"},errors:{required:"Gerekli",website:"Geçerli bir URL girin"},noteDescription:"Submit your library to be included in the <link>genel kütüphane reposu</link>diğer insanlar çizimlerinde kullanabilsin diye.",noteGuidelines:"Önce kütüphane elle onaylanmalı. şunu okuyun <link>yönergeler</link> onaylamadan önce. gerekli olması halinde iletişim kurmak için ve değişiklik için Github hesabı gerekli, ama çok da illaki olmalı değil.",noteLicense:"Bunu onaylayarak, kütüğhanenin şu lisansla yayınlanmasını onaylıyorsunuz <link>MIT Lisans, </link>ki bu kısaca herkesin onu kısıtlama olmaksızın kullanabileceği anlamına gelmektedir.",noteItems:"Her kütüphane kendi ismine sahip olmalı ki tarama yapabilelim. Şu kütüphane ögeleri dahil edilecek:",atleastOneLibItem:"Lütfen başlamak için en az bir tane kütüphane ögesi seçin",republishWarning:"Not: seçilen ögelerden bir kısmı zaten yayınlanmış/gönderilmiş. Yalnızca mevcut kütüphane ve gönderileri güncellerken yeniden gönderme işlemi yapmalısınız."},Zpu={title:"Kütüphane gönderildi",content:"Teşekkürler {{authorName}}. Kütüphaneniz gözden geçirme için alındı. Durumu takip edebilirsiniz<link>burada</link>"},Jpu={resetLibrary:"Kütüphaneyi sıfırla",removeItemsFromLib:"Seçilen ögeleri kütüphaneden kaldır"},Kpu={header:"Resmi dışa aktar",label:{withBackground:"Arka plan",onlySelected:"Sadece seçilen",darkMode:"Karanlık mod",embedScene:"Sahne yerleştir",scale:"Ölçeklendir",padding:"Dış boşluk"},tooltip:{embedScene:"Sahne verisi, sahnenin geri yüklenebilmesi için dışarı aktarılan PNG/SVG dosyasına kaydedilecektir. Bu, dışa aktarılan dosya boyutunu arttıracaktır."},title:{exportToPng:"PNG olarak dışa aktar",exportToSvg:"SVG olarak dışa aktar",copyPngToClipboard:""},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Panoya kopyala"}},wpu={tooltip:"Çizimleriniz uçtan-uca şifrelenmiştir, Excalidraw'ın sunucuları bile onları göremez.",link:"Excalidraw'da uçtan uca şifreleme hakkında blog yazısı"},Qpu={angle:"Açı",element:"Bileşen",elements:"Bileşenler",height:"Yükseklik",scene:"Sahne",selected:"Seçili",storage:"Depolama",title:"İnekler için istatistikler",total:"Toplam",version:"Sürüm",versionCopy:"Kopyalamak için tıkla",versionNotAvailable:"Sürüm mevcut değil",width:"Genişlik"},Gpu={addedToLibrary:"Kütüphaneye eklendi",copyStyles:"Stiller kopyalandı.",copyToClipboard:"Panoya kopyalandı.",copyToClipboardAsPng:`{{exportSelection}} panoya PNG olarak
({{exportColorScheme}}) kopyalandı`,fileSaved:"Dosya kaydedildi.",fileSavedToFilename:"{filename} kaydedildi",canvas:"tuval",selection:"seçim",pasteAsSingleElement:"Tekil obje olarak yapıştırmak için veya var olan bir metin editörüne yapıştırmak için {{shortcut}} kullanın",unableToEmbed:"",unrecognizedLinkFormat:""},Hpu={transparent:"Şeffaf",black:"Siyah",white:"Beyaz",red:"Kırmızı",pink:"Pembe",grape:"Koyu Mor",violet:"Menekşe rengi",gray:"Gri",blue:"Mavi",cyan:"Camgöbeği",teal:"Deniz mavisi",green:"Yeşil",yellow:"Sarı",orange:"Turuncu",bronze:""},qpu={app:{center_heading:"",center_heading_plus:"Ecalidraw+'a mı gitmek istediniz?",menuHint:"Dışa aktar, seçenekler, diller, ..."},defaults:{menuHint:"Dışa aktar, seçenekler, ve daha fazlası...",center_heading:"",toolbarHint:"Bir araç seçin ve çizime başlayın!",helpHint:"Kısayollar & yardım"}},lpu={mostUsedCustomColors:"En çok kullanılan özel renkler",colors:"Renkler",shades:"",hexCode:"Hex kodu",noShades:""},Lpu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"Diske Kaydet",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Xpu={title:"",button:"",description:"",syntax:"",preview:""},Pf3={labels:o_u,library:t_u,buttons:e_u,alerts:upu,errors:Bpu,toolBar:Epu,headings:Apu,hints:Cpu,canvasError:Dpu,errorSplash:Fpu,roomDialog:Upu,errorDialog:zpu,exportDialog:kpu,helpDialog:fpu,clearCanvasDialog:Mpu,publishDialog:bpu,publishSuccessDialog:Zpu,confirmDialog:Jpu,imageExportDialog:Kpu,encrypted:wpu,stats:Qpu,toast:Gpu,colors:Hpu,welcomeScreen:qpu,colorPicker:lpu,overwriteConfirm:Lpu,mermaid:Xpu}});var epu={};ju(epu,{welcomeScreen:()=>dpu,toolBar:()=>Opu,toast:()=>ppu,stats:()=>_pu,roomDialog:()=>Vpu,publishSuccessDialog:()=>ypu,publishDialog:()=>$pu,overwriteConfirm:()=>opu,mermaid:()=>tpu,library:()=>Spu,labels:()=>Wpu,imageExportDialog:()=>gpu,hints:()=>Ppu,helpDialog:()=>apu,headings:()=>Ipu,exportDialog:()=>ipu,errors:()=>Tpu,errorSplash:()=>Npu,errorDialog:()=>hpu,encrypted:()=>cpu,default:()=>jf3,confirmDialog:()=>rpu,colors:()=>npu,colorPicker:()=>spu,clearCanvasDialog:()=>mpu,canvasError:()=>jpu,buttons:()=>Ypu,alerts:()=>Rpu});var Wpu,Spu,Ypu,Rpu,Tpu,Opu,Ipu,Ppu,jpu,Npu,Vpu,hpu,ipu,apu,mpu,$pu,ypu,rpu,gpu,cpu,_pu,ppu,npu,dpu,spu,opu,tpu,jf3;var unu=g(()=>{m4();Wpu={paste:"Вставити",pasteAsPlaintext:"Вставити як простий текст",pasteCharts:"Вставити діаграми",selectAll:"Вибрати все",multiSelect:"Додати елемент до вибраного",moveCanvas:"Перемістити полотно",cut:"Вирізати",copy:"Копіювати",copyAsPng:"Копіювати як PNG",copyAsSvg:"Копіювати як SVG",copyText:"Копіювати в буфер обміну як текст",copySource:"",convertToCode:"",bringForward:"Перемістити вперед",sendToBack:"На задній план",bringToFront:"На передній план",sendBackward:"Перемістити назад",delete:"Видалити",copyStyles:"Копіювати стилі",pasteStyles:"Вставити стилі",stroke:"Контур",background:"Тло",fill:"Заповнити",strokeWidth:"Товщина контуру",strokeStyle:"Стиль контуру",strokeStyle_solid:"Суцільний",strokeStyle_dashed:"Пунктир",strokeStyle_dotted:"Крапки",sloppiness:"Охайність",opacity:"Прозорість",textAlign:"Вирівнювання тексту",edges:"Краї",sharp:"Гострі",round:"Круглі",arrowheads:"Закінчення стрілки",arrowhead_none:"Жоден",arrowhead_arrow:"Стрілка",arrowhead_bar:"Колона",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Трикутник",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Розмір шрифту",fontFamily:"Шрифт",addWatermark:"Додати «Накреслене в Excalidraw»",handDrawn:"Ручний апарат",normal:"Звичайний",code:"Код",small:"Малий",medium:"Середній",large:"Великий",veryLarge:"Дуже великий",solid:"Суцільна",hachure:"Штриховка",zigzag:"Зиґзаґ",crossHatch:"Перехресна штриховка",thin:"Тонкий",bold:"Жирний",left:"Зліва",center:"По центру",right:"Справа",extraBold:"Товстий",architect:"Архітектор",artist:"Художник",cartoonist:"Карикатурист",fileTitle:"Назва файла",colorPicker:"Палітра кольорів",canvasColors:"Використовується на полотні",canvasBackground:"Тло полотна",drawingCanvas:"Полотно",layers:"Шари",actions:"Дії",language:"Мова",liveCollaboration:"Спільна робота наживо...",duplicateSelection:"Дублювати",untitled:"Без назви",name:"Ім’я",yourName:"Ваше ім’я",madeWithExcalidraw:"Накреслене в Excalidraw",group:"Групувати виділене",ungroup:"Розгрупувати виділене",collaborators:"Співавтори",showGrid:"Показати сітку",addToLibrary:"Додати до бібліотеки",removeFromLibrary:"Видалити з бібліотеки",libraryLoadingMessage:"Завантажити бібліотеку…",libraries:"Всі бібліотеки",loadingScene:"Завантаження сцени…",align:"Вирівнювання",alignTop:"Вирівняти по верхньому краю",alignBottom:"Вирівняти по нижньому краю",alignLeft:"Вирівняти по лівому краю",alignRight:"Вирівнювання по правому краю",centerVertically:"Центрувати по вертикалі",centerHorizontally:"Центрувати по горизонталі",distributeHorizontally:"Розподілити по горизонталі",distributeVertically:"Розподілити вертикально",flipHorizontal:"Віддзеркалити горизонтально",flipVertical:"Віддзеркалити вертикально",viewMode:"Режим перегляду",share:"Поділитися",showStroke:"Показати палітру для контура",showBackground:"Показати палітру для фону",toggleTheme:"Перемкнути тему",personalLib:"Персональна бібліотека",excalidrawLib:"Бібліотека Excalidraw",decreaseFontSize:"Зменшити розмір шрифту",increaseFontSize:"Збільшити розмір шрифту",unbindText:"Відв'язати текст",bindText:"Прив’язати текст до контейнера",createContainerFromText:"Огорнути текст у контейнер",link:{edit:"Редагування посилання",editEmbed:"Редагування посилання і вкладення",create:"Створити посилання",createEmbed:"Створити посилання і вкладення",label:"Посилання",labelEmbed:"Посилання і вкладення",empty:"Посилання відсутнє"},lineEditor:{edit:"Редагувати лінію",exit:"Закінчити редагування лінії"},elementLock:{lock:"Блокувати",unlock:"Розблокувати",lockAll:"Заблокувати все",unlockAll:"Розблокувати все"},statusPublished:"Опубліковано",sidebarLock:"Не закривати бокове меню",selectAllElementsInFrame:"Обрати всі елементи у фреймі",removeAllElementsFromFrame:"Видалити всі елементи з фрейму",eyeDropper:"Вибрати колір з полотна",textToDiagram:"",prompt:""},Spu={noItems:"Тут поки пусто...",hint_emptyLibrary:"Виберіть об'єкт на полотні, щоб додати його сюди або встановіть бібліотеку з публічного репозиторію, що нижче.",hint_emptyPrivateLibrary:"Виберіть елемент на полотні, щоб додати його сюди."},Ypu={clearReset:"Очистити полотно",exportJSON:"Експорт у файл",exportImage:"Експорт зображення...",export:"Зберегти як...",copyToClipboard:"Скопіювати до буферу обміну",save:"Зберегти до поточного файлу",saveAs:"Зберегти як",load:"Відкрити",getShareableLink:"Отримати посилання",close:"Закрити",selectLanguage:"Обрати мову",scrollBackToContent:"Повернутися до вмісту",zoomIn:"Збільшити",zoomOut:"Зменшити",resetZoom:"Скинути масштаб",menu:"Меню",done:"Готово",edit:"Редагувати",undo:"Відмінити",redo:"Повторити",resetLibrary:"Очистити бібліотеку",createNewRoom:"Створити нову кімнату",fullScreen:"Повноекранний режим",darkMode:"Темна тема",lightMode:"Світла тема",zenMode:"Режим Дзен",objectsSnapMode:"",exitZenMode:"Вийти з дзен-режиму",cancel:"Скасувати",clear:"Очистити",remove:"Видалити",embed:"Перемкнути вкладення",publishLibrary:"Опублікувати",submit:"Надіслати",confirm:"Підтвердити",embeddableInteractionButton:"Натисніть для взаємодії"},Rpu={clearReset:"Це очистить все полотно. Впевнені?",couldNotCreateShareableLink:"Не вдалося створити посилання.",couldNotCreateShareableLinkTooBig:"Не вдалося створити посилання для обміну: сцена занадто велика",couldNotLoadInvalidFile:"Файл з помилками не відкрився",importBackendFailed:"Імпортування невдале.",cannotExportEmptyCanvas:"Не вийшло експортувати пусте полотно.",couldNotCopyToClipboard:"Не вдалося скопіювати до буфера обміну.",decryptFailed:"Не вдалося розшифрувати дані.",uploadedSecurly:"Це завантаження було захищене наскрізним шифруванням, а це означає що сервер Excalidraw та інші не зможуть прочитати вміст.",loadSceneOverridePrompt:"Завантаження зовнішнього креслення замінить ваш наявний контент. Продовжити?",collabStopOverridePrompt:`Зупинка сесії перезапише ваш попередній, локально збережений малюнок. Ви впевнені?
(Якщо ви хочете зберегти локальний малюнок, просто закрийте замість нього вкладку браузера.)`,errorAddingToLibrary:"Не вдалося додати елемент до бібліотеки",errorRemovingFromLibrary:"Не вдалося видалити елемент з бібліотеки",confirmAddLibrary:"Це призведе до додавання {{numShapes}} фігур до вашої бібліотеки. Ви впевнені?",imageDoesNotContainScene:"Виглядає ніби зображення не містить корисної інформації. Ви увімкнули вбудовування сцени при експорті?",cannotRestoreFromImage:"Сцена не може бути відновлена з цього файлу зображення",invalidSceneUrl:"Не вдалося імпортувати сцену з наданого URL. Він або недоформований, або не містить дійсних даних Excalidraw JSON.",resetLibrary:"Це призведе до очищення бібліотеки. Ви впевнені?",removeItemsFromsLibrary:"Видалити {{count}} елемент(ів) з бібліотеки?",invalidEncryptionKey:"Ключ шифрування повинен бути довжиною до 22 символів. Спільну роботу вимкнено.",collabOfflineWarning:`Немає підключення до Інтернету.
Ваші зміни не будуть збережені!`},Tpu={unsupportedFileType:"Непідтримуваний тип файлу.",imageInsertError:"Не вдалося вставити зображення. Повторіть спробу пізніше...",fileTooBig:"Занадто великий розмір файлу, максимальний розмір файлу {{maxSize}}.",svgImageInsertError:"Не вдалося вставити SVG-зображення. Помилка розмітки SVG.",failedToFetchImage:"",invalidSVGString:"Недійсний SVG.",cannotResolveCollabServer:"Не вдалося приєднатися до сервера. Перезавантажте сторінку та повторіть спробу.",importLibraryError:"Не вдалося завантажити бібліотеку",collabSaveFailed:"Не вдалося зберегти у базу даних сервера. Якщо проблеми не зникнуть, Вам слід зберегти файл локально, щоб не втратити роботу.",collabSaveFailed_sizeExceeded:"Полотно завелике! Не вдалося зберегти у базу даних сервера. Вам слід зберегти файл локально, щоб не втратити свою роботу.",imageToolNotSupported:"",brave_measure_text_error:{line1:"Ви використовуєте браузер Brave з увімкненим налаштуванням <bold>Агресивного Блокування Розпізнавання Пристрою</bold>.",line2:"Це може нашкодити <bold>текстовим елементам</bold> у ваших малюнках.",line3:"Ми наполегливо рекомендуємо вимкнути це налаштування. Виконайте наступні <link>кроки</link>, щоб виправити це.",line4:"Якщо вимкнення цього параметра не вирішує показ текстових елементів, тоді створіть, будь ласка, <issueLink>запит на розв'язання проблеми</issueLink> на нашому GitHub або напишіть нам у <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Вбудовані елементи не можна додати в бібліотеку.",iframe:"",image:"Підтримка додавання зображень в бібліотеку найближчим часом!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Opu={selection:"Виділення",image:"Вставити зображення",rectangle:"Прямокутник",diamond:"Ромб",ellipse:"Еліпс",arrow:"Стрілка",line:"Лінія",freedraw:"Малювати",text:"Текст",library:"Бібліотека",lock:"Залишити обраний інструмент після креслення",penMode:"Режим пера - запобігання дотику",link:"Додати/Оновити посилання для вибраної форми",eraser:"Очищувач",frame:"Інструмент фрейму",magicframe:"",embeddable:"Веб вкладення",laser:"",hand:"Рука (інструмент для панорамування)",extraTools:"Інші інструменти",mermaidToExcalidraw:"",magicSettings:""},Ipu={canvasActions:"Дії з полотном",selectedShapeActions:"Вибрані дії з фігурою",shapes:"Фігури"},Ppu={canvasPanning:"Щоб перемістити полотно, утримуйте коліщатко миші або пробіл під час перетягування, або скористайтеся інструментом Рука",linearElement:"Натисніть щоб додати кілька точок. Перетягніть щоб намалювати одну лінію",freeDraw:"Натисніть і потягніть, відпустіть коли завершите",text:"Порада: можна також додати текст, двічі клацнувши по будь-якому місці інструментом вибору",embeddable:"Клікніть та перетягніть для створення вбудованого вебсайту",text_selected:"Подвійний клік або натисніть клавішу ENTER, щоб редагувати текст",text_editing:"Натисніть клавішу Escape або Ctrl/Cmd+ENTER, щоб завершити редагування",linearElementMulti:"Натисніть на останню точку, клацніть Esc або Enter щоб завершити",lockAngle:"Ви можете обмежити кут, утримуюючи SHIFT",resize:`Ви можете зберегти пропорції, утримуючи SHIFT під час зміни розміру,
утримуйте ALT для змінення розміру від центру`,resizeImage:"Ви можете змінювати розміри утримуючи клавішу SHIFT, втримуйте клавішу ALT щоб змінювати розмір відносно центру",rotate:"Ви можете обмежити кути, утримуючи SHIFT під час обертання",lineEditor_info:"Утримуйте CtrlOrCmd і двічі клацніть або натисніть CtrlOrCmd + Enter, щоб редагувати цятки",lineEditor_pointSelected:"Натисніть Delete для видалення точку (точок), або Ctrl/Cmd+D для дублювання, перетаскування працює як звично",lineEditor_nothingSelected:"Виберіть точку для редагування (втримуйте клавішу SHIFT для вибору кількох точок), або клавішу Alt для додавання нових точок",placeImage:"Клацніть, щоб розмістити зображення, або натисніть та потягніть щоб змінити його розмір",publishLibrary:"Опублікувати свою власну бібліотеку",bindTextToElement:"Натисніть Enter, щоб додати текст",deepBoxSelect:"Втримуйте Ctrl/Cmd для глибокого виділення та щоб попередити перетягування",eraserRevert:"Втримуйте клавішу Alt, щоб повернути елементи позначені для видалення",firefox_clipboard_write:'Цю функцію можна ввімкнути, встановивши значення "true" для налаштування "dom.events.asyncClipboard.clipboardItem". Перейдіть на сторінку «about:config», щоб змінити налаштування браузера у Firefox.',disableSnapping:""},jpu={cannotShowPreview:"Не вдається показати попередній перегляд",canvasTooBig:"Полотно може бути завеликим.",canvasTooBigTip:"Порада: спробуйте підсунути найвіддаленіші елементи ближче один до одного."},Npu={headingMain:"Сталася помилка. Спробуйте <button>перезавантажити сторінку.</button>",clearCanvasMessage:"Якщо перезавантаження не допоможе, спробуйте <button>очистити полотно.</button>",clearCanvasCaveat:" Це призведе до втрати роботи ",trackedToSentry:"Помилка з ідентифікатором {{eventId}} було відслідковано в нашій системі.",openIssueMessage:"Ми були дуже обережні, щоб не включати інформацію про ваші сцени в текст помилки. Якщо ваша сцена не була приватна, будь ласка, розгляньте можливість продовження на нашому <button>трекер помилок.</button> Будь ласка, додайте інформацію нижче, скопіюючи і вставляючи у GitHub issue.",sceneContent:"Вміст сцени:"},Vpu={desc_intro:"Ви можете запросити людей для спільної роботи.",desc_privacy:"Не хвилюйтеся, сесія захищена наскрізним шифруванням, тому ваше креслення залишиться приватним. Навіть наш сервер не побачить вашу роботу.",button_startSession:"Почати сесію",button_stopSession:"Закрити сесію",desc_inProgressIntro:"Сесія спільної роботи над кресленням триває.",desc_shareLink:"Поділіться цим посиланням з будь-ким для спільної роботи:",desc_exitSession:"Зупинка сесії відключить вас від кімнати, але ви зможете продовжити роботу з полотном локально. Зверніть увагу, що це не вплине на інших людей, і вони все одно зможуть працювати над їх версією.",shareTitle:"Приєднатися до сеансу спільної роботи на Excalidraw"},hpu={title:"Помилка"},ipu={disk_title:"Зберегти на диск",disk_details:"Експорт даних сцени в файл, з якого можна імпортувати пізніше.",disk_button:"Зберегти до файлу",link_title:"Доступ за посиланням",link_details:"Експортувати як посилання тільки для читання.",link_button:"Експортувати у посилання",excalidrawplus_description:"Збережіть сцену у вашому обліковому записі Excalidraw+.",excalidrawplus_button:"Експортувати",excalidrawplus_exportError:"Не вдалося експортувати у Excalidraw+..."},apu={blog:"Наш блог",click:"натиснути",deepSelect:"Глибокий вибір",deepBoxSelect:"Глибоке виділення в межах рамки, та обмеження перетягування",curvedArrow:"Крива стрілка",curvedLine:"Крива лінія",documentation:"Документація",doubleClick:"подвійний клік",drag:"перетягнути",editor:"Редактор",editLineArrowPoints:"Редагувати лінію/стрілки",editText:"Редагувати текст / додати позначку",github:"Знайшли помилку? Повідомте",howto:"Дотримуйтесь наших інструкцій",or:"або",preventBinding:"Запобігти зв'язування зі стрілками",tools:"Інструменти",shortcuts:"Гарячі клавіші",textFinish:"Завершити редагування (текстовий редактор)",textNewLine:"Додати новий рядок (текстовий редактор)",title:"Допомога",view:"Вигляд",zoomToFit:"Збільшити щоб умістити всі елементи",zoomToSelection:"Наблизити вибране",toggleElementLock:"Заблокувати/розблокувати вибране",movePageUpDown:"Пересунути сторінку вгору/вниз",movePageLeftRight:"Пересунути сторінку вліво/вправо"},mpu={title:"Очистити полотно"},$pu={title:"Опублікувати бібліотеку",itemName:"Назва елементу",authorName:"Ім'я автора",githubUsername:"Ім'я користувача Github",twitterUsername:"Ім'я користувача Твитер",libraryName:"Назва бібліотеки",libraryDesc:"Опис бібліотеки",website:"Вебсайт",placeholder:{authorName:"Ваше ім'я або ім'я користувача",libraryName:"Назва вашої бібліотеки",libraryDesc:"Опис вашої бібліотеки, щоб допомогти людям зрозуміти її використання",githubHandle:"Ім'я користувача в GitHub (необов'язково), щоб ви могли редагувати бібліотеку під час перевірки",twitterHandle:"Ім'я користувача у Twitter (необов'язково), щоб ми могли згадати вас під час промоції у Twitter",website:"Посилання на ваш особистий сайт або інший сайт (опціонально)"},errors:{required:"Обов’язково",website:"Введіть дійсну URL-адресу"},noteDescription:"Подати бібліотеку, щоб вона була включена до <link>публічного репозиторія бібліотек</link>для інших людей, для використання у їхніх полотнах.",noteGuidelines:"Спочатку бібліотека повинна бути підтверджена. Будь ласка, прочитайте <link>настанови</link> перед відправкою. Вам знадобиться обліковий запис на GitHub, щоб колаборувати та вносити зміни, але це не обов'язково.",noteLicense:"Публікуючи, ви погоджуєтеся, що бібліотека буде опублікована під <link>Ліцензія MIT, </link>, простими словами, це означає що нею зможе користуватися будь-хто без обмежень.",noteItems:"Кожен об'єкт в бібліотеці повинен мати назву, це потрібно для пошуку та фільтрування. Наступні об'єкти бібліотеки будуть включені:",atleastOneLibItem:"Будь ласка, виберіть принаймні один елемент бібліотеки, щоб почати",republishWarning:"Зауважте, деякі з вибраних елементів позначені як вже опубліковані/надіслані. Ви повинні повторно надсилати елементи тільки при оновленні вже опублікованої бібліотеки чи при публікації бібліотеки."},ypu={title:"Бібліотека відправлена",content:"Дякуємо, {{authorName}}. Ваша бібліотека була відправлена для розгляду. Ви можете відстежувати статус<link>тут</link>"},rpu={resetLibrary:"Очистити бібліотеку",removeItemsFromLib:"Видалити вибрані елементи з бібліотеки"},gpu={header:"Експортувати зображення",label:{withBackground:"Тло",onlySelected:"Тільки вибране",darkMode:"Темний режим",embedScene:"Вбудована сцена",scale:"Масштабування",padding:"Відступ"},tooltip:{embedScene:"Дані сцени будуть збережені в експортований файл PNG/SVG. Ця сцена може бути відновлена з нього, однак це збільшить розмір експортованого файлу."},title:{exportToPng:"Експортувати в PNG",exportToSvg:"Експортувати у SVG",copyPngToClipboard:"Скопіювати PNG в буфер обміну"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Копіювати в буфер обміну"}},cpu={tooltip:"Ваші креслення захищені наскрізним шифруванням — сервери Excalidraw ніколи їх не побачать.",link:"Допис у блозі на наскрізному шифруванні в Excalidraw"},_pu={angle:"Кут",element:"Елемент",elements:"Елементи",height:"Висота",scene:"Сцена",selected:"Обрано",storage:"Сховище",title:"Статистика",total:"Всього",version:"Версія",versionCopy:"Натисніть, щоб скопіювати",versionNotAvailable:"Версія недоступна",width:"Ширина"},ppu={addedToLibrary:"Додано до бібліотеки",copyStyles:"Скопійовані стилі.",copyToClipboard:"Скопіювати до буферу обміну.",copyToClipboardAsPng:`Скопійовано {{exportSelection}} до буфера обміну як PNG
({{exportColorScheme}})`,fileSaved:"Файл збережено.",fileSavedToFilename:"Збережено в {filename}",canvas:"полотно",selection:"виділення",pasteAsSingleElement:"Використайте {{shortcut}} для вставки самостійного зразка або використайте в текстовому редакторі",unableToEmbed:"Вбудування цієї url на даний час не допускається. Підніміть питання на GitHub, щоб попросити внести URL-адресу до білого списку",unrecognizedLinkFormat:'Посилання, яке ви вставили, не відповідає очікуваному формату. Будь ласка, спробуйте вставити рядок "embed", наданий сайтом-джерелом'},npu={transparent:"Прозорий",black:"Чорний",white:"Білий",red:"Червоний",pink:"Рожевий",grape:"Виноградний",violet:"Фіолетовий",gray:"Сірий",blue:"Синій",cyan:"Ціан",teal:"Бірюзовий",green:"Зелений",yellow:"Жовтий",orange:"Помаранчевий",bronze:"Бронзовий"},dpu={app:{center_heading:"Всі ваші дані збережено локально у Вашому браузері.",center_heading_plus:"Чи бажаєте перейти до Excalidraw+?",menuHint:"Експорт, налаштування, мови, ..."},defaults:{menuHint:"Експорт, налаштування та багато іншого...",center_heading:"Діаграми. Робити. Просто.",toolbarHint:"Оберіть інструмент і почніть малювати!",helpHint:"Гарячі клавіші і допомога"}},spu={mostUsedCustomColors:"Найбільш використовувані користувацькі кольори",colors:"Кольори",shades:"Тіні",hexCode:"Hex-код",noShades:"Немає доступних відтінків цього кольору"},opu={action:{exportToImage:{title:"Експортувати як зображення",button:"Експортувати як зображення",description:"Експорт даних сцени у вигляді зображення, з якого можна імпортувати пізніше."},saveToDisk:{title:"Зберегти на диск",button:"Зберегти на диск",description:"Експорт даних сцени в файл, з якого можна імпортувати пізніше."},excalidrawPlus:{title:"Excalidraw+",button:"Експортувати до Excalidraw+",description:"Зберегти сцену до робочого простору Excalidraw+."}},modal:{loadFromFile:{title:"Завантажити з файлу",button:"Завантажити з файлу",description:"Завантаження з файлу <bold>замінить наявний вміст</bold>.<br></br>Ви можете спочатку створити резервну копію малюнка, скориставшись одним із наведених нижче способів."},shareableLink:{title:"Завантажити з посилання",button:"Замінити мій контент",description:"Завантаження зовнішнього малюнка <bold>замінить ваш наявний вміст</bold>.<br></br>Ви можете спочатку створити резервну копію малюнка, скориставшись одним із наведених нижче способів."}}},tpu={title:"",button:"",description:"",syntax:"",preview:""},jf3={labels:Wpu,library:Spu,buttons:Ypu,alerts:Rpu,errors:Tpu,toolBar:Opu,headings:Ipu,hints:Ppu,canvasError:jpu,errorSplash:Npu,roomDialog:Vpu,errorDialog:hpu,exportDialog:ipu,helpDialog:apu,clearCanvasDialog:mpu,publishDialog:$pu,publishSuccessDialog:ypu,confirmDialog:rpu,imageExportDialog:gpu,encrypted:cpu,stats:_pu,toast:ppu,colors:npu,welcomeScreen:dpu,colorPicker:spu,overwriteConfirm:opu,mermaid:tpu}});var Ynu={};ju(Ynu,{welcomeScreen:()=>vnu,toolBar:()=>Fnu,toast:()=>Lnu,stats:()=>lnu,roomDialog:()=>Mnu,publishSuccessDialog:()=>Qnu,publishDialog:()=>wnu,overwriteConfirm:()=>Wnu,mermaid:()=>Snu,library:()=>Enu,labels:()=>Bnu,imageExportDialog:()=>Hnu,hints:()=>znu,helpDialog:()=>Jnu,headings:()=>Unu,exportDialog:()=>Znu,errors:()=>Dnu,errorSplash:()=>fnu,errorDialog:()=>bnu,encrypted:()=>qnu,default:()=>Nf3,confirmDialog:()=>Gnu,colors:()=>Xnu,colorPicker:()=>xnu,clearCanvasDialog:()=>Knu,canvasError:()=>knu,buttons:()=>Anu,alerts:()=>Cnu});var Bnu,Enu,Anu,Cnu,Dnu,Fnu,Unu,znu,knu,fnu,Mnu,bnu,Znu,Jnu,Knu,wnu,Qnu,Gnu,Hnu,qnu,lnu,Lnu,Xnu,vnu,xnu,Wnu,Snu,Nf3;var Rnu=g(()=>{m4();Bnu={paste:"Dán",pasteAsPlaintext:"Dán kiểu văn bản thuần",pasteCharts:"Dán biểu đồ",selectAll:"Chọn tất cả",multiSelect:"Thêm mới vào Select",moveCanvas:"Di chuyển canvas",cut:"Cắt",copy:"Sao chép",copyAsPng:"Sao chép vào bộ nhớ tạm dưới dạng PNG",copyAsSvg:"Sao chép vào bộ nhớ tạm dưới dạng SVG",copyText:"Sao chép vào bộ nhớ tạm dưới dạng chữ",copySource:"",convertToCode:"",bringForward:"Đưa ra trước",sendToBack:"Hạ xuống dưới",bringToFront:"Đưa ra đầu tiên",sendBackward:"Hạ xuống cuối",delete:"Xóa",copyStyles:"Sao chép định dạng",pasteStyles:"Dán định dạng",stroke:"Nét",background:"Nền",fill:"Fill",strokeWidth:"Độ dày nét",strokeStyle:"Kiểu nét",strokeStyle_solid:"Khối",strokeStyle_dashed:"Gạch ngang",strokeStyle_dotted:"Nhiều chấm",sloppiness:"Hoa văn nét",opacity:"Độ trong suốt",textAlign:"Căn chỉnh văn bản",edges:"Cạnh",sharp:"Nhọn",round:"Tròn",arrowheads:"Đầu mũi tên",arrowhead_none:"Không",arrowhead_arrow:"Mũi tên",arrowhead_bar:"Thanh",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Tam giác",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Cỡ chữ",fontFamily:"Phông chữ",addWatermark:'Làm với Excalidraw"',handDrawn:"Vẽ tay",normal:"Bình thường",code:"Mã",small:"Nhỏ",medium:"Vừa",large:"Lớn",veryLarge:"Rất lớn",solid:"Đặc",hachure:"Nét gạch gạch",zigzag:"Zigzag",crossHatch:"Nét gạch chéo",thin:"Mỏng",bold:"In đậm",left:"Trái",center:"Giữa",right:"Phải",extraBold:"Nét siêu đậm",architect:"Kiến trúc sư",artist:"Nghệ sỹ",cartoonist:"Hoạt hình",fileTitle:"Tên tập tin",colorPicker:"Chọn màu",canvasColors:"Đã dùng trên canvas",canvasBackground:"Nền canvas",drawingCanvas:"Canvas vẽ",layers:"Lớp",actions:"Chức năng",language:"Ngôn ngữ",liveCollaboration:"Hợp tác trực tiếp...",duplicateSelection:"Tạo bản sao",untitled:"Không có tiêu đề",name:"Tên",yourName:"Tên của bạn",madeWithExcalidraw:"Làm với Excalidraw",group:"Gộp nhóm lại lựa chọn",ungroup:"Tách nhóm lựa chọn",collaborators:"Cộng tác viên",showGrid:"Hiển thị lưới",addToLibrary:"Thêm vào thư viện",removeFromLibrary:"Xóa khỏi thư viện",libraryLoadingMessage:"Đang tải thư viện…",libraries:"Xem thư viện",loadingScene:"Đang tải về…",align:"Căn chỉnh",alignTop:"Căn trên",alignBottom:"Căn dưới",alignLeft:"Canh trái",alignRight:"Canh phải",centerVertically:"Giữa theo chiều dọc",centerHorizontally:"Giữa theo chiều ngang",distributeHorizontally:"Phân bố theo chiều ngang",distributeVertically:"Phân bố theo chiều dọc",flipHorizontal:"Lật ngang",flipVertical:"Lật dọc",viewMode:"Chế độ xem",share:"Chia sẻ",showStroke:"Hiển thị chọn màu",showBackground:"Hiện thị chọn màu nền",toggleTheme:"",personalLib:"Thư viện cá nhân",excalidrawLib:"Thư viện Excalidraw",decreaseFontSize:"Giảm cỡ chữ",increaseFontSize:"Tăng cỡ chữ",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"Sửa liên kết",editEmbed:"",create:"Tạo liên kết",createEmbed:"",label:"Liên kết",labelEmbed:"",empty:""},lineEditor:{edit:"Điều chỉnh nét",exit:"Thoát chỉnh nét"},elementLock:{lock:"Khoá",unlock:"Mở khoá",lockAll:"Khóa tất cả",unlockAll:"Mở khóa tất cả"},statusPublished:"Đã đăng tải",sidebarLock:"Giữ thanh bên luôn mở",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},Enu={noItems:"Chưa có món nào...",hint_emptyLibrary:"Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.",hint_emptyPrivateLibrary:"Chọn một món trên canvas để thêm nó vào đây."},Anu={clearReset:"Reset canvas",exportJSON:"Xuất ra tập tin",exportImage:"Xuất file ảnh...",export:"Lưu vào...",copyToClipboard:"Sao chép vào bộ nhớ tạm",save:"Lưu vào tập tin hiện tại",saveAs:"Lưu thành",load:"Mở",getShareableLink:"Tạo liên kết để chia sẻ",close:"Đóng",selectLanguage:"Chọn ngôn ngữ",scrollBackToContent:"Cuộn về nội dung chính",zoomIn:"Phóng to",zoomOut:"Thu nhỏ",resetZoom:"Đặt lại thu phóng",menu:"Bảng chọn",done:"Xong",edit:"Chỉnh sửa",undo:"Hoàn tác",redo:"Làm lại",resetLibrary:"",createNewRoom:"Tạo phòng mới",fullScreen:"Toàn màn hình",darkMode:"Chế độ tối",lightMode:"Chế độ sáng",zenMode:"Chế độ zen",objectsSnapMode:"",exitZenMode:"Thoát chể độ zen",cancel:"Hủy",clear:"Làm sạch",remove:"Xóa",embed:"",publishLibrary:"Đăng tải",submit:"Gửi",confirm:"Xác nhận",embeddableInteractionButton:""},Cnu={clearReset:"Điều này sẽ dọn hết canvas. Bạn có chắc không?",couldNotCreateShareableLink:"Không thể tạo đường dẫn chia sẻ.",couldNotCreateShareableLinkTooBig:"Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn",couldNotLoadInvalidFile:"Không thể load tập tin không hợp lệ",importBackendFailed:"",cannotExportEmptyCanvas:"Không thể xuất canvas trống.",couldNotCopyToClipboard:"",decryptFailed:"Không thể giải mã dữ liệu.",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:`Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
(Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`,errorAddingToLibrary:"Không thể thêm món vào thư viện",errorRemovingFromLibrary:"Không thể xoá món khỏi thư viện",confirmAddLibrary:"Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?",imageDoesNotContainScene:"Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"Xoá {{count}} món từ thư viện?",invalidEncryptionKey:"Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.",collabOfflineWarning:`Không có kết nối internet.
Thay đổi của bạn sẽ không được lưu!`},Dnu={unsupportedFileType:"Loại tập tin không được hỗ trợ.",imageInsertError:"Không thể thêm ảnh. Hãy thử lại sau...",fileTooBig:"Tệp tin quá lớn. Dung lượng tối đa cho phép là {{maxSize}}.",svgImageInsertError:"Không thể thêm ảnh SVG. Mã SVG có vẻ sai.",failedToFetchImage:"",invalidSVGString:"SVG không hợp lệ.",cannotResolveCollabServer:"Không thể kết nối với máy chủ hợp tác. Hãy tải lại trang và thử lại.",importLibraryError:"Không thể tải thư viện",collabSaveFailed:"Không thể lưu vào cơ sở dữ liệu. Nếu vấn đề tiếp tục xảy ra, bạn nên lưu tệp vào máy để đảm bảo bạn không bị mất công việc.",collabSaveFailed_sizeExceeded:"Không thể lưu vào cơ sở dữ liệu, canvas có vẻ quá lớn. Bạn nên lưu tệp cục bộ để đảm bảo bạn không bị mất công việc.",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},Fnu={selection:"Lựa chọn",image:"Chèn ảnh",rectangle:"Hình chữ nhật",diamond:"Kim cương",ellipse:"Hình elíp",arrow:"Mũi tên",line:"Đường kẻ",freedraw:"Vẽ",text:"Văn bản",library:"Thư viện",lock:"Giữ dụng cũ hiện tại sau khi vẽ",penMode:"Chế độ bút vẽ - ngăn ngừa chạm nhầm",link:"Thêm/ Chỉnh sửa liên kết cho hình được chọn",eraser:"Xóa",frame:"",magicframe:"",embeddable:"",laser:"",hand:"Tay kéo",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},Unu={canvasActions:"Hành động canvas",selectedShapeActions:"Các hành động cho hình dạng đã chọn",shapes:"Các hình khối"},znu={canvasPanning:"Để di chuyển canvas, giữ con lăn chuột hoặc phím cách trong khi kéo, hoặc sử dụng công cụ cầm tay",linearElement:"Ấn để bắt đầu nhiểm điểm vẽ, kéo để vẽ một đường thẳng",freeDraw:"Ấn bà kéo, thả khi bạn xong",text:"Mẹo: bạn có thể thêm văn bản tại bất cứ đâu bằng cách ấn hai lần bằng tool lựa chọn",embeddable:"",text_selected:"Ấn 2 lần hoặc nhấn ENTER để chỉnh văn bản",text_editing:"Nhấn Escape hoặc Ctrl/Cmd+ENTER để hoàn thành chỉnh sửa",linearElementMulti:"Nhấn vào điểm cuối hoặc nhấn Escape hoặc Enter để kết thúc",lockAngle:"Bạn có thể chỉnh lại góc bằng cách giữ phím SHIFT",resize:`Bạn có thể chỉnh tỷ lệ bằng cách giữ SHIFT khi chỉnh kích cỡ,
giữ ALT để chỉnh kích cỡ từ trung tâm`,resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:'Tính năng này có thể được bật bằng cách đặt cờ "dom.events.asyncClipboard.clipboardItem" thành "true". Để thay đổi cờ trình duyệt trong Firefox, hãy truy cập trang "about:config".',disableSnapping:""},knu={cannotShowPreview:"Không thể xem trước",canvasTooBig:"Canvas này có thể hơi lớn.",canvasTooBigTip:"Mẹo: hãy thử di chuyển các elements nhất lại gần nhau hơn một chút."},fnu={headingMain:"",clearCanvasMessage:"Nếu không tải lại được, hãy thử <button>dọn canvas.</button>",clearCanvasCaveat:" Điều này sẽ dẫn đến mất dữ liệu bạn đã làm ",trackedToSentry:"",openIssueMessage:"",sceneContent:""},Mnu={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},bnu={title:""},Znu={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},Jnu={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},Knu={title:"Dọn canvas"},wnu={title:"",itemName:"Tên món",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"Từng món trong thư viện phải có tên riêng để có thể lọc. Các món thư viện sau đây sẽ thêm:",atleastOneLibItem:"Vui lòng chọn ít nhất một món thư viện để bắt đầu",republishWarning:"Lưu ý: một số món đã chọn được đánh dấu là đã xuất bản/đã gửi. Bạn chỉ nên gửi lại các món khi cập nhật thư viện hiện có hoặc gửi."},Qnu={title:"",content:""},Gnu={resetLibrary:"",removeItemsFromLib:"Xóa món đã chọn khỏi thư viện"},Hnu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},qnu={tooltip:"",link:""},lnu={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},Lnu={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"canvas",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},Xnu={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},vnu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},xnu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},Wnu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Snu={title:"",button:"",description:"",syntax:"",preview:""},Nf3={labels:Bnu,library:Enu,buttons:Anu,alerts:Cnu,errors:Dnu,toolBar:Fnu,headings:Unu,hints:znu,canvasError:knu,errorSplash:fnu,roomDialog:Mnu,errorDialog:bnu,exportDialog:Znu,helpDialog:Jnu,clearCanvasDialog:Knu,publishDialog:wnu,publishSuccessDialog:Qnu,confirmDialog:Gnu,imageExportDialog:Hnu,encrypted:qnu,stats:lnu,toast:Lnu,colors:Xnu,welcomeScreen:vnu,colorPicker:xnu,overwriteConfirm:Wnu,mermaid:Snu}});var Adu={};ju(Adu,{welcomeScreen:()=>enu,toolBar:()=>Nnu,toast:()=>onu,stats:()=>snu,roomDialog:()=>mnu,publishSuccessDialog:()=>_nu,publishDialog:()=>cnu,overwriteConfirm:()=>Bdu,mermaid:()=>Edu,library:()=>Onu,labels:()=>Tnu,imageExportDialog:()=>nnu,hints:()=>hnu,helpDialog:()=>rnu,headings:()=>Vnu,exportDialog:()=>ynu,errors:()=>jnu,errorSplash:()=>anu,errorDialog:()=>$nu,encrypted:()=>dnu,default:()=>Vf3,confirmDialog:()=>pnu,colors:()=>tnu,colorPicker:()=>udu,clearCanvasDialog:()=>gnu,canvasError:()=>inu,buttons:()=>Inu,alerts:()=>Pnu});var Tnu,Onu,Inu,Pnu,jnu,Nnu,Vnu,hnu,inu,anu,mnu,$nu,ynu,rnu,gnu,cnu,_nu,pnu,nnu,dnu,snu,onu,tnu,enu,udu,Bdu,Edu,Vf3;var Cdu=g(()=>{m4();Tnu={paste:"粘贴",pasteAsPlaintext:"粘贴为纯文本",pasteCharts:"粘贴图表",selectAll:"全部选中",multiSelect:"添加元素到选区",moveCanvas:"移动画布",cut:"剪切",copy:"拷贝",copyAsPng:"复制为 PNG 到剪贴板",copyAsSvg:"复制为 SVG 到剪贴板",copyText:"复制文本到剪贴板",copySource:"复制源码到剪贴板",convertToCode:"转换成代码",bringForward:"上移一层",sendToBack:"置于底层",bringToFront:"置于顶层",sendBackward:"下移一层",delete:"删除",copyStyles:"拷贝样式",pasteStyles:"粘贴样式",stroke:"描边",background:"背景",fill:"填充",strokeWidth:"描边宽度",strokeStyle:"边框样式",strokeStyle_solid:"实线",strokeStyle_dashed:"虚线",strokeStyle_dotted:"点虚线",sloppiness:"线条风格",opacity:"透明度",textAlign:"文本对齐",edges:"边角",sharp:"尖锐",round:"圆润",arrowheads:"端点",arrowhead_none:"无",arrowhead_arrow:"箭头",arrowhead_bar:"条状",arrowhead_circle:"圆点",arrowhead_circle_outline:"圆点(空心)",arrowhead_triangle:"三角箭头",arrowhead_triangle_outline:"三角箭头(空心)",arrowhead_diamond:"菱形",arrowhead_diamond_outline:"菱形(空心)",fontSize:"字体大小",fontFamily:"字体",addWatermark:"添加 “使用 Excalidraw 创建” 水印",handDrawn:"手写",normal:"普通",code:"代码",small:"小",medium:"中",large:"大",veryLarge:"加大",solid:"实心",hachure:"线条",zigzag:"之字形折线",crossHatch:"交叉线条",thin:"细",bold:"粗",left:"左对齐",center:"居中",right:"右对齐",extraBold:"特粗",architect:"朴素",artist:"艺术",cartoonist:"漫画家",fileTitle:"文件名",colorPicker:"取色器",canvasColors:"画布上的",canvasBackground:"画布背景",drawingCanvas:"绘制 Canvas",layers:"图层",actions:"操作",language:"语言",liveCollaboration:"实时协作...",duplicateSelection:"复制",untitled:"无标题",name:"名字",yourName:"您的姓名",madeWithExcalidraw:"使用 Excalidraw 创建",group:"编组",ungroup:"解除编组",collaborators:"协作者",showGrid:"显示网格",addToLibrary:"添加到素材库中",removeFromLibrary:"从素材库中移除",libraryLoadingMessage:"正在加载素材库…",libraries:"浏览素材库",loadingScene:"正在加载绘图…",align:"对齐",alignTop:"顶部对齐",alignBottom:"底端对齐",alignLeft:"左对齐",alignRight:"右对齐",centerVertically:"垂直居中",centerHorizontally:"水平居中",distributeHorizontally:"水平等距分布",distributeVertically:"垂直等距分布",flipHorizontal:"水平翻转",flipVertical:"垂直翻转",viewMode:"查看模式",share:"分享",showStroke:"显示描边颜色选择器",showBackground:"显示背景颜色选择器",toggleTheme:"切换主题",personalLib:"个人素材库",excalidrawLib:"Excalidraw 素材库",decreaseFontSize:"缩小字体大小",increaseFontSize:"放大字体大小",unbindText:"取消文本绑定",bindText:"将文本绑定到容器",createContainerFromText:"将文本包围在容器中",link:{edit:"编辑链接",editEmbed:"编辑链接与嵌入",create:"新建链接",createEmbed:"创建链接与嵌入",label:"链接",labelEmbed:"链接与嵌入",empty:"未设定链接"},lineEditor:{edit:"编辑线条",exit:"退出线条编辑"},elementLock:{lock:"锁定",unlock:"解除锁定",lockAll:"全部锁定",unlockAll:"全部解锁"},statusPublished:"已发布",sidebarLock:"侧边栏常驻",selectAllElementsInFrame:"选择画框中的所有元素",removeAllElementsFromFrame:"分离出画框中的所有元素",eyeDropper:"从画布上取色",textToDiagram:"文字至图表",prompt:"Prompt"},Onu={noItems:"尚未添加任何项目……",hint_emptyLibrary:"选中画布上的项目添加到此处,或从下方的公共素材库中导入。",hint_emptyPrivateLibrary:"选中画布上的项目添加到此处。"},Inu={clearReset:"重置画布",exportJSON:"导出为文件",exportImage:"导出图片...",export:"保存到...",copyToClipboard:"复制到剪贴板",save:"保存至当前文件",saveAs:"保存为",load:"打开",getShareableLink:"获取共享链接",close:"关闭",selectLanguage:"选择语言",scrollBackToContent:"滚动回到内容",zoomIn:"放大",zoomOut:"缩小",resetZoom:"重置缩放",menu:"菜单",done:"完成",edit:"编辑",undo:"撤销",redo:"重做",resetLibrary:"重置素材库",createNewRoom:"新建会议室",fullScreen:"全屏",darkMode:"深色模式",lightMode:"浅色模式",zenMode:"禅模式",objectsSnapMode:"吸附至对象",exitZenMode:"退出禅模式",cancel:"取消",clear:"清除",remove:"删除",embed:"切换嵌入",publishLibrary:"发布",submit:"提交",confirm:"确定",embeddableInteractionButton:"点击以开始交互"},Pnu={clearReset:"这将会清除整个画布。您是否要继续?",couldNotCreateShareableLink:"无法创建共享链接",couldNotCreateShareableLinkTooBig:"无法创建可共享链接:画布过大",couldNotLoadInvalidFile:"无法加载无效的文件",importBackendFailed:"从后端导入失败。",cannotExportEmptyCanvas:"无法导出空白画布。",couldNotCopyToClipboard:"无法复制到剪贴板。",decryptFailed:"无法解密数据。",uploadedSecurly:"上传已被端到端加密保护,这意味着 Excalidraw 的服务器和第三方都无法读取内容。",loadSceneOverridePrompt:"加载外部绘图将取代您现有的内容。您想要继续吗?",collabStopOverridePrompt:`停止会话将覆盖您先前本地存储的绘图。 您确定吗?
(如果您想保持本地绘图,只需关闭浏览器选项卡。)`,errorAddingToLibrary:"无法将项目添加到素材库中",errorRemovingFromLibrary:"无法从素材库中移除项目",confirmAddLibrary:"这将添加 {{numShapes}} 个形状到您的素材库中。您确定吗?",imageDoesNotContainScene:"此图像似乎不包含任何画布数据。您是否在导出时启用了画布嵌入功能?",cannotRestoreFromImage:"无法从此图像文件恢复画布",invalidSceneUrl:"无法从提供的 URL 导入场景。它或者格式不正确,或者不包含有效的 Excalidraw JSON 数据。",resetLibrary:"这将会清除你的素材库。你确定要这么做吗?",removeItemsFromsLibrary:"确定要从素材库中删除 {{count}} 个项目吗?",invalidEncryptionKey:"密钥必须包含22个字符。实时协作已被禁用。",collabOfflineWarning:`无网络连接。
您的改动将不会被保存!`},jnu={unsupportedFileType:"不支持的文件格式。",imageInsertError:"无法插入图像。请稍后再试……",fileTooBig:"文件过大。最大允许的大小为 {{maxSize}}。",svgImageInsertError:"无法插入 SVG 图像。该 SVG 标记似乎是无效的。",failedToFetchImage:"无法获取图片。",invalidSVGString:"无效的 SVG。",cannotResolveCollabServer:"无法连接到实时协作服务器。请重新加载页面并重试。",importLibraryError:"无法加载素材库",collabSaveFailed:"无法保存到后端数据库。如果问题持续存在,您应该保存文件到本地,以确保您的工作不会丢失。",collabSaveFailed_sizeExceeded:"无法保存到后端数据库,画布似乎过大。您应该保存文件到本地,以确保您的工作不会丢失。",imageToolNotSupported:"图片已被禁用。",brave_measure_text_error:{line1:"您似乎正在使用 Brave 浏览器并启用了<bold>积极阻止指纹识别</bold>的设置。",line2:"这可能会破坏绘图中的 <bold>文本元素</bold>。",line3:"我们强烈建议禁用此设置。您可以按照<link>这些步骤</link>来设置。",line4:"如果禁用此设置无法修复文本元素的显示,请在 GitHub 上提交一个 <issueLink>issue</issueLink> ,或者在 <discordLink>Discord</discordLink> 上反馈"},libraryElementTypeError:{embeddable:"嵌入的元素不能被添加到素材库。",iframe:"不能将 IFrame 元素添加到素材库中。",image:"我们不久将支持添加图片到素材库"},asyncPasteFailedOnRead:"无法粘贴(无法读取系统剪贴板)。",asyncPasteFailedOnParse:"无法粘贴。",copyToSystemClipboardFailed:"无法复制到剪贴板。"},Nnu={selection:"选择",image:"插入图像",rectangle:"矩形",diamond:"菱形",ellipse:"椭圆",arrow:"箭头",line:"线条",freedraw:"自由书写",text:"文字",library:"素材库",lock:"绘制后保持所选的工具栏状态",penMode:"笔模式 避免误触",link:"为选中的形状添加/更新链接",eraser:"橡皮",frame:"画框工具",magicframe:"线框图至代码",embeddable:"嵌入网页",laser:"激光笔",hand:"抓手(平移工具)",extraTools:"更多工具",mermaidToExcalidraw:"Mermaid 至 Excalidraw",magicSettings:"AI 设置"},Vnu={canvasActions:"画布动作",selectedShapeActions:"选定形状操作",shapes:"形状"},hnu={canvasPanning:"要移动画布,请按住鼠标滚轮或空格键同时拖拽鼠标,或使用抓手工具。",linearElement:"点击创建多个点 拖动创建直线",freeDraw:"点击并拖动,完成时松开",text:"提示:您也可以使用选择工具双击任意位置来添加文字",embeddable:"点击并拖动以创建嵌入网页",text_selected:"双击或按回车键以编辑文本",text_editing:"按下 Escape 或 CtrlOrCmd+ENTER 完成编辑",linearElementMulti:"点击最后一个点或按下 Esc/Enter 来完成",lockAngle:"可以按住 Shift 来约束角度",resize:`您可以按住SHIFT来限制比例大小,
按住ALT来调整中心大小`,resizeImage:`按住SHIFT可以自由缩放,
按住ALT可以从中间缩放`,rotate:"旋转时可以按住 Shift 来约束角度",lineEditor_info:"按住 CtrlOrCmd 并双击或按 CtrlOrCmd + Enter 来编辑点",lineEditor_pointSelected:"按下 Delete 移除点,CtrlOrCmd+D 以复制,拖动以移动",lineEditor_nothingSelected:`选择要编辑的点 (按住 SHIFT 选择多个),
或按住 Alt 并点击以添加新点`,placeImage:"点击放置图像,或者点击并拖动以手动设置图像大小",publishLibrary:"发布您自己的素材库",bindTextToElement:"按下 Enter 以添加文本",deepBoxSelect:"按住 CtrlOrCmd 以深度选择,并避免拖拽",eraserRevert:"按住 Alt 以反选被标记删除的元素",firefox_clipboard_write:"将高级配置首选项“dom.events.asyncClipboard.clipboardItem”设置为“true”可以启用此功能。要更改 Firefox 的高级配置首选项,请前往“about:config”页面。",disableSnapping:"按住 Ctrl 或 Cmd 以禁用吸附"},inu={cannotShowPreview:"无法显示预览",canvasTooBig:"画布可能过大。",canvasTooBigTip:"提示:尝试将最远的元素移动到和其它元素更近一些。"},anu={headingMain:"遇到异常。请尝试<button>重新加载页面</button>。",clearCanvasMessage:"如果重新加载页面无效,请尝试<button>清除画布</button>。",clearCanvasCaveat:"这会造成当前工作丢失",trackedToSentry:"标识符为{{eventId}}的错误已在我们的系统中被记录",openIssueMessage:"我们非常谨慎地处理错误信息,您的画布内容不会被包含在错误报告中。如果您的画布内容不需要保持私密,请考虑在我们的 <button>bug 跟踪系统</button>上提供更多信息。请复制粘贴以下信息到 GitHub Issue 中。",sceneContent:"画布内容:"},mnu={desc_intro:"你可以邀请其他人到目前的画面中与你协作。",desc_privacy:"别担心,该会话使用端到端加密,无论绘制什么都将保持私密,甚至连我们的服务器也无法查看。",button_startSession:"开始会话",button_stopSession:"结束会话",desc_inProgressIntro:"实时协作会话进行中。",desc_shareLink:"分享此链接给你要协作的用户",desc_exitSession:"停止会话将中断您与房间的连接,但您依然可以在本地继续使用画布。请注意,这不会影响到其他用户,他们仍可以在他们的版本上继续协作。",shareTitle:"加入 Excalidraw 实时协作会话"},$nu={title:"错误"},ynu={disk_title:"保存到本地",disk_details:"将画布数据导出为文件,以便以后导入",disk_button:"保存为文件",link_title:"分享链接",link_details:"导出为只读链接。",link_button:"导出链接",excalidrawplus_description:"将画布保存到您的 Excalidraw+ 工作区。",excalidrawplus_button:"导出",excalidrawplus_exportError:"暂时无法导出到 Excalidraw+ ..."},rnu={blog:"浏览我们的博客",click:"单击",deepSelect:"深度选择",deepBoxSelect:"在方框内深度选择并避免拖拽",curvedArrow:"曲线箭头",curvedLine:"曲线",documentation:"文档",doubleClick:"双击",drag:"拖动",editor:"编辑器",editLineArrowPoints:"编辑线条或箭头的点",editText:"添加或编辑文本",github:"发现问题?提交反馈",howto:"帮助文档",or:"或",preventBinding:"禁用箭头吸附",tools:"工具",shortcuts:"快捷键列表",textFinish:"完成编辑 (文本编辑器)",textNewLine:"添加新行(文本编辑器)",title:"帮助",view:"视图",zoomToFit:"缩放以适应所有元素",zoomToSelection:"缩放到选区",toggleElementLock:"锁定/解锁",movePageUpDown:"上下移动页面",movePageLeftRight:"左右移动页面"},gnu={title:"清除画布"},cnu={title:"发布素材库",itemName:"项目名称",authorName:"作者名",githubUsername:"GitHub 用户名",twitterUsername:"Twitter 用户名",libraryName:"名称",libraryDesc:"简介",website:"网址",placeholder:{authorName:"您的名字或用户名",libraryName:"素材库名称",libraryDesc:"介绍您的素材库,让人们了解其用途",githubHandle:"GitHub 用户名(可选),填写后,您可以编辑已提交待审的素材库",twitterHandle:"Twitter 用户名(可选),填写后,当我们在Twitter发布推广信息时便可提及您",website:"您个人网站的或任意的链接(可选)"},errors:{required:"必填",website:"输入一个有效的URL"},noteDescription:"提交后,您的素材库将被包含在<link>公共素材库广场</link>以供其他人在绘图中使用。",noteGuidelines:"提交的素材库需先经人工审核。在提交之前,请先阅读<link>指南</link> 。后续沟通和对库的修改需要 GitHub 账号,但这不是必须的。",noteLicense:"提交即表明您已同意素材库将遵循 <link>MIT 许可证</link>,简而言之,任何人都可以不受限制地使用它们。",noteItems:"素材库中每个项目都有各自的名称以供筛选。以下项目将被包含:",atleastOneLibItem:"请选择至少一个素材库以开始",republishWarning:"注意:部分选中的项目已经发布或提交。请仅在更新已有或已提交的素材库时重复提交项目。"},_nu={title:"素材库已提交",content:"谢谢你 {{authorName}}。您的素材库已被提交审核。请点击<link>此处</link>跟进此次提交的状态"},pnu={resetLibrary:"重置素材库",removeItemsFromLib:"从素材库中删除选中的项目"},nnu={header:"导出图片",label:{withBackground:"背景",onlySelected:"仅选中",darkMode:"深色模式",embedScene:"包含画布数据",scale:"缩放比例",padding:"内边距"},tooltip:{embedScene:`画布数据将被保存到导出的 PNG/SVG 文件,以便恢复。
将会增加导出文件的大小。`},title:{exportToPng:"导出为 PNG",exportToSvg:"导出为 SVG",copyPngToClipboard:"复制 PNG 到剪切板"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"复制到剪贴板"}},dnu={tooltip:"您的绘图采用端到端加密,其内容对于 Excalidraw 服务器是不可见的。",link:"Excalidraw 中关于端到端加密的博客"},snu={angle:"角度",element:"元素",elements:"元素",height:"高度",scene:"画布",selected:"选中",storage:"存储",title:"详细统计信息",total:"总计",version:"版本",versionCopy:"点击复制",versionNotAvailable:"版本不可用",width:"宽度"},onu={addedToLibrary:"添加到素材库中",copyStyles:"样式已拷贝。",copyToClipboard:"已复制到剪切板。",copyToClipboardAsPng:`已将 {{exportSelection}} 作为 PNG 复制到剪贴板
({{exportColorScheme}})`,fileSaved:"文件已保存。",fileSavedToFilename:"保存到 {filename}",canvas:"画布",selection:"所选项",pasteAsSingleElement:`使用 {{shortcut}} 粘贴为单个元素,
或粘贴到现有的文本编辑器里`,unableToEmbed:"目前不允许嵌入此网址。请在 GitHub 上提 issue 请求将此网址加入白名单",unrecognizedLinkFormat:"您嵌入的链接不符合格式要求。请尝试粘贴源网站提供的“嵌入 (embed)”字符串"},tnu={transparent:"透明",black:"黑",white:"白",red:"红",pink:"粉红",grape:"紫红",violet:"蓝紫",gray:"灰",blue:"蓝",cyan:"青",teal:"蓝绿",green:"绿",yellow:"黄",orange:"橙",bronze:"古铜"},enu={app:{center_heading:"您的所有数据都储存在浏览器本地。",center_heading_plus:"是否前往 Excalidraw+ ",menuHint:"导出、首选项、语言……"},defaults:{menuHint:"导出、首选项……",center_heading:"图,化繁为简。",toolbarHint:"选择工具并开始绘图!",helpHint:"快捷键和帮助"}},udu={mostUsedCustomColors:"常用自定义颜色",colors:"颜色",shades:"色调明暗",hexCode:"十六进制值",noShades:"此颜色没有可用的明暗变化"},Bdu={action:{exportToImage:{title:"导出为图片",button:"导出为图片",description:"将画布数据导出为图片,以便以后导入。"},saveToDisk:{title:"保存到本地",button:"保存到本地",description:"将画布数据导出为文件,以便以后导入。"},excalidrawPlus:{title:"Excalidraw+",button:"导出到 Excalidraw+",description:"将画布保存到您的 Excalidraw+ 工作区。"}},modal:{loadFromFile:{title:"从文件加载",button:"从文件加载",description:"从文件加载将<bold>替换您现有的内容</bold>。<br></br>您可以先使用下列方式备份您的绘图。"},shareableLink:{title:"从链接加载",button:"替换我的内容",description:"加载外部绘图将<bold>替换您现有的内容</bold>。<br></br>您可以先使用下列方式备份您的绘图。"}}},Edu={title:"Mermaid 至 Excalidraw",button:"插入",description:"目前仅支持<flowchartLink>流程图</flowchartLink>、<sequenceLink>序列图</sequenceLink>和<classLink>类图</classLink>。其他类型在 Excalidraw 中将以图像呈现。",syntax:"Mermaid 语法",preview:"预览"},Vf3={labels:Tnu,library:Onu,buttons:Inu,alerts:Pnu,errors:jnu,toolBar:Nnu,headings:Vnu,hints:hnu,canvasError:inu,errorSplash:anu,roomDialog:mnu,errorDialog:$nu,exportDialog:ynu,helpDialog:rnu,clearCanvasDialog:gnu,publishDialog:cnu,publishSuccessDialog:_nu,confirmDialog:pnu,imageExportDialog:nnu,encrypted:dnu,stats:snu,toast:onu,colors:tnu,welcomeScreen:enu,colorPicker:udu,overwriteConfirm:Bdu,mermaid:Edu}});var Idu={};ju(Idu,{welcomeScreen:()=>Ydu,toolBar:()=>fdu,toast:()=>Wdu,stats:()=>xdu,roomDialog:()=>Kdu,publishSuccessDialog:()=>ldu,publishDialog:()=>qdu,overwriteConfirm:()=>Tdu,mermaid:()=>Odu,library:()=>Fdu,labels:()=>Ddu,imageExportDialog:()=>Xdu,hints:()=>bdu,helpDialog:()=>Gdu,headings:()=>Mdu,exportDialog:()=>Qdu,errors:()=>kdu,errorSplash:()=>Jdu,errorDialog:()=>wdu,encrypted:()=>vdu,default:()=>hf3,confirmDialog:()=>Ldu,colors:()=>Sdu,colorPicker:()=>Rdu,clearCanvasDialog:()=>Hdu,canvasError:()=>Zdu,buttons:()=>Udu,alerts:()=>zdu});var Ddu,Fdu,Udu,zdu,kdu,fdu,Mdu,bdu,Zdu,Jdu,Kdu,wdu,Qdu,Gdu,Hdu,qdu,ldu,Ldu,Xdu,vdu,xdu,Wdu,Sdu,Ydu,Rdu,Tdu,Odu,hf3;var Pdu=g(()=>{m4();Ddu={paste:"貼上",pasteAsPlaintext:"",pasteCharts:"貼上圖表",selectAll:"全選",multiSelect:"多重選取",moveCanvas:"移動畫布",cut:"剪下",copy:"複製",copyAsPng:"以 PNG 格式複製",copyAsSvg:"以 SVG 格式複製",copyText:"",copySource:"",convertToCode:"",bringForward:"往上一層移動",sendToBack:"移到最底層",bringToFront:"移到最上層",sendBackward:"往下一層移動",delete:"刪除",copyStyles:"複製樣式",pasteStyles:"套用樣式",stroke:"筆跡顏色",background:"填充顏色",fill:"背景樣式",strokeWidth:"筆跡寬度",strokeStyle:"筆跡線條",strokeStyle_solid:"實線",strokeStyle_dashed:"虛線(較密)",strokeStyle_dotted:"虛線(較疏)",sloppiness:"筆跡風格",opacity:"透明度",textAlign:"文字對齊",edges:"邊角樣式",sharp:"銳角",round:"圓角",arrowheads:"箭嘴",arrowhead_none:"無箭嘴",arrowhead_arrow:"普通箭嘴",arrowhead_bar:"平頭條狀",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"三角箭嘴",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"字型大小",fontFamily:"字體",addWatermark:"加入「使用 Excalidraw 製圖」水印",handDrawn:"手繪體",normal:"電腦字體",code:"等寬體",small:"細",medium:"中",large:"大",veryLarge:"勁大",solid:"實心",hachure:"斜線",zigzag:"",crossHatch:"交叉格仔",thin:"幼",bold:"粗",left:"靠左對齊",center:"置中對齊",right:"靠右對齊",extraBold:"勁粗",architect:"手繪風格",artist:"藝術家風格",cartoonist:"卡通風格",fileTitle:"檔案名稱",colorPicker:"",canvasColors:"",canvasBackground:"畫布背景顏色",drawingCanvas:"畫布",layers:"圖層",actions:"動作",language:"\uD83C\uDF0F 語言",liveCollaboration:"",duplicateSelection:"製作副本",untitled:"未命名的作品",name:"",yourName:"你的名稱",madeWithExcalidraw:"使用 Excalidraw 製圖",group:"建立物件群組",ungroup:"取消物件群組",collaborators:"已連線的協作者",showGrid:"顯示網格",addToLibrary:"加入作品庫",removeFromLibrary:"從作品庫中移除",libraryLoadingMessage:"正在載入作品庫…",libraries:"瀏覽作品庫",loadingScene:"載入畫布中…",align:"物件對齊",alignTop:"水平置頂",alignBottom:"水平置底",alignLeft:"垂直靠左對齊",alignRight:"垂直靠右對齊",centerVertically:"垂直置中",centerHorizontally:"水平置中",distributeHorizontally:"左右等距",distributeVertically:"上下等距",flipHorizontal:"左右反轉",flipVertical:"上下反轉",viewMode:"唯讀模式",share:"",showStroke:"",showBackground:"",toggleTheme:"",personalLib:"",excalidrawLib:"",decreaseFontSize:"",increaseFontSize:"",unbindText:"",bindText:"",createContainerFromText:"",link:{edit:"",editEmbed:"",create:"",createEmbed:"",label:"",labelEmbed:"",empty:""},lineEditor:{edit:"",exit:""},elementLock:{lock:"",unlock:"",lockAll:"",unlockAll:""},statusPublished:"",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},Fdu={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},Udu={clearReset:"清空畫布",exportJSON:"",exportImage:"",export:"",copyToClipboard:"",save:"",saveAs:"",load:"",getShareableLink:"",close:"",selectLanguage:"",scrollBackToContent:"",zoomIn:"",zoomOut:"",resetZoom:"",menu:"",done:"",edit:"",undo:"",redo:"",resetLibrary:"",createNewRoom:"",fullScreen:"",darkMode:"",lightMode:"",zenMode:"",objectsSnapMode:"",exitZenMode:"",cancel:"",clear:"",remove:"",embed:"",publishLibrary:"",submit:"",confirm:"",embeddableInteractionButton:""},zdu={clearReset:"【‼️ 警告 ‼️ 無法復原的動作】你確定要清空呢塊畫布嗎?",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"無嘢可以匯出喎~畫吓嘢先?",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},kdu={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},fdu={selection:"",image:"",rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},Mdu={canvasActions:"畫布動作",selectedShapeActions:"",shapes:""},bdu={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},Zdu={cannotShowPreview:"無法顯示預覽",canvasTooBig:"塊畫布太大啦,縮細啲先啦?",canvasTooBigTip:""},Jdu={headingMain:"",clearCanvasMessage:"如果重新整理頁面都係睇唔到,你可以<button>清空畫布</button>",clearCanvasCaveat:"(注意:呢個動作會直接丟棄你嘅作品,並且無法復原)",trackedToSentry:"",openIssueMessage:"",sceneContent:""},Kdu={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},wdu={title:""},Qdu={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},Gdu={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},Hdu={title:""},qdu={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},ldu={title:"",content:""},Ldu={resetLibrary:"",removeItemsFromLib:""},Xdu={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},vdu={tooltip:"",link:""},xdu={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},Wdu={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"畫布",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},Sdu={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},Ydu={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},Rdu={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},Tdu={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},Odu={title:"",button:"",description:"",syntax:"",preview:""},hf3={labels:Ddu,library:Fdu,buttons:Udu,alerts:zdu,errors:kdu,toolBar:fdu,headings:Mdu,hints:bdu,canvasError:Zdu,errorSplash:Jdu,roomDialog:Kdu,errorDialog:wdu,exportDialog:Qdu,helpDialog:Gdu,clearCanvasDialog:Hdu,publishDialog:qdu,publishSuccessDialog:ldu,confirmDialog:Ldu,imageExportDialog:Xdu,encrypted:vdu,stats:xdu,toast:Wdu,colors:Sdu,welcomeScreen:Ydu,colorPicker:Rdu,overwriteConfirm:Tdu,mermaid:Odu}});var Usu={};ju(Usu,{welcomeScreen:()=>Asu,toolBar:()=>adu,toast:()=>Bsu,stats:()=>usu,roomDialog:()=>gdu,publishSuccessDialog:()=>sdu,publishDialog:()=>ddu,overwriteConfirm:()=>Dsu,mermaid:()=>Fsu,library:()=>Ndu,labels:()=>jdu,imageExportDialog:()=>tdu,hints:()=>$du,helpDialog:()=>pdu,headings:()=>mdu,exportDialog:()=>_du,errors:()=>idu,errorSplash:()=>rdu,errorDialog:()=>cdu,encrypted:()=>edu,default:()=>if3,confirmDialog:()=>odu,colors:()=>Esu,colorPicker:()=>Csu,clearCanvasDialog:()=>ndu,canvasError:()=>ydu,buttons:()=>Vdu,alerts:()=>hdu});var jdu,Ndu,Vdu,hdu,idu,adu,mdu,$du,ydu,rdu,gdu,cdu,_du,pdu,ndu,ddu,sdu,odu,tdu,edu,usu,Bsu,Esu,Asu,Csu,Dsu,Fsu,if3;var zsu=g(()=>{m4();jdu={paste:"貼上",pasteAsPlaintext:"以純文字貼上",pasteCharts:"貼上圖表",selectAll:"全選",multiSelect:"將物件加入選取範圍",moveCanvas:"移動畫布",cut:"剪下",copy:"複製",copyAsPng:"以PNG格式儲存到剪貼板",copyAsSvg:"以SVG格式複製到剪貼板",copyText:"以文字格式複製至剪貼簿",copySource:"複製來源至剪貼簿",convertToCode:"轉換為程式碼",bringForward:"上移一層",sendToBack:"移到最底層",bringToFront:"置於最頂層",sendBackward:"往後移一層",delete:"刪除",copyStyles:"複製樣式",pasteStyles:"貼上樣式",stroke:"筆畫",background:"背景",fill:"填滿",strokeWidth:"筆跡寬度",strokeStyle:"筆畫樣式",strokeStyle_solid:"實線",strokeStyle_dashed:"虛線",strokeStyle_dotted:"點線",sloppiness:"線條風格",opacity:"透明度",textAlign:"文字對齊",edges:"邊緣",sharp:"尖銳",round:"平滑",arrowheads:"箭頭",arrowhead_none:"無",arrowhead_arrow:"箭頭",arrowhead_bar:"條狀箭頭",arrowhead_circle:"圓形",arrowhead_circle_outline:"圓形(外框)",arrowhead_triangle:"三角形",arrowhead_triangle_outline:"三角形(外框)",arrowhead_diamond:"菱形",arrowhead_diamond_outline:"菱形(外框)",fontSize:"字型大小",fontFamily:"字體集",addWatermark:'加上 "Made with Excalidraw" 浮水印',handDrawn:"手寫",normal:"一般",code:"代碼",small:"小",medium:"中",large:"大",veryLarge:"特大",solid:"實心",hachure:"斜線筆觸",zigzag:"Z字形",crossHatch:"交叉筆觸",thin:"細",bold:"粗",left:"左側",center:"置中",right:"右側",extraBold:"極粗",architect:"精確",artist:"藝術",cartoonist:"卡通",fileTitle:"檔案名稱",colorPicker:"色彩選擇工具",canvasColors:"使用於畫布",canvasBackground:"Canvas 背景",drawingCanvas:"繪圖 canvas",layers:"圖層",actions:"動作",language:"語言",liveCollaboration:"即時協作...",duplicateSelection:"複製",untitled:"無標題",name:"名稱",yourName:"你的名稱",madeWithExcalidraw:"以 Excalidraw 製作",group:"建立群組",ungroup:"取消群組",collaborators:"協作者",showGrid:"顯示格線",addToLibrary:"加入資料庫",removeFromLibrary:"從資料庫中移除",libraryLoadingMessage:"資料庫讀取中…",libraries:"瀏覽資料庫",loadingScene:"場景讀取中…",align:"對齊",alignTop:"對齊頂部",alignBottom:"對齊底部",alignLeft:"對齊左側",alignRight:"對齊右側",centerVertically:"垂直置中",centerHorizontally:"水平置中",distributeHorizontally:"水平分布",distributeVertically:"垂直分布",flipHorizontal:"水平翻轉",flipVertical:"垂直翻轉",viewMode:"檢視模式",share:"共享",showStroke:"顯示線條檢色器",showBackground:"顯示背景檢色器",toggleTheme:"切換主題",personalLib:"個人資料庫",excalidrawLib:"Excalidraw 資料庫",decreaseFontSize:"縮小文字",increaseFontSize:"放大文字",unbindText:"取消綁定文字",bindText:"結合文字至容器",createContainerFromText:"將文字包於容器中",link:{edit:"編輯連結",editEmbed:"編輯連結&嵌入",create:"建立連結",createEmbed:"建立連結&嵌入",label:"連結",labelEmbed:"連結&嵌入",empty:"未設定連結"},lineEditor:{edit:"編輯線條",exit:"結束線條編輯"},elementLock:{lock:"鎖定",unlock:"解鎖",lockAll:"全部鎖定",unlockAll:"全部解鎖"},statusPublished:"已發布",sidebarLock:"側欄維持開啟",selectAllElementsInFrame:"選取框架內的所有元素",removeAllElementsFromFrame:"從框架內移除所有元素",eyeDropper:"從畫布中選取顏色",textToDiagram:"文字轉圖表",prompt:"提示詞"},Ndu={noItems:"尚未加入任何物件...",hint_emptyLibrary:"選取畫布上的物件以加入,或從下方的公開 repository 中安裝資料庫",hint_emptyPrivateLibrary:"選擇畫布上的物件以在此加入"},Vdu={clearReset:"重置 canvas",exportJSON:"匯出至檔案",exportImage:"匯出圖片",export:"儲存至...",copyToClipboard:"複製至剪貼簿",save:"儲存目前檔案",saveAs:"儲存為",load:"開啟",getShareableLink:"取得共享連結",close:"關閉",selectLanguage:"選擇語言",scrollBackToContent:"捲動回到內容",zoomIn:"放大",zoomOut:"縮小",resetZoom:"重設縮放",menu:"選單",done:"完成",edit:"編輯",undo:"復原",redo:"重做",resetLibrary:"重設資料庫",createNewRoom:"建立新協作會議室",fullScreen:"全螢幕",darkMode:"深色模式",lightMode:"淺色模式",zenMode:"專注模式",objectsSnapMode:"吸附至物件",exitZenMode:"離開專注模式",cancel:"取消",clear:"清除",remove:"刪除",embed:"切換嵌入",publishLibrary:"發布",submit:"送出",confirm:"確認",embeddableInteractionButton:"點擊以互動"},hdu={clearReset:"這將會清除整個 canvas。你確定嗎?",couldNotCreateShareableLink:"無法建立共享連結。",couldNotCreateShareableLinkTooBig:"無法建立共享連結:場景太大",couldNotLoadInvalidFile:"無法讀取失效的檔案。",importBackendFailed:"後端讀取失敗。",cannotExportEmptyCanvas:"無法輸出空白的 canvas。",couldNotCopyToClipboard:"無法複製到剪貼簿",decryptFailed:"無法解密資料。",uploadedSecurly:"上傳已通過 end-to-end 加密,Excalidraw 伺服器和第三方無法皆讀取其內容。",loadSceneOverridePrompt:"讀取外部圖樣將取代目前的內容。是否要繼續?",collabStopOverridePrompt:`停止連線將覆蓋您先前於本機儲存的繪圖進度,是否確認?
(如要保留原有的本機繪圖進度,直接關閉瀏覽器分頁即可。)`,errorAddingToLibrary:"無法於此資料庫加入項目",errorRemovingFromLibrary:"無法由此資料庫移除項目",confirmAddLibrary:"這將會將 {{numShapes}} 個圖形加入你的資料庫,你確定嗎?",imageDoesNotContainScene:"此圖檔中未包含場景資料。輸出檔案時是否有包含場景資料?",cannotRestoreFromImage:"無法由此檔案回復場景。",invalidSceneUrl:"無法由提供的 URL 匯入場景。可能是發生異常,或未包含有效的 Excalidraw JSON 資料。",resetLibrary:"這會清除您的資料庫,是否確定?",removeItemsFromsLibrary:"從資料庫刪除 {{count}} 項?",invalidEncryptionKey:"加密鍵必須為22字元。即時協作已停用。",collabOfflineWarning:`沒有可用的網路連線。
變更無法儲存!`},idu={unsupportedFileType:"不支援的檔案類型。",imageInsertError:"無法插入圖片。請稍後再試…",fileTooBig:"檔案過大。可接受的最大尺寸為 {{maxSize}} 。",svgImageInsertError:"無法插入 SVG 圖片。此 SVG 檔案有問題。",failedToFetchImage:"無法獲取圖片。",invalidSVGString:"無效的 SVG。",cannotResolveCollabServer:"無法連結至 collab 伺服器。請重新整理後再試一次。",importLibraryError:"無法載入資料庫",collabSaveFailed:"無法儲存至後端資料庫。若此問題持續發生,請將檔案儲存於本機以確保資料不會遺失。",collabSaveFailed_sizeExceeded:"無法儲存至後端資料庫,可能的原因為畫布尺寸過大。請將檔案儲存於本機以確保資料不會遺失。",imageToolNotSupported:"圖片已停用",brave_measure_text_error:{line1:"看起來您開啟了 Brave 瀏覽器的 <bold>Aggressively Block Fingerprinting</bold> 設定。",line2:"這可能造成您畫布中 <bold>文字元素</bold> 的異常。",line3:"我們強烈建議您關閉此設定。您可以依照 <link>這些步驟</link> 來進行。",line4:"若關閉此設定並未修復文字元素的顯示問題,請回報於我們 GitHub 上的 <issueLink>issue</issueLink>,或在 <discordLink>Discord</discordLink> 上告訴我們。"},libraryElementTypeError:{embeddable:"可嵌入元素無法加入資料庫",iframe:"IFrame 元素無法加入資料庫",image:"即將支援加入圖片至資料庫!"},asyncPasteFailedOnRead:"無法貼上(無法由系統剪貼簿讀入)",asyncPasteFailedOnParse:"無法貼上",copyToSystemClipboardFailed:"無法複製至剪貼簿"},adu={selection:"選取",image:"插入圖片",rectangle:"長方形",diamond:"菱形",ellipse:"橢圓",arrow:"箭頭",line:"線條",freedraw:"繪圖",text:"文字",library:"資料庫",lock:"可連續使用選取的工具",penMode:"筆模式 - 避免觸摸",link:"為所選的形狀增加\b/更新連結",eraser:"橡皮擦",frame:"框架工具",magicframe:"線框稿轉為程式碼",embeddable:"嵌入網站",laser:"雷射筆",hand:"手形(平移工具)",extraTools:"更多工具",mermaidToExcalidraw:"Mermaid 至 Excalidraw",magicSettings:"AI 設定"},mdu={canvasActions:"canvas 動作",selectedShapeActions:"選取圖形動作",shapes:"形狀"},$du={canvasPanning:"若要移動畫布,請在拖曳時按住滑鼠滾輪或空白鍵,或使用手形工具",linearElement:"點擊以繪製多點曲線;或拖曳以繪製直線",freeDraw:"點擊並拖曳來繪圖,放開即結束",text:"提示:亦可使用選取工具在任何地方雙擊來加入文字",embeddable:"點擊並拖移以建立嵌入網站",text_selected:"雙擊滑鼠或按 Enter 以編輯文字",text_editing:"按跳脫鍵或 Ctrl 或 Cmd + Enter 以結束編輯",linearElementMulti:"按下 Escape 或 Enter 以結束繪製",lockAngle:"按住 SHIFT 可限制旋轉角度",resize:"縮放時按住 Shift 可保持原比例縮放;\\n按住 Alt 可由中心點進行縮放",resizeImage:"按住 SHIFT 可任意縮放,按住 ALT 可由中央縮放。",rotate:"旋轉時按住 Shift 可限制旋轉角度",lineEditor_info:"按住 Ctrl 或 Cmd 並雙擊或按住 Ctrl 或 Cmd + Enter 來編輯控制點",lineEditor_pointSelected:"按下 Delete 可移除錨點;Ctrl 或 Cmd + D 可複製;或可拖曳來移動",lineEditor_nothingSelected:`選擇要編輯的錨點(按住 SHIFT 可多選),
或按住 Alt 並點擊以增加新錨點。`,placeImage:"點擊以放置圖片,或點擊並拖曳以手動調整其尺寸。",publishLibrary:"發布個人資料庫",bindTextToElement:"按下 Enter 以加入文字。",deepBoxSelect:"按住 Ctrl 或 Cmd 以深度選取並避免拖曳",eraserRevert:"按住 Alt 以反選取已標記待刪除的元素",firefox_clipboard_write:`此功能有機會透過將 "dom.events.asyncClipboard.clipboardItem" 設定為 "true" 來開啟。
若要變更 Firefox 瀏覽器的此設定值,請至 "about:config" 頁面。`,disableSnapping:"按住 Ctrl 或 Cmd 以禁用吸附"},ydu={cannotShowPreview:"無法顯示預覽",canvasTooBig:"畫布可能過大",canvasTooBigTip:"提示:可嘗試將最遠的元素移動至較集中的位置"},rdu={headingMain:"發生錯誤,嘗試<button>重新載入頁面。</button>",clearCanvasMessage:"若重新載入仍無法解決問題,嘗試<button>清除 canvas。</button>",clearCanvasCaveat:"此動作將造成目前的作品被移除。",trackedToSentry:"此錯誤與其識別碼{{eventId}}將由系統記錄。",openIssueMessage:"我們將謹慎處理,你的作品內容不會被包含在錯誤報告中。若你的作品不需保持私密,請考慮使用我們的<button>bug tracker。</button>請將下列資訊複製貼上至 GitHub issue 中。",sceneContent:"作品內容:"},gdu={desc_intro:"你可以邀請其他人一起協作目前的作品。",desc_privacy:"連線使用 end-to-end 加密故無須擔心作品的安全性。即使是我們的伺服器也無法取得其內容。",button_startSession:"開始連線",button_stopSession:"停止連線",desc_inProgressIntro:"即時協作連線正在進行中。",desc_shareLink:"將此連結分享給欲協作的對象:",desc_exitSession:"停止連線將中斷你與協作會議室的連結,但你仍可於本機編輯此作品。意指停止連線後你的編輯不會被先前共同協作的人看見,且他們可繼續共同協作另一個版本。",shareTitle:"加入 Excalidraw 上的即時協作會議室"},cdu={title:"錯誤"},_du={disk_title:"儲存至硬碟",disk_details:"將場景匯出為可供匯入之檔案",disk_button:"儲存至檔案",link_title:"可共享連結",link_details:"匯出為唯讀連結",link_button:"匯出為連結",excalidrawplus_description:"將此場景儲存至你的 Excalidraw+ 工作區",excalidrawplus_button:"輸出",excalidrawplus_exportError:"目前無法輸出至 Excalidraw+"},pdu={blog:"閱讀部落格",click:"點擊",deepSelect:"深度選取",deepBoxSelect:"在容器內深度選取並避免拖曳",curvedArrow:"曲箭頭",curvedLine:"曲線",documentation:"文件",doubleClick:"雙擊",drag:"拖曳",editor:"編輯器",editLineArrowPoints:"編輯線/箭頭控制點",editText:"編輯文字/增加標籤",github:"發現異常?回報問題",howto:"參照我們的說明",or:"或",preventBinding:"避免箭號連結",tools:"工具",shortcuts:"鍵盤快速鍵",textFinish:"完成編輯(文字編輯器)",textNewLine:"換行(文字編輯器)",title:"說明",view:"檢視",zoomToFit:"放大至填滿畫面",zoomToSelection:"縮放至選取區",toggleElementLock:"鎖定/解鎖已選的項目",movePageUpDown:"向上/下移動頁面",movePageLeftRight:"向左/右移動頁面"},ndu={title:"清除畫布"},ddu={title:"發布資料庫",itemName:"項目名稱",authorName:"作者名稱",githubUsername:"GitHub 帳號",twitterUsername:"Twitter 帳號",libraryName:"資料庫名稱",libraryDesc:"資料庫說明",website:"網站",placeholder:{authorName:"您的名稱或帳號",libraryName:"您的資料庫名稱",libraryDesc:"提供您的資料庫說明以利他人理解其用途",githubHandle:"Github handle(選填),填寫後您可編輯已送出待審查的資料庫",twitterHandle:"Twitter 帳號(選填),填寫後若我們在 Twitter 推廣時可提及您",website:"您個人網站或其他網站的連結(選填)"},errors:{required:"必填",website:"請輸入有效的 URL"},noteDescription:"送出您的資料庫後將被包含於<link>公開資料庫 repository</link>以利他人在其繪圖中使用。",noteGuidelines:"資料庫需先經人工審查。請閱讀<link>說明文件</link>再送出。若需溝通與修改時要透過 GitHub 帳號來進行,但並非強制需求。",noteLicense:"送出即代表您同意此資料庫將發布時使用 <link>MIT 授權,</link>簡單來說是指任何人都能不受限制的使用。",noteItems:"每個資料庫項目都有獨立的名稱故可篩選。會包含下列資料庫項目:",atleastOneLibItem:"請選擇至少一項資料庫項目",republishWarning:"注意:部分選取中的物件先前已發布/送出過。建議僅在要更新現存資料庫或已送出的物件時才重新送出這些物件。"},sdu={title:"資料庫已送出",content:"感謝 {{authorName}} 。您的資料庫已送出待審查。您可查看目前狀態<link>在此</link>"},odu={resetLibrary:"重設資料庫",removeItemsFromLib:"從資料庫移除所選的項目"},tdu={header:"匯出圖片",label:{withBackground:"背景",onlySelected:"僅選取物件",darkMode:"深色模式",embedScene:"嵌入場景",scale:"縮放比例",padding:"內間距"},tooltip:{embedScene:`用於回復場景的場景資料會被包含在輸出的 PNG/SVG 檔案中。
會增加輸出的檔案大小。`},title:{exportToPng:"輸出成 PNG",exportToSvg:"輸出成 SVG",copyPngToClipboard:"複製 PNG 至剪貼簿"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"複製至剪貼簿"}},edu={tooltip:"你的作品已使用 end-to-end 方式加密,Excalidraw 的伺服器也無法取得其內容。",link:"Excalidraw 端到端加密的相關部落格文章"},usu={angle:"角度",element:"元素",elements:"元素",height:"高度",scene:"場景",selected:"已選",storage:"儲存",title:"詳細統計",total:"合計",version:"版本",versionCopy:"點擊複製",versionNotAvailable:"無法取得版本",width:"寬度"},Bsu={addedToLibrary:"加入資料庫",copyStyles:"已複製樣式",copyToClipboard:"複製至剪貼簿。",copyToClipboardAsPng:`以 PNG 格式將 {{exportSelection}} 複製至剪貼簿
({{exportColorScheme}})`,fileSaved:"已儲存檔案。",fileSavedToFilename:"儲存為 {filename}",canvas:"畫布",selection:"已選項目",pasteAsSingleElement:`使用 {{shortcut}} 以做為單一物件貼上,
或貼上至現有的文字編輯器`,unableToEmbed:"目前不允許嵌入此網址。您可至 GitHub 提出 issue 以要求將此網址加入合格名單。",unrecognizedLinkFormat:"您嵌入的連結格式不符。請嘗試貼入原網站所提供的「嵌入」字串。"},Esu={transparent:"透明",black:"黑",white:"白",red:"紅",pink:"粉紅",grape:"深紫",violet:"藍紫",gray:"灰",blue:"藍",cyan:"青",teal:"藍綠",green:"綠",yellow:"黃",orange:"橘",bronze:"銅"},Asu={app:{center_heading:"所有資料皆已在瀏覽器中儲存於本機",center_heading_plus:"您是否是要前往 Excalidraw+ ",menuHint:"輸出、偏好設定、語言..."},defaults:{menuHint:"輸出、偏好設定及其他...",center_heading:"圖表。製作。超簡單。",toolbarHint:"選個工具開始畫圖吧!",helpHint:"快速鍵與說明"}},Csu={mostUsedCustomColors:"最常使用的自訂顏色",colors:"顏色",shades:"漸變色",hexCode:"Hex 碼",noShades:"沒有此顏色的漸變色"},Dsu={action:{exportToImage:{title:"匯出為圖片",button:"匯出為圖片",description:"將場景匯出為可供匯入的圖片檔案"},saveToDisk:{title:"儲存至硬碟",button:"儲存至硬碟",description:"將場景匯出為可供匯入的檔案"},excalidrawPlus:{title:"Excalidraw+",button:"匯出至 Excalidraw+",description:"將此場景儲存至您的 Excalidraw+ 工作區"}},modal:{loadFromFile:{title:"從檔案載入",button:"從檔案載入",description:"從檔案載入將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。"},shareableLink:{title:"從連結載入",button:"取代我的內容",description:"載入外部繪圖將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。"}}},Fsu={title:"Mermaid 至 Excalidraw",button:"插入",description:"目前僅支援 <flowchartLink>Flowchart</flowchartLink> 、 <sequenceLink>Sequence</sequenceLink> 及 <classLink>Class </classLink> 圖表。其餘檔案類型在 Excalidraw 將會以圖像呈現。",syntax:"Mermaid 語法",preview:"預覽"},if3={labels:jdu,library:Ndu,buttons:Vdu,alerts:hdu,errors:idu,toolBar:adu,headings:mdu,hints:$du,canvasError:ydu,errorSplash:rdu,roomDialog:gdu,errorDialog:cdu,exportDialog:_du,helpDialog:pdu,clearCanvasDialog:ndu,publishDialog:ddu,publishSuccessDialog:sdu,confirmDialog:odu,imageExportDialog:tdu,encrypted:edu,stats:usu,toast:Bsu,colors:Esu,welcomeScreen:Asu,colorPicker:Csu,overwriteConfirm:Dsu,mermaid:Fsu}});var ZJ=20,ksu,SP;var vG=g(()=>{ksu={rect:"rectangle",circle:"ellipse"},SP={startOnLoad:!1,flowchart:{curve:"linear"},themeVariables:{fontSize:"20px"},maxEdges:500,maxTextSize:50000}});class nE{constructor({converter:u}){this.convert=(B,E)=>{return this.converter(B,{...E,fontSize:E.fontSize||ZJ})},this.converter=u}}var xG=g(()=>{vG()});var Sf,p5,w1;var YP=g(()=>{(function(u){u.ROUND="round",u.STADIUM="stadium",u.DOUBLECIRCLE="doublecircle",u.CIRCLE="circle",u.DIAMOND="diamond",u.CYLINDER="cylinder"})(Sf||(Sf={}));(function(u){u.COLOR="color"})(p5||(p5={}));(function(u){u.FILL="fill",u.STROKE="stroke",u.STROKE_WIDTH="stroke-width",u.STROKE_DASHARRAY="stroke-dasharray"})(w1||(w1={}))});var fsu,af3,Msu=(u)=>{return af3[u]},is=(u)=>{let B=u.text;if(u.labelType==="markdown")B=fsu.removeMarkdown(u.text);return mf3(B)},mf3=(u)=>{let B=/\s?(fa|fab):[a-zA-Z0-9-]+/g;return u.replace(B,"")},WG=(u)=>{let B={};return Object.keys(u).forEach((E)=>{switch(E){case w1.FILL:{B.backgroundColor=u[E],B.fillStyle="solid";break}case w1.STROKE:{B.strokeColor=u[E];break}case w1.STROKE_WIDTH:{B.strokeWidth=Number(u[E]?.split("px")[0]);break}case w1.STROKE_DASHARRAY:{B.strokeStyle="dashed";break}}}),B},RP=(u)=>{let B={};return Object.keys(u).forEach((E)=>{switch(E){case p5.COLOR:{B.strokeColor=u[E];break}}}),B};var FQ0=g(()=>{YP();fsu=Eu(zz0(),1),af3={arrow_circle:{endArrowhead:"circle"},arrow_cross:{endArrowhead:"bar"},arrow_open:{endArrowhead:null,startArrowhead:null},double_arrow_circle:{endArrowhead:"circle",startArrowhead:"circle"},double_arrow_cross:{endArrowhead:"bar",startArrowhead:"bar"},double_arrow_point:{endArrowhead:"arrow",startArrowhead:"arrow"}}});var $f3=(u,B)=>[u,B],yf3=32,bsu=0.62,rf3=12,gf3=12,Zsu=(u,B)=>{return Math.max(20,Math.ceil(u.length*B*bsu))},cf3=(u,B,E,A)=>{let C=A||ZJ;if(u!==Sf.CYLINDER||!B||B.includes(`
`))return C;let D=Math.max(20,E-rf3);if(Zsu(B,C)<=D)return C;return Math.max(gf3,Math.floor(D/(B.length*bsu)))},_f3=(u)=>{let B={};u.subGraphs.map((A)=>{A.nodeIds.forEach((C)=>{B[A.id]={id:A.id,parent:null,isLeaf:!1},B[C]={id:C,parent:A.id,isLeaf:u.vertices[C]!==void 0}})});let E={};return[...Object.keys(u.vertices),...u.subGraphs.map((A)=>A.id)].forEach((A)=>{if(!B[A])return;let C=B[A],D=[];if(!C.isLeaf)D.push(`subgraph_group_${C.id}`);while(!0)if(C.parent)D.push(`subgraph_group_${C.parent}`),C=B[C.parent];else break;E[A]=D}),{getGroupIds:(A)=>{return E[A]||[]},getParentId:(A)=>{return B[A]?B[A].parent:null}}},Jsu;var Ksu=g(()=>{xG();FQ0();YP();vG();Jsu=new nE({converter:(u,B)=>{let E=[],A=B.fontSize,{getGroupIds:C,getParentId:D}=_f3(u);return u.subGraphs.reverse().forEach((F)=>{let U=C(F.id),z=is(F),M=Zsu(z,A||16)+yf3*2,b=Math.max(F.width,M),Z=F.x-(b-F.width)/2,J=WG(F.containerStyle),K=RP(F.labelStyle),w={id:F.id,type:"rectangle",groupIds:U,x:Z,y:F.y,width:b,height:F.height,label:{groupIds:U,text:z,fontSize:A,verticalAlign:"top",...K},...J};E.push(w)}),Object.values(u.vertices).forEach((F)=>{if(!F)return;let U=C(F.id),z=is(F),k=cf3(F.type,z,F.width,A),f=WG(F.containerStyle),M=RP(F.labelStyle),b={id:F.id,type:"rectangle",groupIds:U,x:F.x,y:F.y,width:F.width,height:F.height,strokeWidth:2,label:{groupIds:U,text:z,fontSize:k,...M},link:F.link||null,...f};switch(F.type){case Sf.STADIUM:{b={...b,roundness:{type:3}};break}case Sf.ROUND:{b={...b,roundness:{type:3}};break}case Sf.DOUBLECIRCLE:{U.push(`doublecircle_${F.id}}`);let J={type:"ellipse",groupIds:U,x:F.x+5,y:F.y+5,width:F.width-10,height:F.height-10,strokeWidth:2,roundness:{type:3},label:{groupIds:U,text:z,fontSize:k,...M}};b={...b,groupIds:U,type:"ellipse"},E.push(J);break}case Sf.CIRCLE:{b.type="ellipse";break}case Sf.DIAMOND:{b.type="diamond";break}}E.push(b)}),u.edges.forEach((F)=>{let U=[],z=D(F.start),k=D(F.end);if(z&&z===k)U=C(z);let{startX:f,startY:M,reflectionPoints:b}=F,Z=b.map((H)=>$f3(H.x-b[0].x,H.y-b[0].y)),J=Msu(F.type||"arrow_point"),K=E.find((H)=>H.id===F.start),w=E.find((H)=>H.id===F.end);if(!K||!w)return;let G={id:`${F.start}_${F.end}`,type:"arrow",groupIds:U,x:f,y:M,strokeWidth:F.stroke==="thick"?4:2,strokeStyle:F.stroke==="dotted"?"dashed":void 0,points:Z,...F.text?{label:{text:is(F),fontSize:A,groupIds:U}}:{},roundness:{type:2},...J,start:{id:K.id||""},end:{id:w.id||""}};E.push(G)}),{elements:E}}})});var n5=(u=21)=>crypto.getRandomValues(new Uint8Array(u)).reduce((B,E)=>{if(E&=63,E<36)B+=E.toString(36);else if(E<62)B+=(E-26).toString(36).toUpperCase();else if(E>62)B+="-";else B+="_";return B},"");var SG=()=>{};var wsu;var Qsu=g(()=>{xG();SG();wsu=new nE({converter:(u)=>{let B=n5(),{width:E,height:A}=u,C={type:"image",x:0,y:0,width:E,height:A,status:"saved",fileId:B};return{files:{[B]:{id:B,mimeType:u.mimeType,dataURL:u.dataURL}},elements:[C]}}})});var TP=(u,B)=>[u,B],UQ0=(u)=>{return u.replace(/\\n/g,`
`)},Cz=(u)=>{let B={type:"line",x:u.startX,y:u.startY,points:[TP(0,0),TP(u.endX-u.startX,u.endY-u.startY)],width:u.endX-u.startX,height:u.endY-u.startY,strokeStyle:u.strokeStyle||"solid",strokeColor:u.strokeColor||"#000",strokeWidth:u.strokeWidth||1};if(u.groupId)Object.assign(B,{groupIds:[u.groupId]});if(u.id)Object.assign(B,{id:u.id});return B},Dz=(u)=>{let B={type:"text",x:u.x,y:u.y,width:u.width,height:u.height,text:UQ0(u.text)||"",fontSize:u.fontSize,verticalAlign:"top",strokeColor:u.color};if(u.groupId)Object.assign(B,{groupIds:[u.groupId]});if(u.id)Object.assign(B,{id:u.id});return B},Yf=(u)=>{let B={text:UQ0(u?.label?.text||""),fontSize:u?.label?.fontSize,textAlign:u.label?.textAlign,verticalAlign:u.label?.verticalAlign||"middle",strokeColor:u.label?.color||"#000",...u.groupId?{groupIds:[u.groupId]}:{}},E={};if(u.type==="rectangle"&&u.subtype==="activation")E={backgroundColor:"#e9ecef",fillStyle:"solid"};let A={id:u.id,type:u.type,x:u.x,y:u.y,width:u.width,height:u.height,label:B,strokeStyle:u?.strokeStyle,strokeWidth:u?.strokeWidth,strokeColor:u?.strokeColor,backgroundColor:u?.bgColor,fillStyle:"solid",...E};if(u.groupId)Object.assign(A,{groupIds:[u.groupId]});return A},Nv=(u)=>{let B={type:"arrow",x:u.startX,y:u.startY,points:u.points?.map(([E,A])=>TP(E,A))||[TP(0,0),TP(u.endX-u.startX,u.endY-u.startY)],width:u.endX-u.startX,height:u.endY-u.startY,strokeStyle:u?.strokeStyle||"solid",endArrowhead:u?.endArrowhead||null,startArrowhead:u?.startArrowhead||null,label:{text:UQ0(u?.label?.text||""),fontSize:16,textAlign:u?.label?.textAlign,verticalAlign:u?.label?.verticalAlign},roundness:{type:2},start:u.start,end:u.end};if(u.groupId)Object.assign(B,{groupIds:[u.groupId]});return B};var as=10,zQ0=16,pf3=24,nf3=4,df3=(u)=>{if(!u)return!0;let B=u.trim().toLowerCase();return B==="transparent"||B==="none"||B==="rgba(0,0,0,0)"||B==="rgba(0, 0, 0, 0)"},sf3=(u,B)=>{return Math.max(20,Math.round(u.length*B*0.6))},Gsu=(u,B,E=!0)=>{let A=u,C=A.groupIds??[];if(!C.includes(B))A.groupIds=[...C,B];if(!E||!A.label)return;let D=A.label.groupIds??[];if(!D.includes(B))A.label.groupIds=[...D,B]},Hsu;var qsu=g(()=>{SG();xG();Hsu=new nE({converter:(u)=>{let B=[],E=[];if(Object.values(u.nodes).forEach((A)=>{if(!A||!A.length)return;A.forEach((C)=>{let D;switch(C.type){case"line":D=Cz(C);break;case"rectangle":case"ellipse":D=Yf(C);break;case"text":D=Dz(C);break;default:throw`unknown type ${C.type}`}if(C.type==="rectangle"&&C?.subtype==="activation")E.push(D);else B.push(D)})}),Object.values(u.lines).forEach((A)=>{if(!A)return;B.push(Cz(A))}),Object.values(u.arrows).forEach((A)=>{if(!A)return;if(B.push(Nv(A)),A.sequenceNumber)B.push(Yf(A.sequenceNumber))}),B.push(...E),u.loops){let{lines:A,texts:C,nodes:D}=u.loops;A.forEach((F)=>{B.push(Cz(F))}),C.forEach((F)=>{B.push(Dz(F))}),D.forEach((F)=>{B.push(Yf(F))})}if(u.groups)u.groups.forEach((A)=>{let{actorKeys:C,name:D}=A,F=1/0,U=1/0,z=0,k=0;if(!C.length)return;let f=B.filter((G)=>{if(G.id){let H=G.id.indexOf("-"),l=G.id.substring(0,H);return C.includes(l)}return!1});if(!f.length)return;if(f.forEach((G)=>{if(G.x===void 0||G.y===void 0||G.width===void 0||G.height===void 0)return;F=Math.min(F,G.x),U=Math.min(U,G.y),z=Math.max(z,G.x+G.width),k=Math.max(k,G.y+G.height)}),!Number.isFinite(F)||!Number.isFinite(U)||!Number.isFinite(z)||!Number.isFinite(k))return;let M=F-as,b=U-as,Z=z-F+as*2,J=k-U+as*2,K=n5(),w=n5(),Q=Yf({type:"rectangle",x:M,y:b,width:Z,height:J,bgColor:df3(A.fill)?void 0:A.fill,strokeColor:"#1f1f1f",strokeWidth:1,id:K,groupId:w});if(B.unshift(Q),B.forEach((G)=>{if(G.id===K)return;if(G.x===void 0||G.y===void 0||G.width===void 0||G.height===void 0)return;if(G.x>=F&&G.x+G.width<=z&&G.y>=U&&G.y+G.height<=k)Gsu(G,w)}),D){let G=Dz({type:"text",id:n5(),text:D,x:M+nf3,y:b-pf3,width:sf3(D,zQ0),height:zQ0+8,fontSize:zQ0,color:"#1f1f1f",groupId:w});Gsu(G,w,!1),B.push(G)}});return{elements:B}}})});var lsu;var Lsu=g(()=>{SG();xG();lsu=new nE({converter:(u)=>{let B=[];return u.nodes.forEach((E)=>{if(!E||!E.length)return;E.forEach((A)=>{let C;switch(A.type){case"line":C=Cz(A);break;case"rectangle":case"ellipse":C=Yf(A);break;case"text":C=Dz(A);break;default:throw`unknown type ${A.type}`}B.push(C)})}),Object.values(u.lines).forEach((E)=>{if(!E)return;B.push(Cz(E))}),Object.values(u.arrows).forEach((E)=>{if(!E)return;let A=Nv(E);B.push(A)}),Object.values(u.text).forEach((E)=>{let A=Dz(E);B.push(A)}),Object.values(u.namespaces).forEach((E)=>{let A=Object.keys(E.classes),C=[...A],D=[...u.lines,...u.arrows,...u.text];A.forEach((U)=>{let z=D.filter((k)=>k.metadata&&k.metadata.classId===U).map((k)=>k.id);if(z.length)C.push(...z)});let F={type:"frame",id:n5(),name:E.id,children:C};B.push(F)}),{elements:B}}})});var Xsu;var vsu=g(()=>{xG();Xsu=new nE({converter:(u)=>{let B=[];return u.nodes.forEach((E)=>{if(!E||!E.length)return;E.forEach((A)=>{let C;switch(A.type){case"line":C=Cz(A);break;case"rectangle":case"ellipse":C=Yf(A);break;case"text":C=Dz(A);break;default:throw`unknown type ${A.type}`}B.push(C)})}),u.lines.forEach((E)=>{B.push(Cz(E))}),u.arrows.forEach((E)=>{B.push(Nv(E))}),u.text.forEach((E)=>{B.push(Dz(E))}),{elements:B}}})});var ms=(u,B)=>[u,B],OP=16,xsu=14,of3=1,kQ0="#000000",Wsu=5,tf3,ef3,uM3=1.25,Ssu,fQ0=(u)=>u.shape==="stateEnd"?[`state_end_group_${u.id}`]:void 0,Ysu=(u)=>{if(u.shape==="rectWithTitle"&&u.description.length)return[u.text,...u.description].join(`
`);return u.text},YG,BM3=()=>{if(YG!==void 0)return YG;if(typeof document>"u")return YG=null,YG;try{YG=document.createElement("canvas").getContext("2d")}catch{YG=null}return YG},Vv=(u,B)=>{let E=BM3();if(!E)return u.length*B*0.6;return E.font=`${B}px Excalifont, sans-serif`,E.measureText(u).width},EM3=(u,B,E)=>{if(Vv(u,B)<=E)return[u];let A=[],C="";for(let D of u){let F=`${C}${D}`;if(C&&Vv(F,B)>E){A.push(C),C=D;continue}C=F}if(C)A.push(C);return A},AM3=(u,B,E)=>{if(!u.trim())return u;if(Vv(u,B)<=E)return u;let A=u.split(/\s+/).filter(Boolean),C=[],D="";for(let F of A){let U=EM3(F,B,E);for(let[z,k]of U.entries()){let M=D?`${D}${D?z===0?" ":"":""}${k}`:k;if(Vv(M,B)<=E){D=M;continue}if(D)C.push(D);D=k}if(U.length>1)continue}return C.push(D),C.join(`
`)},CM3=(u,B,E)=>{let C=u.map((U)=>AM3(U,B,E)).join(`
`).split(`
`),D=Math.max(...C.map((U)=>Vv(U,B))),F=C.length*B*uM3;return{width:D,height:F}},DM3=(u,B,E,A)=>{let C=u.split(`
`);for(let D=OP;D>=xsu;D-=of3){let{height:F}=CM3(C,D,B);if(F<=E)return D}return A},FM3=(u)=>{let B=Ysu(u);if(!B||Ssu.has(u.shape))return OP;let E=Math.max(1,u.width-tf3),A=Math.max(1,u.height-ef3),C=B.split(`
`);if(C.length>1){if(Math.max(...C.map((F)=>Vv(F,OP)))<=E)return OP}return DM3(B,E,A,C.length===1?OP:xsu)},UM3=(u)=>{if(Ssu.has(u.shape))return;let B=Ysu(u);if(!B)return;return{text:B,fontSize:FM3(u),verticalAlign:u.shape==="rectWithTitle"||u.shape==="roundedWithTitle"?"top":"middle",...RP(u.labelStyle)}},zM3=(u)=>{let B=WG(u.containerStyle),E=UM3(u),A=u.shape==="choice"?"diamond":u.shape==="stateStart"||u.shape==="stateEnd"?"ellipse":"rectangle",C=u.shape==="rect"||u.shape==="rectWithTitle"||u.shape==="roundedWithTitle",D=u.shape==="stateStart"||u.shape==="fork"||u.shape==="join",F=B.backgroundColor||B.strokeColor||kQ0,U=B.strokeColor||B.backgroundColor||kQ0;return{id:u.id,type:A,...fQ0(u)?{groupIds:fQ0(u)}:{},x:u.x,y:u.y,width:u.width,height:u.height,...E?{label:E}:{},...B,...C?{roundness:{type:3}}:{},...D?{backgroundColor:F,strokeColor:U,fillStyle:"solid"}:{}}},kM3=(u)=>{if(!u.dividerLine)return null;let B=WG(u.containerStyle);return{id:`${u.id}__divider`,type:"line",x:u.dividerLine.startX,y:u.dividerLine.startY,width:u.dividerLine.endX-u.dividerLine.startX,height:u.dividerLine.endY-u.dividerLine.startY,points:[ms(0,0),ms(u.dividerLine.endX-u.dividerLine.startX,u.dividerLine.endY-u.dividerLine.startY)],strokeColor:B.strokeColor||"#000",strokeWidth:B.strokeWidth||1}},fM3=(u)=>{let B=WG(u.containerStyle),E=Math.max(2,Math.min(u.width,u.height)*0.32),A=u.endInnerColor||B.strokeColor||B.backgroundColor||kQ0;return{id:`${u.id}__inner`,type:"ellipse",groupIds:fQ0(u),x:u.x+E,y:u.y+E,width:Math.max(1,u.width-E*2),height:Math.max(1,u.height-E*2),backgroundColor:A,strokeColor:A,fillStyle:"solid",strokeWidth:1}},MM3=(u)=>{let B=u.reflectionPoints.map((E,A,C)=>{let D=C[0];if(A===0)return ms(0,0);return ms(E.x-D.x,E.y-D.y)});return{id:u.id,type:"arrow",x:u.startX,y:u.startY,width:u.endX-u.startX,height:u.endY-u.startY,points:B,strokeColor:u.strokeColor||"#000",strokeWidth:u.strokeWidth||2,strokeStyle:u.strokeStyle||"solid",endArrowhead:u.isNoteEdge?null:"triangle",roundness:{type:2},start:{id:u.start},end:{id:u.end},...u.text?{label:{text:u.text,fontSize:16}}:{}}},Rsu;var Tsu=g(()=>{xG();FQ0();tf3=Wsu*2,ef3=Wsu*2,Ssu=new Set(["choice","fork","join","stateStart","stateEnd","divider"]),Rsu=new nE({converter:(u)=>{let B=[];return u.nodes.forEach((E)=>{if(!E.isRenderable)return;let A=zM3(E);B.push(A);let C=kM3(E);if(C)B.push(C);if(E.shape==="stateEnd")B.push(fM3(E))}),u.edges.forEach((E)=>{B.push(MM3(E))}),{elements:B}}})});var w5=(u)=>{u=bM3(u);let B=u.replace(/#(\d+);/g,"&#$1;").replace(/#([a-z]+);/g,"&$1;"),E=document.createElement("textarea");return E.innerHTML=B,E.value},nD=(u)=>{let E=u.getAttribute("transform")?.match(/translate\(([ \d.-]+),\s*([\d.-]+)\)/),A=0,C=0;if(E)A=Number(E[1]),C=Number(E[2]);return{transformX:A,transformY:C}},Osu=(u)=>{let B=u;return B=B.replace(/style.*:\S*#.*;/g,(E)=>{return E.substring(0,E.length-1)}),B=B.replace(/classDef.*:\S*#.*;/g,(E)=>{return E.substring(0,E.length-1)}),B=B.replace(/#\w+;/g,(E)=>{let A=E.substring(1,E.length-1);if(/^\+?\d+$/.test(A))return`fl°°${A}¶ß`;return`fl°${A}¶ß`}),B},bM3=function(u){return u.replace(/fl°°/g,"#").replace(/fl°/g,"&").replace(/¶ß/g,";")},IP=(u,B=0.5)=>{let E=[];return u.forEach((A)=>{let C=E[E.length-1];if(!C){E.push(A);return}if(Math.hypot(A[0]-C[0],A[1]-C[1])<=B)return;E.push(A)}),E},PP=(u)=>{let B=u.getAttribute("d");if(!B)return null;let E=Array.from(B.matchAll(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi),(A)=>Number(A[0]));if(E.length<4)return null;return{startX:E[0],startY:E[1],endX:E[E.length-2],endY:E[E.length-1]}},$s=(u)=>{let B=u.getAttribute("data-points");if(!B){let E=PP(u);return E?[{x:E.startX,y:E.startY},{x:E.endX,y:E.endY}]:[]}try{let E=atob(B),A=JSON.parse(E);return Array.isArray(A)?A.filter((C)=>C&&typeof C.x==="number"&&typeof C.y==="number"&&Number.isFinite(C.x)&&Number.isFinite(C.y)):[]}catch{return[]}},ys=(u,B={x:0,y:0},E="LM")=>{if(u.tagName.toLowerCase()!=="path")throw Error(`Invalid input: Expected an HTMLElement of tag "path", got ${u.tagName}`);let A=u.getAttribute("d");if(!A)throw Error('Path element does not contain a "d" attribute');let C=A.split(new RegExp(`(?=[${E}])`)),D=C[0].substring(1).split(",").map((z)=>parseFloat(z)),F=C[C.length-1].substring(1).split(",").map((z)=>parseFloat(z)),U=C.map((z)=>{let k=z[0],f=z.substring(1).split(",").map((M)=>parseFloat(M));if(k==="C")return{x:f[4],y:f[5],command:k};return{x:f[0],y:f[1],command:k}}).filter((z,k,f)=>{if(k===0||k===f.length-1)return!0;if(z.x===f[k-1].x&&z.y===f[k-1].y)return!1;if(k===f.length-2&&z.command==="C")return!1;if(k===f.length-2&&(f[k-1].x===z.x||f[k-1].y===z.y)){let M=f[f.length-1];return Math.hypot(M.x-z.x,M.y-z.y)>20}return z.x!==f[k-1].x||z.y!==f[k-1].y}).map((z)=>{return{x:z.x+B.x,y:z.y+B.y}});return{startX:D[0]+B.x,startY:D[1]+B.y,endX:F[0]+B.x,endY:F[1]+B.y,reflectionPoints:U}};var ZM3=(u)=>{return{...u,elements:u.elements.map((B)=>{if(!("points"in B)||!Array.isArray(B.points))return B;let E=B.points;if(E.length<2)return B;let A=IP(E);if(A.length===E.length)return B;return{...B,points:A}})}},Isu=(u,B={})=>{let E=(()=>{switch(u.type){case"graphImage":return wsu.convert(u,B);case"flowchart":return Jsu.convert(u,B);case"sequence":return Hsu.convert(u,B);case"class":return lsu.convert(u,B);case"erd":return Xsu.convert(u,B);case"state":return Rsu.convert(u,B);default:throw Error(`graphToExcalidraw: unknown graph type "${u.type}, only flowcharts are supported!"`)}})();return ZM3(E)};var Psu=g(()=>{Ksu();Qsu();qsu();Lsu();vsu();Tsu()});var $3=(u)=>{return u.replace(/\s*!important\s*$/i,"").trim()},JM3=(u,B)=>{let E=B;while(E<u.length&&/\s/.test(u[E]))E+=1;let A=E;while(E<u.length&&/[a-z-]/i.test(u[E]))E+=1;if(E===A)return!1;while(E<u.length&&/\s/.test(u[E]))E+=1;return u[E]===":"},DB=(u)=>{let B=[],E=0;while(E<u.length){while(E<u.length&&/[\s;,]/.test(u[E]))E+=1;if(E>=u.length)break;let A=E;while(E<u.length&&u[E]!==":"){if(u[E]===";"||u[E]===",")break;E+=1}if(E>=u.length||u[E]!==":")break;let C=u.substring(A,E).trim().toLowerCase();E+=1;let D=E,F=0,U=null;while(E<u.length){let k=u[E];if(U){if(k===U&&u[E-1]!=="\\")U=null;E+=1;continue}if(k==='"'||k==="'"){U=k,E+=1;continue}if(k==="("){F+=1,E+=1;continue}if(k===")"){F=Math.max(0,F-1),E+=1;continue}if(F===0){if(k===";"||k===",")break;if(/\s/.test(k)&&JM3(u,E))break}E+=1}let z=$3(u.substring(D,E));if(C&&z)B.push({property:C,value:z});if(E<u.length&&(u[E]===";"||u[E]===","))E+=1}return B},FB=(u)=>{let B=$3(u);if(!B)return!1;if(typeof CSS<"u"&&typeof CSS.supports==="function")return CSS.supports("color",B);if(typeof document<"u"){let E=document.createElement("div");return E.style.color="",E.style.color=B,E.style.color!==""}return!1},jsu=(u,B)=>{let E=u.getAttribute("style");if(!E)return"";return DB(E).find((A)=>A.property===B)?.value||""},MQ0=(...u)=>{for(let B of u){let E=$3(B||"");if(FB(E))return E}return},hv=(u,B)=>{let E=u.querySelector("text, foreignObject, div, span, p")||u,A=MQ0(E.getAttribute?.("fill"),jsu(E,"fill"),E.style?.fill);if(A)return A;let C=MQ0(E.getAttribute?.("color"),jsu(E,"color"),E.style?.color);if(C)return C;let D=MQ0(B);if(D)return D;return};var ZQ0=(u,B,E)=>{switch(B){case w1.FILL:case w1.STROKE:if(FB(E))u[B]=E;break;case w1.STROKE_WIDTH:case w1.STROKE_DASHARRAY:u[B]=E;break}},rs=(u,B,E)=>{if(B===p5.COLOR&&FB(E))u[p5.COLOR]=E},gs=(u,B,E)=>{if(!u)return;DB(u).forEach(({property:A,value:C})=>{ZQ0(B,A,C),rs(E,A,C)})},Vsu=(u,B)=>{if(!u)return;DB(u).forEach(({property:E,value:A})=>{if(E==="fill"&&FB(A)){B[p5.COLOR]=A;return}rs(B,E,A)})},hsu=(u,B)=>{if(!u)return;[[w1.FILL,u.getAttribute("fill")],[w1.STROKE,u.getAttribute("stroke")],[w1.STROKE_WIDTH,u.getAttribute("stroke-width")],[w1.STROKE_DASHARRAY,u.getAttribute("stroke-dasharray")]].forEach(([A,C])=>{let D=$3(C||"");if(D)ZQ0(B,A,D)})},isu=(u,B)=>{if(!u)return;let E=u.getAttribute("fill")||u.getAttribute("color"),A=$3(E||"");if(FB(A))B[p5.COLOR]=A},bQ0=(u,B,E,A)=>{if(!(B instanceof Map))return;let C=B.get(u);if(!C)return;C.styles?.forEach((D)=>{DB(D).forEach(({property:F,value:U})=>{ZQ0(E,F,U),rs(A,F,U)})}),C.textStyles?.forEach((D)=>{DB(D).forEach(({property:F,value:U})=>{rs(A,F,U)})})},KM3=(u,B,E)=>{let A=u.nodes.map((b)=>{if(b.startsWith("flowchart-"))return b.split("-")[1];return b}),C=B.querySelector(`[id='${u.id}']`);if(!C)throw Error("SubGraph element not found");let D=JQ0(C,B),F=C.getBBox(),U={width:F.width,height:F.height},z={},k={},f=C.querySelector(":scope > rect, :scope > path, :scope > polygon, :scope > ellipse")||C.querySelector(".cluster > rect, .cluster > path, .cluster > polygon, .cluster > ellipse")||C.querySelector("rect, path, polygon, ellipse");gs(C.getAttribute("style"),z,k),gs(f?.getAttribute("style"),z,k),hsu(f,z);let M=C.querySelector(".cluster-label text, .cluster-label tspan")||C.querySelector("text");return Vsu(M?.getAttribute("style"),k),isu(M,k),bQ0(u.id,E,z,k),u.classes?.forEach((b)=>{bQ0(b,E,z,k)}),{id:u.id,nodeIds:A,text:w5(u.title),labelType:"text",...D,...U,containerStyle:z,labelStyle:k}},Nsu=(u,B,E)=>{let A=B.querySelector(`[id*="${u.domId}"]`);if(!A)return;let C;if(A.parentElement?.tagName.toLowerCase()==="a")C=A.parentElement.getAttribute("xlink:href");let D=JQ0(C?A.parentElement:A,B),F=A.getBBox(),U={width:F.width,height:F.height},z={},k={};if(u.classes&&E instanceof Map)(Array.isArray(u.classes)?u.classes:[u.classes]).forEach((b)=>{bQ0(b,E,z,k)});u.styles?.forEach((b)=>{gs(b,z,k)});let f=A.querySelector(".label-container");return gs(f?.getAttribute("style"),z,k),hsu(f,z),Array.from(A.querySelectorAll(".label, .nodeLabel, .label text, .label tspan, .label span, .label div")).forEach((b)=>{Vsu(b.getAttribute("style"),k),isu(b,k)}),{id:u.id,labelType:u.labelType,text:w5(u.text||""),type:u.type,link:C||void 0,...D,...U,containerStyle:z,labelStyle:k}},wM3=(u,B,E)=>{let A=E.querySelector(`[id*="${u.id}"]`);if(!A)throw Error("Edge element not found");let C=JQ0(A,E),D=ys(A,C);return u.length=void 0,{...u,...D,text:w5(u.text)}},JQ0=(u,B)=>{if(!u)throw Error("Element not found");let E=u.parentElement?.parentElement,A=u.childNodes[0],C={x:0,y:0};if(A){let{transformX:z,transformY:k}=nD(A),f=A.getBBox();C={x:Number(A.getAttribute("x"))||z+f.x||0,y:Number(A.getAttribute("y"))||k+f.y||0}}let{transformX:D,transformY:F}=nD(u),U={x:D+C.x,y:F+C.y};while(E&&E.id!==B.id){if(E.classList.value==="root"&&E.hasAttribute("transform")){let{transformX:z,transformY:k}=nD(E);U.x+=z,U.y+=k}E=E.parentElement}return U},asu=(u,B)=>{let E=u.getVertices(),A=u.getEdges(),C=u.getSubGraphs(),D=u.getClasses(),F={},U=D instanceof Map?D:{};if(E instanceof Map)E.forEach((M,b)=>{F[b]=Nsu(M,B,U)});else if(typeof E==="object"&&E!==null)Object.entries(E).forEach(([M,b])=>{F[M]=Nsu(b,B,U)});let z=new Map,k=(Array.isArray(A)?A:[]).map((M)=>{if(!B.querySelector(`[id*="${M.id}"]`))return null;let b=`${M.start}-${M.end}`,Z=z.get(b)||0;return z.set(b,Z+1),wM3(M,Z,B)}).filter((M)=>M!==null&&M.reflectionPoints.length>1);return{type:"flowchart",subGraphs:(Array.isArray(C)?C:[]).map((M)=>{return KM3(M,B,U)}),vertices:F,edges:k}};var msu=g(()=>{YP()});var $su=(u,B)=>{let E={};if(B?.label)E.label={text:w5(B.label),fontSize:16};let A=u.tagName;if(A==="line")E.startX=Number(u.getAttribute("x1")),E.startY=Number(u.getAttribute("y1")),E.endX=Number(u.getAttribute("x2")),E.endY=Number(u.getAttribute("y2"));else if(A==="path"){let F=u.getAttribute("d");if(!F)throw Error('Path element does not contain a "d" attribute');let U=F.split(/(?=[LC])/),z=U[0].substring(1).split(",").map((M)=>parseFloat(M)),k=[];U.forEach((M)=>{let b=M.substring(1).trim().split(" ").map((Z)=>{let[J,K]=Z.split(",");return[parseFloat(J)-z[0],parseFloat(K)-z[1]]});k.push(...b)});let f=k[k.length-1];E.startX=z[0],E.startY=z[1],E.endX=f[0],E.endY=f[1],E.points=k}if(B?.label)E.startY=E.startY-10,E.endY=E.endY-10;let C=u.getAttribute("stroke"),D=(C&&C!=="none"?C:"")||getComputedStyle(u).stroke||"";return E.strokeColor=D?$3(D):null,E.strokeWidth=Number(u.getAttribute("stroke-width")),E.type="arrow",E.strokeStyle=B?.strokeStyle||"solid",E.startArrowhead=B?.startArrowhead||null,E.endArrowhead=B?.endArrowhead||null,E},jP=(u,B,E,A,C)=>{let D={};return D.type="arrow",D.startX=u,D.startY=B,D.endX=E,D.endY=A,Object.assign(D,{...C}),D},iv=(u,B,E,A)=>{return{type:"text",x:u,y:B,text:E,width:A?.width||20,height:A?.height||20,fontSize:A?.fontSize||ZJ,id:A?.id,color:A?.color,groupId:A?.groupId,metadata:A?.metadata}},KQ0=(u,B,E)=>{let A={},C=Number(u.getAttribute("x")),D=Number(u.getAttribute("y"));if(A.type="text",A.text=w5(B),E?.id)A.id=E.id;if(E?.groupId)A.groupId=E.groupId;let F=u.getBBox();A.width=F.width,A.height=F.height,A.x=C-F.width/2,A.y=D;let U=parseInt(getComputedStyle(u).fontSize);return A.fontSize=U,A.color=hv(u),A},dD=(u,B,E={})=>{let A={};A.type=B;let{label:C,subtype:D,id:F,groupId:U}=E;if(A.id=F,U)A.groupId=U;if(C)A.label={text:w5(C.text),fontSize:16,textAlign:C?.textAlign,verticalAlign:C?.verticalAlign};let z=u.getBBox();switch(A.x=z.x,A.y=z.y,A.width=z.width,A.height=z.height,A.subtype=D,D){case"highlight":let k=u.getAttribute("fill");if(k)A.bgColor=$3(k);break;case"note":A.strokeStyle="dashed";break}return A},RG=(u,B,E,A,C,D)=>{let F={};if(F.startX=B,F.startY=E,F.endX=A,D?.groupId)F.groupId=D.groupId;if(D?.id)F.id=D.id;F.endY=C;let U=u.getAttribute("stroke");return F.strokeColor=U?$3(U):null,F.strokeWidth=Number(u.getAttribute("stroke-width")),F.type="line",F};var cs=g(()=>{vG()});var ysu,Fz,QM3=(u)=>{let B;switch(u){case Fz.SOLID:case Fz.SOLID_CROSS:case Fz.SOLID_OPEN:case Fz.SOLID_POINT:B="solid";break;case Fz.DOTTED:case Fz.DOTTED_CROSS:case Fz.DOTTED_OPEN:case Fz.DOTTED_POINT:B="dotted";break;default:B="solid";break}return B},GM3=(u,B)=>{if(!!u.nextElementSibling?.classList.contains("sequenceNumber")){let A=u.nextElementSibling?.textContent;if(!A)throw Error("sequence number not present");let C=30,D=C/2,F=10,U={type:"rectangle",x:B.startX-F,y:B.startY-D,label:{text:A,fontSize:14},bgColor:"#e9ecef",height:C,subtype:"sequence"};Object.assign(B,{sequenceNumber:U})}},rsu=(u,B,E)=>{if(!u)throw"root node not found";let A=n5(),C=Array.from(u.children),D=[];return C.forEach((F,U)=>{let z=`${E?.id}-${U}`,k;switch(F.tagName){case"line":let f=Number(F.getAttribute("x1")),M=Number(F.getAttribute("y1")),b=Number(F.getAttribute("x2")),Z=Number(F.getAttribute("y2"));k=RG(F,f,M,b,Z,{groupId:A,id:z});break;case"text":k=KQ0(F,B,{groupId:A,id:z});break;case"circle":k=dD(F,"ellipse",{label:F.textContent?{text:F.textContent}:void 0,groupId:A,id:z});default:k=dD(F,ksu[F.tagName],{label:F.textContent?{text:F.textContent}:void 0,groupId:A,id:z})}D.push(k)}),D},gsu=(u,B)=>{let E=B.getAttribute("fill"),A=B.getAttribute("stroke"),C=B.getAttribute("stroke-width"),D=B.getAttribute("stroke-dasharray");if(E&&E!=="none")u.bgColor=$3(E);if(A&&A!=="none")u.strokeColor=$3(A);if(C)u.strokeWidth=Number(C);if(D&&D.trim())u.strokeStyle="dashed"},HM3=(u,B)=>{let E=Array.from(B.querySelectorAll(".actor-top")),A=Array.from(B.querySelectorAll(".actor-bottom")),C=[],D=[],F={},U=u instanceof Map?Array.from(u.values()):Object.values(u),z=Array.from(B.querySelectorAll(".actor-line")),k=(f,M)=>{let b=f.name,Z=z.find((K)=>K.getAttribute("name")===b);if(Z)return Z;let J=f.type==="participant"?M.parentElement?.previousElementSibling:M.previousElementSibling;if(!J)return null;if(J.tagName==="line")return J;return J.querySelector("line")};return U.forEach((f)=>{let M=E.find((J)=>J.getAttribute("name")===f.name),b=A.find((J)=>J.getAttribute("name")===f.name);if(!M||!b)throw"root not found";let Z=f.description;if(f.type==="participant"){let J=dD(M,"rectangle",{id:`${f.name}-top`,label:{text:Z},subtype:"actor"});if(gsu(J,M),!J)throw"Top Node element not found!";C.push([J]);let K=dD(b,"rectangle",{id:`${f.name}-bottom`,label:{text:Z},subtype:"actor"});F[f.name]={topId:`${f.name}-top`,bottomId:`${f.name}-bottom`,bindType:"rectangle"},gsu(K,b),C.push([K]);let w=k(f,M);if(w?.tagName!=="line")throw"Line not found";let Q=Number(w.getAttribute("x1"));if(!J.height)throw"Top node element height is null";let G=J.y+J.height,H=K.y,l=Number(w.getAttribute("x2")),q=RG(w,Q,G,l,H);D.push(q)}else if(f.type==="actor"){let J=rsu(M,Z,{id:`${f.name}-top`});C.push(J);let K=rsu(b,Z,{id:`${f.name}-bottom`});C.push(K);let w=k(f,M);if(w?.tagName!=="line")throw"Line not found";let Q=Number(w.getAttribute("x1")),G=Number(w.getAttribute("y1")),H=Number(w.getAttribute("x2")),l=K.find((v)=>v.type==="ellipse");if(l){let v=l.y,x=RG(w,Q,G,H,v);D.push(x)}let q=J.find((v)=>v.type==="ellipse"),L=K.find((v)=>v.type==="ellipse");if(q?.id&&L?.id)F[f.name]={topId:q.id,bottomId:L.id,bindType:"ellipse"}}}),{nodes:C,lines:D,actorMap:F}},qM3=(u,B,E)=>{let A=[],C=Array.from(B.querySelectorAll('[class*="messageLine"]')),D=Object.keys(ysu),F=u.filter((U)=>D.includes(U.type.toString()));return C.forEach((U,z)=>{let k=F[z],f=ysu[k.type],M=$su(U,{label:k?.message,strokeStyle:QM3(k.type),endArrowhead:f==="SOLID_OPEN"||f==="DOTTED_OPEN"?null:"arrow"}),b=E[k.from],Z=E[k.to];if(b?.topId&&Z?.topId)M.start={type:b.bindType||"rectangle",id:b.topId},M.end={type:Z.bindType||"rectangle",id:Z.topId};GM3(U,M),A.push(M)}),A},lM3=(u,B)=>{let E=Array.from(B.querySelectorAll(".note")).map((D)=>D.parentElement),A=u.filter((D)=>D.type===Fz.NOTE),C=[];return E.forEach((D,F)=>{if(!D)return;let U=D.firstChild,z=A[F].message,k=dD(U,"rectangle",{label:{text:z},subtype:"note"}),f=U.getAttribute("fill"),M=U.getAttribute("stroke"),b=U.getAttribute("stroke-width"),Z=U.getAttribute("stroke-dasharray");if(f&&f!=="none")k.bgColor=$3(f);if(M&&M!=="none")k.strokeColor=$3(M);if(b)k.strokeWidth=Number(b);if(Z&&Z.trim())k.strokeStyle="dashed";C.push(k)}),C},LM3=(u)=>{let B=Array.from(u.querySelectorAll("[class*=activation]")),E=[];return B.forEach((A)=>{let C=dD(A,"rectangle",{label:{text:""},subtype:"activation"});(()=>{let F=A.getAttribute("fill"),U=A.getAttribute("stroke"),z=A.getAttribute("stroke-width"),k=A.getAttribute("stroke-dasharray");if(F&&F!=="none")C.bgColor=$3(F);if(U&&U!=="none")C.strokeColor=$3(U);if(z)C.strokeWidth=Number(z);if(k&&k.trim())C.strokeStyle="dashed"})(),E.push(C)}),E},XM3=(u,B)=>{let E=Array.from(B.querySelectorAll(".loopLine")),A=[],C=[],D=[];E.forEach((f)=>{let M=Number(f.getAttribute("x1")),b=Number(f.getAttribute("y1")),Z=Number(f.getAttribute("x2")),J=Number(f.getAttribute("y2")),K=RG(f,M,b,Z,J);K.strokeStyle="dotted",K.strokeColor="#adb5bd",K.strokeWidth=2,A.push(K)});let F=Array.from(B.querySelectorAll(".loopText")),U=u.filter((f)=>f.type===Fz.CRITICAL_START).map((f)=>f.message);F.forEach((f)=>{let M=f.textContent||"",b=KQ0(f,M),Z=M.match(/\[(.*?)\]/)?.[1]||"";if(U.includes(Z))b.x+=16;C.push(b)});let z=Array.from(B?.querySelectorAll(".labelBox")),k=Array.from(B?.querySelectorAll(".labelText"));return z.forEach((f,M)=>{let b=k[M]?.textContent||"",Z=dD(f,"rectangle",{label:{text:b}});Z.strokeColor="#adb5bd",Z.bgColor="#e9ecef",Z.width=void 0,D.push(Z)}),{lines:A,texts:C,nodes:D}},vM3=(u)=>{let B=Array.from(u.querySelectorAll(".rect")).filter((A)=>A.parentElement?.tagName!=="g"),E=[];return B.forEach((A)=>{let C=dD(A,"rectangle",{label:{text:""},subtype:"highlight"});E.push(C)}),E},csu=(u,B)=>{let E=u.db,A=[],D=E.getBoxes().map((w)=>({...w,fill:$3(w.fill||"")})),F=vM3(B),U=E.getActors(),{nodes:z,lines:k,actorMap:f}=HM3(U,B),M=E.getMessages(),b=qM3(M,B,f),Z=lM3(M,B),J=LM3(B),K=XM3(M,B);return A.push(F),A.push(...z),A.push(Z),A.push(J),{type:"sequence",lines:k,arrows:b,nodes:A,loops:K,groups:D}};var _su=g(()=>{vG();SG();cs();ysu={0:"SOLID",1:"DOTTED",3:"SOLID_CROSS",4:"DOTTED_CROSS",5:"SOLID_OPEN",6:"DOTTED_OPEN",24:"SOLID_POINT",25:"DOTTED_POINT"},Fz={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32}});var xM3=(u)=>{let B={};if(!u)return B;return u.forEach((E)=>{DB(E).forEach(({property:A,value:C})=>{if(A&&C)B[A]=$3(C)})}),B},_s,psu,nsu=16,WM3=(u)=>{let B;switch(u){case psu.LINE:B="solid";break;case psu.DOTTED_LINE:B="dotted";break;default:B="solid"}return B},dsu=(u)=>{let B;switch(u){case _s.AGGREGATION:B="diamond_outline";break;case _s.COMPOSITION:B="diamond";break;case _s.EXTENSION:B="triangle_outline";break;case"none":B=null;break;case _s.DEPENDENCY:default:B="arrow";break}return B},wQ0=(u,B)=>{let E=0,A=0,C=u;while(C&&C!==B){let{transformX:D,transformY:F}=nD(C);E+=D,A+=F,C=C.parentElement}return{tx:E,ty:A}},ssu,esu=(u,B=0.5)=>{if(u.length<=2)return[...u];let E=[u[0]];for(let A=1;A<u.length-1;A++){let C=E[E.length-1],D=u[A],F=u[A+1],U=F.x-C.x,z=F.y-C.y,k=Math.hypot(U,z);if(!k)continue;let M=Math.abs(U*(D.y-C.y)-z*(D.x-C.x))/k,b=((D.x-C.x)*U+(D.y-C.y)*z)/(k*k);if(M<=B&&b>=-B&&b<=1+B)continue;E.push(D)}return E.push(u[u.length-1]),E},uou=(u)=>{let B=IP($s(u).map((A)=>[A.x,A.y])).map(([A,C])=>({x:A,y:C})),E=PP(u);if(E&&B.length>=2)B[0]={x:E.startX,y:E.startY},B[B.length-1]={x:E.endX,y:E.endY};return esu(B)},osu=(u,B,E)=>{let A=u.x-B.x,C=u.y-B.y,D=Math.hypot(A,C);if(!D)return u;return{x:u.x+A/D*E,y:u.y+C/D*E}},SM3=(u,B)=>{let E=IP(B.map((D)=>[D.x,D.y])).map(([D,F])=>({x:D,y:F}));if(E.length<2)throw Error("Arrow route must contain at least two points");let A=E[0],C=E[E.length-1];u.startX=A.x,u.startY=A.y,u.endX=C.x,u.endY=C.y,u.points=E.map((D)=>[D.x-A.x,D.y-A.y])},YM3=(u)=>{let B=u.points?.map(([D,F])=>({x:u.startX+D,y:u.startY+F})).filter((D)=>Number.isFinite(D.x)&&Number.isFinite(D.y));if(!B||B.length<2)return u;let E=[...B],A=!!u.startArrowhead&&ssu.has(u.startArrowhead),C=!!u.endArrowhead&&ssu.has(u.endArrowhead);if(!A&&!C)return u;if(A)E[0]=osu(E[0],E[1],nsu);if(C){let D=E.length-1;E[D]=osu(E[D],E[D-1],nsu)}return SM3(u,E),u},RM3=(u,B)=>{let E=$3(u.getAttribute("stroke")||getComputedStyle(u).stroke||""),A=parseFloat(u.getAttribute("stroke-width")||getComputedStyle(u).strokeWidth||"1");if(FB(E)&&E!=="none")B.strokeColor=E;if(Number.isFinite(A)&&A>0)B.strokeWidth=A},TM3=(u)=>{let B=[];return u.forEach((E)=>{uou(E).forEach((A)=>{let C=B[B.length-1];if(C&&C.x===A.x&&C.y===A.y)return;B.push(A)})}),esu(B)},Bou=(u,B,E)=>{if(u.length<2)throw Error(`Class diagram edge ${B?.id||"<unknown>"} is missing usable path points`);let A=u[0],C=u[u.length-1],D=jP(A.x,A.y,C.x,C.y,{id:B?.getAttribute("data-id")||B?.id||void 0,...E,points:u.map((F)=>[F.x-A.x,F.y-A.y])});if(B)RM3(B,D);return YM3(D)},Eou=(u,B)=>Bou(TM3(u),u[0],B),OM3=(u,B)=>{let E=uou(u);return Bou([E[0],E[E.length-1]],u,B)},IM3=(u,B)=>Eou([u],B),PM3=(u,B)=>{return[`${u}-cyclic-special-1`,`${u}-cyclic-special-mid`,`${u}-cyclic-special-2`].map((A)=>B.querySelector(`path[id="${A}"][data-edge="true"]`)).filter((A)=>A!==null)},jM3=(u)=>{return u.points?.map(([B,E])=>({x:u.startX+B,y:u.startY+E})).filter((B)=>Number.isFinite(B.x)&&Number.isFinite(B.y))||[]},tsu=(u,B)=>{let E=jM3(u);if(E.length<2)return null;let A=B==="start",C=A?E[0]:E[E.length-1],D=A?E[1]:E[E.length-2],F=D.x===C.x?A?-1:1:Math.sign(D.x-C.x),U=D.y===C.y?1:Math.sign(D.y-C.y);return{x:C.x+F*20,y:C.y+(U>=0?12:-28)}},NM3=(u,B)=>{let E=u;while(E&&E!==B){if(E.classList.contains("annotation-group"))return"header";if(E.classList.contains("label-group"))return"header";if(E.classList.contains("members-group"))return"members";if(E.classList.contains("methods-group"))return"methods";E=E.parentElement}return"other"},VM3=(u,B,E)=>{let A=[],C=[],D=[];return Object.values(u).forEach((F)=>{let{domId:U,id:z}=F,k=n5(),f=xM3(F.styles||F.cssStyles),M;try{M=E?E(z):void 0}catch{M=void 0}let b=(V)=>{let j=new RegExp(`^classId-${V}(?:-|$)`);return Array.from(B.querySelectorAll("[id]")).filter((a)=>j.test(a.id))[0]},Z=M&&B.querySelector(`#${M}`)||B.querySelector(`#${U}`)||B.querySelector(`[data-id='${z}']`)||b(z);if(!Z)throw Error(`DOM Node with id ${U} not found`);let J=Z.querySelector("rect")||Z,K=J.getBBox(),{tx:w,ty:Q}=wQ0(J,B),G={type:"rectangle",id:z,groupId:k,x:K.x+w,y:K.y+Q,width:K.width,height:K.height,metadata:{classId:z}},H=J.getAttribute("fill"),l=J.getAttribute("stroke"),q=J.getAttribute("stroke-width"),L=J.getAttribute("stroke-dasharray"),v=getComputedStyle(J),x=$3(H||f.fill||(H?v.fill:"")),S=$3(l||f.stroke||(l?v.stroke:"")),W=q||f["stroke-width"]||(q?v.strokeWidth:""),T=L||f["stroke-dasharray"]||(L?v.strokeDasharray==="none"?"":v.strokeDasharray:""),R=(V)=>{if(!V)return!1;if(!FB(V))return!1;let j=V.toLowerCase();return!(j==="none"||j==="transparent"||j==="rgba(0, 0, 0, 0)"||j==="black"||j==="#000"||j==="#000000"||j==="rgb(0, 0, 0)"||j==="rgba(0, 0, 0, 1)")};if(R(x))G.bgColor=x;else G.bgColor=void 0;if(R(S))G.strokeColor=S;else G.strokeColor=void 0;if(W)G.strokeWidth=Number(W);else G.strokeWidth=void 0;if(T&&T.trim().length>0)G.strokeStyle="dashed";else G.strokeStyle=void 0;A.push(G),[...Array.from(Z.querySelectorAll("line")),...Array.from(Z.querySelectorAll("g.divider path"))].forEach((V)=>{let{tx:j,ty:i}=wQ0(V,B),a,$,m,y;if(V.tagName.toLowerCase()==="line")a=Number(V.getAttribute("x1"))+j,$=Number(V.getAttribute("y1"))+i,m=Number(V.getAttribute("x2"))+j,y=Number(V.getAttribute("y2"))+i;else{let _=V.getBBox();a=_.x+j,m=_.x+_.width+j;let e=_.y+_.height/2+i;$=e,y=e}if(a===m&&$===y)return;let r=RG(V,a,$,m,y,{groupId:k,id:n5()});if(G.strokeColor)r.strokeColor=G.strokeColor;else r.strokeColor=void 0;if(G.strokeWidth!==void 0)r.strokeWidth=G.strokeWidth;else r.strokeWidth=void 0;if(G.strokeStyle)r.strokeStyle=G.strokeStyle;else r.strokeStyle=void 0;r.metadata={classId:z},C.push(r)});let h=Array.from(Z.querySelectorAll("text, foreignObject")),I=[];h.forEach((V)=>{let j=V.tagName.toLowerCase()==="foreignobject",i=!j?Array.from(V.querySelectorAll("tspan")):[],a=i.length?i.map((_)=>_.textContent?.trim()).filter(Boolean).join(`
`):V.textContent?.trim()||"";if(!a)return;let $=V.getBBox(),{ty:m}=wQ0(V,B),y=parseFloat(getComputedStyle(V).fontSize||"");if(j&&(!Number.isFinite(y)||!y)){let _=V.querySelector("div, span, p");if(_)y=parseFloat(getComputedStyle(_).fontSize||"")}if(!Number.isFinite(y)||y<=0)y=Math.max(12,$.height*0.6);y=y*0.9;let r=hv(V,f.color);I.push({section:NM3(V,Z),text:w5(a),x:$.x,y:$.y+m,width:G&&G.width?Math.max(G.width-8,$.width):$.width,height:$.height,fontSize:y,color:r})});let O=I.filter((V)=>V.section==="header").sort((V,j)=>V.y-j.y||V.x-j.x);if(!G.label){let V=O.length===0&&I.length===1?I:O;if(V.length>0)G.label={text:V.map((j)=>j.text).join(`
`),fontSize:Math.max(...V.map((j)=>j.fontSize)),color:V.find((j)=>j.color)?.color,verticalAlign:"top"}}I.filter((V)=>{if(O.length>0)return V.section!=="header";return!(G.label&&I.length===1)}).forEach((V)=>{let j=iv((G?.x||0)+4,V.y,V.text,{width:V.width,height:V.height,fontSize:V.fontSize,color:V.color,id:n5(),groupId:k,metadata:{classId:z}});D.push(j)})}),{nodes:A,lines:C,text:D}},hM3=(u,B,E,A)=>{let C=Array.from(E.querySelectorAll('.edgePaths path[data-edge="true"]:not([id^="edgeNote"]):not([id*="-cyclic-special-"])'));if(u.length===0)return{arrows:[],text:[]};let D=[],F=[],U=0;return u.forEach((z)=>{let{id1:k,id2:f,relation:M}=z,b=B.find((W)=>W.id===k),Z=B.find((W)=>W.id===f);if(!b)throw Error(`parseRelations: Cannot find node with id ${k}`);if(!Z)throw Error(`parseRelations: Cannot find node with id ${f}`);let J=WM3(M.lineType),K=dsu(M.type1),w=dsu(M.type2),Q;if(k===f){let W=PM3(k,E);if(!W.length)throw Error(`parseRelations: Cannot find rendered SVG edge for relation ${k} -> ${f}`);Q=Eou(W,{strokeStyle:J,startArrowhead:K,endArrowhead:w,label:z.title?{text:z.title}:void 0,start:{type:"rectangle",id:b.id},end:{type:"rectangle",id:Z.id}})}else{let W=C[U];if(!W)throw Error(`parseRelations: Cannot find rendered SVG edge for relation ${k} -> ${f}`);U+=1,Q=OM3(W,{strokeStyle:J,startArrowhead:K,endArrowhead:w,label:z.title?{text:z.title}:void 0,start:{type:"rectangle",id:b.id},end:{type:"rectangle",id:Z.id}})}D.push(Q);let{relationTitle1:G,relationTitle2:H}=z,l=k===f,q=20,L=15,v=15,x,S;if(G&&G!=="none"){if(l){let T=tsu(Q,"start");if(T)x=T.x,S=T.y}else switch(A){case"TB":if(x=Q.startX-q,Q.endX<Q.startX)x-=v;S=Q.startY+L;break;case"BT":if(x=Q.startX+q,Q.endX>Q.startX)x+=v;S=Q.startY-L;break;case"LR":if(x=Q.startX+q,S=Q.startY+L,Q.endY>Q.startY)S+=v;break;case"RL":if(x=Q.startX-q,S=Q.startY-L,Q.startY>Q.endY)S-=v;break;default:x=Q.startX-q,S=Q.startY+L}x??=Q.startX-q,S??=Q.startY+L;let W=iv(x,S,G,{fontSize:16});F.push(W)}if(H&&H!=="none"){if(l){let T=tsu(Q,"end");if(T)x=T.x,S=T.y}else switch(A){case"TB":if(x=Q.endX+q,Q.endX<Q.startX)x+=v;S=Q.endY-L;break;case"BT":if(x=Q.endX-q,Q.endX>Q.startX)x-=v;S=Q.endY+L;break;case"LR":if(x=Q.endX-q,S=Q.endY-L,Q.endY>Q.startY)S-=v;break;case"RL":if(x=Q.endX+q,S=Q.endY+L,Q.startY>Q.endY)S+=v;break;default:x=Q.endX+q,S=Q.endY-L}x??=Q.endX+q,S??=Q.endY+L;let W=iv(x,S,H,{fontSize:16});F.push(W)}}),{arrows:D,text:F}},iM3=(u,B,E)=>{let A=[],C=[];return u.forEach((D,F)=>{let{id:U,text:z,class:k}=D,f=B.querySelector(`#${U}`);if(!f)throw Error(`Node with id ${U} not found!`);let{transformX:M,transformY:b}=nD(f),Z=f.firstChild,J=dD(Z,"rectangle",{id:U,subtype:"note",label:{text:z}});if(Object.assign(J,{x:J.x+M,y:J.y+b}),A.push(J),k){let K=E.find((L)=>L.id===k);if(!K)throw Error(`class node with id ${k} not found!`);let w=B.querySelector(`path[id="edgeNote${F+1}"][data-edge="true"]`);if(w){C.push(IM3(w,{strokeStyle:"dotted",startArrowhead:null,endArrowhead:null,start:{id:J.id,type:"rectangle"},end:{id:K.id,type:"rectangle"}}));return}let Q=J.x+(J.width||0)/2,G=J.y+(J.height||0),H=Q,l=K.y,q=jP(Q,G,H,l,{strokeStyle:"dotted",startArrowhead:null,endArrowhead:null,start:{id:J.id,type:"rectangle"},end:{id:K.id,type:"rectangle"}});C.push(q)}}),{notes:A,connectors:C}},Aou=(u,B)=>{let E=u.db,A=E.getDirection?.()||"TB",C=[],D=[],F=[],U=[],z=E.getNamespaces?.()||[],k=E.getClasses?.()||{},f=k instanceof Map?Object.fromEntries(k):k;if(f&&Object.keys(f).length){let Q=typeof E.lookUpDomId==="function"?E.lookUpDomId.bind(E):void 0,G=VM3(f,B,Q);C.push(G.nodes),D.push(...G.lines),F.push(...G.text),U.push(...G.nodes)}let M=E.getRelations?.()||[],{arrows:b,text:Z}=hM3(M,U,B,A),J=E.getNotes?.()||[],{notes:K,connectors:w}=iM3(J,B,U);return C.push(K),b.push(...w),F.push(...Z),{type:"class",nodes:C,lines:D,arrows:b,text:F,namespaces:z}};var Cou=g(()=>{SG();cs();_s={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},psu={LINE:0,DOTTED_LINE:1},ssu=new Set(["triangle_outline","diamond","diamond_outline"])});var Dou=18,aM3=(u)=>{let B={};if(!u)return B;return u.forEach((E)=>{DB(E).forEach(({property:A,value:C})=>{if(A&&C)B[A]=$3(C)})}),B},mM3=(u)=>{if(u===null||u===void 0||u==="")return;let B=typeof u==="number"?u:parseFloat($3(u));if(!Number.isFinite(B)||B<=0)return;return B},QQ0=(u,B)=>{let E=0,A=0,C=u;while(C&&C!==B){let{transformX:D,transformY:F}=nD(C);E+=D,A+=F,C=C.parentElement}return{tx:E,ty:A}},$M3=(u)=>{let B=Array.from(u.querySelectorAll("tspan")),E=B.length?B.map((A)=>A.textContent?.trim()).filter(Boolean).join(`
`):u.textContent?.trim()||"";return w5(E)},yM3=(u)=>{let B=u.querySelector("text, foreignObject, div, span, p")||u,E=parseFloat(getComputedStyle(B).fontSize||"");if(!Number.isFinite(E)||E<=0)E=Math.max(12,u.getBBox().height*0.75);return E},rM3=(u,B,E)=>{let A=$M3(u);if(!A)return null;let C=u.getBBox(),{tx:D,ty:F}=QQ0(u,B);return{className:u.getAttribute("class")||"",text:A,x:C.x+D,y:C.y+F,width:C.width,height:C.height,fontSize:yM3(u),color:hv(u,E)}},gM3=(u,B,E,A,C,D,F)=>{let{tx:U,ty:z}=QQ0(u,B),k=0,f=0,M=0,b=0;if(u.tagName.toLowerCase()==="line")k=Number(u.getAttribute("x1"))+U,f=Number(u.getAttribute("y1"))+z,M=Number(u.getAttribute("x2"))+U,b=Number(u.getAttribute("y2"))+z;else{let J=PP(u);if(!J)return null;k=J.startX+U,f=J.startY+z,M=J.endX+U,b=J.endY+z}let Z={type:"line",id:n5(),groupId:E,startX:k,startY:f,endX:M,endY:b,metadata:{entityId:A}};if(C&&FB(C)&&C!=="none")Z.strokeColor=C;if(D!==void 0)Z.strokeWidth=D;if(F)Z.strokeStyle=F;return Z},Fou=(u)=>{switch(u?.toLowerCase()){case"one":return"cardinality_one";case"many":return"cardinality_many";case"only_one":return"cardinality_exactly_one";case"one_or_more":return"cardinality_one_or_many";case"zero_or_one":return"cardinality_zero_or_one";case"zero_or_more":return"cardinality_zero_or_many";default:return null}},cM3=(u)=>{switch(u){case"dotted":return"dotted";case"dashed":return"dashed";default:return"solid"}},_M3=(u,B)=>{let E=B.querySelector(`path[id="${u.id}"][data-edge="true"]`);if(E)return[E];if(u.start!==u.end)return[];return[`${u.start}-cyclic-special-1`,`${u.start}-cyclic-special-mid`,`${u.start}-cyclic-special-2`].map((C)=>B.querySelector(`path[id="${C}"][data-edge="true"]`)).filter((C)=>C!==null)},pM3=(u)=>{let B=[];return u.forEach((E)=>{$s(E).forEach((A)=>{let C=B[B.length-1];if(C&&C.x===A.x&&C.y===A.y)return;B.push(A)})}),B},nM3=(u,B)=>{let E=B.querySelector(`[id="${u.id}"]`);if(!E)throw Error(`ER entity ${u.id} not found in rendered SVG`);let A=u.attributes.length?n5():void 0,C=E.getBBox(),{tx:D,ty:F}=QQ0(E,B),U=aM3([...u.cssStyles||[],...u.cssCompiledStyles||[]]),z=$3(U.fill||""),k=$3(U.stroke||""),f=mM3(U["stroke-width"]),M=$3(U["stroke-dasharray"]||""),b=Array.from(E.querySelectorAll("g.label")).map((H)=>rM3(H,B,U.color)).filter((H)=>H!==null),Z=b.find((H)=>H.className.includes("name"))||b[0],J=b.filter((H)=>H!==Z),K=Z?.text||w5(u.alias||u.label||""),w={type:"rectangle",id:u.id,groupId:A,x:C.x+D,y:C.y+F,width:C.width,height:C.height,label:{text:K,fontSize:u.attributes.length?Dou:Z?.fontSize||16,color:Z?.color,textAlign:"center",verticalAlign:u.attributes.length?"top":"middle"},metadata:{entityId:u.id,entityLabel:u.label,entityAlias:u.alias}};if(FB(z)&&z!=="none")w.bgColor=z;if(FB(k)&&k!=="none")w.strokeColor=k;if(f&&Number.isFinite(f)&&f>0)w.strokeWidth=f;if(M&&M!=="none")w.strokeStyle="dashed";let Q=Array.from(E.querySelectorAll(".divider path, path.divider, line.divider")).map((H)=>gM3(H,B,A,u.id,w.strokeColor,w.strokeWidth,w.strokeStyle)).filter((H)=>H!==null),G=J.map((H)=>iv(H.x,H.y,H.text,{id:n5(),groupId:A,width:H.width,height:H.height,fontSize:Dou,color:H.color,metadata:{entityId:u.id}}));return{container:w,lines:Q,text:G}},dM3=(u,B)=>{let E=_M3(u,B);if(!E.length)throw Error(`ER relationship ${u.id} not found in rendered SVG`);let A=pM3(E);if(A.length<2)throw Error(`ER relationship ${u.id} is missing usable path points`);let C=A[0],D=A[A.length-1],F=E[0],U=$3(F.getAttribute("stroke")||getComputedStyle(F).stroke||""),z=Number(F.getAttribute("stroke-width")||getComputedStyle(F).strokeWidth||1),k=jP(C.x,C.y,D.x,D.y,{id:u.id,label:u.label?{text:w5(u.label),fontSize:16,textAlign:"center"}:void 0,strokeStyle:cM3(u.pattern),startArrowhead:Fou(u.arrowTypeStart),endArrowhead:Fou(u.arrowTypeEnd),start:{type:"rectangle",id:u.start},end:{type:"rectangle",id:u.end},points:A.map((f)=>[f.x-C.x,f.y-C.y])});if(FB(U)&&U!=="none")k.strokeColor=U;if(Number.isFinite(z)&&z>0)k.strokeWidth=z;return k},Uou=(u,B)=>{let E=u.getData(),A=E.nodes,C=E.edges,D=[],F=[],U=[];A.forEach((k)=>{let f=nM3(k,B);D.push(f.container),F.push(...f.lines),U.push(...f.text)});let z=C.map((k)=>dM3(k,B));return{type:"erd",nodes:[D],lines:F,arrows:z,text:U}};var zou=g(()=>{SG();cs()});var TG=(u)=>{let B=$3(u||"");if(!B)return!1;if(B==="none"||B==="transparent"||B==="rgba(0, 0, 0, 0)"||B==="rgba(0,0,0,0)")return!1;return FB(B)},fou=(u,B,E)=>{switch(B){case w1.FILL:case w1.STROKE:if(TG(E))u[B]=$3(E);break;case w1.STROKE_WIDTH:case w1.STROKE_DASHARRAY:if($3(E))u[B]=$3(E);break}},Mou=(u,B,E)=>{if(B===p5.COLOR&&TG(E))u[p5.COLOR]=$3(E)},sM3=(u,B,E)=>{if(!u)return;DB(u).forEach(({property:A,value:C})=>{fou(B,A,C),Mou(E,A,C)})},oM3=(u,B)=>{if(!u)return;DB(u).forEach(({property:E,value:A})=>{if(E===w1.FILL&&TG(A)){B[p5.COLOR]=$3(A);return}Mou(B,E,A)})},tM3=(u)=>{let B=new Set;return u.filter(Boolean).forEach((E)=>{DB(E||"").forEach(({property:A})=>{B.add(A)})}),B},eM3=(u,B,E)=>{if(!u)return;[[w1.FILL,u.getAttribute("fill")],[w1.STROKE,u.getAttribute("stroke")],[w1.STROKE_WIDTH,u.getAttribute("stroke-width")],[w1.STROKE_DASHARRAY,u.getAttribute("stroke-dasharray")]].forEach(([C,D])=>{if(!E.has(C))return;if(B[C])return;let F=$3(D||"");if(!F)return;fou(B,C,F)})},ub3=(u,B,E)=>{if(!u)return;let A=[u,...Array.from(u.querySelectorAll("text, foreignObject, div, span, p"))];for(let C of A){if(B[p5.COLOR])break;if(E.has(p5.COLOR)||E.has(w1.FILL)){if(oM3(C.getAttribute("style"),B),B[p5.COLOR])break}let D=$3(C.getAttribute("fill")||C.getAttribute("color")||"");if((E.has(p5.COLOR)||E.has(w1.FILL))&&TG(D))B[p5.COLOR]=D}},HQ0=(u,B)=>{let E=0,A=0,C=u;while(C&&C!==B){let{transformX:D,transformY:F}=nD(C);E+=D,A+=F,C=C.parentElement}return{tx:E,ty:A}},Bb3=(u,B)=>{let E=u.getBBox(),{tx:A,ty:C}=HQ0(u,B);return{x:E.x+A,y:E.y+C,width:E.width,height:E.height}},Eb3=(u,B)=>{let E=u.querySelector("line.divider");if(!E)return;let{tx:A,ty:C}=HQ0(E,B);return{startX:Number(E.getAttribute("x1"))+A,startY:Number(E.getAttribute("y1"))+C,endX:Number(E.getAttribute("x2"))+A,endY:Number(E.getAttribute("y2"))+C}},Ab3=(u)=>{let B=u.getBBox();return Math.abs(B.width*B.height)},kou=(u,B)=>{let E=u.getAttribute("style");if(!E)return;let A=DB(E).find((C)=>C.property===B);if(!A)return;return $3(A.value)},GQ0=(u,B)=>{let E=u.map((C)=>({element:C,area:Ab3(C)})).filter(({area:C})=>Number.isFinite(C)&&C>0);if(E.length===0)return null;return E.sort((C,D)=>B==="largest"?D.area-C.area:C.area-D.area)[0].element},Cb3=(u,B)=>{if(!u)return;if(!B.has(w1.FILL)&&!B.has(w1.STROKE))return;let E=$3(u.getAttribute("fill")||kou(u,w1.FILL)||""),A=$3(u.getAttribute("stroke")||kou(u,w1.STROKE)||"");if(TG(E))return E;if(TG(A))return A;return},Db3=(u,B)=>{let E=Array.from(u.querySelectorAll("circle, ellipse, path")),A=GQ0(E,"smallest");return Cb3(A,B)},Fb3=(u)=>{if(u.length<2)return u;let B=u.slice(1),E=B.filter((A)=>A.trim().length>0).reduce((A,C)=>{let D=C.match(/^\s*/)?.[0].length??0;return Math.min(A,D)},Number.POSITIVE_INFINITY);if(!Number.isFinite(E)||E<=0)return u.map((A)=>A.trimEnd());return[u[0].trimEnd(),...B.map((A)=>A.replace(new RegExp(`^\\s{0,${E}}`),"").trimEnd())]},Ub3=(u)=>{let B=Array.isArray(u.label)?u.label.map((A)=>w5(A)):w5(u.label||"").split(`
`);return Fb3(B).join(`
`)},zb3=(u)=>{if(!u.description)return[];return(Array.isArray(u.description)?u.description:[u.description]).map((E)=>w5(E)).filter((E)=>E.length>0)},kb3=(u)=>{let B=new Set,E=(C)=>{if(C)B.add(C);return C},A=(C)=>{let D=C.find((F)=>!B.has(F));return E(D||null)};return(C)=>{let D=[`[id='${C.domId}']`,`[id='${C.id}']`,`[data-id='${C.id}']`];for(let F of D){let U=u.querySelector(F);if(U)return E(U)}switch(C.shape){case"divider":return A(Array.from(u.querySelectorAll("g.statediagram-cluster-alt")));case"stateStart":return A(Array.from(u.querySelectorAll("g.node.default")).filter((F)=>F.querySelector("circle.state-start")));case"stateEnd":return A(Array.from(u.querySelectorAll("g.node.default")).filter((F)=>!F.querySelector("circle.state-start")));default:return null}}},fb3=(u,B)=>{switch(B){case"roundedWithTitle":return u.querySelector("rect.outer")||u.querySelector("rect")||u;case"divider":return u.querySelector("rect.divider")||u.querySelector("rect")||u;case"rectWithTitle":return u.querySelector("rect.outer")||u.querySelector("rect")||u;case"stateStart":return GQ0(Array.from(u.querySelectorAll("circle, ellipse, path")),"largest")||u;case"stateEnd":return GQ0(Array.from(u.querySelectorAll("circle, ellipse, path")),"largest")||u;case"choice":case"fork":case"join":case"note":case"rect":default:return u.querySelector("rect, path, circle, ellipse, polygon")||u}},Mb3=(u,B,E)=>{let A=E(u);if(!A)throw Error(`State node element not found for "${u.id}"`);let C=fb3(A,u.shape),D={},F={},U=[u.labelStyle,...u.cssCompiledStyles||[],...u.cssStyles||[]],z=tM3(U);U.filter(Boolean).forEach((f)=>{sM3(f,D,F)}),eM3(C,D,z),ub3(A,F,z);let k=Bb3(C,B);return{id:u.id,shape:u.shape,text:Ub3(u),description:zb3(u),x:k.x,y:k.y,width:k.width,height:k.height,parentId:u.parentId,position:u.position,containerStyle:D,labelStyle:F,dividerLine:u.shape==="rectWithTitle"?Eb3(A,B):void 0,endInnerColor:u.shape==="stateEnd"?Db3(A,z):void 0,isRenderable:u.shape!=="noteGroup"}},bb3=(u,B)=>{let E=B.querySelector(`[id='${u.id}']`);if(!E)return null;let{tx:A,ty:C}=HQ0(E,B),D=ys(E,{x:A,y:C},"MCL");if(D.reflectionPoints.length<2)return null;let F={},U=(k,f)=>{switch(k){case w1.STROKE:if(TG(f))F.strokeColor=$3(f);break;case w1.STROKE_WIDTH:{let M=parseFloat($3(f));if(Number.isFinite(M)&&M>0)F.strokeWidth=M;break}case w1.STROKE_DASHARRAY:if($3(f))F.strokeStyle="dashed";break}};[u.style].filter(Boolean).forEach((k)=>{DB(k||"").forEach(({property:f,value:M})=>{U(f,M)})});let z=u.arrowhead==="none"||u.classes?.includes("note-edge");return{id:u.id,start:u.start,end:u.end,text:w5(u.label||""),...D,strokeColor:F.strokeColor,strokeWidth:F.strokeWidth,strokeStyle:z?"dashed":F.strokeStyle,isNoteEdge:z}},bou=(u,B)=>{let{nodes:E,edges:A}=u.getData(),C=kb3(B);return{type:"state",nodes:E.map((D)=>Mb3(D,B,C)),edges:A.map((D)=>bb3(D,B)).filter((D)=>D!==null)}};var Zou=g(()=>{YP()});var Jou,Kou=(u)=>{let B=Jou.then(u,u);return Jou=B.then(()=>{return},()=>{return}),B};var wou=g(()=>{Jou=Promise.resolve()});var Qou=null,Zb3=0,Jb3=(u)=>{return JSON.stringify(u)},Gou=(u)=>{let B=u.querySelector("svg");if(!B)throw Error("SVG element not found");let E=B.getBoundingClientRect(),A=E.width,C=E.height;B.setAttribute("width",`${A}`),B.setAttribute("height",`${C}`);let D="image/svg+xml",F=unescape(encodeURIComponent(B.outerHTML)),z=`data:image/svg+xml;base64,${btoa(F)}`;return{type:"graphImage",mimeType:D,dataURL:z,width:A,height:C}},Hou=async(u,B=SP)=>{return Kou(async()=>{let E=B.themeVariables?.fontSize??SP.themeVariables.fontSize,A={...SP,...B,fontSize:E,themeVariables:{...SP.themeVariables,...B.themeVariables,fontSize:E}},C=Jb3(A);if(C!==Qou)AD.initialize(A),Qou=C;let D=await AD.mermaidAPI.getDiagramFromText(Osu(u)),F=`mermaid-to-excalidraw-${Zb3++}`,U=document.createElement("div");U.setAttribute("style","opacity: 0; position: fixed; z-index: -1; left: -99999px; top: -99999px;");let z=`${F}-container`;U.id=z,document.getElementById(z)?.remove(),document.body.appendChild(U);try{let{svg:k}=await AD.render(F,u,U);U.innerHTML=k;let f;try{switch(D.type){case"flowchart-v2":case"graph":{f=asu(D.db,U);break}case"sequence":{f=csu(D,U);break}case"class":case"classDiagram":{f=Aou(D,U);break}case"er":{f=Uou(D.db,U);break}case"state":case"stateDiagram":{f=bou(D.db,U);break}default:f=Gou(U)}}catch(M){console.error("Error processing Mermaid diagram:",M),f=Gou(U)}return f}finally{U.remove()}})};var qou=g(()=>{sc();vG();msu();_su();Cou();zou();Zou();wou()});var qQ0={};ju(qQ0,{parseMermaidToExcalidraw:()=>Kb3});var Kb3=async(u,B)=>{let E=B||{},A=parseInt(E.themeVariables?.fontSize??"")||ZJ,C=await Hou(u,{...E,themeVariables:{...E.themeVariables}});return Isu(C,{fontSize:A})};var lQ0=g(()=>{vG();Psu();qou()});var wb3={};var lou=g(()=>{(()=>{if(Path2D.prototype.roundRect??=u,globalThis.CanvasRenderingContext2D)globalThis.CanvasRenderingContext2D.prototype.roundRect??=u;if(globalThis.OffscreenCanvasRenderingContext2D)globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect??=u;function u(A,C,D,F,U){if(![A,C,D,F].every((l)=>Number.isFinite(l)))return;U=w(U);let z,k,f,M;if(U.length===4)z=G(U[0]),k=G(U[1]),f=G(U[2]),M=G(U[3]);else if(U.length===3)z=G(U[0]),k=G(U[1]),M=G(U[1]),f=G(U[2]);else if(U.length===2)z=G(U[0]),f=G(U[0]),k=G(U[1]),M=G(U[1]);else if(U.length===1)z=G(U[0]),k=G(U[0]),f=G(U[0]),M=G(U[0]);else throw RangeError(`${B(this)} ${U.length} is not a valid size for radii sequence.`);let b=[z,k,f,M],Z=b.find(({x:l,y:q})=>l<0||q<0),J=Z?.x<0?Z.x:Z?.y;if(b.some(({x:l,y:q})=>!Number.isFinite(l)||!Number.isFinite(q)))return;if(Z)throw RangeError(`${B(this)} Radius value ${Z} is negative.`);if(H(b),D<0&&F<0)this.moveTo(A-z.x,C),this.ellipse(A+D+k.x,C-k.y,k.x,k.y,0,-Math.PI*1.5,-Math.PI),this.ellipse(A+D+f.x,C+F+f.y,f.x,f.y,0,-Math.PI,-Math.PI/2),this.ellipse(A-M.x,C+F+M.y,M.x,M.y,0,-Math.PI/2,0),this.ellipse(A-z.x,C-z.y,z.x,z.y,0,0,-Math.PI/2);else if(D<0)this.moveTo(A-z.x,C),this.ellipse(A+D+k.x,C+k.y,k.x,k.y,0,-Math.PI/2,-Math.PI,1),this.ellipse(A+D+f.x,C+F-f.y,f.x,f.y,0,-Math.PI,-Math.PI*1.5,1),this.ellipse(A-M.x,C+F-M.y,M.x,M.y,0,Math.PI/2,0,1),this.ellipse(A-z.x,C+z.y,z.x,z.y,0,0,-Math.PI/2,1);else if(F<0)this.moveTo(A+z.x,C),this.ellipse(A+D-k.x,C-k.y,k.x,k.y,0,Math.PI/2,0,1),this.ellipse(A+D-f.x,C+F+f.y,f.x,f.y,0,0,-Math.PI/2,1),this.ellipse(A+M.x,C+F+M.y,M.x,M.y,0,-Math.PI/2,-Math.PI,1),this.ellipse(A+z.x,C-z.y,z.x,z.y,0,-Math.PI,-Math.PI*1.5,1);else this.moveTo(A+z.x,C),this.ellipse(A+D-k.x,C+k.y,k.x,k.y,0,-Math.PI/2,0),this.ellipse(A+D-f.x,C+F-f.y,f.x,f.y,0,0,Math.PI/2),this.ellipse(A+M.x,C+F-M.y,M.x,M.y,0,Math.PI/2,Math.PI),this.ellipse(A+z.x,C+z.y,z.x,z.y,0,Math.PI,Math.PI*1.5);this.closePath(),this.moveTo(A,C);function K(l){let{x:q,y:L,z:v,w:x}=l;return{x:q,y:L,z:v,w:x}}function w(l){let q=typeof l;if(q==="undefined"||l===null)return[0];if(q==="function")return[NaN];if(q==="object"){if(typeof l[Symbol.iterator]==="function")return[...l].map((L)=>{let v=typeof L;if(v==="undefined"||L===null)return 0;if(v==="function")return NaN;if(v==="object")return K(L);return Q(L)});return[K(l)]}return[Q(l)]}function Q(l){return+l}function G(l){let q=Q(l);if(Number.isFinite(q))return{x:q,y:q};if(Object(l)===l)return{x:Q(l.x??0),y:Q(l.y??0)};return{x:NaN,y:NaN}}function H(l){let[q,L,v,x]=l,S=[Math.abs(D)/(q.x+L.x),Math.abs(F)/(L.y+v.y),Math.abs(D)/(v.x+x.x),Math.abs(F)/(q.y+x.y)],W=Math.min(...S);if(W<=1)for(let T of l)T.x*=W,T.y*=W}}function B(A){return`Failed to execute 'roundRect' on '${E(A)}':`}function E(A){return Object(A)===A&&A instanceof Path2D?"Path2D":A instanceof globalThis?.CanvasRenderingContext2D?"CanvasRenderingContext2D":A instanceof globalThis?.OffscreenCanvasRenderingContext2D?"OffscreenCanvasRenderingContext2D":A?.constructor.name||A}})()});sc();var nb=20,UCu={rect:"rectangle",circle:"ellipse"},vT={startOnLoad:!1,flowchart:{curve:"linear"},themeVariables:{fontSize:"20px"},maxEdges:500,maxTextSize:50000};class OE{constructor({converter:u}){this.convert=(B,E)=>{return this.converter(B,{...E,fontSize:E.fontSize||nb})},this.converter=u}}var nk;(function(u){u.ROUND="round",u.STADIUM="stadium",u.DOUBLECIRCLE="doublecircle",u.CIRCLE="circle",u.DIAMOND="diamond",u.CYLINDER="cylinder"})(nk||(nk={}));var i5;(function(u){u.COLOR="color"})(i5||(i5={}));var Z1;(function(u){u.FILL="fill",u.STROKE="stroke",u.STROKE_WIDTH="stroke-width",u.STROKE_DASHARRAY="stroke-dasharray"})(Z1||(Z1={}));var fCu=Eu(zz0(),1),So4={arrow_circle:{endArrowhead:"circle"},arrow_cross:{endArrowhead:"bar"},arrow_open:{endArrowhead:null,startArrowhead:null},double_arrow_circle:{endArrowhead:"circle",startArrowhead:"circle"},double_arrow_cross:{endArrowhead:"bar",startArrowhead:"bar"},double_arrow_point:{endArrowhead:"arrow",startArrowhead:"arrow"}},MCu=(u)=>{return So4[u]},oc=(u)=>{let B=u.text;if(u.labelType==="markdown")B=fCu.removeMarkdown(u.text);return Yo4(B)},Yo4=(u)=>{let B=/\s?(fa|fab):[a-zA-Z0-9-]+/g;return u.replace(B,"")},FQ=(u)=>{let B={};return Object.keys(u).forEach((E)=>{switch(E){case Z1.FILL:{B.backgroundColor=u[E],B.fillStyle="solid";break}case Z1.STROKE:{B.strokeColor=u[E];break}case Z1.STROKE_WIDTH:{B.strokeWidth=Number(u[E]?.split("px")[0]);break}case Z1.STROKE_DASHARRAY:{B.strokeStyle="dashed";break}}}),B},xT=(u)=>{let B={};return Object.keys(u).forEach((E)=>{switch(E){case i5.COLOR:{B.strokeColor=u[E];break}}}),B};var Ro4=(u,B)=>[u,B],To4=32,bCu=0.62,Oo4=12,Io4=12,ZCu=(u,B)=>{return Math.max(20,Math.ceil(u.length*B*bCu))},Po4=(u,B,E,A)=>{let C=A||nb;if(u!==nk.CYLINDER||!B||B.includes(`
`))return C;let D=Math.max(20,E-Oo4);if(ZCu(B,C)<=D)return C;return Math.max(Io4,Math.floor(D/(B.length*bCu)))},jo4=(u)=>{let B={};u.subGraphs.map((A)=>{A.nodeIds.forEach((C)=>{B[A.id]={id:A.id,parent:null,isLeaf:!1},B[C]={id:C,parent:A.id,isLeaf:u.vertices[C]!==void 0}})});let E={};return[...Object.keys(u.vertices),...u.subGraphs.map((A)=>A.id)].forEach((A)=>{if(!B[A])return;let C=B[A],D=[];if(!C.isLeaf)D.push(`subgraph_group_${C.id}`);while(!0)if(C.parent)D.push(`subgraph_group_${C.parent}`),C=B[C.parent];else break;E[A]=D}),{getGroupIds:(A)=>{return E[A]||[]},getParentId:(A)=>{return B[A]?B[A].parent:null}}},JCu=new OE({converter:(u,B)=>{let E=[],A=B.fontSize,{getGroupIds:C,getParentId:D}=jo4(u);return u.subGraphs.reverse().forEach((F)=>{let U=C(F.id),z=oc(F),M=ZCu(z,A||16)+To4*2,b=Math.max(F.width,M),Z=F.x-(b-F.width)/2,J=FQ(F.containerStyle),K=xT(F.labelStyle),w={id:F.id,type:"rectangle",groupIds:U,x:Z,y:F.y,width:b,height:F.height,label:{groupIds:U,text:z,fontSize:A,verticalAlign:"top",...K},...J};E.push(w)}),Object.values(u.vertices).forEach((F)=>{if(!F)return;let U=C(F.id),z=oc(F),k=Po4(F.type,z,F.width,A),f=FQ(F.containerStyle),M=xT(F.labelStyle),b={id:F.id,type:"rectangle",groupIds:U,x:F.x,y:F.y,width:F.width,height:F.height,strokeWidth:2,label:{groupIds:U,text:z,fontSize:k,...M},link:F.link||null,...f};switch(F.type){case nk.STADIUM:{b={...b,roundness:{type:3}};break}case nk.ROUND:{b={...b,roundness:{type:3}};break}case nk.DOUBLECIRCLE:{U.push(`doublecircle_${F.id}}`);let J={type:"ellipse",groupIds:U,x:F.x+5,y:F.y+5,width:F.width-10,height:F.height-10,strokeWidth:2,roundness:{type:3},label:{groupIds:U,text:z,fontSize:k,...M}};b={...b,groupIds:U,type:"ellipse"},E.push(J);break}case nk.CIRCLE:{b.type="ellipse";break}case nk.DIAMOND:{b.type="diamond";break}}E.push(b)}),u.edges.forEach((F)=>{let U=[],z=D(F.start),k=D(F.end);if(z&&z===k)U=C(z);let{startX:f,startY:M,reflectionPoints:b}=F,Z=b.map((H)=>Ro4(H.x-b[0].x,H.y-b[0].y)),J=MCu(F.type||"arrow_point"),K=E.find((H)=>H.id===F.start),w=E.find((H)=>H.id===F.end);if(!K||!w)return;let G={id:`${F.start}_${F.end}`,type:"arrow",groupIds:U,x:f,y:M,strokeWidth:F.stroke==="thick"?4:2,strokeStyle:F.stroke==="dotted"?"dashed":void 0,points:Z,...F.text?{label:{text:oc(F),fontSize:A,groupIds:U}}:{},roundness:{type:2},...J,start:{id:K.id||""},end:{id:w.id||""}};E.push(G)}),{elements:E}}});var a5=(u=21)=>crypto.getRandomValues(new Uint8Array(u)).reduce((B,E)=>{if(E&=63,E<36)B+=E.toString(36);else if(E<62)B+=(E-26).toString(36).toUpperCase();else if(E>62)B+="-";else B+="_";return B},"");var KCu=new OE({converter:(u)=>{let B=a5(),{width:E,height:A}=u,C={type:"image",x:0,y:0,width:E,height:A,status:"saved",fileId:B};return{files:{[B]:{id:B,mimeType:u.mimeType,dataURL:u.dataURL}},elements:[C]}}});var WT=(u,B)=>[u,B],kz0=(u)=>{return u.replace(/\\n/g,`
`)},XU=(u)=>{let B={type:"line",x:u.startX,y:u.startY,points:[WT(0,0),WT(u.endX-u.startX,u.endY-u.startY)],width:u.endX-u.startX,height:u.endY-u.startY,strokeStyle:u.strokeStyle||"solid",strokeColor:u.strokeColor||"#000",strokeWidth:u.strokeWidth||1};if(u.groupId)Object.assign(B,{groupIds:[u.groupId]});if(u.id)Object.assign(B,{id:u.id});return B},vU=(u)=>{let B={type:"text",x:u.x,y:u.y,width:u.width,height:u.height,text:kz0(u.text)||"",fontSize:u.fontSize,verticalAlign:"top",strokeColor:u.color};if(u.groupId)Object.assign(B,{groupIds:[u.groupId]});if(u.id)Object.assign(B,{id:u.id});return B},dk=(u)=>{let B={text:kz0(u?.label?.text||""),fontSize:u?.label?.fontSize,textAlign:u.label?.textAlign,verticalAlign:u.label?.verticalAlign||"middle",strokeColor:u.label?.color||"#000",...u.groupId?{groupIds:[u.groupId]}:{}},E={};if(u.type==="rectangle"&&u.subtype==="activation")E={backgroundColor:"#e9ecef",fillStyle:"solid"};let A={id:u.id,type:u.type,x:u.x,y:u.y,width:u.width,height:u.height,label:B,strokeStyle:u?.strokeStyle,strokeWidth:u?.strokeWidth,strokeColor:u?.strokeColor,backgroundColor:u?.bgColor,fillStyle:"solid",...E};if(u.groupId)Object.assign(A,{groupIds:[u.groupId]});return A},IL=(u)=>{let B={type:"arrow",x:u.startX,y:u.startY,points:u.points?.map(([E,A])=>WT(E,A))||[WT(0,0),WT(u.endX-u.startX,u.endY-u.startY)],width:u.endX-u.startX,height:u.endY-u.startY,strokeStyle:u?.strokeStyle||"solid",endArrowhead:u?.endArrowhead||null,startArrowhead:u?.startArrowhead||null,label:{text:kz0(u?.label?.text||""),fontSize:16,textAlign:u?.label?.textAlign,verticalAlign:u?.label?.verticalAlign},roundness:{type:2},start:u.start,end:u.end};if(u.groupId)Object.assign(B,{groupIds:[u.groupId]});return B};var tc=10,fz0=16,No4=24,Vo4=4,ho4=(u)=>{if(!u)return!0;let B=u.trim().toLowerCase();return B==="transparent"||B==="none"||B==="rgba(0,0,0,0)"||B==="rgba(0, 0, 0, 0)"},io4=(u,B)=>{return Math.max(20,Math.round(u.length*B*0.6))},wCu=(u,B,E=!0)=>{let A=u,C=A.groupIds??[];if(!C.includes(B))A.groupIds=[...C,B];if(!E||!A.label)return;let D=A.label.groupIds??[];if(!D.includes(B))A.label.groupIds=[...D,B]},QCu=new OE({converter:(u)=>{let B=[],E=[];if(Object.values(u.nodes).forEach((A)=>{if(!A||!A.length)return;A.forEach((C)=>{let D;switch(C.type){case"line":D=XU(C);break;case"rectangle":case"ellipse":D=dk(C);break;case"text":D=vU(C);break;default:throw`unknown type ${C.type}`}if(C.type==="rectangle"&&C?.subtype==="activation")E.push(D);else B.push(D)})}),Object.values(u.lines).forEach((A)=>{if(!A)return;B.push(XU(A))}),Object.values(u.arrows).forEach((A)=>{if(!A)return;if(B.push(IL(A)),A.sequenceNumber)B.push(dk(A.sequenceNumber))}),B.push(...E),u.loops){let{lines:A,texts:C,nodes:D}=u.loops;A.forEach((F)=>{B.push(XU(F))}),C.forEach((F)=>{B.push(vU(F))}),D.forEach((F)=>{B.push(dk(F))})}if(u.groups)u.groups.forEach((A)=>{let{actorKeys:C,name:D}=A,F=1/0,U=1/0,z=0,k=0;if(!C.length)return;let f=B.filter((G)=>{if(G.id){let H=G.id.indexOf("-"),l=G.id.substring(0,H);return C.includes(l)}return!1});if(!f.length)return;if(f.forEach((G)=>{if(G.x===void 0||G.y===void 0||G.width===void 0||G.height===void 0)return;F=Math.min(F,G.x),U=Math.min(U,G.y),z=Math.max(z,G.x+G.width),k=Math.max(k,G.y+G.height)}),!Number.isFinite(F)||!Number.isFinite(U)||!Number.isFinite(z)||!Number.isFinite(k))return;let M=F-tc,b=U-tc,Z=z-F+tc*2,J=k-U+tc*2,K=a5(),w=a5(),Q=dk({type:"rectangle",x:M,y:b,width:Z,height:J,bgColor:ho4(A.fill)?void 0:A.fill,strokeColor:"#1f1f1f",strokeWidth:1,id:K,groupId:w});if(B.unshift(Q),B.forEach((G)=>{if(G.id===K)return;if(G.x===void 0||G.y===void 0||G.width===void 0||G.height===void 0)return;if(G.x>=F&&G.x+G.width<=z&&G.y>=U&&G.y+G.height<=k)wCu(G,w)}),D){let G=vU({type:"text",id:a5(),text:D,x:M+Vo4,y:b-No4,width:io4(D,fz0),height:fz0+8,fontSize:fz0,color:"#1f1f1f",groupId:w});wCu(G,w,!1),B.push(G)}});return{elements:B}}});var GCu=new OE({converter:(u)=>{let B=[];return u.nodes.forEach((E)=>{if(!E||!E.length)return;E.forEach((A)=>{let C;switch(A.type){case"line":C=XU(A);break;case"rectangle":case"ellipse":C=dk(A);break;case"text":C=vU(A);break;default:throw`unknown type ${A.type}`}B.push(C)})}),Object.values(u.lines).forEach((E)=>{if(!E)return;B.push(XU(E))}),Object.values(u.arrows).forEach((E)=>{if(!E)return;let A=IL(E);B.push(A)}),Object.values(u.text).forEach((E)=>{let A=vU(E);B.push(A)}),Object.values(u.namespaces).forEach((E)=>{let A=Object.keys(E.classes),C=[...A],D=[...u.lines,...u.arrows,...u.text];A.forEach((U)=>{let z=D.filter((k)=>k.metadata&&k.metadata.classId===U).map((k)=>k.id);if(z.length)C.push(...z)});let F={type:"frame",id:a5(),name:E.id,children:C};B.push(F)}),{elements:B}}});var HCu=new OE({converter:(u)=>{let B=[];return u.nodes.forEach((E)=>{if(!E||!E.length)return;E.forEach((A)=>{let C;switch(A.type){case"line":C=XU(A);break;case"rectangle":case"ellipse":C=dk(A);break;case"text":C=vU(A);break;default:throw`unknown type ${A.type}`}B.push(C)})}),u.lines.forEach((E)=>{B.push(XU(E))}),u.arrows.forEach((E)=>{B.push(IL(E))}),u.text.forEach((E)=>{B.push(vU(E))}),{elements:B}}});var ec=(u,B)=>[u,B],ST=16,qCu=14,ao4=1,Mz0="#000000",lCu=5,mo4=lCu*2,$o4=lCu*2,yo4=1.25,LCu=new Set(["choice","fork","join","stateStart","stateEnd","divider"]),bz0=(u)=>u.shape==="stateEnd"?[`state_end_group_${u.id}`]:void 0,XCu=(u)=>{if(u.shape==="rectWithTitle"&&u.description.length)return[u.text,...u.description].join(`
`);return u.text},UQ,ro4=()=>{if(UQ!==void 0)return UQ;if(typeof document>"u")return UQ=null,UQ;try{UQ=document.createElement("canvas").getContext("2d")}catch{UQ=null}return UQ},PL=(u,B)=>{let E=ro4();if(!E)return u.length*B*0.6;return E.font=`${B}px Excalifont, sans-serif`,E.measureText(u).width},go4=(u,B,E)=>{if(PL(u,B)<=E)return[u];let A=[],C="";for(let D of u){let F=`${C}${D}`;if(C&&PL(F,B)>E){A.push(C),C=D;continue}C=F}if(C)A.push(C);return A},co4=(u,B,E)=>{if(!u.trim())return u;if(PL(u,B)<=E)return u;let A=u.split(/\s+/).filter(Boolean),C=[],D="";for(let F of A){let U=go4(F,B,E);for(let[z,k]of U.entries()){let M=D?`${D}${D?z===0?" ":"":""}${k}`:k;if(PL(M,B)<=E){D=M;continue}if(D)C.push(D);D=k}if(U.length>1)continue}return C.push(D),C.join(`
`)},_o4=(u,B,E)=>{let C=u.map((U)=>co4(U,B,E)).join(`
`).split(`
`),D=Math.max(...C.map((U)=>PL(U,B))),F=C.length*B*yo4;return{width:D,height:F}},po4=(u,B,E,A)=>{let C=u.split(`
`);for(let D=ST;D>=qCu;D-=ao4){let{height:F}=_o4(C,D,B);if(F<=E)return D}return A},no4=(u)=>{let B=XCu(u);if(!B||LCu.has(u.shape))return ST;let E=Math.max(1,u.width-mo4),A=Math.max(1,u.height-$o4),C=B.split(`
`);if(C.length>1){if(Math.max(...C.map((F)=>PL(F,ST)))<=E)return ST}return po4(B,E,A,C.length===1?ST:qCu)},do4=(u)=>{if(LCu.has(u.shape))return;let B=XCu(u);if(!B)return;return{text:B,fontSize:no4(u),verticalAlign:u.shape==="rectWithTitle"||u.shape==="roundedWithTitle"?"top":"middle",...xT(u.labelStyle)}},so4=(u)=>{let B=FQ(u.containerStyle),E=do4(u),A=u.shape==="choice"?"diamond":u.shape==="stateStart"||u.shape==="stateEnd"?"ellipse":"rectangle",C=u.shape==="rect"||u.shape==="rectWithTitle"||u.shape==="roundedWithTitle",D=u.shape==="stateStart"||u.shape==="fork"||u.shape==="join",F=B.backgroundColor||B.strokeColor||Mz0,U=B.strokeColor||B.backgroundColor||Mz0;return{id:u.id,type:A,...bz0(u)?{groupIds:bz0(u)}:{},x:u.x,y:u.y,width:u.width,height:u.height,...E?{label:E}:{},...B,...C?{roundness:{type:3}}:{},...D?{backgroundColor:F,strokeColor:U,fillStyle:"solid"}:{}}},oo4=(u)=>{if(!u.dividerLine)return null;let B=FQ(u.containerStyle);return{id:`${u.id}__divider`,type:"line",x:u.dividerLine.startX,y:u.dividerLine.startY,width:u.dividerLine.endX-u.dividerLine.startX,height:u.dividerLine.endY-u.dividerLine.startY,points:[ec(0,0),ec(u.dividerLine.endX-u.dividerLine.startX,u.dividerLine.endY-u.dividerLine.startY)],strokeColor:B.strokeColor||"#000",strokeWidth:B.strokeWidth||1}},to4=(u)=>{let B=FQ(u.containerStyle),E=Math.max(2,Math.min(u.width,u.height)*0.32),A=u.endInnerColor||B.strokeColor||B.backgroundColor||Mz0;return{id:`${u.id}__inner`,type:"ellipse",groupIds:bz0(u),x:u.x+E,y:u.y+E,width:Math.max(1,u.width-E*2),height:Math.max(1,u.height-E*2),backgroundColor:A,strokeColor:A,fillStyle:"solid",strokeWidth:1}},eo4=(u)=>{let B=u.reflectionPoints.map((E,A,C)=>{let D=C[0];if(A===0)return ec(0,0);return ec(E.x-D.x,E.y-D.y)});return{id:u.id,type:"arrow",x:u.startX,y:u.startY,width:u.endX-u.startX,height:u.endY-u.startY,points:B,strokeColor:u.strokeColor||"#000",strokeWidth:u.strokeWidth||2,strokeStyle:u.strokeStyle||"solid",endArrowhead:u.isNoteEdge?null:"triangle",roundness:{type:2},start:{id:u.start},end:{id:u.end},...u.text?{label:{text:u.text,fontSize:16}}:{}}},vCu=new OE({converter:(u)=>{let B=[];return u.nodes.forEach((E)=>{if(!E.isRenderable)return;let A=so4(E);B.push(A);let C=oo4(E);if(C)B.push(C);if(E.shape==="stateEnd")B.push(to4(E))}),u.edges.forEach((E)=>{B.push(eo4(E))}),{elements:B}}});var F5=(u)=>{u=ut4(u);let B=u.replace(/#(\d+);/g,"&#$1;").replace(/#([a-z]+);/g,"&$1;"),E=document.createElement("textarea");return E.innerHTML=B,E.value},CD=(u)=>{let E=u.getAttribute("transform")?.match(/translate\(([ \d.-]+),\s*([\d.-]+)\)/),A=0,C=0;if(E)A=Number(E[1]),C=Number(E[2]);return{transformX:A,transformY:C}},xCu=(u)=>{let B=u;return B=B.replace(/style.*:\S*#.*;/g,(E)=>{return E.substring(0,E.length-1)}),B=B.replace(/classDef.*:\S*#.*;/g,(E)=>{return E.substring(0,E.length-1)}),B=B.replace(/#\w+;/g,(E)=>{let A=E.substring(1,E.length-1);if(/^\+?\d+$/.test(A))return`fl°°${A}¶ß`;return`fl°${A}¶ß`}),B},ut4=function(u){return u.replace(/fl°°/g,"#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var YT=(u,B=0.5)=>{let E=[];return u.forEach((A)=>{let C=E[E.length-1];if(!C){E.push(A);return}if(Math.hypot(A[0]-C[0],A[1]-C[1])<=B)return;E.push(A)}),E},RT=(u)=>{let B=u.getAttribute("d");if(!B)return null;let E=Array.from(B.matchAll(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi),(A)=>Number(A[0]));if(E.length<4)return null;return{startX:E[0],startY:E[1],endX:E[E.length-2],endY:E[E.length-1]}},u_=(u)=>{let B=u.getAttribute("data-points");if(!B){let E=RT(u);return E?[{x:E.startX,y:E.startY},{x:E.endX,y:E.endY}]:[]}try{let E=atob(B),A=JSON.parse(E);return Array.isArray(A)?A.filter((C)=>C&&typeof C.x==="number"&&typeof C.y==="number"&&Number.isFinite(C.x)&&Number.isFinite(C.y)):[]}catch{return[]}},B_=(u,B={x:0,y:0},E="LM")=>{if(u.tagName.toLowerCase()!=="path")throw Error(`Invalid input: Expected an HTMLElement of tag "path", got ${u.tagName}`);let A=u.getAttribute("d");if(!A)throw Error('Path element does not contain a "d" attribute');let C=A.split(new RegExp(`(?=[${E}])`)),D=C[0].substring(1).split(",").map((z)=>parseFloat(z)),F=C[C.length-1].substring(1).split(",").map((z)=>parseFloat(z)),U=C.map((z)=>{let k=z[0],f=z.substring(1).split(",").map((M)=>parseFloat(M));if(k==="C")return{x:f[4],y:f[5],command:k};return{x:f[0],y:f[1],command:k}}).filter((z,k,f)=>{if(k===0||k===f.length-1)return!0;if(z.x===f[k-1].x&&z.y===f[k-1].y)return!1;if(k===f.length-2&&z.command==="C")return!1;if(k===f.length-2&&(f[k-1].x===z.x||f[k-1].y===z.y)){let M=f[f.length-1];return Math.hypot(M.x-z.x,M.y-z.y)>20}return z.x!==f[k-1].x||z.y!==f[k-1].y}).map((z)=>{return{x:z.x+B.x,y:z.y+B.y}});return{startX:D[0]+B.x,startY:D[1]+B.y,endX:F[0]+B.x,endY:F[1]+B.y,reflectionPoints:U}};var Bt4=(u)=>{return{...u,elements:u.elements.map((B)=>{if(!("points"in B)||!Array.isArray(B.points))return B;let E=B.points;if(E.length<2)return B;let A=YT(E);if(A.length===E.length)return B;return{...B,points:A}})}},WCu=(u,B={})=>{let E=(()=>{switch(u.type){case"graphImage":return KCu.convert(u,B);case"flowchart":return JCu.convert(u,B);case"sequence":return QCu.convert(u,B);case"class":return GCu.convert(u,B);case"erd":return HCu.convert(u,B);case"state":return vCu.convert(u,B);default:throw Error(`graphToExcalidraw: unknown graph type "${u.type}, only flowcharts are supported!"`)}})();return Bt4(E)};sc();var a3=(u)=>{return u.replace(/\s*!important\s*$/i,"").trim()},Et4=(u,B)=>{let E=B;while(E<u.length&&/\s/.test(u[E]))E+=1;let A=E;while(E<u.length&&/[a-z-]/i.test(u[E]))E+=1;if(E===A)return!1;while(E<u.length&&/\s/.test(u[E]))E+=1;return u[E]===":"},g7=(u)=>{let B=[],E=0;while(E<u.length){while(E<u.length&&/[\s;,]/.test(u[E]))E+=1;if(E>=u.length)break;let A=E;while(E<u.length&&u[E]!==":"){if(u[E]===";"||u[E]===",")break;E+=1}if(E>=u.length||u[E]!==":")break;let C=u.substring(A,E).trim().toLowerCase();E+=1;let D=E,F=0,U=null;while(E<u.length){let k=u[E];if(U){if(k===U&&u[E-1]!=="\\")U=null;E+=1;continue}if(k==='"'||k==="'"){U=k,E+=1;continue}if(k==="("){F+=1,E+=1;continue}if(k===")"){F=Math.max(0,F-1),E+=1;continue}if(F===0){if(k===";"||k===",")break;if(/\s/.test(k)&&Et4(u,E))break}E+=1}let z=a3(u.substring(D,E));if(C&&z)B.push({property:C,value:z});if(E<u.length&&(u[E]===";"||u[E]===","))E+=1}return B},c7=(u)=>{let B=a3(u);if(!B)return!1;if(typeof CSS<"u"&&typeof CSS.supports==="function")return CSS.supports("color",B);if(typeof document<"u"){let E=document.createElement("div");return E.style.color="",E.style.color=B,E.style.color!==""}return!1},SCu=(u,B)=>{let E=u.getAttribute("style");if(!E)return"";return g7(E).find((A)=>A.property===B)?.value||""},Zz0=(...u)=>{for(let B of u){let E=a3(B||"");if(c7(E))return E}return},jL=(u,B)=>{let E=u.querySelector("text, foreignObject, div, span, p")||u,A=Zz0(E.getAttribute?.("fill"),SCu(E,"fill"),E.style?.fill);if(A)return A;let C=Zz0(E.getAttribute?.("color"),SCu(E,"color"),E.style?.color);if(C)return C;let D=Zz0(B);if(D)return D;return};var Kz0=(u,B,E)=>{switch(B){case Z1.FILL:case Z1.STROKE:if(c7(E))u[B]=E;break;case Z1.STROKE_WIDTH:case Z1.STROKE_DASHARRAY:u[B]=E;break}},E_=(u,B,E)=>{if(B===i5.COLOR&&c7(E))u[i5.COLOR]=E},A_=(u,B,E)=>{if(!u)return;g7(u).forEach(({property:A,value:C})=>{Kz0(B,A,C),E_(E,A,C)})},RCu=(u,B)=>{if(!u)return;g7(u).forEach(({property:E,value:A})=>{if(E==="fill"&&c7(A)){B[i5.COLOR]=A;return}E_(B,E,A)})},TCu=(u,B)=>{if(!u)return;[[Z1.FILL,u.getAttribute("fill")],[Z1.STROKE,u.getAttribute("stroke")],[Z1.STROKE_WIDTH,u.getAttribute("stroke-width")],[Z1.STROKE_DASHARRAY,u.getAttribute("stroke-dasharray")]].forEach(([A,C])=>{let D=a3(C||"");if(D)Kz0(B,A,D)})},OCu=(u,B)=>{if(!u)return;let E=u.getAttribute("fill")||u.getAttribute("color"),A=a3(E||"");if(c7(A))B[i5.COLOR]=A},Jz0=(u,B,E,A)=>{if(!(B instanceof Map))return;let C=B.get(u);if(!C)return;C.styles?.forEach((D)=>{g7(D).forEach(({property:F,value:U})=>{Kz0(E,F,U),E_(A,F,U)})}),C.textStyles?.forEach((D)=>{g7(D).forEach(({property:F,value:U})=>{E_(A,F,U)})})},At4=(u,B,E)=>{let A=u.nodes.map((b)=>{if(b.startsWith("flowchart-"))return b.split("-")[1];return b}),C=B.querySelector(`[id='${u.id}']`);if(!C)throw Error("SubGraph element not found");let D=wz0(C,B),F=C.getBBox(),U={width:F.width,height:F.height},z={},k={},f=C.querySelector(":scope > rect, :scope > path, :scope > polygon, :scope > ellipse")||C.querySelector(".cluster > rect, .cluster > path, .cluster > polygon, .cluster > ellipse")||C.querySelector("rect, path, polygon, ellipse");A_(C.getAttribute("style"),z,k),A_(f?.getAttribute("style"),z,k),TCu(f,z);let M=C.querySelector(".cluster-label text, .cluster-label tspan")||C.querySelector("text");return RCu(M?.getAttribute("style"),k),OCu(M,k),Jz0(u.id,E,z,k),u.classes?.forEach((b)=>{Jz0(b,E,z,k)}),{id:u.id,nodeIds:A,text:F5(u.title),labelType:"text",...D,...U,containerStyle:z,labelStyle:k}},YCu=(u,B,E)=>{let A=B.querySelector(`[id*="${u.domId}"]`);if(!A)return;let C;if(A.parentElement?.tagName.toLowerCase()==="a")C=A.parentElement.getAttribute("xlink:href");let D=wz0(C?A.parentElement:A,B),F=A.getBBox(),U={width:F.width,height:F.height},z={},k={};if(u.classes&&E instanceof Map)(Array.isArray(u.classes)?u.classes:[u.classes]).forEach((b)=>{Jz0(b,E,z,k)});u.styles?.forEach((b)=>{A_(b,z,k)});let f=A.querySelector(".label-container");return A_(f?.getAttribute("style"),z,k),TCu(f,z),Array.from(A.querySelectorAll(".label, .nodeLabel, .label text, .label tspan, .label span, .label div")).forEach((b)=>{RCu(b.getAttribute("style"),k),OCu(b,k)}),{id:u.id,labelType:u.labelType,text:F5(u.text||""),type:u.type,link:C||void 0,...D,...U,containerStyle:z,labelStyle:k}},Ct4=(u,B,E)=>{let A=E.querySelector(`[id*="${u.id}"]`);if(!A)throw Error("Edge element not found");let C=wz0(A,E),D=B_(A,C);return u.length=void 0,{...u,...D,text:F5(u.text)}},wz0=(u,B)=>{if(!u)throw Error("Element not found");let E=u.parentElement?.parentElement,A=u.childNodes[0],C={x:0,y:0};if(A){let{transformX:z,transformY:k}=CD(A),f=A.getBBox();C={x:Number(A.getAttribute("x"))||z+f.x||0,y:Number(A.getAttribute("y"))||k+f.y||0}}let{transformX:D,transformY:F}=CD(u),U={x:D+C.x,y:F+C.y};while(E&&E.id!==B.id){if(E.classList.value==="root"&&E.hasAttribute("transform")){let{transformX:z,transformY:k}=CD(E);U.x+=z,U.y+=k}E=E.parentElement}return U},ICu=(u,B)=>{let E=u.getVertices(),A=u.getEdges(),C=u.getSubGraphs(),D=u.getClasses(),F={},U=D instanceof Map?D:{};if(E instanceof Map)E.forEach((M,b)=>{F[b]=YCu(M,B,U)});else if(typeof E==="object"&&E!==null)Object.entries(E).forEach(([M,b])=>{F[M]=YCu(b,B,U)});let z=new Map,k=(Array.isArray(A)?A:[]).map((M)=>{if(!B.querySelector(`[id*="${M.id}"]`))return null;let b=`${M.start}-${M.end}`,Z=z.get(b)||0;return z.set(b,Z+1),Ct4(M,Z,B)}).filter((M)=>M!==null&&M.reflectionPoints.length>1);return{type:"flowchart",subGraphs:(Array.isArray(C)?C:[]).map((M)=>{return At4(M,B,U)}),vertices:F,edges:k}};var PCu=(u,B)=>{let E={};if(B?.label)E.label={text:F5(B.label),fontSize:16};let A=u.tagName;if(A==="line")E.startX=Number(u.getAttribute("x1")),E.startY=Number(u.getAttribute("y1")),E.endX=Number(u.getAttribute("x2")),E.endY=Number(u.getAttribute("y2"));else if(A==="path"){let F=u.getAttribute("d");if(!F)throw Error('Path element does not contain a "d" attribute');let U=F.split(/(?=[LC])/),z=U[0].substring(1).split(",").map((M)=>parseFloat(M)),k=[];U.forEach((M)=>{let b=M.substring(1).trim().split(" ").map((Z)=>{let[J,K]=Z.split(",");return[parseFloat(J)-z[0],parseFloat(K)-z[1]]});k.push(...b)});let f=k[k.length-1];E.startX=z[0],E.startY=z[1],E.endX=f[0],E.endY=f[1],E.points=k}if(B?.label)E.startY=E.startY-10,E.endY=E.endY-10;let C=u.getAttribute("stroke"),D=(C&&C!=="none"?C:"")||getComputedStyle(u).stroke||"";return E.strokeColor=D?a3(D):null,E.strokeWidth=Number(u.getAttribute("stroke-width")),E.type="arrow",E.strokeStyle=B?.strokeStyle||"solid",E.startArrowhead=B?.startArrowhead||null,E.endArrowhead=B?.endArrowhead||null,E},TT=(u,B,E,A,C)=>{let D={};return D.type="arrow",D.startX=u,D.startY=B,D.endX=E,D.endY=A,Object.assign(D,{...C}),D},NL=(u,B,E,A)=>{return{type:"text",x:u,y:B,text:E,width:A?.width||20,height:A?.height||20,fontSize:A?.fontSize||nb,id:A?.id,color:A?.color,groupId:A?.groupId,metadata:A?.metadata}},Qz0=(u,B,E)=>{let A={},C=Number(u.getAttribute("x")),D=Number(u.getAttribute("y"));if(A.type="text",A.text=F5(B),E?.id)A.id=E.id;if(E?.groupId)A.groupId=E.groupId;let F=u.getBBox();A.width=F.width,A.height=F.height,A.x=C-F.width/2,A.y=D;let U=parseInt(getComputedStyle(u).fontSize);return A.fontSize=U,A.color=jL(u),A},DD=(u,B,E={})=>{let A={};A.type=B;let{label:C,subtype:D,id:F,groupId:U}=E;if(A.id=F,U)A.groupId=U;if(C)A.label={text:F5(C.text),fontSize:16,textAlign:C?.textAlign,verticalAlign:C?.verticalAlign};let z=u.getBBox();switch(A.x=z.x,A.y=z.y,A.width=z.width,A.height=z.height,A.subtype=D,D){case"highlight":let k=u.getAttribute("fill");if(k)A.bgColor=a3(k);break;case"note":A.strokeStyle="dashed";break}return A},zQ=(u,B,E,A,C,D)=>{let F={};if(F.startX=B,F.startY=E,F.endX=A,D?.groupId)F.groupId=D.groupId;if(D?.id)F.id=D.id;F.endY=C;let U=u.getAttribute("stroke");return F.strokeColor=U?a3(U):null,F.strokeWidth=Number(u.getAttribute("stroke-width")),F.type="line",F};var jCu={0:"SOLID",1:"DOTTED",3:"SOLID_CROSS",4:"DOTTED_CROSS",5:"SOLID_OPEN",6:"DOTTED_OPEN",24:"SOLID_POINT",25:"DOTTED_POINT"},xU={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},Dt4=(u)=>{let B;switch(u){case xU.SOLID:case xU.SOLID_CROSS:case xU.SOLID_OPEN:case xU.SOLID_POINT:B="solid";break;case xU.DOTTED:case xU.DOTTED_CROSS:case xU.DOTTED_OPEN:case xU.DOTTED_POINT:B="dotted";break;default:B="solid";break}return B},Ft4=(u,B)=>{if(!!u.nextElementSibling?.classList.contains("sequenceNumber")){let A=u.nextElementSibling?.textContent;if(!A)throw Error("sequence number not present");let C=30,D=C/2,F=10,U={type:"rectangle",x:B.startX-F,y:B.startY-D,label:{text:A,fontSize:14},bgColor:"#e9ecef",height:C,subtype:"sequence"};Object.assign(B,{sequenceNumber:U})}},NCu=(u,B,E)=>{if(!u)throw"root node not found";let A=a5(),C=Array.from(u.children),D=[];return C.forEach((F,U)=>{let z=`${E?.id}-${U}`,k;switch(F.tagName){case"line":let f=Number(F.getAttribute("x1")),M=Number(F.getAttribute("y1")),b=Number(F.getAttribute("x2")),Z=Number(F.getAttribute("y2"));k=zQ(F,f,M,b,Z,{groupId:A,id:z});break;case"text":k=Qz0(F,B,{groupId:A,id:z});break;case"circle":k=DD(F,"ellipse",{label:F.textContent?{text:F.textContent}:void 0,groupId:A,id:z});default:k=DD(F,UCu[F.tagName],{label:F.textContent?{text:F.textContent}:void 0,groupId:A,id:z})}D.push(k)}),D},VCu=(u,B)=>{let E=B.getAttribute("fill"),A=B.getAttribute("stroke"),C=B.getAttribute("stroke-width"),D=B.getAttribute("stroke-dasharray");if(E&&E!=="none")u.bgColor=a3(E);if(A&&A!=="none")u.strokeColor=a3(A);if(C)u.strokeWidth=Number(C);if(D&&D.trim())u.strokeStyle="dashed"},Ut4=(u,B)=>{let E=Array.from(B.querySelectorAll(".actor-top")),A=Array.from(B.querySelectorAll(".actor-bottom")),C=[],D=[],F={},U=u instanceof Map?Array.from(u.values()):Object.values(u),z=Array.from(B.querySelectorAll(".actor-line")),k=(f,M)=>{let b=f.name,Z=z.find((K)=>K.getAttribute("name")===b);if(Z)return Z;let J=f.type==="participant"?M.parentElement?.previousElementSibling:M.previousElementSibling;if(!J)return null;if(J.tagName==="line")return J;return J.querySelector("line")};return U.forEach((f)=>{let M=E.find((J)=>J.getAttribute("name")===f.name),b=A.find((J)=>J.getAttribute("name")===f.name);if(!M||!b)throw"root not found";let Z=f.description;if(f.type==="participant"){let J=DD(M,"rectangle",{id:`${f.name}-top`,label:{text:Z},subtype:"actor"});if(VCu(J,M),!J)throw"Top Node element not found!";C.push([J]);let K=DD(b,"rectangle",{id:`${f.name}-bottom`,label:{text:Z},subtype:"actor"});F[f.name]={topId:`${f.name}-top`,bottomId:`${f.name}-bottom`,bindType:"rectangle"},VCu(K,b),C.push([K]);let w=k(f,M);if(w?.tagName!=="line")throw"Line not found";let Q=Number(w.getAttribute("x1"));if(!J.height)throw"Top node element height is null";let G=J.y+J.height,H=K.y,l=Number(w.getAttribute("x2")),q=zQ(w,Q,G,l,H);D.push(q)}else if(f.type==="actor"){let J=NCu(M,Z,{id:`${f.name}-top`});C.push(J);let K=NCu(b,Z,{id:`${f.name}-bottom`});C.push(K);let w=k(f,M);if(w?.tagName!=="line")throw"Line not found";let Q=Number(w.getAttribute("x1")),G=Number(w.getAttribute("y1")),H=Number(w.getAttribute("x2")),l=K.find((v)=>v.type==="ellipse");if(l){let v=l.y,x=zQ(w,Q,G,H,v);D.push(x)}let q=J.find((v)=>v.type==="ellipse"),L=K.find((v)=>v.type==="ellipse");if(q?.id&&L?.id)F[f.name]={topId:q.id,bottomId:L.id,bindType:"ellipse"}}}),{nodes:C,lines:D,actorMap:F}},zt4=(u,B,E)=>{let A=[],C=Array.from(B.querySelectorAll('[class*="messageLine"]')),D=Object.keys(jCu),F=u.filter((U)=>D.includes(U.type.toString()));return C.forEach((U,z)=>{let k=F[z],f=jCu[k.type],M=PCu(U,{label:k?.message,strokeStyle:Dt4(k.type),endArrowhead:f==="SOLID_OPEN"||f==="DOTTED_OPEN"?null:"arrow"}),b=E[k.from],Z=E[k.to];if(b?.topId&&Z?.topId)M.start={type:b.bindType||"rectangle",id:b.topId},M.end={type:Z.bindType||"rectangle",id:Z.topId};Ft4(U,M),A.push(M)}),A},kt4=(u,B)=>{let E=Array.from(B.querySelectorAll(".note")).map((D)=>D.parentElement),A=u.filter((D)=>D.type===xU.NOTE),C=[];return E.forEach((D,F)=>{if(!D)return;let U=D.firstChild,z=A[F].message,k=DD(U,"rectangle",{label:{text:z},subtype:"note"}),f=U.getAttribute("fill"),M=U.getAttribute("stroke"),b=U.getAttribute("stroke-width"),Z=U.getAttribute("stroke-dasharray");if(f&&f!=="none")k.bgColor=a3(f);if(M&&M!=="none")k.strokeColor=a3(M);if(b)k.strokeWidth=Number(b);if(Z&&Z.trim())k.strokeStyle="dashed";C.push(k)}),C},ft4=(u)=>{let B=Array.from(u.querySelectorAll("[class*=activation]")),E=[];return B.forEach((A)=>{let C=DD(A,"rectangle",{label:{text:""},subtype:"activation"});(()=>{let F=A.getAttribute("fill"),U=A.getAttribute("stroke"),z=A.getAttribute("stroke-width"),k=A.getAttribute("stroke-dasharray");if(F&&F!=="none")C.bgColor=a3(F);if(U&&U!=="none")C.strokeColor=a3(U);if(z)C.strokeWidth=Number(z);if(k&&k.trim())C.strokeStyle="dashed"})(),E.push(C)}),E},Mt4=(u,B)=>{let E=Array.from(B.querySelectorAll(".loopLine")),A=[],C=[],D=[];E.forEach((f)=>{let M=Number(f.getAttribute("x1")),b=Number(f.getAttribute("y1")),Z=Number(f.getAttribute("x2")),J=Number(f.getAttribute("y2")),K=zQ(f,M,b,Z,J);K.strokeStyle="dotted",K.strokeColor="#adb5bd",K.strokeWidth=2,A.push(K)});let F=Array.from(B.querySelectorAll(".loopText")),U=u.filter((f)=>f.type===xU.CRITICAL_START).map((f)=>f.message);F.forEach((f)=>{let M=f.textContent||"",b=Qz0(f,M),Z=M.match(/\[(.*?)\]/)?.[1]||"";if(U.includes(Z))b.x+=16;C.push(b)});let z=Array.from(B?.querySelectorAll(".labelBox")),k=Array.from(B?.querySelectorAll(".labelText"));return z.forEach((f,M)=>{let b=k[M]?.textContent||"",Z=DD(f,"rectangle",{label:{text:b}});Z.strokeColor="#adb5bd",Z.bgColor="#e9ecef",Z.width=void 0,D.push(Z)}),{lines:A,texts:C,nodes:D}},bt4=(u)=>{let B=Array.from(u.querySelectorAll(".rect")).filter((A)=>A.parentElement?.tagName!=="g"),E=[];return B.forEach((A)=>{let C=DD(A,"rectangle",{label:{text:""},subtype:"highlight"});E.push(C)}),E},hCu=(u,B)=>{let E=u.db,A=[],D=E.getBoxes().map((w)=>({...w,fill:a3(w.fill||"")})),F=bt4(B),U=E.getActors(),{nodes:z,lines:k,actorMap:f}=Ut4(U,B),M=E.getMessages(),b=zt4(M,B,f),Z=kt4(M,B),J=ft4(B),K=Mt4(M,B);return A.push(F),A.push(...z),A.push(Z),A.push(J),{type:"sequence",lines:k,arrows:b,nodes:A,loops:K,groups:D}};var Zt4=(u)=>{let B={};if(!u)return B;return u.forEach((E)=>{g7(E).forEach(({property:A,value:C})=>{if(A&&C)B[A]=a3(C)})}),B},C_={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},iCu={LINE:0,DOTTED_LINE:1},aCu=16,Jt4=(u)=>{let B;switch(u){case iCu.LINE:B="solid";break;case iCu.DOTTED_LINE:B="dotted";break;default:B="solid"}return B},mCu=(u)=>{let B;switch(u){case C_.AGGREGATION:B="diamond_outline";break;case C_.COMPOSITION:B="diamond";break;case C_.EXTENSION:B="triangle_outline";break;case"none":B=null;break;case C_.DEPENDENCY:default:B="arrow";break}return B},Gz0=(u,B)=>{let E=0,A=0,C=u;while(C&&C!==B){let{transformX:D,transformY:F}=CD(C);E+=D,A+=F,C=C.parentElement}return{tx:E,ty:A}},$Cu=new Set(["triangle_outline","diamond","diamond_outline"]),gCu=(u,B=0.5)=>{if(u.length<=2)return[...u];let E=[u[0]];for(let A=1;A<u.length-1;A++){let C=E[E.length-1],D=u[A],F=u[A+1],U=F.x-C.x,z=F.y-C.y,k=Math.hypot(U,z);if(!k)continue;let M=Math.abs(U*(D.y-C.y)-z*(D.x-C.x))/k,b=((D.x-C.x)*U+(D.y-C.y)*z)/(k*k);if(M<=B&&b>=-B&&b<=1+B)continue;E.push(D)}return E.push(u[u.length-1]),E},cCu=(u)=>{let B=YT(u_(u).map((A)=>[A.x,A.y])).map(([A,C])=>({x:A,y:C})),E=RT(u);if(E&&B.length>=2)B[0]={x:E.startX,y:E.startY},B[B.length-1]={x:E.endX,y:E.endY};return gCu(B)},yCu=(u,B,E)=>{let A=u.x-B.x,C=u.y-B.y,D=Math.hypot(A,C);if(!D)return u;return{x:u.x+A/D*E,y:u.y+C/D*E}},Kt4=(u,B)=>{let E=YT(B.map((D)=>[D.x,D.y])).map(([D,F])=>({x:D,y:F}));if(E.length<2)throw Error("Arrow route must contain at least two points");let A=E[0],C=E[E.length-1];u.startX=A.x,u.startY=A.y,u.endX=C.x,u.endY=C.y,u.points=E.map((D)=>[D.x-A.x,D.y-A.y])},wt4=(u)=>{let B=u.points?.map(([D,F])=>({x:u.startX+D,y:u.startY+F})).filter((D)=>Number.isFinite(D.x)&&Number.isFinite(D.y));if(!B||B.length<2)return u;let E=[...B],A=!!u.startArrowhead&&$Cu.has(u.startArrowhead),C=!!u.endArrowhead&&$Cu.has(u.endArrowhead);if(!A&&!C)return u;if(A)E[0]=yCu(E[0],E[1],aCu);if(C){let D=E.length-1;E[D]=yCu(E[D],E[D-1],aCu)}return Kt4(u,E),u},Qt4=(u,B)=>{let E=a3(u.getAttribute("stroke")||getComputedStyle(u).stroke||""),A=parseFloat(u.getAttribute("stroke-width")||getComputedStyle(u).strokeWidth||"1");if(c7(E)&&E!=="none")B.strokeColor=E;if(Number.isFinite(A)&&A>0)B.strokeWidth=A},Gt4=(u)=>{let B=[];return u.forEach((E)=>{cCu(E).forEach((A)=>{let C=B[B.length-1];if(C&&C.x===A.x&&C.y===A.y)return;B.push(A)})}),gCu(B)},_Cu=(u,B,E)=>{if(u.length<2)throw Error(`Class diagram edge ${B?.id||"<unknown>"} is missing usable path points`);let A=u[0],C=u[u.length-1],D=TT(A.x,A.y,C.x,C.y,{id:B?.getAttribute("data-id")||B?.id||void 0,...E,points:u.map((F)=>[F.x-A.x,F.y-A.y])});if(B)Qt4(B,D);return wt4(D)},pCu=(u,B)=>_Cu(Gt4(u),u[0],B),Ht4=(u,B)=>{let E=cCu(u);return _Cu([E[0],E[E.length-1]],u,B)},qt4=(u,B)=>pCu([u],B),lt4=(u,B)=>{return[`${u}-cyclic-special-1`,`${u}-cyclic-special-mid`,`${u}-cyclic-special-2`].map((A)=>B.querySelector(`path[id="${A}"][data-edge="true"]`)).filter((A)=>A!==null)},Lt4=(u)=>{return u.points?.map(([B,E])=>({x:u.startX+B,y:u.startY+E})).filter((B)=>Number.isFinite(B.x)&&Number.isFinite(B.y))||[]},rCu=(u,B)=>{let E=Lt4(u);if(E.length<2)return null;let A=B==="start",C=A?E[0]:E[E.length-1],D=A?E[1]:E[E.length-2],F=D.x===C.x?A?-1:1:Math.sign(D.x-C.x),U=D.y===C.y?1:Math.sign(D.y-C.y);return{x:C.x+F*20,y:C.y+(U>=0?12:-28)}},Xt4=(u,B)=>{let E=u;while(E&&E!==B){if(E.classList.contains("annotation-group"))return"header";if(E.classList.contains("label-group"))return"header";if(E.classList.contains("members-group"))return"members";if(E.classList.contains("methods-group"))return"methods";E=E.parentElement}return"other"},vt4=(u,B,E)=>{let A=[],C=[],D=[];return Object.values(u).forEach((F)=>{let{domId:U,id:z}=F,k=a5(),f=Zt4(F.styles||F.cssStyles),M;try{M=E?E(z):void 0}catch{M=void 0}let b=(V)=>{let j=new RegExp(`^classId-${V}(?:-|$)`);return Array.from(B.querySelectorAll("[id]")).filter((a)=>j.test(a.id))[0]},Z=M&&B.querySelector(`#${M}`)||B.querySelector(`#${U}`)||B.querySelector(`[data-id='${z}']`)||b(z);if(!Z)throw Error(`DOM Node with id ${U} not found`);let J=Z.querySelector("rect")||Z,K=J.getBBox(),{tx:w,ty:Q}=Gz0(J,B),G={type:"rectangle",id:z,groupId:k,x:K.x+w,y:K.y+Q,width:K.width,height:K.height,metadata:{classId:z}},H=J.getAttribute("fill"),l=J.getAttribute("stroke"),q=J.getAttribute("stroke-width"),L=J.getAttribute("stroke-dasharray"),v=getComputedStyle(J),x=a3(H||f.fill||(H?v.fill:"")),S=a3(l||f.stroke||(l?v.stroke:"")),W=q||f["stroke-width"]||(q?v.strokeWidth:""),T=L||f["stroke-dasharray"]||(L?v.strokeDasharray==="none"?"":v.strokeDasharray:""),R=(V)=>{if(!V)return!1;if(!c7(V))return!1;let j=V.toLowerCase();return!(j==="none"||j==="transparent"||j==="rgba(0, 0, 0, 0)"||j==="black"||j==="#000"||j==="#000000"||j==="rgb(0, 0, 0)"||j==="rgba(0, 0, 0, 1)")};if(R(x))G.bgColor=x;else G.bgColor=void 0;if(R(S))G.strokeColor=S;else G.strokeColor=void 0;if(W)G.strokeWidth=Number(W);else G.strokeWidth=void 0;if(T&&T.trim().length>0)G.strokeStyle="dashed";else G.strokeStyle=void 0;A.push(G),[...Array.from(Z.querySelectorAll("line")),...Array.from(Z.querySelectorAll("g.divider path"))].forEach((V)=>{let{tx:j,ty:i}=Gz0(V,B),a,$,m,y;if(V.tagName.toLowerCase()==="line")a=Number(V.getAttribute("x1"))+j,$=Number(V.getAttribute("y1"))+i,m=Number(V.getAttribute("x2"))+j,y=Number(V.getAttribute("y2"))+i;else{let _=V.getBBox();a=_.x+j,m=_.x+_.width+j;let e=_.y+_.height/2+i;$=e,y=e}if(a===m&&$===y)return;let r=zQ(V,a,$,m,y,{groupId:k,id:a5()});if(G.strokeColor)r.strokeColor=G.strokeColor;else r.strokeColor=void 0;if(G.strokeWidth!==void 0)r.strokeWidth=G.strokeWidth;else r.strokeWidth=void 0;if(G.strokeStyle)r.strokeStyle=G.strokeStyle;else r.strokeStyle=void 0;r.metadata={classId:z},C.push(r)});let h=Array.from(Z.querySelectorAll("text, foreignObject")),I=[];h.forEach((V)=>{let j=V.tagName.toLowerCase()==="foreignobject",i=!j?Array.from(V.querySelectorAll("tspan")):[],a=i.length?i.map((_)=>_.textContent?.trim()).filter(Boolean).join(`
`):V.textContent?.trim()||"";if(!a)return;let $=V.getBBox(),{ty:m}=Gz0(V,B),y=parseFloat(getComputedStyle(V).fontSize||"");if(j&&(!Number.isFinite(y)||!y)){let _=V.querySelector("div, span, p");if(_)y=parseFloat(getComputedStyle(_).fontSize||"")}if(!Number.isFinite(y)||y<=0)y=Math.max(12,$.height*0.6);y=y*0.9;let r=jL(V,f.color);I.push({section:Xt4(V,Z),text:F5(a),x:$.x,y:$.y+m,width:G&&G.width?Math.max(G.width-8,$.width):$.width,height:$.height,fontSize:y,color:r})});let O=I.filter((V)=>V.section==="header").sort((V,j)=>V.y-j.y||V.x-j.x);if(!G.label){let V=O.length===0&&I.length===1?I:O;if(V.length>0)G.label={text:V.map((j)=>j.text).join(`
`),fontSize:Math.max(...V.map((j)=>j.fontSize)),color:V.find((j)=>j.color)?.color,verticalAlign:"top"}}I.filter((V)=>{if(O.length>0)return V.section!=="header";return!(G.label&&I.length===1)}).forEach((V)=>{let j=NL((G?.x||0)+4,V.y,V.text,{width:V.width,height:V.height,fontSize:V.fontSize,color:V.color,id:a5(),groupId:k,metadata:{classId:z}});D.push(j)})}),{nodes:A,lines:C,text:D}},xt4=(u,B,E,A)=>{let C=Array.from(E.querySelectorAll('.edgePaths path[data-edge="true"]:not([id^="edgeNote"]):not([id*="-cyclic-special-"])'));if(u.length===0)return{arrows:[],text:[]};let D=[],F=[],U=0;return u.forEach((z)=>{let{id1:k,id2:f,relation:M}=z,b=B.find((W)=>W.id===k),Z=B.find((W)=>W.id===f);if(!b)throw Error(`parseRelations: Cannot find node with id ${k}`);if(!Z)throw Error(`parseRelations: Cannot find node with id ${f}`);let J=Jt4(M.lineType),K=mCu(M.type1),w=mCu(M.type2),Q;if(k===f){let W=lt4(k,E);if(!W.length)throw Error(`parseRelations: Cannot find rendered SVG edge for relation ${k} -> ${f}`);Q=pCu(W,{strokeStyle:J,startArrowhead:K,endArrowhead:w,label:z.title?{text:z.title}:void 0,start:{type:"rectangle",id:b.id},end:{type:"rectangle",id:Z.id}})}else{let W=C[U];if(!W)throw Error(`parseRelations: Cannot find rendered SVG edge for relation ${k} -> ${f}`);U+=1,Q=Ht4(W,{strokeStyle:J,startArrowhead:K,endArrowhead:w,label:z.title?{text:z.title}:void 0,start:{type:"rectangle",id:b.id},end:{type:"rectangle",id:Z.id}})}D.push(Q);let{relationTitle1:G,relationTitle2:H}=z,l=k===f,q=20,L=15,v=15,x,S;if(G&&G!=="none"){if(l){let T=rCu(Q,"start");if(T)x=T.x,S=T.y}else switch(A){case"TB":if(x=Q.startX-q,Q.endX<Q.startX)x-=v;S=Q.startY+L;break;case"BT":if(x=Q.startX+q,Q.endX>Q.startX)x+=v;S=Q.startY-L;break;case"LR":if(x=Q.startX+q,S=Q.startY+L,Q.endY>Q.startY)S+=v;break;case"RL":if(x=Q.startX-q,S=Q.startY-L,Q.startY>Q.endY)S-=v;break;default:x=Q.startX-q,S=Q.startY+L}x??=Q.startX-q,S??=Q.startY+L;let W=NL(x,S,G,{fontSize:16});F.push(W)}if(H&&H!=="none"){if(l){let T=rCu(Q,"end");if(T)x=T.x,S=T.y}else switch(A){case"TB":if(x=Q.endX+q,Q.endX<Q.startX)x+=v;S=Q.endY-L;break;case"BT":if(x=Q.endX-q,Q.endX>Q.startX)x-=v;S=Q.endY+L;break;case"LR":if(x=Q.endX-q,S=Q.endY-L,Q.endY>Q.startY)S-=v;break;case"RL":if(x=Q.endX+q,S=Q.endY+L,Q.startY>Q.endY)S+=v;break;default:x=Q.endX+q,S=Q.endY-L}x??=Q.endX+q,S??=Q.endY+L;let W=NL(x,S,H,{fontSize:16});F.push(W)}}),{arrows:D,text:F}},Wt4=(u,B,E)=>{let A=[],C=[];return u.forEach((D,F)=>{let{id:U,text:z,class:k}=D,f=B.querySelector(`#${U}`);if(!f)throw Error(`Node with id ${U} not found!`);let{transformX:M,transformY:b}=CD(f),Z=f.firstChild,J=DD(Z,"rectangle",{id:U,subtype:"note",label:{text:z}});if(Object.assign(J,{x:J.x+M,y:J.y+b}),A.push(J),k){let K=E.find((L)=>L.id===k);if(!K)throw Error(`class node with id ${k} not found!`);let w=B.querySelector(`path[id="edgeNote${F+1}"][data-edge="true"]`);if(w){C.push(qt4(w,{strokeStyle:"dotted",startArrowhead:null,endArrowhead:null,start:{id:J.id,type:"rectangle"},end:{id:K.id,type:"rectangle"}}));return}let Q=J.x+(J.width||0)/2,G=J.y+(J.height||0),H=Q,l=K.y,q=TT(Q,G,H,l,{strokeStyle:"dotted",startArrowhead:null,endArrowhead:null,start:{id:J.id,type:"rectangle"},end:{id:K.id,type:"rectangle"}});C.push(q)}}),{notes:A,connectors:C}},nCu=(u,B)=>{let E=u.db,A=E.getDirection?.()||"TB",C=[],D=[],F=[],U=[],z=E.getNamespaces?.()||[],k=E.getClasses?.()||{},f=k instanceof Map?Object.fromEntries(k):k;if(f&&Object.keys(f).length){let Q=typeof E.lookUpDomId==="function"?E.lookUpDomId.bind(E):void 0,G=vt4(f,B,Q);C.push(G.nodes),D.push(...G.lines),F.push(...G.text),U.push(...G.nodes)}let M=E.getRelations?.()||[],{arrows:b,text:Z}=xt4(M,U,B,A),J=E.getNotes?.()||[],{notes:K,connectors:w}=Wt4(J,B,U);return C.push(K),b.push(...w),F.push(...Z),{type:"class",nodes:C,lines:D,arrows:b,text:F,namespaces:z}};var dCu=18,St4=(u)=>{let B={};if(!u)return B;return u.forEach((E)=>{g7(E).forEach(({property:A,value:C})=>{if(A&&C)B[A]=a3(C)})}),B},Yt4=(u)=>{if(u===null||u===void 0||u==="")return;let B=typeof u==="number"?u:parseFloat(a3(u));if(!Number.isFinite(B)||B<=0)return;return B},Hz0=(u,B)=>{let E=0,A=0,C=u;while(C&&C!==B){let{transformX:D,transformY:F}=CD(C);E+=D,A+=F,C=C.parentElement}return{tx:E,ty:A}},Rt4=(u)=>{let B=Array.from(u.querySelectorAll("tspan")),E=B.length?B.map((A)=>A.textContent?.trim()).filter(Boolean).join(`
`):u.textContent?.trim()||"";return F5(E)},Tt4=(u)=>{let B=u.querySelector("text, foreignObject, div, span, p")||u,E=parseFloat(getComputedStyle(B).fontSize||"");if(!Number.isFinite(E)||E<=0)E=Math.max(12,u.getBBox().height*0.75);return E},Ot4=(u,B,E)=>{let A=Rt4(u);if(!A)return null;let C=u.getBBox(),{tx:D,ty:F}=Hz0(u,B);return{className:u.getAttribute("class")||"",text:A,x:C.x+D,y:C.y+F,width:C.width,height:C.height,fontSize:Tt4(u),color:jL(u,E)}},It4=(u,B,E,A,C,D,F)=>{let{tx:U,ty:z}=Hz0(u,B),k=0,f=0,M=0,b=0;if(u.tagName.toLowerCase()==="line")k=Number(u.getAttribute("x1"))+U,f=Number(u.getAttribute("y1"))+z,M=Number(u.getAttribute("x2"))+U,b=Number(u.getAttribute("y2"))+z;else{let J=RT(u);if(!J)return null;k=J.startX+U,f=J.startY+z,M=J.endX+U,b=J.endY+z}let Z={type:"line",id:a5(),groupId:E,startX:k,startY:f,endX:M,endY:b,metadata:{entityId:A}};if(C&&c7(C)&&C!=="none")Z.strokeColor=C;if(D!==void 0)Z.strokeWidth=D;if(F)Z.strokeStyle=F;return Z},sCu=(u)=>{switch(u?.toLowerCase()){case"one":return"cardinality_one";case"many":return"cardinality_many";case"only_one":return"cardinality_exactly_one";case"one_or_more":return"cardinality_one_or_many";case"zero_or_one":return"cardinality_zero_or_one";case"zero_or_more":return"cardinality_zero_or_many";default:return null}},Pt4=(u)=>{switch(u){case"dotted":return"dotted";case"dashed":return"dashed";default:return"solid"}},jt4=(u,B)=>{let E=B.querySelector(`path[id="${u.id}"][data-edge="true"]`);if(E)return[E];if(u.start!==u.end)return[];return[`${u.start}-cyclic-special-1`,`${u.start}-cyclic-special-mid`,`${u.start}-cyclic-special-2`].map((C)=>B.querySelector(`path[id="${C}"][data-edge="true"]`)).filter((C)=>C!==null)},Nt4=(u)=>{let B=[];return u.forEach((E)=>{u_(E).forEach((A)=>{let C=B[B.length-1];if(C&&C.x===A.x&&C.y===A.y)return;B.push(A)})}),B},Vt4=(u,B)=>{let E=B.querySelector(`[id="${u.id}"]`);if(!E)throw Error(`ER entity ${u.id} not found in rendered SVG`);let A=u.attributes.length?a5():void 0,C=E.getBBox(),{tx:D,ty:F}=Hz0(E,B),U=St4([...u.cssStyles||[],...u.cssCompiledStyles||[]]),z=a3(U.fill||""),k=a3(U.stroke||""),f=Yt4(U["stroke-width"]),M=a3(U["stroke-dasharray"]||""),b=Array.from(E.querySelectorAll("g.label")).map((H)=>Ot4(H,B,U.color)).filter((H)=>H!==null),Z=b.find((H)=>H.className.includes("name"))||b[0],J=b.filter((H)=>H!==Z),K=Z?.text||F5(u.alias||u.label||""),w={type:"rectangle",id:u.id,groupId:A,x:C.x+D,y:C.y+F,width:C.width,height:C.height,label:{text:K,fontSize:u.attributes.length?dCu:Z?.fontSize||16,color:Z?.color,textAlign:"center",verticalAlign:u.attributes.length?"top":"middle"},metadata:{entityId:u.id,entityLabel:u.label,entityAlias:u.alias}};if(c7(z)&&z!=="none")w.bgColor=z;if(c7(k)&&k!=="none")w.strokeColor=k;if(f&&Number.isFinite(f)&&f>0)w.strokeWidth=f;if(M&&M!=="none")w.strokeStyle="dashed";let Q=Array.from(E.querySelectorAll(".divider path, path.divider, line.divider")).map((H)=>It4(H,B,A,u.id,w.strokeColor,w.strokeWidth,w.strokeStyle)).filter((H)=>H!==null),G=J.map((H)=>NL(H.x,H.y,H.text,{id:a5(),groupId:A,width:H.width,height:H.height,fontSize:dCu,color:H.color,metadata:{entityId:u.id}}));return{container:w,lines:Q,text:G}},ht4=(u,B)=>{let E=jt4(u,B);if(!E.length)throw Error(`ER relationship ${u.id} not found in rendered SVG`);let A=Nt4(E);if(A.length<2)throw Error(`ER relationship ${u.id} is missing usable path points`);let C=A[0],D=A[A.length-1],F=E[0],U=a3(F.getAttribute("stroke")||getComputedStyle(F).stroke||""),z=Number(F.getAttribute("stroke-width")||getComputedStyle(F).strokeWidth||1),k=TT(C.x,C.y,D.x,D.y,{id:u.id,label:u.label?{text:F5(u.label),fontSize:16,textAlign:"center"}:void 0,strokeStyle:Pt4(u.pattern),startArrowhead:sCu(u.arrowTypeStart),endArrowhead:sCu(u.arrowTypeEnd),start:{type:"rectangle",id:u.start},end:{type:"rectangle",id:u.end},points:A.map((f)=>[f.x-C.x,f.y-C.y])});if(c7(U)&&U!=="none")k.strokeColor=U;if(Number.isFinite(z)&&z>0)k.strokeWidth=z;return k},oCu=(u,B)=>{let E=u.getData(),A=E.nodes,C=E.edges,D=[],F=[],U=[];A.forEach((k)=>{let f=Vt4(k,B);D.push(f.container),F.push(...f.lines),U.push(...f.text)});let z=C.map((k)=>ht4(k,B));return{type:"erd",nodes:[D],lines:F,arrows:z,text:U}};var kQ=(u)=>{let B=a3(u||"");if(!B)return!1;if(B==="none"||B==="transparent"||B==="rgba(0, 0, 0, 0)"||B==="rgba(0,0,0,0)")return!1;return c7(B)},eCu=(u,B,E)=>{switch(B){case Z1.FILL:case Z1.STROKE:if(kQ(E))u[B]=a3(E);break;case Z1.STROKE_WIDTH:case Z1.STROKE_DASHARRAY:if(a3(E))u[B]=a3(E);break}},uDu=(u,B,E)=>{if(B===i5.COLOR&&kQ(E))u[i5.COLOR]=a3(E)},it4=(u,B,E)=>{if(!u)return;g7(u).forEach(({property:A,value:C})=>{eCu(B,A,C),uDu(E,A,C)})},at4=(u,B)=>{if(!u)return;g7(u).forEach(({property:E,value:A})=>{if(E===Z1.FILL&&kQ(A)){B[i5.COLOR]=a3(A);return}uDu(B,E,A)})},mt4=(u)=>{let B=new Set;return u.filter(Boolean).forEach((E)=>{g7(E||"").forEach(({property:A})=>{B.add(A)})}),B},$t4=(u,B,E)=>{if(!u)return;[[Z1.FILL,u.getAttribute("fill")],[Z1.STROKE,u.getAttribute("stroke")],[Z1.STROKE_WIDTH,u.getAttribute("stroke-width")],[Z1.STROKE_DASHARRAY,u.getAttribute("stroke-dasharray")]].forEach(([C,D])=>{if(!E.has(C))return;if(B[C])return;let F=a3(D||"");if(!F)return;eCu(B,C,F)})},yt4=(u,B,E)=>{if(!u)return;let A=[u,...Array.from(u.querySelectorAll("text, foreignObject, div, span, p"))];for(let C of A){if(B[i5.COLOR])break;if(E.has(i5.COLOR)||E.has(Z1.FILL)){if(at4(C.getAttribute("style"),B),B[i5.COLOR])break}let D=a3(C.getAttribute("fill")||C.getAttribute("color")||"");if((E.has(i5.COLOR)||E.has(Z1.FILL))&&kQ(D))B[i5.COLOR]=D}},lz0=(u,B)=>{let E=0,A=0,C=u;while(C&&C!==B){let{transformX:D,transformY:F}=CD(C);E+=D,A+=F,C=C.parentElement}return{tx:E,ty:A}},rt4=(u,B)=>{let E=u.getBBox(),{tx:A,ty:C}=lz0(u,B);return{x:E.x+A,y:E.y+C,width:E.width,height:E.height}},gt4=(u,B)=>{let E=u.querySelector("line.divider");if(!E)return;let{tx:A,ty:C}=lz0(E,B);return{startX:Number(E.getAttribute("x1"))+A,startY:Number(E.getAttribute("y1"))+C,endX:Number(E.getAttribute("x2"))+A,endY:Number(E.getAttribute("y2"))+C}},ct4=(u)=>{let B=u.getBBox();return Math.abs(B.width*B.height)},tCu=(u,B)=>{let E=u.getAttribute("style");if(!E)return;let A=g7(E).find((C)=>C.property===B);if(!A)return;return a3(A.value)},qz0=(u,B)=>{let E=u.map((C)=>({element:C,area:ct4(C)})).filter(({area:C})=>Number.isFinite(C)&&C>0);if(E.length===0)return null;return E.sort((C,D)=>B==="largest"?D.area-C.area:C.area-D.area)[0].element},_t4=(u,B)=>{if(!u)return;if(!B.has(Z1.FILL)&&!B.has(Z1.STROKE))return;let E=a3(u.getAttribute("fill")||tCu(u,Z1.FILL)||""),A=a3(u.getAttribute("stroke")||tCu(u,Z1.STROKE)||"");if(kQ(E))return E;if(kQ(A))return A;return},pt4=(u,B)=>{let E=Array.from(u.querySelectorAll("circle, ellipse, path")),A=qz0(E,"smallest");return _t4(A,B)},nt4=(u)=>{if(u.length<2)return u;let B=u.slice(1),E=B.filter((A)=>A.trim().length>0).reduce((A,C)=>{let D=C.match(/^\s*/)?.[0].length??0;return Math.min(A,D)},Number.POSITIVE_INFINITY);if(!Number.isFinite(E)||E<=0)return u.map((A)=>A.trimEnd());return[u[0].trimEnd(),...B.map((A)=>A.replace(new RegExp(`^\\s{0,${E}}`),"").trimEnd())]},dt4=(u)=>{let B=Array.isArray(u.label)?u.label.map((A)=>F5(A)):F5(u.label||"").split(`
`);return nt4(B).join(`
`)},st4=(u)=>{if(!u.description)return[];return(Array.isArray(u.description)?u.description:[u.description]).map((E)=>F5(E)).filter((E)=>E.length>0)},ot4=(u)=>{let B=new Set,E=(C)=>{if(C)B.add(C);return C},A=(C)=>{let D=C.find((F)=>!B.has(F));return E(D||null)};return(C)=>{let D=[`[id='${C.domId}']`,`[id='${C.id}']`,`[data-id='${C.id}']`];for(let F of D){let U=u.querySelector(F);if(U)return E(U)}switch(C.shape){case"divider":return A(Array.from(u.querySelectorAll("g.statediagram-cluster-alt")));case"stateStart":return A(Array.from(u.querySelectorAll("g.node.default")).filter((F)=>F.querySelector("circle.state-start")));case"stateEnd":return A(Array.from(u.querySelectorAll("g.node.default")).filter((F)=>!F.querySelector("circle.state-start")));default:return null}}},tt4=(u,B)=>{switch(B){case"roundedWithTitle":return u.querySelector("rect.outer")||u.querySelector("rect")||u;case"divider":return u.querySelector("rect.divider")||u.querySelector("rect")||u;case"rectWithTitle":return u.querySelector("rect.outer")||u.querySelector("rect")||u;case"stateStart":return qz0(Array.from(u.querySelectorAll("circle, ellipse, path")),"largest")||u;case"stateEnd":return qz0(Array.from(u.querySelectorAll("circle, ellipse, path")),"largest")||u;case"choice":case"fork":case"join":case"note":case"rect":default:return u.querySelector("rect, path, circle, ellipse, polygon")||u}},et4=(u,B,E)=>{let A=E(u);if(!A)throw Error(`State node element not found for "${u.id}"`);let C=tt4(A,u.shape),D={},F={},U=[u.labelStyle,...u.cssCompiledStyles||[],...u.cssStyles||[]],z=mt4(U);U.filter(Boolean).forEach((f)=>{it4(f,D,F)}),$t4(C,D,z),yt4(A,F,z);let k=rt4(C,B);return{id:u.id,shape:u.shape,text:dt4(u),description:st4(u),x:k.x,y:k.y,width:k.width,height:k.height,parentId:u.parentId,position:u.position,containerStyle:D,labelStyle:F,dividerLine:u.shape==="rectWithTitle"?gt4(A,B):void 0,endInnerColor:u.shape==="stateEnd"?pt4(A,z):void 0,isRenderable:u.shape!=="noteGroup"}},ue4=(u,B)=>{let E=B.querySelector(`[id='${u.id}']`);if(!E)return null;let{tx:A,ty:C}=lz0(E,B),D=B_(E,{x:A,y:C},"MCL");if(D.reflectionPoints.length<2)return null;let F={},U=(k,f)=>{switch(k){case Z1.STROKE:if(kQ(f))F.strokeColor=a3(f);break;case Z1.STROKE_WIDTH:{let M=parseFloat(a3(f));if(Number.isFinite(M)&&M>0)F.strokeWidth=M;break}case Z1.STROKE_DASHARRAY:if(a3(f))F.strokeStyle="dashed";break}};[u.style].filter(Boolean).forEach((k)=>{g7(k||"").forEach(({property:f,value:M})=>{U(f,M)})});let z=u.arrowhead==="none"||u.classes?.includes("note-edge");return{id:u.id,start:u.start,end:u.end,text:F5(u.label||""),...D,strokeColor:F.strokeColor,strokeWidth:F.strokeWidth,strokeStyle:z?"dashed":F.strokeStyle,isNoteEdge:z}},BDu=(u,B)=>{let{nodes:E,edges:A}=u.getData(),C=ot4(B);return{type:"state",nodes:E.map((D)=>et4(D,B,C)),edges:A.map((D)=>ue4(D,B)).filter((D)=>D!==null)}};var EDu=Promise.resolve(),ADu=(u)=>{let B=EDu.then(u,u);return EDu=B.then(()=>{return},()=>{return}),B};var CDu=null,Be4=0,Ee4=(u)=>{return JSON.stringify(u)},DDu=(u)=>{let B=u.querySelector("svg");if(!B)throw Error("SVG element not found");let E=B.getBoundingClientRect(),A=E.width,C=E.height;B.setAttribute("width",`${A}`),B.setAttribute("height",`${C}`);let D="image/svg+xml",F=unescape(encodeURIComponent(B.outerHTML)),z=`data:image/svg+xml;base64,${btoa(F)}`;return{type:"graphImage",mimeType:D,dataURL:z,width:A,height:C}},FDu=async(u,B=vT)=>{return ADu(async()=>{let E=B.themeVariables?.fontSize??vT.themeVariables.fontSize,A={...vT,...B,fontSize:E,themeVariables:{...vT.themeVariables,...B.themeVariables,fontSize:E}},C=Ee4(A);if(C!==CDu)AD.initialize(A),CDu=C;let D=await AD.mermaidAPI.getDiagramFromText(xCu(u)),F=`mermaid-to-excalidraw-${Be4++}`,U=document.createElement("div");U.setAttribute("style","opacity: 0; position: fixed; z-index: -1; left: -99999px; top: -99999px;");let z=`${F}-container`;U.id=z,document.getElementById(z)?.remove(),document.body.appendChild(U);try{let{svg:k}=await AD.render(F,u,U);U.innerHTML=k;let f;try{switch(D.type){case"flowchart-v2":case"graph":{f=ICu(D.db,U);break}case"sequence":{f=hCu(D,U);break}case"class":case"classDiagram":{f=nCu(D,U);break}case"er":{f=oCu(D.db,U);break}case"state":case"stateDiagram":{f=BDu(D.db,U);break}default:f=DDu(U)}}catch(M){console.error("Error processing Mermaid diagram:",M),f=DDu(U)}return f}finally{U.remove()}})};var UDu=async(u,B)=>{let E=B||{},A=parseInt(E.themeVariables?.fontSize??"")||nb,C=await FDu(u,{...E,themeVariables:{...E.themeVariables}});return WCu(C,{fontSize:A})};Rk0();VL();vZ0();SZ0();m4();var ko=Eu(Hu(),1),fo=Eu(Hu(),1);var RA3=0;function P2(u,B){let E=`atom${++RA3}`,A={toString(){return(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&this.debugLabel?E+":"+this.debugLabel:E}};if(typeof u==="function")A.read=u;else A.init=u,A.read=TA3,A.write=OA3;if(B)A.write=B;return A}function TA3(u){return u(this)}function OA3(u,B,E){return B(this,typeof E==="function"?E(u(this)):E)}var mJu=(u,B)=>u.unstable_is?u.unstable_is(B):B===u,RZ0=(u)=>("init"in u),YZ0=(u)=>!!u.write,hn=new WeakMap,TZ0=(u)=>{var B;return OZ0(u)&&!((B=hn.get(u))==null?void 0:B[1])},IA3=(u,B)=>{let E=hn.get(u);if(E)E[1]=!0,E[0].forEach((A)=>A(B));else if((import.meta.env?import.meta.env.MODE:void 0)!=="production")throw Error("[Bug] cancelable promise not found")},PA3=(u)=>{if(hn.has(u))return;let B=[new Set,!1];hn.set(u,B);let E=()=>{B[1]=!0};u.then(E,E),u.onCancel=(A)=>{B[0].add(A)}},OZ0=(u)=>typeof(u==null?void 0:u.then)==="function",$Ju=(u)=>("v"in u)||("e"in u),Vn=(u)=>{if("e"in u)throw u.e;if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&!("v"in u))throw Error("[Bug] atom state is not initialized");return u.v},gJu=(u,B,E)=>{if(!E.p.has(u))E.p.add(u),B.then(()=>{E.p.delete(u)},()=>{E.p.delete(u)})},yJu=(u,B,E,A,C)=>{var D;if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&A===B)throw Error("[Bug] atom cannot depend on itself");if(E.d.set(A,C.n),TZ0(E.v))gJu(B,E.v,C);if((D=C.m)==null||D.t.add(B),u)jA3(u,A,B)},KI=()=>({D:new Map,H:new Set,M:new Set,L:new Set}),QI=(u,B,E)=>{u[B].add(E)},rJu=(u,B,E)=>{if(!u.D.has(B))u.D.set(B,new Set),QI(u,"M",()=>{var A;(A=E.m)==null||A.l.forEach((C)=>QI(u,"M",C))})},jA3=(u,B,E)=>{let A=u.D.get(B);if(A)A.add(E)},NA3=(u,B)=>u.D.get(B),oQ=(u)=>{let B,E=!1,A=(C)=>{try{C()}catch(D){if(!E)B=D,E=!0}};while(u.H.size||u.M.size||u.L.size)u.D.clear(),u.H.forEach(A),u.H.clear(),u.M.forEach(A),u.M.clear(),u.L.forEach(A),u.L.clear();if(E)throw B},cJu=(...[u,B,E,A])=>{let C=(Q,G,H)=>{let l="v"in G,q=G.v,L=TZ0(G.v)?G.v:null;if(OZ0(H)){PA3(H);for(let v of G.d.keys())gJu(Q,H,u(v));G.v=H}else G.v=H;if(delete G.e,delete G.x,!l||!Object.is(q,G.v)){if(++G.n,L)IA3(L,H)}},D=(Q,G)=>{var H;let l=u(G);if($Ju(l)){if(l.m&&!l.x)return l;if(Array.from(l.d).every(([W,T])=>D(Q,W).n===T))return l}l.d.clear();let q=!0,L=(W)=>{if(mJu(G,W)){let R=u(W);if(!$Ju(R))if(RZ0(W))C(W,R,W.init);else throw Error("no atom init");return Vn(R)}let T=D(Q,W);try{return Vn(T)}finally{if(q)yJu(Q,G,l,W,T);else{let R=KI();yJu(R,G,l,W,T),M(R,G,l),oQ(R)}}},v,x,S={get signal(){if(!v)v=new AbortController;return v.signal},get setSelf(){if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&!YZ0(G))console.warn("setSelf function cannot be used with read-only atom");if(!x&&YZ0(G))x=(...W)=>{if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&q)console.warn("setSelf function cannot be called in sync");if(!q)return f(G,...W)};return x}};try{let W=B(G,L,S);if(C(G,l,W),OZ0(W)){(H=W.onCancel)==null||H.call(W,()=>v==null?void 0:v.abort());let T=()=>{if(l.m){let R=KI();M(R,G,l),oQ(R)}};W.then(T,T)}return l}catch(W){return delete l.v,l.e=W,delete l.x,++l.n,l}finally{q=!1}},F=(Q)=>Vn(D(void 0,Q)),U=(Q,G,H)=>{var l,q;let L=new Map;for(let v of((l=H.m)==null?void 0:l.t)||[]){let x=u(v);if(x.m)L.set(v,x)}for(let v of H.p)L.set(v,u(v));return(q=NA3(Q,G))==null||q.forEach((v)=>{L.set(v,u(v))}),L},z=(Q,G,H)=>{let l=[],q=new Set,L=new Set,v=[[G,H]];while(v.length>0){let[x,S]=v[v.length-1];if(L.has(x)){v.pop();continue}if(q.has(x)){l.push([x,S,S.n]),L.add(x),S.x=!0,v.pop();continue}q.add(x);for(let[W,T]of U(Q,x,S))if(x!==W&&!q.has(W))v.push([W,T])}QI(Q,"H",()=>{let x=new Set([G]);for(let S=l.length-1;S>=0;--S){let[W,T,R]=l[S],Y=!1;for(let h of T.d.keys())if(h!==W&&x.has(h)){Y=!0;break}if(Y){if(D(Q,W),M(Q,W,T),R!==T.n)rJu(Q,W,T),x.add(W)}delete T.x}})},k=(Q,G,...H)=>{let l=!0,q=(v)=>Vn(D(Q,v)),L=(v,...x)=>{let S=u(v);try{if(mJu(G,v)){if(!RZ0(v))throw Error("atom not writable");let W=S.n,T=x[0];if(C(v,S,T),M(Q,v,S),W!==S.n)rJu(Q,v,S),z(Q,v,S);return}else return k(Q,v,...x)}finally{if(!l)oQ(Q)}};try{return E(G,q,L,...H)}finally{l=!1}},f=(Q,...G)=>{let H=KI();try{return k(H,Q,...G)}finally{oQ(H)}},M=(Q,G,H)=>{if(H.m&&!TZ0(H.v)){for(let l of H.d.keys())if(!H.m.d.has(l))b(Q,l,u(l)).t.add(G),H.m.d.add(l);for(let l of H.m.d||[])if(!H.d.has(l)){H.m.d.delete(l);let q=Z(Q,l,u(l));q==null||q.t.delete(G)}}},b=(Q,G,H)=>{if(!H.m){D(Q,G);for(let l of H.d.keys())b(Q,l,u(l)).t.add(G);if(H.m={l:new Set,d:new Set(H.d.keys()),t:new Set},YZ0(G)){let l=H.m,q,L=(v,x)=>{let S=!0;q=(...W)=>{try{return k(v,G,...W)}finally{if(!S)oQ(v)}};try{return x()}finally{S=!1}};QI(Q,"L",()=>{let v=L(Q,()=>A(G,(...x)=>q(...x)));if(v)l.u=(x)=>L(x,v)})}}return H.m},Z=(Q,G,H)=>{if(H.m&&!H.m.l.size&&!Array.from(H.m.t).some((l)=>{var q;return(q=u(l).m)==null?void 0:q.d.has(G)})){let l=H.m.u;if(l)QI(Q,"L",()=>l(Q));delete H.m;for(let q of H.d.keys()){let L=Z(Q,q,u(q));L==null||L.t.delete(G)}return}return H.m};return{get:F,set:f,sub:(Q,G)=>{let H=KI(),l=u(Q),L=b(H,Q,l).l;return L.add(G),oQ(H),()=>{L.delete(G);let v=KI();Z(v,Q,l),oQ(v)}},unstable_derive:(Q)=>cJu(...Q(u,B,E,A))}},VA3=(u)=>{let B=new WeakMap,E=new Set,A,C=0,D=u.unstable_derive((z,k,f,M)=>{return A=z,[(b)=>{let Z=B.get(b);if(!Z){let J=z(b);Z=new Proxy(J,{set(K,w,Q){if(w==="m")E.add(b);return Reflect.set(K,w,Q)},deleteProperty(K,w){if(w==="m")E.delete(b);return Reflect.deleteProperty(K,w)}}),B.set(b,Z)}return Z},k,(b,Z,J,...K)=>{if(C)return J(b,...K);return f(b,Z,J,...K)},M]}),F=D.set;return Object.assign(D,{dev4_get_internal_weak_map:()=>({get:(z)=>{let k=A(z);if(k.n===0)return;return k}}),dev4_get_mounted_atoms:()=>E,dev4_restore_atoms:(z)=>{F({read:()=>null,write:(f,M)=>{++C;try{for(let[b,Z]of z)if(RZ0(b))M(b,Z)}finally{--C}}})}})},aX=()=>{let u=new WeakMap,E=cJu((A)=>{if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&!A)throw Error("Atom is undefined or null");let C=u.get(A);if(!C)C={d:new Map,p:new Set,n:0},u.set(A,C);return C},(A,...C)=>A.read(...C),(A,...C)=>A.write(...C),(A,...C)=>{var D;return(D=A.onMount)==null?void 0:D.call(A,...C)});if((import.meta.env?import.meta.env.MODE:void 0)!=="production")return VA3(E);return E},wI,_Ju=()=>{if(!wI){if(wI=aX(),(import.meta.env?import.meta.env.MODE:void 0)!=="production"){if(globalThis.__JOTAI_DEFAULT_STORE__||(globalThis.__JOTAI_DEFAULT_STORE__=wI),globalThis.__JOTAI_DEFAULT_STORE__!==wI)console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044")}}return wI};var s7=Eu(Hu(),1);var hA3=s7.createContext(void 0),mX=(u)=>{let B=s7.useContext(hA3);return(u==null?void 0:u.store)||B||_Ju()};var PZ0=(u)=>typeof(u==null?void 0:u.then)==="function",nJu=(u)=>{u.status="pending",u.then((B)=>{u.status="fulfilled",u.value=B},(B)=>{u.status="rejected",u.reason=B})},iA3=s7.default.use||((u)=>{if(u.status==="pending")throw u;else if(u.status==="fulfilled")return u.value;else if(u.status==="rejected")throw u.reason;else throw nJu(u),u}),IZ0=new WeakMap,pJu=(u)=>{let B=IZ0.get(u);if(!B)B=new Promise((E,A)=>{let C=u,D=(z)=>(k)=>{if(C===z)E(k)},F=(z)=>(k)=>{if(C===z)A(k)},U=(z)=>{if("onCancel"in z&&typeof z.onCancel==="function")z.onCancel((k)=>{if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&k===z)throw Error("[Bug] p is not updated even after cancelation");if(PZ0(k))IZ0.set(k,B),C=k,k.then(D(k),F(k)),U(k);else E(k)})};u.then(D(u),F(u)),U(u)}),IZ0.set(u,B);return B};function jZ0(u,B){let E=mX(B),[[A,C,D],F]=s7.useReducer((k)=>{let f=E.get(u);if(Object.is(k[0],f)&&k[1]===E&&k[2]===u)return k;return[f,E,u]},void 0,()=>[E.get(u),E,u]),U=A;if(C!==E||D!==u)F(),U=E.get(u);let z=B==null?void 0:B.delay;if(s7.useEffect(()=>{let k=E.sub(u,()=>{if(typeof z==="number"){let f=E.get(u);if(PZ0(f))nJu(pJu(f));setTimeout(F,z);return}F()});return F(),k},[E,u,z]),s7.useDebugValue(U),PZ0(U)){let k=pJu(U);return iA3(k)}return U}function an(u,B){let E=mX(B);return s7.useCallback((...C)=>{if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&!("write"in u))throw Error("not writable atom");return E.set(u,...C)},[E,u])}function NZ0(u,B){return[jZ0(u,B),an(u,B)]}Zu();var Zf=Eu(Hu(),1);var sJu=Eu(Hu(),1);var dJu=new WeakMap;function oJu(u,B){let E=mX(B),A=aA3(E);for(let[C,D]of u)if(!A.has(C)||(B==null?void 0:B.dangerouslyForceHydrate))A.add(C),E.set(C,D)}var aA3=(u)=>{let B=dJu.get(u);if(!B)B=new WeakSet,dJu.set(u,B);return B};function $X(){return $X=Object.assign?Object.assign.bind():function(u){for(var B=1;B<arguments.length;B++){var E=arguments[B];for(var A in E)if(Object.prototype.hasOwnProperty.call(E,A))u[A]=E[A]}return u},$X.apply(this,arguments)}function mn(){let u=Zf.createContext(null);function B({store:F,initialValues:U=[],children:z}){let k=Zf.useRef(F);if(!k.current)k.current=aX();return oJu(U,{store:k.current}),P(u.Provider,{value:k.current,children:z})}let E=(F)=>{let U=Zf.useContext(u);if(!U)throw Error("Missing Provider from createIsolation");return mX($X({store:U},F))};return{Provider:B,useStore:E,useAtom:(F,U)=>{let z=E();return NZ0(F,$X({store:z},U))},useAtomValue:(F,U)=>{let z=E();return jZ0(F,$X({store:z},U))},useSetAtom:(F,U)=>{let z=E();return an(F,$X({store:z},U))}}}var{read:QS1,write:GS1}=P2(null);var HS1=Zf.createContext({scope:void 0,baseStore:void 0});Zu();Zu();Zu();AO();q_();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();var bo=Eu(Hu(),1),itu=Eu(Hu(),1),h2=Eu(Hu(),1),KJ=Eu(gE(),1),eD=Eu(Hu(),1),UC=Eu(Hu(),1),_tu=Eu(Hu(),1),GJ=Eu(Hu(),1),Zo=Eu(Hu(),1),Ko=Eu(Hu(),1),wo=Eu(Hu(),1);var Q9=Eu(Hu(),1);function eU(u,B,{checkForDefaultPrevented:E=!0}={}){return function(C){if(u?.(C),E===!1||!C.defaultPrevented)return B?.(C)}}var XGu=Eu(Hu(),1);function LGu(u,B){if(typeof u==="function")return u(B);else if(u!==null&&u!==void 0)u.current=B}function tK0(...u){return(B)=>{let E=!1,A=u.map((C)=>{let D=LGu(C,B);if(!E&&typeof D=="function")E=!0;return D});if(E)return()=>{for(let C=0;C<A.length;C++){let D=A[C];if(typeof D=="function")D();else LGu(u[C],null)}}}}function cE(...u){return XGu.useCallback(tK0(...u),u)}Zu();var vf=Eu(Hu(),1);function Ds(u,B=[]){let E=[];function A(D,F){let U=vf.createContext(F),z=E.length;E=[...E,F];let k=(M)=>{let{scope:b,children:Z,...J}=M,K=b?.[u]?.[z]||U,w=vf.useMemo(()=>J,Object.values(J));return P(K.Provider,{value:w,children:Z})};k.displayName=D+"Provider";function f(M,b){let Z=b?.[u]?.[z]||U,J=vf.useContext(Z);if(J)return J;if(F!==void 0)return F;throw Error(`\`${M}\` must be used within \`${D}\``)}return[k,f]}let C=()=>{let D=E.map((F)=>{return vf.createContext(F)});return function(U){let z=U?.[u]||D;return vf.useMemo(()=>({[`__scope${u}`]:{...U,[u]:z}}),[U,z])}};return C.scopeName=u,[A,FF3(C,...B)]}function FF3(...u){let B=u[0];if(u.length===1)return B;let E=()=>{let A=u.map((C)=>({useScope:C(),scopeName:C.scopeName}));return function(D){let F=A.reduce((U,{useScope:z,scopeName:k})=>{let M=z(D)[`__scope${k}`];return{...U,...M}},{});return vf.useMemo(()=>({[`__scope${B.scopeName}`]:F}),[F])}};return E.scopeName=B.scopeName,E}var R9=Eu(Hu(),1);var vGu=Eu(Hu(),1),xGu=Eu(gE(),1);var K5=Eu(Hu(),1);Zu();var bP=K5.forwardRef((u,B)=>{let{children:E,...A}=u,C=K5.Children.toArray(E),D=C.find(zF3);if(D){let F=D.props.children,U=C.map((z)=>{if(z===D){if(K5.Children.count(F)>1)return K5.Children.only(null);return K5.isValidElement(F)?F.props.children:null}else return z});return P(eK0,{...A,ref:B,children:K5.isValidElement(F)?K5.cloneElement(F,void 0,U):null})}return P(eK0,{...A,ref:B,children:E})});bP.displayName="Slot";var eK0=K5.forwardRef((u,B)=>{let{children:E,...A}=u;if(K5.isValidElement(E)){let C=fF3(E),D=kF3(A,E.props);if(E.type!==K5.Fragment)D.ref=B?tK0(B,C):C;return K5.cloneElement(E,D)}return K5.Children.count(E)>1?K5.Children.only(null):null});eK0.displayName="SlotClone";var UF3=({children:u})=>{return P(tu,{children:u})};function zF3(u){return K5.isValidElement(u)&&u.type===UF3}function kF3(u,B){let E={...B};for(let A in B){let C=u[A],D=B[A];if(/^on[A-Z]/.test(A)){if(C&&D)E[A]=(...U)=>{D(...U),C(...U)};else if(C)E[A]=C}else if(A==="style")E[A]={...C,...D};else if(A==="className")E[A]=[C,D].filter(Boolean).join(" ")}return{...u,...E}}function fF3(u){let B=Object.getOwnPropertyDescriptor(u.props,"ref")?.get,E=B&&"isReactWarning"in B&&B.isReactWarning;if(E)return u.ref;if(B=Object.getOwnPropertyDescriptor(u,"ref")?.get,E=B&&"isReactWarning"in B&&B.isReactWarning,E)return u.props.ref;return u.props.ref||u.ref}Zu();var MF3=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],tB=MF3.reduce((u,B)=>{let E=vGu.forwardRef((A,C)=>{let{asChild:D,...F}=A,U=D?bP:B;if(typeof window<"u")window[Symbol.for("radix-ui")]=!0;return P(U,{...F,ref:C})});return E.displayName=`Primitive.${B}`,{...u,[B]:E}},{});function WGu(u,B){if(u)xGu.flushSync(()=>u.dispatchEvent(B))}var Gv=Eu(Hu(),1);function _E(u){let B=Gv.useRef(u);return Gv.useEffect(()=>{B.current=u}),Gv.useMemo(()=>(...E)=>B.current?.(...E),[])}var SGu=Eu(Hu(),1);function YGu(u,B=globalThis?.document){let E=_E(u);SGu.useEffect(()=>{let A=(C)=>{if(C.key==="Escape")E(C)};return B.addEventListener("keydown",A,{capture:!0}),()=>B.removeEventListener("keydown",A,{capture:!0})},[E,B])}Zu();var bF3="DismissableLayer",uw0="dismissableLayer.update",ZF3="dismissableLayer.pointerDownOutside",JF3="dismissableLayer.focusOutside",RGu,OGu=R9.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Bw0=R9.forwardRef((u,B)=>{let{disableOutsidePointerEvents:E=!1,onEscapeKeyDown:A,onPointerDownOutside:C,onFocusOutside:D,onInteractOutside:F,onDismiss:U,...z}=u,k=R9.useContext(OGu),[f,M]=R9.useState(null),b=f?.ownerDocument??globalThis?.document,[,Z]=R9.useState({}),J=cE(B,(v)=>M(v)),K=Array.from(k.layers),[w]=[...k.layersWithOutsidePointerEventsDisabled].slice(-1),Q=K.indexOf(w),G=f?K.indexOf(f):-1,H=k.layersWithOutsidePointerEventsDisabled.size>0,l=G>=Q,q=QF3((v)=>{let x=v.target,S=[...k.branches].some((W)=>W.contains(x));if(!l||S)return;if(C?.(v),F?.(v),!v.defaultPrevented)U?.()},b),L=GF3((v)=>{let x=v.target;if([...k.branches].some((W)=>W.contains(x)))return;if(D?.(v),F?.(v),!v.defaultPrevented)U?.()},b);return YGu((v)=>{if(G!==k.layers.size-1)return;if(A?.(v),!v.defaultPrevented&&U)v.preventDefault(),U()},b),R9.useEffect(()=>{if(!f)return;if(E){if(k.layersWithOutsidePointerEventsDisabled.size===0)RGu=b.body.style.pointerEvents,b.body.style.pointerEvents="none";k.layersWithOutsidePointerEventsDisabled.add(f)}return k.layers.add(f),TGu(),()=>{if(E&&k.layersWithOutsidePointerEventsDisabled.size===1)b.body.style.pointerEvents=RGu}},[f,b,E,k]),R9.useEffect(()=>{return()=>{if(!f)return;k.layers.delete(f),k.layersWithOutsidePointerEventsDisabled.delete(f),TGu()}},[f,k]),R9.useEffect(()=>{let v=()=>Z({});return document.addEventListener(uw0,v),()=>document.removeEventListener(uw0,v)},[]),P(tB.div,{...z,ref:J,style:{pointerEvents:H?l?"auto":"none":void 0,...u.style},onFocusCapture:eU(u.onFocusCapture,L.onFocusCapture),onBlurCapture:eU(u.onBlurCapture,L.onBlurCapture),onPointerDownCapture:eU(u.onPointerDownCapture,q.onPointerDownCapture)})});Bw0.displayName=bF3;var KF3="DismissableLayerBranch",wF3=R9.forwardRef((u,B)=>{let E=R9.useContext(OGu),A=R9.useRef(null),C=cE(B,A);return R9.useEffect(()=>{let D=A.current;if(D)return E.branches.add(D),()=>{E.branches.delete(D)}},[E.branches]),P(tB.div,{...u,ref:C})});wF3.displayName=KF3;function QF3(u,B=globalThis?.document){let E=_E(u),A=R9.useRef(!1),C=R9.useRef(()=>{});return R9.useEffect(()=>{let D=(U)=>{if(U.target&&!A.current){let k=function(){IGu(ZF3,E,f,{discrete:!0})};var z=k;let f={originalEvent:U};if(U.pointerType==="touch")B.removeEventListener("click",C.current),C.current=k,B.addEventListener("click",C.current,{once:!0});else k()}else B.removeEventListener("click",C.current);A.current=!1},F=window.setTimeout(()=>{B.addEventListener("pointerdown",D)},0);return()=>{window.clearTimeout(F),B.removeEventListener("pointerdown",D),B.removeEventListener("click",C.current)}},[B,E]),{onPointerDownCapture:()=>A.current=!0}}function GF3(u,B=globalThis?.document){let E=_E(u),A=R9.useRef(!1);return R9.useEffect(()=>{let C=(D)=>{if(D.target&&!A.current)IGu(JF3,E,{originalEvent:D},{discrete:!1})};return B.addEventListener("focusin",C),()=>B.removeEventListener("focusin",C)},[B,E]),{onFocusCapture:()=>A.current=!0,onBlurCapture:()=>A.current=!1}}function TGu(){let u=new CustomEvent(uw0);document.dispatchEvent(u)}function IGu(u,B,E,{discrete:A}){let C=E.originalEvent.target,D=new CustomEvent(u,{bubbles:!1,cancelable:!0,detail:E});if(B)C.addEventListener(u,B,{once:!0});if(A)WGu(C,D);else C.dispatchEvent(D)}var jGu=Eu(Hu(),1),Ew0=0;function NGu(){jGu.useEffect(()=>{let u=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",u[0]??PGu()),document.body.insertAdjacentElement("beforeend",u[1]??PGu()),Ew0++,()=>{if(Ew0===1)document.querySelectorAll("[data-radix-focus-guard]").forEach((B)=>B.remove());Ew0--}},[])}function PGu(){let u=document.createElement("span");return u.setAttribute("data-radix-focus-guard",""),u.tabIndex=0,u.style.outline="none",u.style.opacity="0",u.style.position="fixed",u.style.pointerEvents="none",u}var EC=Eu(Hu(),1);Zu();var Aw0="focusScope.autoFocusOnMount",Cw0="focusScope.autoFocusOnUnmount",VGu={bubbles:!1,cancelable:!0},HF3="FocusScope",Dw0=EC.forwardRef((u,B)=>{let{loop:E=!1,trapped:A=!1,onMountAutoFocus:C,onUnmountAutoFocus:D,...F}=u,[U,z]=EC.useState(null),k=_E(C),f=_E(D),M=EC.useRef(null),b=cE(B,(K)=>z(K)),Z=EC.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;EC.useEffect(()=>{if(A){let G=function(L){if(Z.paused||!U)return;let v=L.target;if(U.contains(v))M.current=v;else EJ(M.current,{select:!0})},H=function(L){if(Z.paused||!U)return;let v=L.relatedTarget;if(v===null)return;if(!U.contains(v))EJ(M.current,{select:!0})},l=function(L){if(document.activeElement!==document.body)return;for(let x of L)if(x.removedNodes.length>0)EJ(U)};var K=G,w=H,Q=l;document.addEventListener("focusin",G),document.addEventListener("focusout",H);let q=new MutationObserver(l);if(U)q.observe(U,{childList:!0,subtree:!0});return()=>{document.removeEventListener("focusin",G),document.removeEventListener("focusout",H),q.disconnect()}}},[A,U,Z.paused]),EC.useEffect(()=>{if(U){iGu.add(Z);let K=document.activeElement;if(!U.contains(K)){let Q=new CustomEvent(Aw0,VGu);if(U.addEventListener(Aw0,k),U.dispatchEvent(Q),!Q.defaultPrevented){if(qF3(xF3(mGu(U)),{select:!0}),document.activeElement===K)EJ(U)}}return()=>{U.removeEventListener(Aw0,k),setTimeout(()=>{let Q=new CustomEvent(Cw0,VGu);if(U.addEventListener(Cw0,f),U.dispatchEvent(Q),!Q.defaultPrevented)EJ(K??document.body,{select:!0});U.removeEventListener(Cw0,f),iGu.remove(Z)},0)}}},[U,k,f,Z]);let J=EC.useCallback((K)=>{if(!E&&!A)return;if(Z.paused)return;let w=K.key==="Tab"&&!K.altKey&&!K.ctrlKey&&!K.metaKey,Q=document.activeElement;if(w&&Q){let G=K.currentTarget,[H,l]=lF3(G);if(!(H&&l)){if(Q===G)K.preventDefault()}else if(!K.shiftKey&&Q===l){if(K.preventDefault(),E)EJ(H,{select:!0})}else if(K.shiftKey&&Q===H){if(K.preventDefault(),E)EJ(l,{select:!0})}}},[E,A,Z.paused]);return P(tB.div,{tabIndex:-1,...F,ref:b,onKeyDown:J})});Dw0.displayName=HF3;function qF3(u,{select:B=!1}={}){let E=document.activeElement;for(let A of u)if(EJ(A,{select:B}),document.activeElement!==E)return}function lF3(u){let B=mGu(u),E=hGu(B,u),A=hGu(B.reverse(),u);return[E,A]}function mGu(u){let B=[],E=document.createTreeWalker(u,NodeFilter.SHOW_ELEMENT,{acceptNode:(A)=>{let C=A.tagName==="INPUT"&&A.type==="hidden";if(A.disabled||A.hidden||C)return NodeFilter.FILTER_SKIP;return A.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});while(E.nextNode())B.push(E.currentNode);return B}function hGu(u,B){for(let E of u)if(!LF3(E,{upTo:B}))return E}function LF3(u,{upTo:B}){if(getComputedStyle(u).visibility==="hidden")return!0;while(u){if(B!==void 0&&u===B)return!1;if(getComputedStyle(u).display==="none")return!0;u=u.parentElement}return!1}function XF3(u){return u instanceof HTMLInputElement&&"select"in u}function EJ(u,{select:B=!1}={}){if(u&&u.focus){let E=document.activeElement;if(u.focus({preventScroll:!0}),u!==E&&XF3(u)&&B)u.select()}}var iGu=vF3();function vF3(){let u=[];return{add(B){let E=u[0];if(B!==E)E?.pause();u=aGu(u,B),u.unshift(B)},remove(B){u=aGu(u,B),u[0]?.resume()}}}function aGu(u,B){let E=[...u],A=E.indexOf(B);if(A!==-1)E.splice(A,1);return E}function xF3(u){return u.filter((B)=>B.tagName!=="A")}var Fw0=Eu(Hu(),1);var $Gu=Eu(Hu(),1),AC=Boolean(globalThis?.document)?$Gu.useLayoutEffect:()=>{};var WF3=Fw0["useId".toString()]||(()=>{return}),SF3=0;function yGu(u){let[B,E]=Fw0.useState(WF3());return AC(()=>{if(!u)E((A)=>A??String(SF3++))},[u]),u||(B?`radix-${B}`:"")}var pE=Eu(Hu(),1);var cGu=["top","right","bottom","left"];var{min:uz,max:iD,round:JP,floor:KP}=Math,Bz=(u)=>({x:u,y:u}),YF3={left:"right",right:"left",bottom:"top",top:"bottom"};function Uw0(u,B,E){return iD(u,uz(B,E))}function Ez(u,B){return typeof u==="function"?u(B):u}function xf(u){return u.split("-")[0]}function JG(u){return u.split("-")[1]}function Us(u){return u==="x"?"y":"x"}function zs(u){return u==="y"?"height":"width"}function aD(u){let B=u[0];return B==="t"||B==="b"?"y":"x"}function ks(u){return Us(aD(u))}function _Gu(u,B,E){if(E===void 0)E=!1;let A=JG(u),C=ks(u),D=zs(C),F=C==="x"?A===(E?"end":"start")?"right":"left":A==="start"?"bottom":"top";if(B.reference[D]>B.floating[D])F=ZP(F);return[F,ZP(F)]}function pGu(u){let B=ZP(u);return[Fs(u),B,Fs(B)]}function Fs(u){return u.includes("start")?u.replace("start","end"):u.replace("end","start")}var rGu=["left","right"],gGu=["right","left"],RF3=["top","bottom"],TF3=["bottom","top"];function OF3(u,B,E){switch(u){case"top":case"bottom":if(E)return B?gGu:rGu;return B?rGu:gGu;case"left":case"right":return B?RF3:TF3;default:return[]}}function nGu(u,B,E,A){let C=JG(u),D=OF3(xf(u),E==="start",A);if(C){if(D=D.map((F)=>F+"-"+C),B)D=D.concat(D.map(Fs))}return D}function ZP(u){let B=xf(u);return YF3[B]+u.slice(B.length)}function IF3(u){var B,E,A,C;return{top:(B=u.top)!=null?B:0,right:(E=u.right)!=null?E:0,bottom:(A=u.bottom)!=null?A:0,left:(C=u.left)!=null?C:0}}function zw0(u){return typeof u!=="number"?IF3(u):{top:u,right:u,bottom:u,left:u}}function KG(u){let{x:B,y:E,width:A,height:C}=u;return{width:A,height:C,top:E,left:B,right:B+A,bottom:E+C,x:B,y:E}}function dGu(u,B,E){let{reference:A,floating:C}=u,D=aD(B),F=ks(B),U=zs(F),z=xf(B),k=D==="y",f=A.x+A.width/2-C.width/2,M=A.y+A.height/2-C.height/2,b=A[U]/2-C[U]/2,Z;switch(z){case"top":Z={x:f,y:A.y-C.height};break;case"bottom":Z={x:f,y:A.y+A.height};break;case"right":Z={x:A.x+A.width,y:M};break;case"left":Z={x:A.x-C.width,y:M};break;default:Z={x:A.x,y:A.y}}let J=JG(B);if(J)Z[F]+=b*(J==="end"?1:-1)*(E&&k?-1:1);return Z}async function tGu(u,B){var E;if(B===void 0)B={};let{x:A,y:C,platform:D,rects:F,elements:U,strategy:z}=u,{boundary:k="clippingAncestors",rootBoundary:f="viewport",elementContext:M="floating",altBoundary:b=!1,padding:Z=0}=Ez(B,u),J=zw0(Z),w=U[b?M==="floating"?"reference":"floating":M],Q=KG(await D.getClippingRect({element:((E=await(D.isElement==null?void 0:D.isElement(w)))!=null?E:!0)?w:w.contextElement||await(D.getDocumentElement==null?void 0:D.getDocumentElement(U.floating)),boundary:k,rootBoundary:f,strategy:z})),G=M==="floating"?{x:A,y:C,width:F.floating.width,height:F.floating.height}:F.reference,H=await(D.getOffsetParent==null?void 0:D.getOffsetParent(U.floating)),l=await(D.isElement==null?void 0:D.isElement(H))&&await(D.getScale==null?void 0:D.getScale(H))||{x:1,y:1},q=KG(D.convertOffsetParentRelativeRectToViewportRelativeRect?await D.convertOffsetParentRelativeRectToViewportRelativeRect({elements:U,rect:G,offsetParent:H,strategy:z}):G);return{top:(Q.top-q.top+J.top)/l.y,bottom:(q.bottom-Q.bottom+J.bottom)/l.y,left:(Q.left-q.left+J.left)/l.x,right:(q.right-Q.right+J.right)/l.x}}var PF3=50,eGu=async(u,B,E)=>{let{placement:A="bottom",strategy:C="absolute",middleware:D=[],platform:F}=E,U=F.detectOverflow?F:{...F,detectOverflow:tGu},z=await(F.isRTL==null?void 0:F.isRTL(B)),k=await F.getElementRects({reference:u,floating:B,strategy:C}),{x:f,y:M}=dGu(k,A,z),b=A,Z=0,J={};for(let K=0;K<D.length;K++){let w=D[K];if(!w)continue;let{name:Q,fn:G}=w,{x:H,y:l,data:q,reset:L}=await G({x:f,y:M,initialPlacement:A,placement:b,strategy:C,middlewareData:J,rects:k,platform:U,elements:{reference:u,floating:B}});if(f=H!=null?H:f,M=l!=null?l:M,J[Q]={...J[Q],...q},L&&Z<PF3){if(Z++,typeof L==="object"){if(L.placement)b=L.placement;if(L.rects)k=L.rects===!0?await F.getElementRects({reference:u,floating:B,strategy:C}):L.rects;({x:f,y:M}=dGu(k,b,z))}K=-1}}return{x:f,y:M,placement:b,strategy:C,middlewareData:J}},uHu=(u)=>({name:"arrow",options:u,async fn(B){let{x:E,y:A,placement:C,rects:D,platform:F,elements:U,middlewareData:z}=B,{element:k,padding:f=0}=Ez(u,B)||{};if(k==null)return{};let M=zw0(f),b={x:E,y:A},Z=ks(C),J=zs(Z),K=await F.getDimensions(k),w=Z==="y",Q=w?"top":"left",G=w?"bottom":"right",H=w?"clientHeight":"clientWidth",l=D.reference[J]+D.reference[Z]-b[Z]-D.floating[J],q=b[Z]-D.reference[Z],L=await(F.getOffsetParent==null?void 0:F.getOffsetParent(k)),v=L?L[H]:0;if(!v||!await(F.isElement==null?void 0:F.isElement(L)))v=U.floating[H]||D.floating[J];let x=l/2-q/2,S=v/2-K[J]/2-1,W=uz(M[Q],S),T=uz(M[G],S),R=v-K[J]-T,Y=v/2-K[J]/2+x,h=Uw0(W,Y,R),I=!z.arrow&&JG(C)!=null&&Y!==h&&D.reference[J]/2-(Y<W?W:T)-K[J]/2<0,O=I?Y<W?Y-W:Y-R:0;return{[Z]:b[Z]+O,data:{[Z]:h,centerOffset:Y-h-O,...I&&{alignmentOffset:O}},reset:I}}});var BHu=function(u){if(u===void 0)u={};return{name:"flip",options:u,async fn(B){var E,A;let{placement:C,middlewareData:D,rects:F,initialPlacement:U,platform:z,elements:k}=B,{mainAxis:f=!0,crossAxis:M=!0,fallbackPlacements:b,fallbackStrategy:Z="bestFit",fallbackAxisSideDirection:J="none",flipAlignment:K=!0,...w}=Ez(u,B);if((E=D.arrow)!=null&&E.alignmentOffset)return{};let Q=xf(C),G=aD(U),H=xf(U)===U,l=await(z.isRTL==null?void 0:z.isRTL(k.floating)),q=b||(H||!K?[ZP(U)]:pGu(U)),L=J!=="none";if(!b&&L)q.push(...nGu(U,K,J,l));let v=[U,...q],x=await z.detectOverflow(B,w),S=[],W=((A=D.flip)==null?void 0:A.overflows)||[];if(f)S.push(x[Q]);if(M){let h=_Gu(C,F,l);S.push(x[h[0]],x[h[1]])}if(W=[...W,{placement:C,overflows:S}],!S.every((h)=>h<=0)){var T,R;let h=(((T=D.flip)==null?void 0:T.index)||0)+1,I=v[h];if(I){if(!(M==="alignment"?G!==aD(I):!1)||W.every((j)=>aD(j.placement)===G?j.overflows[0]>0:!0))return{data:{index:h,overflows:W},reset:{placement:I}}}let O=(R=W.filter((V)=>V.overflows[0]<=0).sort((V,j)=>V.overflows[1]-j.overflows[1])[0])==null?void 0:R.placement;if(!O)switch(Z){case"bestFit":{var Y;let V=(Y=W.filter((j)=>{if(L){let i=aD(j.placement);return i===G||i==="y"}return!0}).map((j)=>[j.placement,j.overflows.filter((i)=>i>0).reduce((i,a)=>i+a,0)]).sort((j,i)=>j[1]-i[1])[0])==null?void 0:Y[0];if(V)O=V;break}case"initialPlacement":O=U;break}if(C!==O)return{reset:{placement:O}}}return{}}}};function sGu(u,B){return{top:u.top-B.height,right:u.right-B.width,bottom:u.bottom-B.height,left:u.left-B.width}}function oGu(u){return cGu.some((B)=>u[B]>=0)}var EHu=function(u){if(u===void 0)u={};return{name:"hide",options:u,async fn(B){let{rects:E,platform:A}=B,{strategy:C="referenceHidden",...D}=Ez(u,B);switch(C){case"referenceHidden":{let F=await A.detectOverflow(B,{...D,elementContext:"reference"}),U=sGu(F,E.reference);return{data:{referenceHiddenOffsets:U,referenceHidden:oGu(U)}}}case"escaped":{let F=await A.detectOverflow(B,{...D,altBoundary:!0}),U=sGu(F,E.floating);return{data:{escapedOffsets:U,escaped:oGu(U)}}}default:return{}}}}};var AHu=new Set(["left","top"]);async function jF3(u,B){let{placement:E,platform:A,elements:C}=u,D=await(A.isRTL==null?void 0:A.isRTL(C.floating)),F=xf(E),U=JG(E),z=aD(E)==="y",k=AHu.has(F)?-1:1,f=D&&z?-1:1,M=Ez(B,u),{mainAxis:b,crossAxis:Z,alignmentAxis:J}=typeof M==="number"?{mainAxis:M,crossAxis:0,alignmentAxis:null}:{mainAxis:M.mainAxis||0,crossAxis:M.crossAxis||0,alignmentAxis:M.alignmentAxis};if(U&&typeof J==="number")Z=U==="end"?J*-1:J;return z?{x:Z*f,y:b*k}:{x:b*k,y:Z*f}}var CHu=function(u){if(u===void 0)u=0;return{name:"offset",options:u,async fn(B){var E,A;let{x:C,y:D,placement:F,middlewareData:U}=B,z=await jF3(B,u);if(F===((E=U.offset)==null?void 0:E.placement)&&(A=U.arrow)!=null&&A.alignmentOffset)return{};return{x:C+z.x,y:D+z.y,data:{...z,placement:F}}}}},DHu=function(u){if(u===void 0)u={};return{name:"shift",options:u,async fn(B){let{x:E,y:A,placement:C,platform:D}=B,{mainAxis:F=!0,crossAxis:U=!1,limiter:z={fn:(G)=>{let{x:H,y:l}=G;return{x:H,y:l}}},...k}=Ez(u,B),f={x:E,y:A},M=await D.detectOverflow(B,k),b=aD(C),Z=Us(b),J=f[Z],K=f[b],w=(G,H)=>Uw0(H+M[G==="y"?"top":"left"],H,H-M[G==="y"?"bottom":"right"]);if(F)J=w(Z,J);if(U)K=w(b,K);let Q=z.fn({...B,[Z]:J,[b]:K});return{...Q,data:{x:Q.x-E,y:Q.y-A,enabled:{[Z]:F,[b]:U}}}}}},FHu=function(u){if(u===void 0)u={};return{options:u,fn(B){var E,A;let{x:C,y:D,placement:F,rects:U,middlewareData:z}=B,{offset:k=0,mainAxis:f=!0,crossAxis:M=!0}=Ez(u,B),b={x:C,y:D},Z=aD(F),J=Us(Z),K=b[J],w=b[Z],Q=Ez(k,B),G=typeof Q==="number"?{mainAxis:Q,crossAxis:0}:{mainAxis:(E=Q.mainAxis)!=null?E:0,crossAxis:(A=Q.crossAxis)!=null?A:0};if(f){let q=J==="y"?"height":"width",L=U.reference[J]-U.floating[q]+G.mainAxis,v=U.reference[J]+U.reference[q]-G.mainAxis;if(K<L)K=L;else if(K>v)K=v}if(M){var H,l;let q=J==="y"?"width":"height",L=AHu.has(xf(F)),v=U.reference[Z]-U.floating[q]+(L?((H=z.offset)==null?void 0:H[Z])||0:0)+(L?0:G.crossAxis),x=U.reference[Z]+U.reference[q]+(L?0:((l=z.offset)==null?void 0:l[Z])||0)-(L?G.crossAxis:0);if(w<v)w=v;else if(w>x)w=x}return{[J]:K,[Z]:w}}}},UHu=function(u){if(u===void 0)u={};return{name:"size",options:u,async fn(B){let{placement:E,rects:A,platform:C,elements:D}=B,{apply:F=()=>{},...U}=Ez(u,B),z=await C.detectOverflow(B,U),k=xf(E),f=JG(E),M=aD(E)==="y",{width:b,height:Z}=A.floating,J,K;if(k==="top"||k==="bottom")J=k,K=f===(await(C.isRTL==null?void 0:C.isRTL(D.floating))?"start":"end")?"left":"right";else K=k,J=f==="end"?"top":"bottom";let w=Z-z.top-z.bottom,Q=b-z.left-z.right,G=uz(Z-z[J],w),H=uz(b-z[K],Q),l=B.middlewareData.shift,q=!l,L=G,v=H;if(l!=null&&l.enabled.x)v=Q;if(l!=null&&l.enabled.y)L=w;if(q&&!f)if(M)v=b-2*iD(z.left,z.right);else L=Z-2*iD(z.top,z.bottom);await F({...B,availableWidth:v,availableHeight:L});let x=await C.getDimensions(D.floating);if(b!==x.width||Z!==x.height)return{reset:{rects:!0}};return{}}}};function fs(){return typeof window<"u"}function GG(u){if(kHu(u))return(u.nodeName||"").toLowerCase();return"#document"}function eB(u){var B;return(u==null||(B=u.ownerDocument)==null?void 0:B.defaultView)||window}function Az(u){var B;return(B=(kHu(u)?u.ownerDocument:u.document)||window.document)==null?void 0:B.documentElement}function kHu(u){if(!fs())return!1;return u instanceof Node||u instanceof eB(u).Node}function mD(u){if(!fs())return!1;return u instanceof Element||u instanceof eB(u).Element}function Wf(u){if(!fs())return!1;return u instanceof HTMLElement||u instanceof eB(u).HTMLElement}function zHu(u){if(!fs()||typeof ShadowRoot>"u")return!1;return u instanceof ShadowRoot||u instanceof eB(u).ShadowRoot}function wP(u){let{overflow:B,overflowX:E,overflowY:A,display:C}=$D(u);return/auto|scroll|overlay|hidden|clip/.test(B+A+E)&&C!=="inline"&&C!=="contents"}function fHu(u){return/^(table|td|th)$/.test(GG(u))}function QP(u){try{if(u.matches(":popover-open"))return!0}catch(B){}try{return u.matches(":modal")}catch(B){return!1}}var NF3=/transform|translate|scale|rotate|perspective|filter/,VF3=/paint|layout|strict|content/,wG=(u)=>!!u&&u!=="none",kw0;function Ms(u){let B=mD(u)?$D(u):u;return wG(B.transform)||wG(B.translate)||wG(B.scale)||wG(B.rotate)||wG(B.perspective)||!bs()&&(wG(B.backdropFilter)||wG(B.filter))||NF3.test(B.willChange||"")||VF3.test(B.contain||"")}function MHu(u){let B=AJ(u);while(Wf(B)&&!Hv(B)){if(Ms(B))return B;else if(QP(B))return null;B=AJ(B)}return null}function bs(){if(kw0==null)kw0=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none");return kw0}function Hv(u){return/^(html|body|#document)$/.test(GG(u))}function $D(u){return eB(u).getComputedStyle(u)}function GP(u){if(mD(u))return{scrollLeft:u.scrollLeft,scrollTop:u.scrollTop};return{scrollLeft:u.scrollX,scrollTop:u.scrollY}}function AJ(u){if(GG(u)==="html")return u;let B=u.assignedSlot||u.parentNode||zHu(u)&&u.host||Az(u);return zHu(B)?B.host:B}function bHu(u){let B=AJ(u);if(Hv(B))return(u.ownerDocument||u).body;if(Wf(B)&&wP(B))return B;return bHu(B)}function QG(u,B,E){var A;if(B===void 0)B=[];if(E===void 0)E=!0;let C=bHu(u),D=C===((A=u.ownerDocument)==null?void 0:A.body),F=eB(C);if(D){let U=Zs(F);return B.concat(F,F.visualViewport||[],wP(C)?C:[],U&&E?QG(U):[])}else return B.concat(C,QG(C,[],E))}function Zs(u){return u.parent&&Object.getPrototypeOf(u.parent)?u.frameElement:null}function KHu(u){let B=$D(u),E=parseFloat(B.width)||0,A=parseFloat(B.height)||0,C=Wf(u),D=C?u.offsetWidth:E,F=C?u.offsetHeight:A,U=JP(E)!==D||JP(A)!==F;if(U)E=D,A=F;return{width:E,height:A,$:U}}function Mw0(u){return!mD(u)?u.contextElement:u}function qv(u){let B=Mw0(u);if(!Wf(B))return Bz(1);let E=B.getBoundingClientRect(),{width:A,height:C,$:D}=KHu(B),F=(D?JP(E.width):E.width)/A,U=(D?JP(E.height):E.height)/C;if(!F||!Number.isFinite(F))F=1;if(!U||!Number.isFinite(U))U=1;return{x:F,y:U}}var hF3=Bz(0);function wHu(u){let B=eB(u);if(!bs()||!B.visualViewport)return hF3;return{x:B.visualViewport.offsetLeft,y:B.visualViewport.offsetTop}}function iF3(u,B,E){if(B===void 0)B=!1;return!!E&&B&&E===eB(u)}function HG(u,B,E,A){if(B===void 0)B=!1;if(E===void 0)E=!1;let C=u.getBoundingClientRect(),D=Mw0(u),F=Bz(1);if(B)if(A){if(mD(A))F=qv(A)}else F=qv(u);let U=iF3(D,E,A)?wHu(D):Bz(0),z=(C.left+U.x)/F.x,k=(C.top+U.y)/F.y,f=C.width/F.x,M=C.height/F.y;if(D&&A){let b=eB(D),Z=mD(A)?eB(A):A,J=b,K=Zs(J);while(K&&Z!==J){let w=qv(K),Q=K.getBoundingClientRect(),G=$D(K),H=Q.left+(K.clientLeft+parseFloat(G.paddingLeft))*w.x,l=Q.top+(K.clientTop+parseFloat(G.paddingTop))*w.y;z*=w.x,k*=w.y,f*=w.x,M*=w.y,z+=H,k+=l,J=eB(K),K=Zs(J)}}return KG({width:f,height:M,x:z,y:k})}function Js(u,B){let E=GP(u).scrollLeft;if(!B)return HG(Az(u)).left+E;return B.left+E}function QHu(u,B){let E=u.getBoundingClientRect(),A=E.left+B.scrollLeft-Js(u,E),C=E.top+B.scrollTop;return{x:A,y:C}}function aF3(u){let{elements:B,rect:E,offsetParent:A,strategy:C}=u,D=C==="fixed",F=Az(A),U=B?QP(B.floating):!1;if(A===F||U&&D)return E;let z={scrollLeft:0,scrollTop:0},k=Bz(1),f=Bz(0),M=Wf(A);if(M||!D){if(GG(A)!=="body"||wP(F))z=GP(A);if(M){let Z=HG(A);k=qv(A),f.x=Z.x+A.clientLeft,f.y=Z.y+A.clientTop}}let b=F&&!M&&!D?QHu(F,z):Bz(0);return{width:E.width*k.x,height:E.height*k.y,x:E.x*k.x-z.scrollLeft*k.x+f.x+b.x,y:E.y*k.y-z.scrollTop*k.y+f.y+b.y}}function mF3(u){return u.getClientRects?Array.from(u.getClientRects()):[]}function $F3(u){let B=GP(u),E=u.ownerDocument.body,A=iD(u.scrollWidth,u.clientWidth,E.scrollWidth,E.clientWidth),C=iD(u.scrollHeight,u.clientHeight,E.scrollHeight,E.clientHeight),D=-B.scrollLeft+Js(u),F=-B.scrollTop;if($D(E).direction==="rtl")D+=iD(u.clientWidth,E.clientWidth)-A;return{width:A,height:C,x:D,y:F}}var yF3=25;function rF3(u,B,E){if(E===void 0)E="viewport";let A=E==="layoutViewport",C=eB(u),D=Az(u),F=C.visualViewport,U=D.clientWidth,z=D.clientHeight,k=0,f=0;if(F){let b=!bs()||B==="fixed";if(A){if(!b)k=-F.offsetLeft,f=-F.offsetTop}else if(U=F.width,z=F.height,b)k=F.offsetLeft,f=F.offsetTop}if(Js(D)<=0){let b=D.ownerDocument,Z=b.body,J=getComputedStyle(Z),K=b.compatMode==="CSS1Compat"?parseFloat(J.marginLeft)+parseFloat(J.marginRight)||0:0,w=Math.abs(D.clientWidth-Z.clientWidth-K),Q=getComputedStyle(D).scrollbarGutter==="stable both-edges"?w/2:w;if(Q<=yF3)U-=Q}return{width:U,height:z,x:k,y:f}}function gF3(u,B){let E=HG(u,!0,B==="fixed"),A=E.top+u.clientTop,C=E.left+u.clientLeft,D=qv(u),F=u.clientWidth*D.x,U=u.clientHeight*D.y,z=C*D.x,k=A*D.y;return{width:F,height:U,x:z,y:k}}function ZHu(u,B,E){let A;if(B==="viewport"||B==="layoutViewport")A=rF3(u,E,B);else if(B==="document")A=$F3(Az(u));else if(mD(B))A=gF3(B,E);else{let C=wHu(u);A={x:B.x-C.x,y:B.y-C.y,width:B.width,height:B.height}}return KG(A)}function cF3(u,B){let E=B.get(u);if(E)return E;let A=QG(u,[],!1).filter((U)=>mD(U)&&GG(U)!=="body"),C=null,D=$D(u).position==="fixed",F=D?AJ(u):u;while(mD(F)&&!Hv(F)){let U=$D(F),z=Ms(F),k=C?C.position:D?"fixed":"";if(!z&&(k==="fixed"||k==="absolute"&&U.position==="static"))A=A.filter((M)=>M!==F);else C=U;F=AJ(F)}return B.set(u,A),A}function _F3(u){let{element:B,boundary:E,rootBoundary:A,strategy:C}=u,F=[...E==="clippingAncestors"?QP(B)?[]:cF3(B,this._c):[].concat(E),A],U=ZHu(B,F[0],C),z=U.top,k=U.right,f=U.bottom,M=U.left;for(let b=1;b<F.length;b++){let Z=ZHu(B,F[b],C);z=iD(Z.top,z),k=uz(Z.right,k),f=uz(Z.bottom,f),M=iD(Z.left,M)}return{width:k-M,height:f-z,x:M,y:z}}function pF3(u){let{width:B,height:E}=KHu(u);return{width:B,height:E}}function nF3(u,B,E){let A=Wf(B),C=Az(B),D=E==="fixed",F=HG(u,!0,D,B),U={scrollLeft:0,scrollTop:0},z=Bz(0);if(A||!D){if(GG(B)!=="body"||wP(C))U=GP(B);if(A){let b=HG(B,!0,D,B);z.x=b.x+B.clientLeft,z.y=b.y+B.clientTop}}if(!A&&C)z.x=Js(C);let k=C&&!A&&!D?QHu(C,U):Bz(0),f=F.left+U.scrollLeft-z.x-k.x,M=F.top+U.scrollTop-z.y-k.y;return{x:f,y:M,width:F.width,height:F.height}}function fw0(u){return $D(u).position==="static"}function JHu(u,B){if(!Wf(u)||$D(u).position==="fixed")return null;if(B)return B(u);let E=u.offsetParent;if(Az(u)===E)E=E.ownerDocument.body;return E}function GHu(u,B){let E=eB(u);if(QP(u))return E;if(!Wf(u)){let C=AJ(u);while(C&&!Hv(C)){if(mD(C)&&!fw0(C))return C;C=AJ(C)}return E}let A=JHu(u,B);while(A&&fHu(A)&&fw0(A))A=JHu(A,B);if(A&&Hv(A)&&fw0(A)&&!Ms(A))return E;return A||MHu(u)||E}var dF3=async function(u){let B=this.getOffsetParent||GHu,E=this.getDimensions,A=await E(u.floating);return{reference:nF3(u.reference,await B(u.floating),u.strategy),floating:{x:0,y:0,width:A.width,height:A.height}}};function sF3(u){return $D(u).direction==="rtl"}var HHu={convertOffsetParentRelativeRectToViewportRelativeRect:aF3,getDocumentElement:Az,getClippingRect:_F3,getOffsetParent:GHu,getElementRects:dF3,getClientRects:mF3,getDimensions:pF3,getScale:qv,isElement:mD,isRTL:sF3};function qHu(u,B){return u.x===B.x&&u.y===B.y&&u.width===B.width&&u.height===B.height}function oF3(u,B,E){let A=null,C,D=Az(u);function F(){var f;clearTimeout(C),(f=A)==null||f.disconnect(),A=null}function U(f,M){if(f===void 0)f=!1;if(M===void 0)M=1;F();let b=u.getBoundingClientRect(),{left:Z,top:J,width:K,height:w}=b;if(!f)B();if(!K||!w)return;let Q=KP(J),G=KP(D.clientWidth-(Z+K)),H=KP(D.clientHeight-(J+w)),l=KP(Z),L={rootMargin:-Q+"px "+-G+"px "+-H+"px "+-l+"px",threshold:iD(0,uz(1,M))||1},v=!0;function x(S){let W=S[0].intersectionRatio;if(!qHu(b,u.getBoundingClientRect()))return U();if(W!==M){if(!v)return U();if(!W)C=setTimeout(()=>{U(!1,0.0000001)},1000);else U(!1,W)}v=!1}try{A=new IntersectionObserver(x,{...L,root:D.ownerDocument})}catch(S){A=new IntersectionObserver(x,L)}A.observe(u)}let z=eB(u),k=()=>U(E);return z.addEventListener("resize",k),U(!0),()=>{z.removeEventListener("resize",k),F()}}function bw0(u,B,E,A){if(A===void 0)A={};let{ancestorScroll:C=!0,ancestorResize:D=!0,elementResize:F=typeof ResizeObserver==="function",layoutShift:U=typeof IntersectionObserver==="function",animationFrame:z=!1}=A,k=Mw0(u),f=C||D?[...k?QG(k):[],...B?QG(B):[]]:[];f.forEach((Q)=>{C&&Q.addEventListener("scroll",E),D&&Q.addEventListener("resize",E)});let M=k&&U?oF3(k,E,D):null,b=-1,Z=null;if(F){if(Z=new ResizeObserver((Q)=>{let[G]=Q;if(G&&G.target===k&&Z&&B)Z.unobserve(B),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var H;(H=Z)==null||H.observe(B)});E()}),k&&!z)Z.observe(k);if(B)Z.observe(B)}let J,K=z?HG(u):null;if(z)w();function w(){let Q=HG(u);if(K&&!qHu(K,Q))E();K=Q,J=requestAnimationFrame(w)}return E(),()=>{var Q;if(f.forEach((G)=>{C&&G.removeEventListener("scroll",E),D&&G.removeEventListener("resize",E)}),M==null||M(),(Q=Z)==null||Q.disconnect(),Z=null,z)cancelAnimationFrame(J)}}var lHu=CHu;var LHu=DHu,XHu=BHu,vHu=UHu,xHu=EHu,Zw0=uHu;var WHu=FHu,Jw0=(u,B,E)=>{let A=new Map,C=E!=null?E:{},D={...HHu,...C.platform,_c:A};return eGu(u,B,{...C,platform:D})};var N2=Eu(Hu(),1),YHu=Eu(Hu(),1),RHu=Eu(gE(),1),tF3=typeof document<"u",eF3=function(){},Ks=tF3?YHu.useLayoutEffect:eF3;function ws(u,B){if(u===B)return!0;if(typeof u!==typeof B)return!1;if(typeof u==="function"&&u.toString()===B.toString())return!0;let E,A,C;if(u&&B&&typeof u==="object"){if(Array.isArray(u)){if(E=u.length,E!==B.length)return!1;for(A=E;A--!==0;)if(!ws(u[A],B[A]))return!1;return!0}if(C=Object.keys(u),E=C.length,E!==Object.keys(B).length)return!1;for(A=E;A--!==0;)if(!{}.hasOwnProperty.call(B,C[A]))return!1;for(A=E;A--!==0;){let D=C[A];if(D==="_owner"&&u.$$typeof)continue;if(!ws(u[D],B[D]))return!1}return!0}return u!==u&&B!==B}function THu(u){if(typeof window>"u")return 1;return(u.ownerDocument.defaultView||window).devicePixelRatio||1}function SHu(u,B){let E=THu(u);return Math.round(B*E)/E}function Kw0(u){let B=N2.useRef(u);return Ks(()=>{B.current=u}),B}function OHu(u){if(u===void 0)u={};let{placement:B="bottom",strategy:E="absolute",middleware:A=[],platform:C,elements:{reference:D,floating:F}={},transform:U=!0,whileElementsMounted:z,open:k}=u,[f,M]=N2.useState({x:0,y:0,strategy:E,placement:B,middlewareData:{},isPositioned:!1}),[b,Z]=N2.useState(A);if(!ws(b,A))Z(A);let[J,K]=N2.useState(null),[w,Q]=N2.useState(null),G=N2.useCallback((j)=>{if(j!==L.current)L.current=j,K(j)},[]),H=N2.useCallback((j)=>{if(j!==v.current)v.current=j,Q(j)},[]),l=D||J,q=F||w,L=N2.useRef(null),v=N2.useRef(null),x=N2.useRef(f),S=z!=null,W=Kw0(z),T=Kw0(C),R=Kw0(k),Y=N2.useCallback(()=>{if(!L.current||!v.current)return;let j={placement:B,strategy:E,middleware:b};if(T.current)j.platform=T.current;Jw0(L.current,v.current,j).then((i)=>{let a={...i,isPositioned:R.current!==!1};if(h.current&&!ws(x.current,a))x.current=a,RHu.flushSync(()=>{M(a)})})},[b,B,E,T,R]);Ks(()=>{if(k===!1&&x.current.isPositioned)x.current.isPositioned=!1,M((j)=>({...j,isPositioned:!1}))},[k]);let h=N2.useRef(!1);Ks(()=>{return h.current=!0,()=>{h.current=!1}},[]),Ks(()=>{if(l)L.current=l;if(q)v.current=q;if(l&&q){if(W.current)return W.current(l,q,Y);Y()}},[l,q,Y,W,S]);let I=N2.useMemo(()=>({reference:L,floating:v,setReference:G,setFloating:H}),[G,H]),O=N2.useMemo(()=>({reference:l,floating:q}),[l,q]),V=N2.useMemo(()=>{let j={position:E,left:0,top:0};if(!O.floating)return j;let i=SHu(O.floating,f.x),a=SHu(O.floating,f.y);if(U)return{...j,transform:"translate("+i+"px, "+a+"px)",...THu(O.floating)>=1.5&&{willChange:"transform"}};return{position:E,left:i,top:a}},[E,U,O.floating,f.x,f.y]);return N2.useMemo(()=>({...f,update:Y,refs:I,elements:O,floatingStyles:V}),[f,Y,I,O,V])}var uU3=(u)=>{function B(E){return{}.hasOwnProperty.call(E,"current")}return{name:"arrow",options:u,fn(E){let{element:A,padding:C}=typeof u==="function"?u(E):u;if(A&&B(A)){if(A.current!=null)return Zw0({element:A.current,padding:C}).fn(E);return{}}if(A)return Zw0({element:A,padding:C}).fn(E);return{}}}},IHu=(u,B)=>{let E=lHu(u);return{name:E.name,fn:E.fn,options:[u,B]}},PHu=(u,B)=>{let E=LHu(u);return{name:E.name,fn:E.fn,options:[u,B]}},jHu=(u,B)=>{return{fn:WHu(u).fn,options:[u,B]}},NHu=(u,B)=>{let E=XHu(u);return{name:E.name,fn:E.fn,options:[u,B]}},VHu=(u,B)=>{let E=vHu(u);return{name:E.name,fn:E.fn,options:[u,B]}};var hHu=(u,B)=>{let E=xHu(u);return{name:E.name,fn:E.fn,options:[u,B]}};var iHu=(u,B)=>{let E=uU3(u);return{name:E.name,fn:E.fn,options:[u,B]}};var aHu=Eu(Hu(),1);Zu();var BU3="Arrow",mHu=aHu.forwardRef((u,B)=>{let{children:E,width:A=10,height:C=5,...D}=u;return P(tB.svg,{...D,ref:B,width:A,height:C,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:u.asChild?E:P("polygon",{points:"0,0 30,0 15,10"})})});mHu.displayName=BU3;var $Hu=mHu;var yHu=Eu(Hu(),1);function rHu(u){let[B,E]=yHu.useState(void 0);return AC(()=>{if(u){E({width:u.offsetWidth,height:u.offsetHeight});let A=new ResizeObserver((C)=>{if(!Array.isArray(C))return;if(!C.length)return;let D=C[0],F,U;if("borderBoxSize"in D){let z=D.borderBoxSize,k=Array.isArray(z)?z[0]:z;F=k.inlineSize,U=k.blockSize}else F=u.offsetWidth,U=u.offsetHeight;E({width:F,height:U})});return A.observe(u,{box:"border-box"}),()=>A.unobserve(u)}else E(void 0)},[u]),B}Zu();var ww0="Popper",[gHu,Qw0]=Ds(ww0),[AU3,cHu]=gHu(ww0),_Hu=(u)=>{let{__scopePopper:B,children:E}=u,[A,C]=pE.useState(null);return P(AU3,{scope:B,anchor:A,onAnchorChange:C,children:E})};_Hu.displayName=ww0;var pHu="PopperAnchor",nHu=pE.forwardRef((u,B)=>{let{__scopePopper:E,virtualRef:A,...C}=u,D=cHu(pHu,E),F=pE.useRef(null),U=cE(B,F);return pE.useEffect(()=>{D.onAnchorChange(A?.current||F.current)}),A?null:P(tB.div,{...C,ref:U})});nHu.displayName=pHu;var Gw0="PopperContent",[CU3,DU3]=gHu(Gw0),dHu=pE.forwardRef((u,B)=>{let{__scopePopper:E,side:A="bottom",sideOffset:C=0,align:D="center",alignOffset:F=0,arrowPadding:U=0,avoidCollisions:z=!0,collisionBoundary:k=[],collisionPadding:f=0,sticky:M="partial",hideWhenDetached:b=!1,updatePositionStrategy:Z="optimized",onPlaced:J,...K}=u,w=cHu(Gw0,E),[Q,G]=pE.useState(null),H=cE(B,(p)=>G(p)),[l,q]=pE.useState(null),L=rHu(l),v=L?.width??0,x=L?.height??0,S=A+(D!=="center"?"-"+D:""),W=typeof f==="number"?f:{top:0,right:0,bottom:0,left:0,...f},T=Array.isArray(k)?k:[k],R=T.length>0,Y={padding:W,boundary:T.filter(UU3),altBoundary:R},{refs:h,floatingStyles:I,placement:O,isPositioned:V,middlewareData:j}=OHu({strategy:"fixed",placement:S,whileElementsMounted:(...p)=>{return bw0(...p,{animationFrame:Z==="always"})},elements:{reference:w.anchor},middleware:[IHu({mainAxis:C+x,alignmentAxis:F}),z&&PHu({mainAxis:!0,crossAxis:!1,limiter:M==="partial"?jHu():void 0,...Y}),z&&NHu({...Y}),VHu({...Y,apply:({elements:p,rects:b0,availableWidth:B0,availableHeight:k0})=>{let{width:f0,height:D0}=b0.reference,P0=p.floating.style;P0.setProperty("--radix-popper-available-width",`${B0}px`),P0.setProperty("--radix-popper-available-height",`${k0}px`),P0.setProperty("--radix-popper-anchor-width",`${f0}px`),P0.setProperty("--radix-popper-anchor-height",`${D0}px`)}}),l&&iHu({element:l,padding:U}),zU3({arrowWidth:v,arrowHeight:x}),b&&hHu({strategy:"referenceHidden",...Y})]}),[i,a]=tHu(O),$=_E(J);AC(()=>{if(V)$?.()},[V,$]);let m=j.arrow?.x,y=j.arrow?.y,r=j.arrow?.centerOffset!==0,[_,e]=pE.useState();return AC(()=>{if(Q)e(window.getComputedStyle(Q).zIndex)},[Q]),P("div",{ref:h.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:V?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:_,["--radix-popper-transform-origin"]:[j.transformOrigin?.x,j.transformOrigin?.y].join(" "),...j.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:u.dir,children:P(CU3,{scope:E,placedSide:i,onArrowChange:q,arrowX:m,arrowY:y,shouldHideArrow:r,children:P(tB.div,{"data-side":i,"data-align":a,...K,ref:H,style:{...K.style,animation:!V?"none":void 0}})})})});dHu.displayName=Gw0;var sHu="PopperArrow",FU3={top:"bottom",right:"left",bottom:"top",left:"right"},oHu=pE.forwardRef(function(B,E){let{__scopePopper:A,...C}=B,D=DU3(sHu,A),F=FU3[D.placedSide];return P("span",{ref:D.onArrowChange,style:{position:"absolute",left:D.arrowX,top:D.arrowY,[F]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[D.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[D.placedSide],visibility:D.shouldHideArrow?"hidden":void 0},children:P($Hu,{...C,ref:E,style:{...C.style,display:"block"}})})});oHu.displayName=sHu;function UU3(u){return u!==null}var zU3=(u)=>({name:"transformOrigin",options:u,fn(B){let{placement:E,rects:A,middlewareData:C}=B,F=C.arrow?.centerOffset!==0,U=F?0:u.arrowWidth,z=F?0:u.arrowHeight,[k,f]=tHu(E),M={start:"0%",center:"50%",end:"100%"}[f],b=(C.arrow?.x??0)+U/2,Z=(C.arrow?.y??0)+z/2,J="",K="";if(k==="bottom")J=F?M:`${b}px`,K=`${-z}px`;else if(k==="top")J=F?M:`${b}px`,K=`${A.floating.height+z}px`;else if(k==="right")J=`${-z}px`,K=F?M:`${Z}px`;else if(k==="left")J=`${A.floating.width+z}px`,K=F?M:`${Z}px`;return{data:{x:J,y:K}}}});function tHu(u){let[B,E="center"]=u.split("-");return[B,E]}var eHu=_Hu,Hw0=nHu,uqu=dHu,Bqu=oHu;var Qs=Eu(Hu(),1),Equ=Eu(gE(),1);Zu();var fU3="Portal",qw0=Qs.forwardRef((u,B)=>{let{container:E,...A}=u,[C,D]=Qs.useState(!1);AC(()=>D(!0),[]);let F=E||C&&globalThis?.document?.body;return F?Equ.default.createPortal(P(tB.div,{...A,ref:B}),F):null});qw0.displayName=fU3;var d8=Eu(Hu(),1);var Aqu=Eu(Hu(),1);function MU3(u,B){return Aqu.useReducer((E,A)=>{return B[E][A]??E},u)}var Hs=(u)=>{let{present:B,children:E}=u,A=bU3(B),C=typeof E==="function"?E({present:A.isPresent}):d8.Children.only(E),D=cE(A.ref,ZU3(C));return typeof E==="function"||A.isPresent?d8.cloneElement(C,{ref:D}):null};Hs.displayName="Presence";function bU3(u){let[B,E]=d8.useState(),A=d8.useRef({}),C=d8.useRef(u),D=d8.useRef("none"),F=u?"mounted":"unmounted",[U,z]=MU3(F,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d8.useEffect(()=>{let k=Gs(A.current);D.current=U==="mounted"?k:"none"},[U]),AC(()=>{let k=A.current,f=C.current;if(f!==u){let b=D.current,Z=Gs(k);if(u)z("MOUNT");else if(Z==="none"||k?.display==="none")z("UNMOUNT");else if(f&&b!==Z)z("ANIMATION_OUT");else z("UNMOUNT");C.current=u}},[u,z]),AC(()=>{if(B){let k,f=B.ownerDocument.defaultView??window,M=(Z)=>{let K=Gs(A.current).includes(Z.animationName);if(Z.target===B&&K){if(z("ANIMATION_END"),!C.current){let w=B.style.animationFillMode;B.style.animationFillMode="forwards",k=f.setTimeout(()=>{if(B.style.animationFillMode==="forwards")B.style.animationFillMode=w})}}},b=(Z)=>{if(Z.target===B)D.current=Gs(A.current)};return B.addEventListener("animationstart",b),B.addEventListener("animationcancel",M),B.addEventListener("animationend",M),()=>{f.clearTimeout(k),B.removeEventListener("animationstart",b),B.removeEventListener("animationcancel",M),B.removeEventListener("animationend",M)}}else z("ANIMATION_END")},[B,z]),{isPresent:["mounted","unmountSuspended"].includes(U),ref:d8.useCallback((k)=>{if(k)A.current=getComputedStyle(k);E(k)},[])}}function Gs(u){return u?.animationName||"none"}function ZU3(u){let B=Object.getOwnPropertyDescriptor(u.props,"ref")?.get,E=B&&"isReactWarning"in B&&B.isReactWarning;if(E)return u.ref;if(B=Object.getOwnPropertyDescriptor(u,"ref")?.get,E=B&&"isReactWarning"in B&&B.isReactWarning,E)return u.props.ref;return u.props.ref||u.ref}var CJ=Eu(Hu(),1);function Cqu({prop:u,defaultProp:B,onChange:E=()=>{}}){let[A,C]=JU3({defaultProp:B,onChange:E}),D=u!==void 0,F=D?u:A,U=_E(E),z=CJ.useCallback((k)=>{if(D){let M=typeof k==="function"?k(u):k;if(M!==u)U(M)}else C(k)},[D,u,C,U]);return[F,z]}function JU3({defaultProp:u,onChange:B}){let E=CJ.useState(u),[A]=E,C=CJ.useRef(A),D=_E(B);return CJ.useEffect(()=>{if(C.current!==A)D(A),C.current=A},[A,C,D]),E}var KU3=function(u){if(typeof document>"u")return null;var B=Array.isArray(u)?u[0]:u;return B.ownerDocument.body},lv=new WeakMap,qs=new WeakMap,ls={},lw0=0,Dqu=function(u){return u&&(u.host||Dqu(u.parentNode))},wU3=function(u,B){return B.map(function(E){if(u.contains(E))return E;var A=Dqu(E);if(A&&u.contains(A))return A;return console.error("aria-hidden",E,"in not contained inside",u,". Doing nothing"),null}).filter(function(E){return Boolean(E)})},QU3=function(u,B,E,A){var C=wU3(B,Array.isArray(u)?u:[u]);if(!ls[E])ls[E]=new WeakMap;var D=ls[E],F=[],U=new Set,z=new Set(C),k=function(M){if(!M||U.has(M))return;U.add(M),k(M.parentNode)};C.forEach(k);var f=function(M){if(!M||z.has(M))return;Array.prototype.forEach.call(M.children,function(b){if(U.has(b))f(b);else try{var Z=b.getAttribute(A),J=Z!==null&&Z!=="false",K=(lv.get(b)||0)+1,w=(D.get(b)||0)+1;if(lv.set(b,K),D.set(b,w),F.push(b),K===1&&J)qs.set(b,!0);if(w===1)b.setAttribute(E,"true");if(!J)b.setAttribute(A,"true")}catch(Q){console.error("aria-hidden: cannot operate on ",b,Q)}})};return f(B),U.clear(),lw0++,function(){if(F.forEach(function(M){var b=lv.get(M)-1,Z=D.get(M)-1;if(lv.set(M,b),D.set(M,Z),!b){if(!qs.has(M))M.removeAttribute(A);qs.delete(M)}if(!Z)M.removeAttribute(E)}),lw0--,!lw0)lv=new WeakMap,lv=new WeakMap,qs=new WeakMap,ls={}}},Fqu=function(u,B,E){if(E===void 0)E="data-aria-hidden";var A=Array.from(Array.isArray(u)?u:[u]),C=B||KU3(u);if(!C)return function(){return null};return A.push.apply(A,Array.from(C.querySelectorAll("[aria-live], script"))),QU3(A,C,E,"aria-hidden")};var s8=function(){return s8=Object.assign||function(B){for(var E,A=1,C=arguments.length;A<C;A++){E=arguments[A];for(var D in E)if(Object.prototype.hasOwnProperty.call(E,D))B[D]=E[D]}return B},s8.apply(this,arguments)};function Ls(u,B){var E={};for(var A in u)if(Object.prototype.hasOwnProperty.call(u,A)&&B.indexOf(A)<0)E[A]=u[A];if(u!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var C=0,A=Object.getOwnPropertySymbols(u);C<A.length;C++)if(B.indexOf(A[C])<0&&Object.prototype.propertyIsEnumerable.call(u,A[C]))E[A[C]]=u[A[C]]}return E}function Uqu(u,B,E){if(E||arguments.length===2){for(var A=0,C=B.length,D;A<C;A++)if(D||!(A in B)){if(!D)D=Array.prototype.slice.call(B,0,A);D[A]=B[A]}}return u.concat(D||Array.prototype.slice.call(B))}var Ss=Eu(Hu(),1);var EB=Eu(Hu(),1);var qG="right-scroll-bar-position",lG="width-before-scroll-bar",Lw0="with-scroll-bars-hidden",Xw0="--removed-body-scroll-bar-size";var vs=Eu(Hu(),1);function Xs(u,B){if(typeof u==="function")u(B);else if(u)u.current=B;return u}var zqu=Eu(Hu(),1);function kqu(u,B){var E=zqu.useState(function(){return{value:u,callback:B,facade:{get current(){return E.value},set current(A){var C=E.value;if(C!==A)E.value=A,E.callback(A,C)}}}})[0];return E.callback=B,E.facade}var GU3=typeof window<"u"?vs.useLayoutEffect:vs.useEffect,fqu=new WeakMap;function vw0(u,B){var E=kqu(B||null,function(A){return u.forEach(function(C){return Xs(C,A)})});return GU3(function(){var A=fqu.get(E);if(A){var C=new Set(A),D=new Set(u),F=E.current;C.forEach(function(U){if(!D.has(U))Xs(U,null)}),D.forEach(function(U){if(!C.has(U))Xs(U,F)})}fqu.set(E,u)},[u]),E}function HU3(u){return u}function qU3(u,B){if(B===void 0)B=HU3;var E=[],A=!1,C={read:function(){if(A)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");if(E.length)return E[E.length-1];return u},useMedium:function(D){var F=B(D,A);return E.push(F),function(){E=E.filter(function(U){return U!==F})}},assignSyncMedium:function(D){A=!0;while(E.length){var F=E;E=[],F.forEach(D)}E={push:function(U){return D(U)},filter:function(){return E}}},assignMedium:function(D){A=!0;var F=[];if(E.length){var U=E;E=[],U.forEach(D),F=E}var z=function(){var f=F;F=[],f.forEach(D)},k=function(){return Promise.resolve().then(z)};k(),E={push:function(f){F.push(f),k()},filter:function(f){return F=F.filter(f),E}}}};return C}function xw0(u){if(u===void 0)u={};var B=qU3(null);return B.options=s8({async:!0,ssr:!1},u),B}var Mqu=Eu(Hu(),1),bqu=function(u){var B=u.sideCar,E=Ls(u,["sideCar"]);if(!B)throw Error("Sidecar: please provide `sideCar` property to import the right car");var A=B.read();if(!A)throw Error("Sidecar medium not found");return Mqu.createElement(A,s8({},E))};bqu.isSideCarExport=!0;function Ww0(u,B){return u.useMedium(B),bqu}var xs=xw0();var Sw0=function(){return},HP=EB.forwardRef(function(u,B){var E=EB.useRef(null),A=EB.useState({onScrollCapture:Sw0,onWheelCapture:Sw0,onTouchMoveCapture:Sw0}),C=A[0],D=A[1],F=u.forwardProps,U=u.children,z=u.className,k=u.removeScrollBar,f=u.enabled,M=u.shards,b=u.sideCar,Z=u.noRelative,J=u.noIsolation,K=u.inert,w=u.allowPinchZoom,Q=u.as,G=Q===void 0?"div":Q,H=u.gapMode,l=Ls(u,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),q=b,L=vw0([E,B]),v=s8(s8({},l),C);return EB.createElement(EB.Fragment,null,f&&EB.createElement(q,{sideCar:xs,removeScrollBar:k,shards:M,noRelative:Z,noIsolation:J,inert:K,setCallbacks:D,allowPinchZoom:!!w,lockRef:E,gapMode:H}),F?EB.cloneElement(EB.Children.only(U),s8(s8({},v),{ref:L})):EB.createElement(G,s8({},v,{className:z,ref:L}),U))});HP.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};HP.classNames={fullWidth:lG,zeroRight:qG};var u9=Eu(Hu(),1);var Xv=Eu(Hu(),1);var Kqu=Eu(Hu(),1);var Zqu;var Jqu=function(){if(Zqu)return Zqu;if(typeof __webpack_nonce__<"u")return __webpack_nonce__;return};function lU3(){if(!document)return null;var u=document.createElement("style");u.type="text/css";var B=Jqu();if(B)u.setAttribute("nonce",B);return u}function LU3(u,B){if(u.styleSheet)u.styleSheet.cssText=B;else u.appendChild(document.createTextNode(B))}function XU3(u){var B=document.head||document.getElementsByTagName("head")[0];B.appendChild(u)}var Yw0=function(){var u=0,B=null;return{add:function(E){if(u==0){if(B=lU3())LU3(B,E),XU3(B)}u++},remove:function(){if(u--,!u&&B)B.parentNode&&B.parentNode.removeChild(B),B=null}}};var Rw0=function(){var u=Yw0();return function(B,E){Kqu.useEffect(function(){return u.add(B),function(){u.remove()}},[B&&E])}};var qP=function(){var u=Rw0(),B=function(E){var{styles:A,dynamic:C}=E;return u(A,C),null};return B};var vU3={left:0,top:0,right:0,gap:0},Tw0=function(u){return parseInt(u||"",10)||0},xU3=function(u){var B=window.getComputedStyle(document.body),E=B[u==="padding"?"paddingLeft":"marginLeft"],A=B[u==="padding"?"paddingTop":"marginTop"],C=B[u==="padding"?"paddingRight":"marginRight"];return[Tw0(E),Tw0(A),Tw0(C)]},Ow0=function(u){if(u===void 0)u="margin";if(typeof window>"u")return vU3;var B=xU3(u),E=document.documentElement.clientWidth,A=window.innerWidth;return{left:B[0],top:B[1],right:B[2],gap:Math.max(0,A-E+B[2]-B[0])}};var WU3=qP(),Lv="data-scroll-locked",SU3=function(u,B,E,A){var{left:C,top:D,right:F,gap:U}=u;if(E===void 0)E="margin";return`
.`.concat(Lw0,` {
overflow: hidden `).concat(A,`;
padding-right: `).concat(U,"px ").concat(A,`;
}
body[`).concat(Lv,`] {
overflow: hidden `).concat(A,`;
overscroll-behavior: contain;
`).concat([B&&"position: relative ".concat(A,";"),E==="margin"&&`
padding-left: `.concat(C,`px;
padding-top: `).concat(D,`px;
padding-right: `).concat(F,`px;
margin-left:0;
margin-top:0;
margin-right: `).concat(U,"px ").concat(A,`;
`),E==="padding"&&"padding-right: ".concat(U,"px ").concat(A,";")].filter(Boolean).join(""),`
}
.`).concat(qG,` {
right: `).concat(U,"px ").concat(A,`;
}
.`).concat(lG,` {
margin-right: `).concat(U,"px ").concat(A,`;
}
.`).concat(qG," .").concat(qG,` {
right: 0 `).concat(A,`;
}
.`).concat(lG," .").concat(lG,` {
margin-right: 0 `).concat(A,`;
}
body[`).concat(Lv,`] {
`).concat(Xw0,": ").concat(U,`px;
}
`)},wqu=function(){var u=parseInt(document.body.getAttribute(Lv)||"0",10);return isFinite(u)?u:0},YU3=function(){Xv.useEffect(function(){return document.body.setAttribute(Lv,(wqu()+1).toString()),function(){var u=wqu()-1;if(u<=0)document.body.removeAttribute(Lv);else document.body.setAttribute(Lv,u.toString())}},[])},Iw0=function(u){var{noRelative:B,noImportant:E,gapMode:A}=u,C=A===void 0?"margin":A;YU3();var D=Xv.useMemo(function(){return Ow0(C)},[C]);return Xv.createElement(WU3,{styles:SU3(D,!B,C,!E?"!important":"")})};var Pw0=!1;if(typeof window<"u")try{vv=Object.defineProperty({},"passive",{get:function(){return Pw0=!0,!0}}),window.addEventListener("test",vv,vv),window.removeEventListener("test",vv,vv)}catch(u){Pw0=!1}var vv,LG=Pw0?{passive:!1}:!1;var RU3=function(u){return u.tagName==="TEXTAREA"},Qqu=function(u,B){if(!(u instanceof Element))return!1;var E=window.getComputedStyle(u);return E[B]!=="hidden"&&!(E.overflowY===E.overflowX&&!RU3(u)&&E[B]==="visible")},TU3=function(u){return Qqu(u,"overflowY")},OU3=function(u){return Qqu(u,"overflowX")},jw0=function(u,B){var E=B.ownerDocument,A=B;do{if(typeof ShadowRoot<"u"&&A instanceof ShadowRoot)A=A.host;var C=Gqu(u,A);if(C){var D=Hqu(u,A),F=D[1],U=D[2];if(F>U)return!0}A=A.parentNode}while(A&&A!==E.body);return!1},IU3=function(u){var{scrollTop:B,scrollHeight:E,clientHeight:A}=u;return[B,E,A]},PU3=function(u){var{scrollLeft:B,scrollWidth:E,clientWidth:A}=u;return[B,E,A]},Gqu=function(u,B){return u==="v"?TU3(B):OU3(B)},Hqu=function(u,B){return u==="v"?IU3(B):PU3(B)},jU3=function(u,B){return u==="h"&&B==="rtl"?-1:1},qqu=function(u,B,E,A,C){var D=jU3(u,window.getComputedStyle(B).direction),F=D*A,U=E.target,z=B.contains(U),k=!1,f=F>0,M=0,b=0;do{if(!U)break;var Z=Hqu(u,U),J=Z[0],K=Z[1],w=Z[2],Q=K-w-D*J;if(J||Q){if(Gqu(u,U))M+=Q,b+=J}var G=U.parentNode;U=G&&G.nodeType===Node.DOCUMENT_FRAGMENT_NODE?G.host:G}while(!z&&U!==document.body||z&&(B.contains(U)||B===U));if(f&&(C&&Math.abs(M)<1||!C&&F>M))k=!0;else if(!f&&(C&&Math.abs(b)<1||!C&&-F>b))k=!0;return k};var Ws=function(u){return"changedTouches"in u?[u.changedTouches[0].clientX,u.changedTouches[0].clientY]:[0,0]},lqu=function(u){return[u.deltaX,u.deltaY]},Lqu=function(u){return u&&"current"in u?u.current:u},NU3=function(u,B){return u[0]===B[0]&&u[1]===B[1]},VU3=function(u){return`
.block-interactivity-`.concat(u,` {pointer-events: none;}
.allow-interactivity-`).concat(u,` {pointer-events: all;}
`)},hU3=0,xv=[];function Xqu(u){var B=u9.useRef([]),E=u9.useRef([0,0]),A=u9.useRef(),C=u9.useState(hU3++)[0],D=u9.useState(qP)[0],F=u9.useRef(u);u9.useEffect(function(){F.current=u},[u]),u9.useEffect(function(){if(u.inert){document.body.classList.add("block-interactivity-".concat(C));var K=Uqu([u.lockRef.current],(u.shards||[]).map(Lqu),!0).filter(Boolean);return K.forEach(function(w){return w.classList.add("allow-interactivity-".concat(C))}),function(){document.body.classList.remove("block-interactivity-".concat(C)),K.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(C))})}}return},[u.inert,u.lockRef.current,u.shards]);var U=u9.useCallback(function(K,w){if("touches"in K&&K.touches.length===2||K.type==="wheel"&&K.ctrlKey)return!F.current.allowPinchZoom;var Q=Ws(K),G=E.current,H="deltaX"in K?K.deltaX:G[0]-Q[0],l="deltaY"in K?K.deltaY:G[1]-Q[1],q,L=K.target,v=Math.abs(H)>Math.abs(l)?"h":"v";if("touches"in K&&v==="h"&&L.type==="range")return!1;var x=window.getSelection(),S=x&&x.anchorNode,W=S?S===L||S.contains(L):!1;if(W)return!1;var T=jw0(v,L);if(!T)return!0;if(T)q=v;else q=v==="v"?"h":"v",T=jw0(v,L);if(!T)return!1;if(!A.current&&"changedTouches"in K&&(H||l))A.current=q;if(!q)return!0;var R=A.current||q;return qqu(R,w,K,R==="h"?H:l,!0)},[]),z=u9.useCallback(function(K){var w=K;if(!xv.length||xv[xv.length-1]!==D)return;var Q="deltaY"in w?lqu(w):Ws(w),G=B.current.filter(function(q){return q.name===w.type&&(q.target===w.target||w.target===q.shadowParent)&&NU3(q.delta,Q)})[0];if(G&&G.should){if(w.cancelable)w.preventDefault();return}if(!G){var H=(F.current.shards||[]).map(Lqu).filter(Boolean).filter(function(q){return q.contains(w.target)}),l=H.length>0?U(w,H[0]):!F.current.noIsolation;if(l){if(w.cancelable)w.preventDefault()}}},[]),k=u9.useCallback(function(K,w,Q,G){var H={name:K,delta:w,target:Q,should:G,shadowParent:iU3(Q)};B.current.push(H),setTimeout(function(){B.current=B.current.filter(function(l){return l!==H})},1)},[]),f=u9.useCallback(function(K){E.current=Ws(K),A.current=void 0},[]),M=u9.useCallback(function(K){k(K.type,lqu(K),K.target,U(K,u.lockRef.current))},[]),b=u9.useCallback(function(K){k(K.type,Ws(K),K.target,U(K,u.lockRef.current))},[]);u9.useEffect(function(){return xv.push(D),u.setCallbacks({onScrollCapture:M,onWheelCapture:M,onTouchMoveCapture:b}),document.addEventListener("wheel",z,LG),document.addEventListener("touchmove",z,LG),document.addEventListener("touchstart",f,LG),function(){xv=xv.filter(function(K){return K!==D}),document.removeEventListener("wheel",z,LG),document.removeEventListener("touchmove",z,LG),document.removeEventListener("touchstart",f,LG)}},[]);var{removeScrollBar:Z,inert:J}=u;return u9.createElement(u9.Fragment,null,J?u9.createElement(D,{styles:VU3(C)}):null,Z?u9.createElement(Iw0,{noRelative:u.noRelative,gapMode:u.gapMode}):null)}function iU3(u){var B=null;while(u!==null){if(u instanceof ShadowRoot)B=u.host,u=u.host;u=u.parentNode}return B}var vqu=Ww0(xs,Xqu);var xqu=Ss.forwardRef(function(u,B){return Ss.createElement(HP,s8({},u,{ref:B,sideCar:vqu}))});xqu.classNames=HP.classNames;var Nw0=xqu;Zu();var Vw0="Popover",[Wqu,OT1]=Ds(Vw0,[Qw0]),lP=Qw0(),[aU3,DJ]=Wqu(Vw0),Squ=(u)=>{let{__scopePopover:B,children:E,open:A,defaultOpen:C,onOpenChange:D,modal:F=!1}=u,U=lP(B),z=Q9.useRef(null),[k,f]=Q9.useState(!1),[M=!1,b]=Cqu({prop:A,defaultProp:C,onChange:D});return P(eHu,{...U,children:P(aU3,{scope:B,contentId:yGu(),triggerRef:z,open:M,onOpenChange:b,onOpenToggle:Q9.useCallback(()=>b((Z)=>!Z),[b]),hasCustomAnchor:k,onCustomAnchorAdd:Q9.useCallback(()=>f(!0),[]),onCustomAnchorRemove:Q9.useCallback(()=>f(!1),[]),modal:F,children:E})})};Squ.displayName=Vw0;var Yqu="PopoverAnchor",mU3=Q9.forwardRef((u,B)=>{let{__scopePopover:E,...A}=u,C=DJ(Yqu,E),D=lP(E),{onCustomAnchorAdd:F,onCustomAnchorRemove:U}=C;return Q9.useEffect(()=>{return F(),()=>U()},[F,U]),P(Hw0,{...D,...A,ref:B})});mU3.displayName=Yqu;var Rqu="PopoverTrigger",Tqu=Q9.forwardRef((u,B)=>{let{__scopePopover:E,...A}=u,C=DJ(Rqu,E),D=lP(E),F=cE(B,C.triggerRef),U=P(tB.button,{type:"button","aria-haspopup":"dialog","aria-expanded":C.open,"aria-controls":C.contentId,"data-state":Vqu(C.open),...A,ref:F,onClick:eU(u.onClick,C.onOpenToggle)});return C.hasCustomAnchor?U:P(Hw0,{asChild:!0,...D,children:U})});Tqu.displayName=Rqu;var hw0="PopoverPortal",[$U3,yU3]=Wqu(hw0,{forceMount:void 0}),Oqu=(u)=>{let{__scopePopover:B,forceMount:E,children:A,container:C}=u,D=DJ(hw0,B);return P($U3,{scope:B,forceMount:E,children:P(Hs,{present:E||D.open,children:P(qw0,{asChild:!0,container:C,children:A})})})};Oqu.displayName=hw0;var Wv="PopoverContent",Iqu=Q9.forwardRef((u,B)=>{let E=yU3(Wv,u.__scopePopover),{forceMount:A=E.forceMount,...C}=u,D=DJ(Wv,u.__scopePopover);return P(Hs,{present:A||D.open,children:D.modal?P(rU3,{...C,ref:B}):P(gU3,{...C,ref:B})})});Iqu.displayName=Wv;var rU3=Q9.forwardRef((u,B)=>{let E=DJ(Wv,u.__scopePopover),A=Q9.useRef(null),C=cE(B,A),D=Q9.useRef(!1);return Q9.useEffect(()=>{let F=A.current;if(F)return Fqu(F)},[]),P(Nw0,{as:bP,allowPinchZoom:!0,children:P(Pqu,{...u,ref:C,trapFocus:E.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:eU(u.onCloseAutoFocus,(F)=>{if(F.preventDefault(),!D.current)E.triggerRef.current?.focus()}),onPointerDownOutside:eU(u.onPointerDownOutside,(F)=>{let U=F.detail.originalEvent,z=U.button===0&&U.ctrlKey===!0,k=U.button===2||z;D.current=k},{checkForDefaultPrevented:!1}),onFocusOutside:eU(u.onFocusOutside,(F)=>F.preventDefault(),{checkForDefaultPrevented:!1})})})}),gU3=Q9.forwardRef((u,B)=>{let E=DJ(Wv,u.__scopePopover),A=Q9.useRef(!1),C=Q9.useRef(!1);return P(Pqu,{...u,ref:B,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:(D)=>{if(u.onCloseAutoFocus?.(D),!D.defaultPrevented){if(!A.current)E.triggerRef.current?.focus();D.preventDefault()}A.current=!1,C.current=!1},onInteractOutside:(D)=>{if(u.onInteractOutside?.(D),!D.defaultPrevented){if(A.current=!0,D.detail.originalEvent.type==="pointerdown")C.current=!0}let F=D.target;if(E.triggerRef.current?.contains(F))D.preventDefault();if(D.detail.originalEvent.type==="focusin"&&C.current)D.preventDefault()}})}),Pqu=Q9.forwardRef((u,B)=>{let{__scopePopover:E,trapFocus:A,onOpenAutoFocus:C,onCloseAutoFocus:D,disableOutsidePointerEvents:F,onEscapeKeyDown:U,onPointerDownOutside:z,onFocusOutside:k,onInteractOutside:f,...M}=u,b=DJ(Wv,E),Z=lP(E);return NGu(),P(Dw0,{asChild:!0,loop:!0,trapped:A,onMountAutoFocus:C,onUnmountAutoFocus:D,children:P(Bw0,{asChild:!0,disableOutsidePointerEvents:F,onInteractOutside:f,onEscapeKeyDown:U,onPointerDownOutside:z,onFocusOutside:k,onDismiss:()=>b.onOpenChange(!1),children:P(uqu,{"data-state":Vqu(b.open),role:"dialog",id:b.contentId,...Z,...M,ref:B,style:{...M.style,...{"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}}})})})}),jqu="PopoverClose",cU3=Q9.forwardRef((u,B)=>{let{__scopePopover:E,...A}=u,C=DJ(jqu,E);return P(tB.button,{type:"button",...A,ref:B,onClick:eU(u.onClick,()=>C.onOpenChange(!1))})});cU3.displayName=jqu;var _U3="PopoverArrow",Nqu=Q9.forwardRef((u,B)=>{let{__scopePopover:E,...A}=u,C=lP(E);return P(Bqu,{...C,...A,ref:B})});Nqu.displayName=_U3;function Vqu(u){return u?"open":"closed"}var FJ=Squ;var UJ=Tqu,hqu=Oqu,Sv=Iqu;var Ys=Nqu;Zu();Zu();var stu=Eu(Hu(),1),uF=Eu(Hu(),1),Qo=Eu(Hu(),1),otu=Eu(gE(),1),CG0=Eu(Hu(),1),pP=Eu(Hu(),1),ueu=Eu(Hu(),1),Beu=Eu(Hu(),1),Eeu=Eu(Hu(),1);Zu();Zu();Zu();var Aeu=Eu(Hu(),1),VG=Eu(Hu(),1);Zu();Zu();Zu();var nv=Eu(Hu(),1);Zu();Zu();Zu();Zu();Zu();Zu();var G5=Eu(Hu(),1),Deu=Eu(Hu(),1),Ueu=Eu(Hu(),1),lo=Eu(Hu(),1),Lo=Eu(Hu(),1);Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();EZ();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();var Jeu=Eu(Hu(),1),nP=Eu(Hu(),1),Qeu=Eu(Hu(),1),Heu=Eu(Hu(),1),veu=Eu(Hu(),1),zC=Eu(Hu(),1),DC=Eu(Hu(),1),So=Eu(Hu(),1),Yo=Eu(Hu(),1),Oeu=Eu(gE(),1),Ieu=Eu(Hu(),1),d5=Eu(Hu(),1),Peu=Eu(Hu(),1),Ro=Eu(Hu(),1),UB=Eu(Hu(),1),ZG0=Eu(Hu(),1),yv=Eu(Hu(),1),sP=Eu(Hu(),1),nQ0=Eu(gE(),1),dE=Eu(Hu(),1),To=Eu(Hu(),1),NG=Eu(Hu(),1),sv=Eu(Hu(),1),lJ=Eu(Hu(),1),Oo=Eu(Hu(),1),reu=Eu(Hu(),1),geu=Eu(gL(),1),bz=Eu(Hu(),1),ceu=Eu(mqu(),1),_eu=Eu(Hu(),1),Io=Eu(Hu(),1);var LP=Eu(Hu(),1);var $qu=(u)=>{let B,E=new Set,A=(f,M)=>{let b=typeof f==="function"?f(B):f;if(!Object.is(b,B)){let Z=B;B=(M!=null?M:typeof b!=="object"||b===null)?b:Object.assign({},B,b),E.forEach((J)=>J(B,Z))}},C=()=>B,z={setState:A,getState:C,getInitialState:()=>k,subscribe:(f)=>{return E.add(f),()=>E.delete(f)},destroy:()=>{if((import.meta.env?import.meta.env.MODE:void 0)!=="production")console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.");E.clear()}},k=B=u(A,C,z);return z},yqu=(u)=>u?$qu(u):$qu;var pqu=Eu(Hu(),1),nqu=Eu(gqu(),1),{useDebugValue:Jz3}=pqu.default,{useSyncExternalStoreWithSelector:Kz3}=nqu.default,cqu=!1,wz3=(u)=>u;function Qz3(u,B=wz3,E){if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&E&&!cqu)console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),cqu=!0;let A=Kz3(u.subscribe,u.getState,u.getServerState||u.getInitialState,B,E);return Jz3(A),A}var _qu=(u)=>{if((import.meta.env?import.meta.env.MODE:void 0)!=="production"&&typeof u!=="function")console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let B=typeof u==="function"?yqu(u):u,E=(A,C)=>Qz3(B,A,C);return Object.assign(E,B),E},dqu=(u)=>u?_qu(u):_qu;var squ,oqu,tqu=typeof window<"u"&&((squ=window.document)!=null&&squ.createElement||((oqu=window.navigator)==null?void 0:oqu.product)==="ReactNative")?LP.default.useLayoutEffect:LP.default.useEffect;function rD(){let u=dqu((B)=>({current:[],version:0,set:B}));return{In:({children:B})=>{let E=u((C)=>C.set),A=u((C)=>C.version);return tqu(()=>{E((C)=>({version:C.version+1}))},[]),tqu(()=>{return E(({current:C})=>({current:[...C,B]})),()=>E(({current:C})=>({current:C.filter((D)=>D!==B)}))},[B,A]),null},Out:()=>{let B=u((E)=>E.current);return LP.default.createElement(LP.default.Fragment,null,B)}}}Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();EZ();Zu();Zu();var teu=Eu(Hu(),1),jo=Eu(Hu(),1),HJ=Eu(Hu(),1),D04=Eu(gE(),1),F04=Eu(Hu(),1),U04=Eu(Hu(),1),No=Eu(Hu(),1),t8=Eu(Hu(),1),Vo=Eu(Hu(),1),ov=Eu(Hu(),1),LJ=Eu(Hu(),1),w04=Eu(Hu(),1),PG=Eu(Hu(),1);Zu();EZ();Zu();Zu();Zu();Zu();Zu();Zu();var G04=Eu(Hu(),1),i2=Eu(Hu(),1),q04=Eu(Hu(),1),L04=Eu(Hu(),1);function i6(){return i6=Object.assign?Object.assign.bind():function(u){for(var B=1;B<arguments.length;B++){var E=arguments[B];for(var A in E)({}).hasOwnProperty.call(E,A)&&(u[A]=E[A])}return u},i6.apply(null,arguments)}var _5=Eu(Hu(),1);function Rs(u,B,{checkForDefaultPrevented:E=!0}={}){return function(C){if(u===null||u===void 0||u(C),E===!1||!C.defaultPrevented)return B===null||B===void 0?void 0:B(C)}}var gD=Eu(Hu(),1);function equ(u,B=[]){let E=[];function A(D,F){let U=gD.createContext(F),z=E.length;E=[...E,F];function k(M){let{scope:b,children:Z,...J}=M,K=(b===null||b===void 0?void 0:b[u][z])||U,w=gD.useMemo(()=>J,Object.values(J));return gD.createElement(K.Provider,{value:w},Z)}function f(M,b){let Z=(b===null||b===void 0?void 0:b[u][z])||U,J=gD.useContext(Z);if(J)return J;if(F!==void 0)return F;throw Error(`\`${M}\` must be used within \`${D}\``)}return k.displayName=D+"Provider",[k,f]}let C=()=>{let D=E.map((F)=>{return gD.createContext(F)});return function(U){let z=(U===null||U===void 0?void 0:U[u])||D;return gD.useMemo(()=>({[`__scope${u}`]:{...U,[u]:z}}),[U,z])}};return C.scopeName=u,[A,Gz3(C,...B)]}function Gz3(...u){let B=u[0];if(u.length===1)return B;let E=()=>{let A=u.map((C)=>({useScope:C(),scopeName:C.scopeName}));return function(D){let F=A.reduce((U,{useScope:z,scopeName:k})=>{let M=z(D)[`__scope${k}`];return{...U,...M}},{});return gD.useMemo(()=>({[`__scope${B.scopeName}`]:F}),[F])}};return E.scopeName=B.scopeName,E}var a6=Eu(Hu(),1);function XG(u,B,{checkForDefaultPrevented:E=!0}={}){return function(C){if(u===null||u===void 0||u(C),E===!1||!C.defaultPrevented)return B===null||B===void 0?void 0:B(C)}}var _D=Eu(Hu(),1);var cD=Eu(Hu(),1);function ulu(u,B=[]){let E=[];function A(D,F){let U=cD.createContext(F),z=E.length;E=[...E,F];function k(M){let{scope:b,children:Z,...J}=M,K=(b===null||b===void 0?void 0:b[u][z])||U,w=cD.useMemo(()=>J,Object.values(J));return cD.createElement(K.Provider,{value:w},Z)}function f(M,b){let Z=(b===null||b===void 0?void 0:b[u][z])||U,J=cD.useContext(Z);if(J)return J;if(F!==void 0)return F;throw Error(`\`${M}\` must be used within \`${D}\``)}return k.displayName=D+"Provider",[k,f]}let C=()=>{let D=E.map((F)=>{return cD.createContext(F)});return function(U){let z=(U===null||U===void 0?void 0:U[u])||D;return cD.useMemo(()=>({[`__scope${u}`]:{...U,[u]:z}}),[U,z])}};return C.scopeName=u,[A,Hz3(C,...B)]}function Hz3(...u){let B=u[0];if(u.length===1)return B;let E=()=>{let A=u.map((C)=>({useScope:C(),scopeName:C.scopeName}));return function(D){let F=A.reduce((U,{useScope:z,scopeName:k})=>{let M=z(D)[`__scope${k}`];return{...U,...M}},{});return cD.useMemo(()=>({[`__scope${B.scopeName}`]:F}),[F])}};return E.scopeName=B.scopeName,E}var Blu=Eu(Hu(),1);function qz3(u,B){if(typeof u==="function")u(B);else if(u!==null&&u!==void 0)u.current=B}function aw0(...u){return(B)=>u.forEach((E)=>qz3(E,B))}function mw0(...u){return Blu.useCallback(aw0(...u),u)}var T9=Eu(Hu(),1);var Ts=T9.forwardRef((u,B)=>{let{children:E,...A}=u,C=T9.Children.toArray(E),D=C.find(Lz3);if(D){let F=D.props.children,U=C.map((z)=>{if(z===D){if(T9.Children.count(F)>1)return T9.Children.only(null);return T9.isValidElement(F)?F.props.children:null}else return z});return T9.createElement($w0,i6({},A,{ref:B}),T9.isValidElement(F)?T9.cloneElement(F,void 0,U):null)}return T9.createElement($w0,i6({},A,{ref:B}),E)});Ts.displayName="Slot";var $w0=T9.forwardRef((u,B)=>{let{children:E,...A}=u;if(T9.isValidElement(E))return T9.cloneElement(E,{...Xz3(A,E.props),ref:aw0(B,E.ref)});return T9.Children.count(E)>1?T9.Children.only(null):null});$w0.displayName="SlotClone";var lz3=({children:u})=>{return T9.createElement(T9.Fragment,null,u)};function Lz3(u){return T9.isValidElement(u)&&u.type===lz3}function Xz3(u,B){let E={...B};for(let A in B){let C=u[A],D=B[A];if(/^on[A-Z]/.test(A)){if(C&&D)E[A]=(...U)=>{D(...U),C(...U)};else if(C)E[A]=C}else if(A==="style")E[A]={...C,...D};else if(A==="className")E[A]=[C,D].filter(Boolean).join(" ")}return{...u,...E}}function Elu(u){let B=u+"CollectionProvider",[E,A]=ulu(B),[C,D]=E(B,{collectionRef:{current:null},itemMap:new Map}),F=(Z)=>{let{scope:J,children:K}=Z,w=_D.default.useRef(null),Q=_D.default.useRef(new Map).current;return _D.default.createElement(C,{scope:J,itemMap:Q,collectionRef:w},K)},U=u+"CollectionSlot",z=_D.default.forwardRef((Z,J)=>{let{scope:K,children:w}=Z,Q=D(U,K),G=mw0(J,Q.collectionRef);return _D.default.createElement(Ts,{ref:G},w)}),k=u+"CollectionItemSlot",f="data-radix-collection-item",M=_D.default.forwardRef((Z,J)=>{let{scope:K,children:w,...Q}=Z,G=_D.default.useRef(null),H=mw0(J,G),l=D(k,K);return _D.default.useEffect(()=>{return l.itemMap.set(G,{ref:G,...Q}),()=>void l.itemMap.delete(G)}),_D.default.createElement(Ts,{[f]:"",ref:H},w)});function b(Z){let J=D(u+"CollectionConsumer",Z);return _D.default.useCallback(()=>{let w=J.collectionRef.current;if(!w)return[];let Q=Array.from(w.querySelectorAll(`[${f}]`));return Array.from(J.itemMap.values()).sort((l,q)=>Q.indexOf(l.ref.current)-Q.indexOf(q.ref.current))},[J.collectionRef,J.itemMap])}return[{Provider:F,Slot:z,ItemSlot:M},b,A]}var Alu=Eu(Hu(),1);function vz3(u,B){if(typeof u==="function")u(B);else if(u!==null&&u!==void 0)u.current=B}function yw0(...u){return(B)=>u.forEach((E)=>vz3(E,B))}function Clu(...u){return Alu.useCallback(yw0(...u),u)}var pD=Eu(Hu(),1);function Dlu(u,B=[]){let E=[];function A(D,F){let U=pD.createContext(F),z=E.length;E=[...E,F];function k(M){let{scope:b,children:Z,...J}=M,K=(b===null||b===void 0?void 0:b[u][z])||U,w=pD.useMemo(()=>J,Object.values(J));return pD.createElement(K.Provider,{value:w},Z)}function f(M,b){let Z=(b===null||b===void 0?void 0:b[u][z])||U,J=pD.useContext(Z);if(J)return J;if(F!==void 0)return F;throw Error(`\`${M}\` must be used within \`${D}\``)}return k.displayName=D+"Provider",[k,f]}let C=()=>{let D=E.map((F)=>{return pD.createContext(F)});return function(U){let z=(U===null||U===void 0?void 0:U[u])||D;return pD.useMemo(()=>({[`__scope${u}`]:{...U,[u]:z}}),[U,z])}};return C.scopeName=u,[A,xz3(C,...B)]}function xz3(...u){let B=u[0];if(u.length===1)return B;let E=()=>{let A=u.map((C)=>({useScope:C(),scopeName:C.scopeName}));return function(D){let F=A.reduce((U,{useScope:z,scopeName:k})=>{let M=z(D)[`__scope${k}`];return{...U,...M}},{});return pD.useMemo(()=>({[`__scope${B.scopeName}`]:F}),[F])}};return E.scopeName=B.scopeName,E}var rw0=Eu(Hu(),1);var Flu=Eu(Hu(),1),Ulu=Boolean(globalThis===null||globalThis===void 0?void 0:globalThis.document)?Flu.useLayoutEffect:()=>{};var Wz3=rw0["useId".toString()]||(()=>{return}),Sz3=0;function zlu(u){let[B,E]=rw0.useState(Wz3());return Ulu(()=>{if(!u)E((A)=>A!==null&&A!==void 0?A:String(Sz3++))},[u]),u||(B?`radix-${B}`:"")}var Rv=Eu(Hu(),1),Oz3=Eu(gE(),1);var O9=Eu(Hu(),1);var cw0=O9.forwardRef((u,B)=>{let{children:E,...A}=u,C=O9.Children.toArray(E),D=C.find(Rz3);if(D){let F=D.props.children,U=C.map((z)=>{if(z===D){if(O9.Children.count(F)>1)return O9.Children.only(null);return O9.isValidElement(F)?F.props.children:null}else return z});return O9.createElement(gw0,i6({},A,{ref:B}),O9.isValidElement(F)?O9.cloneElement(F,void 0,U):null)}return O9.createElement(gw0,i6({},A,{ref:B}),E)});cw0.displayName="Slot";var gw0=O9.forwardRef((u,B)=>{let{children:E,...A}=u;if(O9.isValidElement(E))return O9.cloneElement(E,{...Tz3(A,E.props),ref:yw0(B,E.ref)});return O9.Children.count(E)>1?O9.Children.only(null):null});gw0.displayName="SlotClone";var Yz3=({children:u})=>{return O9.createElement(O9.Fragment,null,u)};function Rz3(u){return O9.isValidElement(u)&&u.type===Yz3}function Tz3(u,B){let E={...B};for(let A in B){let C=u[A],D=B[A];if(/^on[A-Z]/.test(A)){if(C&&D)E[A]=(...U)=>{D(...U),C(...U)};else if(C)E[A]=C}else if(A==="style")E[A]={...C,...D};else if(A==="className")E[A]=[C,D].filter(Boolean).join(" ")}return{...u,...E}}var Iz3=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],_w0=Iz3.reduce((u,B)=>{let E=Rv.forwardRef((A,C)=>{let{asChild:D,...F}=A,U=D?cw0:B;return Rv.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),Rv.createElement(U,i6({},F,{ref:C}))});return E.displayName=`Primitive.${B}`,{...u,[B]:E}},{});var Tv=Eu(Hu(),1);function XP(u){let B=Tv.useRef(u);return Tv.useEffect(()=>{B.current=u}),Tv.useMemo(()=>(...E)=>{var A;return(A=B.current)===null||A===void 0?void 0:A.call(B,...E)},[])}var kJ=Eu(Hu(),1);function klu({prop:u,defaultProp:B,onChange:E=()=>{}}){let[A,C]=Pz3({defaultProp:B,onChange:E}),D=u!==void 0,F=D?u:A,U=XP(E),z=kJ.useCallback((k)=>{if(D){let M=typeof k==="function"?k(u):k;if(M!==u)U(M)}else C(k)},[D,u,C,U]);return[F,z]}function Pz3({defaultProp:u,onChange:B}){let E=kJ.useState(u),[A]=E,C=kJ.useRef(A),D=XP(B);return kJ.useEffect(()=>{if(C.current!==A)D(A),C.current=A},[A,C,D]),E}var vP=Eu(Hu(),1),jz3=vP.createContext(void 0);function Os(u){let B=vP.useContext(jz3);return u||B||"ltr"}var pw0="rovingFocusGroup.onEntryFocus",Nz3={bubbles:!1,cancelable:!0},dw0="RovingFocusGroup",[nw0,flu,Vz3]=Elu(dw0),[hz3,sw0]=Dlu(dw0,[Vz3]),[iz3,az3]=hz3(dw0),mz3=a6.forwardRef((u,B)=>{return a6.createElement(nw0.Provider,{scope:u.__scopeRovingFocusGroup},a6.createElement(nw0.Slot,{scope:u.__scopeRovingFocusGroup},a6.createElement($z3,i6({},u,{ref:B}))))}),$z3=a6.forwardRef((u,B)=>{let{__scopeRovingFocusGroup:E,orientation:A,loop:C=!1,dir:D,currentTabStopId:F,defaultCurrentTabStopId:U,onCurrentTabStopIdChange:z,onEntryFocus:k,...f}=u,M=a6.useRef(null),b=Clu(B,M),Z=Os(D),[J=null,K]=klu({prop:F,defaultProp:U,onChange:z}),[w,Q]=a6.useState(!1),G=XP(k),H=flu(E),l=a6.useRef(!1),[q,L]=a6.useState(0);return a6.useEffect(()=>{let v=M.current;if(v)return v.addEventListener(pw0,G),()=>v.removeEventListener(pw0,G)},[G]),a6.createElement(iz3,{scope:E,orientation:A,dir:Z,loop:C,currentTabStopId:J,onItemFocus:a6.useCallback((v)=>K(v),[K]),onItemShiftTab:a6.useCallback(()=>Q(!0),[]),onFocusableItemAdd:a6.useCallback(()=>L((v)=>v+1),[]),onFocusableItemRemove:a6.useCallback(()=>L((v)=>v-1),[])},a6.createElement(_w0.div,i6({tabIndex:w||q===0?-1:0,"data-orientation":A},f,{ref:b,style:{outline:"none",...u.style},onMouseDown:XG(u.onMouseDown,()=>{l.current=!0}),onFocus:XG(u.onFocus,(v)=>{let x=!l.current;if(v.target===v.currentTarget&&x&&!w){let S=new CustomEvent(pw0,Nz3);if(v.currentTarget.dispatchEvent(S),!S.defaultPrevented){let W=H().filter((I)=>I.focusable),T=W.find((I)=>I.active),R=W.find((I)=>I.id===J),h=[T,R,...W].filter(Boolean).map((I)=>I.ref.current);Mlu(h)}}l.current=!1}),onBlur:XG(u.onBlur,()=>Q(!1))})))}),yz3="RovingFocusGroupItem",rz3=a6.forwardRef((u,B)=>{let{__scopeRovingFocusGroup:E,focusable:A=!0,active:C=!1,tabStopId:D,...F}=u,U=zlu(),z=D||U,k=az3(yz3,E),f=k.currentTabStopId===z,M=flu(E),{onFocusableItemAdd:b,onFocusableItemRemove:Z}=k;return a6.useEffect(()=>{if(A)return b(),()=>Z()},[A,b,Z]),a6.createElement(nw0.ItemSlot,{scope:E,id:z,focusable:A,active:C},a6.createElement(_w0.span,i6({tabIndex:f?0:-1,"data-orientation":k.orientation},F,{ref:B,onMouseDown:XG(u.onMouseDown,(J)=>{if(!A)J.preventDefault();else k.onItemFocus(z)}),onFocus:XG(u.onFocus,()=>k.onItemFocus(z)),onKeyDown:XG(u.onKeyDown,(J)=>{if(J.key==="Tab"&&J.shiftKey){k.onItemShiftTab();return}if(J.target!==J.currentTarget)return;let K=_z3(J,k.orientation,k.dir);if(K!==void 0){J.preventDefault();let Q=M().filter((G)=>G.focusable).map((G)=>G.ref.current);if(K==="last")Q.reverse();else if(K==="prev"||K==="next"){if(K==="prev")Q.reverse();let G=Q.indexOf(J.currentTarget);Q=k.loop?pz3(Q,G+1):Q.slice(G+1)}setTimeout(()=>Mlu(Q))}})})))}),gz3={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function cz3(u,B){if(B!=="rtl")return u;return u==="ArrowLeft"?"ArrowRight":u==="ArrowRight"?"ArrowLeft":u}function _z3(u,B,E){let A=cz3(u.key,E);if(B==="vertical"&&["ArrowLeft","ArrowRight"].includes(A))return;if(B==="horizontal"&&["ArrowUp","ArrowDown"].includes(A))return;return gz3[A]}function Mlu(u){let B=document.activeElement;for(let E of u){if(E===B)return;if(E.focus(),document.activeElement!==B)return}}function pz3(u,B){return u.map((E,A)=>u[(B+A)%u.length])}var blu=mz3,Zlu=rz3;var AB=Eu(Hu(),1),Qlu=Eu(gE(),1);var Jlu=Eu(Hu(),1);function nz3(u,B){if(typeof u==="function")u(B);else if(u!==null&&u!==void 0)u.current=B}function dz3(...u){return(B)=>u.forEach((E)=>nz3(E,B))}function Klu(...u){return Jlu.useCallback(dz3(...u),u)}var wlu=Eu(Hu(),1),ow0=Boolean(globalThis===null||globalThis===void 0?void 0:globalThis.document)?wlu.useLayoutEffect:()=>{};function sz3(u,B){return AB.useReducer((E,A)=>{let C=B[E][A];return C!==null&&C!==void 0?C:E},u)}var tw0=(u)=>{let{present:B,children:E}=u,A=oz3(B),C=typeof E==="function"?E({present:A.isPresent}):AB.Children.only(E),D=Klu(A.ref,C.ref);return typeof E==="function"||A.isPresent?AB.cloneElement(C,{ref:D}):null};tw0.displayName="Presence";function oz3(u){let[B,E]=AB.useState(),A=AB.useRef({}),C=AB.useRef(u),D=AB.useRef("none"),F=u?"mounted":"unmounted",[U,z]=sz3(F,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return AB.useEffect(()=>{let k=Is(A.current);D.current=U==="mounted"?k:"none"},[U]),ow0(()=>{let k=A.current,f=C.current;if(f!==u){let b=D.current,Z=Is(k);if(u)z("MOUNT");else if(Z==="none"||(k===null||k===void 0?void 0:k.display)==="none")z("UNMOUNT");else if(f&&b!==Z)z("ANIMATION_OUT");else z("UNMOUNT");C.current=u}},[u,z]),ow0(()=>{if(B){let k=(M)=>{let Z=Is(A.current).includes(M.animationName);if(M.target===B&&Z)Qlu.flushSync(()=>z("ANIMATION_END"))},f=(M)=>{if(M.target===B)D.current=Is(A.current)};return B.addEventListener("animationstart",f),B.addEventListener("animationcancel",k),B.addEventListener("animationend",k),()=>{B.removeEventListener("animationstart",f),B.removeEventListener("animationcancel",k),B.removeEventListener("animationend",k)}}else z("ANIMATION_END")},[B,z]),{isPresent:["mounted","unmountSuspended"].includes(U),ref:AB.useCallback((k)=>{if(k)A.current=getComputedStyle(k);E(k)},[])}}function Is(u){return(u===null||u===void 0?void 0:u.animationName)||"none"}var Ov=Eu(Hu(),1),Ak3=Eu(gE(),1);var I9=Eu(Hu(),1);var tz3=Eu(Hu(),1);function ez3(u,B){if(typeof u==="function")u(B);else if(u!==null&&u!==void 0)u.current=B}function Glu(...u){return(B)=>u.forEach((E)=>ez3(E,B))}var uQ0=I9.forwardRef((u,B)=>{let{children:E,...A}=u,C=I9.Children.toArray(E),D=C.find(Bk3);if(D){let F=D.props.children,U=C.map((z)=>{if(z===D){if(I9.Children.count(F)>1)return I9.Children.only(null);return I9.isValidElement(F)?F.props.children:null}else return z});return I9.createElement(ew0,i6({},A,{ref:B}),I9.isValidElement(F)?I9.cloneElement(F,void 0,U):null)}return I9.createElement(ew0,i6({},A,{ref:B}),E)});uQ0.displayName="Slot";var ew0=I9.forwardRef((u,B)=>{let{children:E,...A}=u;if(I9.isValidElement(E))return I9.cloneElement(E,{...Ek3(A,E.props),ref:Glu(B,E.ref)});return I9.Children.count(E)>1?I9.Children.only(null):null});ew0.displayName="SlotClone";var uk3=({children:u})=>{return I9.createElement(I9.Fragment,null,u)};function Bk3(u){return I9.isValidElement(u)&&u.type===uk3}function Ek3(u,B){let E={...B};for(let A in B){let C=u[A],D=B[A];if(/^on[A-Z]/.test(A)){if(C&&D)E[A]=(...U)=>{D(...U),C(...U)};else if(C)E[A]=C}else if(A==="style")E[A]={...C,...D};else if(A==="className")E[A]=[C,D].filter(Boolean).join(" ")}return{...u,...E}}var Ck3=["a","button","div","h2","h3","img","label","li","nav","ol","p","span","svg","ul"],xP=Ck3.reduce((u,B)=>{let E=Ov.forwardRef((A,C)=>{let{asChild:D,...F}=A,U=D?uQ0:B;return Ov.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),Ov.createElement(U,i6({},F,{ref:C}))});return E.displayName=`Primitive.${B}`,{...u,[B]:E}},{});var fJ=Eu(Hu(),1);var Iv=Eu(Hu(),1);function BQ0(u){let B=Iv.useRef(u);return Iv.useEffect(()=>{B.current=u}),Iv.useMemo(()=>(...E)=>{var A;return(A=B.current)===null||A===void 0?void 0:A.call(B,...E)},[])}function Hlu({prop:u,defaultProp:B,onChange:E=()=>{}}){let[A,C]=Dk3({defaultProp:B,onChange:E}),D=u!==void 0,F=D?u:A,U=BQ0(E),z=fJ.useCallback((k)=>{if(D){let M=typeof k==="function"?k(u):k;if(M!==u)U(M)}else C(k)},[D,u,C,U]);return[F,z]}function Dk3({defaultProp:u,onChange:B}){let E=fJ.useState(u),[A]=E,C=fJ.useRef(A),D=BQ0(B);return fJ.useEffect(()=>{if(C.current!==A)D(A),C.current=A},[A,C,D]),E}var EQ0=Eu(Hu(),1);var qlu=Eu(Hu(),1),llu=Boolean(globalThis===null||globalThis===void 0?void 0:globalThis.document)?qlu.useLayoutEffect:()=>{};var Fk3=EQ0["useId".toString()]||(()=>{return}),Uk3=0;function Llu(u){let[B,E]=EQ0.useState(Fk3());return llu(()=>{if(!u)E((A)=>A!==null&&A!==void 0?A:String(Uk3++))},[u]),u||(B?`radix-${B}`:"")}var Xlu="Tabs",[zk3,tO1]=equ(Xlu,[sw0]),vlu=sw0(),[kk3,AQ0]=zk3(Xlu),fk3=_5.forwardRef((u,B)=>{let{__scopeTabs:E,value:A,onValueChange:C,defaultValue:D,orientation:F="horizontal",dir:U,activationMode:z="automatic",...k}=u,f=Os(U),[M,b]=Hlu({prop:A,onChange:C,defaultProp:D});return _5.createElement(kk3,{scope:E,baseId:Llu(),value:M,onValueChange:b,orientation:F,dir:f,activationMode:z},_5.createElement(xP.div,i6({dir:f,"data-orientation":F},k,{ref:B})))}),Mk3="TabsList",bk3=_5.forwardRef((u,B)=>{let{__scopeTabs:E,loop:A=!0,...C}=u,D=AQ0(Mk3,E),F=vlu(E);return _5.createElement(blu,i6({asChild:!0},F,{orientation:D.orientation,dir:D.dir,loop:A}),_5.createElement(xP.div,i6({role:"tablist","aria-orientation":D.orientation},C,{ref:B})))}),Zk3="TabsTrigger",Jk3=_5.forwardRef((u,B)=>{let{__scopeTabs:E,value:A,disabled:C=!1,...D}=u,F=AQ0(Zk3,E),U=vlu(E),z=xlu(F.baseId,A),k=Wlu(F.baseId,A),f=A===F.value;return _5.createElement(Zlu,i6({asChild:!0},U,{focusable:!C,active:f}),_5.createElement(xP.button,i6({type:"button",role:"tab","aria-selected":f,"aria-controls":k,"data-state":f?"active":"inactive","data-disabled":C?"":void 0,disabled:C,id:z},D,{ref:B,onMouseDown:Rs(u.onMouseDown,(M)=>{if(!C&&M.button===0&&M.ctrlKey===!1)F.onValueChange(A);else M.preventDefault()}),onKeyDown:Rs(u.onKeyDown,(M)=>{if([" ","Enter"].includes(M.key))F.onValueChange(A)}),onFocus:Rs(u.onFocus,()=>{let M=F.activationMode!=="manual";if(!f&&!C&&M)F.onValueChange(A)})})))}),Kk3="TabsContent",wk3=_5.forwardRef((u,B)=>{let{__scopeTabs:E,value:A,forceMount:C,children:D,...F}=u,U=AQ0(Kk3,E),z=xlu(U.baseId,A),k=Wlu(U.baseId,A),f=A===U.value,M=_5.useRef(f);return _5.useEffect(()=>{let b=requestAnimationFrame(()=>M.current=!1);return()=>cancelAnimationFrame(b)},[]),_5.createElement(tw0,{present:C||f},({present:b})=>_5.createElement(xP.div,i6({"data-state":f?"active":"inactive","data-orientation":U.orientation,role:"tabpanel","aria-labelledby":z,hidden:!b,id:k,tabIndex:0},F,{ref:B,style:{...u.style,animationDuration:M.current?"0s":void 0}}),b&&D))});function xlu(u,B){return`${u}-trigger-${B}`}function Wlu(u,B){return`${u}-content-${B}`}var Ps=fk3,js=bk3,Ns=Jk3,Vs=wk3;Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();var R04=Eu(Hu(),1),ho=Eu(Hu(),1),S7=Eu(Hu(),1),_04=Eu(Tlu(),1),n04=Eu(Hu(),1),AF=Eu(Hu(),1),tP=Eu(Hu(),1);Zu();var oQ0=Eu(Hu(),1),tD=Eu(Hu(),1);Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();EZ();Zu();Zu();Zu();Zu();Zu();Zu();var EF=Eu(Hu(),1),Du4=Eu(gL(),1),fz=Eu(Hu(),1),Fu4=Eu(Hu(),1),Uu4=Eu(Hu(),1),qJ=Eu(Hu(),1),tv=Eu(Hu(),1),zu4=Eu(gL(),1),ev=Eu(Hu(),1),lG0=Eu(gE(),1),fu4=Eu(Hu(),1),aG=Eu(Hu(),1),io=Eu(Hu(),1);function jk3(u,B,E,A){Object.defineProperty(u,B,{get:E,set:A,enumerable:!0,configurable:!0})}var Nk3={};jk3(Nk3,"LaserPointer",()=>bJ);function s9([u,B,E],[A,C,D]){return[u+A,B+C,E+D]}function WP([u,B,E],[A,C,D]){return[u-A,B-C,E-D]}function V2([u,B,E],A){return[u*A,B*A,E*A]}function Pv([u,B,E]){return[u/Math.sqrt(u**2+B**2),B/Math.sqrt(u**2+B**2),E]}function CB([u,B,E],A){return[Math.cos(A)*u-Math.sin(A)*B,Math.sin(A)*u+Math.cos(A)*B,E]}function Vk3(u,B,E){return s9(u,V2(WP(B,u),E))}function Olu(u,B,E){return Math.atan2(E[1]-u[1],E[0]-u[0])-Math.atan2(B[1]-u[1],B[0]-u[0])}function Ilu(u){return Math.atan2(Math.sin(u),Math.cos(u))}function Plu([u,B]){return Math.sqrt(u**2+B**2)}function jv([u,B],[E,A]){return Math.sqrt((E-u)**2+(A-B)**2)}function hk3(u){if(u.length<2)return 0;let B=0;for(let E=1;E<=u.length-1;E++)B+=jv(u[E-1],u[E]);return B+=jv(u[u.length-2],u[u.length-1]),B}var ik3=(u,B,E)=>Math.max(B,Math.min(E,u));function ak3(u,B,E){let A=jv(B,E);if(A===0)return jv(u,B);let C=ik3(((u[0]-B[0])*(E[0]-B[0])+(u[1]-B[1])*(E[1]-B[1]))/A**2,0,1),D=[B[0]+C*(E[0]-B[0]),B[1]+C*(E[1]-B[1]),u[2]];return jv(D,u)}function hs(u,B){if(B===0)return u;if(u.length<=2)return u;let E=u[0],A=u[u.length-1],[C,D]=u.reduce(([F,U],z,k)=>{let f=ak3(z,E,A);return f>F?[f,k]:[F,U]},[0,-1]);if(C>=B){let F=u[D];return[...hs([E,...u.slice(1,D),F],B).slice(0,-1),F,...hs([F,...u.slice(D,-1),A],B).slice(1)]}else return[E,A]}class bJ{static{this.defaults={size:2,streamline:0.45,simplify:0.1,simplifyPhase:"output",keepHead:!1,sizeMapping:()=>1}}static{this.constants={cornerDetectionMaxAngle:75,cornerDetectionVariance:(u)=>u>35?0.5:1,maxTailLength:50}}constructor(u){this.originalPoints=[],this.stablePoints=[],this.tailPoints=[],this.isFresh=!0,this.options=Object.assign({},bJ.defaults,u)}get lastPoint(){return this.tailPoints[this.tailPoints.length-1]??this.stablePoints[this.stablePoints.length-1]}addPoint(u){let B=this.originalPoints[this.originalPoints.length-1];if(B&&B[0]===u[0]&&B[1]===u[1])return;if(this.originalPoints.push(u),this.isFresh){this.isFresh=!1,this.stablePoints.push(u);return}if(this.options.streamline>0)u=Vk3(this.lastPoint,u,1-this.options.streamline);if(this.tailPoints.push(u),hk3(this.tailPoints)>bJ.constants.maxTailLength)this.stabilizeTail()}close(){this.stabilizeTail()}stabilizeTail(){if(this.options.simplify>0&&this.options.simplifyPhase=="tail")throw Error("Not implemented yet");else this.stablePoints.push(...this.tailPoints),this.tailPoints=[]}getSize(u,B,E,A,C){return(u??this.options.size)*this.options.sizeMapping({pressure:B,runningLength:C,currentIndex:E,totalLength:A})}getStrokeOutline(u){if(this.isFresh)return[];let B=[...this.stablePoints,...this.tailPoints];if(this.options.simplify>0&&this.options.simplifyPhase==="input")B=hs(B,this.options.simplify);let E=B.length;if(E===0)return[];if(E===1){let L=B[0],v=this.getSize(u,L[2],0,E,0);if(v<0.5)return[];let x=[];for(let S=0;S<=Math.PI*2;S+=Math.PI/16)x.push(s9(L,V2(CB([1,0,0],S),v)));return x.push(s9(L,V2([1,0,0],this.getSize(u,L[2],0,E,0)))),x}if(E===2){let L=B[0],v=B[1],x=this.getSize(u,L[2],0,E,0),S=this.getSize(u,v[2],0,E,0);if(x<0.5||S<0.5)return[];let W=[],T=Olu(L,[L[0],L[1]-100,L[2]],v);for(let R=T;R<=Math.PI+T;R+=Math.PI/16)W.push(s9(L,V2(CB([1,0,0],R),x)));for(let R=Math.PI+T;R<=Math.PI*2+T;R+=Math.PI/16)W.push(s9(v,V2(CB([1,0,0],R),S)));return W.push(W[0]),W}let A=[],C=[],D=0,F=0,U=0,z=0;for(let L=1;L<E-1;L++){let v=B[L-1],x=B[L],S=B[L+1],W=x[2],T=jv(v,x);z+=T,D=F+(T-F)*0.2;let R=this.getSize(u,W,L,E,z);if(R===0){U=L+1;continue}let Y=Pv(WP(v,x)),h=Pv(WP(S,x)),I=CB(Y,Math.PI/2),O=CB(Y,-Math.PI/2),V=CB(h,Math.PI/2),j=CB(h,-Math.PI/2),i=s9(x,V2(I,R)),a=s9(x,V2(O,R)),$=s9(x,V2(V,R)),m=s9(x,V2(j,R)),y=s9(I,j),r=s9(O,V),_=s9(x,V2(Plu(y)===0?Y:Pv(y),R)),e=s9(x,V2(Plu(r)===0?h:Pv(r),R)),p=Ilu(Olu(x,v,S)),b0=bJ.constants.cornerDetectionMaxAngle/180*Math.PI*bJ.constants.cornerDetectionVariance(D);if(Math.abs(p)<b0){let B0=Math.abs(Ilu(Math.PI-p));if(B0===0)continue;if(p<0){C.push(a,e);for(let k0=0;k0<=B0;k0+=B0/4)A.push(s9(x,CB(V2(I,R),k0)));for(let k0=B0;k0>=0;k0-=B0/4)C.push(s9(x,CB(V2(I,R),k0)));C.push(e,$)}else{A.push(i,_);for(let k0=0;k0<=B0;k0+=B0/4)C.push(s9(x,CB(V2(I,-R),-k0)));for(let k0=B0;k0>=0;k0-=B0/4)A.push(s9(x,CB(V2(I,-R),-k0)));A.push(_,m)}}else A.push(_),C.push(e);F=D}if(U>=E-2)if(this.options.keepHead){let L=B[E-1],v=[];for(let x=0;x<=Math.PI*2;x+=Math.PI/16)v.push(s9(L,V2(CB([1,0,0],x),this.options.size)));return v.push(s9(L,V2([1,0,0],this.options.size))),v}else return[];let k=B[U],f=B[U+1],M=B[E-2],b=B[E-1],Z=Pv(WP(f,k)),J=Pv(WP(M,b)),K=CB(Z,-Math.PI/2),w=CB(J,Math.PI/2),Q=this.getSize(u,k[2],0,E,0),G=[],H=this.options.keepHead?this.options.size:this.getSize(u,M[2],E-2,E,z),l=[];if(Q>1){for(let L=0;L<=Math.PI;L+=Math.PI/16)G.unshift(s9(k,CB(V2(K,Q),-L)));G.unshift(s9(k,V2(K,-Q)))}else G.push(k);for(let L=0;L<=Math.PI*3;L+=Math.PI/16)l.push(s9(b,CB(V2(w,-H),-L)));let q=[...G,...A,...l.reverse(),...C.reverse()];if(G.length>0)q.push(G[0]);if(this.options.simplify>0&&this.options.simplifyPhase==="output")return hs(q,this.options.simplify);return q}}Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();Zu();var ao=Eu(Hu(),1),Lu4=Eu(gL(),1),RG3=Eu(Hu(),1),jtu=mn(),{useAtom:j9,useSetAtom:Mo,useAtomValue:Ntu,useStore:_j1}=jtu,Qb3=jtu.Provider,oD=aX(),Gb3=kDu({"./locales/ar-SA.json":()=>Promise.resolve().then(() => (zLu(),ULu)),"./locales/az-AZ.json":()=>Promise.resolve().then(() => (hLu(),VLu)),"./locales/bg-BG.json":()=>Promise.resolve().then(() => (bXu(),MXu)),"./locales/bn-BD.json":()=>Promise.resolve().then(() => ($Xu(),mXu)),"./locales/ca-ES.json":()=>Promise.resolve().then(() => (wvu(),Kvu)),"./locales/cs-CZ.json":()=>Promise.resolve().then(() => (cvu(),gvu)),"./locales/da-DK.json":()=>Promise.resolve().then(() => (qxu(),Hxu)),"./locales/de-DE.json":()=>Promise.resolve().then(() => (dxu(),nxu)),"./locales/el-GR.json":()=>Promise.resolve().then(() => (vWu(),XWu)),"./locales/en.json":()=>Promise.resolve().then(() => (WWu(),xWu)),"./locales/es-ES.json":()=>Promise.resolve().then(() => (BSu(),uSu)),"./locales/eu-ES.json":()=>Promise.resolve().then(() => (TSu(),RSu)),"./locales/fa-IR.json":()=>Promise.resolve().then(() => (DYu(),CYu)),"./locales/fi-FI.json":()=>Promise.resolve().then(() => (jYu(),PYu)),"./locales/fr-FR.json":()=>Promise.resolve().then(() => (kRu(),zRu)),"./locales/gl-ES.json":()=>Promise.resolve().then(() => (iRu(),hRu)),"./locales/he-IL.json":()=>Promise.resolve().then(() => (ZTu(),bTu)),"./locales/hi-IN.json":()=>Promise.resolve().then(() => (yTu(),$Tu)),"./locales/hu-HU.json":()=>Promise.resolve().then(() => (QOu(),wOu)),"./locales/id-ID.json":()=>Promise.resolve().then(() => (_Ou(),cOu)),"./locales/it-IT.json":()=>Promise.resolve().then(() => (lIu(),qIu)),"./locales/ja-JP.json":()=>Promise.resolve().then(() => (sIu(),dIu)),"./locales/kaa.json":()=>Promise.resolve().then(() => (xPu(),vPu)),"./locales/kab-KAB.json":()=>Promise.resolve().then(() => (uju(),ePu)),"./locales/kk-KZ.json":()=>Promise.resolve().then(() => (Rju(),Yju)),"./locales/km-KH.json":()=>Promise.resolve().then(() => (CNu(),ANu)),"./locales/ko-KR.json":()=>Promise.resolve().then(() => (PNu(),INu)),"./locales/ku-TR.json":()=>Promise.resolve().then(() => (zVu(),UVu)),"./locales/lt-LT.json":()=>Promise.resolve().then(() => (hVu(),VVu)),"./locales/lv-LV.json":()=>Promise.resolve().then(() => (bhu(),Mhu)),"./locales/mr-IN.json":()=>Promise.resolve().then(() => ($hu(),mhu)),"./locales/my-MM.json":()=>Promise.resolve().then(() => (wiu(),Kiu)),"./locales/nb-NO.json":()=>Promise.resolve().then(() => (ciu(),giu)),"./locales/nl-NL.json":()=>Promise.resolve().then(() => (qau(),Hau)),"./locales/nn-NO.json":()=>Promise.resolve().then(() => (dau(),nau)),"./locales/oc-FR.json":()=>Promise.resolve().then(() => (vmu(),Xmu)),"./locales/pa-IN.json":()=>Promise.resolve().then(() => (emu(),tmu)),"./locales/percentages.json":()=>Promise.resolve().then(() => (B$u(),u$u)),"./locales/pl-PL.json":()=>Promise.resolve().then(() => (T$u(),R$u)),"./locales/pt-BR.json":()=>Promise.resolve().then(() => (Dyu(),Cyu)),"./locales/pt-PT.json":()=>Promise.resolve().then(() => (jyu(),Pyu)),"./locales/ro-RO.json":()=>Promise.resolve().then(() => (kru(),zru)),"./locales/ru-RU.json":()=>Promise.resolve().then(() => (iru(),hru)),"./locales/si-LK.json":()=>Promise.resolve().then(() => (Zgu(),bgu)),"./locales/sk-SK.json":()=>Promise.resolve().then(() => (ygu(),$gu)),"./locales/sl-SI.json":()=>Promise.resolve().then(() => (Qcu(),wcu)),"./locales/sv-SE.json":()=>Promise.resolve().then(() => (_cu(),ccu)),"./locales/ta-IN.json":()=>Promise.resolve().then(() => (l_u(),q_u)),"./locales/th-TH.json":()=>Promise.resolve().then(() => (s_u(),d_u)),"./locales/tr-TR.json":()=>Promise.resolve().then(() => (xpu(),vpu)),"./locales/uk-UA.json":()=>Promise.resolve().then(() => (unu(),epu)),"./locales/vi-VN.json":()=>Promise.resolve().then(() => (Rnu(),Ynu)),"./locales/zh-CN.json":()=>Promise.resolve().then(() => (Cdu(),Adu)),"./locales/zh-HK.json":()=>Promise.resolve().then(() => (Pdu(),Idu)),"./locales/zh-TW.json":()=>Promise.resolve().then(() => (zsu(),Usu))}),Hb3=85,_v={code:"en",label:"English"},EG0=[_v,...[{code:"ar-SA",label:"العربية",rtl:!0},{code:"bg-BG",label:"Български"},{code:"ca-ES",label:"Català"},{code:"cs-CZ",label:"Česky"},{code:"de-DE",label:"Deutsch"},{code:"el-GR",label:"Ελληνικά"},{code:"es-ES",label:"Español"},{code:"eu-ES",label:"Euskara"},{code:"fa-IR",label:"فارسی",rtl:!0},{code:"fi-FI",label:"Suomi"},{code:"fr-FR",label:"Français"},{code:"gl-ES",label:"Galego"},{code:"he-IL",label:"עברית",rtl:!0},{code:"hi-IN",label:"हिन्दी"},{code:"hu-HU",label:"Magyar"},{code:"id-ID",label:"Bahasa Indonesia"},{code:"it-IT",label:"Italiano"},{code:"ja-JP",label:"日本語"},{code:"kab-KAB",label:"Taqbaylit"},{code:"kk-KZ",label:"Қазақ тілі"},{code:"ko-KR",label:"한국어"},{code:"ku-TR",label:"Kurdî"},{code:"lt-LT",label:"Lietuvių"},{code:"lv-LV",label:"Latviešu"},{code:"my-MM",label:"Burmese"},{code:"nb-NO",label:"Norsk bokmål"},{code:"nl-NL",label:"Nederlands"},{code:"nn-NO",label:"Norsk nynorsk"},{code:"oc-FR",label:"Occitan"},{code:"pa-IN",label:"ਪੰਜਾਬੀ"},{code:"pl-PL",label:"Polski"},{code:"pt-BR",label:"Português Brasileiro"},{code:"pt-PT",label:"Português"},{code:"ro-RO",label:"Română"},{code:"ru-RU",label:"Русский"},{code:"sk-SK",label:"Slovenčina"},{code:"sv-SE",label:"Svenska"},{code:"sl-SI",label:"Slovenščina"},{code:"tr-TR",label:"Türkçe"},{code:"uk-UA",label:"Українська"},{code:"zh-CN",label:"简体中文"},{code:"zh-TW",label:"繁體中文"},{code:"vi-VN",label:"Tiếng Việt"},{code:"mr-IN",label:"मराठी"}].filter((u)=>Nn[u.code]>=Hb3).sort((u,B)=>u.label>B.label?1:-1)],Ao="__test__";J3.DEV&&EG0.unshift({code:Ao,label:"test language"},{code:`${Ao}.rtl`,label:"test language (rtl)",rtl:!0});var $v=_v,ts={},Vtu=async(u)=>{if($v=u,document.documentElement.dir=$v.rtl?"rtl":"ltr",document.documentElement.lang=$v.code,u.code.startsWith(Ao))ts={};else try{ts=await Gb3(`./locales/${$v.code}.json`)}catch(B){console.error(`Failed to load language ${u.code}:`,B.message),ts=JI}oD.set(htu,u.code)},_P=()=>$v,Lou=(u,B)=>{for(let E=0;E<B.length;++E){let A=B[E];if(u[A]===void 0)return;u=u[A]}if(typeof u=="string")return u},C0=(u,B,E)=>{if($v.code.startsWith(Ao))return`[[${B?`${u}(${JSON.stringify(B).slice(1,-1)})`:u}]]`;let A=u.split("."),C=Lou(ts,A)||Lou(JI,A)||E;if(C===void 0){let D=`Can't find translation for ${u}`;if(J3.PROD)return console.warn(D),"";throw Error(D)}if(B)for(let D in B)C=C.replace(`{{${D}}}`,String(B[D]));return C},htu=P2(_v.code),fB=()=>{let u=Ntu(htu);return{t:C0,langCode:u}},qb3=({size:u="1em",circleWidth:B=8,synchronized:E=!1,className:A=""})=>{let C=-(itu.default.useRef(Date.now()).current%1600);return P("div",{className:`Spinner ${A}`,children:P("svg",{viewBox:"0 0 100 100",style:{width:u,height:u,"--spinner-delay":E?`${C}ms`:0},children:P("circle",{cx:"50",cy:"50",r:50-B/2,strokeWidth:B,fill:"none",strokeMiterlimit:"10"})})})},Rf=qb3,atu=({delay:u,theme:B})=>{let[E,A]=bo.useState(!!u);return bo.useEffect(()=>{if(!u)return;let C=setTimeout(()=>{A(!1)},u);return()=>clearTimeout(C)},[u]),E?null:M0("div",{className:Yu("LoadingMessage",{"LoadingMessage--dark":B===p3.DARK}),children:[P("div",{children:P(Rf,{})}),P("div",{className:"LoadingMessage-text",children:C0("labels.loadingScene")})]})},lb3=(u)=>{let[B,E]=fo.useState(!0);return fo.useEffect(()=>{let A=async()=>{await Vtu(C),E(!1)},C=EG0.find((D)=>D.code===u.langCode)||_v;A()},[u.langCode]),B?P(atu,{theme:u.theme}):u.children},C1=eD.default.forwardRef(({size:u="medium",visible:B=!0,className:E="",...A},C)=>{let{id:D}=Jz(),F=eD.default.useRef(null);eD.default.useImperativeHandle(C,()=>F.current);let U=`ToolIcon_size_${u}`,[z,k]=eD.useState(!1),f=eD.useRef(!0),M=async(Z)=>{let J="onClick"in A&&A.onClick?.(Z);if(lX(J))try{k(!0),await J}catch(K){if(K instanceof nO)console.warn(K);else throw K}finally{f.current&&k(!1)}};eD.useEffect(()=>(f.current=!0,()=>{f.current=!1}),[]);let b=eD.useRef(null);if(A.type==="button"||A.type==="icon"||A.type==="submit"){let Z=A.type==="icon"?"button":A.type;return M0("button",{className:Yu("ToolIcon_type_button",U,E,B&&!A.hidden?"ToolIcon_type_button--show":"ToolIcon_type_button--hide",{ToolIcon:!A.hidden,"ToolIcon--selected":A.selected,"ToolIcon--plain":A.type==="icon"}),style:A.style,"data-testid":A["data-testid"],hidden:A.hidden,title:A.title,"aria-label":A["aria-label"],type:Z,onClick:M,ref:F,disabled:z||A.isLoading||!!A.disabled,children:[(A.icon||A.label)&&M0("div",{className:"ToolIcon__icon","aria-hidden":"true","aria-disabled":!!A.disabled,children:[A.icon||A.label,A.keyBindingLabel&&P("span",{className:"ToolIcon__keybinding",children:A.keyBindingLabel}),A.isLoading&&P(Rf,{})]}),A.showAriaLabel&&M0("div",{className:"ToolIcon__label",children:[A["aria-label"]," ",z&&P(Rf,{})]}),A.children]})}return M0("label",{className:Yu("ToolIcon",E),title:A.title,onPointerDown:(Z)=>{b.current=Z.pointerType||null,A.onPointerDown?.({pointerType:Z.pointerType||null})},onPointerUp:()=>{requestAnimationFrame(()=>{b.current=null})},children:[P("input",{className:`ToolIcon_type_radio ${U}`,type:"radio",name:A.name,"aria-label":A["aria-label"],"aria-keyshortcuts":A["aria-keyshortcuts"],"data-testid":A["data-testid"],id:`${D}-${A.id}`,onChange:()=>{A.onChange?.({pointerType:b.current})},checked:A.checked,ref:F}),M0("div",{className:"ToolIcon__icon",children:[A.icon,A.keyBindingLabel&&P("span",{className:"ToolIcon__keybinding",children:A.keyBindingLabel})]})]})});C1.displayName="ToolButton";var Lb3=(u,B,E)=>{let A=new Set(N3(u.filter((f)=>u3(f)),B).map((f)=>f.id)),C={},D=E.scene.getNonDeletedElementsMap(),F=new Set;for(let f of A){let M=RD(u,f);for(let b of M)if(!F.has(b.id)){if(x6(b)){let Z=b5(b,D);Z&&(C[Z.id]=!0)}else C[b.id]=!0;F.add(b.id)}}let U=!0,z=u.map((f)=>{if(B.selectedElementIds[f.id]){let M=x6(f)?b5(f,D):null;return f.frameId&&A.has(f.frameId)?(U=!1,C[f.id]=!0,f):M?.frameId&&A.has(M?.frameId)?f:(f.boundElements&&f.boundElements.forEach((b)=>{let Z=E.scene.getNonDeletedElementsMap().get(b.id);Z&&Q4(Z)&&(Su(Z,{startBinding:f.id===Z.startBinding?.elementId?null:Z.startBinding,endBinding:f.id===Z.endBinding?.elementId?null:Z.endBinding}),Su(Z,{points:Z.points}))}),O3(f,{isDeleted:!0}))}return f.frameId&&A.has(f.frameId)?(U=!1,x6(f)||(C[f.id]=!0),O3(f,{frameId:null})):x6(f)&&B.selectedElementIds[f.containerId]?O3(f,{isDeleted:!0}):f}),k=B.editingGroupId;if(U&&B.editingGroupId){let f=W6(z,B.editingGroupId).filter((M)=>!M.isDeleted);if(f.length>1)f[0]&&(C[f[0].id]=!0);else{k=null,f[0]&&(C[f[0].id]=!0);let M=f[0];if(M){let b=M.groupIds.findIndex((J)=>J===B.editingGroupId),Z=M.groupIds[b+1];if(Z){let J=W6(z,Z).filter((K)=>!K.isDeleted);J.length>1&&(k=Z,J.forEach((K)=>{C[K.id]=!0}))}}}}return{elements:z,appState:{...B,...n7({selectedElementIds:C,editingGroupId:k},z,B,null)}}},Xou=(u,B)=>{if(u.editingGroupId){let E=W6(f6(B),u.editingGroupId);if(E.length)return{...u,selectedElementIds:{[E[0].id]:!0}}}return u},mtu=C4({name:"deleteSelectedElements",label:"labels.delete",icon:YZ,trackEvent:{category:"element",action:"delete"},perform:(u,B,E,A)=>{if(B.editingLinearElement){let{elementId:F,selectedPointsIndices:U,startBindingElement:z,endBindingElement:k}=B.editingLinearElement,f=A.scene.getNonDeletedElementsMap(),M=Z4.getElement(F,f);if(!M||U==null)return!1;if(M.points.length<2){let Z=u.map((K)=>K.id===M.id?O3(K,{isDeleted:!0}):K),J=Xou(B,Z);return{elements:Z,appState:{...J,editingLinearElement:null},captureUpdate:Xu.IMMEDIATELY}}let b={startBindingElement:U?.includes(0)?null:z,endBindingElement:U?.includes(M.points.length-1)?null:k};return Z4.deletePoints(M,U),{elements:u,appState:{...B,editingLinearElement:{...B.editingLinearElement,...b,selectedPointsIndices:U?.[0]>0?[U[0]-1]:[0]}},captureUpdate:Xu.IMMEDIATELY}}let{elements:C,appState:D}=Lb3(u,B,A);return IM0(C,C.filter((F)=>F.isDeleted)),D=Xou(D,C),{elements:C,appState:{...D,activeTool:n9(B,{type:"selection"}),multiElement:null,activeEmbeddable:null},captureUpdate:K2(f6(u),B)?Xu.IMMEDIATELY:Xu.EVENTUALLY}},keyTest:(u,B,E)=>(u.key===r0.BACKSPACE||u.key===r0.DELETE)&&!u[r0.CTRL_OR_CMD],PanelComponent:({elements:u,appState:B,updateData:E})=>P(C1,{type:"button",icon:YZ,title:C0("labels.delete"),"aria-label":C0("labels.delete"),onClick:()=>E(null),visible:K2(f6(u),B)})}),aQ0=(u,B)=>u.frameId===B||u.id===B,$tu=(u,B,E)=>{let A=[],C=[],D=null,F=-1,U=e4(E||N3(u,B,{includeBoundTextElement:!0,includeElementsInFrames:!0}));for(;++F<u.length;){let z=u[F];U.get(z.id)?(C.length&&(A=A.concat(C),C=[]),A.push(F),D=F+1):z.isDeleted&&D===F?(D=F+1,C.push(F)):C=[]}return A},Xb3=(u)=>{let B=0;return u.reduce((E,A,C)=>(C>0&&u[C-1]!==A-1&&(B=++B),(E[B]||(E[B]=[])).push(A),E),[])},vou=(u,B,E)=>{if("containerId"in u&&u.containerId){let A=aU.getScene(u).getElement(u.containerId);if(A)return E==="left"?Math.min(B.indexOf(A),B.indexOf(u)):Math.max(B.indexOf(A),B.indexOf(u))}else{let A=u.boundElements?.find((C)=>C.type!=="arrow")?.id;if(A){let C=aU.getScene(u).getElement(A);if(C)return E==="left"?Math.min(B.indexOf(C),B.indexOf(u)):Math.max(B.indexOf(C),B.indexOf(u))}}},vb3=(u,B)=>{let E=-1,A=-1;return u.forEach((C,D)=>{aQ0(C,B)&&(E===-1&&(E=D),A=D)}),E===-1?[]:u.slice(E,A+1)},xb3=(u,B,E,A,C)=>{let D=B[E],F=(M)=>M.isDeleted?!1:C?M.frameId===C:u.editingGroupId?M.groupIds.includes(u.editingGroupId):!0,U=A==="left"?vZ(B,(M)=>F(M),Math.max(0,E-1)):vf0(B,(M)=>F(M),E+1),z=B[U];if(!z)return-1;if(u.editingGroupId){if(D?.groupIds.join("")===z?.groupIds.join(""))return vou(z,B,A)??U;if(!z?.groupIds.includes(u.editingGroupId))return-1}if(!C&&(z.frameId||u3(z))){let M=vb3(B,z.frameId||z.id);return A==="left"?B.indexOf(M[0]):B.indexOf(M[M.length-1])}if(!z.groupIds.length)return vou(z,B,A)??U;let k=u.editingGroupId?z.groupIds[z.groupIds.indexOf(u.editingGroupId)-1]:z.groupIds[z.groupIds.length-1],f=W6(B,k);return f.length?A==="left"?B.indexOf(f[0]):B.indexOf(f[f.length-1]):U},ytu=(u,B)=>B.reduce((E,A)=>{let C=u[A];return E.set(C.id,C),E},new Map),rtu=(u,B,E)=>{let A=$tu(u,B),C=ytu(u,A),D=Xb3(A);E==="right"&&(D=D.reverse());let F=new Set(A.filter((U)=>u3(u[U])).map((U)=>u[U].id));return D.forEach((U,z)=>{let k=U[0],f=U[U.length-1],M=E==="left"?k:f,b=U.some((G)=>{let H=u[G];return H.frameId&&F.has(H.frameId)})?null:u[M]?.frameId,Z=xb3(B,u,M,E,b);if(Z===-1||M===Z)return;let J=E==="left"?u.slice(0,Z):u.slice(0,k),K=u.slice(k,f+1),w=E==="left"?u.slice(Z,k):u.slice(f+1,Z+1),Q=E==="left"?u.slice(f+1):u.slice(Z+1);u=E==="left"?[...J,...K,...w,...Q]:[...J,...w,...K,...Q]}),qD(u,C),u},gtu=(u,B,E,A,C)=>{let D=$tu(u,B,C),F=ytu(u,D),U=[],z,k;if(E==="left"){if(A)z=vf0(u,(J)=>aQ0(J,A));else if(B.editingGroupId){let J=W6(u,B.editingGroupId);if(!J.length)return u;z=u.indexOf(J[0])}else z=0;k=D[D.length-1]}else{if(A)k=vZ(u,(J)=>aQ0(J,A));else if(B.editingGroupId){let J=W6(u,B.editingGroupId);if(!J.length)return u;k=u.indexOf(J[J.length-1])}else k=u.length-1;z=D[0]}z===-1&&(z=0);for(let J=z;J<k+1;J++)D.includes(J)||U.push(u[J]);let f=Array.from(F.values()),M=u.slice(0,z),b=u.slice(k+1),Z=E==="left"?[...M,...f,...U,...b]:[...M,...U,...f,...b];return qD(Z,F),Z};function ctu(u,B,E,A){let C=e4(N3(u,B,{includeBoundTextElement:!0,includeElementsInFrames:!0})),D={regularElements:[],frameChildren:new Map},F=new Set;for(let k of u)C.has(k.id)&&u3(k)&&F.add(k.id);for(let k of u)if(C.has(k.id))if(u3(k)||k.frameId&&F.has(k.frameId))D.regularElements.push(k);else if(!k.frameId)D.regularElements.push(k);else{let f=D.frameChildren.get(k.frameId)||[];f.push(k),D.frameChildren.set(k.frameId,f)}let U=u,z=Array.from(D.frameChildren.entries());for(let[k,f]of z)U=A(u,B,E,k,f);return A(U,B,E,null,D.regularElements)}var Wb3=(u,B)=>rtu(u,B,"left"),Sb3=(u,B)=>rtu(u,B,"right"),Yb3=(u,B)=>ctu(u,B,"left",gtu),Rb3=(u,B)=>ctu(u,B,"right",gtu),Tb3=C4({name:"sendBackward",label:"labels.sendBackward",keywords:["move down","zindex","layer"],icon:pf0,trackEvent:{category:"element"},perform:(u,B)=>({elements:Wb3(u,B),appState:B,captureUpdate:Xu.IMMEDIATELY}),keyPriority:40,keyTest:(u)=>u[r0.CTRL_OR_CMD]&&!u.shiftKey&&u.code===z1.BRACKET_LEFT,PanelComponent:({updateData:u,appState:B})=>P("button",{type:"button",className:"zIndexButton",onClick:()=>u(null),title:`${C0("labels.sendBackward")} — ${Wu("CtrlOrCmd+[")}`,children:pf0})}),Ob3=C4({name:"bringForward",label:"labels.bringForward",keywords:["move up","zindex","layer"],icon:_f0,trackEvent:{category:"element"},perform:(u,B)=>({elements:Sb3(u,B),appState:B,captureUpdate:Xu.IMMEDIATELY}),keyPriority:40,keyTest:(u)=>u[r0.CTRL_OR_CMD]&&!u.shiftKey&&u.code===z1.BRACKET_RIGHT,PanelComponent:({updateData:u,appState:B})=>P("button",{type:"button",className:"zIndexButton",onClick:()=>u(null),title:`${C0("labels.bringForward")} — ${Wu("CtrlOrCmd+]")}`,children:_f0})}),Ib3=C4({name:"sendToBack",label:"labels.sendToBack",keywords:["move down","zindex","layer"],icon:df0,trackEvent:{category:"element"},perform:(u,B)=>({elements:Yb3(u,B),appState:B,captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>lD?u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.BRACKET_LEFT:u[r0.CTRL_OR_CMD]&&u.shiftKey&&u.code===z1.BRACKET_LEFT,PanelComponent:({updateData:u,appState:B})=>P("button",{type:"button",className:"zIndexButton",onClick:()=>u(null),title:`${C0("labels.sendToBack")} — ${lD?Wu("CtrlOrCmd+Alt+["):Wu("CtrlOrCmd+Shift+[")}`,children:df0})}),Pb3=C4({name:"bringToFront",label:"labels.bringToFront",keywords:["move up","zindex","layer"],icon:nf0,trackEvent:{category:"element"},perform:(u,B)=>({elements:Rb3(u,B),appState:B,captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>lD?u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.BRACKET_RIGHT:u[r0.CTRL_OR_CMD]&&u.shiftKey&&u.code===z1.BRACKET_RIGHT,PanelComponent:({updateData:u,appState:B})=>P("button",{type:"button",className:"zIndexButton",onClick:(E)=>u(null),title:`${C0("labels.bringToFront")} — ${lD?Wu("CtrlOrCmd+Alt+]"):Wu("CtrlOrCmd+Shift+]")}`,children:nf0})}),jb3=C4({name:"selectAll",label:"labels.selectAll",icon:Ubu,trackEvent:{category:"canvas"},viewMode:!1,perform:(u,B,E,A)=>{if(B.editingLinearElement)return!1;let C=u.filter((D)=>!D.isDeleted&&!(M4(D)&&D.containerId)&&!D.locked).reduce((D,F)=>(D[F.id]=!0,D),{});return{appState:{...B,...n7({editingGroupId:null,selectedElementIds:C},f6(u),B,A),selectedLinearElement:Object.keys(C).length===1&&S3(u[0])?new Z4(u[0]):null},captureUpdate:Xu.IMMEDIATELY}},keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.key===r0.A}),Nb3=(u)=>{let B=u.slice(),E=new Set,A=(D)=>{let F=D[0]?.groupIds?.join(""),U=[D[0]],z=[];for(let k of D.slice(1))k.groupIds?.join("")===F?U.push(k):z.push(k);return z.length?[...U,...A(z)]:U},C=new Map;return B.forEach((D,F)=>{if(!C.has(D.id))if(D.groupIds?.length){let U=D.groupIds[D.groupIds.length-1],z=B.slice(F).filter((k)=>{let f=k?.groupIds?.some((M)=>M===U);return f&&C.set(k.id,!0),f});for(let k of A(z))E.add(k)}else E.add(D)}),E.size!==u.length?(console.error("normalizeGroupElementOrder: lost some elements... bailing!"),u):[...E]},Vb3=(u)=>{let B=Ofu(u),E=u.slice(),A=new Set;return E.forEach((C,D)=>{C&&(C.boundElements?.length?(A.add(C),E[D]=null,C.boundElements.forEach((F)=>{let U=B.get(F.id);U&&F.type==="text"&&(A.add(U[0]),E[U[1]]=null)})):C.type==="text"&&C.containerId&&B.get(C.containerId)?.[0].boundElements?.find((F)=>F.id===C.id)||(A.add(C),E[D]=null))}),A.size!==u.length?(console.error("normalizeBoundElementsOrder: lost some elements... bailing!"),u):[...A]},hb3=(u)=>Vb3(Nb3(u)),ib3=C4({name:"duplicateSelection",label:"labels.duplicateSelection",icon:Tp,trackEvent:{category:"element"},perform:(u,B,E,A)=>{if(B.editingLinearElement)try{let D=Z4.duplicateSelectedPoints(B,A.scene.getNonDeletedElementsMap());return{elements:u,appState:D,captureUpdate:Xu.IMMEDIATELY}}catch{return!1}let C=ab3(u,B);if(A.props.onDuplicate&&C.elements){let D=A.props.onDuplicate(C.elements,u);D&&(C.elements=D)}return{...C,captureUpdate:Xu.IMMEDIATELY}},keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.key===r0.D,PanelComponent:({elements:u,appState:B,updateData:E})=>P(C1,{type:"button",icon:Tp,title:`${C0("labels.duplicateSelection")} — ${Wu("CtrlOrCmd+D")}`,"aria-label":C0("labels.duplicateSelection"),onClick:()=>E(null),visible:K2(f6(u),B)})}),ab3=(u,B)=>{let E=new Map,A=[],C=[],D=new Map,F=new Map,U=e4(u),z=(K)=>{let w=Rf0(K).reduce((Q,G)=>{if(f.has(G.id))return Q;f.set(G.id,!0);let H=sM0(B.editingGroupId,E,G,{x:G.x+IO/2,y:G.y+IO/2});return f.set(H.id,!0),F.set(H.id,H),D.set(G.id,H.id),C.push(G),A.push(H),Q.push(H),Q},[]);return Array.isArray(K)?w:w[0]||null};u=hb3(u);let k=e4(N3(u,B,{includeBoundTextElement:!0,includeElementsInFrames:!0})),f=new Map,M=u.slice(),b=(K,w)=>{b2(K!==-1,"targetIndex === -1 "),!(!Array.isArray(w)&&!w)&&M.splice(K+1,0,...Rf0(w))},Z=new Set(u.filter((K)=>k.has(K.id)&&u3(K)).map((K)=>K.id));for(let K of u){if(f.has(K.id)||!k.has(K.id))continue;let w=hM0(B,K);if(w){let Q=W6(u,w).flatMap((H)=>u3(H)?[...RD(u,H.id),H]:[H]),G=vZ(M,(H)=>H.groupIds?.includes(w));b(G,z(Q));continue}if(!(K.frameId&&Z.has(K.frameId))){if(u3(K)){let Q=K.id,G=RD(u,Q),H=vZ(M,(l)=>l.frameId===Q||l.id===Q);b(H,z([...G,K]));continue}if(r8(K)){let Q=Y3(K,U),G=vZ(M,(H)=>H.id===K.id||("containerId"in H)&&H.containerId===K.id);Q?b(G,z([K,Q])):b(G,z(K));continue}if(x6(K)){let Q=b5(K,U),G=vZ(M,(H)=>H.id===K.id||H.id===Q?.id);Q?b(G,z([Q,K])):b(G,z(K));continue}b(vZ(M,(Q)=>Q.id===K.id),z(K))}}rM0(M,C,D),OM0(M,C,D),Gb0(M,C,D);let J=xn(A);return{elements:M,appState:{...B,...n7({editingGroupId:B.editingGroupId,selectedElementIds:J.reduce((K,w)=>(x6(w)||(K[w.id]=!0),K),{})},f6(M),B,null)}}},mb3=new Set(["command_palette","export"]),l6=(u,B,E,A)=>{try{if(typeof window>"u"||J3.VITE_WORKER_ID||J3.VITE_APP_ENABLE_TRACKING!=="true"||!mb3.has(u)||J3.DEV)return;J3.PROD||console.info("trackEvent",{category:u,action:B,label:E,value:A}),window.sa_event&&window.sa_event(B,{category:u,label:E,value:A})}catch(C){console.error("error during analytics",C)}},ptu=_tu.forwardRef((u,B)=>{let{title:E,className:A,testId:C,active:D,standalone:F,icon:U,onClick:z}=u;return P("button",{type:"button",ref:B,title:E,"data-testid":C,className:Yu(A,{standalone:F,active:D}),onClick:z,children:U},E)}),Mz=(u)=>P("div",{className:"buttonList",children:u.options.map((B)=>u.type==="button"?P(ptu,{icon:B.icon,title:B.text,testId:B.testId,active:B.active??u.value===B.value,onClick:(E)=>u.onClick(B.value,E)},B.text):M0("label",{className:Yu({active:u.value===B.value}),title:B.text,children:[P("input",{type:"radio",name:u.group,onChange:()=>u.onChange(B.value),checked:u.value===B.value,"data-testid":B.testId}),B.icon]},B.text))}),$b3=({onChange:u,type:B,activeColor:E,topPicks:A})=>{let C;return B==="elementStroke"&&(C=Uf0),B==="elementBackground"&&(C=zf0),B==="canvasBackground"&&(C=kf0),A&&(C=A),C?P("div",{className:"color-picker__top-picks",children:C.map((D)=>P("button",{className:Yu("color-picker__button",{active:D===E,"is-transparent":D==="transparent"||!D}),style:{"--swatch-color":D},type:"button",title:D,onClick:()=>u(D),"data-testid":`color-top-pick-${D}`,children:P("div",{className:"color-picker__button-outline"})},D))}):(console.error("Invalid type for TopPicks"),null)},ntu=()=>P("div",{style:{width:1,height:"1rem",backgroundColor:"var(--default-border-color)",margin:"0 auto"}}),Jo=({palette:u,color:B})=>{for(let[E,A]of Object.entries(u))if(Array.isArray(A)){let C=A.indexOf(B);if(C>-1)return{colorName:E,shade:C}}else if(A===B)return{colorName:E,shade:null};return null},mQ0=[["q","w","e","r","t"],["a","s","d","f","g"],["z","x","c","v","b"]].flat(),dtu=({color:u,palette:B})=>!Object.values(B).flat().includes(u),yb3=(u,B,E)=>{let A={elementBackground:"backgroundColor",elementStroke:"strokeColor"},C=u.filter((F)=>{if(F.isDeleted)return!1;let U=F[A[B]];return dtu({color:U,palette:E})}),D=new Map;return C.forEach((F)=>{let U=F[A[B]];D.has(U)?D.set(U,D.get(U)+1):D.set(U,1)}),[...D.entries()].sort((F,U)=>U[1]-F[1]).map((F)=>F[0]).slice(0,mku)},pv=P2(null),xou=(u,B,E)=>(u*299+B*587+E*114)/1000>=160?"black":"white",rb3=(u,B)=>{if(B){let D=new Option().style;if(D.color=u,D.color){let F=D.color.replace(/^(rgb|rgba)\(/,"").replace(/\)$/,"").replace(/\s/g,"").split(","),U=parseInt(F[0]),z=parseInt(F[1]),k=parseInt(F[2]);return xou(U,z,k)}}if(u==="transparent")return"black";let E=parseInt(u.substring(1,3),16),A=parseInt(u.substring(3,5),16),C=parseInt(u.substring(5,7),16);return xou(E,A,C)},gb3=({color:u,keyLabel:B,isCustomColor:E=!1,isShade:A=!1})=>M0("div",{className:"color-picker__button__hotkey-label",style:{color:rb3(u,E)},children:[A&&"⇧",B]}),AG0=gb3,cb3=({hex:u,onChange:B,palette:E})=>{let A=Jo({color:u||"transparent",palette:E}),[C,D]=j9(pv),F=Zo.useRef(null);if(Zo.useEffect(()=>{F.current&&C==="shades"&&F.current.focus()},[A,C]),A){let{colorName:U,shade:z}=A,k=E[U];if(Array.isArray(k))return P("div",{className:"color-picker-content--default shades",children:k.map((f,M)=>M0("button",{ref:M===z&&C==="shades"?F:void 0,tabIndex:-1,type:"button",className:Yu("color-picker__button color-picker__button--large",{active:M===z}),"aria-label":"Shade",title:`${U} - ${M+1}`,style:f?{"--swatch-color":f}:void 0,onClick:()=>{B(f),D("shades")},children:[P("div",{className:"color-picker__button-outline"}),P(AG0,{color:f,keyLabel:M+1,isShade:!0})]},M))})}return M0("div",{className:"color-picker-content--default",style:{position:"relative"},tabIndex:-1,children:[P("button",{type:"button",tabIndex:-1,className:"color-picker__button color-picker__button--large color-picker__button--no-focus-visible"}),P("div",{tabIndex:-1,style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",textAlign:"center",fontSize:"0.75rem"},children:C0("colorPicker.noShades")})]})},_b3=({palette:u,color:B,onChange:E,label:A,activeShade:C})=>{let D=Jo({color:B||"transparent",palette:u}),[F,U]=j9(pv),z=Ko.useRef(null);return Ko.useEffect(()=>{z.current&&F==="baseColors"&&z.current.focus()},[D?.colorName,F]),P("div",{className:"color-picker-content--default",children:Object.entries(u).map(([k,f],M)=>{let b=(Array.isArray(f)?f[C]:f)||"transparent",Z=mQ0[M],J=C0(`colors.${k.replace(/\d+/,"")}`,null,"");return M0("button",{ref:D?.colorName===k?z:void 0,tabIndex:-1,type:"button",className:Yu("color-picker__button color-picker__button--large",{active:D?.colorName===k,"is-transparent":b==="transparent"||!b}),onClick:()=>{E(b),U("baseColors")},title:`${J}${b.startsWith("#")?` ${b}`:""} — ${Z}`,"aria-label":`${J} — ${Z}`,style:b?{"--swatch-color":b}:void 0,"data-testid":`color-${k}`,children:[P("div",{className:"color-picker__button-outline"}),P(AG0,{color:b,keyLabel:Z})]},k)})})},pb3=_b3,nb3=({colors:u,color:B,onChange:E,label:A})=>{let[C,D]=j9(pv),F=wo.useRef(null);return wo.useEffect(()=>{F.current&&F.current.focus()},[B,C]),P("div",{className:"color-picker-content--default",children:u.map((U,z)=>M0("button",{ref:B===U?F:void 0,tabIndex:-1,type:"button",className:Yu("color-picker__button color-picker__button--large",{active:B===U,"is-transparent":U==="transparent"||!U}),onClick:()=>{E(U),D("custom")},title:U,"aria-label":A,style:{"--swatch-color":U},children:[P("div",{className:"color-picker__button-outline"}),P(AG0,{color:U,keyLabel:z+1,isCustomColor:!0})]},z))})},LQ0=(u,B,E)=>{let A=Math.ceil(E/PQ);switch(B=B??-1,u){case"ArrowLeft":{let C=B-1;return C<0?E-1:C}case"ArrowRight":return(B+1)%E;case"ArrowDown":{let C=B+PQ;return C>=E?B%PQ:C}case"ArrowUp":{let C=B-PQ,D=C<0?PQ*A+C:C;return D>=E?void 0:D}}},db3=({e:u,colorObj:B,onChange:E,palette:A,customColors:C,setActiveColorPickerSection:D,activeShade:F})=>{if(B?.shade!=null&&["Digit1","Digit2","Digit3","Digit4","Digit5"].includes(u.code)&&u.shiftKey){let U=Number(u.code.slice(-1))-1;return E(A[B.colorName][U]),D("shades"),!0}if(["1","2","3","4","5"].includes(u.key)&&C[Number(u.key)-1])return E(C[Number(u.key)-1]),D("custom"),!0;if(mQ0.includes(u.key)){let U=mQ0.indexOf(u.key),z=Object.keys(A)[U],k=A[z],f=Array.isArray(k)?k[F]:k;return E(f),D("baseColors"),!0}return!1},sb3=({event:u,activeColorPickerSection:B,palette:E,color:A,onChange:C,customColors:D,setActiveColorPickerSection:F,updateData:U,activeShade:z,onEyeDropperToggle:k,onEscape:f})=>{if(u[r0.CTRL_OR_CMD])return!1;if(u.key===r0.ESCAPE)return f(u),!0;if(u.key===r0.ALT)return k(!0),!0;if(u.key===r0.I)return k(),!0;let M=Jo({color:A,palette:E});if(u.key===r0.TAB){let b={custom:!!D.length,baseColors:!0,shades:M?.shade!=null,hex:!0},Z=Object.entries(b).reduce((G,[H,l])=>(l&&G.push(H),G),[]),J=Z.indexOf(B),K=u.shiftKey?-1:1,w=J+K>Z.length-1?0:J+K<0?Z.length-1:J+K,Q=Z[w];return Q&&F(Q),Q==="custom"?C(D[0]):Q==="baseColors"&&(Object.entries(E).find(([G,H])=>Array.isArray(H)?H.includes(A):H===A?G:null)||C(m3.black)),u.preventDefault(),u.stopPropagation(),!0}if(db3({e:u,colorObj:M,onChange:C,palette:E,customColors:D,setActiveColorPickerSection:F,activeShade:z}))return!0;if(B==="shades"&&M){let{shade:b}=M,Z=LQ0(u.key,b,PQ);if(Z!==void 0)return C(E[M.colorName][Z]),!0}if(B==="baseColors"&&M){let{colorName:b}=M,Z=Object.keys(E),J=Z.indexOf(b),K=LQ0(u.key,J,Z.length);if(K!==void 0){let w=Z[K],Q=E[w];return C(Array.isArray(Q)?Q[z]:Q),!0}}if(B==="custom"){let b=D.indexOf(A),Z=LQ0(u.key,b,D.length);if(Z!==void 0){let J=D[Z];return C(J),!0}}return!1},ob3=({children:u})=>P("div",{className:"color-picker__heading",children:u}),es=ob3,tb3=({color:u,onChange:B,label:E,type:A,elements:C,palette:D,updateData:F,children:U,onEyeDropperToggle:z,onEscape:k})=>{let[f]=GJ.default.useState(()=>A==="canvasBackground"?[]:yb3(C,A,D)),[M,b]=j9(pv),Z=Jo({color:u,palette:D});GJ.useEffect(()=>{if(!M){let Q=dtu({color:u,palette:D}),G=Q&&!f.includes(u);b(G?"hex":Q?"custom":Z?.shade!=null?"shades":"baseColors")}},[M,u,D,b,Z,f]);let[J,K]=GJ.useState(Z?.shade??(A==="elementBackground"?uX:eL));GJ.useEffect(()=>{Z?.shade!=null&&K(Z.shade);let Q=(G)=>{G.key===r0.ALT&&z(!1)};return document.addEventListener("keyup",Q,{capture:!0}),()=>{document.removeEventListener("keyup",Q,{capture:!0})}},[Z,z]);let w=GJ.default.useRef(null);return P("div",{role:"dialog","aria-modal":"true","aria-label":C0("labels.colorPicker"),children:M0("div",{ref:w,onKeyDown:(Q)=>{sb3({event:Q,activeColorPickerSection:M,palette:D,color:u,onChange:B,onEyeDropperToggle:z,customColors:f,setActiveColorPickerSection:b,updateData:F,activeShade:J,onEscape:k})&&(Q.preventDefault(),Q.stopPropagation())},className:"color-picker-content properties-content",tabIndex:-1,children:[!!f.length&&M0("div",{children:[P(es,{children:C0("colorPicker.mostUsedCustomColors")}),P(nb3,{colors:f,color:u,label:C0("colorPicker.mostUsedCustomColors"),onChange:B})]}),M0("div",{children:[P(es,{children:C0("colorPicker.colors")}),P(pb3,{color:u,label:E,palette:D,onChange:B,activeShade:J})]}),M0("div",{children:[P(es,{children:C0("colorPicker.shades")}),P(cb3,{hex:u,onChange:B,palette:D})]}),U]})})},ttu=CG0.default.createContext(null),Y7=()=>CG0.default.useContext(ttu),etu=(u)=>{let[B,E]=pP.useState(null),A=H5(),{theme:C}=Y7(),{container:D}=Jz();return pP.useLayoutEffect(()=>{B&&(B.className="",B.classList.add("excalidraw",...u?.className?.split(/\s+/)||[]),B.classList.toggle("excalidraw--mobile",A.editor.isMobile),B.classList.toggle("theme--dark",C===p3.DARK))},[B,C,A.editor.isMobile,u?.className]),pP.useLayoutEffect(()=>{let F=u?.parentSelector?D?.querySelector(u.parentSelector):document.body;if(!F)return;let U=document.createElement("div");return F.appendChild(U),E(U),()=>{F.removeChild(U)}},[D,u?.parentSelector]),B};function DG0(u,B,E){ueu.useEffect(()=>{function A(C){let D=C;if(!u.current)return;let F=E?.(D,u.current);if(F===!0)return;if(F===!1)return B(D);u.current.contains(D.target)||!document.documentElement.contains(D.target)||D.target.closest("[data-radix-portal]")||D.target===document.documentElement&&document.body.style.pointerEvents==="none"||D.target.closest("[data-prevent-outside-click]")||B(D)}return document.addEventListener("pointerdown",A),document.addEventListener("touchstart",A),()=>{document.removeEventListener("pointerdown",A),document.removeEventListener("touchstart",A)}},[u,B,E])}var Go=(u)=>{let B=Beu.useRef(u);return Object.assign(B.current,u),B.current},Ho=P2(null),eb3=({onCancel:u,onChange:B,onSelect:E,colorPickerType:A})=>{let C=etu({className:"excalidraw-eye-dropper-backdrop",parentSelector:".excalidraw-eye-dropper-container"}),D=Y7(),F=mo(),U=Zz(),z=N3(F,D),k=Go({app:U,onCancel:u,onChange:B,onSelect:E,selectedElements:z}),{container:f}=Jz();Qo.useEffect(()=>{let b=M.current;if(!b||!U.canvas||!C)return;let Z=!1,J=U.canvas.getContext("2d"),K=({clientX:L,clientY:v})=>{let x=J.getImageData((L-D.offsetLeft)*window.devicePixelRatio,(v-D.offsetTop)*window.devicePixelRatio,1,1).data;return gku(x[0],x[1],x[2])},w=({clientX:L,clientY:v,altKey:x})=>{b.style.top=`${v+20}px`,b.style.left=`${L+20}px`;let S=K({clientX:L,clientY:v});Z&&k.onChange(A,S,k.selectedElements,{altKey:x}),b.style.background=S},Q=()=>{k.onCancel()},G=(L,v)=>{k.onSelect(L,v)},H=(L)=>{Z=!0,L.stopImmediatePropagation()},l=(L)=>{Z=!1,f?.focus(),L.stopImmediatePropagation(),L.preventDefault(),G(K(L),L)},q=(L)=>{L.key===r0.ESCAPE&&(L.preventDefault(),L.stopImmediatePropagation(),Q())};return C.tabIndex=-1,C.focus(),w({clientX:k.app.lastViewportPosition.x,clientY:k.app.lastViewportPosition.y,altKey:!1}),C.addEventListener("keydown",q),C.addEventListener("pointerdown",H),C.addEventListener("pointerup",l),window.addEventListener("pointermove",w,{passive:!0}),window.addEventListener("blur",Q),()=>{Z=!1,C.removeEventListener("keydown",q),C.removeEventListener("pointerdown",H),C.removeEventListener("pointerup",l),window.removeEventListener("pointermove",w),window.removeEventListener("blur",Q)}},[k,U.canvas,C,A,f,D.offsetLeft,D.offsetTop]);let M=Qo.useRef(null);return DG0(M,()=>{u()},(b)=>!!b.target.closest(".excalidraw-eye-dropper-trigger, .excalidraw-eye-dropper-backdrop")),C?otu.createPortal(P("div",{ref:M,className:"excalidraw-eye-dropper-preview"}),C):null},uZ3=({color:u,onChange:B,label:E,colorPickerType:A})=>{let C=H5(),[D,F]=uF.useState(u),[U,z]=j9(pv);uF.useEffect(()=>{F(u)},[u]);let k=uF.useCallback((J)=>{let K=J.toLowerCase(),w=BZ3(K);w&&B(w),F(K)},[B]),f=uF.useRef(null),M=uF.useRef(null);uF.useEffect(()=>{f.current&&f.current.focus()},[U]);let[b,Z]=j9(Ho);return uF.useEffect(()=>()=>{Z(null)},[Z]),M0("div",{className:"color-picker__input-label",children:[P("div",{className:"color-picker__input-hash",children:"#"}),P("input",{ref:U==="hex"?f:void 0,style:{border:0,padding:0},spellCheck:!1,className:"color-picker-input","aria-label":E,onChange:(J)=>{k(J.target.value)},value:(D||"").replace(/^#/,""),onBlur:()=>{F(u)},tabIndex:-1,onFocus:()=>z("hex"),onKeyDown:(J)=>{J.key!==r0.TAB&&(J.key===r0.ESCAPE&&M.current?.focus(),J.stopPropagation())}}),!C.editor.isMobile&&M0(tu,{children:[P("div",{style:{width:"1px",height:"1.25rem",backgroundColor:"var(--default-border-color)"}}),P("div",{ref:M,className:Yu("excalidraw-eye-dropper-trigger",{selected:b}),onClick:()=>Z((J)=>J?null:{keepOpenOnAlt:!1,onSelect:(K)=>B(K),colorPickerType:A}),title:`${C0("labels.eyeDropper")} — ${r0.I.toLocaleUpperCase()} or ${Wu("Alt")} `,children:tMu})]})]})},BF=Aeu.default.forwardRef(({children:u,padding:B,className:E,style:A},C)=>P("div",{className:Yu("Island",E),style:{"--padding":B,...A},ref:C,children:u})),Ceu=Eeu.default.forwardRef(({className:u,container:B,children:E,style:A,onClose:C,onKeyDown:D,onFocusOutside:F,onPointerLeave:U,onPointerDownOutside:z},k)=>{let f=H5();return P(hqu,{container:B,children:M0(Sv,{ref:k,className:Yu("focus-visible-none",u),"data-prevent-outside-click":!0,side:f.editor.isMobile&&!f.viewport.isLandscape?"bottom":"right",align:f.editor.isMobile&&!f.viewport.isLandscape?"center":"start",alignOffset:-16,sideOffset:20,style:{zIndex:"var(--zIndex-popup)"},onPointerLeave:U,onKeyDown:D,onFocusOutside:F,onPointerDownOutside:z,onCloseAutoFocus:(M)=>{M.stopPropagation(),M.preventDefault(),B&&!vfu(document.activeElement)&&B.focus(),C()},children:[P(BF,{padding:3,style:A,children:E}),P(Ys,{width:20,height:10,style:{fill:"var(--popup-bg-color)",filter:"drop-shadow(rgba(0, 0, 0, 0.05) 0px 3px 2px)"}})]})})}),Wou=(u)=>{let B=new Option().style;return B.color=u,!!B.color},BZ3=(u)=>iA(u)?u:Wou(`#${u}`)?`#${u}`:Wou(u)?u:null,EZ3=({type:u,color:B,onChange:E,label:A,elements:C,palette:D=m3,updateData:F})=>{let{container:U}=Jz(),[,z]=j9(pv),[k,f]=j9(Ho),M=M0("div",{children:[P(es,{children:C0("colorPicker.hexCode")}),P(uZ3,{color:B,label:A,onChange:(J)=>{E(J)},colorPickerType:u})]}),b=stu.useRef(null),Z=()=>{b.current?.querySelector(".color-picker-content")?.focus()};return P(Ceu,{container:U,style:{maxWidth:"13rem"},onFocusOutside:(J)=>{Z(),J.preventDefault()},onPointerDownOutside:(J)=>{k&&J.preventDefault()},onClose:()=>{F({openPopup:null}),z(null)},children:D?P(tb3,{palette:D,color:B,onChange:(J)=>{E(J)},onEyeDropperToggle:(J)=>{f((K)=>J?(K=K||{keepOpenOnAlt:!0,onSelect:E,colorPickerType:u},K.keepOpenOnAlt=!0,K):J===!1||K?null:{keepOpenOnAlt:!1,onSelect:E,colorPickerType:u})},onEscape:(J)=>{k?f(null):F({openPopup:null})},label:A,type:u,elements:C,updateData:F,children:M}):M})},AZ3=({label:u,color:B,type:E})=>P(UJ,{type:"button",className:Yu("color-picker__button active-color properties-trigger",{"is-transparent":B==="transparent"||!B}),"aria-label":u,style:B?{"--swatch-color":B}:void 0,title:E==="elementStroke"?C0("labels.showStroke"):C0("labels.showBackground"),children:P("div",{className:"color-picker__button-outline"})}),FG0=({type:u,color:B,onChange:E,label:A,elements:C,palette:D=m3,topPicks:F,updateData:U,appState:z})=>P("div",{children:M0("div",{role:"dialog","aria-modal":"true",className:"color-picker-container",children:[P($b3,{activeColor:B,onChange:E,type:u,topPicks:F}),P(ntu,{}),M0(FJ,{open:z.openPopup===u,onOpenChange:(k)=>{U({openPopup:k?u:null})},children:[P(AZ3,{color:B,label:A,type:u}),z.openPopup===u&&P(EZ3,{type:u,color:B,onChange:E,label:A,elements:C,palette:D,updateData:U})]})]})}),qo=({icon:u})=>P("span",{style:{width:"1em",margin:"0 0.5ex 0 0.5ex",display:"inline-block",lineHeight:0,verticalAlign:"middle"},children:u}),CZ3=({label:u,open:B,openTrigger:E,children:A,className:C})=>M0(tu,{children:[M0("div",{style:{cursor:"pointer",display:"flex",justifyContent:"space-between",alignItems:"center"},className:C,onClick:E,children:[u,P(qo,{icon:B?Lbu:KM0})]}),B&&P("div",{style:{display:"flex",flexDirection:"column"},children:A})]}),$Q0=CZ3,DZ3=P2(!1);function FZ3({options:u,value:B,label:E,onChange:A,onClose:C,numberOfOptionsToAlwaysShow:D=u.length}){let F=H5(),U=(Z)=>{let J=u.find((K)=>K.keyBinding===Z.key.toLowerCase());if(!(Z.metaKey||Z.altKey||Z.ctrlKey)&&J)A(J.value),Z.preventDefault();else if(Z.key===r0.TAB){let K=u.findIndex((Q)=>Q.value===B),w=Z.shiftKey?(u.length+K-1)%u.length:(K+1)%u.length;A(u[w].value)}else if(vX(Z.key)){let K=_P().rtl,w=u.findIndex((Q)=>Q.value===B);if(w!==-1){let Q=u.length,G=w;switch(Z.key){case(K?r0.ARROW_LEFT:r0.ARROW_RIGHT):G=(w+1)%Q;break;case(K?r0.ARROW_RIGHT:r0.ARROW_LEFT):G=(Q+w-1)%Q;break;case r0.ARROW_DOWN:{G=(w+(D??1))%Q;break}case r0.ARROW_UP:{G=(Q+w-(D??1))%Q;break}}A(u[G].value)}Z.preventDefault()}else(Z.key===r0.ESCAPE||Z.key===r0.ENTER)&&(Z.preventDefault(),C());Z.nativeEvent.stopImmediatePropagation(),Z.stopPropagation()},[z,k]=j9(DZ3),f=VG.default.useMemo(()=>u.slice(0,D),[u,D]),M=VG.default.useMemo(()=>u.slice(D),[u,D]);VG.useEffect(()=>{f.some((Z)=>Z.value===B)||k(!0)},[B,f,k]);let b=(Z)=>P("div",{className:"picker-content",children:Z.map((J,K)=>M0("button",{type:"button",className:Yu("picker-option",{active:B===J.value}),onClick:(w)=>{A(J.value)},title:`${J.text} ${J.keyBinding&&`— ${J.keyBinding.toUpperCase()}`}`,"aria-label":J.text||"none","aria-keyshortcuts":J.keyBinding||void 0,ref:(w)=>{B===J.value&&setTimeout(()=>{w?.focus()},0)},children:[J.icon,J.keyBinding&&P("span",{className:"picker-keybinding",children:J.keyBinding})]},J.text))});return P(Sv,{side:F.editor.isMobile&&!F.viewport.isLandscape?"top":"bottom",align:"start",sideOffset:12,style:{zIndex:"var(--zIndex-popup)"},onKeyDown:U,children:M0("div",{className:"picker",role:"dialog","aria-modal":"true","aria-label":E,children:[b(f),M.length>0&&P($Q0,{label:C0("labels.more_options"),open:z,openTrigger:()=>{k((Z)=>!Z)},className:"picker-collapsible",children:b(M)})]})})}function Sou({value:u,label:B,options:E,onChange:A,group:C="",numberOfOptionsToAlwaysShow:D}){let[F,U]=VG.default.useState(!1),z=VG.default.useRef(null);return P("div",{children:M0(FJ,{open:F,onOpenChange:(k)=>U(k),children:[P(UJ,{name:C,type:"button","aria-label":B,onClick:()=>U(!F),ref:z,className:F?"active":"",children:E.find((k)=>k.value===u)?.icon}),F&&P(FZ3,{options:E,value:u,label:B,onChange:A,onClose:()=>{U(!1)},numberOfOptionsToAlwaysShow:D})]})})}var Feu=Deu.default.forwardRef(({className:u,placeholder:B,onChange:E},A)=>M0("div",{className:Yu("QuickSearch__wrapper",u),children:[RZ,P("input",{ref:A,className:"QuickSearch__input",type:"text",placeholder:B,onChange:(C)=>E(C.target.value.trim().toLowerCase())})]})),zeu=({className:u,placeholder:B,children:E})=>{let A=!Ueu.Children.count(E);return P("div",{className:Yu("ScrollableList__wrapper",u),role:"menu",children:A?P("div",{className:"empty",children:B}):E})},keu=({children:u,className:B="",style:E,title:A})=>M0("div",{className:`dropdown-menu-group ${B}`,style:E,children:[A&&P("p",{className:"dropdown-menu-group-title",children:A}),u]}),yQ0=keu;keu.displayName="DropdownMenuGroup";var feu=Lo.default.createContext({}),Meu=(u="",B=!1,E=!1)=>`dropdown-menu-item dropdown-menu-item-base ${u}
${B?"dropdown-menu-item--selected":""} ${E?"dropdown-menu-item--hovered":""}`.trim(),beu=(u,B)=>{let E=Lo.useContext(feu);return mO(u,(A)=>{let C=new CustomEvent("menu.itemSelect",{bubbles:!0,cancelable:!0});B?.(C),C.defaultPrevented||E.onSelect?.(C)})},UZ3=({textStyle:u,icon:B,shortcut:E,children:A})=>{let C=H5();return M0(tu,{children:[B&&P("div",{className:"dropdown-menu-item__icon",children:B}),P("div",{style:u,className:"dropdown-menu-item__text",children:A}),E&&!C.editor.isMobile&&P("div",{className:"dropdown-menu-item__shortcut",children:E})]})},Zeu=UZ3,UG0=({icon:u,value:B,order:E,children:A,shortcut:C,className:D,hovered:F,selected:U,textStyle:z,onSelect:k,onClick:f,...M})=>{let b=beu(f,k),Z=lo.useRef(null);return lo.useEffect(()=>{F&&(E===0?Z.current?.scrollIntoView({block:"end"}):Z.current?.scrollIntoView({block:"nearest"}))},[F,E]),P("button",{...M,ref:Z,value:B,onClick:b,className:Meu(D,U,F),title:M.title??M["aria-label"],children:P(Zeu,{textStyle:z,icon:u,shortcut:C,children:A})})};UG0.displayName="DropdownMenuItem";var $P={GREEN:"green",RED:"red",BLUE:"blue"},zG0=({type:u=$P.BLUE,children:B})=>{let{theme:E}=Cj(),A={display:"inline-flex",marginLeft:"auto",padding:"2px 4px",borderRadius:6,fontSize:9,fontFamily:"Cascadia, monospace",border:E===p3.LIGHT?"1.5px solid white":"none"};switch(u){case $P.GREEN:Object.assign(A,{backgroundColor:"var(--background-color-badge)",color:"var(--color-badge)"});break;case $P.RED:Object.assign(A,{backgroundColor:"pink",color:"darkred"});break;case $P.BLUE:default:Object.assign(A,{background:"var(--color-promo)",color:"var(--color-surface-lowest)"})}return P("div",{className:"DropDownMenuItemBadge",style:A,children:B})};zG0.displayName="DropdownMenuItemBadge";UG0.Badge=zG0;var kC=UG0,zZ3=({event:u,inputRef:B,hoveredFont:E,filteredFonts:A,onClose:C,onSelect:D,onHover:F})=>{if(!u[r0.CTRL_OR_CMD]&&u.shiftKey&&u.key.toLowerCase()===r0.F)return B.current?.focus(),!0;if(u.key===r0.ESCAPE)return C(),!0;if(u.key===r0.ENTER)return E?.value&&D(E.value),!0;if(u.key===r0.ARROW_DOWN)return E?.next?F(E.next.value):A[0]?.value&&F(A[0].value),!0;if(u.key===r0.ARROW_UP)return E?.prev?F(E.prev.value):A[A.length-1]?.value&&F(A[A.length-1].value),!0},kZ3=G5.default.memo(({selectedFontFamily:u,hoveredFontFamily:B,onSelect:E,onHover:A,onLeave:C,onOpen:D,onClose:F})=>{let{container:U}=Jz(),{fonts:z}=Zz(),{showDeprecatedFonts:k}=Aj(),[f,M]=G5.useState(""),b=G5.useRef(null),Z=G5.useMemo(()=>Array.from(rU.registered.entries()).filter(([x,{metadata:S}])=>!S.serverSide&&!S.fallback).map(([x,{metadata:S,fontFaces:W}])=>{let T={value:x,icon:S.icon??LO,text:W[0]?.fontFace?.family??"Unknown"};return S.deprecated&&Object.assign(T,{deprecated:S.deprecated,badge:{type:$P.RED,placeholder:C0("fontList.badge.old")}}),T}).sort((x,S)=>x.text.toLowerCase()>S.text.toLowerCase()?1:-1),[]),J=G5.useMemo(()=>new Set(z.getSceneFamilies()),[u]),K=G5.useMemo(()=>Z.filter((x)=>J.has(x.value)),[Z,J]),w=G5.useMemo(()=>Z.filter((x)=>!J.has(x.value)&&(k||!x.deprecated)),[Z,J,k]),Q=G5.useMemo(()=>Ifu([...K,...w].filter((x)=>x.text?.toLowerCase().includes(f))),[K,w,f]),G=G5.useMemo(()=>{let x;return B?x=Q.find((S)=>S.value===B):u&&(x=Q.find((S)=>S.value===u)),!x&&f&&(Q[0]?.value?A(Q[0].value):C()),x},[B,u,f,Q,A,C]),H=G5.useCallback((x)=>{zZ3({event:x,inputRef:b,hoveredFont:G,filteredFonts:Q,onSelect:E,onHover:A,onClose:F})&&(x.preventDefault(),x.stopPropagation())},[G,Q,E,A,F]);G5.useEffect(()=>(D(),()=>{F()}),[]);let l=G5.useMemo(()=>Q.filter((x)=>J.has(x.value)),[Q,J]),q=G5.useMemo(()=>Q.filter((x)=>!J.has(x.value)),[Q,J]),L=(x,S)=>M0(kC,{icon:x.icon,value:x.value,order:S,textStyle:{fontFamily:mQ({fontFamily:x.value})},hovered:x.value===G?.value,selected:x.value===u,tabIndex:x.value===u?0:-1,onClick:(W)=>{E(Number(W.currentTarget.value))},onMouseMove:()=>{G?.value!==x.value&&A(x.value)},children:[x.text,x.badge&&P(zG0,{type:x.badge.type,children:x.badge.placeholder})]},x.value),v=[];return l.length&&v.push(P(yQ0,{title:C0("fontList.sceneFonts"),children:l.map(L)},"group_1")),q.length&&v.push(P(yQ0,{title:C0("fontList.availableFonts"),children:q.map((x,S)=>L(x,S+l.length))},"group_2")),M0(Ceu,{className:"properties-content",container:U,style:{width:"15rem"},onClose:F,onPointerLeave:C,onKeyDown:H,children:[P(Feu,{ref:b,placeholder:C0("quickSearch.placeholder"),onChange:$Q(M,20)}),P(zeu,{className:"dropdown-menu fonts manual-hover",placeholder:C0("fontList.empty"),children:v.length?v:null})]})},(u,B)=>u.selectedFontFamily===B.selectedFontFamily&&u.hoveredFontFamily===B.hoveredFontFamily),fZ3=({selectedFontFamily:u})=>{let B=Jeu.useMemo(()=>!!(u&&!bZ3(u)),[u]);return P(UJ,{asChild:!0,children:P("div",{children:P(ptu,{standalone:!0,icon:hf0,title:C0("labels.showFonts"),className:"properties-trigger",testId:"font-family-show-fonts",active:B,onClick:()=>{}})})})},Keu=[{value:d6.Excalifont,icon:kX,text:C0("labels.handDrawn"),testId:"font-family-hand-drawn"},{value:d6.Nunito,icon:LO,text:C0("labels.normal"),testId:"font-family-normal"},{value:d6["Comic Shanns"],icon:Fp,text:C0("labels.code"),testId:"font-family-code"}],MZ3=new Set(Keu.map((u)=>u.value)),bZ3=(u)=>u?MZ3.has(u):!1,ZZ3=nv.default.memo(({isOpened:u,selectedFontFamily:B,hoveredFontFamily:E,onSelect:A,onHover:C,onLeave:D,onPopupChange:F})=>{let U=nv.useMemo(()=>Keu,[]),z=nv.useCallback((k)=>{k&&A(k)},[A]);return M0("div",{role:"dialog","aria-modal":"true",className:"FontPicker__container",children:[P(Mz,{type:"button",options:U,value:B,onClick:z}),P(ntu,{}),M0(FJ,{open:u,onOpenChange:F,children:[P(fZ3,{selectedFontFamily:B}),u&&P(kZ3,{selectedFontFamily:B,hoveredFontFamily:E,onSelect:z,onHover:C,onLeave:D,onOpen:()=>F(!0),onClose:()=>F(!1)})]})]})},(u,B)=>u.isOpened===B.isOpened&&u.selectedFontFamily===B.selectedFontFamily&&u.hoveredFontFamily===B.hoveredFontFamily),JZ3=({updateData:u,appState:B,elements:E,testId:A})=>{let C=nP.default.useRef(null),D=nP.default.useRef(null),F=B8(E,B,(U)=>U.opacity,!0,B.currentItemOpacity);return nP.useEffect(()=>{if(C.current&&D.current){let U=C.current,z=D.current,k=U.offsetWidth,f=15,M=F/100*(k-f)+f/2;z.style.left=`${M}px`,U.style.background=`linear-gradient(to right, var(--color-slider-track) 0%, var(--color-slider-track) ${F}%, var(--button-bg) ${F}%, var(--button-bg) 100%)`}},[F]),M0("label",{className:"control-label",children:[C0("labels.opacity"),M0("div",{className:"range-wrapper",children:[P("input",{ref:C,type:"range",min:"0",max:"100",step:"10",onChange:(U)=>{u(+U.target.value)},value:F,className:"range-input","data-testid":A}),P("div",{className:"value-bubble",ref:D,children:F!==0?F:null}),P("div",{className:"zero-label",children:"0"})]})]})},weu=0.1,u8=(u,B,E,A=!1)=>{let C=e4(N3(u,B,{includeBoundTextElement:A}));return u.map((D)=>C.get(D.id)||D.id===B.editingTextElement?.id?E(D):D)},B8=function(u,B,E,A,C){let D=B.editingTextElement,F=f6(u),U=null;return D&&(U=E(D)),U||(K2(F,B)?U=ZJu(A===!0?F:F.filter((z)=>A(z)),B,E)??(typeof C=="function"?C(!0):C):U=typeof C=="function"?C(!1):C),U},KZ3=(u,B)=>x6(B)||!B.autoResize?B:Su(B,{x:u.textAlign==="left"?u.x:u.x+(u.width-B.width)/(u.textAlign==="center"?2:1),y:u.y+(u.height-B.height)/2},!1),kG0=(u,B,E,A,C)=>{let D=new Set,F=u8(u,B,(z)=>{if(M4(z)){let k=A(z);D.add(k);let f=O3(z,{fontSize:k});return d7(f,E.scene.getContainerElement(z),E.scene.getNonDeletedElementsMap()),f=KZ3(z,f),f}return z},!0),U=e4(F);return N3(u,B,{includeBoundTextElement:!0}).forEach((z)=>{M4(z)&&_B(z,U)}),{elements:F,appState:{...B,currentItemFontSize:D.size===1?[...D][0]:C??B.currentItemFontSize},captureUpdate:Xu.IMMEDIATELY}},_N1=C4({name:"changeStrokeColor",label:"labels.stroke",trackEvent:!1,perform:(u,B,E)=>({...E.currentItemStrokeColor&&{elements:u8(u,B,(A)=>cp(A.type)?O3(A,{strokeColor:E.currentItemStrokeColor}):A,!0)},appState:{...B,...E},captureUpdate:E.currentItemStrokeColor?Xu.IMMEDIATELY:Xu.EVENTUALLY}),PanelComponent:({elements:u,appState:B,updateData:E,appProps:A})=>M0(tu,{children:[P("h3",{"aria-hidden":"true",children:C0("labels.stroke")}),P(FG0,{topPicks:Uf0,palette:yku,type:"elementStroke",label:C0("labels.stroke"),color:B8(u,B,(C)=>C.strokeColor,!0,B.currentItemStrokeColor),onChange:(C)=>E({currentItemStrokeColor:C}),elements:u,appState:B,updateData:E})]})}),pN1=C4({name:"changeBackgroundColor",label:"labels.changeBackground",trackEvent:!1,perform:(u,B,E)=>({...E.currentItemBackgroundColor&&{elements:u8(u,B,(A)=>O3(A,{backgroundColor:E.currentItemBackgroundColor}))},appState:{...B,...E},captureUpdate:E.currentItemBackgroundColor?Xu.IMMEDIATELY:Xu.EVENTUALLY}),PanelComponent:({elements:u,appState:B,updateData:E,appProps:A})=>M0(tu,{children:[P("h3",{"aria-hidden":"true",children:C0("labels.background")}),P(FG0,{topPicks:zf0,palette:rku,type:"elementBackground",label:C0("labels.background"),color:B8(u,B,(C)=>C.backgroundColor,!0,B.currentItemBackgroundColor),onChange:(C)=>E({currentItemBackgroundColor:C}),elements:u,appState:B,updateData:E})]})}),nN1=C4({name:"changeFillStyle",label:"labels.fill",trackEvent:!1,perform:(u,B,E,A)=>(l6("element","changeFillStyle",`${E} (${A.device.editor.isMobile?"mobile":"desktop"})`),{elements:u8(u,B,(C)=>O3(C,{fillStyle:E})),appState:{...B,currentItemFillStyle:E},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E})=>{let A=N3(u,B),C=A.length>0&&A.every((D)=>D.fillStyle==="zigzag");return M0("fieldset",{children:[P("legend",{children:C0("labels.fill")}),P(Mz,{type:"button",options:[{value:"hachure",text:`${C?C0("labels.zigzag"):C0("labels.hachure")} (${Wu("Alt-Click")})`,icon:C?bMu:ZMu,active:C?!0:void 0,testId:"fill-hachure"},{value:"cross-hatch",text:C0("labels.crossHatch"),icon:JMu,testId:"fill-cross-hatch"},{value:"solid",text:C0("labels.solid"),icon:KMu,testId:"fill-solid"}],value:B8(u,B,(D)=>D.fillStyle,(D)=>D.hasOwnProperty("fillStyle"),(D)=>D?null:B.currentItemFillStyle),onClick:(D,F)=>{let U=F.altKey&&D==="hachure"&&A.every((z)=>z.fillStyle==="hachure")?"zigzag":D;E(U)}})]})}}),dN1=C4({name:"changeStrokeWidth",label:"labels.strokeWidth",trackEvent:!1,perform:(u,B,E)=>({elements:u8(u,B,(A)=>O3(A,{strokeWidth:E})),appState:{...B,currentItemStrokeWidth:E},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E})=>M0("fieldset",{children:[P("legend",{children:C0("labels.strokeWidth")}),P(Mz,{group:"stroke-width",options:[{value:Lp.thin,text:C0("labels.thin"),icon:DM0,testId:"strokeWidth-thin"},{value:Lp.bold,text:C0("labels.bold"),icon:wMu,testId:"strokeWidth-bold"},{value:Lp.extraBold,text:C0("labels.extraBold"),icon:QMu,testId:"strokeWidth-extraBold"}],value:B8(u,B,(A)=>A.strokeWidth,(A)=>A.hasOwnProperty("strokeWidth"),(A)=>A?null:B.currentItemStrokeWidth),onChange:(A)=>E(A)})]})}),sN1=C4({name:"changeSloppiness",label:"labels.sloppiness",trackEvent:!1,perform:(u,B,E)=>({elements:u8(u,B,(A)=>O3(A,{seed:WD(),roughness:E})),appState:{...B,currentItemRoughness:E},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E})=>M0("fieldset",{children:[P("legend",{children:C0("labels.sloppiness")}),P(Mz,{group:"sloppiness",options:[{value:0,text:C0("labels.architect"),icon:qMu},{value:1,text:C0("labels.artist"),icon:lMu},{value:2,text:C0("labels.cartoonist"),icon:LMu}],value:B8(u,B,(A)=>A.roughness,(A)=>A.hasOwnProperty("roughness"),(A)=>A?null:B.currentItemRoughness),onChange:(A)=>E(A)})]})}),oN1=C4({name:"changeStrokeStyle",label:"labels.strokeStyle",trackEvent:!1,perform:(u,B,E)=>({elements:u8(u,B,(A)=>O3(A,{strokeStyle:E})),appState:{...B,currentItemStrokeStyle:E},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E})=>M0("fieldset",{children:[P("legend",{children:C0("labels.strokeStyle")}),P(Mz,{group:"strokeStyle",options:[{value:"solid",text:C0("labels.strokeStyle_solid"),icon:DM0},{value:"dashed",text:C0("labels.strokeStyle_dashed"),icon:GMu},{value:"dotted",text:C0("labels.strokeStyle_dotted"),icon:HMu}],value:B8(u,B,(A)=>A.strokeStyle,(A)=>A.hasOwnProperty("strokeStyle"),(A)=>A?null:B.currentItemStrokeStyle),onChange:(A)=>E(A)})]})}),tN1=C4({name:"changeOpacity",label:"labels.opacity",trackEvent:!1,perform:(u,B,E)=>({elements:u8(u,B,(A)=>O3(A,{opacity:E}),!0),appState:{...B,currentItemOpacity:E},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E})=>P(JZ3,{updateData:E,elements:u,appState:B,testId:"opacity"})}),eN1=C4({name:"changeFontSize",label:"labels.fontSize",trackEvent:!1,perform:(u,B,E,A)=>kG0(u,B,A,()=>E,E),PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>M0("fieldset",{children:[P("legend",{children:C0("labels.fontSize")}),P(Mz,{group:"font-size",options:[{value:16,text:C0("labels.small"),icon:hMu,testId:"fontSize-small"},{value:20,text:C0("labels.medium"),icon:iMu,testId:"fontSize-medium"},{value:28,text:C0("labels.large"),icon:aMu,testId:"fontSize-large"},{value:36,text:C0("labels.veryLarge"),icon:mMu,testId:"fontSize-veryLarge"}],value:B8(u,B,(C)=>{if(M4(C))return C.fontSize;let D=Y3(C,A.scene.getNonDeletedElementsMap());return D?D.fontSize:null},(C)=>M4(C)||Y3(C,A.scene.getNonDeletedElementsMap())!==null,(C)=>C?null:B.currentItemFontSize||mU),onChange:(C)=>E(C)})]})}),You=C4({name:"decreaseFontSize",label:"labels.decreaseFontSize",icon:_O,trackEvent:!1,perform:(u,B,E,A)=>kG0(u,B,A,(C)=>Math.round(1/(1+weu)*C.fontSize)),keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.shiftKey&&(u.key===r0.CHEVRON_LEFT||u.key===r0.COMMA)}),Rou=C4({name:"increaseFontSize",label:"labels.increaseFontSize",icon:_O,trackEvent:!1,perform:(u,B,E,A)=>kG0(u,B,A,(C)=>Math.round(C.fontSize*(1+weu))),keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.shiftKey&&(u.key===r0.CHEVRON_RIGHT||u.key===r0.PERIOD)}),uV1=C4({name:"changeFontFamily",label:"labels.fontFamily",trackEvent:!1,perform:(u,B,E,A)=>{let{cachedElements:C,resetAll:D,resetContainers:F,...U}=E;if(D)return{elements:u8(u,B,(J)=>{let K=C?.get(J.id);return K?O3(J,{...K}):J},!0),appState:{...B,...U},captureUpdate:Xu.NEVER};let{currentItemFontFamily:z,currentHoveredFontFamily:k}=E,f=Xu.EVENTUALLY,M,b=!1;if(z)M=z,f=Xu.IMMEDIATELY;else if(k){M=k,f=Xu.EVENTUALLY;let J=N3(u,B,{includeBoundTextElement:!0}).filter((K)=>M4(K));if(J.length>200)b=!0;else{let K=0,w=0;for(;K<J.length&&w<5000;){let Q=J[K];w+=Q?.originalText.length||0,K++}w>5000&&(b=!0)}}let Z={appState:{...B,...U},captureUpdate:f};if(M&&!b){let J=new Map,K=new Set,w=!1,Q=Array.from(rU.loadedFontsCache.values()),G=Object.entries(d6).find(([q,L])=>L===M)?.[0];k&&G&&Q.some((q)=>q.startsWith(G))&&(w=!0),Object.assign(Z,{elements:u8(u,B,(q)=>{if(M4(q)&&(q.fontFamily!==M||z)){let L=O3(q,{fontFamily:M,lineHeight:TZ(M)}),v=C?.get(q.containerId||"")||{},x=A.scene.getContainerElement(q);return F&&x&&v&&Su(x,{...v},!1),w||(K=new Set([...K,...Array.from(L.originalText)])),J.set(L,x),L}return q},!0)});let H=`10px ${mQ({fontFamily:M})}`,l=Array.from(K.values()).join();if(w||window.document.fonts.check(H,l))for(let[q,L]of J)d7(q,L,A.scene.getNonDeletedElementsMap(),!1);else window.document.fonts.load(H,l).then((q)=>{for(let[L,v]of J){let x=A.scene.getElement(L.id),S=v?A.scene.getElement(v.id):null;x&&d7(x,S,A.scene.getNonDeletedElementsMap(),!1)}A.fonts.onLoaded(q)})}return Z},PanelComponent:({elements:u,appState:B,app:E,updateData:A})=>{let C=UC.useRef(new Map),D=UC.useRef(null),[F,U]=UC.useState({}),z=UC.useRef(!0),k=UC.useMemo(()=>{let f=(M,b)=>B8(M,B,(Z)=>{if(M4(Z))return Z.fontFamily;let J=Y3(Z,b);return J?J.fontFamily:null},(Z)=>M4(Z)||Y3(Z,b)!==null,(Z)=>Z?null:B.currentItemFontFamily||ff);return F.openPopup==="fontFamily"&&B.openPopup==="fontFamily"?f(Array.from(C.current?.values()??[]),C.current):!F.openPopup&&B.openPopup!=="fontFamily"?f(u,E.scene.getNonDeletedElementsMap()):D.current},[F.openPopup,B,u,E.scene]);return UC.useEffect(()=>{D.current=k},[k]),UC.useEffect(()=>{Object.keys(F).length&&(A(F),U({}))},[F]),UC.useEffect(()=>(z.current=!1,()=>{z.current=!0}),[]),M0("fieldset",{children:[P("legend",{children:C0("labels.fontFamily")}),P(ZZ3,{isOpened:B.openPopup==="fontFamily",selectedFontFamily:k,hoveredFontFamily:B.currentHoveredFontFamily,onSelect:(f)=>{U({openPopup:null,currentHoveredFontFamily:null,currentItemFontFamily:f}),C.current.clear()},onHover:(f)=>{U({currentHoveredFontFamily:f,cachedElements:new Map(C.current),resetContainers:!0})},onLeave:()=>{U({currentHoveredFontFamily:null,cachedElements:new Map(C.current),resetAll:!0})},onPopupChange:(f)=>{if(f){C.current.clear();let{editingTextElement:M}=B;if(M?.type==="text"){let b=E.scene.getElement(M.id);C.current.set(M.id,O3(b||M,{},!0))}else{let b=N3(u,B,{includeBoundTextElement:!0});for(let Z of b)C.current.set(Z.id,O3(Z,{},!0))}U({openPopup:"fontFamily"})}else{let M={openPopup:null,currentHoveredFontFamily:null,cachedElements:new Map(C.current),resetAll:!0};z.current?A({...F,...M}):U(M),C.current.clear()}}})]})}}),BV1=C4({name:"changeTextAlign",label:"Change text alignment",trackEvent:!1,perform:(u,B,E,A)=>({elements:u8(u,B,(C)=>{if(M4(C)){let D=O3(C,{textAlign:E});return d7(D,A.scene.getContainerElement(C),A.scene.getNonDeletedElementsMap()),D}return C},!0),appState:{...B,currentItemTextAlign:E},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>{let C=A.scene.getNonDeletedElementsMap();return M0("fieldset",{children:[P("legend",{children:C0("labels.textAlign")}),P(Mz,{group:"text-align",options:[{value:"left",text:C0("labels.left"),icon:$Mu,testId:"align-left"},{value:"center",text:C0("labels.center"),icon:yMu,testId:"align-horizontal-center"},{value:"right",text:C0("labels.right"),icon:rMu,testId:"align-right"}],value:B8(u,B,(D)=>{if(M4(D))return D.textAlign;let F=Y3(D,C);return F?F.textAlign:null},(D)=>M4(D)||Y3(D,C)!==null,(D)=>D?null:B.currentItemTextAlign),onChange:(D)=>E(D)})]})}}),EV1=C4({name:"changeVerticalAlign",label:"Change vertical alignment",trackEvent:{category:"element"},perform:(u,B,E,A)=>({elements:u8(u,B,(C)=>{if(M4(C)){let D=O3(C,{verticalAlign:E});return d7(D,A.scene.getContainerElement(C),A.scene.getNonDeletedElementsMap()),D}return C},!0),appState:{...B},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P("fieldset",{children:P(Mz,{group:"text-align",options:[{value:m8.TOP,text:C0("labels.alignTop"),icon:P(gMu,{theme:B.theme}),testId:"align-top"},{value:m8.MIDDLE,text:C0("labels.centerVertically"),icon:P(_Mu,{theme:B.theme}),testId:"align-middle"},{value:m8.BOTTOM,text:C0("labels.alignBottom"),icon:P(cMu,{theme:B.theme}),testId:"align-bottom"}],value:B8(u,B,(C)=>{if(M4(C)&&C.containerId)return C.verticalAlign;let D=Y3(C,A.scene.getNonDeletedElementsMap());return D?D.verticalAlign:null},(C)=>M4(C)||Y3(C,A.scene.getNonDeletedElementsMap())!==null,(C)=>C?null:m8.MIDDLE),onChange:(C)=>E(C)})})}),AV1=C4({name:"changeRoundness",label:"Change edge roundness",trackEvent:!1,perform:(u,B,E)=>({elements:u8(u,B,(A)=>Q4(A)?A:O3(A,{roundness:E==="round"?{type:yQ(A.type)?Z2.ADAPTIVE_RADIUS:Z2.PROPORTIONAL_RADIUS}:null})),appState:{...B,currentItemRoundness:E},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E})=>{let A=Wb0(f6(u),B).some((C)=>C.roundness?.type===Z2.LEGACY);return M0("fieldset",{children:[P("legend",{children:C0("labels.edges")}),P(Mz,{group:"edges",options:[{value:"sharp",text:C0("labels.sharp"),icon:XMu},{value:"round",text:C0("labels.round"),icon:vMu}],value:B8(u,B,(C)=>A?null:C.roundness?"round":"sharp",(C)=>!j3(C)&&C.hasOwnProperty("roundness"),(C)=>C?null:B.currentItemRoundness),onChange:(C)=>E(C)})]})}}),Tou=(u)=>[{value:null,text:C0("labels.arrowhead_none"),keyBinding:"q",icon:xMu},{value:"arrow",text:C0("labels.arrowhead_arrow"),keyBinding:"w",icon:P(WMu,{flip:u})},{value:"triangle",text:C0("labels.arrowhead_triangle"),icon:P(TMu,{flip:u}),keyBinding:"e"},{value:"triangle_outline",text:C0("labels.arrowhead_triangle_outline"),icon:P(OMu,{flip:u}),keyBinding:"r"},{value:"circle",text:C0("labels.arrowhead_circle"),keyBinding:"a",icon:P(SMu,{flip:u})},{value:"circle_outline",text:C0("labels.arrowhead_circle_outline"),keyBinding:"s",icon:P(YMu,{flip:u})},{value:"diamond",text:C0("labels.arrowhead_diamond"),icon:P(IMu,{flip:u}),keyBinding:"d"},{value:"diamond_outline",text:C0("labels.arrowhead_diamond_outline"),icon:P(PMu,{flip:u}),keyBinding:"f"},{value:"bar",text:C0("labels.arrowhead_bar"),keyBinding:"z",icon:P(RMu,{flip:u})},{value:"crowfoot_one",text:C0("labels.arrowhead_crowfoot_one"),icon:P(NMu,{flip:u}),keyBinding:"c"},{value:"crowfoot_many",text:C0("labels.arrowhead_crowfoot_many"),icon:P(jMu,{flip:u}),keyBinding:"x"},{value:"crowfoot_one_or_many",text:C0("labels.arrowhead_crowfoot_one_or_many"),icon:P(VMu,{flip:u}),keyBinding:"v"}],CV1=C4({name:"changeArrowhead",label:"Change arrowheads",trackEvent:!1,perform:(u,B,E)=>({elements:u8(u,B,(A)=>{if(S3(A)){let{position:C,type:D}=E;if(C==="start")return O3(A,{startArrowhead:D});if(C==="end")return O3(A,{endArrowhead:D})}return A}),appState:{...B,[E.position==="start"?"currentItemStartArrowhead":"currentItemEndArrowhead"]:E.type},captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E})=>{let A=_P().rtl;return M0("fieldset",{children:[P("legend",{children:C0("labels.arrowheads")}),M0("div",{className:"iconSelectList buttonList",children:[P(Sou,{label:"arrowhead_start",options:Tou(!A),value:B8(u,B,(C)=>S3(C)&&dO(C.type)?C.startArrowhead:B.currentItemStartArrowhead,!0,B.currentItemStartArrowhead),onChange:(C)=>E({position:"start",type:C}),numberOfOptionsToAlwaysShow:4}),P(Sou,{label:"arrowhead_end",group:"arrowheads",options:Tou(!!A),value:B8(u,B,(C)=>S3(C)&&dO(C.type)?C.endArrowhead:B.currentItemEndArrowhead,!0,B.currentItemEndArrowhead),onChange:(C)=>E({position:"end",type:C}),numberOfOptionsToAlwaysShow:4})]})]})}}),DV1=C4({name:"changeArrowType",label:"Change arrow types",trackEvent:!1,perform:(u,B,E,A)=>{let C=u8(u,B,(U)=>{if(!j3(U))return U;let z=O3(U,{roundness:E===M5.round?{type:Z2.PROPORTIONAL_RADIUS}:null,elbowed:E===M5.elbow,points:E===M5.elbow||U.elbowed?[U.points[0],U.points[U.points.length-1]]:U.points});if(Q4(z)){let k=A.scene.getNonDeletedElementsMap();A.dismissLinearEditor();let f=Z4.getPointAtIndexGlobalCoordinates(z,0,k),M=Z4.getPointAtIndexGlobalCoordinates(z,-1,k),b=!z.startBinding&&cA(aA(f),u,k,B.zoom,!1,!0),Z=!z.endBinding&&cA(aA(M),u,k,B.zoom,!1,!0),J=b||z.startBinding&&k.get(z.startBinding.elementId),K=Z||z.endBinding&&k.get(z.endBinding.elementId),w=b?bX(z,b,"start"):f,Q=Z?bX(z,Z,"end"):M;b&&QD(z,b,"start",k),Z&&QD(z,Z,"end",k),Su(z,{points:[w,Q].map((G)=>t(G[0]-z.x,G[1]-z.y)),...J&&z.startBinding?{startBinding:{...z.startBinding,...tO(z,J,"start",k)}}:{},...K&&z.endBinding?{endBinding:{...z.endBinding,...tO(z,K,"end",k)}}:{}}),Z4.updateEditorMidPointsCache(z,k,A.state)}return z}),D={...B,currentItemArrowType:E},F=B.selectedLinearElement?.elementId;if(F){let U=C.find((z)=>z.id===F);U&&(D.selectedLinearElement=new Z4(U))}return{elements:C,appState:D,captureUpdate:Xu.IMMEDIATELY}},PanelComponent:({elements:u,appState:B,updateData:E})=>M0("fieldset",{children:[P("legend",{children:C0("labels.arrowtypes")}),P(Mz,{group:"arrowtypes",options:[{value:M5.sharp,text:C0("labels.arrowtype_sharp"),icon:Hbu,testId:"sharp-arrow"},{value:M5.round,text:C0("labels.arrowtype_round"),icon:lbu,testId:"round-arrow"},{value:M5.elbow,text:C0("labels.arrowtype_elbowed"),icon:qbu,testId:"elbow-arrow"}],value:B8(u,B,(A)=>j3(A)?A.elbowed?M5.elbow:A.roundness?M5.round:M5.sharp:null,(A)=>j3(A),(A)=>A?null:B.currentItemArrowType),onChange:(A)=>E(A)})]})}),IG=({viewportX:u,viewportY:B,nextZoom:E},A)=>{let C=u-A.offsetLeft,D=B-A.offsetTop,F=A.zoom.value,U=A.scrollX+(C-C/F),z=A.scrollY+(D-D/F),k=-(C-C/E),f=-(D-D/E);return{scrollX:U+k,scrollY:z+f,zoom:{value:E}}},yP=()=>{let u=document.querySelector(".excalidraw-tooltip");if(u)return u;let B=document.createElement("div");return document.body.appendChild(B),B.classList.add("excalidraw-tooltip"),B},Geu=(u,B,E="bottom")=>{let A=u.getBoundingClientRect(),C=window.innerWidth,D=window.innerHeight,F=5,U=B.left+B.width/2-A.width/2;U<0?U=F:U+A.width>=C&&(U=C-A.width-F);let z;E==="bottom"?(z=B.top+B.height+F,z+A.height>=D&&(z=B.top-A.height-F)):(z=B.top-A.height-F,z<0&&(z=B.top+B.height+F)),Object.assign(u.style,{top:`${z}px`,left:`${U}px`})},wZ3=(u,B,E,A)=>{B.classList.add("excalidraw-tooltip--visible"),B.style.minWidth=A?"50ch":"10ch",B.style.maxWidth=A?"50ch":"15ch",B.textContent=E;let C=u.getBoundingClientRect();Geu(B,C)},hG=({children:u,label:B,long:E=!1,style:A,disabled:C})=>(Qeu.useEffect(()=>()=>yP().classList.remove("excalidraw-tooltip--visible"),[]),C?null:P("div",{className:"excalidraw-tooltip-wrapper",onPointerEnter:(D)=>wZ3(D.currentTarget,yP(),B,E),onPointerLeave:()=>yP().classList.remove("excalidraw-tooltip--visible"),style:A,children:u})),zV1=C4({name:"changeViewBackgroundColor",label:"labels.canvasBackground",paletteName:"Change canvas background color",trackEvent:!1,predicate:(u,B,E,A)=>!!A.props.UIOptions.canvasActions.changeViewBackgroundColor&&!B.viewModeEnabled,perform:(u,B,E)=>({appState:{...B,...E},captureUpdate:E.viewBackgroundColor?Xu.IMMEDIATELY:Xu.EVENTUALLY}),PanelComponent:({elements:u,appState:B,updateData:E,appProps:A})=>P(FG0,{palette:null,topPicks:kf0,label:C0("labels.canvasBackground"),type:"canvasBackground",color:B.viewBackgroundColor,onChange:(C)=>E({viewBackgroundColor:C}),"data-testid":"canvas-background-picker",elements:u,appState:B,updateData:E})}),rP=C4({name:"clearCanvas",label:"labels.clearCanvas",paletteName:"Clear canvas",icon:YZ,trackEvent:{category:"canvas"},predicate:(u,B,E,A)=>!!A.props.UIOptions.canvasActions.clearCanvas&&!B.viewModeEnabled&&B.openDialog?.name!=="elementLinkSelector",perform:(u,B,E,A)=>(A.imageCache.clear(),{elements:u.map((C)=>O3(C,{isDeleted:!0})),appState:{...LD(),files:{},theme:B.theme,penMode:B.penMode,penDetected:B.penDetected,exportBackground:B.exportBackground,exportEmbedScene:B.exportEmbedScene,gridSize:B.gridSize,gridStep:B.gridStep,gridModeEnabled:B.gridModeEnabled,stats:B.stats,pasteDialog:B.pasteDialog,activeTool:B.activeTool.type==="image"?{...B.activeTool,type:"selection"}:B.activeTool},captureUpdate:Xu.IMMEDIATELY})}),Oou=C4({name:"zoomIn",label:"buttons.zoomIn",viewMode:!0,icon:if0,trackEvent:{category:"canvas"},perform:(u,B,E,A)=>({appState:{...B,...IG({viewportX:B.width/2+B.offsetLeft,viewportY:B.height/2+B.offsetTop,nextZoom:gU(B.zoom.value+PO)},B),userToFollow:null},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({updateData:u,appState:B})=>P(C1,{type:"button",className:"zoom-in-button zoom-button",icon:if0,title:`${C0("buttons.zoomIn")} — ${Wu("CtrlOrCmd++")}`,"aria-label":C0("buttons.zoomIn"),disabled:B.zoom.value>=Hp,onClick:()=>{u(null)}}),keyTest:(u)=>(u.code===z1.EQUAL||u.code===z1.NUM_ADD)&&(u[r0.CTRL_OR_CMD]||u.shiftKey)}),Iou=C4({name:"zoomOut",label:"buttons.zoomOut",icon:af0,viewMode:!0,trackEvent:{category:"canvas"},perform:(u,B,E,A)=>({appState:{...B,...IG({viewportX:B.width/2+B.offsetLeft,viewportY:B.height/2+B.offsetTop,nextZoom:gU(B.zoom.value-PO)},B),userToFollow:null},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({updateData:u,appState:B})=>P(C1,{type:"button",className:"zoom-out-button zoom-button",icon:af0,title:`${C0("buttons.zoomOut")} — ${Wu("CtrlOrCmd+-")}`,"aria-label":C0("buttons.zoomOut"),disabled:B.zoom.value<=Gp,onClick:()=>{u(null)}}),keyTest:(u)=>(u.code===z1.MINUS||u.code===z1.NUM_SUBTRACT)&&(u[r0.CTRL_OR_CMD]||u.shiftKey)}),Pou=C4({name:"resetZoom",label:"buttons.resetZoom",icon:dfu,viewMode:!0,trackEvent:{category:"canvas"},perform:(u,B,E,A)=>({appState:{...B,...IG({viewportX:B.width/2+B.offsetLeft,viewportY:B.height/2+B.offsetTop,nextZoom:gU(1)},B),userToFollow:null},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({updateData:u,appState:B})=>P(hG,{label:C0("buttons.resetZoom"),style:{height:"100%"},children:M0(C1,{type:"button",className:"reset-zoom-button zoom-button",title:C0("buttons.resetZoom"),"aria-label":C0("buttons.resetZoom"),onClick:()=>{u(null)},children:[(B.zoom.value*100).toFixed(0),"%"]})}),keyTest:(u)=>(u.code===z1.ZERO||u.code===z1.NUM_ZERO)&&(u[r0.CTRL_OR_CMD]||u.shiftKey)}),QZ3=(u,B,E=1)=>{let[A,C,D,F]=u,U=D-A,z=B.width/U,k=F-C,f=B.height/k,M=Math.min(z,f)*r3(E,0.1,1);return Math.min(M,1)},GZ3=({bounds:u,appState:B,canvasOffsets:E,fitToViewport:A=!1,viewportZoomFactor:C=1,minZoom:D=-1/0,maxZoom:F=1/0})=>{C=r3(C,Gp,Hp);let[U,z,k,f]=u,M=(U+k)/2,b=(z+f)/2,Z=E?.left??0,J=E?.top??0,K=E?.right??0,w=E?.bottom??0,Q=B.width-Z-K,G=B.height-J-w,H;if(A){let L=k-U,v=f-z;H=Math.min(Q/L,G/v)*C}else H=QZ3(u,{width:Q,height:G},C);let l=gU(r3(Gfu(H,PO,"floor"),D,F)),q=PM0({scenePoint:{x:M,y:b},viewportDimensions:{width:B.width,height:B.height},offsets:E,zoom:{value:l}});return{appState:{...B,scrollX:q.scrollX,scrollY:q.scrollY,zoom:{value:l}},captureUpdate:Xu.EVENTUALLY}},Xo=({canvasOffsets:u,targetElements:B,appState:E,fitToViewport:A,viewportZoomFactor:C,minZoom:D,maxZoom:F})=>{let U=I1(f6(B));return GZ3({canvasOffsets:u,bounds:U,appState:E,fitToViewport:A,viewportZoomFactor:C,minZoom:D,maxZoom:F})},kV1=C4({name:"zoomToFitSelectionInViewport",label:"labels.zoomToFitViewport",icon:ap,trackEvent:{category:"canvas"},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B);return Xo({targetElements:C.length?C:u,appState:{...B,userToFollow:null},fitToViewport:!1,canvasOffsets:A.getEditorUIOffsets()})},keyTest:(u)=>u.code===z1.TWO&&u.shiftKey&&!u.altKey&&!u[r0.CTRL_OR_CMD]}),fV1=C4({name:"zoomToFitSelection",label:"helpDialog.zoomToSelection",icon:ap,trackEvent:{category:"canvas"},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B);return Xo({targetElements:C.length?C:u,appState:{...B,userToFollow:null},fitToViewport:!0,canvasOffsets:A.getEditorUIOffsets()})},keyTest:(u)=>u.code===z1.THREE&&u.shiftKey&&!u.altKey&&!u[r0.CTRL_OR_CMD]}),MV1=C4({name:"zoomToFit",label:"helpDialog.zoomToFit",icon:ap,viewMode:!0,trackEvent:{category:"canvas"},perform:(u,B,E,A)=>Xo({targetElements:u,appState:{...B,userToFollow:null},fitToViewport:!1,canvasOffsets:A.getEditorUIOffsets()}),keyTest:(u)=>u.code===z1.ONE&&u.shiftKey&&!u.altKey&&!u[r0.CTRL_OR_CMD]}),Co=C4({name:"toggleTheme",label:(u,B)=>B.theme===p3.DARK?"buttons.lightMode":"buttons.darkMode",keywords:["toggle","dark","light","mode","theme"],icon:(u)=>u.theme===p3.LIGHT?Op:Ip,viewMode:!0,trackEvent:{category:"canvas"},perform:(u,B,E)=>({appState:{...B,theme:E||(B.theme===p3.LIGHT?p3.DARK:p3.LIGHT)},captureUpdate:Xu.EVENTUALLY}),keyTest:(u)=>u.altKey&&u.shiftKey&&u.code===z1.D,predicate:(u,B,E,A)=>!!A.props.UIOptions.canvasActions.toggleTheme}),bV1=C4({name:"toggleEraserTool",label:"toolBar.eraser",trackEvent:{category:"toolbar"},perform:(u,B)=>{let E;return XD(B)?E=n9(B,{...B.activeTool.lastActiveTool||{type:"selection"},lastActiveToolBeforeEraser:null}):E=n9(B,{type:"eraser",lastActiveToolBeforeEraser:B.activeTool}),{appState:{...B,selectedElementIds:{},selectedGroupIds:{},activeEmbeddable:null,activeTool:E},captureUpdate:Xu.IMMEDIATELY}},keyTest:(u)=>u.key===r0.E}),HZ3=C4({name:"toggleHandTool",label:"toolBar.hand",paletteName:"Toggle hand tool",trackEvent:{category:"toolbar"},icon:UM0,viewMode:!1,perform:(u,B,E,A)=>{let C;return aQ(B)?C=n9(B,{...B.activeTool.lastActiveTool||{type:"selection"},lastActiveToolBeforeEraser:null}):(C=n9(B,{type:"hand",lastActiveToolBeforeEraser:B.activeTool}),E6(A.interactiveCanvas,p1.GRAB)),{appState:{...B,selectedElementIds:{},selectedGroupIds:{},activeEmbeddable:null,activeTool:C},captureUpdate:Xu.IMMEDIATELY}},keyTest:(u)=>!u.altKey&&!u[r0.CTRL_OR_CMD]&&u.key===r0.H}),sD=C4({name:"finalize",label:"",trackEvent:!1,perform:(u,B,E,A)=>{let{interactiveCanvas:C,focusContainer:D,scene:F}=A,U=F.getNonDeletedElementsMap();if(B.editingLinearElement){let{elementId:b,startBindingElement:Z,endBindingElement:J}=B.editingLinearElement,K=Z4.getElement(b,U);if(K)return KD(K)&&sO(K,Z,J,U,F),{elements:K.points.length<2||sQ(K)?u.filter((w)=>w.id!==K.id):void 0,appState:{...B,cursorButton:"up",editingLinearElement:null},captureUpdate:Xu.IMMEDIATELY}}let z=u,k=B.pendingImageElementId&&F.getElement(B.pendingImageElementId);k&&Su(k,{isDeleted:!0},!1),window.document.activeElement instanceof HTMLElement&&D();let f=B.multiElement?B.multiElement:B.newElement?.type==="freedraw"?B.newElement:null;if(f){if(f.type!=="freedraw"&&B.lastPointerDownWith!=="touch"){let{points:Z,lastCommittedPoint:J}=f;(!J||Z[Z.length-1]!==J)&&Su(f,{points:f.points.slice(0,-1)})}sQ(f)&&(z=z.filter((Z)=>Z.id!==f.id));let b=VU(f.points,B.zoom.value);if((f.type==="line"||f.type==="freedraw")&&b){let Z=f.points,J=Z[0];Su(f,{points:Z.map((K,w)=>w===Z.length-1?t(J[0],J[1]):K)})}if(KD(f)&&!b&&f.points.length>1){let[Z,J]=Z4.getPointAtIndexGlobalCoordinates(f,-1,e4(u));tp(f,B,{x:Z,y:J},U,u)}}(!B.activeTool.locked&&B.activeTool.type!=="freedraw"||!f)&&nA(C);let M;return B.activeTool.type==="eraser"?M=n9(B,{...B.activeTool.lastActiveTool||{type:"selection"},lastActiveToolBeforeEraser:null}):M=n9(B,{type:"selection"}),{elements:z,appState:{...B,cursorButton:"up",activeTool:(B.activeTool.locked||B.activeTool.type==="freedraw")&&f?B.activeTool:M,activeEmbeddable:null,newElement:null,selectionElement:null,multiElement:null,editingTextElement:null,startBoundElement:null,suggestedBindings:[],selectedElementIds:f&&!B.activeTool.locked&&B.activeTool.type!=="freedraw"?{...B.selectedElementIds,[f.id]:!0}:B.selectedElementIds,selectedLinearElement:f&&S3(f)?new Z4(f):B.selectedLinearElement,pendingImageElementId:null},captureUpdate:Xu.IMMEDIATELY}},keyTest:(u,B)=>u.key===r0.ESCAPE&&(B.editingLinearElement!==null||!B.newElement&&B.multiElement===null)||(u.key===r0.ESCAPE||u.key===r0.ENTER)&&B.multiElement!==null,PanelComponent:({appState:u,updateData:B,data:E})=>P(C1,{type:"button",icon:DMu,title:C0("buttons.done"),"aria-label":C0("buttons.done"),onClick:B,visible:u.multiElement!=null,size:E?.size||"medium",style:{pointerEvents:"all"}})}),qZ3=(u)=>{let{id:B}=Jz(),[E,A]=Heu.useState(u.value),C=(F)=>{u.ignoreFocus||Tfu(F.target);let U=F.target.value;U!==u.value&&u.onChange(U)},D=(F)=>{if(F.key===r0.ENTER){if(F.preventDefault(),F.nativeEvent.isComposing||F.keyCode===229)return;F.currentTarget.blur()}};return M0("div",{className:"ProjectName",children:[P("label",{className:"ProjectName-label",htmlFor:"filename",children:`${u.label}:`}),P("input",{type:"text",className:"TextInput",onBlur:C,onKeyDown:D,id:`${B}-filename`,value:E,onChange:(F)=>A(F.target.value)})]})},lZ3=(u)=>{let B=u.title||(u.value===p3.DARK?C0("buttons.lightMode"):C0("buttons.darkMode"));return P(C1,{type:"icon",icon:u.value===p3.LIGHT?jou.MOON:jou.SUN,title:B,"aria-label":B,onClick:()=>u.onChange(u.value===p3.DARK?p3.LIGHT:p3.DARK),"data-testid":"toggle-dark-mode"})},jou={SUN:P("svg",{width:"512",height:"512",className:"rtl-mirror",viewBox:"0 0 512 512",children:P("path",{fill:"currentColor",d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"})}),MOON:P("svg",{width:"512",height:"512",className:"rtl-mirror",viewBox:"0 0 512 512",children:P("path",{fill:"currentColor",d:"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"})})},vo=(u,{selectedElementIds:B},E)=>{u=f6(u);let A=E&&K2(u,{selectedElementIds:B}),C=null,D=A?N3(u,{selectedElementIds:B},{includeBoundTextElement:!0}):u;return A&&(D.length===1&&u3(D[0])?(C=D[0],D=vn(u,C)):D.length>1&&(D=N3(u,{selectedElementIds:B},{includeBoundTextElement:!0,includeElementsInFrames:!0}))),{exportingFrame:C,exportedElements:yU(D)}},xo=async(u,B,E,A,{exportBackground:C,exportPadding:D=hQ,viewBackgroundColor:F,name:U=E.name||Qf0,fileHandle:z=null,exportingFrame:k=null})=>{if(B.length===0)throw Error(C0("alerts.cannotExportEmptyCanvas"));if(u==="svg"||u==="clipboard-svg"){let M=Jn(B,{exportBackground:C,exportWithDarkMode:E.exportWithDarkMode,viewBackgroundColor:F,exportPadding:D,exportScale:E.exportScale,exportEmbedScene:E.exportEmbedScene&&u==="svg"},A,{exportingFrame:k});if(u==="svg")return AI(M.then((b)=>new Blob([b.outerHTML],{type:r4.svg})),{description:"Export to SVG",name:U,extension:E.exportEmbedScene?"excalidraw.svg":"svg",mimeTypes:[VQ.svg],fileHandle:z});if(u==="clipboard-svg"){let b=await M.then((Z)=>Z.outerHTML);try{await PX(b)}catch{throw Error(C0("errors.copyToSystemClipboardFailed"))}return}}let f=kb0(B,E,A,{exportBackground:C,viewBackgroundColor:F,exportPadding:D,exportingFrame:k});if(u==="png"){let M=iX(f);return E.exportEmbedScene&&(M=M.then((b)=>Promise.resolve().then(() => (Sk0(),Wk0)).then(({encodePngMetadata:Z})=>Z({blob:b,metadata:kn(B,E,A,"local")})))),AI(M,{description:"Export to PNG",name:U,extension:E.exportEmbedScene?"excalidraw.png":"png",mimeTypes:[VQ.png],fileHandle:z})}else if(u==="clipboard")try{let M=iX(f);await CJu(M)}catch(M){throw console.warn(M),M.name==="CANVAS_POSSIBLY_TOO_BIG"?Error(C0("canvasError.canvasTooBig")):KX&&M.name==="TypeError"?Error(`${C0("alerts.couldNotCopyToClipboard")}
${C0("hints.firefox_clipboard_write")}`):Error(C0("alerts.couldNotCopyToClipboard"))}else throw Error("Unsupported export type")},LZ3=async(u,B,E,A)=>{let{exportBackground:C,viewBackgroundColor:D,fileHandle:F}=B,U=hb0(F);if(!F||!xJu(U))throw Error("fileHandle should exist and should be of type svg or png when resaving");B={...B,exportEmbedScene:!0};let{exportedElements:z,exportingFrame:k}=vo(u,B,!1);return await xo(U,z,B,E,{exportBackground:C,viewBackgroundColor:D,name:A,fileHandle:F,exportingFrame:k}),{fileHandle:F}},fG0=({children:u,checked:B,onChange:E,className:A})=>M0("div",{className:Yu("Checkbox",A,{"is-checked":B}),onClick:(C)=>{E(!B,C),C.currentTarget.querySelector(".Checkbox-box").focus()},children:[P("button",{type:"button",className:"Checkbox-box",role:"checkbox","aria-checked":B,children:uMu}),P("div",{className:"Checkbox-label",children:u})]}),XZ3=C4({name:"changeProjectName",label:"labels.fileTitle",trackEvent:!1,perform:(u,B,E)=>({appState:{...B,name:E},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({appState:u,updateData:B,appProps:E,data:A,app:C})=>P(qZ3,{label:C0("labels.fileTitle"),value:C.getName(),onChange:(D)=>B(D),ignoreFocus:A?.ignoreFocus??!1})}),vZ3=C4({name:"changeExportScale",label:"imageExportDialog.scale",trackEvent:{category:"export",action:"scale"},perform:(u,B,E)=>({appState:{...B,exportScale:E},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({elements:u,appState:B,updateData:E})=>{let A=f6(u),C=K2(A,B)?N3(A,B):A;return P(tu,{children:lp.map((D)=>{let[F,U]=pZu(C,hQ,D),z=`${C0("imageExportDialog.label.scale")} ${D}x (${F}x${U})`;return P(C1,{size:"small",type:"radio",icon:`${D}x`,name:"export-canvas-scale",title:z,"aria-label":z,id:"export-canvas-scale",checked:D===B.exportScale,onChange:()=>E(D)},D)})})}}),xZ3=C4({name:"changeExportBackground",label:"imageExportDialog.label.withBackground",trackEvent:{category:"export",action:"toggleBackground"},perform:(u,B,E)=>({appState:{...B,exportBackground:E},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({appState:u,updateData:B})=>P(fG0,{checked:u.exportBackground,onChange:(E)=>B(E),children:C0("imageExportDialog.label.withBackground")})}),qeu=C4({name:"changeExportEmbedScene",label:"imageExportDialog.tooltip.embedScene",trackEvent:{category:"export",action:"embedScene"},perform:(u,B,E)=>({appState:{...B,exportEmbedScene:E},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({appState:u,updateData:B})=>M0(fG0,{checked:u.exportEmbedScene,onChange:(E)=>B(E),children:[C0("imageExportDialog.label.embedScene"),P(hG,{label:C0("imageExportDialog.tooltip.embedScene"),long:!0,children:P("div",{className:"excalidraw-tooltip-icon",children:FMu})})]})}),Nou=C4({name:"saveToActiveFile",label:"buttons.save",icon:cO,trackEvent:{category:"export"},predicate:(u,B,E,A)=>!!A.props.UIOptions.canvasActions.saveToActiveFile&&!!B.fileHandle&&!B.viewModeEnabled,perform:async(u,B,E,A)=>{let C=!!B.fileHandle;try{let{fileHandle:D}=In(B.fileHandle)?await LZ3(u,B,A.files,A.getName()):await tM0(u,B,A.files,A.getName());return{captureUpdate:Xu.EVENTUALLY,appState:{...B,fileHandle:D,toast:C?{message:D?.name?C0("toast.fileSavedToFilename").replace("{filename}",`"${D.name}"`):C0("toast.fileSaved")}:null}}}catch(D){return D?.name!=="AbortError"?console.error(D):console.warn(D),{captureUpdate:Xu.EVENTUALLY}}},keyTest:(u)=>u.key===r0.S&&u[r0.CTRL_OR_CMD]&&!u.shiftKey}),leu=C4({name:"saveFileToDisk",label:"exportDialog.disk_title",icon:cO,viewMode:!0,trackEvent:{category:"export"},perform:async(u,B,E,A)=>{try{let{fileHandle:C}=await tM0(u,{...B,fileHandle:null},A.files,A.getName());return{captureUpdate:Xu.EVENTUALLY,appState:{...B,openDialog:null,fileHandle:C,toast:{message:C0("toast.fileSaved")}}}}catch(C){return C?.name!=="AbortError"?console.error(C):console.warn(C),{captureUpdate:Xu.EVENTUALLY}}},keyTest:(u)=>u.key===r0.S&&u.shiftKey&&u[r0.CTRL_OR_CMD],PanelComponent:({updateData:u})=>P(C1,{type:"button",icon:EMu,title:C0("buttons.saveAs"),"aria-label":C0("buttons.saveAs"),showAriaLabel:H5().editor.isMobile,hidden:!uf,onClick:()=>u(null),"data-testid":"save-as-button"})}),rQ0=C4({name:"loadScene",label:"buttons.load",trackEvent:{category:"export"},predicate:(u,B,E,A)=>!!A.props.UIOptions.canvasActions.loadScene&&!B.viewModeEnabled,perform:async(u,B,E,A)=>{try{let{elements:C,appState:D,files:F}=await iZu(B,u);return{elements:C,appState:D,files:F,captureUpdate:Xu.IMMEDIATELY}}catch(C){return C?.name==="AbortError"?(console.warn(C),!1):{elements:u,appState:{...B,errorMessage:C.message},files:A.files,captureUpdate:Xu.EVENTUALLY}}},keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.key===r0.O}),WZ3=C4({name:"exportWithDarkMode",label:"imageExportDialog.label.darkMode",trackEvent:{category:"export",action:"toggleTheme"},perform:(u,B,E)=>({appState:{...B,exportWithDarkMode:E},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({appState:u,updateData:B})=>P("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"-45px",marginBottom:"10px"},children:P(lZ3,{value:u.exportWithDarkMode?p3.DARK:p3.LIGHT,onChange:(E)=>{B(E===p3.DARK)},title:C0("imageExportDialog.label.darkMode")})})}),Leu="{}",SZ3=C4({name:"copyStyles",label:"labels.copyStyles",icon:JM0,trackEvent:{category:"element"},perform:(u,B,E,A)=>{let C=[],D=u.find((F)=>B.selectedElementIds[F.id]);if(C.push(D),D&&r8(D)){let F=Y3(D,A.scene.getNonDeletedElementsMap());C.push(F)}return D&&(Leu=JSON.stringify(C)),{appState:{...B,toast:{message:C0("toast.copyStyles")}},captureUpdate:Xu.EVENTUALLY}},keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.C}),YZ3=C4({name:"pasteStyles",label:"labels.pasteStyles",icon:JM0,trackEvent:{category:"element"},perform:(u,B,E,A)=>{let C=JSON.parse(Leu),D=C[0],F=C[1];if(!If0(D))return{elements:u,captureUpdate:Xu.EVENTUALLY};let U=N3(u,B,{includeBoundTextElement:!0}),z=U.map((k)=>k.id);return{elements:u.map((k)=>{if(z.includes(k.id)){let f=D;if(M4(k)&&k.containerId&&(f=F),!f)return k;let M=O3(k,{backgroundColor:f?.backgroundColor,strokeWidth:f?.strokeWidth,strokeColor:f?.strokeColor,strokeStyle:f?.strokeStyle,fillStyle:f?.fillStyle,opacity:f?.opacity,roughness:f?.roughness,roundness:f.roundness?hfu(f.roundness.type,k)?f.roundness:ifu(k):null});if(M4(M)){let b=f.fontSize||mU,Z=f.fontFamily||ff;M=O3(M,{fontSize:b,fontFamily:Z,textAlign:f.textAlign||wX,lineHeight:f.lineHeight||TZ(Z)});let J=null;M.containerId&&(J=U.find((K)=>M4(M)&&K.id===M.containerId)||null),d7(M,J,A.scene.getNonDeletedElementsMap())}return M.type==="arrow"&&j3(f)&&(M=O3(M,{startArrowhead:f.startArrowhead,endArrowhead:f.endArrowhead})),u3(k)&&(M=O3(M,{roundness:null,backgroundColor:"transparent"})),M}return k}),captureUpdate:Xu.IMMEDIATELY}},keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.V}),qV1=C4({name:"toggleCanvasMenu",label:"buttons.menu",trackEvent:{category:"menu"},perform:(u,B)=>({appState:{...B,openMenu:B.openMenu==="canvas"?null:"canvas"},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({appState:u,updateData:B})=>P(C1,{type:"button",icon:mf0,"aria-label":C0("buttons.menu"),onClick:B,selected:u.openMenu==="canvas"})}),lV1=C4({name:"toggleEditMenu",label:"buttons.edit",trackEvent:{category:"menu"},perform:(u,B)=>({appState:{...B,openMenu:B.openMenu==="shape"?null:"shape"},captureUpdate:Xu.EVENTUALLY}),PanelComponent:({elements:u,appState:B,updateData:E})=>P(C1,{visible:Tn(B,f6(u)),type:"button",icon:AMu,"aria-label":C0("buttons.edit"),onClick:E,selected:B.openMenu==="shape"})}),MG0=C4({name:"toggleShortcuts",label:"welcomeScreen.defaults.helpHint",icon:ofu,viewMode:!0,trackEvent:{category:"menu",action:"toggleHelpDialog"},perform:(u,B,E,{focusContainer:A})=>(B.openDialog?.name==="help"&&A(),{appState:{...B,openDialog:B.openDialog?.name==="help"?null:{name:"help"}},captureUpdate:Xu.EVENTUALLY}),keyTest:(u)=>u.key===r0.QUESTION_MARK}),RZ3=(u)=>{if(u.length>=2){let B=u[0].groupIds;for(let E of B)if(u.reduce((A,C)=>A&&YX(C,E),!0))return!0}return!1},Vou=(u,B,E)=>{let A=E.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0});return A.length>=2&&!RZ3(A)&&!xb0(A)},TZ3=C4({name:"group",label:"labels.group",icon:(u)=>P(AM0,{theme:u.theme}),trackEvent:{category:"element"},perform:(u,B,E,A)=>{let C=Ln(A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0}));if(C.length<2)return{appState:B,elements:u,captureUpdate:Xu.EVENTUALLY};let D=IZ(B);if(D.length===1){let K=D[0],w=new Set(W6(u,K).map((G)=>G.id)),Q=new Set(C.map((G)=>G.id));if(new Set([...Array.from(w),...Array.from(Q)]).size===w.size)return{appState:B,elements:u,captureUpdate:Xu.EVENTUALLY}}let F=[...u];new Set(C.map((K)=>K.frameId)).size>1&&kJu(C).forEach((K,w)=>{kI(K,A.scene.getNonDeletedElementsMap())});let U=hE(),z=e4(C);F=F.map((K)=>z.get(K.id)?O3(K,{groupIds:kZu(K.groupIds,U,B.editingGroupId)}):K);let k=W6(F,U),f=k[k.length-1],M=F.lastIndexOf(f),b=F.slice(M+1),Z=F.slice(0,M).filter((K)=>!YX(K,U)),J=qD([...Z,...k,...b],e4(k));return{appState:{...B,...NM0(U,{...B,selectedGroupIds:{}},f6(F))},elements:J,captureUpdate:Xu.IMMEDIATELY}},predicate:(u,B,E,A)=>Vou(u,B,A),keyTest:(u)=>!u.shiftKey&&u[r0.CTRL_OR_CMD]&&u.key===r0.G,PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!Vou(u,B,A),type:"button",icon:P(AM0,{theme:B.theme}),onClick:()=>E(null),title:`${C0("labels.group")} — ${Wu("CtrlOrCmd+G")}`,"aria-label":C0("labels.group"),visible:K2(f6(u),B)})}),OZ3=C4({name:"ungroup",label:"labels.ungroup",icon:(u)=>P(CM0,{theme:u.theme}),trackEvent:{category:"element"},perform:(u,B,E,A)=>{let C=IZ(B),D=e4(u);if(C.length===0)return{appState:B,elements:u,captureUpdate:Xu.EVENTUALLY};let F=[...u],U=[];F=F.map((M)=>{x6(M)&&U.push(M.id);let b=fZu(M.groupIds,B.selectedGroupIds);return b.length===M.groupIds.length?M:O3(M,{groupIds:b})});let z=n7(B,f6(F),B,null),k=A.scene.getSelectedElements(B),f=new Set(k.filter((M)=>M.frameId).map((M)=>M.frameId));return ln(u).filter((M)=>f.has(M.id)).forEach((M)=>{M&&(F=Xb0(F,zI(F,M,B,D),M,A))}),z.selectedElementIds=Object.entries(z.selectedElementIds).reduce((M,[b,Z])=>(Z&&!U.includes(b)&&(M[b]=!0),M),{}),{appState:{...B,...z},elements:F,captureUpdate:Xu.IMMEDIATELY}},keyTest:(u)=>u.shiftKey&&u[r0.CTRL_OR_CMD]&&u.key===r0.G.toUpperCase(),predicate:(u,B)=>IZ(B).length>0,PanelComponent:({elements:u,appState:B,updateData:E})=>P(C1,{type:"button",hidden:IZ(B).length===0,icon:P(CM0,{theme:B.theme}),onClick:()=>E(null),title:`${C0("labels.ungroup")} — ${Wu("CtrlOrCmd+Shift+G")}`,"aria-label":C0("labels.ungroup"),visible:K2(f6(u),B)})}),Xeu=(u,B,E,A,C,D,F)=>{u.beginPath(),u.moveTo(B+D,E),u.lineTo(B+A-D,E),u.quadraticCurveTo(B+A,E,B+A,E+D),u.lineTo(B+A,E+C-D),u.quadraticCurveTo(B+A,E+C,B+A-D,E+C),u.lineTo(B+D,E+C),u.quadraticCurveTo(B,E+C,B,E+C-D),u.lineTo(B,E+D),u.quadraticCurveTo(B,E,B+D,E),u.closePath(),u.fill(),F&&(u.strokeStyle=F),u.stroke()};function IZ3(u){let B=0;if(u.length===0)return B;for(let E=0;E<u.length;E++){let A=u.charCodeAt(E);B=(B<<5)-B+A}return B}var Wo=(u,B)=>`hsl(${Math.abs(IZ3(B?.id||u))%37*10}, 100%, 83%)`,PZ3=(u)=>{let B=u?.trim()?.codePointAt(0);return(B?String.fromCodePoint(B):"?").toUpperCase()},jZ3=({context:u,renderConfig:B,appState:E,normalizedWidth:A,normalizedHeight:C})=>{for(let[D,F]of B.remotePointerViewportCoords){let{x:U,y:z}=F,k=E.collaborators.get(D);U-=E.offsetLeft,z-=E.offsetTop;let f=11,M=14,b=U<0||U>A-f||z<0||z>C-M;U=Math.max(U,0),U=Math.min(U,A-f),z=Math.max(z,0),z=Math.min(z,C-M);let Z=Wo(D,k);u.save(),u.strokeStyle=Z,u.fillStyle=Z;let J=B.remotePointerUserStates.get(D),K=b||J==="idle"||J==="away";K&&(u.globalAlpha=0.3),B.remotePointerButton.get(D)==="down"&&(u.beginPath(),u.arc(U,z,15,0,2*Math.PI,!1),u.lineWidth=3,u.strokeStyle="#ffffff88",u.stroke(),u.closePath(),u.beginPath(),u.arc(U,z,15,0,2*Math.PI,!1),u.lineWidth=1,u.strokeStyle=Z,u.stroke(),u.closePath());let w=E.theme===p3.DARK?"#2f6330":ufu,Q=k?.isSpeaking;Q&&(u.fillStyle=w,u.strokeStyle=w,u.lineWidth=10,u.lineJoin="round",u.beginPath(),u.moveTo(U,z),u.lineTo(U+0,z+14),u.lineTo(U+4,z+9),u.lineTo(U+11,z+8),u.closePath(),u.stroke(),u.fill()),u.fillStyle=OO,u.strokeStyle=OO,u.lineWidth=6,u.lineJoin="round",u.beginPath(),u.moveTo(U,z),u.lineTo(U+0,z+14),u.lineTo(U+4,z+9),u.lineTo(U+11,z+8),u.closePath(),u.stroke(),u.fill(),u.fillStyle=Z,u.strokeStyle=Z,u.lineWidth=2,u.lineJoin="round",u.beginPath(),K?(u.moveTo(U-1,z-1),u.lineTo(U-1,z+15),u.lineTo(U+5,z+10),u.lineTo(U+12,z+9),u.closePath(),u.fill()):(u.moveTo(U,z),u.lineTo(U+0,z+14),u.lineTo(U+4,z+9),u.lineTo(U+11,z+8),u.closePath(),u.fill(),u.stroke());let G=B.remotePointerUsernames.get(D)||"";if(!b&&G){u.font="600 12px sans-serif";let H=(Q?U+0:U)+f/2,l=(Q?z+0:z)+M+2,q=5,L=3,v=u.measureText(G),x=v.actualBoundingBoxDescent+v.actualBoundingBoxAscent,S=Math.max(x,12),W=H-1,T=l-1,R=v.width+2+q*2+2,Y=S+2+L*2+2;if(u.roundRect?(u.beginPath(),u.roundRect(W,T,R,Y,8),u.fillStyle=Z,u.fill(),u.strokeStyle=OO,u.stroke(),Q&&(u.beginPath(),u.roundRect(W-2,T-2,R+4,Y+4,8),u.strokeStyle=w,u.stroke())):Xeu(u,W,T,R,Y,8,OO),u.fillStyle=eku,u.fillText(G,H+q+1,l+L+v.actualBoundingBoxAscent+Math.floor((S-x)/2)+2),Q){u.fillStyle=w;let h=8,I=8,O=5;u.fillRect(W+R+I,T+(Y/2-h/2),2,h),u.fillRect(W+R+I+O,T+(Y/2-h*2/2),2,h*2),u.fillRect(W+R+I+O*2,T+(Y/2-h/2),2,h)}}u.restore(),u.closePath()}},hou=({color:u,onClick:B,name:E,src:A,className:C})=>{let D=PZ3(E),[F,U]=veu.useState(!1),z=!F&&A,k=z?void 0:{background:u};return P("div",{className:Yu("Avatar",C),style:k,onClick:B,children:z?P("img",{className:"Avatar-img",src:A,alt:D,referrerPolicy:"no-referrer",onError:()=>U(!0)}):D})},SV1=C4({name:"goToCollaborator",label:"Go to a collaborator",viewMode:!0,trackEvent:{category:"collab"},perform:(u,B,E)=>!E.socketId||B.userToFollow?.socketId===E.socketId||E.isCurrentUser?{appState:{...B,userToFollow:null},captureUpdate:Xu.EVENTUALLY}:{appState:{...B,userToFollow:{socketId:E.socketId,username:E.username||""},openMenu:B.openMenu==="canvas"?null:B.openMenu},captureUpdate:Xu.EVENTUALLY},PanelComponent:({updateData:u,data:B,appState:E})=>{let{socketId:A,collaborator:C,withName:D,isBeingFollowed:F}=B,U=Wo(A,C),z=Yu({"is-followed":F,"is-current-user":C.isCurrentUser===!0,"is-speaking":C.isSpeaking,"is-in-call":C.isInCall,"is-muted":C.isMuted}),k=C.isInCall?C.isSpeaking?M0("div",{className:"UserList__collaborator-status-icon-speaking-indicator",title:C0("userList.hint.isSpeaking"),children:[P("div",{}),P("div",{}),P("div",{})]}):C.isMuted?P("div",{className:"UserList__collaborator-status-icon-microphone-muted",title:C0("userList.hint.micMuted"),children:Fbu}):P("div",{title:C0("userList.hint.inCall"),children:Dbu}):null;return D?M0("div",{className:`dropdown-menu-item dropdown-menu-item-base UserList__collaborator ${z}`,style:{"--avatar-size":"1.5rem"},onClick:()=>u(C),children:[P(hou,{color:U,onClick:()=>{},name:C.username||"",src:C.avatarUrl,className:z}),P("div",{className:"UserList__collaborator-name",children:C.username}),M0("div",{className:"UserList__collaborator-status-icons","aria-hidden":!0,children:[F&&P("div",{className:"UserList__collaborator-status-icon-is-followed",title:C0("userList.hint.followStatus"),children:ip}),k]})]}):M0("div",{className:`UserList__collaborator UserList__collaborator--avatar-only ${z}`,children:[P(hou,{color:U,onClick:()=>{u(C)},name:C.username||"",src:C.avatarUrl,className:z}),k&&P("div",{className:"UserList__collaborator-status-icon",children:k})]})}}),NZ3=C4({name:"addToLibrary",trackEvent:{category:"element"},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0});for(let D of wf0)if(C.some((F)=>F.type===D))return{captureUpdate:Xu.EVENTUALLY,appState:{...B,errorMessage:C0(`errors.libraryElementTypeError.${D}`)}};return A.library.getLatestLibrary().then((D)=>A.library.setLibrary([{id:hE(),status:"unpublished",elements:C.map(PZ),created:Date.now()},...D])).then(()=>({captureUpdate:Xu.EVENTUALLY,appState:{...B,toast:{message:C0("toast.addedToLibrary")}}})).catch((D)=>({captureUpdate:Xu.EVENTUALLY,appState:{...B,errorMessage:D.message}}))},label:"labels.addToLibrary"}),VZ3=(u,B,E,A)=>{let C=eO(u,B),D=pA(u);return C.flatMap((F)=>{let U=hZ3(F,D,E);return F.map((z)=>{let k=Su(z,{x:z.x+U.x,y:z.y+U.y});return _B(z,A.getNonDeletedElementsMap(),{simultaneouslyUpdated:F}),k})})},hZ3=(u,B,{axis:E,position:A})=>{let C=pA(u),[D,F]=E==="x"?["minX","maxX"]:["minY","maxY"],U={x:0,y:0};return A==="start"?{...U,[E]:B[D]-C[D]}:A==="end"?{...U,[E]:B[F]-C[F]}:{...U,[E]:(B[D]+B[F])/2-(C[D]+C[F])/2}},sE=(u,B)=>{let E=B.scene.getSelectedElements(u);return E.length>1&&!E.some((A)=>u3(A))},dv=(u,B,E,A)=>{let C=E.scene.getSelectedElements(B),D=e4(u),F=VZ3(C,D,A,E.scene),U=e4(F);return dQ(u.map((z)=>U.get(z.id)||z),B,E)},RV1=C4({name:"alignTop",label:"labels.alignTop",icon:sf0,trackEvent:{category:"element"},predicate:(u,B,E,A)=>sE(B,A),perform:(u,B,E,A)=>({appState:B,elements:dv(u,B,A,{position:"start",axis:"y"}),captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.shiftKey&&u.key===r0.ARROW_UP,PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!sE(B,A),type:"button",icon:sf0,onClick:()=>E(null),title:`${C0("labels.alignTop")} — ${Wu("CtrlOrCmd+Shift+Up")}`,"aria-label":C0("labels.alignTop"),visible:K2(f6(u),B)})}),TV1=C4({name:"alignBottom",label:"labels.alignBottom",icon:of0,trackEvent:{category:"element"},predicate:(u,B,E,A)=>sE(B,A),perform:(u,B,E,A)=>({appState:B,elements:dv(u,B,A,{position:"end",axis:"y"}),captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.shiftKey&&u.key===r0.ARROW_DOWN,PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!sE(B,A),type:"button",icon:of0,onClick:()=>E(null),title:`${C0("labels.alignBottom")} — ${Wu("CtrlOrCmd+Shift+Down")}`,"aria-label":C0("labels.alignBottom"),visible:K2(f6(u),B)})}),OV1=C4({name:"alignLeft",label:"labels.alignLeft",icon:tf0,trackEvent:{category:"element"},predicate:(u,B,E,A)=>sE(B,A),perform:(u,B,E,A)=>({appState:B,elements:dv(u,B,A,{position:"start",axis:"x"}),captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.shiftKey&&u.key===r0.ARROW_LEFT,PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!sE(B,A),type:"button",icon:tf0,onClick:()=>E(null),title:`${C0("labels.alignLeft")} — ${Wu("CtrlOrCmd+Shift+Left")}`,"aria-label":C0("labels.alignLeft"),visible:K2(f6(u),B)})}),IV1=C4({name:"alignRight",label:"labels.alignRight",icon:ef0,trackEvent:{category:"element"},predicate:(u,B,E,A)=>sE(B,A),perform:(u,B,E,A)=>({appState:B,elements:dv(u,B,A,{position:"end",axis:"x"}),captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.shiftKey&&u.key===r0.ARROW_RIGHT,PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!sE(B,A),type:"button",icon:ef0,onClick:()=>E(null),title:`${C0("labels.alignRight")} — ${Wu("CtrlOrCmd+Shift+Right")}`,"aria-label":C0("labels.alignRight"),visible:K2(f6(u),B)})}),PV1=C4({name:"alignVerticallyCentered",label:"labels.centerVertically",icon:uM0,trackEvent:{category:"element"},predicate:(u,B,E,A)=>sE(B,A),perform:(u,B,E,A)=>({appState:B,elements:dv(u,B,A,{position:"center",axis:"y"}),captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!sE(B,A),type:"button",icon:uM0,onClick:()=>E(null),title:C0("labels.centerVertically"),"aria-label":C0("labels.centerVertically"),visible:K2(f6(u),B)})}),jV1=C4({name:"alignHorizontallyCentered",label:"labels.centerHorizontally",icon:BM0,trackEvent:{category:"element"},predicate:(u,B,E,A)=>sE(B,A),perform:(u,B,E,A)=>({appState:B,elements:dv(u,B,A,{position:"center",axis:"x"}),captureUpdate:Xu.IMMEDIATELY}),PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!sE(B,A),type:"button",icon:BM0,onClick:()=>E(null),title:C0("labels.centerHorizontally"),"aria-label":C0("labels.centerHorizontally"),visible:K2(f6(u),B)})}),iZ3=(u,B,E)=>{let[A,C,D,F]=E.axis==="x"?["minX","midX","maxX","width"]:["minY","midY","maxY","height"],U=pA(u),z=eO(u,B).map((b)=>[b,pA(b)]).sort((b,Z)=>b[1][C]-Z[1][C]),k=0;for(let b of z)k+=b[1][F];let f=(U[F]-k)/(z.length-1);if(f<0){let b=z.findIndex((w)=>w[1][A]===U[A]),Z=z.findIndex((w)=>w[1][D]===U[D]),J=(z[Z][1][C]-z[b][1][C])/(z.length-1),K=z[b][1][C];return z.flatMap(([w,Q],G)=>{let H={x:0,y:0};return G!==b&&G!==Z&&(K+=J,H[E.axis]=K-Q[C]),w.map((l)=>O3(l,{x:l.x+H.x,y:l.y+H.y}))})}let M=U[A];return z.flatMap(([b,Z])=>{let J={x:0,y:0};return J[E.axis]=M-Z[A],M+=f,M+=Z[F],b.map((K)=>O3(K,{x:K.x+J.x,y:K.y+J.y}))})},xeu=(u,B)=>{let E=B.scene.getSelectedElements(u);return E.length>1&&!E.some((A)=>u3(A))},Weu=(u,B,E,A)=>{let C=E.scene.getSelectedElements(B),D=iZ3(C,E.scene.getNonDeletedElementsMap(),A),F=e4(D);return dQ(u.map((U)=>F.get(U.id)||U),B,E)},VV1=C4({name:"distributeHorizontally",label:"labels.distributeHorizontally",trackEvent:{category:"element"},perform:(u,B,E,A)=>({appState:B,elements:Weu(u,B,A,{space:"between",axis:"x"}),captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>!u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.H,PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!xeu(B,A),type:"button",icon:fMu,onClick:()=>E(null),title:`${C0("labels.distributeHorizontally")} — ${Wu("Alt+H")}`,"aria-label":C0("labels.distributeHorizontally"),visible:K2(f6(u),B)})}),hV1=C4({name:"distributeVertically",label:"labels.distributeVertically",trackEvent:{category:"element"},perform:(u,B,E,A)=>({appState:B,elements:Weu(u,B,A,{space:"between",axis:"y"}),captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>!u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.V,PanelComponent:({elements:u,appState:B,updateData:E,app:A})=>P(C1,{hidden:!xeu(B,A),type:"button",icon:MMu,onClick:()=>E(null),title:`${C0("labels.distributeVertically")} — ${Wu("Alt+V")}`,"aria-label":C0("labels.distributeVertically"),visible:K2(f6(u),B)})}),aZ3=C4({name:"flipHorizontal",label:"labels.flipHorizontal",icon:fbu,trackEvent:{category:"element"},perform:(u,B,E,A)=>({elements:dQ(Seu(u,A.scene.getNonDeletedElementsMap(),B,"horizontal",A),B,A),appState:B,captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>u.shiftKey&&u.code===z1.H}),mZ3=C4({name:"flipVertical",label:"labels.flipVertical",icon:kbu,trackEvent:{category:"element"},perform:(u,B,E,A)=>({elements:dQ(Seu(u,A.scene.getNonDeletedElementsMap(),B,"vertical",A),B,A),appState:B,captureUpdate:Xu.IMMEDIATELY}),keyTest:(u)=>u.shiftKey&&u.code===z1.V&&!u[r0.CTRL_OR_CMD]}),Seu=(u,B,E,A,C)=>{let D=N3(f6(u),E,{includeBoundTextElement:!0,includeElementsInFrames:!0}),F=$Z3(D,B,E,A,C),U=e4(F);return u.map((z)=>U.get(z.id)||z)},$Z3=(u,B,E,A,C)=>{if(u.every((Z)=>j3(Z)&&(Z.startBinding||Z.endBinding)))return u.map((Z)=>{let J=Z;return O3(J,{startArrowhead:J.endArrowhead,endArrowhead:J.startArrowhead})});let{midX:D,midY:F}=pA(u);Nb0(u,B,"nw",C.scene,new Map(Array.from(B.values()).map((Z)=>[Z.id,PZ(Z)])),{flipByX:A==="horizontal",flipByY:A==="vertical",shouldResizeFromCenter:!0,shouldMaintainAspectRatio:!0}),oO(u.filter(S3),B,C.scene.getNonDeletedElements(),C.scene,GZ(E),[],E.zoom);let{elbowArrows:U,otherElements:z}=u.reduce((Z,J)=>Q4(J)?{...Z,elbowArrows:Z.elbowArrows.concat(J)}:{...Z,otherElements:Z.otherElements.concat(J)},{elbowArrows:[],otherElements:[]}),{midX:k,midY:f}=pA(u),[M,b]=[D-k,F-f];return z.forEach((Z)=>Su(Z,{x:Z.x+M,y:Z.y+b})),U.forEach((Z)=>Su(Z,{x:Z.x+M,y:Z.y+b})),u},uo=C4({name:"copy",label:"labels.copy",icon:Tp,trackEvent:{category:"element"},perform:async(u,B,E,A)=>{let C=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0});try{await BJu(C,A.files,E)}catch(D){return{captureUpdate:Xu.EVENTUALLY,appState:{...B,errorMessage:D.message}}}return{captureUpdate:Xu.EVENTUALLY}},keyTest:void 0}),iou=C4({name:"paste",label:"labels.paste",trackEvent:{category:"element"},perform:async(u,B,E,A)=>{let C;try{C=await AJu()}catch(D){return D.name==="AbortError"||D.name==="NotAllowedError"?!1:(console.error(`actionPaste ${D.name}: ${D.message}`),KX?{captureUpdate:Xu.EVENTUALLY,appState:{...B,errorMessage:C0("hints.firefox_clipboard_write")}}:{captureUpdate:Xu.EVENTUALLY,appState:{...B,errorMessage:C0("errors.asyncPasteFailedOnRead")}})}try{A.pasteFromClipboard(uJu({types:C}))}catch(D){return console.error(D),{captureUpdate:Xu.EVENTUALLY,appState:{...B,errorMessage:C0("errors.asyncPasteFailedOnParse")}}}return{captureUpdate:Xu.EVENTUALLY}},keyTest:void 0}),aou=C4({name:"cut",label:"labels.cut",icon:nMu,trackEvent:{category:"element"},perform:(u,B,E,A)=>(uo.perform(u,B,E,A),mtu.perform(u,B,null,A)),keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.key===r0.X}),mou=C4({name:"copyAsSvg",label:"labels.copyAsSvg",icon:Mbu,trackEvent:{category:"element"},perform:async(u,B,E,A)=>{if(!A.canvas)return{captureUpdate:Xu.EVENTUALLY};let{exportedElements:C,exportingFrame:D}=vo(u,B,!0);try{await xo("clipboard-svg",C,B,A.files,{...B,exportingFrame:D,name:A.getName()});let F=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0});return{appState:{toast:{message:C0("toast.copyToClipboardAsSvg",{exportSelection:F.length?C0("toast.selection"):C0("toast.canvas"),exportColorScheme:B.exportWithDarkMode?C0("buttons.darkMode"):C0("buttons.lightMode")})}},captureUpdate:Xu.EVENTUALLY}}catch(F){return console.error(F),{appState:{errorMessage:F.message},captureUpdate:Xu.EVENTUALLY}}},predicate:(u)=>Gn&&u.length>0,keywords:["svg","clipboard","copy"]}),$ou=C4({name:"copyAsPng",label:"labels.copyAsPng",icon:bbu,trackEvent:{category:"element"},perform:async(u,B,E,A)=>{if(!A.canvas)return{captureUpdate:Xu.EVENTUALLY};let C=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0}),{exportedElements:D,exportingFrame:F}=vo(u,B,!0);try{return await xo("clipboard",D,B,A.files,{...B,exportingFrame:F,name:A.getName()}),{appState:{...B,toast:{message:C0("toast.copyToClipboardAsPng",{exportSelection:C.length?C0("toast.selection"):C0("toast.canvas"),exportColorScheme:B.exportWithDarkMode?C0("buttons.darkMode"):C0("buttons.lightMode")})}},captureUpdate:Xu.EVENTUALLY}}catch(U){return console.error(U),{appState:{...B,errorMessage:U.message},captureUpdate:Xu.EVENTUALLY}}},predicate:(u)=>Hn&&u.length>0,keyTest:(u)=>u.code===z1.C&&u.altKey&&u.shiftKey,keywords:["png","clipboard","copy"]}),you=C4({name:"copyText",label:"labels.copyText",trackEvent:{category:"element"},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0});try{PX(vZu(C))}catch{throw Error(C0("errors.copyToSystemClipboardFailed"))}return{captureUpdate:Xu.EVENTUALLY}},predicate:(u,B,E,A)=>Gn&&A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0}).some(M4),keywords:["text","clipboard","copy"]}),rou=C4({name:"gridMode",icon:Qbu,keywords:["snap"],label:"labels.toggleGrid",viewMode:!0,trackEvent:{category:"canvas",predicate:(u)=>u.gridModeEnabled},perform(u,B){return{appState:{...B,gridModeEnabled:!this.checked(B),objectsSnapModeEnabled:!1},captureUpdate:Xu.EVENTUALLY}},checked:(u)=>u.gridModeEnabled,predicate:(u,B,E)=>E.gridModeEnabled===void 0,keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.code===z1.QUOTE}),gQ0=C4({name:"zenMode",label:"buttons.zenMode",icon:Jbu,paletteName:"Toggle zen mode",viewMode:!0,trackEvent:{category:"canvas",predicate:(u)=>!u.zenModeEnabled},perform(u,B){return{appState:{...B,zenModeEnabled:!this.checked(B)},captureUpdate:Xu.EVENTUALLY}},checked:(u)=>u.zenModeEnabled,predicate:(u,B,E)=>typeof E.zenModeEnabled>"u",keyTest:(u)=>!u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.Z}),yZ3=C4({name:"objectsSnapMode",label:"buttons.objectsSnapMode",icon:Zbu,viewMode:!1,trackEvent:{category:"canvas",predicate:(u)=>!u.objectsSnapModeEnabled},perform(u,B){return{appState:{...B,objectsSnapModeEnabled:!this.checked(B),gridModeEnabled:!1},captureUpdate:Xu.EVENTUALLY}},checked:(u)=>u.objectsSnapModeEnabled,predicate:(u,B,E)=>typeof E.objectsSnapModeEnabled>"u",keyTest:(u)=>!u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.S}),cQ0=C4({name:"stats",label:"stats.fullTitle",icon:zbu,paletteName:"Toggle stats",viewMode:!0,trackEvent:{category:"menu"},keywords:["edit","attributes","customize"],perform(u,B){return{appState:{...B,stats:{...B.stats,open:!this.checked(B)}},captureUpdate:Xu.EVENTUALLY}},checked:(u)=>u.stats.open,keyTest:(u)=>!u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.SLASH}),rZ3=C4({name:"unbindText",label:"labels.unbindText",trackEvent:{category:"element"},predicate:(u,B,E,A)=>A.scene.getSelectedElements(B).some((C)=>r8(C)),perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B),D=A.scene.getNonDeletedElementsMap();return C.forEach((F)=>{let U=Y3(F,D);if(U){let{width:z,height:k}=X7(U.originalText,B6(U),U.lineHeight),f=GZu(F.id);yM0(F.id);let{x:M,y:b}=BI(F,U,D);Su(U,{containerId:null,width:z,height:k,text:U.originalText,x:M,y:b}),Su(F,{boundElements:F.boundElements?.filter((Z)=>Z.id!==U.id),height:f||F.height})}}),{elements:u,appState:B,captureUpdate:Xu.IMMEDIATELY}}}),gZ3=C4({name:"bindText",label:"labels.bindText",trackEvent:{category:"element"},predicate:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B);if(C.length===2){let D=M4(C[0])||M4(C[1]),F;if(WZ(C[0])?F=C[0]:WZ(C[1])&&(F=C[1]),D&&F&&Y3(F,A.scene.getNonDeletedElementsMap())===null)return!0}return!1},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B),D,F;M4(C[0])&&WZ(C[1])?(D=C[0],F=C[1]):(D=C[1],F=C[0]),Su(D,{containerId:F.id,verticalAlign:m8.MIDDLE,textAlign:zX.CENTER,autoResize:!0}),Su(F,{boundElements:(F.boundElements||[]).concat({type:"text",id:D.id})});let U=F.height;return d7(D,F,A.scene.getNonDeletedElementsMap()),uI(F.id,U),{elements:cZ3(u,F,D),appState:{...B,selectedElementIds:{[F.id]:!0}},captureUpdate:Xu.IMMEDIATELY}}}),cZ3=(u,B,E)=>{let A=u.slice(),C=A.findIndex((F)=>F.id===E.id);A.splice(C,1);let D=A.findIndex((F)=>F.id===B.id);return A.splice(D+1,0,E),qD(A,e4([B,E])),A},_Z3=(u,B,E)=>{let A=u.slice(),C=A.findIndex((F)=>F.id===B.id);A.splice(C,1);let D=A.findIndex((F)=>F.id===E.id);return A.splice(D,0,B),qD(A,e4([B,E])),A},pZ3=C4({name:"wrapTextInContainer",label:"labels.createContainerFromText",trackEvent:{category:"element"},predicate:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B),D=C.every((F)=>M4(F));return C.length>0&&D},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B),D=u.slice(),F={};for(let U of C)if(M4(U)){let z=SD({type:"rectangle",backgroundColor:B.currentItemBackgroundColor,boundElements:[...U.boundElements||[],{id:U.id,type:"text"}],angle:U.angle,fillStyle:B.currentItemFillStyle,strokeColor:B.currentItemStrokeColor,roughness:B.currentItemRoughness,strokeWidth:B.currentItemStrokeWidth,strokeStyle:B.currentItemStrokeStyle,roundness:B.currentItemRoundness==="round"?{type:yQ("rectangle")?Z2.ADAPTIVE_RADIUS:Z2.PROPORTIONAL_RADIUS}:null,opacity:100,locked:!1,x:U.x-M2,y:U.y-M2,width:HZ(U.width,"rectangle"),height:HZ(U.height,"rectangle"),groupIds:U.groupIds,frameId:U.frameId});if(U.boundElements?.length){let k=U.boundElements.filter((f)=>f.type==="arrow").map((f)=>f.id);D.filter((f)=>k.includes(f.id)).forEach((f)=>{let{startBinding:M,endBinding:b}=f;M?.elementId===U.id&&(M={...M,elementId:z.id}),b?.elementId===U.id&&(b={...b,elementId:z.id}),(M||b)&&Su(f,{startBinding:M,endBinding:b},!1)})}Su(U,{containerId:z.id,verticalAlign:m8.MIDDLE,boundElements:null,textAlign:zX.CENTER,autoResize:!0},!1),d7(U,z,A.scene.getNonDeletedElementsMap()),D=_Z3([...D,z],z,U),F[z.id]=!0}return{elements:D,appState:{...B,selectedElementIds:F},captureUpdate:Xu.IMMEDIATELY}}}),bG0=380,nZ3=42,_Q0=5,Yeu=85,dZ3=500,pQ0=!1,ps=new Map,sZ3=({element:u,elementsMap:B,setAppState:E,onLinkOpen:A,setToast:C,updateEmbedValidationStatus:D})=>{let F=Cj(),U=Aj(),z=H5(),k=u.link||"",[f,M]=zC.useState(k),b=zC.useRef(null),Z=F.showHyperlinkPopup==="editor",J=zC.useCallback(()=>{if(!b.current)return;let H=$8(b.current.value)||null;if(!u.link&&H&&l6("hyperlink","create"),nB(u)){if(F.activeEmbeddable?.element===u&&E({activeEmbeddable:null}),!H){Su(u,{link:null}),D(u,!1);return}if(!EI(H,U.validateEmbeddable))H&&C({message:C0("toast.unableToEmbed"),closable:!0}),u.link&&ps.set(u.id,u.link),Su(u,{link:H}),D(u,!1);else{let{width:l,height:q}=u,L=nQ(H);L?.error instanceof URIError&&C({message:C0("toast.unrecognizedLinkFormat"),closable:!0});let v=L?L.intrinsicSize.w/L.intrinsicSize.h:1,x=ps.get(u.id)!==u.link;Su(u,{...x?{width:L?.type==="video"?l>q?l:q*v:l,height:L?.type==="video"&&l>q?l/v:q}:{},link:H}),D(u,!0),ps.has(u.id)&&ps.delete(u.id)}}else Su(u,{link:H})},[u,C,U.validateEmbeddable,F.activeEmbeddable,E,D]);zC.useLayoutEffect(()=>()=>{J()},[J]),zC.useEffect(()=>{Z&&b?.current&&!(z.viewport.isMobile||z.isTouchScreen)&&b.current.select()},[Z,z.viewport.isMobile,z.isTouchScreen]),zC.useEffect(()=>{let H=null,l=(q)=>{if(Z)return;H&&clearTimeout(H),eZ3(u,B,F,t(q.clientX,q.clientY))&&(H=window.setTimeout(()=>{E({showHyperlinkPopup:!1})},dZ3))};return window.addEventListener("pointermove",l,!1),()=>{window.removeEventListener("pointermove",l,!1),H&&clearTimeout(H)}},[F,u,Z,E,B]);let K=zC.useCallback(()=>{l6("hyperlink","delete"),Su(u,{link:null}),E({showHyperlinkPopup:!1})},[E,u]),w=()=>{l6("hyperlink","edit","popup-ui"),E({showHyperlinkPopup:"editor"})},{x:Q,y:G}=Reu(u,F,B);return F.contextMenu||F.selectedElementsAreBeingDragged||F.resizingElement||F.isRotating||F.openMenu||F.viewModeEnabled?null:M0("div",{className:"excalidraw-hyperlinkContainer",style:{top:`${G}px`,left:`${Q}px`,width:bG0,padding:_Q0},children:[Z?P("input",{className:Yu("excalidraw-hyperlinkContainer-input"),placeholder:C0("labels.link.hint"),ref:b,value:f,onChange:(H)=>M(H.target.value),autoFocus:!0,onKeyDown:(H)=>{H.stopPropagation(),H[r0.CTRL_OR_CMD]&&H.key===r0.K&&H.preventDefault(),(H.key===r0.ENTER||H.key===r0.ESCAPE)&&(J(),E({showHyperlinkPopup:"info"}))}}):u.link?P("a",{href:$8(u.link||""),className:"excalidraw-hyperlinkContainer-link",target:gM0(u.link)?"_self":"_blank",onClick:(H)=>{if(u.link&&A){let l=Wf0("excalidraw-link",H.nativeEvent);A({...u,link:$8(u.link)},l),l.defaultPrevented&&H.preventDefault()}},rel:"noopener noreferrer",children:u.link}):P("div",{className:"excalidraw-hyperlinkContainer-link",children:C0("labels.link.empty")}),M0("div",{className:"excalidraw-hyperlinkContainer__buttons",children:[!Z&&P(C1,{type:"button",title:C0("buttons.edit"),"aria-label":C0("buttons.edit"),label:C0("buttons.edit"),onClick:w,className:"excalidraw-hyperlinkContainer--edit",icon:kX}),P(C1,{type:"button",title:C0("labels.linkToElement"),"aria-label":C0("labels.linkToElement"),label:C0("labels.linkToElement"),onClick:()=>{E({openDialog:{name:"elementLinkSelector",sourceElementId:u.id}})},icon:QM0}),k&&!nB(u)&&P(C1,{type:"button",title:C0("buttons.remove"),"aria-label":C0("buttons.remove"),label:C0("buttons.remove"),onClick:K,className:"excalidraw-hyperlinkContainer--remove",icon:YZ})]})]})},Reu=(u,B,E)=>{let[A,C]=W3(u,E),{x:D,y:F}=yA({sceneX:A+u.width/2,sceneY:C},B),U=D-B.offsetLeft-bG0/2,z=F-B.offsetTop-Yeu;return{x:U,y:z}},gou=(u,B)=>{let E=N3(u,B);return nB(E[0])?"labels.link.editEmbed":E[0]?.link?"labels.link.edit":"labels.link.create"},gP=null,oZ3=(u,B,E)=>{gP&&clearTimeout(gP),gP=window.setTimeout(()=>tZ3(u,B,E),Ffu)},tZ3=(u,B,E)=>{if(!u.link)return;let A=yP();A.classList.add("excalidraw-tooltip--visible"),A.style.maxWidth="20rem",A.textContent=IX(u.link)?C0("labels.link.goToElement"):u.link;let[C,D,F,U]=W3(u,E),[z,k,f,M]=fn([C,D,F,U],u.angle,B),b=yA({sceneX:z,sceneY:k},B);Geu(A,{left:b.x,top:b.y,width:f,height:M},"top"),l6("hyperlink","tooltip","link-icon"),pQ0=!0},cou=()=>{gP&&clearTimeout(gP),pQ0&&(pQ0=!1,yP().classList.remove("excalidraw-tooltip--visible"))},eZ3=(u,B,E,[A,C])=>{let{x:D,y:F}=q6({clientX:A,clientY:C},E),U=15/E.zoom.value;if(mp(D,F,u,B))return!1;let[z,k,f]=W3(u,B);if(D>=z&&D<=f&&F>=k-Yeu&&F<=k)return!1;let{x:M,y:b}=Reu(u,E,B);return!(A>=M-U&&A<=M+bG0+_Q0*2+U&&C>=b-U&&C<=b+U+_Q0*2+nZ3)},Teu=C4({name:"hyperlink",label:(u,B)=>gou(u,B),icon:jp,perform:(u,B)=>B.showHyperlinkPopup==="editor"?!1:{elements:u,appState:{...B,showHyperlinkPopup:"editor",openMenu:null},captureUpdate:Xu.IMMEDIATELY},trackEvent:{category:"hyperlink",action:"click"},keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.key===r0.K,predicate:(u,B)=>N3(u,B).length===1,PanelComponent:({elements:u,appState:B,updateData:E})=>{let A=N3(u,B);return P(C1,{type:"button",icon:jp,"aria-label":C0(gou(u,B)),title:`${nB(u[0])?C0("labels.link.labelEmbed"):C0("labels.link.label")} - ${Wu("CtrlOrCmd+K")}`,onClick:()=>E(null),selected:A.length===1&&!!A[0].link})}}),XQ0=(u)=>u.every((B)=>!B.locked),uJ3=C4({name:"toggleElementLock",label:(u,B,E)=>{let A=E.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!1});return A.length===1&&!u3(A[0])?A[0].locked?"labels.elementLock.unlock":"labels.elementLock.lock":XQ0(A)?"labels.elementLock.lockAll":"labels.elementLock.unlockAll"},icon:(u,B)=>{let E=N3(B,u);return XQ0(E)?Rp:gO},trackEvent:{category:"element"},predicate:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B);return C.length>0&&!C.some((D)=>D.locked&&D.frameId)},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0});if(!C.length)return!1;let D=XQ0(C),F=e4(C);return{elements:u.map((U)=>F.has(U.id)?O3(U,{locked:D}):U),appState:{...B,selectedLinearElement:D?null:B.selectedLinearElement},captureUpdate:Xu.IMMEDIATELY}},keyTest:(u,B,E,A)=>u.key.toLocaleLowerCase()===r0.L&&u[r0.CTRL_OR_CMD]&&u.shiftKey&&A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!1}).length>0}),BJ3=C4({name:"unlockAllElements",paletteName:"Unlock all elements",trackEvent:{category:"canvas"},viewMode:!1,icon:gO,predicate:(u,B)=>N3(u,B).length===0&&u.some((E)=>E.locked),perform:(u,B)=>{let E=u.filter((A)=>A.locked);return{elements:u.map((A)=>A.locked?O3(A,{locked:!1}):A),appState:{...B,selectedElementIds:Object.fromEntries(E.map((A)=>[A.id,!0]))},captureUpdate:Xu.IMMEDIATELY}},label:"labels.elementLock.unlockAll"}),EJ3=()=>{let[u,B]=Yo.useState(null),E=Yo.useCallback((A)=>B(A),[]);return[u,E]},AJ3=(u)=>{let{closeOnClickOutside:B=!0}=u,E=etu({className:"excalidraw-modal-container"}),A=Ieu.useRef(document.body.classList.contains("excalidraw-animations-disabled"));if(!E)return null;let C=(D)=>{D.key===r0.ESCAPE&&(D.nativeEvent.stopImmediatePropagation(),D.stopPropagation(),u.onCloseRequest())};return Oeu.createPortal(M0("div",{className:Yu("Modal",u.className,{"animations-disabled":A.current}),role:"dialog","aria-modal":"true",onKeyDown:C,"aria-labelledby":u.labelledBy,"data-prevent-outside-click":!0,children:[P("div",{className:"Modal__background",onClick:B?u.onCloseRequest:void 0}),P("div",{className:"Modal__content",style:{"--max-width":`${u.maxWidth}px`},tabIndex:0,children:u.children})]}),E)},jeu=P2(new Map),_ou=async(u)=>await UI({elements:u,appState:{exportBackground:!1,viewBackgroundColor:m3.white},files:null,renderEmbeddables:!1,skipInliningFonts:!0}),CJ3=(u,B,E)=>{let[A,C]=Ro.useState();return Ro.useEffect(()=>{if(B)if(u){let D=E.get(u);D?C(D):(async()=>{let F=await _ou(B);F.querySelector(".style-fonts")?.remove(),F&&(E.set(u,F),C(F))})()}else(async()=>{let D=await _ou(B);C(D)})()},[u,B,E,C]),A},Neu=()=>{let[u]=j9(jeu);return{clearLibraryCache:()=>u.clear(),deleteItemsFromLibraryCache:(B)=>{B.forEach((E)=>u.delete(E))},svgCache:u}},DJ3=class{constructor(){j0(this,"jobs",[]),j0(this,"running",!1)}tick(){if(this.running)return;let u=this.jobs.shift();u?(this.running=!0,u.promise.resolve(YQ(u.jobFactory,...u.args).finally(()=>{this.running=!1,this.tick()}))):this.running=!1}push(u,...B){let E=Yfu();return this.jobs.push({jobFactory:u,promise:E,args:B}),this.tick(),E}};var FJ3=new YD,dP=P2({status:"loaded",isInitialized:!1,libraryItems:[]}),NP=(u)=>yU(u),UJ3=(u,B)=>!u.find((E)=>E.elements.length!==B.elements.length?!1:E.elements.every((A,C)=>A.id===B.elements[C].id&&A.versionNonce===B.elements[C].versionNonce)),zJ3=(u,B)=>{let E=[];for(let A of B)UJ3(u,A)&&E.push(A);return[...E,...u]},kJ3=(u,B)=>{let E=e4(B),A={deletedItems:new Map,addedItems:new Map};for(let D of u)E.has(D.id)||A.deletedItems.set(D.id,D);let C=e4(u);for(let D of B)C.has(D.id)||A.addedItems.set(D.id,D);return A},fJ3=class{constructor(u){j0(this,"currLibraryItems",[]),j0(this,"prevLibraryItems",NP(this.currLibraryItems)),j0(this,"app"),j0(this,"updateQueue",[]),j0(this,"getLastUpdateTask",()=>this.updateQueue[this.updateQueue.length-1]),j0(this,"notifyListeners",()=>{if(this.updateQueue.length>0)oD.set(dP,(B)=>({status:"loading",libraryItems:this.currLibraryItems,isInitialized:B.isInitialized}));else{oD.set(dP,{status:"loaded",libraryItems:this.currLibraryItems,isInitialized:!0});try{let B=this.prevLibraryItems;this.prevLibraryItems=NP(this.currLibraryItems);let E=NP(this.currLibraryItems);this.app.props.onLibraryChange?.(E),FJ3.trigger(kJ3(B,E),E)}catch(B){console.error(B)}}}),j0(this,"destroy",()=>{this.updateQueue=[],this.currLibraryItems=[],oD.set(jeu,new Map)}),j0(this,"resetLibrary",()=>this.setLibrary([])),j0(this,"getLatestLibrary",()=>new Promise(async(B)=>{try{let E=await(this.getLastUpdateTask()||this.currLibraryItems);this.updateQueue.length>0?B(this.getLatestLibrary()):B(NP(E))}catch{return B(this.currLibraryItems)}})),j0(this,"updateLibrary",async({libraryItems:B,prompt:E=!1,merge:A=!1,openLibraryMenu:C=!1,defaultStatus:D="unpublished"})=>(C&&this.app.setState({openSidebar:{name:_A.name,tab:NO}}),this.setLibrary(()=>new Promise(async(F,U)=>{try{let z=await(typeof B=="function"&&!(B instanceof Blob)?B(this.currLibraryItems):B),k;z instanceof Blob?k=await SJu(z,D):k=Qn(z,D),!E||window.confirm(C0("alerts.confirmAddLibrary",{numShapes:k.length}))?(E&&this.app.focusContainer(),F(A?zJ3(this.currLibraryItems,k):k)):U(new nO)}catch(z){U(z)}})))),j0(this,"setLibrary",(B)=>{let E=new Promise(async(A,C)=>{try{await this.getLastUpdateTask(),typeof B=="function"&&(B=B(this.currLibraryItems)),this.currLibraryItems=NP(await B),A(this.currLibraryItems)}catch(D){C(D)}}).catch((A)=>{if(A.name==="AbortError")return console.warn("Library update aborted by user"),this.currLibraryItems;throw A}).finally(()=>{this.updateQueue=this.updateQueue.filter((A)=>A!==E),this.notifyListeners()});return this.updateQueue.push(E),this.notifyListeners(),E}),this.app=u}},MJ3=fJ3,Veu=(u)=>{let B=Math.ceil(Math.sqrt(u.length)),E=[],A=(b)=>u.slice(b*B,b*B+B).reduce((Z,J)=>{let{height:K}=pA(J.elements);return Math.max(Z,K)},0),C=(b)=>{let Z=0,J=0,K=0;for(let w of u){if(Z%B===0&&(J=0),J===b){let{width:Q}=pA(w.elements);K=Math.max(K,Q)}Z++,J++}return K},D=0,F=0,U=0,z=0,k=0,f=0,M=0;for(let b of u){k&&k%B===0&&(F+=U+50,D=0,f=0,M++),f===0&&(U=A(M)),z=C(f);let{minX:Z,minY:J,width:K,height:w}=pA(b.elements),Q=(z-K)/2,G=(U-w)/2;E.push(...b.elements.map((H)=>({...H,x:H.x+D+Q-Z,y:H.y+F+G-J}))),D+=z+50,k++,f++}return E};var ns=class u{constructor(B){j0(this,"adapter"),this.adapter=B}static async getLibraryItems(B,E,A=!0){let C=()=>new Promise(async(D,F)=>{try{let U=await B.load({source:E});D(Qn(U?.libraryItems||[],"published"))}catch(U){F(U)}});return A?u.queue.push(C):C()}getLibraryItems(B){return u.getLibraryItems(this.adapter,B,!1)}};j0(ns,"queue",new DJ3),j0(ns,"run",async(u,B)=>{let E=new ns(u);return ns.queue.push(()=>B(E))});var bJ3=ZG0.forwardRef(({children:u,gap:B,align:E,justifyContent:A,className:C,style:D},F)=>P("div",{className:Yu("Stack Stack_horizontal",C),style:{"--gap":B,alignItems:E,justifyContent:A,...D},ref:F,children:u})),ZJ3=ZG0.forwardRef(({children:u,gap:B,align:E,justifyContent:A,className:C,style:D},F)=>P("div",{className:Yu("Stack Stack_vertical",C),style:{"--gap":B,justifyItems:E,justifyContent:A,...D},ref:F,children:u})),FC={Row:bJ3,Col:ZJ3},JJ3=({theme:u,id:B,libraryReturnUrl:E})=>{let A=E||window.location.origin+window.location.pathname;return P("a",{className:"library-menu-browse-button",href:`${J3.VITE_APP_LIBRARY_URL}?target=${window.name||"_blank"}&referrer=${A}&useHash=true&token=${B}&theme=${u}&version=${jO.excalidrawLibrary}`,target:"_excalidraw_libraries",children:C0("labels.libraries")})},KJ3=JJ3,heu=({libraryReturnUrl:u,theme:B,id:E,style:A,children:C,className:D})=>M0("div",{className:Yu("library-menu-control-buttons",D),style:A,children:[P(KJ3,{id:E,libraryReturnUrl:u,theme:B}),C]}),wJ3=/({{[\w-]+}})|(<[\w-]+>)|(<\/[\w-]+>)/g,QJ3=/{{([\w-]+)}}/,GJ3=/<([\w-]+)>/,HJ3=/<\/([\w-]+)>/,qJ3=(u,B)=>{let E=[{name:"",children:[]}];return u.split(wJ3).filter(Boolean).forEach((A)=>{let C=A.match(GJ3),D=A.match(HJ3),F=A.match(QJ3);if(C!==null){let U=C[1];B.hasOwnProperty(U)?E.push({name:U,children:[]}):console.warn(`Trans: missed to pass in prop ${U} for interpolating ${u}`)}else if(D!==null)if(D[1]===E[E.length-1].name){let U=E.pop(),z=sP.default.createElement(sP.default.Fragment,{},...U.children),k=B[U.name];typeof k=="function"&&E[E.length-1].children.push(k(z))}else console.warn(`Trans: unexpected end tag ${A} for interpolating ${u}`);else if(F!==null){let U=F[1];B.hasOwnProperty(U)?E[E.length-1].children.push(B[U]):console.warn(`Trans: key ${U} not in props for interpolating ${u}`)}else E[E.length-1].children.push(A)}),E.length!==1&&console.warn(`Trans: stack not empty for interpolating ${u}`),E[0].children},lJ3=({i18nKey:u,children:B,...E})=>{let{t:A}=fB();return sP.default.createElement(sP.default.Fragment,{},...qJ3(A(u),E))},kz=lJ3,LJ3=({label:u,onClick:B,className:E,children:A,actionType:C,type:D="button",isLoading:F,...U})=>{let z=C?`Dialog__action-button--${C}`:"";return M0("button",{className:Yu("Dialog__action-button",z,E),type:D,"aria-label":u,onClick:B,...U,children:[A&&P("div",{style:F?{visibility:"hidden"}:{},children:A}),P("div",{style:F?{visibility:"hidden"}:{},children:u}),F&&P("div",{style:{position:"absolute",inset:0},children:P(Rf,{})})]})},cv=LJ3,XJ3=(u)=>{let{onConfirm:B,onCancel:E,children:A,confirmText:C=C0("buttons.confirm"),cancelText:D=C0("buttons.cancel"),className:F="",...U}=u,z=a2(),k=Mo(JG0),{container:f}=Jz();return M0(CF,{onCloseRequest:E,size:"small",...U,className:`confirm-dialog ${F}`,children:[A,M0("div",{className:"confirm-dialog-buttons",children:[P(cv,{label:D,onClick:()=>{z({openMenu:null}),k(!1),nQ0.flushSync(()=>{E()}),f?.focus()}}),P(cv,{label:C,onClick:()=>{z({openMenu:null}),k(!1),nQ0.flushSync(()=>{B()}),f?.focus()},actionType:"danger"})]})]})},ieu=XJ3,jG=class{static has(u){try{return!!window.localStorage.getItem(u)}catch(B){return console.warn(`localStorage.getItem error: ${B.message}`),!1}}static get(u){try{let B=window.localStorage.getItem(u);return B?JSON.parse(B):null}catch(B){return console.warn(`localStorage.getItem error: ${B.message}`),null}}};j0(jG,"set",(u,B)=>{try{return window.localStorage.setItem(u,JSON.stringify(B)),!0}catch(E){return console.warn(`localStorage.setItem error: ${E.message}`),!1}}),j0(jG,"delete",(u)=>{try{window.localStorage.removeItem(u)}catch(B){console.warn(`localStorage.removeItem error: ${B.message}`)}});var vJ3=async(u)=>{let B=Math.round(8),E=Math.max(Math.round(2),2),A=Wfu(u,6),C=document.createElement("canvas");C.width=A[0].length*128+(A[0].length+1)*(B*2)-B*2,C.height=A.length*128+(A.length+1)*(B*2)-B*2;let D=C.getContext("2d");D.fillStyle=n6.white,D.fillRect(0,0,C.width,C.height);for(let[F,U]of u.entries()){let z=await qn({elements:U.elements,files:null,maxWidthOrHeight:128}),{width:k,height:f}=z,M=Math.floor(F/6)*(128+B*2),b=F%6*(128+B*2);D.drawImage(z,b+(128-k)/2+B,M+(128-f)/2+B),D.lineWidth=E,D.strokeStyle=n6.gray[4],D.strokeRect(b+B/2,M+B/2,128+B,128+B)}return await Pn(new File([await iX(C)],"preview",{type:r4.png}),{outputType:r4.jpg,maxWidthOrHeight:5000})},xJ3=({libItem:u,appState:B,index:E,onChange:A,onRemove:C})=>{let D=dE.useRef(null),F=dE.useRef(null);return dE.useEffect(()=>{let U=D.current;U&&(async()=>{let z=await UI({elements:u.elements,appState:{...B,viewBackgroundColor:n6.white,exportBackground:!0},files:null,skipInliningFonts:!0});U.innerHTML=z.outerHTML})()},[u.elements,B]),M0("div",{className:"single-library-item",children:[u.status==="published"&&P("span",{className:"single-library-item-status",children:C0("labels.statusPublished")}),P("div",{ref:D,className:"single-library-item__svg"}),P(C1,{"aria-label":C0("buttons.remove"),type:"button",icon:gQ,className:"single-library-item--remove",onClick:C.bind(null,u.id),title:C0("buttons.remove")}),M0("div",{style:{display:"flex",margin:"0.8rem 0",width:"100%",fontSize:"14px",fontWeight:500,flexDirection:"column"},children:[M0("label",{style:{display:"flex",justifyContent:"space-between",flexDirection:"column"},children:[M0("div",{style:{padding:"0.5em 0"},children:[P("span",{style:{fontWeight:500,color:n6.gray[6]},children:C0("publishDialog.itemName")}),P("span",{"aria-hidden":"true",className:"required",children:"*"})]}),P("input",{type:"text",ref:F,style:{width:"80%",padding:"0.2rem"},defaultValue:u.name,placeholder:"Item name",onChange:(U)=>{A(U.target.value,E)}})]}),P("span",{className:"error",children:u.error})]})]})},WJ3=({onClose:u,libraryItems:B,appState:E,onSuccess:A,onError:C,updateItemsInStorage:D,onRemove:F})=>{let[U,z]=dE.useState({authorName:"",githubHandle:"",name:"",description:"",twitterHandle:"",website:""}),[k,f]=dE.useState(!1);dE.useEffect(()=>{let H=jG.get(QX.PUBLISH_LIBRARY);H&&z(H)},[]);let[M,b]=dE.useState(B.slice());dE.useEffect(()=>{b(B.slice())},[B]);let Z=(H)=>{z({...U,[H.target.name]:H.target.value})},J=async(H)=>{H.preventDefault(),f(!0);let l=[],q=!1;if(M.forEach((T)=>{let R="";T.name||(R=C0("publishDialog.errors.required"),q=!0),l.push({...T,error:R})}),q){b(l),f(!1);return}let L=await vJ3(M),v={type:jE.excalidrawLibrary,version:jO.excalidrawLibrary,source:Qp,libraryItems:M},x=JSON.stringify(v,null,2),S=new Blob([x],{type:"application/json"}),W=new FormData;W.append("excalidrawLib",S),W.append("previewImage",L),W.append("previewImageType",L.type),W.append("title",U.name),W.append("authorName",U.authorName),W.append("githubHandle",U.githubHandle),W.append("name",U.name),W.append("description",U.description),W.append("twitterHandle",U.twitterHandle),W.append("website",U.website),fetch(`${J3.VITE_APP_LIBRARY_BACKEND}/submit`,{method:"post",body:W}).then((T)=>T.ok?T.json().then(({url:R})=>{jG.delete(QX.PUBLISH_LIBRARY),A({url:R,authorName:U.authorName,items:M})}):T.json().catch(()=>{throw Error(T.statusText||"something went wrong")}).then((R)=>{throw Error(R.message||T.statusText||"something went wrong")}),(T)=>{console.error(T),C(T),f(!1)}).catch((T)=>{console.error(T),C(T),f(!1)})},K=()=>{let H=[];return M.forEach((l,q)=>{H.push(P("div",{className:"single-library-item-wrapper",children:P(xJ3,{libItem:l,appState:E,index:q,onChange:(L,v)=>{let x=M.slice();x[v].name=L,b(x)},onRemove:F})},q))}),P("div",{className:"selected-library-items",children:H})},w=dE.useCallback(()=>{D(M),jG.set(QX.PUBLISH_LIBRARY,U),u()},[M,u,D,U]),Q=!!B.length,G=B.some((H)=>H.status==="published");return P(CF,{onCloseRequest:w,title:C0("publishDialog.title"),className:"publish-library",children:Q?M0("form",{onSubmit:J,children:[P("div",{className:"publish-library-note",children:P(kz,{i18nKey:"publishDialog.noteDescription",link:(H)=>P("a",{href:"https://libraries.excalidraw.com",target:"_blank",rel:"noopener noreferrer",children:H})})}),P("span",{className:"publish-library-note",children:P(kz,{i18nKey:"publishDialog.noteGuidelines",link:(H)=>P("a",{href:"https://github.com/excalidraw/excalidraw-libraries#guidelines",target:"_blank",rel:"noopener noreferrer",children:H})})}),P("div",{className:"publish-library-note",children:C0("publishDialog.noteItems")}),G&&P("span",{className:"publish-library-note publish-library-warning",children:C0("publishDialog.republishWarning")}),K(),M0("div",{className:"publish-library__fields",children:[M0("label",{children:[M0("div",{children:[P("span",{children:C0("publishDialog.libraryName")}),P("span",{"aria-hidden":"true",className:"required",children:"*"})]}),P("input",{type:"text",name:"name",required:!0,value:U.name,onChange:Z,placeholder:C0("publishDialog.placeholder.libraryName")})]}),M0("label",{style:{alignItems:"flex-start"},children:[M0("div",{children:[P("span",{children:C0("publishDialog.libraryDesc")}),P("span",{"aria-hidden":"true",className:"required",children:"*"})]}),P("textarea",{name:"description",rows:4,required:!0,value:U.description,onChange:Z,placeholder:C0("publishDialog.placeholder.libraryDesc")})]}),M0("label",{children:[M0("div",{children:[P("span",{children:C0("publishDialog.authorName")}),P("span",{"aria-hidden":"true",className:"required",children:"*"})]}),P("input",{type:"text",name:"authorName",required:!0,value:U.authorName,onChange:Z,placeholder:C0("publishDialog.placeholder.authorName")})]}),M0("label",{children:[P("span",{children:C0("publishDialog.githubUsername")}),P("input",{type:"text",name:"githubHandle",value:U.githubHandle,onChange:Z,placeholder:C0("publishDialog.placeholder.githubHandle")})]}),M0("label",{children:[P("span",{children:C0("publishDialog.twitterUsername")}),P("input",{type:"text",name:"twitterHandle",value:U.twitterHandle,onChange:Z,placeholder:C0("publishDialog.placeholder.twitterHandle")})]}),M0("label",{children:[P("span",{children:C0("publishDialog.website")}),P("input",{type:"text",name:"website",pattern:"https?://.+",title:C0("publishDialog.errors.website"),value:U.website,onChange:Z,placeholder:C0("publishDialog.placeholder.website")})]}),P("span",{className:"publish-library-note",children:P(kz,{i18nKey:"publishDialog.noteLicense",link:(H)=>P("a",{href:"https://github.com/excalidraw/excalidraw-libraries/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer",children:H})})})]}),M0("div",{className:"publish-library__buttons",children:[P(cv,{label:C0("buttons.cancel"),onClick:w,"data-testid":"cancel-clear-canvas-button"}),P(cv,{type:"submit",label:C0("buttons.submit"),actionType:"primary",isLoading:k})]})]}):P("p",{style:{padding:"1em",textAlign:"center",fontWeight:500},children:C0("publishDialog.atleastOneLibItem")})})},SJ3=WJ3,aeu=({className:u="",children:B,onToggle:E,title:A,...C})=>{let D=H5(),F=Yu(`dropdown-menu-button ${u}`,"zen-mode-transition",{"dropdown-menu-button--mobile":D.editor.isMobile}).trim();return P("button",{"data-prevent-outside-click":!0,className:F,onClick:E,type:"button","data-testid":"dropdown-menu-button",title:A,...C,children:B})},YJ3=aeu;aeu.displayName="DropdownMenuTrigger";var meu=()=>P("div",{style:{height:"1px",backgroundColor:"var(--default-border-color)",margin:".5rem 0"}}),RJ3=meu;meu.displayName="DropdownMenuSeparator";var $eu=({children:u,onClickOutside:B,className:E="",onSelect:A,style:C})=>{let D=H5(),F=To.useRef(null),U=Go({onClickOutside:B});DG0(F,()=>{U.onClickOutside?.()}),To.useEffect(()=>{let k=(M)=>{M.key===r0.ESCAPE&&(M.stopImmediatePropagation(),U.onClickOutside?.())},f={capture:!0};return document.addEventListener("keydown",k,f),()=>{document.removeEventListener("keydown",k,f)}},[U]);let z=Yu(`dropdown-menu ${E}`,{"dropdown-menu--mobile":D.editor.isMobile}).trim();return P(feu.Provider,{value:{onSelect:A},children:P("div",{ref:F,className:z,style:C,"data-testid":"dropdown-menu",children:D.editor.isMobile?P(FC.Col,{className:"dropdown-menu-container",children:u}):P(BF,{className:"dropdown-menu-container",padding:2,style:{zIndex:2},children:u})})})};$eu.displayName="DropdownMenuContent";var TJ3=$eu,yeu=({icon:u,shortcut:B,href:E,children:A,onSelect:C,className:D="",selected:F,rel:U="noreferrer",...z})=>{let k=beu(z.onClick,C);return P("a",{...z,href:E,target:"_blank",rel:"noreferrer",className:Meu(D,F),title:z.title??z["aria-label"],onClick:k,children:P(Zeu,{icon:u,shortcut:B,children:A})})},Bo=yeu;yeu.displayName="DropdownMenuItemLink";var OJ3=({children:u,className:B="",selected:E,...A})=>P("div",{...A,className:`dropdown-menu-item-base dropdown-menu-item-custom ${B} ${E?"dropdown-menu-item--selected":""}`.trim(),children:u}),IJ3=OJ3,PJ3=(u)=>{return NG.default.Children.toArray(u).find((E)=>NG.default.isValidElement(E)&&typeof E.type!="string"&&E?.type.displayName&&E.type.displayName==="DropdownMenuTrigger")||null},jJ3=(u)=>{return NG.default.Children.toArray(u).find((E)=>NG.default.isValidElement(E)&&typeof E.type!="string"&&E?.type.displayName&&E.type.displayName==="DropdownMenuContent")||null},Of=({children:u,open:B})=>{let E=PJ3(u),A=jJ3(u);return M0(tu,{children:[E,B&&A]})};Of.Trigger=YJ3;Of.Content=TJ3;Of.Item=kC;Of.ItemLink=Bo;Of.ItemCustom=IJ3;Of.Group=yQ0;Of.Separator=RJ3;var S6=Of;Of.displayName="DropdownMenu";var NJ3=(u,B)=>u.filter((E)=>B.includes(E.id)),VJ3=({setAppState:u,selectedItems:B,library:E,onRemoveFromLibrary:A,resetLibrary:C,onSelectItems:D,appState:F,className:U})=>{let[z]=j9(dP),[k,f]=j9(JG0),M=()=>{let W=B.length?C0("alerts.removeItemsFromsLibrary",{count:B.length}):C0("alerts.resetLibrary"),T=B.length?C0("confirmDialog.removeItemsFromLib"):C0("confirmDialog.resetLibrary");return P(ieu,{onConfirm:()=>{B.length?A():C(),Z(!1)},onCancel:()=>{Z(!1)},title:T,children:P("p",{children:W})})},[b,Z]=yv.useState(!1),J=!!B.length,K=J?z.libraryItems.filter((W)=>B.includes(W.id)):z.libraryItems,w=J?C0("buttons.remove"):C0("buttons.resetLibrary"),[Q,G]=yv.useState(!1),[H,l]=yv.useState(null),q=yv.useCallback(()=>M0(CF,{onCloseRequest:()=>l(null),title:C0("publishSuccessDialog.title"),className:"publish-library-success",size:"small",children:[P("p",{children:P(kz,{i18nKey:"publishSuccessDialog.content",authorName:H.authorName,link:(W)=>P("a",{href:H?.url,target:"_blank",rel:"noopener noreferrer",children:W})})}),P(C1,{type:"button",title:C0("buttons.close"),"aria-label":C0("buttons.close"),label:C0("buttons.close"),onClick:()=>l(null),"data-testid":"publish-library-success-close",className:"publish-library-success-close"})]}),[l,H]),L=(W,T)=>{G(!1),l({url:W.url,authorName:W.authorName});let R=T.slice();R.forEach((Y)=>{B.includes(Y.id)&&(Y.status="published")}),E.setLibrary(R)},v=async()=>{try{await E.updateLibrary({libraryItems:zn({description:"Excalidraw library files"}),merge:!0,openLibraryMenu:!0})}catch(W){if(W?.name==="AbortError"){console.warn(W);return}u({errorMessage:C0("errors.importLibraryError")})}},x=async()=>{let W=J?K:await E.getLatestLibrary();mZu(W).catch(Xf0).catch((T)=>{u({errorMessage:T.message})})},S=()=>M0(S6,{open:k,children:[P(S6.Trigger,{onToggle:()=>f(!k),children:rfu}),M0(S6.Content,{onClickOutside:()=>f(!1),onSelect:()=>f(!1),className:"library-menu",children:[!J&&P(S6.Item,{onSelect:v,icon:Np,"data-testid":"lib-dropdown--load",children:C0("buttons.load")}),!!K.length&&P(S6.Item,{onSelect:x,icon:cO,"data-testid":"lib-dropdown--export",children:C0("buttons.export")}),!!K.length&&P(S6.Item,{onSelect:()=>Z(!0),icon:YZ,children:w}),J&&P(S6.Item,{icon:pMu,onSelect:()=>G(!0),"data-testid":"lib-dropdown--remove",children:C0("buttons.publishLibrary")})]})]});return M0("div",{className:Yu("library-menu-dropdown-container",U),children:[S(),B.length>0&&P("div",{className:"library-actions-counter",children:B.length}),b&&M(),Q&&P(SJ3,{onClose:()=>G(!1),libraryItems:NJ3(z.libraryItems,B),appState:F,onSuccess:(W)=>L(W,z.libraryItems),onError:(W)=>window.alert(W),updateItemsInStorage:()=>E.setLibrary(z.libraryItems),onRemove:(W)=>D(B.filter((T)=>T!==W))}),H&&q()]})},pou=({selectedItems:u,onSelectItems:B,className:E})=>{let{library:A}=Zz(),{clearLibraryCache:C,deleteItemsFromLibraryCache:D}=Neu(),F=Y7(),U=a2(),[z]=j9(dP),k=async(f)=>{let M=f.filter((b)=>!u.includes(b.id));A.setLibrary(M).catch(()=>{U({errorMessage:C0("alerts.errorRemovingFromLibrary")})}),D(u),B([])};return P(VJ3,{appState:F,setAppState:U,selectedItems:u,onSelectItems:B,library:A,onRemoveFromLibrary:()=>k(z.libraryItems),resetLibrary:()=>{A.resetLibrary(),C()},className:E})},hJ3=lJ.memo(({id:u,elements:B,isPending:E,onClick:A,selected:C,onToggle:D,onDrag:F,svgCache:U})=>{let z=lJ.useRef(null),k=CJ3(u,B,U);lJ.useEffect(()=>{let J=z.current;if(J)return k&&(J.innerHTML=k.outerHTML),()=>{J.innerHTML=""}},[k]);let[f,M]=lJ.useState(!1),b=H5().editor.isMobile,Z=E&&P("div",{className:"library-unit__adder",children:yfu});return M0("div",{className:Yu("library-unit",{"library-unit__active":B,"library-unit--hover":B&&f,"library-unit--selected":C,"library-unit--skeleton":!k}),onMouseEnter:()=>M(!0),onMouseLeave:()=>M(!1),children:[P("div",{className:Yu("library-unit__dragger",{"library-unit__pulse":!!E}),ref:z,draggable:!!B,onClick:B||E?(J)=>{u&&J.shiftKey?D(u,J):A(u)}:void 0,onDragStart:(J)=>{if(!u){J.preventDefault();return}M(!1),F(u,J)}}),Z,u&&B&&(f||b||C)&&P(fG0,{checked:C,onChange:(J,K)=>D(u,K),className:"library-unit__checkbox"})]})}),iJ3=()=>P("div",{className:"library-unit library-unit--skeleton"});function aJ3(){return[!1,Oo.useCallback((u)=>u(),[])]}var mJ3=Oo.default.useTransition||aJ3,nou=({children:u})=>P("div",{className:"library-menu-items-container__grid",children:u}),vQ0=sv.memo(({items:u,onItemSelectToggle:B,onItemDrag:E,isItemSelected:A,onClick:C,svgCache:D,itemsRenderedPerBatch:F})=>{let[,U]=mJ3(),[z,k]=sv.useState(0);return sv.useEffect(()=>{z<u.length&&U(()=>{k(z+F)})},[z,u.length,U,F]),P(tu,{children:u.map((f,M)=>M<z?P(hJ3,{elements:f?.elements,isPending:!f?.id&&!!f?.elements,onClick:C,svgCache:D,id:f?.id,selected:A(f.id),onToggle:B,onDrag:E},f?.id??M):P(iJ3,{},M))})}),$J3=P2(0),yJ3=(u)=>{let[B,E]=j9($J3);return reu.useEffect(()=>{let{current:A}=u;if(!A)return;let C=geu.default(()=>{let{scrollTop:D}=A;E(D)},200);return A.addEventListener("scroll",C),()=>{C.cancel(),A.removeEventListener("scroll",C)}},[u,E]),B},rJ3=17,gJ3=64;function cJ3({isLoading:u,libraryItems:B,onAddToLibrary:E,onInsertLibraryItems:A,pendingElements:C,theme:D,id:F,libraryReturnUrl:U,onSelectItems:z,selectedItems:k}){let f=UB.useRef(null),M=yJ3(f);UB.useEffect(()=>{M>0&&f.current?.scrollTo(0,M)},[]);let{svgCache:b}=Neu(),Z=UB.useMemo(()=>B.filter((W)=>W.status!=="published"),[B]),J=UB.useMemo(()=>B.filter((W)=>W.status==="published"),[B]),K=!B.length&&!C.length,w=!C.length&&!Z.length&&!J.length,[Q,G]=UB.useState(null),H=UB.useCallback((W,T)=>{let R=!k.includes(W),Y=[...Z,...J];if(R){if(T.shiftKey&&Q){let h=Y.findIndex((j)=>j.id===Q),I=Y.findIndex((j)=>j.id===W);if(h===-1||I===-1){z([...k,W]);return}let O=e4(k),V=Y.reduce((j,i,a)=>((a>=h&&a<=I||O.has(i.id))&&j.push(i.id),j),[]);z(V)}else z([...k,W]);G(W)}else G(null),z(k.filter((h)=>h!==W))},[Q,z,J,k,Z]),l=UB.useCallback((W)=>{let T;return k.includes(W)?T=B.filter((R)=>k.includes(R.id)):T=B.filter((R)=>R.id===W),T.map((R)=>({...R,elements:oM0(R.elements,{randomizeSeed:!0})}))},[B,k]),q=UB.useCallback((W,T)=>{T.dataTransfer.setData(r4.excalidrawlib,eM0(l(W)))},[l]),L=UB.useCallback((W)=>W?k.includes(W):!1,[k]),v=UB.useCallback(()=>{E(C)},[C,E]),x=UB.useCallback((W)=>{W&&A(l(W))},[l,A]),S=b.size>=B.length?gJ3:rJ3;return M0("div",{className:"library-menu-items-container",style:C.length||Z.length||J.length?{justifyContent:"flex-start"}:{borderBottom:0},children:[!w&&P(pou,{selectedItems:k,onSelectItems:z,className:"library-menu-dropdown-container--in-heading"}),M0(FC.Col,{className:"library-menu-items-container__items",align:"start",gap:1,style:{flex:J.length>0?1:"0 1 auto",marginBottom:0},ref:f,children:[M0(tu,{children:[!w&&P("div",{className:"library-menu-items-container__header",children:C0("labels.personalLib")}),u&&P("div",{style:{position:"absolute",top:"var(--container-padding-y)",right:"var(--container-padding-x)",transform:"translateY(50%)"},children:P(Rf,{})}),!C.length&&!Z.length?M0("div",{className:"library-menu-items__no-items",children:[P("div",{className:"library-menu-items__no-items__label",children:C0("library.noItems")}),P("div",{className:"library-menu-items__no-items__hint",children:J.length>0?C0("library.hint_emptyPrivateLibrary"):C0("library.hint_emptyLibrary")})]}):M0(nou,{children:[C.length>0&&P(vQ0,{itemsRenderedPerBatch:S,items:[{id:null,elements:C}],onItemSelectToggle:H,onItemDrag:q,onClick:v,isItemSelected:L,svgCache:b}),P(vQ0,{itemsRenderedPerBatch:S,items:Z,onItemSelectToggle:H,onItemDrag:q,onClick:x,isItemSelected:L,svgCache:b})]})]}),M0(tu,{children:[(J.length>0||C.length>0||Z.length>0)&&P("div",{className:"library-menu-items-container__header library-menu-items-container__header--excal",children:C0("labels.excalidrawLib")}),J.length>0?P(nou,{children:P(vQ0,{itemsRenderedPerBatch:S,items:J,onItemSelectToggle:H,onItemDrag:q,onClick:x,isItemSelected:L,svgCache:b})}):Z.length>0?P("div",{style:{margin:"1rem 0",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",width:"100%",fontSize:".9rem"},children:C0("library.noItems")}):null]}),K&&P(heu,{style:{padding:"16px 0",width:"100%"},id:F,libraryReturnUrl:U,theme:D,children:P(pou,{selectedItems:k,onSelectItems:z})})]})]})}var JG0=P2(!1),dou=({children:u})=>P("div",{className:"layer-ui__library",children:u}),_J3=d5.memo(({onInsertLibraryItems:u,pendingElements:B,onAddToLibrary:E,setAppState:A,libraryReturnUrl:C,library:D,id:F,theme:U,selectedItems:z,onSelectItems:k})=>{let[f]=j9(dP),M=d5.useCallback((J)=>{(async(K,w)=>{l6("element","addToLibrary","ui");for(let G of wf0)if(K.some((H)=>H.type===G))return A({errorMessage:C0(`errors.libraryElementTypeError.${G}`)});let Q=[{status:"unpublished",elements:K,id:hE(),created:Date.now()},...w];E(),D.setLibrary(Q).catch(()=>{A({errorMessage:C0("alerts.errorAddingToLibrary")})})})(J,f.libraryItems)},[E,D,A,f.libraryItems]),b=d5.useMemo(()=>f.libraryItems,[f]);if(f.status==="loading"&&!f.isInitialized)return P(dou,{children:P("div",{className:"layer-ui__library-message",children:M0("div",{children:[P(Rf,{size:"2em"}),P("span",{children:C0("labels.libraryLoadingMessage")})]})})});let Z=f.libraryItems.length>0||B.length>0;return M0(dou,{children:[P(cJ3,{isLoading:f.status==="loading",libraryItems:b,onAddToLibrary:M,onInsertLibraryItems:u,pendingElements:B,id:F,libraryReturnUrl:C,theme:U,onSelectItems:k,selectedItems:z}),Z&&P(heu,{className:"library-menu-control-buttons--at-bottom",style:{padding:"16px 12px 0 12px"},id:F,libraryReturnUrl:C,theme:U})]})}),xQ0=(u,B)=>({elements:u,pending:N3(u,{selectedElementIds:B},{includeBoundTextElement:!0,includeElementsInFrames:!0}),selectedElementIds:B}),pJ3=(u,B)=>{let E=mo(),[A,C]=d5.useState(()=>xQ0(E,u.selectedElementIds)),D=d5.useRef(new Map);return d5.useEffect(()=>{for(let F of A.pending)D.current.set(F.id,F.version)},[A.pending]),d5.useEffect(()=>{B.state.cursorButton==="up"&&B.state.activeTool.type==="selection"&&C((F)=>{if(!y5(F.selectedElementIds,u.selectedElementIds))return D.current.clear(),xQ0(E,u.selectedElementIds);let U=B.scene.getNonDeletedElementsMap();for(let z of Object.keys(u.selectedElementIds)){let k=U.get(z)?.version;if(k&&k!==D.current.get(z))return xQ0(E,u.selectedElementIds)}return F})},[B,B.state.cursorButton,B.state.activeTool.type,u.selectedElementIds,E]),A.pending},nJ3=d5.memo(()=>{let u=Zz(),{onInsertElements:B}=u,E=Aj(),A=Y7(),C=a2(),[D,F]=d5.useState([]),U=d5.useMemo(()=>u.library,[u.library]),z=pJ3(A,u),k=d5.useCallback((M)=>{B(Veu(M))},[B]),f=d5.useCallback(()=>{C({selectedElementIds:{},selectedGroupIds:{},activeEmbeddable:null})},[C]);return P(_J3,{pendingElements:z,onInsertLibraryItems:k,onAddToLibrary:f,setAppState:C,libraryReturnUrl:E.libraryReturnUrl,library:U,id:u.id,theme:A.theme,selectedItems:D,onSelectItems:F})});function dJ3(u){if(u&&typeof u=="number")return u;switch(u){case"small":return 550;case"wide":return 1024;case"regular":default:return 800}}var CF=(u)=>{let[B,E]=EJ3(),[A]=So.useState(document.activeElement),{id:C}=Jz(),D=H5().viewport.isMobile;So.useEffect(()=>{if(!B)return;let k=vp(B);setTimeout(()=>{k.length>0&&u.autofocus!==!1&&(k[1]||k[0]).focus()});let f=(M)=>{if(M.key===r0.TAB){let b=vp(B),{activeElement:Z}=document,J=b.findIndex((K)=>K===Z);J===0&&M.shiftKey?(b[b.length-1].focus(),M.preventDefault()):J===b.length-1&&!M.shiftKey&&(b[0].focus(),M.preventDefault())}};return B.addEventListener("keydown",f),()=>B.removeEventListener("keydown",f)},[B,u.autofocus]);let F=a2(),U=Mo(JG0),z=()=>{F({openMenu:null}),U(!1),A.focus(),u.onCloseRequest()};return P(AJ3,{className:Yu("Dialog",u.className,{"Dialog--fullscreen":D}),labelledBy:"dialog-title",maxWidth:dJ3(u.size),onCloseRequest:z,closeOnClickOutside:u.closeOnClickOutside,children:M0(BF,{ref:E,children:[u.title&&P("h2",{id:`${C}-dialog-title`,className:"Dialog__title",children:P("span",{className:"Dialog__titleContent",children:u.title})}),D&&P("button",{className:"Dialog__close",onClick:z,title:C0("buttons.close"),"aria-label":C0("buttons.close"),type:"button",children:gQ}),P("div",{className:"Dialog__content",children:u.children})]})})},iG=({type:u="button",onSelect:B,selected:E,children:A,className:C="",...D})=>P("button",{onClick:mO(D.onClick,(F)=>{B()}),type:u,className:Yu("excalidraw-button",C,{selected:E}),...D,children:A}),KG0=bz.forwardRef(({onChange:u,label:B,fullWidth:E,placeholder:A,readonly:C,selectOnRender:D,onKeyDown:F,isRedacted:U=!1,icon:z,className:k,...f},M)=>{let b=bz.useRef(null);bz.useImperativeHandle(M,()=>b.current),bz.useLayoutEffect(()=>{D&&(b.current?.focus(),b.current?.select())},[D]);let[Z,J]=bz.useState(!1);return M0("div",{className:Yu("ExcTextField",k,{"ExcTextField--fullWidth":E,"ExcTextField--hasIcon":!!z}),onClick:()=>{b.current?.focus()},children:[z,B&&P("div",{className:"ExcTextField__label",children:B}),M0("div",{className:Yu("ExcTextField__input",{"ExcTextField__input--readonly":C}),children:[P("input",{className:Yu({"is-redacted":"value"in f&&f.value&&U&&!Z}),readOnly:C,value:"value"in f?f.value:void 0,defaultValue:"defaultValue"in f?f.defaultValue:void 0,placeholder:A,ref:b,onChange:(K)=>u?.(K.target.value),onKeyDown:F}),U&&P(iG,{onSelect:()=>J(!Z),style:{border:0,userSelect:"none"},children:Z?Bbu:ip})]})]})}),sJ3={toggleTheme:[Wu("Shift+Alt+D")],saveScene:[Wu("CtrlOrCmd+S")],loadScene:[Wu("CtrlOrCmd+O")],clearCanvas:[Wu("CtrlOrCmd+Delete")],imageExport:[Wu("CtrlOrCmd+Shift+E")],commandPalette:[Wu("CtrlOrCmd+/"),Wu("CtrlOrCmd+Shift+P")],cut:[Wu("CtrlOrCmd+X")],copy:[Wu("CtrlOrCmd+C")],paste:[Wu("CtrlOrCmd+V")],copyStyles:[Wu("CtrlOrCmd+Alt+C")],pasteStyles:[Wu("CtrlOrCmd+Alt+V")],selectAll:[Wu("CtrlOrCmd+A")],deleteSelectedElements:[Wu("Delete")],duplicateSelection:[Wu("CtrlOrCmd+D"),Wu(`Alt+${C0("helpDialog.drag")}`)],sendBackward:[Wu("CtrlOrCmd+[")],bringForward:[Wu("CtrlOrCmd+]")],sendToBack:[lD?Wu("CtrlOrCmd+Alt+["):Wu("CtrlOrCmd+Shift+[")],bringToFront:[lD?Wu("CtrlOrCmd+Alt+]"):Wu("CtrlOrCmd+Shift+]")],copyAsPng:[Wu("Shift+Alt+C")],group:[Wu("CtrlOrCmd+G")],ungroup:[Wu("CtrlOrCmd+Shift+G")],gridMode:[Wu("CtrlOrCmd+'")],zenMode:[Wu("Alt+Z")],objectsSnapMode:[Wu("Alt+S")],stats:[Wu("Alt+/")],addToLibrary:[],flipHorizontal:[Wu("Shift+H")],flipVertical:[Wu("Shift+V")],viewMode:[Wu("Alt+R")],hyperlink:[Wu("CtrlOrCmd+K")],toggleElementLock:[Wu("CtrlOrCmd+Shift+L")],resetZoom:[Wu("CtrlOrCmd+0")],zoomOut:[Wu("CtrlOrCmd+-")],zoomIn:[Wu("CtrlOrCmd++")],zoomToFitSelection:[Wu("Shift+3")],zoomToFit:[Wu("Shift+1")],zoomToFitSelectionInViewport:[Wu("Shift+2")],toggleEraserTool:[Wu("E")],toggleHandTool:[Wu("H")],setFrameAsActiveTool:[Wu("F")],saveFileToDisk:[Wu("CtrlOrCmd+S")],saveToActiveFile:[Wu("CtrlOrCmd+S")],toggleShortcuts:[Wu("?")],searchMenu:[Wu("CtrlOrCmd+F")],wrapSelectionInFrame:[]},kB=(u,B=0)=>{let E=sJ3[u];return E&&E.length>0?E[B]||E[0]:""},oJ3="\\u0300-\\u036f",tJ3="\\ufe20-\\ufe2f",eJ3="\\u20d0-\\u20ff",uK3=oJ3+tJ3+eJ3,BK3=`[${uK3}]`,EK3=RegExp(BK3,"g"),AK3=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,CK3={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"E",æ:"e",Þ:"T",þ:"t",ß:"s",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"I",ij:"i",Œ:"E",œ:"e",ʼn:"n",ſ:"s"},sou=(u)=>u.replace(AK3,(B)=>CK3[B]||B).replace(EK3,""),peu=Io.default.createContext(null),E8=()=>Io.default.useContext(peu),DK3=mn(),FK3=()=>Io.default.useMemo(()=>({MainMenuTunnel:rD(),WelcomeScreenMenuHintTunnel:rD(),WelcomeScreenToolbarHintTunnel:rD(),WelcomeScreenHelpHintTunnel:rD(),WelcomeScreenCenterTunnel:rD(),FooterCenterTunnel:rD(),DefaultSidebarTriggerTunnel:rD(),DefaultSidebarTabTriggersTunnel:rD(),OverwriteConfirmDialogTunnel:rD(),TTDDialogTriggerTunnel:rD(),tunnelsJotai:DK3}),[]),neu=(u,B)=>{let E=B[0]?.type||null;for(let A of B)if(A.type!==E){E=null;break}return cp(u.activeTool.type)&&u.activeTool.type!=="image"&&E!=="image"&&E!=="frame"&&E!=="magicframe"||B.some((A)=>cp(A.type))},deu=(u,B)=>_Q(u.activeTool.type)||B.some((E)=>_Q(E.type)),seu=({appState:u,elementsMap:B,renderAction:E,app:A})=>{let C=Wb0(B,u),D=!1;C.length===2&&(r8(C[0])||r8(C[1]))&&(D=!0);let F=!!(u.editingTextElement||u.newElement),U=H5(),z=document.documentElement.getAttribute("dir")==="rtl",k=_Q(u.activeTool.type)&&!iA(u.currentItemBackgroundColor)||C.some((J)=>_Q(J.type)&&!iA(J.backgroundColor)),f=C.length===1||D,M=!u.editingLinearElement&&C.length===1&&S3(C[0])&&!Q4(C[0]),b=!u.croppingElementId&&C.length===1&&L1(C[0]),Z=!D&&sE(u,A);return M0("div",{className:"panelColumn",children:[P("div",{children:neu(u,C)&&E("changeStrokeColor")}),deu(u,C)&&P("div",{children:E("changeBackgroundColor")}),k&&E("changeFillStyle"),(XM0(u.activeTool.type)||C.some((J)=>XM0(J.type)))&&E("changeStrokeWidth"),(u.activeTool.type==="freedraw"||C.some((J)=>J.type==="freedraw"))&&E("changeStrokeShape"),(vM0(u.activeTool.type)||C.some((J)=>vM0(J.type)))&&M0(tu,{children:[E("changeStrokeStyle"),E("changeSloppiness")]}),(_p(u.activeTool.type)||C.some((J)=>_p(J.type)))&&P(tu,{children:E("changeRoundness")}),(xM0(u.activeTool.type)||C.some((J)=>xM0(J.type)))&&P(tu,{children:E("changeArrowType")}),(u.activeTool.type==="text"||C.some(M4))&&M0(tu,{children:[E("changeFontFamily"),E("changeFontSize"),(u.activeTool.type==="text"||LZu(C,B))&&E("changeTextAlign")]}),lZu(C,B)&&E("changeVerticalAlign"),(dO(u.activeTool.type)||C.some((J)=>dO(J.type)))&&P(tu,{children:E("changeArrowhead")}),E("changeOpacity"),M0("fieldset",{children:[P("legend",{children:C0("labels.layers")}),M0("div",{className:"buttonList",children:[E("sendToBack"),E("sendBackward"),E("bringForward"),E("bringToFront")]})]}),Z&&!D&&M0("fieldset",{children:[P("legend",{children:C0("labels.align")}),M0("div",{className:"buttonList",children:[z?M0(tu,{children:[E("alignRight"),E("alignHorizontallyCentered"),E("alignLeft")]}):M0(tu,{children:[E("alignLeft"),E("alignHorizontallyCentered"),E("alignRight")]}),C.length>2&&E("distributeHorizontally"),P("div",{style:{flexBasis:"100%",height:0}}),M0("div",{style:{display:"flex",flexWrap:"wrap",gap:".5rem",marginTop:"-0.5rem"},children:[E("alignTop"),E("alignVerticallyCentered"),E("alignBottom"),C.length>2&&E("distributeVertically")]})]})]}),!F&&C.length>0&&M0("fieldset",{children:[P("legend",{children:C0("labels.actions")}),M0("div",{className:"buttonList",children:[!U.editor.isMobile&&E("duplicateSelection"),!U.editor.isMobile&&E("deleteSelectedElements"),E("group"),E("ungroup"),f&&E("hyperlink"),b&&E("cropEditor"),M&&E("toggleLinearEditor")]})]})]})},oeu=({activeTool:u,appState:B,app:E,UIOptions:A})=>{let[C,D]=_eu.useState(!1),F=u.type==="frame",U=u.type==="laser",z=u.type==="embeddable",{TTDDialogTriggerTunnel:k}=E8();return M0(tu,{children:[rp.map(({value:f,icon:M,key:b,numericKey:Z,fillable:J},K)=>{if(A.tools?.[f]===!1)return null;let w=C0(`toolBar.${f}`),Q=b&&HX(typeof b=="string"?b:b[0]),G=Q?`${Q} ${C0("helpDialog.or")} ${Z}`:`${Z}`;return P(C1,{className:Yu("Shape",{fillable:J}),type:"radio",icon:M,checked:u.type===f,name:"editor-current-shape",title:`${HX(w)} — ${G}`,keyBindingLabel:Z||Q,"aria-label":HX(w),"aria-keyshortcuts":G,"data-testid":`toolbar-${f}`,onPointerDown:({pointerType:H})=>{!B.penDetected&&H==="pen"&&E.togglePenMode(!0)},onChange:({pointerType:H})=>{B.activeTool.type!==f&&l6("toolbar",f,"ui"),f==="image"?E.setActiveTool({type:f,insertOnCanvasDirectly:H!=="mouse"}):E.setActiveTool({type:f})}},f)}),P("div",{className:"App-toolbar__divider"}),M0(S6,{open:C,children:[P(S6.Trigger,{className:Yu("App-toolbar__extra-tools-trigger",{"App-toolbar__extra-tools-trigger--selected":F||z||U&&!E.props.isCollaborating}),onToggle:()=>D(!C),title:C0("toolBar.extraTools"),children:eMu}),M0(S6.Content,{onClickOutside:()=>D(!1),onSelect:()=>D(!1),className:"App-toolbar__extra-tools-dropdown",children:[P(S6.Item,{onSelect:()=>E.setActiveTool({type:"frame"}),icon:kM0,shortcut:r0.F.toLocaleUpperCase(),"data-testid":"toolbar-frame",selected:F,children:C0("toolBar.frame")}),P(S6.Item,{onSelect:()=>E.setActiveTool({type:"embeddable"}),icon:sfu,"data-testid":"toolbar-embeddable",selected:z,children:C0("toolBar.embeddable")}),P(S6.Item,{onSelect:()=>E.setActiveTool({type:"laser"}),icon:MM0,"data-testid":"toolbar-laser",selected:U,shortcut:r0.K.toLocaleUpperCase(),children:C0("toolBar.laser")}),P("div",{style:{margin:"6px 0",fontSize:14,fontWeight:600},children:"Generate"}),E.props.aiEnabled!==!1&&P(k.Out,{}),P(S6.Item,{onSelect:()=>E.setOpenDialog({name:"ttd",tab:"mermaid"}),icon:fM0,"data-testid":"toolbar-embeddable",children:C0("toolBar.mermaidToExcalidraw")}),E.props.aiEnabled!==!1&&E.plugins.diagramToCode&&P(tu,{children:M0(S6.Item,{onSelect:()=>E.onMagicframeToolSelect(),icon:bM0,"data-testid":"toolbar-magicframe",children:[C0("toolBar.magicframe"),P(S6.Item.Badge,{children:"AI"})]})})]})]})]})},UK3=({renderAction:u,zoom:B})=>P(FC.Col,{gap:1,className:NQ.ZOOM_ACTIONS,children:M0(FC.Row,{align:"center",children:[u("zoomOut"),u("resetZoom"),u("zoomIn")]})}),zK3=({renderAction:u,className:B})=>M0("div",{className:`undo-redo-buttons ${B}`,children:[P("div",{className:"undo-button-container",children:P(hG,{label:C0("buttons.undo"),children:u("undo")})}),P("div",{className:"redo-button-container",children:M0(hG,{label:C0("buttons.redo"),children:[" ",u("redo")]})})]}),kK3=({actionManager:u,showExitZenModeBtn:B})=>P("button",{type:"button",className:Yu("disable-zen-mode",{"disable-zen-mode--visible":B}),onClick:()=>u.executeAction(gQ0),children:C0("buttons.exitZenMode")}),fK3=({renderAction:u,className:B})=>P("div",{className:`finalize-button ${B}`,children:u("finalize",{size:"small"})}),oou=(u)=>{let B=teu.useRef({userFn:u});return B.current.userFn=u,B.current.stableFn||(B.current.stableFn=(...E)=>B.current.userFn(...E)),B.current.stableFn},Po=P2(null),MK3=()=>{let[u,B]=j9(Po),E=e8();return u&&u==="clearCanvas"?P(ieu,{onConfirm:()=>{E.executeAction(rP),B(null)},onCancel:()=>B(null),title:C0("clearCanvasDialog.title"),children:M0("p",{className:"clear-canvas__content",children:[" ",C0("alerts.clearReset")]})}):null},eeu={};Xz0(eeu,{toggleTheme:()=>bK3});var bK3={...Co,category:"App",label:"Toggle theme",perform:({actionManager:u})=>{u.executeAction(Co,"commandPalette")}},u04=C4({name:"copyElementLink",label:"labels.copyElementLink",icon:hp,trackEvent:{category:"element"},perform:async(u,B,E,A)=>{let C=N3(u,B);try{if(window.location){let D=Fb0(C,B);return D?(await PX(A.props.generateLinkForSelection?A.props.generateLinkForSelection(D.id,D.type):Db0(D.id,D.type)),{appState:{toast:{message:C0("toast.elementLinkCopied"),closable:!0}},captureUpdate:Xu.EVENTUALLY}):{appState:B,elements:u,app:A,captureUpdate:Xu.EVENTUALLY}}}catch(D){console.error(D)}return{appState:B,elements:u,app:A,captureUpdate:Xu.EVENTUALLY}},predicate:(u,B)=>DI(N3(u,B))}),ZK3=C4({name:"linkToElement",label:"labels.linkToElement",icon:QM0,perform:(u,B,E,A)=>{let C=N3(u,B);return C.length!==1||!DI(C)?{elements:u,appState:B,app:A,captureUpdate:Xu.EVENTUALLY}:{appState:{...B,openDialog:{name:"elementLinkSelector",sourceElementId:N3(u,B)[0].id}},captureUpdate:Xu.IMMEDIATELY}},predicate:(u,B,E,A)=>{let C=N3(u,B);return B.openDialog?.name!=="elementLinkSelector"&&C.length===1&&DI(C)},trackEvent:!1}),JK3=P2(null),o9={app:"App",export:"Export",tools:"Tools",editor:"Editor",elements:"Elements",links:"Links"},KK3=(u)=>{switch(u){case o9.app:return 1;case o9.export:return 2;case o9.editor:return 3;case o9.tools:return 4;case o9.elements:return 5;case o9.links:return 6;default:return 10}},Eo=({shortcut:u,className:B,children:E})=>{let A=u.replace("++","+$").split("+");return M0("div",{className:Yu("shortcut",B),children:[A.map((C,D)=>P("div",{className:"shortcut-wrapper",children:P("div",{className:"shortcut-key",children:C==="$"?"+":C})},C)),P("div",{className:"shortcut-desc",children:E})]})},B04=(u)=>!u.altKey&&u[r0.CTRL_OR_CMD]&&(u.shiftKey&&u.key.toLowerCase()===r0.P||u.key===r0.SLASH),Sh1=Object.assign((u)=>{let B=Y7(),E=a2();return DC.useEffect(()=>{let A=(C)=>{B04(C)&&(C.preventDefault(),C.stopPropagation(),E((D)=>{let F=D.openDialog?.name==="commandPalette"?null:{name:"commandPalette"};return F&&l6("command_palette","open","shortcut"),{openDialog:F}}))};return window.addEventListener("keydown",A,{capture:!0}),()=>window.removeEventListener("keydown",A,{capture:!0})},[E]),B.openDialog?.name!=="commandPalette"?null:P(wK3,{...u})},{defaultItems:eeu});function wK3({customCommandPaletteItems:u}){let B=Zz(),E=Y7(),A=a2(),C=Aj(),D=e8(),[F,U]=j9(JK3),[z,k]=DC.useState(null),f=DC.useRef(null),M=Go({uiAppState:E,customCommandPaletteItems:u,appProps:C});DC.useEffect(()=>{let{uiAppState:L,customCommandPaletteItems:v,appProps:x}=M,S=(Y)=>{let h="";return Y.label&&(typeof Y.label=="function"?h=C0(Y.label(B.scene.getNonDeletedElements(),L,B)):h=C0(Y.label)),h},W=(Y)=>typeof Y.icon=="function"?Y.icon(L,B.scene.getNonDeletedElements()):Y.icon,T=[],R=(Y,h,I)=>{let O={label:S(Y),icon:W(Y),category:h,shortcut:kB(Y.name),keywords:Y.keywords,predicate:Y.predicate,viewMode:Y.viewMode,perform:()=>{D.executeAction(Y,"commandPalette")}};return I?I(O,Y):O};if(L&&B.scene&&D){let Y=[D.actions.group,D.actions.ungroup,D.actions.cut,D.actions.copy,D.actions.deleteSelectedElements,D.actions.wrapSelectionInFrame,D.actions.copyStyles,D.actions.pasteStyles,D.actions.bringToFront,D.actions.bringForward,D.actions.sendBackward,D.actions.sendToBack,D.actions.alignTop,D.actions.alignBottom,D.actions.alignLeft,D.actions.alignRight,D.actions.alignVerticallyCentered,D.actions.alignHorizontallyCentered,D.actions.duplicateSelection,D.actions.flipHorizontal,D.actions.flipVertical,D.actions.zoomToFitSelection,D.actions.zoomToFitSelectionInViewport,D.actions.increaseFontSize,D.actions.decreaseFontSize,D.actions.toggleLinearEditor,D.actions.cropEditor,Teu,u04,ZK3].map((i)=>R(i,o9.elements,(a,$)=>({...a,predicate:$.predicate?$.predicate:(m,y,r,_)=>N3(m,y).length>0}))),h=[D.actions.toggleHandTool,D.actions.setFrameAsActiveTool].map((i)=>R(i,o9.tools)),I=[D.actions.undo,D.actions.redo,D.actions.zoomIn,D.actions.zoomOut,D.actions.resetZoom,D.actions.zoomToFit,D.actions.zenMode,D.actions.viewMode,D.actions.gridMode,D.actions.objectsSnapMode,D.actions.toggleShortcuts,D.actions.selectAll,D.actions.toggleElementLock,D.actions.unlockAllElements,D.actions.stats].map((i)=>R(i,o9.editor)),O=[D.actions.saveToActiveFile,D.actions.saveFileToDisk,D.actions.copyAsPng,D.actions.copyAsSvg].map((i)=>R(i,o9.export));T=[...Y,...I,{label:S(rP),icon:W(rP),shortcut:kB(rP.name),category:o9.editor,keywords:["delete","destroy"],viewMode:!1,perform:()=>{oD.set(Po,"clearCanvas")}},{label:C0("buttons.exportImage"),category:o9.export,icon:rf0,shortcut:kB("imageExport"),keywords:["export","image","png","jpeg","svg","clipboard","picture"],perform:()=>{A({openDialog:{name:"imageExport"}})}},...O];let V=[{label:C0("toolBar.library"),category:o9.app,icon:Yp,viewMode:!1,perform:()=>{L.openSidebar?A({openSidebar:null}):A({openSidebar:{name:_A.name,tab:_A.defaultTab}})}},{label:C0("search.title"),category:o9.app,icon:RZ,viewMode:!0,perform:()=>{D.executeAction(E04)}},{label:C0("labels.changeStroke"),keywords:["color","outline"],category:o9.elements,icon:Vp,viewMode:!1,predicate:(i,a)=>{let $=N3(i,a);return $.length>0&&neu(a,$)},perform:()=>{A((i)=>({openMenu:i.openMenu==="shape"?null:"shape",openPopup:"elementStroke"}))}},{label:C0("labels.changeBackground"),keywords:["color","fill"],icon:Vp,category:o9.elements,viewMode:!1,predicate:(i,a)=>{let $=N3(i,a);return $.length>0&&deu(a,$)},perform:()=>{A((i)=>({openMenu:i.openMenu==="shape"?null:"shape",openPopup:"elementBackground"}))}},{label:C0("labels.canvasBackground"),keywords:["color"],icon:Vp,category:o9.editor,viewMode:!1,perform:()=>{A((i)=>({openMenu:i.openMenu==="canvas"?null:"canvas",openPopup:"canvasBackground"}))}},...rp.reduce((i,a)=>{let{value:$,icon:m,key:y,numericKey:r}=a;if(x.UIOptions.tools?.[$]===!1)return i;let _=y&&HX(typeof y=="string"?y:y[0])||r,e={label:C0(`toolBar.${$}`),category:o9.tools,shortcut:_,icon:m,keywords:["toolbar"],viewMode:!1,perform:({event:p})=>{$==="image"?B.setActiveTool({type:$,insertOnCanvasDirectly:p.type==="keydown"}):B.setActiveTool({type:$})}};return i.push(e),i},[]),...h,{label:C0("toolBar.lock"),category:o9.tools,icon:L.activeTool.locked?Rp:gO,shortcut:r0.Q.toLocaleUpperCase(),viewMode:!1,perform:()=>{B.toggleLock()}},{label:`${C0("labels.textToDiagram")}...`,category:o9.tools,icon:Abu,viewMode:!1,predicate:x.aiEnabled,perform:()=>{A((i)=>({...i,openDialog:{name:"ttd",tab:"text-to-diagram"}}))}},{label:`${C0("toolBar.mermaidToExcalidraw")}...`,category:o9.tools,icon:fM0,viewMode:!1,predicate:x.aiEnabled,perform:()=>{A((i)=>({...i,openDialog:{name:"ttd",tab:"mermaid"}}))}}],j=[...T,...V,...v||[]].map((i)=>({...i,icon:i.icon||ZM0,order:i.order??KK3(i.category),haystack:`${sou(i.label.toLocaleLowerCase())} ${i.keywords?.join(" ")||""}`}));k(j),U(j.find((i)=>i.label===F?.label)??null)}},[M,B,D,k,F?.label,U,A]);let[b,Z]=DC.useState(""),[J,K]=DC.useState(null),[w,Q]=DC.useState({}),G=(L)=>{A({openDialog:null},L),Z("")},H=(L,v)=>{E.openDialog?.name==="commandPalette"&&(v.stopPropagation(),v.preventDefault(),document.body.classList.add("excalidraw-animations-disabled"),G(()=>{L.perform({actionManager:D,event:v}),U(L),requestAnimationFrame(()=>{document.body.classList.remove("excalidraw-animations-disabled")})}))},l=oou((L)=>L.viewMode===!1&&E.viewModeEnabled?!1:typeof L.predicate=="function"?L.predicate(B.scene.getNonDeletedElements(),E,C,B):L.predicate===void 0||L.predicate),q=oou((L)=>{let v=LZ(L.target)||B04(L)||L.key===r0.ESCAPE;if(v&&L.key!==r0.ARROW_UP&&L.key!==r0.ARROW_DOWN&&L.key!==r0.ENTER)return;let x=Object.values(w).flat(),S=F&&!b&&l(F);if(L.key===r0.ARROW_UP){L.preventDefault();let W=x.findIndex((Y)=>Y.label===J?.label);if(S){if(W===0){K(F);return}if(J===F){let Y=x[x.length-1];Y&&K(Y);return}}let T;W===-1?T=x.length-1:T=W===0?x.length-1:(W-1)%x.length;let R=x[T];R&&K(R);return}if(L.key===r0.ARROW_DOWN){L.preventDefault();let W=x.findIndex((Y)=>Y.label===J?.label);if(S){if(!J||W===x.length-1){K(F);return}if(J===F){let Y=x[0];Y&&K(Y);return}}let T=(W+1)%x.length,R=x[T];R&&K(R);return}if(L.key===r0.ENTER&&J&&setTimeout(()=>{H(J,L)}),!v){if(L.stopPropagation(),/^[a-zA-Z0-9]$/.test(L.key)){f?.current?.focus();return}L.preventDefault()}});return DC.useEffect(()=>(window.addEventListener("keydown",q,{capture:!0}),()=>window.removeEventListener("keydown",q,{capture:!0})),[q]),DC.useEffect(()=>{if(!z)return;let L=(W)=>{let T={};for(let R of W)T[R.category]?T[R.category].push(R):T[R.category]=[R];return T},v=z.filter(l).sort((W,T)=>W.order-T.order),x=!b&&F&&l(F);if(!b){Q(L(x?v.filter((W)=>W.label!==F?.label):v)),K(x?F:v[0]||null);return}let S=sou(b.toLocaleLowerCase().replace(/[<>_| -]/g,""));v=ceu.default.filter(S,v,{extract:(W)=>W.haystack}).sort((W,T)=>T.score-W.score).map((W)=>W.original),Q(L(v)),K(v[0]??null)},[b,z,l,F]),M0(CF,{onCloseRequest:()=>G(),closeOnClickOutside:!0,title:!1,size:720,autofocus:!0,className:"command-palette-dialog",children:[P(KG0,{value:b,placeholder:C0("commandPalette.search.placeholder"),onChange:(L)=>{Z(L)},selectOnRender:!0,ref:f}),!B.device.viewport.isMobile&&M0("div",{className:"shortcuts-wrapper",children:[P(Eo,{shortcut:"↑↓",children:C0("commandPalette.shortcuts.select")}),P(Eo,{shortcut:"↵",children:C0("commandPalette.shortcuts.confirm")}),P(Eo,{shortcut:Wu("Esc"),children:C0("commandPalette.shortcuts.close")})]}),M0("div",{className:"commands",children:[F&&!b&&M0("div",{className:"command-category",children:[M0("div",{className:"command-category-title",children:[C0("commandPalette.recents"),P("div",{className:"icon",style:{marginLeft:"6px"},children:Cbu})]}),P(tou,{command:F,isSelected:F.label===J?.label,onClick:(L)=>H(F,L),disabled:!l(F),onMouseMove:()=>K(F),showShortcut:!B.device.viewport.isMobile,appState:E})]}),Object.keys(w).length>0?Object.keys(w).map((L,v)=>M0("div",{className:"command-category",children:[P("div",{className:"command-category-title",children:L}),w[L].map((x)=>P(tou,{command:x,isSelected:x.label===J?.label,onClick:(S)=>H(x,S),onMouseMove:()=>K(x),showShortcut:!B.device.viewport.isMobile,appState:E},x.label))]},L)):z?M0("div",{className:"no-match",children:[P("div",{className:"icon",children:RZ})," ",C0("commandPalette.search.noMatch")]}):null]})]})}var tou=({command:u,isSelected:B,disabled:E,onMouseMove:A,onClick:C,showShortcut:D,appState:F})=>{let U=()=>{};return M0("div",{className:Yu("command-item",{"item-selected":B,"item-disabled":E}),ref:(z)=>{B&&!E&&z?.scrollIntoView?.({block:"nearest"})},onClick:E?U:C,onMouseMove:E?U:A,title:E?C0("commandPalette.itemNotAvailable"):"",children:[M0("div",{className:"name",children:[u.icon&&P(qo,{icon:typeof u.icon=="function"?u.icon(F):u.icon}),u.label]}),D&&u.shortcut&&P(Eo,{shortcut:u.shortcut})]})},QK3=C4({name:"toggleLinearEditor",category:o9.elements,label:(u,B,E)=>E.scene.getSelectedElements({selectedElementIds:B.selectedElementIds})[0]?.type==="arrow"?"labels.lineEditor.editArrow":"labels.lineEditor.edit",keywords:["line"],trackEvent:{category:"element"},predicate:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B);return!!(!B.editingLinearElement&&C.length===1&&S3(C[0])&&!Q4(C[0]))},perform(u,B,E,A){let C=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0})[0],D=B.editingLinearElement?.elementId===C.id?null:new Z4(C);return{appState:{...B,editingLinearElement:D},captureUpdate:Xu.IMMEDIATELY}},PanelComponent:({appState:u,updateData:B,app:E})=>{let A=E.scene.getSelectedElements({selectedElementIds:u.selectedElementIds})[0],C=C0(A.type==="arrow"?"labels.lineEditor.editArrow":"labels.lineEditor.edit");return P(C1,{type:"button",icon:Gbu,title:C,"aria-label":C,onClick:()=>B(null)})}}),E04=C4({name:"searchMenu",icon:RZ,keywords:["search","find"],label:"search.title",viewMode:!0,trackEvent:{category:"search_menu",action:"toggle",predicate:(u)=>u.gridModeEnabled},perform(u,B,E,A){if(B.openSidebar?.name===_A.name&&B.openSidebar.tab===iQ){let C=A.excalidrawContainerValue.container?.querySelector(`.${NQ.SEARCH_MENU_INPUT_WRAPPER} input`);return C?.matches(":focus")?{appState:{...B,openSidebar:null},captureUpdate:Xu.EVENTUALLY}:(C?.focus(),C?.select(),!1)}return{appState:{...B,openSidebar:{name:_A.name,tab:iQ},openDialog:null},captureUpdate:Xu.EVENTUALLY}},checked:(u)=>u.gridModeEnabled,predicate:(u,B,E)=>E.gridModeEnabled===void 0,keyTest:(u)=>u[r0.CTRL_OR_CMD]&&u.key===r0.F}),GK3=C4({name:"cropEditor",label:"helpDialog.cropStart",icon:wM0,viewMode:!0,trackEvent:{category:"menu"},keywords:["image","crop"],perform(u,B,E,A){let C=A.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!0})[0];return{appState:{...B,isCropping:!1,croppingElementId:C.id},captureUpdate:Xu.IMMEDIATELY}},predicate:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B);return!!(!B.croppingElementId&&C.length===1&&L1(C[0]))},PanelComponent:({appState:u,updateData:B,app:E})=>{let A=C0("helpDialog.cropStart");return P(C1,{type:"button",icon:wM0,title:A,"aria-label":A,onClick:()=>B(null)})}}),Do=class{constructor(u=!0,B=!0){this.isUndoStackEmpty=u,this.isRedoStackEmpty=B}},eou=class u{constructor(){j0(this,"onHistoryChangedEmitter",new YD),j0(this,"undoStack",[]),j0(this,"redoStack",[])}get isUndoStackEmpty(){return this.undoStack.length===0}get isRedoStackEmpty(){return this.redoStack.length===0}clear(){this.undoStack.length=0,this.redoStack.length=0}record(B,E){let A=HK3.create(E,B);A.isEmpty()||(this.undoStack.push(A.inverse()),A.elementsChange.isEmpty()||(this.redoStack.length=0),this.onHistoryChangedEmitter.trigger(new Do(this.isUndoStackEmpty,this.isRedoStackEmpty)))}undo(B,E,A){return this.perform(B,E,A,()=>u.pop(this.undoStack),(C)=>u.push(this.redoStack,C,B))}redo(B,E,A){return this.perform(B,E,A,()=>u.pop(this.redoStack),(C)=>u.push(this.undoStack,C,B))}perform(B,E,A,C,D){try{let F=C();if(F===null)return;let U=B,z=E,k=!1;for(;F;){try{[U,z,k]=F.applyTo(U,z,A)}finally{D(F)}if(k)break;F=C()}return[U,z]}finally{this.onHistoryChangedEmitter.trigger(new Do(this.isUndoStackEmpty,this.isRedoStackEmpty))}}static pop(B){if(!B.length)return null;let E=B.pop();return E!==void 0?E:null}static push(B,E,A){let C=E.inverse().applyLatestChanges(A);return B.push(C)}},HK3=class u{constructor(B,E){this.appStateChange=B,this.elementsChange=E}static create(B,E){return new u(B,E)}inverse(){return new u(this.appStateChange.inverse(),this.elementsChange.inverse())}applyTo(B,E,A){let[C,D]=this.elementsChange.applyTo(B,A.elements),[F,U]=this.appStateChange.applyTo(E,C);return[C,F,D||U]}applyLatestChanges(B){let E=this.elementsChange.applyLatestChanges(B);return u.create(this.appStateChange,E)}isEmpty(){return this.appStateChange.isEmpty()&&this.elementsChange.isEmpty()}},A04=(u,B)=>{let[E,A]=jo.useState(B);return jo.useEffect(()=>{let C=u.on((D)=>{A(D)});return()=>{C()}},[u]),E},C04=(u,B,E)=>{if(!B.multiElement&&!B.resizingElement&&!B.editingTextElement&&!B.newElement&&!B.selectedElementsAreBeingDragged&&!B.selectionElement&&!u.flowChartCreator.isCreatingChart){let A=E();if(!A)return{captureUpdate:Xu.EVENTUALLY};let[C,D]=A,F=Array.from(C.values());return{appState:D,elements:F,captureUpdate:Xu.NEVER}}return{captureUpdate:Xu.EVENTUALLY}},qK3=(u,B)=>({name:"undo",label:"buttons.undo",icon:gf0,trackEvent:{category:"history"},viewMode:!1,perform:(E,A,C,D)=>C04(D,A,()=>u.undo(e4(E),A,B.snapshot)),keyTest:(E)=>E[r0.CTRL_OR_CMD]&&$p(E,r0.Z)&&!E.shiftKey,PanelComponent:({updateData:E,data:A})=>{let{isUndoStackEmpty:C}=A04(u.onHistoryChangedEmitter,new Do(u.isUndoStackEmpty,u.isRedoStackEmpty));return P(C1,{type:"button",icon:gf0,"aria-label":C0("buttons.undo"),onClick:E,size:A?.size||"medium",disabled:C,"data-testid":"button-undo"})}}),lK3=(u,B)=>({name:"redo",label:"buttons.redo",icon:cf0,trackEvent:{category:"history"},viewMode:!1,perform:(E,A,C,D)=>C04(D,A,()=>u.redo(e4(E),A,B.snapshot)),keyTest:(E)=>E[r0.CTRL_OR_CMD]&&E.shiftKey&&$p(E,r0.Z)||ff0&&E.ctrlKey&&!E.shiftKey&&$p(E,r0.Y),PanelComponent:({updateData:E,data:A})=>{let{isRedoStackEmpty:C}=A04(u.onHistoryChangedEmitter,new Do(u.isUndoStackEmpty,u.isRedoStackEmpty));return P(C1,{type:"button",icon:cf0,"aria-label":C0("buttons.redo"),onClick:E,size:A?.size||"medium",disabled:C,"data-testid":"button-redo"})}}),WQ0=(u,B,E,A,C,D)=>{if(u.trackEvent)try{typeof u.trackEvent=="object"&&(!u.trackEvent.predicate||u.trackEvent.predicate(E,A,D))&&l6(u.trackEvent.category,u.trackEvent.action||u.name,`${B} (${C.device.editor.isMobile?"mobile":"desktop"})`)}catch(F){console.error("error while logging action:",F)}},LK3=class{constructor(u,B,E,A){j0(this,"actions",{}),j0(this,"updater"),j0(this,"getAppState"),j0(this,"getElementsIncludingDeleted"),j0(this,"app"),j0(this,"renderAction",(C,D)=>{let F=this.app.props.UIOptions.canvasActions;if(this.actions[C]&&"PanelComponent"in this.actions[C]&&(!(C in F)||F[C])){let U=this.actions[C],z=U.PanelComponent;z.displayName="PanelComponent";let k=this.getElementsIncludingDeleted(),f=this.getAppState(),M=(b)=>{WQ0(U,"ui",f,k,this.app,b),this.updater(U.perform(this.getElementsIncludingDeleted(),this.getAppState(),b,this.app))};return P(z,{elements:this.getElementsIncludingDeleted(),appState:this.getAppState(),updateData:M,appProps:this.app.props,app:this.app,data:D})}return null}),j0(this,"isActionEnabled",(C)=>{let D=this.getElementsIncludingDeleted(),F=this.getAppState();return!C.predicate||C.predicate(D,F,this.app.props,this.app)}),this.updater=(C)=>{if(lX(C))C.then((D)=>u(D));else return u(C)},this.getAppState=B,this.getElementsIncludingDeleted=E,this.app=A}registerAction(u){this.actions[u.name]=u}registerAll(u){u.forEach((B)=>this.registerAction(B))}handleKeyDown(u){let B=this.app.props.UIOptions.canvasActions,E=Object.values(this.actions).sort((U,z)=>(z.keyPriority||0)-(U.keyPriority||0)).filter((U)=>(U.name in B?B[U.name]:!0)&&U.keyTest&&U.keyTest(u,this.getAppState(),this.getElementsIncludingDeleted(),this.app));if(E.length!==1)return E.length>1&&console.warn("Canceling as multiple actions match this shortcut",E),!1;let A=E[0];if(this.getAppState().viewModeEnabled&&A.viewMode!==!0)return!1;let C=this.getElementsIncludingDeleted(),D=this.getAppState(),F=null;return WQ0(A,"keyboard",D,C,this.app,null),u.preventDefault(),u.stopPropagation(),this.updater(E[0].perform(C,D,F,this.app)),!0}executeAction(u,B="api",E=null){let A=this.getElementsIncludingDeleted(),C=this.getAppState();WQ0(u,B,C,A,this.app,E),this.updater(u.perform(A,C,E,this.app))}},utu=(u)=>{let B=Array.from(u.values());return{x:Etu(B,(E)=>E.x)/B.length,y:Etu(B,(E)=>E.y)/B.length}},Btu=([u,B])=>Math.hypot(u.x-B.x,u.y-B.y),Etu=(u,B)=>u.reduce((E,A)=>E+B(A),0),XK3=({children:u,left:B,top:E,onCloseRequest:A,fitInViewport:C=!1,offsetLeft:D=0,offsetTop:F=0,viewportWidth:U=window.innerWidth,viewportHeight:z=window.innerHeight})=>{let k=HJ.useRef(null);HJ.useEffect(()=>{let M=k.current;if(!M)return;M.contains(document.activeElement)||M.focus();let b=(Z)=>{if(Z.key===r0.TAB){let J=vp(M),{activeElement:K}=document,w=J.findIndex((Q)=>Q===K);K===M?(Z.shiftKey?J[J.length-1]?.focus():J[0].focus(),Z.preventDefault(),Z.stopImmediatePropagation()):w===0&&Z.shiftKey?(J[J.length-1]?.focus(),Z.preventDefault(),Z.stopImmediatePropagation()):w===J.length-1&&!Z.shiftKey&&(J[0]?.focus(),Z.preventDefault(),Z.stopImmediatePropagation())}};return M.addEventListener("keydown",b),()=>M.removeEventListener("keydown",b)},[]);let f=HJ.useRef(null);return HJ.useLayoutEffect(()=>{if(C&&k.current&&E!=null&&B!=null){let M=k.current,{width:b,height:Z}=M.getBoundingClientRect();if(f.current?.top===E&&f.current?.left===B)return;f.current={top:E,left:B},b>=U?(M.style.width=`${U}px`,M.style.left="0px",M.style.overflowX="scroll"):B+b-D>U?M.style.left=`${U-b-10}px`:M.style.left=`${B}px`,Z>=z?(M.style.height=`${z-20}px`,M.style.top="10px",M.style.overflowY="scroll"):E+Z-F>z?M.style.top=`${z-Z}px`:M.style.top=`${E}px`}},[E,B,C,U,z,D,F]),HJ.useEffect(()=>{if(A){let M=(b)=>{k.current?.contains(b.target)||D04.unstable_batchedUpdates(()=>A(b))};return document.addEventListener("pointerdown",M,!1),()=>document.removeEventListener("pointerdown",M,!1)}},[A]),P("div",{className:"popover",ref:k,tabIndex:-1,children:u})},Q5="separator",vK3=F04.default.memo(({actionManager:u,items:B,top:E,left:A,onClose:C})=>{let D=Cj(),F=mo(),U=B.reduce((z,k)=>(k&&(k===Q5||!k.predicate||k.predicate(F,D,u.app.props,u.app))&&z.push(k),z),[]);return P(XK3,{onCloseRequest:()=>{C()},top:E,left:A,fitInViewport:!0,offsetLeft:D.offsetLeft,offsetTop:D.offsetTop,viewportWidth:D.width,viewportHeight:D.height,children:P("ul",{className:"context-menu",onContextMenu:(z)=>z.preventDefault(),children:U.map((z,k)=>{if(z===Q5)return!U[k-1]||U[k-1]===Q5?null:P("hr",{className:"context-menu-item-separator"},k);let f=z.name,M="";return z.label&&(typeof z.label=="function"?M=C0(z.label(F,D,u.app)):M=C0(z.label)),P("li",{"data-testid":f,onClick:()=>{C(()=>{u.executeAction(z,"contextMenu")})},children:M0("button",{type:"button",className:Yu("context-menu-item",{dangerous:f==="deleteSelectedElements",checkmark:z.checked?.(D)}),children:[P("div",{className:"context-menu-item__label",children:M}),P("kbd",{className:"context-menu-item__shortcut",children:f?kB(f):""})]})},k)})})})}),xK3=({children:u,onClose:B})=>{let[E,A]=No.useState(!!u),{container:C}=Jz(),D=No.default.useCallback(()=>{A(!1),B&&B(),C?.focus()},[B,C]);return P(tu,{children:E&&P(CF,{size:"small",onCloseRequest:D,title:C0("errorDialog.title"),children:P("div",{style:{whiteSpace:"pre-wrap"},children:u})})})},z04=function({onChange:u,value:B,choices:E,name:A}){return P("div",{className:"RadioGroup",children:E.map((C)=>M0("div",{className:Yu("RadioGroup__choice",{active:C.value===B}),title:C.ariaLabel,children:[P("input",{name:A,type:"radio",checked:C.value===B,onChange:()=>u(C.value),"aria-label":C.ariaLabel}),C.label]},String(C.value)))})},ds=({title:u,name:B,checked:E,onChange:A,disabled:C=!1})=>P("div",{className:Yu("Switch",{toggled:E,disabled:C}),children:P("input",{name:B,id:B,title:u,type:"checkbox",checked:E,disabled:C,onChange:()=>A(!E),onKeyDown:(D)=>{D.key===" "&&A(!E)}})}),cP=Vo.forwardRef(({children:u,icon:B,onClick:E,label:A,variant:C="filled",color:D="primary",size:F="medium",fullWidth:U,className:z,status:k},f)=>{let[M,b]=Vo.useState(!1),Z=async(K)=>{let w=E?.(K);if(lX(w)){let Q=window.setTimeout(()=>{b(!0)},50);try{await w}catch(G){if(G instanceof nO)console.warn(G);else throw G}finally{clearTimeout(Q),b(!1)}}},J=M?"loading":k;return D=J==="success"?"success":D,P("button",{className:Yu("ExcButton",`ExcButton--color-${D}`,`ExcButton--variant-${C}`,`ExcButton--size-${F}`,`ExcButton--status-${J}`,{"ExcButton--fullWidth":U},z),onClick:Z,type:"button","aria-label":A,ref:f,disabled:J==="loading"||J==="success",children:M0("div",{className:"ExcButton__contents",children:[J==="loading"?P(Rf,{className:"ExcButton__statusIcon"}):J==="success"&&P("div",{className:"ExcButton__statusIcon",children:sMu}),B&&P("div",{className:"ExcButton__icon","aria-hidden":!0,children:B}),C!=="icon"&&(u??A)]})})}),WK3=2000,SK3=()=>{let[u,B]=ov.useState(null),E=ov.useRef(0),A=()=>{clearTimeout(E.current),B("success"),E.current=window.setTimeout(()=>{B(null)},WK3)},C=ov.useCallback(()=>{B(null)},[]);return{copyStatus:u,resetCopyStatus:C,onCopy:A}},YK3="filter"in document.createElement("canvas").getContext("2d"),RK3=()=>M0("div",{children:[P("h3",{children:C0("canvasError.cannotShowPreview")}),P("p",{children:P("span",{children:C0("canvasError.canvasTooBig")})}),M0("em",{children:["(",C0("canvasError.canvasTooBigTip"),")"]})]}),TK3=({appStateSnapshot:u,elementsSnapshot:B,files:E,actionManager:A,onExportImage:C,name:D})=>{let F=K2(B,u),[U,z]=t8.useState(D),[k,f]=t8.useState(F),[M,b]=t8.useState(u.exportBackground),[Z,J]=t8.useState(u.exportWithDarkMode),[K,w]=t8.useState(u.exportEmbedScene),[Q,G]=t8.useState(u.exportScale),H=t8.useRef(null),[l,q]=t8.useState(null),{onCopy:L,copyStatus:v,resetCopyStatus:x}=SK3();t8.useEffect(()=>{x()},[U,M,Z,Q,K,x]);let{exportedElements:S,exportingFrame:W}=vo(B,u,k);return t8.useEffect(()=>{let T=H.current;if(!T)return;let{offsetWidth:R,offsetHeight:Y}=T;R&&qn({elements:S,appState:{...u,name:U,exportBackground:M,exportWithDarkMode:Z,exportScale:Q,exportEmbedScene:K},files:E,exportPadding:hQ,maxWidthOrHeight:Math.max(R,Y),exportingFrame:W}).then((h)=>(q(null),iX(h).then(()=>{T.replaceChildren(h)}).catch((I)=>{throw I.name==="CANVAS_POSSIBLY_TOO_BIG"?Error(C0("canvasError.canvasTooBig")):I}))).catch((h)=>{console.error(h),q(h)})},[u,E,S,W,U,M,Z,Q,K]),M0("div",{className:"ImageExportModal",children:[P("h3",{children:C0("imageExportDialog.header")}),M0("div",{className:"ImageExportModal__preview",children:[P("div",{className:"ImageExportModal__preview__canvas",ref:H,children:l&&P(RK3,{})}),P("div",{className:"ImageExportModal__preview__filename",children:!uf&&P("input",{type:"text",className:"TextInput",value:U,style:{width:"30ch"},onChange:(T)=>{z(T.target.value),A.executeAction(XZ3,"ui",T.target.value)}})})]}),M0("div",{className:"ImageExportModal__settings",children:[P("h3",{children:C0("imageExportDialog.header")}),F&&P(VP,{label:C0("imageExportDialog.label.onlySelected"),name:"exportOnlySelected",children:P(ds,{name:"exportOnlySelected",checked:k,onChange:(T)=>{f(T)}})}),P(VP,{label:C0("imageExportDialog.label.withBackground"),name:"exportBackgroundSwitch",children:P(ds,{name:"exportBackgroundSwitch",checked:M,onChange:(T)=>{b(T),A.executeAction(xZ3,"ui",T)}})}),YK3&&P(VP,{label:C0("imageExportDialog.label.darkMode"),name:"exportDarkModeSwitch",children:P(ds,{name:"exportDarkModeSwitch",checked:Z,onChange:(T)=>{J(T),A.executeAction(WZ3,"ui",T)}})}),P(VP,{label:C0("imageExportDialog.label.embedScene"),tooltip:C0("imageExportDialog.tooltip.embedScene"),name:"exportEmbedSwitch",children:P(ds,{name:"exportEmbedSwitch",checked:K,onChange:(T)=>{w(T),A.executeAction(qeu,"ui",T)}})}),P(VP,{label:C0("imageExportDialog.label.scale"),name:"exportScale",children:P(z04,{name:"exportScale",value:Q,onChange:(T)=>{G(T),A.executeAction(vZ3,"ui",T)},choices:lp.map((T)=>({value:T,label:`${T}×`}))})}),M0("div",{className:"ImageExportModal__settings__buttons",children:[P(cP,{className:"ImageExportModal__settings__buttons__button",label:C0("imageExportDialog.title.exportToPng"),onClick:()=>C(wp.png,S,{exportingFrame:W}),icon:zM0,children:C0("imageExportDialog.button.exportToPng")}),P(cP,{className:"ImageExportModal__settings__buttons__button",label:C0("imageExportDialog.title.exportToSvg"),onClick:()=>C(wp.svg,S,{exportingFrame:W}),icon:zM0,children:C0("imageExportDialog.button.exportToSvg")}),(Hn||KX)&&P(cP,{className:"ImageExportModal__settings__buttons__button",label:C0("imageExportDialog.title.copyPngToClipboard"),status:v,onClick:async()=>{await C(wp.clipboard,S,{exportingFrame:W}),L()},icon:hp,children:C0("imageExportDialog.button.copyPngToClipboard")})]})]})]})},VP=({label:u,children:B,tooltip:E,name:A})=>M0("div",{className:"ImageExportModal__settings__setting",title:u,children:[M0("label",{htmlFor:A,className:"ImageExportModal__settings__setting__label",children:[u,E&&P(hG,{label:E,long:!0,children:dMu})]}),P("div",{className:"ImageExportModal__settings__setting__content",children:B})]}),OK3=({elements:u,appState:B,files:E,actionManager:A,onExportImage:C,onCloseRequest:D,name:F})=>{let[{appStateSnapshot:U,elementsSnapshot:z}]=t8.useState(()=>({appStateSnapshot:yU(B),elementsSnapshot:yU(u)}));return P(CF,{onCloseRequest:D,size:"wide",title:!1,children:P(TK3,{elementsSnapshot:z,appStateSnapshot:U,files:E,actionManager:A,onExportImage:C,name:F})})},k04=({children:u,side:B,className:E})=>P("div",{className:Yu("FixedSideContainer",`FixedSideContainer_side_${B}`,E),children:u}),rv=100,gv=100,Atu=(u)=>{switch(u){case r0.ARROW_UP:return"up";case r0.ARROW_DOWN:return"down";case r0.ARROW_RIGHT:return"right";case r0.ARROW_LEFT:return"left";default:return"right"}},f04=(u,B,E,A)=>{let C=[...E.values()].reduce((D,F)=>{let U;if(Q4(F)&&(U=F[u==="predecessors"?"startBinding":"endBinding"])&&F[u==="predecessors"?"endBinding":"startBinding"]?.elementId===B.id){let z=E.get(U.elementId);if(!z)return D;b2(gA(z),"not an ExcalidrawBindableElement");let k=u==="predecessors"?F.points[F.points.length-1]:[0,0],f=WM0(B,MD(B),[k[0]+F.x,k[1]+F.y]);D.push({relative:z,heading:f})}return D},[]);switch(A){case"up":return C.filter((D)=>J9(D.heading,gB)).map((D)=>D.relative);case"down":return C.filter((D)=>J9(D.heading,f5)).map((D)=>D.relative);case"right":return C.filter((D)=>J9(D.heading,b9)).map((D)=>D.relative);case"left":return C.filter((D)=>J9(D.heading,rB)).map((D)=>D.relative)}},dQ0=(u,B,E)=>f04("successors",u,B,E),sQ0=(u,B,E)=>f04("predecessors",u,B,E),IK3=(u,B,E)=>{let A=gv+u.width;if(E==="up"||E==="down"){let U=rv+u.height,z=u.x,k=u.x+u.width;if(B.every((f)=>f.x+f.width<z||f.x>k))return{x:0,y:U*(E==="up"?-1:1)}}else if(E==="right"||E==="left"){let U=u.y,z=u.y+u.height;if(B.every((k)=>k.y+k.height<U||k.y>z))return{x:(gv+u.width)*(E==="left"?-1:1),y:0}}if(E==="up"||E==="down"){let U=rv+u.height,z=(B.length,U),k=B.length===0?0:(B.length+1)%2===0?(B.length+1)/2*A:B.length/2*A*-1;return E==="up"?{x:k,y:z*-1}:{x:k,y:z}}let C=rv+u.height,D=(B.length,gv+u.width),F=B.length===0?0:(B.length+1)%2===0?(B.length+1)/2*C:B.length/2*C*-1;return E==="left"?{x:D*-1,y:F}:{x:D,y:F}},PK3=(u,B,E,A)=>{let C=dQ0(u,B,A),D=sQ0(u,B,A),F=IK3(u,[...C,...D],A),U=SD({type:u.type,x:u.x+F.x,y:u.y+F.y,width:u.width,height:u.height,roundness:u.roundness,roughness:u.roughness,backgroundColor:u.backgroundColor,strokeColor:u.strokeColor,strokeWidth:u.strokeWidth,opacity:u.opacity,fillStyle:u.fillStyle,strokeStyle:u.strokeStyle});b2(yO(U),"not an ExcalidrawFlowchartNodeElement");let z=M04(u,U,B,A,E);return{nextNode:U,bindingArrow:z}},jK3=(u,B,E,A,C)=>{let D=[];for(let F=0;F<C;F++){let U,z;if(A==="left"||A==="right"){let M=rv*(C-1)+C*u.height,b=u.y+u.height/2-M/2,Z=gv+u.width;A==="left"&&(Z*=-1),U=u.x+Z;let J=(rv+u.height)*F;z=b+J}else{let M=gv*(C-1)+C*u.width,b=u.x+u.width/2-M/2,Z=rv+u.height;A==="up"&&(Z*=-1),z=u.y+Z;let J=(gv+u.width)*F;U=b+J}let k=SD({type:u.type,x:U,y:z,width:u.width,height:u.height,roundness:u.roundness,roughness:u.roughness,backgroundColor:u.backgroundColor,strokeColor:u.strokeColor,strokeWidth:u.strokeWidth,opacity:u.opacity,fillStyle:u.fillStyle,strokeStyle:u.strokeStyle});b2(yO(k),"not an ExcalidrawFlowchartNodeElement");let f=M04(u,k,B,A,E);D.push(k),D.push(f)}return D},M04=(u,B,E,A,C)=>{let D,F;switch(A){case"up":{D=u.x+u.width/2,F=u.y-6;break}case"down":{D=u.x+u.width/2,F=u.y+u.height+6;break}case"right":{D=u.x+u.width+6,F=u.y+u.height/2;break}case"left":{D=u.x-6,F=u.y+u.height/2;break}}let U,z;switch(A){case"up":{U=B.x+B.width/2-D,z=B.y+B.height-F+6;break}case"down":{U=B.x+B.width/2-D,z=B.y-F-6;break}case"right":{U=B.x-D-6,z=B.y-F+B.height/2;break}case"left":{U=B.x+B.width-D+6,z=B.y-F+B.height/2;break}}let k=Fn({type:"arrow",x:D,y:F,startArrowhead:null,endArrowhead:C.currentItemEndArrowhead,strokeColor:u.strokeColor,strokeStyle:u.strokeStyle,strokeWidth:u.strokeWidth,opacity:u.opacity,roughness:u.roughness,points:[t(0,0),t(U,z)],elbowed:!0});QD(k,u,"start",E),QD(k,B,"end",E);let f=new Map;f.set(u.id,u),f.set(B.id,B),f.set(k.id,k),Z4.movePoints(k,[{index:1,point:k.points[1]}]);let M=Kn(k,VE(new Map([...E.entries(),[u.id,u],[B.id,B],[k.id,k]])),{points:k.points});return{...k,...M}},NK3=class{constructor(){j0(this,"isExploring",!1),j0(this,"sameLevelNodes",[]),j0(this,"sameLevelIndex",0),j0(this,"direction",null),j0(this,"visitedNodes",new Set)}clear(){this.isExploring=!1,this.sameLevelNodes=[],this.sameLevelIndex=0,this.direction=null,this.visitedNodes.clear()}exploreByDirection(u,B,E){if(!gA(u))return null;if(E!==this.direction&&this.clear(),this.visitedNodes.has(u.id)||this.visitedNodes.add(u.id),this.isExploring&&E===this.direction&&this.sameLevelNodes.length>1)return this.sameLevelIndex=(this.sameLevelIndex+1)%this.sameLevelNodes.length,this.sameLevelNodes[this.sameLevelIndex].id;let A=[...dQ0(u,B,E),...sQ0(u,B,E)];if(A.length>0)return this.sameLevelIndex=0,this.isExploring=!0,this.sameLevelNodes=A,this.direction=E,this.visitedNodes.add(A[0].id),A[0].id;if(E===this.direction||!this.isExploring){this.isExploring||this.visitedNodes.add(u.id);let C=["up","right","down","left"].filter((D)=>D!==E).map((D)=>[...dQ0(u,B,D),...sQ0(u,B,D)]).flat().filter((D)=>!this.visitedNodes.has(D.id));for(let D of C)if(!this.visitedNodes.has(D.id))return this.visitedNodes.add(D.id),this.isExploring=!0,this.direction=E,D.id}return null}},VK3=class{constructor(){j0(this,"isCreatingChart",!1),j0(this,"numberOfNodes",0),j0(this,"direction","right"),j0(this,"pendingNodes",null)}createNodes(u,B,E,A){if(A!==this.direction){let{nextNode:C,bindingArrow:D}=PK3(u,B,E,A);this.numberOfNodes=1,this.isCreatingChart=!0,this.direction=A,this.pendingNodes=[C,D]}else{this.numberOfNodes+=1;let C=jK3(u,B,E,A,this.numberOfNodes);this.isCreatingChart=!0,this.direction=A,this.pendingNodes=C}if(u.frameId){let C=B.get(u.frameId);b2(C&&Tf0(C),"not an ExcalidrawFrameElement"),C&&this.pendingNodes.every((D)=>jX([D],C,B)||zf(D,C,B))&&(this.pendingNodes=this.pendingNodes.map((D)=>Su(D,{frameId:u.frameId},!1)))}}clear(){this.isCreatingChart=!1,this.pendingNodes=null,this.direction=null,this.numberOfNodes=0}},hK3=(u,B)=>{for(let[,E]of B)if(E.type==="arrow"&&(E.startBinding?.elementId===u.id||E.endBinding?.elementId===u.id))return!0;return!1},iK3=({appState:u,isMobile:B,device:E,app:A})=>{let{activeTool:C,isResizing:D,isRotating:F,lastPointerDownWith:U}=u,z=u.multiElement!==null;if(u.openSidebar?.name===_A.name&&u.openSidebar.tab===iQ&&u.searchMatches?.length)return C0("hints.dismissSearch");if(u.openSidebar&&!E.editor.canFitSidebar)return null;if(XD(u))return C0("hints.eraserRevert");if(C.type==="arrow"||C.type==="line")return z?C0("hints.linearElementMulti"):C.type==="arrow"?C0("hints.arrowTool",{arrowShortcut:Wu("A")}):C0("hints.linearElement");if(C.type==="freedraw")return C0("hints.freeDraw");if(C.type==="text")return C0("hints.text");if(C.type==="embeddable")return C0("hints.embeddable");if(u.activeTool.type==="image"&&u.pendingImageElementId)return C0("hints.placeImage");let k=A.scene.getSelectedElements(u);if(D&&U==="mouse"&&k.length===1){let f=k[0];return S3(f)&&f.points.length===2?C0("hints.lockAngle"):L1(f)?C0("hints.resizeImage"):C0("hints.resize")}if(F&&U==="mouse")return C0("hints.rotate");if(k.length===1&&M4(k[0]))return C0("hints.text_selected");if(u.editingTextElement)return C0("hints.text_editing");if(u.croppingElementId)return C0("hints.leaveCropEditor");if(k.length===1&&L1(k[0]))return C0("hints.enterCropEditor");if(C.type==="selection"){if(u.selectionElement&&!k.length&&!u.editingTextElement&&!u.editingLinearElement)return C0("hints.deepBoxSelect");if(RX(A)&&u.selectedElementsAreBeingDragged)return C0("hints.disableSnapping");if(!k.length&&!B)return C0("hints.canvasPanning");if(k.length===1){if(S3(k[0]))return u.editingLinearElement?u.editingLinearElement.selectedPointsIndices?C0("hints.lineEditor_pointSelected"):C0("hints.lineEditor_nothingSelected"):C0("hints.lineEditor_info");if(!u.newElement&&!u.selectedElementsAreBeingDragged&&WZ(k[0]))return yO(k[0])?hK3(k[0],A.scene.getNonDeletedElementsMap())?[C0("hints.bindTextToElement"),C0("hints.createFlowchart")]:[C0("hints.bindTextToElement"),C0("hints.createFlowchart")]:C0("hints.bindTextToElement")}}return null},b04=({appState:u,isMobile:B,device:E,app:A})=>{let C=iK3({appState:u,isMobile:B,device:E,app:A});if(!C)return null;let D=Array.isArray(C)?C.map((F)=>Wu(F).replace(/\. ?$/,"")).join(". "):Wu(C);return P("div",{className:"HintViewer",children:P("span",{children:D})})},aK3="medium",Ctu={CHECKED:Rp,UNCHECKED:gO},Z04=(u)=>M0("label",{className:Yu("ToolIcon ToolIcon__lock",`ToolIcon_size_${aK3}`,{"is-mobile":u.isMobile}),title:`${u.title} — Q`,children:[P("input",{className:"ToolIcon_type_checkbox",type:"checkbox",name:u.name,onChange:u.onChange,checked:u.checked,"aria-label":u.title,"data-testid":"toolbar-lock"}),P("div",{className:"ToolIcon__icon",children:u.checked?Ctu.CHECKED:Ctu.UNCHECKED})]}),oP=({heading:u,children:B,...E})=>{let{id:A}=Jz(),C=P("h2",{className:"visually-hidden",id:`${A}-${u}-title`,children:C0(`headings.${u}`)});return P("section",{...E,"aria-labelledby":`${A}-${u}-title`,children:typeof B=="function"?B(C):M0(tu,{children:[C,B]})})},zz=4,wJ=6,mK3="rgba(0,0,0,0.3)",$K3=(u,B,E,A)=>{if(!u.length)return{horizontal:null,vertical:null};let[C,D,F,U]=I1(u),z=B/A.zoom.value,k=E/A.zoom.value,f=B-z,M=E-k,b={top:parseInt(iO("sat"))||0,bottom:parseInt(iO("sab"))||0,left:parseInt(iO("sal"))||0,right:parseInt(iO("sar"))||0},Z=_P().rtl,J=-A.scrollX+f/2+b.left,K=-A.scrollY+M/2+b.top,w=J+z-b.right,Q=K+k-b.bottom,G=Math.min(C,J),H=Math.min(D,K),l=Math.max(F,w),q=Math.max(U,Q);return{horizontal:J===G&&w===l?null:{x:Math.max(b.left,zz)+(J-G)/(l-G)*B,y:E-wJ-Math.max(zz,b.bottom),width:(w-J)/(l-G)*B-Math.max(zz*2,b.left+b.right),height:wJ},vertical:K===H&&Q===q?null:{x:Z?Math.max(b.left,zz):B-wJ-Math.max(b.right,zz),y:(K-H)/(q-H)*E+Math.max(b.top,zz),width:wJ,height:(Q-K)/(q-H)*E-Math.max(zz*2,b.top+b.bottom)}}},Dtu=(u,B,E)=>{let[A,C]=[u.horizontal,u.vertical].map((D)=>D!=null&&D.x<=B&&B<=D.x+D.width&&D.y<=E&&E<=D.y+D.height);return{isOverEither:A||C,isOverHorizontal:A,isOverVertical:C}},yK3="medium",J04=(u)=>u.penDetected?M0("label",{className:Yu("ToolIcon ToolIcon__penMode",`ToolIcon_size_${yK3}`,{"is-mobile":u.isMobile}),title:`${u.title}`,children:[P("input",{className:"ToolIcon_type_checkbox",type:"checkbox",name:u.name,onChange:u.onChange,checked:u.checked,"aria-label":u.title}),P("div",{className:"ToolIcon__icon",children:nfu})]}):null,K04=(u)=>P(C1,{className:Yu("Shape",{fillable:!1}),type:"radio",icon:UM0,name:"editor-current-shape",checked:u.checked,title:`${u.title} — H`,keyBindingLabel:u.isMobile?void 0:r0.H.toLocaleUpperCase(),"aria-label":`${u.title} — H`,"aria-keyshortcuts":r0.H,"data-testid":"toolbar-hand",onChange:()=>u.onChange?.()}),rK3=({appState:u,elements:B,actionManager:E,setAppState:A,onLockToggle:C,onHandToolToggle:D,onPenModeToggle:F,renderTopRightUI:U,renderCustomStats:z,renderSidebars:k,device:f,renderWelcomeScreen:M,UIOptions:b,app:Z})=>{let{WelcomeScreenCenterTunnel:J,MainMenuTunnel:K,DefaultSidebarTriggerTunnel:w}=E8(),Q=()=>M0(k04,{side:"top",className:"App-top-bar",children:[M&&P(J.Out,{}),P(oP,{heading:"shapes",children:(H)=>P(FC.Col,{gap:4,align:"center",children:M0(FC.Row,{gap:1,className:"App-toolbar-container",children:[M0(BF,{padding:1,className:"App-toolbar App-toolbar--mobile",children:[H,P(FC.Row,{gap:1,children:P(oeu,{appState:u,activeTool:u.activeTool,UIOptions:b,app:Z})})]}),U&&U(!0,u),M0("div",{className:"mobile-misc-tools-container",children:[!u.viewModeEnabled&&u.openDialog?.name!=="elementLinkSelector"&&P(w.Out,{}),P(J04,{checked:u.penMode,onChange:()=>F(null),title:C0("toolBar.penMode"),isMobile:!0,penDetected:u.penDetected}),P(Z04,{checked:u.activeTool.locked,onChange:C,title:C0("toolBar.lock"),isMobile:!0}),P(K04,{checked:aQ(u),onChange:()=>D(),title:C0("toolBar.hand"),isMobile:!0})]})]})})}),P(b04,{appState:u,isMobile:!0,device:f,app:Z})]}),G=()=>u.viewModeEnabled||u.openDialog?.name==="elementLinkSelector"?P("div",{className:"App-toolbar-content",children:P(K.Out,{})}):M0("div",{className:"App-toolbar-content",children:[P(K.Out,{}),E.renderAction("toggleEditMenu"),E.renderAction(u.multiElement?"finalize":"duplicateSelection"),E.renderAction("deleteSelectedElements"),M0("div",{children:[E.renderAction("undo"),E.renderAction("redo")]})]});return M0(tu,{children:[k(),!u.viewModeEnabled&&u.openDialog?.name!=="elementLinkSelector"&&Q(),P("div",{className:"App-bottom-bar",style:{marginBottom:wJ+zz*2,marginLeft:wJ+zz*2,marginRight:wJ+zz*2},children:M0(BF,{padding:0,children:[u.openMenu==="shape"&&!u.viewModeEnabled&&u.openDialog?.name!=="elementLinkSelector"&&Tn(u,B)?P(oP,{className:"App-mobile-menu",heading:"selectedShapeActions",children:P(seu,{appState:u,elementsMap:Z.scene.getNonDeletedElementsMap(),renderAction:E.renderAction,app:Z})}):null,M0("footer",{className:"App-toolbar",children:[G(),u.scrolledOutside&&!u.openMenu&&!u.openSidebar&&P("button",{type:"button",className:"scroll-back-to-content",onClick:()=>{A((H)=>({...SX(B,H)}))},children:C0("buttons.scrollBackToContent")})]})]})})]})},Ftu=(u)=>{let B=LJ.useRef(null),[E,A]=LJ.useState(null);return LJ.useLayoutEffect(()=>{if(!u.spreadsheet)return;let C=eZu(u.chartType,u.spreadsheet,0,0);A(C);let D,F=B.current;return(async()=>(D=await Jn(C,{exportBackground:!1,viewBackgroundColor:n6.white},null,{skipInliningFonts:!0}),D.querySelector(".style-fonts")?.remove(),F.replaceChildren(),F.appendChild(D),u.selected&&F.parentNode.focus()))(),()=>{F.replaceChildren()}},[u.spreadsheet,u.chartType,u.selected]),P("button",{type:"button",className:"ChartPreview",onClick:()=>{E&&u.onClick(u.chartType,E)},children:P("div",{ref:B})})},gK3=({setAppState:u,appState:B,onClose:E})=>{let{onInsertElements:A}=Zz(),C=LJ.default.useCallback(()=>{E&&E()},[E]),D=(F,U)=>{A(U),l6("paste","chart",F),u({currentChartType:F,pasteDialog:{shown:!1,data:null}})};return P(CF,{size:"small",onCloseRequest:C,title:C0("labels.pasteCharts"),className:"PasteChartDialog",autofocus:!1,children:M0("div",{className:"container",children:[P(Ftu,{chartType:"bar",spreadsheet:B.pasteDialog.data,selected:B.currentChartType==="bar",onClick:D}),P(Ftu,{chartType:"line",spreadsheet:B.pasteDialog.data,selected:B.currentChartType==="line",onClick:D})]})})},cK3=()=>M0("div",{className:"HelpDialog__header",children:[M0("a",{className:"HelpDialog__btn",href:"https://docs.excalidraw.com",target:"_blank",rel:"noopener noreferrer",children:[P("div",{className:"HelpDialog__link-icon",children:$f0}),C0("helpDialog.documentation")]}),M0("a",{className:"HelpDialog__btn",href:"https://plus.excalidraw.com/blog",target:"_blank",rel:"noopener noreferrer",children:[P("div",{className:"HelpDialog__link-icon",children:$f0}),C0("helpDialog.blog")]}),M0("a",{className:"HelpDialog__btn",href:"https://github.com/excalidraw/excalidraw/issues",target:"_blank",rel:"noopener noreferrer",children:[P("div",{className:"HelpDialog__link-icon",children:yf0}),C0("helpDialog.github")]}),M0("a",{className:"HelpDialog__btn",href:"https://youtube.com/@excalidraw",target:"_blank",rel:"noopener noreferrer",children:[P("div",{className:"HelpDialog__link-icon",children:wbu}),"YouTube"]})]}),_K3=(u)=>M0(tu,{children:[P("h3",{children:u.title}),P("div",{className:"HelpDialog__islands-container",children:u.children})]}),SQ0=(u)=>M0("div",{className:`HelpDialog__island ${u.className}`,children:[P("h4",{className:"HelpDialog__island-title",children:u.caption}),P("div",{className:"HelpDialog__island-content",children:u.children})]});function*pK3(u,B){let E=!0;for(let A of u)E||(yield B),E=!1,yield A}var nK3=(u)=>u.replace(/\b[a-z]\b/,(B)=>B.toUpperCase()),G4=({label:u,shortcuts:B,isOr:E=!0})=>{let A=B.map((C)=>(C.endsWith("++")?[...C.slice(0,-2).split("+"),"+"]:C.split("+")).map((D)=>P(dK3,{children:nK3(D)},D)));return M0("div",{className:"HelpDialog__shortcut",children:[P("div",{children:u}),P("div",{className:"HelpDialog__key-container",children:[...pK3(A,E?C0("helpDialog.or"):null)]})]})},dK3=(u)=>P("kbd",{className:"HelpDialog__key",...u}),sK3=({onClose:u})=>{let B=w04.default.useCallback(()=>{u&&u()},[u]);return P(tu,{children:M0(CF,{onCloseRequest:B,title:C0("helpDialog.title"),className:"HelpDialog",children:[P(cK3,{}),M0(_K3,{title:C0("helpDialog.shortcuts"),children:[M0(SQ0,{className:"HelpDialog__island--tools",caption:C0("helpDialog.tools"),children:[P(G4,{label:C0("toolBar.hand"),shortcuts:[r0.H]}),P(G4,{label:C0("toolBar.selection"),shortcuts:[r0.V,r0[1]]}),P(G4,{label:C0("toolBar.rectangle"),shortcuts:[r0.R,r0[2]]}),P(G4,{label:C0("toolBar.diamond"),shortcuts:[r0.D,r0[3]]}),P(G4,{label:C0("toolBar.ellipse"),shortcuts:[r0.O,r0[4]]}),P(G4,{label:C0("toolBar.arrow"),shortcuts:[r0.A,r0[5]]}),P(G4,{label:C0("toolBar.line"),shortcuts:[r0.L,r0[6]]}),P(G4,{label:C0("toolBar.freedraw"),shortcuts:[r0.P,r0[7]]}),P(G4,{label:C0("toolBar.text"),shortcuts:[r0.T,r0[8]]}),P(G4,{label:C0("toolBar.image"),shortcuts:[r0[9]]}),P(G4,{label:C0("toolBar.eraser"),shortcuts:[r0.E,r0[0]]}),P(G4,{label:C0("toolBar.frame"),shortcuts:[r0.F]}),P(G4,{label:C0("toolBar.laser"),shortcuts:[r0.K]}),P(G4,{label:C0("labels.eyeDropper"),shortcuts:[r0.I,"Shift+S","Shift+G"]}),P(G4,{label:C0("helpDialog.editLineArrowPoints"),shortcuts:[Wu("CtrlOrCmd+Enter")]}),P(G4,{label:C0("helpDialog.editText"),shortcuts:[Wu("Enter")]}),P(G4,{label:C0("helpDialog.textNewLine"),shortcuts:[Wu("Enter"),Wu("Shift+Enter")]}),P(G4,{label:C0("helpDialog.textFinish"),shortcuts:[Wu("Esc"),Wu("CtrlOrCmd+Enter")]}),P(G4,{label:C0("helpDialog.curvedArrow"),shortcuts:["A",C0("helpDialog.click"),C0("helpDialog.click"),C0("helpDialog.click")],isOr:!1}),P(G4,{label:C0("helpDialog.curvedLine"),shortcuts:["L",C0("helpDialog.click"),C0("helpDialog.click"),C0("helpDialog.click")],isOr:!1}),P(G4,{label:C0("helpDialog.cropStart"),shortcuts:[C0("helpDialog.doubleClick"),Wu("Enter")],isOr:!0}),P(G4,{label:C0("helpDialog.cropFinish"),shortcuts:[Wu("Enter"),Wu("Escape")],isOr:!0}),P(G4,{label:C0("toolBar.lock"),shortcuts:[r0.Q]}),P(G4,{label:C0("helpDialog.preventBinding"),shortcuts:[Wu("CtrlOrCmd")]}),P(G4,{label:C0("toolBar.link"),shortcuts:[Wu("CtrlOrCmd+K")]})]}),M0(SQ0,{className:"HelpDialog__island--view",caption:C0("helpDialog.view"),children:[P(G4,{label:C0("buttons.zoomIn"),shortcuts:[Wu("CtrlOrCmd++")]}),P(G4,{label:C0("buttons.zoomOut"),shortcuts:[Wu("CtrlOrCmd+-")]}),P(G4,{label:C0("buttons.resetZoom"),shortcuts:[Wu("CtrlOrCmd+0")]}),P(G4,{label:C0("helpDialog.zoomToFit"),shortcuts:["Shift+1"]}),P(G4,{label:C0("helpDialog.zoomToSelection"),shortcuts:["Shift+2"]}),P(G4,{label:C0("helpDialog.movePageUpDown"),shortcuts:["PgUp/PgDn"]}),P(G4,{label:C0("helpDialog.movePageLeftRight"),shortcuts:["Shift+PgUp/PgDn"]}),P(G4,{label:C0("buttons.zenMode"),shortcuts:[Wu("Alt+Z")]}),P(G4,{label:C0("buttons.objectsSnapMode"),shortcuts:[Wu("Alt+S")]}),P(G4,{label:C0("labels.toggleGrid"),shortcuts:[Wu("CtrlOrCmd+'")]}),P(G4,{label:C0("labels.viewMode"),shortcuts:[Wu("Alt+R")]}),P(G4,{label:C0("labels.toggleTheme"),shortcuts:[Wu("Alt+Shift+D")]}),P(G4,{label:C0("stats.fullTitle"),shortcuts:[Wu("Alt+/")]}),P(G4,{label:C0("search.title"),shortcuts:[kB("searchMenu")]}),P(G4,{label:C0("commandPalette.title"),shortcuts:KX?[kB("commandPalette")]:[kB("commandPalette"),kB("commandPalette",1)]})]}),M0(SQ0,{className:"HelpDialog__island--editor",caption:C0("helpDialog.editor"),children:[P(G4,{label:C0("helpDialog.createFlowchart"),shortcuts:[Wu("CtrlOrCmd+Arrow Key")],isOr:!0}),P(G4,{label:C0("helpDialog.navigateFlowchart"),shortcuts:[Wu("Alt+Arrow Key")],isOr:!0}),P(G4,{label:C0("labels.moveCanvas"),shortcuts:[Wu(`Space+${C0("helpDialog.drag")}`),Wu(`Wheel+${C0("helpDialog.drag")}`)],isOr:!0}),P(G4,{label:C0("buttons.clearReset"),shortcuts:[Wu("CtrlOrCmd+Delete")]}),P(G4,{label:C0("labels.delete"),shortcuts:[Wu("Delete")]}),P(G4,{label:C0("labels.cut"),shortcuts:[Wu("CtrlOrCmd+X")]}),P(G4,{label:C0("labels.copy"),shortcuts:[Wu("CtrlOrCmd+C")]}),P(G4,{label:C0("labels.paste"),shortcuts:[Wu("CtrlOrCmd+V")]}),P(G4,{label:C0("labels.pasteAsPlaintext"),shortcuts:[Wu("CtrlOrCmd+Shift+V")]}),P(G4,{label:C0("labels.selectAll"),shortcuts:[Wu("CtrlOrCmd+A")]}),P(G4,{label:C0("labels.multiSelect"),shortcuts:[Wu(`Shift+${C0("helpDialog.click")}`)]}),P(G4,{label:C0("helpDialog.deepSelect"),shortcuts:[Wu(`CtrlOrCmd+${C0("helpDialog.click")}`)]}),P(G4,{label:C0("helpDialog.deepBoxSelect"),shortcuts:[Wu(`CtrlOrCmd+${C0("helpDialog.drag")}`)]}),(Hn||KX)&&P(G4,{label:C0("labels.copyAsPng"),shortcuts:[Wu("Shift+Alt+C")]}),P(G4,{label:C0("labels.copyStyles"),shortcuts:[Wu("CtrlOrCmd+Alt+C")]}),P(G4,{label:C0("labels.pasteStyles"),shortcuts:[Wu("CtrlOrCmd+Alt+V")]}),P(G4,{label:C0("labels.sendToBack"),shortcuts:[lD?Wu("CtrlOrCmd+Alt+["):Wu("CtrlOrCmd+Shift+[")]}),P(G4,{label:C0("labels.bringToFront"),shortcuts:[lD?Wu("CtrlOrCmd+Alt+]"):Wu("CtrlOrCmd+Shift+]")]}),P(G4,{label:C0("labels.sendBackward"),shortcuts:[Wu("CtrlOrCmd+[")]}),P(G4,{label:C0("labels.bringForward"),shortcuts:[Wu("CtrlOrCmd+]")]}),P(G4,{label:C0("labels.alignTop"),shortcuts:[Wu("CtrlOrCmd+Shift+Up")]}),P(G4,{label:C0("labels.alignBottom"),shortcuts:[Wu("CtrlOrCmd+Shift+Down")]}),P(G4,{label:C0("labels.alignLeft"),shortcuts:[Wu("CtrlOrCmd+Shift+Left")]}),P(G4,{label:C0("labels.alignRight"),shortcuts:[Wu("CtrlOrCmd+Shift+Right")]}),P(G4,{label:C0("labels.duplicateSelection"),shortcuts:[Wu("CtrlOrCmd+D"),Wu(`Alt+${C0("helpDialog.drag")}`)]}),P(G4,{label:C0("helpDialog.toggleElementLock"),shortcuts:[Wu("CtrlOrCmd+Shift+L")]}),P(G4,{label:C0("buttons.undo"),shortcuts:[Wu("CtrlOrCmd+Z")]}),P(G4,{label:C0("buttons.redo"),shortcuts:ff0?[Wu("CtrlOrCmd+Y"),Wu("CtrlOrCmd+Shift+Z")]:[Wu("CtrlOrCmd+Shift+Z")]}),P(G4,{label:C0("labels.group"),shortcuts:[Wu("CtrlOrCmd+G")]}),P(G4,{label:C0("labels.ungroup"),shortcuts:[Wu("CtrlOrCmd+Shift+G")]}),P(G4,{label:C0("labels.flipHorizontal"),shortcuts:[Wu("Shift+H")]}),P(G4,{label:C0("labels.flipVertical"),shortcuts:[Wu("Shift+V")]}),P(G4,{label:C0("labels.showStroke"),shortcuts:[Wu("S")]}),P(G4,{label:C0("labels.showBackground"),shortcuts:[Wu("G")]}),P(G4,{label:C0("labels.showFonts"),shortcuts:[Wu("Shift+F")]}),P(G4,{label:C0("labels.decreaseFontSize"),shortcuts:[Wu("CtrlOrCmd+Shift+<")]}),P(G4,{label:C0("labels.increaseFontSize"),shortcuts:[Wu("CtrlOrCmd+Shift+>")]})]})]})]})})},oK3=4,tK3=8,eK3=({shouldWrap:u,children:B,username:E})=>u?P(hG,{label:E||"Unknown user",children:B}):P(tu,{children:B}),YQ0=({actionManager:u,collaborator:B,socketId:E,withName:A=!1,shouldWrapWithTooltip:C=!1,isBeingFollowed:D})=>{let F={socketId:E,collaborator:B,withName:A,isBeingFollowed:D},U=u.renderAction("goToCollaborator",F);return P(eK3,{username:B.username,shouldWrap:C,children:U},E)},uw3=["avatarUrl","id","socketId","username","isInCall","isSpeaking","isMuted"],Q04=PG.default.memo(({className:u,mobile:B,collaborators:E,userToFollow:A})=>{let C=e8(),D=new Map;E.forEach((J,K)=>{let w=J.id||K;D.set(w,{...J,socketId:K})});let F=Array.from(D.values()).filter((J)=>J.username?.trim()),[U,z]=PG.default.useState(""),k=F.filter((J)=>J.username?.toLowerCase().includes(U)),f=PG.default.useRef(null);PG.useLayoutEffect(()=>{if(f.current){let J=(w)=>{let Q=Math.max(1,Math.min(8,Math.floor(w/38)));b(Q)};if(J(f.current.clientWidth),!Kp)return;let K=new ResizeObserver((w)=>{for(let Q of w){let{width:G}=Q.contentRect;J(G)}});return K.observe(f.current),()=>{K.disconnect()}}},[]);let[M,b]=PG.default.useState(oK3),Z=F.slice(0,M-1).map((J)=>YQ0({actionManager:C,collaborator:J,socketId:J.socketId,shouldWrapWithTooltip:!0,isBeingFollowed:J.socketId===A}));return B?P("div",{className:Yu("UserList UserList_mobile",u),children:F.map((J)=>YQ0({actionManager:C,collaborator:J,socketId:J.socketId,shouldWrapWithTooltip:!0,isBeingFollowed:J.socketId===A}))}):P("div",{className:"UserList__wrapper",ref:f,children:M0("div",{className:Yu("UserList",u),style:{"--max-avatars":M},children:[Z,F.length>M-1&&M0(FJ,{children:[M0(UJ,{className:"UserList__more",children:["+",F.length-M+1]}),P(Sv,{style:{zIndex:2,width:"15rem",textAlign:"left"},align:"end",sideOffset:10,children:M0(BF,{padding:2,children:[F.length>=tK3&&P(Feu,{placeholder:C0("quickSearch.placeholder"),onChange:z}),P(zeu,{className:"dropdown-menu UserList__collaborators",placeholder:C0("userList.empty"),children:k.length>0?[P("div",{className:"hint",children:C0("userList.hint.text")}),k.map((J)=>YQ0({actionManager:C,collaborator:J,socketId:J.socketId,withName:!0,isBeingFollowed:J.socketId===A}))]:[]}),P(Ys,{width:20,height:10,style:{fill:"var(--popup-bg-color)",filter:"drop-shadow(rgba(0, 0, 0, 0.05) 0px 3px 2px)"}})]})})]})]})})},(u,B)=>{if(u.collaborators.size!==B.collaborators.size||u.mobile!==B.mobile||u.className!==B.className||u.userToFollow!==B.userToFollow)return!1;let E=B.collaborators.keys();for(let[A,C]of u.collaborators){let D=B.collaborators.get(A);if(!D||A!==E.next().value||!y5(C,D,uw3))return!1}return!0}),Utu=({children:u,color:B})=>P("div",{className:"Card",style:{"--card-color":B==="primary"?"var(--color-primary)":n6[B][7],"--card-color-darker":B==="primary"?"var(--color-primary-darker)":n6[B][8],"--card-color-darkest":B==="primary"?"var(--color-primary-darkest)":n6[B][9]},children:u}),Bw3=({elements:u,appState:B,setAppState:E,files:A,actionManager:C,exportOpts:D,canvas:F,onCloseRequest:U})=>{let{onExportToBackend:z}=D;return P("div",{className:"ExportDialog ExportDialog--json",children:M0("div",{className:"ExportDialog-cards",children:[D.saveFileToDisk&&M0(Utu,{color:"lime",children:[P("div",{className:"Card-icon",children:CMu}),P("h2",{children:C0("exportDialog.disk_title")}),M0("div",{className:"Card-details",children:[C0("exportDialog.disk_details"),!uf&&C.renderAction("changeProjectName")]}),P(C1,{className:"Card-button",type:"button",title:C0("exportDialog.disk_button"),"aria-label":C0("exportDialog.disk_button"),showAriaLabel:!0,onClick:()=>{C.executeAction(leu,"ui")}})]}),z&&M0(Utu,{color:"pink",children:[P("div",{className:"Card-icon",children:jp}),P("h2",{children:C0("exportDialog.link_title")}),P("div",{className:"Card-details",children:C0("exportDialog.link_details")}),P(C1,{className:"Card-button",type:"button",title:C0("exportDialog.link_button"),"aria-label":C0("exportDialog.link_button"),showAriaLabel:!0,onClick:async()=>{try{l6("export","link",`ui (${Pfu()})`),await z(u,B,A),U()}catch(k){E({errorMessage:k.message})}}})]}),D.renderCustomUI&&D.renderCustomUI(u,B,A,F)]})})},Ew3=({elements:u,appState:B,files:E,actionManager:A,exportOpts:C,canvas:D,setAppState:F})=>{let U=G04.default.useCallback(()=>{F({openDialog:null})},[F]);return P(tu,{children:B.openDialog?.name==="jsonExport"&&P(CF,{onCloseRequest:U,title:C0("buttons.export"),children:P(Bw3,{elements:u,appState:B,setAppState:F,files:E,actionManager:A,onCloseRequest:U,exportOpts:C,canvas:D})})})},Aw3=(u)=>P("button",{className:"help-icon",onClick:u.onClick,type:"button",title:`${C0("helpDialog.title")} — ?`,"aria-label":C0("helpDialog.title"),children:Pp}),H04=({appState:u,actionManager:B,showExitZenModeBtn:E,renderWelcomeScreen:A})=>{let{FooterCenterTunnel:C,WelcomeScreenHelpHintTunnel:D}=E8(),F=H5(),U=!u.viewModeEnabled&&u.multiElement&&F.isTouchScreen;return M0("footer",{role:"contentinfo",className:"layer-ui__wrapper__footer App-menu App-menu_bottom",children:[P("div",{className:Yu("layer-ui__wrapper__footer-left zen-mode-transition",{"layer-ui__wrapper__footer-left--transition-left":u.zenModeEnabled}),children:P(FC.Col,{gap:2,children:M0(oP,{heading:"canvasActions",children:[P(UK3,{renderAction:B.renderAction,zoom:u.zoom}),!u.viewModeEnabled&&P(zK3,{renderAction:B.renderAction,className:Yu("zen-mode-transition",{"layer-ui__wrapper__footer-left--transition-bottom":u.zenModeEnabled})}),U&&P(fK3,{renderAction:B.renderAction,className:Yu("zen-mode-transition",{"layer-ui__wrapper__footer-left--transition-left":u.zenModeEnabled})})]})})}),P(C.Out,{}),P("div",{className:Yu("layer-ui__wrapper__footer-right zen-mode-transition",{"transition-right":u.zenModeEnabled}),children:M0("div",{style:{position:"relative"},children:[A&&P(D.Out,{}),P(Aw3,{onClick:()=>B.executeAction(MG0)})]})}),P(kK3,{actionManager:B,showExitZenModeBtn:E})]})},Cw3=H04;H04.displayName="Footer";var l04=q04.default.createContext({}),X04=({children:u,className:B})=>{let E=H5(),A=L04.useContext(l04),C=!!(E.editor.canFitSidebar&&A.shouldRenderDockButton);return M0("div",{className:Yu("sidebar__header",B),"data-testid":"sidebar-header",children:[u,M0("div",{className:"sidebar__header__buttons",children:[C&&P(hG,{label:C0("labels.sidebarLock"),children:P(iG,{onSelect:()=>A.onDock?.(!A.docked),selected:!!A.docked,className:"sidebar__dock","data-testid":"sidebar-dock","aria-label":C0("labels.sidebarLock"),children:gfu})}),P(iG,{"data-testid":"sidebar-close",className:"sidebar__close",onSelect:A.onCloseRequest,"aria-label":C0("buttons.close"),children:gQ})]})]})};X04.displayName="SidebarHeader";var v04=({name:u,tab:B,icon:E,title:A,children:C,onToggle:D,className:F,style:U})=>{let z=a2(),k=Y7();return M0("label",{title:A,className:"sidebar-trigger__label-element",children:[P("input",{className:"ToolIcon_type_checkbox",type:"checkbox",onChange:(f)=>{document.querySelector(".layer-ui__wrapper")?.classList.remove("animate");let M=f.target.checked;z({openSidebar:M?{name:u,tab:B}:null}),D?.(M)},checked:k.openSidebar?.name===u,"aria-label":A,"aria-keyshortcuts":"0"}),M0("div",{className:Yu("sidebar-trigger",F),style:U,children:[E&&P("div",{children:E}),C&&P("div",{className:"sidebar-trigger__label",children:C})]})]})};v04.displayName="SidebarTrigger";var x04=({children:u,...B})=>P(js,{className:"sidebar-triggers",...B,children:u});x04.displayName="SidebarTabTriggers";var W04=({children:u,tab:B,onSelect:E,...A})=>P(Ns,{value:B,asChild:!0,onSelect:E,children:P("button",{type:"button",className:"excalidraw-button sidebar-tab-trigger",...A,children:u})});W04.displayName="SidebarTabTrigger";var S04=({children:u,...B})=>{let E=Y7(),A=a2();if(!E.openSidebar)return null;let{name:C}=E.openSidebar;return P(Ps,{className:"sidebar-tabs-root",value:E.openSidebar.tab,onValueChange:(D)=>A((F)=>({...F,openSidebar:{...F.openSidebar,name:C,tab:D}})),...B,children:u})};S04.displayName="SidebarTabs";var Y04=({tab:u,children:B,...E})=>P(Vs,{...E,value:u,"data-testid":u,children:B});Y04.displayName="SidebarTab";var wG0=P2(!1),T04=i2.forwardRef(({name:u,children:B,onDock:E,docked:A,className:C,...D},F)=>{J3.DEV&&E&&A==null&&console.warn("Sidebar: `docked` must be set when `onDock` is supplied for the sidebar to be user-dockable. To hide this message, either pass `docked` or remove `onDock`");let U=a2(),z=Mo(wG0);i2.useLayoutEffect(()=>(z(!!A),()=>{z(!1)}),[z,A]);let k=i2.useRef({});k.current.onCloseRequest=()=>{U({openSidebar:null})},k.current.onDock=(Z)=>E?.(Z),k.current=aO(k.current,{docked:A,shouldRenderDockButton:!!E&&A!=null});let f=i2.useRef(null);i2.useImperativeHandle(F,()=>f.current);let M=H5(),b=i2.useCallback(()=>{document.querySelector(".Dialog")||U({openSidebar:null})},[U]);return DG0(f,i2.useCallback((Z)=>{Z.target.closest(".sidebar-trigger")||(!A||!M.editor.canFitSidebar)&&b()},[b,A,M.editor.canFitSidebar])),i2.useEffect(()=>{let Z=(J)=>{J.key===r0.ESCAPE&&(!A||!M.editor.canFitSidebar)&&b()};return document.addEventListener("keydown",Z),()=>{document.removeEventListener("keydown",Z)}},[b,A,M.editor.canFitSidebar]),P(BF,{...D,className:Yu("sidebar",{"sidebar--docked":A},C),ref:f,children:P(l04.Provider,{value:k.current,children:B})})});T04.displayName="SidebarInner";var Uz=Object.assign(i2.forwardRef((u,B)=>{let E=Y7(),{onStateChange:A}=u,C=i2.useRef(E.openSidebar);i2.useEffect(()=>{(!E.openSidebar&&C?.current?.name===u.name||E.openSidebar?.name===u.name&&C?.current?.name!==u.name||C.current?.name===u.name)&&E.openSidebar!==C.current&&A?.(E.openSidebar?.name!==u.name?null:E.openSidebar),C.current=E.openSidebar},[E.openSidebar,A,u.name]);let[D,F]=i2.useState(!1);return i2.useLayoutEffect(()=>(F(!0),()=>F(!1)),[]),D&&E.openSidebar?.name===u.name?R04.createElement(T04,{...u,ref:B,key:u.name}):null}),{Header:X04,TabTriggers:x04,TabTrigger:W04,Tabs:S04,Tab:Y04,Trigger:v04});Uz.displayName="Sidebar";var O04={};Xz0(O04,{ChangeCanvasBackground:()=>y04,ClearCanvas:()=>m04,CommandPalette:()=>h04,Export:()=>r04,Help:()=>a04,LiveCollaborationTrigger:()=>c04,LoadScene:()=>j04,SaveAsImage:()=>V04,SaveToActiveFile:()=>N04,SearchMenu:()=>i04,Socials:()=>g04,ToggleTheme:()=>$04});var I04=P2({active:!1});async function Dw3({title:u,description:B,actionLabel:E,color:A}){return new Promise((C)=>{oD.set(I04,{active:!0,onConfirm:()=>C(!0),onClose:()=>C(!1),onReject:()=>C(!1),title:u,description:B,actionLabel:E,color:A})})}var P04=({value:u,shortcut:B,onChange:E,choices:A,children:C,name:D})=>{let F=H5();return M0(tu,{children:[M0("div",{className:"dropdown-menu-item-base dropdown-menu-item-bare",children:[P("label",{className:"dropdown-menu-item__text",htmlFor:D,children:C}),P(z04,{name:D,value:u,onChange:E,choices:A})]}),B&&!F.editor.isMobile&&P("div",{className:"dropdown-menu-item__shortcut dropdown-menu-item__shortcut--orphaned",children:B})]})};P04.displayName="DropdownMenuItemContentRadio";var Fw3=P04,j04=()=>{let{t:u}=fB(),B=e8(),E=mo();return B.isActionEnabled(rQ0)?P(kC,{icon:Np,onSelect:async()=>{(!E.length||await Dw3({title:u("overwriteConfirm.modal.loadFromFile.title"),actionLabel:u("overwriteConfirm.modal.loadFromFile.button"),color:"warning",description:P(kz,{i18nKey:"overwriteConfirm.modal.loadFromFile.description",bold:(A)=>P("strong",{children:A}),br:()=>P("br",{})})}))&&B.executeAction(rQ0)},"data-testid":"load-button",shortcut:kB("loadScene"),"aria-label":u("buttons.load"),children:u("buttons.load")}):null};j04.displayName="LoadScene";var N04=()=>{let{t:u}=fB(),B=e8();return B.isActionEnabled(Nou)?P(kC,{shortcut:kB("saveScene"),"data-testid":"save-button",onSelect:()=>B.executeAction(Nou),icon:BMu,"aria-label":`${u("buttons.save")}`,children:`${u("buttons.save")}`}):null};N04.displayName="SaveToActiveFile";var V04=()=>{let u=a2(),{t:B}=fB();return P(kC,{icon:rf0,"data-testid":"image-export-button",onSelect:()=>u({openDialog:{name:"imageExport"}}),shortcut:kB("imageExport"),"aria-label":B("buttons.exportImage"),children:B("buttons.exportImage")})};V04.displayName="SaveAsImage";var h04=(u)=>{let B=a2(),{t:E}=fB();return P(kC,{icon:ZM0,"data-testid":"command-palette-button",onSelect:()=>{l6("command_palette","open","menu"),B({openDialog:{name:"commandPalette"}})},shortcut:kB("commandPalette"),"aria-label":E("commandPalette.title"),className:u?.className,children:E("commandPalette.title")})};h04.displayName="CommandPalette";var i04=(u)=>{let{t:B}=fB(),E=e8();return P(kC,{icon:RZ,"data-testid":"search-menu-button",onSelect:()=>{E.executeAction(E04)},shortcut:kB("searchMenu"),"aria-label":B("search.title"),className:u?.className,children:B("search.title")})};i04.displayName="SearchMenu";var a04=()=>{let{t:u}=fB(),B=e8();return P(kC,{"data-testid":"help-menu-item",icon:Pp,onSelect:()=>B.executeAction(MG0),shortcut:"?","aria-label":u("helpDialog.title"),children:u("helpDialog.title")})};a04.displayName="Help";var m04=()=>{let{t:u}=fB(),B=Mo(Po);return e8().isActionEnabled(rP)?P(kC,{icon:YZ,onSelect:()=>B("clearCanvas"),"data-testid":"clear-canvas-button","aria-label":u("buttons.clearReset"),children:u("buttons.clearReset")}):null};m04.displayName="ClearCanvas";var $04=(u)=>{let{t:B}=fB(),E=Y7(),A=e8(),C=kB("toggleTheme");return A.isActionEnabled(Co)?u?.allowSystemTheme?P(Fw3,{name:"theme",value:u.theme,onChange:(D)=>u.onSelect(D),choices:[{value:p3.LIGHT,label:Ip,ariaLabel:`${B("buttons.lightMode")} - ${C}`},{value:p3.DARK,label:Op,ariaLabel:`${B("buttons.darkMode")} - ${C}`},{value:"system",label:Kbu,ariaLabel:B("buttons.systemMode")}],children:B("labels.theme")}):P(kC,{onSelect:(D)=>{if(D.preventDefault(),u?.onSelect)u.onSelect(E.theme===p3.DARK?p3.LIGHT:p3.DARK);else return A.executeAction(Co)},icon:E.theme===p3.DARK?Ip:Op,"data-testid":"toggle-dark-mode",shortcut:C,"aria-label":E.theme===p3.DARK?B("buttons.lightMode"):B("buttons.darkMode"),children:E.theme===p3.DARK?B("buttons.lightMode"):B("buttons.darkMode")}):null};$04.displayName="ToggleTheme";var y04=()=>{let{t:u}=fB(),B=Y7(),E=e8(),A=Aj();return B.viewModeEnabled||!A.UIOptions.canvasActions.changeViewBackgroundColor?null:M0("div",{style:{marginTop:"0.5rem"},children:[P("div",{"data-testid":"canvas-background-label",style:{fontSize:".75rem",marginBottom:".5rem"},children:u("labels.canvasBackground")}),P("div",{style:{padding:"0 0.625rem"},children:E.renderAction("changeViewBackgroundColor")})]})};y04.displayName="ChangeCanvasBackground";var r04=()=>{let{t:u}=fB(),B=a2();return P(kC,{icon:cO,onSelect:()=>{B({openDialog:{name:"jsonExport"}})},"data-testid":"json-export-button","aria-label":u("buttons.export"),children:u("buttons.export")})};r04.displayName="Export";var g04=()=>{let{t:u}=fB();return M0(tu,{children:[P(Bo,{icon:yf0,href:"https://github.com/excalidraw/excalidraw","aria-label":"GitHub",children:"GitHub"}),P(Bo,{icon:efu,href:"https://x.com/excalidraw","aria-label":"X",children:u("labels.followUs")}),P(Bo,{icon:tfu,href:"https://discord.gg/UexuTaE","aria-label":"Discord",children:u("labels.discordChat")})]})};g04.displayName="Socials";var c04=({onSelect:u,isCollaborating:B})=>{let{t:E}=fB();return P(kC,{"data-testid":"collab-button",icon:EM0,className:Yu({"active-collab":B}),onSelect:u,children:E("labels.liveCollaboration")})};c04.displayName="LiveCollaborationTrigger";var Bj=(u,B)=>{let E=P2(0),A=(C)=>{let{tunnelsJotai:{useAtom:D}}=E8(),[,F]=D(E),U=ho.useRef({preferHost:!1,counter:0});return ho.useLayoutEffect(()=>{let z=U.current;return F((k)=>{let f=k+1;return z.counter=f,f}),()=>{F((k)=>{let f=k-1;return z.counter=f,f||(z.preferHost=!1),f})}},[F]),C.__fallback||(U.current.preferHost=!0),!U.current.counter&&C.__fallback&&U.current.preferHost||U.current.counter>1&&C.__fallback?null:P(B,{...C})};return A.displayName=u,A},Uw3=Object.assign(Bj("MainMenu",({children:u,onSelect:B})=>{let{MainMenuTunnel:E}=E8(),A=H5(),C=Y7(),D=a2(),F=A.editor.isMobile?void 0:()=>D({openMenu:null});return P(E.In,{children:M0(S6,{open:C.openMenu==="canvas",children:[P(S6.Trigger,{onToggle:()=>{D({openMenu:C.openMenu==="canvas"?null:"canvas"})},"data-testid":"main-menu-trigger",className:"main-menu-trigger",children:mf0}),M0(S6.Content,{onClickOutside:F,onSelect:mO(B,()=>{D({openMenu:null})}),children:[u,A.editor.isMobile&&C.collaborators.size>0&&M0("fieldset",{className:"UserList-Wrapper",children:[P("legend",{children:C0("labels.collaborators")}),P(Q04,{mobile:!0,collaborators:C.collaborators,userToFollow:C.userToFollow?.socketId||null})]})]})]})})}),{Trigger:S6.Trigger,Item:S6.Item,ItemLink:S6.ItemLink,ItemCustom:S6.ItemCustom,Group:S6.Group,Separator:S6.Separator,DefaultItems:O04}),o8=Uw3,QG0=({title:u,children:B,actionLabel:E,onClick:A})=>M0("div",{className:"OverwriteConfirm__Actions__Action",children:[P("h4",{children:u}),P("div",{className:"OverwriteConfirm__Actions__Action__content",children:B}),P(cP,{variant:"outlined",color:"muted",label:E,size:"large",fullWidth:!0,onClick:A})]}),zw3=()=>{let{t:u}=fB(),B=e8(),E=a2();return P(QG0,{title:u("overwriteConfirm.action.exportToImage.title"),actionLabel:u("overwriteConfirm.action.exportToImage.button"),onClick:()=>{B.executeAction(qeu,"ui",!0),E({openDialog:{name:"imageExport"}})},children:u("overwriteConfirm.action.exportToImage.description")})},kw3=()=>{let{t:u}=fB(),B=e8();return P(QG0,{title:u("overwriteConfirm.action.saveToDisk.title"),actionLabel:u("overwriteConfirm.action.saveToDisk.button"),onClick:()=>{B.executeAction(leu,"ui")},children:u("overwriteConfirm.action.saveToDisk.description")})},ztu=Object.assign(({children:u})=>P("div",{className:"OverwriteConfirm__Actions",children:u}),{ExportToImage:zw3,SaveToDisk:kw3}),RQ0=Object.assign(Bj("OverwriteConfirmDialog",({children:u})=>{let{OverwriteConfirmDialogTunnel:B}=E8(),[E,A]=j9(I04);if(!E.active)return null;let C=()=>{E.onClose(),A((F)=>({...F,active:!1}))},D=()=>{E.onConfirm(),A((F)=>({...F,active:!1}))};return P(B.In,{children:P(CF,{onCloseRequest:C,title:!1,size:916,children:M0("div",{className:"OverwriteConfirm",children:[P("h3",{children:E.title}),M0("div",{className:`OverwriteConfirm__Description OverwriteConfirm__Description--color-${E.color}`,children:[P("div",{className:"OverwriteConfirm__Description__icon",children:oMu}),P("div",{children:E.description}),P("div",{className:"OverwriteConfirm__Description__spacer"}),P(cP,{color:E.color,size:"large",label:E.actionLabel,onClick:D})]}),P(ztu,{children:u})]})})})}),{Actions:ztu,Action:QG0}),fw3=P2(""),p04=P2(null),Mw3=350,bw3=()=>{let u=Zz(),B=a2(),E=S7.useRef(null),[A,C]=j9(fw3),D=A.trim(),[F,U]=S7.useState(!1),[z,k]=S7.useState({nonce:null,items:[]}),f=S7.useRef(null),M=S7.useRef(void 0),[b,Z]=j9(p04),J=u.scene.getNonDeletedElementsMap();S7.useEffect(()=>{F||(D!==f.current||u.scene.getSceneNonce()!==M.current)&&(f.current=null,ktu(D,u,(H,l)=>{k({nonce:WD(),items:H}),f.current=D,M.current=u.scene.getSceneNonce(),B({searchMatches:H.map((q)=>({id:q.textElement.id,focus:!1,matchedLines:q.matchedLines}))})}))},[F,D,J,u,B,Z,M]);let K=()=>{z.items.length>0&&Z((H)=>H===null?0:(H+1)%z.items.length)},w=()=>{z.items.length>0&&Z((H)=>H===null?0:H-1<0?z.items.length-1:H-1)};S7.useEffect(()=>{B((H)=>({searchMatches:H.searchMatches.map((l,q)=>q===b?{...l,focus:!0}:{...l,focus:!1})}))},[b,B]),S7.useEffect(()=>{if(z.items.length>0&&b!==null){let H=z.items[b];if(H){let l=u.state.zoom.value,q=y8({text:H.searchQuery,x:H.textElement.x+(H.matchedLines[0]?.offsetX??0),y:H.textElement.y+(H.matchedLines[0]?.offsetY??0),width:H.matchedLines[0]?.width,height:H.matchedLines[0]?.height,fontSize:H.textElement.fontSize,fontFamily:H.textElement.fontFamily}),L=14,v=H.textElement.fontSize,x=v*l<L;if(!ZI([q],u.canvas.width/window.devicePixelRatio,u.canvas.height/window.devicePixelRatio,{offsetLeft:u.state.offsetLeft,offsetTop:u.state.offsetTop,scrollX:u.state.scrollX,scrollY:u.state.scrollY,zoom:u.state.zoom},u.scene.getNonDeletedElementsMap(),u.getEditorUIOffsets())||x){let S;x?v>=L?S={fitToContent:!0}:S={fitToViewport:!0,maxZoom:vD(L/v,1)}:S={fitToContent:!0},u.scrollToContent(q,{animate:!0,duration:300,...S,canvasOffsets:u.getEditorUIOffsets()})}}}},[b,z,u]),S7.useEffect(()=>()=>{Z(null),f.current=null,M.current=void 0,B({searchMatches:[]}),U(!1)},[B,Z]);let Q=Go({goToNextItem:K,goToPreviousItem:w,searchMatches:z});S7.useEffect(()=>{return o6(window,"keydown",(l)=>{if(l.key===r0.ESCAPE&&!u.state.openDialog&&!u.state.openPopup){l.preventDefault(),l.stopPropagation(),B({openSidebar:null});return}l[r0.CTRL_OR_CMD]&&l.key===r0.F&&(l.preventDefault(),l.stopPropagation(),E.current?.matches(":focus")?B({openSidebar:null}):(u.state.openDialog&&B({openDialog:null}),E.current?.focus(),E.current?.select())),l.target instanceof HTMLElement&&l.target.closest(".layer-ui__search")&&Q.searchMatches.items.length&&(l.key===r0.ENTER&&(l.stopPropagation(),Q.goToNextItem()),l.key===r0.ARROW_UP?(l.stopPropagation(),Q.goToPreviousItem()):l.key===r0.ARROW_DOWN&&(l.stopPropagation(),Q.goToNextItem()))},{capture:!0,passive:!1})},[B,Q,u]);let G=`${z.items.length} ${z.items.length===1?C0("search.singleResult"):C0("search.multipleResults")}`;return M0("div",{className:"layer-ui__search",children:[P("div",{className:"layer-ui__search-header",children:P(KG0,{className:NQ.SEARCH_MENU_INPUT_WRAPPER,value:A,ref:E,placeholder:C0("search.placeholder"),icon:RZ,onChange:(H)=>{C(H),U(!0);let l=H.trim();ktu(l,u,(q,L)=>{k({nonce:WD(),items:q}),Z(L),f.current=l,M.current=u.scene.getSceneNonce(),B({searchMatches:q.map((v)=>({id:v.textElement.id,focus:!1,matchedLines:v.matchedLines}))}),U(!1)})},selectOnRender:!0})}),M0("div",{className:"layer-ui__search-count",children:[z.items.length>0&&M0(tu,{children:[b!==null&&b>-1?M0("div",{children:[b+1," / ",G]}):P("div",{children:G}),M0("div",{className:"result-nav",children:[P(iG,{onSelect:()=>{K()},className:"result-nav-btn",children:KM0}),P(iG,{onSelect:()=>{w()},className:"result-nav-btn",children:Xbu})]})]}),z.items.length===0&&D&&f.current&&P("div",{style:{margin:"1rem auto"},children:C0("search.noMatch")})]}),P(ww3,{matches:z,onItemClick:Z,focusIndex:b,searchQuery:D})]})},Zw3=(u)=>{let B=[u.preview.moreBefore?"...":"",u.preview.previewText.slice(0,u.preview.indexInSearchQuery),u.preview.previewText.slice(u.preview.indexInSearchQuery,u.preview.indexInSearchQuery+u.searchQuery.length),u.preview.previewText.slice(u.preview.indexInSearchQuery+u.searchQuery.length),u.preview.moreAfter?"...":""];return P("div",{tabIndex:-1,className:Yu("layer-ui__result-item",{active:u.highlighted}),onClick:u.onClick,ref:(E)=>{u.highlighted&&E?.scrollIntoView({behavior:"auto",block:"nearest"})},children:P("div",{className:"preview-text",children:B.flatMap((E,A)=>P(S7.Fragment,{children:A===2?P("b",{children:E}):E},A))})})},Jw3=(u)=>P("div",{className:"layer-ui__search-result-container",children:u.matches.items.map((B,E)=>P(Zw3,{searchQuery:u.searchQuery,preview:B.preview,highlighted:E===u.focusIndex,onClick:()=>u.onItemClick(E)},B.textElement.id+B.index))}),Kw3=(u,B)=>u.matches.nonce===B.matches.nonce&&u.focusIndex===B.focusIndex,ww3=S7.memo(Jw3,Kw3),Qw3=(u,B,E)=>{let A=u.slice(0,B),C=A.split(/\s+/),D=A.endsWith(" "),F=C.length-2-1-(D?0:1),U=C.slice(F<=0?0:F).join(" ")+(D?" ":""),z=20;U=U.length>z?U.slice(-z):U;let k=u.slice(B+E.length),f=k.split(/\s+/),M=!k.startsWith(" "),b=M?6:5,Z=(M?"":" ")+f.slice(0,b).join(" ");return{indexInSearchQuery:U.length,previewText:U+E+Z,moreBefore:F>0,moreAfter:f.length>b}},Gw3=(u,B)=>{let E=u.split(`
`),A=[],C=0;for(let D=0;D<E.length;D++){let F=E[D],U=E[D+1];if(U){let z=B.indexOf(U,C);if(z>F.length+C){let k=z-(F.length+C);for(;k>0;)F+=" ",k--}}A.push(F),C=C+F.length}return A.join(`
`)},Hw3=(u,B,E)=>{let A=Gw3(u.text,u.originalText).split(`
`),C=[],D=0,F=0;for(let f of A){let M=D,b=M+f.length-1;C.push({line:f,startIndex:M,endIndex:b,lineNumber:F}),D=b+1,F++}let U=E,z=u.originalText.slice(E,E+B.length),k=[];for(let f of C){if(z==="")break;if(U>=f.startIndex&&U<=f.endIndex){let M=f.endIndex+1-U,b=f.line.slice(0,U-f.startIndex),Z=z.slice(0,M);z=z.slice(M);let J=X7(b,B6(u),u.lineHeight);if(b===""&&(J.width=0),u.textAlign!=="left"&&f.line.length>0){let H=X7(f.line,B6(u),u.lineHeight),l=u.textAlign==="center"?(u.width-H.width)/2:u.width-H.width;J.width+=l}let{width:K,height:w}=X7(Z,B6(u),u.lineHeight),Q=J.width,G=f.lineNumber*J.height;k.push({offsetX:Q,offsetY:G,width:K,height:w}),U+=M}}return k},qw3=(u)=>u.replace(/[.*+?^${}()|[\]\\-]/g,"\\$&"),ktu=_04.default((u,B,E)=>{if(!u||u===""){E([],null);return}let A=B.scene.getNonDeletedElements().filter((z)=>M4(z));A.sort((z,k)=>z.y-k.y);let C=[],D=new RegExp(qw3(u),"gi");for(let z of A){let k=null,f=z.originalText;for(;(k=D.exec(f))!==null;){let M=Qw3(f,k.index,u),b=Hw3(z,u,k.index);b.length>0&&C.push({textElement:z,searchQuery:u,preview:M,index:k.index,matchedLines:b})}}let F=new Set(B.visibleElements.map((z)=>z.id)),U=C.findIndex((z)=>F.has(z.textElement.id))??null;E(C,U)},Mw3),d04=Bj("DefaultSidebarTrigger",(u)=>{let{DefaultSidebarTriggerTunnel:B}=E8();return P(B.In,{children:P(Uz.Trigger,{...u,className:"default-sidebar-trigger",name:_A.name})})});d04.displayName="DefaultSidebarTrigger";var s04=({children:u})=>{let{DefaultSidebarTabTriggersTunnel:B}=E8();return P(B.In,{children:u})};s04.displayName="DefaultTabTriggers";var ftu=Object.assign(Bj("DefaultSidebar",({children:u,className:B,onDock:E,docked:A,...C})=>{let D=Y7(),F=a2(),{DefaultSidebarTabTriggersTunnel:U}=E8(),z=D.openSidebar?.tab===iQ;return n04.createElement(Uz,{...C,name:"default",key:"default",className:Yu("default-sidebar",B),docked:z||(A??D.defaultSidebarDockedPreference),onDock:z||E===!1||!E&&A!=null?void 0:mO(E,(k)=>{F({defaultSidebarDockedPreference:k})})},M0(Uz.Tabs,{children:[P(Uz.Header,{children:M0(Uz.TabTriggers,{children:[P(Uz.TabTrigger,{tab:iQ,children:RZ}),P(Uz.TabTrigger,{tab:NO,children:Yp}),P(U.Out,{})]})}),P(Uz.Tab,{tab:NO,children:P(nJ3,{})}),P(Uz.Tab,{tab:iQ,children:P(bw3,{})}),u]}))}),{Trigger:d04,TabTriggers:s04}),lw3="small",Lw3=(u)=>M0("label",{className:Yu("ToolIcon ToolIcon__LaserPointer",`ToolIcon_size_${lw3}`,{"is-mobile":u.isMobile}),title:`${u.title}`,children:[P("input",{className:"ToolIcon_type_checkbox",type:"checkbox",name:u.name,onChange:u.onChange,checked:u.checked,"aria-label":u.title,"data-testid":"toolbar-LaserPointer"}),P("div",{className:"ToolIcon__icon",children:MM0})]}),Xw3=({canvasRef:u,setError:B})=>{let E=u.current;if(!E)return;let A=E.parentElement;A&&(A.style.background="",B(null),E.replaceChildren())},o04=async({canvasRef:u,mermaidToExcalidrawLib:B,mermaidDefinition:E,setError:A,data:C})=>{let D=u.current,F=D?.parentElement;if(!(!D||!F)){if(!E){Xw3({canvasRef:u,setError:A});return}try{let U=await B.api,z;try{z=await U.parseMermaidToExcalidraw(E)}catch{z=await U.parseMermaidToExcalidraw(E.replace(/"/g,"'"))}let{elements:k,files:f={}}=z;A(null),C.current={elements:uj(k,{regenerateIds:!0}),files:f};let M=await qn({elements:C.current.elements,files:C.current.files,exportPadding:hQ,maxWidthOrHeight:Math.max(F.offsetWidth,F.offsetHeight)*window.devicePixelRatio});try{await iX(M)}catch(b){throw b.name==="CANVAS_POSSIBLY_TOO_BIG"?Error(C0("canvasError.canvasTooBig")):b}F.style.background="var(--default-bg-color)",D.replaceChildren(M)}catch(U){throw F.style.background="var(--default-bg-color)",E&&A(U),U}}},GG0=(u)=>{jG.set(QX.MERMAID_TO_EXCALIDRAW,u)},t04=({app:u,data:B,text:E,shouldSaveMermaidDataToStorage:A})=>{let{elements:C,files:D}=B.current;C.length&&(u.addElementsFromPasteOrLibrary({elements:C,files:D,position:"center",fitToContent:!0}),u.setOpenDialog(null),A&&E&&GG0(E))},e04=({children:u})=>P("div",{className:"ttd-dialog-panels",children:u}),Fo=({label:u,children:B,panelAction:E,panelActionDisabled:A=!1,onTextSubmitInProgess:C,renderTopRight:D,renderSubmitShortcut:F,renderBottomRight:U})=>M0("div",{className:"ttd-dialog-panel",children:[M0("div",{className:"ttd-dialog-panel__header",children:[P("label",{children:u}),D?.()]}),B,M0("div",{className:Yu("ttd-dialog-panel-button-container",{invisible:!E}),style:{display:"flex",alignItems:"center"},children:[M0(iG,{className:"ttd-dialog-panel-button",onSelect:E?E.action:()=>{},disabled:A||C,children:[M0("div",{className:Yu({invisible:C}),children:[E?.label,E?.icon&&P("span",{children:E.icon})]}),C&&P(Rf,{})]}),!A&&!C&&F?.(),U?.()]})]}),uu4=({input:u,placeholder:B,onChange:E,onKeyboardSubmit:A})=>{let C=tP.useRef(null),D=tP.useRef(A);return D.current=A,tP.useEffect(()=>{if(!D.current)return;let F=C.current;if(F){let U=(z)=>{z[r0.CTRL_OR_CMD]&&z.key===r0.ENTER&&(z.preventDefault(),D.current?.())};return F.addEventListener("keydown",U),()=>{F.removeEventListener("keydown",U)}}},[]),P("textarea",{className:"ttd-dialog-input",onChange:E,value:u,placeholder:B,autoFocus:!0,ref:C})},vw3=({error:u})=>M0("div",{"data-testid":"ttd-dialog-output-error",className:"ttd-dialog-output-error",children:["Error! ",P("p",{children:u})]}),Bu4=({error:u,canvasRef:B,loaded:E})=>M0("div",{className:"ttd-dialog-output-wrapper",children:[u&&P(vw3,{error:u.message}),E?P("div",{ref:B,style:{opacity:u?"0.15":1},className:"ttd-dialog-output-canvas-container"}):P(Rf,{size:"2rem"})]}),Eu4=()=>M0("div",{className:"ttd-dialog-submit-shortcut",children:[P("div",{className:"ttd-dialog-submit-shortcut__key",children:Wu("CtrlOrCmd")}),P("div",{className:"ttd-dialog-submit-shortcut__key",children:Wu("Enter")})]}),xw3=`flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[Car]`,Mtu=$Q(GG0,300),Ww3=({mermaidToExcalidrawLib:u})=>{let[B,E]=AF.useState(()=>jG.get(QX.MERMAID_TO_EXCALIDRAW)||xw3),A=AF.useDeferredValue(B.trim()),[C,D]=AF.useState(null),F=AF.useRef(null),U=AF.useRef({elements:[],files:null}),z=Zz();AF.useEffect(()=>{o04({canvasRef:F,data:U,mermaidToExcalidrawLib:u,setError:D,mermaidDefinition:A}).catch((f)=>{xf0()&&console.error("Failed to parse mermaid definition",f)}),Mtu(A)},[A,u]),AF.useEffect(()=>()=>{Mtu.flush()},[]);let k=()=>{t04({app:z,data:U,text:B,shouldSaveMermaidDataToStorage:!0})};return M0(tu,{children:[P("div",{className:"ttd-dialog-desc",children:P(kz,{i18nKey:"mermaid.description",flowchartLink:(f)=>P("a",{href:"https://mermaid.js.org/syntax/flowchart.html",children:f}),sequenceLink:(f)=>P("a",{href:"https://mermaid.js.org/syntax/sequenceDiagram.html",children:f}),classLink:(f)=>P("a",{href:"https://mermaid.js.org/syntax/classDiagram.html",children:f})})}),M0(e04,{children:[P(Fo,{label:C0("mermaid.syntax"),children:P(uu4,{input:B,placeholder:"Write Mermaid diagram defintion here...",onChange:(f)=>E(f.target.value),onKeyboardSubmit:()=>{k()}})}),P(Fo,{label:C0("mermaid.preview"),panelAction:{action:()=>{k()},label:C0("mermaid.button"),icon:pO},renderSubmitShortcut:()=>P(Eu4,{}),children:P(Bu4,{canvasRef:F,loaded:u.loaded,error:C})})]})]})},Sw3=Ww3,Au4=(u)=>{let B=a2(),E=oQ0.useRef(null),A=oQ0.useRef(0);return P(Ps,{ref:E,className:"ttd-dialog-tabs-root",value:u.tab,onValueChange:(C)=>{if(!C)return;let D=E.current?.closest(".Modal__content");if(D){let F=D.offsetHeight||0;F>A.current&&(A.current=F,D.style.minHeight=`min(${A.current}px, 100%)`)}u.dialog==="ttd"&&Sf0(["text-to-diagram","mermaid"],C)&&B({openDialog:{name:u.dialog,tab:C}})},children:u.children})};Au4.displayName="TTDDialogTabs";var Yw3=Au4,Cu4=({children:u,...B})=>P(js,{className:"ttd-dialog-triggers",...B,children:u});Cu4.displayName="TTDDialogTabTriggers";var tQ0=({children:u,tab:B,onSelect:E,...A})=>P(Ns,{value:B,asChild:!0,onSelect:E,children:P("button",{type:"button",className:"ttd-dialog-tab-trigger",...A,children:u})});tQ0.displayName="TTDDialogTabTrigger";var eQ0=({tab:u,children:B,...E})=>P(Vs,{...E,value:u,children:B});eQ0.displayName="TTDDialogTab";var TQ0=3,av=1000,Rw3=P2(null),Tw3=P2(null),Ow3=(u)=>{let B=Y7();return B.openDialog?.name!=="ttd"?null:P(Iw3,{...u,tab:B.openDialog.tab})},Iw3=Bj("TTDDialogBase",({tab:u,...B})=>{let E=Zz(),A=a2(),C=tD.useRef(null),[D,F]=j9(Tw3),[U,z]=tD.useState(D?.prompt??""),k=U.trim(),f=(L)=>{z(L.target.value),F((v)=>({generatedResponse:v?.generatedResponse??null,prompt:L.target.value}))},[M,b]=tD.useState(!1),[Z,J]=j9(Rw3),K=async()=>{if(k.length>av||k.length<TQ0||M||Z?.rateLimitRemaining===0||"__fallback"in B){k.length<TQ0&&q(Error(`Prompt is too short (min ${TQ0} characters)`)),k.length>av&&q(Error(`Prompt is too long (max ${av} characters)`));return}try{b(!0),l6("ai","generate","ttd");let{generatedResponse:L,error:v,rateLimit:x,rateLimitRemaining:S}=await B.onTextSubmit(k);if(typeof L=="string"&&F((W)=>({generatedResponse:L,prompt:W?.prompt??null})),FX(x)&&FX(S)&&J({rateLimit:x,rateLimitRemaining:S}),v){q(v);return}if(!L){q(Error("Generation failed"));return}try{await o04({canvasRef:C,data:H,mermaidToExcalidrawLib:Q,setError:q,mermaidDefinition:L}),l6("ai","mermaid parse success","ttd")}catch(W){console.info(`%cTTD mermaid render errror: ${W.message}`,"color: red"),console.info(`>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
TTD mermaid definition render errror: ${W.message}`,"color: yellow"),l6("ai","mermaid parse failed","ttd"),q(Error("Generated an invalid diagram :(. You may also try a different prompt."))}}catch(L){let v=L.message;(!v||v==="Failed to fetch")&&(v="Request failed"),q(Error(v))}finally{b(!1)}},w=tD.useRef(K);w.current=K;let[Q,G]=tD.useState({loaded:!1,api:Promise.resolve().then(() => (lQ0(),qQ0))});tD.useEffect(()=>{(async()=>{await Q.api,G((L)=>({...L,loaded:!0}))})()},[Q.api]);let H=tD.useRef({elements:[],files:null}),[l,q]=tD.useState(null);return P(CF,{className:"ttd-dialog",onCloseRequest:()=>{E.setOpenDialog(null)},size:1200,title:!1,...B,autofocus:!1,children:M0(Yw3,{dialog:"ttd",tab:u,children:["__fallback"in B&&B.__fallback?P("p",{className:"dialog-mermaid-title",children:C0("mermaid.title")}):M0(Cu4,{children:[P(tQ0,{tab:"text-to-diagram",children:M0("div",{style:{display:"flex",alignItems:"center"},children:[C0("labels.textToDiagram"),P("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"1px 6px",marginLeft:"10px",fontSize:10,borderRadius:"12px",background:"var(--color-promo)",color:"var(--color-surface-lowest)"},children:"AI Beta"})]})}),P(tQ0,{tab:"mermaid",children:"Mermaid"})]}),P(eQ0,{className:"ttd-dialog-content",tab:"mermaid",children:P(Sw3,{mermaidToExcalidrawLib:Q})}),!("__fallback"in B)&&M0(eQ0,{className:"ttd-dialog-content",tab:"text-to-diagram",children:[P("div",{className:"ttd-dialog-desc",children:"Currently we use Mermaid as a middle step, so you'll get best results if you describe a diagram, workflow, flow chart, and similar."}),M0(e04,{children:[P(Fo,{label:C0("labels.prompt"),panelAction:{action:K,label:"Generate",icon:pO},onTextSubmitInProgess:M,panelActionDisabled:k.length>av||Z?.rateLimitRemaining===0,renderTopRight:()=>Z?M0("div",{className:"ttd-dialog-rate-limit",style:{fontSize:12,marginLeft:"auto",color:Z.rateLimitRemaining===0?"var(--color-danger)":void 0},children:[Z.rateLimitRemaining," requests left today"]}):null,renderSubmitShortcut:()=>P(Eu4,{}),renderBottomRight:()=>{if(typeof D?.generatedResponse=="string")return M0("div",{className:"excalidraw-link",style:{marginLeft:"auto",fontSize:14},onClick:()=>{typeof D?.generatedResponse=="string"&&(GG0(D.generatedResponse),A({openDialog:{name:"ttd",tab:"mermaid"}}))},children:["View as Mermaid",P(qo,{icon:pO})]});let L=k.length/av;return L>0.8?M0("div",{style:{marginLeft:"auto",fontSize:12,fontFamily:"monospace",color:L>1?"var(--color-danger)":void 0},children:["Length: ",k.length,"/",av]}):null},children:P(uu4,{onChange:f,input:U,placeholder:"Describe what you want to see...",onKeyboardSubmit:()=>{w.current()}})}),P(Fo,{label:"Preview",panelAction:{action:()=>{console.info("Panel action clicked"),t04({app:E,data:H})},label:"Insert",icon:pO},children:P(Bu4,{canvasRef:C,error:l,loaded:Q.loaded})})]})]})]})})}),Pw3=0.01,Tf=(u,B)=>!(B==="height"&&M4(u)||B==="width"&&M4(u)||B==="angle"&&u3(u)),zB=(u,B)=>{let E=u+B/2;return E-E%B},Uo=(u,B,E)=>Object.keys(u).map((A)=>({original:(E??B).get(A),latest:B.get(A)})).filter((A)=>A.original!==void 0&&A.latest!==void 0),eP=(u,B,E,A,C,D,F,U=!0)=>{let z=A.get(E.id);if(!z)return;let[k,f]=[E.x+E.width/2,E.y+E.height/2],[M,b]=lu(t(E.x,E.y),t(k,f),E.angle),Z=u-M,J=B-b,[K,w]=lu(t(u,B),t(k+Z,f+J),-E.angle);Su(z,{x:K,y:w},U),uG0(z,A,C,D);let Q=Y3(E,F);if(Q){let G=A.get(Q.id);G&&Su(G,{x:Q.x+Z,y:Q.y+J},U)}},HG0=(u,B)=>{let E=IZ(B).map((A)=>W6(u,A).reduce((C,D)=>(C[D.id]=!0,C),{}));return u.filter((A)=>!pQ(A)).forEach((A)=>{E.push({[A.id]:!0})}),E},uG0=(u,B,E,A,C)=>{S3(u)?oO([u],B,E,A,!0,[],C?.zoom):_B(u,B,C)},jw3=({label:u,icon:B,dragInputCallback:E,value:A,elements:C,editable:D=!0,shouldKeepAspectRatio:F,property:U,scene:z,appState:k,sensitivity:f=1})=>{let M=Zz(),b=fz.useRef(null),Z=fz.useRef(null),[J,K]=fz.useState(A.toString()),w=fz.useRef(null);w.current||(w.current={originalAppState:yU(k),originalElements:C,lastUpdatedValue:J,updatePending:!1}),fz.useEffect(()=>{let H=A.toString();K(H),w.current.lastUpdatedValue=H},[A]);let Q=(H,l,q)=>{if(!w.current.updatePending)return!1;w.current.updatePending=!1;let L=Number(H);if(isNaN(L)){K(A.toString());return}let v=Number(L.toFixed(2)),x=Number(A);(isNaN(x)||Math.abs(v-x)>=Pw3)&&(w.current.lastUpdatedValue=H,E({accumulatedChange:0,instantChange:0,originalElements:l,originalElementsMap:M.scene.getNonDeletedElementsMap(),shouldKeepAspectRatio:F,shouldChangeByStepSize:!1,scene:z,nextValue:v,property:U,originalAppState:q,setInputValue:(S)=>K(String(S))}),M.syncActionResult({captureUpdate:Xu.IMMEDIATELY}))},G=fz.useRef({});return G.current.handleInputValue=Q,fz.useEffect(()=>{let H=b.current,l=G.current;return()=>{let q=H?.value;q&&l.handleInputValue?.(q,w.current.originalElements,w.current.originalAppState),window.removeEventListener("pointermove",l.onPointerMove,!1),window.removeEventListener("pointerup",l.onPointerUp,!1)}},[D]),D?M0("div",{className:Yu("drag-input-container",!D&&"disabled"),"data-testid":u,children:[P("div",{className:"drag-input-label",ref:Z,onPointerDown:(H)=>{if(b.current&&D){document.body.classList.add("excalidraw-cursor-resize");let l=Number(b.current.value);isNaN(l)&&(l=0);let q=null,L=M.scene.getNonDeletedElements().reduce((Y,h)=>(Y.set(h.id,PZ(h)),Y),new Map),v=C.map((Y)=>L.get(Y.id)),x=yU(k),S=0,W=0,T=(Y)=>{if(q&&L!==null&&v!==null){let h=Y.clientX-q.x;h!==0&&(W+=h,Math.abs(W)>=f&&(W=Math.sign(W)*Math.floor(Math.abs(W)/f),S+=W,E({accumulatedChange:S,instantChange:W,originalElements:v,originalElementsMap:L,shouldKeepAspectRatio:F,shouldChangeByStepSize:Y.shiftKey,property:U,scene:z,originalAppState:x,setInputValue:(I)=>K(String(I))}),W=0))}q={x:Y.clientX,y:Y.clientY}},R=()=>{window.removeEventListener("pointermove",T,!1),M.syncActionResult({captureUpdate:Xu.IMMEDIATELY}),q=null,S=0,W=0,v=null,L=null,document.body.classList.remove("excalidraw-cursor-resize"),window.removeEventListener("pointerup",R,!1)};G.current.onPointerMove=T,G.current.onPointerUp=R,window.addEventListener("pointermove",T,!1),window.addEventListener("pointerup",R,!1)}},onPointerEnter:()=>{Z.current&&(Z.current.style.cursor="ew-resize")},children:B?P(qo,{icon:B}):u}),P("input",{className:"drag-input",autoComplete:"off",spellCheck:"false",onKeyDown:(H)=>{if(D){let l=H.target;l instanceof HTMLInputElement&&H.key===r0.ENTER&&(Q(l.value,C,k),M.focusContainer())}},ref:b,value:J,onChange:(H)=>{w.current.updatePending=!0,K(H.target.value)},onFocus:(H)=>{H.target.select(),w.current.originalElements=C,w.current.originalAppState=yU(k)},onBlur:(H)=>{J?D&&Q(H.target.value,w.current.originalElements,w.current.originalAppState):K(A.toString())},disabled:!D})]}):null},If=jw3,btu=10,Nw3=(u)=>u.type==="image",Vw3=({accumulatedChange:u,originalElements:B,originalElementsMap:E,shouldKeepAspectRatio:A,shouldChangeByStepSize:C,nextValue:D,property:F,originalAppState:U,instantChange:z,scene:k})=>{let f=k.getNonDeletedElementsMap(),M=B[0],b=f.get(M.id);if(M&&b){let Z=A||Nw3(M),J=M.width/M.height;if(U.croppingElementId===M.id){let H=f.get(M.id);if(!H||!L1(H)||!H.crop)return;let l=H.crop,q={...l},L=H.scale[0]===-1,v=H.scale[1]===-1,{width:x,height:S}=hU(H),W=l.naturalWidth/x,T=l.naturalHeight/S,R=L?l.width+l.x:l.naturalWidth-l.x,Y=v?l.height+l.y:l.naturalHeight-l.y,h=z5*W,I=z5*T;if(D!==void 0){if(F==="width"){let a=D*W,$=r3(a,h,R);q={...q,width:$,x:L?l.x+l.width-$:l.x}}else if(F==="height"){let a=D*T,$=r3(a,I,Y);q={...q,height:$,y:v?l.y+l.height-$:l.y}}Su(H,{crop:q,width:q.width/(l.naturalWidth/x),height:q.height/(l.naturalHeight/S)});return}let O=F==="width"?z:0,V=F==="height"?z:0,j=r3(l.width+O,h,R),i=r3(l.height+V,h,Y);q={...l,x:L?l.x+l.width-j:l.x,y:v?l.y+l.height-i:l.y,width:j,height:i},Su(H,{crop:q,width:q.width/(l.naturalWidth/x),height:q.height/(l.naturalHeight/S)});return}if(D!==void 0){let H=Math.max(F==="width"?D:Z?D*J:M.width,iE),l=Math.max(F==="height"?D:Z?D/J:M.height,iE);hX(H,l,b,M,f,E,F==="width"?"e":"s",{shouldMaintainAspectRatio:Z});return}let K=F==="width"?u:0,w=F==="height"?u:0,Q=Math.max(0,M.width+K);F==="width"&&(C?Q=zB(Q,btu):Q=Math.round(Q));let G=Math.max(0,M.height+w);F==="height"&&(C?G=zB(G,btu):G=Math.round(G)),Z&&(F==="width"?G=Math.round(Q/J*100)/100:Q=Math.round(G*J*100)/100),G=Math.max(iE,G),Q=Math.max(iE,Q),hX(Q,G,b,M,f,E,F==="width"?"e":"s",{shouldMaintainAspectRatio:Z})}},hw3=({property:u,element:B,scene:E,appState:A})=>{let C=vD(u==="width"?B.width:B.height,2);if(A.croppingElementId&&A.croppingElementId===B.id&&L1(B)&&B.crop){let{width:D,height:F}=hU(B);if(u==="width"){let U=D/B.crop.naturalWidth;C=vD(B.crop.width*U,2)}if(u==="height"){let U=F/B.crop.naturalHeight;C=vD(B.crop.height*U,2)}}return P(If,{label:u==="width"?"W":"H",elements:[B],dragInputCallback:Vw3,value:C,editable:Tf(B,u),scene:E,appState:A,property:u})},Ztu=hw3,iw3=15,aw3=({accumulatedChange:u,originalElements:B,shouldChangeByStepSize:E,nextValue:A,scene:C})=>{let D=C.getNonDeletedElementsMap(),F=C.getNonDeletedElements(),U=B[0];if(U&&!Q4(U)){let z=D.get(U.id);if(!z)return;if(A!==void 0){let J=bZ(A);Su(z,{angle:J}),uG0(z,D,F,C);let K=Y3(z,D);K&&!j3(z)&&Su(K,{angle:J});return}let k=Math.round(GX(U.angle)*100)/100,f=Math.round(u),M=(k+f)%360;E&&(M=zB(M,iw3)),M=M<0?M+360:M;let b=bZ(M);Su(z,{angle:b}),uG0(z,D,F,C);let Z=Y3(z,D);Z&&!j3(z)&&Su(Z,{angle:b})}},mw3=({element:u,scene:B,appState:E,property:A})=>P(If,{label:"A",icon:FM0,value:Math.round(GX(u.angle)%360*100)/100,elements:[u],dragInputCallback:aw3,editable:Tf(u,"angle"),scene:B,appState:E,property:A}),$w3=mw3,Jtu=4,yw3=4,rw3=({accumulatedChange:u,originalElements:B,shouldChangeByStepSize:E,nextValue:A,scene:C})=>{let D=C.getNonDeletedElementsMap(),F=B[0];if(F){let U=D.get(F.id);if(!U||!M4(U))return;let z;if(A!==void 0)z=Math.max(Math.round(A),Jtu);else if(F.type==="text"){let k=Math.round(F.fontSize),f=Math.round(u);z=Math.max(k+f,Jtu),E&&(z=zB(z,yw3))}z&&(Su(U,{fontSize:z}),d7(U,C.getContainerElement(U),C.getNonDeletedElementsMap()))}},gw3=({element:u,scene:B,appState:E,property:A})=>{let C=M4(u)?u:r8(u)?Y3(u,B.getNonDeletedElementsMap()):null;return C?P(If,{label:"F",value:Math.round(C.fontSize*10)/10,elements:[C],dragInputCallback:rw3,icon:_O,appState:E,scene:B,property:A}):null},cw3=gw3,mv=10,_w3=(u,B,E,A)=>{let C=A.x-u,D=A.y-B,F=A.width*E,U=A.height*E,z=u+C*E,k=B+D*E;return{width:F,height:U,x:z,y:k,...Rn(A,F,U,!1),...M4(A)?{fontSize:A.fontSize*E}:{}}},pw3=(u,B,E,A,C,D,F,U)=>{let z=_w3(u,B,A,D);Su(C,z,!1);let k=Y3(D,U);if(k){let f=k.fontSize*A;_B(C,F,{newSize:{width:z.width,height:z.height}});let M=F.get(k.id);M&&M4(M)&&(Su(M,{fontSize:f},!1),TX(C,F,E==="width"?"e":"s",!0))}},Ktu=(u,B,E,A,C,D,F,U,z,k)=>{D==="width"?B=Math.round(u/A*100)/100:u=Math.round(B*A*100)/100;let f=B/E;for(let M=0;M<U.length;M++){let b=U[M],Z=F[M];pw3(C[0],C[1],D,f,Z,b,z,k)}},nw3=({accumulatedChange:u,originalElements:B,originalElementsMap:E,originalAppState:A,shouldChangeByStepSize:C,nextValue:D,scene:F,property:U})=>{let z=F.getNonDeletedElementsMap(),k=HG0(B,A);if(D!==void 0){for(let b of k){let Z=Uo(b,z,E);if(Z.length>1){let J=Z.map((S)=>S.latest),K=Z.map((S)=>S.original),[w,Q,G,H]=I1(K),l=G-w,q=H-Q,L=l/q,v=Math.max(iE,U==="width"?Math.max(0,D):l),x=Math.max(iE,U==="height"?Math.max(0,D):q);Ktu(v,x,q,L,t(w,Q),U,J,K,z,E)}else{let[J]=Z,K=J?.latest,w=J?.original;if(K&&w&&Tf(K,U)){let Q=U==="width"?Math.max(0,D):K.width;U==="width"&&(C?Q=zB(Q,mv):Q=Math.round(Q));let G=U==="height"?Math.max(0,D):K.height;U==="height"&&(C?G=zB(G,mv):G=Math.round(G)),Q=Math.max(iE,Q),G=Math.max(iE,G),hX(Q,G,K,w,z,E,U==="width"?"e":"s",{shouldInformMutation:!1})}}}F.triggerUpdate();return}let f=U==="width"?u:0,M=U==="height"?u:0;for(let b of k){let Z=Uo(b,z,E);if(Z.length>1){let J=Z.map((S)=>S.latest),K=Z.map((S)=>S.original),[w,Q,G,H]=I1(K),l=G-w,q=H-Q,L=l/q,v=Math.max(0,l+f);U==="width"&&(C?v=zB(v,mv):v=Math.round(v));let x=Math.max(0,q+M);U==="height"&&(C?x=zB(x,mv):x=Math.round(x)),v=Math.max(iE,v),x=Math.max(iE,x),Ktu(v,x,q,L,t(w,Q),U,J,K,z,E)}else{let[J]=Z,K=J?.latest,w=J?.original;if(K&&w&&Tf(K,U)){let Q=Math.max(0,w.width+f);U==="width"&&(C?Q=zB(Q,mv):Q=Math.round(Q));let G=Math.max(0,w.height+M);U==="height"&&(C?G=zB(G,mv):G=Math.round(G)),Q=Math.max(iE,Q),G=Math.max(iE,G),hX(Q,G,K,w,z,E,U==="width"?"e":"s",{shouldInformMutation:!1})}}}F.triggerUpdate()},dw3=({property:u,elements:B,elementsMap:E,atomicUnits:A,scene:C,appState:D})=>{let F=Fu4.useMemo(()=>A.map((k)=>{let f=Uo(k,E);if(f.length>1){let[b,Z,J,K]=I1(f.map((w)=>w.latest));return Math.round((u==="width"?J-b:K-Z)*100)/100}let[M]=f;return Math.round((u==="width"?M.latest.width:M.latest.height)*100)/100}),[E,A,u]),U=new Set(F).size===1?Math.round(F[0]*100)/100:"Mixed",z=F.length>0;return P(If,{label:u==="width"?"W":"H",elements:B,dragInputCallback:nw3,value:U,editable:z,appState:D,property:u,scene:C})},wtu=dw3,sw3=15,ow3=({accumulatedChange:u,originalElements:B,shouldChangeByStepSize:E,nextValue:A,property:C,scene:D})=>{let F=D.getNonDeletedElementsMap(),U=B.map((k)=>F.get(k.id)).filter((k)=>k&&!pQ(k)&&Tf(k,C)),z=B.filter((k)=>!pQ(k)&&Tf(k,C));if(A!==void 0){let k=bZ(A);for(let f of U){if(!f)continue;Su(f,{angle:k},!1);let M=Y3(f,F);M&&!j3(f)&&Su(M,{angle:k},!1)}D.triggerUpdate();return}for(let k=0;k<U.length;k++){let f=U[k];if(!f)continue;let M=z[k],b=Math.round(GX(M.angle)*100)/100,Z=Math.round(u),J=(b+Z)%360;E&&(J=zB(J,sw3)),J=J<0?J+360:J;let K=bZ(J);Su(f,{angle:K},!1);let w=Y3(f,F);w&&!j3(f)&&Su(w,{angle:K},!1)}D.triggerUpdate()},tw3=({elements:u,scene:B,appState:E,property:A})=>{let C=u.filter((z)=>!pQ(z)&&Tf(z,"angle")),D=C.map((z)=>Math.round(GX(z.angle)%360*100)/100),F=new Set(D).size===1?D[0]:"Mixed",U=C.some((z)=>Tf(z,"angle"));return P(If,{label:"A",icon:FM0,value:F,elements:u,dragInputCallback:ow3,editable:U,appState:E,scene:B,property:A})},ew3=tw3,Qtu=4,uQ3=4,BQ3=(u,B)=>u.reduce((E,A)=>{if(!A||pQ(A))return E;if(M4(A))return E.push(A),E;if(r8(A)){let C=Y3(A,B);if(C)return E.push(C),E}return E},[]),EQ3=({accumulatedChange:u,originalElements:B,shouldChangeByStepSize:E,nextValue:A,scene:C})=>{let D=C.getNonDeletedElementsMap(),F=B.map((z)=>D.get(z.id)),U;if(A){U=Math.max(Math.round(A),Qtu);for(let z of F)Su(z,{fontSize:U},!1),d7(z,C.getContainerElement(z),D,!1);C.triggerUpdate()}else{let z=B;for(let k=0;k<F.length;k++){let f=F[k],M=z[k],b=Math.round(M.fontSize),Z=Math.round(u),J=Math.max(b+Z,Qtu);E&&(J=zB(J,uQ3)),Su(f,{fontSize:J},!1),d7(f,C.getContainerElement(f),D,!1)}C.triggerUpdate()}},AQ3=({elements:u,scene:B,appState:E,property:A,elementsMap:C})=>{let D=BQ3(u,C);if(!D.length)return null;let F=D.map((k)=>Math.round(k.fontSize*10)/10),U=new Set(F).size===1?F[0]:"Mixed",z=F.length>0;return P(If,{label:"F",icon:_O,elements:D,dragInputCallback:EQ3,value:U,editable:z,scene:B,property:A,appState:E})},CQ3=AQ3,Gtu=10,DQ3=({accumulatedChange:u,instantChange:B,originalElements:E,originalElementsMap:A,shouldChangeByStepSize:C,nextValue:D,property:F,scene:U,originalAppState:z})=>{let k=U.getNonDeletedElementsMap(),f=U.getNonDeletedElements(),M=E[0],[b,Z]=[M.x+M.width/2,M.y+M.height/2],[J,K]=lu(t(M.x,M.y),t(b,Z),M.angle);if(z.croppingElementId===M.id){let l=k.get(M.id);if(!l||!L1(l)||!l.crop)return;let q=l.crop,L=q,v=l.scale[0]===-1,x=l.scale[1]===-1,{width:S,height:W}=hU(l);if(D!==void 0){if(F==="x"){let Y=D*(q.naturalWidth/S);v?L={...q,x:r3(q.naturalWidth-Y-q.width,0,q.naturalWidth-q.width)}:L={...q,x:r3(D*(q.naturalWidth/S),0,q.naturalWidth-q.width)}}F==="y"&&(L={...q,y:r3(D*(q.naturalHeight/W),0,q.naturalHeight-q.height)}),Su(l,{crop:L});return}let T=(F==="x"?B:0)*(v?-1:1),R=(F==="y"?B:0)*(x?-1:1);L={...q,x:r3(q.x+T,0,q.naturalWidth-q.width),y:r3(q.y+R,0,q.naturalHeight-q.height)},Su(l,{crop:L});return}if(D!==void 0){eP(F==="x"?D:J,F==="y"?D:K,M,k,f,U,A);return}let w=F==="x"?u:0,Q=F==="y"?u:0,G=F==="x"?Math.round(C?zB(M.x+w,Gtu):J+w):J,H=F==="y"?Math.round(C?zB(M.y+Q,Gtu):K+Q):K;eP(G,H,M,k,f,U,A)},FQ3=({property:u,element:B,elementsMap:E,scene:A,appState:C})=>{let[D,F]=lu(t(B.x,B.y),t(B.x+B.width/2,B.y+B.height/2),B.angle),U=vD(u==="x"?D:F,2);if(C.croppingElementId===B.id&&L1(B)&&B.crop){let z=ybu(B);z&&(U=vD(u==="x"?z.x:z.y,2))}return P(If,{label:u==="x"?"X":"Y",elements:[B],dragInputCallback:DQ3,scene:A,value:U,property:u,appState:C})},Htu=FQ3,UQ3=10,zQ3=(u,B,E,A,C,D,F,U)=>{for(let z=0;z<A.length;z++){let k=C[z],[f,M]=[k.x+k.width/2,k.y+k.height/2],[b,Z]=lu(t(k.x,k.y),t(f,M),k.angle),J=u==="x"?Math.round(b+B):b,K=u==="y"?Math.round(Z+E):Z;eP(J,K,k,D,A,U,F,!1)}},kQ3=(u,B,E,A,C,D,F)=>{let[U,z,,]=I1(E),k=u-U,f=B-z;for(let M=0;M<E.length;M++){let b=E[M],Z=A.get(b.id);if(Z&&(!M4(Z)||!Z.containerId)){let[J,K]=[Z.x+Z.width/2,Z.y+Z.height/2],[w,Q]=lu(t(Z.x,Z.y),t(J,K),Z.angle);eP(w+k,Q+f,b,A,C,F,D,!1)}}},fQ3=({accumulatedChange:u,originalElements:B,originalElementsMap:E,shouldChangeByStepSize:A,nextValue:C,property:D,scene:F,originalAppState:U})=>{let z=F.getNonDeletedElementsMap(),k=F.getNonDeletedElements();if(C!==void 0){for(let M of HG0(B,U)){let b=Uo(M,z,E);if(b.length>1){let[Z,J,,]=I1(b.map((K)=>K.latest));kQ3(D==="x"?C:Z,D==="y"?C:J,b.map((K)=>K.original),z,k,E,F)}else{let Z=b[0]?.original,J=b[0]?.latest;if(Z&&J&&Tf(J,D)){let[K,w]=[Z.x+Z.width/2,Z.y+Z.height/2],[Q,G]=lu(t(Z.x,Z.y),t(K,w),Z.angle);eP(D==="x"?C:Q,D==="y"?C:G,Z,z,k,F,E,!1)}}}F.triggerUpdate();return}let f=A?zB(u,UQ3):u;zQ3(D,D==="x"?f:0,D==="y"?f:0,B,B,z,E,F),F.triggerUpdate()},MQ3=({property:u,elements:B,elementsMap:E,atomicUnits:A,scene:C,appState:D})=>{let F=Uu4.useMemo(()=>A.map((z)=>{let k=Object.keys(z).map((K)=>E.get(K)).filter((K)=>K!==void 0);if(k.length>1){let[K,w]=I1(k);return Math.round((u==="x"?K:w)*100)/100}let[f]=k,[M,b]=[f.x+f.width/2,f.y+f.height/2],[Z,J]=lu(t(f.x,f.y),t(M,b),f.angle);return Math.round((u==="x"?Z:J)*100)/100}),[A,E,u]),U=new Set(F).size===1?F[0]:"Mixed";return P(If,{label:u==="x"?"X":"Y",elements:B,dragInputCallback:fQ3,value:U,property:u,scene:C,appState:D})},qtu=MQ3,ltu=5,bQ3=({property:u,scene:B,appState:E,setAppState:A})=>P(If,{label:"Grid step",sensitivity:8,elements:[],dragInputCallback:({nextValue:C,instantChange:D,shouldChangeByStepSize:F,setInputValue:U})=>{A((z)=>{let k;return C?k=C:D&&(k=F?zB(z.gridStep+ltu*Math.sign(D),ltu):z.gridStep+D),k?(k=jM0(k),U(k),{gridStep:k}):(U(z.gridStep),null)})},scene:B,value:E.gridStep,property:u,appState:E}),ZQ3=bQ3,JQ3=50,qG0=(u)=>{let B=Cj(),E=u.app.scene.getSceneNonce()||1,A=u.app.scene.getSelectedElements({selectedElementIds:B.selectedElementIds,includeBoundTextElement:!1}),C=RX(u.app);return P(KQ3,{...u,appState:B,sceneNonce:E,selectedElements:A,gridModeEnabled:C})},m6=({children:u,columns:B=1,heading:E,style:A,...C})=>P("div",{className:Yu("exc-stats__row",{"exc-stats__row--heading":E}),style:{gridTemplateColumns:`repeat(${B}, 1fr)`,...A},...C,children:u});m6.displayName="StatsRow";var zo=({children:u,order:B,style:E,...A})=>P("div",{className:"exc-stats__rows",style:{order:B,...E},...A,children:u});zo.displayName="StatsRows";qG0.StatsRow=m6;qG0.StatsRows=zo;var KQ3=EF.memo(({app:u,onClose:B,renderCustomStats:E,selectedElements:A,appState:C,sceneNonce:D,gridModeEnabled:F})=>{let U=u.scene,z=U.getNonDeletedElements(),k=U.getNonDeletedElementsMap(),f=a2(),M=A.length===1?A[0]:null,b=A.length>1?A:null,Z=C.croppingElementId&&L1(M),J=Z?hU(M):null,[K,w]=EF.useState({width:0,height:0}),Q=EF.useMemo(()=>Du4.default((l)=>{let q=I1(l);w({width:Math.round(q[2])-Math.round(q[0]),height:Math.round(q[3])-Math.round(q[1])})},JQ3),[]);EF.useEffect(()=>{Q(z)},[D,z,Q]),EF.useEffect(()=>()=>Q.cancel(),[Q]);let G=EF.useMemo(()=>HG0(A,C),[A,C]),H=EF.useMemo(()=>xb0(A),[A]);return P("div",{className:"exc-stats",children:M0(BF,{padding:3,children:[M0("div",{className:"title",children:[P("h2",{children:C0("stats.title")}),P("div",{className:"close",onClick:B,children:gQ})]}),M0($Q0,{label:P("h3",{children:C0("stats.generalStats")}),open:!!(C.stats.panels&WQ.generalStats),openTrigger:()=>f((l)=>({stats:{open:!0,panels:l.stats.panels^WQ.generalStats}})),children:[M0(zo,{children:[P(m6,{heading:!0,children:C0("stats.scene")}),M0(m6,{columns:2,children:[P("div",{children:C0("stats.shapes")}),P("div",{children:z.length})]}),M0(m6,{columns:2,children:[P("div",{children:C0("stats.width")}),P("div",{children:K.width})]}),M0(m6,{columns:2,children:[P("div",{children:C0("stats.height")}),P("div",{children:K.height})]}),F&&M0(tu,{children:[P(m6,{heading:!0,children:"Canvas"}),P(m6,{children:P(ZQ3,{property:"gridStep",scene:U,appState:C,setAppState:f})})]})]}),E?.(z,C)]}),!H&&A.length>0&&P("div",{id:"elementStats",style:{marginTop:12},children:P($Q0,{label:P("h3",{children:C0("stats.elementProperties")}),open:!!(C.stats.panels&WQ.elementProperties),openTrigger:()=>f((l)=>({stats:{open:!0,panels:l.stats.panels^WQ.elementProperties}})),children:M0(zo,{children:[M&&M0(tu,{children:[Z&&P(m6,{heading:!0,children:C0("labels.unCroppedDimension")}),C.croppingElementId&&L1(M)&&J&&M0(m6,{columns:2,children:[P("div",{children:C0("stats.width")}),P("div",{children:vD(J.width,2)})]}),C.croppingElementId&&L1(M)&&J&&M0(m6,{columns:2,children:[P("div",{children:C0("stats.height")}),P("div",{children:vD(J.height,2)})]}),P(m6,{heading:!0,"data-testid":"stats-element-type",children:C.croppingElementId?C0("labels.imageCropping"):C0(`element.${M.type}`)}),P(m6,{children:P(Htu,{element:M,property:"x",elementsMap:k,scene:U,appState:C})}),P(m6,{children:P(Htu,{element:M,property:"y",elementsMap:k,scene:U,appState:C})}),P(m6,{children:P(Ztu,{property:"width",element:M,scene:U,appState:C})}),P(m6,{children:P(Ztu,{property:"height",element:M,scene:U,appState:C})}),!Q4(M)&&P(m6,{children:P($w3,{property:"angle",element:M,scene:U,appState:C})}),P(m6,{children:P(cw3,{property:"fontSize",element:M,scene:U,appState:C})})]}),b&&M0(tu,{children:[aM0(b)&&P(m6,{heading:!0,children:C0("element.group")}),M0(m6,{columns:2,style:{margin:"0.3125rem 0"},children:[P("div",{children:C0("stats.shapes")}),P("div",{children:A.length})]}),P(m6,{children:P(qtu,{property:"x",elements:b,elementsMap:k,atomicUnits:G,scene:U,appState:C})}),P(m6,{children:P(qtu,{property:"y",elements:b,elementsMap:k,atomicUnits:G,scene:U,appState:C})}),P(m6,{children:P(wtu,{property:"width",elements:b,elementsMap:k,atomicUnits:G,scene:U,appState:C})}),P(m6,{children:P(wtu,{property:"height",elements:b,elementsMap:k,atomicUnits:G,scene:U,appState:C})}),P(m6,{children:P(ew3,{property:"angle",elements:b,scene:U,appState:C})}),P(m6,{children:P(CQ3,{property:"fontSize",elements:b,scene:U,appState:C,elementsMap:k})})]})]})})})]})})},(u,B)=>u.sceneNonce===B.sceneNonce&&u.selectedElements===B.selectedElements&&u.appState.stats.panels===B.appState.stats.panels&&u.gridModeEnabled===B.gridModeEnabled&&u.appState.gridStep===B.appState.gridStep&&u.appState.croppingElementId===B.appState.croppingElementId),wQ3=({sourceElementId:u,onClose:B,elementsMap:E,appState:A,generateLinkForSelection:C=Db0})=>{let D=E.get(u)?.link??null,[F,U]=qJ.useState(D),[z,k]=qJ.useState(!1);qJ.useEffect(()=>{let M=N3(E,A),b=D;if(M.length>0&&C){let Z=Fb0(M,A);Z&&(b=$8(C(Z.id,Z.type)))}U(b)},[E,A,A.selectedElementIds,D,C]);let f=qJ.useCallback(()=>{if(F&&F!==E.get(u)?.link){let M=E.get(u);M&&Su(M,{link:F})}if(!F&&z&&u){let M=E.get(u);M&&Su(M,{link:null})}B?.()},[u,F,E,z,B]);return qJ.useEffect(()=>{let M=(b)=>{A.openDialog?.name==="elementLinkSelector"&&b.key===r0.ENTER&&f(),A.openDialog?.name==="elementLinkSelector"&&b.key===r0.ESCAPE&&B?.()};return window.addEventListener("keydown",M),()=>{window.removeEventListener("keydown",M)}},[A,B,f]),M0("div",{className:"ElementLinkDialog",children:[M0("div",{className:"ElementLinkDialog__header",children:[P("h2",{children:C0("elementLink.title")}),P("p",{children:C0("elementLink.desc")})]}),M0("div",{className:"ElementLinkDialog__input",children:[P(KG0,{value:F??"",onChange:(M)=>{z||k(!0),U(M)},onKeyDown:(M)=>{M.key===r0.ENTER&&f()},className:"ElementLinkDialog__input-field",selectOnRender:!0}),D&&F&&P(C1,{type:"button",title:C0("buttons.remove"),"aria-label":C0("buttons.remove"),label:C0("buttons.remove"),onClick:()=>{U(null),k(!0)},className:"ElementLinkDialog__remove",icon:YZ})]}),M0("div",{className:"ElementLinkDialog__actions",children:[P(cv,{label:C0("buttons.cancel"),onClick:()=>{B?.()},style:{marginRight:10}}),P(cv,{label:C0("buttons.confirm"),onClick:f,actionType:"primary"})]})]})},QQ3=wQ3,GQ3=({UIOptions:u})=>M0(o8,{__fallback:!0,children:[P(o8.DefaultItems.LoadScene,{}),P(o8.DefaultItems.SaveToActiveFile,{}),u.canvasActions.export&&P(o8.DefaultItems.Export,{}),u.canvasActions.saveAsImage&&P(o8.DefaultItems.SaveAsImage,{}),P(o8.DefaultItems.SearchMenu,{}),P(o8.DefaultItems.Help,{}),P(o8.DefaultItems.ClearCanvas,{}),P(o8.Separator,{}),P(o8.Group,{title:"Excalidraw links",children:P(o8.DefaultItems.Socials,{})}),P(o8.Separator,{}),P(o8.DefaultItems.ToggleTheme,{}),P(o8.DefaultItems.ChangeCanvasBackground,{})]}),HQ3=()=>M0(RQ0,{__fallback:!0,children:[P(RQ0.Actions.SaveToDisk,{}),P(RQ0.Actions.ExportToImage,{})]}),qQ3=({actionManager:u,appState:B,files:E,setAppState:A,elements:C,canvas:D,onLockToggle:F,onHandToolToggle:U,onPenModeToggle:z,showExitZenModeBtn:k,renderTopRightUI:f,renderCustomStats:M,UIOptions:b,onExportImage:Z,renderWelcomeScreen:J,children:K,app:w,isCollaborating:Q,generateLinkForSelection:G})=>{let H=H5(),l=FK3(),q=l.tunnelsJotai.Provider,[L,v]=j9(Ho),x=()=>b.canvasActions.export?P(Ew3,{elements:C,appState:B,files:E,actionManager:u,exportOpts:b.canvasActions.export,canvas:D,setAppState:A}):null,S=()=>!b.canvasActions.saveAsImage||B.openDialog?.name!=="imageExport"?null:P(OK3,{elements:C,appState:B,files:E,actionManager:u,onExportImage:Z,onCloseRequest:()=>A({openDialog:null}),name:w.getName()}),W=()=>M0("div",{style:{position:"relative"},children:[P(l.MainMenuTunnel.Out,{}),J&&P(l.WelcomeScreenMenuHintTunnel.Out,{})]}),T=()=>P(oP,{heading:"selectedShapeActions",className:Yu("selected-shape-actions zen-mode-transition",{"transition-left":B.zenModeEnabled}),children:P(BF,{className:NQ.SHAPE_ACTIONS_MENU,padding:2,style:{maxHeight:`${B.height-166}px`},children:P(seu,{appState:B,elementsMap:w.scene.getNonDeletedElementsMap(),renderAction:u.renderAction,app:w})})}),R=()=>{let O=Tn(B,C),V=B.stats.open&&!B.zenModeEnabled&&!B.viewModeEnabled&&B.openDialog?.name!=="elementLinkSelector";return P(k04,{side:"top",children:M0("div",{className:"App-menu App-menu_top",children:[M0(FC.Col,{gap:6,className:Yu("App-menu_top__left"),children:[W(),O&&T()]}),!B.viewModeEnabled&&B.openDialog?.name!=="elementLinkSelector"&&P(oP,{heading:"shapes",className:"shapes-section",children:(j)=>M0("div",{style:{position:"relative"},children:[J&&P(l.WelcomeScreenToolbarHintTunnel.Out,{}),P(FC.Col,{gap:4,align:"start",children:M0(FC.Row,{gap:1,className:Yu("App-toolbar-container",{"zen-mode":B.zenModeEnabled}),children:[M0(BF,{padding:1,className:Yu("App-toolbar",{"zen-mode":B.zenModeEnabled}),children:[P(b04,{appState:B,isMobile:H.editor.isMobile,device:H,app:w}),j,M0(FC.Row,{gap:1,children:[P(J04,{zenModeEnabled:B.zenModeEnabled,checked:B.penMode,onChange:()=>z(null),title:C0("toolBar.penMode"),penDetected:B.penDetected}),P(Z04,{checked:B.activeTool.locked,onChange:F,title:C0("toolBar.lock")}),P("div",{className:"App-toolbar__divider"}),P(K04,{checked:aQ(B),onChange:()=>U(),title:C0("toolBar.hand"),isMobile:!0}),P(oeu,{appState:B,activeTool:B.activeTool,UIOptions:b,app:w})]})]}),Q&&P(BF,{style:{marginLeft:8,alignSelf:"center",height:"fit-content"},children:P(Lw3,{title:C0("toolBar.laser"),checked:B.activeTool.type===I2.laser,onChange:()=>w.setActiveTool({type:I2.laser}),isMobile:!0})})]})})]})}),M0("div",{className:Yu("layer-ui__wrapper__top-right zen-mode-transition",{"transition-right":B.zenModeEnabled}),children:[B.collaborators.size>0&&P(Q04,{collaborators:B.collaborators,userToFollow:B.userToFollow?.socketId||null}),f?.(H.editor.isMobile,B),!B.viewModeEnabled&&B.openDialog?.name!=="elementLinkSelector"&&(!h||B.openSidebar?.name!==_A.name)&&P(l.DefaultSidebarTriggerTunnel.Out,{}),V&&P(qG0,{app:w,onClose:()=>{u.executeAction(cQ0)},renderCustomStats:M})]})]})})},Y=()=>P(ftu,{__fallback:!0,onDock:(O)=>{l6("sidebar",`toggleDock (${O?"dock":"undock"})`,`(${H.editor.isMobile?"mobile":"desktop"})`)}}),h=Ntu(wG0),I=M0(tu,{children:[K,P(GQ3,{UIOptions:b}),P(ftu.Trigger,{__fallback:!0,icon:Yp,title:HX(C0("toolBar.library")),onToggle:(O)=>{O&&l6("sidebar",`${_A.name} (open)`,`button (${H.editor.isMobile?"mobile":"desktop"})`)},tab:_A.defaultTab,children:C0("toolBar.library")}),P(HQ3,{}),B.openDialog?.name==="ttd"&&P(Ow3,{__fallback:!0}),B.isLoading&&P(atu,{delay:250}),B.errorMessage&&P(xK3,{onClose:()=>A({errorMessage:null}),children:B.errorMessage}),L&&!H.editor.isMobile&&P(eb3,{colorPickerType:L.colorPickerType,onCancel:()=>{v(null)},onChange:(O,V,j,{altKey:i})=>{if(!(O!=="elementBackground"&&O!=="elementStroke"))if(j.length){for(let a of j)Su(a,{[i&&L.swapPreviewOnAlt?O==="elementBackground"?"strokeColor":"backgroundColor":O==="elementBackground"?"backgroundColor":"strokeColor"]:V},!1),s6.delete(a);aU.getScene(j[0])?.triggerUpdate()}else A(O==="elementBackground"?{currentItemBackgroundColor:V}:{currentItemStrokeColor:V})},onSelect:(O,V)=>{v((j)=>j?.keepOpenOnAlt&&V.altKey?j:null),L?.onSelect?.(O,V)}}),B.openDialog?.name==="help"&&P(sK3,{onClose:()=>{A({openDialog:null})}}),P(MK3,{}),B.openDialog?.name==="elementLinkSelector"&&P(QQ3,{sourceElementId:B.openDialog.sourceElementId,onClose:()=>{A({openDialog:null})},elementsMap:w.scene.getNonDeletedElementsMap(),appState:B,generateLinkForSelection:G}),P(l.OverwriteConfirmDialogTunnel.Out,{}),S(),x(),B.pasteDialog.shown&&P(gK3,{setAppState:A,appState:B,onClose:()=>A({pasteDialog:{shown:!1,data:null}})}),H.editor.isMobile&&P(rK3,{app:w,appState:B,elements:C,actionManager:u,renderJSONExportDialog:x,renderImageExportDialog:S,setAppState:A,onLockToggle:F,onHandToolToggle:U,onPenModeToggle:z,renderTopRightUI:f,renderCustomStats:M,renderSidebars:Y,device:H,renderWelcomeScreen:J,UIOptions:b}),!H.editor.isMobile&&M0(tu,{children:[M0("div",{className:"layer-ui__wrapper",style:B.openSidebar&&h&&H.editor.canFitSidebar?{width:"calc(100% - var(--right-sidebar-width))"}:{},children:[J&&P(l.WelcomeScreenCenterTunnel.Out,{}),R(),P(Cw3,{appState:B,actionManager:u,showExitZenModeBtn:k,renderWelcomeScreen:J}),B.scrolledOutside&&P("button",{type:"button",className:"scroll-back-to-content",onClick:()=>{A((O)=>({...SX(C,O)}))},children:C0("buttons.scrollBackToContent")})]}),Y()]})]});return P(ttu.Provider,{value:B,children:P(q,{children:P(peu.Provider,{value:l,children:I})})})},Ltu=(u)=>{let{suggestedBindings:B,startBoundElement:E,cursorButton:A,scrollX:C,scrollY:D,...F}=u;return F},lQ3=(u,B)=>{if(u.children!==B.children)return!1;let{canvas:E,appState:A,...C}=u,{canvas:D,appState:F,...U}=B;return y5(Ltu(A),Ltu(F),{selectedElementIds:y5,selectedGroupIds:y5})&&y5(C,U)},LQ3=U04.default.memo(qQ3,lQ3),XQ3=5000,vQ3=({message:u,onClose:B,closable:E=!1,duration:A=XQ3,style:C})=>{let D=tv.useRef(0),F=A!==1/0,U=tv.useCallback(()=>{F&&(D.current=window.setTimeout(()=>B(),A))},[B,A,F]);return tv.useEffect(()=>{if(F)return U(),()=>clearTimeout(D.current)},[U,u,A,F]),M0("div",{className:"Toast",onMouseEnter:F?()=>clearTimeout(D?.current):void 0,onMouseLeave:F?U:void 0,style:C,children:[P("p",{className:"Toast__message",children:u}),E&&P(C1,{icon:gQ,"aria-label":"close",type:"icon",onClick:B,className:"close"})]})},Xtu=C4({name:"viewMode",label:"labels.viewMode",paletteName:"Toggle view mode",icon:ip,viewMode:!0,trackEvent:{category:"canvas",predicate:(u)=>!u.viewModeEnabled},perform(u,B){return{appState:{...B,viewModeEnabled:!this.checked(B)},captureUpdate:Xu.EVENTUALLY}},checked:(u)=>u.viewModeEnabled,predicate:(u,B,E)=>typeof E.viewModeEnabled>"u",keyTest:(u)=>!u[r0.CTRL_OR_CMD]&&u.altKey&&u.code===z1.R}),ku4=(u,B)=>{let E=B.scene.getSelectedElements(u);return E.length===1&&u3(E[0])},xQ3=C4({name:"selectAllElementsInFrame",label:"labels.selectAllElementsInFrame",trackEvent:{category:"canvas"},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B).at(0)||null;if(u3(C)){let D=RD(f6(u),C.id).filter((F)=>!(F.type==="text"&&F.containerId));return{elements:u,appState:{...B,selectedElementIds:D.reduce((F,U)=>(F[U.id]=!0,F),{})},captureUpdate:Xu.IMMEDIATELY}}return{elements:u,appState:B,captureUpdate:Xu.EVENTUALLY}},predicate:(u,B,E,A)=>ku4(B,A)}),WQ3=C4({name:"removeAllElementsFromFrame",label:"labels.removeAllElementsFromFrame",trackEvent:{category:"history"},perform:(u,B,E,A)=>{let C=A.scene.getSelectedElements(B).at(0)||null;return u3(C)?{elements:Lb0(u,C),appState:{...B,selectedElementIds:{[C.id]:!0}},captureUpdate:Xu.IMMEDIATELY}:{elements:u,appState:B,captureUpdate:Xu.EVENTUALLY}},predicate:(u,B,E,A)=>ku4(B,A)}),ka1=C4({name:"updateFrameRendering",label:"labels.updateFrameRendering",viewMode:!0,trackEvent:{category:"canvas"},perform:(u,B)=>({elements:u,appState:{...B,frameRendering:{...B.frameRendering,enabled:!B.frameRendering.enabled}},captureUpdate:Xu.EVENTUALLY}),checked:(u)=>u.frameRendering.enabled}),fa1=C4({name:"setFrameAsActiveTool",label:"toolBar.frame",trackEvent:{category:"toolbar"},icon:kM0,viewMode:!1,perform:(u,B,E,A)=>{let C=n9(B,{type:"frame"});return xD(A.interactiveCanvas,{...B,activeTool:C}),{elements:u,appState:{...B,activeTool:n9(B,{type:"frame"})},captureUpdate:Xu.EVENTUALLY}},keyTest:(u)=>!u[r0.CTRL_OR_CMD]&&!u.shiftKey&&!u.altKey&&u.key.toLocaleLowerCase()===r0.F}),SQ3=C4({name:"wrapSelectionInFrame",label:"labels.wrapSelectionInFrame",trackEvent:{category:"element"},predicate:(u,B,E,A)=>{let C=N3(u,B);return C.length>0&&!C.some((D)=>u3(D))},perform:(u,B,E,A)=>{let C=N3(u,B),[D,F,U,z]=I1(C,A.scene.getNonDeletedElementsMap()),k=16,f=Cn({x:D-k,y:F-k,width:U-D+k*2,height:z-F+k*2});if(B.editingGroupId){let M=W6(C,B.editingGroupId);for(let b of M){let Z=b.groupIds.indexOf(B.editingGroupId);Su(b,{groupIds:b.groupIds.slice(0,Z)},!1)}}return{elements:NX([...A.scene.getElementsIncludingDeleted(),f],C,f,B),appState:{selectedElementIds:{[f.id]:!0}},captureUpdate:Xu.IMMEDIATELY}}}),YQ3=()=>M0("div",{"data-testid":"brave-measure-text-error",children:[P("p",{children:P(kz,{i18nKey:"errors.brave_measure_text_error.line1",bold:(u)=>P("span",{style:{fontWeight:600},children:u})})}),P("p",{children:P(kz,{i18nKey:"errors.brave_measure_text_error.line2",bold:(u)=>P("span",{style:{fontWeight:600},children:u})})}),P("p",{children:P(kz,{i18nKey:"errors.brave_measure_text_error.line3",link:(u)=>P("a",{href:"http://docs.excalidraw.com/docs/@excalidraw/excalidraw/faq#turning-off-aggresive-block-fingerprinting-in-brave-browser",children:u})})}),P("p",{children:P(kz,{i18nKey:"errors.brave_measure_text_error.line4",issueLink:(u)=>P("a",{href:"https://github.com/excalidraw/excalidraw/issues/new",children:u}),discordLink:(u)=>M0("a",{href:"https://discord.gg/UexuTaE",children:[u,"."]})})})]}),RQ3=YQ3,ss={width:100,height:0},QJ=100,TQ3=(u,B,E)=>{let A=y8({x:0,y:0,textAlign:zX.CENTER,verticalAlign:m8.MIDDLE,...B,containerId:u.id,strokeColor:B.strokeColor||u.strokeColor});return Object.assign(u,{boundElements:(u.boundElements||[]).concat({type:"text",id:A.id})}),d7(A,u,E),[u,A]},vtu=(u,B,E,A,C)=>{let D,F;if(Object.assign(u,{startBinding:u?.startBinding||null,endBinding:u.endBinding||null}),B){let f=B?.width??QJ,M=B?.height??QJ,b;B.id&&(b=A.getElement(B.id),b||console.error(`No element for start binding with id ${B.id} found`));let Z=B.x||u.x-f,J=B.y||u.y-M/2,K=b?b.type:B.type;if(K){if(K==="text"){let w="";b&&b.type==="text"?w=b.text:B.type==="text"&&(w=B.text),w||console.error(`No text found for start binding text element for ${u.id}`),D=y8({x:Z,y:J,type:"text",...b,...B,text:w}),Object.assign(D,{x:B.x||u.x-D.width,y:B.y||u.y-D.height/2})}else switch(K){case"rectangle":case"ellipse":case"diamond":{D=SD({x:Z,y:J,width:f,height:M,...b,...B,type:K});break}default:xZ(u,`Unhandled element start type "${B.type}"`,!0)}QD(u,D,"start",C)}}if(E){let f=E?.height??QJ,M=E?.width??QJ,b;E.id&&(b=A.getElement(E.id),b||console.error(`No element for end binding with id ${E.id} found`));let Z=E.x||u.x+u.width,J=E.y||u.y-f/2,K=b?b.type:E.type;if(K){if(K==="text"){let w="";b&&b.type==="text"?w=b.text:E.type==="text"&&(w=E.text),w||console.error(`No text found for end binding text element for ${u.id}`),F=y8({x:Z,y:J,type:"text",...b,...E,text:w}),Object.assign(F,{y:E.y||u.y-F.height/2})}else switch(K){case"rectangle":case"ellipse":case"diamond":{F=SD({x:Z,y:J,width:M,height:f,...b,...E,type:K});break}default:xZ(u,`Unhandled element end type "${K}"`,!0)}QD(u,F,"end",C)}}if(u.points.length<2)return{linearElement:u,startBoundElement:D,endBoundElement:F};let U=u.points.length-1,z=0.5,k=yU(u.points);return u.points[U][0]>u.points[U-1][0]&&(k[0][0]=z,k[U][0]-=z),u.points[U][0]<u.points[U-1][0]&&(k[0][0]=-z,k[U][0]+=z),u.points[U][1]>u.points[U-1][1]&&(k[0][1]=z,k[U][1]-=z),u.points[U][1]<u.points[U-1][1]&&(k[0][1]=-z,k[U][1]+=z),Object.assign(u,{points:k}),{linearElement:u,startBoundElement:D,endBoundElement:F}},OQ3=class{constructor(){j0(this,"excalidrawElements",new Map),j0(this,"add",(u)=>{u&&this.excalidrawElements.set(u.id,u)}),j0(this,"getElements",()=>_U(Array.from(this.excalidrawElements.values()))),j0(this,"getElementsMap",()=>VE(e4(this.getElements()))),j0(this,"getElement",(u)=>this.excalidrawElements.get(u))}},uj=(u,B)=>{if(!u)return[];let E=yU(u),A=new OQ3,C=new Map,D=new Map;for(let U of E){let z,k=U.id;switch(B?.regenerateIds!==!1&&Object.assign(U,{id:hE()}),U.type){case"rectangle":case"ellipse":case"diamond":{let f=U?.label?.text&&U.width===void 0?0:U?.width||QJ,M=U?.label?.text&&U.height===void 0?0:U?.height||QJ;z=SD({...U,width:f,height:M});break}case"line":{let f=U.width||ss.width,M=U.height||ss.height;z=JZ({width:f,height:M,points:[t(0,0),t(f,M)],...U});break}case"arrow":{let f=U.width||ss.width,M=U.height||ss.height;z=Fn({width:f,height:M,endArrowhead:"arrow",points:[t(0,0),t(f,M)],...U,type:"arrow"}),Object.assign(z,OQ(z.points));break}case"text":{let f=U?.fontFamily||ff,M=U?.fontSize||mU,b=U?.lineHeight||TZ(f),Z=U.text??"",J=rQ(Z),K=X7(J,B6({fontFamily:f,fontSize:M}),b);z=y8({width:K.width,height:K.height,fontFamily:f,fontSize:M,...U});break}case"image":{z=dM0({width:U?.width||QJ,height:U?.height||QJ,...U});break}case"frame":{z=Cn({x:0,y:0,...U});break}case"magicframe":{z=Dn({x:0,y:0,...U});break}case"freedraw":case"iframe":case"embeddable":{z=U;break}default:z=U,xZ(U,`Unhandled element type "${U.type}"`,!0)}A.getElement(z.id)?console.error(`Duplicate id found for ${z.id}`):(A.add(z),C.set(z.id,U),k&&D.set(k,z.id))}let F=A.getElementsMap();for(let[U,z]of C){let k=A.getElement(U);switch(z.type){case"rectangle":case"ellipse":case"diamond":case"arrow":{if(z.label?.text){let[f,M]=TQ3(k,z?.label,F);if(A.add(f),A.add(M),j3(f)){let b=z.type==="arrow"?z?.start:void 0,Z=z.type==="arrow"?z?.end:void 0;if(b&&b.id){let Q=D.get(b.id);Q&&Object.assign(b,{id:Q})}if(Z&&Z.id){let Q=D.get(Z.id);Q&&Object.assign(Z,{id:Q})}let{linearElement:J,startBoundElement:K,endBoundElement:w}=vtu(f,b,Z,A,F);f=J,A.add(J),A.add(K),A.add(w)}}else switch(z.type){case"arrow":{let{start:f,end:M}=z;if(f&&f.id){let K=D.get(f.id);Object.assign(f,{id:K})}if(M&&M.id){let K=D.get(M.id);Object.assign(M,{id:K})}let{linearElement:b,startBoundElement:Z,endBoundElement:J}=vtu(k,f,M,A,F);A.add(b),A.add(Z),A.add(J);break}}break}}}for(let[U,z]of C){if(z.type!=="frame"&&z.type!=="magicframe")continue;let k=A.getElement(U);if(!k)throw Error(`Excalidraw element with id ${U} doesn't exist`);let f=[];z.children.forEach((l)=>{let q=D.get(l);if(!q)throw Error(`Element with ${l} wasn't mapped correctly`);let L=A.getElement(q);if(!L)throw Error(`Frame element with id ${q} doesn't exist`);Object.assign(L,{frameId:k.id}),L?.boundElements?.forEach((v)=>{let x=A.getElement(v.id);if(!x)throw Error(`Bound element with id ${v.id} doesn't exist`);Object.assign(x,{frameId:k.id}),f.push(x)}),f.push(L)});let[M,b,Z,J]=I1(f),K=10;M=M-K,b=b-K,Z=Z+K,J=J+K;let w=k?.x||M,Q=k?.y||b,G=k?.width||Z-M,H=k?.height||J-b;Object.assign(k,{x:w,y:Q,width:G,height:H}),xf0()&&z.children.length&&(k?.x||k?.y||k?.width||k?.height)&&console.info("User provided frame attributes are being considered, if you find this inaccurate, please remove any of the attributes - x, y, width and height so frame coordinates and dimensions are calculated automatically")}return A.getElements()},P9=(u)=>(B)=>{lG0.unstable_batchedUpdates(u,B)},OQ0=(u)=>hO((B)=>{lG0.unstable_batchedUpdates(u,B)}),LG0=(()=>{let u;try{let E=fu4.version.split(".");u=Number(E[0])>17}catch{u=!1}let B=!1;return()=>window.EXCALIDRAW_THROTTLE_RENDER===!0?u?!0:(B||(B=!0,console.warn("Excalidraw: render throttling is disabled on React versions < 18.")),!1):!1})(),IQ3="#ff6b6b",PQ3="#ff0000",xtu=1,Wtu=2,jQ3=(u,B)=>{if(!B.snapLines.length)return;let E=B.theme===p3.LIGHT||B.zenModeEnabled?IQ3:PQ3,A=(B.zenModeEnabled?xtu*1.5:xtu)/B.zoom.value;u.save(),u.translate(B.scrollX,B.scrollY);for(let C of B.snapLines)C.type==="pointer"?(u.lineWidth=A,u.strokeStyle=E,VQ3(C,u,B)):C.type==="gap"?(u.lineWidth=A,u.strokeStyle=E,hQ3(C.points[0],C.points[1],C.direction,B,u)):C.type==="points"&&(u.lineWidth=A,u.strokeStyle=E,NQ3(C,u,B));u.restore()},NQ3=(u,B,E)=>{if(!E.zenModeEnabled){let A=u.points[0],C=u.points[u.points.length-1];CC(A,C,B)}for(let A of u.points)Mu4(A,E,B)},VQ3=(u,B,E)=>{Mu4(u.points[0],E,B),E.zenModeEnabled||CC(u.points[0],u.points[1],B)},Mu4=([u,B],E,A)=>{A.save();let C=(E.zenModeEnabled?Wtu*1.5:Wtu)/E.zoom.value;A.beginPath(),A.moveTo(u-C,B-C),A.lineTo(u+C,B+C),A.moveTo(u+C,B-C),A.lineTo(u-C,B+C),A.stroke(),A.restore()},CC=(u,B,E)=>{E.beginPath(),E.lineTo(u[0],u[1]),E.lineTo(B[0],B[1]),E.stroke()},hQ3=(u,B,E,A,C)=>{let D=8/A.zoom.value,F=D/2,U=D/4;if(E==="horizontal"){let z=[(u[0]+B[0])/2,u[1]];A.zenModeEnabled||CC(t(u[0],u[1]-D),t(u[0],u[1]+D),C),CC(t(z[0]-U,z[1]-F),t(z[0]-U,z[1]+F),C),CC(t(z[0]+U,z[1]-F),t(z[0]+U,z[1]+F),C),A.zenModeEnabled||(CC(t(B[0],B[1]-D),t(B[0],B[1]+D),C),CC(u,B,C))}else{let z=[u[0],(u[1]+B[1])/2];A.zenModeEnabled||CC(t(u[0]-D,u[1]),t(u[0]+D,u[1]),C),CC(t(z[0]-F,z[1]-U),t(z[0]+F,z[1]-U),C),CC(t(z[0]-F,z[1]+U),t(z[0]+F,z[1]+U),C),A.zenModeEnabled||(CC(t(B[0]-D,B[1]),t(B[0]+D,B[1]),C),CC(u,B,C))}},iQ3=(u,B)=>{b2(B.selectedLinearElement,"selectedLinearElement is null");let{segmentMidPointHoveredCoords:E}=B.selectedLinearElement;b2(E,"midPointCoords is null"),u.save(),u.translate(B.scrollX,B.scrollY),bu4(E,u,B),u.restore()},aQ3=(u,B,E)=>{let{elementId:A,hoverPointIndex:C}=B.selectedLinearElement;if(B.editingLinearElement?.selectedPointsIndices?.includes(C))return;let D=Z4.getElement(A,E);if(!D)return;let F=Z4.getPointAtIndexGlobalCoordinates(D,C,E);u.save(),u.translate(B.scrollX,B.scrollY),bu4(F,u,B),u.restore()},bu4=(u,B,E)=>{B.fillStyle="rgba(105, 101, 219, 0.4)",CI(B,u[0],u[1],Z4.POINT_HANDLE_SIZE/E.zoom.value,!1)},Ej=(u,B,E,A,C,D,F,U,z=!1,k=0)=>{u.save(),u.translate(D,F),u.rotate(U),z&&u.fillRect(B-D,E-F,A,C),k&&u.roundRect?(u.beginPath(),u.roundRect(B-D,E-F,A,C,k),u.stroke(),u.closePath()):u.strokeRect(B-D,E-F,A,C),u.restore()},mQ3=(u,B,E,A,C,D)=>{u.save(),u.translate(A,C),u.rotate(D),u.beginPath(),u.moveTo(0,E/2),u.lineTo(B/2,0),u.lineTo(0,-E/2),u.lineTo(-B/2,0),u.closePath(),u.stroke(),u.restore()},IQ0=(u,B,E,A,C,D=!1)=>{u.strokeStyle="#5e5ad8",u.setLineDash([]),u.fillStyle="rgba(255, 255, 255, 0.9)",C?u.fillStyle="rgba(134, 131, 226, 0.9)":D&&(u.fillStyle="rgba(177, 151, 252, 0.7)"),CI(u,E[0],E[1],A/B.zoom.value,!D)},$Q3=(u,B,E,A,C,D)=>{u.beginPath(),u.ellipse(A,C,B/2,E/2,D,0,Math.PI*2),u.stroke()},yQ3=(u,B,E,A)=>{let[C,D,F,U]=W3(B,E),z=F-C,k=U-D;u.strokeStyle="rgba(0,0,0,.05)";let f=A.value<1?A.value:1;u.lineWidth=dp/f;let M=u.lineWidth/2+sp,b=mA(Math.min(B.width,B.height),B);switch(B.type){case"rectangle":case"text":case"image":case"iframe":case"embeddable":case"frame":case"magicframe":Ej(u,C-M,D-M,z+M*2,k+M*2,C+z/2,D+k/2,B.angle,void 0,b);break;case"diamond":let Z=Math.hypot(z,k),J=M*Z/k,K=M*Z/z;mQ3(u,z+J*2,k+K*2,C+z/2,D+k/2,B.angle);break;case"ellipse":$Q3(u,z+M*2,k+M*2,C+z/2,D+k/2,B.angle);break}},rQ3=(u,B,E,A)=>{let[C,D,F]=B,U=WX(F,F.width,F.height,A);u.strokeStyle="rgba(0,0,0,0)",u.fillStyle="rgba(0,0,0,.05)",(D==="both"?[0,-1]:D==="start"?[0]:[-1]).forEach((z)=>{let[k,f]=Z4.getPointAtIndexGlobalCoordinates(C,z,E);CI(u,k,f,U)})},Zu4=(u,B,E)=>{let{angle:A,x1:C,y1:D,x2:F,y2:U,selectionColors:z,cx:k,cy:f,dashed:M,activeEmbeddable:b}=E,Z=F-C,J=U-D,K=(E.padding??QZ*2)/B.zoom.value,w=8/B.zoom.value,Q=4/B.zoom.value;u.save(),u.translate(B.scrollX,B.scrollY),u.lineWidth=(b?4:1)/B.zoom.value;let G=z.length;for(let H=0;H<G;++H)u.strokeStyle=z[H],M&&u.setLineDash([w,Q+(w+Q)*(G-1)]),u.lineDashOffset=(w+Q)*H,Ej(u,C-K,D-K,Z+K*2,J+K*2,k,f,A);u.restore()},gQ3=(u,B,E,A)=>{let C=Array.isArray(E)?rQ3:yQ3;u.save(),u.translate(B.scrollX,B.scrollY),C(u,E,A,B.zoom),u.restore()},cQ3=(u,B,E,A)=>{let[C,D,F,U]=W3(E,A),z=F-C,k=U-D;u.strokeStyle="rgb(0,118,255)",u.lineWidth=V6.strokeWidth/B.zoom.value,u.save(),u.translate(B.scrollX,B.scrollY),Ej(u,C,D,z,k,C+z/2,D+k/2,E.angle,!1,V6.radius/B.zoom.value),u.restore()},_Q3=(u,B,E)=>{let A=E.filter((U)=>U.groupIds.length===0),C=E.filter((U)=>U.groupIds.length>0),D=(U)=>{let[z,k,f,M]=I1(U);return{angle:0,x1:z,x2:f,y1:k,y2:M,selectionColors:["rgb(0,118,255)"],dashed:!1,cx:z+(f-z)/2,cy:k+(M-k)/2,activeEmbeddable:!1}},F=(U)=>{let z=W6(E,U);return D(z)};Object.entries(iM0(C,B)).filter(([U,z])=>z).map(([U,z])=>U).map((U)=>F(U)).concat(A.map((U)=>D([U]))).forEach((U)=>Zu4(u,B,U))},PQ0=(u,B,E,A)=>{if(!B.selectedLinearElement)return;u.save(),u.translate(B.scrollX,B.scrollY),u.lineWidth=1/B.zoom.value;let C=Z4.getPointsGlobalCoordinates(E,A),{POINT_HANDLE_SIZE:D}=Z4,F=B.editingLinearElement?D:D/2;if(C.forEach((U,z)=>{if(Q4(E)&&z!==0&&z!==C.length-1)return;let k=!!B.editingLinearElement?.selectedPointsIndices?.includes(z);IQ0(u,B,U,F,k)}),Q4(E)){let U=E.fixedSegments?.map((z)=>z.index)||[];C.slice(0,-1).forEach((z,k)=>{Z4.isSegmentTooShort(E,C[k+1],C[k],k,B.zoom)||IQ0(u,B,t((z[0]+C[k+1][0])/2,(z[1]+C[k+1][1])/2),D/2,!1,!U.includes(k+1))})}else Z4.getEditorMidPoints(E,A,B).filter((U,z,k)=>U!==null&&!(Q4(E)&&(z===0||z===k.length-1))).forEach((U)=>{(B.editingLinearElement||C.length===2)&&IQ0(u,B,U,D/2,!1,!0)});u.restore()},Stu=(u,B,E,A,C)=>{Object.keys(A).forEach((D)=>{let F=A[D];if(F!==void 0){let[U,z,k,f]=F;u.save(),u.lineWidth=1/E.zoom.value,B.selectionColor&&(u.strokeStyle=B.selectionColor),D==="rotation"?CI(u,U+k/2,z+f/2,k/2):u.roundRect?(u.beginPath(),u.roundRect(U,z,k,f,2/E.zoom.value),u.fill(),u.stroke()):Ej(u,U,z,k,f,U+k/2,z+f/2,C,!0),u.restore()}})},pQ3=(u,B,E,A,C)=>{let[D,F,,,U,z]=W3(A,C),k=3,f=20,M=k/E.zoom.value,b=M/2,Z=U-D+M,J=z-F+M,K=Math.min(f/E.zoom.value,Z),w=Math.min(f/E.zoom.value,J);u.save(),u.fillStyle=B.selectionColor,u.strokeStyle=B.selectionColor,u.lineWidth=M,[[[-Z,-J],[0,b],[K,b],[b,0],[b,w]],[[Z-b,-J],[b,b],[-K+b,b],[0,0],[0,w]],[[-Z,J],[0,-b],[K,-b],[b,0],[b,-w]],[[Z-b,J],[b,-b],[-K+b,-b],[0,0],[0,-w]]].forEach((Q)=>{let[[G,H],[l,q],[L,v],[x,S],[W,T]]=Q;u.save(),u.translate(U,z),u.rotate(A.angle),u.beginPath(),u.moveTo(G+l,H+q),u.lineTo(G+L,H+v),u.stroke(),u.beginPath(),u.moveTo(G+x,H+S),u.lineTo(G+W,H+T),u.stroke(),u.restore()}),u.restore()},nQ3=(u,B,E,A)=>{B.save();let C=QZ*2/E.zoom.value,D=u.width+C*2,F=u.height+C*2,U=u.x+D/2,z=u.y+F/2,k=-(D/2+C),f=-(F/2+C);B.translate(U+E.scrollX,z+E.scrollY),B.rotate(u.angle),B.lineWidth=1/E.zoom.value,B.strokeStyle=A,B.strokeRect(k,f,D,F),B.restore()},Ju4=({canvas:u,elementsMap:B,visibleElements:E,selectedElements:A,allElementsMap:C,scale:D,appState:F,renderConfig:U,device:z})=>{if(u===null)return{atLeastOneVisibleElement:!1,elementsMap:B};let[k,f]=bn(u,D),M=Zn({canvas:u,scale:D,normalizedWidth:k,normalizedHeight:f});M.save(),M.scale(F.zoom.value,F.zoom.value);let b;if(E.forEach((K)=>{F.editingLinearElement?.elementId===K.id&&K&&(b=K)}),b&&PQ0(M,F,b,B),F.selectionElement&&!F.isCropping)try{dbu(F.selectionElement,M,F,U.selectionColor)}catch(K){console.error(K)}if(F.editingTextElement&&M4(F.editingTextElement)){let K=C.get(F.editingTextElement.id);K&&!K.autoResize&&nQ3(K,M,F,U.selectionColor)}F.isBindingEnabled&&F.suggestedBindings.filter((K)=>K!=null).forEach((K)=>{gQ3(M,F,K,B)}),F.frameToHighlight&&cQ3(M,F,F.frameToHighlight,B),F.elementsToHighlight&&_Q3(M,F,F.elementsToHighlight);let Z=A.some((K)=>u3(K));if(A.length===1&&F.editingLinearElement?.elementId===A[0].id&&PQ0(M,F,A[0],B),Q4(A[0])&&F.selectedLinearElement&&F.selectedLinearElement.segmentMidPointHoveredCoords?iQ3(M,F):F.selectedLinearElement&&F.selectedLinearElement.hoverPointIndex>=0&&!(Q4(A[0])&&F.selectedLinearElement.hoverPointIndex>0&&F.selectedLinearElement.hoverPointIndex<A[0].points.length-1)&&aQ3(M,F,B),!F.multiElement&&!F.editingLinearElement){let K=Tb0(A,F),w=A.length===1&&S3(A[0]);w&&F.selectedLinearElement?.elementId===A[0].id&&!A[0].locked&&PQ0(M,F,A[0],B);let Q=U.selectionColor||n6.black;if(K){let G=e4(A),H=[];for(let q of B.values()){let L=[],v=U.remoteSelectedElementIds.get(q.id);if(w&&Q4(q)&&(q.startBinding||q.endBinding)||(G.has(q.id)&&!VM0(F,q)&&L.push(Q),v&&L.push(...v.map((x)=>Wo(x,F.collaborators.get(x))))),L.length){let[x,S,W,T,R,Y]=W3(q,B,!0);H.push({angle:q.angle,x1:x,y1:S,x2:W,y2:T,selectionColors:L,dashed:!!v,cx:R,cy:Y,activeEmbeddable:F.activeEmbeddable?.element===q&&F.activeEmbeddable.state==="active",padding:q.id===F.croppingElementId||L1(q)?0:void 0})}}let l=(q)=>{let L=W6(B,q),[v,x,S,W]=I1(L);H.push({angle:0,x1:v,x2:S,y1:x,y2:W,selectionColors:[n6.black],dashed:!0,cx:v+(S-v)/2,cy:x+(W-x)/2,activeEmbeddable:!1})};for(let q of IZ(F))l(q);F.editingGroupId&&l(F.editingGroupId),H.forEach((q)=>Zu4(M,F,q))}if(M.save(),M.translate(F.scrollX,F.scrollY),A.length===1){M.fillStyle=n6.white;let G=Rb0(A[0],F.zoom,B,"mouse",VX(z));if(!F.viewModeEnabled&&K&&!M4(F.editingTextElement)&&!F.croppingElementId&&Stu(M,U,F,G,A[0].angle),F.croppingElementId&&!F.isCropping){let H=B.get(F.croppingElementId);H&&L1(H)&&pQ3(M,U,F,H,B)}}else if(A.length>1&&!F.isRotating){let G=QZ*2/F.zoom.value;M.fillStyle=n6.white;let[H,l,q,L]=I1(A),v=M.getLineDash();M.setLineDash([2/F.zoom.value]);let x=M.lineWidth;M.lineWidth=1/F.zoom.value,M.strokeStyle=Q,Ej(M,H-G,l-G,q-H+G*2,L-l+G*2,(H+q)/2,(l+L)/2,0),M.lineWidth=x,M.setLineDash(v);let S=Yn([H,l,q,L,(H+q)/2,(l+L)/2],0,F.zoom,"mouse",Z?{...VX(z),rotation:!0}:VX(z));A.some((W)=>!W.locked)&&Stu(M,U,F,S,0)}M.restore()}F.searchMatches.forEach(({id:K,focus:w,matchedLines:Q})=>{let G=B.get(K);if(G&&M4(G)){let[H,l,,,q,L]=W3(G,B,!0);M.save(),F.theme===p3.LIGHT?w?M.fillStyle="rgba(255, 124, 0, 0.4)":M.fillStyle="rgba(255, 226, 0, 0.4)":w?M.fillStyle="rgba(229, 82, 0, 0.4)":M.fillStyle="rgba(99, 52, 0, 0.4)",M.translate(F.scrollX,F.scrollY),M.translate(q,L),M.rotate(G.angle),Q.forEach((v)=>{M.fillRect(H+v.offsetX-q,l+v.offsetY-L,v.width,v.height)}),M.restore()}}),jQ3(M,F),M.restore(),jZ3({context:M,renderConfig:U,appState:F,normalizedWidth:k,normalizedHeight:f});let J;return U.renderScrollbars&&(J=$K3(E,k,f,F),M.save(),M.fillStyle=mK3,M.strokeStyle="rgba(255,255,255,0.8)",[J.horizontal,J.vertical].forEach((K)=>{K&&Xeu(M,K.x,K.y,K.width,K.height,wJ/2)}),M.restore()),{scrollBars:J,atLeastOneVisibleElement:E.length>0,elementsMap:B}},Ku4=hO((u)=>{let B=Ju4(u);u.callback?.(B)},{trailing:!0}),dQ3=(u,B)=>{if(B){Ku4(u);return}let E=Ju4(u);return u.callback(E),E},sQ3=(u)=>{let B=ev.useRef(!1);return ev.useEffect(()=>{if(!B.current){B.current=!0;return}let E=new Map,A=new Map,C=new Map,D=new Map,F=new Map;u.appState.collaborators.forEach((z,k)=>{if(z.selectedElementIds)for(let f of Object.keys(z.selectedElementIds))C.has(f)||C.set(f,[]),C.get(f).push(k);!z.pointer||z.pointer.renderCursor===!1||(z.username&&D.set(k,z.username),z.userState&&F.set(k,z.userState),A.set(k,yA({sceneX:z.pointer.x,sceneY:z.pointer.y},u.appState)),E.set(k,z.button))});let U=u.containerRef?.current&&getComputedStyle(u.containerRef.current).getPropertyValue("--color-selection")||"#6965db";dQ3({canvas:u.canvas,elementsMap:u.elementsMap,visibleElements:u.visibleElements,selectedElements:u.selectedElements,allElementsMap:u.allElementsMap,scale:window.devicePixelRatio,appState:u.appState,renderConfig:{remotePointerViewportCoords:A,remotePointerButton:E,remoteSelectedElementIds:C,remotePointerUsernames:D,remotePointerUserStates:F,selectionColor:U,renderScrollbars:!1},device:u.device,callback:u.renderInteractiveSceneCallback},LG0())}),P("canvas",{className:"excalidraw__canvas interactive",style:{width:u.appState.width,height:u.appState.height,cursor:u.appState.viewModeEnabled?p1.GRAB:p1.AUTO},width:u.appState.width*u.scale,height:u.appState.height*u.scale,ref:u.handleCanvasRef,onContextMenu:u.onContextMenu,onPointerMove:u.onPointerMove,onPointerUp:u.onPointerUp,onPointerCancel:u.onPointerCancel,onTouchMove:u.onTouchMove,onPointerDown:u.onPointerDown,onDoubleClick:u.appState.viewModeEnabled?void 0:u.onDoubleClick,children:C0("labels.drawingCanvas")})},Ytu=(u)=>({zoom:u.zoom,scrollX:u.scrollX,scrollY:u.scrollY,width:u.width,height:u.height,viewModeEnabled:u.viewModeEnabled,openDialog:u.openDialog,editingGroupId:u.editingGroupId,editingLinearElement:u.editingLinearElement,selectedElementIds:u.selectedElementIds,frameToHighlight:u.frameToHighlight,offsetLeft:u.offsetLeft,offsetTop:u.offsetTop,theme:u.theme,pendingImageElementId:u.pendingImageElementId,selectionElement:u.selectionElement,selectedGroupIds:u.selectedGroupIds,selectedLinearElement:u.selectedLinearElement,multiElement:u.multiElement,isBindingEnabled:u.isBindingEnabled,suggestedBindings:u.suggestedBindings,isRotating:u.isRotating,elementsToHighlight:u.elementsToHighlight,collaborators:u.collaborators,activeEmbeddable:u.activeEmbeddable,snapLines:u.snapLines,zenModeEnabled:u.zenModeEnabled,editingTextElement:u.editingTextElement,isCropping:u.isCropping,croppingElementId:u.croppingElementId,searchMatches:u.searchMatches}),oQ3=(u,B)=>u.selectionNonce!==B.selectionNonce||u.sceneNonce!==B.sceneNonce||u.scale!==B.scale||u.elementsMap!==B.elementsMap||u.visibleElements!==B.visibleElements||u.selectedElements!==B.selectedElements?!1:y5(Ytu(u.appState),Ytu(B.appState)),tQ3=ev.default.memo(sQ3,oQ3),eQ3=(u)=>{let B=aG.useRef(null),E=aG.useRef(!1);return aG.useEffect(()=>{let A=B.current;if(!A)return;let C=u.canvas;E.current||(E.current=!0,A.replaceChildren(C),C.classList.add("excalidraw__canvas","static"));let D=`${u.appState.width}px`,F=`${u.appState.height}px`;C.style.width!==D&&(C.style.width=D),C.style.height!==F&&(C.style.height=F);let U=u.appState.width*u.scale,z=u.appState.height*u.scale;C.width!==U&&(C.width=U),C.height!==z&&(C.height=z),zb0({canvas:C,rc:u.rc,scale:u.scale,elementsMap:u.elementsMap,allElementsMap:u.allElementsMap,visibleElements:u.visibleElements,appState:u.appState,renderConfig:u.renderConfig},LG0())}),P("div",{className:"excalidraw__canvas-wrapper",ref:B})},Rtu=(u)=>({zoom:u.zoom,scrollX:u.scrollX,scrollY:u.scrollY,width:u.width,height:u.height,viewModeEnabled:u.viewModeEnabled,openDialog:u.openDialog,hoveredElementIds:u.hoveredElementIds,offsetLeft:u.offsetLeft,offsetTop:u.offsetTop,theme:u.theme,pendingImageElementId:u.pendingImageElementId,shouldCacheIgnoreZoom:u.shouldCacheIgnoreZoom,viewBackgroundColor:u.viewBackgroundColor,exportScale:u.exportScale,selectedElementsAreBeingDragged:u.selectedElementsAreBeingDragged,gridSize:u.gridSize,gridStep:u.gridStep,frameRendering:u.frameRendering,selectedElementIds:u.selectedElementIds,frameToHighlight:u.frameToHighlight,editingGroupId:u.editingGroupId,currentHoveredFontFamily:u.currentHoveredFontFamily,croppingElementId:u.croppingElementId}),uG3=(u,B)=>u.sceneNonce!==B.sceneNonce||u.scale!==B.scale||u.elementsMap!==B.elementsMap||u.visibleElements!==B.visibleElements?!1:y5(Rtu(u.appState),Rtu(B.appState))&&y5(u.renderConfig,B.renderConfig),BG3=aG.default.memo(eQ3,uG3),Ttu=class{constructor(u){j0(this,"scene"),j0(this,"getRenderableElements",(()=>{let B=({elementsMap:A,zoom:C,offsetLeft:D,offsetTop:F,scrollX:U,scrollY:z,height:k,width:f})=>{let M=[];for(let b of A.values())bI(b,f,k,{zoom:C,offsetLeft:D,offsetTop:F,scrollX:U,scrollY:z},A)&&M.push(b);return M},E=({elements:A,editingTextElement:C,newElementId:D,pendingImageElementId:F})=>{let U=VE(new Map);for(let z of A)L1(z)&&F===z.id||D!==z.id&&(!C||C.type!=="text"||z.id!==C.id)&&U.set(z.id,z);return U};return jfu(({zoom:A,offsetLeft:C,offsetTop:D,scrollX:F,scrollY:U,height:z,width:k,editingTextElement:f,newElementId:M,pendingImageElementId:b,sceneNonce:Z})=>{let J=this.scene.getNonDeletedElements(),K=E({elements:J,editingTextElement:f,newElementId:M,pendingImageElementId:b}),w=B({elementsMap:K,zoom:A,offsetLeft:C,offsetTop:D,scrollX:F,scrollY:U,height:z,width:k});return{elementsMap:K,visibleElements:w}})})()),this.scene=u}destroy(){Ku4.cancel(),Ub0.cancel(),this.getRenderableElements.clear()}},EG3=({trails:u})=>{let B=io.useRef(null);return io.useEffect(()=>{if(B.current)for(let E of u)E.start(B.current);return()=>{for(let E of u)E.stop()}},u),P("div",{className:"SVGLayer",children:P("svg",{ref:B})})},AG3=5,CG3=(u,B,E)=>{let[A,C]=W3(u,E),{x:D,y:F}=yA({sceneX:A+u.width,sceneY:C},B),U=D-B.offsetLeft+10,z=F-B.offsetTop;return{x:U,y:z}},Otu=({children:u,element:B,elementsMap:E})=>{let A=Cj();if(A.contextMenu||A.newElement||A.resizingElement||A.isRotating||A.openMenu||A.viewModeEnabled)return null;let{x:C,y:D}=CG3(B,A,E);return P("div",{className:"excalidraw-canvas-buttons",style:{top:`${D}px`,left:`${C}px`,padding:AG3},children:u})},DG3="small",jQ0=(u)=>M0("label",{className:Yu("ToolIcon ToolIcon__MagicButton",`ToolIcon_size_${DG3}`,{"is-mobile":u.isMobile}),title:`${u.title}`,children:[P("input",{className:"ToolIcon_type_checkbox",type:"checkbox",name:u.name,onChange:u.onChange,checked:u.checked,"aria-label":u.title}),P("div",{className:"ToolIcon__icon",children:u.icon})]}),FG3=({height:u,width:B,userToFollow:E,onDisconnect:A})=>P("div",{className:"follow-mode",style:{width:B,height:u},children:M0("div",{className:"follow-mode__badge",children:[M0("div",{className:"follow-mode__badge__label",children:["Following"," ",P("span",{className:"follow-mode__badge__username",title:E.username,children:E.username})]}),P("button",{type:"button",onClick:A,className:"follow-mode__disconnect-btn",children:gQ})]})}),UG3=FG3,zG3=class{constructor(){j0(this,"targets",new WeakMap),j0(this,"rafIds",new WeakMap)}register(u,B){this.targets.set(u,{callback:B,stopped:!0})}start(u){let B=this.targets.get(u);B&&(this.rafIds.has(u)||(this.targets.set(u,{...B,stopped:!1}),this.scheduleFrame(u)))}stop(u){let B=this.targets.get(u);B&&!B.stopped&&this.targets.set(u,{...B,stopped:!0}),this.cancelFrame(u)}constructFrame(u){return(B)=>{let E=this.targets.get(u);if(!E)return;let A=this.onFrame(E,B);!E.stopped&&!A?this.scheduleFrame(u):this.cancelFrame(u)}}scheduleFrame(u){let B=requestAnimationFrame(this.constructFrame(u));this.rafIds.set(u,B)}cancelFrame(u){if(this.rafIds.has(u)){let B=this.rafIds.get(u);cancelAnimationFrame(B)}this.rafIds.delete(u)}onFrame(u,B){return u.callback(B)??!1}},BG0=class{constructor(u,B,E){this.animationFrameHandler=u,this.app=B,this.options=E,j0(this,"currentTrail"),j0(this,"pastTrails",[]),j0(this,"container"),j0(this,"trailElement"),this.animationFrameHandler.register(this,this.onFrame.bind(this)),this.trailElement=document.createElementNS(K1,"path")}get hasCurrentTrail(){return!!this.currentTrail}hasLastPoint(u,B){if(this.currentTrail){let E=this.currentTrail.originalPoints.length;return this.currentTrail.originalPoints[E-1][0]===u&&this.currentTrail.originalPoints[E-1][1]===B}return!1}start(u){u&&(this.container=u),this.trailElement.parentNode!==this.container&&this.container&&this.container.appendChild(this.trailElement),this.animationFrameHandler.start(this)}stop(){this.animationFrameHandler.stop(this),this.trailElement.parentNode===this.container&&this.container?.removeChild(this.trailElement)}startPath(u,B){this.currentTrail=new bJ(this.options),this.currentTrail.addPoint([u,B,performance.now()]),this.update()}addPointToPath(u,B){this.currentTrail&&(this.currentTrail.addPoint([u,B,performance.now()]),this.update())}endPath(){this.currentTrail&&(this.currentTrail.close(),this.currentTrail.options.keepHead=!1,this.pastTrails.push(this.currentTrail),this.currentTrail=void 0,this.update())}update(){this.start()}onFrame(){let u=[];for(let E of this.pastTrails)u.push(this.drawTrail(E,this.app.state));if(this.currentTrail){let E=this.drawTrail(this.currentTrail,this.app.state);u.push(E)}this.pastTrails=this.pastTrails.filter((E)=>E.getStrokeOutline().length!==0),u.length===0&&this.stop();let B=u.join(" ").trim();this.trailElement.setAttribute("d",B),this.trailElement.setAttribute("fill",(this.options.fill??(()=>"black"))(this))}drawTrail(u,B){let E=u.getStrokeOutline(u.options.size/B.zoom.value).map(([A,C])=>{let D=yA({sceneX:A,sceneY:C},B);return[D.x,D.y]});return Nfu(E,!0)}},kG3=class{constructor(u,B){this.animationFrameHandler=u,this.app=B,j0(this,"localTrail"),j0(this,"collabTrails",new Map),j0(this,"container"),this.animationFrameHandler.register(this,this.onFrame.bind(this)),this.localTrail=new BG0(u,B,{...this.getTrailOptions(),fill:()=>sku})}getTrailOptions(){return{simplify:0,streamline:0.4,sizeMapping:(u)=>{let B=Math.max(0,1-(performance.now()-u.pressure)/1000),E=(50-Math.min(50,u.totalLength-u.currentIndex))/50;return Math.min(XZ(E),XZ(B))}}}startPath(u,B){this.localTrail.startPath(u,B)}addPointToPath(u,B){this.localTrail.addPointToPath(u,B)}endPath(){this.localTrail.endPath()}start(u){this.container=u,this.animationFrameHandler.start(this),this.localTrail.start(u)}stop(){this.animationFrameHandler.stop(this),this.localTrail.stop()}onFrame(){this.updateCollabTrails()}updateCollabTrails(){if(!(!this.container||this.app.state.collaborators.size===0)){for(let[u,B]of this.app.state.collaborators.entries()){let E;this.collabTrails.has(u)?E=this.collabTrails.get(u):(E=new BG0(this.animationFrameHandler,this.app,{...this.getTrailOptions(),fill:()=>B.pointer?.laserColor||Wo(u,B)}),E.start(this.container),this.collabTrails.set(u,E)),B.pointer&&B.pointer.tool==="laser"&&(B.button==="down"&&!E.hasCurrentTrail&&E.startPath(B.pointer.x,B.pointer.y),B.button==="down"&&E.hasCurrentTrail&&!E.hasLastPoint(B.pointer.x,B.pointer.y)&&E.addPointToPath(B.pointer.x,B.pointer.y),B.button==="up"&&E.hasCurrentTrail&&(E.addPointToPath(B.pointer.x,B.pointer.y),E.endPath()))}for(let u of this.collabTrails.keys())this.app.state.collaborators.has(u)||(this.collabTrails.get(u).stop(),this.collabTrails.delete(u))}}},fG3=(u,B,E,A,C,D)=>{let{zoom:F}=A,U=180*E/Math.PI,z=u*(F.value-1)/2,k=B*(F.value-1)/2;return u>C&&F.value!==1&&(z=C*(F.value-1)/2),B>D&&F.value!==1&&(k=D*(F.value-1)/2),`translate(${z}px, ${k}px) scale(${F.value}) rotate(${U}deg)`},MG3=({id:u,onChange:B,onSubmit:E,getViewportCoords:A,element:C,canvas:D,excalidrawContainer:F,app:U,autoSelect:z=!0})=>{let k=(I,O)=>{if(!O.style.fontFamily||!O.style.fontSize)return!1;let V=O.style.fontFamily.replace(/"/g,"");return mQ({fontFamily:I.fontFamily})!==V||`${I.fontSize}px`!==O.style.fontSize},f=()=>{let I=U.state,O=aU.getScene(C)?.getElement(u);if(!O)return;let{textAlign:V,verticalAlign:j}=O,i=U.scene.getNonDeletedElementsMap();if(O&&M4(O)){let{x:a,y:$}=O,m=b5(O,U.scene.getNonDeletedElementsMap()),y=O.width,r=O.height,_=O.width,e=O.height;if(m&&O.containerId){if(j3(m)){let h0=Z4.getBoundTextElementPosition(m,O,i);a=h0.x,$=h0.y}let L0=k(O,M),m0;if(L0?m0=uI(m.id,m.height):(m0=IQ[m.id],m0||(m0=uI(m.id,m.height))),_=GD(m,O),e=OX(m,O),!j3(m)&&r>e){let h0=HZ(r,m.type);Su(m,{height:h0});return}else if(!j3(m)&&m.height>m0.height&&r<e){let h0=HZ(r,m.type);Su(m,{height:h0})}else{let{y:h0}=BI(m,O,i);$=h0}}let[p,b0]=A(a,$),B0=M.selectionStart,k0=M.selectionEnd,f0=M.value.length;if(B0===k0&&k0!==f0){let L0=f0-k0;M.selectionStart=M.value.length-L0,M.selectionEnd=M.value.length-L0}m?y+=0.5:(_=(I.width-8-p)/I.zoom.value,y=Math.min(y,_)),r*=1.05;let D0=B6(O),P0=(I.height-b0)/I.zoom.value;Object.assign(M.style,{font:D0,lineHeight:O.lineHeight,width:`${y}px`,height:`${r}px`,left:`${p}px`,top:`${b0}px`,transform:fG3(y,r,qZu(O,m),I,_,P0),textAlign:V,verticalAlign:j,color:O.strokeColor,opacity:O.opacity/100,filter:"var(--theme-filter)",maxHeight:`${P0}px`}),M.scrollTop=0,$U()&&(M.style.fontFamily=mQ(O)),Su(O,{x:a,y:$})}},M=document.createElement("textarea");M.dir="auto",M.tabIndex=0,M.dataset.type="wysiwyg",M.wrap="off",M.classList.add("excalidraw-wysiwyg");let b="pre",Z="normal";(x6(C)||!C.autoResize)&&(b="pre-wrap",Z="break-word"),Object.assign(M.style,{position:"absolute",display:"inline-block",minHeight:"1em",backfaceVisibility:"hidden",margin:0,padding:0,border:0,outline:0,resize:"none",background:"transparent",overflow:"hidden",zIndex:"var(--zIndex-wysiwyg)",wordBreak:Z,whiteSpace:b,overflowWrap:"break-word",boxSizing:"content-box"}),M.value=C.originalText,f(),B&&(M.onpaste=async(I)=>{let O=await Qb0(I,!0);if(!O.text)return;let V=rQ(O.text);if(!V)return;let j=b5(C,U.scene.getNonDeletedElementsMap()),i=B6({fontSize:U.state.currentItemFontSize,fontFamily:U.state.currentItemFontFamily});if(j){let a=Y3(j,U.scene.getNonDeletedElementsMap()),$=SZ(`${M.value}${V}`,i,GD(j,a)),m=Sp($,i);M.style.width=`${m}px`}},M.oninput=()=>{let I=rQ(M.value);if(M.value!==I){let O=M.selectionStart;M.value=I,M.selectionStart=O,M.selectionEnd=O}B(M.value)}),M.onkeydown=(I)=>{if(!I.shiftKey&&Oou.keyTest(I))I.preventDefault(),U.actionManager.executeAction(Oou),f();else if(!I.shiftKey&&Iou.keyTest(I))I.preventDefault(),U.actionManager.executeAction(Iou),f();else if(!I.shiftKey&&Pou.keyTest(I))I.preventDefault(),U.actionManager.executeAction(Pou),f();else if(You.keyTest(I))U.actionManager.executeAction(You);else if(Rou.keyTest(I))U.actionManager.executeAction(Rou);else if(I.key===r0.ESCAPE)I.preventDefault(),q=!0,L();else if(I.key===r0.ENTER&&I[r0.CTRL_OR_CMD]){if(I.preventDefault(),I.isComposing||I.keyCode===229)return;q=!0,L()}else if(I.key===r0.TAB||I[r0.CTRL_OR_CMD]&&(I.code===z1.BRACKET_LEFT||I.code===z1.BRACKET_RIGHT)){if(I.preventDefault(),I.isComposing)return;I.shiftKey||I.code===z1.BRACKET_LEFT?G():Q(),M.dispatchEvent(new Event("input"))}};let J=4,K=" ".repeat(J),w=new RegExp(`^ {1,${J}}`),Q=()=>{let{selectionStart:I,selectionEnd:O}=M,V=H(),j=M.value;V.forEach((i)=>{let a=j.slice(0,i),$=j.slice(i);j=`${a}${K}${$}`}),M.value=j,M.selectionStart=I+J,M.selectionEnd=O+J*V.length},G=()=>{let{selectionStart:I,selectionEnd:O}=M,V=H(),j=[],i=M.value;V.forEach((a)=>{let $=i.slice(a,a+J).match(w);if($){let m=i.slice(0,a),y=i.slice(a+$[0].length);i=`${m}${y}`,j.push(a)}}),M.value=i,j.length&&(I>j[j.length-1]?M.selectionStart=Math.max(I-J,j[j.length-1]):M.selectionStart=I,M.selectionEnd=Math.max(M.selectionStart,O-J*j.length))},H=()=>{let{selectionStart:I,selectionEnd:O,value:V}=M,j=V.slice(0,I).match(/[^\n]*$/)[0].length;return I=I-j,V.slice(I,O).split(`
`).reduce((i,a,$,m)=>i.concat($?i[$-1]+m[$-1].length+1:I),[]).reverse()},l=(I)=>{I.target instanceof HTMLCanvasElement&&(I.preventDefault(),I.stopPropagation())},q=!1,L=()=>{if(Y)return;Y=!0,v();let I=aU.getScene(C)?.getElement(C.id);if(!I)return;let O=b5(I,U.scene.getNonDeletedElementsMap());if(O){if(M.value.trim()){let V=iU(O);!V||V!==C.id?Su(O,{boundElements:(O.boundElements||[]).concat({type:"text",id:C.id})}):j3(O)&&MI(O)}else Su(O,{boundElements:O.boundElements?.filter((V)=>!M4(V))});d7(I,O,U.scene.getNonDeletedElementsMap())}E({viaKeyboard:q,nextOriginalText:M.value})},v=()=>{M.onblur=null,M.oninput=null,M.onkeydown=null,h&&h.disconnect(),window.removeEventListener("resize",f),window.removeEventListener("wheel",l,!0),window.removeEventListener("pointerdown",W),window.removeEventListener("pointerup",x),window.removeEventListener("blur",L),window.removeEventListener("beforeunload",L),T(),R(),M.remove()},x=(I)=>{window.removeEventListener("pointerup",x);let O=I?.target,V=O instanceof HTMLElement&&O.classList.contains("properties-trigger");setTimeout(()=>{M.onblur=L,V||M.focus()})},S=()=>{M.onblur=null,window.addEventListener("pointerup",x),window.addEventListener("blur",L)},W=(I)=>{let O=I?.target;if(I.button===kf.WHEEL){O instanceof HTMLTextAreaElement&&(I.preventDefault(),U.handleCanvasPanUsingWheelOrSpaceDrag(I)),S();return}let V=O instanceof HTMLElement&&O.classList.contains("properties-trigger");(I.target instanceof HTMLElement||I.target instanceof SVGElement)&&I.target.closest(`.${NQ.SHAPE_ACTIONS_MENU}, .${NQ.ZOOM_ACTIONS}`)&&!LZ(I.target)||V?S():I.target instanceof HTMLCanvasElement&&!$U()&&requestAnimationFrame(()=>{L()})},T=U.scene.onUpdate(()=>{f(),!!document.activeElement?.closest(".properties-content")||M.focus()}),R=U.onScrollChangeEmitter.on(()=>{f()}),Y=!1;z&&M.select(),x();let h=null;D&&"ResizeObserver"in window?(h=new window.ResizeObserver(()=>{f()}),h.observe(D)):window.addEventListener("resize",f),M.onpointerdown=(I)=>I.stopPropagation(),requestAnimationFrame(()=>{window.addEventListener("pointerdown",W,{capture:!0})}),window.addEventListener("beforeunload",L),F?.querySelector(".excalidraw-textEditorContainer").appendChild(M)},bG3=C4({name:"autoResize",label:"labels.autoResize",icon:null,trackEvent:{category:"element"},predicate:(u,B,E,A)=>{let C=N3(u,B);return C.length===1&&M4(C[0])&&!C[0].autoResize},perform:(u,B,E,A)=>{let C=N3(u,B);return{appState:B,elements:u.map((D)=>{if(D.id===C[0].id&&M4(D)){let F=X7(D.originalText,B6(D),D.lineHeight);return O3(D,{autoResize:!0,width:F.width,height:F.height,text:D.originalText})}return D}),captureUpdate:Xu.IMMEDIATELY}}}),ZG3=(u)=>{return new RegExp(`^(?:%%{.*?}%%[\\s\\n]*)?\\b(?:${["flowchart","graph","sequenceDiagram","classDiagram","stateDiagram","stateDiagram-v2","erDiagram","journey","gantt","pie","quadrantChart","requirementDiagram","gitGraph","C4Context","mindmap","timeline","zenuml","sankey","xychart","block"].map((E)=>`\\s*${E}(-beta)?`).join("|")})\\b`).test(u.trim())},wu4=({canvas:u,rc:B,newElement:E,elementsMap:A,allElementsMap:C,scale:D,appState:F,renderConfig:U})=>{if(u){let[z,k]=bn(u,D),f=Zn({canvas:u,scale:D,normalizedWidth:z,normalizedHeight:k});f.save(),f.scale(F.zoom.value,F.zoom.value),E&&E.type!=="selection"?kZ(E,A,C,B,f,U,F):f.clearRect(0,0,z,k)}},JG3=hO((u)=>{wu4(u)},{trailing:!0}),KG3=(u,B)=>{if(B){JG3(u);return}wu4(u)},wG3=(u)=>{let B=ao.useRef(null);return ao.useEffect(()=>{B.current&&KG3({canvas:B.current,scale:u.scale,newElement:u.appState.newElement,elementsMap:u.elementsMap,allElementsMap:u.allElementsMap,rc:u.rc,renderConfig:u.renderConfig,appState:u.appState},LG0())}),P("canvas",{className:"excalidraw__canvas",style:{width:u.appState.width,height:u.appState.height},width:u.appState.width*u.scale,height:u.appState.height*u.scale,ref:B})},QG3=wG3,Qu4=h2.default.createContext(null),Gu4=h2.default.createContext(null),Hu4={viewport:{isMobile:!1,isLandscape:!1},editor:{isMobile:!1,canFitSidebar:!1},isTouchScreen:!1},XG0=h2.default.createContext(Hu4);XG0.displayName="DeviceContext";var vG0=h2.default.createContext({container:null,id:null});vG0.displayName="ExcalidrawContainerContext";var xG0=h2.default.createContext([]);xG0.displayName="ExcalidrawElementsContext";var WG0=h2.default.createContext({...LD(),width:0,height:0,offsetLeft:0,offsetTop:0});WG0.displayName="ExcalidrawAppStateContext";var SG0=h2.default.createContext(()=>{console.warn("Uninitialized ExcalidrawSetAppStateContext context!")});SG0.displayName="ExcalidrawSetAppStateContext";var YG0=h2.default.createContext(null);YG0.displayName="ExcalidrawActionManagerContext";var Zz=()=>h2.useContext(Qu4),Aj=()=>h2.useContext(Gu4),H5=()=>h2.useContext(XG0),Jz=()=>h2.useContext(vG0),mo=()=>h2.useContext(xG0),Cj=()=>h2.useContext(WG0),a2=()=>h2.useContext(SG0),e8=()=>h2.useContext(YG0),hP=!1,NQ0=0,OG=!1,iP=!1,VQ0=!1,hQ0={horizontal:null,vertical:null},JJ=0,aP=!1,iQ0=new Map,os=!1,Itu=0,Ptu=!1,mP=null,j1={pointers:new Map,lastCenter:null,initialDistance:null,initialScale:null},GG3=class u extends h2.default.Component{constructor(B){super(B);j0(this,"canvas"),j0(this,"interactiveCanvas",null),j0(this,"rc"),j0(this,"unmounted",!1),j0(this,"actionManager"),j0(this,"device",Hu4),j0(this,"excalidrawContainerRef",h2.default.createRef()),j0(this,"scene"),j0(this,"fonts"),j0(this,"renderer"),j0(this,"visibleElements"),j0(this,"resizeObserver"),j0(this,"nearestScrollableContainer"),j0(this,"library"),j0(this,"libraryItemsFromStorage"),j0(this,"id"),j0(this,"store"),j0(this,"history"),j0(this,"excalidrawContainerValue"),j0(this,"files",{}),j0(this,"imageCache",new Map),j0(this,"iFrameRefs",new Map),j0(this,"embedsValidationStatus",new Map),j0(this,"initializedEmbeds",new Set),j0(this,"elementsPendingErasure",new Set),j0(this,"flowChartCreator",new VK3),j0(this,"flowChartNavigator",new NK3),j0(this,"hitLinkElement"),j0(this,"lastPointerDownEvent",null),j0(this,"lastPointerUpEvent",null),j0(this,"lastPointerMoveEvent",null),j0(this,"lastPointerMoveCoords",null),j0(this,"lastViewportPosition",{x:0,y:0}),j0(this,"animationFrameHandler",new zG3),j0(this,"laserTrails",new kG3(this.animationFrameHandler,this)),j0(this,"eraserTrail",new BG0(this.animationFrameHandler,this,{streamline:0.2,size:5,keepHead:!0,sizeMapping:(f)=>{let M=Math.max(0,1-(performance.now()-f.pressure)/200),b=(10-Math.min(10,f.totalLength-f.currentIndex))/10;return Math.min(XZ(b),XZ(M))},fill:()=>this.state.theme===p3.LIGHT?"rgba(0, 0, 0, 0.2)":"rgba(255, 255, 255, 0.2)"})),j0(this,"onChangeEmitter",new YD),j0(this,"onPointerDownEmitter",new YD),j0(this,"onPointerUpEmitter",new YD),j0(this,"onUserFollowEmitter",new YD),j0(this,"onScrollChangeEmitter",new YD),j0(this,"missingPointerEventCleanupEmitter",new YD),j0(this,"onRemoveEventListenersEmitter",new YD),j0(this,"getEffectiveGridSize",()=>RX(this)?this.state.gridSize:null),j0(this,"updateEmbedValidationStatus",(f,M)=>{this.embedsValidationStatus.set(f.id,M),s6.delete(f)}),j0(this,"updateEmbeddables",()=>{let f=new Set,M=!1;this.scene.getNonDeletedElements().filter((b)=>{if(nB(b)){if(f.add(b.id),!this.embedsValidationStatus.has(b.id)){M=!0;let Z=EI(b.link,this.props.validateEmbeddable);this.updateEmbedValidationStatus(b,Z)}}else Mf(b)&&f.add(b.id);return!1}),M&&this.scene.triggerUpdate(),this.iFrameRefs.forEach((b,Z)=>{f.has(Z)||this.iFrameRefs.delete(Z)})}),j0(this,"getFrameNameDOMId",(f)=>`${this.id}-frame-name-${f.id}`),j0(this,"frameNameBoundsCache",{get:(f)=>{let M=this.frameNameBoundsCache._cache.get(f.id);if(!M||M.zoom!==this.state.zoom.value||M.versionNonce!==f.versionNonce){let b=document.getElementById(this.getFrameNameDOMId(f));if(b){let Z=b.getBoundingClientRect(),J=q6({clientX:Z.x,clientY:Z.y},this.state),K=q6({clientX:Z.right,clientY:Z.bottom},this.state);return M={x:J.x,y:J.y,width:K.x-J.x,height:K.y-J.y,angle:0,zoom:this.state.zoom.value,versionNonce:f.versionNonce},this.frameNameBoundsCache._cache.set(f.id,M),M}return null}return M},_cache:new Map}),j0(this,"resetEditingFrame",(f)=>{f&&Su(f,{name:f.name?.trim()||null}),this.setState({editingFrame:null})}),j0(this,"renderFrameNames",()=>{if(!this.state.frameRendering.enabled||!this.state.frameRendering.name)return this.state.editingFrame&&this.resetEditingFrame(null),null;let f=this.state.theme===p3.DARK;return this.scene.getNonDeletedFramesLikes().map((M)=>{if(!bI(M,this.canvas.width/window.devicePixelRatio,this.canvas.height/window.devicePixelRatio,{offsetLeft:this.state.offsetLeft,offsetTop:this.state.offsetTop,scrollX:this.state.scrollX,scrollY:this.state.scrollY,zoom:this.state.zoom},this.scene.getNonDeletedElementsMap()))return this.state.editingFrame===M.id&&this.resetEditingFrame(M),null;let{x:b,y:Z}=yA({sceneX:M.x,sceneY:M.y},this.state),J=6,K,w=vb0(M);if(M.id===this.state.editingFrame){let Q=w;K=P("input",{autoFocus:!0,value:Q,onChange:(G)=>{Su(M,{name:G.target.value})},onFocus:(G)=>G.target.select(),onBlur:()=>this.resetEditingFrame(M),onKeyDown:(G)=>{(G.key===r0.ESCAPE||G.key===r0.ENTER)&&this.resetEditingFrame(M)},style:{background:this.state.viewBackgroundColor,filter:f?qp:"none",zIndex:2,border:"none",display:"block",padding:`${J}px`,borderRadius:4,boxShadow:"inset 0 0 0 1px var(--color-primary)",fontFamily:"Assistant",fontSize:"14px",transform:`translate(-${J}px, ${J}px)`,color:"var(--color-gray-80)",overflow:"hidden",maxWidth:`${document.body.clientWidth-b-J}px`},size:Q.length+1||1,dir:"auto",autoComplete:"off",autoCapitalize:"off",autoCorrect:"off"})}else K=w;return P("div",{id:this.getFrameNameDOMId(M),style:{position:"absolute",bottom:`${this.state.height+V6.nameOffsetY-Z+this.state.offsetTop}px`,left:`${b-this.state.offsetLeft}px`,zIndex:2,fontSize:V6.nameFontSize,color:f?V6.nameColorDarkTheme:V6.nameColorLightTheme,lineHeight:V6.nameLineHeight,width:"max-content",maxWidth:`${M.width}px`,overflow:M.id===this.state.editingFrame?"visible":"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",cursor:p1.MOVE,pointerEvents:this.state.viewModeEnabled?jQ.disabled:jQ.enabled},onPointerDown:(Q)=>this.handleCanvasPointerDown(Q),onWheel:(Q)=>this.handleWheel(Q),onContextMenu:this.handleCanvasContextMenu,onDoubleClick:()=>{this.setState({editingFrame:M.id})},children:K},M.id)})}),j0(this,"focusContainer",()=>{this.excalidrawContainerRef.current?.focus()}),j0(this,"getSceneElementsIncludingDeleted",()=>this.scene.getElementsIncludingDeleted()),j0(this,"getSceneElements",()=>this.scene.getNonDeletedElements()),j0(this,"onInsertElements",(f)=>{this.addElementsFromPasteOrLibrary({elements:f,position:"center",files:null})}),j0(this,"onExportImage",async(f,M,b)=>{l6("export",f,"ui");let Z=await xo(f,M,this.state,this.files,{exportBackground:this.state.exportBackground,name:this.getName(),viewBackgroundColor:this.state.viewBackgroundColor,exportingFrame:b.exportingFrame}).catch(Xf0).catch((J)=>{console.error(J),this.setState({errorMessage:J.message})});this.state.exportEmbedScene&&Z&&In(Z)&&this.setState({fileHandle:Z})}),j0(this,"magicGenerations",new Map),j0(this,"updateMagicGeneration",({frameElement:f,data:M})=>{M.status==="pending"?Su(f,{customData:{generationData:void 0}},!1):Su(f,{customData:{generationData:M}},!1),this.magicGenerations.set(f.id,M),this.triggerRender()}),j0(this,"plugins",{}),j0(this,"onMagicframeToolSelect",()=>{let f=this.scene.getSelectedElements({selectedElementIds:this.state.selectedElementIds});if(f.length===0)this.setActiveTool({type:I2.magicframe}),l6("ai","tool-select (empty-selection)","d2c");else{let M=f.length===1&&$O(f[0])&&f[0];if(!M&&f.some((Z)=>u3(Z)||Z.frameId)){this.setActiveTool({type:I2.magicframe});return}l6("ai","tool-select (existing selection)","d2c");let b;if(M)b=M;else{let[Z,J,K,w]=I1(f),Q=50;b=Dn({...V6,x:Z-Q,y:J-Q,width:K-Z+Q*2,height:w-J+Q*2,opacity:100,locked:!1}),this.scene.insertElement(b);for(let G of f)Su(G,{frameId:b.id});this.setState({selectedElementIds:{[b.id]:!0}})}this.onMagicFrameGenerate(b,"upstream")}}),j0(this,"openEyeDropper",({type:f})=>{oD.set(Ho,{swapPreviewOnAlt:!0,colorPickerType:f==="stroke"?"elementStroke":"elementBackground",onSelect:(M,b)=>{let Z=f==="background"&&b.altKey||f==="stroke"&&!b.altKey;!this.scene.getSelectedElements(this.state).length||this.state.activeTool.type!=="selection"?Z?this.syncActionResult({appState:{...this.state,currentItemStrokeColor:M},captureUpdate:Xu.IMMEDIATELY}):this.syncActionResult({appState:{...this.state,currentItemBackgroundColor:M},captureUpdate:Xu.IMMEDIATELY}):this.updateScene({elements:this.scene.getElementsIncludingDeleted().map((J)=>this.state.selectedElementIds[J.id]?O3(J,{[Z?"strokeColor":"backgroundColor"]:M}):J),captureUpdate:Xu.IMMEDIATELY})},keepOpenOnAlt:!1})}),j0(this,"dismissLinearEditor",()=>{setTimeout(()=>{this.setState({editingLinearElement:null})})}),j0(this,"syncActionResult",P9((f)=>{if(this.unmounted||f===!1)return;f.captureUpdate===Xu.NEVER?this.store.shouldUpdateSnapshot():f.captureUpdate===Xu.IMMEDIATELY&&this.store.shouldCaptureIncrement();let M=!1,b=null;if(f.elements&&(this.scene.replaceAllElements(f.elements),M=!0),f.files&&(this.addMissingFiles(f.files,f.replaceFiles),this.addNewImagesToImageCache()),f.appState||b||this.state.contextMenu){let Z=f?.appState?.viewModeEnabled||!1,J=f?.appState?.zenModeEnabled||!1,K=f?.appState?.theme||this.props.theme||p3.LIGHT,w=f?.appState?.name??this.state.name,Q=f?.appState?.errorMessage??this.state.errorMessage;typeof this.props.viewModeEnabled<"u"&&(Z=this.props.viewModeEnabled),typeof this.props.zenModeEnabled<"u"&&(J=this.props.zenModeEnabled),b=f.appState?.editingTextElement||null,f.elements&&b&&f.elements.forEach((G)=>{b?.id===G.id&&b!==G&&On(G)&&M4(G)&&(b=G)}),b?.isDeleted&&(b=null),this.setState((G)=>{let H=f.appState||{};return{...G,...H,contextMenu:null,editingTextElement:b,viewModeEnabled:Z,zenModeEnabled:J,theme:K,name:w,errorMessage:Q}}),M=!0}!M&&f.captureUpdate!==Xu.EVENTUALLY&&this.scene.triggerUpdate()})),j0(this,"onBlur",P9(()=>{OG=!1,this.setState({isBindingEnabled:!0})})),j0(this,"onUnload",()=>{this.onBlur()}),j0(this,"disableEvent",(f)=>{f.preventDefault()}),j0(this,"resetHistory",()=>{this.history.clear()}),j0(this,"resetStore",()=>{this.store.clear()}),j0(this,"resetScene",P9((f)=>{this.scene.replaceAllElements([]),this.setState((M)=>({...LD(),isLoading:f?.resetLoadingState?!1:M.isLoading,theme:this.state.theme})),this.resetStore(),this.resetHistory()})),j0(this,"initializeScene",async()=>{"launchQueue"in window&&"LaunchParams"in window&&window.launchQueue.setConsumer(async(b)=>{if(!b.files.length)return;let Z=b.files[0],J=await Z.getFile();this.loadFileToCanvas(new File([J],J.name||"",{type:J.type}),Z)}),this.props.theme&&this.setState({theme:this.props.theme}),this.state.isLoading||this.setState({isLoading:!0});let f=null;try{typeof this.props.initialData=="function"?f=await this.props.initialData()||null:f=await this.props.initialData||null,f?.libraryItems&&this.library.updateLibrary({libraryItems:f.libraryItems,merge:!0}).catch((b)=>{console.error(b)})}catch(b){console.error(b),f={appState:{errorMessage:b.message||"Encountered an error during importing or restoring scene data"}}}let M=FI(f,null,null,{repairBindings:!0});M.appState={...M.appState,theme:this.props.theme||M.appState.theme,openSidebar:M.appState?.openSidebar||this.state.openSidebar,activeTool:M.appState.activeTool.type==="image"?{...M.appState.activeTool,type:"selection"}:M.appState.activeTool,isLoading:!1,toast:this.state.toast},f?.scrollToContent&&(M.appState={...M.appState,...SX(M.elements,{...M.appState,width:this.state.width,height:this.state.height,offsetTop:this.state.offsetTop,offsetLeft:this.state.offsetLeft})}),this.resetStore(),this.resetHistory(),this.syncActionResult({...M,captureUpdate:Xu.NEVER}),this.clearImageShapeCache(),this.fonts.loadSceneFonts().then((b)=>{this.fonts.onLoaded(b)}),IX(window.location.href)&&this.scrollToContent(window.location.href,{animate:!1})}),j0(this,"isMobileBreakpoint",(f,M)=>f<Ufu||M<kfu&&f<zfu),j0(this,"refreshViewportBreakpoints",()=>{if(!this.excalidrawContainerRef.current)return;let{clientWidth:f,clientHeight:M}=document.body,b=this.device.viewport,Z=aO(b,{isLandscape:f>M,isMobile:this.isMobileBreakpoint(f,M)});return b!==Z?(this.device={...this.device,viewport:Z},!0):!1}),j0(this,"refreshEditorBreakpoints",()=>{let f=this.excalidrawContainerRef.current;if(!f)return;let{width:M,height:b}=f.getBoundingClientRect(),Z=this.props.UIOptions.dockedSidebarBreakpoint!=null?this.props.UIOptions.dockedSidebarBreakpoint:ffu,J=this.device.editor,K=aO(J,{isMobile:this.isMobileBreakpoint(M,b),canFitSidebar:M>Z});return J!==K?(this.device={...this.device,editor:K},!0):!1}),j0(this,"onResize",P9(()=>{this.scene.getElementsIncludingDeleted().forEach((f)=>s6.delete(f)),this.refreshViewportBreakpoints(),this.updateDOMRect(),Kp||this.refreshEditorBreakpoints(),this.setState({})})),j0(this,"onFullscreenChange",()=>{!document.fullscreenElement&&this.state.activeEmbeddable?.state==="active"&&this.setState({activeEmbeddable:null})}),j0(this,"renderInteractiveSceneCallback",({atLeastOneVisibleElement:f,scrollBars:M,elementsMap:b})=>{M&&(hQ0=M);let Z=this.state.editingTextElement?!1:!f&&b.size>0;this.state.scrolledOutside!==Z&&this.setState({scrolledOutside:Z}),this.scheduleImageRefresh()}),j0(this,"onScroll",$Q(()=>{let{offsetTop:f,offsetLeft:M}=this.getCanvasOffsets();this.setState((b)=>b.offsetLeft===M&&b.offsetTop===f?null:{offsetTop:f,offsetLeft:M})},Dfu)),j0(this,"onCut",P9((f)=>{!this.excalidrawContainerRef.current?.contains(document.activeElement)||LZ(f.target)||(this.actionManager.executeAction(aou,"keyboard",f),f.preventDefault(),f.stopPropagation())})),j0(this,"onCopy",P9((f)=>{!this.excalidrawContainerRef.current?.contains(document.activeElement)||LZ(f.target)||(this.actionManager.executeAction(uo,"keyboard",f),f.preventDefault(),f.stopPropagation())})),j0(this,"onTouchStart",(f)=>{if(Mf0&&f.preventDefault(),!hP){hP=!0,clearTimeout(NQ0),NQ0=window.setTimeout(u.resetTapTwice,Afu);return}if(hP&&f.touches.length===1){let M=f.touches[0];this.handleCanvasDoubleClick({clientX:M.clientX,clientY:M.clientY}),hP=!1,clearTimeout(NQ0)}f.touches.length===2&&this.setState({selectedElementIds:X1({},this.state),activeEmbeddable:null})}),j0(this,"onTouchEnd",(f)=>{this.resetContextMenuTimer(),f.touches.length>0?this.setState({previousSelectedElementIds:{},selectedElementIds:X1(this.state.previousSelectedElementIds,this.state)}):j1.pointers.clear()}),j0(this,"pasteFromClipboard",P9(async(f)=>{let M=!!os,b=document.activeElement,Z=this.excalidrawContainerRef.current?.contains(b);if(f&&!Z)return;let J=document.elementFromPoint(this.lastViewportPosition.x,this.lastViewportPosition.y);if(f&&(!(J instanceof HTMLCanvasElement)||LZ(b)))return;let{x:K,y:w}=q6({clientX:this.lastViewportPosition.x,clientY:this.lastViewportPosition.y},this.state),Q=f?.clipboardData?.files[0],G=await Qb0(f,M);if(!Q&&!M){if(G.mixedContent)return this.addElementsFromMixedContentPaste(G.mixedContent,{isPlainPaste:M,sceneX:K,sceneY:w});if(G.text){let H=G.text.trim();H.startsWith("<svg")&&H.endsWith("</svg>")&&(Q=yb0(H))}}if(jZ(Q)&&!G.spreadsheet){if(!this.isToolSupported("image")){this.setState({errorMessage:C0("errors.imageToolNotSupported")});return}let H=this.createImageElement({sceneX:K,sceneY:w});this.insertImageElement(H,Q),this.initializeImageDimensions(H),this.setState({selectedElementIds:X1({[H.id]:!0},this.state)});return}if(this.props.onPaste)try{if(await this.props.onPaste(G,f)===!1)return}catch(H){console.error(H)}if(G.errorMessage)this.setState({errorMessage:G.errorMessage});else if(G.spreadsheet&&!M)this.setState({pasteDialog:{data:G.spreadsheet,shown:!0}});else if(G.elements){let H=G.programmaticAPI?uj(G.elements):G.elements;this.addElementsFromPasteOrLibrary({elements:H,files:G.files||null,position:"cursor",retainSeed:M})}else if(G.text){if(G.text&&ZG3(G.text)){let q=await Promise.resolve().then(() => (lQ0(),qQ0));try{let{elements:L,files:v={}}=await q.parseMermaidToExcalidraw(G.text),x=uj(L,{regenerateIds:!0});this.addElementsFromPasteOrLibrary({elements:x,files:v,position:"cursor"});return}catch(L){console.warn(`parsing pasted text as mermaid definition failed: ${L.message}`)}}let H=Yf0(G.text).split(/\n+/).map((q)=>q.trim()).filter(Boolean),l=H.map((q)=>hZu(q)).filter((q)=>EI(q,this.props.validateEmbeddable)&&(/^(http|https):\/\/[^\s/$.?#].[^\s]*$/.test(q)||nQ(q)?.type==="video"));if(!os&&l.length>0&&l.length===H.length){let q=[];for(let L of l){let v=q[q.length-1],x=this.insertEmbeddableElement({sceneX:v?v.x+v.width+20:K,sceneY:w,link:$8(L)});x&&q.push(x)}q.length&&this.setState({selectedElementIds:Object.fromEntries(q.map((L)=>[L.id,!0]))});return}this.addTextFromPaste(G.text,M)}this.setActiveTool({type:"selection"}),f?.preventDefault()})),j0(this,"addElementsFromPasteOrLibrary",(f)=>{let M=wn(f.elements,null,void 0),[b,Z,J,K]=I1(M),w=L7(b,J)/2,Q=L7(Z,K)/2,G=typeof f.position=="object"?f.position.clientX:f.position==="cursor"?this.lastViewportPosition.x:this.state.width/2+this.state.offsetLeft,H=typeof f.position=="object"?f.position.clientY:f.position==="cursor"?this.lastViewportPosition.y:this.state.height/2+this.state.offsetTop,{x:l,y:q}=q6({clientX:G,clientY:H},this.state),L=l-w,v=q-Q,[x,S]=J2(L,v,this.getEffectiveGridSize()),W=oM0(M.map((I)=>O3(I,{x:I.x+x-b,y:I.y+S-Z})),{randomizeSeed:!f.retainSeed}),T=this.scene.getElementsIncludingDeleted(),R=[...T,...W];R=this.props.onDuplicate?.(R,T)||R,qD(R,e4(W));let Y=this.getTopLayerFrameAtSceneCoords({x:l,y:q});if(Y){let I=MJu(W,Y);NX(R,I,Y,this.state)}this.scene.replaceAllElements(R),W.forEach((I)=>{if(M4(I)&&x6(I)){let O=b5(I,this.scene.getElementsMapIncludingDeleted());d7(I,O,this.scene.getElementsMapIncludingDeleted())}}),cku&&rU.loadElementsFonts(W).then((I)=>{this.fonts.onLoaded(I)}),f.files&&this.addMissingFiles(f.files),this.store.shouldCaptureIncrement();let h=xn(W);this.setState({...this.state,openSidebar:this.state.openSidebar&&this.device.editor.canFitSidebar&&oD.get(wG0)?this.state.openSidebar:null,...n7({editingGroupId:null,selectedElementIds:h.reduce((I,O)=>(x6(O)||(I[O.id]=!0),I),{})},this.scene.getNonDeletedElements(),this.state,this)},()=>{f.files&&this.addNewImagesToImageCache()}),this.setActiveTool({type:"selection"}),f.fitToContent&&this.scrollToContent(W,{fitToContent:!0,canvasOffsets:this.getEditorUIOffsets()})}),j0(this,"setAppState",(f,M)=>{this.setState(f,M)}),j0(this,"removePointer",(f)=>{JJ&&this.resetContextMenuTimer(),j1.pointers.delete(f.pointerId)}),j0(this,"toggleLock",(f="ui")=>{this.state.activeTool.locked||l6("toolbar","toggleLock",`${f} (${this.device.editor.isMobile?"mobile":"desktop"})`),this.setState((M)=>({activeTool:{...M.activeTool,...n9(this.state,M.activeTool.locked?{type:"selection"}:M.activeTool),locked:!M.activeTool.locked}}))}),j0(this,"updateFrameRendering",(f)=>{this.setState((M)=>{let b=typeof f=="function"?f(M.frameRendering):f;return{frameRendering:{enabled:b?.enabled??M.frameRendering.enabled,clip:b?.clip??M.frameRendering.clip,name:b?.name??M.frameRendering.name,outline:b?.outline??M.frameRendering.outline}}})}),j0(this,"togglePenMode",(f)=>{this.setState((M)=>({penMode:f??!M.penMode,penDetected:!0}))}),j0(this,"onHandToolToggle",()=>{this.actionManager.executeAction(HZ3)}),j0(this,"zoomCanvas",(f)=>{this.setState({...IG({viewportX:this.state.width/2+this.state.offsetLeft,viewportY:this.state.height/2+this.state.offsetTop,nextZoom:gU(f)},this.state)})}),j0(this,"cancelInProgressAnimation",null),j0(this,"scrollToContent",(f=this.scene.getNonDeletedElements(),M)=>{if(typeof f=="string"){let w;if(IX(f)?w=rZu(f):w=f,w){let Q=this.scene.getElementsFromId(w);Q?.length?this.scrollToContent(Q,{fitToContent:M?.fitToContent??!0,animate:M?.animate??!0}):IX(f)&&this.setState({toast:{message:C0("elementLink.notFound"),duration:3000,closable:!0}})}return}this.cancelInProgressAnimation?.();let b=Array.isArray(f)?f:[f],Z=this.state.zoom,J=this.state.scrollX,K=this.state.scrollY;if(M?.fitToContent||M?.fitToViewport){let{appState:w}=Xo({canvasOffsets:M.canvasOffsets,targetElements:b,appState:this.state,fitToViewport:!!M?.fitToViewport,viewportZoomFactor:M?.viewportZoomFactor,minZoom:M?.minZoom,maxZoom:M?.maxZoom});Z=w.zoom,J=w.scrollX,K=w.scrollY}else{let w=SX(b,this.state);J=w.scrollX,K=w.scrollY}if(M?.animate){let w=this.state.scrollX,Q=this.state.scrollY,G=this.state.zoom.value,H=xfu({fromValues:{scrollX:w,scrollY:Q,zoom:G},toValues:{scrollX:J,scrollY:K,zoom:Z.value},interpolateValue:(l,q,L,v)=>{if(v==="zoom")return l*Math.pow(q/l,XZ(L))},onStep:({scrollX:l,scrollY:q,zoom:L})=>{this.setState({scrollX:l,scrollY:q,zoom:{value:L}})},onStart:()=>{this.setState({shouldCacheIgnoreZoom:!0})},onEnd:()=>{this.setState({shouldCacheIgnoreZoom:!1})},onCancel:()=>{this.setState({shouldCacheIgnoreZoom:!1})},duration:M?.duration??500});this.cancelInProgressAnimation=()=>{H(),this.cancelInProgressAnimation=null}}else this.setState({scrollX:J,scrollY:K,zoom:Z})}),j0(this,"maybeUnfollowRemoteUser",()=>{this.state.userToFollow&&this.setState({userToFollow:null})}),j0(this,"translateCanvas",(f)=>{this.cancelInProgressAnimation?.(),this.maybeUnfollowRemoteUser(),this.setState(f)}),j0(this,"setToast",(f)=>{this.setState({toast:f})}),j0(this,"restoreFileFromShare",async()=>{try{let f=await caches.open("web-share-target"),M=await f.match("shared-file");if(M){let b=await M.blob(),Z=new File([b],b.name||"",{type:b.type});this.loadFileToCanvas(Z,null),await f.delete("shared-file"),window.history.replaceState(null,pku,window.location.pathname)}}catch(f){this.setState({errorMessage:f.message})}}),j0(this,"addFiles",P9((f)=>{let{addedFiles:M}=this.addMissingFiles(f);this.clearImageShapeCache(M),this.scene.triggerUpdate(),this.addNewImagesToImageCache()})),j0(this,"addMissingFiles",(f,M=!1)=>{let b=M?{}:{...this.files},Z={},J=Array.isArray(f)?f:Object.values(f);for(let K of J)if(!b[K.id]&&(Z[K.id]=K,b[K.id]=K,K.mimeType===r4.svg))try{let w=RJu(Ab0(OJu(K.dataURL)),r4.svg);K.dataURL!==w&&(K.version=(K.version??1)+1,K.dataURL=w)}catch(w){console.error(w)}return this.files=b,{addedFiles:Z}}),j0(this,"updateScene",P9((f)=>{let M=_U(f.elements??[]);if(f.captureUpdate&&f.captureUpdate!==Xu.EVENTUALLY){let b=this.store.snapshot.appState,Z=this.store.snapshot.elements,J=f.appState?Object.assign({},b,f.appState):b,K=f.elements?this.store.filterUncomittedElements(this.scene.getElementsMapIncludingDeleted(),e4(M)):Z;f.captureUpdate===Xu.IMMEDIATELY?this.store.captureIncrement(K,J):f.captureUpdate===Xu.NEVER&&this.store.updateSnapshot(K,J)}f.appState&&this.setState(f.appState),f.elements&&this.scene.replaceAllElements(M),f.collaborators&&this.setState({collaborators:f.collaborators})})),j0(this,"triggerRender",(f)=>{f===!0?this.scene.triggerUpdate():this.setState({})}),j0(this,"toggleSidebar",({name:f,tab:M,force:b})=>{let Z;b===void 0?Z=this.state.openSidebar?.name===f&&this.state.openSidebar?.tab===M?null:f:Z=b?f:null;let J=Z?{name:Z}:null;return J&&M&&(J.tab=M),this.setState({openSidebar:J}),!!Z}),j0(this,"updateCurrentCursorPosition",P9((f)=>{this.lastViewportPosition.x=f.clientX,this.lastViewportPosition.y=f.clientY})),j0(this,"getEditorUIOffsets",()=>{let f=this.excalidrawContainerRef?.current?.querySelector(".App-toolbar")?.getBoundingClientRect()?.bottom??0,M=this.excalidrawContainerRef?.current?.querySelector(".sidebar")?.getBoundingClientRect(),b=this.excalidrawContainerRef?.current?.querySelector(".App-menu__left")?.getBoundingClientRect(),Z=16;return _P().rtl?{top:f+Z,right:Math.max(this.state.width-(b?.left??this.state.width),0)+Z,bottom:Z,left:Math.max(M?.right??0,0)+Z}:{top:f+Z,right:Math.max(this.state.width-(M?.left??this.state.width)+Z,0),bottom:Z,left:Math.max(b?.right??0,0)+Z}}),j0(this,"onKeyDown",P9((f)=>{if("Proxy"in window&&(!f.shiftKey&&/^[A-Z]$/.test(f.key)||f.shiftKey&&/^[a-z]$/.test(f.key))&&(f=new Proxy(f,{get(J,K){let w=J[K];return typeof w=="function"?w.bind(J):K==="key"?f.shiftKey?J.key.toUpperCase():J.key.toLowerCase():w}})),!Xp(f.target)){if((f.key===r0.ESCAPE||f.key===r0.ENTER)&&this.state.croppingElementId){this.finishImageCropping();return}let J=N3(this.scene.getNonDeletedElementsMap(),this.state);if(J.length===1&&L1(J[0])&&f.key===r0.ENTER){this.startImageCropping(J[0]);return}if(f.key===r0.ESCAPE&&this.flowChartCreator.isCreatingChart){this.flowChartCreator.clear(),this.triggerRender(!0);return}let K=vX(f.key);if(f[r0.CTRL_OR_CMD]&&K&&!f.shiftKey){f.preventDefault();let w=N3(this.scene.getNonDeletedElementsMap(),this.state);w.length===1&&yO(w[0])&&this.flowChartCreator.createNodes(w[0],this.scene.getNonDeletedElementsMap(),this.state,Atu(f.key)),this.flowChartCreator.pendingNodes?.length&&!ZI(this.flowChartCreator.pendingNodes,this.canvas.width/window.devicePixelRatio,this.canvas.height/window.devicePixelRatio,{offsetLeft:this.state.offsetLeft,offsetTop:this.state.offsetTop,scrollX:this.state.scrollX,scrollY:this.state.scrollY,zoom:this.state.zoom},this.scene.getNonDeletedElementsMap(),this.getEditorUIOffsets())&&this.scrollToContent(this.flowChartCreator.pendingNodes,{animate:!0,duration:300,fitToContent:!0,canvasOffsets:this.getEditorUIOffsets()});return}if(f.altKey){let w=N3(this.scene.getNonDeletedElementsMap(),this.state);if(w.length===1&&K){f.preventDefault();let Q=this.flowChartNavigator.exploreByDirection(w[0],this.scene.getNonDeletedElementsMap(),Atu(f.key));if(Q){this.setState((H)=>({selectedElementIds:X1({[Q]:!0},H)}));let G=this.scene.getNonDeletedElementsMap().get(Q);G&&!ZI([G],this.canvas.width/window.devicePixelRatio,this.canvas.height/window.devicePixelRatio,{offsetLeft:this.state.offsetLeft,offsetTop:this.state.offsetTop,scrollX:this.state.scrollX,scrollY:this.state.scrollY,zoom:this.state.zoom},this.scene.getNonDeletedElementsMap(),this.getEditorUIOffsets())&&this.scrollToContent(G,{animate:!0,duration:300,canvasOffsets:this.getEditorUIOffsets()})}return}}}if(f[r0.CTRL_OR_CMD]&&f.key===r0.P&&!f.shiftKey&&!f.altKey){this.setToast({message:C0("commandPalette.shortcutHint",{shortcut:kB("commandPalette")})}),f.preventDefault();return}if(f[r0.CTRL_OR_CMD]&&f.key.toLowerCase()===r0.V&&(os=f.shiftKey,clearTimeout(Itu),Itu=window.setTimeout(()=>{os=!1},100)),f[r0.CTRL_OR_CMD]&&LZ(f.target)&&(f.code===z1.MINUS||f.code===z1.EQUAL)){f.preventDefault();return}if(LZ(f.target)&&f.key!==r0.ESCAPE||vX(f.key)&&Xp(f.target))return;if(f.key===r0.QUESTION_MARK){this.setState({openDialog:{name:"help"}});return}else if(f.key.toLowerCase()===r0.E&&f.shiftKey&&f[r0.CTRL_OR_CMD]){f.preventDefault(),this.setState({openDialog:{name:"imageExport"}});return}if(f.key===r0.PAGE_UP||f.key===r0.PAGE_DOWN){let J=(f.shiftKey?this.state.width:this.state.height)/this.state.zoom.value;f.key===r0.PAGE_DOWN&&(J=-J),f.shiftKey?this.translateCanvas((K)=>({scrollX:K.scrollX+J})):this.translateCanvas((K)=>({scrollY:K.scrollY+J}))}if(this.state.openDialog?.name==="elementLinkSelector"||this.actionManager.handleKeyDown(f)||this.state.viewModeEnabled)return;if(f[r0.CTRL_OR_CMD]&&this.state.isBindingEnabled&&this.setState({isBindingEnabled:!1}),vX(f.key)){let J=this.scene.getSelectedElements({selectedElementIds:this.state.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0}),K=J.find(Q4),w=new Set;J.filter(Q4).filter((l)=>{let q=l.startBinding&&!J.some((v)=>v.id===l.startBinding?.elementId),L=l.endBinding&&!J.some((v)=>v.id===l.endBinding?.elementId);return q||L}).forEach((l)=>w.add(l.id)),J=J.filter((l)=>!w.has(l.id));let Q=this.getEffectiveGridSize()&&(f.shiftKey?bf0:this.getEffectiveGridSize())||(f.shiftKey?nku:bf0),G=0,H=0;f.key===r0.ARROW_LEFT?G=-Q:f.key===r0.ARROW_RIGHT?G=Q:f.key===r0.ARROW_UP?H=-Q:f.key===r0.ARROW_DOWN&&(H=Q),J.forEach((l)=>{Su(l,{x:l.x+G,y:l.y+H},!1),_B(l,this.scene.getNonDeletedElementsMap(),{simultaneouslyUpdated:J})}),this.setState({suggestedBindings:op(J.filter((l)=>l.id!==K?.id||Q!==0),this.scene.getNonDeletedElementsMap(),this.state.zoom)}),this.scene.triggerUpdate(),f.preventDefault()}else if(f.key===r0.ENTER){let J=this.scene.getSelectedElements(this.state);if(J.length===1){let K=J[0];if(f[r0.CTRL_OR_CMD])S3(K)&&(!this.state.editingLinearElement||this.state.editingLinearElement.elementId!==J[0].id)&&(this.store.shouldCaptureIncrement(),Q4(K)||this.setState({editingLinearElement:new Z4(K)}));else if(M4(K)||XZu(K)){let w;M4(K)||(w=K);let Q=An(K,this.state,this.scene.getNonDeletedElementsMap()),G=Q.x,H=Q.y;this.startTextEditing({sceneX:G,sceneY:H,container:w}),f.preventDefault();return}else u3(K)&&this.setState({editingFrame:K.id})}}else if(!f.ctrlKey&&!f.altKey&&!f.metaKey&&!this.state.newElement&&!this.state.selectionElement&&!this.state.selectedElementsAreBeingDragged){let J=hbu(f.key);J?(this.state.activeTool.type!==J&&l6("toolbar",J,`keyboard (${this.device.editor.isMobile?"mobile":"desktop"})`),J==="arrow"&&this.state.activeTool.type==="arrow"&&this.setState((K)=>({currentItemArrowType:K.currentItemArrowType===M5.sharp?M5.round:K.currentItemArrowType===M5.round?M5.elbow:M5.sharp})),this.setActiveTool({type:J}),f.stopPropagation()):f.key===r0.Q&&(this.toggleLock("keyboard"),f.stopPropagation())}if(f.key===r0.SPACE&&j1.pointers.size===0&&(OG=!0,E6(this.interactiveCanvas,p1.GRAB),f.preventDefault()),(f.key===r0.G||f.key===r0.S)&&!f.altKey&&!f[r0.CTRL_OR_CMD]){let J=this.scene.getSelectedElements(this.state);if(this.state.activeTool.type==="selection"&&!J.length)return;f.key===r0.G&&(_Q(this.state.activeTool.type)||J.some((K)=>_Q(K.type)))&&(this.setState({openPopup:"elementBackground"}),f.stopPropagation()),f.key===r0.S&&(this.setState({openPopup:"elementStroke"}),f.stopPropagation())}if(!f[r0.CTRL_OR_CMD]&&f.shiftKey&&f.key.toLowerCase()===r0.F){let J=this.scene.getSelectedElements(this.state);if(this.state.activeTool.type==="selection"&&!J.length)return;(this.state.activeTool.type==="text"||J.find((K)=>M4(K)||Y3(K,this.scene.getNonDeletedElementsMap())))&&(f.preventDefault(),this.setState({openPopup:"fontFamily"}))}if(f.key===r0.K&&!f.altKey&&!f[r0.CTRL_OR_CMD]){this.state.activeTool.type==="laser"?this.setActiveTool({type:"selection"}):this.setActiveTool({type:"laser"});return}f[r0.CTRL_OR_CMD]&&(f.key===r0.BACKSPACE||f.key===r0.DELETE)&&oD.set(Po,"clearCanvas");let M=f.key.toLocaleLowerCase(),b=M===r0.S&&f.shiftKey,Z=f.key===r0.I||M===r0.G&&f.shiftKey;(b||Z)&&this.openEyeDropper({type:b?"stroke":"background"})})),j0(this,"onKeyUp",P9((f)=>{if(f.key===r0.SPACE&&(this.state.viewModeEnabled||this.state.openDialog?.name==="elementLinkSelector"?E6(this.interactiveCanvas,p1.GRAB):this.state.activeTool.type==="selection"?nA(this.interactiveCanvas):(xD(this.interactiveCanvas,this.state),this.setState({selectedElementIds:X1({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null})),OG=!1),!f[r0.CTRL_OR_CMD]&&!this.state.isBindingEnabled&&this.setState({isBindingEnabled:!0}),vX(f.key)&&(oO(this.scene.getSelectedElements(this.state).filter(S3),this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements(),this.scene,GZ(this.state),this.state.selectedLinearElement?.selectedPointsIndices??[],this.state.zoom),this.setState({suggestedBindings:[]})),f.altKey||this.flowChartNavigator.isExploring&&(this.flowChartNavigator.clear(),this.syncActionResult({captureUpdate:Xu.IMMEDIATELY})),!f[r0.CTRL_OR_CMD]&&this.flowChartCreator.isCreatingChart){this.flowChartCreator.pendingNodes?.length&&this.scene.insertElements(this.flowChartCreator.pendingNodes);let M=this.flowChartCreator.pendingNodes?.[0];M&&(this.setState((b)=>({selectedElementIds:X1({[M.id]:!0},b)})),ZI([M],this.canvas.width/window.devicePixelRatio,this.canvas.height/window.devicePixelRatio,{offsetLeft:this.state.offsetLeft,offsetTop:this.state.offsetTop,scrollX:this.state.scrollX,scrollY:this.state.scrollY,zoom:this.state.zoom},this.scene.getNonDeletedElementsMap(),this.getEditorUIOffsets())||this.scrollToContent(M,{animate:!0,duration:300,canvasOffsets:this.getEditorUIOffsets()})),this.flowChartCreator.clear(),this.syncActionResult({captureUpdate:Xu.IMMEDIATELY})}})),j0(this,"isToolSupported",(f)=>this.props.UIOptions.tools?.[f]!==!1),j0(this,"setActiveTool",(f)=>{if(!this.isToolSupported(f.type)){console.warn(`"${f.type}" tool is disabled via "UIOptions.canvasActions.tools.${f.type}"`);return}let M=n9(this.state,f);M.type==="hand"?E6(this.interactiveCanvas,p1.GRAB):OG||xD(this.interactiveCanvas,{...this.state,activeTool:M}),Xfu(document.activeElement)&&this.focusContainer(),xp(M.type)||this.setState({suggestedBindings:[]}),M.type==="image"&&this.onImageAction({insertOnCanvasDirectly:(f.type==="image"&&f.insertOnCanvasDirectly)??!1}),this.setState((b)=>{let Z={snapLines:b.snapLines.length?[]:b.snapLines,originSnapOffset:null,activeEmbeddable:null};return M.type==="freedraw"&&this.store.shouldCaptureIncrement(),M.type!=="selection"?{...b,activeTool:M,selectedElementIds:X1({},b),selectedGroupIds:X1({},b),editingGroupId:null,multiElement:null,...Z}:{...b,activeTool:M,...Z}})}),j0(this,"setOpenDialog",(f)=>{this.setState({openDialog:f})}),j0(this,"setCursor",(f)=>{E6(this.interactiveCanvas,f)}),j0(this,"resetCursor",()=>{nA(this.interactiveCanvas)}),j0(this,"isTouchScreenMultiTouchGesture",()=>j1.pointers.size>=2),j0(this,"getName",()=>this.state.name||this.props.name||`${C0("labels.untitled")}-${Lf0()}`),j0(this,"onGestureStart",P9((f)=>{f.preventDefault(),this.isTouchScreenMultiTouchGesture()&&this.setState({selectedElementIds:X1({},this.state),activeEmbeddable:null}),j1.initialScale=this.state.zoom.value})),j0(this,"onGestureChange",P9((f)=>{if(f.preventDefault(),this.isTouchScreenMultiTouchGesture())return;let M=j1.initialScale;M&&this.setState((b)=>({...IG({viewportX:this.lastViewportPosition.x,viewportY:this.lastViewportPosition.y,nextZoom:gU(M*f.scale)},b)}))})),j0(this,"onGestureEnd",P9((f)=>{f.preventDefault(),this.isTouchScreenMultiTouchGesture()&&this.setState({previousSelectedElementIds:{},selectedElementIds:X1(this.state.previousSelectedElementIds,this.state)}),j1.initialScale=null})),j0(this,"startTextEditing",({sceneX:f,sceneY:M,insertAtParentCenter:b=!0,container:Z,autoEdit:J=!0})=>{let K=!1,w=b&&this.getTextWysiwygSnappedToCenterPosition(f,M,this.state,Z);Z&&w&&(Y3(Z,this.scene.getNonDeletedElementsMap())||(K=!0));let Q=null,G=this.scene.getSelectedElements(this.state);G.length===1?M4(G[0])?Q=G[0]:Z?Q=Y3(G[0],this.scene.getNonDeletedElementsMap()):Q=this.getTextElementAtPosition(f,M):Q=this.getTextElementAtPosition(f,M);let H=Q?.fontFamily||this.state.currentItemFontFamily,l=Q?.lineHeight||TZ(H),q=this.state.currentItemFontSize;if(!Q&&K&&Z&&!j3(Z)){let x=Pf0(B6({fontSize:q,fontFamily:H}),l),S=Nf0(q,l),W=Math.max(Z.height,S),T=Math.max(Z.width,x);Su(Z,{height:W,width:T}),f=Z.x+T/2,M=Z.y+W/2,w&&(w=this.getTextWysiwygSnappedToCenterPosition(f,M,this.state,Z))}let L=this.getTopLayerFrameAtSceneCoords({x:f,y:M}),v=Q||y8({x:w?w.elementCenterX:f,y:w?w.elementCenterY:M,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,text:"",fontSize:q,fontFamily:H,textAlign:w?"center":this.state.currentItemTextAlign,verticalAlign:w?m8.MIDDLE:TO,containerId:K?Z?.id:void 0,groupIds:Z?.groupIds??[],lineHeight:l,angle:Z?.angle??0,frameId:L?L.id:null});if(!Q&&K&&Z&&Su(Z,{boundElements:(Z.boundElements||[]).concat({type:"text",id:v.id})}),this.setState({editingTextElement:v}),!Q)if(Z&&K){let x=this.scene.getElementIndex(Z.id);this.scene.insertElementAtIndex(v,x+1)}else this.scene.insertElement(v);J||Q||Z?this.handleTextWysiwyg(v,{isExistingElement:!!Q}):this.setState({newElement:v,multiElement:null})}),j0(this,"startImageCropping",(f)=>{this.store.shouldCaptureIncrement(),this.setState({croppingElementId:f.id})}),j0(this,"finishImageCropping",()=>{this.state.croppingElementId&&(this.store.shouldCaptureIncrement(),this.setState({croppingElementId:null}))}),j0(this,"handleCanvasDoubleClick",(f)=>{if(this.state.multiElement||this.state.activeTool.type!=="selection")return;let M=this.scene.getSelectedElements(this.state),{x:b,y:Z}=q6(f,this.state);if(M.length===1&&S3(M[0])){if(f[r0.CTRL_OR_CMD]&&(!this.state.editingLinearElement||this.state.editingLinearElement.elementId!==M[0].id)&&!Q4(M[0])){this.store.shouldCaptureIncrement(),this.setState({editingLinearElement:new Z4(M[0])});return}else if(this.state.selectedLinearElement&&Q4(M[0])){let J=Z4.getSegmentMidpointHitCoords(this.state.selectedLinearElement,{x:b,y:Z},this.state,this.scene.getNonDeletedElementsMap()),K=J?Z4.getSegmentMidPointIndex(this.state.selectedLinearElement,this.state,J,this.scene.getNonDeletedElementsMap()):-1;if(K&&K>-1){this.store.shouldCaptureIncrement(),Z4.deleteFixedSegment(M[0],K);let w=Z4.getSegmentMidpointHitCoords({...this.state.selectedLinearElement,segmentMidPointHoveredCoords:null},{x:b,y:Z},this.state,this.scene.getNonDeletedElementsMap()),Q=w?Z4.getSegmentMidPointIndex(this.state.selectedLinearElement,this.state,w,this.scene.getNonDeletedElementsMap()):null;this.setState({selectedLinearElement:{...this.state.selectedLinearElement,pointerDownState:{...this.state.selectedLinearElement.pointerDownState,segmentMidpoint:{index:Q,value:J,added:!1}},segmentMidPointHoveredCoords:w}});return}}}if(M.length===1&&L1(M[0])){this.startImageCropping(M[0]);return}if(nA(this.interactiveCanvas),IZ(this.state).length>0){let J=this.getElementAtPosition(b,Z),K=J&&zZu(J,this.state.selectedGroupIds);if(K){this.store.shouldCaptureIncrement(),this.setState((w)=>({...w,...n7({editingGroupId:K,selectedElementIds:{[J.id]:!0}},this.scene.getNonDeletedElements(),w,this)}));return}}if(nA(this.interactiveCanvas),!f[r0.CTRL_OR_CMD]&&!this.state.viewModeEnabled){let J=this.getElementAtPosition(b,Z);if(NE(J)){this.setState({activeEmbeddable:{element:J,state:"active"}});return}let K=this.getTextBindableContainerAtPosition(b,Z);if(K&&(r8(K)||!iA(K.backgroundColor)||cQ({x:b,y:Z,element:K,shape:NU(K,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold()}))){let w=An(K,this.state,this.scene.getNonDeletedElementsMap());b=w.x,Z=w.y}this.startTextEditing({sceneX:b,sceneY:Z,insertAtParentCenter:!f.altKey,container:K})}}),j0(this,"getElementLinkAtPosition",(f,M)=>{let b=this.scene.getNonDeletedElements(),Z=-1;for(let J=b.length-1;J>=0;J--){let K=b[J];if(M&&K.id===M.id&&(Z=J),K.link&&J>=Z&&Mn(K,this.scene.getNonDeletedElementsMap(),this.state,t(f.x,f.y),this.device.editor.isMobile))return K}}),j0(this,"redirectToLink",(f,M)=>{let b=l1(t(this.lastPointerDownEvent.clientX,this.lastPointerDownEvent.clientY),t(this.lastPointerUpEvent.clientX,this.lastPointerUpEvent.clientY));if(!this.hitLinkElement||b>lZ)return;let Z=q6(this.lastPointerDownEvent,this.state),J=this.scene.getNonDeletedElementsMap(),K=Mn(this.hitLinkElement,J,this.state,t(Z.x,Z.y),this.device.editor.isMobile),w=q6(this.lastPointerUpEvent,this.state),Q=Mn(this.hitLinkElement,J,this.state,t(w.x,w.y),this.device.editor.isMobile);if(K&&Q){cou();let G=this.hitLinkElement.link;if(G){G=$8(G);let H;if(this.props.onLinkOpen&&(H=Wf0("excalidraw-link",f.nativeEvent),this.props.onLinkOpen({...this.hitLinkElement,link:G},H)),!H?.defaultPrevented){let l=gM0(G)?"_self":"_blank",q=window.open(void 0,l);q&&(q.opener=null,q.location=G)}}}}),j0(this,"getTopLayerFrameAtSceneCoords",(f)=>{let M=this.scene.getNonDeletedElementsMap(),b=this.scene.getNonDeletedFramesLikes().filter((Z)=>lb0(f,Z,M));return b.length?b[b.length-1]:null}),j0(this,"handleCanvasPointerMove",(f)=>{this.savePointer(f.clientX,f.clientY,this.state.cursorButton),this.lastPointerMoveEvent=f.nativeEvent,j1.pointers.has(f.pointerId)&&j1.pointers.set(f.pointerId,{x:f.clientX,y:f.clientY});let M=j1.initialScale;if(j1.pointers.size===2&&j1.lastCenter&&M&&j1.initialDistance){let H=utu(j1.pointers),l=H.x-j1.lastCenter.x,q=H.y-j1.lastCenter.y;j1.lastCenter=H;let L=Btu(Array.from(j1.pointers.values())),v=this.state.activeTool.type==="freedraw"&&this.state.penMode?1:L/j1.initialDistance,x=v?gU(M*v):this.state.zoom.value;this.setState((S)=>{let W=IG({viewportX:H.x,viewportY:H.y,nextZoom:x},S);this.translateCanvas({zoom:W.zoom,scrollX:W.scrollX+2*(l/x),scrollY:W.scrollY+2*(q/x),shouldCacheIgnoreZoom:!0})}),this.resetShouldCacheIgnoreZoomDebounced()}else j1.lastCenter=j1.initialDistance=j1.initialScale=null;if(OG||iP||VQ0||aQ(this.state))return;let b=Dtu(hQ0,f.clientX-this.state.offsetLeft,f.clientY-this.state.offsetTop).isOverEither;!this.state.newElement&&!this.state.selectionElement&&!this.state.selectedElementsAreBeingDragged&&!this.state.multiElement&&(b?nA(this.interactiveCanvas):xD(this.interactiveCanvas,this.state));let Z=q6(f,this.state),{x:J,y:K}=Z;if(!this.state.newElement&&QZu(this.state.activeTool.type)){let{originOffset:H,snapLines:l}=wZu(this.scene.getNonDeletedElements(),this,{x:J,y:K},f,this.scene.getNonDeletedElementsMap());this.setState((q)=>{let L=LX(q.snapLines,l),v=q.originSnapOffset?LX(q.originSnapOffset,H):H;return q.snapLines===L&&q.originSnapOffset===v?null:{snapLines:L,originSnapOffset:v}})}else!this.state.newElement&&!this.state.selectedElementsAreBeingDragged&&!this.state.selectionElement&&this.setState((H)=>H.snapLines.length?{snapLines:[]}:null);if(this.state.editingLinearElement&&!this.state.editingLinearElement.isDragging){let H=Z4.handlePointerMove(f,J,K,this,this.scene.getNonDeletedElementsMap());H&&H!==this.state.editingLinearElement&&KJ.flushSync(()=>{this.setState({editingLinearElement:H})}),H?.lastUncommittedPoint!=null?this.maybeSuggestBindingAtCursor(Z,H.elbowed):KJ.flushSync(()=>{this.setState({suggestedBindings:[]})})}if(Of0(this.state.activeTool.type)){let{newElement:H}=this.state;KD(H,!1)?this.maybeSuggestBindingsForLinearElementAtCoords(H,[Z],this.state.startBoundElement):this.maybeSuggestBindingAtCursor(Z,!1)}if(this.state.multiElement){let{multiElement:H}=this.state,{x:l,y:q}=H,{points:L,lastCommittedPoint:v}=H,x=L[L.length-1];if(xD(this.interactiveCanvas,this.state),x===v)l1(t(J-l,K-q),x)>=YO?Su(H,{points:[...L,t(J-l,K-q)]},!1):E6(this.interactiveCanvas,p1.POINTER);else if(L.length>2&&v&&l1(t(J-l,K-q),v)<YO)E6(this.interactiveCanvas,p1.POINTER),Su(H,{points:L.slice(0,-1)},!1);else{let[S,W]=J2(J,K,f[r0.CTRL_OR_CMD]||Q4(H)?null:this.getEffectiveGridSize()),[T,R]=H?.lastCommittedPoint??[0,0],Y=S-l-T,h=W-q-R;fX(f)&&({width:Y,height:h}=Sn(T+l,R+q,S,W)),VU(L,this.state.zoom.value)&&E6(this.interactiveCanvas,p1.POINTER),Su(H,{points:[...L.slice(0,-1),t(T+Y,R+h)]},!1,{isDragging:!0}),this.triggerRender(!1)}return}if(!!f.buttons||this.state.activeTool.type!=="selection"&&this.state.activeTool.type!=="text"&&this.state.activeTool.type!=="eraser")return;let w=this.scene.getNonDeletedElements(),Q=this.scene.getSelectedElements(this.state);if(Q.length===1&&!b&&!this.state.editingLinearElement){if(this.state.selectedLinearElement&&this.handleHoverSelectedLinearElement(this.state.selectedLinearElement,J,K),(!this.state.selectedLinearElement||this.state.selectedLinearElement.hoverPointIndex===-1)&&this.state.openDialog?.name!=="elementLinkSelector"&&!(Q.length===1&&Q4(Q[0]))){let H=Ob0(w,this.state,J,K,this.state.zoom,f.pointerType,this.scene.getNonDeletedElementsMap(),this.device);if(H&&H.transformHandleType){E6(this.interactiveCanvas,Pb0(H));return}}}else if(Q.length>1&&!b&&this.state.openDialog?.name!=="elementLinkSelector"){let H=Ib0(I1(Q),J,K,this.state.zoom,f.pointerType,this.device);if(H){E6(this.interactiveCanvas,Pb0({transformHandleType:H}));return}}let G=this.getElementAtPosition(Z.x,Z.y);this.hitLinkElement=this.getElementLinkAtPosition(Z,G),!XD(this.state)&&(this.hitLinkElement&&!this.state.selectedElementIds[this.hitLinkElement.id]?(E6(this.interactiveCanvas,p1.POINTER),oZ3(this.hitLinkElement,this.state,this.scene.getNonDeletedElementsMap())):(cou(),G&&(G.link||nB(G))&&this.state.selectedElementIds[G.id]&&!this.state.contextMenu&&!this.state.showHyperlinkPopup?this.setState({showHyperlinkPopup:"info"}):this.state.activeTool.type==="text"?E6(this.interactiveCanvas,M4(G)?p1.TEXT:p1.CROSSHAIR):this.state.viewModeEnabled?E6(this.interactiveCanvas,p1.GRAB):this.state.openDialog?.name==="elementLinkSelector"?E6(this.interactiveCanvas,p1.AUTO):b?E6(this.interactiveCanvas,p1.AUTO):this.state.selectedLinearElement?this.handleHoverSelectedLinearElement(this.state.selectedLinearElement,J,K):f[r0.CTRL_OR_CMD]?E6(this.interactiveCanvas,p1.AUTO):(G||this.isHittingCommonBoundingBoxOfSelectedElements(Z,Q))&&!G?.locked&&(G&&NE(G)&&this.isIframeLikeElementCenter(G,f,J,K)?(E6(this.interactiveCanvas,p1.POINTER),this.setState({activeEmbeddable:{element:G,state:"hover"}})):(!G||!Q4(G))&&(E6(this.interactiveCanvas,p1.MOVE),this.state.activeEmbeddable?.state==="hover"&&this.setState({activeEmbeddable:null})))),this.state.openDialog?.name==="elementLinkSelector"&&G?this.setState((H)=>({hoveredElementIds:LX(H.hoveredElementIds,n7({editingGroupId:H.editingGroupId,selectedElementIds:{[G.id]:!0}},this.scene.getNonDeletedElements(),H,this).selectedElementIds)})):this.state.openDialog?.name==="elementLinkSelector"&&!G&&this.setState((H)=>({hoveredElementIds:LX(H.hoveredElementIds,{})})))}),j0(this,"handleEraser",(f,M,b)=>{this.eraserTrail.addPointToPath(b.x,b.y);let Z=!1,J=new Set,K=this.scene.getNonDeletedElements(),w=(q)=>{for(let L of q){if(L.locked)return;if(f.altKey?this.elementsPendingErasure.delete(L.id)&&(Z=!0):this.elementsPendingErasure.has(L.id)||(Z=!0,this.elementsPendingErasure.add(L.id)),Z&&L.groupIds?.length){let v=L.groupIds.at(-1);if(!J.has(v)){J.add(v);let x=W6(K,v);for(let S of x)f.altKey?this.elementsPendingErasure.delete(S.id):this.elementsPendingErasure.add(S.id)}}}},Q=l1(t(M.lastCoords.x,M.lastCoords.y),t(b.x,b.y)),G=this.getElementHitThreshold(),H={...M.lastCoords},l=0;for(;l<=Q;){let q=this.getElementsAtPosition(H.x,H.y);if(w(q),l===Q)break;l=Math.min(l+G,Q);let L=l/Q,v=(1-L)*H.x+L*b.x,x=(1-L)*H.y+L*b.y;H.x=v,H.y=x}if(M.lastCoords.x=b.x,M.lastCoords.y=b.y,Z){for(let q of this.scene.getNonDeletedElements())x6(q)&&(this.elementsPendingErasure.has(q.id)||this.elementsPendingErasure.has(q.containerId))&&(f.altKey?(this.elementsPendingErasure.delete(q.id),this.elementsPendingErasure.delete(q.containerId)):(this.elementsPendingErasure.add(q.id),this.elementsPendingErasure.add(q.containerId)));this.elementsPendingErasure=new Set(this.elementsPendingErasure),this.triggerRender()}}),j0(this,"handleTouchMove",(f)=>{aP=!0}),j0(this,"handleCanvasPointerDown",(f)=>{let M=f.target;if(M.setPointerCapture&&M.setPointerCapture(f.pointerId),this.maybeCleanupAfterMissingPointerUp(f.nativeEvent),this.maybeUnfollowRemoteUser(),this.state.searchMatches&&(this.setState((G)=>({searchMatches:G.searchMatches.map((H)=>({...H,focus:!1}))})),oD.set(p04,null)),this.state.contextMenu&&this.setState({contextMenu:null}),this.state.snapLines&&this.setAppState({snapLines:[]}),this.updateGestureOnPointerDown(f),f.pointerType==="touch"&&this.state.newElement&&this.state.newElement.type==="freedraw"){let G=this.state.newElement;this.updateScene({...G.points.length<10?{elements:this.scene.getElementsIncludingDeleted().filter((H)=>H.id!==G.id)}:{},appState:{newElement:null,editingTextElement:null,startBoundElement:null,suggestedBindings:[],selectedElementIds:X1(Object.keys(this.state.selectedElementIds).filter((H)=>H!==G.id).reduce((H,l)=>(H[l]=this.state.selectedElementIds[l],H),{}),this.state)},captureUpdate:this.state.openDialog?.name==="elementLinkSelector"?Xu.EVENTUALLY:Xu.NEVER});return}let b=document.getSelection();if(b?.anchorNode&&b.removeAllRanges(),this.maybeOpenContextMenuAfterPointerDownOnTouchDevices(f),!this.state.penDetected&&f.pointerType==="pen"&&this.setState((G)=>({penMode:!0,penDetected:!0})),!this.device.isTouchScreen&&["pen","touch"].includes(f.pointerType)&&(this.device=aO(this.device,{isTouchScreen:!0})),iP||(this.lastPointerDownEvent=f,this.handleCanvasPanUsingWheelOrSpaceDrag(f)))return;if(this.setState({lastPointerDownWith:f.pointerType,cursorButton:"down"}),this.savePointer(f.clientX,f.clientY,"down"),f.button===kf.ERASER&&this.state.activeTool.type!==I2.eraser){this.setState({activeTool:n9(this.state,{type:I2.eraser,lastActiveToolBeforeEraser:this.state.activeTool})},()=>{this.handleCanvasPointerDown(f);let G=()=>{H(),l?.(),XD(this.state)&&this.setState({activeTool:n9(this.state,{...this.state.activeTool.lastActiveTool||{type:I2.selection},lastActiveToolBeforeEraser:null})})},H=o6(window,"pointerup",G,{once:!0}),l;requestAnimationFrame(()=>{l=this.missingPointerEventCleanupEmitter.once(G)})});return}if(f.button!==kf.MAIN&&f.button!==kf.TOUCH&&f.button!==kf.ERASER||j1.pointers.size>1)return;let Z=this.initialPointerDownState(f);if(this.setState({selectedElementsAreBeingDragged:!1}),this.handleDraggingScrollBar(f,Z)||(this.clearSelectionIfNotUsingSelection(),this.updateBindingEnabledOnPointerMove(f),this.handleSelectionOnPointerDown(f,Z))||!(!this.state.penMode||f.pointerType!=="touch"||this.state.activeTool.type==="selection"||this.state.activeTool.type==="text"||this.state.activeTool.type==="image"))return;if(this.state.activeTool.type==="text")this.handleTextOnPointerDown(f,Z);else if(this.state.activeTool.type==="arrow"||this.state.activeTool.type==="line")this.handleLinearElementOnPointerDown(f,this.state.activeTool.type,Z);else if(this.state.activeTool.type==="image"){E6(this.interactiveCanvas,p1.CROSSHAIR);let G=this.state.pendingImageElementId&&this.scene.getElement(this.state.pendingImageElementId);if(!G)return;this.setState({newElement:G,pendingImageElementId:null,multiElement:null});let{x:H,y:l}=q6(f,this.state),q=this.getTopLayerFrameAtSceneCoords({x:H,y:l});Su(G,{x:H,y:l,frameId:q?q.id:null})}else this.state.activeTool.type==="freedraw"?this.handleFreeDrawElementOnPointerDown(f,this.state.activeTool.type,Z):this.state.activeTool.type==="custom"?xD(this.interactiveCanvas,this.state):this.state.activeTool.type===I2.frame||this.state.activeTool.type===I2.magicframe?this.createFrameElementOnPointerDown(Z,this.state.activeTool.type):this.state.activeTool.type==="laser"?this.laserTrails.startPath(Z.lastCoords.x,Z.lastCoords.y):this.state.activeTool.type!=="eraser"&&this.state.activeTool.type!=="hand"&&this.createGenericElementOnPointerDown(this.state.activeTool.type,Z);this.props?.onPointerDown?.(this.state.activeTool,Z),this.onPointerDownEmitter.trigger(this.state.activeTool,Z,f),this.state.activeTool.type==="eraser"&&this.eraserTrail.startPath(Z.lastCoords.x,Z.lastCoords.y);let J=this.onPointerMoveFromPointerDownHandler(Z),K=this.onPointerUpFromPointerDownHandler(Z),w=this.onKeyDownFromPointerDownHandler(Z),Q=this.onKeyUpFromPointerDownHandler(Z);this.missingPointerEventCleanupEmitter.once((G)=>K(G||f.nativeEvent)),(!this.state.viewModeEnabled||this.state.activeTool.type==="laser")&&(window.addEventListener("pointermove",J),window.addEventListener("pointerup",K),window.addEventListener("keydown",w),window.addEventListener("keyup",Q),Z.eventListeners.onMove=J,Z.eventListeners.onUp=K,Z.eventListeners.onKeyUp=Q,Z.eventListeners.onKeyDown=w)}),j0(this,"handleCanvasPointerUp",(f)=>{this.removePointer(f),this.lastPointerUpEvent=f;let M=q6({clientX:f.clientX,clientY:f.clientY},this.state),b=f.timeStamp-(this.lastPointerDownEvent?.timeStamp??0);if(this.device.editor.isMobile&&b<300){let Z=this.getElementAtPosition(M.x,M.y);if(NE(Z)&&this.isIframeLikeElementCenter(Z,f,M.x,M.y)){this.handleEmbeddableCenterClick(Z);return}}if(this.device.isTouchScreen){let Z=this.getElementAtPosition(M.x,M.y);this.hitLinkElement=this.getElementLinkAtPosition(M,Z)}this.hitLinkElement&&!this.state.selectedElementIds[this.hitLinkElement.id]?b<300&&NE(this.hitLinkElement)&&!Cb0(this.hitLinkElement,this.scene.getNonDeletedElementsMap(),this.state,t(M.x,M.y))?this.handleEmbeddableCenterClick(this.hitLinkElement):this.redirectToLink(f,this.device.isTouchScreen):this.state.viewModeEnabled&&this.setState({activeEmbeddable:null,selectedElementIds:{}})}),j0(this,"maybeOpenContextMenuAfterPointerDownOnTouchDevices",(f)=>{f.pointerType==="touch"&&(aP=!1,JJ?aP=!0:JJ=window.setTimeout(()=>{JJ=0,aP||this.handleCanvasContextMenu(f)},Cfu))}),j0(this,"resetContextMenuTimer",()=>{clearTimeout(JJ),JJ=0,aP=!1}),j0(this,"maybeCleanupAfterMissingPointerUp",(f)=>{mP?.(),this.missingPointerEventCleanupEmitter.trigger(f).clear()}),j0(this,"handleCanvasPanUsingWheelOrSpaceDrag",(f)=>{if(!(j1.pointers.size<=1&&(f.button===kf.WHEEL||f.button===kf.MAIN&&OG||aQ(this.state)||this.state.viewModeEnabled)))return!1;iP=!0,this.focusContainer(),this.state.editingTextElement||f.preventDefault();let M=!1,b=typeof window===void 0?!1:/Linux/.test(window.navigator.platform);E6(this.interactiveCanvas,p1.GRABBING);let{clientX:Z,clientY:J}=f,K=OQ0((Q)=>{let G=Z-Q.clientX,H=J-Q.clientY;if(Z=Q.clientX,J=Q.clientY,b&&!M&&(Math.abs(G)>1||Math.abs(H)>1)){M=!0;let l=(L)=>{document.body.removeEventListener("paste",l),L.stopPropagation()},q=()=>{setTimeout(()=>{document.body.removeEventListener("paste",l),window.removeEventListener("pointerup",q)},100)};document.body.addEventListener("paste",l),window.addEventListener("pointerup",q)}this.translateCanvas({scrollX:this.state.scrollX-G/this.state.zoom.value,scrollY:this.state.scrollY-H/this.state.zoom.value})}),w=P9(mP=()=>{mP=null,iP=!1,OG||(this.state.viewModeEnabled?E6(this.interactiveCanvas,p1.GRAB):xD(this.interactiveCanvas,this.state)),this.setState({cursorButton:"up"}),this.savePointer(f.clientX,f.clientY,"up"),window.removeEventListener("pointermove",K),window.removeEventListener("pointerup",w),window.removeEventListener("blur",w),K.flush()});return window.addEventListener("blur",w),window.addEventListener("pointermove",K,{passive:!0}),window.addEventListener("pointerup",w),!0}),j0(this,"clearSelectionIfNotUsingSelection",()=>{this.state.activeTool.type!=="selection"&&this.setState({selectedElementIds:X1({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null})}),j0(this,"handleSelectionOnPointerDown",(f,M)=>{if(this.state.activeTool.type==="selection"){let b=this.scene.getNonDeletedElements(),Z=this.scene.getNonDeletedElementsMap(),J=this.scene.getSelectedElements(this.state);if(J.length===1&&!this.state.editingLinearElement&&!Q4(J[0])&&!(this.state.selectedLinearElement&&this.state.selectedLinearElement.hoverPointIndex!==-1)){let K=Ob0(b,this.state,M.origin.x,M.origin.y,this.state.zoom,f.pointerType,this.scene.getNonDeletedElementsMap(),this.device);K!=null&&(K.transformHandleType==="rotation"?(this.setState({resizingElement:K.element}),M.resize.handleType=K.transformHandleType):(this.state.croppingElementId||this.setState({resizingElement:K.element}),M.resize.handleType=K.transformHandleType))}else J.length>1&&(M.resize.handleType=Ib0(I1(J),M.origin.x,M.origin.y,this.state.zoom,f.pointerType,this.device));if(M.resize.handleType)M.resize.isResizing=!0,M.resize.offset=aA(QJu(M.resize.handleType,J,Z,M.origin.x,M.origin.y)),J.length===1&&S3(J[0])&&J[0].points.length===2&&(M.resize.arrowDirection=GJu(M.resize.handleType,J[0]));else{if(this.state.selectedLinearElement){let Q=this.state.editingLinearElement||this.state.selectedLinearElement,G=Z4.handlePointerDown(f,this,this.store,M.origin,Q,this.scene);if(G.hitElement&&(M.hit.element=G.hitElement),G.linearElementEditor&&(this.setState({selectedLinearElement:G.linearElementEditor}),this.state.editingLinearElement&&this.setState({editingLinearElement:G.linearElementEditor})),G.didAddPoint)return!0}if(M.hit.element=M.hit.element??this.getElementAtPosition(M.origin.x,M.origin.y),this.hitLinkElement=this.getElementLinkAtPosition(M.origin,M.hit.element),this.hitLinkElement)return!0;if(this.state.croppingElementId&&M.hit.element?.id!==this.state.croppingElementId&&this.finishImageCropping(),M.hit.element&&this.getElementLinkAtPosition({x:M.origin.x,y:M.origin.y},M.hit.element))return!1;M.hit.allHitElements=this.getElementsAtPosition(M.origin.x,M.origin.y);let K=M.hit.element,w=M.hit.allHitElements.some((Q)=>this.isASelectedElement(Q));if((K===null||!w)&&!f.shiftKey&&!M.hit.hasHitCommonBoundingBoxOfSelectedElements&&this.clearSelection(K),this.state.editingLinearElement)this.setState({selectedElementIds:X1({[this.state.editingLinearElement.elementId]:!0},this.state)});else if(K!=null){if(f[r0.CTRL_OR_CMD])return this.state.selectedElementIds[K.id]||(M.hit.wasAddedToSelection=!0),this.setState((Q)=>({...UZu(Q,K),previousSelectedElementIds:this.state.selectedElementIds})),!1;this.state.selectedElementIds[K.id]||(this.state.editingGroupId&&!YX(K,this.state.editingGroupId)&&this.setState({selectedElementIds:X1({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null}),!w&&!M.hit.hasHitCommonBoundingBoxOfSelectedElements&&(this.setState((Q)=>{let G={...Q.selectedElementIds,[K.id]:!0},H=[];if(Object.keys(Q.selectedElementIds).forEach((l)=>{let q=this.scene.getElement(l);q&&H.push(q)}),u3(K))RD(H,K.id).forEach((l)=>{delete G[l.id]});else if(K.frameId)G[K.frameId]&&delete G[K.id];else{let l=K.groupIds,q=new Set(l.flatMap((L)=>W6(this.scene.getNonDeletedElements(),L)).filter((L)=>u3(L)).map((L)=>L.id));q.size>0&&H.forEach((L)=>{L.frameId&&q.has(L.frameId)&&(delete G[L.id],L.groupIds.flatMap((v)=>W6(this.scene.getNonDeletedElements(),v)).forEach((v)=>{delete G[v.id]}))})}return Q.openDialog?.name==="elementLinkSelector"&&(K.groupIds.some((l)=>Q.selectedGroupIds[l])||(G={[K.id]:!0})),{...n7({editingGroupId:Q.editingGroupId,selectedElementIds:G},this.scene.getNonDeletedElements(),Q,this),showHyperlinkPopup:K.link||nB(K)?"info":!1}}),M.hit.wasAddedToSelection=!0))}this.setState({previousSelectedElementIds:this.state.selectedElementIds})}}return!1}),j0(this,"handleTextOnPointerDown",(f,M)=>{if(this.state.editingTextElement)return;let b=M.origin.x,Z=M.origin.y,J=this.getElementAtPosition(b,Z,{includeBoundTextElement:!0}),K=this.getTextBindableContainerAtPosition(b,Z);r8(J)&&(K=J,b=J.x+J.width/2,Z=J.y+J.height/2),this.startTextEditing({sceneX:b,sceneY:Z,insertAtParentCenter:!f.altKey,container:K,autoEdit:!1}),nA(this.interactiveCanvas),this.state.activeTool.locked||this.setState({activeTool:n9(this.state,{type:"selection"})})}),j0(this,"handleFreeDrawElementOnPointerDown",(f,M,b)=>{let[Z,J]=J2(b.origin.x,b.origin.y,null),K=this.getTopLayerFrameAtSceneCoords({x:Z,y:J}),w=f.pressure===0.5,Q=TZu({type:M,x:Z,y:J,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,roundness:null,simulatePressure:w,locked:!1,frameId:K?K.id:null,points:[t(0,0)],pressures:w?[]:[f.pressure]});this.scene.insertElement(Q),this.setState((H)=>{let l={...H.selectedElementIds};return delete l[Q.id],{selectedElementIds:X1(l,H)}});let G=cA(b.origin,this.scene.getNonDeletedElements(),this.scene.getNonDeletedElementsMap(),this.state.zoom);this.setState({newElement:Q,startBoundElement:G,suggestedBindings:[]})}),j0(this,"insertIframeElement",({sceneX:f,sceneY:M,width:b,height:Z})=>{let[J,K]=J2(f,M,this.lastPointerDownEvent?.[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),w=YZu({type:"iframe",x:J,y:K,strokeColor:"transparent",backgroundColor:"transparent",fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,roundness:this.getCurrentItemRoundness("iframe"),opacity:this.state.currentItemOpacity,locked:!1,width:b,height:Z});return this.scene.insertElement(w),w}),j0(this,"insertEmbeddableElement",({sceneX:f,sceneY:M,link:b})=>{let[Z,J]=J2(f,M,this.lastPointerDownEvent?.[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),K=nQ(b);if(!K)return;K.error instanceof URIError&&this.setToast({message:C0("toast.unrecognizedLinkFormat"),closable:!0});let w=pM0({type:"embeddable",x:Z,y:J,strokeColor:"transparent",backgroundColor:"transparent",fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,roundness:this.getCurrentItemRoundness("embeddable"),opacity:this.state.currentItemOpacity,locked:!1,width:K.intrinsicSize.w,height:K.intrinsicSize.h,link:b});return this.scene.insertElement(w),w}),j0(this,"createImageElement",({sceneX:f,sceneY:M,addToFrameUnderCursor:b=!0})=>{let[Z,J]=J2(f,M,this.lastPointerDownEvent?.[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),K=b?this.getTopLayerFrameAtSceneCoords({x:Z,y:J}):null;return dM0({type:"image",x:Z,y:J,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,roundness:null,opacity:this.state.currentItemOpacity,locked:!1,frameId:K?K.id:null})}),j0(this,"handleLinearElementOnPointerDown",(f,M,b)=>{if(this.state.multiElement){let{multiElement:Z}=this.state;if(Z.type==="line"&&VU(Z.points,this.state.zoom.value)){Su(Z,{lastCommittedPoint:Z.points[Z.points.length-1]}),this.actionManager.executeAction(sD);return}if(Q4(Z)&&Z.points.length>1){Su(Z,{lastCommittedPoint:Z.points[Z.points.length-1]}),this.actionManager.executeAction(sD);return}let{x:J,y:K,lastCommittedPoint:w}=Z;if(Z.points.length>1&&w&&l1(t(b.origin.x-J,b.origin.y-K),w)<YO){this.actionManager.executeAction(sD);return}this.setState((Q)=>({selectedElementIds:X1({...Q.selectedElementIds,[Z.id]:!0},Q)})),Su(Z,{lastCommittedPoint:Z.points[Z.points.length-1]}),E6(this.interactiveCanvas,p1.POINTER)}else{let[Z,J]=J2(b.origin.x,b.origin.y,f[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),K=this.getTopLayerFrameAtSceneCoords({x:Z,y:J}),{currentItemStartArrowhead:w,currentItemEndArrowhead:Q}=this.state,[G,H]=M==="arrow"?[w,Q]:[null,null],l=M==="arrow"?Fn({type:M,x:Z,y:J,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,roundness:this.state.currentItemArrowType===M5.round?{type:Z2.PROPORTIONAL_RADIUS}:null,startArrowhead:G,endArrowhead:H,locked:!1,frameId:K?K.id:null,elbowed:this.state.currentItemArrowType===M5.elbow,fixedSegments:this.state.currentItemArrowType===M5.elbow?[]:null}):JZ({type:M,x:Z,y:J,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,roundness:this.state.currentItemRoundness==="round"?{type:Z2.PROPORTIONAL_RADIUS}:null,locked:!1,frameId:K?K.id:null});this.setState((L)=>{let v={...L.selectedElementIds};return delete v[l.id],{selectedElementIds:X1(v,L)}}),Su(l,{points:[...l.points,t(0,0)]});let q=cA(b.origin,this.scene.getNonDeletedElements(),this.scene.getNonDeletedElementsMap(),this.state.zoom,Q4(l),Q4(l));this.scene.insertElement(l),this.setState({newElement:l,startBoundElement:q,suggestedBindings:[]})}}),j0(this,"createGenericElementOnPointerDown",(f,M)=>{let[b,Z]=J2(M.origin.x,M.origin.y,this.lastPointerDownEvent?.[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),J=this.getTopLayerFrameAtSceneCoords({x:b,y:Z}),K={x:b,y:Z,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,roundness:this.getCurrentItemRoundness(f),locked:!1,frameId:J?J.id:null},w;f==="embeddable"?w=pM0({type:"embeddable",...K}):w=SD({type:f,...K}),w.type==="selection"?this.setState({selectionElement:w}):(this.scene.insertElement(w),this.setState({multiElement:null,newElement:w}))}),j0(this,"createFrameElementOnPointerDown",(f,M)=>{let[b,Z]=J2(f.origin.x,f.origin.y,this.lastPointerDownEvent?.[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),J={x:b,y:Z,opacity:this.state.currentItemOpacity,locked:!1,...V6},K=M===I2.magicframe?Dn(J):Cn(J);this.scene.insertElement(K),this.setState({multiElement:null,newElement:K})}),j0(this,"restoreReadyToEraseElements",()=>{this.elementsPendingErasure=new Set,this.triggerRender()}),j0(this,"eraseElements",()=>{let f=!1,M=this.scene.getElementsIncludingDeleted().map((b)=>this.elementsPendingErasure.has(b.id)||b.frameId&&this.elementsPendingErasure.has(b.frameId)||x6(b)&&this.elementsPendingErasure.has(b.containerId)?(f=!0,O3(b,{isDeleted:!0})):b);this.elementsPendingErasure=new Set,f&&(this.store.shouldCaptureIncrement(),this.scene.replaceAllElements(M))}),j0(this,"initializeImage",async({imageFile:f,imageElement:M,showCursorImagePreview:b=!1})=>{if(!jZ(f))throw Error(C0("errors.unsupportedFileType"));let Z=f.type;if(E6(this.interactiveCanvas,"wait"),Z===r4.svg)try{f=yb0(Ab0(await f.text()),f.name)}catch(Q){throw console.warn(Q),Error(C0("errors.svgImageInsertError"))}let J=await(this.props.generateIdForFile?.(f)||YJu(f));if(!J)throw console.warn("Couldn't generate file id or the supplied `generateIdForFile` didn't resolve to one."),Error(C0("errors.imageInsertError"));if(!this.files[J]?.dataURL){try{f=await Pn(f,{maxWidthOrHeight:Mfu})}catch(Q){console.error("Error trying to resizing image file on insertion",Q)}if(f.size>Kf0)throw Error(C0("errors.fileTooBig",{maxSize:`${Math.trunc(Kf0/1024/1024)}MB`}))}if(b){let Q=this.files[J]?.dataURL,G=Q&&TJu(Q);this.setImagePreviewCursor(G||f)}let K=this.files[J]?.dataURL||await $b0(f),w=Su(M,{fileId:J},!1);return new Promise(async(Q,G)=>{try{this.addMissingFiles([{mimeType:Z,id:J,dataURL:K,created:Date.now(),lastRetrieved:Date.now()}]);let H=this.imageCache.get(J);H||(this.addNewImagesToImageCache(),await this.updateImageCache([w])),H?.image instanceof Promise&&await H.image,this.state.pendingImageElementId!==w.id&&this.state.newElement?.id!==w.id&&this.initializeImageDimensions(w,!0),Q(w)}catch(H){console.error(H),G(Error(C0("errors.imageInsertError")))}finally{b||nA(this.interactiveCanvas)}})}),j0(this,"insertImageElement",async(f,M,b)=>{if(!this.isToolSupported("image")){this.setState({errorMessage:C0("errors.imageToolNotSupported")});return}this.scene.insertElement(f);try{return await this.initializeImage({imageFile:M,imageElement:f,showCursorImagePreview:b})}catch(Z){return Su(f,{isDeleted:!0}),this.actionManager.executeAction(sD),this.setState({errorMessage:Z.message||C0("errors.imageInsertError")}),null}}),j0(this,"setImagePreviewCursor",async(f)=>{let M;try{M=await Pn(f,{maxWidthOrHeight:96})}catch(Z){throw Z.cause==="UNSUPPORTED"?Error(C0("errors.unsupportedFileType")):Z}let b=await $b0(M);if(f.type===r4.svg){let Z=await ub0(b),J=Math.min(Z.height,96),K=J*(Z.width/Z.height);K>96&&(K=96,J=K*(Z.height/Z.width));let w=document.createElement("canvas");w.height=J,w.width=K,w.getContext("2d").drawImage(Z,0,0,K,J),b=w.toDataURL(r4.svg)}this.state.pendingImageElementId&&E6(this.interactiveCanvas,`url(${b}) 4 4, auto`)}),j0(this,"onImageAction",async({insertOnCanvasDirectly:f})=>{try{let M=this.state.width/2+this.state.offsetLeft,b=this.state.height/2+this.state.offsetTop,{x:Z,y:J}=q6({clientX:M,clientY:b},this.state),K=await zn({description:"Image",extensions:Object.keys(VQ)}),w=this.createImageElement({sceneX:Z,sceneY:J,addToFrameUnderCursor:!1});f?(this.insertImageElement(w,K),this.initializeImageDimensions(w),this.setState({selectedElementIds:X1({[w.id]:!0},this.state)},()=>{this.actionManager.executeAction(sD)})):this.setState({pendingImageElementId:w.id},()=>{this.insertImageElement(w,K,!0)})}catch(M){M.name!=="AbortError"?console.error(M):console.warn(M),this.setState({pendingImageElementId:null,newElement:null,activeTool:n9(this.state,{type:"selection"})},()=>{this.actionManager.executeAction(sD)})}}),j0(this,"initializeImageDimensions",(f,M=!1)=>{let b=aE(f)&&this.imageCache.get(f.fileId)?.image;if(!b||b instanceof Promise){if(f.width<lZ/this.state.zoom.value&&f.height<lZ/this.state.zoom.value){let Z=100/this.state.zoom.value;Su(f,{x:f.x-Z/2,y:f.y-Z/2,width:Z,height:Z})}return}if(M||f.width<lZ/this.state.zoom.value&&f.height<lZ/this.state.zoom.value){let Z=Math.max(this.state.height-120,160),J=Math.min(Z,Math.floor(this.state.height*0.5)/this.state.zoom.value),K=Math.min(b.naturalHeight,J),w=K*(b.naturalWidth/b.naturalHeight),Q=f.x+f.width/2-w/2,G=f.y+f.height/2-K/2;Su(f,{x:Q,y:G,width:w,height:K,crop:null})}}),j0(this,"updateImageCache",async(f,M=this.files)=>{let{updatedFiles:b,erroredFiles:Z}=await Bb0({imageCache:this.imageCache,fileIds:f.map((J)=>J.fileId),files:M});if(b.size||Z.size)for(let J of f)b.has(J.fileId)&&s6.delete(J);return Z.size&&this.scene.replaceAllElements(this.scene.getElementsIncludingDeleted().map((J)=>aE(J)&&Z.has(J.fileId)?O3(J,{status:"error"}):J)),{updatedFiles:b,erroredFiles:Z}}),j0(this,"addNewImagesToImageCache",async(f=Eb0(this.scene.getNonDeletedElements()),M=this.files)=>{let b=f.filter((Z)=>!Z.isDeleted&&!this.imageCache.has(Z.fileId));if(b.length){let{updatedFiles:Z}=await this.updateImageCache(b,M);Z.size&&this.scene.triggerUpdate()}}),j0(this,"scheduleImageRefresh",zu4.default(()=>{this.addNewImagesToImageCache()},Efu)),j0(this,"updateBindingEnabledOnPointerMove",(f)=>{let M=EZu(f);this.state.isBindingEnabled!==M&&this.setState({isBindingEnabled:M})}),j0(this,"maybeSuggestBindingAtCursor",(f,M)=>{let b=cA(f,this.scene.getNonDeletedElements(),this.scene.getNonDeletedElementsMap(),this.state.zoom,!1,M);this.setState({suggestedBindings:b!=null?[b]:[]})}),j0(this,"maybeSuggestBindingsForLinearElementAtCoords",(f,M,b)=>{if(!M.length)return;let Z=M.reduce((J,K)=>{let w=cA(K,this.scene.getNonDeletedElements(),this.scene.getNonDeletedElementsMap(),this.state.zoom,Q4(f),Q4(f));return w!=null&&!TM0(f,b?.id,w)&&J.push(w),J},[]);this.setState({suggestedBindings:Z})}),j0(this,"handleInteractiveCanvasRef",(f)=>{f!==null?(this.interactiveCanvas=f,this.interactiveCanvas.addEventListener("touchstart",this.onTouchStart,{passive:!1}),this.interactiveCanvas.addEventListener("touchend",this.onTouchEnd)):(this.interactiveCanvas?.removeEventListener("touchstart",this.onTouchStart),this.interactiveCanvas?.removeEventListener("touchend",this.onTouchEnd))}),j0(this,"handleAppOnDrop",async(f)=>{let{file:M,fileHandle:b}=await PJu(f),{x:Z,y:J}=q6(f,this.state);try{if(jZ(M)&&this.isToolSupported("image")){if(M?.type===r4.png||M?.type===r4.svg)try{let Q=await ab0(M,this.state,this.scene.getElementsIncludingDeleted(),b);this.syncActionResult({...Q,appState:{...Q.appState||this.state,isLoading:!1},replaceFiles:!0,captureUpdate:Xu.IMMEDIATELY});return}catch(Q){if(Q.name!=="EncodingError")throw Error(C0("alerts.couldNotLoadInvalidFile"))}let w=this.createImageElement({sceneX:Z,sceneY:J});this.insertImageElement(w,M),this.initializeImageDimensions(w),this.setState({selectedElementIds:X1({[w.id]:!0},this.state)});return}}catch(w){return this.setState({isLoading:!1,errorMessage:w.message})}let K=f.dataTransfer.getData(r4.excalidrawlib);if(K&&typeof K=="string"){try{let w=mb0(K);this.addElementsFromPasteOrLibrary({elements:Veu(w),position:f,files:null})}catch(w){this.setState({errorMessage:w.message})}return}if(M&&await this.loadFileToCanvas(M,b),f.dataTransfer?.types?.includes("text/plain")){let w=f.dataTransfer?.getData("text");if(w&&EI(w,this.props.validateEmbeddable)&&(/^(http|https):\/\/[^\s/$.?#].[^\s]*$/.test(w)||nQ(w)?.type==="video")){let Q=this.insertEmbeddableElement({sceneX:Z,sceneY:J,link:$8(w)});Q&&this.setState({selectedElementIds:{[Q.id]:!0}})}}}),j0(this,"loadFileToCanvas",async(f,M)=>{f=await jn(f);try{let b=this.scene.getElementsIncludingDeleted(),Z;try{Z=await ib0(f,this.state,b,M)}catch(J){let K=J instanceof MZ;if(K&&J.code==="IMAGE_NOT_CONTAINS_SCENE_DATA"&&!this.isToolSupported("image")){this.setState({isLoading:!1,errorMessage:C0("errors.imageToolNotSupported")});return}let w=K?C0("alerts.cannotRestoreFromImage"):C0("alerts.couldNotLoadInvalidFile");this.setState({isLoading:!1,errorMessage:w})}if(!Z)return;Z.type===r4.excalidraw?(_U(b.concat(Z.data.elements)),this.store.updateSnapshot(e4(b),this.state),this.setState({isLoading:!0}),this.syncActionResult({...Z.data,appState:{...Z.data.appState||this.state,isLoading:!1},replaceFiles:!0,captureUpdate:Xu.IMMEDIATELY})):Z.type===r4.excalidrawlib&&await this.library.updateLibrary({libraryItems:f,merge:!0,openLibraryMenu:!0}).catch((J)=>{console.error(J),this.setState({errorMessage:C0("errors.importLibraryError")})})}catch(b){this.setState({isLoading:!1,errorMessage:b.message})}}),j0(this,"handleCanvasContextMenu",(f)=>{if(f.preventDefault(),(("pointerType"in f.nativeEvent)&&f.nativeEvent.pointerType==="touch"||("pointerType"in f.nativeEvent)&&f.nativeEvent.pointerType==="pen"&&f.button!==kf.SECONDARY)&&this.state.activeTool.type!=="selection")return;let{x:M,y:b}=q6(f,this.state),Z=this.getElementAtPosition(M,b,{preferSelected:!0,includeLockedElements:!0}),J=this.scene.getSelectedElements(this.state),K=this.isHittingCommonBoundingBoxOfSelectedElements({x:M,y:b},J),w=Z||K?"element":"canvas",Q=this.excalidrawContainerRef.current,{top:G,left:H}=Q.getBoundingClientRect(),l=f.clientX-H,q=f.clientY-G;l6("contextMenu","openContextMenu",w),this.setState({...Z&&!this.state.selectedElementIds[Z.id]?{...this.state,...n7({editingGroupId:this.state.editingGroupId,selectedElementIds:{[Z.id]:!0}},this.scene.getNonDeletedElements(),this.state,this),selectedLinearElement:S3(Z)?new Z4(Z):null}:this.state,showHyperlinkPopup:!1},()=>{this.setState({contextMenu:{top:q,left:l,items:this.getContextMenuItems(w)}})})}),j0(this,"maybeDragNewGenericElement",(f,M,b=!0)=>{let Z=this.state.selectionElement,J=f.lastCoords;if(Z&&this.state.activeTool.type!=="eraser"){Vb0({newElement:Z,elementType:this.state.activeTool.type,originX:f.origin.x,originY:f.origin.y,x:J.x,y:J.y,width:L7(f.origin.x,J.x),height:L7(f.origin.y,J.y),shouldMaintainAspectRatio:xX(M),shouldResizeFromCenter:yp(M),zoom:this.state.zoom.value,informMutation:b});return}let K=this.state.newElement;if(!K)return;let[w,Q]=J2(J.x,J.y,M[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),G=aE(K)&&this.imageCache.get(K.fileId)?.image,H=G&&!(G instanceof Promise)?G.width/G.height:null;this.maybeCacheReferenceSnapPoints(M,[K]);let{snapOffset:l,snapLines:q}=KZu(K,this,M,{x:f.originInGrid.x+(this.state.originSnapOffset?.x??0),y:f.originInGrid.y+(this.state.originSnapOffset?.y??0)},{x:w-f.originInGrid.x,y:Q-f.originInGrid.y},this.scene.getNonDeletedElementsMap());w+=l.x,Q+=l.y,this.setState({snapLines:q}),Vb0({newElement:K,elementType:this.state.activeTool.type,originX:f.originInGrid.x,originY:f.originInGrid.y,x:w,y:Q,width:L7(f.originInGrid.x,w),height:L7(f.originInGrid.y,Q),shouldMaintainAspectRatio:L1(K)?!xX(M):xX(M),shouldResizeFromCenter:yp(M),zoom:this.state.zoom.value,widthAspectRatio:H,originOffset:this.state.originSnapOffset,informMutation:b}),this.setState({newElement:K}),(this.state.activeTool.type===I2.frame||this.state.activeTool.type===I2.magicframe)&&this.setState({elementsToHighlight:zI(this.scene.getNonDeletedElements(),K,this.state,this.scene.getNonDeletedElementsMap())})}),j0(this,"maybeHandleCrop",(f,M)=>{if(!this.state.croppingElementId)return!1;let b=f.resize.handleType,Z=f.lastCoords,[J,K]=J2(Z.x-f.resize.offset.x,Z.y-f.resize.offset.y,M[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),w=this.scene.getNonDeletedElementsMap().get(this.state.croppingElementId);if(b&&w&&L1(w)){let Q=f.originalElements.get(w.id),G=aE(w)&&this.imageCache.get(w.fileId)?.image;if(Q&&L1(Q)&&G&&!(G instanceof Promise)){let[H,l]=J2(Z.x,Z.y,M[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),q={x:H-f.originInGrid.x,y:l-f.originInGrid.y};this.maybeCacheReferenceSnapPoints(M,[w]);let{snapOffset:L,snapLines:v}=$M0([w],[Q],this,M,q,b);Su(w,$bu(w,b,G.naturalWidth,G.naturalHeight,J+L.x,K+L.y,M.shiftKey?Q.width/Q.height:void 0)),_B(w,this.scene.getNonDeletedElementsMap(),{newSize:{width:w.width,height:w.height}}),this.setState({isCropping:b&&b!=="rotation",snapLines:v})}return!0}return!1}),j0(this,"maybeHandleResize",(f,M)=>{let b=this.scene.getSelectedElements(this.state),Z=b.filter((H)=>u3(H)),J=f.resize.handleType;if(Z.length>0&&J==="rotation"||b.length===1&&Q4(b[0])||this.state.croppingElementId)return!1;this.setState({isResizing:J&&J!=="rotation",isRotating:J==="rotation",activeEmbeddable:null});let K=f.lastCoords,[w,Q]=J2(K.x-f.resize.offset.x,K.y-f.resize.offset.y,M[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),G=new Map;if(Z.forEach((H)=>{RD(this.scene.getNonDeletedElements(),H.id).forEach((l)=>{G.set(H.id+l.id,{x:l.x-H.x,y:l.y-H.y})})}),!this.state.selectedElementsAreBeingDragged){let[H,l]=J2(K.x,K.y,M[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),q={x:H-f.originInGrid.x,y:l-f.originInGrid.y},L=[...f.originalElements.values()];this.maybeCacheReferenceSnapPoints(M,b);let{snapOffset:v,snapLines:x}=$M0(b,N3(L,this.state),this,M,q,J);w+=v.x,Q+=v.y,this.setState({snapLines:x})}if(wJu(f.originalElements,J,b,this.scene.getElementsMapIncludingDeleted(),this.scene,fX(M),yp(M),b.some((H)=>L1(H))?!xX(M):xX(M),w,Q,f.resize.center.x,f.resize.center.y)){let H=op(b,this.scene.getNonDeletedElementsMap(),this.state.zoom),l=new Set;return Z.forEach((q)=>{zI(this.scene.getNonDeletedElements(),q,this.state,this.scene.getNonDeletedElementsMap()).forEach((L)=>l.add(L))}),this.setState({elementsToHighlight:[...l],suggestedBindings:H}),!0}return!1}),j0(this,"getContextMenuItems",(f)=>{let M=[];return M.push($ou,mou),f==="canvas"?this.state.viewModeEnabled?[...M,rou,gQ0,Xtu,cQ0]:[iou,Q5,$ou,mou,you,Q5,jb3,BJ3,Q5,rou,yZ3,gQ0,Xtu,cQ0]:(M.push(you),this.state.viewModeEnabled?[uo,...M]:[Q5,aou,uo,iou,Q5,xQ3,WQ3,SQ3,Q5,GK3,Q5,...M,Q5,SZ3,YZ3,Q5,TZ3,bG3,rZ3,gZ3,pZ3,OZ3,Q5,NZ3,Q5,Tb3,Ob3,Ib3,Pb3,Q5,aZ3,mZ3,Q5,QK3,Q5,Teu,u04,Q5,ib3,uJ3,Q5,mtu])}),j0(this,"handleWheel",P9((f)=>{if(!(f.target instanceof HTMLCanvasElement||f.target instanceof HTMLTextAreaElement||f.target instanceof HTMLIFrameElement)){f[r0.CTRL_OR_CMD]&&f.preventDefault();return}if(f.preventDefault(),iP)return;let{deltaX:M,deltaY:b}=f;if(f.metaKey||f.ctrlKey){let Z=Math.sign(b),J=PO*100,K=Math.abs(b),w=b;K>J&&(w=J*Z);let Q=this.state.zoom.value-w/100;Q+=Math.log10(Math.max(1,this.state.zoom.value))*-Z*Math.min(1,K/20),this.translateCanvas((G)=>({...IG({viewportX:this.lastViewportPosition.x,viewportY:this.lastViewportPosition.y,nextZoom:gU(Q)},G),shouldCacheIgnoreZoom:!0})),this.resetShouldCacheIgnoreZoomDebounced();return}if(f.shiftKey){this.translateCanvas(({zoom:Z,scrollX:J})=>({scrollX:J-(b||M)/Z.value}));return}this.translateCanvas(({zoom:Z,scrollX:J,scrollY:K})=>({scrollX:J-M/Z.value,scrollY:K-b/Z.value}))})),j0(this,"savePointer",(f,M,b)=>{if(!f||!M)return;let{x:Z,y:J}=q6({clientX:f,clientY:M},this.state);isNaN(Z)||isNaN(J);let K={x:Z,y:J,tool:this.state.activeTool.type==="laser"?"laser":"pointer"};this.props.onPointerUpdate?.({pointer:K,button:b,pointersMap:j1.pointers})}),j0(this,"resetShouldCacheIgnoreZoomDebounced",$Q(()=>{this.unmounted||this.setState({shouldCacheIgnoreZoom:!1})},300)),j0(this,"updateDOMRect",(f)=>{if(this.excalidrawContainerRef?.current){let M=this.excalidrawContainerRef.current,{width:b,height:Z,left:J,top:K}=M.getBoundingClientRect(),{width:w,height:Q,offsetTop:G,offsetLeft:H}=this.state;if(b===w&&Z===Q&&J===H&&K===G){f&&f();return}this.setState({width:b,height:Z,offsetLeft:J,offsetTop:K},()=>{f&&f()})}}),j0(this,"refresh",()=>{this.setState({...this.getCanvasOffsets()})});let E=LD(),{excalidrawAPI:A,viewModeEnabled:C=!1,zenModeEnabled:D=!1,gridModeEnabled:F=!1,objectsSnapModeEnabled:U=!1,theme:z=E.theme,name:k=`${C0("labels.untitled")}-${Lf0()}`}=B;if(this.state={...E,theme:z,isLoading:!0,...this.getCanvasOffsets(),viewModeEnabled:C,zenModeEnabled:D,objectsSnapModeEnabled:U,gridModeEnabled:F??E.gridModeEnabled,name:k,width:window.innerWidth,height:window.innerHeight},this.id=rL(),this.library=new MJ3(this),this.actionManager=new LK3(this.syncActionResult,()=>this.state,()=>this.scene.getElementsIncludingDeleted(),this),this.scene=new aU,this.canvas=document.createElement("canvas"),this.rc=NA.canvas(this.canvas),this.renderer=new Ttu(this.scene),this.visibleElements=[],this.store=new NZu,this.history=new eou,A){let f={updateScene:this.updateScene,updateLibrary:this.library.updateLibrary,addFiles:this.addFiles,resetScene:this.resetScene,getSceneElementsIncludingDeleted:this.getSceneElementsIncludingDeleted,history:{clear:this.resetHistory},scrollToContent:this.scrollToContent,getSceneElements:this.getSceneElements,getAppState:()=>this.state,getFiles:()=>this.files,getName:this.getName,registerAction:(M)=>{this.actionManager.registerAction(M)},refresh:this.refresh,setToast:this.setToast,id:this.id,setActiveTool:this.setActiveTool,setCursor:this.setCursor,resetCursor:this.resetCursor,updateFrameRendering:this.updateFrameRendering,toggleSidebar:this.toggleSidebar,onChange:(M)=>this.onChangeEmitter.on(M),onPointerDown:(M)=>this.onPointerDownEmitter.on(M),onPointerUp:(M)=>this.onPointerUpEmitter.on(M),onScrollChange:(M)=>this.onScrollChangeEmitter.on(M),onUserFollow:(M)=>this.onUserFollowEmitter.on(M)};typeof A=="function"?A(f):console.error("excalidrawAPI should be a function!")}this.excalidrawContainerValue={container:this.excalidrawContainerRef.current,id:this.id},this.fonts=new rU(this.scene),this.history=new eou,this.actionManager.registerAll(kp),this.actionManager.registerAction(qK3(this.history,this.store)),this.actionManager.registerAction(lK3(this.history,this.store))}onWindowMessage(B){if(B.origin!=="https://player.vimeo.com"&&B.origin!=="https://www.youtube.com")return;let E=null;try{E=JSON.parse(B.data)}catch{}if(E)switch(B.origin){case"https://player.vimeo.com":if(E.method==="paused"){let A=null,C=document.body.querySelectorAll("iframe.excalidraw__embeddable");if(!C)break;for(let D of C)D.contentWindow===B.source&&(A=D.contentWindow);A?.postMessage(JSON.stringify({method:E.value?"play":"pause",value:!0}),"*")}break;case"https://www.youtube.com":if(E.event==="infoDelivery"&&E.info&&E.id&&typeof E.info.playerState=="number"){let A=E.id,C=E.info.playerState;Object.values(RO).includes(C)&&iQ0.set(A,C)}break}}cacheEmbeddableRef(B,E){E&&this.iFrameRefs.set(B.id,E)}getHTMLIFrameElement(B){return this.iFrameRefs.get(B.id)}handleEmbeddableCenterClick(B){if(this.state.activeEmbeddable?.element===B&&this.state.activeEmbeddable?.state==="active"||(setTimeout(()=>{this.setState({activeEmbeddable:{element:B,state:"active"},selectedElementIds:{[B.id]:!0},newElement:null,selectionElement:null})},100),Mf(B)))return;let E=this.getHTMLIFrameElement(B);if(E?.contentWindow){if(E.src.includes("youtube")){let A=iQ0.get(B.id);switch(A||(iQ0.set(B.id,RO.UNSTARTED),E.contentWindow.postMessage(JSON.stringify({event:"listening",id:B.id}),"*")),A){case RO.PLAYING:case RO.BUFFERING:E.contentWindow?.postMessage(JSON.stringify({event:"command",func:"pauseVideo",args:""}),"*");break;default:E.contentWindow?.postMessage(JSON.stringify({event:"command",func:"playVideo",args:""}),"*")}}E.src.includes("player.vimeo.com")&&E.contentWindow.postMessage(JSON.stringify({method:"paused"}),"*")}}isIframeLikeElementCenter(B,E,A,C){return B&&!E.altKey&&!E.shiftKey&&!E.metaKey&&!E.ctrlKey&&(this.state.activeEmbeddable?.element!==B||this.state.activeEmbeddable?.state==="hover"||!this.state.activeEmbeddable)&&A>=B.x+B.width/3&&A<=B.x+2*B.width/3&&C>=B.y+B.height/3&&C<=B.y+2*B.height/3}renderEmbeddables(){let B=this.state.zoom.value,E=this.state.width,A=this.state.height,C=this.scene.getNonDeletedElements().filter((D)=>nB(D)&&this.embedsValidationStatus.get(D.id)===!0||Mf(D));return P(tu,{children:C.map((D)=>{let{x:F,y:U}=yA({sceneX:D.x,sceneY:D.y},this.state),z=bI(D,E,A,this.state,this.scene.getNonDeletedElementsMap()),k=this.initializedEmbeds.has(D.id);if(z&&!k&&this.initializedEmbeds.add(D.id),!(z||k))return null;let f;if(Mf(D)){f=null;let Z=(D.customData?.generationData??this.magicGenerations.get(D.id))||{status:"error",message:"No generation data",code:"ERR_NO_GENERATION_DATA"};if(Z.status==="done"){let J=Z.html;f={intrinsicSize:{w:D.width,h:D.height},type:"document",srcdoc:()=>J}}else if(Z.status==="pending")f={intrinsicSize:{w:D.width,h:D.height},type:"document",srcdoc:()=>UX(`
<style>
html, body {
width: 100%;
height: 100%;
color: ${this.state.theme===p3.DARK?"white":"black"};
}
body {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 1rem;
}
.Spinner {
display: flex;
align-items: center;
justify-content: center;
margin-left: auto;
margin-right: auto;
}
.Spinner svg {
animation: rotate 1.6s linear infinite;
transform-origin: center center;
width: 40px;
height: 40px;
}
.Spinner circle {
stroke: currentColor;
animation: dash 1.6s linear 0s infinite;
stroke-linecap: round;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
@keyframes dash {
0% {
stroke-dasharray: 1, 300;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 150, 300;
stroke-dashoffset: -200;
}
100% {
stroke-dasharray: 1, 300;
stroke-dashoffset: -280;
}
}
</style>
<div class="Spinner">
<svg
viewBox="0 0 100 100"
>
<circle
cx="50"
cy="50"
r="46"
stroke-width="8"
fill="none"
stroke-miter-limit="10"
/>
</svg>
</div>
<div>Generating...</div>
`)};else{let J;Z.code==="ERR_GENERATION_INTERRUPTED"?J="Generation was interrupted...":J=Z.message||"Generation failed",f={intrinsicSize:{w:D.width,h:D.height},type:"document",srcdoc:()=>UX(`
<style>
html, body {
height: 100%;
}
body {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: ${m3.red[3]};
}
h1, h3 {
margin-top: 0;
margin-bottom: 0.5rem;
}
</style>
<h1>Error!</h1>
<h3>${J}</h3>
`)}}}else f=nQ(cM0(D.link||""));let M=this.state.activeEmbeddable?.element===D&&this.state.activeEmbeddable?.state==="active",b=this.state.activeEmbeddable?.element===D&&this.state.activeEmbeddable?.state==="hover";return P("div",{className:Yu("excalidraw__embeddable-container",{"is-hovered":b}),style:{transform:z?`translate(${F-this.state.offsetLeft}px, ${U-this.state.offsetTop}px) scale(${B})`:"none",display:z?"block":"none",opacity:lM0(D,pB(D,this.scene.getNonDeletedElementsMap()),this.elementsPendingErasure,null,this.state.openDialog?.name==="elementLinkSelector"?Gf0:1),"--embeddable-radius":`${mA(Math.min(D.width,D.height),D)}px`},children:M0("div",{className:"excalidraw__embeddable-container__inner",style:{width:z?`${D.width}px`:0,height:z?`${D.height}px`:0,transform:z?`rotate(${D.angle}rad)`:"none",pointerEvents:M?jQ.enabled:jQ.disabled},children:[b&&P("div",{className:"excalidraw__embeddable-hint",children:C0("buttons.embeddableInteractionButton")}),P("div",{className:"excalidraw__embeddable__outer",style:{padding:`${D.strokeWidth}px`},children:(nB(D)?this.props.renderEmbeddable?.(D,this.state):null)??P("iframe",{ref:(Z)=>this.cacheEmbeddableRef(D,Z),className:"excalidraw__embeddable",srcDoc:f?.type==="document"?f.srcdoc(this.state.theme):void 0,src:f?.type!=="document"?f?.link??"":void 0,scrolling:"no",referrerPolicy:"no-referrer-when-downgrade",title:"Excalidraw Embedded Content",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,sandbox:`${f?.sandbox?.allowSameOrigin?"allow-same-origin":""} allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation allow-downloads`})})]})},D.id)})})}toggleOverscrollBehavior(B){document.documentElement.style.overscrollBehaviorX=B.type==="pointerenter"?"none":"auto"}render(){let B=this.scene.getSelectedElements(this.state),{renderTopRightUI:E,renderCustomStats:A}=this.props,C=this.scene.getSceneNonce(),{elementsMap:D,visibleElements:F}=this.renderer.getRenderableElements({sceneNonce:C,zoom:this.state.zoom,offsetLeft:this.state.offsetLeft,offsetTop:this.state.offsetTop,scrollX:this.state.scrollX,scrollY:this.state.scrollY,height:this.state.height,width:this.state.width,editingTextElement:this.state.editingTextElement,newElementId:this.state.newElement?.id,pendingImageElementId:this.state.pendingImageElementId});this.visibleElements=F;let U=this.scene.getNonDeletedElementsMap(),z="setPointerCapture"in HTMLElement.prototype?!1:this.state.selectionElement||this.state.newElement||this.state.selectedElementsAreBeingDragged||this.state.resizingElement||this.state.activeTool.type==="laser"&&this.state.cursorButton==="down",k=B[0];return P("div",{className:Yu("excalidraw excalidraw-container",{"excalidraw--view-mode":this.state.viewModeEnabled||this.state.openDialog?.name==="elementLinkSelector","excalidraw--mobile":this.device.editor.isMobile}),style:{"--ui-pointerEvents":z?jQ.disabled:jQ.enabled,"--right-sidebar-width":"302px"},ref:this.excalidrawContainerRef,onDrop:this.handleAppOnDrop,tabIndex:0,onKeyDown:this.props.handleKeyboardGlobally?void 0:this.onKeyDown,onPointerEnter:this.toggleOverscrollBehavior,onPointerLeave:this.toggleOverscrollBehavior,children:P(Qu4.Provider,{value:this,children:P(Gu4.Provider,{value:this.props,children:P(vG0.Provider,{value:this.excalidrawContainerValue,children:P(XG0.Provider,{value:this.device,children:P(SG0.Provider,{value:this.setAppState,children:P(WG0.Provider,{value:this.state,children:M0(xG0.Provider,{value:this.scene.getNonDeletedElements(),children:[M0(YG0.Provider,{value:this.actionManager,children:[P(LQ3,{canvas:this.canvas,appState:this.state,files:this.files,setAppState:this.setAppState,actionManager:this.actionManager,elements:this.scene.getNonDeletedElements(),onLockToggle:this.toggleLock,onPenModeToggle:this.togglePenMode,onHandToolToggle:this.onHandToolToggle,langCode:_P().code,renderTopRightUI:E,renderCustomStats:A,showExitZenModeBtn:typeof this.props?.zenModeEnabled>"u"&&this.state.zenModeEnabled,UIOptions:this.props.UIOptions,onExportImage:this.onExportImage,renderWelcomeScreen:!this.state.isLoading&&this.state.showWelcomeScreen&&this.state.activeTool.type==="selection"&&!this.state.zenModeEnabled&&!this.scene.getElementsIncludingDeleted().length,app:this,isCollaborating:this.props.isCollaborating,generateLinkForSelection:this.props.generateLinkForSelection,children:this.props.children}),P("div",{className:"excalidraw-textEditorContainer"}),P("div",{className:"excalidraw-contextMenuContainer"}),P("div",{className:"excalidraw-eye-dropper-container"}),P(EG3,{trails:[this.laserTrails,this.eraserTrail]}),B.length===1&&this.state.openDialog?.name!=="elementLinkSelector"&&this.state.showHyperlinkPopup&&P(sZ3,{element:k,elementsMap:U,setAppState:this.setAppState,onLinkOpen:this.props.onLinkOpen,setToast:this.setToast,updateEmbedValidationStatus:this.updateEmbedValidationStatus},k.id),this.props.aiEnabled!==!1&&B.length===1&&$O(k)&&P(Otu,{element:k,elementsMap:D,children:P(jQ0,{title:C0("labels.convertToCode"),icon:bM0,checked:!1,onChange:()=>this.onMagicFrameGenerate(k,"button")})}),B.length===1&&Mf(k)&&k.customData?.generationData?.status==="done"&&M0(Otu,{element:k,elementsMap:D,children:[P(jQ0,{title:C0("labels.copySource"),icon:hp,checked:!1,onChange:()=>this.onIframeSrcCopy(k)}),P(jQ0,{title:"Enter fullscreen",icon:ubu,checked:!1,onChange:()=>{let f=this.getHTMLIFrameElement(k);if(f)try{f.requestFullscreen(),this.setState({activeEmbeddable:{element:k,state:"active"},selectedElementIds:{[k.id]:!0},newElement:null,selectionElement:null})}catch(M){console.warn(M),this.setState({errorMessage:"Couldn't enter fullscreen"})}}})]}),this.state.toast!==null&&P(vQ3,{message:this.state.toast.message,onClose:()=>this.setToast(null),duration:this.state.toast.duration,closable:this.state.toast.closable}),this.state.contextMenu&&P(vK3,{items:this.state.contextMenu.items,top:this.state.contextMenu.top,left:this.state.contextMenu.left,actionManager:this.actionManager,onClose:(f)=>{this.setState({contextMenu:null},()=>{this.focusContainer(),f?.()})}}),P(BG3,{canvas:this.canvas,rc:this.rc,elementsMap:D,allElementsMap:U,visibleElements:F,sceneNonce:C,selectionNonce:this.state.selectionElement?.versionNonce,scale:window.devicePixelRatio,appState:this.state,renderConfig:{imageCache:this.imageCache,isExporting:!1,renderGrid:RX(this),canvasBackgroundColor:this.state.viewBackgroundColor,embedsValidationStatus:this.embedsValidationStatus,elementsPendingErasure:this.elementsPendingErasure,pendingFlowchartNodes:this.flowChartCreator.pendingNodes}}),this.state.newElement&&P(QG3,{appState:this.state,scale:window.devicePixelRatio,rc:this.rc,elementsMap:D,allElementsMap:U,renderConfig:{imageCache:this.imageCache,isExporting:!1,renderGrid:!1,canvasBackgroundColor:this.state.viewBackgroundColor,embedsValidationStatus:this.embedsValidationStatus,elementsPendingErasure:this.elementsPendingErasure,pendingFlowchartNodes:null}}),P(tQ3,{containerRef:this.excalidrawContainerRef,canvas:this.interactiveCanvas,elementsMap:D,visibleElements:F,allElementsMap:U,selectedElements:B,sceneNonce:C,selectionNonce:this.state.selectionElement?.versionNonce,scale:window.devicePixelRatio,appState:this.state,device:this.device,renderInteractiveSceneCallback:this.renderInteractiveSceneCallback,handleCanvasRef:this.handleInteractiveCanvasRef,onContextMenu:this.handleCanvasContextMenu,onPointerMove:this.handleCanvasPointerMove,onPointerUp:this.handleCanvasPointerUp,onPointerCancel:this.removePointer,onTouchMove:this.handleTouchMove,onPointerDown:this.handleCanvasPointerDown,onDoubleClick:this.handleCanvasDoubleClick}),this.state.userToFollow&&P(UG3,{width:this.state.width,height:this.state.height,userToFollow:this.state.userToFollow,onDisconnect:this.maybeUnfollowRemoteUser}),this.renderFrameNames()]}),this.renderEmbeddables()]})})})})})})})})}setPlugins(B){Object.assign(this.plugins,B)}async onMagicFrameGenerate(B,E){let A=this.plugins.diagramToCode?.generate;if(!A){this.setState({errorMessage:"No diagram to code plugin found"});return}let C=vn(this.scene.getNonDeletedElements(),B).filter((F)=>!$O(F));if(!C.length){E==="button"?(this.setState({errorMessage:"Cannot generate from an empty frame"}),l6("ai","generate (no-children)","d2c")):this.setActiveTool({type:"magicframe"});return}let D=this.insertIframeElement({sceneX:B.x+B.width+30,sceneY:B.y,width:B.width,height:B.height});if(D){this.updateMagicGeneration({frameElement:D,data:{status:"pending"}}),this.setState({selectedElementIds:{[D.id]:!0}}),l6("ai","generate (start)","d2c");try{let{html:F}=await A({frame:B,children:C});if(l6("ai","generate (success)","d2c"),!F.trim()){this.updateMagicGeneration({frameElement:D,data:{status:"error",code:"ERR_OAI",message:"Nothing genereated :("}});return}let U=F.includes("<!DOCTYPE html>")&&F.includes("</html>")?F.slice(F.indexOf("<!DOCTYPE html>"),F.indexOf("</html>")+7):F;this.updateMagicGeneration({frameElement:D,data:{status:"done",html:U}})}catch(F){l6("ai","generate (failed)","d2c"),this.updateMagicGeneration({frameElement:D,data:{status:"error",code:"ERR_OAI",message:F.message||"Unknown error during generation"}})}}}onIframeSrcCopy(B){B.customData?.generationData?.status==="done"&&(PX(B.customData.generationData.html),this.setToast({message:"copied to clipboard",closable:!1,duration:1500}))}clearImageShapeCache(B){let E=B??this.files;this.scene.getNonDeletedElements().forEach((A)=>{aE(A)&&E[A.fileId]&&(this.imageCache.delete(A.fileId),s6.delete(A))})}async componentDidMount(){if(this.unmounted=!1,this.excalidrawContainerValue.container=this.excalidrawContainerRef.current,J3.MODE===cB.TEST||J3.DEV){let B=this.setState.bind(this);Object.defineProperties(window.h,{state:{configurable:!0,get:()=>this.state},setState:{configurable:!0,value:(...E)=>this.setState(...E)},app:{configurable:!0,value:this},history:{configurable:!0,value:this.history},store:{configurable:!0,value:this.store},fonts:{configurable:!0,value:this.fonts}})}this.store.onStoreIncrementEmitter.on((B)=>{this.history.record(B.elementsChange,B.appStateChange)}),this.scene.onUpdate(this.triggerRender),this.addEventListeners(),this.props.autoFocus&&this.excalidrawContainerRef.current&&this.focusContainer(),$U()||(this.refreshViewportBreakpoints(),this.refreshEditorBreakpoints()),Kp&&this.excalidrawContainerRef.current&&(this.resizeObserver=new ResizeObserver(()=>{this.refreshEditorBreakpoints(),this.updateDOMRect()}),this.resizeObserver?.observe(this.excalidrawContainerRef.current)),new URLSearchParams(window.location.search.slice(1)).has("web-share-target")?this.restoreFileFromShare():this.updateDOMRect(this.initializeScene),_ku()&&!mfu()&&this.setState({errorMessage:P(RQ3,{})})}componentWillUnmount(){window.launchQueue?.setConsumer(()=>{}),this.renderer.destroy(),this.scene.destroy(),this.scene=new aU,this.fonts=new rU(this.scene),this.renderer=new Ttu(this.scene),this.files={},this.imageCache.clear(),this.resizeObserver?.disconnect(),this.unmounted=!0,this.removeEventListeners(),this.library.destroy(),this.laserTrails.stop(),this.eraserTrail.stop(),this.onChangeEmitter.clear(),this.store.onStoreIncrementEmitter.clear(),s6.destroy(),cU.destroy(),clearTimeout(JJ),K2.clearCache(),n7.clearCache(),JJ=0,document.documentElement.style.overscrollBehaviorX=""}removeEventListeners(){this.onRemoveEventListenersEmitter.trigger()}addEventListeners(){this.removeEventListeners(),this.props.handleKeyboardGlobally&&this.onRemoveEventListenersEmitter.once(o6(document,"keydown",this.onKeyDown,!1)),this.onRemoveEventListenersEmitter.once(o6(this.excalidrawContainerRef.current,"wheel",this.handleWheel,{passive:!1}),o6(window,"message",this.onWindowMessage,!1),o6(document,"pointerup",this.removePointer,{passive:!1}),o6(document,"copy",this.onCopy,{passive:!1}),o6(document,"keyup",this.onKeyUp,{passive:!0}),o6(document,"pointermove",this.updateCurrentCursorPosition,{passive:!1}),o6(document.fonts,"loadingdone",(B)=>{let E=B.fontfaces;this.fonts.onLoaded(E)},{passive:!1}),o6(document,"gesturestart",this.onGestureStart,!1),o6(document,"gesturechange",this.onGestureChange,!1),o6(document,"gestureend",this.onGestureEnd,!1),o6(window,"focus",()=>{this.maybeCleanupAfterMissingPointerUp(null),this.triggerRender(!0)},{passive:!1})),!this.state.viewModeEnabled&&(this.onRemoveEventListenersEmitter.once(o6(document,"fullscreenchange",this.onFullscreenChange,{passive:!1}),o6(document,"paste",this.pasteFromClipboard,{passive:!1}),o6(document,"cut",this.onCut,{passive:!1}),o6(window,"resize",this.onResize,!1),o6(window,"unload",this.onUnload,!1),o6(window,"blur",this.onBlur,!1),o6(this.excalidrawContainerRef.current,"wheel",this.handleWheel,{passive:!1}),o6(this.excalidrawContainerRef.current,"dragover",this.disableEvent,!1),o6(this.excalidrawContainerRef.current,"drop",this.disableEvent,!1)),this.props.detectScroll&&this.onRemoveEventListenersEmitter.once(o6(Rfu(this.excalidrawContainerRef.current),"scroll",this.onScroll,{passive:!1})))}componentDidUpdate(B,E){this.updateEmbeddables();let A=this.scene.getElementsIncludingDeleted(),C=this.scene.getElementsMapIncludingDeleted(),D=this.scene.getNonDeletedElementsMap();!this.state.showWelcomeScreen&&!A.length&&this.setState({showWelcomeScreen:!0}),B.UIOptions.dockedSidebarBreakpoint!==this.props.UIOptions.dockedSidebarBreakpoint&&this.refreshEditorBreakpoints(),E.userToFollow&&!this.state.collaborators.has(E.userToFollow.socketId)&&this.maybeUnfollowRemoteUser(),(E.zoom.value!==this.state.zoom.value||E.scrollX!==this.state.scrollX||E.scrollY!==this.state.scrollY)&&(this.props?.onScrollChange?.(this.state.scrollX,this.state.scrollY,this.state.zoom),this.onScrollChangeEmitter.trigger(this.state.scrollX,this.state.scrollY,this.state.zoom)),E.userToFollow!==this.state.userToFollow&&(E.userToFollow&&this.onUserFollowEmitter.trigger({userToFollow:E.userToFollow,action:"UNFOLLOW"}),this.state.userToFollow&&this.onUserFollowEmitter.trigger({userToFollow:this.state.userToFollow,action:"FOLLOW"})),Object.keys(this.state.selectedElementIds).length&&XD(this.state)&&this.setState({activeTool:n9(this.state,{type:"selection"})}),this.state.activeTool.type==="eraser"&&E.theme!==this.state.theme&&_M0(this.interactiveCanvas,this.state.theme),E.activeTool.type==="selection"&&this.state.activeTool.type!=="selection"&&this.state.showHyperlinkPopup&&this.setState({showHyperlinkPopup:!1}),B.langCode!==this.props.langCode&&this.updateLanguage(),XD(E)&&!XD(this.state)&&this.eraserTrail.endPath(),B.viewModeEnabled!==this.props.viewModeEnabled&&this.setState({viewModeEnabled:!!this.props.viewModeEnabled}),E.viewModeEnabled!==this.state.viewModeEnabled&&(this.addEventListeners(),this.deselectElements()),(E.openDialog?.name==="elementLinkSelector"||this.state.openDialog?.name==="elementLinkSelector")&&E.openDialog?.name!==this.state.openDialog?.name&&(this.deselectElements(),this.setState({hoveredElementIds:{}})),B.zenModeEnabled!==this.props.zenModeEnabled&&this.setState({zenModeEnabled:!!this.props.zenModeEnabled}),B.theme!==this.props.theme&&this.props.theme&&this.setState({theme:this.props.theme}),this.excalidrawContainerRef.current?.classList.toggle("theme--dark",this.state.theme===p3.DARK),this.state.editingLinearElement&&!this.state.selectedElementIds[this.state.editingLinearElement.elementId]&&setTimeout(()=>{this.state.editingLinearElement&&this.actionManager.executeAction(sD)}),this.state.editingTextElement?.isDeleted&&this.setState({editingTextElement:null}),this.state.selectedLinearElement&&!this.state.selectedElementIds[this.state.selectedLinearElement.elementId]&&this.setState({selectedLinearElement:null});let{multiElement:F}=E;E.activeTool!==this.state.activeTool&&F!=null&&GZ(this.state)&&KD(F,!1)&&tp(F,this.state,aA(Z4.getPointAtIndexGlobalCoordinates(F,-1,D)),this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements()),this.store.commit(C,this.state),this.state.isLoading||(this.props.onChange?.(A,this.state,this.files),this.onChangeEmitter.trigger(A,this.state,this.files))}static resetTapTwice(){hP=!1}async addElementsFromMixedContentPaste(B,{isPlainPaste:E,sceneX:A,sceneY:C}){if(!E&&B.some((D)=>D.type==="imageUrl")&&this.isToolSupported("image")){let D=B.filter((M)=>M.type==="imageUrl").map((M)=>M.value),F=await Promise.all(D.map(async(M)=>{try{return{file:await IJu(M)}}catch(b){let Z=b.message;return b.cause==="FETCH_ERROR"?Z=C0("errors.failedToFetchImage"):b.cause==="UNSUPPORTED"&&(Z=C0("errors.unsupportedFileType")),{errorMessage:Z}}})),U=C,z=!1,k={};for(let M of F)if(M.file){let b=this.createImageElement({sceneX:A,sceneY:U}),Z=await this.insertImageElement(b,M.file);Z&&(z||(z=!0,U-=Z.height/2),Su(Z,{y:U},!1),U=b.y+b.height+25,k[b.id]=!0)}this.setState({selectedElementIds:X1(k,this.state)});let f=F.find((M)=>!!M.errorMessage);f&&f.errorMessage&&this.setState({errorMessage:f.errorMessage})}else{let D=B.filter((F)=>F.type==="text");D.length&&this.addTextFromPaste(D.map((F)=>F.value).join(`
`),E)}}addTextFromPaste(B,E=!1){let{x:A,y:C}=q6({clientX:this.lastViewportPosition.x,clientY:this.lastViewportPosition.y},this.state),D={x:A,y:C,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roundness:null,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,text:B,fontSize:this.state.currentItemFontSize,fontFamily:this.state.currentItemFontFamily,textAlign:wX,verticalAlign:TO,locked:!1},F=B6({fontSize:D.fontSize,fontFamily:D.fontFamily}),U=TZ(D.fontFamily),[z,,k]=BZu(this.state),f=Math.max(Math.min((k-z)*0.5,800),200),M=10,b=C,Z=E?[B]:B.split(`
`),J=Z.reduce((K,w,Q)=>{let G=rQ(w).trim();if(G.length){let H=this.getTopLayerFrameAtSceneCoords({x:A,y:b}),l=X7(G,F,U),q=l.width>f,L=q?SZ(G,F,f):G;l=q?X7(L,F,U):l;let v=A-l.width/2,x=b-l.height/2,S=y8({...D,x:v,y:x,text:L,originalText:G,lineHeight:U,autoResize:!q,frameId:H?H.id:null});K.push(S),b+=S.height+M}else Z[Q-1]?.trim()&&(b+=XX(D.fontSize,U)+M);return K},[]);J.length!==0&&(this.scene.insertElements(J),this.setState({selectedElementIds:X1(Object.fromEntries(J.map((K)=>[K.id,!0])),this.state)}),!E&&J.length>1&&Ptu===!1&&!this.device.editor.isMobile&&(this.setToast({message:C0("toast.pasteAsSingleElement",{shortcut:Wu("CtrlOrCmd+Shift+V")}),duration:5000}),Ptu=!0),this.store.shouldCaptureIncrement())}handleTextWysiwyg(B,{isExistingElement:E=!1}){let A=this.scene.getElementsMapIncludingDeleted(),C=(D,F)=>{this.scene.replaceAllElements([...this.scene.getElementsIncludingDeleted().map((U)=>U.id===B.id&&M4(U)?O3(U,{originalText:D,isDeleted:F??U.isDeleted,...nM0(U,b5(U,A),A,D)}):U)])};MG3({id:B.id,canvas:this.canvas,getViewportCoords:(D,F)=>{let{x:U,y:z}=yA({sceneX:D,sceneY:F},this.state);return[U-this.state.offsetLeft,z-this.state.offsetTop]},onChange:P9((D)=>{C(D,!1),On(B)&&_B(B,this.scene.getNonDeletedElementsMap())}),onSubmit:P9(({viaKeyboard:D,nextOriginalText:F})=>{let U=!F.trim();if(C(F,U),!U&&D){let z=B.containerId?B.containerId:B.id;KJ.flushSync(()=>{this.setState((k)=>({selectedElementIds:X1({...k.selectedElementIds,[z]:!0},k)}))})}U&&IM0(this.scene.getNonDeletedElements(),[B]),(!U||E)&&this.store.shouldCaptureIncrement(),KJ.flushSync(()=>{this.setState({newElement:null,editingTextElement:null})}),this.state.activeTool.locked&&xD(this.interactiveCanvas,this.state),this.focusContainer()}),element:B,excalidrawContainer:this.excalidrawContainerRef.current,app:this,autoSelect:!this.device.isTouchScreen}),this.deselectElements(),C(B.originalText,!1)}deselectElements(){this.setState({selectedElementIds:X1({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null})}getTextElementAtPosition(B,E){let A=this.getElementAtPosition(B,E,{includeBoundTextElement:!0});return A&&M4(A)&&!A.isDeleted?A:null}getElementAtPosition(B,E,A){let C=this.getElementsAtPosition(B,E,A?.includeBoundTextElement,A?.includeLockedElements);if(C.length>1){if(A?.preferSelected){for(let F=C.length-1;F>-1;F--)if(this.state.selectedElementIds[C[F].id])return C[F]}let D=C[C.length-1];return cQ({x:B,y:E,element:D,shape:NU(D,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold()/2,frameNameBound:u3(D)?this.frameNameBoundsCache.get(D):null})?D:C[C.length-2]}return C.length===1?C[0]:null}getElementsAtPosition(B,E,A=!1,C=!1){let D=[],F=this.scene.getNonDeletedElementsMap();return(A&&C?this.scene.getNonDeletedElements():this.scene.getNonDeletedElements().filter((U)=>(C||!U.locked)&&(A||!(M4(U)&&U.containerId)))).filter((U)=>this.hitElement(B,E,U)).filter((U)=>{let z=pB(U,F);return z&&this.state.frameRendering.enabled&&this.state.frameRendering.clip?lb0({x:B,y:E},z,F):!0}).filter((U)=>Mf(U)?(D.push(U),!1):!0).concat(D)}getElementHitThreshold(){return tku/this.state.zoom.value}hitElement(B,E,A,C=!0){if(C&&this.state.selectedElementIds[A.id]&&Tb0([A],this.state)){let D=Rbu(A,this.scene.getNonDeletedElementsMap(),L1(A)?0:this.getElementHitThreshold());if(XO(t(B,E),D))return!0}return HM0(B,E,qM0(A,this.scene.getNonDeletedElementsMap()))?!0:cQ({x:B,y:E,element:A,shape:NU(A,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold(),frameNameBound:u3(A)?this.frameNameBoundsCache.get(A):null})}getTextBindableContainerAtPosition(B,E){let A=this.scene.getNonDeletedElements(),C=this.scene.getSelectedElements(this.state);if(C.length===1)return WZ(C[0],!1)?C[0]:null;let D=null;for(let F=A.length-1;F>=0;--F){if(A[F].isDeleted)continue;let[U,z,k,f]=W3(A[F],this.scene.getNonDeletedElementsMap());if(j3(A[F])&&cQ({x:B,y:E,element:A[F],shape:NU(A[F],this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold()})){D=A[F];break}else if(U<B&&B<k&&z<E&&E<f){D=A[F];break}}return WZ(D,!1)?D:null}handleHoverSelectedLinearElement(B,E,A){let C=this.scene.getNonDeletedElementsMap(),D=Z4.getElement(B.elementId,C);if(D)if(this.state.selectedLinearElement){let F=-1,U=null;cQ({x:E,y:A,element:D,shape:NU(D,this.scene.getNonDeletedElementsMap())})?(F=Z4.getPointIndexUnderCursor(D,C,this.state.zoom,E,A),U=Z4.getSegmentMidpointHitCoords(B,{x:E,y:A},this.state,this.scene.getNonDeletedElementsMap()),(Q4(D)?F===0||F===D.points.length-1:F>=0)||U?E6(this.interactiveCanvas,p1.POINTER):this.hitElement(E,A,D)&&E6(this.interactiveCanvas,p1.MOVE)):this.hitElement(E,A,D)&&(!Q4(D)||!(D.startBinding||D.endBinding))&&E6(this.interactiveCanvas,p1.MOVE),this.state.selectedLinearElement.hoverPointIndex!==F&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,hoverPointIndex:F}}),Z4.arePointsEqual(this.state.selectedLinearElement.segmentMidPointHoveredCoords,U)||this.setState({selectedLinearElement:{...this.state.selectedLinearElement,segmentMidPointHoveredCoords:U}})}else E6(this.interactiveCanvas,p1.AUTO)}updateGestureOnPointerDown(B){j1.pointers.set(B.pointerId,{x:B.clientX,y:B.clientY}),j1.pointers.size===2&&(j1.lastCenter=utu(j1.pointers),j1.initialScale=this.state.zoom.value,j1.initialDistance=Btu(Array.from(j1.pointers.values())))}initialPointerDownState(B){let E=q6(B,this.state),A=this.scene.getSelectedElements(this.state),[C,D,F,U]=I1(A),z=A.findIndex(Q4)===0;return{origin:E,withCmdOrCtrl:B[r0.CTRL_OR_CMD],originInGrid:aA(J2(E.x,E.y,B[r0.CTRL_OR_CMD]||z?null:this.getEffectiveGridSize())),scrollbars:Dtu(hQ0,B.clientX-this.state.offsetLeft,B.clientY-this.state.offsetTop),lastCoords:{...E},originalElements:this.scene.getNonDeletedElements().reduce((k,f)=>(k.set(f.id,PZ(f)),k),new Map),resize:{handleType:!1,isResizing:!1,offset:{x:0,y:0},arrowDirection:"origin",center:{x:(F+C)/2,y:(U+D)/2}},hit:{element:null,allHitElements:[],wasAddedToSelection:!1,hasBeenDuplicated:!1,hasHitCommonBoundingBoxOfSelectedElements:this.isHittingCommonBoundingBoxOfSelectedElements(E,A)},drag:{hasOccurred:!1,offset:null},eventListeners:{onMove:null,onUp:null,onKeyUp:null,onKeyDown:null},boxSelection:{hasOccurred:!1}}}handleDraggingScrollBar(B,E){if(!(E.scrollbars.isOverEither&&!this.state.multiElement))return!1;VQ0=!0,E.lastCoords.x=B.clientX,E.lastCoords.y=B.clientY;let A=OQ0((D)=>{D.target instanceof HTMLElement&&this.handlePointerMoveOverScrollbars(D,E)}),C=P9(()=>{mP=null,VQ0=!1,xD(this.interactiveCanvas,this.state),this.setState({cursorButton:"up"}),this.savePointer(B.clientX,B.clientY,"up"),window.removeEventListener("pointermove",A),window.removeEventListener("pointerup",C),A.flush()});return mP=C,window.addEventListener("pointermove",A),window.addEventListener("pointerup",C),!0}isASelectedElement(B){return B!=null&&this.state.selectedElementIds[B.id]}isHittingCommonBoundingBoxOfSelectedElements(B,E){if(E.length<2)return!1;let A=this.getElementHitThreshold(),[C,D,F,U]=I1(E);return B.x>C-A&&B.x<F+A&&B.y>D-A&&B.y<U+A}getCurrentItemRoundness(B){return this.state.currentItemRoundness==="round"?{type:yQ(B)?Z2.ADAPTIVE_RADIUS:Z2.PROPORTIONAL_RADIUS}:null}maybeCacheReferenceSnapPoints(B,E,A=!1){bf({event:B,app:this,selectedElements:E})&&(A||!cU.getReferenceSnapPoints())&&cU.setReferenceSnapPoints(ZZu(this.scene.getNonDeletedElements(),E,this.state,this.scene.getNonDeletedElementsMap()))}maybeCacheVisibleGaps(B,E,A=!1){bf({event:B,app:this,selectedElements:E})&&(A||!cU.getVisibleGaps())&&cU.setVisibleGaps(bZu(this.scene.getNonDeletedElements(),E,this.state,this.scene.getNonDeletedElementsMap()))}onKeyDownFromPointerDownHandler(B){return P9((E)=>{this.maybeHandleResize(B,E)||this.maybeDragNewGenericElement(B,E)})}onKeyUpFromPointerDownHandler(B){return P9((E)=>{E.key===r0.ALT&&E.preventDefault(),!this.maybeHandleResize(B,E)&&this.maybeDragNewGenericElement(B,E)})}onPointerMoveFromPointerDownHandler(B){return OQ0((E)=>{if(this.state.openDialog?.name==="elementLinkSelector")return;let A=q6(E,this.state);if(this.state.selectedLinearElement&&this.state.selectedLinearElement.elbowed&&this.state.selectedLinearElement.pointerDownState.segmentMidpoint.index){let[f,M]=J2(A.x,A.y,E[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),b=this.state.selectedLinearElement.pointerDownState.segmentMidpoint.index;if(b<0){let J=Z4.getSegmentMidpointHitCoords({...this.state.selectedLinearElement,segmentMidPointHoveredCoords:null},{x:f,y:M},this.state,this.scene.getNonDeletedElementsMap());b=J?Z4.getSegmentMidPointIndex(this.state.selectedLinearElement,this.state,J,this.scene.getNonDeletedElementsMap()):-1}let Z=Z4.moveFixedSegment(this.state.selectedLinearElement,b,f,M,this.scene.getNonDeletedElementsMap());KJ.flushSync(()=>{this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,segmentMidPointHoveredCoords:Z.segmentMidPointHoveredCoords,pointerDownState:Z.pointerDownState}})});return}let C=this.lastPointerMoveCoords??B.origin;if(this.lastPointerMoveCoords=A,B.drag.offset===null&&(B.drag.offset=aA(qJu(this.scene.getSelectedElements(this.state),B.origin.x,B.origin.y))),!(E.target instanceof HTMLElement)||this.handlePointerMoveOverScrollbars(E,B))return;if(XD(this.state)){this.handleEraser(E,B,A);return}this.state.activeTool.type==="laser"&&this.laserTrails.addPointToPath(A.x,A.y);let[D,F]=J2(A.x,A.y,E[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize());if(!B.drag.hasOccurred&&(this.state.activeTool.type==="arrow"||this.state.activeTool.type==="line")&&l1(t(A.x,A.y),t(B.origin.x,B.origin.y))<lZ)return;if(B.resize.isResizing&&(B.lastCoords.x=A.x,B.lastCoords.y=A.y,this.maybeHandleCrop(B,E)||this.maybeHandleResize(B,E)))return!0;let U=this.scene.getNonDeletedElementsMap();if(this.state.selectedLinearElement){let f=this.state.editingLinearElement||this.state.selectedLinearElement;if(Z4.shouldAddMidpoint(this.state.selectedLinearElement,A,this.state,U)){let M=Z4.addMidpoint(this.state.selectedLinearElement,A,this,!E[r0.CTRL_OR_CMD],U);if(!M)return;KJ.flushSync(()=>{this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...this.state.selectedLinearElement,pointerDownState:M.pointerDownState,selectedPointsIndices:M.selectedPointsIndices}}),this.state.editingLinearElement&&this.setState({editingLinearElement:{...this.state.editingLinearElement,pointerDownState:M.pointerDownState,selectedPointsIndices:M.selectedPointsIndices}})});return}else if(f.pointerDownState.segmentMidpoint.value!==null&&!f.pointerDownState.segmentMidpoint.added)return;if(Z4.handlePointDragging(E,this,A.x,A.y,(M,b)=>{this.maybeSuggestBindingsForLinearElementAtCoords(M,b)},f,this.scene)){B.lastCoords.x=A.x,B.lastCoords.y=A.y,B.drag.hasOccurred=!0,this.state.editingLinearElement&&!this.state.editingLinearElement.isDragging&&this.setState({editingLinearElement:{...this.state.editingLinearElement,isDragging:!0}}),this.state.selectedLinearElement.isDragging||this.setState({selectedLinearElement:{...this.state.selectedLinearElement,isDragging:!0}});return}}let z=B.hit.allHitElements.some((f)=>this.isASelectedElement(f)),k=this.state.editingLinearElement&&E.shiftKey&&this.state.editingLinearElement.elementId===B.hit.element?.id;if((z||B.hit.hasHitCommonBoundingBoxOfSelectedElements)&&!k){let f=this.scene.getSelectedElements(this.state);if(f.every((J)=>J.locked))return;let M=f.find((J)=>u3(J)),b=this.getTopLayerFrameAtSceneCoords(A),Z=b&&!M?b:null;if(this.state.frameToHighlight!==Z&&KJ.flushSync(()=>{this.setState({frameToHighlight:Z})}),B.drag.hasOccurred=!0,f.length>0&&!B.withCmdOrCtrl&&!this.state.editingTextElement&&this.state.activeEmbeddable?.state!=="active"){let J={x:A.x-B.origin.x,y:A.y-B.origin.y},K=[...B.originalElements.values()],w=E.shiftKey;if(w){let H=Math.abs(J.x),l=Math.abs(J.y),q=w&&H<l,L=w&&H>l;q&&(J.x=0),L&&(J.y=0)}if(this.state.croppingElementId){let H=this.scene.getNonDeletedElementsMap().get(this.state.croppingElementId);if(H&&L1(H)&&H.crop!==null&&B.hit.element===H){let l=H.crop,q=aE(H)&&this.imageCache.get(H.fileId)?.image;if(q&&!(q instanceof Promise)){let L=Z9($5(A.x-C.x,A.y-C.y),Math.max(this.state.zoom.value,2)),[v,x,S,W,T,R]=W3(H,U),Y=O4(lu(t(v,x),t(T,R),H.angle)),h=O4(lu(t(S,x),t(T,R),H.angle)),I=O4(lu(t(v,W),t(T,R),H.angle)),O=l7(HO(h,Y)),V=l7(HO(I,Y)),j=$5(Hf0(L,O),Hf0(L,V)),i={...l,x:r3(l.x-j[0]*Math.sign(H.scale[0]),0,q.naturalWidth-l.width),y:r3(l.y-j[1]*Math.sign(H.scale[1]),0,q.naturalHeight-l.height)};Su(H,{crop:i});return}}}this.maybeCacheVisibleGaps(E,f),this.maybeCacheReferenceSnapPoints(E,f);let{snapOffset:Q,snapLines:G}=JZu(K,J,this,E,this.scene.getNonDeletedElementsMap());if(this.setState({snapLines:G}),this.state.editingFrame||HJu(B,f,J,this.scene,Q,E[r0.CTRL_OR_CMD]?null:this.getEffectiveGridSize()),this.setState({selectedElementsAreBeingDragged:!0,selectionElement:null}),(f.length!==1||!Q4(f[0]))&&this.setState({suggestedBindings:op(f,this.scene.getNonDeletedElementsMap(),this.state.zoom)}),E.altKey&&!B.hit.hasBeenDuplicated){B.hit.hasBeenDuplicated=!0;let H=[],l=[],q=new Map,L=new Map,v=B.hit.element,x=new Set(this.scene.getSelectedElements({selectedElementIds:this.state.selectedElementIds,includeBoundTextElement:!0,includeElementsInFrames:!0}).map((T)=>T.id)),S=this.scene.getElementsIncludingDeleted();for(let T of S){let R=x.has(T.id)||T.id===v?.id&&B.hit.wasAddedToSelection;if(Math.abs(T.x)>1e7||Math.abs(T.x)>1e7||Math.abs(T.width)>1e7||Math.abs(T.height)>1e7){console.error("Alt+dragging element in scene with invalid dimensions",T.x,T.y,T.width,T.height,R);return}if(R){let Y=sM0(this.state.editingGroupId,q,T);if(Math.abs(Y.x)>1e7||Math.abs(Y.x)>1e7||Math.abs(Y.width)>1e7||Math.abs(Y.height)>1e7){console.error("Alt+dragging duplicated element with invalid dimensions",Y.x,Y.y,Y.width,Y.height);return}let h=B.originalElements.get(T.id);if(Math.abs(h.x)>1e7||Math.abs(h.x)>1e7||Math.abs(h.width)>1e7||Math.abs(h.height)>1e7){console.error("Alt+dragging duplicated element with invalid dimensions",h.x,h.y,h.width,h.height);return}Su(Y,{x:h.x,y:h.y}),B.originalElements.set(Y.id,Y),H.push(Y),l.push(T),L.set(T.id,Y.id)}else H.push(T)}let W=[...H,...l];W=this.props.onDuplicate?.(W,S)||W,qD(W,e4(l)),rM0(H,l,L),OM0(W,l,L,"duplicatesServeAsOld"),Gb0(W,l,L),this.scene.replaceAllElements(W),this.maybeCacheVisibleGaps(E,f,!0),this.maybeCacheReferenceSnapPoints(E,f,!0)}return}}if(this.state.selectionElement)B.lastCoords.x=A.x,B.lastCoords.y=A.y,this.maybeDragNewGenericElement(B,E);else{let f=this.state.newElement;if(!f)return;if(f.type==="freedraw"){let M=f.points,b=A.x-f.x,Z=A.y-f.y,J=M.length>0&&M[M.length-1];if(!(J&&J[0]===b&&J[1]===Z)){let K=f.simulatePressure?f.pressures:[...f.pressures,E.pressure];Su(f,{points:[...M,t(b,Z)],pressures:K},!1),this.setState({newElement:f})}}else if(S3(f)){B.drag.hasOccurred=!0;let M=f.points,b=D-f.x,Z=F-f.y;fX(E)&&M.length===2&&({width:b,height:Z}=Sn(f.x,f.y,A.x,A.y)),M.length===1?Su(f,{points:[...M,t(b,Z)]},!1):(M.length===2||M.length>1&&Q4(f))&&Su(f,{points:[...M.slice(0,-1),t(b,Z)]},!1,{isDragging:!0}),this.setState({newElement:f}),KD(f,!1)&&this.maybeSuggestBindingsForLinearElementAtCoords(f,[A],this.state.startBoundElement)}else B.lastCoords.x=A.x,B.lastCoords.y=A.y,this.maybeDragNewGenericElement(B,E,!1)}if(this.state.activeTool.type==="selection"){B.boxSelection.hasOccurred=!0;let f=this.scene.getNonDeletedElements();if(this.state.editingLinearElement)Z4.handleBoxSelection(E,this.state,this.setState.bind(this),this.scene.getNonDeletedElementsMap());else{let M=!0;!E.shiftKey&&K2(f,this.state)&&(B.withCmdOrCtrl&&B.hit.element?this.setState((Z)=>n7({...Z,selectedElementIds:{[B.hit.element.id]:!0}},this.scene.getNonDeletedElements(),Z,this)):M=!1);let b=this.state.selectionElement?Wn(f,this.state.selectionElement,this.scene.getNonDeletedElementsMap(),!1):[];this.setState((Z)=>{let J={...M&&Z.selectedElementIds,...b.reduce((K,w)=>(K[w.id]=!0,K),{})};return B.hit.element&&(b.length?delete J[B.hit.element.id]:J[B.hit.element.id]=!0),Z=M?Z:{...Z,selectedGroupIds:{},editingGroupId:null},{...n7({editingGroupId:Z.editingGroupId,selectedElementIds:J},this.scene.getNonDeletedElements(),Z,this),selectedLinearElement:b.length===1&&S3(b[0])?new Z4(b[0]):null,showHyperlinkPopup:b.length===1&&(b[0].link||nB(b[0]))?"info":!1}})}}})}handlePointerMoveOverScrollbars(B,E){if(E.scrollbars.isOverHorizontal){let A=B.clientX,C=A-E.lastCoords.x;return this.translateCanvas({scrollX:this.state.scrollX-C/this.state.zoom.value}),E.lastCoords.x=A,!0}if(E.scrollbars.isOverVertical){let A=B.clientY,C=A-E.lastCoords.y;return this.translateCanvas({scrollY:this.state.scrollY-C/this.state.zoom.value}),E.lastCoords.y=A,!0}return!1}onPointerUpFromPointerDownHandler(B){return P9((E)=>{this.removePointer(E),B.eventListeners.onMove&&B.eventListeners.onMove.flush();let{newElement:A,resizingElement:C,croppingElementId:D,multiElement:F,activeTool:U,isResizing:z,isRotating:k,isCropping:f}=this.state;this.setState((K)=>({isResizing:!1,isRotating:!1,isCropping:!1,resizingElement:null,selectionElement:null,frameToHighlight:null,elementsToHighlight:null,cursorButton:"up",snapLines:LX(K.snapLines,[]),originSnapOffset:null})),this.lastPointerMoveCoords=null,cU.setReferenceSnapPoints(null),cU.setVisibleGaps(null),this.savePointer(E.clientX,E.clientY,"up"),this.setState({selectedElementsAreBeingDragged:!1});let M=this.scene.getNonDeletedElementsMap();if(B.drag.hasOccurred&&B.hit?.element?.id){let K=M.get(B.hit.element.id);gA(K)&&K.boundElements?.filter((w)=>w.type==="arrow").map((w)=>M.get(w.id)).filter((w)=>Q4(w)).forEach((w)=>{w&&Su(w,{},!0)})}if(this.state.editingLinearElement)if(!B.boxSelection.hasOccurred&&B.hit?.element?.id!==this.state.editingLinearElement.elementId)this.actionManager.executeAction(sD);else{let K=Z4.handlePointerUp(E,this.state.editingLinearElement,this.state,this.scene);K!==this.state.editingLinearElement&&this.setState({editingLinearElement:K,suggestedBindings:[]})}else if(this.state.selectedLinearElement){if(this.state.selectedLinearElement.elbowed){let K=Z4.getElement(this.state.selectedLinearElement.elementId,this.scene.getNonDeletedElementsMap());K&&Su(K,{},!0)}if(B.hit?.element?.id!==this.state.selectedLinearElement.elementId)this.scene.getSelectedElements(this.state).length>1&&this.setState({selectedLinearElement:null});else{let K=Z4.handlePointerUp(E,this.state.selectedLinearElement,this.state,this.scene),{startBindingElement:w,endBindingElement:Q}=K,G=this.scene.getElement(K.elementId);KD(G)&&sO(G,w,Q,M,this.scene),K!==this.state.selectedLinearElement&&this.setState({selectedLinearElement:{...K,selectedPointsIndices:null},suggestedBindings:[]})}}if(this.missingPointerEventCleanupEmitter.clear(),window.removeEventListener("pointermove",B.eventListeners.onMove),window.removeEventListener("pointerup",B.eventListeners.onUp),window.removeEventListener("keydown",B.eventListeners.onKeyDown),window.removeEventListener("keyup",B.eventListeners.onKeyUp),this.state.pendingImageElementId&&this.setState({pendingImageElementId:null}),this.props?.onPointerUp?.(U,B),this.onPointerUpEmitter.trigger(this.state.activeTool,B,E),A?.type==="freedraw"){let K=q6(E,this.state),w=A.points,Q=K.x-A.x,G=K.y-A.y;Q===w[0][0]&&G===w[0][1]&&(G+=0.0001,Q+=0.0001);let H=A.simulatePressure?[]:[...A.pressures,E.pressure];Su(A,{points:[...w,t(Q,G)],pressures:H,lastCommittedPoint:t(Q,G)}),this.actionManager.executeAction(sD);return}if(L1(A)){let K=A;try{this.initializeImageDimensions(K),this.setState({selectedElementIds:X1({[K.id]:!0},this.state)},()=>{this.actionManager.executeAction(sD)})}catch(w){console.error(w),this.scene.replaceAllElements(this.scene.getElementsIncludingDeleted().filter((Q)=>Q.id!==K.id)),this.actionManager.executeAction(sD)}return}if(S3(A)){A.points.length>1&&this.store.shouldCaptureIncrement();let K=q6(E,this.state);!B.drag.hasOccurred&&A&&!F?(Su(A,{points:[...A.points,t(K.x-A.x,K.y-A.y)]}),this.setState({multiElement:A,newElement:A})):B.drag.hasOccurred&&!F&&(GZ(this.state)&&KD(A,!1)&&tp(A,this.state,K,this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements()),this.setState({suggestedBindings:[],startBoundElement:null}),U.locked?this.setState((w)=>({newElement:null})):(nA(this.interactiveCanvas),this.setState((w)=>({newElement:null,activeTool:n9(this.state,{type:"selection"}),selectedElementIds:X1({...w.selectedElementIds,[A.id]:!0},w),selectedLinearElement:new Z4(A)}))),this.scene.triggerUpdate());return}if(M4(A)){let K=Wp(B6({fontSize:A.fontSize,fontFamily:A.fontFamily}),A.lineHeight);A.width<K&&Su(A,{autoResize:!0}),this.resetCursor(),this.handleTextWysiwyg(A,{isExistingElement:!0})}if(U.type!=="selection"&&A&&sQ(A)){this.updateScene({elements:this.scene.getElementsIncludingDeleted().filter((K)=>K.id!==A.id),appState:{newElement:null},captureUpdate:Xu.NEVER});return}if(u3(A)){let K=fJu(this.scene.getElementsIncludingDeleted(),A,this.scene.getNonDeletedElementsMap());this.scene.replaceAllElements(NX(this.scene.getElementsMapIncludingDeleted(),K,A,this.state))}if(A&&(Su(A,Sb0(A)),this.scene.triggerUpdate()),B.drag.hasOccurred){let K=q6(E,this.state);if(this.state.selectedLinearElement&&this.state.selectedLinearElement.isDragging){let w=this.scene.getElement(this.state.selectedLinearElement.elementId);if(w?.frameId){let Q=pB(w,M);Q&&w&&(zf(w,Q,this.scene.getNonDeletedElementsMap())||(Su(w,{groupIds:[]}),kI([w],this.scene.getNonDeletedElementsMap()),this.scene.triggerUpdate()))}}else{let w=this.getTopLayerFrameAtSceneCoords(K),Q=this.scene.getSelectedElements(this.state),G=this.scene.getElementsMapIncludingDeleted(),H=(l)=>{if(l.length>0){for(let q of l){let L=q.groupIds.indexOf(this.state.editingGroupId);Su(q,{groupIds:q.groupIds.slice(0,L)},!1)}G.forEach((q)=>{q.groupIds.length&&W6(G,q.groupIds[q.groupIds.length-1]).length<2&&Su(q,{groupIds:[]},!1)}),this.setState({editingGroupId:null})}};if(w&&!this.state.selectedElementIds[w.id]){let l=Q.filter((q)=>q.frameId!==w.id&&fI(q,G,this.state));this.state.editingGroupId&&H(l),G=NX(G,l,w,this.state)}else if(!w&&this.state.editingGroupId){let l=Q.filter((q)=>q.frameId&&!fI(q,G,this.state));H(l)}G=dQ(G,this.state,this),this.scene.replaceAllElements(G)}}if(C&&this.store.shouldCaptureIncrement(),C&&sQ(C)&&this.updateScene({elements:this.scene.getElementsIncludingDeleted().filter((K)=>K.id!==C.id),captureUpdate:Xu.NEVER}),B.resize.isResizing){let K=dQ(this.scene.getElementsIncludingDeleted(),this.state,this),w=this.scene.getSelectedElements(this.state).filter((Q)=>u3(Q));for(let Q of w)K=Xb0(K,zI(this.scene.getElementsIncludingDeleted(),Q,this.state,M),Q,this);this.scene.replaceAllElements(K)}let b=B.hit.element;this.state.selectedLinearElement?.elementId!==b?.id&&S3(b)&&this.scene.getSelectedElements(this.state).length===1&&this.setState({selectedLinearElement:new Z4(b)}),(!D||D&&(!b&&!f||b&&b.id!==D))&&this.finishImageCropping();let Z=this.lastPointerDownEvent,J=this.lastPointerUpEvent||this.lastPointerMoveEvent;if(XD(this.state)&&Z&&J){if(this.eraserTrail.endPath(),l1(t(Z.clientX,Z.clientY),t(J.clientX,J.clientY))===0){let K=q6({clientX:J.clientX,clientY:J.clientY},this.state);this.getElementsAtPosition(K.x,K.y).forEach((w)=>this.elementsPendingErasure.add(w.id))}this.eraseElements();return}else this.elementsPendingErasure.size&&this.restoreReadyToEraseElements();if(b&&!B.drag.hasOccurred&&!B.hit.wasAddedToSelection&&(!this.state.editingLinearElement||!B.boxSelection.hasOccurred)&&(E.shiftKey&&!this.state.editingLinearElement?this.state.selectedElementIds[b.id]?VM0(this.state,b)?this.setState((K)=>{let w={...K.selectedElementIds};for(let Q of b.groupIds.flatMap((G)=>W6(this.scene.getNonDeletedElements(),G)))delete w[Q.id];return{selectedGroupIds:{...K.selectedElementIds,...b.groupIds.map((Q)=>({[Q]:!1})).reduce((Q,G)=>({...Q,...G}),{})},selectedElementIds:X1(w,K)}}):this.state.selectedLinearElement?.isDragging||this.setState((K)=>{let w={...K.selectedElementIds};delete w[b.id];let Q=N3(this.scene.getNonDeletedElements(),{selectedElementIds:w});return{...n7({editingGroupId:K.editingGroupId,selectedElementIds:w},this.scene.getNonDeletedElements(),K,this),selectedLinearElement:Q.length===1&&S3(Q[0])?new Z4(Q[0]):K.selectedLinearElement}}):b.frameId&&this.state.selectedElementIds[b.frameId]?this.setState((K)=>{let w={...K.selectedElementIds,[b.id]:!0};return delete w[b.frameId],(this.scene.getElement(b.frameId)?.groupIds??[]).flatMap((Q)=>W6(this.scene.getNonDeletedElements(),Q)).forEach((Q)=>{delete w[Q.id]}),{...n7({editingGroupId:K.editingGroupId,selectedElementIds:w},this.scene.getNonDeletedElements(),K,this),showHyperlinkPopup:b.link||nB(b)?"info":!1}}):this.setState((K)=>({selectedElementIds:X1({...K.selectedElementIds,[b.id]:!0},K)})):this.setState((K)=>({...n7({editingGroupId:K.editingGroupId,selectedElementIds:{[b.id]:!0}},this.scene.getNonDeletedElements(),K,this),selectedLinearElement:S3(b)&&K.selectedLinearElement?.elementId!==b.id?new Z4(b):K.selectedLinearElement}))),!(b&&Q4(b))&&!B.drag.hasOccurred&&!this.state.isResizing&&(b&&Nbu({x:B.origin.x,y:B.origin.y,element:b,shape:NU(b,this.scene.getNonDeletedElementsMap()),threshold:this.getElementHitThreshold(),frameNameBound:u3(b)?this.frameNameBoundsCache.get(b):null},M)||!b&&B.hit.hasHitCommonBoundingBoxOfSelectedElements)){this.state.editingLinearElement?this.setState({editingLinearElement:null}):this.setState({selectedElementIds:X1({},this.state),selectedGroupIds:{},editingGroupId:null,activeEmbeddable:null}),E6(this.interactiveCanvas,p1.AUTO);return}if(!U.locked&&U.type!=="freedraw"&&A&&this.setState((K)=>({selectedElementIds:X1({...K.selectedElementIds,[A.id]:!0},K),showHyperlinkPopup:nB(A)&&!A.link?"editor":K.showHyperlinkPopup})),(U.type!=="selection"||K2(this.scene.getNonDeletedElements(),this.state)||!y5(this.state.previousSelectedElementIds,this.state.selectedElementIds))&&this.store.shouldCaptureIncrement(),B.drag.hasOccurred||z||k||f){let K=this.scene.getSelectedElements(this.state).filter(S3);oO(K,this.scene.getNonDeletedElementsMap(),this.scene.getNonDeletedElements(),this.scene,GZ(this.state),this.state.selectedLinearElement?.selectedPointsIndices??[],this.state.zoom)}if(U.type==="laser"){this.laserTrails.endPath();return}!U.locked&&U.type!=="freedraw"?(nA(this.interactiveCanvas),this.setState({newElement:null,suggestedBindings:[],activeTool:n9(this.state,{type:"selection"})})):this.setState({newElement:null,suggestedBindings:[]}),b&&this.lastPointerUpEvent&&this.lastPointerDownEvent&&this.lastPointerUpEvent.timeStamp-this.lastPointerDownEvent.timeStamp<300&&j1.pointers.size<=1&&NE(b)&&this.isIframeLikeElementCenter(b,this.lastPointerUpEvent,B.origin.x,B.origin.y)&&this.handleEmbeddableCenterClick(b)})}clearSelection(B){this.setState((E)=>({selectedElementIds:X1({},E),activeEmbeddable:null,selectedGroupIds:{},editingGroupId:E.editingGroupId&&B!=null&&YX(B,E.editingGroupId)?E.editingGroupId:null})),this.setState({selectedElementIds:X1({},this.state),activeEmbeddable:null,previousSelectedElementIds:this.state.selectedElementIds})}getTextWysiwygSnappedToCenterPosition(B,E,A,C){if(C){let D=C.x+C.width/2,F=C.y+C.height/2,U=An(C,A,this.scene.getNonDeletedElementsMap());if(U&&(D=U.x,F=U.y),Math.hypot(B-D,E-F)<dku){let{x:z,y:k}=yA({sceneX:D,sceneY:F},A);return{viewportX:z,viewportY:k,elementCenterX:D,elementCenterY:F}}}}getCanvasOffsets(){if(this.excalidrawContainerRef?.current){let B=this.excalidrawContainerRef.current,{left:E,top:A}=B.getBoundingClientRect();return{offsetLeft:E,offsetTop:A}}return{offsetLeft:0,offsetTop:0}}async updateLanguage(){let B=EG0.find((E)=>E.code===this.props.langCode)||_v;await Vtu(B),this.setAppState({})}},HG3=()=>{(J3.MODE===cB.TEST||J3.DEV)&&(window.h=window.h||{},Object.defineProperties(window.h,{elements:{configurable:!0,get(){return this.app?.scene.getElementsIncludingDeleted()},set(u){return this.app?.scene.replaceAllElements(_U(u))}},scene:{configurable:!0,get(){return this.app?.scene}}}))};HG3();var qG3=GG3,lG3=()=>{Array.prototype.at||Object.defineProperty(Array.prototype,"at",{value:function(u){if(u=Math.trunc(u)||0,u<0&&(u+=this.length),!(u<0||u>=this.length))return this[u]},writable:!0,enumerable:!1,configurable:!0}),Element.prototype.replaceChildren||(Element.prototype.replaceChildren=function(...u){this.innerHTML="",this.append(...u)})},LG3=lG3,XG3=({children:u})=>{let{FooterCenterTunnel:B}=E8(),E=Y7();return P(B.In,{children:P("div",{className:Yu("footer-center zen-mode-transition",{"layer-ui__wrapper__footer-left--transition-bottom":E.zenModeEnabled}),children:u})})};XG3.displayName="FooterCenter";var vG3=()=>P("svg",{viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"ExcalidrawLogo-icon",children:P("path",{d:"M39.9 32.889a.326.326 0 0 0-.279-.056c-2.094-3.083-4.774-6-7.343-8.833l-.419-.472a.212.212 0 0 0-.056-.139.586.586 0 0 0-.167-.111l-.084-.083-.056-.056c-.084-.167-.28-.278-.475-.167-.782.39-1.507.973-2.206 1.528-.92.722-1.842 1.445-2.708 2.25a8.405 8.405 0 0 0-.977 1.028c-.14.194-.028.361.14.444-.615.611-1.23 1.223-1.843 1.861a.315.315 0 0 0-.084.223c0 .083.056.166.111.194l1.09.833v.028c1.535 1.528 4.244 3.611 7.12 5.861.418.334.865.667 1.284 1 .195.223.39.473.558.695.084.11.28.139.391.055.056.056.14.111.196.167a.398.398 0 0 0 .167.056.255.255 0 0 0 .224-.111.394.394 0 0 0 .055-.167c.029 0 .028.028.056.028a.318.318 0 0 0 .224-.084l5.082-5.528a.309.309 0 0 0 0-.444Zm-14.63-1.917a.485.485 0 0 0 .111.14c.586.5 1.2 1 1.843 1.555l-2.569-1.945-.251-.166c-.056-.028-.112-.084-.168-.111l-.195-.167.056-.056.055-.055.112-.111c.866-.861 2.346-2.306 3.1-3.028-.81.805-2.43 3.167-2.095 3.944Zm8.767 6.89-2.122-1.612a44.713 44.713 0 0 0-2.625-2.5c1.145.861 2.122 1.611 2.262 1.75 1.117.972 1.06.806 1.815 1.445l.921.666a1.06 1.06 0 0 1-.251.25Zm.558.416-.056-.028c.084-.055.168-.111.252-.194l-.196.222ZM1.089 5.75c.055.361.14.722.195 1.056.335 1.833.67 3.5 1.284 4.75l.252.944c.084.361.223.806.363.917 1.424 1.25 3.602 3.11 5.947 4.889a.295.295 0 0 0 .363 0s0 .027.028.027a.254.254 0 0 0 .196.084.318.318 0 0 0 .223-.084c2.988-3.305 5.221-6.027 6.813-8.305.112-.111.14-.278.14-.417.111-.111.195-.25.307-.333.111-.111.111-.306 0-.39l-.028-.027c0-.055-.028-.139-.084-.167-.698-.666-1.2-1.138-1.731-1.638-.922-.862-1.871-1.75-3.881-3.75l-.028-.028c-.028-.028-.056-.056-.112-.056-.558-.194-1.703-.389-3.127-.639C6.087 2.223 3.21 1.723.614.944c0 0-.168 0-.196.028l-.083.084c-.028.027-.056.055-.224.11h.056-.056c.028.167.028.278.084.473 0 .055.112.5.112.555l.782 3.556Zm15.496 3.278-.335-.334c.084.112.196.195.335.334Zm-3.546 4.666-.056.056c0-.028.028-.056.056-.056Zm-2.038-10c.168.167.866.834 1.033.973-.726-.334-2.54-1.167-3.379-1.445.838.167 1.983.334 2.346.472ZM1.424 2.306c.419.722.754 3.222 1.089 5.666-.196-.778-.335-1.555-.503-2.278-.251-1.277-.503-2.416-.838-3.416.056 0 .14 0 .252.028Zm-.168-.584c-.112 0-.223-.028-.307-.028 0-.027 0-.055-.028-.055.14 0 .223.028.335.083Zm-1.089.222c0-.027 0-.027 0 0ZM39.453 1.333c.028-.11-.558-.61-.363-.639.42-.027.42-.666 0-.666-.558.028-1.144.166-1.675.25-.977.194-1.982.389-2.96.61-2.205.473-4.383.973-6.561 1.557-.67.194-1.424.333-2.066.666-.224.111-.196.333-.084.472-.056.028-.084.028-.14.056-.195.028-.363.056-.558.083-.168.028-.252.167-.224.334 0 .027.028.083.028.11-1.173 1.556-2.485 3.195-3.909 4.945-1.396 1.611-2.876 3.306-4.356 5.056-4.719 5.5-10.052 11.75-15.943 17.25a.268.268 0 0 0 0 .389c.028.027.056.055.084.055-.084.084-.168.14-.252.222-.056.056-.084.111-.084.167a.605.605 0 0 0-.111.139c-.112.111-.112.305.028.389.111.11.307.11.39-.028.029-.028.029-.056.056-.056a.44.44 0 0 1 .615 0c.335.362.67.723.977 1.028l-.698-.583c-.112-.111-.307-.083-.39.028-.113.11-.085.305.027.389l7.427 6.194c.056.056.112.056.196.056s.14-.028.195-.084l.168-.166c.028.027.083.027.111.027.084 0 .14-.027.196-.083 10.052-10.055 18.15-17.639 27.42-24.417.083-.055.111-.166.111-.25.112 0 .196-.083.251-.194 1.704-5.194 2.039-9.806 2.15-12.083v-.028c0-.028.028-.056.028-.083.028-.056.028-.084.028-.084a1.626 1.626 0 0 0-.111-1.028ZM21.472 9.5c.446-.5.893-1.028 1.34-1.5-2.876 3.778-7.65 9.583-14.408 16.5 4.607-5.083 9.242-10.333 13.068-15ZM5.193 35.778h.084-.084Zm3.462 3.194c-.027-.028-.027-.028 0-.028v.028Zm4.16-3.583c.224-.25.448-.472.699-.722 0 0 0 .027.028.027-.252.223-.475.445-.726.695Zm1.146-1.111c.14-.14.279-.334.446-.5l.028-.028c1.648-1.694 3.351-3.389 5.082-5.111l.028-.028c.419-.333.921-.694 1.368-1.028a379.003 379.003 0 0 0-6.952 6.695ZM24.794 6.472c-.921 1.195-1.954 2.778-2.82 4.028-2.736 3.944-11.532 13.583-11.727 13.75a1976.983 1976.983 0 0 1-8.042 7.639l-.167.167c-.14-.167-.14-.417.028-.556C14.49 19.861 22.03 10.167 25.074 5.917c-.084.194-.14.36-.28.555Zm4.83 5.695c-1.116-.64-1.646-1.64-1.34-2.611l.084-.334c.028-.083.084-.194.14-.277.307-.5.754-.917 1.257-1.167.027 0 .055 0 .083-.028-.028-.056-.028-.139-.028-.222.028-.167.14-.278.335-.278.335 0 1.369.306 1.76.639.111.083.223.194.335.305.14.167.363.445.474.667.056.028.112.306.196.445.056.222.111.472.084.694-.028.028 0 .194-.028.194a2.668 2.668 0 0 1-.363 1.028c-.028.028-.028.056-.056.084l-.028.027c-.14.223-.335.417-.53.556-.643.444-1.369.583-2.095.389 0 0-.195-.084-.28-.111Zm8.154-.834a39.098 39.098 0 0 1-.893 3.167c0 .028-.028.083 0 .111-.056 0-.084.028-.14.056-2.206 1.61-4.356 3.305-6.506 5.028 1.843-1.64 3.686-3.306 5.613-4.945.558-.5.949-1.139 1.06-1.861l.28-1.667v-.055c.14-.334.67-.195.586.166Z",fill:"currentColor"})}),xG3=()=>M0("svg",{viewBox:"0 0 450 55",xmlns:"http://www.w3.org/2000/svg",fill:"none",className:"ExcalidrawLogo-text",children:[P("path",{d:"M429.27 96.74c2.47-1.39 4.78-3.02 6.83-4.95 1.43-1.35 2.73-2.86 3.81-4.51-.66.9-1.4 1.77-2.23 2.59-2.91 2.84-5.72 5.09-8.42 6.87h.01ZM343.6 69.36c.33 3.13.58 6.27.79 9.4.09 1.37.18 2.75.25 4.12-.12-4.46-.27-8.93-.5-13.39-.11-2.08-.24-4.16-.4-6.24-.06 1.79-.11 3.85-.13 6.11h-.01ZM378.47 98.34c.01-.37.07-1.13.01-6.51-.11 1.9-.22 3.81-.31 5.71-.07 1.42-.22 2.91-.16 4.35.39.03.78.07 1.17.1-.92-.85-.76-2.01-.72-3.66l.01.01ZM344.09 86.12c-.09-2.41-.22-4.83-.39-7.24v12.21c.15-.05.32-.09.47-.14.05-1.61-.03-3.23-.09-4.83h.01ZM440.69 66.79c-.22-.34-.45-.67-.69-.99-3.71-4.87-9.91-7.14-15.65-8.55-1.05-.26-2.12-.49-3.18-.71 2.29.59 4.48 1.26 6.64 2.02 7.19 2.54 10.57 5.41 12.88 8.23ZM305.09 72.46l1.2 3.6c.84 2.53 1.67 5.06 2.46 7.61.24.78.5 1.57.73 2.36.22-.04.44-.08.67-.12a776.9 776.9 0 0 1-5.01-13.57c-.02.04-.03.09-.05.13v-.01ZM345.49 90.25v.31c1.48-.42 3.05-.83 4.66-1.2-1.56.25-3.12.52-4.66.89ZM371.02 90.22c0-.57-.04-1.14-.11-1.71-.06-.02-.12-.04-.19-.05-.21-.05-.43-.08-.65-.11.42.16.74.88.95 1.87ZM398.93 54.23c-.13 0-.27-.01-.4-.02l.03.4c.11-.15.23-.27.37-.38ZM401.57 62.28v-.15c-1.22-.24-2.86-.61-3.23-1.25-.09-.15-.18-.51-.27-.98-.09.37-.2.73-.33 1.09 1.24.56 2.52.98 3.83 1.29ZM421.73 88.68c-2.97 1.65-6.28 3.12-9.69 3.68v.18c4.72-.14 11.63-3.85 16.33-8.38-2.04 1.75-4.33 3.24-6.63 4.53l-.01-.01ZM411.28 80.92c-.05-1.2-.09-2.4-.15-3.6-.21 5.66-.46 11.38-.47 14.51.24-.02.48-.04.71-.07.15-3.61.05-7.23-.09-10.83v-.01Z",transform:"translate(-144.023 -51.76)"}),P("path",{d:"M425.38 67.41c-3.5-1.45-7.19-2.57-14.06-3.62.09 1.97.06 4.88-.03 8.12.03.04.06.09.06.15.19 1.36.28 2.73.37 4.1.25 3.77.39 7.55.41 11.33 0 1.38-.01 2.76-.07 4.13 1.4-.25 2.78-.65 4.12-1.15 4.07-1.5 7.94-3.78 11.28-6.54 2.33-1.92 5.13-4.49 5.88-7.58.63-3.53-2.45-6.68-7.97-8.96l.01.02ZM411.35 92.53v-.06l-.34.03c.11.01.22.03.34.03ZM314.26 64.06c-.23-.59-.47-1.17-.7-1.75.57 1.62 1.11 3.25 1.6 4.9l.15.54 2.35 6.05c.32.82.66 1.64.98 2.46-1.38-4.1-2.83-8.17-4.39-12.2h.01ZM156.82 103.07c-.18.13-.38.23-.58.33 1.32-.03 2.66-.2 3.93-.34.86-.09 1.72-.22 2.58-.33-2.12.1-4.12.17-5.94.34h.01ZM210.14 68.88s.03.04.05.07c.18-.31.39-.64.58-.96-.21.3-.42.6-.64.89h.01ZM201.65 82.8c-.5.77-1.02 1.56-1.49 2.37 1.11-1.55 2.21-3.1 3.2-4.59-.23.23-.49.51-.75.79-.32.47-.65.95-.96 1.43ZM194.03 98.66c-.33-.4-.65-.84-1.05-1.17-.24-.2-.07-.49.17-.56-.23-.26-.42-.5-.63-.75 1.51-2.55 3.93-5.87 6.4-9.28-.17-.08-.29-.28-.2-.49.04-.09.09-.17.13-.26-1.21 1.78-2.42 3.55-3.61 5.33-.87 1.31-1.74 2.64-2.54 4-.29.5-.63 1.04-.87 1.61.81.65 1.63 1.27 2.47 1.88-.09-.11-.18-.21-.27-.32v.01ZM307.79 82.93c-1-3.17-2.05-6.32-3.1-9.48-1.62 4.08-3.69 9.17-6.16 15.19 3.32-1.04 6.77-1.87 10.27-2.5-.32-1.08-.67-2.15-1.01-3.21ZM149.5 80.7c.05-1.71.04-3.43 0-5.14-.1 2.26-.16 4.51-.22 6.77-.02.73-.03 1.46-.04 2.19.14-1.27.2-2.55.24-3.82h.02ZM228.98 98.3c.39 1.25.91 3.03.94 3.91.06-.03.12-.07.17-.1.08-1.29-.55-2.65-1.11-3.81ZM307.72 53.36c.81.5 1.53 1.04 2.07 1.49-.38-.8-.78-1.58-1.21-2.35-.17.03-.34.06-.51.11-.43.12-.86.26-1.29.41.35-.01.53.1.94.34ZM283.69 96.14c3.91-7.25 6.89-13.35 8.88-18.15l1.1-2.66c-1.27 2.64-2.56 5.27-3.83 7.9-1.53 3.15-3.06 6.31-4.58 9.47-.87 1.81-1.76 3.62-2.54 5.47.04.02.07.04.11.07.05.05.1.09.15.14.05-.73.27-1.48.71-2.24ZM289.92 103.23s-.04.01-.05.03c0-.02.04-.03.05-.04.05-.05.11-.1.16-.15l.21-.21c-.55 0-1.5-.27-2.55-.72.4.26.8.51 1.22.74.24.13.48.26.73.37.05.02.1.03.14.05a.27.27 0 0 1 .08-.07h.01ZM269.23 68.49c-.39-.19-.82-.48-1.33-.87-3.06-1.56-6.31-2.78-9.36-2.35-3.5.49-5.7 1.11-7.74 2.44 5.71-2.6 12.82-2.07 18.44.79l-.01-.01ZM177.87 53.69l1.06.03c-.96-.22-2-.25-2.89-.3-4.95-.26-9.99.33-14.86 1.19-2.44.43-4.88.95-7.28 1.59 9.09-1.76 15.69-2.77 23.97-2.51ZM219.85 55.51c-.18.12-.36.27-.56.45-.45.53-.86 1.11-1.26 1.66-1.91 2.61-3.71 5.31-5.57 7.95l-.12.18 8.05-10.11c-.18-.05-.36-.1-.55-.13h.01ZM510.71 54.1c.12-.15.29-.3.53-.45.69-.4 3.72-.63 5.87-.74-.36-.02-.73-.04-1.09-.05-1.84-.03-3.67.09-5.49.35.05.3.12.59.18.88v.01ZM510.76 86.02c1.37-3.07 2.49-6.27 3.57-9.46.55-1.64 1.12-3.3 1.6-4.97-1.59 4.01-3.67 9.14-6.2 15.3.24-.08.5-.14.74-.22.1-.22.19-.44.29-.65ZM566.95 75.76c.11-.02.23.03.31.11-.05-.13-.09-.26-.14-.39-.05.09-.11.18-.17.28ZM511.33 86.41c3.08-.89 6.24-1.62 9.46-2.14-1.51-3.98-2.98-7.96-4.39-11.87-.05.15-.09.31-.14.46-1.02 3.32-2.15 6.61-3.39 9.85-.48 1.25-.98 2.49-1.53 3.7h-.01ZM578.24 74.45c.11-.44.23-.87.35-1.31-.31.7-.64 1.39-.97 2.08.09.21.19.4.28.61.12-.46.23-.92.35-1.38h-.01ZM520.62 53.11c-.09 0-.18-.01-.28-.02.38.34.29 1.08.93 2.53l6.65 17.15c2.2 5.68 4.69 11.36 7.41 16.87l1.06 2.17c-2.95-7.05-5.92-14.08-8.87-21.13-1.58-3.79-3.16-7.59-4.7-11.4-.78-1.92-1.73-3.89-2.25-5.91-.03-.1 0-.19.04-.26h.01ZM578.78 77.87c1.45-5.77 3.07-10.43 3.58-13.36.05-.34.16-.88.31-1.55-.67 1.79-1.37 3.56-2.08 5.33-.12.43-.23.86-.35 1.29-.65 2.43-1.29 4.86-1.9 7.3.14.33.29.65.43 1l.01-.01ZM545.3 94.66c.02-.44.03-.83.05-1.12.02-1.01.05-2.02.11-3.02.03-6.66-.46-14.33-1.46-22.8-.13-.42-.27-1.24-.56-2.89 0-.02 0-.04-.01-.06.62 6.61.95 13.25 1.32 19.87.17 3.08.33 6.16.52 9.23.02.25.03.52.04.78l-.01.01ZM580.77 102.81c.13.2.27.38.37.49.27-.11.53-.22.8-.32-.43.09-.82.05-1.17-.16v-.01ZM530.48 104.07h.33c-.36-.13-.71-.32-1.04-.56.14.24.3.47.45.7.06-.08.14-.13.26-.13v-.01ZM542.63 58.82c.06.23.11.47.15.71.14-.33.36-.62.7-.86-.28.05-.57.11-.85.15ZM583.81 57.87c.15-.7.29-1.41.42-2.11-.14.45-.28.9-.42 1.34-.46 1.44-.89 2.89-1.31 4.34.44-1.19.88-2.37 1.31-3.57ZM523.62 91.48c-4.66 1.17-9.05 2.89-14.02 5.27 4.65-1.84 9.48-3.29 14.28-4.63-.09-.22-.17-.41-.26-.64ZM460.64 78.3c-.04-2.9-.11-5.81-.28-8.71-.1-1.68-.17-3.43-.5-5.09-.07.02-.14.03-.2.05.3 6.54.45 12.17.51 17.12.17-.07.34-.14.51-.2 0-1.06-.01-2.11-.03-3.17h-.01ZM470.63 63.24c-3.38-.26-6.81.32-10.1 1.1.41 2.01.47 4.14.57 6.18.18 3.55.25 7.11.27 10.67 3.31-1.38 6.5-3.12 9.3-5.35 1.96-1.56 3.86-3.41 5.02-5.66.73-1.41 1.19-3.22.26-4.65-1.09-1.7-3.46-2.14-5.32-2.29ZM460.29 63.68c1-.24 2.01-.46 3.04-.65-1.15.16-2.37.38-3.71.69v.13c.07-.02.15-.04.22-.05.11-.13.3-.18.45-.11v-.01ZM457.24 100.96c.43-.03.86-.07 1.29-.11.14-.49.27-.99.38-1.49-.44.7-1 1.23-1.67 1.6ZM482.88 104.98c-.18.23-.36.38-.55.47.14.09.27.19.4.28a70.76 70.76 0 0 0 4.37-4.63c.76-.89 1.52-1.81 2.19-2.77-.3-.27-.61-.53-.92-.79-.07 1.94-4.62 6.32-5.49 7.45v-.01Z",transform:"translate(-144.023 -51.76)"}),P("path",{d:"M474.36 63.31c-.4-.16-.84-.27-1.29-.37 1.56.42 3.08 1.22 3.76 2.74.62 1.4.32 2.95-.28 4.32.7-1.22.94-2.34.74-3.47-.24-1.33-1.19-2.54-2.93-3.21v-.01ZM477.34 89.18c-1.2-.81-2.4-1.62-3.6-2.42-.14.1-.26.19-.4.29 1.4.67 2.73 1.39 4 2.13ZM465.88 93.85c.37.25.74.5 1.1.75.46.32.92.65 1.38.97-1.57-1.2-2.01-1.61-2.49-1.72h.01ZM574.92 90.06c-2.28-5.21-4.93-11.13-5.67-12.26-.1-.15-1.57-3.01-1.63-3.08 0 0-.01.02-.02.02.4 1.37 1.09 2.69 1.65 3.99 2.14 4.95 4.36 9.86 6.67 14.73.6 1.26 1.21 2.52 1.83 3.78-.75-2.01-1.64-4.45-2.83-7.18ZM448.73 65.29c.1.2.22.38.34.57.22-.02.43-.06.65-.08v-.08c-.14-.05-.25 0-.99-.41ZM460.16 94.81c-.02.31-.06.59-.1.89-.03 1.71-.33 3.43-.79 5.07.15-.02.3-.03.45-.05.01-.04.02-.08.03-.11.09-.34.15-.69.2-1.03.17-1.07.25-2.16.33-3.24.05-.69.08-1.39.12-2.08-.27.1-.27.26-.24.57v-.02Z",transform:"translate(-144.023 -51.76)"}),P("path",{d:"m328.67 98.12-3.22-6.58c-1.29-2.63-2.53-5.29-3.72-7.97-.25-.85-.52-1.69-.79-2.53-.81-2.57-1.67-5.12-2.55-7.67-1.92-5.53-3.9-11.08-6.32-16.41-.72-1.58-1.46-3.44-2.63-4.79-.03-.17-.16-.29-.34-.36a.282.282 0 0 0-.23-.04c-.06-.01-.12 0-.18.01-.74.06-1.5.38-2.19.61-2.22.77-4.4 1.64-6.63 2.38-.03-.08-.06-.16-.09-.25-.15-.42-.82-.24-.67.19.03.09.07.19.1.28l-.18.06c-.36.11-.28.6 0 .68.18 1.18.63 2.36.98 3.49.03.09.06.17.08.26-.08.23-.17.46-.24.64-.37.98-.79 1.94-1.21 2.9-1.27 2.89-2.62 5.75-3.98 8.6-3.18 6.67-6.44 13.31-9.64 19.97-1.08 2.25-2.2 4.5-3.15 6.81-.13.32.24.5.5.37 1.34 1.33 2.84 2.5 4.4 3.57.65.44 1.31.87 2.01 1.24.4.22.86.48 1.33.5.24.01.35-.19.33-.37.11-.1.21-.21.28-.28.41-.41.81-.84 1.2-1.26.85-.92 1.69-1.87 2.5-2.84 6.31-2.34 12.6-4.31 18.71-5.84 2.14 5.3 3.43 8.43 3.97 9.58.55 1.05 1.15 1.88 1.82 2.52 1.32.56 6.96-.03 9.23-1.96.87-1.28 1.19-2.67.93-4.15-.09-.5-.22-.95-.4-1.33l-.01-.03Zm-20.09-45.61c.43.77.83 1.56 1.21 2.35-.54-.45-1.27-.99-2.07-1.49-.42-.24-.6-.35-.94-.34.43-.15.85-.29 1.29-.41.17-.05.34-.08.51-.11Zm-25.86 45.66c.78-1.85 1.67-3.66 2.54-5.47 1.51-3.16 3.05-6.31 4.58-9.47 1.28-2.63 2.56-5.26 3.83-7.9l-1.1 2.66c-1.99 4.79-4.97 10.9-8.88 18.15-.43.76-.66 1.51-.71 2.24-.05-.05-.1-.09-.15-.14a.259.259 0 0 0-.11-.07Zm6.24 4.71c-.42-.23-.82-.48-1.22-.74 1.05.45 2 .72 2.55.72l-.21.21c-.05.05-.11.1-.16.15-.01.01-.04.03-.05.04 0-.02.03-.02.05-.03a.27.27 0 0 0-.08.07c-.05-.02-.1-.03-.14-.05-.25-.1-.49-.24-.73-.37h-.01Zm15.73-29.43c1.05 3.15 2.1 6.31 3.1 9.48.34 1.06.69 2.13 1.01 3.21-3.5.63-6.95 1.46-10.27 2.5 2.48-6.03 4.54-11.11 6.16-15.19Zm4.79 12.57c-.23-.79-.49-1.58-.73-2.36-.79-2.54-1.63-5.08-2.46-7.61l-1.2-3.6c.02-.04.04-.09.05-.13 1.6 4.45 3.28 9 5.01 13.57l-.67.12v.01Zm5.83-18.27-.15-.54c-.49-1.64-1.03-3.28-1.6-4.9.23.58.47 1.17.7 1.75 1.56 4.03 3.01 8.1 4.39 12.2-.33-.82-.67-1.64-.98-2.46l-2.35-6.05h-.01ZM390.43 79.37c-.13-10.43-.22-17.5-.24-19.97-.24-1.6.21-2.88-.65-3.65-.14-.13-.32-.23-.52-.32h.03c.45 0 .45-.69 0-.7-1.75-.03-3.5-.04-5.25-.14-1.38-.08-2.76-.21-4.15-.31-.07 0-.12.01-.17.04-.21-.07-.47.03-.45.31l.03.45c-.11.14-.19.3-.22.5-.21 1.26-.32 13.67-.36 23.59-.32 5.79-.67 11.57-.97 17.36-.09 1.73-.29 3.54-.21 5.3-.39.02-.38.64.04.69v.12c.05.44.74.45.7 0v-.06c1.1.09 2.2.21 3.3.3 1.14.19 2.44.2 3.29.17 1.73-.05 2.92-.05 3.8-.37.45-.05.9-.11 1.35-.17.44-.06.25-.73-.19-.67h-.01c.24-.32.45-.72.62-1.25.66-1.84.41-6.36.34-11.33l-.13-9.9.02.01Zm-12.26 18.17c.09-1.91.2-3.81.31-5.71.06 5.38 0 6.14-.01 6.51-.05 1.65-.21 2.81.72 3.66-.39-.04-.78-.07-1.17-.1-.06-1.44.09-2.93.16-4.35l-.01-.01ZM588.97 53.85c-2.06-.25-3.17-.51-3.76-.6a.3.3 0 0 1 .04-.08c.22-.39-.39-.75-.6-.35-.56 1.02-.9 2.19-1.26 3.29-.61 1.88-1.17 3.78-1.72 5.68-.63 2.19-1.24 4.39-1.83 6.59-.81 2.03-1.67 4.05-2.61 6.03-1.7-3.64-3.11-6.04-4.03-7.57-2.26-3.74-2.85-5.48-3.57-6.08l.31-.09c.43-.12.25-.8-.19-.67-1.06.3-2.12.6-3.17.95-.93.32-1.85.69-2.76 1.07-.13.05-.19.16-.22.27-.04.02-.08.05-.11.07-.04-.06-.07-.12-.11-.18a.354.354 0 0 0-.48-.12c-.16.09-.22.32-.13.48l.33.54c0 .09.02.18.06.28.51 1.16.78 1.38.72 1.47-2.42 3.44-5.41 7.86-6.2 9.1-1.27 1.97-2.01 3.14-2.45 3.84l-.91-6.56-.43-4.1c-.19-1.85-.37-3.23-.53-4.13-.19-1.1-.3-2.15-.45-3.16-.2-1.36-.29-2.06-.47-2.42h.04c.45.02.45-.68 0-.7-3.43-.16-6.81.94-10.17 1.48-.24-.22-.73-.04-.58.32.24.59.33 1.25.43 1.87.17 1.06.29 2.13.4 3.2.32 3.09.53 6.2.74 9.3.44 6.75.77 13.51 1.17 20.26.11 1.95.13 3.96.46 5.89.05.3.37.31.55.14.74 1.71 2.87 1.27 6.13 1.27 1.34 0 2.39.04 2.99-.11.02.32.48.53.63.18 3.61-8.26 7.41-16.46 12.05-24.2.03-.05.04-.1.05-.15.3.73.64 1.45.94 2.16.97 2.26 1.97 4.52 2.98 6.76 2.26 5.03 4.54 10.07 7.09 14.96.47.9.94 1.79 1.47 2.65.2.32.4.67.66.96-.18.25 0 .68.34.54.91-.38 1.82-.75 2.76-1.07 1.04-.35 2.11-.65 3.17-.95.39-.11.28-.66-.07-.68.62-.4.95-.96.87-1.91-.3-3.34.72-7.47.86-8.52l2.14-11.43c1.75-10.74 3.13-17.51 3.23-20.86.02-.49.08-2.84.13-3.24.17-1.25.48-1-4.96-1.65l.03-.02Zm-46.19 5.67c-.04-.24-.09-.48-.15-.71l.85-.15c-.34.24-.56.53-.7.86Zm1.95 25.12c-.36-6.63-.7-13.26-1.32-19.87 0 .02 0 .04.01.06.29 1.65.44 2.47.56 2.89 1 8.46 1.5 16.14 1.46 22.8-.06.99-.1 2-.11 3.02-.01.29-.03.68-.05 1.12-.01-.26-.03-.53-.04-.78-.19-3.08-.35-6.16-.52-9.23l.01-.01Zm36.4 18.66c-.11-.11-.24-.29-.37-.49.35.21.74.26 1.17.16-.27.11-.53.22-.8.32v.01Zm-.89-33.72c.12-.43.23-.86.35-1.29.71-1.77 1.41-3.55 2.08-5.33-.15.68-.26 1.22-.31 1.55-.5 2.94-2.13 7.59-3.58 13.36-.15-.35-.29-.66-.43-1 .61-2.44 1.25-4.87 1.9-7.3l-.01.01Zm3.56-12.48c.14-.44.28-.89.42-1.34-.13.7-.27 1.41-.42 2.11-.43 1.19-.86 2.38-1.31 3.57.42-1.45.85-2.9 1.31-4.34Zm-5.22 16.05c-.11.44-.23.87-.35 1.31-.12.46-.23.92-.35 1.38-.1-.22-.19-.4-.28-.61.34-.69.66-1.38.97-2.08h.01Zm-11.64 2.62c.06-.1.12-.19.17-.28.05.13.09.26.14.39a.398.398 0 0 0-.31-.11Zm2.3 2.98c-.56-1.3-1.25-2.63-1.65-3.99 0 0 .01-.02.02-.02.06.08 1.52 2.93 1.63 3.08.73 1.13 3.38 7.04 5.67 12.26 1.2 2.73 2.08 5.17 2.83 7.18-.62-1.25-1.23-2.51-1.83-3.78-2.31-4.87-4.53-9.78-6.67-14.73ZM275.92 87.03c-1.06-2.18-1.13-3.45-2.44-2.93-1.52.57-2.94 1.3-4.5 2.1-1.4.72-2.68 1.44-3.92 2.12.01-.25-.24-.5-.51-.34-4.8 2.93-12.41 4.7-17.28 1.31-1.98-1.77-3.32-4.15-3.97-5.78-.29-.95-.49-1.94-.63-2.93-.14-3.34 1.58-6.53 3.9-9.12.8-.79 1.68-1.51 2.66-2.12 3.7-2.3 8.22-3.07 12.51-2.51 2.71.35 5.32 1.24 7.71 2.55.39.22.75-.39.35-.6-.18-.1-.37-.18-.55-.27.56.27 1.03.33 1.51.19l-.48.39c-.15.11-.23.3-.13.48.09.15.33.24.48.13 1.3-.97 2.46-2.09 3.45-3.37.37-.29.64-.6.65-.97v-.02c.08-.33-.03-.7-.21-1.08-.31-.87-.98-2.01-2.19-3.26-2.43-2.52-3.79-3.45-5.68-4.26-1.14-.49-3.12-1.06-4.42-1.23-3.28-.42-10.64-1.21-18.18 4.11-7.74 5.46-11.94 12.3-12.23 20.61-.08 2.06.04 3.98.34 5.71.74 4.18 2.57 8 5.44 11.34 4.26 4.99 9.76 7.52 16.34 7.52 4.85 0 9.69-1.77 14.89-4.62.23-.12.45-.23.68-.35 2.19-1.1 4.37-2.23 6.46-3.5.49-.3 1.03-.61 1.5-.98 1.47-.87 1.11-1.12.49-2.95-.39-1.14-.76-2.7-2.06-5.36l.02-.01Zm-17.38-21.76c3.05-.42 6.31.79 9.36 2.35.51.39.94.68 1.33.87-5.61-2.86-12.72-3.39-18.44-.79 2.05-1.33 4.24-1.95 7.74-2.44l.01.01ZM443.67 72.67c-.4-2.2-1.15-4.33-2.37-6.22-1.49-2.32-3.58-4.19-5.91-5.64-6.17-3.81-13.75-5.11-20.83-6.01-3.23-.41-6.47-.69-9.72-.92l-1.39-.12c-.85-.07-1.52-.1-2.05-.1-1.08-.06-2.17-.12-3.25-.17-.08 0-.14.02-.19.05-.1.05-.18.14-.16.3.27 2.55-.01 5.12-.92 7.52-.15.38.4.56.62.28 1.32.59 2.68 1.05 4.08 1.37 0 2.78-.14 7.58-.33 12.91 0 0 0 .02-.01.03-.61 3.66-.79 7.42-1 11.12-.23 4.01-.43 8.03-.44 12.05 0 .64 0 1.28.03 1.93.02.31 0 .68.15.96.06.11.14.16.24.17-.2.17-.21.54.11.59 3.83.67 7.78.71 11.68.25 2.3-.19 4.87-.65 7.65-1.56 1.85-.54 3.67-1.18 5.43-1.91 7.2-3.02 14.31-8.07 17.35-15.53.76-1.86 1.17-3.8 1.31-5.75.3-1.93.28-3.82-.09-5.58l.01-.02Zm-19.32-15.42c5.74 1.41 11.94 3.68 15.65 8.55.25.32.47.65.69.99-2.3-2.82-5.68-5.69-12.88-8.23-2.16-.76-4.35-1.43-6.64-2.02 1.06.21 2.13.45 3.18.71Zm-25.82-3.04c.13 0 .27.01.4.02-.14.1-.26.23-.37.38 0-.13-.02-.26-.03-.4Zm34.82 22.17c-.75 3.09-3.55 5.66-5.88 7.58-3.35 2.76-7.21 5.03-11.28 6.54-1.33.49-2.71.9-4.12 1.15.06-1.38.08-2.76.07-4.13-.02-3.78-.16-7.56-.41-11.33-.09-1.37-.18-2.74-.37-4.1 0-.06-.03-.11-.06-.15.09-3.25.12-6.16.03-8.12 6.86 1.05 10.56 2.17 14.06 3.62 5.52 2.28 8.59 5.44 7.97 8.96l-.01-.02Zm-22 16.15c-.12 0-.23-.02-.34-.03l.34-.03v.06Zm-.69-.7c0-3.13.26-8.84.47-14.51.06 1.2.11 2.41.15 3.6.15 3.6.25 7.23.09 10.83-.24.03-.48.05-.71.07v.01Zm-12.33-30.94c.37.63 2.01 1.01 3.23 1.25v.15c-1.31-.31-2.59-.73-3.83-1.29.12-.36.23-.72.33-1.09.08.48.18.84.27.98Zm13.7 31.65v-.18c3.41-.56 6.71-2.02 9.69-3.68 2.31-1.28 4.59-2.78 6.63-4.53-4.69 4.53-11.61 8.24-16.33 8.38l.01.01Zm24.07-.75c-2.05 1.93-4.37 3.56-6.83 4.95 2.7-1.78 5.52-4.03 8.42-6.87.82-.82 1.56-1.69 2.23-2.59-1.08 1.65-2.38 3.16-3.81 4.51h-.01ZM187.16 92.14c-.79-2.47-2.1-7.12-3.1-6.87-.19-.01-2.09.77-4.08 1.54-3.06 1.18-5.91 2.13-10.09 2.82-2.74.42-5.87 1.01-10.61 1.06.04-3.34.05-6.01.05-7.99 7.97-.65 12.33-2.11 16.37-3.55 1.11-.39 2.69-1.01 2.63-1.8-.08-.35-.55-1.39-1.17-2.61-.47-1.16-.98-2.31-1.61-3.38-.42-.71-1.04-1.69-1.86-2.06-.11-.08-.22-.13-.29-.12-.02 0-.04 0-.07.01-.19-.04-.39-.05-.6-.01-.17.03-.24.15-.25.28-.04.02-.09.04-.14.05-4.33 1.48-8.85 2.33-13.24 3.61a499.1 499.1 0 0 0-.31-8.19c4.51-.99 8.88-1.38 13.11-1.82 3.68-.38 6.28.12 7.47.34.59.11.9.16 1.16.18h.1c-.1.37.44.66.62.28.02-.04.03-.08.05-.13.15.2.53.22.62-.1.17-.58.19-1.21.21-1.81v-.36c.03-.15.05-.3.07-.45.52-2.47.33-5.09-.64-7.44-.11-.27-.44-.28-.6-.14-.08-.21-.15-.42-.24-.62-.19-.41-.79-.05-.6.35.03.07.05.15.09.22-.98-.42-2.15-.54-3.17-.63-2.17-.19-4.37-.14-6.54 0-5.7.35-11.4 1.3-16.91 2.79-2.08.56-4.13 1.22-6.14 2-4.54 1.05-3.79 1.51-2.17 6.07.18.51.46 1.68.54 1.94.82 2.47 1.08 2.13 3.1 2.13s0 .05 0 .08h.52c-.48 2.66-.51 5.45-.62 8.13-.15 3.48-.22 6.96-.28 10.45 0 .41-.01.82-.02 1.23-.16.29-.33.57-.51.85-.05.38-.09.77-.14 1.18-.42 3.52-.59 6.48-.52 8.8v.34c.02.47.05.76.06.87.16 1.57-.26 3.47 1.35 3.79 1.61.32 3.5.55 4.85.55.11 0 .22-.02.33-.02 1.79.24 3.67.05 5.45-.12 2.85-.28 5.69-.7 8.51-1.19 3.03-.53 6.05-1.14 9.04-1.86 2.4-.58 4.82-1.19 7.13-2.06.51-.19 1.73-.57 2.46-1.14 1.81-.68 2.18-1 1.57-2.67-.23-.62-.48-1.49-.91-2.78l-.03-.02Zm-11.12-38.71c.89.05 1.93.08 2.89.3-.33 0-.68-.02-1.06-.03-8.28-.26-14.88.75-23.97 2.51 2.41-.64 4.85-1.16 7.28-1.59 4.87-.86 9.91-1.45 14.86-1.19Zm-26.53 22.13c.03 1.71.04 3.43 0 5.14-.04 1.27-.11 2.55-.24 3.82 0-.73.02-1.46.04-2.19.05-2.26.12-4.51.22-6.77h-.02Zm6.73 27.85c.2-.1.4-.21.58-.33 1.82-.17 3.82-.24 5.94-.34-.86.11-1.72.24-2.58.33-1.27.14-2.61.31-3.93.34h-.01ZM534.48 85.44c-3.52-8.38-7.07-16.75-10.5-25.17-.63-1.54-1.25-3.09-1.86-4.65-.31-.8-.65-1.6-.87-2.43-.04-.17-.17-.24-.31-.25.1-.2 0-.51-.29-.53-1.59-.08-3.18-.22-4.78-.25-1.96-.03-3.91.13-5.84.42-.31.05-.31.38-.13.56-.03.06-.05.14-.04.22.23 1.54.63 3.06 1.16 4.53.13.35.27.7.41 1.06l-2.68 6.18c-.11.03-.2.09-.25.22-.67 1.9-1.52 3.73-2.34 5.56a536.85 536.85 0 0 1-3.9 8.45c-2.64 5.64-5.34 11.25-7.91 16.93-.44.97-.88 1.94-1.29 2.93-.2.48-.47 1-.55 1.52v.05c-.02.12.02.26.16.34 1.19.73 2.41 1.41 3.66 2.05 1.2.62 2.45 1.25 3.76 1.61.43.12.62-.55.19-.67-1.13-.31-2.2-.83-3.24-1.36 1.09.36 2.1.69 2.75.93 2.82 1.01 2.38 1.1 4.3-3.75 2.1-1.09 4.34-1.96 6.53-2.79 4.35-1.64 8.8-3.03 13.27-4.29.82 2.01 1.77 3.97 2.72 5.92.35.83.62 1.45.79 1.82.22.42.45.8.69 1.15.17.33.33.67.5 1 .42.8.84 1.63 1.4 2.35.23.29.6 0 .55-.31 1.53-.02 3.06-.07 4.58-.27.92-.12 1.82-.32 2.71-.54 1.39-.27 3.85-1.11 3.74-1.42-.67-1.96-1.55-3.87-2.34-5.78-1.57-3.78-3.16-7.56-4.75-11.33v-.01Zm-11.65-26.16c1.54 3.81 3.12 7.6 4.7 11.4 2.94 7.05 5.91 14.09 8.87 21.13l-1.06-2.17c-2.71-5.51-5.2-11.19-7.41-16.87l-6.65-17.15c-.65-1.45-.55-2.19-.93-2.53.09 0 .18.01.28.02a.29.29 0 0 0-.04.26c.52 2.02 1.47 3.98 2.25 5.91h-.01Zm-6.58 13.58c.05-.15.09-.31.14-.46 1.41 3.92 2.88 7.9 4.39 11.87-3.22.52-6.38 1.25-9.46 2.14.55-1.22 1.05-2.46 1.53-3.7 1.24-3.24 2.37-6.53 3.39-9.85h.01Zm-.23-20c.36 0 .73.03 1.09.05-2.15.1-5.18.33-5.87.74-.24.15-.41.3-.53.45-.06-.29-.13-.58-.18-.88 1.82-.26 3.65-.39 5.49-.35v-.01Zm-.09 18.72c-.49 1.67-1.05 3.33-1.6 4.97-1.07 3.19-2.19 6.38-3.57 9.46-.09.21-.19.43-.29.65-.25.07-.5.14-.74.22 2.53-6.16 4.61-11.29 6.2-15.3Zm-6.34 25.16c4.97-2.38 9.37-4.1 14.02-5.27l.26.64c-4.8 1.35-9.63 2.8-14.28 4.63Zm20.17 6.76c.33.23.68.42 1.04.56h-.33c-.12 0-.21.06-.26.13-.15-.23-.31-.45-.45-.7v.01ZM226.57 91.75c-3.55-4.74-6.68-9.11-9.31-12.99 9.2-15.25 10.05-17.81 10.35-18.38.17-.34 1.09-2.27.64-2.53-1.13-.65-1.03-.65-2.97-1.71-1.19-.65-3.04-1.61-4.53-2.12-1.71-.59-1.24-.36-3 2.77-.06.1-.11.2-.17.3-.75 1.02-1.48 2.05-2.2 3.09-1.88 2.71-3.73 5.45-5.69 8.1-3.68-4.91-6.88-8.76-9.51-11.43-.15-.15-.3-.29-.46-.42-1.27-1.28-7.24 3.53-7.93 5.58-.09.09-.19.16-.28.25-.27.26.03.64.33.58.19.65.5 1.29.94 1.91 3.85 5.06 7.19 9.76 9.94 14-1.23 2.61-3.06 5-4.67 7.38l-2.28 3.33c-.5.66-.93 1.23-1.29 1.69-.67.93-2.09 2.61-2.3 3.87-.51.85-1.16 1.84-1.29 2.83-.06.44.61.63.67.19.01-.08.04-.15.06-.22 1.36 1.08 2.76 2.11 4.19 3.11 1.3.91 2.62 1.85 4.04 2.56.21.1.4 0 .48-.17.24.07.48.14.72.2.44.1.62-.57.19-.67-2.02-.48-3.77-1.57-5.23-3.02-.47-.46-.9-.96-1.32-1.46 1.74 1.35 4.2 2.89 5.89 4.14 1.39 1.03 2.85-2.27 4.22-4.2 1.86-2.64 3.96-5.86 5.52-8.29l10.39 14.51c.67.81 1.14 1.21 1.57 1.36-.05.24.12.51.41.4 1.53-.58 3.05-1.19 4.54-1.87 1.52-.69 3.06-1.45 4.36-2.5a.28.28 0 0 0 .12-.23c1.66-1.1.81-1.74-1.41-4.91-1.13-1.58-1.71-2.36-3.7-5.01l-.03-.02Zm2.41 6.54c.56 1.15 1.19 2.52 1.11 3.81-.06.04-.12.07-.17.1-.03-.88-.55-2.66-.94-3.91Zm-16.51-32.73c1.86-2.65 3.65-5.35 5.57-7.95.4-.55.81-1.13 1.26-1.66.19-.18.38-.33.56-.45.18.03.36.08.55.13l-8.05 10.11.12-.18h-.01ZM192.7 95.48c.79-1.37 1.66-2.69 2.54-4 1.19-1.79 2.4-3.56 3.61-5.33-.04.09-.09.17-.13.26-.1.22.03.41.2.49-2.47 3.42-4.89 6.73-6.4 9.28.21.24.4.48.63.75-.24.07-.4.36-.17.56.4.33.72.77 1.05 1.17.09.11.18.21.27.32-.84-.61-1.66-1.24-2.47-1.88.24-.57.58-1.11.87-1.61v-.01Zm7.46-10.32c.47-.81.98-1.59 1.49-2.37.31-.48.64-.95.96-1.43.26-.29.52-.56.75-.79-.99 1.48-2.09 3.03-3.2 4.59Zm10.03-16.22s-.03-.05-.05-.07c.22-.29.43-.59.64-.89-.2.32-.4.65-.58.96h-.01ZM371.54 87.96c-.01-.08-.01-.16-.03-.23-.06-.38-.58-.29-.66.03-.3-.05-.6-.08-.81-.11-1.14-.15-2.29-.19-3.44-.2 1.04-.09 2.09-.18 3.14-.23.45-.02.45-.72 0-.7-6.57.35-13.14 1.23-19.65 2.11-1.53.21-3.05.42-4.57.68-.01 0-.02.01-.04.01-.04-3.33-.13-6.66-.24-9.99-.19-5.7-.4-11.41-.88-17.1-.13-1.51-.23-3.07-.49-4.58 0-.25 0-.48-.02-.68-.06-1.19-.04-2.61-.68-2.78-.16-.07-.72-.16-1.5-.24.22-.17.16-.62-.2-.63-1.19-.04-2.39.09-3.57.23-1.2.14-2.41.32-3.59.6-.16-.1-.41-.06-.5.12-.06.02-.13.03-.19.05-.35.1-.29.55-.03.66-.26.6-.19 2.27-.21 3-.02.66-.66 33.73-.9 40.3-.03.65.06 1.12.04 1.45-.16 3.05.87 4.96 6.34 3.93 1.09-.08 2.75-.77 5.36-1.43 4.13-1.04 5.78-1.52 6.2-1.65 6.43-1.69 6.78-1.97 11.72-2.43.55-.05 4.8-.38 6.03-.3.64.04 1.19.07 1.65.1.09 0 .16-.03.24-.05.1.27.56.33.66-.02.39-1.32.61-2.71.78-4.08.2-1.61.29-3.24.15-4.86.24.03.52-.23.38-.53-.09-.2-.27-.33-.49-.43v-.02Zm-.63.56c.07.57.11 1.14.11 1.71-.21-.99-.53-1.71-.95-1.87.22.03.44.06.65.11.06.01.12.04.19.05Zm-25.41 1.73c1.54-.36 3.1-.64 4.66-.89-1.61.37-3.18.77-4.66 1.2v-.31Zm-.86-7.37c-.07-1.37-.16-2.75-.25-4.12-.21-3.13-.45-6.27-.79-9.4.02-2.25.08-4.31.13-6.11.16 2.08.29 4.16.4 6.24.23 4.46.38 8.93.5 13.39h.01Zm-.94-4c.16 2.41.29 4.83.39 7.24.06 1.6.14 3.22.09 4.83-.15.05-.32.09-.47.14V78.88h-.01ZM483.72 92.83c-3.05-2.28-6.22-4.4-9.38-6.51 8.86-6.49 13.49-12.95 13.73-19.23.04-.76 0-1.5-.13-2.2-.67-3.82-3.5-6.68-8.39-8.48.13.04.27.08.4.13 3.92 1.39 7.74 4.23 8.5 8.56.34 1.95-.05 3.96-.98 5.69-.21.4.39.75.6.35 1.86-3.46 1.46-7.55-.97-10.63-3.53-4.47-9.76-5.88-15.16-6.16-2.32-.12-4.64-.04-6.95.19-6 .32-12.71 1.68-17.63 3.21-.37.11-.67.23-.92.35-.2-.17-.62.02-.57.37v.03c-.64.68-.18 1.64.48 3.21.38.91.67 1.89 1.15 2.58.32.76.68 1.51 1.13 2.19.14.21.38.19.53.07.19-.02.38-.05.57-.08v1.57c-.06.06-.1.13-.11.23-.27 4.18-.34 8.38-.48 12.57l-.3 9.03c-.24 3.91-.44 6.77-.46 7.26-.05.88-.11 1.95.07 2.81-.01.22-.02.43-.04.65 0 .11-.02.23-.03.35 0 .05-.03.27-.01.16-.05.4.5.59.64.28.05.04.12.08.2.08 1.75.13 3.5.28 5.25.3 1.69.02 3.38-.12 5.06-.32.08.23.36.39.55.15.06-.08.11-.17.16-.26.18-.09.24-.32.18-.48.05-.2.1-.4.13-.6.16-.86.25-1.74.33-2.62.11-1.17.17-2.34.23-3.51.15-.01.32-.03.52-.04.36-.03 1.73-.15 2.06-.15.39 0 .7-.02.95-.04 1.76 1.11 3.45 2.35 5.14 3.55 2.83 2.01 5.64 4.04 8.47 6.04 1.42 1 2.85 2 4.29 2.97.1.06.19.07.27.04.08 0 .17-.02.25-.1 1.61-1.56 3.15-3.18 4.6-4.88.75-.88 1.49-1.78 2.15-2.73.01.01.03.02.04.03.34.3.83-.2.49-.49-2.16-1.9-4.34-3.76-6.64-5.48l.03-.01Zm-6.38-3.65a55.72 55.72 0 0 0-4-2.13c.14-.1.26-.19.4-.29 1.2.81 2.4 1.61 3.6 2.42Zm-20.1 11.78c.67-.37 1.23-.91 1.67-1.6-.11.5-.24 1-.38 1.49-.43.04-.86.08-1.29.11Zm2.38-37.24c1.34-.31 2.56-.52 3.71-.69-1.03.19-2.04.41-3.04.65-.14-.07-.34-.02-.45.11-.07.02-.15.04-.22.05v-.13.01Zm.04.84c.07-.02.14-.03.2-.05.34 1.66.41 3.41.5 5.09.17 2.9.24 5.81.28 8.71l.03 3.17c-.17.07-.34.14-.51.2-.06-4.96-.21-10.58-.51-17.12h.01Zm16.04 5.62c-1.16 2.25-3.06 4.1-5.02 5.66-2.8 2.23-5.99 3.97-9.3 5.35-.01-3.56-.09-7.12-.27-10.67-.1-2.04-.16-4.16-.57-6.18 3.3-.78 6.72-1.36 10.1-1.1 1.85.14 4.23.59 5.32 2.29.92 1.43.46 3.24-.26 4.65Zm.85-.18c.6-1.37.9-2.92.28-4.32-.67-1.52-2.2-2.32-3.76-2.74.46.1.89.21 1.29.37 1.74.67 2.69 1.88 2.93 3.21.2 1.13-.05 2.25-.74 3.47V70Zm-27.47-4.14c-.12-.19-.23-.38-.34-.57.74.42.85.36.99.41v.08c-.22.03-.43.06-.65.08Zm11.21 30.46c-.08 1.08-.16 2.17-.33 3.24-.05.35-.11.69-.2 1.03 0 .04-.02.07-.03.11-.15.02-.3.04-.45.05.45-1.64.76-3.36.79-5.07.03-.29.08-.57.1-.89-.03-.31-.03-.47.24-.57-.04.69-.07 1.39-.12 2.08v.02Zm5.6-2.47c.48.11.92.52 2.49 1.72-.46-.32-.92-.65-1.38-.97-.37-.25-.73-.5-1.1-.75h-.01Zm21.23 7.24a70.76 70.76 0 0 1-4.37 4.63c-.14-.09-.27-.19-.4-.28.19-.09.37-.24.55-.47.87-1.14 5.43-5.51 5.49-7.45.31.26.62.53.92.79-.67.97-1.42 1.88-2.19 2.77v.01Z",fill:"currentColor",transform:"translate(-144.023 -51.76)"})]}),WG3=({style:u,size:B="small",withText:E})=>M0("div",{className:`ExcalidrawLogo is-${B}`,style:u,children:[P(vG3,{}),E&&P(xG3,{})]}),RG0=({icon:u,shortcut:B,children:E})=>{let A=H5();return M0(tu,{children:[P("div",{className:"welcome-screen-menu-item__icon",children:u}),P("div",{className:"welcome-screen-menu-item__text",children:E}),B&&!A.editor.isMobile&&P("div",{className:"welcome-screen-menu-item__shortcut",children:B})]})};RG0.displayName="WelcomeScreenMenuItemContent";var Dj=({onSelect:u,children:B,icon:E,shortcut:A,className:C="",...D})=>P("button",{...D,type:"button",className:`welcome-screen-menu-item ${C}`,onClick:u,children:P(RG0,{icon:E,shortcut:A,children:B})});Dj.displayName="WelcomeScreenMenuItem";var qu4=({children:u,href:B,icon:E,shortcut:A,className:C="",...D})=>P("a",{...D,className:`welcome-screen-menu-item ${C}`,href:B,target:"_blank",rel:"noreferrer",children:P(RG0,{icon:E,shortcut:A,children:u})});qu4.displayName="WelcomeScreenMenuItemLink";var DF=({children:u})=>{let{WelcomeScreenCenterTunnel:B}=E8();return P(B.In,{children:P("div",{className:"welcome-screen-center",children:u||M0(tu,{children:[P(TG0,{}),P(OG0,{children:C0("welcomeScreen.defaults.center_heading")}),M0(IG0,{children:[P(jG0,{}),P(PG0,{})]})]})})})};DF.displayName="Center";var TG0=({children:u})=>P("div",{className:"welcome-screen-center__logo excalifont welcome-screen-decor",children:u||P(WG3,{withText:!0})});TG0.displayName="Logo";var OG0=({children:u})=>P("div",{className:"welcome-screen-center__heading welcome-screen-decor excalifont",children:u});OG0.displayName="Heading";var IG0=({children:u})=>P("div",{className:"welcome-screen-menu",children:u});IG0.displayName="Menu";var PG0=()=>{let u=e8();return P(Dj,{onSelect:()=>u.executeAction(MG0),shortcut:"?",icon:Pp,children:C0("helpDialog.title")})};PG0.displayName="MenuItemHelp";var jG0=()=>{let u=Y7(),B=e8();return u.viewModeEnabled?null:P(Dj,{onSelect:()=>B.executeAction(rQ0),shortcut:kB("loadScene"),icon:Np,children:C0("buttons.load")})};jG0.displayName="MenuItemLoadScene";var lu4=({onSelect:u})=>{let{t:B}=fB();return P(Dj,{shortcut:null,onSelect:u,icon:EM0,children:B("labels.liveCollaboration")})};lu4.displayName="MenuItemLiveCollaborationTrigger";DF.Logo=TG0;DF.Heading=OG0;DF.Menu=IG0;DF.MenuItem=Dj;DF.MenuItemLink=qu4;DF.MenuItemHelp=PG0;DF.MenuItemLoadScene=jG0;DF.MenuItemLiveCollaborationTrigger=lu4;var NG0=({children:u})=>{let{WelcomeScreenMenuHintTunnel:B}=E8();return P(B.In,{children:M0("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--menu",children:[cfu,P("div",{className:"welcome-screen-decor-hint__label",children:u||C0("welcomeScreen.defaults.menuHint")})]})})};NG0.displayName="MenuHint";var VG0=({children:u})=>{let{WelcomeScreenToolbarHintTunnel:B}=E8();return P(B.In,{children:M0("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--toolbar",children:[P("div",{className:"welcome-screen-decor-hint__label",children:u||C0("welcomeScreen.defaults.toolbarHint")}),pfu]})})};VG0.displayName="ToolbarHint";var hG0=({children:u})=>{let{WelcomeScreenHelpHintTunnel:B}=E8();return P(B.In,{children:M0("div",{className:"excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--help",children:[P("div",{children:u||C0("welcomeScreen.defaults.helpHint")}),_fu]})})};hG0.displayName="HelpHint";var iG0=(u)=>P(tu,{children:u.children||M0(tu,{children:[P(DF,{}),P(NG0,{}),P(VG0,{}),P(hG0,{})]})});iG0.displayName="WelcomeScreen";iG0.Center=DF;iG0.Hints={MenuHint:NG0,ToolbarHint:VG0,HelpHint:hG0};var SG3=({isCollaborating:u,onSelect:B,...E})=>{let A=Y7(),C=A.width<830;return M0(iG,{...E,className:Yu("collab-button",{active:u}),type:"button",onSelect:B,style:{position:"relative",width:C?void 0:"auto"},title:C0("labels.liveCollaboration"),children:[C?UMu:C0("labels.share"),A.collaborators.size>0&&P("div",{className:"CollabButton-collaborators",children:A.collaborators.size})]})};SG3.displayName="LiveCollaborationTrigger";var Oa1=Lu4.default((u,B,E)=>{if(J3.DEV||J3.MODE===cB.TEST||window?.DEBUG_FRACTIONAL_INDICES){let A=_U(u.map((C)=>({...C})));Un(A,{shouldThrow:J3.DEV||J3.MODE===cB.TEST,includeBoundTextValidation:!0,reconciliationContext:{localElements:B,remoteElements:E}})}},60000,{leading:!0,trailing:!1});var YG3=({children:u,icon:B})=>{let{TTDDialogTriggerTunnel:E}=E8(),A=a2();return P(E.In,{children:M0(S6.Item,{onSelect:()=>{l6("ai","dialog open","ttd"),A({openDialog:{name:"ttd",tab:"text-to-diagram"}})},icon:B??Ebu,children:[u??C0("labels.textToDiagram"),P(S6.Item.Badge,{children:"AI"})]})})};YG3.displayName="TTDDialogTrigger";LG3();var TG3=(u)=>{let{onChange:B,initialData:E,excalidrawAPI:A,isCollaborating:C=!1,onPointerUpdate:D,renderTopRightUI:F,langCode:U=_v.code,viewModeEnabled:z,zenModeEnabled:k,gridModeEnabled:f,libraryReturnUrl:M,theme:b,name:Z,renderCustomStats:J,onPaste:K,detectScroll:w=!0,handleKeyboardGlobally:Q=!1,onLibraryChange:G,autoFocus:H=!1,generateIdForFile:l,onLinkOpen:q,generateLinkForSelection:L,onPointerDown:v,onPointerUp:x,onScrollChange:S,onDuplicate:W,children:T,validateEmbeddable:R,renderEmbeddable:Y,aiEnabled:h,showDeprecatedFonts:I}=u,O=u.UIOptions?.canvasActions,V={...u.UIOptions,canvasActions:{...Jf0.canvasActions,...O},tools:{image:u.UIOptions?.tools?.image??!0}};return O?.export&&(V.canvasActions.export.saveFileToDisk=O.export?.saveFileToDisk??Jf0.canvasActions.export.saveFileToDisk),V.canvasActions.toggleTheme===null&&typeof b>"u"&&(V.canvasActions.toggleTheme=!0),ko.useEffect(()=>{(async()=>{await Promise.resolve().then(() => (lou(),wb3))})();let j=(i)=>{typeof i.scale=="number"&&i.scale!==1&&i.preventDefault()};return document.addEventListener("touchmove",j,{passive:!1}),()=>{document.removeEventListener("touchmove",j)}},[]),P(Qb3,{store:oD,children:P(lb3,{langCode:U,theme:b,children:P(qG3,{onChange:B,initialData:E,excalidrawAPI:A,isCollaborating:C,onPointerUpdate:D,renderTopRightUI:F,langCode:U,viewModeEnabled:z,zenModeEnabled:k,gridModeEnabled:f,libraryReturnUrl:M,theme:b,name:Z,renderCustomStats:J,UIOptions:V,onPaste:K,detectScroll:w,handleKeyboardGlobally:Q,onLibraryChange:G,autoFocus:H,generateIdForFile:l,onLinkOpen:q,generateLinkForSelection:L,onPointerDown:v,onPointerUp:x,onScrollChange:S,onDuplicate:W,validateEmbeddable:R,renderEmbeddable:Y,aiEnabled:h!==!1,showDeprecatedFonts:I,children:T})})})},OG3=(u,B)=>{if(u.children!==B.children)return!1;let{initialData:E,UIOptions:A={},...C}=u,{initialData:D,UIOptions:F={},...U}=B,z=Object.keys(A),k=Object.keys(F);return z.length!==k.length?!1:z.every((f)=>f==="canvasActions"?Object.keys(A.canvasActions).every((M)=>M==="export"&&A?.canvasActions?.export&&F?.canvasActions?.export?A.canvasActions.export.saveFileToDisk===F.canvasActions.export.saveFileToDisk:A?.canvasActions?.[M]===F?.canvasActions?.[M]):A[f]===F[f])&&y5(C,U)},IG3=ko.default.memo(TG3,OG3);IG3.displayName="Excalidraw";window.EXCALIDRAW_ASSET_PATH="https://gstack-render.localhost/excalidraw-assets/";var PG3='Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif';AD.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral",fontFamily:PG3,htmlLabels:!1,flowchart:{htmlLabels:!1}});window.__renderMermaid=async(u,B)=>{if(!/^[A-Za-z][\w-]*$/.test(u))throw Error(`invalid mermaid render id: ${u}`);let{svg:E}=await AD.render(u,B);return E};window.__mermaidToExcalidraw=async(u)=>{let{elements:B,files:E}=await UDu(u),C={type:"excalidraw",version:2,source:"gstack-diagram-render",elements:uj(B),appState:{viewBackgroundColor:"#ffffff"},files:E??{}};return JSON.stringify(C)};window.__excalidrawToSvg=async(u)=>{let B=JSON.parse(u);if(!Array.isArray(B.elements))throw Error("excalidraw scene has no elements array");let E=await UI({elements:B.elements,appState:{...B.appState??{},exportBackground:!0},files:B.files??null,exportPadding:16});return new XMLSerializer().serializeToString(E)};var jG3=1e4;function vu4(u){if(!(u>0&&u<=jG3))throw Error(`targetWidthPx out of range: ${u}`)}window.__rasterize=async(u,B)=>{vu4(B);let E=new Blob([u],{type:"image/svg+xml;charset=utf-8"}),A=URL.createObjectURL(E);try{let C=new Image;await new Promise((f,M)=>{C.onload=()=>f(),C.onerror=()=>M(Error("SVG image decode failed (malformed SVG or foreignObject content)")),C.src=A});let D=C.naturalWidth||800,F=C.naturalHeight||600,U=B/D,z=document.createElement("canvas");z.width=Math.round(D*U),z.height=Math.round(F*U);let k=z.getContext("2d");if(!k)throw Error("2d canvas context unavailable");return k.fillStyle="#ffffff",k.fillRect(0,0,z.width,z.height),k.drawImage(C,0,0,z.width,z.height),z.toDataURL("image/png")}finally{URL.revokeObjectURL(A)}};window.__mountForScreenshot=(u,B)=>{document.getElementById("raster-stage")?.remove();let E=document.createElement("div");E.id="raster-stage",E.style.cssText=`display:inline-block;background:#fff;width:${B}px`,E.innerHTML=u;let A=E.querySelector("svg");if(A)A.setAttribute("width",String(B)),A.removeAttribute("height"),A.style.height="auto";return document.body.appendChild(E),`mounted:${B}`};window.__downscaleRaster=async(u,B,E)=>{vu4(B);let A=new Image;await new Promise((z,k)=>{A.onload=()=>z(),A.onerror=()=>k(Error("image decode failed")),A.src=u});let C=B/(A.naturalWidth||B),D=document.createElement("canvas");D.width=Math.round(A.naturalWidth*C),D.height=Math.round(A.naturalHeight*C);let F=D.getContext("2d");if(!F)throw Error("2d canvas context unavailable");F.drawImage(A,0,0,D.width,D.height);let U=E==="image/jpeg"?"image/jpeg":"image/png";return U==="image/jpeg"?D.toDataURL(U,0.9):D.toDataURL(U)};window.__probeImage=async(u)=>{let B=new Image;return await new Promise((E,A)=>{B.onload=()=>E(),B.onerror=()=>A(Error("image decode failed")),B.src=u}),JSON.stringify({width:B.naturalWidth,height:B.naturalHeight})};window.__bundleInfo={name:"gstack-diagram-render",deps:{"@excalidraw/excalidraw":"0.18.1","@excalidraw/mermaid-to-excalidraw":"2.2.2",mermaid:"11.16.1",react:"18.3.1","react-dom":"18.3.1"}};var Xu4=document.getElementById("status");if(Xu4)Xu4.textContent="ready";var $o=document.createElement("div");$o.id="done";$o.textContent="ready";$o.style.cssText="position:absolute;left:-9999px";document.body.appendChild($o);
</script>
</body>
</html>